From 3660e6e280fd1ce56d9caec807377fe446ced445 Mon Sep 17 00:00:00 2001 From: higepi Date: Fri, 11 Nov 2022 16:28:21 +0100 Subject: [PATCH] cacti --- Anglais/CV/CV_EN - Copie.docx | Bin 0 -> 32112 bytes Anglais/CV/CV_EN_2.docx | Bin 0 -> 31824 bytes .../CV/CV_bon/CV_EN_Sasa_Radosavljevic.pdf | Bin 0 -> 199150 bytes Anglais/CV/CV_bon/CV_Sasa_Radosavljevic.pdf | Bin 0 -> 219292 bytes Anglais/CV/CV_en_Sasa_Radosavljevic_ver_2.pdf | Bin 0 -> 199217 bytes .../CV/Sasa_Radosaljveic_Cover_Letter.docx | Bin 0 -> 15335 bytes Anglais/CV/Sasa_Radosaljveic_Cover_Letter.pdf | Bin 0 -> 84955 bytes Anglais/elevator_pitch.odt | Bin 0 -> 5732 bytes Anglais/elevator_pitch.pdf | Bin 0 -> 79120 bytes .../7179-Arm_Cortex-R_Comparison_Table_V8.pdf | Bin 0 -> 101734 bytes ...nnects_for_Large_Caches_with_CACTI_6.0.pdf | Bin 0 -> 713266 bytes ...rm_Cortex-A_Processor_Comparison_Table.pdf | Bin 0 -> 110490 bytes T1/TP1/HPL-2009-85.pdf | Bin 0 -> 930032 bytes T1/TP1/Master SETI-2022-TP1-v1[8705].pdf | Bin 0 -> 515856 bytes T1/TP1/cacti-master/2DDRAM_Samsung2GbDDR2.cfg | 194 + T1/TP1/cacti-master/2DDRAM_micron1Gb.cfg | 194 + .../3DDRAM_Samsung3D8Gb_extened.cfg | 197 + T1/TP1/cacti-master/README | 122 + T1/TP1/cacti-master/TSV.cc | 242 ++ T1/TP1/cacti-master/TSV.h | 96 + T1/TP1/cacti-master/Ucache.cc | 1073 +++++ T1/TP1/cacti-master/Ucache.h | 118 + T1/TP1/cacti-master/arbiter.cc | 130 + T1/TP1/cacti-master/arbiter.h | 77 + T1/TP1/cacti-master/area.cc | 46 + T1/TP1/cacti-master/area.h | 71 + T1/TP1/cacti-master/bank.cc | 206 + T1/TP1/cacti-master/bank.h | 74 + T1/TP1/cacti-master/basic_circuit.cc | 999 +++++ T1/TP1/cacti-master/basic_circuit.h | 305 ++ T1/TP1/cacti-master/cache.cfg | 305 ++ T1/TP1/cacti-master/cacti.i | 8 + T1/TP1/cacti-master/cacti.mk | 53 + T1/TP1/cacti-master/cacti_interface.cc | 174 + T1/TP1/cacti-master/cacti_interface.h | 904 ++++ T1/TP1/cacti-master/component.cc | 237 ++ T1/TP1/cacti-master/component.h | 84 + T1/TP1/cacti-master/const.h | 273 ++ T1/TP1/cacti-master/contention.dat | 126 + T1/TP1/cacti-master/crossbar.cc | 161 + T1/TP1/cacti-master/crossbar.h | 83 + T1/TP1/cacti-master/ddr3.cfg | 254 ++ T1/TP1/cacti-master/decoder.cc | 1673 ++++++++ T1/TP1/cacti-master/decoder.h | 272 ++ T1/TP1/cacti-master/dram.cfg | 114 + T1/TP1/cacti-master/extio.cc | 506 +++ T1/TP1/cacti-master/extio.h | 46 + T1/TP1/cacti-master/extio_technology.cc | 1617 +++++++ T1/TP1/cacti-master/extio_technology.h | 225 + T1/TP1/cacti-master/htree2.cc | 640 +++ T1/TP1/cacti-master/htree2.h | 97 + T1/TP1/cacti-master/io.cc | 3790 +++++++++++++++++ T1/TP1/cacti-master/io.h | 45 + T1/TP1/cacti-master/lpddr.cfg | 254 ++ T1/TP1/cacti-master/main.cc | 270 ++ T1/TP1/cacti-master/makefile | 28 + T1/TP1/cacti-master/mat.cc | 1940 +++++++++ T1/TP1/cacti-master/mat.h | 176 + T1/TP1/cacti-master/memcad.cc | 599 +++ T1/TP1/cacti-master/memcad.h | 30 + T1/TP1/cacti-master/memcad_parameters.cc | 466 ++ T1/TP1/cacti-master/memcad_parameters.h | 251 ++ T1/TP1/cacti-master/memorybus.cc | 741 ++++ T1/TP1/cacti-master/memorybus.h | 150 + T1/TP1/cacti-master/nuca.cc | 611 +++ T1/TP1/cacti-master/nuca.h | 101 + T1/TP1/cacti-master/parameter.cc | 2837 ++++++++++++ T1/TP1/cacti-master/parameter.h | 779 ++++ T1/TP1/cacti-master/powergating.cc | 129 + T1/TP1/cacti-master/powergating.h | 86 + T1/TP1/cacti-master/regression.test | 45 + T1/TP1/cacti-master/router.cc | 311 ++ T1/TP1/cacti-master/router.h | 115 + .../sample_config_files/ddr3_cache.cfg | 259 ++ .../sample_config_files/diff_ddr3_cache.cfg | 259 ++ .../sample_config_files/lpddr3_cache.cfg | 259 ++ .../sample_config_files/wideio_cache.cfg | 259 ++ T1/TP1/cacti-master/subarray.cc | 205 + T1/TP1/cacti-master/subarray.h | 70 + T1/TP1/cacti-master/tech_params/16nm.dat | 1 + T1/TP1/cacti-master/tech_params/180nm-old.dat | 294 ++ T1/TP1/cacti-master/tech_params/180nm.dat | 113 + T1/TP1/cacti-master/tech_params/22nm.dat | 113 + T1/TP1/cacti-master/tech_params/32nm.dat | 113 + T1/TP1/cacti-master/tech_params/45nm.dat | 113 + T1/TP1/cacti-master/tech_params/65nm-old.dat | 301 ++ T1/TP1/cacti-master/tech_params/65nm.dat | 113 + T1/TP1/cacti-master/tech_params/90nm-old.dat | 301 ++ T1/TP1/cacti-master/tech_params/90nm.dat | 113 + T1/TP1/cacti-master/technology.cc | 288 ++ T1/TP1/cacti-master/uca.cc | 818 ++++ T1/TP1/cacti-master/uca.h | 116 + T1/TP1/cacti-master/version_cacti.h | 40 + T1/TP1/cacti-master/wire.cc | 830 ++++ T1/TP1/cacti-master/wire.h | 123 + 95 files changed, 30851 insertions(+) create mode 100644 Anglais/CV/CV_EN - Copie.docx create mode 100644 Anglais/CV/CV_EN_2.docx create mode 100644 Anglais/CV/CV_bon/CV_EN_Sasa_Radosavljevic.pdf create mode 100644 Anglais/CV/CV_bon/CV_Sasa_Radosavljevic.pdf create mode 100644 Anglais/CV/CV_en_Sasa_Radosavljevic_ver_2.pdf create mode 100644 Anglais/CV/Sasa_Radosaljveic_Cover_Letter.docx create mode 100644 Anglais/CV/Sasa_Radosaljveic_Cover_Letter.pdf create mode 100644 Anglais/elevator_pitch.odt create mode 100644 Anglais/elevator_pitch.pdf create mode 100644 T1/TP1/7179-Arm_Cortex-R_Comparison_Table_V8.pdf create mode 100644 T1/TP1/Architecting_Efficient_Interconnects_for_Large_Caches_with_CACTI_6.0.pdf create mode 100644 T1/TP1/Arm_Cortex-A_Processor_Comparison_Table.pdf create mode 100644 T1/TP1/HPL-2009-85.pdf create mode 100644 T1/TP1/Master SETI-2022-TP1-v1[8705].pdf create mode 100644 T1/TP1/cacti-master/2DDRAM_Samsung2GbDDR2.cfg create mode 100644 T1/TP1/cacti-master/2DDRAM_micron1Gb.cfg create mode 100644 T1/TP1/cacti-master/3DDRAM_Samsung3D8Gb_extened.cfg create mode 100644 T1/TP1/cacti-master/README create mode 100644 T1/TP1/cacti-master/TSV.cc create mode 100644 T1/TP1/cacti-master/TSV.h create mode 100644 T1/TP1/cacti-master/Ucache.cc create mode 100644 T1/TP1/cacti-master/Ucache.h create mode 100644 T1/TP1/cacti-master/arbiter.cc create mode 100644 T1/TP1/cacti-master/arbiter.h create mode 100644 T1/TP1/cacti-master/area.cc create mode 100644 T1/TP1/cacti-master/area.h create mode 100644 T1/TP1/cacti-master/bank.cc create mode 100644 T1/TP1/cacti-master/bank.h create mode 100644 T1/TP1/cacti-master/basic_circuit.cc create mode 100644 T1/TP1/cacti-master/basic_circuit.h create mode 100644 T1/TP1/cacti-master/cache.cfg create mode 100644 T1/TP1/cacti-master/cacti.i create mode 100644 T1/TP1/cacti-master/cacti.mk create mode 100644 T1/TP1/cacti-master/cacti_interface.cc create mode 100644 T1/TP1/cacti-master/cacti_interface.h create mode 100644 T1/TP1/cacti-master/component.cc create mode 100644 T1/TP1/cacti-master/component.h create mode 100644 T1/TP1/cacti-master/const.h create mode 100644 T1/TP1/cacti-master/contention.dat create mode 100644 T1/TP1/cacti-master/crossbar.cc create mode 100644 T1/TP1/cacti-master/crossbar.h create mode 100644 T1/TP1/cacti-master/ddr3.cfg create mode 100644 T1/TP1/cacti-master/decoder.cc create mode 100644 T1/TP1/cacti-master/decoder.h create mode 100644 T1/TP1/cacti-master/dram.cfg create mode 100644 T1/TP1/cacti-master/extio.cc create mode 100644 T1/TP1/cacti-master/extio.h create mode 100644 T1/TP1/cacti-master/extio_technology.cc create mode 100644 T1/TP1/cacti-master/extio_technology.h create mode 100644 T1/TP1/cacti-master/htree2.cc create mode 100644 T1/TP1/cacti-master/htree2.h create mode 100644 T1/TP1/cacti-master/io.cc create mode 100644 T1/TP1/cacti-master/io.h create mode 100644 T1/TP1/cacti-master/lpddr.cfg create mode 100644 T1/TP1/cacti-master/main.cc create mode 100644 T1/TP1/cacti-master/makefile create mode 100644 T1/TP1/cacti-master/mat.cc create mode 100644 T1/TP1/cacti-master/mat.h create mode 100644 T1/TP1/cacti-master/memcad.cc create mode 100644 T1/TP1/cacti-master/memcad.h create mode 100644 T1/TP1/cacti-master/memcad_parameters.cc create mode 100644 T1/TP1/cacti-master/memcad_parameters.h create mode 100644 T1/TP1/cacti-master/memorybus.cc create mode 100644 T1/TP1/cacti-master/memorybus.h create mode 100644 T1/TP1/cacti-master/nuca.cc create mode 100644 T1/TP1/cacti-master/nuca.h create mode 100644 T1/TP1/cacti-master/parameter.cc create mode 100644 T1/TP1/cacti-master/parameter.h create mode 100644 T1/TP1/cacti-master/powergating.cc create mode 100644 T1/TP1/cacti-master/powergating.h create mode 100644 T1/TP1/cacti-master/regression.test create mode 100644 T1/TP1/cacti-master/router.cc create mode 100644 T1/TP1/cacti-master/router.h create mode 100644 T1/TP1/cacti-master/sample_config_files/ddr3_cache.cfg create mode 100644 T1/TP1/cacti-master/sample_config_files/diff_ddr3_cache.cfg create mode 100644 T1/TP1/cacti-master/sample_config_files/lpddr3_cache.cfg create mode 100644 T1/TP1/cacti-master/sample_config_files/wideio_cache.cfg create mode 100644 T1/TP1/cacti-master/subarray.cc create mode 100644 T1/TP1/cacti-master/subarray.h create mode 100644 T1/TP1/cacti-master/tech_params/16nm.dat create mode 100644 T1/TP1/cacti-master/tech_params/180nm-old.dat create mode 100644 T1/TP1/cacti-master/tech_params/180nm.dat create mode 100644 T1/TP1/cacti-master/tech_params/22nm.dat create mode 100644 T1/TP1/cacti-master/tech_params/32nm.dat create mode 100644 T1/TP1/cacti-master/tech_params/45nm.dat create mode 100644 T1/TP1/cacti-master/tech_params/65nm-old.dat create mode 100644 T1/TP1/cacti-master/tech_params/65nm.dat create mode 100644 T1/TP1/cacti-master/tech_params/90nm-old.dat create mode 100644 T1/TP1/cacti-master/tech_params/90nm.dat create mode 100644 T1/TP1/cacti-master/technology.cc create mode 100644 T1/TP1/cacti-master/uca.cc create mode 100644 T1/TP1/cacti-master/uca.h create mode 100644 T1/TP1/cacti-master/version_cacti.h create mode 100644 T1/TP1/cacti-master/wire.cc create mode 100644 T1/TP1/cacti-master/wire.h diff --git a/Anglais/CV/CV_EN - Copie.docx b/Anglais/CV/CV_EN - Copie.docx new file mode 100644 index 0000000000000000000000000000000000000000..7c7475a64f1de442d5067abd449740a9f232785b GIT binary patch literal 32112 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�Vn6d+L+J)t3P$&Ja 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

    <@PNh4L3uSUGkR&x5U&^d7 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 $ma=-t4{Td+*}@4bxl|J;P1? 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

    dj^=;$GdsF?sn|&_Ew@o**grp@*cwh7 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

    o{dIy#HDWeW2;0dk2 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 literal 0 HcmV?d00001 diff --git a/Anglais/CV/CV_en_Sasa_Radosavljevic_ver_2.pdf b/Anglais/CV/CV_en_Sasa_Radosavljevic_ver_2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1cf038c965ca84a5df9cd37b7baaf56260925ee9 GIT binary patch literal 199217 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 !Qm8gc_;M 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%0AafN&*3qJnm>r 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%0A|hA^{yd1hkztj|By|0*>T`-d~uXZ%$EY! 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 literal 0 HcmV?d00001 diff --git a/Anglais/CV/Sasa_Radosaljveic_Cover_Letter.docx b/Anglais/CV/Sasa_Radosaljveic_Cover_Letter.docx new file mode 100644 index 0000000000000000000000000000000000000000..4bf59a97683af52702c222db6fa0a74790db09d6 GIT binary patch literal 15335 zcmeHugLh@iw)c+hbZpyZ$F}XHV|VP1ZFX$iwylnxPSUac<(!Lyd*AmDytl^KbF5WW zzge}`p0lbZN?r;C6cqptfCK;lgn-TbSu0H-0Du4t06+mi0&5A`+BlimIO!?7*_k-% z(79S$5#)jbQ)B~xKidD_^}qNF)F+JD^fDld+$TOE#5SoI{>&|<0uJX(qE$SC!0-T8 zeT^Gxf9pg6R!{+og|;FhWxn5FRviqOSxK{kLTYd!JwfM9@{89sXQ%$Lv`6b>j7heg zz_1}O!sctm(%yk7%?89k+|U;{p#&|Lk(UwhN&Nv3MU@z>O5z^LjQ8yYjd|<7V*@04 zgVc^vt^ooYUN;*VCcbuw)yqbl2*db?CsWN8F1j zEDZh>d9^5rUrzW=EDF@agG7Zc1|{KDp32&8E!Funva2{-H!20B^-n9b!t_9~lWS?Y z73w+bneP-3g^@t*JR-ZRxCoT7TUY?@L)mYir1`5vFUQ(Z@^jZhQ?QzOL@n2$V!wdo zxZO=1EU#pQ!#|%;DtpuG5tRxk< zunwrjN8LWH=XO^>Vqkj#qwAvG4s80to$2c+u>|F4K)A-IuqiC?*oTmmiEfmAD&f2R zA{cWb%BguHlDfQ1dzGd86mRD2RK|rx3vn$Eh*DmW&LG^@Nlb5OQ~sJ{X4;tO-i=zF ze&yr%W~N9B%3B&ND+YSfj99~RXsnC&nPd07uA+g^KpLnVs8IT6Pg8AV&9}p_15AFl zb3%=Jy=`0U3>|^%kA>+!^+TY0+1U&Z000RB0FXXDii@p-F}<;^k+b#3y7k+F^-E{M zVRsOzvxw@Pp+HG7Ru}*ZrMREir>7OXT)MDQi4)u%lk&;e&kTHTmb@z{n)85D(G7`T zq7?$vM>tH%zC-HswrYhqaK_;H(t9M{MOhVpKT;}FNwfHd_VUsqm_aB#aHjNz_REEh z>q0Ams!ItfpAvNCQr<{HX*d|?d!NBPu!I={22?96f4*WJ z0yWlMcqog-sitLmj3X$adXAB8d}&vTa$Qi}3eg^(2&8F)NQpg80dBY@p4iBb!aZEE zl1`ZtXPg3B`>-Z3?R*-)cq2li((SyAc|$7vx*KT7BIRqO=;llinKF%-93D3wLs13` z3BpPU`ogURL!|0rJXGcW^l)i1_V7!!u}hBIbkCO^6Hb4TU>!8NrOFxvF2z<1YJ?s- z{0%(}v;a++T1Y$8P-wT-dicwl`7L90#MCnoeJrtod(#rH>{4E{l_ySYRZxV~H-8uV zgegyckyS3=ba6w@oft|h-MSPBSmgHB3x(-&KTG^Cp3uOPXnuuL@J?u8k&FJK6ME+C zv)d4*Dgxw((6igr`lle)TXQ4jNb-L0z32+|(At(9Nfua&4X94}!@6uGgK=v-x_uPi zJ=2IhiA9nsi!bH!zBVz1GQ-O1ezwe!Kas5Dvt~jdl<83%e4AJ&L5hnaNY9 z0(n3O1=AbXy6eFa(?zLgL~lY=i4049Do@M@&X@qi7xT%i& z@ZC5$!SDD9j~tw+p{jP7R9PT;9xOY=BbOEid|+3&CD1H@eXZ!h%_BfzKe za#*apq6PE8B?WPmWJSMrlG+RWy63MjaI=4hXmX+1A<)EFKQ(&c<~rS|Ge)#2 zC2|O1*LTD{;kSB}^=iS{!kNHw`2#4zN$YOf(k1Hw!*bb@TeZm1bgu;Sk^L&!{k3WX zB|NIoa|FHU^iER<#2G3tvxu3WGne)d_5dHe&=LF^0d$Tp;IU=iv+2IhBZ|5H`$plt zrMha9bpu2J990)+?tY~5CzTt`O7b}$v(Q%HOb6$JV*HuMTXno{udmB(d7@pOvF+8x17xa+=*=0-wsV$Z~lY zKX#xhCACk)k=H)f#94EyIZn&KS*qi+(85+N3fT-<*K=83J^D}$?Hm8H89R6T=6`|b z*p#2K^Nedo-{D+KS1GjQut-t|jMMJ9Xqz0)sM}Y|>ktjKLCV=&f9lrZ-S>5d9nX2_ zC#zPPnU!Oa)_HyPt_|^`P3vvpDrYyF&l{k9rNuT&L1Gf<`jXjQqWf2aPTSl$PR?5u zmHir=?A!@#dgi{B|E^|a>(Wgt`NECLktK=KLsjqS)`w@cFi*Jk)F=&b2ki@{q)s*4F7LCYX!0SsY^*2XrFsDbz zy=7p9C>6%hCG1$mb}OCG2>AOkQq$^Uo>??&5#8{Wz{cNRmo`x^?1(UhCSPOh>b?uV zA8xwkJF4*N@}=x}3}CcqX~eb}#rma%N~3V~b~)Pd2}f*zDEX;DJG*9K+b%~fP@KSV zXFkL!49L4PS4%h&A@}Ye!2qKnvO+*be#(KCnaPkJfmDJfNe`gOJC!^T9w2c464*Qi zS^OEexm%qh{GbdPXi^7k*~JnEWKOO~Q?~&q?@K$T5(WIviJ!!29jF5Z(1r#$3~CFX zGad*diISvCa~w347mbne0_f9Kf%Ye^#0x&dKYX*aW0LA(+2vZJUvXPM-OJ`*FO(;o z78>p}{kca-9_#LAv^g!oi2(o(J2@jTx=nRn3hPLXdeIL&f zQ)@>%f6()ckB}a47n%w3#RZEfYa;bPF)7*gTcLrGvn@h6-cae|DJn@{i7*|+!v-iJ zL$QP*7AwZla3DjQKp!WJFaI2+(MI+p5mE>lr9RoG&R)}vf5Y-1I2-KUA!RVDxk%wV zo7k1?Eiw~E$VtxLkk(DRhrZ(AZ)a(=GU!^45S@wZ5@j13%0G74f?orfAj={9N&ML* zjO&i6p%6OX8r%m&Kd372F=*$PmYd@iYkSX;b-!GqNpy^YUC=|F;CMhC;=4h-F|ko= zk1PY9NlH(y0FqH0Y3gWk&8{m1Yxo>(w3g_vrqY+hSew2ms?RT{Z7%l3o zDMQUp<~(z%AnVeiUoaU|imJK%%4BE3d1@+=&t+|q?oe6gQ8c2VMMxV=0Q^&V$O9Vt zM%4&6023dv&4PhNRSZVFrMthnJ!H_wAjNU}d7t;$3x`r_xoQ1QNij%&Ceco2@FMGc zvrqxe3Wcg5MFmt3<;_>_)qMMlw2R!#;$*j15Wx*$xT0OXdgG1HB*$=bO%nF{dEvtp zUw+EtXGn*Rnzxm+kY-!<)5geE?8#TcM^>cb9cOHYri~MXUuW?;L=y&6<{Ws1W@1H% zuYPk^NfN{FX3+M}@aNAd)*yxEY_{?1X7-B&R5=#UMDbw;+1jB5IZANhn9}xbmLgPM z3%)lo-A6P9^!}*rOu_jYW_J0loIl{loE?Ccp?{516c7d%k8{-c)+891n_Sf-+v!U~y)Y;5q}RC<$OaMC;1FSlb*Dp*ZXt~C`0J>w|{(1NLz z0*-`O33PtRlmq7$c=-1+Hxlo#y!TX;Cfti38Q*?w(W5lh_l$I7V`;CQac)i|JRYwJ=9 z+y0n&b8jfz?>bJ>>Y>!k(o~8XYM<3e8E0NueHbSKxa$0paZ@e`rCEg;izC78Ek<;~ZCtS4jVh$(`YA z>P~5}TAhp8U+z=oad5xWU83K*V|Pil&jBbPr_b469{2=U<)!iLMwva+q*r<5pUA%5 zPpEbzPO*M}3Bbx0h91)4X2*HZ5-W=)h}Y~dn?k~_`X1N}B8XnigZAdSKcNoUac3WA zemyfve;5wAtx1E|Wdtw8_88f(ht?J9+Iwan%=FW84z~2u37hS87J5}GAsJA|EB=Sg z^`BPRqH&$V%|{L6hff0s015QFRrU|p#h-1nf4MP$K0Jya*4_W^t2}P(!;Js%s0F?S zqFQc#PFu)I&ENV7=W-}cGX^<1vUnDAvw z(MLuH9Iy#21Iu#S{7Dhn$N7SG%y6|XE{KDX2b}= zwvZwU!ZP;n#R++j`pfLRgec#OrRQzAt<+zLt}5-SEUl!Q$mp`8FPua=@UPC_ zPnt^9h9DPWBa&Elu!VaH3_5`fjYG<%>7jLr3iL3zpOc%+!^Paj;3mil!JT&?rYzzf z$i?VoKt5bXC1+qa|89DoIHP(+EYWY&S~ z3S$MIz((8Jc5BmMwdMF!hW*f3#Rsk%Fk9HgiXa>IV%UG(E9?TMAbdXeqo zRSK;|s z4~6r*?N8~ozr04jE7HShZt{3N{yGY`?Rq&W8bWhT&+Fsy{A@^*VfnD!GGe%#Z35&u zyeVslNEny=g*@jolp+(Flbk5{(+ZA)agTGg`OqrPY#^Mg{nsS|PsGbq611%a3O3*8 zh#C0ZMP3~h%l!%lDZ%F*&!nMs;h)2eU#k!HH>{xT<*cXzAhB6&)0lFkNWigRJjtxp76UkJ}!Gg?oQ| zo-agJ>We_1k?D^i^#3B6h#GXy3K%fOb_lwi32R?PPRM5?v!m9F2nUd6xK zL;&{#M0jGn`BYrrG;@d(m)J^aBpBf?RcX6rBxC6lpKy4-lMMTF<*f%TTkZIE+i{v?`hLn4=yQbgkV) zcyduHQf*vK?$8q=w!0>klSoKRgMz1CyedbVhjW=pjNvse2+Ws7rkLf;Wi}AuNU&O8 zOoC!2t0OdF*n2agV-EA0R23U5yp?gdfreaivJp$_?1q)0ce@4zWeoaG55t~J*$yL! zPPu|Q+SKwT_EozR6`Agb5YHD88T5%bY>YD`n49uK&NB12d)A4@YfsgY3>7A`#0Z@| z5M?Hf%UpaQTKtgUza*G|a#9l9h|Co{2LxR`(xVFW# zQsHvGf~_Z{UKvSk680Cvy9^@^M-}{e*qQqMsBLl-mR-u9C{#*>SY)&=6zDU7> zf?s1p6jL%K@9|MWTZANFYcgFxWSDIBC3Q|OiAk4eygZZU^xVjIFEJ4IlVZzZ97~W- zetGz-1W)+h2(WN{g+Gee6xOHc(p3e=K_XOJ#6il0IU5hNJhHGyjl8G*fh6LDl`{|- zCwD-p-K6H^@H{QOtOHQBWyRj}`}POfAlwY&vi3mxCM^v#jRXYux6Ye;7WhBwUx;MX7Gd^u_9e z;Oc$Zex@FsGj}3{J}Tyb3BOJo0{`8S=jD!Wv~7EPbaKI63t@P;^iq!qZMoh?GWFot zbG__WaElFRNc98nidkFL^zWKE8rJtPx=nKwECHHD(-mO1HeJ{ck*4o{CphNSOO@cd z6-yNJqXP057NjCwGc@xZk_D#=tC5*Y-qqEtzdRp1SgH;hp6NdpyZ>AcO_iABTtNW< z^bhy;zg^poCQeS~HfD~$Ers=Jt2VoAh+g#5J`6Y7Rdh+lS~_OiQftOYF5w&^ew_-) zCMbj=e)+##(O>W3DQ9Z2&xs^rlT*@|9ZfkhFq!cAc^Ow$4G5v=$)nzT9NnA8U1din z`X8?ie&BQRmdK|Pk4o{_!>e;;ReHZ2?efK{Q_9ElW>c8-)`r%pluBx=nQD#4ymV7* z1FPHh#Q4kA*kd9`J1Osvp_$Ao-e8V^Cb!G4kZg+xFs;3* z!(1YFMUMEJvGx@(;pzBM_IFFQkS5k!{i?76*wBugiKQ2$ zEBl+NOL7p1TKnez!U>)ViR$F{J^vaW1U>FGRW3^$tt*DeLma~Va>Es+Ft+W#Pl+(1 zH-v)kCZ4R$@2$l^4$7qVc&9?+H&Iq*9V@6s60MStd3oX=7Ucx7xGz4NtSkev9;-|+ zb7QQHeJGOB5jL2ZZ7t zRR%;Mr(6C>@pJ4jw2}pxtSBQDb|emZap5sgf#m@8^a|nf;50Vt#htvhz4_CU%vZS5Gt-~9)nq!I}a9Vx?19OR1MfxK+8mVFRWnF5+4kv83 zmmpM=WJJ~o~jWw9@^`v24zr;iOF{{P=08@6?A6T z=TIITs`h^Ig_uGY2UA%?35fI~JDHBo%D1^E3>giy#WV1i5V|~g zy23=8_~6Mg`Z$wfV^ZQ6LAx^|jl&4-KXWJUjl!#fXD*(QnKIq;+|nN%jj@8qG`OiJ zV?{V%gLlJ+of)v;=?JB4IS@L7X$CJvNN)VexX&)7)pN6;d?4FqBiD^02XJbX5$Cmz zg1?oqDqeCB7Yr!D&S7N{op3eicWnaV2qlx{4bd2&OeAED8@dBE<~|{(M>Q=Vq8Bg( z^5eJMzz*%O_nedp+ykq~^l5(Lw<6<_5-&M}taH#Pvb0p`eRTj{FnKc}m(Fax`Go=o zrw_h~%M@ws1T&+z(G)2bZZh!GeE8_NAsrt|-`BRE#(s(4f5MepO^*mt!*FXDn<$WnSI{gnHTPBfhMyy?Y|u5dZzWvuPTF$4 zq!vr~ujNA1r==s0hO_(M9Vc|?_-Ab`4sa@5L{y1SBJ#9&(ldaqS|~YfHE_)>q^MR- zV%~rh;5wb9)=*x)_vhMPM11C~M4&mP+t5qvri^7Ep>EFmgpT&Spzocs$J4eD9abG1 zoHxURGcX4pHNIXsjuYtEH8cP#k3P=a?p8` z#in0D*$)^ozF~(rEVI$CI}MhG(c}(nONdY!>ha%_f|oOk^Z+EJ!!q(#)kEx|q^0~g z-Y+t~LwY_QvO8PkQx1f4b2B|{uL|9B@}fju9JpRxU27iv&{zHiNZ}@?GM@G8s{X7V$1QYyZ+ecqCP|Kos?eXZ`daqm@29z4?3G2RnIySmvkX64^ue=jX zEmtQzAVM1$d$9BI;VNa+zz@@=5gz6rtCn`vOnI;$G!jWL??f$Y&*8nz;T@sTG-29v ztHk==|B2p!NXH1C43H4Q5Z|JWdai7AjD?v1&A-gV*HRwua1e{@|Lo0ay#@C|9GxgD1yi1W$Z@L z-%*-PMT%6~T~^0}PTUY!*Um8pX1U%x?^ACBb=~{)q%Ca7vPgR1QxeIq;mO6tW7XL* z&AR+VXL=-by-u{+_F}rU=hQ#fanAg@plvTFMzfm!{ixf1z53Xvtfg!zOS*>|4O$6a z3sw8ai+*cWPR+E&{>6jP^|n?CcUEFxISixk@jL5RSaQ^@&lX(;OKDuf13O-1q zOe#M3-=!xgLau*~IS#9FA(d26&ZVs#`>MaUqNexCJiKEq3seYey~Htpj|>P{f>iQC z-H{jDQ?*=8-7jlQ*UN$Caxe2IvsIbC)cVBYRpu|dQJQ^ks}j@m@*OOcMKN^q1rH6R zxQzpzJ(m-{E{7AI{^M7c%?VGQ%^Bqvb-*#mn6`^i2q{Y_v_w%4{v2ym@8alkPW;l` z<^tutw(bGoKRf$&KD7RQ^R>Bct_9!4~2_5LtW_Xx}ZiKbsD_0rRB!0jo1 z$YB5kO(aYVa@O_(ybONU&&L&Z#Oc;$4zN$?VD#JNa?7yQ(W**_-$<=1$-q8 z&3Me0F-)vL7@ch;(W&4rG)4%RTC^Zu%B{GTO_*AfEfKo@9${W9X~L{k>_U5j4VwA; z7x3%33aOS8#I;LlV#d|1w#@@J^DG*2)0JNqnd=;M>(drv+*7{}?$oAD!@FQp2Sry$ z0?~;i#sA30m16L>y>(I@lZbs}YrxU1fwOF`&^05SJzfy^*BoT>%$Mj>qo>X+G5N8p zKU)xC^w>|#wNpN9%(`ebhL0uTuJI;St68g^(lCpb`(D}Ef`$*vE(EiljGm&o{)Hiuk}`*m^J>P7J?x96qWwJ}Yd2{~@E?B27et-k&&^ zCaQphtFiINcFORn<!+u@$nI-Wy!hegeysXpRi^m+ytzxno-wJmeJPsu_$oci zvR_e^32@t#&h;>vsC`kz$$@8^6(HmJs8&EE-9$sKNtsYnHM*mB`AJB@PwF|x)zSuJ!Tw9{q zk9aB1>4pY z4MeS1_-9c=>%#PAF$12NGRFA_PyM_StIy7HB-uKcJRw49;R5R4HXHHDa|`l(bWxS# z*G?slHCQj++32_`!LO}KPb)Ay2rka9D892Fa&x!01-{d)IJCW?>C>z>Aw^NQP`Fcj>=gyQ};>2L8+Gz0#V;~Pbc2qmjc!~DO=UJ}-C z)xVP!e$F;1UBz8hsqgD2F z(EipT*?xL~*^G%xG()X65l4BRG*LjUyL4@0=6)fuN z+BzSquIAE*99clyaj^wUblFlt34i6BI8f%XTA+$^WTr--;wrr>&Sv%TlEeO+`8c{r z!>#@%PvzFao!jjmubHQ*Vm%7OMy2#^jkig9-cXs@<{!AO75ZfoAG=x| z?5T|lSknt~Qp+*EQN>bXMk>0IDN^yayU;>F%d}z|?ep`H9$EY~S28>O5VachD^GV_ zZ4A{|3DtpVoi|Kor%<|2r_RulwZ|(L@3V<}{B7`E@)75Tc(GE~Y=Jx3sx(ynbjn0H zz>Fw0k*qJ39jWo1XMEw_gn|fdTs=*#!D}yd(ykEbb^v9u4C*ADs8LsDS(`$kBh5}J zxGTv6y{R>$#SL>?@t4l#qKu`ksJi9KOQO#c|9|z0RK;LA^?n44@IOKbsQ)rITucm= z{^S_RNLY_rB|r>3r@qCdIb(0kBMB>)Q4LeoQYkGhUFQP?*+)P}fRV`F9dXC-HysVM zvYT?)@lE*#4HX5<{J_gl`=VB!fl32HEl<^^Q5!Uv&3jGQ|dxV^|dg6|Sm?JkVc%!MHD zn^3e&iag_C1ajCflUSlWTi-{H?i=`OL_3Tj^-N4o&R`tUA$v5ns5p?xcT#46E2c4b z7*j`vC0+;5Mbh(E@o)AL6IIQ5p=QRyw{Dg*mzpS{HoSS^W5^udC2t)0i0~58q}8mf z-;_Ok@aj6l#Iz?z_dRv#3hU}~MBO}P!#yg^6ZaJgydQvNnu`ZiUMm|<`S;X*oejVR z`5w@JNB$v>o@aNherzO)@{V>tki82$S@St^-rE!X;@fn<_#o#AKNHrWbKmHY`nA?f z(FIdscn=*#-o_T#`k=viPeGS`Ma}!&?c4~z>*8Y9e@*fXx3YBg{YZfBgaQDN|Mj1n zew?DA~A9pT@np0>7kmoB=sz}Gqd~@XO z7MtCzPNbwrF=G027`8RD%iFmj%T!VmrQ6fI(0@|i#+nmONXU^a1hY6!Lfljm#&BEJ zR#4#P(ArHPks@^8QrFG{)+mC!c<^VkymFHL=mvG`CuvQ7{`qo1ZXDTRf%%u`Jk0zM#V3ho;t5?11G zsXFj-&-P@r!9}=}=d^_&3?(wxx(UsfSgkGnaTzJ?QpT@ntTy&y+c;2Muhp@V@y-wPnXoq79(o>fV6&hydI3k$Xc}qu)AXCY zXPtH~6>`rpgRp3FI2Ur8+2dw97n2q7vPkja!)o!4{FM1nH*?=;cW9^wT?*9MGT%cn zXslU8zbi1=;8tHM<{eWmZ&Nao+Iwj1nDL8R#M%|>T&EHkb>T;1Jw=ago8+Lb1h#o% z|ID={8gF8Gv$}OzhXAw(M2+bH!e-~o!&?L0e!l`}6hm`p+IxId+=x=t@M5WM*fCd7 zbl47w2HU>NCy{tF)X25$%r;Y)iC|D_qKQWC%p!e+zdvH$@(#9kj`T*h z4!?`*N9z9n#k@ZhIU-I$u9pEda8u?5L26TMDMvqv5t)@o!Vom?vZ4{4!peFM4g7t> z#;8vO&$F%R@Z{*!eD0`bH~<8LIw6CADMTI+M@hHm?!S>-cL4;ps4!w)Ng_QBMU!UQ z#7;Q}r39`UIjf%mz;-1!M=2!#vYR2x&}an$)&L?WPG6ZoS$tigVI=b-suE~Ofu$FW zW3(i%nF-eUFk~_*!#T;__G-nK8I}{3;QN5_=ZipReP|D7p^6tGm~C0C%G`?O88K?E zYML;K8?$7lPv zGL*)CTV~qPfAT}N4%KIH$iSuvY-bPWSi`DIOwu&ehANT>*nDf&+bmEnb6Qn$PV@T0 zk)dpu9PV$14E}DL#W&L{9SkcqmfQ*K4LSyWphI+DC$o_ZN_bA(dYeab= znvmW>XSdHc)PuQPpUHP4Mw6&2V7?1O_hq&;EXESj-l~2=jAt)WArjjPy9OV^OuxA5) z+Yv+=*r#=ljIo7h5)a(VQCG%4$S{F=oAJm?6s}eCoS|y|`H=|(F(E>6fj?ts}hpm^MFvJLicr=L2_bmZ&cRorKi>YdvX%2DGE_Q*ATg0+jBi$7Y~n|siV(~ z>#|$P7qamEE4EGF@_v_uz#vgBI1|YWh*m*{Bf!(rSq|szi;g(=El;Pqg3i>z4V;wI z=nR>(oW#pVob4YGI3Qr!kA3BTKN0y4A^3y-m-CVGQh#Oe*YjI{KmmaG4_*7yX|BHm z|9-IL4`|&-ip+l;bNM^`uNhc>fB^uBk6rWsFCXjgoc^Ab^9L^HZ1+oAvN_4u9W${=p%I;h!A- zvKRe3{;#`%KhOYxI5Pn7AA5tp!~Z%r{~7+s`X~55XKHyVun+P0?W`aSpyy-zfynvW G)BgjWdery; literal 0 HcmV?d00001 diff --git a/Anglais/CV/Sasa_Radosaljveic_Cover_Letter.pdf b/Anglais/CV/Sasa_Radosaljveic_Cover_Letter.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e1bdb38fe07cc2d3645bee1a6cc3d5f05353e6ec GIT binary patch literal 84955 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 literal 0 HcmV?d00001 diff --git a/Anglais/elevator_pitch.pdf b/Anglais/elevator_pitch.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6ccb68221fe88f3c1da4ae9a36aa38ae8c6b9a8d GIT binary patch literal 79120 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 literal 0 HcmV?d00001 diff --git a/T1/TP1/7179-Arm_Cortex-R_Comparison_Table_V8.pdf b/T1/TP1/7179-Arm_Cortex-R_Comparison_Table_V8.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7924badc8190b40d4e7b76bc63b02c4686a1a856 GIT binary patch literal 101734 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

    _- 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�!`ZmH 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≷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

    +5g{=F-aSDa0PcM}e3l3N1oCezA3kvn6d-&Q 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Π8-urn|0d(Blr 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⪙&y+(;$UT5ueaxO+FcPj}nfbhkD5(SU)5-3!b9M@TXe znQv$;S-=0;PWDYFxqh{7@?BoU5xt}b591xU0a2@b%9T+lqZ|xMA(zXO_gd$M5t(9; zLP3ZJ<`N%II&}j zvf6A8s^Ci)t(v4zv4265w|(~3@gz^>*C?X&)rMn2;XLMRvp)st>PdH}FVB0P5~)3} zqCfJ#r!ax@s9tyAAxMUVEZ=U-ny4-NcwE2FXGOLsa!t(h{MmTJW?0`v&(E3~E_-}C zpF%3^BG80_c_Cr1LPqFBHiOkR35UOT@rZ~%dq3kZydZZWx#dGG<9E(MxniU4XV@|V z{ioc6x11RaC^Y0fxtH&yeW>{%>hRKX6gghC|86XZkhtAnSNaf>p^YoK^;i?b&b&Ww z(C~ZP?8nDp2O~M@94ZaZtC!XU6wW`Nk;JxGVSyXG^v7^&oa`e}zY3Ody>&@TQlDvAXR8d}> zt3^%OgyH4$+zC_NP~y0hDKYVTV?FoqNXGGIlZc{g?u! zQ7bCgDMm#duB5(^*;G*K5bY*<^}$GZ!9rz_wq7Rrc>^)4P2hN=8Qs{Q;ZvFQI&(#p zEdhAYdlBn9OTO%??54Mr`{>-47TOdlItseq%p}{3MEF` z&jj&vZ$A|o-y-J|;DkG|JsCA8U~NvEdiY$=Z#IeBT~MkkN~J3}XeE8uD#Iu>MfYRq z(ptH3z|)WymxXlTJ7%SgPF^aSeTVFLXXBket&#`nr&JOQV(N&? zqDMVL-E1;!NGy+olkdp`#>AINX{iMT+G_}sl`S@pCe2=%{N-2D<@&1miA>RzKa>>e zlr{L=6i3WABE<^WRo2OjMiUBi4ooo=8=t0@`1G!76_tEh`;}4mCYCv)l>aS{+psqE znA;CSp-1TkkMi;%RVPcHDmh$LSlzDv;X*z#v4?Wi=1l4?3Fte{0wI~I8+_F3BHXr~ z<(jQBp76KG7Uvj9e12ExUd)RGQ|35}`|D5C@9<@Y?a=fR&Q6j&Igz1J|M}`np3Lc+ zl~})rWU@fDKj~F#8>0YQHB|9b;$V3Csfm7#MRFd;N&!!130Ks{UTzg9yPn4^p+wQG z{yzHw`>~ob-Onmf;@+3S9=~rDr)GvMw`kqrJL=9W45b{Fu9&2HqDK_Pdf*;_u2OtZ zXrtxAmvu$kk^79?iPt#d6LUN?But!30_|JFxHv=5+&CEfd@6G9Ms8dQ$DN{t8ww#7 zvig>#nUs$lwHma_3t?L+2~ZV0Yp+OFXIbTw+|aH+F)y~^10_ZQn@SAIY)#u5`dbv~bA-eP^unygf7_jhi!SKFc?1(~T{o}#^UiMRc&zthV`5D;DXDL&=a!Ys0HNB~^EA2q_}1PS z<1A~UhO7~YXn7B$-f}jXVVTlmwXdYoMe3^vVu{FU=>BbZz#idzlzYzg0hP%6^&<

    YfxmS*&PIUiS|57~+R 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 r`0d*e&L^5??#_Z3A(#*h4SDKpeYc-W-P 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

    FIq@(w;E9r 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 literal 0 HcmV?d00001 diff --git a/T1/TP1/HPL-2009-85.pdf b/T1/TP1/HPL-2009-85.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9610632803cae5681e133fc8eea589ff7a4d5dd2 GIT binary patch literal 930032 zcmbTdQphbP8+)jDJT8yu7f+Hb(zUGW~}|b^_*q7U>i? z2w490gMpEN_5WMX_P^_;jBQMv%m`SRnb_z=%&nY^9q2@?^qq`_j16s#jQ?KY=;UCm zZw=*^wWXz=h|?19b5fHwat-0qW(Vw*C|pHKOFJ=tIlgz`&t}TOEflXH_j|BsC7myy z5zxr_MQjlf8yQALNj2Zj$mi_{(94rS_S|5&=jbPt&gN^c!tU;|L-S!McXww&b7x!O z%|G&}CzS5jw;Lq<5Oh)TVODpmmqSHo<*&}{{a{&_`Mdr5p(@|Y?sfd*v67_9ZJzCm zF}2ohp0x@}H(cP37n7PNqo$)5o$IM2sacm7gqyatC4B2m@0Q=a&^p17H4`)Wf@eh1 zW0tmcfWk=^U>lyqEb9sx3e4`I2r>1>6hD#-4sUj?vqNiy{EYZ?l9 z5Bn84ND5E&Dwh=4%+?gUlm9xkaQP^+0Q_JVe#P0&m2X21eII_|IJ?~UsEw19?xbF5 zTG(F+e|gVBIf2{$0e*M?l&9wQ=J%_{)BZ+Z@2rL;=C@qCA&b~%rgFZx{+guJ1b!ra zpNFTdub;UXEA#l6hMP?4Bg3*^@y?0z?P@~n6Pe=L#J%zX4)QULrN~s%TP0L3W19OA z2zD<9%9I_Ctx&%#l$}@|FGr_of$qsl8vr#t+rTA?C?MI6qRLqy)Pj`)Ncx=OYy)PL zA6hiukQgl3F)WW3*?KX@l@B-QcV5f-WMZIk(VKn&{jOR!bVC8|q-A}_kGfT{E$D$o zjW*uGwPzNPZPH0Uk@zY>X;juU2I30zr)m6YDT(U{HK?u=8#^2Jk`2nu;M`fT~~VXIij?0h$O( z`HzVJC@j#}*uw2drD%!}P-^@zb@kN`3zDKITq@dX8d9c4X<+u0k>94*U}2>5@eI41 zp~>m~fe#@Sm->6}pw2OlRR10{!?}3or#>`_Y~UKHx@VKB{k$VY2R?=svl3qsB^9nK z_&Y$=p=G$ZR(P*nZp~vK3H$*o%;c)5Zsa}T1HOr|Jyfqy@S;ODjWS@`r36Emx3evs z$^(o~Vk%Q>w6h^BcOuH^oOBbFZh!`+9wvQ?HC6&S!Rc1+s>3+!@4ShWqBRa8Vr?=8 z-$46>t1{gjo-qp@q$54rQ8BR3At9DM3NXXSXjCOTJR_QgM2_k5$~$zaGvlJe;W`h@ z`X}3bK5Ss0=$$R&jL95?y&uZd?08%RRLbt8`OWl*S&rWqR9%NzUJ7FVxyoHaD)*2s z@_{U(IaP??bHx;F?nMt8u~``?`@CCT6yp!c6jC6Wr)U}Um{%IXbIXAy#q07Uj4LCT za^w)U&v0HUe=0Z6x4^o3pVJ`dZ+V)=A7Ax>H=i^wP$0G|9T1D_rhlwIE7OTOjaIrz zG9rDi#V}E}R4y8RHj%lv&fEzNj|QRdB3Pboo{opPk_$lJF>(2Cf%&&pmMCBlA%SEj zUM`X^Tj@I~;6WOpO5rv91MSy)^xz-AL0c*4dooS7B22!p)lM)spC${KE9K0b6U=!8 zdoM!5Fl%j2ajY|}E*%82WGyItDAtumBds2gxWvp@Zxb~S?H9G7(bn_}uDwo(gs zZApUMDXD%TdonK7Zxb#~n+McPVDyn4NY3wps_}uI711hqC;-EAg31Y0AIRE80}Lv( zs{;)5iWS6uDiUdRT^6;U^qblNs-bGJ%u@SL)V}y46d>3x-_AI8qfAHxMm7rA8GmAU zvC@lL=o4{P!!S^9Vc&iL?V2141*~~q@*)fx^-CloqOBs|obn8F9`ZplUD08m0tSG< zg`W_p0IV4Kf-pm2$7tagg_Xo1LsPlvs5*WXpj4_{WF*M8J2Y3dh@W*EC-!VZB|=Fk_+7Oy*eoxkl9y?%6x6%~L1@SE%Tb)YOIH zr=2FQh1}>)RUTwxcv&gP(z3U(>m>zI;*vI5oDG*Si3(qcM+p8QXpJLZ{{9ULW~3@( z8x^p})$#FISZ}7Mh&Q^A=@IMC2alH6A1bAuNgr~ES_h|4bDftSte?+kVM=Coc90CG zMauvcU9Q9;?ozfR4(zQ7%9aH~tk8bOG7@kwy@K=(5|1O0JCT9QFN~4gTy^7NBSo0l z+N}Dg=w@_SMQkt6zf^>o%}))>F=Hz6l+lAlgjao>(wDNvJL&uD&Y3NZ%28A`tgP=~4V`Q`u+xTL; zVHmE^;CHJ%1W)m%VBiQ05=D2A68r1e>ab#!)hGj7Vsx{eo1N)7l9M}?912W4Ai|~& z_PUE%Uu&rmX6sUoChXS=#xipPQ&9igXAnH3(1`Tdo7E=2Gn4ND>+8|H|LQhb^@54E zD0vNEe1lC8k)joGb+Eih9!z$R=)1B4@1k(uja&bp9n>mkt3J-3PavLU_NjQ{Pj7op zY)+HSs3#o3`EoY7sB1VIs*{1CkBJ&}YHo~)J*3D%3_4- z<98F?7-kpVU>Q3z(csjwBeL>LDC*zgq)8{wxeqJluclU*b0=HcS|X@*Giz2b4b1=a zRN0Czn?37YwlM^d!gpJ%#7xAwz%z_%OeYvV7o+hzLAo*`8iv(pKpY{5XtPEOaR)Ac z06=XcoV()Ym^l1W<$81vyo}w}$qF`m?=*NK>|O)DiWCC`#i(E~C;1{_^`0$W{?Hu|WY7B!0?4flZYoI``y0SA zQKdpWt%_;%{l&fxaT>T>DcxteXWQ9EjEC;6Rp4p}i;RPS=;TOli57xkHf%Ueo}_+I zB;bdhBGVWY>%%~b##QcTK!*|m$CkD5s11c#s10zAmH(M?(9a`{e522*vAf^uNL*t45AgnEjpZzAfp&n@FqrYUS>AVu|}6suZXV~lN|j+s5yCRhPdp{eI>pm z`V%0)WGf&YYSITg$PNUdj%*rDapp_t5yA4t ziZyc>4h;KMUl#n>nmfF-f(f9BsRF3Ul`rsj2Om9?A`F9?d;0g4@XJeAx?#3wAzkBJ}Y@2cS#>l`}xP= zo6|KwwwN&%G(%j&{zf3G1Zp;93>bi;nU%TD1m@JT2g~IZg9Y3Qz1qCFULow31F+yC zt0i?J^Pq21_#oh?>mYNXxPB#R5aH0hhn)PWXeOF@7h&P0Olk?VPch!XcyDf&y4vR1 z`d}?J(}3Hi_6SMJkum_h4~z?&?CjM+lXQ~YM~0(Poz&6Z{lR=K$5GZbxr!Bjwf89C zX<)tqql|kw0r<88phqDv{lnSQrJquSkZt*mFHasuDS$F$nCv)|OcM10+Gx z+-8$h#Jm;3&@BE@xw^F&)IKIY4Iuc&%fCK`VuC4s*qot#w}}BXx0Hw$F1?z-IU=mR z;)L}|nH_CLc!h8cZ-8dbm9p%Z!z`)Hr-P4AFoaS-48iX3=5+6K(mi*Mt?8Aoi6`E9 zZ4MWE?T*u8+)8i#=B+7@>IsiRijt;*m{C7=l}j_-0jl(9w^DYTu%cE1Z=EcL@Euv6;0Gh`y046IN zgg2l7kK;rdgoS7bt%;HnU@g;4a>wkQ4@6UOd(^oTIdaqwCt-19LCqwLlX@KJYf;vx z!+itF0ij~_k_8TZ?n(mBULjh!kUojk<5qU#9JQBE| ze;UJlq06$iGBoI`Yxw&+)_@>F-T_^`DCPVvS&qI|A(Uk9971`W>krMtz@zX4PNZw& zfR*{`ZhqrqnRWTsEfqlkd9EI_bM}V{0Tl-XgkJzS3EHQl{T8*Wr?}Wxv1pU|5IXv^ z&-JX`zpR26z`WODw^V;_=&SspH}F_WsPkG<8RyiN@dg2%h4 zS*oA!_FhxWDgY2;%0)9UvT{q|?Wm6)YYeM7zj2C!?B4Nl_`W-^EmCwpkH0~UE6{zS z)wz(j$M59@X;{4Jl<9gyZZjFUtECU^A>OsGg%qMmz3ny9c`qNLfkvahg=6B3U8Q_U zHGmxcwt^EqNIB3|T^0p#gPqVJ>Q2qxqenVj**+&gvkS5X3+FCQAY>y<%m>6K8lolI zP`3>K?vJTg)?v!hybR`kMwlLUa9MaFW~D8+N)bqJi53OIaCxCw!{e%DIf^IglQA() zods<@M05xBK=dZ#?JF5K#t@F{#C5NfP~oaaX{dlq`7}rFpW|wdS#iWV+R6%JNlUm# zlP7UCoHlpIpCLg_+q9=1`LXXM{@eX^# zU#!9O0bfX&%KN5J8aAKWq(ZBma$MD0MTo&H9C3eINl zS9-;J z;z;h(FY`p5{KMWV>}m5zVXD*AGyyjCa?mN z9MuO`Tid}K_lZWF?xn(*%y75J`EstPL0r)^78HW@-s3lQ@Q6Ps4v?C@FO!})*rlo- zxwiBLznwWOF*8KsZ>Ajx{b^z~R5kj|JT{Czj$WW;_|H2)wR(7N07;d>%)+fT%Sj-n zCreq6QG@vRYaAySchjvK5My?CfCrST=x39LXhG4=eZ}1a;oG-HL!wo7vpfF`vpsWt zszE7Z!5wz~Bhs8dBmzyzH|pDK5-*QYBSFMbf;30dS!R~NWt}_m$|u!Q1mBm$#np1*D+}C85 z+a7P$SL}cX>Y2_C+h&3%hY9|MqR=cGE;0;5<> z;jLT|4^#UTgq1 z=M|_AGN|3#geswJshDDATm!#QiOR{WS5>_F1YjSQ`R|_*y-jiQ2dJ#6RQzZa!Z$2A zKG$t24gKR`-X;;4M?n0!`H;!1U$}nP=AhqiGW)+%)ndnshnI}eE?qL>NcxV4l1*YlbuD?*^ zg0-YTH3chP>Zhw9^o?+0qdN%sbP!mjGejtL-rTiFzEpNt_N$Q5V8@l3i@JJ~24yZc zVE#VCXo+m1e<_^|&EGJldJJ6!I}}W-jPB9mwMxgFDIZ-$53!T>MFUdze|i;fJ*M{& zPx^))28294twaKIr@0#n$Y9B9N3-;9om@FKxi%q3+;CDt(tT!=@TyBxJY!aJ*;V~r z21N9S5O5*=xKLs*{udYq$ka+N;&txW^#*xr%Quwo58$jH%)mdK_Fp;bzY|;b|4m>8 z9c=9cY~3{J|4y;~WwmS^jM{W^`VPi6P6QnPa9cV-TN|gpBS(UNxb0uEYwPqE&=Szo zNgErP>;IRn3dWAM&JKpgj(<_H$lsj=|IlFtIynbhLq%gJO}f8anNG>r%}JY1*v&~) z@n6pRhc5r+$#hEYcE*42HvI?u{u^6n_~%{!EqP}6k6ijcqv!u{$UngP-wydV;>^Uv z!tg&3=OT>_1(FfO=v!jlzQ}VsJiP0#`SP9hV*xG3qrPGGVKKsfyJ|4Du1l_qf#UF}u z3FzeYXtw%*3VNs<>J)!Nv`=+EP`o3Xf3*h8G{S9K zBEZ_><&+*YX(u7x{Q1)d%iH`;F`>K53=+S+x@R9{$FIVsSaoe};biNTy@WLArXCjn zrpf}G_hSX?Cd-0>*Og9u3A{P-qk5keT1M9L&QS_uvyZ(6aMNrzGa!JcUhVKTLbS<8 z^B}4vPboXn4eacuSH%lB4gb0QR zYx}?&uK$gFdU2O>-JefKn7}4=jIk`c`IvYxRVgG;Tp7FqalcVu-x=uW?iec@wHrCnjHlq)1O5I6itpiaT*Sn9I+DEjC3V8g z(akLm!HDd#A7Zaf0_5f2mC1jI?DYoJMfq9|_J;oI{)}hS6no}-r zgg{2;#lNA4yv#%%{kO2*)g(EhiXlDPh{#f3;b|+$#AW{u3?YAegn@t1^C^&bz z)IRS-4&UIL&Vk>){l9kx%18P8slMftygNxbfA9vTgLG8RLM+!lr~i!XtPvO)x!aC~ zs&C3Hf5wrLVNv0D<{Q;jSD9aM<+Hw9ZA5w&WM`NyJHbR!PjswC=EvECZ?UTnjL-t9 z*`@5{3)wKn_>RQGSkr10Apj#cZ9=r9>F$scT9enOrFk>d>z!E@wTv~~EpS4SW+$U; zCaO62KSjL#qHy37^Ur^d@8*F>Y{t;)wY?nGHpZx!<-`D_gblU}{#HIPT!g(%JG$;rR(7Pj3@h&l*l!A>Diaqtt(n<8e_936cJlGp{ydFNu@L+gIY@%w`~ zy6tku%8|ep;yTz1yl_%!VRg)~4l7Uo!1FpR(qPKUND;G7^lqhb!kx$thpOL!-|sPMv@c+@`QV#IwEa~YuZq}$EV zcIYv^VwBj$!X>e4lBArgj+42Fa~Qx)5X*pI=(r?!b|$nuY(l9Tc7`?STpZ;&#!qm! zE;I)rDOm{C7yJmOU_nzrAW&Dn1?7;{P+`!bw88XVeJdwbrJY0GkXSS#`?4((H8N8w z%4-tajwYKkIzZy7`b(Qhilt+Qn$*|>vQIJ#lak>f_DmdAL6vp2kfd<n@@+%V9X&xg^LmQ<>1!h!pmIZ^ryTO&hsoPja8Dk(N+;85_7nu=)=ZhNb0 zNT>;_zj#N9l;V<@3Ta{K?PRNu!(gciiSc7ze4w~%tq5fkM26?NipNSNHlxf8tv4(< zSt{Hmz0b{bPxVJ#)~KpjG`-1rhI{ z+q95I)!(6x2gsO1A-jd8232mGm?w>xOAaBiRGfKtMa5)X)<6|u;VK`!8LoKE*<0u@ z$BTD%+G5f=AqUeZB2nTeWx=L_LvP}g6Wpd|AwhuCbEj9cQ6C3~>FkZopA~S*7}(z^ zQ}fq1SC`Y#dBn-$fcioa6~9+fNUgkPQC^s>JSTG3K6E8)Vk(fyo5o8x3v-aRuE4#n z3c<6(=K^Y|f?$E|=31WqW*S+zg6SYCBHmWe`4;ROgC#BtM@4g0Oqr-gc3WglOsUkkI|+5#v&Nv_q29^eThwZ`vY*Mqcod=BOaPj@7M zW{0&-i>caMl$yssIUnOtpTRnc`ud9 ztDE1nzvAR{Mu=C| zKTgfbzLAXxL*0&YO<1SeQy%0Re)31%ZD43!r!uOEsyKze!T%Sg)@Ez?5uhdlIhLoB z0-HVEbVHSvgBghn-B1)_U~Zsg|i6CYv<|P{ZIKKVyRo;bDKedZGqA#+6et#-_YcyAvt z*=4*3)3*!*&eR7h8hvSCZb+7=>}Rc-K`je*sy8ME^2N~P)0ODkj#*qQXcv>75&nb* z0i?51eK*^qw zd3Nnbrs3J$*w$o?QuF4B@#+K+q9+ShsR29;c&F<#TTB_#gNqe4!wX8r6Gn98z1*A8 zY0C`nB;f`Mma{qtB<&1`8z4eW9KM5cm@$FiCKJ=ble7J^H{lE!VcDW|&yA)&bsIOaH$5pY#CP**Yo}J9pQ$U@6UcQi zEi9y-FOFEmsjd$sXiZFz8Ck+;|kFEqT6+p4e$ceGQtFZKEApxHd}<$C^rzjRZLFSj`> z!{(p%>8fnCmupji+UmUaboFdKR*3#Q;Yl>+4;s4d7e-rB1WR{4rKWz@UkfbVe61`E zqkqNr+(dq4I>WkVJ~2lVFT(`ui78^Qd+i#q2_Gyktj1R8LhJ4@vk=1$rQUd_=Xm-b z{YI5(`C5p;_o9$M_aGB)0o}Y6Ub>)P9uEe*j?A6;_Lzsc@;LA7H$~qrNbPf&fArtk z5FS|Uj;8wLU&==hWzTp!wHL@6>BiY%Cc6xD{!DESu69W8pvUOes4uC0;_rSt^NV4x zG^SIn>vp5-?tx}fY`)sHZN0S2J=`wx`Y6+jjBaM6w;MzIbpdBR85Z#7UWf*n0x0o` z!#hU5UBG;5k`*vU7XY|*-pqID{TN$}6?cejLQoWEaN2$grBwG^YR_J?gJz6=4b5t6 zx*#!XMHVz$=>wK7fV27-qk>5YZ==mmyG?J{@(vdFQEx`>dnD4y9XRcEGV$1I!pg2x zjUT^Jb0HGf5eeqUzYlPfLXhOQA|>7GTeCv+c(M7jRlYZm0^YjxZIG}XD-AFf&~(-X zj(41AbDU@DH*Kl!*htWTR5?M_&}tVIlP|!sWwJaf>Q9x?_;}%gQ-MX>fmlt0%@%?Q z(r^_~9QuYG=YfIcgGJr5=$l-^>#`7VHfSqPB zZxYE9zB20%=Ls>xJ1pKo?}gRIXkeJxr#T3%v_$y9{VR@&KSA>oef1vPR(bcV{m$el zK+nSCLzAAe74SrNNvw-WmBZ$@(Xbt%n#hC(4Sq0bsUNj(NAxRQe!sO~vf7>5$xjG|7$8_C$BJAo#l4Q#T)f++%1s zJ3IA6L?sm(Cn^A!I|KTYfXQDcUXM&qL_F4Hd>{#+2xlICuHe$0L^gNOV0c#bB=p{&> z4I;Jwiq?Pk*Q7+R)N5xk>zgvb`eLXm@vMuzN(%{=O;fwqB7qb}wG~%kC5TasdzL4s zW`g_;Mb729^9ubr-^z=2?*~l3HU70J4mjIuTTGzIG9~k6++47O7vkk~r~t4gAUk-k zU{Zz#tAz30ai~}-Vwk2fX;Y#)MjxJY{~Z1Ch=4hm5IGiypJN(WBa7@O4@VvCkPx^* zFIQh)s?aF^<#I;^Ac0Nx<|>nu&B_?JfWItrF8UlK<yYk4UdQK;p6Y}J0D6N7l|DZ_=fl2Vxem=JGPjEO@Fcl4Z*h7NYvl^o| zqQYiI)i+!E_b-s!|22X8gKHF0^y-V5wg{&f+%l&G+iAae64D5Ms?0NjAx{?aFtl|iR=lK9pZ zyPVGR);`G$;vbBn7iJarYWJYLs3GkvMto!?!_1Q3f_D7x+fys$)YWjAs)yY#f(;jQE*O4QDFz!0fkWZu^7z>nXM~S z8tLUOX!o8gFs>D8kQf^`S3uAN!Nlv6x6wc2D7M79^ZE7le< zy!;tC({H7YW-yZRaQ{F+4N-8?|6$m3YKVLDYa1LZR&m@1Xh>Afb+fWK)sj`vVJ&1W zjsx0sh_-2~Do5Zto7F)wl`E#D->VEk(icA!P*ii{A&1cjYaY`i{t+Mj>{N?3%?dzV zo^`bcS;;3hY1!jVlv5RM2YR^H6)A6Mm+ccK807G4gYvWKUNAd$A_B#K0jU+Yg-=^l z#ByitLS4tq97(N#m0e5QfrU&WaqY~5i1r*#Pw+Di5z)S4D9MCwRN`~BQ4y!9*VK~& zIx~6!dUR1h&;F&#I78?_<|j0xEZ-8Q?Q#a5+>2!qzEva=bAVT{Vw11RnF6+`-_E?v zln*Dm#HK-uhZG*_os~i~3eqS}!{H>BV*APw;TBae>`dL}m)q8hm7v$^_5%~Cn$b%3 zK4(8SOW;Y^GHQ0*{MSo+M9J|RCG(&rKj8UVzuQ5~jEj9@bW3oMZseYF!du+^9McXz~vXr*+ zENhZ2KypGh7#y>;iYx@bx%Qu}rDvl<-4jxwO=&d8H@C=gJZB0dm8q&$^v zX|9<5Q0i6nqAF1eX{o*XTDlNj?g^&IkhLo(Gei5VQvKuM$QM<0-O6cLL^tFzzQzb=mo5 zLd1tKZIE_bGGuCdyX$>0-K4>O+GK?Mzek~69BVG|)4`?pCp)1F8|9MiN$$DSlb)jxdB=Ge}vi(P0OJBbVl&Vv64XhoRWOYKZzF+0s8+%Bmb6v@&oGTsUW$j|0z zKn%qEb0DKhQ|oP~%3~{r&&to$QUkroJd9V^=>oT1UA_olhbq4( z0-NLm>2zXC?BGf+u-IF)9BjLgwPRNg$|!hdsyoK2d}t(OKYWxs$kObt-oc7HDtV~d zJp%9sR96CFGo3HU*bJDS-JFoI%reV|SOY3d&-H0nSJDsiaBfb&x{Q!>YYV+a*`{7z zUfFxOn63nAYmco6wp7eZF%(EjLg1mbg1rkD{9}`tJR<3PqwxW?s-3a)xP`GuO&uoJ zFOM>jRkMD)&_NYEq&$yt@~idp{4A&0@3575k&~cD`2E*#vsxz~45e%Z!HdJ25fzg; zl+mkr(IviDG z_r1Rf0Y2)xA-kWsX!DERGF}7Htnl&Y7v0?l^Qg6PUjGMIzBlg`pP8!&~%Bv|;=Lo@89s>J+lyQp_i{HuA%DoS|0sA^P-K zP;3O-{$K)l=2pk_4m`2y4ghCkGRwN}og;!$QYZBSm-#P?HCj@(NNf#`5}X4$W6qSE zM^wCtv+Cu)({}T~U9hYwCj%AC+?YY$QpT0o)7uO&M`B?nRL0Uq+XO>A40mjrpiZ$# zRFWxKOO?c3{7FkJ+&VbtEHrN8O+E7-FuSBQJ*>>}ig$ugx*`5x0*|aAv9N=Ic8HO^ zgM0@Hp+&?!W$m012*24ls)ReO%{AcDKKuGSAH;%26nHpjpt0~iLKlB;jIH5s^BHdi zDR)Nb>JHbKrhQNXYUsmF*bLfy0av@;?ofY5OJSA*KFdzzr3YL9(=n(#;LFrXSN!GVrE!^vC zxZ33&?7o%PzheJv|+ zJgdiGtH#N}yd0~rlGPa#bDht2{dvi8+6+%!lj%I{f7QJd56H%bE(c~C`vWV9jjd6P zyL1iD7+W_cxq!|A_qzgCzO~`F;~39*YmyIA#jwFu+^~N3bO_>Q)rj)6r;+Rg6pGa? zL$6HOIN^1=y;kyvD&tnP6%NA((>8~$F&?t&g!fSFbw0o&_n2$PM0Ou@Px7^_^8WdK zb*1aMxPcqX7S$gFf>Q0sfYR7$aVX}hUv|3_YZQlKBdx)mb*t!++FC0Amhbqk0X30b z9BJ-Suf8A#T;?`ZC3}j_US(~(<$&Xu;_zA;#>voNqa)37Ih5Y$Bs8#F3&+>cA+<%q zT_QC0CoV?7f^p>@?T>_umy8uMBRXrd{r!WO?{6b(XPLNru`EzO*$3d@HGMpp?XqZo z{u$c|0NAGJ95&XXmLgr)=!^Wi9%W=gFPmuauM@@BDv+bj0Y6BV4bTmC(=UquO>eO0RuZT2jhS2BD>0h^io=C>z!$HeIB#Yua`-| z{>3DoW<+Kb$VVWU00~LRmokUhY*f#ukTNJ9;8!3oS%f&a)qbE8J#M51BZf+Ap)IE| z*KAXSR#70YRjML=?0w>s2(j3G;(4X%Q?tpn^OgIMeM9r|G0pKZjX;`&P(bV*L=KI< z$mJOBlw=h;!9iQ`r5*3Zpp~Jy{0z}7n=MK3MMii}m*QHb=6!NE9||FlLng$dKUDrS zG3Ud$DvH|D@}{{%>EnP)n9L}L)*L9{%EuLnFu*V>YoWW<@N52CHHhN3#?spUh!^3h zGPvr;igP-|3lX6RDn&5M_mVZ`f{}6D41v(Iy{f4z{Q8Xk6{NO*^RER(-7QfuDeh4r zvj-Oeks8t++|*uoYD|KTG2VL;_nb}v-V&^NA=Y^E(cDq{d(5{Gr1C-r=5Uh)-*pC$ zbT5{(04`V6@gzeCVziFV&LF&%dop#oXj3cgHtey+C{EG zXLIrf_G;RYQsB|+xm`IVC0S%BZ1J}kJVwk1&WHf#C70u$jDXwxtVqz~Bgc#n$qyas z(?3zX>=_Dc2sB4k97xwhs)o`rJd`vk%?@2t8AZk1!j)_1K25=q3ann%~2?r+h|m zgEJj~-V<>M=@8NVq)O!At<-Mn-&@{er&)@QRvfb2YuM7$G6U#RwI6G!Bfh$4!{ zgO=?{^1H$9(vLfG_UoX|9mDIBelYP!?fqDc84qxS|8_U+r+deePPicOdmEm0620EaGQMR8|5u#~-7hD1j)*qNG3Em|wr1vQ>~UlNCWP z&8f*l(6++VWt_=mfkME9 zoh<%gn8Zjs?7d1$4@+z9^2M)~!lE}4T*}0CD5~)Qi89*!!02=>LKqX=(;Y@5k}2uu zQkA-;o zTj+-wYGeL&2^jFyXV}!3HQOY`b#iT)M7d2@cYWO^gj~>_bl#P>{tkqr8yOjz>zH5G zUk2_R?^S)+PRWA(N3oj~p7bM-&);ON;c&+x8n&~PE}&BelvsWOdJLzfFA~Z`O999A z1m+gui%^_fM^;(^9X(|@;G^qEmR+9WI3qW9sk(Zm>OY@2}*jXUP+g(6}zr-gPXcg{^@oC$u}6Y%*e??tp~&+`uc}}zMifcu_CJ!As?v8Mk%4i)^m16qp4%en=LSF? zk)lN?#+yn*3GUeivR%a)ucm@2T0@Q!*~(dmcInz=L%TSpG5dSS)Yc5m4D)mAsHmD( zS={wC;#wj|l?Pau@#C5U(ohw0T5$>#p@qSM$d&Jar|ad?oi;Scbm8)vb7BV;DrCXw zkFXxGF2^sd;L{#USR$tc40~_{VhxL&ca_%hp>aOsCnm|$-=iT$Xk>ugHb*rs4k(Ru zDH-xhV_StYYG#sPNfyS{ZtPcSWRsP;@CDxLn^y(Winl4BJ?!lkZ5|;4pKf3*_J>)O zv@$9Hb^;44ThZLM;e?D!MrP{5s6D*LQ{)^(#X?>E+sQ#Fg4 z5nJO3RV8e>qr7Ifu)+l2ps$o2Nw}@3_6yJ>k$cgR$%{L& z1_iHO>|p~Cb{g$aX{&2M-u$ULxH_6Qj%Su7o2?)+$1J>wDMXFiMi!?Y6M4r`Q%KKf z8dDaUPa?607n#SIbDR;H=dQCC{im|$Z{^@HbUbrZXpP?uBhVNrhaH+gd5BXS+UxX& zcsqYeBHnB=KNY}E(ApAw2Ao(GAsj`zv`Qak9OrBm!Ij)H?a{iQwO$umb(Nkv*prIC zG}9?(Z-HRFCGayJtqG-HFo0E{i<)_Cp>Y$aSc8uyVG9-p0X6>$htA1|Wa>}Jb#Sy< z^dcH|G#_`|Mci=jdrfGP?zpq0cQs%Y6Jx-%;&mRVLzmn-@fK-=3pc^x@gWKn3ofny z^!4-+kAS*qUIo+c&Dp8e0fI@52I-=6rP<9H+WC6>29V{325u2ck@2;JXS%PlsAC>+ zN28>rEMLhYzoh9+Mh>5-X3K%E5n8f9N6~CdrV`QzrenEG z21i$(zT@sr!(>Q;%xKHEV%4{?DLY}Hg-_UrB?T#mbJzz}k^#6ErowoxYM3eF3_*?vj?gF49m>A=AmAYK>hVFCZl1&MeTG5aL7hQ_efdGWL7Tx}gEB%8 z3>XsQpdg4`0^;s|q6qNBcmgm4crc{WfZTqs9LpW}_W1icgFIm!h_3oiT!+oEP>W{mANGc(7`?3kH3rkJ74 z%n&m(J7#8P=9n2{yv}#_K5xHw-yQe-=+V-usU?-9>K+<%%~jzR!ffQPKuR%kBU~eD zBUmG5Bh+4O=~TEYvPtpGz$+3wlzSkL7`+jx5vY+s9uzaOQdDY0iHIuMZxR|5J2CD& z1f}rQCB{}aJA?ygEdY(Et+2K96Apb(QqlM4v7$G9WEyf_2YA^vWk@ZdD@ zk05s{3|_=5$^IEd8{BQ=+-0ZkHDEJ}eTdP9AE!tyrr#23m*gu_#ykBkyUm%J%^A!t zX1{$+t-f(bA20=#kratkPpsYVK6|L>r|2sj^atH8?%CzBq7C&niTV?T+Z{&qvy{yl z$S!RE=XN4_ASV(%>nnORniE~V%U{0xXGfh`P>}`U^xFjj34xL|$Dydmq);fxWJE9n z-61l*MB!tipkOH$-t%m~4GTe@HWlYzGK+h|Pv!ge67MEg9k*1}bwt$6!1u3je`v9!WX0XCqxdDx+pH4ERB0O=D2 zL}K5E`^}U=9EtMaXTmfCHKR0xHN&1z^Kh8SO-xdw0V1-Zvf>zIa43I(d}4OP-9-l& zVn}3oh9WqqP(ehw@WKco78oKC(AUkvB)Hzz91g> z`}DD#!kZu-g!_*u!CU^XSo@B#`hI879tbAH!?xRhblAt|ejFVmlA>qqoX&8cq8ySh zl6j(<0+sLjY=YpG0#buh!KnaC+g7`p9Fnd@Aaz5dTnlMxviA~b+R8I>AnB8Ju* z@Kx*!$?i4LE=p~cjvqP6R)9D74g0V@DNx_v8}7f05P z`oo(vkKDuwWEGWmns^M=7N{-;pNG36$wrEYI));HDuWV%8i67Zgzd<%OArJ-QWx7S(bA79uPmya^rC33Wp=j2f#U zK01AzVpU=>X-j5|LU#f{OYKlg6L)KCZnf^v%RRj zwY|cnYloyzZhP@}jmsWAAAol^<_52=gt-2tT1O`CDEF)kqHNY;`GUrsDiq%aIA{!A zEb+D(0sM3y=qN1c2^<}QgFz!J6Lo%oRw#IF80Hre2q&;tkEE>ZDu4N@^wEXv6pgtg z2U@`ZofC(Os|MtXE4uFuo~uyW{PfXgFQdKX>LTjMOIfoN1cynd*-5^qbr( z*pK{9l_~r?**^Sloba7OU-7pXwl~NVTJ9}bPl|_2H}Fz;gbR07R9qJMdKABr zW0`#!HKl=M)S#Y&ml2=(<4o0A5T>9YEg!Q4l91p>t}t@1?@PJl>s(dwn(?;&BEG4W zfN|=oEnlU+ksOD{YAHQCZj~iWwWPC)mXJu3pvT%eE9j(>$1a~AR!>Q(rKPhNhr1mY zas~Zr_~%Q!0?i0>(}sJy*U0*nza*kAVw%i3h3I;BRY^fXNx+YFilCsFUw0Kj=cY>Y z-I8*|a9v$8);YIDeJ`7nnFOu20B@t>9nYtRE<@ z5N4QgC|UO#BYGfNP-;4tqe+f>~N;=>>8GfneyYF8Xpr)Z61cBQ7?vdq;gIR8Pc z&jbKgo4Xl&Ja}13C$co-Q(Cmng#quudrI(<8M>&@gozC|2vG{2oJFfhN{D)t{_%8BZqenot~@(4>i~43eo~ z3e&X0x1_L%z9Pe0&H_hDKaSH^BVuLa>a3> zO!c%L|FV82_r~@pj*Y3L3A)XPl|@#J&M;`WSA#*Wk@PFFOs3S6L#?$$LITsdBrkww zT~$dQQ>8R7mIkhb>?h4l$*SZGB!beo9p{e#Uo;mUS5>G+H_DTPIIn&QYhV0rvI-6@x8D9*y3XvH{7D>WlE zme;k2tEzu~cIE zD`~{?#!WnA?ecwDTCWwik*P2)6>WmO+5vY7QDQ6qGWJAPmFUJPyjMo{b-)00IzK&0 z944hPEgh6bYNRjyWBW#mt*42H*``Mu<3@wA$KX*)dg^?ICA#^%iR2K^;qPK>^I};= zCmp*#JS{fY-6_qRuTlNb$u_ptLAa>ySMBc`wCAv`x7v&W9mhPHEW#cHj#BAmFnok(p-8`@2-4%{TIS^o!pt29%+01{j}8;7G?4`h_&M@Z;%i}TOy8yP zoi(#zvpG02*fJ_x#0OFf4rLT`7s@5!)I2LikV+MhhbS^IGNp;djSoVe?o=~a_3p!0 zbCQ}V3+p@dJ)no^irf4 zDwBd;?l6xZQGl!3-$@?rHIS_XHby{+%IB>m;>ouhid=gR{hg@kiQ4%&Xifq;pXKUf zJiBYn>L|@W4KC(Sz;HboOB?3iOC(Daq(zsm@qA?e5S&?KZ>oWSw)!E{fXQS!pK z+DbLv*+|zalX{b8@Q{8}Q>)JKwA-UujKZXMlbQOJ-B;F*GQse-FHu;w)^UzBui6)- z!Z@0H)!ck-OHd1~0;le8(QJDt%|;r(WF_hz9j(yt-^U9Bdo?4-zuhSEc&lwuu;Q^l zkghh3C8-x*`_-p5Z;zyN8VRPtkAVj4jpI)SOLD@inOHZqz|A4DZ3xeu&nJt`MX`NT zu;qE?H;xav>GSGu$$W?K`yoLZZme(@5O6ItbEz&zhiQrDOGo*Omxf}9!&17=ZN4Ce z9pF(YFIpWpv?i0~k>uvw%xu>Xh)Nemh(Jbe^Sk zvE=PxALC+(9J&5`9_4ad;1wlLM0?Dpud3eH1IS|f^iomX`HRT)NZlVd0v9=VF3DuV zcMcz(?jyAqnOsVGTparFE6B`RjVGk5uSY@dBiz?#DG9X`Zv8$cnw|h2$2fv8zJeia z*oxSZV3!+JJlyaGk@q+|d41Hl%5Tg~jeBD?cR`p`t8lV^f;}u}(-nc1MZF^HO=TSX zSO7iONmcZA(UEy28aXp9m6f}}St;tO1GPDPDk`c1`Tf;-iAugfzI4W4wuIlm%NIYo ztb6Izk}^!9WEseqF!nl1IbK7;7ayn|Qb|x0JGbH*spjz)wm960;&K)`(!z!gZQ64~ ze()Lo8TP{1*H3(ZK7FV^T)92-c;NHO=AX*`z?R3$0ksfb%D&yw7f4S=n4EQ3YdP{uW_d0YHbpi1~{egQ0Pe$H4tKTQ%tKe&d*Nz^C z&V2^wfvfpyi+H>w;EDNCcn?ifHdjwI9Cn54dmQ5%U;WWTpUpo>WFAvLw6b^R`0#Ye zkGGxq2RU1OpJzAN8O<`hVdw+8qwYHxjRGOU#qyE`KtKxZiek4GnK99))Whip8~cYf z&bd0V`G+83?|TN{@e}8_q6~`vondA9kBD~_7gJkx5>A$Xw9fK|wx2=9YAT8%;X_HYWdE{7i3Y%0luFiK+ZI$)&k72^*uBsk8B4r8PbCCy)85mKOP|r~ag3 zKkFoHTpT1EY^>iHh5rllS!NV9bogp&X>Q^2_sW0irT;ej>&D5_!NuN*QOf1BV`E`E zbDMuO+Lq4FmUiYEmL`9*Y%+2DKbmNk{|JOvaW!)JE4@~Aay9)&gZ=;ZN%GGPD>KR( zI=hHk7&?)#b1?qn(OHL`iSyI#e|?z#yY$!cPwg9{h@rFTUvK~a(_-oLFOO_ojN*2m zDL+5Q`svzE*v{GVzw7@!qW>8Df5z#vf6nSZLHYlYbd-hZlS=-Fc4ky&`7Hh;UH^~v z|G|+fvon)?LjF+<{F`cK{SVdozXapVT&&z2{};vhdB<9nDYp|L+*56*k>G`GP7~$j zem?y@cMU1=up78%%_~Xq{00k)j=IJg^t0CxPGB?lQrYNuRpNXI6(a;D)p48PABEbE*XPj7_nkJ~leX{Y6rm_vKRo|50BRQ=Z*H!6^}n?j zd0xb9z5P!AnEUSgr&`~~TL0_CK_Bu~EB5PSU+9)kinZ5wimAFy?hn1w2$}1*n(?le zwG{mykHkG_EQ>AmY=GLuM89VL-}#?YesAi)XhjlU zjucNr zJKbHDe&)5o*)m=p#rEGpn%7OR7P zMOwrUyWni4$@Tp{C}~$6_CGb9Q(naU`6ctEl)hYd!^K%>o5pLOKDqAq)Kwgkt%)Ti zq%OU%`N?a>OS6wYxj_l)%gOVDY^B*$@h*{(C%v(B;>(F5RlX_Y@0vq8-&bH7M!^KR zsAJvSW<=xv47f1X%H;_kJO4IR|34^fSM8ylPCs|f_2^N$ue{sbg%}cckdBV6Vza6!|6>pXn z{crx*%!$kvTz9ihRw!o*?x=6MDyvi!5@7Ik=yy6iyvds$17;ck#%oTY)|Uc&g(Vm# zFEVSx(J3EG?;ni|r!8$=cfJDNo`0IV`Z>(oa&5<#oqR2C=a!KMX!m63Fa5Xf&-uTM zeQu$T8@#Pdigqu#SJdb$PlQ?KuOIg*AMb7Yue1F-^0x86`#KZ4$y}jPjo>MHA5CB4 zh-W*xIWZ|#LkPmfq>#OR)f0W~3dx7AvX}DGr-i6H-R)-yUFSkVJP#^feym|O{8@>R zFEW|(Rh}tw_&GP@xl@|I@U*Gyo|jKw#en!!;X!G7c%Hi>SX^}9D=No(?N)Btoc`e3 zmd^28Qe#g3c29lIj{RJH&PQ7=!}n9Z^n9{D^4r8G$L3SXv~Ft8OSff+7k92yD~?^O zm9(9I9=l$lTgNTC&~4@bMVuPUv8&7%{U}6j#1Radh;SQ?S~qsdacb+?|2W>G6<*Js zS{L)9A^q2#9+P$tb4p7-&r4m@FU?K#!fVp5Lo@K)x59yLSiJu-DxDB$I((GkDa< zq=ObUiv#)gH#2CGxR%Lp6tly%<+3+v5XYd!Lj-cvscpC#mU5GCk)DIDGaJOT_9)rB z!xvGtkpk=CDwzXom%jS{Dbp4WPWANSMaRR}1nR~RLW#kAH9w)9#2bO~E3~C<@He2S zSeaSw=|oSLZmEd={`DtxZ|G&tQQ~rFWOJ=C!E(%rv13ZD@m{a9UF&E8J9%-_sT_ur z=pMKEhBf%qETndFA$v_gqrV)5gC&L?B*%Wm7a51WulsHbsWezU$X;s=ojI~iUwGHZ z@+)Vrv(p%!C5%!Ynn;N`m_*dW@a`8<^{WDWx*KjgOH)q#vzc~m-8%DQYc*HiHv5gJ zmPeB-!aCSxL!R8S{d!L;wa8??xO6b@j**IYct#q2PSjf7sb(O(62NfO&7|2A-=(uO z3_f((gw7eep#f0|!)?O@hP(NH~*4Y$VWVX;GLl>q8 zQDw+$ADJ*(l@AVOTV6-l+h*#} zD0CT7E|qrjm9HFGBbo;ejSV5T4M?)XcJL6;20IlZu;~6j$A2U^FHdokR%%^|@wi#nppY!sgC^1h>5RrlJLF9g2JHSK(O{ATW>k@P9JQ8`v7@j%r#+42EAJp#EW{;<1?!IKoeh8>=*nRx!&cn`{kFG1jO_sp$-3$KL&DY@-c^=$9>(h^LBeVAf!n zjw(f7t&hu!XflbCD#jSV-h04rz5yWGz)>Aap znxE#x#x4#b(SOU*Rmp8wnKK(CFyOOR&jr)=BWM)`r42_KUJkq$r+*!3aJRYLuVdQC z`K_a^f{VVhou_2mU_@YeV=z|9ft3p|Q6bH#(fwpF)qV*L_Jo$1_2Gn`xd9O~GbbD` zN3~YfSO={Xc)v7uo1F%ZmxhtUJ(J`UYmqn(3^#$Utd7FfbeULxnaH!66A<#GlOTY{ zv*o2j6aFsS9gqN=PNiwaPwrf}tvtt1KX3Im+iR*l%s8Ld46JvAKaMj?a#gQ^h1+@C zVMmqT2D={tEN{`Ck(?1__M>s1hM>wwLztExJ#`YtD_3|H8Fg45RM;JQtcJj*~{s)f|H*F9sM;U2FAG z7Jg}#=vC|nOLXk^%UzG>nBuyn8(H|W5E%TKtWvBl&3tc(S9KJvr4s~y(zyVi!Z5-( zok|_Y7?^BfLv#8<*J&H8$g;L&nZ_FauoGVzjFXZ!2X`Da*bExQ4nyI7#Ri8hpU`Lg zl{JdJc$iCl{BI3@KwJRkm21?bI!R zYvGk65YRwj6TeDn2ODi6gI$S`Z7%IiWQ{$6BL4^iYn^gWj11&Y>lR9+0Ea9~=aFVD z$$qXYL@(C4=i}G?QZT*P#4?t4gJHl?=npXw;~E+Yr3}D}rc%SOHCT9_f9?~ll#;$F zqjFNN5!$|be9KX*oU^?)NSCvgQJ|&~hR?f~8KKD)hff5IMbU1I;<(l@NqZMdF&mgR z6sVAG!%v@HLC$r-<1eqVxX|?p%nci~eWPPsN>)6@Kx{WdbT4tu+14pFlk+N}$II9P zXx{M4+r^EHdyFJxNb-m%FMHTr_r)(5WZ5#x8do(7y&%gN$XIk7+W?L5I8%Nlt&0|d zY806gpW z5~UVidtb`#S(`#)#iVc^aCHJ5&pjw=iaX{e5ZM4VA#-kGJoS6#XsZ;?eSYr!`HV+g zuh1qn$Asy!DQxrRbm!vd#)$B92Zrq!4GMeeqik5DUnTaq7HwU_~IldFC$D8aHx2Dd~-aiD3R z#5OY#x)j{HkqjLoul(eT-Wvz8PJ!*YeWK>a5x7!P^|Q7DTFw#TuSlB%&@@n~-2??^ zlq;y?Oe`lg+u6AtQ4EPJKq#T3o2!a#wH~=byD!#cx|JgbFd(|4^~_ji>$+b#`0D4v z!(QD`M4^a((FBmw)w@S4$xv}XeP6w+TYeDj_`3MpWNi;&isN<^JgO7}+bEf6b>{#JC z*&>4V3{VYo=+8K!tD=M3B%1)+-MPCY)7&DSUQ?vhPU-gr5DMhb_iMyLK^t!% zm=07luWOR9&QQ~d?(y}4)Uo#j9?urGmWS`npBbQYWAkrMoG2tSXx-qIWL%raZHw1A z&NX4DdMuwe&eKDQw}Z9Eny58zgzAszF4o2Pr4&vb$$+dweO8uYl-bj^_em${Qtkn^ zp_`MvpPdkRPHnQ_*w4$iuL6Lhz3%#t94-Q9mZg<|A2u>`ks$)v7*+k{Q20Ac;*<7( zj(f-AJAr7+q~oD+twZUUYKHKqbat0c#=7W(<>!;>M$^9I?KugY`jyEgKIG5i+_Xl8 z!B1jVBxt*0=G&i@*2cli2ltFm^{I8Xfqh?KHj4*$5^Ql=mh{IfupzQzzlqMg-1%X9 z`2{j_-~605bXI#s;IXkv`Y9S}tNTrT)4cp7C)3?avsN$=2|w80WjP9|ZN@O>sD@k6 z?q3yOE*_h6TaET*R=Q>F=EcniAnPZDljlq#bmOQ7pU^G8@88h>k?|w!s0KENN4JX~ zC()Ia2}Cs}QRzfSq%1xv+R9d1NaX3ch1*xwp&1;j)B*J%V#ZKh-CRe4d~mv09Oq4l zfA8w^C+SX25tUb0RYbf~(qRxQqmqhos|{O5oj|d5Wx1bcnYUW7{q3gfBZBP}+sTSI zfd0q!UG?T<#XEerFx1&a2_FaI^0&eLNu8PzS^^7bn31}=K7S%=c(kXXXp{iR5Uep; zvm;Qn0+XpO@*s6+A0*OwcwZvYhL&Fl@#f$L%5IxPP)mm>A{|#zD8EoeI7Nh-xK1ArdefFuDJR{JY)%#P}?TN_sa0QPMLr z+Mpqf`l2Ldan8f^xt;2e3Z0651`GiE-w${@B8}jdV|3jk>B}RWTtjrKP5@Vn+tW^MAm83L5+cpwo_m1(DM9t1w^a)vy4Z~;o zH>BlX?fyr`50_Y2;VZk{7@R403kQ)H-||2gH;2IW1cU&aCv@2 zDm)w0NBnL<3@gplx#ZdN!&~MRD*0^vRu zxrEaZpGz2djbOq2cL_WPg|;sFHetOJfDlJ zi@O$9+wF3@Kv)_--_7$fm}MDfyor?-_Ok!p0N8w%;25n1;ZydcZo*=iFi6m5M;xUw z|0O8L9h2BWseACJVTlb;PSC(ZKt@FEC0Em4q#_qsH(K~L_&2O+HFdL-WwEf@d157{@A9PzuiPk|d7`&nvDAvSlUoU2<6J?76GNNxr(I9Q z;eK5{p>7m1W$K*m(|gN>g-5leqIxUvG+oB2nml9lyIroZRWc}6rAn*At~!u@%Va9eKL0LBmYC=1(3j(q@jOxAJ86AJ97@q z%FCE$e!rB{d1w*SJp?A zK@R!r)9#=tmvfjiLp3Z_N&?GDK<#LAaiaZj`S~GqXWKR2R6E*<UXBM12$!BQ-|NSR6k^Wcp1(k ziZZe!t+<_!9h=r9Px54&yvq*begU>(H7?I}9f?Zs$E^Vee4kC6pt3GLn|^j;h2E$u zVa0o!o{6LwvGmz{&$@g6-*M4aabIl=ocf8R`z(KFe7Waym`8Pod^rZ4dIHfuq3RN z>4@F&rHdj(zqVAK0ot^dy=hu2|-5bOCfEV|uipoqtVFmYgI`P180 z{8II@Ds*)M3-=s@r_|?ccA2SU=^~99S^s~WN73KK-Oziyh0D3#@Bkv}Yl8)pJ1MGt zhl@^>(WmDLgAl#76I*TN+s?=fQ=ZG9Ipt!m-bch_T9^+tHm#2&*Sfs>__ev~dZm76 zX311{d4V?^)g-}QQ}f%g8hgFnc2TToT32_y-CxohdLU!#`3CZJzdpZ1SeEBDK0jL? zZ27z|;LGfuT$Dbe8U|2I@07*z9pTGHzf#>BmofcR5+q|Na>)|D&&RtBr8bm#Yq?w8 z^yQe6=Dpt{H!YReYWO(Y`gtY@g;2@fyyDN^@y z>EFS_`(n+r01?jE^}bVY)Qs(iRp&}pkbR==;Sb6z85W)knZ*$F^t@zG5Wle3xAhX# z^Z0Cz0Q5{vhq{&siLu}6Q(jhHlYYy`37~GZ8J__OMBCHpW9`8?9y=eT)o*D z8r<0W{A_5Zmc(APv{iliy7Bzy(H=ERt)1QZgMH1sVN%c=d%ad`T_EbNVVJ_;57C@p zz?6PIUyG1&vs~O&ba_P}XP4N1bBQp~^x!(ZO!qx_t=jNDO?6sVzZw+^0OFL8gcQX9 zHE$ZK7IU+WpEL)?BsI8>T>g4aK8!^nMp*$yue+c!8_Zp0^OX9Rvi?9eN~W%Slc&Qy z!JJ-9mSWI%qQ9n#E_Hskvl||({Hth3EH4RzG!=d>6_e(ry^It{7Yr|vzlMH`%k#{z z&CT?C+#MVrJ_6o9S&Htut#+tl%x=*vP?|LDOT8e@1e*~eLBm4}HB$iL$FeT1gGHu{ zAb~O>=uK0b?2{F!)q*?6d#<~xzFXBfj(N($n2MpE?}RzU=}kQx)IV(ak-AP%Hmp}e z*9z`t?zup!1Mfa@+n>1VAyRk3qE8$tC-sjYex%-0p{&3QHkRK3jW5`aYJG&1l4kng zJQVlvT2Y%30mHqiy1!I}WiwdkjwLn*!*_fpiY2yvUByLElL_DNyUk zRbCCclv^sBwJ!QYC;;+{^nXmQP!$YIda3vcN0)yMM2`Z|Dx#Lui~ykq%N$P(gP8{g zN`ARYZt;i;N}E5XH9n^78kHU=^)5e%QsF+S2y*OS(?Kq9_cY{zC_qj$L2MzrFNCwi zatvJeQv>wl4uQ8I((R{e-BT3wTRZX4p?txP$C|YdgdyK?u1y~ zpk$lFi3X`(b8@mRX1w|gt2H{asEmbU9EbLNCI^UAp@v3JsWM#2;s=7Jst#^Yz2bQ< zA~8Z$&37@$L4)X++hXcr7JNwrWJt(EG+wsmTY_jd{}MSFR^Es4XhhmRWshDY#b4JI zJ=s=^j5^V)iuc*}Jc*80gJysqvy43y?&==gwcLv6<<>xljQv`{^_7*n7*5v@Jsr<4 z7UStxj|R{ZN6ltkbP?p$O>^2h(Sa~s|3tIKa9t={#Q4kzoxFz!#KEp-0YA3AWDkYm zSN;(=Qz=A?@t6LTh@AM1-!!=kPR9XPm3`HaMNs6Gu&{)%u&@WQhk#kipu*tvz-9|m zNw8!op*Eg)OUW3g$$2$!lt2QyAY*he{rx~}zb?w%jb9#4)XO%*LT6q(hp=^s{S&+J zO(N`U>dEk00ZURpT1TZ;WE}dVDWVL{d^p%<_Hoja@;eJCm$_6a@C7NX6Ul84ab&Dx zi=`L9>JHa?rgT;4&$;IV~@$KA`c7Cb+3jl+U5<9RHP==a$aG@kfF{EW8U>4Rg4~onL zSg5XfWPGa!n0=JI#Oim%MF>PfzOS~8rKQ_b{5+2}ci+HCi{wQZ z`AV2BbP#`gDd2fH6xgeZpDkT9wiGo#9}wPuT39bXSHxe(zzV3(_M253byq!VIcYI< z3T#63wTu}Vgrn$Gnko!gh9utq9c)k>QS{3&qIj{Qrh%`ZjzDdMv*+lBQJ8Q8 zkpuHGUF&vk@*q>lXB^l{6h4cZ)DG6kV5FM-S95xiZ1isqmfgQ*8oH=j_%xlD z?W&Txw%I~`=HDmLFy>~{0Rtw@L1w5$EqgAu;^gfu7xUPD#9s=FLdClZ%vcvVJ=3uH`}CukJ+7}KgmKmqDu1#M~NA(}F| z9FL^Ga`<=ejnv=32KS1`ub*i>VQEEdfcO^3_2T#x| z5vQO^>8kws5TO0R0}U=cWP!-dOq7y$nae@* zz$*hKSGfACP5&+c1Rq^KPC3%a!L%$%-oa#!HVr&}oehlxb7UMaKzzcF8al_W3u#x-@ZIFIFn)ykG z#K&7^uH1@tC%36SXuc@qGk7_oI+2fBCp|hQ0={rYg2EMoPfgcB&!w~bJx~H4ad%ig z2-?fgzpRoL>`I;k!pSTe)IH|>V70*J_ja(+w(_JD%%KB|GHibc({g*5Lo=#DI~6zO zl*#Vo)@?p_2zAvgqMOXzMQhU4-87K&hz(Q{K-O+Nt)1eqW0DC?8mpmvDmE2^=Y0h9 zm|||3bqD!;;EKd9A6T|WEtev@v(1I7n6oVoqoECl{fc$qHRIjV>E%9Fl|ZO$+&cmk zw-IXM;}X0NzOO!!BlU*Kx?H{kVIZ5BOvS=_cBAsyK(AT(m(5`3NiP-hrw=V<=5Wtw z0KuV`USgH2IdbmHesQIfAG<8NXU6{us!V(g3sem}cK%&so)d!c;>%uy| zVB_(~p9!^H5Snr<*rky$R74YLJhH^J3YtHINUKf~5Ljwdz&euTrt`Nx9~lC(cu|9Z zaez-M^d1gD8D zNx)=`_I2Z~ABbN*Y(Tw1&$kO>xwit~YhnI@p;a^^#O1=1w~O4G+z;qR;73Dpl_|6h z5rBn^(!Ra3Qq(3QYLR=4?}EDa-yq~?v<@pg{^_2SbW@xP@$@L_o#j+NW(%z5W#dgC zMAJC5DI$#L3)1wbF|P*((h0w&si(m#8I5a%Y7wgmL+Rr>!Yh(6uSyR7rr9wxmMX!( zV=e>o!LT6iBt(+a#of;=f8!(jwrCVDOrb(;;EA1BXP$<`VpJuTCIU|Pog=VN|DfAh z;kUfiMyl)RSlS>|$MtT5;T3U2TLb3Gr2t8{jjx47RmU_E~O zF2WFzSRjKfVniUTo{l0}{@V?m%-6v;j0a@*WfdCt-+IA`+ghTq*S!s8`x2%!FPbg| zOmN8761nB^h3qDAgBO1Jt37C1ZQumv9-?R-cP3Edpd~yLr2zp=Fmh(~sS$&Ga=%~A z7Gt3YVZ09aRqWD}7h^*SH%s44U`Jq9z}QhIC-&h~Slj>dkzDfz0j$pmLwpKGYFJvo zYQ>%>DOY~{z!Hz9>zmY3K3D(tG$KjBiBlxyGi(tfE7@=PFc3z;Sk4$ti}Q2rM91Z6 z(jnJ+w|9^j3oj;YSB!g}HtpgtgAQ5iA$4 z&nj0siH3X>i?pkjX9B|JSb3)mX&aZpW>F-0QBe{})`>uyV6K*Nifhrp6gFEUYOjd| zdgzI#97;zoFumqleej8E--*yL!jQ514dE+X<36>o~nl)E$K3L16`-qM2cs zrNE>=WHbYz7cm>K*9pLtutp1Lp-jqi`6Q$k34`IBuY_#?@I|U+&zgBC{GV*9;w3Bo z7!oT6NRhHoPB%J;rNe_*sNNvAc#c60QtGXyxWPt@61ht`$VM}qIc&~8+khZkbd-nz z($FS9BAX)`8pJnWl6VB!!ocrw93;Irq0dC1AvAWgs3YTeZC%2z{8$#&zGJ~ZM-JXq znVVAb1=R?A`S7hoHFZqJ1hZ_t8{WTi)B?Yfc@>G1H6$a^ z)d)}n<;2Q0UVVQ>bPMW3k27sWHkdbPthJphAnfw7@4^%DYJWGI)!VeWhApD=pSeC% zC>d;O{`JPf@bdFJ*CM8X8b)N)DvfBlQ7{anCd&`p;gX-75(9*Q2Zm2#^H;?bTLc1} zY<%mPhsfsvskYPhc)B_p>mUc$XECSI@`rJSS_HC^!H1pC6nfci_5_cHr?;z8|58Qn z?T@&7c=cgoLL7h4j+#HyC!>zn#r9lfynvW&fi-^)d3Baut7?m^V@jad6B*@FDt#M2~Wso~z?M0DrYLOBZV%^OkE3dEj0@mq~HXA6Y7XyQ{q)6}H?B`ou zJH4d?OCQ8Co=p<3K25X8_CPXY^SS#WM2nX-wUO$X3!ufWO^<>Qgn7fv>&sTfPv7$2 zZiq~VIOq}g+aKCOTle2>S~wogTz>i9>sOWuR4DuM%e=j>4)sFVi(0;V2fz_UKl@wl z{%*ZAINsp9uRhk>9&+p%xNbl2Y(ZLrp)ynLudVK>OG8=hqq6!y(x`?JIYcSljZo|< z%WGeDq@lSvlo;U`Knv7)gQ0-if6CCBRP{%yUk4DXa*y&C%BCLBVME$}Mye6SEY>fh zgN?z2ET6?HqmsI_P4{v9;ZkolMd)mIJ$dzMai$^_7S1ctHS8|2oQn+bh|DfwlBGAfy(gl)ZST`x5vN& zTPad%h42-GaP~;R*cZC5*dn(?5x z&KescU85>;qucE|S_JFG2 z*|3lj5ez8Q=gTUr`+?WeY*PI$Qmg7h{<4fQxeB!O2_ z{m@X++YGp3!P8U?3<(kelT7HY@uMX&9JzvZme5yugeH`Bo*tJ4u^nN1OcPRpUOvHJ?BxQ*HBfYr z!2GK7q`fzkJhn+OD$$pMVYe`4BjZX6(dK){SOms;)YXxS;0tI=hhztC0+6wHXPdw- zvi>B5NZ9e`Fv><{La&Sj#&|nkm}X}X>~(~u_3ezNh>}YVgnxm&?tYq=TbB7GamAH` zy9V3Eh@QwtVFj7KG(vmkhIU1VdSauV9N8If7c52L#z$7)v zC83e-G8<5_OG&uSCy<0^P!f@v7Ki@h%<6uge?kf((T+VEnAiBiFOjS2dwpcVOy>m~T7 zxBZoFm3n%a!!iOU0`Gg>ZiHglf{~TGnUztBbvQwYfUXEoVvSJ9LQ*vW<0(|$b6>Q5 z8J$XbBT8#FvlSelep~zQLqiGCRnqSh`Dab3`7zq80mrg%++w)F-kxyQH^7H_I${zB z31B3eF}G2Sf>V1Z9`O+*4hH9~_6%voYzEJ)SE=bf|1sooQ|~NvU&{@4vo%zRNF8y9 zys!W*u5EBMJLMwTjhZjz-&9fzAk;5bv^{lp-FiXRQu#-jc5Pn!IXt3WYnexFSN88 zNXZq!j9B#{)P^r|qJTuMkrU&9UVz#+Uk>>kjTw6w0FF4Jx&k^_H8 zR|L(fU@VK-b&Q)#(Nb5g+&)5vHa%-}ec9b;I56_grLyeH2#qT7HyU(+akg~=lo^Zy z3&}*SVL8)gNy~6)>_Hr_4i{T9i5F$fK-22`Q-%^vKOD%s!FqD9sq4N$>}@wsnKv#$ zzyVm1FF@pXavX8KZiGEun=Y>*;k z5Um8nVUnmqn663EYt+!3gFzESR)%}9{ivi!ML9KH z9?Fm3Qv^-|hKO8&1fFN06iEJ$$o%8oBy_JCN;tR+ptwJK#|@8%MPUq-lme@+#c|3P z3`0|KQ9iIX+_2RANAiVkL-mCGo`Uz7K;HV6wg{>ec09qoQNXiP@+MV~pfQ1c!V2s{ zsk8GN!9ol4k_Ba`lQXaN}{0Cs54h(gmS~JoLl^-#XLu@@vYO=j8Y1c4{dq0~gZ6 z6P$)~u;9;uQnB2|zMJe5A16xA8a@G8uG@6(?~6@uy-4Rbii+9qp+( z$AOiPq4SH9HYil88+T`g25m;-Kv_Qnkxnw#b(3`lsmbcyr!eXU_mhw1M?L0YVH)Ro z#;vVpbKmx|vC34MMd+_0Sl6%4qv31Ke@6!q4u{)jMSxt6!c66NuZ8N+hUj#`z=^|j zoC05H%I=B3k#hE20z34{H3cK9QxC$%4&k`!C~s2pb0x{5gN!o(^`1v%FpipZ^~0D7 zLx3a0CJtq2^NhZ}%PK5~N*(GPkZuf~LWsK@(#01=Ozgl@0atV~ASv^AH|-4ie#W?#MC(XMfsA>-m3DY}jP zK_LWwWN_oKhFHg-7*^z0E2O`S`!5V1|HvyZh!?QN+N-Rb1^h7G{{XSh5?SWN(+A5N ztx1=7a-Q10W^WMxs_hUdv;~oWgvz_*&d}5l$zA@Mi#d_cduC&Dt_2zQAYZ%)0*|T> zLlW~`|J_rEt~;{;@RT;H2_g_x4QWEJhtQR%S0zFt-8T1nS2`4Y<@eC{F?_fT&7b=g zOYpxad*|Rv!gX&uwrxyo+g!1oOl;fEifv9f6K7)EHYc`i&zrr^{?6I;o%7aPr>gsp zu3k@f|M5Jly83tD*R==#xH-~4FtTHmztht5d=7f-l@ALN{K6n+Ol_^v3@o)P`cZxc%k{je(4gDPMep z#4q3@&uA%l+}n`YKd0kl*nbLo+L%7)^^Fc(1EcFEtn}4FnW76pjTE>L&VM;jkOyKW zIS<}Hn9PC5M2t)X3P2)0;lr7+-w?J(m@!r0%6RaA(ta9v6N{U9jX=Idf$u~VqB-gl==G6NW;hI2>0K-oH*?!D$X zs1$mm?w1H8tSt6b zc))Kj^<3Gm2Q{rw#~^E8m;v0};F?Kp5IpA6zt3TO!TYkq%YT}quiapF9QOa-41F6cMU1z0Y&Ef?p7Z}gfJ20@2NPTxDd~I;%3bGeP;El`A>kb`No(Ql z@2bM9+ZopTAU*c^8(T3bdz<0X_(_DD_E^kyNoYPfMEZpP5v~}4As2X=w*_1Z(W?+X zNb8`@Ie8hCK9PICgPNv-?H(l=x{K)b!)!yz9%M3K%7bTeZS$q+IDD&HNey_>K;ao& zdctIJh8KI`N`Afp1*N`Udwz>Ce%Ujkq{^)!Mt|nt4`ltrupld ziZovWGY1Y4RP~5>iIajH^HvKCrnmatRUZ8qR$F#^E9m@*@fW~k#60M4OqhK``b>$F zE+t)6Ar&OAx=-`e?ATVA&J&{Sr#WyR0bLVD8Hcvv!%p|!vf{;zXx3e00rsm#_@<$C z^4$Il0`eJn(E%*Yi9rz_PmlGA;a@B0Q8IpN3E7Ti|Hu-Fln!yt7BM=BJPkM)#;CDR zsIYTYnzEvT5$rg=ib=vNSUBg&%obA&MFbWbsEhQ1*-pxeC2%?XHg&sF%Ea{ie(ndBF@4jHsUh!plx z!7#NL7BC^T@Vn-hQ>_XPSsS^jNqPg^oHfn+xPb&_CVpg!cR{Dz6%$7;heG|D1Crq` z^k#y_@8H)D<+}3?(B>BAIWlId@tt$)=`rYaygh`Kikughcrh;Pe!muR zO=^z#KwfnN0=*r3#I2DS^0_sxZ9JjHKkt>IU-p+oWnm|hYGYckKcwu0!H{N*iXCd< z)Of!;L_Or@PIdVirn*L41W8^|Da!QY(~`gj5!H!|=n5j+tQYt)5LBreglWj8woGN2 zs{(N}7~&tzSX=%G5PwmAUJ|tpnVr(=hkqoe#TuIHWU+u7>GuApGVY;R9pSh41OK_a z*EbPZqehTc*+++`dMviwFNQ!lr(K9OD1pzh#0oY{GqrBn8;@_2nuvsBi-av1fu8e@ zAjtI^XvgTg@jgaB+sYkHdvgGD89fn&(rx_!W}1vN7R2)F7QzWC2JG81lHk~wD;dl^ zPVK(+3B%Be7#sBOPV~LLGRX$ZUgHWd&gA7Ps zXbT>n?M_gIDghOHH$v%S$(F%YdH4o)ZG5!E1j>cf1(}+btARWC;{Xl_ZbiJgW z4xPrMc1oXWV5VbJl@OJ#pFHuP@*fb$& zo&~cK)XX^sLi z1ah@M%C8=iJY zS0j2$=o;#NF z0{pm#zRJTvyF^11fjHPV&_HR*EG3QR$D^y}cP)beM!UBMsLYo$e3Pt(Jv2%^*H(|dP=eVW| zmJYyt5ma7-T*Z{SA+uvzZMfdKZ2K3En$b@iN9%UR+8_o!aFu?_R(Yd7y1GW|ixwBD#c@5RF$pqk*tb%pvlL|5g>I4FaZ87kx;a_@d`D5K{&?GnVJ(GdigkPCAPx+HR;;r9F8c!%~lh9?pYqDAa}B^@}oWfU)5 zIIH?-Iml&v^skBGQNa1g zYy(--zNNRuEb8tae37`aTtRY767R!<9<^I8cKb5mBA#7*d$&b!VPy{rly8^oKROr>xl>?~1aSt45W$Y8*%M zQ^*)(3s98>e~95JuudKeKWoRK-ShT7N2ZmPZxsmBqv{g!f_-j`Pr)N7HpgJC*tQe{ z1KLWVd-tvFA{YX^s79shPM>6w2Oy7Z`cwjg5pVI#Mx|Eea=T=5#o@Xg!TRotS~XkR zMh8yv=UdQFcqMuN`9LM{ znhk2<6JS0sT`If8>SZnz-zJVSUM!07-ljm`yG7BFFyOnLa5&93AIgx8HrRnc-7^W~M zJ2Z3NHOmSo20`FNiN{G7v}fTr1kmHh%J3uAB;`apk_qpk(XOHpUtW%{ZUOd!xBh9e zJ`X#us7f#;9aOT$<&r~j|GY(~sPG3TlZtwze$Gy72-^6V@0>n?>aN6bH?hh+bj%A9 z3ZuFE-so+9IU;}qG;|;SF`^6%7DODVzVWPWqhqmaA+U@DS6=Bv67004{&O3`V54PbEQF<#Q{;gfo@WmmvQX6kyC@xDzIB^XXrhpDMXg! zyh$Twp+R~T1R~!;a)-8muIw&B!y(RLP!dJ4pn+!ZZYSc;(Td2stCt=^98Hdcnh?}; z4vpA~Q*$#CTALKdFG7|Uja|rYX}!>;$42K1Tvsrcdm`7+zFHj`MvIbO!-y!o>d z0yaI1^BOv^zfJ!WLXq_kc+|#gHqS;PP2(rMc7Q~9$`DMsip|UCPE_yeMg>lA<6~N3 z$f8Dm^LpjXgHnmG#Nf&6z0;m-2kQjmGDhPSOgo=mgH|Z}1{6oPJp~lHg*1ggt;(&+ zSc)LgoNK!-TF53ALsEo00zd-LOc@4Z(PnEekD41zz&Tgl4AwAGy}FRL-G1^7`r0dt zlk8({W1qb*?}seZ8do29s)Dn%f7oPd9iJd8{K(5GtvRySnHoI1lw?ZS6Sbxk^$VJS z`pnAH!0Vz&|L zdl!%_K2T?WT%_-)H_MEa*lUawo0e`?hSqutR5YxhRUjPlt)@9(hAuvSJbY7rg`RVq zv(aN@RC#3XkofWl#ly2GzxtZ9v6Bh#1B1d^=(}%{aVde_xB4 z+e{B%r#0-yaIymUS+9L4$W^r$-Xa|e*;gXpnEoNskB#Z06B?Pp93e{g@O8&T(L8EW zO3@!gzVvX3n8Ru;PsO$Kdg z|MZ)&F?QZMpH`r6az(*0imgH*&cX>w0)*!y0cLEHHJ>yBO)kHchyyYLMiL*C>JSyZ zEEqH|nE==0;{#WD!R=+nryoP2trsyHuSR#It-4;%}$?99I;*r0)Z%n>7InPe3B zhkF8pJqDKNqvVqal|(G(?vsu>dR9nM*Bk4Jgn|?JH(baKDPgZxc(+FF5QIbg z7+K({1bMwGbvn2t&>K+mGzJ)uY01baYnivQ_kLG{R^YFe(Cqa88#~;1yngfo69L9H z@1+(Gc`rOsG{qpa0nqfr*@II!KbQqtp2JO?TVuygw`sNcSeCnyZBiG8Q?`fK{wV5r zR6C;G#ub13R!puK9)++n3S&rsGL~DcAnu()_w&7Zc;2@^I{5^PlHP1ko2b#A;+Y(- zpK<<=%4REd;=a&ar-P7v&O?!U+%55myseeUrw=v@RujLZcU1-O_j7ff%qN~2ly{-3 zp|$o!`_|bot_3f_iEzRRHL+IAKp`#xQdw$@G=o8c{?^DP2EC`6xP_*pUUG*sbiTz6 znNVxSK@BgzWfcYVc8SkSQXkK-j3%hpj6S4VgISPj*c}rILz^@ljN2Bt2;k+BQlL^5 zZ1TrMPeuUgR|@bskihR6Z=>FJFf-0uF;vveFz>`(^dM*-(|Z`JG|Omta8b_WyMBUL z^=Lu3(eLeRmJ+BE^Co><20k3J}ov_Xkh^c z_Ay=q1?>`5^7TN&sZNU?)TI^>KPedFZGG9sA~E9ejO+%$74M-Gd^;no7>7?oklA9M zOWjfvhHup8h^*g~aLZH^y38g8N);EFqwKS#g1qe4OWco+M|vbHO*-zt;SQ3Knp3%P zDmz9uTzFagX@cR+l}5Dr zp>2tw!o93^Ks$?L_)h+deEH$K<8T2qnaSb-a&0?afI7B9zm-3KJ#Wt8a8X&>T768ke<>*PV3SbbDZLhNk1x6im@8;1mpMPaQZq``CEO zm;9HwqXteRhF+6tUX-@)ao1vs0$+@ocX{=(`|l|t(RoG%nbt0; zSC<@1!$4lc;DP|Zb%EZF*vU&+^CIKfPcQIlMI$3u(gq9uS`KQM_@tgd&1)aYO;;<7 zZQCp`KMRh&$``v89yq(iigABj;sKa=+J^q5Vd#3q@)iCKOMG&2+dWg=YQgm)uDv_K zgRYUBtp1DT6FW|kqqphby}Kp!IuPUyJ0CCgs#vu9Cd|}$wMIkKh1f-eOw8mM=lPuf zIsKq|bKQFt5x&*r_`EaTzq5=A|984Z;BZNXXE5`x5oEdn=|Nuj&%X{Z1r9d0P(@@@ z@3alyR{zQ)Ctu;%5vRZKoY$TNJV|aV{`Tp44=+{_Y!P@C!~ zY-S;LxpnYVv-FVo*t+<8L-OAtP;CFO)BHSAeRkk*gUA%fGlr|3QjUGO{rHF9s6Zzv*;T zxJdq~WB#|Z|Himd`R^v=|ADE*_HRI`e=(CdcsRNKAIPLmJz1B1&ZNz2t)k|#*jSr61kIN2}tmsk+)Mfkjc5wh zdK|I~xUxb24u9do1YQq^tz5i3*lii({ns*>vo?!0`L>2*8|T-DTQbA8UrCMM9JYx3 z?j9Yo-`2wKiX1*`SpZwU@qeE#khgmCngcf9*JiVuv%AF%p8ZZow9e7nvb^KJzpSjK zyK>lm-W@lSB_D5I=gk{%Z4rTA+)+N>aksVbba5B*WX8H7MG_s=dbqp1pUnz24{uod z@bNVZT-jc|6I?uE1VG}yKl(ur;Bif_o!#5yoIg_jeVw^5yzS*JBGNxJh`+t*j{EC< zfB0O=@nmT%^qJV&ZM(_xIHYm+>C%k<>Xb`Ga?d}lIeAPj&h6&jB3JMfvjTE!J7 zkxmN4d0%3`EE^bbKOKLTc04imIyEs}+DxMXe-nKAG2nO;c*G#-CyF0V92eBi`CkYV z6+KN?=V?-|BZ}z=MLB1e<**)jaZZQ)ZG=S<6MBv^Oon~T+$O>X#@b)=N0(SxTz`VD zK7lbJ{Y4JUmLnE$GMdnf$b)WKrqBZ^p>B@-#o7VlSS{xWLZ>r}&)P|sB4CBaHm0v| zt)H^P>*87#Z zpv1pU7WU6{$kG|w)QmNnUfc?5)<5Ffa&=klOG+&l`Y5>9?PN+l??w?zqv$Tk9NTAH8t z)dl~zqPd!=zdiZfljsP3zEENx5CZq+1keZ)?j{alpzAj_w@Vi>sFMC!cnEj4yY7I` zCKn>92}J)3Ls}PLwIG&9-Y%X{xR;N*zrQ-(bqn*F?)@_;7NhO7&Xu|*)dmm*7cmqT zJyB$U~_c>s#xzQ2^Cn1gN$m<9e1Be^-(3aTY)I?vmjDYMcI_HlF@?O$q5k;O1|`rXhCZj zi?xb^Z1oYL@h}t}cdPC+40YFZ15K1dqGAy;sOa;AMIlVE5fj<2Dpo1i;{5oW#!bOt z+55Q*IGE2mNW8fgLBzukc&NtlDQzu2m!D+=_FU5i$n{&Fn%EXNk=x)MKY~U7oZntw z-&KMKY|1amsv=LcEAnpfqH5tB2D0@&*$*hC3w_%)pMm+{pP;M?$cHZ+{xiWg`_SYv zLJ8fqY?#oDgoBfB5snT8`_Rv9C*+16gCZPk{|5j5fu|pInN2G53E?YCYcxazMnC)m z+}iJS7jM-+usePw6`Hwr6$aGp$}|LTW?NH~ofcpf_@I$>#{&F#)d8Ho_&$#zWs4>2QyCSlj zM)2S|e%M-tbGvaoES?Y7Sp$70ek0Sw8OTR3g#MR93tm?4$!1}m+i84Wv9@4=a*>LB zN?OksA|i97FPS8+)ej zv827vK!YE@c9OYokKwS0txzMRCSfc&MoxY%N}tAbc{Ie7T4BB5O)VpU>7s+KknT{% z1hGf!bS%>Cj3VI&3NG8gWr7%jA_jBvoDYhfB9%x?`U~TR@Umguhx^`qM}5Z^&*(jb zOve+xjmAoEXsJfY3d_b`dDHrk)fz;wpg~`WFydGeZ!KtwqV!89QK^U8`~wkL?O0CC zdV7rT$*6-6OWhK?LKmzI^cZftic?ct$_8uswV8tu>sk@&oTqP!q<7*W;q%&&hOZ-0 z>{;E2?f;gm*&i#3yhkr*Sr1{EKC@d(A8|DEWnI}GrAQ_TfeUBUd?lCfwZhcA-^|QX zXn>>O8YvPHD5bQ|TA5E+Vs4`X=NvB6pIP765K+zj?v{nSyaFnX_185unGs zCgf%>Imk0Fl-%YI?-!IPx%ANixxYXwS>w9c%FkLu+M_rjrF-3o4L2!D9eexML#=)~ zXDn>$n|9!r9@~6Oca1^Hh%;1acW0qMw%egAtVB{5sEwlbhkL}C_DXGQx*Zg@c6(^m z*e~xM9)=-W9n7Ee*8Bjylr&L`i^416k3p9B;2s!rtuVrIC}DX`$-O@Qp&%s<4d!@D zP>Zkt|B`nm3%e*xHb2;jL+R(}^L=C_hu{_omLiT*#1A?%bM01s=*j)Pm)`QwT9vu z2`&e`U)CguUh&s!jXYP{&I$eD1>;0nexlaH#|MIm`pI)0uw41H3t`uZ<~a^06mLoN zYI^W6*m!b83Gs6v>gO!;9XY|M5rkrv2`G{kYk->;WqGy!FGlF5bN?utq4V!y;QMgq z1~MV>!>DBH>$pEt{GqU@QS>_z^H+cqKG1(B&}&?zUYFLgkL$| z)7cw0(C^=Dcf0LmbwBB7tn`oJyv(TKh02=KZ&FIhu4F3^S(MmK%lEka8HQw)`UR zNyXpZ99TLA$sffJqZyVzIYB=!q@q7nfu@G8p7vU`9~Il%gaCZzH0~>|%J4@j6dvU# zja(`;e{o~SGvgQ1POHDv znLcA=C~~o%FH{p55I;h9&lBn+%_EhOm@R=fR?HG;wZ{;(@<~;w%_Jq}Kj5IXw7o_r z^T(cm9q{@~Q zO9%W|QlMmG4X2|6bRG0Zx2cV$o$G0AHjS@hda=t}H5boG(4=^f1=FQLw!zqL$jw<+ zuwfT-(Es&`>~8$M0NPc6u}{k#nQH$)15<~YOm2OnJfkHcw6fR!do_5ph(Vp=fc)^n zf#1h&N;{)lX3ExHed@GWJ9{R0B|k-Jn6px^TIFIXS66tM+{qs4Ig<&h#K8RHD0L#*HQqb0 z$4VNMZWUr}3HZ$t74cVWBmu;9#G-1lKZb>DAnpF>q2r%9>e>B7A^RTYE>+H`eaEP+vf@q!P%UxCw;Z~mbBaqm0I=)Kq!7&RphduoP zbN}w^P2Mx#A_A9PEcbFt2G63*NR@y%r9C4;)&{DpFc}FQDwJfCz**b#2lX9_{Y|}~ zrg%$E*t@KzIA4`}68W;9;p{MIEj*q~ylT^GsN5#Z5Ir13^ad_rHI>K4Km++<5V~iy zpJY{aKO4f zn~kGU&qR)!0wC0WxSNFB?-G_t`0&eU3ICuGZ3koe2>W?OqRA;SM#pYn`8<}xhUeIe zK1Rp(ltOl>WAPXHhb-r<>wC;E?(HV^8yC1IdA13469MA(<;P``A>+yIREM`24nlRL zib!dmd@o9kT6^0;S}d%dCmwO_KQ3%XKfB1+E`()V)Z6PJp*7$x`gd-mH6TzqHsfFgWpX;mG7!U&ke+8ZJBMte4O*0!W5)g?aEfv=oV>siQq)Y0^7uUPtRzorG*C-_|&g&MPytF%0!s`oL-M z0enDSY>pNQ+22Z=Hz1l`XF!6-jtRffYPUH;J~BHdQd!pA1|H|!g=12=ZAk3&^17)7 zrk;V0f?8Sa>e!VdKOSl@J++KwvI%PLBBV5pDf2qDXvD>e*2Nzj?JUM?)32VoJfvDq zuMxZ{;dD?}4a(>IDq-Q=pYB}Rw7>oUmEbsgmR@PwLTxHae2u30G4Vy!@?zWInJY;p z%SbA8QVdNxN9edp(~XkZgsgH)PSbBYFGm~Y2&>b=K27x0DXi36`;dXFM;b%dT=Nld zM>9#5cAF=)t_r3klN3w#nWZ2cgVGF5iE=_V%cnI>MC%$OEyi-2TXJ@9KNUB+k`N3` zk06NuX?k>TR}iab<*q^wrE@l7R`x^ZIvd#*ZtJmfWBUb?7G(%V5#C9}eX&0ViwHpd~gRnS5HwQEAq!taSN zz|-I1t@7MdDlukkKy$Dor9;a*FNa^gHRVj9MB@yPj5kzS%JO76^pU*lcfDMM!0&8R zHulDt4~g_TI8Jkp44b|ZH=(@*4z~0(*+^6mDp(*I$l;W@h=IGvs0}v#uh??q_>~Dk z=jXUPeKV)OqR@J!K8$Dbxjf?FD@6=ZB7XCuwij0}b@$_qlG^*{0caQ7l>o_=#Rc~_rcTduMq)q4Ex8JWhz z8W0ZKnUqmF{(v5x?2PG0Gpe}Mn{LhhQpvrm-B_s>_ls}|+^No{<%%(=`tiFp-ym`? z`E_+Qk4@rlQ{clE*^HwpV};jkI;9qWQ(3txiMi#Oc0I2w?s@vFaH6ELQGB zRalD3hPpw%P9r06j84luVz}v-51Rkk{Iqp5wSu;myyC<4!f<-fx?c-=<9w*1V8L47 z>grJ%^PHPPR@CoW_bR2v7zCxFo%WfGtraW2fLgSp&$cN3^*;vyxi)M5EMunMlB zrO09`qKS zMPe2Pfqf12nHXoqgAy%@DOS&Q9N|&a9QqI+u7P9!PcY8b@+YT$8PIIZm$cxjB3#1$oP}; zVR>-Wzc1afRuEpRVr1MNm#nayaM*niL3>zZj?rn1Flj~V{urMymy$Z%MZKnE9&yZN z+a`I!_NYN@%!6=;L5{^<4#wboj0&ZnJ@j;ps-wxqM2Y0(H)pG~#Cc9vX=%8lV}#`q zC0|ROP{i^;OX5}dkJ}q;wx7nhtz`9ysy{rJnv)zR`$P*u)4w3~UB|?Bm-2TG5tN?cpnk_n}Bs+~#O6jssWg zVDD?2``N2TZ!Jmgf5{#s5m{+7W_L0%yzpkfdT)G*j_n_Pf9rRvCKs$;qb`>5t95Rb z;{$&d%|i~OOGJG+Cj~+JjOd{c@HBTda^xCX^DkAcS?}5zzejMiW@5A=lMp;yx2&h9 zAoXpJ8kaz;zo*gdV7M(}YQ$RUTiId^jT2h3Bi(1(3*JsWf+~HeCRV)Wc4c)kyW*L{ z@mxo-Yeuw>UZ`E2xWZH}JDKv{oPDdD+k1QGK)#R<{du=u=j&piBe*{;dt}ywEEl>> zFF=2XR;D8$!3bIlzA2ES`t{dCoCYLo40WVc?)hr9cPIJqRYZ3hHDai+gy3`XNH*vv z*g|UwS3@uiIoq&pI2@@KN>SW@-E-2R@11>Q8Bk;H&!hYPWRia6@)lWVT9m1;dtr87 zWCc+{6nJtA zK=#UPTyX@L6Z;An3G|#~^m3L7{2-35Q~LJY>GB-w7KI>jC}t98J>XM?b(^~F1&dA5 zq4U>%sZ=9GlYwm^>hgPeUZ}l#UPVboXuLq`mEx>GcBP1G2(b|4*}-o>&Gjw>^)hLy zl2J`Gc2p5pPvV%7e@ImPvd8b`imGc0a77_{Rc`c0Kx4VRQVZEzrdWKfpIgNTgD#u} zB(%NG4oMYrp9sOXfLJT7S=?Eg0&+zra(Sf}^c6llF!>StR;}dQ*PmK*z)1?1KC55F zgz(Y7Gn=QmNn{SH8jv>#BKTbD*)CEGW+-Oz`sN&@h^@RTM?0Amps$=WaZw9@LngYp zsW6BXf4~yTbW(Bb>9DTuz3Ca+Rf-sWXE&d}jmeUIEpKcSViqvU%g{wov#wq5S(OqI z2{%Nl>ID+K_-Fc{A}IJjCKLa#Is7YHQDOhGH~izSUzrI9I|=JQQkSn`|DULV<==k# zpB9TRl?BUxi6_Lqp3%z8`M+ct|23NJA6kfi-RNJD1t-s!+~P~s;rcb=OVZ(LCT{kn zr7&aqkJBt9EL=S7++SC4adkE`vV-%?xyXUm(^G#Op7wJHvyv<7S0X}4U}Z)j`6=87 z#FCLBVdf<#Wd=o?At#}bSJqqRD4bnc%No#EVv{RGbK|gHa5MSZwAUoLeq+Ys=^{-0 zUH5<@XSpj!Qy7&wT)eK1TaeEB@9u>Zl$8cl4)`bA2f z8%7{(tWDd`{ptC%{2h6agPns5I*pBc#HyRAAJCb`EFf-~JW~baZqUwQjr*G&h3-CG*ih)O0~4e+LrlAMHNq9*4i} zka`k)f&>IJWn$rN`+6dL!V&jkUkiX28yC=L$p;6l+U)Zm(9T4+lY;bt`T~53AOg_W^S4i=_H{5xyUm?(!Xuc9t$5(@NWrGZ#_5DC-3?o`5BhE zf3C9D`I(-v^jn1^9f!Hq5OMZo&VXC=^EeW{Loo(^iB*So3FHhQu=^=nAQ(d@9dY%L zG<#AVG4&9adm0@H^^my?2^@e7HH!vAce>YYI*bPtT>Tf0*y|x3koKW#+ej_wcOEA9 zS3z$xl2~I~(P?&$=sFGnx~JWy3r{aYkd7K~_uVXIe|9dI_8m}9lva4nJ0njBf9UvK z-pip>KhY+qam&vVfs;@2^PrM#D^DnYY@r%8)>$+u@zofZHd4@lEgwiy3 zO*{kWKf1boVFW{`x9MK|VFZWo_GP(aUaDuEVO)foh#X#^svUOtxP$3DF~Wuq!s6+0 z!%+213}ayBfQiH^LRw}t8A*`anZ@RK#b!Zr(+CqIa+W+z;#?ZWpUTqPuw(3X6cLd1 zDEv(Q+7QvkSo~ZjTJ+H-H}pn&+WT6OKnjhtk)(GsBj?GH+BTgVcWkxv-_5&guU! zB?t{Ca`|Z3Pfg&?mzXKa*OwH_$tlP*P!31{Gvp;Z6)Kb~z*69p4HHyM8SE4IM-ho6 z>KcENryf<=v$qW6;_;(pMa4hdNFml`yH=Kf3#1btoscLFXHc<8wz7R}INcM%3@%=I`!O^#ZZ&mE)HR4$+p?9ylw30hC1 z%I_&kT1(P-$=La3MPlZ$H5fvvwPXlyTgTa&-ojsqPxlZh;pd0#Il(ziZc|_}7Z!rb zePFH_)mSrPQg3W>06)xYNMx2YO8ejk$?bVILp7|k?k_8xbV9c+EjU=qZ1iG@=V;3< znq%P0PdqLWf}|COtLTs#eT()*XYNfjuXun#>@a<@lrBw9zmH3cQFo{ry8A_Ief_u6 zD)RcCF_LU==d6 z3mjZK$qYbgD#Ab=n;@msydtkR)3Z(dgSaLxQbhyz>w0|X|G%t?;&+86UJ}D{-ei-pO zLo)Rf^i`Mdh8vOyK44f&Y%;yxv_VR)j|$rkjFT+;nO0JYs5C`y$=s$2^C_WdZt!Tx zgrVBOtFf`eI#E{N?k{5*4<+DWp5`dXlb&c22C@Y@+AeL@EcMRi;9aX}zh!rB*0@a3 zj-mQ;FIM*hF&L zzcg1YXwyiy{4L(CpklZ#$O9ANpt6Hfhy!vu_Z^gOO^ajO5WfPu)qUqk!^$LfoQ}C5 zpS0VZ1a(}mog5_G7PBQ4-%D~AcXLj3qSP#4oDo{MTCY3-(YebhA;?xWeieru3C@%) zb`_$5X5=uz?maXbV>Xy{Xs=1idUxDK!%o&fj3J;^C||xU zP%OkG#2Q6tT2fQh8Gv6w?voHJ{-YWjqofg`Y9y6Ap)vp7y|`HxJ&ibp63; zQ*M!jzTtO&awxKny>#dxk)KK#K5{^LwOF*^x({`&)rwU@PLNUQIzp1{yP6*F?y`VGkx~GcKC=;A-^Kf!oyNb|;ub=@skOJr0_oi@&4yx3TCAi}79&httIKYw* zE7YXWkIx3MdBFP#h!hq@0NyYe)}9A0EGr3NwXK}GFdh4@$0p~oI72vN1Eyg)csJ}_ zJ3d2Ih7O`TeI_{FO_Cw$s)jIpn%h{bxhb1>b*~S)H%>Tx}SUDfd{?HdPKdkxl8 z%8ZyOrwLz2gKX37Dq68uw|s_f=y~A$>=LKO(ZH|qfLXog2#s;On^~#t0lf--sLcS5 z;&tcWs+TStI`i*jmiSyDk`r!Urd@v7OS^8_F)79AG+G^ezE$3}G!JP=JHiV)!pq-F zO^fbUQ)8)feM^{MHjcTz!>PkKj!F4PNHci2L$y`7bvoU2w}#@w<|^A)FUkNN>x+~u z-FBTUzH4v~z+KeR)bGQ%L&~y>{*8r>u??rTg(2A?v-CVqPn9!k*zCld3f=Y^f4B7Z zidI$UYI~V}sMUQWytOt>54Q$RkJY~n?UtY^1#mOnXtu)_WudoICz9}6-~rQYn76e@ zsVloe^Jm@e;ou0C10p+o4z_aZ`PWrkOJUDL_}RhFS=X35%&C6TtxPa^=t!u7WWF-F zVnD@_XOfj31C$@4KJ0-pj zXi0ZOF359i=JJNyW$gQ*c7@b;0bGM=Mzbefms@oBW=m#EVN1F$^~}KG2fpK7?oYU* z)5igk`X4l! zl1@?FqfL?K$RCsDNN^|D1l8o$#MPwLgw4nwe{)6Sg|R?cg|*u(EsIzLssmGj^ROkT zIL!UW{4? zs|u?PloN$Af+PKrAX$U10!ssdZ^UYZX7tSnj5IT0A8}fQ9IbNGu`3z9V}}j(#xw=S z38*ECK$>MpDvtUM78U3yibI;>4O2iAJc=XEj4lU3)+;=N4hG8`oR(j}xd?%Y3l1X_ z987`+0Y(;xa7Y$|5(W!^-9nE;=_2!$eU`jT^JAEf@RJzo2QtALpa@bCeDjrjPGJ^* z244T?+))h(xC_%py+TFu?sv4P?MB;t2$KhNh;eTt(h0v0;%h{BW?y6N$UA7E?jky9 zvFy6_<-t}f&sU@A7Yyka4?UuPihD-ly^$^YBwmBw#PI+j*q? z@*e^Rh~t3s0ysq#fZ|LkamkQ7IuRMa%roH*YF|Gvy!7Pz!aWJc$JYk3qNFhl^aO61UvE|p0M7o z%jKq{G2Vn}ka8v-4FaQK{5DarcSRkf7>tX!OksDy9Ha<$xi%A62VOQ41|tkq|9I`c z&^hxg*AjY-Xkk2M7LZ>GZ@;%tDa9AL7ZJ_>Ks%B^%;zt?D1B3UD!lySHD5|@gtno( zL7%!W*p=!kH|N_+ZU9%qR-;x6?IPQW+z3x~7C1^Plr;-}i+>MlBXGmDt}mvzR9T=X zl`oA}4ml@qU=DbldW5?9u^@4LpY@_}N|GaDN!5U=fv$n7fu=x}Bl$J^Jmm@4VA){i zVdr7~0Ly^%qLiflHv4PNU-J*;KWC4R6C#v0i3nf@jU9qReOu^&k0jstTW0RPQK=eKWE|PF%fbv#RTz*%-#5>jl;;GGoW@&#ZlhZ+$uwR@v@dMX_ zPiaVLcj2Z)X9!&j@&kc2(pAQAjBK*0mB;kRCHngd7G!G9I7XUh-9mtQ48KusUB~@&fPy`+#;DUy7~Fl%G2c zb0zwNiE{8mr(yWV@VQer?TK6N+SVC=$YzQO|nyO`Up0kSD(#eSndkb zkh_UbM1{ey1jJx>zfql|w$Da|4IQkO;-72U^L{mNj?Fl8-{&_LHWvNNp8VNM?JqX} zbe8B6++VmuxG7H4TwZLhGXM=+K{h5vCT}))#hf&y!|Ut2`^%0;PEnkZ+-tD;GDzH* z0RXe`Kz%-5G%73?2LphX8jGtG;R)d`E`{CH<0t3QX_ERBwnpu|6K%;(ip~XH4#Njs z&iIA=)Zr(kMUh|Tyq$yN(%M;$?AzCV9-R~YhRtJh!FW`591ztxbaGzpq_I|!1ON85 zpWpqso7FdB@|Zef`ajHlWmsIz(%^(ZaCi4WAh^3*aCf)h?(V@ML~wUWAh^4`6WrZ( zu$i6Y-q&{T_w0WA?2nxppoi0Qx~sanWU8vmn@=8}HTb(b3ETHXDWdmpI%V%N^1)3d~>%&A#f�Ws-{Kk{dnwkod4r`J@s(6a zLx+;Xd$tdfFY7D*`8z=Jik*pHS;?Ch_auhN0%WmLE z;DJh_!44?Av4V-fK@^+@vIi@63!7n>cF4gg$11N5if%>qO5uV1sxk1E_?1-csz0Na z`XUYsqz?6x)J-O-jh@AoN@NDck~lKz91|EFe_VX=8f(T=6e#3Bcz?xZ7o7a$tSDDI zOmDx0lVqrSdaz>^A*S%?Nib0`S65TrTwOgpXVpz;ZAGKg)N~>Bs+;debM#kNH>jos z|4m5T+3~ltzNTdD#h-(^Cv_J@xMv&fcfFwLm%#6S5;IINAn8u&B4GFwfTGywm0E{y zu^069u_RnXitX80m#ACmq4Edbq0?v%R9o+sN(D zbJLznxa^d6q_RFX`=80D&!>0st;8N93iH`qTC_Djh$xjnL6yV18y|*lACHX0{Op=3 zH?s*ANwCv~)If_)!LJI&W3^6UIOoS)<8BguOQ3)?*T1KxsLZOX;;C1u!_e1zn8ZqL z>J`S}WAaHQ2LnD4q1nLdS|DXL@ngFl>i zBF!K71m1XOWX}{kq~j5$a#MS2G_DqF61?3|o}{b&nVq4xNz%qh_eQS_SurX~VbhKp zdCy3k^98ND>2WX_%Gi2;?DP#DG$NOgQC{e<$V>D#RQJOeTLb7eYCiUGI$7v(ZQxR^ znD$F_FJ)}8x)yT6JTh(f=VJoZDH|`^iVOHb)lu!ADHnL;=3n$Hbw>GfqgLGR{5-}7 zR)I4!o}6c^;|_f0+X)q*(wjZQhRdP8H(fWY8+JRGDp(9}FiY$FU57t1=)1((XZrVL za2GYUq4siYmLjvZjZjzOtyw(|#M>PHYWz zV{4%C#c#~)$#JieNZQCmv8xceGf^pJB7uwma}y&}SVA+W>76<2 z$mpOVoxV0}do@3ckMrtw!hYy`F*RpTJ(Cy?PS1~5T(SnJ?;vOAo(_yb>CLn1&BHqC z+a>gVs`2ee(1BA(tkCdsg(}vn1#EUA? z=1w#7^2L+~Pm|{;E_QDJ`0%~ch!xIaGCLB^3_BIhb;5V=!?y&FV`q}H`cf>8ITFi{fz@eaO z!1PLm_lDskqi^gkBctAw`yD@RKAqah7EI64jFl>MD{>^ZQFhf1xg{WGfYjmHg3OhQ z*AfMJWTFiV+|9;g-;rFCA`SxOk6uW5N3xHr1y2traal;NqRB2L@wCvm#QTQ753neh zWTOglw|Y-2K@J#Cn5>?UN%MAP8dg?@o2Q#u1bpUUC0}MGr#r`qRW3t z7xPVkTPw1#t|zKi9W#oCfE}S1mu1fA^ScUGnwu#DpIa$Iwo2pa{hb~#GX_MFC zHp94v4GVGo_S?|QWkrv1mGVRPXb2Zd?B3tP;p0WvLlKa(d&gTWSI<7Mf2P~JxNix* zy5E3)c1n5jjZ=8<>J%adwcTiLX%Sk59K>=UBXhtKl!uh5zcrGwQ$8qVlx8+ zy&t3VMbKgQddiE3&GBZeFVSA9ZcF;=eL6~>;HLvuxgv9KBVHKD!7X=uHH9VwD6&cY zlv(6%Ux@Q|G2_nr^9TrIrb;<3I+JVIUtLi9{$N|zBk1nfUXNgrtIEbaY(=vnxF%lA zF~xq}MhX<7Pk@@m>Yb~R<7UkEwYjR4Wl3x*7L7d0{1<)A)`lVqW7{cPPlcZ|$(z9& zC#E*ebMLJs%*{`u1i2){JhlA6)^}2rKR?*4!-dl3aVn%0V&CL`A*JMI@@*+4)`_Ti z`xB4ubNEm-e5y!w$==>HNdQp|xEbt(Ivx3%G2k0K8cAQZSQ$!W3^GDSdepR#{o>ru z=_08k(*n2*74i=|k+-xA0iGBxs^NEF&rLggmyfZz@A8n5GGeMx@BAqAa`6IF9AQR5 zBGuYiZ1CkJPlmN!Hzj$NqI8+?eC5-fROyKY_ze$Myd3W9W2<7%)_Ex_9E6mneM}zv7~c zXufncoiJ|pa>7TP7*wmvU^m2{)vn+8Lr|ksB2kCfTrXp0K7T1?r&E7V;V->(Im}on z==I#*i~=_OTKU-jRqNKFxegR_lyUJjcL!JR418U{|F{h)_TrV%qF?~NM+9>DJjfoS zf!EybL;>aEI9*sDfCb>sR||$oi2i*)B3X~NeF&{%+qX?-Zn6Un2Lp&1!G8BSj9I8> zVNY>hFstAj$^hI^g3N=*^oUFb9UgBkT=(=;K;5cx;LME317+^>dE5>8U1~jDrbk zfbX13dc2~b@2&EdbkQy)2rT;ow5B)s9sGhJr0L6l@J{}%47;kUxt#_XH}`K(qJpuV zIg_H4j<&cqy%?mPy@|6GgQ$b8+3$-G@0>X+*>B$+Bp1ro*wTfJok`r>#nc><7RA8A z^1GAhFK;Ca%dhuj96W4foZM{sOd|j418Fmf89PdwTUow${dMIp-{7y?I9oZoIyf`Q zxIzXt6|uLpH7A33K&@O{AjRo_m%WG7x##?w6Y*D$)xVvHf4U%@-OT?iTmRQR$=Lpt zz$It=@3QwSES!*X_hzo|U358rXNLXqbpH3B>^#5xwZEPm%xq+AES$){+N|uqoTGpI z<@k-TU+>vCemRBN*tzuoa+3Z>Tw6K+dzzfwOcM4GHz))Fkm=fs*t=N$`TkEZ|H26S zuTlQ+-?DL#vHy13GO0jj!2UbU4ASHwWB-@4ScQd|os9k8{$>tVGS**{hB$k9$o`e! zrozGlS?u3=Y)p_gJK1lSFQmhNNI_%&o3~qqgM|#z9=?bmB`WURV=;&w4 zH*+gi(PT4@SH4JSuz9nKXXP|h_3~$JZOt$Yr;I9M^C!*Pnl@Qs$yDp^XPX0aO+-=W zk!FCZPL?|dMu}DGl6{|c#Yv&u2Wxh5a*Wr>YZ|o*ewr^|c75y2B`DNCpvUW0cEWRn zK{{d_npf4rytEN$#-07w_d~WDgd&bS$94kt(~v@zw6;F@`%b_8Y0TaoXh% z5t)FGBHpb~_*DupLND^kn-kTNRe9M2HB5ZV&+T%xwOL;93{YX&A%?!G>|p&sg%gH$ zn(E;N(_I(M4TY{rG!}!|W`_+I$I&&GNRG+)!AS}e%3j3KgQ^YS;U!{pu!p5>6IdR; z{6bm^3r@zIi*hPmsSVoro`Q;U70Ftb4T>bLFE*L|%sba_osgHHGN%I?n7dKDe)>2f zG8Pag`BOx85gN8>cbvM*i}j~bXuxeaJ7&r=4BmRpg9q@8!-PD~a8L+$zRa*)_zHR? z8@D5JHhP#X;oy_-+WSqqpf_A<6C@tl?q#_1mf&j8)~naEBwY{K{&eIsH(`DRm0W~X z%atJGvm?Es2T5b_ErbkYl}5u=ncTqfhAHHsk}Rh{<6(0Bnk{DFq$ zZ2Rzu7kp5vSx~vKi8a*cX~@=EN9NBsfvPqxSuf`AXTu}4E}_gP=pLjOpT;Yp^|0|^ zh#3mm=TRO5Pj+}Ff3BNG+F2jzK7RNRa0itSY~-0=meKx(o9Vcgb}3zmvR4{+Z?HyJ z7RNJhpnANo+Bq2PdLfo+nr!6;9ZfS&0f&LN`)OA_x%0!KPqwJ!( zNH!X`iXKas9)P?!*_Ngou^%=(I|p&JNqjsX*q7|yLZ+x0q&aCcPvQVm`?|^X=tc2% zH1Ppc;#RCgtvQNiNXSbHpQT*bFjRx~OZ15Ii{^efQb#J+0Wly7tINPk*Qcjn>h-=k8;7oriKg@RQ29c>UAOsJWI277~TOzxz>`mu-1YOYNH=AqQD3=&{cmU^F z>GX>T4e`@Dk_1uZ&SKm^85d?5YC*gMvYH!F7#*2)g~8UOS{%5WN;o#+p`U;W1}-?| zt#!ftCJD_?B>C?mhoRk}4ukgc0h)-R?^8b&>fOEQ{oeQh=u{A(KznsTmmT#L{xTQ8 zdLTxJN#UIe3J+%L>+q%)?gBh)3_b47NglGV9rhv@wA+_^sJsKLNjGs7$bb@IC{3tT z?KfL5AH_BEe9nPglbvX}<;Tu$Hi7dwR}HWvm1ND8% z6HJQ=7G6=Q80a7r=pV1)j;!ZEud%cz_IalRQWizAiNxQles1!WX6mF`kWFz`ima*> zWOJP!W|69OT<6he>NNUU(9nu3nhLK)bL~=UZi+iQA`)r+TEyGkCR!KX1f%$JKONK`SYe zRb3%MLv7MdfGjA!Xh_DXXogxAi-L|ftJyEu zS+QPHmf#oBz3V4Ja`1SAKqy$775VV7Cz#C{{^&?|UT{)k7o3$;>9EUYMEw}3h~ zsRrR~M^ojf&n|_X?Jp8r?IsWA&cuIB;JOg}`r(DKatcf&t(_)j>zlg4)wk;N#nki) zgk?Zv6Fpb7PhWGeoE8fUp(K+_0uv!y@_n!~l03`|K>j6>271Gim+-(0> z#Vc?xhgSNJ9kO64@}f0^xC-n9C|I|~uIOZf87H4NrXG-P9zIq!+pp348<$R~?I%;) zTVs-klIbPWbMkoNjd$cacX49{f-#Dd-oCr*VYDNh|B9|hu$E1C_uhA-Q3}n&uf*mP z$9fYP3t{(&2jKKU1;Q$AwhU?@NCNU=kWV*!cU@jLo~$grGEI^ko%k9B_SSbq%aM0G zygrhhMrjUZrONYG?Im(iLx#u2k_NwTqf@u06T(_7&E z;=u%G>zk?y*iZ)wdA^gnsVi}EiLJJ8D#UK3lmrJeHp0mrN$Tu{UA;)9#<>cXP&!?K z*|Op5Az=eEIsSQNzG>6J{1`@_ukxpAKQZujrfgn)hVgjahQ<(PuL(o3VH_u`W2SI| zv4uSf5GEj@_0@M z$%?nG|Z(4ijJ}X*Vlb zZ6a>91ldWELOID)L0?ptjxfy$#i;$DQDM^xsrs%kU9Y}hHyc^HLM+vg$ZP)vKrK8{ z5HpMYRH39lk^rKiJd)t+LI0T9mt>0>9IRVcFe`hGC=^S4Y0@U$uXkzZk;E`xiSL(f zIy0^um`dWVHx8hU_rk~2a5IVqD!$e3-69{VMq@7b9teF-p~l3&F`^(FvgYwc3mj=S z=+njpn7|72&e><0*ENfn-F1qcPZju(h_09Vb&A2Flk|nwH5D_xOB*aQWUAN{KC>!L zioj1sUzrb?G(TGknY@_`c|k)$)+1O5t6J&BeE%pG$ZoHtgs)Ng742iKk*h5O9*i_% z->xj5#AGb_2^TMOfe3GxeBFx_rPP@3#(s;nFnJIm4ig@O6T>ix`KFB}?y07CzmxWO zaih1$F2A!&mk;2k$Nx)$>+_sap~aP1^NZisNzmLGwd|L`UcpV;keYm06(QiFW90+j z6xdnk&V#xVT5n}-V{25gcJQJgJc8d94dV|U5kgoBCE4_CGU?423nzAhI&H96i1#HZ*234sS;jL@0-|Wje{xN{-P}95lkYyt#C2@iv(!v zw^f#%a3p=b+Z1P+ysI=`b7ljU!l8__`ANEvyOIvf)-q#l`YL_*(}szUeMPeLu#FSG zwnRqd$FOOf-soX8GX?BYO}jZTw#SL#SeDCnDxT}g7O*B_h?&w|FLJ9je*v3$urb4O zy8qTrq~a2-VnfX-R=+BAxJ(2aaoCA@FoY!}gksFeTR(644OZoH!{tlfxh_1((}}3j zrV3c9^ZNxkscw@_%%Jm}=Tgq$j9_DXAm^4S15qfv+KIQgJmJgKqB1M|O2_>?@kD~0 zQ(w9>fX?J0hT){33|)Y;#G_vHbH2_oWs721&-KV#dkG2bSK_W10ssrG#mhvVb;(yk zj~FV=RKy$GT;(dKSXWB*^z{_NL_Yz!T&+xz8*kL7>VnLLJ7%hQkLJwK0C@ZY*TOp8 zLGRF_=Uivdef?BjUH9o#e%oAD4D1>2VJqH81Dti0y@>iF>ka5%J<} zTBS^@78$Uyy|o$(M2O%IQ+q9PnglG!W0iWBRWh7*;Nu%abVXxTfk8DL1)o(I_&WbQdHU|Dx_hns>Zg%=Kb^AV2AnSXF6yUE+Zy^tEDC;#uBz=9;Lxo6IUQC19HpJf=I@(U zj=HqB!R$v;wli#2YtqZnSCdx#6sl6QccG!pX3|S2zc*m_j=&Is|*5VSM?CIy}Xx z-kGLSwmm9s9<*4wNob1RCK3~ZBHG3Ji9&8^8mnV~6^6OVEjCluDX!{GAVJpPS`M~T zGeiK5_$o00lD3T!-}yLBio8Dx0}5T(pSZL=lMAx5vwNR>8T!ByGSu;SN;*OU%f%mpO|xbJ zu?Cn;PmR8MQ$zdLOIqzzHIHI_XdbQMaBkE(&k=7P=}|5Pv9et$YR3$ZAnAzL$McR9 z^VzpO=|$&`WMfAkjV$k&yXV05d+~p%fLH;|G6AhJ3g2u(SsGvk?d-)iZ#D&8iqAT9 z3M_@(Nzm+{cMX`UrU>Qwkw{)2%pW~LMF}x5%7`>xXD+c@3n$k}1bZ)LSZt6sJ9(r+ zIk_8b)_5>j5F+!}-5hwN+B<|KU@TM^$b4qPjMX79^t3*i*V?|Fm>W1Tkug(q2Y=Yw z_g6=V!@Z9hIc1hbx};ZOMY*OIsw0~ipJ?Ed$DCil7FXG9n8q^ZLBa7dw{}$O;ZgW* z^NFt#v9-ZrYwWvyET8-yHg<*1>B6E&aJs`s&Ft$}(^ukTo#0!PigzH`RxP~i5PgGx zaTifkBtiBqMLD5Qo*@lNXhw*iJY|Q75kOOe2=OnMvtu6DICU!(XqkC;#*}PC4r~1d zvd{YZ)8rSiX$4u$CYL@41dHw=Zb<^|C8xMsf&p`XnP zIZ0#K@8pkYTeYtP9@^Ux)mlmT625+0ZC)|lBpHGv4~zS9QQ`SWD6YrZbCRr8+^IEO3D-4)|AY1EWJ?Y6OQUXiC|?6tmuppL^b8RJ8uF=t>-IcD zZaj<<%U7SQJqqsVe)!jdg|n`OLqI#L{=3as^#%KyJ!J< zyw<$b0=szq%7U~%n`_-!!C#otsR}$^o}MpvakL!^8El&=EwKU z2*n?rbJpm{N+X2}HPda&u3Y1tH?Bg^KO>s>28gP3rp>jH-3V|{D7>lS;b-VY{}J1k zpR8_zqKb(#PEMp8`BF-?V=0)gV~8Y4_(w!Q)7pw$%XZbNq~7STd>^MCJl+$=tINQX zItD6^b-B|GyI%ebJ!CM>G-hM!0u()?K!#Y$vwd}#=aMSY`beikp_V0_x$b}l`5oP+ zEu`4a@#{?oJ2@x8Lk}|Q(R~m17s(i($rlL2*FQXUWbw)s;lWM_+j?5>B~5J$jC**t zp(IjR>B$nCf^eoTOL}>0VlQKq$gI5$XNI=LqgoptuG`>l(S@8xaC36fyUqbfV7R)B zKwMP=w8u<>kKWICrIU*DCqV(scHJrG~0aByCzgq232ZWk~g!BWawxnH^%U)t0Z;0vye5+n%dK2Cd= zFVo>q1Wk7dy%8mV-(c%|WdAWILDrSlb&3)^PU0Vmg%F^1aEe7Ib~tR19fozb%j+I2 z6pTB-aYCa^Dr|mU5%q-r;mj^;`mBNt*1&dghqJ!lvx=b)kbtlDrTM`>bL6uV~F4j;fa?0bBcOM>93hXNBDeya6V2E zv3W-psmh`hTQ6NrT3g4n0LNaWYNk#lSv+Ovobh~=^_1)TE{NoCO}w(O`#R{$Q+|nN zW))ZPhV{@{ns;xwog31(u$uG14|WX|MK>X(L(32S+!9^&P`E|F!CK?KrAV5=_G}Zu z#VEQ@`RkO7joYS!3&e86l_1KHS#xcUP>z3(E%mLX999d z@>d(k?`Ga{D$XRh^knwg#5}!iZcV`5?|)mLvmy367m-3cA=8BxgAnA` zUgO`oakggP(1@Vm8LW2a98xPq&buo;?AUw%YKaFw?Lb;6*ooZV?IqZNvf+%3QX6cA zY^Io9B=wnpY7Ga7#>@Dkv1s4q%1=2tDvI6Z&4a5l9*o>wzK{SkER`EV8O%!%escKu zhA{Ob0F01w6|qlRtALZZ-A#XDFW(6T^0;Vekcq+ycseO*F^6xG~7Qxxv9JNB~$`|0LUDnXwM=5@PIQ?GCqt{8>a=8{T;<=n;NC zyfhQp#=F;xB`!cz5)%%$rc~%BH^56OU?#m>R7PO9b)IDUcuUl4z#o64L>Hki8(xxsmPo4I*1_ z8R0wF0}A^VoK1U@DZ=}nXpt$*L-ef%-rR_Gm1GdZT8nh=CwX087W|5ohFS^R01I-v zNsSM}L*sQlLQnXbawSl4G|%lR@g#1`eDGAKex$c;^%v;Fg?9zY&tS*f&AnkN<Qc>24C9w|epo9R(=yHIfOKVH7o^2h=;ktpfE?avXljS-ZuHKXJ$9eiIv5 zT$szx>ALedrN=fSSB!j>3S`d(u%7ju$wp+} z7A-FpRqfbR{UoM^2OZ0PI2!l0C0}EZ(|SR4V2W zd}43O!i&y*ZsFlC8{)f9TZOJy=cOwHTQAiccrUF|EQ@~-slMTb+XhslVy~fK8eJIc z7IHn&pBS8-4X7qBLStyIk5cGm3&nRk}wcZIUxocjhr&gVx zNVCs)%?P7pLE>lM3=6a4Zi@TY%1DV}Hu*$}F)^S#8+GpMZK3(2i)P$XOirF(PPbWo zu6Y{Z>hH$Uw6CM+pVAt)7IGX4lE?G39+iQws6S}AWap_|0<9bv?W#3JY9!v#cKnsu$7s@RVQ zi-YUzZnb_OiiK4Y-C>c%H?_uoW zXfj*-@dz1JVxHNnUF4l(S}qP6q;x!A>^67>h27*WFdK-xI(fo^&Lb7)xKsZD8)d|W z(TfJ(BkeS%p}@gN7}vu!%FS#W6#V|)h2AJ>|0~g|Tu!5?Y@s}ET9E8MuUfQ(+~VtZ z`^~%Vz%Mj3Rqvm++Ow)MH%ZkXwGf2AC?Tfxo!#K&$+3|zLVZef;^Y1?B1@GUu^T$# zq(A7-N4K^_$!f_sRnnt+Di`%`k9*&ddH^}OHX~(|ImXEnm1V9`EHJ`CygF!)$Ay}QD z0C$3d>i6DK-%1!;eR!{1VN*ySr5*?azAg01p&7O#?2PpwX@^JtbgKX6+beX!Qe>|0 z+$?u-=3-tqp7=4@DMA9u35hQ5o_Km^&>tH&5`^b%^j2W5@2xi+fVd^oRK{CcALVfAA|)RsNuQ9P$p z<|dc;;P(Nh=r6v^v}#+%A8pYc61X4>TEaS9z> zdW4uB4L-@8_NkAFRExQ<>1b}`TS#@>^^#8_CbE{bVx4RC;dRB-<{0Kj=30%Ck|b`N z*6U({4Jm7poxW>d6RMR2tgOG3YaQXIYQM#why6Uf6AE{6V-nl1IioUYHaF!uVS8({ zhIPYJG4KdXLkE(CSp(wqX z4Bd2N#c-ix%S>CP^RGVNF>eVQmYKVRo^?0-CzZdQMza1+dAekEshS4k1J7VS)emH+X0&6C($CaIAtG+sId z4ad5^nzmD!@cUK=K|OH3^_*k^YN7?d{yZz|nedo;f57{cj-+|1pl?|LBlhj=zOQ z{1GhjJ46283Fc%hEX-_wCZLOpsr@_sT-3_dMakS*%)!pl!TwjA3pdkW=K@25U)-%s z&83`;z5W$VLdM0$!SwI&7FG_fztYvg3*b`#iinwmi8;Uw@aq9y0*C=n5D<|O;Zcy0 zkkL?4&~d16aj>v(-jb0MP_Z*|ak4S8vhs?kO7aRQ2(q$Do5(0=Xz3g1b4ys*nd{i9 z>gsEQI{=7qFJ3^cy?8+Z0QUe$0e}}UFMdCM4+8o10_r6+%qv(pcmza9hgviM)Qgud zp`c&Fz(7MouKGc)1EA4iFvwX%USTR5!%{e5u?8jPz)^};bz-Ybo>Q@zI0wTc;Narn z6HvdVp?yQg&cVsW&BH4uE+Hu;E%Q!QOPCI z_Rj9!{=wnJ<<<4g?H%y`0lWx+zz6^c0j^VNbEE!0dC_NFysju-I3&=I`|_oN<4T%K zFMN?RFd+1C)_v|KgW_~bzK-m~bA*=_qoDAUD!hCz|O>$4H+X%c9U zfK2qHf&p^YH$2+FD4S4bexR6Hmd?rrl$GjFF~%zQbDgWlcJ96(X0Bw;%a-vjdUerW zc}u`L+i;4ImZlVu6fhOB(Y28Hf09}s&VSutLXy6 zkIOV6r+MeS!?KMs^%VM#-sWnV=`Vv8W>JwkH|E+Rk5hN&)kRWrQZ==SwlaqLk>~j} zt^NYvN#}E#wGf(rpM__|nxbZgDYcFSioaf*FjdSmi@ru$(c*!-jg>im95hua4ns_O zrXq*^KZuX+TM-yQHr)QO2?jjCe>3gkMQ-g&Dzw%dr|zA3U-4p9v@0(+43@ZYT<7@x zKk1e}q8&61282a3-AXNhCZE%}{Jy)7HuuZ7>~TL^2cSlNf0B3MtP`FsS2c5_FkzPj zvGY*v%{*-8&Ag2T1A3HE7pa4Vj@QjD5eNUk0 zc77(LJ9g82R~#yuXP|1m_?Bf~&$^ViD6@+fho9s)6tcwc%v1jOOzfJ4X*I_yG1?p3 zR`~Jl;YXau2I?Ra#~!E5mC}{IB!`VPv;$15aIG(wrpQD1_@ONr@Pqt&9PayIKyP;? z>GdxJVDt4DUa|lkK+VHoK(@Le#-8vj`2`hXavWLf2O@l|^Kt>LfH0l&+UAv%+Q&-d zQQ-3g(Y+EFfB+JZcm4F|uF!Z@TezYRj23AQ7MRfCFSJ;GH8I4}c{E*1!Z6MF{kURp zdfM&z(-AwRqy7SaOqRorny+5H%9^LIE~Ln}J-o`6qsCG?ksEPIQ*2@LCUv|*du4D} zk8}lpnIjb&z$NS@w9ApklSJWaTS<}i7n~}CG_oN(Gsm=gr_VHj5}J=BwZ)!EQZwJ* zZqx-YjUr>bBhEug9wvD)*wI0x@ukSCLRT-*JYS+%w{kr?5%bMiLO1MrskdNC$pNqV zb(NU4gZ($T&1Dw!Y%1UEhjq7J;al&z=F)?C+(k1T9jy`SwcD^SQvK(#d4WFjx_^+1VIN`t=jN|37Gsw)AeYrj84}kM#_bE?z}K^?av%PLQ;! zwo#GseJ;XLf}?+4)XYDLjrNG~2NXPL8o6*5kAUHTB0Ru+#-tf?UVjykuuPNU=N9@RG~I;W6ylV~3XU9I`I zH^@4Z?2kUgee_PupECv?d*Yadcw3!Jok2|1ZCY1$#ASWs4URoANN&Zoe!Pc!y}ZQR zEcW%aS1o(XuU3YG`kVt0zUo&sHqW?P8O3|+>U(|6=&;kzx6Eu06Zx)Xjaa5_{h+73 zJZc|{_2qN}>4P8MIf|ckd7aK~Uc~`H*iH-Qx$Z#E5>?QMQOPiyQ&Kt-z~!n`U22qw!bJe0n4Ewb3)ecaUS zD!B%H3?K_&(JVj3Ih~>pef&Xd>+Pd<{f`CJUYx!D!bx2*A>(|EK_#$|waq)T=(f;W z73IjR<=Z_Ghpby}XQT14%abx#hOVWTGvteyBv= zh>)Q9@+izr($LS*oc}Y;kN<5q>yX^Xy+*MJcVaL;+Cnx;P6*m;;Db4ERZpj~qIj^`udl&JKdmMR4(d;r5>16;36YDle z#kx>OtGjw2wSGn3TeP^o;(#tIrf0;a{%0Wjf2Y~KmChrUeVFqVIs}(eKq&F47z_wK z0%h}le}2gJJj!$>)+N2^%K`)7M+~o_=Y-CQ0%A$e(|f@HVR=(9;6*=hrf!ujZu1aN zGQPAA!tYm+=(e}0_6puFfB{9;cU(ouInO-?5k%Ffk4L0o1Y8f)y>qFaTGF0UkFflx zg+e+rsp`S-)GlEXZ~cR-t{>5T3RYyCneQHxGY|9a^!xz?^|^Yjy@A>dnK&%c0&rl! zkx5pWzF)lJM~TNhxInjMPsqPO*rG=YHg>O=Xf1Z9@7CkWJ5HT|mqG;dwHfwyc`0z@ z^XzwSvD(S&w1W?td=O~X!oh%jYA_&y3JlnM4}tltJK!1v3>d%&xPTzgW25~6K42SO z2$(9g!FRs)4BdVSo%JM7dY%E1#leR6P>P_}@j!(qE-*lZ=_!Z?48T;C+G0W-2>Pn} z;pOv=xlkh38Bq2b^#MWT0iu$So`2mZy~YZ;fkWo*1K~~=y1Cf zW5adl#KevSV82Q$6|Z|WbW2{#ARVXpuQ@C+rLzsmR3lZTmNd6|9Z^dVMe(C)5^!Kh-*cI zO$>D89B{EIVRKztq*8^!Z*jXIgWvrevW?vEd{L2 zf&m0VHRS<&w@V<elXV0{Y@l=t=LN>%f5aG7x*29|V=ohp#&OF>#CXoiTl=;6c6gb_X(u;yWCp~TO5pGly5P9j<_(CCEuU6sy#CcKhfIrFN0IRA-K_)5Kf? zxRT(=J?t0;ZvmbcjngZaV?qtUbTjU3(8NTX{AmT)EM9VU{b5C zK2Zix4~M(K4zlrk{%q{$067Iak|pjm;`6fyYFEv58fR5y+#8gG_)*FLuXt5Wh-N@f zF%6QePz1GBfC1^X-yt$hxfeq;jZ&#BeO<$#8Wbt;Ex!d$CeHAV5ML;nG=s6G&&95& z&vBlSEAff8okb`P@MNP735KQZD()be{TML8aW3_cw$pj*1_ltX6<|X6kIkgW96kAN z`{TB;)VA(rh0DP15BB(L*|G|bCQ0$CfQFTJ=9wlduKK&LF)|-WDaaRsWGBo9p7`2q6)p$k%nV0B1rt!}+VBC|3Jd@uWkFVn@`33Y3S!GWy;3~S1ED|Tf`SMF zKrd;4%3uH-C>p|7V}&4mHR*{KLN5Ul5T#!d!hHh=LD+5#+3~|aF~}m_C9#ZX4+8lR zbU$G1u1Ztm$4St2&k&4Fo~F3oQ#LxRE@Bde-t~L4(+)2U`jI{FYYyJRt!o1j4(4`#5@_aXrjpYK-0H!TNn@&S7xXxrlr+^OcKJ&}=GWY}GY{ zW}grn^@%K#5CVV$NGb^oh{^+@DI!C-6@+C{4njpI)dJQH zL=N1Hwb)LB+pIG(Z#E{fJQ@^As33fgvA9Z0i6=cn@eJs-FaQH`Y&7OgKb*2S(98?H zc^W17`e0vVW5g57#=j=g72i*DSrOG=4cUQn-|ToLxUV*Exw}zEFoDyi;xjiXt7_T| z6|kR5yU7}N8XoK_Q2&o8l6=}$y7Na}|Fg53py4L1#G;0r;R!r$poZ!gZ) zmi;>_$7o!dG198_w+$Qo^=AoJnT=;sqm}%F`+lMQK@e8^KW>qQ5?!D>^rN#-TY`e9 zEFTUb%LL~AZ_N$c;9-`@cBd}sbb#4ffU(#02=1gi1<(1^yO~7hNkLw({KQgLUt`vU zm0d0lU*9{b70U+8h5%3;2oQh~{Bc&}dB#C+)8|}B+7jsW8bwn`A%OR{x%GoVXxn-Q zBH$O-?uT`LsflWuXcfIJiQGdCo#lQ|L#J=@Q|}!wn11H)j46Ar0M`jt%AYN!WLpKk zpaOw0kraY4ysGT7R>n0}-!#ofhw;q}nq~GJHqtdROpb2nBLy~-i|tuiRy6H1@xd7>p) zh)wq}M~yB9zzoCNxZv6xHrG<8{G5fE7Rm!+>mUthgD92XqH-I;7#RwJMLvB-V7{fq zj?K~5&%abG29S`EMZ@xlBsE{G#CO&IGMUN)Far8R4R2P2Ds2B$j6+{RqbJy8O}Z`> zGcD+Se-KDbu267klp%WdSH7PYQ|I7Qtk;saN0~S0BYdn_0KF>N$C-aaG_N^;akw7y z&81dqg|y`9$lyoql21f^+-~p7l_gH#Ou9XB|0XM4U($Qq8epzzir`h2iuDNuQtbXG zd7+DUq+Zhx^TvM~9Dg)4B#NG5b+Vp)bin`~8-srs(*uV0ggaoscW5wRGWPeH{RxD! zgefoy^lKY_J9xG+`NzlpWq542Q7$d(0pCm6;U@duFbv@7k$Bzp@9Eq9LjFHq+BjL4 z9M%ChCk{_L72bcCEx&F_Pad%C@DQ6w8=Fx~$+7&4y@L7KsH?zE36c^|59&x6l@IZ&-hYH+n* zowUBw<-OO@z53yw=%Pcca-2Z79{6#~G*#VF;Q{i03t`V7EH9n2rzdTY)DvATD5Jul ztE#m(8)4&tWGzhlvUcqrSp5_aRNk>^zq+uzCp|CfCHX-u_V%`r|Ec3;y1#mf>_3nW zSvXT*9!NOJPvS3v{ui+7d>IN|Q;Lkc4~y_D89&~YI$gic1uaiO^kayQ83Yev53sj_ zD9#YAv;$&N5(w3^$3GxwfdT8H5JO}sRq7e$ZNNFX5JV3hr33|k5dxxRZD}w#R4{q? zeLO^rZTA^U;1p~qWB&uUYK=4Hw%h0{21~-*W^aF#eiU$&7kh5Z513GaXlPKFPw)S4 zMlY(JdHWr&qGF}Bn~6$-qE3iXqxiR$^$XF(_Kak;@gohX+@?ehiNWzBvx{ByM54Z1gb zQLB`1FY}eZYq}%AZdzykm!r%Xez=KcwIflBR<2GQV=m)OdOA}5FQ;LpsXLVtsIM@P zG=cbQJtlq+XBJl_IVIhxEb_Kz{e|AP|Lc~v=hOI{WrLsLl;d6+Xsd^WA9)`%`o0!_ zE3m(WqpAPM#WILBT$>nx2}T3imQ^d8n(GlOVpS)KuBK~g^%+V@sTAJ5cP|6)h|;)(7}WlVWUQStw2))&MTO$$95a6wmJ zb5XtL{(?tv5TZQ_o`V5vP+_(8DhQoulsRy8);fRg&R>nfCi)Uhr6C{mMCJc9r9a{R z6B?|)xVssNPf^8n>dG?is$mL|60;W878!P*?xDQi zq{Ar(gqevs){~kyes*su4m=^R?0MPGEhIP3_f4S*N#4(RGdj9?Am5O6$|pZT8Xo@z z?8*}_(%f3~nPr{40L)081{cPsrl#mKahA(KN2jEEo;7t)kd?i9OZc2?J zFu(w^v|~E+f9wzXD`@b=9uD-*@jfJ#wLgxQ~lt@!GSB-Fg8#6 zy5>E=E}iARaAQV=TK@fhz!0qn$n82qND70jojGGmT~J=F1CdNG60fLw?-p9g%MII< zPBMiZQSDkk3VXG*6GbD2obDLUv>g1?#gO${W9Pd50iwROtMi#PG$&1PJg)CsCpFk{ zcCS~@+G9)sXIH&M!b6WSE_9iaFEmz|3VSav;o0oeVYgmyvJvd2j*FS7E66_i=;ypj zj?Lo*taG0G+b>!2CH2bjyPIbP=?l9ejQ^i&W4Y;V!Gem931XxtTZd zXc92gE&KkfYuU=HDs6(h>EP^8xWISUO`0sJaNQz*?L?4ZN^JC0j|$ef1n$9UD;_%% z7aU_3S9>sGRuy`+bu21~L{bP(QRdFBd{O^P$GJLPy>sc(r`g>h-YeJIaf#bK_C)Me z3M+D3GG(7TiB{Pr5EXY{#mDfh<$VD^g5A9ais zn2b1GOB?dMC7zLUz4Qw#SEz}Wi?2s%zt<(9JpFbGt$Yrja`a+$WRQv)ei znY9Jyc4;|Ex>ec7RG-!#qall3?a_$M5mnMGKwmt-FkvI9Ls!z@b*+*9!cn&rxFI(( zY#+GaE9hGLZ%v#+Jq`a8c{tyu=2-O1l)UYdzVuZr>87twL;+u%zd&YJ<^A;GPX zzW>sds3|dIY9iY1xImutpIJYJjvevQlWwZp^G}OzPn-}m1!5oezOaZ>u{d+C%fKNQ zie%~V7P+vD4>EbM*H@@QCO`GHN3wmff=VJAq)8uTyC9!JU~!-`t2fEvvUanACrE7W z`jZ-PO`;3!^CGDtrI&Ld1qz^7`;?}5AWV*6LP^ICPYwQ**71bv9<^HK$5T&8Ig6sf zeKbcF`#Jgo2YTYtsAep2R%+j z7mc_nBSed>9~yf6wO4O%d1QPBTwGP`{D%vQ(E01KFRnhzVhE04jZn+EJVm+vp!zwp@?b> zqLom)o8m_~A=%VVhv>ak;MbnAx2mGoy1&EhZ!rz2)~1JWXqLaf1l<%Ux_BLb36dV1 zy9Aw*9`2qkUMQHk-6nP1LkVH)sG5R9cyemR7lb&RUV5?VS*7RcF~?bxlXJAvVkABx zNQ_Z+Gf|Fsxc9gsKK+TmP6z{|Xhq7~m#e`&R&@7ewQKeGN~XUq?^=(Ty}Q`cSWwN4 zAk>MX?_{(? z`8>5nNjaI};#cfb_DV{PPLD<)yD%u+`MwsyH`7Qr!(MO3Ux%!3N%1x6iq<9QcWqgh zZSAFuLWOyY_W%oWo0fSf9a+0w3nTxpF38_{Fdupy`jx~s=O5fM_E1Db`iI_I0+h=9 z$ISMaW=>uQhjS=r+Xq9QfHzJ)K4_u&F4o)lvuD9KZ}&XFkP9(4I>Z5bqTy-Irig4n zX&BqWnKj$+3)V$QJ>CtB^kL3!n+dj8Dlo)RLktw7k5P684NE; z?WUFgkOT3$M(0W}8~F8XA!+Wy)XD?zPRa8H$n;|fjP4Rd{914HLy=|F8cd+~@ZD{J z)9XMofF6Y0q-Ye;gIOr$7%a_faIT8-tXeF2yEDTJzx-W{f>|;c8L>0%bRkI98G*_n zJ$B<9)c)+C-e;5*VDOH6N!z)mz%|@9M5PWaU`oB*>7B_b$=GwFGrx-J-hs`vY-J2HW!0pHKKnD;Y!MPs1Ldg zZAB?;8*JNo-(YU7=Pn&c?<^^ia2}+)c8ClF?=h|$4Ef}eNrLP^+rPaDOQBvz^?gff zZdidYMI3WqXpuf)E%tIs4q5hmfq`=!$;_Tf595ne7yEG}lscl#y9t_b9#No z(SD`wqIr#4;`Aiud-r)DR@D+tZPiPM*lQ5|aoIn10ok&3dhLvG&Cn5@%s#Qiv+^jW z^TvH_iAk`Z?cJ8Iw8mv#(g7ds!qfgyuTnB^}uv< z!wrc&5`1VtK4!&9KLlIQj5A-v+38?PMvk8Sejcd21O-yRh+f~@7<1R_6|QY;DePH7 z>4W=9<6Fx+nxRu>G?;q9W{5Mu0jRIc-vwC=WxhG9ThTpGwdIK!x$TBL1FB`bejdP| z{sZ<(=%Gpe8ea#=$_C-=Jz0a6iUmH2%3KlK5EENW!8~4k`xnV-A5p9#g#E8i&(vx$ zGV8M5p83rv?4->&mJqlk%dSR4sW*Su(EnEahKnEzx$qH}*DJ%NDG5fhG2#$0!lu01 z-^jtwH)D@L_-1u-r4SUD#nujg=)n`&>Qh>7LT;uG3J4vA-JUt)Kx0F;oCEraRTK^C zoYT6J4on7Wi&kMe^;Y4*c{^Oc%EP779PUqiz&*zt&72JaUkWCe(efK;t; z5VW|r1LpcKBP{cXw6%{m*k{%)?j_L+HPY;A9A~t~d1%#e+f4tw#DMG?|QuL?B&A*j$$L4?X_7LHrA6|H~2LZi(Oy zsa1E*d)EalbonaDzHpQ<emunx5PSKc}Lm`;==u?hNlsCShuhCzxTBb=U{#`8NlLn`s7^F;gl`vW?O*u z>3BBHbXW&oDM{?t%%>LQA!yXoM$n7K`l%c#+v}*sOQk}>>zy|L$4yZ9HTC^eNh8y2v#TlPw{)5;#K(zYReVq4!Sx zW`zq+lgF&VF^*xe<Pppc9sR4(E@w7ze2YvY!b|C) z9v&VTRi?f1JE_DLx)+z#v$@82#tDy4(8-gIcuqgn>|F4$idXMs&59^T9Gg^hM|{2% zGS9s4>KEN;KccTF{(6uXuYGdoDzmnBnP}gv(Za{KxDrl;7n+3LE~H#nUe9P7cwf2{ z=ix~8JLQ9P!LM+rmC6LzQXMMB2w*JotLJnxJ6s-wyCNe-$V(l41Bvisv(0Qs$cfNSzbZFBC}~8K&E2tTJ&;$-+Y7-HjfT`{x-fyl6r&UrI7xp-5`?hlNdLNY_)w*{>D4 zotjjmOTPN}sxzi_23Ane_JQ_9qF*VdaOtCVSIE+MP6p9)pH{|D!-5$_?&&zAlw;Uy z%`#akGvgw{sd4Jk@zttviZ8qIPC4+`1V^Vc!!mCOtuHS&iF~Q=67)Q0GKY}SKF4Xn zj8b{&0r4NPz)QE%CQU2HkKD_Nm1@AY3HvZ_+&3TbjmWvQUuu#k{}X~N@jbDW8pGz* zCQXJLYMN&30#QTv7c3$NGrl(DoHf@If&3cjZ7ht`hV_vkv%=0d$i z%5rCIeYtnQ7JFnM)@xuA!U4*ElYmL>k8#Jx#N#mt^@7?=(Op#&hO@_Nh0w;y=xsjV zVYu{-%u4ulGeZbeo3pi>5|%CZPW>NaKT8*g!pV=68=1yGPvx*{ zDZcu((IbtF_i+~M+?0;R+hyj>Oa3CMJN3VrYpO2q<4osCrr-FN2`5^u|SG#l(&@!*K>FZ zq?T1hE7saUR4X{mp3}hz8*zd#HxGRN7OFw{XujI$pzFO~bo6-7L6#86%3$0{y?}9v z|6{o7D@J`L!^5wd_v2C?cN41Unbq09X}QxUrYOYMD2h9ChU56LLV7EsER6=2l_NK% zTZUTA4SBQS)(PjpXLiRnO+%eYM50p9UZlq4VOYN4J$$|Ak5>5)pmL6`J-V?Sb-Ooi z%5D-k6Jl*R%yIAH-^%B>N*ULcz|ucqi{|<|0B`HoTpLDNnD%=~IInwH5)-~o!TZ64 z=bsJdb$k`JOal+F?mqQm?9E*3gInM23;C2zmzZQKM{~nU?D|8{Ik-4C;jP1rvR_;O zY$~tR-VSykhmC_8t6)>{KtmkoEY=sh8sjMIEw4UsJ>Bqd~ zPbesI8bN9H^!VW>Q8CW@l{*CHM|3MV zzI{D^mJvJiEUlV@mEDqH=*Hn$Nxh==={rZpXN#dF-ivHr)okq{Zm^!UNcwj|0+xAw z8yO00>#rm?tmbMZ-{ak|u`-Ln0VR6%NWJeVb`Ex^&*%K`>XPn?c~0=c+vwt3Rn;9u zoo<_@W-5$x-*nolxfz@Eivw(ef{RW)B2(5{s8S(d}JgtwA!`%Dk72a=Mz-Ee+W`NVJ~?pwsHt+jef zLWz8~^*3n;zsc4>LvoQXE27~QnQyHE9-3g@*IZ-sndQ~RB#_|9!=hqy%glIdt{Eth zp2oCARz}Hm!rE!to2DnqwXme%O(yNJ6sq*4zJ}}y*YF_@Sfj7b%6~$7DDI%{y$6*U zZKa8QyIX$sqxBnucW}6#$+GIb$@UXq*L>DEBF6fjGjBCrdXM^A$a%J=QPpLC`0z+wVA&Q0^oZWMT3rAocNy2C0mFBydH={SW_f%a9gT34NvK|R3 z9B64Mhi1iQswPp0(&sfteIXC&K6PGO>T6FP&>{1Cmb1jjfB#lRjNN=7a~2JVd2L}!j*M_q|t(y9KMUm9f^52m0zOj3>fS%7EL0@ExzOSaEn-u|jnUiezN&G|pMledWH)F! zIju{((7NOQc8Vw@;<)r^?ArRcv+ zlv~w@inLxa^$1C4Zxy?(LXMsfySyAb4#r+(U%6O^J`2-RPvkYl-tZceTs6Qri>m8b zdvc}ABm_HFg{1h+T<;cyL9lb6%ZwlYudUs@#Kppc;kBWeZmY9)CukpmWw@ z(i&bIsOBl@lJ383h4oq*nQJpd9dR%w%IF1H?#sK)C3kK6Vl$pSTq?P8%R6VLQ(OG> z?T|d}>%)?{;VV}|G@pjgu)a`kVieAOpcSNW@=a`EW!JtrNK!tnJTC^eA@XYfvBeBI zYrEMjd$#}Z7liSE$`Wl&Jf(1mM<-=Jh0Kv~G*Y_c9cUdJvY{W8ouAh}#+7pImPZO> z!(*l9lx6kj&R{)#v(c^NthYm&9~1f>^scxmkRD>sw~q%8;XbU;mN4ocoix!+e4SA; z4UV;IvveMG)pcatQ$xplXubOu&`yZ z+qugpLKH2S!zxPI1pbqCm!3}>5={2Fr)N@b*RGHE-hUq4DdRkT8aom{#53QHtUs?o zFml!eFel&GjVv7sX}@MGRGE0P9=zc~xAs+uc6qw(k?763kyln4Z<&=0k1}#nC>jJl zaT8Lo)GAWNvFfo^emVJ6TvfTP{mf8kPoA66=;Ty_V0W5h#2(%;;-c<C&8q`05GNK#Aq1AX#c-OmI8=bG!VwmfLY-G&zRXiAZCdH#4I`{CI%+< zcf>3jy6bmHEivYm8@yN~QYzTS_M|uYe6L==7xl5Y=^Eo5)jhJO4ud%4O#Jh=;NL;B zKVfG78f5m>zlE9oJ7o5^h*>-gG+^*Bh(SN2W_@s2(*E!Gzdras8TdaL`1fVt)v=6! zm%G|7(~Fi3EK85PPtdP?yQsH|0cy(Rb5LLW{OuYt%*GA< zs&km`reRGrsU<_C@wHOf|1o;2Q54N&1{sgZs2991*5VqrMP4iR&@O-S_ zba;vX*-S?r@A6BZ@^OPPG{HUc;#H;hb^RnO6FsB)zLm z^{k)sww!fokTbj0scZXSGyac}z*<0;khffndZSVZV z;R!oysRWSug4ofBfYtDQn3X&A`a7l^^{6r|J8%CQ9F|n{;Q!#LJy;k=y014J4FVNC zMfdZ!^`wW7auyY2X8W~+SnhtAOZj*mP3*YSJ*(52rAvWWrvD>l5&JMz8I6Hxb4)b7 z_&p^d)=N;FC7sw%bA2KnLvZ^!wwA zdoiZ9B5y;u2>5~>lr}CwK$>k2O%n8kAoc^jZr0_J+*nY^YMFEXLk#-o-|ty_gqRA7$N9nwZMby5Z}?* z5uJ!y`#qXC8bff)p5|-k`E9P3R-HGZ1OJgF3!A4S3(&AmUXoudg^5 zF`>=rKlJF@(@Yo04&<`2^$DlbyvFsm7}DGWjkIkc8*&?Nq3}3>^=9|t-DxeNp`!Hp z+Cn)8hW6zl0-692zhS&>w$gRA$p=rKM+Fl2Ns6N#UMPSd^F8>tQ@nD!KAMhj=^zd< zFF~rKlNxl?jTRo#nUM_d7;zp_Ua3iGT^il^A6JO~4W;{k{Tb}s2ICxuxDR)@J$u7Z zx`E@&Ld<8HneGh{t<~c}rPBnHpEp8RhndU{anA;@p~mjyAB}C@u{=Kwi1=@y(Gk|^ z6yBXrf>-Tr>Q8GDc`UlccO?fZqxTh$Hp5Wg@s8Lh{P3-6Lv)-SDoC zi5$_gJ{I-}^?m~l2W&TZ$J%;dO|jIBu}J!xJt7wD=i-gtK!Lhm!u0BRuCdW&3V=M( zO-a(-GTuP33?F(unrYwcz0-HSunm)ivy{ZK!{b{KCH!7*p_Rw-;e%3YH}yFeJc|AE zb|3NN;GVthOVDw$uZfHH9XX;I*^>bLv)8&zewZ;n!u)6VtfH^7;MC&@NmJQZqj{yJHO9=e zqNuLUgB-cPxR*+3pO$d-$yH(OD8;`%1Lka;W!6Vz%e{1M=nD0@hZhr#jRDUaZSs^) z+JSsIbW_^p%Ep5plJzfi?57gc$c}OzC5ebmDWKHf_|QHHrFA^jIGY1fg~!pB)f}s< zWgqNLP~?ky;3U@(wD`i!IFBo7`ZK3~bjUK|LPa~J!#o#?C`)qklSmt4Mc|1MTyl6M`dY6H&>E*pX6#}O}IoxPAZ{Vuyh<#6oE?PGl|sU%@2EI zh=#q)tcTn-czEK1hnJuZdxKk`pG2b6T4ttet9w=PdRXvPWj!ipF;`@sL#e<78M|EQ%3u9#$9)RF#m$m`Rj z76X22g`}d#A+pVySXg75mM=N-o|WTx8-DKPGsh z0*-bYlRhI(D3-i(UFEMI{E?~AcGw=y#%}G%^?J(s_i_ZC%Qxr%&Y!(LC=SQ~qxG1c zAQ z0<9gy&3+T-XfZl4!axqB6z0(6wR^4eln+zs-}kF^AT+gFfugixH(l-6;#Y4ms5SVx`iOx?FXywWi*NuQ*CWFUjjte9}NRuMyVr93ny#y6sM zv}?Ye*+5iVd)*E^GovVBq%4GSzz7Iky7cIFS)G`n&Mq-IYXBv~Ym|cdc#5Z}>#(zd z$^G~B=B6_~CrvP=1;O#u0W6oYeBCt{@Qd2nWt(ensF)JsAdYAP8M ziJ-*#TCI1zl(dKVS>&eKPs2g$F{R)}tUNHD&A0XVgcp-K`701s6w!AOFxs~% zJK^dC*(1bJYFey&z@olgPwp>hJ)~Q5&pS!$kina5bO25Iy7G@c(6v$!cTvprcgCF4 z?ofldZf`j@LQc9+Wh00}KrUz+sx)B>e1Tq6^~zA)UW9A*ML_dsQ9L=P_UC8x*lTD= za||#5Xb56%O_EizjiZ?}jbQwAzPLwakI?cG`(%q5^U$8w(jX!g<8~z^@Da?WINhq4 z^%tqDQ_`P)njwlVB3!{$3_Vyf)6r93io(|8HcOT` zz&mrmo|l^=7cmMHD8S!G7mjA|LTiT-sgKLg<3rBxwg~bN-G7Jdz%E=l4Mg6FXs(JN zhPHlK5RCmq7{}ho7#YszJ>Ne-2Jr*Ac#Q51J6U!2UGu;F4D(26&fBd}zLA=*cb=xb zl1e1XnM3xLow|2T#G)!vvDS2OyA)9sxBo=&gsm398B1H`4dst34sE{}kHUQP{)oZB z93u*0;LYs@|0rypSKJ#|k#hrbe5n#F>^NVV&q_qdYRfhcnR3jJ& zu=ElE48HDIaR=zvaYKOR5 z5;U_HCC%%&B!+`MvJy$MYd}|PT(`oLqsF_*qCxMYg)#qlZANU2KW4wp{{2%rY%m`H z-9a-sRmMtb{Q#&Q!gyZw{`A9Q`}L7a5Qn#bn(lyDk$;dm@q@7_j@8Kk?lbb-8CJ-Y z1Z2o5(vhs3=`8^i#sDDa)V-Z&yQ#ZL+ZS0jGy-z?(Sqi>0Z9epYIn(T1uaV`Dr!ZH zgHQr>`q(Y+shclB+5^iFev#3 zKJM5nTvVx%#}`@IQL4eTzH!pn#}0J8`6XyFJ|S_^qUbh+cZZ_k;!xLzZ3bZCidl%Q zYjK+sf!GPW|(7#kHMyPZb`dsdE@ z{4o&(xe0v)TCJrEGiitQm7JtSoY>zrNk#+eEVYi(@Bbq4!rHdJ(PAeMPj4N2-AfQb zzC_!+x#_dkc*SAbGbeB=Hax%RyVMr}QqRrPx!f6^jco@GoR*|p+Rq@8;}5t-9cQuz z>a|NDxM8(k=JkBuVO;es=m0fLn9Y8wSrJiot90+}GObO`6b@MVTME*Ny6zWg=eg12 zZSs2Lj%TYk6);iK_WN`W)yn3t**w&+<@;GTw1A=u?K*0gD0esLa_HlhZ;QUC;}i=< zh-l=!A!n)mHWy3>;&!EJrV9-2Wi1J2Lw=82b#L^$-FawU#u~aIT?Q~AgojR*d$F6} zJUdjm@;g2$;~bss@bCI-DaL7?sV@cPuP|F|5n_5jK{=0G2%0Dk6>yBBv>)UseZq)2 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%0D?PeBRi+eMb}=G*DV~Z^&nv4i&=J0!^_NX+%7 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

    bHoE=l89@luNr19 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%0D7H5%w$#W9mXiW5;fbTSL z>;q9e=)!kCr^IN1cN`uJkRvk?DMT~*$y(_Ir<)k()ua$yZpk6W+1vt)_z-7tk!)a0 zh;@4BoC3^DgukAFa-P{21mrkv9E66IVM>nnuGqB)f`Be>a)nQ$>Qm(%S*h@=!zJg& zj)u30o(~lAD z$V~0fOkec-&~RkK{vx@A$;s(M77mUG|3T04$!!zwr0aIskDG4eGY57mKP3_9_3b|Q zC&D|i{aHL=bgjCfu+ZQ)t$iN1v#jV^y55dshD1|egc@y1!kxwL+`s^;uAgO8`o2M~ zC>S^uDYsH&!$ZUgBHa&wsUz~e%+V(XR6JWG{7G=mLR03|$LG0zI~#crBAsq(n>6hr4Tkeoh1l2gIfjo9G$pDrBY z?gABt81xZ(OW=ko9M@s1GeETPbY)iNgV^KC8VzEsU*}tG)GH`cE?Y+At9(YF2oX?& zMsDRJlW`Yt_O$Yh?Xd;=CoJEcO^Khls2+O4wym}m{1!Q!g{NG9q$|lH`@ZMU?qwZ?yoxe z`O_5V6Qp7Q_TXB&?wEz}YyIg8I4~^;n`8(~`V^ZYaXZ-+8pUqyL40F=>>*|rR7UBa z)R4Hpl=Pn=I(~B+{Uzxc@=23kV#x{8fCXup(C)4BzQMaS$vgrWd3B(lr*z8}InG=xjwHLZDMv zlPU48KJ=DdK>d0yv(`VtGCt<>x43OMn>jNunnzBm?Vv_Pz$q)uE>oJG;P_(Ok){p}Sd*SoUvFpaC3G%VkYNX?Q4bltN6DIg`es#v4~WMDdXGe1gMTDyWQ80tDLi&@3qgR6`{$k+Y#D~hISTN$C1_i@l~T(rf> z3Q$YoGc4DL7YkwM^FV``hD(QrAgOxRfWw1Eio8s^gzx_LLnRBz^2@#Yg2ev36XDHq zpo^nuXIarLz8#{>qblUc0C+XcUIHNEQ(1Pl0Pa5LY**$Y=`W8GrTC{@(QyL&Xh0xU z_hz-7J$sdVJkqI47r>JMi7nvT)4O#~$aDATXM`0Z_SLdit%EPLjE=(ip|X!te21!j zcN-l{8J}{C46cRfV?lAomhfqtToce5)-f5P=_e5)V-f-DGj2S=7~=p8vX_m3985mp!SrD8M*D0*L8|qg zj5eTj1}p6@Og^reEfOqh=ahq;G6yK=&Y3EETutTR|8 z(Z!@IDj?9;b`>dJlBFBGhJ|kR`+#L4zOkY3H)u*DWbJKX>g(+eRv^{tDFcYs|qk&uTdH?2yH{z7G zIO%gj3-{4@l^bXLGoH+OoiF*kA1t^aF=r?Oo)A8opP`~{dpd|`zH79{@AR7+O(gVF z5^9OHb4#dX@qV$Dj_WEgwBf(5hY&F%04yIM2Fi=r9*$Oj=l5Qa)h6#HdcT}{2d&UW zssBubyURQpm>(&%rHG88p(a4mfjp_7qGo&nZb?lsG7b>sh-j_Zqm{hCR%h#3mm3F# ztW=l=c`<-wqv4gR7F=C(&~gd_nnfY(n*DVZtf!e>*o&Ak!iC}_ZXV>#2h@MbS1*dM zI!`wArw)x}K$Uz4{_&2z{X8yq760WT6z4A1$4NL6rtM*qX_6Q_EA?SkxWqb{&|J_b z<6K3+kkg7mgX{s}d_Dj7iA1?fuTBw9wngqf4hLZIJZ+%70O=YM;xmP&18Pm?4K)0A zY2~|}hQX!W3aRcLeY+ybR_JP?Mzo=A-$Ja)!H`;6?-zeS7qt|te!HF&kMvvU4OJa= z{i_EFaa>XlOSeRD2ZF=&@d|(e4D}RwKUIa$>?o@k`YFkGzIqeJPek(@Lca!A!P83% z@qsxwQW$^iD4?!bXp{T@;gVt9G1pVf>4U_)FZ{b&e-$r##PMxify3D;dGH&zL)%W? zG%zh5(ymTr)2=jaXu_4TE`J5UjJ~;V|26f$r@JeDxm4w_pG}Hj;LxtFOjYh{DaG$qeT$`l>3m5x%T`Dx>h zAamYDqM9H<2y#W8}#$!%K_Q_-E|pQl4JvJL6H-SdU&K0 z897Tdv2@ny=o1W7I>y2Q#Qd8V7h1KfA z>%RK%Z5uqmWSD;>o!*F?4PCYI^PydYM_UwHR_=n%q7MM~w}DoD>e94uXOqcbUT!u( zH|j2ES?U*I>jE790Tz~nLcOQN5^sJo)uhcu7ux}89tv2kIe^)_U=Aa_d%fP>0H>q< z%x-Ot^@Q%cY{UPCglX7aO<=%o1W+}@L-=wk@B`KMNf@z0Q@#{Z%R!_8{>$nWX5ZB8 zBo1`0g`tpRJ&owObOKyppw&rE2_{F!GIlj%^{P^5)o#bv_Q}w}r{ed-E6~!_)j>E@ zUhz?q!4hMb^r$z}8a)iJ=Bk{c*<>cxi-^YR85?#+SH;*fB7w7!hcEc4>JAC)z+KvfYSAjIU}vJ!N)CD%)ebUA1NsKcd~nmqPM+N;gz@LQ_*y zXktXQ;9W2v4-*82WG)%-qm@so%YFp`!X!WdaqFzGHG6%sI%q&RK|Iln7=q7qC{Ot0 zdPq%d{L^&`vCEqm?HAC2bdiv>B&0cPI`J%oc8FMW2PEDmIJXYB5eByctA(0UAe5xgUNk+CztJ> zb7LUgR-JimhKHZqBTrLjN;7YMuJpFmBg+bU0wK4cMyoBTX{o!5?fpGE{}02PRmgt| z)!6^`zlUp&BO9fvzUy|x-|_HapG&+R5}~?mhZtH?Jr6O>iTweaYih7Uq>#q# zX&2Gqx2;5yX)ULw<^(Z`BCG=VKc2j$>nXPLi`u23aJA*i4FOy3O$TH;xYc&pw26X0 z?r8*FQ~u?DB=PpU{Op>JV-FlVNi6Cr#HKzV)MRyX&gDGO-J(u-mxGIk)||=w&~ce? z%H^!{JJ1e9dd-6x$sSjUt!@Bbj2bkG@(t9)k=@K3OouD8KO1nAwI5XCN9o9ZS65N; z7TP`qRqOfjAFDoI)siF~jm(_Y$FVC2Chp#RfO&A51q9LLt0XEE*cU87ZV3pN=Yt@2 z(*#euF2=_FVVWP~aPXsB#!t`q%m^8PQXH&#>)T=~q$*zz!O9Y0lU0@sX#Mu{Dll3AgR|1`8zY}@iSu3VpD~Z+n_}M7w%Q@>zVz0|B(LB} zXaQq&>H!aqP-MJmVw;^SAu+%xo)eE}vcQl&BuJMLuNYA0WMX@{{%B!q&Cy&WArr=Te! zDYwqMtBVFQd|iI1 zC?)*v%{V_>ruuX55~10x8y@l_S0nfOAHs!(=Wp_u?V&6qW3?6_YW~3Bd7s zWqV$W1OE?iZygn7`uC3yjfm1pgET`32+|!x!vI60APv$DA|(h&4j~}YF{B_}0!oY0 zptOV%f+8j9?;70QXFvOUzRx~?{Jy_)_CD;{J#f$5_jSFmcf7)0z)zQbFieybcJ}Es z^6SIA$`OvnwGME4$|xZ8YC{B8JmQM!P|=`M;3o-(&Yh`(e0zvp?~- z>qXt5t6W|MPRF>>s@ zkK(wDRY9Z=jBz7&^E^QJer3$YI`qhggzhE#K7DVU>X^I=E9?7L*3D?pF|<|xT%!xA z^dU~uSi-Gk+#eAwC&1^g4Y`0-Bep8u)$bV$iVpBfeL)Qsf=1XsIv4-HQMqVJ!rRKn z_&Z`RGj!PGk9|6k%61`PNsg6eZ|W7gRm$yCPysSKz2JL%EEd9hD8*3{8YSpQ&XHM@>QPGt&KYx>6 zoxA!4C2Mu6=-vuZ$Aqp1S7ii=ezfBB3s0hW-cyY)AA`xd12p^Cwhtu-(_nA0VC672BQ%+cCz3 zC2AHFVDBbIlhs{76SXe_Dmd0i`l2iI!!Hn_u#K-PfYUQ)$<-!u)F$pRnToJnoZ;lzx>oio#u+S-T2#$c_O&X4Sk3zAo z=A+e8^r{@&dGcEkyUgMWWihJKZE?Nhh-T>Xy1{sf)I*Z{DN@$ft7aaZcvIsD@qsNg z!r_9HhS_?4kA%g~Tx#zjfNhQ^_5qDf+A>0*DaOKbi6uny(rgFexk$;!h1_dyKCd2) z>r$j73uJ}?mD9Y}=rH;;wMeH%Zr-db$gPEBPOG{Y-57NGk(>e=gU+aVAO*SLPy56zMx>-4n!+B%iRp zzh&;7NehaQiNl@)d-XwQ-<6TJwi>Od!9=cPD{iSxLJ}Q>V{wKcsY1(Z+GdQm zL@xeX8mh)8g&CYVD_EPG-D2rC&>b4P`%9r40g(+{TA`cS$yMjv-Yj0n1T~8AEJu_O zz8k}HTj9PL*gG)oTUEk1XO^uf8(jkV+f(PD!nk&OnJ&=N+=2FZZBa(0&Q%~@xfu9Ok!1gVUZ7EU#eb zQ#!qlCe784v09lm``{FG~AO$|-9p-?@T zSF&oV?`V3GBgt}SBPjQ45OoU}*6CR-ZAbDrlWyRo-s)Ton^4{$%Ec`%-%N4joc;l< zoPmSQBZgzjL%K82x@YD>S>H&G2^AmCR?=H~+D4al3|L-i2sgJUH7-nFS)60OJf;KW z@O6F8LRrRyOLUSbjEVFm>7#3PcaL|U0px{{`{nTT0=Yt#*s1~l&K)h5{|GeYKd@k(4W8co(h~7-r9u6uWGDw&!-{KoTWXBqH4u3<-F!)dzt4I40iO zeZ^(;BBu`2%@3^&3_|0degQ;y>70WCY?8#`LzIh-J-0LIEGj+UJiOVN84yAiBV}D^ z)zG;2@01nX749ky9O@CQw;(K%GHaad`bai~q_;MUe4D!P;Xurs1S&R#-oAGJL&?Yc zB`O{7m`Js+(WubIt6s}Uf5#b+zlJWcls;P4x{7DGi7uF0UM&BK>bJ zT)K`GcgZWzDvNHh=>m=2)Y`3%FUmf02=(Wh+e6J?=B|^F*kf=^6Vei%`eRd*Xf0tb} zVs35cBIiB)917$31?2&93w}O)2BS}Fz#bVQP$R>IQDOU(INr7v^W5^F*C>B{i}4)m zY-ejjn!)t_^s}4uyaw%B(l>vc#6mesd)}z*|;uYBrD0&yL_RY z9{nI`v%>&c9)x@>({1uO*xgtZFGUyQ^0L*T!nkYp`+T443P4u^5v(WBq9mW`7u3BW zd7dJ4qbLgLWcL;FIW;$m`ZkC31Q;wf)M?1$*H27?yC*8R7pIdk+GxC?NnVUE6r#l? z5ez9LxI}kpD^qWR{7I*$qCG-cXW^~jltpD%t)3fjF&GS|j7gD%)u|}Uq9gUq8V&lw zFWroM1N?&bwFvPD+xy~+i-qk=NZlVOQIxoRLu zsq!(@p54VW`RkDpXz1!0KC-E~2durF20AaxTJn~h=LH~f-a8X%d((y)@5e7`C-^!VSjRuDf9gFlp3KY^%=d2$pfz+;=D)rE zXCdOE-kTnQoT685PaH!-P7n1ecJJm4U7}(MRPOyDbTtlR>|TP^QFqaovwEI0hf(Fq zQJjs(_Q%W8lQngt(B{^o0O_~ql-Av&CjHKFm+V)53=^3Zwj(pDwfnK%-;&2Q`Knk+ zJqo>bM5e1>IjPT5Ij`QJS_~R?9eZ<$*#Hw1ibooeproA&b?4K(L>UouUey^VelWzHRZ$y=$1o%$NhDA0)PJ`fa7M8?3&N=cH{z+1J_bFvy*)bS zZHHF9yC|>WiV9<0Nied$CoJh79{u>RvZ#$+tLNVPxvRe^$+c%ign3=t$WYe0z5lAw z`AI*sxbS#2dmBVR6138(=Q*5B^PT)8@=(QR%fbHM@9u!4G8bDcV-7d#U|Q`#W>0FN z3EeBFFEe#KE5;PAN6U!UyQ#Yn&Vh|fZz2xdhW2jp{7KP4+$yAS3 zWMwWZ>bI&D#{|aNEhTCO`94c|oZE>VXlFFfB`x+7cA0}sBgP2!%2hfA)P8xPzRng# z<|(XE5r~m6te?@T!RWpJ*JZ(7ED77-+|wHnHWr5f@Bkg>_%P%>o-qcV)Hu5%r}J+; zUG%R+7>0ccncf@$5*>Qu+Rvks^-|KwHQyy{);$eddziu__yv!aT4Ao%rDywR(Q9F2 zNf@Z|E_4GZ`zjl)2_^B1nAJY_RR%Nm^x(aiEJ77U*+%6hSR0xzE@cGvWP=uh%uAe1 z8GZGyv$Qc`GcR7Ch4y}DzX_qGvmap|++?Kvf>)a8u3i;?F?`4{P5>mirhR0{5#pQn z)<0J3lRy)5)%~G95EYMq;S8O-!u1#Q509DmAsIZlkx2I?Ay|34| zpYh*+b5$wGM_5J#-FX3Q7;4Ocy;XW6(ocofh4-)r!?_|lqioKkqRZSWzhpK}tYp8W z$8CrW`Bk@O92{%uH}t-h>u=>Gh$~85r5C-9+Q%Cw=>$)&2`H`eu>{L9qxOms>@Pt) zOZG|VU#&Jv;uT;ur47WFJQI+5YIhMtiWaxu1Lc0WN?9-*zEWnsCrPwd!l|Sx1HOg! z6@d0nj>OldYM}Mn2Wk?%t(e7*FQE2$tX`!GwR&)67WHLpTH*le)WknE3=+idC%?CH zEqx>a^gKoOH%AL#M#N&o18)Ft;5gVtB~>WKPyFHcW&6Eu0Fk?x$)V49Gv_?VhWdUo zC|)P!K-Th9@h5%gC8xYpI~%XT1SC9!F(!s&Tk=(kq_A`FMQR(&BsZ$o;?Tf-X_3J= z3t&y~5>?8g%A&9O>r5!Cgx;-bn3d=XY;XA)bhFT;@VY0*+jLO&>A`glKFlf=vHjR) z7S9Wk2Tlj_nl;TPC^aWerspqjY{ZDg@6J%z)Vv_6C_3?E%p}yJj`?;MzAc>!D^wfP zH4NBHL=W6H>_*gKM$86EgfRm6Yl>2+zW*7*5G>mMFTL0Qww6WLw*SKGtO?~OB_nqLK4lT2{J*BK`sGF|KZwQ*b2 z$BCx8g?8z&YviE24ApXlRK6`iUt_;z{AePnw|p;9*(uN-m7yIg!N;rMVGTgX=njse zmU6rIUn%sgszo6F!{v1HoH)vT%(*!PBMY5EUsJ2EB`z_vT2tvs0}0}O*P;)JaCc2|bF0iGo!|H|H2CBn7dG+q%uGL5C$^hJ!F7%t zXXd8;g4U)J7Ady~`(%bRg_h`eQ!nWV4MQM1SKkz|jgv92h`jxtN~;+Ap_h=NfOy9` zVU}9rk4A0RK)3n4myR_gCgYK+#WYLoj`61Su(9ltoXdKDK*iBJ9ewc$zpMQo^jsLtjIEqL3HUArr@QS(%9m{X&a?ql*N! zNToPOyLtOyip;8ziV$K!T;E^^!W@ugcjhjOTZ$`fM=G6#u^LF!OX3-)Q<+gD0J#@z zPo{|HFNX0za|*NB|CR{3-O?J1e&X{$^3%LVqfOIxw#KSm6R-X8580&32mn% z3((e1G0W?!!o~uYUintZfIw}5*xpLrz@i~7zq;xL_8W;lN4{IpSTpBG)7q9#*_S=8 zVF!C!e0*FDYC{8P%2vy(k6Yh)^YAPraOuWR7`~TOfC7{RYUK^}FQJn?EHO*>P^t9& z1$jdTh#E>3Dj}K6iJ)dTsBa{DOxVI2v*pPyA`Ofyt2GE(o|ro`V=rfTUA#03^1)3q zLHo9jKGS9JO)zhSS~Z4S0Y`}!@UOr?^@WE>oy^zvmbu-kbK-z=FX=nUNo%@h`mez= z=qD%)e87DNH}%$mk5fFaZ)A3}@*aE4!SeSO4NoKDe3Z2X=->-NHlVp}isOn&`OFdl z%O0cZfs2y841ke&G48`M#HAFhtsNDBNkWb5OC0_>k(ob~e%5>x!=UPVBbaf8+DpOc z9!J_V5f&Ziwo>9AD;O+XBk$E-8*s-Wbaf393na(DR^& zu!o5I1jUlvl29FtxXnmfjFL*8Z%*DHM}pp!GJ>tnb6o%Pbqq6a&Byr|hsuX^lD)%- zY0eTMV2h$Wt3hADn1T_C7}VjA;M=G;?L0mgwzJOx`2|n{AbjP#&s8`4>FE(ePjTsw zE@QpaTaWKt^%po~m@ERCoZxf-lKB*h;53w>0`IZw)mJ%>1EUW|wzV#E4}<^RR%3D(HEcl-?U-4bN*O}3ub8)u=%WX;q(_|u*E3r zKhO!rUjNxFP=ft0P-60KZaC!+t-D6v(958i50bbVvSkk1_SE+e4^2+fWLOycMHwN| zq+Ej!bc4zrdIpZSKYUy-T48Oy`KJ1OhvCc2WUwUA%>lw4&gQj`-g!y5Du~=<#)1FL zDEtMvg!|+dL^e1CZ&94sqw%g6Qa^hGP z(5Fye(=DN}C;>!4m!J;CMeFq$h`i|!-76ghRc75yl71{1O}{a2|2~DYdbgBKsYV84 z3ki3t{RPP#6gwAUKV^Ld43Khxo*zrmF9`J>EP=VFfYdaBe}BQR+NR)fttdj1ZD0)n4AjBc~RyyPTsd+>GyDmPDDEa2r4VLfn&`| z`M~cnJ2Q4xx^xO+##w#D?io8uYJWsB(d{R&B}Hh#bM6@V&Gk#wCMKs$1N{JZRXI1{ zrc5lm=3us!dyk#j=dh`GRA=;&-@OFD$oIHJD1dLIZ&qw!kwA2R0t4qPW8rmG>m&JA z!AR-V9ER6{H8IC=;uED6#UCqTGi1s~`QA#z9u`>kTW)I@|F0Sy1W#Y@K_#Ck7+p2y z#3LorSa=a^(+x(IeV~SL!n-0QcQ>$K%Sc99Ca~8D!q4TdEzmQLqxrRbj zOd>*X-V`KZJhn2+$<`KdI~uP=_oFW^9TIft5hNrs_5w2G^vT1jbmhKZ9ff(-*sIVX zeHdNfVrT#ZE-=Tt5uvddL1X4?4a7*OEZMIPW<+In)YK)j+uzDsSj~WkwtM%Cp4^-WrXITP=^Q?egi(}wOIk0n7Gs9rHm=L z)MoV9G74Q05bwf?*e1#0FDWBPU zJ!ueN#Y2%6pz7t|5?j|u{(Qj7#@5j&yMFdv5*7sCqsUiQ0y?#ycnwz2u4})Uq{r{V z&RM6J#&;Y!*|5%fwzD;tcj&_Hwb3FU{`bMrDu7vrzZ&Tm}rm;`%B!psnmY0mAzuS~eHWtgQzHjY?frJG;3X zutwn3vWMXhegWM{!vByW-u}3~PDN!h0fLLC`Y0pmEB`oL(J(Y0^j4vBM1=q@dC_>N z9#A>2_CJX?&Pe-6piCvQzA0C~dL>lgR$sU9Y})#Ey%dPWh6q1MG_27tx`&Lg;4~jk z^x)gMqG3@2CE%JDJ&$-Ej>nXmqr}DeNWPvGUj0~pYb!b{qWpJHm>^Uy_hrN?mnLUl<|2+e;j!l$L=R9+WPj2l7FULA8AuEY^dW;Nj zg>X947Cx3+clmiIgmhxKVo2*|zm9g;0;f=cf)3~snmyrFR)Pxi(GnRmb6e^x6T+B> z$7~GjBBSb?(E3<`SH!N|Be%*VppfH0KrlKeD0&A+*lsm-O3M!IQApAejG3jn{&Ay=X2#vFsI`|I<}V5P z@W#DS1-COEXWRWuRv2K_bR{ChkUXIc*af*5nward1phOV|DS#$81{bFF)U^c+|6rc zXZZOedobYOf{b>p4oKR0xQLSUxd{r8>g{yi-OiGV_^k!?XN`iT(uoCHt%CLV^mRNx zHah-fEMUM>SSP|r;_|CYIC3;h?HKnMm!rK55-8IKgA*Pe$DRLz7^k5Pu8I7e$f(R3 z+j_yryHH?;wm-FF&HOgqb-kC-`@MAbX!+~t9t`bYyQpCG-!!7 zs(8+r_J)%Rh9x4k+_-;GSm#$z4{LnVpBDdI*b3`wKy+44ORBO{K`N#Cb{G?%tH~7o zz8Ycxdr$B7Sg)50?f3e%743n*Qis&?uN~;>G}>^|@FT6Yamqt&l!=FByY4p~L_lOr zu!JpXF*GRmK9xhcJbIb)W8mA^@Ctg@Ls@W&`8?e_ zI$|FD0k+6hS}QB_Gom&PJ^4RK_p}3BWaTc^eMcr#okcUsKjbR7ZA8TcvbumTK-pYB zH$3W|*{7>!ZvA(D9_Cyo*Ol$V_9?z7DRCV01)%--JXNdt=Rbkz;ZnKIgbmX08-<~B zglssYd%0v_y+shx@4l>~$aLaGb=5Ko{=hoWTn3l#Uj1;a0VxX8%20>XR^lWDO*@gxZIb>Y; zDD_EDI}WB7O|>*`Kq-B~IoVWngBRv0gb10AQeK0w4kuq5RTzk~bQdwd6{cEwRmOa< z^|m-QvTRWQ%2;H2+SZjSkC^?_TN;kJYG&xkAd?(8#t5|K-L9OjG$AM9Z9ept&W{3# z?pkI$v?%J;w4BHfkrh7`B&tgiT`sLUU`jFr^%*?pi+G_mKhHo%dn`T;u4@%awa@Yeg0e%jScEXg<;jnT= zgluzNMkFqO->$Y5zn01+stPKF)TpY(Gno9h{mO`H2_vU3zW(QmPDn*3E?oL&S3m7B z17Rn&<_y^~k++sa|6$Mf4^Q-TG-3y0z`nyYP1VZkCK%PMOh!YZ?!E}JzWiZp&=YS@jF@c1$d zvhN)iugDSJ+qm{+Gom*n*#rqeUq1bUBvb}$=|TIh91J zGrwfT<(%H3{b*-Q@|Ft9?hZj))2%B?Jqye@jLnL7D{plhewU1hFZp?A(#Ug$$~NB9 zy+$TxCS+TAGn5E?nN#NDn`fAUzaXc$THkZ7h@l(9|Ma6mtC1o8&Wwj_Ry@5Tp1Hch zo^6h|SE7Kju?q`hLfM%9z<5uz76etcCX++nRHC9nE!F?{=FID3U8HAfnPd73qGK-$ zd+L6}n!;iiS{-Y2@O&|tXr38Nh_KQ!Hdvgk3EsbY6CCthOYcDGg_V*vmHd|+W(L!s za20r|ldUMb+mK{qw~B10LBi`x7Hgu#W3unW@;Du)bV8${1;U|Da-Tnvtv2Y*v3*;* z|Ge>lM(Y$G0XY#@{`!f(yK(hN4S&B4J4=#2`b%D1DBE(gHiBAJimS!%#mc;@4-rL&+rKHB&-^(5}uyB|YIRnlcEAxAn2 zan(+#y3F(yvF#}uiq|Ois*P#%Lf&!>cEwn%+At&vs@RjiJc|7cSe`ce@FOh1PUl59 z8b0{ZwoPHQl>Kgju9HA{Kmb$v>SI9a*L7IZ>>?W&fhY*55}Bp-oxYP~F^G{O2s`@} zDlLXg+o%jT1A0xN0#~TRCmw^@iHV|1qe3B~{V}`U@zwEln>gYkm>!{bOs3T_JW%Me zqaAWYMeV{M{Lk|UL))x%-T9p(^;?ck{CBl{L(EdZ>LCZ8$6054&N@acECDeE1hhh> z>Ld-?gqc2O3@VMixM9VDdoXnWcvsEd)w#klt(%4QG5Xse<5NXS&9WVeR)dscqo1U+R@ znq~mseYPz;3mW4Iq3A3D(=C0d;83`t1tw9~Kum?$3LoQapQldoMEru>lkbpLTHo(2si2MqLxek=2JRxA z^b^Lfjc`v)B6xtpMf_>)-A^uSft@8EGuj_Y%)vo*0jzS+%Mp4RB{hP@crW%aD@79qXD!iHTDbJYMxV0PY0%t>C7@3k@qh?qcJ~dNk2mb#aLE?EnU?-ETnF zIO9pn26z;|#a$w9a0vJnD$gY|10kdd@_9{r}9ltxck*cae)0q4vW3gvA}tac~e z8R%KOY@gu9%h&%OK=m5G(auY5hj|nm8E#xB>)R-{E_i0(h^eW%7$Hev2>;x%~$sXS*#H)SI6q{`#k&NROQT|$@f_*@~B_h ztS|rQn~wHL?Ch5ydb>}-T%~6t33&&jN*YWS!N9tbCaHvXw^y*H#McOK$Mxa!^?ica zg6XfsxWq~{-<+t9$DeZ)^&jHzFV&Rr8a82DS|w~4s~YFV`WTKp?<2@TYFWTdxM>K7 z8R4R&)t5uNf&~J<|j4HhMBCvM^u{G&Q zm?Y4LH|N&LJnKIZP1cxEQ-$84=#cT}CGX;PWzc#N*pYRs=w=eT!ahSC%IK2$?r8bY zuh<9gk~5@4o^$&z#~fP@>s4vcb#V&vzEoNUh8*}gXddzJpj#{=vNDD$m>9mILusX3 z^33%kUf8(qhQ&LV0CX$o0t$q06VrTJe6#k+{<3jZg@#<9I)#e6v*tXe)(oD4X zkD@?cf6=V)$<7`u>-S6y*gKg&FIpVTxG!WO7sQ94t-Atc!+KYjtm;jIZQP4pgL z^?PZm696&<5lwwDDFT?ft_bE;T9Flh28WDj4KqXVPc)UjUDylxnc+hU9ywICc;kIM zX2z^rWBVl~N(bZcwmP)+VO}U|gG9RD3o|u~Fd@I}#m>#;(~h!n9fwsV(@IdXB)vxV zbS8EHy~(=g_}2`2t|piwcl^2btxq2welZqgcY81KLIa&N_7PM-2O8iiRNRm5C*JCy zlMl)^t^scf;pp>pFoQFMl?M8=!&*|BWbAvH;6>SpF!9O|wTbQb-E9_TXU{788N>vg zkQYhJb-Rp{#J~yCvC2Zly=@IeMeGPWQn{G$U{*tS$x`Ec4(~g`>S9FYWN|&R34eoQ zBmY&llOe6dp+G;;cy4yKEcrT(S}r5+r=D*mlnlW+mp%U+Hz8^L>7}Uyg(5zMsfu~P z$;SeN!BQ{B%uAQ(8~B2Ul6pK@m=~hL$;JPq#e5!e-y=E@7O{&l_hXr|*B==y3vSDY za^Dm~#rP?Z8qz;rKLSy@&nkSxEZ+tj_fGz-uDr>H8qhznqTr<(!>HbjA1y#@KL7`f ze3ANu8EpI4$dF^QHM`nIlQP3E+InJN2>D>Z?2OYUjxE;8OPBe+jMlseJJxsHGA~Co zRZ<5-1$0K`seADalS4YEo3_q1G!WZ~Kmig^1A2UJwxdoJff53@!y2G;L3L|ZnRthi zk^f_ic6joCZKzt+%*(^Zk7d$!TRhqUBW;eDpLy98Z}CB=e(PU1N4V42fYVN5%Ka~*U!*HUP1EOs!eze9 z0&HM~#&$P+(?!789s-o$G`@Iybjwq2a1<0_^UwD33=Z?Ey}lkq>(R$>cZWjKpuRr( zT9#pxFwy50TTv0LBMkiu{0~OlCh2u=f>HsMHK=q=Zqx1z_b2a4e~xeQ71xO`bvX>m zaYb;Qef4C>l7?obo}>iuP=fW{f01JRmHGae0srx{!h^eN%PW2`($@EGt7ONwy)r=^ zOU)s8&Wg=*L}lyVW!6^=F7uJUAe0A^v6@$5>H*r>GLCBK9yMBI@FEUDD+-hKT|~p6 zNz!SSLj&dh3F5XThhLh?^gv||kK3>wU#ZKIPMmr`3e6 zb9_Tp!wWEBxSZ)9w@D>i6;uX;8=wbJ!HoIt=@_a8 zjz!wtY>&)y&qIAKuY3Lg#dZVi5NzSwJ7z#MuO;6(pM{|#4$K2dm5S2JhS#TLt^SH zoNr#mFB8gUKW58&8OPKNY`jEHig#!qUe?+35sGi4zndWl9#8(o9;GRvr}0T7^V9T3 z(;fvK}53 zrOfIl6myn%^`Au;Dztu&tpvX?(}|-GCIAHBeDB+dM}ExA%Ib*$Mg=1qgC z?a@P_d&s;7fi#050@mJl4aJ|daMn>tXfHk_qG{9Kh#an6Mn2xA(bC#Kj^k5whVBh-9gVsJ)4_-_UyRUdei5VA!UMa6)wBm+uLAY6kPx)^8OEqNA!O$ouc>er%hNLr7;-DRJ5+d4i$r*nT?n6%4rby^y2Cr;J2vUFYdEi?E$s(ayk zYqHz;WwpaO*KPoncV#*|Gz0msOzoC41LHox)#)nv^?lPpK6$zE*VvvQ{>o>vmepP@ ze`MNb8xK)K3EuU$&~9ct zLex#u!j?V{bW5v9Oa>p`qyF?0FW0=S9Yf!~_I4;(l^2`4u5EOPr%Tr84&H~3GXeYq zAUq&e1IK5+enmuv)f(TV35$hj{M?I2*l`VfQ5{H;Kp7x?0dgOJ3EY|T&y7?6e5;o1 zRKEJOv|C={m9~D5UKL>=#0*8|fIAOVup z7tE@9-P*}tkk*d$ODd4BZ;t8P<@L*?wD!z2MImPsQ`-w4I|j15tR7<4ax!hO22`L^ zs=?P~cc}D<1PD`OBA~cFamzo-1hoNkQVp?`SvNS`9B%dI=80;+xp{Q;?>(T;16_c) z4>!Ao92zogf~NMk`%}Zrp4?2VTC!jbHa#O&3UV^;?<{49rnXrVJc8S7a$f7Wh*%l>Vz{JCc?e*TO5Wv-&F0krU`xTYx8rpB{()2}q=W}b?-U)axF z{iun$`}v202<>+hpWTj<0{wf>?mAEQAJV7j*T}~$e+Vwf3JrG}pc%KxZ*r<1t=b^| z1%W0ikrTGwsEgj2#YiwPs5YNjSygmf_dtl(p)jVbJdORq3qBq`4*w<;|NYc4iNYyK8pGaXd z3M_Yi_i2EsN~E~npsSy^%Cq&Syt>5Ox*koLERJ_^msk5iNi15yirFg0ka zqwe|6h?`P~h=>T`W;I;0CN-lQW8^TA4#LA|CkgvG(fmSkRMyRfEMo90+@yZ-R(u!M z5rV63Ah=rb4`;LfKZnr=MKW|2h~(8??BkR139P<;&uF*mPOP&}LqCRAb-q6DOG*0t z@X;O`QU+Ekj^j*F?Q}n}xZ#i3vq{>ppTrz58?WnEzl$w=JlH;G(a8|f2NEdf2eGP4 zm=9H8*$h7{j=-?Gqx4S9q|_eu){7(Hzo!J=gC1Ig5+W}V!O#u4Ldm;WQ(q`(A7LzuIv)zLPFDlqP3dA$&qk${fDIQu;N@ILIH zBY0SZ(GnlJ7lamavR)5@cbA=Gdt`f{#%0!asrFE%uKa<~aOu~EDBOx1% zytW_jZQ{5G{Pyy-VWPYQ4>f)CCdAfdPp8s$os->@ELj%$QX!VF-BG`sphf>WTaL&6 zZWCCw7wS%!#G`?^$vJ>ZW+JI2%J6mJ2Tw5t77j{?r@)@ByreM-*DR zO#$N9n_@Ugh)12z7n$8oaWzZ}imxSU1Opdx+AuYB!g63~R*a1`ntegq#;mSuqG}Z? zFFV_-Poo#V&+_n*{yWQ`(E@^!cVv7WIc4cT(J;I(oL|qg4k(Ht`WFOj9yoUXdj!wF zd0&aMrc)b4ncSqrd0gZl1hp!m8N%>>lYdQivlDMmP!V82vz$KOqFAQm<5&I0FufcT zGk{3f6vGG(N-G^b4l<^onMEoZ$WbqWJhrD|Jk~8` zdOj008ID5%(=&P85XGa$RlDPCy+JI(bBrlX-FER(aBR|F%~tW=e#CpUIfZq6j<89> z68)y8a-|OK2XH~o`K$WkEKK%d477KLyjPO619eUWUM}AHZ{Z}&|K>RmY~ea1y`0K1 z3@A_DG^_w?guL81YrldRD?uwO1~~zuqrJjBE`uNFX)hAJet%zjUf4~f(;7}~txds5 zK36)LumxHx;l)5Z%>BOwoGUCCNty+DsSOz5cri!+CIu$4f&0;l$ZXSA9MRsHgMS2q zrRQzG{uvS8>4~nA*G;P_IdqDR?lnX7$V#u&sN9IPcuST^X#NGLp7USy%a!o=i=L;A z)zD3*<~Af+$8!|QRjZSP^0@(TH|qM}iRa*j7cio18{$48taap?n->#9ufkL_qRAYA zke|-j>GzsmSECHkOs=Y)6?XUKDah6-bW4;=938@fp)`?$)xpJt3D_?TRA&J_Mspb`AW06{M5e6z2a;YW{b3&X5S^0^V-_p*KR z9q#WcgkhXaDHdOS3noTfkugbt+9P?}CZmTfA&lv>DF4~2xXC_lrS|h~jvo!zFT5SX z4dSrq#z!%4tC9myjGbHdTZRPr~2alhjN|a|mQOgQqj_*J;mj!tpaKRb@BbKpVldp+N zI=KH7I-%QQI&@rxgKqv9NwMp@5N0@~*Og6HUBkz<4cO1Iq_}xcyNCIaVpyScb!q zc9`N(>ipM8T4OVD;Qi90sSLscccop@7hGi3Ymr9xc3HKby@v;cZ)N*e1K6Mw_E%~< zri3^QPrReCEROk`oXbk_A+?pTRUn~8qKM6hc_WG$4@n~P4u(xC%ZYjKJAL%&%WTVa zFoo2{A{muYDfn>vZQj1rOC7-U&N$ zUBo8z=ZmtO5$_`+gfP$AW>4*vIMnrXeCNB5!AA5-mSHfuMwiARGPZIQoCm+vyTgmO z_b>N}c5(@v;8IGLCjFc^&XwNYcQok3)bowpm*6|YLL4XC>zb%F1Le+R@QL(nfXOYF zn+pri$au-AgE0q2Btc$;Qx_rGrdH{}6DIC5w&jx^sLFd;QHJ;Bzu%I!1Wo0=G+J`P z;<%jU;}G2m$B`R#L0sP7=2Q>C7dxwltowzKKjDd+O|AIA=V9B$zH-Xu+O$gECW3c=}6 z)#X3gdfnVU&Xk=UhvdhRqPqhmJ;RD>8c7!xPfVe?34Qc8dE`0oOG|`=4Sk8u$V)d{ z?sBPqc{PY0wyfbS)CBs-7Zg!!4+Ss)Q_Wp=MI`Sr?vsCqK(2=>LYmbo0C-aW(EZ1@i( z-7ua3pvRLh*kSW$$>n68w!|%r;TGX9t*!{z2n1vAF=l4>GXKb%_pP+NdD&U}>!Zau zy%cGbU}W{>CL^tHsvH(s!Op$ALQeH_d$it`Gu|uHO1E|c`E~R(yHqIYE{UF&8Y7wZ zE%6pya*9XqrPe(1L$s-Kc6*OHJk>AcOX#L~yw81?`TMlASd+HWFirZSfCryyRYHa| zZ|P11>*+9w#z+a!xW|CWiUE=>AdLmvDc(EKU5S&w*S-7ilQ6_m<1N#^$fh{yWi)knvwzA z^cuxQ1=-IimI9PmIC8E%aubkH?)x+x5`hOq_~q|g^4&!8g)tKK6cruPHh`m1hgk2S zgI^EbLhI!g`Z=iTivzcV5s$_dCCeVkT@4e|HSm07DE^ZvQv44liOj#KSpI$%dLC-D zBoZ~s)jeU{+pgsPNq5|qvZ?z0+^$r{vW!d@Y`ipM(^C#=CMw=N_JZs+|8vCh?`WzT z%VnY~Ml)$o^|%S++0;pc$WqV0wW&(DeagKh^6CvSh6|IXTb9(f_Duu9EiPDVoj`qT zaV}{;Jx()2^Vg>JEnVKn1yplapWLI6xp6+2cK=J<^XlV?x6jfS9_E|a+4Y|{-z+&t z2!WLi^DZ8L$yC0uKWsmcd2=28g%4Aszn$#353-(wBxgT1r@4j zs|Wc(_Jh_O{O?EB&zQCMfrWT6RVVa#WEr#QxnB^~&=p%-DI+3TVp^rdA@D(jeh=32 z*6in8oZF^W&M^_#55E=Xv!0Sy*{6=E8}>y~JfTgB*WEOL(l|zLZ{;aWn#@;QZ9_Gov1N~uqOV%zmJz9_W7U}d*sLHr8}<5Q#+;g106Llaz8?E1f&6lwPC-1rDGsx-|OsZP@#ra z?xhB{P>}Q)fc&TW|1I zZ{X;qt`!wKIaZMf>L{B?-cF_jdN1v&4e+$#ftTdEOraE!D_AkXf#0Q}ZuXKgXl5Or z5a59=00`I`D*%SF0JTVmxVmKx%uV@mp2hYB?#WT5Co6pd-O5-ghm~RHBxl#pL#Tt! zvDkm=KWxuk=ldC?i{#<$W>GUTGIAQGxN#L~V(x#Y=(a%2y;bh{oNa!TJd~o9Qh}20icekF19hO*Lw6H+934?Zw$}bpSN%&p zRTC!|<=unE|Kww_tYi;rk6_R?EnCVljr^r&v4ctbex0hUd4`@?Uj< z#Umj1$C-sKF|Hk%cbAC?5<~P0{{-IfRPU6#}(JeHWk4HRkldw(hVY+Wjy-E99*Nzo)Y38-k12 z6xeXHCjY3U!*xT7o;vs!OSU36Zr4~pKq2~9wr5@O=+owo5d(kK&A|4K*xo))YXDEj z!DiIJTr3rcS)tPi^kt!Kq_QEV3nX~0=1yfS*LAd2H^5H7xrlF?ao@$1&P}R1f`H@w zL_o3%g2{*LDPf}ove;W%_5We*Eu*4bqc-57Bt*(ViJ?ac0qJgKV8|h*rAui60ck-% za**zB5NQwvq+7bfp`;su0lx>&dE>n6UGMqUx4s`NhFtSJ&wcNE?`vQCx++z(3~%7g zKhc#6rH22eqY==?x)r)D2O)NN&)ocpQ8E z6#+!#KT18fMD}0?C??80S%R>fOo~GLsSvk{1vf3a(Dma1oubR9`3*o@iCp&PJ%L@- zeY&a%lO9BHZyR7;SXO9Jj~E?xlF0E;Qqb)dXKZR$sOwk3ZSa5q=Hm|lu)H^MpYc#` z=FN8M_H9i8x&NE-#4MI+v%NCEpR~Gaq)Lv~8P8$qe&<G3`gxV0#cEGmk}B;r=haPDmEAZx~{(C2te+CA@kIkrf-n~wLYJHPc{`y5Qh4a z?qV7n4>)c@7Z|Lj)~oq+cGeb!eSyG}Cm#XpKKJrJ65x(iA9I2+hB7^G3{4|a9s0K6@XWsD=a^~T|AOxRE3!*b5N4HRW;byA+@1?Y4MH87 zz@|DTwy*c|xpy+In|Wr&?bZNq>5OUxDE+CZmhY*a3!ls`*R!+Ih?>gT@bK&BaYhMe za@0{4+HCs2ROBWLPKsC~v;5|#)-n(>dX@E*L!Pc&S10R{HYeORwM}5K76(i?aYhWI zCvsVLT%S@SPWS}N&1q-rneBhNw`}s>XwQQ+Nd_Mv%^%hLcuBg+9c}9gpR?o70hZUF z$wEwEU*nNYGd0*m$8k!y(okGn*&HZBdX-*MU}~Z&X^Iv6W|?Q+oXkaq3yk_Ls!0Lk z>(BJvb?Z`+lAKk()j1pvZAsl@qYgEK(i$i~s%*jX|CQdBBHpAVtsk0A(RtTFGLfGr zqWC^^$qc$Oj76>p`{J1+w6f%s@e%-z{%Rlm9U}h3rkmGKpnZ@^m^23iJ;p2+G{fPb z2%i9-8RYsfTQ=;O{)h8WrANM>JaW-t+VipB|2tPmL9fCKYi@b~TRqX}DI4Hg>N4jw zj2+zv+0Pwr?4kDS?RBOABo}jnp#k79eu9`nEv%0;YzqGsbL!8lc2x4qJjdOY-k_UIXy4_KWk_=Wp~Fb|sO>Bl@X-FSzDdPw_oyM)+biBqQ9y*#f1b9Q zQdN8Z>U-Bw58z)0^adF3@VkxyffCS6WE0MlXYeo=RRdSiNwHv8WV6X$?ihIpJ;HuL zBL0mo>8o;_PtniHM%|KLZuZ>XrBjYUNg~|kXRLB&3Q-H6er5t!)ZdnTQ%MVHVJEvj zVeg@ah2!(o4ughXUTcElqoB2wa2A5ytPq+ijS=;~ur|b;4DnR9r$ua_9OKvK zZhBt&E@XrUR~#;OE#*_4KEWosu$l~%dJH$_E!% z97N zAv6{q(Eb}l&!hUWq(<9TLJ8PaMWE85e{{RcME;2-gZ>pq{*x{JfdjJt8)9+u`XA`c zq{BZt-I+vXoQa#UdY}A?2;|GQ;*I5&t9@Mg%D12lX6&Wy+}9he!sr&d2uaiPl+%b` zo!c%^3NOD{-tX&lzcYQjr}b(f#A!}3=e-T_8O)c{R`2EeFU(KSQepQQq{N*RvyiH3 zUmqWV!=t^4Y{o{Tb0byrIAlKAcLrK4F#0~GK22-*nLhqpx$)91#m=?5D4E~6;1{3) z*j6^GB@@m9@+8Ov&JYAP86Sd9xJA7KQ7iuIN?BD+m2BuXa0^{qZ>1(;+3$3~h&)F& z#W~i1$>V?L*8JD)iPU_2m&G|K7>fuvJ(Gp@7`YSX{6Ds;8o1sn#qjqZ$q4`hJD)p9 z&0l>)u}Jw?ABZ`BA&58sqgX&2nKwQ#-*+q7awbbBPJS#c)9Vm^CefB(*A%=7N8&E7 z)OOK3HPz#O5&hdf@Fp8!$xe30Xz9tFk88o`BLxN$7?-@x3dY(_Kl=ec{`hAJg+JaC z++_~Om`M`78}eZ}qa1KV&O?w(VF6OyUQD7#3iI!PjTV7DuY( zBUI461$nvaSj?lES-7leYEMq^xj1)sEArb(e)U*he(v$#lX95F^M|n*Yzen2lPI3O zzObs_{OT-O;PNYDh0Xl*DSR`*xs9ZZa_ojWVhYo>+=-9{~k~ zld5X_k~gn*ejI(!YD_>jCj7Mc;*CS)?nCt|l_%tqEnnNd`dz_`JU48JU0tpgzV6?c zB&z}G5zv;igz~cIzS$%Q+#r6wsy098ozA6cAJeV*eDChH%YR{FnAD+!TyT2zRcQt} zb#GQ!PuAn|HEet6|117v+p^LOV`5Q)3tL(#}(>N|lZP03Q6CNrP31iJO2A*Cb4y^S( z=R^x`%$7nwsUmj^7Ic(;&TQ_yk7i2zor!9H@Te^m$j<+OZ`jP_5Q3isrBQ2=Zk;@~ zf`|4Gxa#`9lSfCkoL=jqiw6X=D^+EUfwGwltfu^OM^qjcV(CX}NGGbRZ`0a3ct@i6 z=V^BDppd)0NxXZfV5P9xFQl?w!6WAU79ho?C+Iv-$`cbVEDmp)Rp8$FxPDxg+&ww{ zV1J@`llMLR1H|{EOH^;ZVGPf9(h!>MW)N=u`YSacRH|@e5vz4$5j%9{BY5o>H#-ib zYX8xL{paU@b(bAC%w0R|SjNuoZZmQUVwt-{xB7}yicm6IJmZf2{?3*;jbquyLR8H& z)e5{0sKCqxQ}93Y^uYWcxuq=Cdg~~D*XARbt03Ol&zLTck^5*xMum&Q>6fqSL|kaB z8uDuvKOc$BSZjN@xJT*gBmOnSMV^<~#F;>Nj%!oTssgBo`pcG&8QuP4U=maZhg`jF z+h{gPfMT8|=apnzucL3*hOB-jW(oh-3%$XJYSfEx?}OO`TtMKAmES3UqE%KJ`a?A2 zhbuiitzuRpLofY(pz=*DkpABqMgRET(^1%`QrR*2`TJtY5oP@ev@bv1(-M9P0ePzy z<@t0xSd{u;Ahuc9#*%=OQ6l(}=1Yxb7>m5}4g3G^)_QIxPI2^tv z{1~0u;wb-%!or=UunBN5-h@!Ji53i$iCtS4Hh~?mz#j>v&@u|h|Ihk2Sssfy@8M1f zhRuDbGncixd=Eu|y58nZy!k^uCNMF^!}inn6SslJn91}z;%+H`Ov|6$iM*1zK z&__!Gh$iek6&qua?2UcQ1;yWeCoORqT~v_zcR|%hFJVk<89Ra>uRJxvnm*pjvU{-d z2(xdsec*E2drf7N_~pS+zU@e%EI}p?7Kmt!g+Yp$8IqyrN~BzJgUJ9_kdxpWzhESY z3O~*YZMs7ioZ6n5mc#BvEUgY`YZqpPJfT3q#T98w0r9-Vg_$tHy3fEW26$lPGKcO+ z)ykRLhb9S5fagWRoUwrdZWdk@&Zsy_4 zobhmR!T8}wUM3di6-dmcm*!Z9VKJD@ksIl3bG*yaIdftHoCW~bGg&rh21-m%#}*r& zQ6`+o7;g%KAiXrz{GkEM7M3t6a^H6}E+=9dhMfu83IJ7EkhZ?y`(KSm9QDfj7Y#PPnah~dn2k_A!ldu&8^FKvkmZfH5%&zd~0FLw(DRn-= zv!nb^+IY`>nY1JTUpL0M1OWa7VORhxg(^FL?uO=|bwKmHy2-hK>do>wK$7@WH> zz`6`b!{T7$fGN00`U%bF^p~VP;r0lppNOfs>K#`|(3@^%>%s4lT$H{C6JV4FY|G?f za^nO4;Uu%CEKJ_HW*{U+H+myRK3*7Xg=+(-t$$&i&DgB{s@-cYyxmuN{2`Gl9l z*&0F<2bYY_yqEhylS^SFnB#Uk2Fi!W`xjq#W{kxVwBG#~fmw)_yf`j@#!=x$X2__x z%Jv!Qu4%Ay#+(VX&}8n`$xtkXJ#>rY*LI1gcUA^A%8s#Ja~qI){1u}4qBD_FSV(0# z2Pg6|MjfcG*~{gz6$k`@#aUsu-EV63t+!PTe9uy%#rZ}(s-WzWaftn^6`d!!5E<=k z$V!y`yJi)R<@+3tjMAbkPaaB`=41{P@biQCK$##epb1d;AB!VD0H5A1cSeds&|aT8 z^%WS{V!JluoMMY)z}{kO0U|DlwbZSM{%&MjO7ojGKXi+E7^%WKyH0FsGJf+ZMNGUC z^z+Bdl4;+I>l1OXhW#=HOBt{=f!@9{6a*K-%$_^sQ@!13%;aRB*UWv*H$wG{YVR~; zMbRdpv36w1%Ap((i7wLt6iH+eIemj1iC8x_Zf7@{`FS3Z*;&6c9zuV>Sukbxd~|z9dxSA7 zX~nD&PQ54UnQ_#?kykv+Kpl=0h(E;{5;a)k?b^b=h~$kh0I=s82!8 zn1@|YvL}R1>z<~Yi8bqXV?i%4hCLBjb~}u9@iv_9%M6tZok+#Li-l4$oOJ(o%K(sN?}E~Aoal_ZPLk>GDDuz zub9;s^QVW7pk4h*iE%(3P~gr@o*_eEO^?K&r136-aLa)Grj}w-sRDWjIGA4Eg?^$L z>0R`Mok%WEX^gapEKEFd;O#Y_gfvw`Dyq}sZUn-_DJ!ulcB1COZ zi7Pl&p}qF|VPvmYMwuKH-)@ycp42MI>6yfDP;VJP#?ZEGzS0~1zx72+hyOJ^|9>rd zdng5YI5AW*3C;MfF}82})EItse-kmI$>x(2b77yqFe^5qr+5!LT8TQ=PcxuYk}0DQ zT(r5}{l0n9)aKq3s4N7B&^$#fN@Mz}9 zs->3D%(qqGs;?_n0QFw;$CLz)-{K^WSL`;*0LiRCxhE{Oxj$NvWkd6lc@oh#`f7g0 z7`nNm-Vt(IUPIOItpt43QjH4}MD^3U7t}?<}N3I zl~D1s*afCiZMSS~lUOJc=jr-ab=6@X#sWYS&YuZs!|b{RO`Pl62LW&sNV}mb>~!Ar zbA*LbK+oU=pd)n3FXESp14uSu0)~Nq)jdjXa8@P7 zfSq1XJGKO(pkcMnl4kbF1pWZ%o(5;@zKsfLwb-5idU3q1h}2d}&UE0PD!iH@{;{b# zI+9NMrVYKzL}RP)*hHwoAq(PE`r<8}y2ry@psfnnZQbN~K|lq8%vD;FKc8tHkZUeC zHnZQMWX6~#{vpNBWnk8T1w=CHBEyw=NYjk&l)GzzmS1%c); zD;^tbe&oWvc$<4d!xl-AAabKEggmpNHOgbx0FzO5+2CqT9JDoAE;OKL@r=TPP-H2r zT)T9NRL|gjVR#WFB&jXwzKzKyu7S6cx*XW)7HM{-CA(X=d3wQ?x*Gh;U!|rEgEVxB zz$OMeEXdDoLo_*J>BxNkk$t%L)Peu6i?OGyTD+AwsO#L% zGnd&#FsLs?Z<+jQ8N_POZt3IkkZnAl4oXuBv#CTV^i6v>b4_C*8E^L(Gf;2b(*ci11Dh71e1)a`*>I)Id=eg03v zqP2(9Q)^=RoqZj|ml^k5!+-K;hqS|kFKA z-iTge%Fa8O_A_@pRCZ$S>@9xxsbRcDfF*#MLxE$mJF^hRnjaQpNY$HHfH#+GO%92y z>>Qk)$zjIgn@lo8@-e)ZcLb^XN-8i##I0DyWH@!>0?NiJ^Ii6(%4OVPQhQX93TA)? z!m-*D2UH zd>yHIWLJ>ZO5F&OPH5Lgo^m7bmoM#F?o`v+4)sC!S%*Yi+HQxHSMAMGGx;CH8SP#B z>>8<&+S?GeNZqJRngP?T;UU-MD}@)O9aJ;DJs|N@$UUZ_)1N1KK0$?sF5;wd`y~KZ zF5?32aE0**;L80&!%4|6`+vZ(|MB(z4a*L~rl}=HW?_yZ$(qI+r3HZF6GCTjQXrHm z;*?_+gK`HDjErsq7fek*g;ZCX67BKhsocw` z!ovk)Y9DopQ%|awqV2ZG#?P5|+6k=|$vHTJpd9?cFg77`W)`69d$*!~+tyY+;@G@X zL19Bd?*-`Ft>oOmnucSE8X`Bh7c!x&rCGrgn7pY}uH?pQ&G8rb*tNrQE}-Y>^lm*F zTFimRLKkE4?lB9GKEQKWW_2w>qXU0M`s6T{0b7b3XY8>PMxSbK+&5KxX$El0!Q_!Uu zX8W-&i2r(}&r&w6x`?#Fn>|JdqdRn?UPoZ(=_%dmfMJO5i)w6SVz&%B_2m5rypz9T z-z9v3Xh8*rrQ7k1;pB=D-LerNDqsf)t2zA>ji5lG^)RW-SKv+7!!k~cKTTPsxu)6` zt8&p%>Oo5e%)8)_hPyZxUbW2lwkn|123{} zw?SVv-Fv?4hW56V`g6i$qtxKFKxrWuFVq`KqggrAAk=dV4y);5johNT=SGl>vfO z4k@SKWHVvy#X~ZrSQ$gI$&s)WX6P45P8?Bpwuw2y{+_$Dg>eRfO>Us)&pn?%I=i-U zm*m7;U!{8on4a95gU$O3i-Gesk&KVkI(nmPJo_=XGT%W#VBfYtoze^Lt~tZX8kz=kp67Oovdg!$}3^p51#q@ z?c(GzthQE7pA7XXmg^f(UM@x*L$r!n^5eo+nVH?d8njQtv6zZ69r17kQWk_{{ETrC&K&UGxJbQ9*-#&sw{7rWwUVs?a3K+nz!5SZ?NmR=!qedN4! z%txJNO~QByKliLaRnRv$#!Fi6dN21p=LVxaQ`iH|=-b9tSVe_pGs|au-%AyIHm%qt z3JO+L0`PW5&5iw2kt%SB+_R#>+j*}7fa6$RP3tbA26l5nyEP$@>W~n?yUjKyz!}X=i8eLDf+} zq7W$Z@^6MKpSWR+jmU(@h9R7Jl?gCd{M z-(?xIOH08T@SE1Ndm&*NAKPiLFcvLEY`EvaMDjD%hkfKA_aqA~T?YENXU4*3SZJG0 zivAy_4bgWpk*{gL)hNRP8}&&$^O&^Qb^Id+#>PGX8dBMrFADFia)cMH*RwMX4frq8 ze(38{b1RPEtL!AwHM48#$`Y5lAk~a-+`vg)E1GF_X13Wa7v!eaX6a;-M)#aa`jJ~w z-KE^K-+&y-a2It)Mg?zgU{$k!%{U>hc{~)TY`TB2bm|{$<2H2MnHmAAd)da!vjNe>QWB+>)h03rC3>4^lHJfICbGx&_KBc|0F{@%7s^@kxW;Opl4L$TQx#n7~Jo zQpZ>yFEnZYFX?o?kxH`I*rtC~Q!x+vyEyujzy0^u|1MPUs^>biScI0b>HNcmJTB7# zh^}S4Vf7FpOljcPHS9U&KC!ko9YbyI_b%dVQp1WN1t}s2^#5^#qlH~U`>ph zMviOxJJ(NKSuE0fI;zOi91qY_I3HH9ww(gEZF|Yo6gfxam_~AHLBJj zCMVRUwVbY+kpN%_LIDY2u^{AXA>FV(v{VtWE9?4>=wX6MPw9%r^w0&#mzHOJ2q2bW zsZ%R@c<$*xMA5-Y@0yn@c2ZbV%c937o_JY6J74ro{6K-n3l7?34f5OSV4;sBvMK6l zVlE`gWnzpE%VbcrX8O<@-T8?$qE$-hc;H!vVomynfl#6Xo-lkx$|*9FgjnUo6PS~E zJEQe^($~hSQP-Kc$Ca^yZaa8(b~O1bU{dqBD)NvY4ow3I_w$Nb9jV_DnV1okzef=s zbYJKQY9*OMX6wm<$!Z*C_vI!0;b;uNDJ&>1X3;_vi(>c#Q}KU5URKsGrl-OeE^4fu zl6OB6XD1WEJaSS~{lnh$Nzusig&#w`Sp|q)PK0ykD$M=V9eJgMDGSuJ%37=jRS~## ze8t>z89+xc4m%Bi{F3Dna3QSZk2JC{2%p#JIt@&8l-F^(MZT-(JZcqCUoJ3(jLbgY z+GWmP7t>IqbZO{|-2`FAscDF65~ijS<@@I^%J4EFpE})*+;)`gjJu~io9lGF8OdhL z(!fS^_R<=GPfwU$0Lbv(^n}Y3@cC}(`z{hqq1=a)pWT%Y4JH-TrkMX_nbs87d$FO4 z$n8E9VVLVVs~4h+QlO%kv4~6H%mJMQFZX@IX`g<`dEj(_GTR8P)z?E{c;P zmh2^f7KRY{09)VQ?-1Lic=REBN5#>(3oA+ro}az?@jYM&+&R*=f&8rW4P%t@dA>9` zO8@^Zux330Jpjr$itku3MEQ?(mvUa79x2fQn^}N zyS7xbgD2vpr0rhdCaSERlZTuCU%UK28-LN)__n@=AvLr3nf-i}`K{7_t z$mAP%6hEi8I^vFg-O?CvHxE&7`XmE)C6gGK&A1E^r0dqmc6WV%vcAHg&lpK9EJ@1* z?k#~gzUXEvtIQ0G#) zg&Mmc*3j}9b$0CRs`a{qd}=?l@EI2AbUH)QHBD2-GUMyvAMzZa0Omb37E ze#nxa8q{8=a;6>_ZGKsDY!tXPxllebLI&y)0t3-4CH}{Et)-^O7YL6T1v z@?x+kI1!(D|ds&@?7i@TLmeoVbfs z#z78_?YNr_XJe9g^iRYDLgXkZ2Uv?*pVc&V$i;)d{jKq1e5xz3uR${C;n+t+~}mtc^WZQLZ1)YcOQR zINUui&u!0`vOc3x@@`AP$ae+q7w*6jUnq7pCljpd^ZtAy)F4S&&e_x0f?bm|X3Q#& zA3NzG?D?6dBkQu%Ac%5H>fu5yqX};%C22v0w&b#EBs5A?j=4xI77%;s(HwF2{Ft4? zLmv$@d=eAgurf-%5-m??cMqSSJuu^qnwdV2oU1JRHZV72@=YN z8!`U95iqvZG6~+FOS0!g!0=}Y;hmB*%t)U^v@LSs$AiYk$O*1P_K1es;?AH@NokeZ zxHW%stSq9$q+iFWIoJY z9j^o|jG_6WrM9|LY>~OC7zljk=!lq*SaI`}j27RhWeqX;?a~d33i_B-%_Bo=RY9IJ zc~t$80UpXtWfz9KoL;@|Pm9>SO*(wH`YFGJ(d2V5_Q;GQxaj*|Cb7MSqd+<>mQ9^tg9y)MnD9wn3FmO+?sdlcm1o?WlD^98Xh4h>5Hac#O5yY= zo83om4m4K_RBi|G%MPmGYHWG~NjYEWhgt1u9C9PC>Yz3|j|WT)q|UxAK72oOJP>RO z!$&;`{H{D6+@_H4X;n2am0K^E4U+QrCjbY)n2PBKGX}8%or9ydo=>pL`?vF_ zWSeW$k6ie=%oY9gv4d!MoQA!Q$$37y66TV4V7up+Kr4gQDJdL11C{CmsO7N{^pVg( z@GB#`+)Nq_JKj$rBS@q^?6J~}l zMWVpAp{aN0WTuSk&C-{gREPL#?zST#p918b3`ccFV4ueWZk@CS@2|@>qU5N*UYszn zQ~woS}3C@4Tp{9buihh+<+Y zqEm2v!13sXbEnCb<~2A+Xq_%dBrLI2&JxRGNIJ@3*kuaqgm05|dS((M$#=Kn>O>_k z`-ADk?r)Ie9m*~~68I8ozd%j7gWs3}9N2ePK}y`_rdmOQ&a$K*IQ*htR2z#Uo-rO2 z8)F_8uzl+4sDK3az;tx6j7m>bc4AqRe zXLvg`&g3amuDRZqKFXQDK{W$#S;pkA>ckIbugv?s6ISU^7h@s*V77JIb-s(JekE=~ zqJ{c(@a|NOGV?3A>@z{?GW3)g(&#lpAa+plJ$Q|mB$!`1_GnMce-A=Gqu$%LOxD9(;R~ zNLwH_77|LeBTJC;kpg_dNAvwQQ*~jRdSNpH`D{Jn5aYU-OY%5n$kmyCZrpD zFKQqgCgaFsn>QZP^rpwjxpIk^Q<#7lV8vXFXL5mPaPB;^ZYi=WoSpAAtK*Re4IWUx zL{n2p1}VCN4>NT*B?euNxTFT6UhYc*zVYB$_=4mbHlouc2+@5QgSM9j#G6;*g%Vyx z7K-cq$iC0kkL}crj+9yQv7*bfT&pMU`RLOuhCxGMXno)xHB0cy;GU*3|n z9|~Sf0&+q|_-Gr`02Y_kOzabJ_(ggRzgF_~1nx9+19B|o+_ew+-Ur_8jo`E~eDrCY z{K-z0Vn@w~e!OlEU$?In0~ZM6FDVihBT@y``0;f64~GtOQYtH|Ui`4}HInVL08TtG zQEn$~*a{UpzjXH3Y0WN>MPum3sjtQc`yISACUq*my&<8e(l zxui}vbN4iO9Po59q@&BED`Od@H>Fx>9*sPLL|v}$M)g)`xR+n01aDhWu0?8%iI*mP zD=0W|1Y!7b;fRzpe+&IwT^Dms>4O>7eu8G}P)pRjJC}=%`H5Fh_9?qE-*lVRQ6ldb zXF+ZTpFn^!fN}dA*&9z%vPN5)@s zYP&IzA?gQDWiqedjFsobeBhRW2@;z7ysGdH9#!f0*1jLjx1cU@hHHa&+fHKT723wQ zPDhdCut`vTSM}$x54i-(n9t@BeVRRuU)a-7?mqIl#di+t8blzUy zI?D4puH<+6l%jd{pCbFvEPEg6idwr?m8$Oh=u>~Yb?Bq@7Q)gcqx!rYcO>yWI9y&` zW|!U(*R$wFzTV8hI%Cto(B6ZXT$A*cN+H^|@?jiNfiE#hyQly#(`p1o6S4CgaSL&0 z8hKFZGgaqk`uf;C1(^QN*x8vf4LDZW!;x{nO;#c=*L*v(@vj&iO1TrgOK@du2ujQg zaqAZAxSn5IgSd(~t0qVYgiyidC#_crO(M=Fyl!S?vqksVDiu)d_G}c6RXx;Ipp$Wt z$(qud_3>QM!sS1GV)S}=ha>)aW93>VUeKzCrB~FdS(p@I0%keJ0$+HNeb{sR4XW50 zjsTZC_fHG2WhlGr3^zp=3qwx}lP$R)wNfTHp_uK(2d%3tVTLh&OFWN2Ph^vl`@W9z%iq-6R?1j=pwem$jt-qQq z%o0vz_3coHbUF>PoOa46eYO?~`a3+*@`)GruK=)2+)m_Ld?Yhk8~;?u2h zw%5xouG3b0wP~Kbj37R7>PFC&bNL!*#UYBpudp!Ry}(ePI8;pX(T8UTQXV~^#+UH- zynbE8S-P`_c{?#)>q&G)@A}*;Nx8qu~R{O^UAV>pfM^=%-!Uf~PC%1JVISN#20O1XV zvv_?@$p_6TLgde$xmxtH`PDaPTqzd@xt#4%XB27;ZOYOad-$SuH+37|guJOnzhgdl z`2LiCMe&Dk#mQMz`t=O%;f(U(Z_toXt2_D~KV6Eq({(Wz@QhY+7rZ(ol6>A)Chc&i z+Ej>9KH8Un6GvG#WllKz3;Ee^Py$+5$|gqmj@zEww~U31556sOba{qP7 z<5L=Veyhk}UW@^Y5YC5k?@pWC7@pL;riX*@`c27+#Rw62InaSaRjGNm5BR~ z)V_&E^DJe00X_=%QS-S%LCE6{!Y?%ABdl7}91rHe>vRld&$MC)M1r*` z=p*q;7fBckf?c&_39<)`KrNTS5wdxa?*Hih{15+*zei{WC;7d+iItG2>kpn`Xu7(I zgUa=<$sXUQ_%ic_?%lSi`!>hreEn~bm*lSE(j zj{6PT{#mkL6KXe852D4Z+X4nJ5xCyI4oq*;=ZLGnA(J+~HD;Kh_igp{6L+&0Nlz`r zH7`h~M)YTEJ|l77w9FN!7ki;*lAO$A;pC4wh=+?HS$Dslm}nO=T~+E*rY;^^RIn){VztAf!Y}f1j-Q4Kh&I zd-G5||L6ACz7?oIbgL8lcUD*mP7AY*ME%bU&&VxAT~(a=YB<}sP+cclm*F}opBi=! z0R^Q%rkn~GS|luX)lm*`2CWVsOIv~NRzvWZm}1n#@S!o?EqmeUTyDDS#u$G#nY023 zokEGt>8hJz6?PbIAG?RTcUUTFE7`{8Rj+bcXh7e3C1)_Bkm2XRlcD2Wcw`Ti&J4-h zl}bpI(H()^i;3<>hN=*PE{t5eoTH+ciKm3&l&UfX^xv&sREwUG36tr3>)hP<#_(Z< z3Yi@bP7;uBFlu&sBAcXjRzHiT-}lLm_s;@YeL5x|NOyUaG@Tw*e)vQiBGoqXIGxG6 zliA13n4Grd1iew0D3mX0x;-8KSc!*I z!!wA$h{SUjq@;qI>FEoHXbSHK(LRzWl?Vc?B+B2Qg|1_8u*^f!b9-sZIb6)34}2B0 zlQ<&Cw^+yGcc_p>(A^*{3uaDz=5SP)Ntg`$J{hs`eKd>W+t+Dr3Yb>(oh_-Jgyz@a z3>(#|^GhI+Tx6|t?V9hju5P;X-9gT`IZ|g{=dS3-V+P;0bj^5NFOVpq@hCLOY&tG_ zPly_k>g_aokjLZC67}McxBfBKL5^Xo`lqd5VF$ZRYbM7+`PAm(dK$k$cGPH_J_Z{~ zH=$YdQ%9ch$RW;qH(j?*Qv z`U&}k5~Hi!KvC`H>fKi7V!7cf=*z@#VtXQA1@_)k+beu2tjxT^sFZa=@L^?l>wGe) z1zCd!dGyuz?QkFAwYYcYfHQb>W9Q~k_i890Z}8m2|A~H18>91f&X+@cwCp{@E{nOu zQL*+TvF5GM;X6Y@`EUoqGHN)PC=3`yQOI!U)@*|9Oi`Y6P~DaefsCXV8%%P>n8iq*GZ=pQF6d1aL_NL9-%*m?GWDQJA@ZTC*5>`)6?$#yYv!wJrG^Qp|_enFy|!u&}ZBEKE*|}WZWZB1K|{QHO=xe zd*)c~#R2<_`Ov$PDOk^dVO&otWoUdh#Ub?d!e+ygIg0O-WCFFsgk6r18qz1A_(|^1 zeZ{p73(UUXAaSve`bS&OioO{6Y1K3!movO`huN+s5*!A8ValVe8-stCX5X%;Dku6; z8Ep15;5E%9Rob+gA}@~GSgao#U2O|Y3q5qPmiIMIv52B+<7)*EB!?~(*%mAmLj{Zb zVBCb_*mVTu%i3WR4uH8k2Nk)sKuFJ6Rn9lf-FcxatV?6MO)t^WT^ow`uDDo*XV-|} z_pA%kC{eSYOWZAh2KSid;6rH77o}5osE;A5zy-a%At^f&s@O2aGRR{~S7VRc8>}nw zzS^h01O(y|RsYj*Qr>PY5>J9;%VacKXrEXNosiQ_Pe)p$YoFp;UkP8?L>1{WB@Xn% zq|pSkDTk0z$!bDBk9+Rw>kX>xzNi&-TaHcZ{loY&--Pq~^0d+4m-JrjX^Do}#J-Z*XGbPhiw^XiTdL({;|pCBty;&#sR|S z&b)7xuA6b!RbmIM-^JEIPtE_JrQqmkKG<`?mPLu@J&3V=yOZ-MP~m$&D8B?mGApcR@5`ke=KRwg|x*OZI#6 zIAe{!FAkTHE0ee@JYz78qx!DM=Srqe$LtLq_su@3YAfV&;iyQjkRtjgMcZ0p?7BF& zU!y_mM@4=FT(>}l5##k~#=ITt0#39C^{CmhI|lIS_w0<;ZK5KP1!m+!tBQoIm@gyT zDxT|Ac)U41^l;KOG=%#(k@-pP<v?Y*ez8vdRWJR=#KH#STr0Sh+BuYj3pXF;b)@tpGo3mS-TeS=)2X~N8Vf6SIc-4OegBf|uugFsrJ zL}9wL2WdfhVfEE@VKnQUYEtap@Liu8VWBSU^^w3-r-`^0SMWgYiPLOt_T1RQ6J^wI?tDfn;(3^G318nbmcKxS1t?<2 zZ>X|Q64wN>`>V(iX65}3^FW!>{3e7vw8;LtMNcQHj6u8K~vzf2> zdX4Xs++Wy~7=%?MruDeWsPDS*7{+^Mhr)_ds`brd`{|Za2d7M{s^{A_Z#^A!`lV%f z`Y8Ukhxg+CONMcd_jZ2GeXrUH46Npk=|XdPY{u~ z1j0&he&IQc$%yw|%_WF}QdlxgqNMGNXr+&!JrT9uXLZ=MB|ou!>)D(YN3&wAC-1 zY#ey-N0z%udSf0RkTs?3@2I?1mw)TR^1&%>2@nlg?0j#y=^EZdveO24P=Bw|9@1pWR_HX|0dB;EH5iT*RY*J)BcpL8yxK1=p z^$kzdie6LL53v`G#CKm?ZiIJo3UF`p0BOu5x}+|Xh`ANDoz8wh6Gk@|`n0$?82%eX zB1y1Q61tytpO*iCqt`iXi`L7WjQBdxum$OIgUz4JRGP`TtWKv7$22V&9)9D3WF&}P9G{i+XMG3; z1#n64Ns%9KUD~PiiZ%&9{n#yJf{w~6(famA_zw7D=dQ3f9+Gxc_@0S4v2 z4Tm@GFeiWS$o)ZC&$8-H7??`B;YoYkO;{HXGHja|`N+0GCq$2;kDPBUky_Eb@1*GR zQk!yN#vq_P6GFO4thS}Gaz^Ei*m@ObGA)X0(zy&s^h+GapDtQi;xkdmpPPwoU(l)A znmZ{vnUkHUSx9>In1u(n;ufBiGqnj$R=qybsjhEsNXL8Ist(6j3)RHLmF~*p&kyw6 zbXSDlw_&{V3FOwu^>bUgc+sl9^1KW`8DnC8Hs%^dxAOXo+_8f)Q9 z86hL`I{t^LJXbEQStXIYPNSLnhTmQh$1jTPZ+s(sHykZ%Ude7bS&;C_K#7MjTKt0_9vWV9x4PsuA89Evs7HNa!ae57>k#KAo<*Zn) zdZqhzQ4l6iGv=)jfQ!;7*^P2xV!mXq_^EcgTUCAQ`jF>0h+9tVv4`*T*TNn4Ju&Se zSc z?U9ho|$aklB#qAJ*@VcREv3mQujSA`IcdI}xw=xTX z;?T*G>Cn!iCsUMvnQeDoef~~CdQkhGl;nHy%J3Tbmj;h$#e~5K=u_s#H|SV9UKYaI z94;4FuPS)un;Cr6&hC zgNFt$qRCEh+6XVSPue0Voi*yt;R2c_su+7+HPd15-{JLpS<&i(!N-}#suM~@KtpZ>$l)uWlQ9pg<;K0u{Ltk4>|t9N1TM({`ZvIVKn84WlWewkCUjoRa3 zy9eFRaJkePpYeZZ)X$WF+h{Pe_-Q5)z8S$0>Zy|MGMCJsuB^fg_iz3Bn(2lOTM1i? z*|VlLh9!aWr~J2z&4jTZ@y>h$xHSxf0<14bE5fTLW95qeTVEE3G|k#4s&Kl#htIbje8xzueQ7e6?FJC7nxdz$ z-0N;$x&(}dM+xU7L!ppo6_XqXo_g5?(LjRG+$X2&NTf(+4wREd*yNl5j-~CJI{Ing znAAoE)|I+`koC;Hw0M5msplSDbR(D1Z1|0+)&ZX~){=R*awZk?T>53U!s9Ts+1IBt zKjB}pZ{#w`is-G9gc*5N7`k5<@w8>z24DK=%t$@XqQloxqSELf=~T}bfjb!nPis^+ zzPn%5;;84js;Ni2Z$W)yn?J8zsgA>>%7`w|c-0V18K9UxsEXM;+ zL154`tO9}5kr^P|P!~fVB||1Hbx#{MULwlzwr7i6|Jm!|i2K{l4$a*;o!snl@!cb= zz3OcMIN!^yAM^;fxRwJ>ORr8k6EDA+Vs}3+xY#9IaLZdq78{m9bW(3Xi4hNT4Z;65 zR^P5LFn9~92+g)h%y~qaUPvj7utRzA3uMQq=;OL9qF+HwIvt3KP%LFuc?=X)lGInm z>{&QXp(lnwxA;c$Onp5{H+2{4xS5{&6=n{t!#3r`BERD{JD9tokTEhuMCd=Mn;8L# zu>)ZjY5gj?qeWG`C(38(<}P33iz&>psPJPJJ~MU3%wuo-g>_F<#?8Ac2HTAa;^8M9weGPTmHK?KX$j(^s@MSTc zjB@v5DUty-{3%Rkm%G%#_n=yuqWh2Q85zm7f*%}ZoKNin*oSUxkD|m@*zxsQ8F=IeCOcPdkI%UxOte;Jh4s8uHy8f0WrCD%{c@8C`29jm`OWs2kRd1Ll_sz=C01OvE4n#S8t!}xx^!7 zLTC>dc&>)q`IF5x_++nh^=HmKW*`d~pPAerGrjKtC?RRXh&i=tP2_heORcK!F5ehy zl)t>%W4Y3Ba3me+{4!M+?PPgd%gN06 zMkEKqD8Q3y_1TN~jZt_A`&m+S&bmvqf@yPwnq9=v*AWC=Q*DfgY9zy+S&mVIn8AB@A^QGa1V>7MCMMe9TXGCBp#nfhU>%lMlFp1Ep6I4CWZYNP=eVU!c*{ z`74y7Pb^ZtIvU8nU!d^fn*iQ)${*ozGdD42&9Qs5PjiS8!?hd`QgQ!xOhm)_K%qNI z^pZcW$Ibl`ueZ6n_(UHE$B74vyie(`N#iU#9NWG1t@F&9Cy-#1St69MMF;F_h|0rW zZkQWiGRp^8a%?Vi$S~e0`lWXanMGw#m1}*xtK5OJclW-rXGsJrIOR|(EN{%Q#6yDD zqjqdpa{1wb#%2bcLjG`HZfuS zMr-$Yg5Vur*rwqaP{ejySMa~p6LcNQ1*S8MbbT5e--*Z6__{|9ijgNLW2xIc$-p&0 z{fN%XD@OC??dm6Jxa^WM0J+X~)SX(8wuQM0BP<%Z|6;tXEs_L9oA*#2!~@KlHzZjNSf8hBv#u z`kjjg1j;1j7ijrCy_mZg=4!f7pV4Lca#|_adc*t1*4mqd&haT54}6~|>dMU+ilFzM zxWS_cTlob-xW2n!H+cSf>H0_l1Bw(;mRE0Zh-4MqT!~tt^ufYMxCg0T-~W2gy!8`x zlB_QH1aexcAx=;vhY{OV+k-hsYz*Cf>IDoq^v?l5u<@T&ZtZWEt$ENM@qE-W0EpQdJHR~_!fp5ql-Z$<08lM40Ak~}<^23j zB;(vH79lbwSdv#Tb^eb2#2S1#8h@?&KJ9~UY)oC8ifbz{2^Qpw8=0e9;hn&CB@kxrrdP2Sk59|4s08qPe}OJm z#U84{tN~0*n`r1*mRo4>0nE?ZYz?2M|;`B9|2BN1_4|%uQ9vO!F$GwpMZLmnm z#R0rH1avVb)5%dkkiS0^(%58i$&+Kd|Mq6~J@i225b=HjILH5{09k(?P!{IA9(z;< zM-1i|X};Wh^Id|6T?pCtfLuUOinA-*0$ImLdxN3J{U678J!NFsTBcQaEwRi+acv9N zU(!GvE7Sn7oqmGa0_i`t#N_Kqp_@H3HV_tDavIlmtG6jLHENv$P%7^`Th0`)R$@ z74HYO9h&jHV?L=7@fOID1adEFW zevuMk7fU2}x{zjZRH+Pjj9|?@clv@*t2*d;&7sZ;50_`QOR;<)Af)`l&#=K zL7?aNW%!GBsY9%o81$QJt>J~`noxo#53{jrBqmv;_((($_R)WNv$okm(3Yvq2jsm^ ztq-Z*O#Y;eO;(IHDwtApb3(b}WAWG*oss3BK;w13l?V;PooY_2>vW z$dYZ`bWf#EtOt9Ha|o;1u=Q!F{GS!@FB*-Xyyf}B6x&a~*P9_+)yGl;HdxmP18oVt zyVNsfZA=$mw=A#3xxsmF6U=eSyV+ zTnUaXl__V7!Z4bSjx!NnAUe*3Mf*q-l>>I(JyKL8ig;L3%O}P5}UW*T3 zR*>Kxmp{Yk#z0+gr-qo?15l~oEV(A2EkHnNcpm!4b1?&N@*M{G%1AMBHPA#|KXj=|3H>g=MTB1V7;D@N^>#$ZDs7e8TDMk4jqmGa!tTiKRD_t zdgyQ>X3TJB5`>rgUf6P`_2JpR@zVLXze>$E_; z<}Z_F(R=>pcCya5&-0M(Mba!WdMbjRhvmg#d0^($O2(((i>xN{;ZK)_f<0Upha#P7 zQKEKV0lfCVS#V9#``Fsp_-R3f1zr zXkH>6*9Uo`*PT{J>gNB0c5-!jdblcDJR4DBpPsHtZEQs2JY_D%c|&}VfqTu^^{X(_r+WTL>x3_p`$ zFO{qHzCvglt+f1csnnk*{`*!9<8*vS9a`lkPfj?nF6masJS^>8u@dAWUsaO+qPnGrv^QGJgWxT}XZcJ} z=P+8>)0JBX2)g0)Uk=c3>cK{lcw$-2zA@OR#Za~vXMDwHai#stghzAW9?sF7q@m?F zL{Z#dw$NXlq0H`mXP3sAo$T0eASVyn9U$^e@`aiFgXicwOY=#|rU}Ns*t)_agj8$l zYoYK`OU8Gm%u?49cn`MC-_y;mcsdmr$g?C(s3%L+6=Mg;q*$ND*D+Jt*OzY+Cw3j{e-XCN=~t*BhUeJwB?2 zn44~4OpFMJOC?L)>WH3KtHZSug6RXT{Vz~DQp+ce=e%}3kM?QhU#9%|t5!`f)HF}y zCe=V8{b=tcaHLX!U4e)uDo5#_9m_kC`-*qolOkEGhXINQ`=@jA@Pbl@*GZD2nLEmn z?Gl0L6H&h@zD~=IzuzPsV$K)H_;|iA=>bmM-q9@nvt{)EsJ1Vx%`h9Rzx84;4Q2hy%~FS$;Z{6e?Rff4j`xUU`A|61@MkF*pCieV`iT&v$pbi$lL+$YkL=nSaeA3C+%k=!!Ap?{d}?4%{H z4bQGIVO3W@^SIfL=Zu`)Ztu`sT7P>w{Pq#=J4gLhJ8tO15EU{PwHMk^jUUJvXY@$_ zlLV?u>NR`oHiy}f)ngA&7zL*9)kg|DKXTf4d{3#}^AY-~Z-$-#Wc2lyL4y zr*t7S0|VnXkbK5(D;h2)vA>fxk8_8fpdRccy&UnZvwqjNr)Sd(au#W8qaK3hIB4Fs zHo4`|{rmNQum*aVoZaP11Ey!w%B>DU%9T#617u<=FVDL1oiyO%jXock9`XDH{UMhC z6tnSRuVUQ$D;ii&%I1!7uZ81!kz6s94ODK7o=K9ogikR)`P1&)(4#r^K?0#5wzDrf zO&-i{e|z905=z*TSE7^vKW@?O> z0{!rxOOvO||?Ru?cJA(t^y*Dee#fg&oc$UI&<4x=G!h&7Jet z>q+Zhr(TWr9rbM}iIu;Q;@MJh)P)2AC?fSy=yo#ToJTtiqfwi0?}$q54sYXdEz@MU z7z>6i4!G%#aF)TkC_?MglrYZ4o>?xZE$6Q_s8N@UrIXYL_hIIyywIM$NBYv5C20Ci z`R>amn<}%*q35C_KzZ%Y+ilcXkLujXt5){q zoF64@Vb*h7J7TL}Q@SBEa_4i+jOgE%-FAK;eBVH6PBi=p5T~H$x>ao>?Yk?NBnRg{V^& znjiST9SS~AER8cCu2x-nL@INZoWYq2`?1O)Otmr-Ig(3il(v|hH{Zrd&kk4TFuJkI zv|``WKFb3lf z|G4^>dV8zSi~IYhPy+8a+lt@!x}wuQPP@2faT&!0U97mogrz4MUa5Gs%gt>qYbWTA zrmMsk7kZWYV=|pd9Ga{gkpYCp(e$z$1im$pM?lv`+^73G&6O30xY;ROADYB?zNK5Z zPdDM8lV|AhC5HlObLl!{;?#n;rHhG@K)<5X;I?BsgXwTh6OcB;Dg6J$ujUpZW~qn%NLsnK%PmOVyzt^!0`=^ zBE4k;X78Muvhg)ig(SPtA1%CfH5pQsV5eNHzM0F+G8yo5dE<~y2ZmO}_f1XUQk=Z`qm=&SB>lQQ# zG&nzG^Pdu^fsyOhHPz{84+&EPRTo)@r7akUe8wnuS?o)!HFqewj8%SaX1<(KD^b37WN4J?g(8m#2N+=m%%%Me7+yZ1QI z9{cIROTpUmxh<~=ijo<5o~o5ynJpBS^t5X|t$%Bh&}0ConI-{RH{X|=zpBQ|qP*-H z2YU)yX(5C56hgNbf!2nl-Q`U@fRXwtmE#||OKWqp=zlHf0VnGP+GhOQZOl&F1v_Hf zf}H{&)4m$E^b)I^oE#GapL9JKd2GPU?$9f*44fhGFHlcrE&vnd1I`!}^TjuWD#)Ji zyT#)3Vm+FTXS=h#61@I)t#92wH5<;c?wl%~jLXjqk+^nH3qO~}pE&LJztihjnpqdm z>*yx3Uk7SNo|Ds`>T9zv2@ zG_&O!xW88GR=^QKtZ6bSlb*$4pYd;YD{BUh6TwCBv~4xd7^qx#8|i3!S&|AJ^&jsJDI(`3H*m zvQu_U$<8I9_WBeK74S!q8@^mc7sV;h`3~GO!L>7^G+n=yx@X_BlRFui7OZ0PPd25o zN#Al>9^y1Si1FUbQdvxsmM4R(iu7)8PW~8BU1C?^-SU~_(CF+6Kk2fzpChjvpA(r~ zt!;e!oQq!gnS?}_Mc0A>v$H_7=e1@a)g{Nb!hm{<-BBVG?hY}ZX9xMVZsEDMcWL?q zr9QF%+d1nE>q00)C_wUyrlSEAbKJ@P_iGf*-AR&?p56<=~zyJv+!-$HIt^ z)j8~+&I>6+{-{NJn2baQ7zgmrx_#B1%2}T-*|Q!!#jzL)T&T^JCr5N?RvqvPbh>UE zmdur`3TldkV_pQS0{eLUAfhjwc$DN-*b(XL&FPaa2Tc$Nz)&gu>)k03^MeI-0pJPD z(~u??#cQ=Kd&Hkq#NmLw8B!voS(9|EmOe)rRulh(t&-U_Z0uR= zx`xdepY4^g?gzbiv!|bG)tJ2`6~$N51DDI}K#t)>)AlK@rc)68$;4?ol=rXaQE#9W zt4JpNYFtLupxCMPdbB&IV6ve#`Bhy<1Wu6)Qv+9#SN3HXHx<)+1c;F~&2$*?z#(V$ zre^1Dc{nK7QreEqgGHSxdj`u@l&yCTKPe^hhQh^a91u_UwXzZWgl#!F`M z>hd5`hd|KgV>lf&G2E#|g)O8D3ztFo*Y*ZxxO)QGYHWienEc&95M3cTb}-Cl^B8Y( z$9@c>hjIK1;=$tnh1|(yNx+XY7_S!dKKBb@Fkk~SaHsy<0ORlLe{jY9y$*k`!{0ja zw+{TR1AprPpaUX9ckQQQLha7uZJpKZ%4*%cEFYpS+{1F2&J;+?x#-Xxr?)K@=O2B7 zH?nr9Z9RHlzQpt*3B^LwQLHbf)?+g(HD1y*)B z2rqjWoL{JJm*W3zjnePhAeUNGB=KVa=*JW=R$e;0cZ$KPLYApgBO3Tn0If9dxo?*P zcS$Lk2f@=)`4yWxt3-PAh2C#Onx5xuoW<5LfVeqa&~_2 zAlo{6s4hh)eeb(Y33my%c6HhqDO(dTP4655A+9B9p)%ceur+;f!jtC68kg; zds`_vJ7R7NGbeUG+ZEmFDrh8-mJud3XUS7s&MabGmoQXItw;hG@Azgy5h4)aa-1YWvgMjL7RFVI9N(NKIDO z$pv@pv5`+!3g7qTXKhG^9KZ|D^C*}!cxcqPZSN_8T2V-NnUapVR2Oa)teqsdBKq(d zlmHM$R=2UWvK%yL((Z`a#@jGoUS@AWc#x**Y8C<=3@O@B_}o|N_Y2v z436jbb^ajEp#gA?!}_k5d#7uK_s_lI%GT-C!($plI2DRiu31f%5S?dF*C$5OzY#0( zU}Y7En+HE>YeL|wr$zj?X#^B4_14!aRrZld^e7-Sa%+q4(t9er zKlhdKB|4u{Mdefw#BE^Hlw6|hkJtN4?p!3m`FhjFDW1mNTYvLD)d{{Z|E_c@P?&v) zX#2skm;|!|LuF{Lbi3L|OD*L0-4oE^c;nQu69KeWYovAe12V*Z#0DJk1EE!F>)W(g zCFj6~XZWmGiOZ!;cmhsWUv2Q*l|&n-Bu1L?wE@MBkZ(mx0;(ErRUIj*LloMU z4nz~4>k>5NI~5}k!4!=?CQU58g9duhUQi_(yg3!9zwWGjuMAU|+GV4o4pC`X9k#S9 zKEFXqqtCE5<8#1!v+A*8ajCJ$X=C3&rNKoSd#RdtQ#EbJcAZ!C#l# zO&KEfN0w>LKfe1O+rak&KSM$uKyWwHDvxoVDq%Qrn!VDDiq+V{ugiegk;ZLa`FG9C zZ!J7t!ONpAivG^U@1Qwj7eL=Kn%DF({)@44sKcl@>tk<;8+!}*XSoB<42D7HkmXU| z^^@X#@TAQZEOgiEgGzal_qjYfKgK{E%}Pui9g-hq@B)6#t=w4oLtMzup194wLf)1w zZVQj-K)9V6*Xv>2k{O=SjQ{7QiQT)aEkn#RLIJ)9kIuGJf0SLwpO{^t+5&(i9N40+ zgXR>w6jz^cR*)B4@l)bQy@R0h0gz8v$0x;V(y@hWnGW#VZ#&W9R8}qOe%AHdm*e~4 z;$R>&WTnEDfc?k=>jU;0A0}u^(%k0+01Ab`wyVv~%>n3S(MS(KtfCH~KG-(-q%)FJ z(-4^spC>;dv(_An^JPxBx;p_u~d`vEZCabAV@qYMoib~E09?p z^{|eVRL3av^LPnmi(G7Oj$XM+%+0ZOaB*yTx^Je)20E%uU4?o_3yc#RO?6S zngg98cPbc?7;A`*5!-r;d$odPpZUF1O_#ohSoQW=!BMYIX+s^LU!^_+xf4bJ4A^D~ zRAHy|jjB~7=@&bcl+1+MqVk~jtdqB`H-ntV33`{f-+J{HO;^>7vn{b&(lWeikrIS1jTb?B{xbQZanVU5;Ngne_kR*Nt34L@F1kV9^rfBEs9PDO)5Mf@MRSqR9 zU@8-4j5Brf&#;YqC0jibKTX1wQDti3c9bw7vb${>x~O(ZT-ADYrnYMQCg&IEz9;dtvV-54A8&6OU9Kv#@BJ{3nUhW<Q zz6Wkve_j1r%cSo{9G)6oR9O0KotfHqRh=O%HsJmyNS=~cv0aVp;MW-(W8(X!#yn(0 z>i8o2K%35m8y1Bh0rQrXOhHcz$uVVzOq*bxDQhi2ytt>o4B7-e5iFC-xbx+eb-r58 z#f!bQpEU!avd@2b-Q~L)Kh0?t@p|KqHtdmR!ucaKbsPJus;VSXPvQ{qwiLkTwok2xS^Ev)&nj|ATNY9& z#y)PQL>!vn2RE58*D@su9lqWFtoc(TaKYJoM;7E}M!2JrGY|r^uZIol&QvPa-D&gz zXAJtem?T{24(aIBjlZ6q;YDOT?Tf?T%RqJ6^F=0pdu4omr8Z)A6W`20d-?#mk%9l9 zA;JlCQNvQ3IIUXO&Zah}yzqKUFJEfOzV%S&W+3cM8Q0Du+eGwnu-GFy5(LVCs~L$7 zmaXv%%@H)X3qXQ*T2$RQM)%!a!{gPeCfOLxN~#5T4)6w1Z3IarsUr5(zeFr;ZKlmB zh2RYw-^CvoWrPJ($L3_&ND;1#7WXQ#zmDZ*A$w3~vEhBCC-a=Sa>)-`)!bn#`VzJk zk7pg{uSDB;fsbtE=XgGfWH&UL-k*G^=*89faZr&Z1+??Zs*D;e$M*zm+&5=TcLEu^ zft=)S0@;v=0n4$HrPkJukaYX^_wK>J3`qlh6b>ECUcB!RLwQfDjA*^_Jz-Z0X{>s) z#EeUoPpzloiLT1@EjkmfH?X*eR<4gmnI;#2_Qr3!UaU%ZeM_?weopj~TQ zhY-wFBe|Wo=#s|-!2?(LW5*3O>FETAEuXlO48{C{GrINDu^p^V8Og-gVL4vugupO* zKpjGvJ5r|y0q~W?eRu@Ko1q)_(ll@O809=SG7^kwgUcv8Tj<6-lop#yf=j9#dO~;{ zUr%6(l%9@>@(Rh339KQh1g&#)1PyzY?Bj3RXW7)$(AScESaZ^4VM4wLLoNiz{}#3$4qaZw0g@dLMnbwe%8_D^t24O;cQdwnaTHYwrnpY2WxyjvdCDsB(oY3~Z`|pfQ+XrHWgKx$m=K zNE||R%xct;JNKHSa_Vj*PpB8aHH*E&mb~#&Bd$!>u-Q)~hsCi^>do(80xjQ*eTKeu z1;TyXFBFlDI@D)fKxKzst~xqtNEPt`GA8MpjIqc(A6{rPXLYn|O(Ya8n zSjzIa5DOPMDR1JvJSk);`zT;QMMqocw}cj-)eJ`uOn^RSi@EwO+qPY$>{Qu{eezRe zYE86ksdwTvhk2+zB=!%a{WhLPgtB6YwmKAadi}}aai1*%?EG1GE8ha5I4#C)bVheS zdVNg530vUnWUu{;n6jGZ*K1T!?}XL)_5u<&fbcf=LfT`$=6ihvRvZr>VaTPJg5RMF z;w@8OApG1~c!Vf~qIXVfYU7P$b^2MC8R??VgeA5|@-uLZ#1fX+v4bR{#>WY}EwF{B z+1Ke(!EGlJH;tE5%*_kbaxY>CC0>8&zpL!Z<;@h^Ftfb9ZQ2av#gk|_#$U;ywS36F zc`t?Q!}vh~?kcH~u)$|y;O*`pNLFL~EiPY{;K@fjQjw zFsQd=iWQvny8Fuf>uW8eG|`QiXDJXCi391C03D@{2IGkUuGT|rqh5P^I(8h_+zGcp zY>O`ouB*mVQ#6 z#LeFWC_NK54&FVFiuoi9atm-ETNM>H3WhuBK> zKg7i%pV;27eXp{b-}?*&LW5X8C@lpf1|WCd)qpZ(jHrI_l34w6)ash$2vO;TeaPE1 z@U5zCaOyNty581H{3(O6t6n2Ff?<5KB!&OASu+B(F8(O1f5{2&W8PcC**C|}bzkm? zFYwT0mGS|N`<$=zA_QU~@S9Hsw);#9YDpD>Ut2PbPzeTnfhxZ~TRq>_x1|g~?ncz{ z6E>!x*u7(6Db^JnRz?Xiyr%K-%2yo4**9GSow1at3Uof0!W#geiRncN1uJ+kfa)es z;o7PtGtaDjy@G6Jsz*Eh5d<5q(YsU?K;JL0mvED2W#Q*0m68+XIYO+C?$$^q(Lk|l z1GsBng~G1!1_%9=`t9G+Pi+fS<}XLRVT4E~54g4n`ZcQ=jh6D?aBHTsEAt8cWKxGa z3zMt+>E!~}q)S_Lp95YhPZ`E=7~s)SQi)zv+YzAYd~VK> zy+J=)&;$OL(I$UKA~f&UgAzgWjI6svQx}D=e|j$>Hb_l~3iw(geB& z1lLDfs3s^+EFBWRx0-ND^t*?X6nniq7KIc0+=PQr*5!^0xHwK22k3nmYX~|vvEAo- zi?n4_ zTJ>z}!=m@<=(uGe{7MgSl9EP^>d82X$9h~&ag8#bnJ4{g(A}TGcn==fWZ+PiVc67G zKpJaO7Telv9dlhFOFy#mHfyHrh^mi+pMlE6dWi6)JC_fNs?>o7g#Y@bKY=9qEKVI9qWmIy|?w z;#RhDw05_ld1V-T%5)t86u(Gwbai`-E;^UK)#Qn!auzpSc z+5_P|0%l_cvIMXTAe3LzAQ=!I7B((6CLS&h?p=I50um-t5+WiJ4mx@YCVnmA78igz5PPD14czdhhSi0VFPcdz6-j8 z0tVkf1*4&%q5{A52YwGiB|y7J&+`bKP~$m-!G(x7C@vF&@o{-OvF7&!CO&i5U`#9$ zQZjOi`^+q?57_tx1cih}L}i}H%E>DzKGo9J(bdy8Fto6=dSPv2Yv<FpaC9s4mpG5K?9 zacOyFb!~lPbL;Tv_~i8L{NnQJRxT6}_#a{c|Ncw42mrb6prV3NA-8g&-0`{{GX%)hqP~{jzsNf&j1LYY>A(TcWfu^CA9$l zwe>I1=kY*^hW~(Q{nudIe+R<-`{#eJ*Z+??&?LWvkBCVLy8-GjzuTM60z^U(q`Zm@ z@+WYHs?NZ7{2!3b`-9;1?|HKRy$%4;@Bh++GJ=cOzd($+0LuL(kiIpXsMULm0K(#N zqX4sQ4fKlB20Wermt#?k1#5T|Yb=+fj^`BSIUQAiTzxdOb1F9oYslks7ZZ-><-0i& zEdOINhK7c<0D4wQoEDY~WlQLM7ZJ)}UKdH+55gxL-=wj)T!Ch9ZTYl=iIQAP)w_hFclh8@&zbR-56cqxS{@2} zoxHUQ>y&u@e8aHJlKx0<$4r}221Rqn{4Fxtwuxl#iFVBAI4Mc-C1)O&Ij_r-B=n{M z*h_)t#CvbbZr-0WvbkHD$(&5|7IA~hPfo~@`$t!LMSsM-Z%?LZ_Pve_VS)e#SL?f> zN`zz{Y?$JxjL5sOlV?kaFHYZ*NLn zVjhY@8Kf3;rqm(tF0#7j=wmhNz9h+h;St0#N>^Z{+ut5d=NWHSdg__*w9?CbaG3rD z3sYKF%8^<4Q%Iy0okut(qG;S5dI<(%eG^U4D~t^6s(;a&lIWj5(+}VrCzTy`059(C^uI~jvUVmD*zt}tb>7vd60KU?*nGcB2fTxD-+y=qkL!HbEw62~S0dx87JEN{XCRj)PQeK=%Qm@g9 z%y1k=xN(w0{7h{>Rzkh;Ad7%)E8(Uzknvlz-xol!vEY+~7gij@7vnC5(PI*d47N$k zx4u5-@R{;%*V>S`^UQfQn+k`~qPM$^HVt9AuC;dA~rUCd>&%)Vf3|V%R;LD=M2D*P!Rqft}YUT|Tj$ z4mh?AZB0Rf)23E2q8zXH@!@6brlAW1DgtV_h6)(GkAuk}S*-9|MF7o}n&})?mqv?r zAB=d;khwZ1UZP^GoRy zXs&kxu{VD3U!aT#P@^%jWNAQ3rSY1A6~v zYlB$r>Q$WPg^+CI)9;yy2|~53_tWK8!^M{+e*!tY*tbF?nz6MPo=4;8!uX8DETh30 z0o5ZLru3uL8%mRXUb#Y@%Xl!28+qbPFMHhGs-$zC;y8teeP5e6SzsNe_Y+G@YJbk~ zx^RxTVL7m2evI&8n9C+oAu4|4N7T_c;qDg z$Il8;sBiVbQ88Hu0?Vy;cj>DRwZEe3k82xX<+siF0(`;4kmCNLsi{o@JE02BCT@yW z7V)@Ld@W-Sco(*IJvRC$jxW~9G}0v#6$@wQ#0A+G-gY%LdJP+dJ3*){w9_Hz}1sNkG+3LsQvWHKUK5Zn{ zTvjN2Vf4rLD5YGIE9cy68mIqg^mFm?`WshXwe47-C#!E)bhfUbx?x+UdFUP1D|Luq zi(tgap@YDHY>^@vMt1l+p!a87r}rjHupx8v zvt;|GVoT7wGu~n9$E!5P1gp;@OWTnw&3>lIxdxkpuoqv#dP8^|8Y5l(dzqWcmY|4e z_Fo{=O#qDRu1iZ$73m;3^?$MV-f>ZFS+{5*0xALmqJUs2pdd&FNkWmMP=Ms9AXz|i zrU(j>lYk&lk~1Y436@CCIp-uf6tRG!yqnYAUmwrwzNf!_@7`bk-sfLXd+(}(wbx#2 z%sIyxlc3@Y`*r!(ub;fQ3UjaVxRvn*SUBHuwLG?>3z+qhmbPRCV?~D{2ist*AM+;2 zRUe6oh=Pqifvt=mba^!Dc>97p+Ac?77v(zm&?F89kOa-cmK5WFN$^z^T`N^_O6DsekHoD_w$!@v z@bBYd3|vI*4OIvcbl6lJ>xK2&GbD)Bs+q%-(yFlp3FK(Nz*l?Kd95iVGxx`0{_K+F&ZSXUZsW12jO z05GL}(w%RcZc#ElnZ!&I>rvx;!RK-Iykh&LYl)f!oQ@&%%=-x2r4RcyVH(m17 zt$r4yB@ad%bb*5I; zd8>l3r0a5z!;8g8`KLEt5geRc0rjc8!R@bg_%8&czTuzEy8r{|7K_#~*sAQ^k0e@s zzzZT{V3<%qc8RV4YD?6qNYSX$MeZbboeTbT$m{Q`6H7QccAjd3F7QcdWDCQJf#y>` za(j8@Q*N@OUkplQBPLF&tAWFiq)*Ik!K zeMH@}B-Jge+cTM#Xk4j^fqg=cPr)Oaa^D}nU&QT`sbJA<0`Ib{ArAlxSwC~!F6<2e zBKNSLxg)W!%h!h%A%w6+vv_PBz$XybIamWVqm&}6r{CCF_?Y5)GWNAVd$M~+l01cm zbrnVw!|ERpjqSGDJZcq$1Y?{(aWKU||HGoj zNE}8Vmhc^&WT@7#(=rvg!lI}hhHw?|+XdtvLg%cue+%O5*#-~94HskNj*9b9bjDHetzpe357p|}u+gU#vZ0cP=Y+_Op+3*YBSwRc zS{wRbYfAOsz-r;&WajDtK4kAj@J>OQ;qmbxWP2Wly8eerscEZLt}jl@@}#OR$tN=P zrP=oFuO2Z?AUR|6xJQo;qquoqNf+ljM2k{VAsEqst1!JhfQPGL+y56)WR?=X7;au9i%l@G8Ne+Skz0Gjku#?vgH#|mE! zcLgkFwjo%bp)HCz>;)hY=m2QFZUCmoN4)w-avkmaoHah!=7rPQRQJ8G8q!cOz=(Fo z#(UgO&zdk0pNKYZ@D^@a)=J?QRO!D#D}N)!Lf53s4t3YzY+z#Mv6s7sP2k)Nx%ngc zIKD%!z~hwZC0!#jfqI&A{Q)gW$bH$zthu$J*KfIq!8ItsxfIJt!UB_c{kZ)H*ThIw zr$TP~?{+!yVQ&rBiqb1Os8$Ay-MT;BL`-=o^Z_|*l{w(JuFu@Y`ZA4Fysjo@4eB6z z6PU2TQ{LK-JlKMFj(i%4@B~QiQJJvyDM-Rc61AV7-=d*^jwX)ecWPkAV1RV_={=BH zF5h~G(~gk_K1*bMYyqH{zi~ibCfRmU!FC#+@;bsuk&943*y9ZW+@!{Sb6a&#GQ>Q+80TmFKP-_2Bb_E5hz60`t`hkV`9%RF5Mqifu1m zd%=4D(*C3p%d4wbuYfLpZ9|Zw&K5OOSgOrw1f_2Xx7%OFg^xshtBc#}9zW!yT`J=v z^{;xELj!me&%~%h=D>Zh71C_L$(;-K2E^UK_i4t}yIGc2_gdN~qUZwrOOUrk;Q68i z&g$~PKB}}`Oai5&_+@&C9=yF~g-4%l`b8qqqxJ{NOZs=zpYPvMZ%YezO?;59O>b8o z)ht0G&V<|H$+$4OpUnG`m+5{SKXOQpn9#V_Ps-ZRG7%ZfWA%MtQ>W#L7R_;V(TmT= z4&^eULS}G;=yISvFkLg2zZSENp(O;>quEv~m1s_DqDSDfBcGI2+SLal} z(_W5TvM-7f?{oc@Or{5Mn3J1_<%lMLB2Bb)Ilj$!J*BZZ61JQ0Ri1D)lPdqh7rDAq zST8Wu20HOkBA8_{I;YMCL?*TbZrv4TuiVS4Sah$f)@MnJ2Am^YkNCKj zd6;aH(@b_aeCrME<3^&0>`aiG9+=FjHBHU2G$9bxM%9LSPtspjMtKlHZOLh1*)1LW z^0d*iMpc^DXS+w$VbZ0jVx~Ujc128Q#FNmmJaL|TT@0&1?T42AXK&-wW#&`88)lD)QA820a zZ5Ded;fg&zQKk;jSoi2Rtk$Y1jV6Zm0f78(-aNxX=5)qo8pA{modQm#HWX-B;-}$3 zUt5-ffpK|F-T>Pt0&vJK45c18563k>tiCt26d66Pb*&YDw|%+=vT)o>@DVpE$^eQ| z>eo7$@JK^`j=PqM99Ol6s2Bvz#jv>ADsnHjS`P?S1FD)UpFK>ha&+Ib-wAh(*r{GL z_2FkFnZL-ndZXfg^V))PIByUIhlV&lfk11IH<9yUNry$|!}0P)E9P9cq&ao&Za^Ba z-XxZZc9H9+X?t!$qY7SNDD{3RccD;!HST6N!p+3`)fxx2R%|Qy?MD*girNq?S&r@d z&A`nxBdEy?e92(%dT|$78+pOohP!}Ao!ZX}nxa*v#i1%sT-=R{t&XxX<-BNNE&?Sc z+z;q@w~Hdw9%fOJd#yF(pFxZ8Ob7UtqPakoFBQ>J+KiH%es(n$0=P4Y`{1ACnKD1! z=8r^z%=|{-m!g@BWf#QWNGe~55XF=G$2;aPB=Kup{*^iK-$qt{L|Xsowf6Wy=b=08 zL03*EO1v}4EK+bd>@F2056&EiYpFqH?4qLTY-v&yy)D@1r7v33aJG;|dDzJWMO?Nk zd(C^HlXBWibmh92VB$LYH=Qd6w_*qG?0E?=L1qQUAH;W2c5k{Q)x=oMG&@Yr54hpnu$>+v0xE>|?M!bj`^cM9Mr6NHI$rA4B7;^42 z`@mMDP{NRQ{n$F=aU&J-DMqdv+GGUt3%=D-tq zbGslxb09jg1Y?+g_K2fayzu34Vur-`a!;S7#NJXEv^{!fI}C~W0b)Gu7Nn0qPBl_tLU zlb()j{IU{Zn+z~_#38{!9?T?Z{m@^}@w0a1`&fJWaIpzm^p;f~2*+0$0in;5r*up_ z`mjE*G_!nky=;?hLQ(vV_zPPki~W{Yml}#jsiJr7T4>h`tQqY9I&cY-Z~1<$mf1D>uCDQJ1$Hm%^((aVS{gH6R?R4Q3?-$_mB zspp;wR25dcJ6@?r0=?i}-m==dOE`=4u%Au=z2fDk^Qi0M4+9c-kuvm5UX=DE%aTLG zZkcyy%L?WPeIP5BfG?y-k(A>mmKF-x1yEk>^3<#kc21uYaT*d(@W zKv2B!$a+*Vce6H94r6J!38q3nSM?GzjT;2NSDIH}9`a@Ic3RcpeJAK0V`XiVYAoBL zwEX!brc3K{W%$~-?0r#`Y^FB!j=$)2Mz@jZ8PgZ>L%Q26e?G zUmnmsytE>pgnLYG5Lmc=qxyErkxQs}I0eD9^Zs?5bSXE&?j zLk2&glPg}?;Rl<{juCpL7Nph3k;h!d6Fww>fGbx@Z2+-(AVgWT$v`G?r&YKmN94f9 z=Ssl$c@_l=8^%{rl9^Kx&zLP2u=fpkE8k!;8Ez%SaYu;7L0XjwSe@qKr06)Tf*0xi zfZL+7qE`v>A;#$70BujecX&gvSA&sWT&un^MXQB`=U$R z!hVxuNpp;3pKNMhy~fjCe^E*UQWUjo$P=!T0vF}TQt9l_L;BGlpfC$7>UY%A3Bm{6 zo>c+P;RPNz=#eDX2jLM5>vh}@=_A`N8GIg>dwPs}JOV}CAGU&DDV3;tdtY0RT|n;| z3?~wH1+)mO@YJ8rH4%K4$aH4Ugd}b3TXVs$^mhvdi>) z6vG$+Wa)>7S2~g_l^k(oGVu4&ay>|j^aY`H1t^hW=HOdua~=NP6z#WPzn<)&mGL5o zts>V?R1GAv_`2KZ8HFgFPc-UYL9SS5Mab7xdA>D$cd35G*+1rFVW;Ti?=$dc4(cyW z`M;+7W`2+vekoBd*;s0^lmsyY04zX zyO`gC!SfhWFV-j5FRgOB?NozLbuT`eVU481T|>z$eBAX#a-Oh<)A1pu!_aK7JjG_L z;9(EuQz#bIaw=2VUtX}Wx$*4Ucw_OM4I#kou#3X-f#q}6vaHV#i2|E9MfZwNKMJNNT{oeU*nYZa7t2Y+TVg|kOWBN6> z^k8mMEd@@;PG{h0TNNn^Gfw{kKs#dTtn+c6!@CEdWSCTgzYcF|BFhyfs0!g*?U@cM z9^md=SNF{#$3B`F6zXO3Wtmfjmfa@tevK{1j-z*K)h*C?=#W=)`E?Zy2g*lC6dQ`+ zaK@Q%X)k?$k6;=cp)*|oxNvVjt5m)^sa=&I{B;e&+*e+ukZ+zHy2PN|fXWFEOV6rA zUK%`xsQ&=r9x$c_Gj~7xo3QrR&%cX||It_!-D>{AG58pg-(X=zl;6B_SuR#9Den1L zAdRMjfecC$E3IpLvS)Zkw1NYhGhH{_TL(x@GeFCqc|aES=0hQ@rwE{|dd~oST7*m& z6(R*Y`2&;N zS^%f?=WjHKNaU6|Ts{-Rz-9?b_8u=_Z`c4Xdm`1avr`zBt&Zf|Nz!;v;HK@C22Y~( z>FZ~2=2{mR4k_9_ZeZ#R# zMaqfnJV2pn@s#Q{87j-!vZm+K8z*ySzZZFcJGeu#tRH4(IX(}e}oL}Vuf<|{R>jDTyN@W$TTma)}J;RXSzB-tEwu>gU9*PA8w>S6c62X zPXz5n1XgTXEm#yz`t@cMM+=e>GsA*3zZsJ0j7{D+y;sd5m~HqT)9Bm{YLeS&r?TZe zlXx0aa&466hI7w8Bv~EpdtDhlO=Z(tUKT=LwH!-um4Er;M`FK;dB(s^)_y{dTcc^A z&()1YL4Z(wt)h4VL9%x8;?U)WODBWs_4fmS?(w)fcp8d}HkBP3fL;ydx|H(d8f;c= z3_~&J;mVL`1&Wf+Ob*?BhBJ7!2KtJIdfdHv_;4)Dxjnr%g=D{ITG2%|SUOx$wTbq! zhDMdB7_Asp!S+=hSDTx0)}TiH$jgtObc(KVQ6_0ZU^@ew@ke}y;}egMbrg}N-IGZR zLT4+upQy3njd()^mmh=Jo?@(G(8cf#4>0sGaCh(LH|!wW6Bw|g-NQr?rA{pv;<7JH zI%QaDxp=JpvW9Ic9xUNHPR-v9u5}K&UCB0WF!x@F-Aa2(4s!6z#@(+kdL46=@@@(Vkd=MRwBy57w<(8J2c4R*3(u@h7JC&o zQPh`}gdx~r%Sm20&lY;slvnzv42q}3OOOT~+rLMCtbrWbv zFEAX{7lmGvmJ-+N+Pl>)|Bi0uV0~nuV`;{YLj5|k&-GWJO||k5?3+Yv<~M^ltGNfR z3Q(j%wo&EKLPF*^ZN5FArg&z={+F>uBQ!v zMLCmDp`um2v`cu8`rZ!^tKTP#WT6dfxvVd{=?@S;tqym?mC2l}AjUWIk@zyI1;S!! z@@tKKxf|az4%b%)?FCzdSHv`^F1lPlY1~;Xircf;qX7b9L*aouczeZa6A;*10D&za zXyeNw9CK8-w6@%lvE(4m0+jGFq@WDvy(7ncd%xr zV{22gGAW=>YV{?ceoLIEO>MUWt1xRzsxE`=Dt0#PjyyhJ{kVvX%o)Ze^;g+kE3J2y zYpr`$teihN^&PTw2y44bPOD*2m1ydO)$LnzXQ%yG>pG2@r9Hl!EWb;w+3HF4|MXV> zcc;ex&#(UpkgSiev|^b7+GU3|aA&Q6{+)FocQ*4bZXQ!4qD^e6c&2e&?fQvCTE-qcKreugj@+|wb^u=SFJ+!(KzSDV{=t{|DpFWNw>#@1?>!w zQlJ;Ewi1D&{n6d`r;leIzHdH+43w*&;sa#fz9esd79aVdv8%6iNYSxOnIL?8eVTFS zo#BhBN)hpEIhCAo>W3N^&GzVn*~)v!U8~tk#9ltR`fA;pO3jGlRi|9bcfm83(Hy`i zw;oGlNW5AQ%@Mt2Pi;oazmh)caGbc31GwMi=Zs0^tRCHP_yNjKxI*JZwXKo!k%U&u zQ*PE{>kG9Av^`($6yhobiKvY5V8v0Fe_Q!b_bl2SexAAe>Z`~=3_t)ysZoEOT}Y{@=t zy9LcILb9vsL!<)64a+8l^rvr^Dzp)tMU85dOW1Ph>9+8gJ)jF97#$qSP*sqK%UBjL zuvI0jajYqin}&X-i-m-lxjN4+etI+j-w%=DfP4`Iw^y*>FJSL|xfig&?|0^zAbin( z3*Kn=l$AQF5bRBsxo41%C0O}OKpQsCPcxRehom$PNY>YcZh||ELd2+Ag0O z*gF`S`Y!*fe?3LeM{*0^>FDDhAZafY`ShbjZ<*skYxbv^-n$|C#>bFdSVE1|b@ilX zVnBgMc4j}IOd|m~0kk&}Q;=j^byn3bCn7-))0XX<{^ucbYA-_P=t)@SyzAcej|W$4 z!6=O7jp#~;ELd$u_OKvC37&Tv1_&PuzH>Mt(edkiiFWf3VExbb>*oTO$1C&68&%3w zCe~E0c9`7XB~T3v0LNN2(J7M2-NKi_c^5uAC?h@ZIC3;-dDM4;*wc6s`&31i;ZurG zw%VJ>KvRB@`;fkbc0j+F?G@gk1+P*1MW9zq#B=quem3@{o797TPiQjpVEIr)Zfg4p zt9UY-uG)tseIcaO$p+-x2w+*&uR_((VdI%aUqwqY4=J=Bfq19O4$ThI)JQ)6x~GhS z)OF1)qkpH4_N)H%XZ0twn|#XJ-%LKo8il$T2jj=sw5H@(3KnK1rT4^e@l6KdFFS0o z2yKpsBbwjCP0As=2h6(-XR+9F52e1%mz1rknV*5$Zni_^f=cJoPO?b*^@F^FjmqOM z@PsfYyPO$=aWVH2i$gxiyn>f}(fFdq6C$y_V_Fkh5=%Ob#f+X#jDsl$x(20IQ*2__ zL_7`a-iD{fM`0;M5?reTlJVLXj)E`a7H>fw_Xn4ivlSe#WYga0Vh6<0`XTR{mDhmk zFeM#a%G{398+?CgYd`mLSN>Lr@PduZL1BCSFszrCMOY1V4NT{NZE$1+pmQ3vM_qW5 zOr2%^rneWY=R2#Jl`|m6RY<(v`i=+{Rex0gJg38>&g*1+>9;^brJr3oHLJm)@BQXOG2jv{>|A8qHs!o5*6G+NsJtM`mv2L|dCL5%#a_xgJ>2H&n8-B`*RH5PT!_ zSn#@89sP{4j9_v8F)yeH^Gre zzlA(|IoM-W6!6}S%|_0e71FU~T27(UyvqJE^>f5lYijX|M{rNgux~=4W9yeOXOW$! zyE524n7oY~OB6NtyCl^K7`y7({&263?1(+HxR}O6cmMIv`ZqjI(Xdihvm1vy4$Gg; z7Mh_QWzGx8{t9cyrwkoV`3i?MzOB$>Gw^BpNup_0K=ay+<{Ri1#6>V-J`}!UC7^%W zV_e~%eXBpb#6u*0)#j`SyC4A_V0Bz+pJ)lNt)sW^_UbaoqAz$`^qS&%q>LT3P*u*{ zZSP&?{l%^Jql)6`u?}mdV+PgiiD@9G>AZKi0v* zgBO%R#YDY8tAKsmuY(;jowhPZQI3ZCng|SS-Amg(#fuylY5bM)1^j;5)c(^>@fZF! zHnkD+2ux_j%)xi$$*qwh%_t0z1&@lGz}5mAvxGZn%K_K|Ruj^BcPfMxNX|EbEYr}w zXP*-!QxI&Q3#6OANxfUNG(~eiGX3P@jw!I0(wR{)ZvN&JUgPnC&z|o zc=@?#z*m9J07wX1L-vg|2TfpG>qAMrSnkZUV3vN)f2;cY@6?^}g$m4j=<%e^sWKGH z<2{X4a|v_()*7#BFK0455NQ{nM^U7r1W$Agi8Dwa&6LZNwqjQ z=gtY~=s-EG;K0*z535mC^CaV_)+2&q1mBM2b{e{WPs;2*73~5QcK1at#uu}KJGhee znbx*t+#sGOZYO_w^1c}9EFE0Dbo7GZpc3r|V_b zB{Ec(yeM}dsw_chi&S0xCXsxPO9{jJQEvWsNd0tEvKbsU%r9hCHlE3ubajPg6#oD@ z3j>Nth94m2Z43l4hW2aiG1t~69;1WR24aNQ4mQKe&q{TtzQ%|*;OUvxHZ=Iw@}kHT zc?3A*n{O*|U7CbPhygup4~)e9P(23#SvgGM&9}XqU~~k5k7nfbbPC0ig3NZd&JQu1tN`TOo4s#;V!^3P8T3o zhac@q%l-hV0{wDMV&MICB+^5hyfqhVO6*%*O&)XcrQR;v)P7*h>!&zWQ*Bs12 zAq~pe+U(!z*L5Rkql@KbBPuk=DnoH*Gkh$(T{nIJtOw8i@C7}d=7Sq5xfHU!Qf2`~ zt`4Ukv>_E!tV@xhKh$mc$?^N_3Es0+IEsB3!L!i#6qZrH+A|GK2KubMO?OT6SAFBa z8nb=J>BVCXOrBYG-RKDM@rNwzFkA#44(GNB4u3#q9<4RXB^aP8ZF90nK1R8F8>Q*+ zbSD~|2|PVU07Cb`MH?WuW5yXWFRP~`0|Rv)vfaDAj*(c6Skn3QB>tMrZ_((}4U5ja z74-nXO!A<>mL$gV$X)MsjOFn;z>$*fKM>U1W|}B~F=C;6e84O!eP0hh4@ZN&BP|J+ zARi;W2GHRw?xjv0^j?`AG@eh8wE(&bq{loMw@Ih{9z(Ril~!WX#(zbI;2=lmQFtP} zHk;}|2QsiTuxS2wmMr0`9DMCBex(^hMNU*#1s{rjX{Y}v`Yn=q%;}9lxp9Y*_z)c zmgM8{rg)XzXHJAW5=?bb3XA zl7Aw)1{&`>u#GU}i@KlU2 zXxNjsNJ!_=dI;e$O-SUH^84op9K3}Ab4mut!OnRos`T0a| zwhi0IWcxsQ+2RK%o%&1sL+phEGx%F{cU&+NLh|dsvuOW2IYNFQJQj4UoW8Y}Mr9@U zco+mDz66PLK&!J~bVWk3E&k9!Hu{RHO8ww|+Pw7?ffW+VEud?#w3J;UvLTu4#5As5 zv)CC+q1=ZhY=%5m#{ZH&ze)COD2s1Lj|2SBd6&RcB*_tD)rk?X;~i-v)Xg2th$l~w zPpS8%->EMekVQLWjkcE>bRKQhQM`Ky3*LkGQ1q-8@Ir!nc$lBqbuPk1gEb*fd;uQ< zT@$i=5~Y;W;A4Z-*x@`E)YB!+96e?ZVv#Nd0@Q84*R6 zJx#H;8=Jy`lVqPDdUlvFlT`?D{L}tTTTP8o#!!(y+vJP`s+n#gkkie$lqwp$wL zDbP{d&#&}vdu=uxy-Y%FYhbCBO3*6wPxmCa)4k-T&dhNU2xinPQj9{e6XkscXNZ0S zhGodAy&N-xd0G(wIX2;8_V&LDD+IY)uU6i8diLpK#i-{D_ts{Mz+sc?$aq+IB_rl; z=}dLil4s!<)rLUpa#hc=KB7q|fv%TzPF!4(pJWTf2u>lH)0rk1*xc~sH0}Mk$3{=q zdN!H@Q+kK<{iFgh|GDt0PK}`iPzYm*v0CzjfVlU&T(B4PDR|z4_(^- zi0Kfo!-q;iFJKtsIQh0|U}aNzSa`;`#cY|Z zf$8ahtc#F0Z>kJSe4}Rh8^|2Xm+gIh$PI_;iUi{1Y$>2&TXCBa*1Sc-AoTJHjCsoM zMU|gGy1==2p|O&Qrg#BY0f$VX5!x$psHiL#+GTkhagJD6>^qb`F0QNEC~f_fs1NW@ z%!cVE$d z}REDHrd~(ZR><`T>%KUEck(q_W(if z*&LdBD)XjOuG4HP#KkOc|GAdn$O&<#NnSW9G|CRUaGr~D&o|V`+V$#QMy_y^#a>w@@6hMu|hAWEb2_4aEjga^Ed=My>@86hJX$wg)97 z&oOlIf)xP~g!dS`()3{+$kxgnE9LQyLvxCvZ4z0!MSpDHrq+!_pv?9%#9Cio%3jCy zW4Of9cDJm^!fsJYgCZb>8ndRJ^US8zMFFF3 z_ooD`*?ZElK%>*Ne66V#FB76pLwl*7-XpN@e8Et*!)2+avLgxF8AMM-;j<5%Y2Y`i8LM4V~EEgWM@f4Yj1*v&~vIWh(Se;s2PQUt!V z_b4aFIy-!AT3}uvTGF~AQu7PHBH+GoAoLkU9 zM~b=rN)|%HuuTIZ1H8_-mX{xa7Dy^+C*Z?TeG)TDA?uY0DAL&Zzv2dX>uvA}8VtZe{ zQP6}aFiL1`##q0E)pD5Q1`mI^*TnjvDMMG0ru)%x>6=@^UoQgHw-hUhxt_p#1FVaK zw#K_#Y}X%}&$y8zL|&s>J{1Kj?R1A_$ug7<%*)}lI(L-7jT)nLuj2&HcilYokcb=N zU{qyzo${dt?I*Kf;4z1|G3BcDB_UTwc1L=7@w7zJV?kI9(p~2c)DT3H^Vrxo=8|T8 zI*}X%ebvFBg>7#}E!G;Z;P$2O8~3l|pO9Hb_^_5+L$zYGs;jDW6+0Jg@0v!ULLKkG zL|F`+!j2Kb*=3Jv-0>ey}lB@ z-cZeG^YNx1Am4J24=f!H3=d}>yES{!LI?H^5yp8gCnj;3lnN7CMb{nou9JzRyu)cW zz$g{p=sIL!iK}YqSjJN)*kKp~2PW!wrxqyA6VA$ZxV>!Hu5qFtwTGOk4^N=E8;1Mc zqE@4T5I!rkpQJ5_qBbulRb4!X67&iW^bFl2VeKOBdbefV==nqKEg9QJ@)J$cIpi&c zxl`Ciokq8r>}60mgOc|u0pdH$(7KRn?|zr&hjk`1BhK2QTi|VCbKIy}bn-LSiH%2^ z?2q{OD)Ri%WR~$hWgcA;Iq@5D!~U>7qFW^_O=aT3; zSr%QL#?)rYf1%h=JLNc$^~Ow3ef{V7r65>tuD$GVGS%Ra^-LtVuM26t9xfkWLHipnT1=O_wTm+qSc>$L403`|<2JwPtZkA-qYI062_M&-HLPWH@V z10VcXDEyxTU%KhN)`%h+Igu3U!bkx8I3sj4qpmDsR<8%Zb4P~r;P~BKxOelYi<_XW zg~i?~`h%L9GLVmA=u657rh*pdT6Q}ZY_unaB^r(@TAnfJ;hvKW^388ryJTi31J$c* zF~89aG%}x)pyOTNheujIfIp`L8X28g-b;V7lDRz)E0V8%f(1wYg~b4V8&xgAz8~xf-6Smfqko7 z=hG?XJMmyJvu>1>BXs9qh4$M9q-RUng%wGU-8?N241T+EtdxkX^~)bIJAou(LiXR4 z0aOrtpe{mIXlX4_Rr$H|5DUbrWPnxnOhKW0*VfC|6&QV8z7M1a^py)5W$TTD5ARk- zWQ0Tulh_>(%E+`k4xcTm8`MAyfJFg4S*Zv#;tlmzIwyqiH~@Xu^(@%zNIQo=V^`OZ zzJ(_(D7=CQYuZg9Q6gVr%L^F?HzMEW8tRrrKm&H=Ud1pm`NtWr5EQu<3@r5}JJGG{ zWT;Q{od6N^%r;Lx*^$<%WVF_5WXM?S_%c>ongqJ=*%-A^7JCUKLSwUr_-ShrXAc|~Hq6T^a)(yhEklvWyY(nPkaDUj}UCC4X6$5M0|INSmPa&BK+?{(HAVDI+i?_7Ay;gea0FopC%a*4@PY1Zqf!UuN z42Lx@V;Ob;cm^!Zy*f4Qfit`J01d?<5Zz1j+IjOrP)s4%8h|D_H2yP9a;0Q@*0YD3 z0wZx=1FZf2f2{`iUj@>?6-xi)C&{B9pu|2bY6%Js&8my#S8RYBSXGLP|-#%-_>}((Kmc1?h2*5vn&{Z6@eUH8zi^$2_ zG@<-JCLsSnMSet@cUh$)&P&iyf>ymR>ML`@#oP16wU4`O4-45;UB)4;P}hlA-p^Ws zRj2rcCb_=5oTmV5ZYw2lhbJ>LL!HD+KHjTN^LQ<6?ZE@fZewtx^R8UBSK16#gq0Es zo*VSmE+kZVT~ii3&;2e|;>vp;X`<&VG8=sHi3+diY#))hPGE>605O|m%h5ZXby{yI z?DNF7>A`R6GcJHK(%5=-XHe7FMF^O@DaeRE$7B)q2AVm|mYOYQ zUv)O`_thB?%&E}cl2L?uCs{iEr6!}7B^W5Jajw4}h64r%&(U6CrTP~3_FC zgC`4U&CYP2mJG>UB8dV-bI+^E_jzl8!p3xq68*Gg-sx}khY;;^rCuR#BB0dsecgBa zG(K@CODMzKK>A7^mv%TP&vLD^Icf5KCT$-++&TX6nqIb?CjWVsLu&J&{Pk_?!F+1x zo~Qe?>v03+RMCg)iv1VuTNnyu3dEo8S}DFnN+!ouIx zX6`i9@a^5ihmt9_iZcN&m*Z zpsTJ9=n<&$WIgRrZKOOm&A9_a*4#)gXOs5sc<);LK|aG@NF4=+Bt3KtEUgeZ!(} zZTUSgda<;|d!S8^Tzq9wAK*A{Y&T3n;?#CkUZ7c)OCyhpH`dUnQAJXjP_Cc@OO^rVN2{~J?t#B!3 zsRt~Dgy|~c28TT|XWk5hFZMQly^($;xy%)g87GUEuKzO1*)RwO}5YGZ^3kmQ4 zo#6d{!h8P6={acMg#;saxh7yEi9i+1R+RSkZ?cCk(k*rWT;=fp&_Qr`n#1N*Zl1ZE zQ+LXLrtXj~0O?+`_sDfXH3RJTu%GsOFMLA`d3zJ=+Nyb4@YY{xS}gHs|J;r&S5pa_ z&S*W^J6CIg!V*kWW$kR5>BDxkTH2Ea(YTSAa!P+Z`PKXlf@Qv4pSmwJrznHJdQRYnyM8)JDZ5je7v|h6?aG|6SR`5s-fZ-H9fY0r@9T zVr&|M;Gtz?2R#MwzNea+Bx*R+bUDqE5rBNhE0J>-cV^CTVY`pv7h4 z*1{znP5Jg6$Q~pdw2(NIN39WKlCI191x^q{E?{3X_QeR)!*F;3p?slFOY;j`?@N>2 z<-xR>=u4qg95O|{cAAb;W=ccSFWKpm7VfEk`s$IpsEq&SH(xMK78HS2jNHz#7G=hf z;t~t4Upkc$gcz{Wk5@;13Ce8Wsol2YqT$jl+5qQ%J+ovLY8j{4_ocRArAZ3K_cAC=WPQIaTVhhWW#1tDA<>5AC}+@ z+RJr;Tt52Y5YPoY%hP@fvX|S`(`;bX-*$9+Y3kLl9Z3$^>)Z$X66`c_&xdETX2n{Y zkaLAJTQ9n(w}6A5A1mXXNzCKFF}W)hr&~clu(5Ip(*^>_q%jNnH`QbBhR=OWKx-}Q zXCy69Et*a6M$92_R-x$=dX_4@oqNp;^qnSZ7hm9%g%80OVE7i}HWByJv-0Z~V`r$0 z+P_Bf_uN?w2JN^1OdNBU@o{?K1i31Hbk#tM@|)Jd%V+-E^%MXf>LF{lc{s#3Xl({jFMZY#9*59V%fLmDtMb88ON-O0HM*}_X_ zt?wHpKFF37ZxTeUxfVrtv_7)q&0`jAr@9b&l{z6-|H`NKPxZIU!{)wQY1Z^-KzIvY zH>IE|=`z{0-4o?A@>Q&kol3@gfRus_5G&?3J{to{RW*&8Hv-?<%D``Cp^gF%3fG!Z zG{i6acX1LnlAe5-^_n||F%MKEvstI5&;v-3Bo*)xXk0DaZszrd4#5)7f=y=B3UGXl?is$yEq*!Yaa8PpHOmW_)0I z0EOwQX6An(mnvs`H)@azuKbtcNBhX(-&0o-qeJW@`ohhL^l$)OzprOHGQ?IeTT7^y z54^jaR91LoB=&h?g(WeLrE(}vH9CYv%hyg7#YjyzesJ6@{N%*Oyn~>a+Qx zJMje`&4+NRN_{_}-8@nW+v{cv!J<}}FZONOPAV2czk}>6ifN>ghB|{K#TB0d+slKD zmC$S6*>yU3OUOp!&2*?d^RyRi*0X$%ledGOHiOTZGf(lE3&26U0&G>NO&#ZW&Z%)J zJJNR9)Hh1fGQ9p-uttRDhbK07;N0UW4X15r7_$hKVb#dC1%KTFq60C7oVGpZcRhGh zM6WfayH3jH37-Oluc1J0`g=vxu%xE=l~1koRT+s4iHyNgSHrJ-60R@s!j~y`+y4-7 zU%~i&(BoQ}RE(gSC)a@>EJUFj5|1G`{_yVH*zB3*4C>(!>w!Au8x+y7Fv*nd*Wr~r zp~1mx(?a98zir{*6b@&DJI~ma z|0X252ms>;s0+~k5#?`?w01#obLCoGwozi(>xyo>TF=6>VH*GAVOIECHpX%Vb5@-N zRcN$W-*x}6rhK6sA@0ht4pKa(tupUq@ahpQ-q7HUS3DzJ1$NH;9TAMCk}oibzMKNR5hgA<{dD^e(*<6)94sOYgmR2~DJf^Z?R(uc4PDJ{R75 z_T2Y8duGp?HS@ghyWZ!6Uoqgd?MaUL@PrqdLz1y0DaN&-Dh;Tu6OZ$B^af zkZ0bKJ=o}||KBy#zq980XDg`7S%(R}K+DjCPY;3W9%%Unboq1~i!B1aBaqqj#X#W; z5Nv12@eAnc*)JS$4IV1boU!ulVet!kbx)voQe~faPcZ9fmOa9G`1v+$S;bDPyT}{c z>u_V*Vsa5tKg~kX*jr#9lh5)zUgOYeseEGWXy^~!(fm4Pa5qKf5^%j!$6AE7-7u2U z)_*qi<=rKUTtsBn_y&FDo>1NKNlE-`ufd(%4{}m6Zw%c`1kdD}u<(M0?KQ9K^!<`Fv$L3!K z-TUgVatE*C?xR+!ftu~V9Hd>0N>boP8u`|>`ijsg`2cBHKBNtgAdj_Unr>7#E4$pnR6v)=yS8m#K7U20AQl_i#L8XN~S+8x_M zHZ5s)jWlh^y|5+xtgiz~X(0Jo~hIL(o9CJd@+FaIz$4j93EA~)wLN9b1=|l68 zESXSrC$R!klhR^;d?)A84}94sv^e3srbFv7z9iCKmg`VhoRA^*=?Y(-amX8UAcFpt z)00f7S;Tc*ai5RUz-5LtC?rRBC!-I0&kPYO-`v35`b*Ci zdPt})Dw$BM_|xmb&D5tPbf1)P`*4_TaWB$5%g+BP98ZvSKTQG39Q#hFXtu}FT@P-S ze&VSV5OSoYe>!43&vwaS6Vi1%|MAl)11mJUO}q6|56{R}cOj?=ssOzj=EJW^m&N`_ z#gl$|QhS{=mbzv$=zH0X8Nrfoy~WsaTp20U;*_@;_jsO~b=3Gmuw*8VB{e_J2d3C6 za7F9r45n ze#&NEcC4S@?WSj=_qO|fd1KJeg-!nX9lC?U$8&_};8b%5|zBxSePE9#|o}U-%ew;8x=g&l|h#uR1fy6#Tun>t3pR( zLocjKY%Q)Z>dJ4gYdWNB_jf47WwAhy-=_LA#r!d7{3hJ#E=4(*CJ>vE<(cGCzEzT9{5qGPJ|0(Xcm2CD=PK{E z$HOP=Pl7xPlz3!GPdx-ox3)Ew<{s7Em#@4ZEZOGyxZBz^tWhMvnyr-8M&LqjGEV)3 z(v*VZ&y_>_oTj9?;mPQehHu>H$=ZsUZEVG)L>y zZ4kK7lpdsTPmM#x)iUyv2q%S3P5j}<$Cdgw(k9`jKMTxEC$;=PpXVxW8s5lIGoZPW zFN+h$zqKFDh@q}(0^<|iE>De`z{=Up#l-yDD{-AkQ$PX1Qxs;Svw$|ZY9AhG!lQpo zrN&;NqfJn;qxij!essQ${sSDhd}8!3=s38eGX6Of<)(T*8x>e>*A4U%c^&%UpRoaQ zT*@lTk%0bLC%dpdIC2B28u|NlJas-RIUYTIbG?5-+6^CKf6f=p#~5{Oo*MLVoc^#1 zTqXxHy-9x&Ajo`Wv_9~5Y=0DZ&XBn-#chu~S{3(D2?54$j?fhO_5fB(s=&MpSA-i= z)o+uJNomUy8vxv%T2a21Zgqf|S2snIR@ZK8gWOVFm}bmi2LC#Bv`)a1So(BR#<;fH zbPwIxolO<1eBa2noKvMF3uJ{SD;=+jZ$We3UNN}G!*g=U#xzZ%c~2`AT95PI+buo3 zhxd(H@b!pVK7}Y#yO5W93*S~9tK&%I6ODYb$I&{`>sj+f9)TD^$%^6!FI1vtLGB`< zXF5nKPpvR5OU6Qu!biRV0U|JK2P9d{6~Pd5J|6kHm)*CIr%l%k=jP}ZUuI?7441E8 zSjIAFoNC)wG&Cy!0eUN`Eo)hGKlxO|d&FN>PEba7Pxk>yc#(RCjZxXSjg#4wg#r>R&kp3F>#GSrXFIS^a2N6L8m@5BJ%aM&=0~UVTcm$ zTsQt4xXKzYg@W^WM&rqibf?Q1`P4+Q-*@LFB2bWR%MR?rj#c1_NM&Df0C?F^%fUVt zd`*?&x~ic$d@~610s#t~r`{K=6}c^Vgvr}?7IQ_~F5_MP#FEmVL_b(D+}j_P$C7P$ zFNXquIA={DqcHYe&o3N7kM`(j5PFUq;9)uQYbY&03OLgIFe&v5N2u}JeYe;ZZVb&- z$B!QxbF1f(m$uavX5xuxgta0en=p^bR3qHe0|bh_I=u#^_@ z8ThS(=aSR}ghH|=>qFi)dtcg&2Pa)u4>45g0d#Z=q(_#S*jOfS64m zdT@JTquYWKR8&ifOK>j~<})i(^V`8?Z;fk7I9T4@sa#oj)#;Jzy1daaCzD4-I@h@o zT_qe^lXa~6?ELM@Q+yR&Q#N$T$Xw;7hZ*Ia(zVNb_u%5x^*-e*nL|S{x8kxG9&Y(l ziYFr?{eN8U!0%#q5~mi^E%ZFY(vOv{U2jR~ziKPU;^;aa>zw?ti`75$eb|q;%x_Lb zd@6GCazsrnvAVPxO{klbF%@nUqTO~6F%yq&)Vo2<0;i|VZz#T0v^4E6T+q?Pv|uYz zvP@ORY?GK|q^CVq7bnhQWvfjp**TRcBPF)k0}ecd`Sw{%1U{BETWm+P!L4vYHS-9% zw>5b}3)EydqCE_Er!{Sp_WRv(PKOG3v25b~#sOYO+Js7aNJ<;WBXyqC%({Hi5C^c` z312-T1H0$4FAx8};tKyi_&onNERyS@3#3K&gu=36y&JyImwYq-k5EoUNXp+tfp34y z06)$-**(0%rg)E+tnuHT)T4 zc*F^96bjTu5r8yK;b6r1o5j*w&ukhFGd0bAkr6g+EAzgOm(w$b94+R0lS^_yZH%8t zoBY;!b^&LxmVaKB`AqIT`_^1V&5P@_osLX&Ul{}Mx(?N;whHhjnCup8kSWYB_~R3( z9j*?d@;zX)g$WLH9fo#nq526mqRFQOgzNHZ?vF~mn{=kS?QwgM&&cWec42D|@dRfx z5?Yoj-12{X4fN5P_i^NZatfE%33YI?G$xC4vLUH;X+6kF-6u zqM@t~;XnNJR;qL(o>$`2Ckt>oZMe_A^#=8QR(Ig5wluOl<2~SC4OiV}W7{rBudMNY z;N41b*MJhIb--OO&5YNSW%`*VyNL7hTW^?Woy0&{t?In6K(9?fHTTV>T7OGyk$Ql%Y0C zW?9Fv_>U)we(aC)bH^to$1Ik4%FOgOcmB&~#D$8;h12Do7Hh?)e^@CKo?fzPxV=A8 zx3ly0lkK7P5)GFlkr#$=Ry&d>Qd_$Cl4K+PXE7Wbn(HW^_*1dEAWXAk6=^%&WtFkQ zw0EL3kAsKonx`HQT5ykswQf=6RTJmGAtfMATnK)W8=KYS!Mmjz*6G3;6YS_s;I;Au zS|E|-&NVpmS@>XKhp_qH- zx-?6N^|V?q6xw`8#0O&FDMd0q4`;mZdy_utyQD1tF4>W|D^HEXGI45+A(rAY1v$6` zS_aViscXDl_v?MeUb>@tX0Ij5IYYe_Q5=E$UDUh=Wi>u)TVgDf&Eww~tLcId5fJ*ZA)#BEwyp z-qV2gqR&QDe^Z53T(fb2sd5?P1J1uAOn>*nIvpK;a?}5tyHfNgvP0X%^10a^IZX=; z1!+!}SdPYtm9%7*y=~Ey_yLKk^bqy32lUki!IcIkiKA$+g3^NiqbM-66^Sh3K8Oyac#n@qkk|F<3R2bRzvv7iGQOydQ zFk?0ih0Kj#IJ4jVALerXmrPE7N@V?)f1ZU;et3hsPpo-qjEis%5r|; zR0T;$;Kx)z;@Kkx{$CT09AGQ)9SV(4P?qH9N1=HyI}XONEF$xecnex-6E2|#3dwVNk3*9OL%--p(g}a z2Jq+xL)+-6w-XXahOe5&vgqhyzxNaVwBF{JFn}_!|_5H~L?oI05bFhMa$E5Yo;) za$I#XWvlgKVvgi_<6oA*o6sLJJN}7b5Zi0>H@3{q3Y__8K2^wZ)NvG5aMaQILdOa{ z#2!oMKb7q>ykYGp6PExmTD_=iO{i-XWg2Ut%MNLCFP(zEnoVS9d9&XOqqwXf#@zH1 zjEW`1X5g4Ej5u|;8%RwOv8ZMM(eQY4Y->y!rY2`69B?8r3IB+BgwBf2>W_7@xm!5U_CP;+A$IWO@@5-aS^Q2OBMy`N~8?$wo)zM&w z`zg8}6}nQUgXk@QEf+6nwncs-JSa#P3%Wq-txOI&>2t>{H(Y~0s><)&wLLe(4s{MN zG1%J;>bUU*P3}Se_g;vS}3a2yMe%P3<`fOx&^NsgjJu5Bq-1 z0yTS0kxt%H198yl`GxbCr;D_Hu>IrQ5-soq8B;TBGoLt6i?BpesryjF5lz{7L+>GI zY4_*-`{hUx!+muL`C}y1VPZAwtkWtLoz5it)uNy%H6t-n{tQOQKrXmgz`m6j&imuTh@eld<< z!?2LCtDCqIuOP}jFl=R8h*5{Clej94xtQ+4IHEel%5z94bjm8?r@bm7Ld*QINA9`7 zkBD)08dV^pDakrZr1_#mT<~EYiF?&?AhpBIhj}i*RrP-N?1#2h&kM-4{Hq{=`>t-b(_-6k6K_`tlqm1hr?2G$_t+Hun;GBs-BfH+Up^e*Os@TU^KeE z*j`%mIvTGO3MO01?z5sVYguPM-53$$2fB;PYxcwnc%dz9CbkhgmckBHWbYCRMNFm< zoGWH*w=vt6>g;5O6E_!s{5Cq7sSp&0WKOjK0V)}n{WJWwqjh$6RLGaLw6pdzvIdyW zG_vre%n6sLz-w7{$~v?3EU;OJ{-R47pb$J?&=vE&vC~| z#^J<&$}|*{X7&I(8D_X!bYGA$r0?|Hy_J($7|itjRd`_4wdDiyX^DD)jM6eqX&WbC zTU*he9!6aIm&u;cRUxP|Lvggu0p>7ymG~3447~;QT|+f{+Vn!#p}6Nru|RO-KVp@w zNjfo_o`4P@C~3DyOm~HOV8$5F`#`Py1BUwl+v>W1unqmo09K^+S8l>SZr&f6xi2OA z`eov#)qs+K|F_5-!QYju^Hg2xH$iTrH~>$0*Mb7`)+Yn_!B05AARPTQE=LHo&vq^j zKxYhBh5u<-E3&?XrfX}36Q3KmHu(Q@zL1B1^{doM{CV50Gx^tcw`4-A)c*uG;-5SQ zue)KX9G-LnD`vqBCL^wzC+d5%v?hLQ6fSuJ zmUGjqJHQ!BMt{Ed%GTh!lbdGy(X3!NWU*@YghJz`6g)#VW9o4r>Dx|rmM*Bl{88NvBMn37z_1t1PNHe|HlOm|9$_S;gK`Cx*nJJ zG4N1pF{F>cls9TooGY$edDQVsPj*JkhwL?}ZzKVjj2vB5=Fcx_(A}x+MaYL>Sy6}C zQEN6szN$T~2@*m4$so%pc4?NpeE3H? zBSf9*){ar>ef}Z%q=Gb+1qz!}bf- z(*8|g%rur^wPBDp@;K5{N+Ks+mB7kJ)z_w-bvpPQoxZ%<`KR! z(_rqg-`EO--RxX9XHOC|awB^LalqaIuA}jMYEdl1*g?VZ998I{X&o;14u-`wmAZzS z+}njYz!W6gkG=Jr-^=D##^%2cw>UFwa~}6PQP~u=xu&Jral?y=Hd1fHv_o61CkSTD z!&s#&m+s#f!4(fMN0B8q(TW1`=SP4G9lpw(MCgtS?sHhD_BjB)^mqS{N+mxXlaL|N+Av1CCNHc*c>E8xAPyx!Z<)ItmWU2 zg&o}WD{XC`;o=1O_?(A%{DEwj#(La>XpOow6Lw0#-h6&{RkPyL+!dYs1UXje-9}DN zAZ-v7;kw4~9z*k0ZdnBXImYf_`fu}TWdwELA z6&?i69W6O*{o%&HA=GF|(&D>aQ6EA${@^Z! z>x(4C>7A?x1xCz7*^Au-39cLpmQXbxZ3e5t1vL$5*y}bbEeCRJr0OQZr=&H3qP$$# zDg*ME@R00u*aBgEXq9K}k?Z1QBex(u&RHVqde_x)sfK9Kzei}GKY^z%lB`!&=gd(@ zW!)P3wRf;QKwBs}kUP9;Dp9n09F;z7aTAkBYZ?8BdZ*z?O(pWTxB{~jftyTaI)-H5 z6mOSoGH7?N{tT?b!4+v**i>lAf!NS3cpA)aE5cDYu`0p`$Lq5zrMw5tqUr~gcoDK= zCtZ$q2QU!mBP|Rn!-JZbn{ta+%oa&xbwwY77gfUEV8v-b>)YXxmd;obyWaZBbdb3U zLDij~6K(mLOb_mt&f=rm)(;@d85T{GEkmhI9FdDJa>7LDlo)aU&TD(EB;gDO{6}Sp^EKn5whFS ziz3tqHAF+|4Gz;OLxj_9qYa-dmlv_RPWq{-U;fbPJ}@1mbSfcPQ<1C-mGOpm9kvMH z2(S4BxiNR18lD+#;qEq|59GQJ4hnL=q4+oqgTsxidH=00hBW zOxNhGl zE%S|K25Km#hT~+ZPOdhjDO>_l#xv7F$yrDM1v*fGUxkn?Pf2zwm z*`D3^mU--^`enj7x_RmWB8rWGLa&kn=LHUUtxS7G_vudi@blz#B=u2K{+VmybBh7z{6GZ$E;rtXW$}3gU)y@e3VsjS!=NR-TQTS z3$GVFC;Zx8I9Hpx0oQj|2};#2=@xifdqWZjn)BeDFrR!~fZX5~2V-yaHL@pbHecu3&Vz+3?MxoT-;2@4qYd6j=Y)JBFMK>Z+@PPS zK4BUg7+}o#<*TXZD`%V!u;-7a-aUS>gtH8<)f`wa;_m^roE*!_o zx^}7+Jv!{NuzJl&uh?Jm^K@uarX`jwC?XtgqN&BHSozRE6)@>27wSn&%kryS!}C~K z6Q%Ebvx^TC`GU2_UA6y{Q`DsjJsh$JO3@BhffMj=YyR{;Tr~|j3m&&_Zcr{_clbrb zcbgE@2kISvqMWp>kc@~fb1$aW;GOk;v42!U{RHlUfB_mfv};LwnAImGQ`YKJjwZ;L(K4;4OB~;7bQfB|2sIx0&JX*hhhK5qUxeij zc{VKXK0uMw)V-^I2Txc3njnlqdMay|quz$D#j>Uj&nXkALTaMxL5a&S3MY`L<&BBN zhN=??lHRxGg*cB_&A=00rdC(1nTqGvg)dG){oSz8IL5&W@9HmOlj4@v(fM+oM~K9^ zirnC|%yF|<8((2DE>dJZqH8zxZ@yU;t34ygs$Zh68CWD+8prk>9$@WH;yr1V$w!9$ zN2*TXQP?b)*fUGJn-eT-wRxUpnrx<_PQ$RHbYb*+q^O>cFXd{KYD()0!|kqn%3^BOvBZIZb#CZjQT?3oALj%QC2&%*IL(-v?i>|0_6v9*Y-soECu~kFcTnVTe;E|3`TG(--}B?W$eCT}GvVL{?j^HGYzx zsnA$<~({v%Y{15(%C&gRRF!zE<#C#38OaajtI7`=S6US|FahcbG(jR|DsGdDpMK5&Gm-Yy zrV-2mt>t-_A?GrKr0cV6rbtkavhArK>kBX-S^t6op+pD$p@3M!!4ibZyz%|bkX-JqxAh9mnZ!L?BzR}y9Z1I`qie6*3hIHG@UpOv*49bhU z+@@i)9aMDh;(_dfB(K5xlzF3;hyv3$Npg~AM@&eUWg@~E;%23= z4||!-FxV{9tb67$&%=*i*>>-fbgikXmg+pnvA%)usKLeSy?4n!{HXG<#a_TO$kYhy zdEV|G#b zl>!SPjIi4D)9-pLB}Sivlap-55Yo(bv2I^jl~PA&OE;%Ss#QUz2HVN<yi5v)rL>5Bk-P%zI!g#w5X4qZk|?HgdJP6@wyu9W>P{6k9e z9+>4rZn7?8q4VcTV#2GBxLi>EAn zV)cBduC-p4%?52?Llv6rouw|U=!?V(OO>z(al*JLtHgk-% zy<8o^1a-h?oqne5U>?J4Yr7z$pgFF#ZOKp>VMwnHY6FT{9i~ghFg{ECjL3WXSAu!y z+wsMF2f!)fQ(?)VV~i1edoKhNeS+kRH8YVV$jEAK7LBad9_6~f=CVb|6A|aRE4cFg zsvC3g=0-G}Z@Dt*{gXlK3dIK1=+3H5)9bI{-{R^l8ZWB!v%V59X{{p>zr@Owj-oH& zG_a|b++x-kcqF43T%g`N>B=yeb#NTHwV7615jJHwc{kt#%j4&Wu*dAt&ZE^8X9d4- zgy}Y>2P)U8v@4=5T!WH9H${0DF8J#^$59dGpw2)e%s!)RyaNzbfN=Z`yduM@Helyq zhi6DnK{GXERA6S;@uWt$9jI6Loef|0e`Rh$QnvLogmuoz(kzzt1r2Y(gQ4K=q%N=+ z7|of{okdoe^~3KMj@yu@PpZr&o$GD6{VXs#N}NLJH2kwNrzNs~w%L(U`B1p!Ig!}r z2wki;}s*tqrV#kn1(}eIOX;4QDy{j*|#~ExA5<{H8 z%ef4dj$zLp`#4;_T!t2euBT)u7jal_=snh!E=k^UO-kNYQ>nj)Ko$(J35E zxobQEc<_mS0no9cMf357ZRjNINVS69)B0nTuTs)>LTwZX)j|udVLdbQXEb~UH$u>r zHfJM{jo@jGLbf|id|h@lI^W&tf1t}PN6S{=y=H67OsP_{&Ka*zU&lJ#{O<}J+_h0T zvNRDMLDS45eO`6i65jK7cx_rH66wwzm&ta=U`*Pr=!ozucn9)4bGZXl#-%Sh_%sCydBOXJPJxGv{(`wJi)NRQg%|{u+ChdjgeP5Yv+MNc% z(sij7K>10>d#79b*yAJWb=yDi;sQ@Pi&w;6>Pl2+n3-z4J=UFFkdl|Z4ZG9A>=V>@ zBP)f3jl}5cxYBFW(vI}0Am+t@rzgB&Nw6)5jb`v4cgHZWLG_)J31DKYZ+Wm3>`Sx|>!P7O;551>|Xx`f77xFV2T{oE&DPYx`29 z8@sew7s|6}|7XjP#RHl5IjdjELIZ_7GId3_S3%17IkohV@y9bRNNvyrC9noZrVo=@ z=B{>pjrYg|mo^)*6J(QcZz~D0<^M6#B-eJ*;uns@DHT%LoaL)^fx_J6k@$Rw{D#L` zw@E^eQM`8IEEp~B{rBys|4;3~|7ZT6ze+y;pu>rMDR96jaHL1=RNhY9^qk6bJ@&EG zxz?lAANvxF!54l%p#L=)w^2C2_uz)i!B6ldK*x^6F3$@5&%V38hC4t25`dnrK|_mP z{59EM;)Nxe*N6N6ZWWH#`!8e@aQ`a#6j>D!{dH;O*AQV`^7bmYq~*xg@yN zmAzs4`_zY_?@zs+l4#DF`|TnS(QTsE?@zX{5#4y2^*f0LG~W4QS1R9JX!pO|=gRw( z%Exs%u|ax&ZMVTcT$Hy+-6zjgPPtMOQM!kyW=AjD&{?ZXb4yQ~)N?;KY@z)p_9Er7&)dv^Rv zVM`1`HM~o2$zr^bf5n4&#P`6jqWb~WN_5xs=l-n;d0+WhoR+#{x8w=UQq4w&{4Xa4 zQtHK?fwH#sS8EY{?&|EHY^D5FO-Aj$y?vs0fOkL>xt9L!D&vLP*v1j{>LPrV2L0jxtq%<+4N7m+Ck-Zl(EzZn)>fNA zb?a_(1$kYmV-w6__v3DEkUOBiq1Q&d*tlgio1#jod0VCC4&cnfm`zo7u@^J zYHX7CgW;BhpoCnV^uUr*4cxG_uzY+uLJ=fxUaoVTWdD|TWs1|n52Yu%Y~x-@PbKt~ z8fFCnF5zOs?!_duEPKPuCRDdUv!=Q*Oe|2sFXrht`Xj}4^`xEra@~^?fS{g(qlj@C zgNyDVg{~brhPix}Tv0AorE?UZaUDwXh3+zr0YU>K_M@o-hTw_NCA&}drzr{TvP*HjzeGLYxludl-D8`udNrM71i&H zSP;D==Unw`)6JX(3xyQt5RHJR1N3!~PL+-lG&Xf1&oG`JYInPy525Yu4{;b)RlEz! zUcc4#`VcQnU{}`KT}8r@p#Pg7>HN}RXS~Xh7yJFMJDKsXUq63AXWlpFYF*A;+0+XV#y{6jq;$y4DDl+;tnrNaA1jN_;$) zfgML3p?8tc9UbVg|G>ZEuHFfSpIHNhdeDL!=fiZ2Fqoj2 zdr(4m)FvDA)pDm`jEmCG{CIM*B(BP>Hb)!$fUo0AO32~%Xo+q@bQMkgt+ zfYWg|7-TeBY#`J36_M zRsfHFx_Y%Y<{R)^4Tb&=b&aBrMn~VcPd>uzDWr$mAOagy~K~Z90~L& zkNT>`mz9X}2R$=8g)YIcx04N&Fhaqn?Do}CfMR_sG4pX}>`-;3&laiw977cET0R%^ zoAO$F-aPK~)uE$kiQ!3M56H|*0&y`mTUnZvbaN)dtRDrI%w#@PKJD}luUx%CzL(FU zF0$P7Rq&Cy+KWCo^Ie%_$_+41x$|9$es-I&C}|SRftKwLet}zwe$vE(wdZ;Q@e~N9AwttoGix7li_J&is=~ADV zg{hi#^}>Ek=dVwi!%75=t6`6`qLLnaJ}=!r<3Ff*Qdq>pl*n}1{mUcD;O4uw=5M-W zN=xuID*IdEb%9k&F6r?Zxy(wd3YM~!BVt)|;O_M!Nfnt{6{bneHo&7WW!Nz$Crp-; zy-_|g%tni7KpG`7iO=4E*E~yXqqfne)-!2Xp$uAzkh=vDAv~hWM&D$lR^`ns&O57i zqfZ^KcU;dqvD8->_&(6#I5yr!mLuPBnpj~JBta-GOt40`Zs{%`Fke^+fe)+V3xld288;FrLCe{eZHA4brQ z60^ztF`iKx{+cmIv=dZUuLK~z<_;d(*7y*Pt@f~E!B5YB|J33gh>IHJa!3V)ZU@(-c~ z&#eKJfDH{M_ZJQ?76?Bl!TBLXnnGhXe|Bk(qyuMWW?{a*oK-w>D z56#eh*@S0OwzI?z#z(LO z(>8TtJZfA%il1FBpQrU)Hv^`AE)lRN>#?$7`!QWA8iA$eXH_2UC32Yc`xM`W@`SzorSn+6i{SAXGHmyQ#S+7L}&-ydtr znw3dg!;>$)&9#wmRVp0ubzPo(bQB%zKa?QtzQ4b6cEWo)y~k}Dn1am1Q3|}}Hn>s{ z^5ol~dU=8@C|x)OQG@;vYb7*`XIVuM^z3mVKHyk|4!^Qf$f4r77gSpfDaIhQtVE)^6X}1gTIpOMe z2v|AdZo5iw=7Z-O-p*%0;R&=&YXljczexj zbESkY4%6~A)i?u|5?AXth;CGan`b7%VJr8$tPYHsAkX*? zFeBgzuZzkJ6xbt0o*Rju?KZG4PYj(Fs&e>sjkQKaIBgxBIHG&pUX=;FSj}1O$E9Q+ z_q+94z%|51({ZoO?t<)f-=J0{|Igs-$ZiEbOM`r29K^ngRUD%rv^M0f$M^J-oue~G z0dJ|b^5E8ny^?~$uY(Q&rPTEkzR%Qsoq`b24RbmFdS&ywYvo8x z#=&FmAlPPqtsP^y3t<c2jl+>ENQ_&__dvIm{}r>=zFEw2h}faJ=-m?q21VsY0?ME8>0mUJ=foqhX3p zS|@8!6HmjR&(7OK>P@BJBl6PPPpRdzH4Y>l$h4liw~j|MKR#A=%(LQ9bm-lQ<*7=F zF0wkKrY3H72qo$F0*zh*M6d#ar~h~P@W(RapDrKRe%npWm-9V1H~M3(KrJZlKM~)# z+-1P(8El-_v$5iJWPefJ?dD)7_~1+F_hw@H&zp&ZounoqEo+qAc_J_^@V^q@{Ll7t zQ9gbBi~>KKXDN32g9A`f`LI-uV{$J{&S;=|YYoe>`(qFBI#d-<`vr$K)W?jA9p%b* z;T2T}-4@QOjbx9e3v-G@PKK)T8LGl210bt9-k@jm`?01xO1RfAky@SI+fTJI3`x5{ zBVw6$GU6bHqcCK@!ehzn#*+L}q3|lT(jnahVLawT~!a2dA;VB!2H0 zQs6p7jJp7MGFN-*s5D+i2V8eAT6$5;gpZsta1A!E+5uDb&SsuaVCnQr{Fr+yX=izx z==F@$cPzT2&$35lOzq=lBOQyux^um&u$E~KdUIO1HGsZMw1?&bAJIz31om>BnLo}h zV^W(df+s(8+FP&Z^{orSe0p%!5zUz*{9ib)w`%JQ!!RQzS8Pj)k`DlMX5o2>UQ=7TWV~tOq;h&o8o6&z@AY9fC`QXk7h(2g8E$vb%56&@1TRPpR9%mz(VmOLJ+-DxDu-ML3C$Wc(ZLi#j zwr;va)ZazHeAo>=XrwZ$))6>f(qHGjp`#EqjV8oeefU$``^#|{JEe1`Hx!^MC~p*sq8*`_~Se<(poJjqZtv3 z{qfBV;Yc)+I?;mWKWc+SR|+yWju8LU9$zOSpv4S*gS1cx!|~LWLKLg6%4e&? zY#uo>O_@ECIg~ZK**@I6Fe&bAsPg1qi2eZLohZ(;cAobIt88yW+_GMG)4Lgj92-A} zCZ*&EF}aV#O1H4Puj?;z3Olc!+8k5LTT1ulILuP?Dc?V|uTq8|^NswFDFS5v;OmK> zbqQ%~-|Zu=C0g8@dPSMjcR+s58690Ux1ho?rlg6c&>apLHyZ3U?9 z(ag2750T0l9m?8ui9Hw|zyXM@j0Vl#h%x6y>cdLO)8HYaQmb-mkaH`#?>@kR1<#>riQVN4mFc5H-GCQX}@dZ7zT(GNmq9lRx5J z7wy6Yj~26WopJ3#%R<@+c=5Nn*m#{E{t?WI!}5+;L=>>lr``I`-(aM1G?*h>bM!1E z6L&A_p&44?%;3m%mAdvTsmh2`%!}0)NtNql_|T>ce&5iDfhB7L-C~*fSly7ttT{8Ssj)G3D=XRn%puOO z9*Vj=%QC30d)*j<2;9VoX(r_{F7T<;|5X_oubdSn-Sk?}FI5v8g9@ zLvP^%6=Ec*DnDl;;u99OUa!Us9@KOTq5jpG>{=ouaqdixpyL`9*%gcc?XP({6t_Vg zXuE;KjVvVPmz4=Qe=J&GwLSze8_Ui*SO}Y$hkMO)o4JOIKG{t1&I~V#2{GAR{M^nJ zcK&gXj~ohIK_1#EoD&xL$pu)LI*Z#y%1>K%7JAqWisP}^7IfNH!*@8xqNdW^Rv~ja zCVoOP^An>th)zl<;0a(l<%t1t=+JV7Z)@}i!5edr53N_5|{EPt*KMr-4 zwU-kWBsuKcK%uamd!V~ibWDZ(%{^H=@3_rBAZk_sg_W>XuOry9<`7J=Oj{I|IEp%J z`F0MtUaR+V9*Na5(mFxi`CZfjK>-ncvL^<+8y2m$f)M~8Ngn39#Zny&S!>1#K#nvk z5z|=~uwq|n-`VWy&bk7=f!!rTt-d$P@=Yut_KI=M`K9Qu5ijFeD9I zsGVBI%`#j!NN4&aQK;piuqX#U+FTAWvT4)r($AgV(taAPGSGOQ4g~}oCtpU#5_A6E zQ?c+bniGTw@Cs`jbed5X)F;e|#g2M6ehul0ec0YJdjuP)crg~BAi%j3Y0?>{V}4HK zBq%MjK8O<}-JKGpUrv8?vj^5^k2Xshb?|`20g<(Avlm@b#s3)tqEXMAUX~4xkQV3O z8R})7Rxq7{y>VeuJf563#KIThigCl2^WKsvo5%(_&RZcZe!NPQ+8nGhn;O`!xvn51Ky4Iix{V@qj4itMi*&5~)i-dFLhJWF3wXBrFZ-W>-^K|~CRrB=fMhSHlQ7Apz z%6x`Y`ZRl5R@>Xl!%&tYFqM-K_3tL|z+En>7WVGLd5%*L&M#iPCg!c*mtKxZ9{-@} zBzYnva`uj?(~XzI#@9fTn&&DuDH4Pn5kbZ_)_LF4zYuhM!#)hrZQs*;gy^C~+-g5Z zlcZ9*)dl;n#}28EO^+0vpgULuHH-O9?b;}sS6+OsN()Y!)!+u*c}DtIze-69ruu|> z@=%NLw~sSUhPveuq!tYW4e*nMpTv`LBuwNJV3LE?(|+n!em6^_xK{t@T0_@j@$UlP z+J95vYx`xTl#cEls7DrVxvi@5AQFTY!20Wjk5Vjg6z`4Tl!)M&!H#cB)tc0=Ot~gj zW$s3Y5GSp4k3_zW3weuFO#;JyEabHVC>*=f|wT8M+bh)F{jqEZ{Z zU)xdW@Dn|6ne}31L^QYUNENfR!b13J(7385L}92?#+uuo{f#ek&ZrdjkfjhH9R`R< zYGsJ^O9K_p^P_(#@ZXMzGw>O5lu90@aZDBn)E9Urs+@f%4u0~#$b0XornkQBlXEQC z5K&M80i{S2QKU$Xi1Y(U3r#?p2%(7d8U>{n=>pOTEd&$@y@>SQ1B51>(0gc!vxDck zpL5T=&-={Gnl&?Py??nDxDt}zFFSi*-|PBZ(RVbpzaKmezNCTvnD*D6eQWyIH(s*w zQ^_-7rPCtN)ff7`ow^Ahur@@`;~(V&IR+MWeYFQ(oq{YCs-s5*`e&s1ImLLXbLoWW zwHbf*vN=#&zE#v$?>)Q>y_6a?%P2{G_~SoD|3UmLj+Nkn0YA3)h68E+LG@?FgUp_Q zHM^?5?rpE`yDXKexDjGn#f4DqzSl{d)O?S*+T5s~MfZS}?QP|tIN{8RBCG~znVh>m z>1~IeWAWnk<}W9$7WVu5m$=>hD^pJ9eb>`^%}fx> z&%CBu|CdXEL{{yTw$t7tX~#36`KF~`%U-z{g{pjdC_LO?um9zWwC$C^o0!K#00~U< zFe+=-8XA31w6@W+5?;r*>LC3n2&Jsr1fVMmSr z7`y3a(uLB39#U&hSA32}7&@%et0rvwfX+cxwf){3nLdSOx|4#eyg7wKmJ0{;(zPPd z6_Mr-8wV^UaKwG4u3}pO7`LcHypGTLvnCn`@hW&(x2^=W^1=F1+=H+?g$0g$$4N)B zZU_rACf{9Z82Xx?!k>uI%SN_RifdOP}{{{pb5B@lL)d1sFzC%x#O&}Y6YF{?4ZJBs0Cu>qF8_U)}u~n)mu5rlZR{CNu z>)PTFPcGJ^)mUQi>>DNm0-s`eqhf>;;bU#_MPSTl-u5|?U@5$sKDOv$V>=;vlsKuv zPOvl>a13(4e&t>NIAqNGzBZ^F%eBKf>n7wKwogB78)+*ShI+2H3 zRbTez|LhO`uYUJ`uWs`Hs@wO!vRspn$f})J!I%fI%+&HI-&iV;rnwJx&Kr<~d)C(f ztWeE%@#YTURrAyQddH)WB~E4BWH`B?ps!$g6OF7xe$QyNvg2SdU>WdYfXPhX6c86q zH)f>m_ZD7mVc8J~3K`{A4XPkt%HQn=;Al0O1n_G4~L0U6YxQfxVS-S;K18tlEF&lisqfyQ_?H-{sM2NovE%>cOwh!J|tRu=ByP z`vabsIqUYzOmu764j|s?cFpPXf0V9@^%UN*GXZATdz{d+nou($fW4pm#>blKK zxQ7EI+6qe1eXLj|f2LcGcc?Y8zXLEo#JSy~1WS!K&kK{%p+tDV``kZFP`ZXxM?qmb z76jp=45EO|%#(f_dRMger10eR=L;J-yNUt>{J7NwrmEin3%{pTuyH=Y*npW1HJ<^# z4SRsXp@Y7_cq)l!5F)-Xd~xtfglOVvY6~4N8cWn86*S=OqS04R?eFIH!bGZ^3w0Dh z#U1~XM>ox|7m|Jo>Ed7)UoaV06%A^=zvlXgblSI25X;5I$`qhu+2k@OuzH5krNhq0 ztg6zIdqw9?F!-Ca z)(#joo0dH$Sa8bk@F!k)2%B_6uKprBJ(~87UVh+;*Nk47I>?=|XyroHVD<+3BQ>e# z;>SV_{@Bi0bZNY7Z4;pF(keuY5{I`eapXb68o2T7{bPrG4~QB)6QCFV?&qIwH%|92 zY_Tulv9NU^j{LVn8kqa}_irmIKIEyicCZS{PIW zTbF6130r_oZsSY^?t-%t!^OYuSJw6E}Wwb_NC&;k4WdTky4@xj=55nXN? zfH=GI{qCn}>gqln zeRR*1vQKb)Woa5X;h0RH34e#~UtfFF`{A)+N1tcui)0CCEHz_@*mt6LDMwb@VG#tT zkDUc~KgeqO|}bMNBw(mwuWD_7`qPKKK)?Av04 z6qJOsdtf$vUGR}4pgn<@2F&d%dc&H%Xz&x$j`;}3N$~3nm*(Jy(7`!BNZ>ztgsp!DpxMkYjU z@Lufm{w%bW+0Yz&krO0QKP?A|yeXr671U)sdRh(E9-+wJYmdn9wWmLi16Ympr?tWm zHEESYJ#y9Xhn+S9b+}isf3k3&1L-0z7OdxMjNa1A2Z0lL$yc!AUGWBhL|bAcCQCp7 z5^VtLeg!2ZTW2c|BJ04j0|PqA_1RW~g*XA^X_&-df?D>MgLxd*^HQf%Yk@=gRSEX6 zs|~Wxms^^*jxDY4Z#q(lT#RmB|GOL=b3Kmu9%W#$;GYRLqCWi~ry=5(Q82dXS1aF~ z=V*`!m&F4xf?nk^>?VF(Ih@zJ8DO)Pd5;YCz>NBCLzMXa`(Dou-w*V^ReXBqsr`#q zi}A$|P&&f^R_MzTtoQoqjqBjWgj&j@_a~$-$DNMdraV|^fbH5uE2?e~#^(~+?LF{9 zuZ3h8dsxVYo5Y)GzNNp=8^gV6x29|O@UkhLUhZdDSJ8{1l4gAsvzA~Fq9aSWhAUj7ncDO!OQUz}oU z=W7foCddmkwweBJY+K70!9??~wz1Ox)L|~t# zE@6kyG2BS0dD&3K%@&Dr8f2D1bGDAG{f$4Gx!iKrDD?6@!RJyoZyl6j4BI>oH8f1k z7-Fdywu@|#{-M03TOhH#YbdcGNs4OU3C|x<6a%#@cJ8m88{k!<1v6Uwql;+zoB2jZ z`N9kXcp95>@R10(i>^d`Jo1+C#QeE6 z9+zsgEg#GBQmquUcyw`>{^puV%QzUTgI?Y87d!Pw*L1dN)vYV}^Rx_yF$;^BA6lTrr`$-Ko;%>Yc#FY^dQyCC&3BCI@Vdz80+8k%%-S}qwPWvP975@dkf<_o+VsX9HCI0ul zwi$J5GV{{&{PTlpwN0sd0wd6>AZ&uLkblc&HsV!HG*gmk;(6M+I)6(@28<4wvloZ@ zVk4DnAh?p50+31XfS{}}%0*e?eX{nJPYv}LdWG=S8b@?$Q2ZyHlDs?T%ARNPf%8$P zC6{k>_Fcp)Hq}CDQM2G(67DxwNx;G6@niWWz0{1er>Q=Hp5|lLefab1VCQ*zG>g#g z^s##**@WmmB&}Is&0JF)G2sYu_Dr^JYFdLf7BXoeGrS+yiC)=7(#Egx_L8DFt|;? zj#PWR1}VJt`IZ`FiW{&ivm-f-JB0A!r(bsAp-+fb(ttS_mHgS{gZ!A-`VCfNe^2l+Vx2C z+y97Ys3RE&dID8nboKEg+2lE&kL)hv=C+QSxpF!FE-6(V8*OwvRWCvw(nPDIB5nC5 zv%f<4NHoAfueg8xMRlIv^&yH;f-fEzZj`-|23RRi%RT)03Lz$cJmYS3=6I)(Q-wj= z5ztk_EV_@2RfmD70qL%RjrXoN%5&kmAXmqo0o!20RuvG{SP&9c4~`1(itpQEFwy zQ@k&R)Q%BY56w7?oCr1N^?Mo3@!ScSR|!ub+?aS(m)7dYQI0{};JXYxGtGJ|+J8SU ztIvkR!Hgpof2SVB+qe6VCQ2DrAT5W8s+IV+Y7*311YHftVJf>bT^;QF$U~T5o14}5;iv9GP&C*MLJ%QBdqOtg>=xT(x$$kMl(NnP) zv}1q1dBaH^Cq(Iq$lOmz2vY5>#TrVj>c-sYvAo_cUgRfr;In8s{)RE|113bzZFy{e}fpjJ)iuxgpmDak3IQ~Bx+{z56k{CtzvlOMNwd9+AiyRt` zAqo^Me=z=F_{spGf5E7!& z)l;++{Se4@f5rWeC)ZRBlpLp%sX!r>q9@f|U&beLPcD%oAtw8QzB(S(Qv*ku9kIUm zLYj0=FYj-?0TJORjJ4ACM5;|Xm!QA+3iF(we=3s63f^M@%Rq<)j4p~!CQf{}%cIQK zDKyXhkNuuAOWZA>PQ*ihI>$`pWjqJ4UOjpN)3_QNc{wx7+)`gy$ZLiUhKLrh#O2;_f3KDM*Ol$4LX=%tZYU|z(p9?Sg2 zA&UP1{(W?fW8VvZ#4{>8@I{v2`Y03PIIu%TfMw^~H#(iaM`d`kYO;uFA`71`4yVFI za0gX0vPKmd;_jWgmmbHgzP!X`JSIN$4WVn-zy_t9a4&%Hc1_v|Mv}}G2Ba|eFEZQ% zcm;St6t-I8d7ZanFcpK50bXrK0V>nM8}-LK^Q9(^F#_S2HQxc3^zxRMAQ-6Z(f+!j4b zhn{f%wR*slN!nXi>cf@$c)|Z}u@Mm_IYYc5BDLCrEJs2OHv~QJRCP8OuEVboi^bXA zfb&fKZxVtK@+<_Tz@ukyw%Pf+J6CxPJM8raBd6)L%KHEMYG-ft<8@dCFqaoS!^G;J z@r#(Bjp+j?zj>IZd%J06am<9|mK;Kf?PH(8h?G6kc(jyB51!@~QYP4QQL#uy*3X7f zUzFrQX>Lrv$$Bip)P`O@3n#_SIS(bXd83Hll6aNr$Ec;x*5*B;tbYU6SIZCAG%|6ROYG)PXhu(F-JN1qC=mnQ5;qxxI?2yrD>i!^%20iLw< z`D`VjlJ4FZP8jO{50k{{4doH zkbd+2kA$^O{nyHj^2&W9KpiXK>7?WGjdT;B5Tp+cuD>jP^9@|LR!I~Yr+ojaoqPI4 z4RC9Dq0O^HnPUlb@KoSRKw-0TM)Fg$xe^PMXT!bzZM$ zk3#_H><+q;e){TL&Fg(b3qzY1>cD|2z^T^J*u{6zGmYuVWCH|c3+45nvV$=kpTh6) z&WAY??*Nb=`{dV+wJnESxHuSe{PFs*ZB0ryqXr2TR4 zH%$S0{@Snc|FUeAf_9glh2Sr`5#zK5OjYjHJg3KAJo$^y+x1cv6lG+e<&xYtsjBi_ zp>~?vDU(uB!gt?4-|O`%54=D&1xis16lO(%TA(m@sYu=i_={VZU6cLL33>kYV!g1P zAen2;`;JV}*RTYi%R@peptwAC+Di4g?hCf@JT0o^2&$|U^vgoU~PHmOR80#pf=!omj8>UQ_&LgQd!$tJB9i5Hq$ zTv$LHQK2_Tp=^*@9?c_(@Rh!Fr}Tj3c9=m1^kM9XZqi4$8))6Im?L~`R?^`x+POeS zPkuICptJdSt5kpW&`!JJ$MOx;{PaDCqU-Mp$wo8lejYij>Wd?y(NXR^FXduudO=ud zSNJ4=lSR&kBHVV`?^=>P#nJ(ns{s0I&!V0TJY-<_ft~NpR?|VGT%6j zXa&OH*$MZ1t8!%XMVK0()h{iRK`m*@;0=FPLSy$=h-2+3 zbsnaN)l3u8y$1y+Y-0lTyIDI$sQt}}+a;gs7`!Y}x(wGp~L6Zc|ywU??z2&05~0<|i5z-wTY z%W60eQPh9pKf9wtF0~JKNw$OH%B=zy&s!&l%*@%Ym6{w3TA$rrTXA|}=V;T!`F^>~ z`54S|R~%LFQ3Jr(2;K{ovcXIdWIFdrpkh#wpw_MY#OBq7=Czc$ghg&hCrIVok;=p- z&wP3XWvoXFu@*B^v$1vT=uhG%XQ71yMmA(mW?!pLh zmhgasXutk_OYY7;tX5;zRVMIztMlvOrTjH11ZgWA{+s1>)fYd!bk5q1tJvu@LOv!s zW}U7^3pn9zNjKPJ&e`Pjk>Q6fJyi?qN_WN@o%Gx60l z=d>@)2};#h@Kxg5EOLZ>w>`iyy&^`VwJTQh(%S~|nh!OzI!lRe?2agU?y>@Fmh$(d zvbS6I_Hsg#mId;n`jCv32atWyg8eh`C{GI-!k3u-OBp^)ptm=k3tQez`?wf0FZj`! z`(A}7FxD#;i^>xZ_bf;9l-^?Hl6auK_I5D*0K8r9C~R3bru3oysI1*Z8xlqQnSM3K z0U8*gX;L%^+*P^-`=@sSRWgv+rf1>Te!I!tXLvC8_fw$RD){)hTTMe1x$B8>ubm)A zu#s9S-Ce)@I<_iMa}@X&rv7RQFdc;Bnf!DyC1s&Y6T(y0y)CIxM;g+j+s?qp>+CdnNrKwR{XMy z-%Y`PDoyxtFQU(>+7-_qXes|9V|n>@ z&_J{nZ*dCB^JsEMrM;(&O!eIZas*2n*zTrA16R|ztX@4vyKWuP*YWTAvy82>gwf%( zAAXU&NuJZEP#>@|932^s}@-1eaR10ovaa4Hzo2|J!? z`!T=B7Km_H0A+*valX%$x*O|CD0q!Xe|*D^a@ug6(oXNW5<>$g|6hzk^wEBHDz_ip z4*o6XsBY0iMq*WtGR5!MA48;w?ikx~FIio}v9MR)Xs6SzzF25rAUE@op6`ThA+~8K z)-U5BobssoE7F>$%gtd<70cmNZhRm0td+UW-gdk3;bW}l`5l1-ivk17%{)5m3dE21 z3yOCRSPm}}xH{aV8;`xMEo~p1ibe;6^6$fVFGQx8ax7L29D#ywe*e+o11P$A@v#lX zqPVswHN@SFLy4gFPOtO$fdrLaBXsQQqe^`P#v;X5azgkp6s6iPaL$oim0t(S#NFhz zCG^H}*Mb_A+Ni5}YqEHp;^cJ>Xo)QmZ&hrwTsqX~+)i0oS#b~BgLe<5XODy6uH&V= z2a=1@S3?N03I%NaT0!G*eQ8-8&?m$PN}N-v4;NURH&$DGp|AQ7Rx-1*-<$VUjs$wV z&$XoSl>tlftHgeQYSDKO&2@`OzMO8^^OyKwvxZHBW*aBkllF`0^g!CK%-vWxzZTO; zXCnF9?5fCN7+iPwm4;eZ9bjrc{`0Gcy!e-IsBGT5DVG zD%+cvVp6Q-JzJUFaU{{A{J`-3f_r`Lx4rK1wOWlzuXBB|+VOkpXG18z$WpvLewM7F zuCBfKO%j65pM|ye0|3D%9bNO)d#}^~(0F+v0wtRlYN1s)myuU{1GLpj zr-tR=R9Kfiv%dNg$PK5W;EuW0+?tBJF5{PO*xB9V8B{6FMsc+b@~67A+S?GNcMO;2 zm|Cl)Dfri^eq>lmt0T8Ot37I2pnVFLW zRa{+dP5y{q(hMQDpTsS{Sj*v?So&7tkGh+BzP{^=%#GeKDaAC|GlNHodL5q7N6Gg+ ztW}3oaDlB#$Lv;Lzm^s|D|#8!ZcNy&@wj4R(2ZX`B^q|4{nlT=3q?I)Dk}Zf4vQsv zvff_XNjhOU0#1RwGT7=aouRic!l7Zd+iPZ)x^m^wHmjzBL#=o-gJAKS&eWX{End4l z1{p|^;botFHoQ84+c;;5&a)<+Jo-&sGgm!{+{S(#9q>FiqnvBC7x;RsYNqFCx*Os4 z=?Xl%YG!D5DuX``A*p!Opqb;P48HJBvTktli=pg%8Dp#sOP{as$~-EuxH`?cuf|fnt%YlQ!S^=?{xH2p? z<^%dbnDSc(Nz$TeIhIGqFZ{^sSz|sQqjj-M>on7MQ>GskOHG@C)z&E%zSC1;82iG< zwKedR-IPmVenNZpE;bkC60gr+{UNu#eN|oR~4vZ*(jMcRXB^P?PO@ zCj$Q{*e{DP7?XJRNa6I$9Z^Zp1h%iGhg!Z~!I*@14t^R+Lq6fOLzD1x{faKk&8FSu zI!5s&)z25;GgyGOOTJq0p@tP*RK~NX=m2$8u6=mmzxw5mKr;C%*tDnqFz&i7wSt@8 z_g6+M@~545sE9^`YjwTu?D;ed{ z8WP4RvOz4!R57A#JLU4Sa&76rig9J}C;3Z0xABZAM}rmH@DKPx zD!6gy=OL?H@$)~yPIYy5$iYA3_3Yq1)t+cG*oV_p161*3z4?%7vl%@X!!|X^@;H;n zJG3UpA8je%vc`WdVNNHJ-QXk&v>t1B?}>+HCBb*DJ)xVV%)8$Hqolj|{C#`w@JaTt zewsc~2c$H!AE^WKDTUd-I#Jr1mslNn0Ieo-)$;zlNR+7T=ldai>C?yM#EfXjCrF|L z(1<{IV*|-A>hEn9{bM`2j(mfbd?VkOQG)jtyxR#-YF|}$UxQ(=XFuEAzt(9k$`W+6 za7d|3*0OI8Hy85#Ssc)7V|0%-4DygQGTDn;w#gY2lSEgmm~(}{r`Rr4tcdFU``v|& zg2(8MlALK*rsu_l#r>ct*5_Wfmrvy3AByfj6HTNg-Px*9$EqG({vGv2QEe+jJrgC>mslfPpG**Jl8;8E(Xc2oL?nT?<9KeTyu zIg;+v5AFPUJK;b&1-*JHv97< z1|8;~kS8;BQc2V#OKBfo&a=5K@+y~)^(V4;nF#J zm&QgI_KAn^D}bNjte_w2QXlg+Wg=n(u<{@SfnX@>g4Nk6(Z)W1R?N#QKp4VZa1vU8fqqq7eSC*f z=H?m&=Y2!3yHS?zX1i{a?3m@OWRt8sdXlmiINh^(W^sFZXF_6wSlsBTBL94BDduL2 z5fM#J?BJ|Gbcn>nmmWF5&1gHe~$He{br7i6epDS^vl4K^6++Lo9JiQ(ZkoF z6Q*UQ|0$37P3;Lr=;PFGC1{ObcW)XCYb$*Xa2HULE>wcU_0;v&_6UfMb8Ngj*r42_ z&t{U+8}yr|fxSWx8k2*nt0#a2LpLI$CG98-p30dz9WiZTIH`)9glpDL)^?=k>(H;> z*PfX+Bg{T?yhQTp48$ufEs0p&;2s>BXAFMKvW*<{$$~f3>Q{ahld>a*Qw|WOr24eh zuHbQx9d!$acHnnyp_eNp>Rru|yno)^%EE`#f(kN8XPa23!qFB9dFq@jHV0|Cz-vmY zL%nMXq@rYPB14($J&NK50&{N%<$5Sc-vrt@Yu!Z%Dcew{dM_M_Hnff39?-G?0;@^~ zbk}SdW9^D)VeU?*BH2;e!FSMwZ(yhG|V^(ItY$<757V z8{B6pK{hZ(TLcKF@ku~9^_vz(EwyaY6t!o0rh%%nVk3UIpX!0Cc)_r?Q+YXCaWN=L zZWu~Kj*KD3GyYa^8V%+t_*XjUN$gMW`HoG1^n7-r3!|&GYgj%uesS)h1nq3`HOt3R zxUf0hm~FPkDtj4{ky4^5O+@HgT50Xg!2^gU(Q-0C;AJyd>DI4_IQXdQw=c39)P6=S zwQf=%$1F0n;WN`CA9|S_L00(0sdEvCN~|R@$#eKex`8MYhuD(mW6dW{ojs(0#n=z| z#^Mh8_5E1b-cY*#{qLm-Jwm^QRV^T_CJ2GSH!!EPB(L6emErKeg-akG=7K9pqwCdW!$x7;ek7$7KXyx){?p-uS+&2?jHhg8aC@R>vN%HM?n5d%TOYXEJ#Wg?RgnF^(a-ekcfOY3wP zxp>A8<^w21r{zJI_>7IT4dyzU_&$4NDaDBT;M#A&+D1c4#ra#mKR!OU2B?+CL}Sd~ zhSBDKGmMgKYMz-&S8pjuxO4+5>%Mw?Mb8(ph(ttD?=La~y?B022Id`0I;$Jvw6P@R zSav}xC(F^n>~WcV<61Dvt9Nau=>d@INlw}Ia#y6TBi3+O>TM$Hiy0EcL^qFzg~)b@ zp8xC;5{3m6J_o=DJyB*|{#Is}4*%o+>19x5+`AB^`Th28ZbVe9F=tx{t-+e1H(2UhT4gY3 z0WGMXa*5q1*>zTygG+(mU@6+)iB@fRd+?P6&d_iJE}pZpXxHL^;W(a9V|HYN8&f^P zM)hW9{*P*%{>Tsf2Krjydn16pDU3E`fZC`yv;ivkVb$EuF5|C;&zJYl6FCBAw#1;T z#xCAB0*nTEh92oKbdZBM7nqA>@rbWAIWP&}Am{@isqw~@N=w`Fy^y@s%h1Z~tG;5X zTa=iY7#A{q(SmM*L}QKq7mYRg^~hMWD~zV$WI8gXj=3BMZpCT?>xX6D9^IDilGku_F@)q7_mC$ax2aq;kvCa&X%&y}wgql!C)9j{r`>=TGderha;b@b9@i@Gz=gwyPY%~R z-WU(JKUp^|%Rg58)niee#f>%Xc1MevXQ%UAxWn9v=9lSG2yGO6;10Z%%%3OjXZcYg zQ8{i({~)rMF{gG}&z0`RAtLF^yRiQNMz-@UgpQyFbwBrlJ8-1p6Z@os-9bE80@SYz;XHwtCV;XHJVl z@x(~i>`aT%NU<#Yjb14KIR^cybF` z+GJ5Hq9tM&V8WW`Qo(*=wP54xVc;-e{kG;P^+yI>{dx!7p?3>kvI9faX97!P*&*E` zR}#X6G2Mi%IF7y?%An~drJ!(#Y6p*7);{~N(kF!{b!^o`H%d@*ZQ`Evi!faf z`;>9ytaxi@3_X)|Ebr*^%H>-X+fVUyFWineG9_08>Cxms~4{t zA7q#OgJi7cJjK(e>q<0LW;k#T8qf*DV9r@yZ8-060 zsc_AB+vH~z)iwG=>2X=DqOXLpJkvM;mkH^b{Am9`%9WzQNy}C+F-u>rlaBjON%pnt zE0hRFIm+&hEzKIGh=Jm2=^;u`#tRi9s{z4nZ;o!cSXoAd$ zr|tH$$q9ymBf7z~1TCnkdN!_Afeqy0loUE&Jy(0;bdrY)tktH=;InW}#$p009yN|h z?Z+O~k3rK7v55Hbs>QDlF5OC^_{*#}elR03OX>A5GVjYy0PCAHz%5~v4e2tp|XrmJIEE+ zlCJICIX(_`Yton5lH;!&jk8LBICuVqBHy9;x8@mrr4Z7a8x6bKRNZaAE50PIt`wwJ zvNaYJuDm#BSQWCwRTG)r&RSsPRmq!r>rkO~f;z2SKMr9TS|yx{C{^6vCWuqGaipOi zUlLbtbJr_aRT8ilIxhX-5C`8c*xv2^TJ86|STV?HEM&9{IFyDUp4Nhq4u>&GAE&)+ ztii?=KQvL~wT3jw=g|uMP{UTVK1&)dEOO-Tl|G-)%h+3EWT!o?8Q3!iSnASZ567Nv z{`G#w&R4w$!;sPUT1(!@X)e!n8aqW&d+lno4w|+fXtMc}y_L_0tJTsqydAbES$3iK zi`x%`c;F!lU2d>}rFwSmx&r5d*u*2EJH1dT26H9O2B95U;ug6`?$)~PC~nR?CJ1bC zb4bdGvOT8y-Q4RjNQ7m!z?ZS>KSsw}8qzlLZ`_#NmUFnfJuk+GGL9kRYN{m^Nj#tA zOkG@WbV=ByNjI6fVG?i)PxsI9P6&Q27UjVw zimAkWgP_N|jKslG4K#xUg~D+C8z6sP@*AM*{x-l~SgsF&8dYtcX_k(1V*-8$h_*_s zj5UW$;X-EKVZopmGAp(6M6*uJwXm~%h_re5qOn7rcS4FFi`MFQlt0tF=apHbxfB*% zaj$;RlYrD2XL-8yKvOlM;pc^UG;NswlahW^eVU-x=v_?{mZR#{yoI$&R2TOAU>GZr zW~g*`bZr1T;3%pu_+W@~yL2qX)mh>l)ON&?0yba6V`l26mwGS;FLw9jN=ibeTmB{B zFv;IcW%%ei#fm*%$?@f^oxJ-Ip+4~|X3uh!P_RWTSd_B1rpVx?AjN>wvKzGqidzIY zzDII$+23ldzq2Rc71*0G7%DdqW!9CHNl}w!m(>;H)^&EqKfn1LvAGAcD11vp==#R^ z)1EPzLYZ+*Kbiny?9}A?I8JIa;tv8eZB2B=;cZiGeMTjS)+EP{4=-kCTdy&fe|+`6 zA^dBLk-WVEN z3kcK#ZCj}K5Vj~$|GZ@2_O`W|&W*CQT2(9xBTWpB=-#X3q(Cf!IZZ$>;j?r0DmvEJ z3_Un~#8dyKkaAbelhQUdcfKTo&p~5IfWf1pVEe$cX`DI=ZT{dt&g1_p{rlf~=Pv#B z&INkP{h#s9nZue1=ON1}0Hh@JZy+TTu!C%lhYv{}hqyWaTgPYhJ)wV9)>+knSUKuqk zvfdKQ*xK6}eIM*aWAv?ftx0sgDv-jYQR0deOzaFQed^g}OfcvtzU9SV>)(*|cKKBoRfe+J_XRGI)=ngq@Jx4Chgvr>9^_BIvy4LnG_LFHtXK&G<5}AM) z*MOr2#dTwrRidv9<{zBSH~lL(L+@#Qyev|b~YX# z?x@LrPhZf-Q9FBH1!_-d~*te<;!k(IrTX*ti$o}IeChUaew`rs-o9t znOEM)7rrtkSN+s5U4Hb7%s1Jpw!DIf8ChuSvpy1Znq8osT-PV}IeuKj(67U4#5Oj| z-z8$#EBkd}TcGzj`Iq{Q+O{}W;&2y+BCN=<`S@~i4To+qkxo9AsJ{TUO+5pTqrqzG z%e3*xs+1Ka6JE4DpULiaBWv1V!;bGOw0H|W%e+gra7LLN=c9lA_Mh_K3z)P$^m*;0{FC?$p1_%kY zIm?9IYpYKs=c-MmF`34!qb=gPIwMS$qq}$VBfn43d7e^nz5njWy6MupTOUrP9hxUu zt_L1NnEV}z&Q38jn0xRszB^9m+60zUGnJ%HFE{}N>X;Gogc_wLIPX>hH>y(7@tr*#v#iq5nj+T!+U>? zA9-Y9E8&W&(fI68{$cMInF|m=#PH}HE z;>`;Bmsg9+f02E2B>z)dxb)MGqd57&p;O+^1A|IP$67<3re8(%;@&dj@^QtBWI4!4 zMRZft@w0|bD;2y7NYPlUTva($&vA)_yGg;A`}3H(n^u(o2QE@@Tb+=4thgW8Q&)m@zP$nGHF?AE1kj&STacWC+4Arx~ zE^#QE+J)j5*N7YI&tbjQ8JNSWi{+@$ktkp}HEc&&H8Lw*Rir;DIQ-cs?{P0TGD^2V z343(7dxRGj7gCF?-x7?5Q%A^N*MH@2e$G7{2YfcG=oJIAyjCte*3HwCTd3hd>s6^- zz2Ht$XTD!#UXSp8bKMJycf(D*SZa!1q2mVlI{&~byUscYJe&`jlRF_(rzjzW5fXGNF)94njT<4ckhP7oUTJlvkyN*JIxW0;BC;fb2w!R_o2V*^8gy(%&^e9uES_ zCGfz?UPDxg1atj`QD&XVQ4WT1jb@76^KY5qsz2=(NXkor!vV-kxrX>^BvHrk(K1MJ z?w&>DK`vM7p}JzZukP7?WJk)ls_R9ifq>Hhpc6qSv!u>0kQ$AAXFzGtY%6Xa&~+H2 zt97u0;kAA9ANkl$d6>SDB56Ry38bXrn8T~zys$o9`E-THuGZRQ=9$riV{|pIF zlu-xpM1BBI6fn&(!GYT4&~hkIv%T%e;bH`&Me(&dKab86+wMMYTM(D==L3sxa*@v> zWa`4d{~eCndEg*6JTYOR?4>>0GLgsQK`*>2U`kG4DEZ%`f&0f#(7*tw zY)gbcFuQ~RX&GCKoT3_=!9?m0s)p zv`NpKbWr{Ky6oUygni~|cS-oyg0l#G`=^#df0`)B_Cq6a{}nAR`APF}uK!DRmL z%BFa!jAL7}%&jm?T$(`wfsfNLK(_Vv&hM6{R10o~YlJyA38d_y7jpJBM#w)UJP*3| z$I%h{HTE(F*|}rnt9TOg@OP{+(RtVqCAeg%2rb3P)j8 zouyDp>IsTANr@MRFgfmK0>#Nrn%v1MZiuPntg`-R>hR{qqMK%n%fHAljWFn?WDv{c zlLxU}C!yagDYf2A3&qI~Imbio@cJ#G>@?(<{wOwoIbg;gUh-XY#Xe)SkPl44_G6dv zPU7HoTln=b1_M*277Ge?z4Y$Hf{IR7e3$-QA4@Us=ASB7nu|69)ymW{XVBlgrCW?A zU_WCW~Z&9qvcImu=W+%ohRHqqJ8pq?(@*XnscVNR9J`R7;tPaF&Nt|u zb;y^B{$$@zhx~K_Z)IRaRUitg@oGkiwL+k}!g80hIdi1Za&J>l_Ldqa^g`L#xpfUO z2zT9rg%&yA$d@~iW?E8{__z_Q1!F(DwBfBgw(^;B+JE;rjDNP=QO3b^X(B4Q5rhwG zO`HNlg>+1`p3>elr5e+SPHi*V_hv7BU|I4r&YE(ajQAMDFEQw;X!etU;=49a$t*r( z4wNhh=*!>uWndTELm1T?;MJwz&lRsdMS^)pA7P=(Ozp%|$DK*22^a2`bHV5VwG?NYq4F*fY!lSLiL!k)|Q5 z;(#kyN9Z_C0wy((;l)jt_ujtH$=f^D$Cf5gF@S=-|B+;8e_gPpyqN@7KxmG35QBdOQi)Pdrn9Pk2 ziMPCdO}DjA`h=mj7*Wx~q4X3Q(=7|UHmBZ>(?q9C$lIG5mrXB?1oMTdk?fFhq%9Y9 ze?>XXZCq>J4lO9ymSp7%X(bhG1Ml~?n4)0p8+(CpY}Qe4as~W8gv+z5)~fLHy*|a| zu(cO@*`80BLtlEz z&lg*+%vC;gyd#hO;oz2G98`e;J>v0IG7b3Pe36E&hbc-UA}< z!7W4gGU6Yv^E|F97M%fvAZNn{%}$X$@u#5cOr>om>y3M0>5FZ6L!|C_-w#5KtsDZp zv(E`b_PI<4L+p3g*lT9v_cc(F&+Jgy@f&uSS5gav~tH>1MaC3yDDodFz8Ww)a8BhkUTb= z_wrdVJW)kY1;@b1AqMzE{89dFivDWapZRT0fp5x)Y3-LElcsu^PtD(d!yWc@V7?@A zhrn&3r^0!}-|wAUllyofzO_~IFmV81E)j@92Ey%U!)VC@TXHg}-2A z_k7cHHxZ3{Fu-fzRS%W>MP>$X%0&01T@4C(3azam?j$?H#|^woxKNz7sj&iFhLlxD z)isI*-D|?`D4OEZFpW|R-up&uncH3_%y^cbz(wo(X;mem)8yl~d~Ofyc0c|__QC!6 zHaVSH|M5)mWp@Gv_gl*n{souMTkX?&uKAO5cqb7q&J=Gx&cW0MGnk0|cr!yI^4vPA zYte9MP~}@rF-lT^Ugg34R*jXIM}s#VX}rD)Xq)!)LeQ&M3TJ?0aK>=mQ}$q8r`B(m;C4F!XL!*-Jtxo=xwo;6pAy(d6WbT&N?Zd#X z-u1hI&VB2nLeGOU5;K*Xmx%zzRJfb?c;ZLIlL`G+A`-L}sYrBG1Vb`pKgs*@4!h3uU zpPmGYED)YL_4@_UUc9|tm9C-5y0B81HRB(y>@v}1B%)XkRKx<7W>6=XjdXl9c9v|l z^sPPK&A9TMQQ!nyD7E&CL0~#)4xzSh=v7EP(dYtWl@F^sIj099P8WLJ@o8xyfYO()=t}xqEo|ZrEX%iEeZx5?Ao1)z$O| z_r9>q%FGdJRSgHQF%KSc7?=64#@}5EA<}RbALyXvWK{Qx_m(Q*-&gT;{84D=)*kkM zBkw(3oe^|6t&3RKVJ)V5uTxD zH!bM!_?*$r1K3HlrAwq1zHsndk54?{;SM_nCFQcGSwiaagrPLv=C6MdaOPQHP+zqA zNqi$o&BGm8fig6V;P!d@%F+3?-*n?U3e)qf@U`=!?twqnJVlvONgo4ArakMt@d>DogjrSeE2W`j zsDV?i;B?Tk(lP>I;jdEGm%77~d6|sRJqC!Z zTAd2ed4pr;Kkx*gIPL)Q<6b3HszN<&wsLlj=@-G=Xu2!=pnz8$b4Qp%`4=#S{ITRP;`wKZY_qWD(`zmQNF@8__S0cqRXSd6>R}jy?b@JCgS`cQNmgVz!gxgaw9Q+(yVq zhwSKO^FcV-zOwzAUX^#cO-}thRIZwVFPT<3^=A3N{;(&L4F*BC-=!t~&b7c($8dSr zf8VzTKJ=6qV(gKx(O*76k8dnj9T&#+_vqXMrib++*n?HI zH|475Oza9%kvW-i>AH8Eos2)VIgsc@Sa6>`(Gj$SJV#ni3rAWY!T(>rxLWX>0PfQc z++BvSUj(VO?sIO;jYdbbHt3a3_^!~G%a)+Jt&rw8{OtRei)ny#2S7wGdg2N6?g1tq z;qQm9tvTYK^x><3J+tp`_RP8CiBq?1oD*})K#r$4xS8`RgRpJN@k2yUy(f`>DE{G@ zE3@1FUlHK{fkW-@q1xK28kuRb)6jT-TnRAo!JaaW{Z&8yj~ennzf=B^e^@QklVNFV zOFYUkPowQfW-`c}dy^0?5acj>n1Bqti8JuH;!lT=kwiB(Jk6#gwPQTrd5pCeWbhDyY|Uor0`%ifczIh zXarn-d5s6TVbeQ}HI1iQTpYUejy)~#8`jexeX*BcNa*7FO~-3omHtJmWSBsLiL^>$ zNI*O#rkWKNr2px>A~O+WJu;VDN4g>qlc{fEr)wGfvkxv9|gzMv8HIu_j27@RH@0hO8-BNeSS>uh*gT<8fl z6wEtI1_F+~@P;tm9e*&D_MZvJ1T`PUiP{EnV}1zko8BDDXidD4_?!*3-rHNgyhF)Y zqZqCjJVl?$G5N|k(yF3&?_=pqBkHGl*)Gvx6kH^5`*P`+VndIAp8!RfCd*u?Qu83) zPb|`oKY(S>5T?T*XTz)Y4q$N6Ly)Q6{Pk(nq6>#Ql1oMjUX5oI8_+CUFuQZVsQB@< z;0Mpvx#%TaN-8UQ@4k9L zY@2)(e99KWxwyt-Qe7H2%@P$ZdDS-6f)N*t?VWiY6nsY5Nwc4S=AXByF`xv>?;b%) zP*9%N0%YP3L9vW&)5hsrM~yv$r=3|{R)|4GSgq1s)p=NB|D6P7=k!zllfFm%B#Hvue6+;5i9AEpPi9@4(R%#_ z3M##?C$}!xJ%QR3iffv_s?$gN7w#aLSCb@0n2q~0IU#dNZ666w-2++fy~frfr6WDN zqoYv$R!h!awUQygiPVf#j>m$MH|Pf^mJXEXwr1T;@2!=hcISVG zK=XuIbWPrlnlVtaVCZaWTJ7x^dH_9~7Od9u4unxJ>Ni(IuIgJw6!8t#bt^kP$pt{M z{z@H@!sAONXF1(S9MhjU-Q@tQ^?i|t#Bq5D0KJEI%}Y9;J0skspAqgPb(0yAIwOaE z!h7$hwA#H9Upng*#F8w4T&I+s%j5UEZa01r)PXYDCh1YJP8B>AZsKlXZa)8KI6DA@ zvnN0}`w1w3S~&bPD)Em1u{M&Ys)No?INWsp?mwcw`ScUOs^~YoX-_hF@+UF; z>?w(epPDJm*J>Xj@R#=fK@t12^vsSw7INQa0StZqudCZ^E~zE_aZ&cC_3i8`r)jYh z%?)(k#3|lns)_FASq=)&RV&|2HO1!WVLh7zNX-gI{$bZCl@OobVlQ7)_M!(SWlKe$ z`N*L}axdI}H*Z1NM944ETQC-36oE0X5^p@SipnOmrHl)Lov~iu*a-CQ(n28Hp3Avn zwr*SAJNMuS{Wdbq5G?_SzkBY~8qYUe+W30!Jzkr{d_U!cH+ZV=dz91>F(XN&H#6mg zxGMGym_|k{j?yKRZ|K;XmhEgX!u`hiCUDm2d5qfHsO{-K@ecA2;qCX+->~$^NMf|* z1BwbTDtV%We<~()shBR}Hy3e9x6f!%j(H?d1Q`|6-UPsUkR1(2&eWALFKH>x^PVW2%^h;B@)pgW z^sjl8w^hq3@S!-L5ke9;$MJn0Y#2_q6J_36K5V@1cXa!^~fQ@fn}K zMC9`kkah;7fqkhuo^2lBXOV2!n+1R7+FkF^|sEi=F5ebtIcR^H4nO zc*)T)5Mk`fh>OyG=+#R7cvq}Z51}-FBPa+o06fw!f{ifzuy;Iv#n>1(HL{gkikQPV z9olNV{CX67k}neWvtZy6+bk0^c7ftCRN?#lyPBv^&Xev~2hV~9O^&K=CoJ-;r7KB5 z>d6+g$u#+S2$7cKA3DDXZ2O%lf{344T>(1G0n0qg5WFdc%zv%py^Vyf0C=$W;gL*_ zJE3wM+LvP0glxKPTtOSJuyI6FUR70}SC*OCur0APr_7S8^YQ1+c~q=)1-gFu0Lhp9 z{Q8Y>d}91S{P?}KOg3YK;#Q>(o@gjbLSrdX@P*HmH6vYHrVUxwzk}BUb17e)Zylnl~e8`t;ScdnC+)q%Vj}vYiKOTKcco6 zR7L3e@Ly3|%)gShfU&xl2a3&eWj14GOKp)_U@U+eDB=Jpr&eWPZVytym5%(&L5p9 z3X?+d6-qh^YCYUthY6{6&zC#(+tOG+k{&6z!*QlP`s?pq~k8XFX$vr>L*nmG?WDXcutmRzK%$Ca0rFWsfJTGW? z^}(W)VOl9@fp1yCIH=W)xVh8P@uad&D~R@#;YU6a9W=E==9Jn<70kTl ziIVZMb?Hd13lzd*QPok(oymrdmX8mGOM6(S(x(Z+~*}m=T$D zYnXlXFC9Woz#(8~?FOm>ky(iZ$uC+a99Zd-!oKD)X(156Kxp1)L$-Mv_$RwI`^O+M zrC;yLVp>JLmNG??&~&|da}I~WUYR2BAKG3Mi|C)f2w0LUdqNZD#w}YvrqaCq$f{KP z{Qzkof@hTOw|IBL$CNYn9Ra3g!;0BsN$ScH;GGLgum|B(q62@hBotpBjYs-r@AD-rEqB$}@Gp5XyB{vqW6~-KB?w)XG*tofY z;d~mN`5^3>%H43soX4?x3GP18sDN-fP>XMhDV33;k&o28yISpPn6lZRy3)5Cz|ym( zAXjP^V|(L{hev$5MVbu5kL6>n+G_mipW<+OZLi_5W?fIeamCZ~5|8DgTv&>B1sq>s zQZdGCkHE@Mf!J%YtCkg2dcczr;V;N6ySK5kz1vrp<$If!p|?jbkqBaMB_1R?Zq?E| zT-mXoUVb9Cu?B2HNu$)*vtG22DrRMq4K3KE?H^tub9*HB9O&cLWaPvKx`9)-z-6xg zwR0}#N{nqU08v7EaPxbV%F1XT)iR22Zx`F%f=V>^{T~>+p4KSOUv85$Ty~%A< zTdB!>pI35f`S|q2v(#)EM$jgC%?Cs0Oqu)5aeL`N0id zSypi?TXlHsboM(aU5fS?Z?!{4UbCJEfEm{HlVXnt8+-YyGn+~B889ntnTfO58C?BU zU~8W34SLcC`Xik$Eqe$G*{CJG)fm{L#8;UlKSRjr*<}u+!LE3XZ4n!!(?aFO|}(-TsayYFJz#zYm$m1FIc z8x}3|VyO3rKQP(kr%A1g=7PB@6iHE+GaIFEkdfack{_UY#=8Mi@cKyksy;KTU2`T~ z(d1sqZK0FwLq)rO5*ZCtp9<}09R2$9n(7o|c{$roOQkf=ui9v(S$CHrJI_uE^YLW} z`a%szkC1B?IL9WNqk8X9tB2A_;`1Q68;6>5r3r=CbkT`$*zkJfF7%wv$JPk zbr`jbN?NPkJqNSWdM?(iy2qH;3A-85J%tc%GpZT$X6Er>qx&i&*4sO)tkm!M@#a;v8)U2W#%sYs|4hXKs z+Ba>Pu*08iB=>jdju}G7pXjkCs zO)JhvwJYR$est9v4gLC4Fr^-gvhGthiFcY)9Jc;0byNM;ze_3qU;X+2R`%kv{S|Alhfyrq4>2H%ThE2%Iy`mhTnhT!*wUG}in^z}zT5n&htsXcCz1CtBw1!fvk=c_U!=@~oV+d}(3j66$!mdp=V0 zi6)YSSTcUiCGO`9N-^S;%~?DEVZy&_Gu;V0f$G#mYfY{bx`pFfpAarJ61ePp^LE>r zZBJs-Ccd3}+B2J?_|3eWu%)Ho($17`&{OYv4~IyXM>b}VPnW)Ik`}p|<#kSV%6)ve zuH(w2QK-o@IIBVg(k3?vl{M=OgygGg?ZYpaZ7s_@I~s_6t5DxLJ#td3pcyZDqjhKP zNlSC0#nsR4s%st#i0@v|-7}nkzVJ|o84Jx|Dek~*Fm%Zj_SJ?hiT z6OaCQ4)+itYUj$%!IoH;okbCFeaVHm_(8UN;J*G9GpF-N%W~4K&diCab#A|=Q9d@M z&Mw1yp!>3LN^b3A=<&q-$L0$sS`6+9%a>z&?sn>ZV;1B|c7iuRy5zstX&3H>X+6+f zDhJg_3h4Ax@#h0~SL#LLgP!j=oy1Jv@Lq8x-dI}ctzv|zmSHBji5eJ@NLY9HC>`bW?oc?7{AR5pJ0tyRf{~BM zaV-BUr!k2cS;vz)^D@XPMH?PiWtM0e1{e`WqtZnJyAmU6C3bxGh>j}<4&R9ti)w3H zI5W;=XkSmv2&#blY6|myXs4E!<18$|*Wx{nM_YP zJBz>Bo0p7$S=v~-TM@IqGjjkU-fPx%A7m{KO#h5!YB+gjX`x@?)Y;pjO3jxY@&kyEJ_kFih;+yEgYQ5qe^otss6^V#oR7;QV^| zG>73Ta+K|4Sl+-SeRt`==70(Xqr^BJ*|ZKX%!i<>z-DJxVIJMrpGi{@{CVC;h7l(J zl?M*EcbNkU&{HYiwANGht)-(LZsrGSxLHP?>cW1{fmyo&h&v(+7Cu_+W99u^{d|iy zp6b+H``KB;9bmtgMP>xO^CB}j>I3$jK+2nJ8?Sfa12J=MyWBjJ%zRA@$(htvr;S>6 zq)&r_pzR}OO@bK>1>%0$-FB>%#ScMc*z0kPZ^xma%EKCy(RKcy~Cut zWg))4r@c0W9S_!3#+n=rC|^o}nN7-degkeGPm58hV!Zj|BU~#r7UVM+ga!Ly2fIfR z1t`Z`9qs}LWqZV@oofAN{Q{!*xTOOZ=`ZS!a&SItc?@#l1IkiRAM4J~_2if39DS{>jT~FHi3Eo3@O(Ex`^FUObz7 z=`qy)LS_7b*uztK@#N%aw5|v)BbEwg4+f#kE+K!VSqrSr60D7m|4gtx?AcDx!p&;h zMS_jt>AGG%$xB8d)$;y6oc8t6KX5~{th%wjP6OI3rt+!A3DBqj^-TcvurJ1 z|Alat1jS0>isIXkaJzU4AXPrDMg$^3DZyQr5@TFyw%iSd7w9L7xB*5;{T8U21tsQA zyU~6_8d1?6h)`6j4%zSHj98$G|2RAz#IbaQX_s--gV$s&?dgI17n;R8A_f=-zx6?; zH4&XzOt(@Vjkup>jj`n`?1m)~^BsydjbkNlUsKLvyGRh#U8Z_43hrC9zkPoJi$_ZF z6E%T|0gIK1g`?4Ooxcgl?0*W#Lm7DyRYlR9p^2FAi%A`>F-7_kXFY^?%2!|cyAGqR zcdYya*gN){zv8z6mFl-~P%A5y*VQ6#m#&Rg{%gw(l`P@OT zB!ap@aNCXCn(DW+@l36j+|Go|8xYr{xO!uHPmkfT>7d_}`?sL`=OisTe*t6yO=0^H ziq^4OqXt7Mf;=L}h24SGK#Sdr5_;%0bf(2NPg?iC1X5!I0vhve%f>YhiK9e+gd-&n z%)A$#!#(8c&uAjrDep#u2ZMD@T+5FdwRJU2}oBH;O1Z7iLQ?W4ABGvnL*0f8eIk>xxk@quZW zOpg)T%UdrR-<7}2ytVTt-jf}#`+Y|)%w_FRRmd-2F)I8=rY(JRh0FaZf60_hn$uD@!!4yx}Ef zBLxxztspS~>g*&qf)*R~h~+;G;mLqR$$Llsw;_>ZeeH4WKMjdmwUmkmI&DcZO7gO~ z*@lfd;Cdk&vu|0?u0S|trU+qxVOhtU0O`rraSbAfIi#r1!;d80w{@5jfqk>f-or<@COITKsTh|Itvo9)BQw zZvM@glxpROpxQ(U$1hgxo^-~|2VRbs8#4)Zws=h0JYrpF;>ukRmCK#kfUbzp&$q8! zCR`UoSaV-Ak2deO@Hq09vSl$!>pxk!%=_99D>eMVv-<5INISFLgB77TqbyGf$CbUu zYbPdEf+Q$fN|yTsR_j0c2lOqXXP{T}0x6$f6(Jlhc7iQ=w(_rRi;vj#pcnF7jG+Q5 zsDj{!q}f9E$46YsKSg(u9cH7hUy_b>8g+km8}C=e`F?qvtJ>;Tl4SF(?>9j>eYPj( z%WzB)FxeUO2yh!)QS%LsCEYn{=L;T@htK7?djaGrt-)1rThdzUIe4bOw=D>OE*v)# zghP4KRS%R8zTus_F}6W>_ zAWC8J@Ge#wPce1{ui33itIyfDZ>Oj}bac@KCa8XeLhUQ_(kHSw_(Gnmx?ZttxOA`V zazOh1jyD%gIw10O64Q-hUNV>?0pf39Yx>j zBW6jmyHBug{k+bPN@UB2$UG{WsPX4&S9lhry?C531<`iXqlVKDK3`Ve;@o`<43c}! zW!sHUuH3(dq_~!A_&GNys??nx6T-=r96ztTZfFP>b*IJZG1gEJC&YTR*X=0&B>TFi zC7>w6EkDx!X%(cSXBkzi$+Z^|bH5dEM|C?5lO>U0vHT(KXjQLmB=5~N1hDE zrrb)I26>{C?}d^`cqxze7P98F*28shaWSuWLa*MM$23{s-8;$kNt_srW5SxQygf^1 zAEth0u;t~(gQ31&HfwOIg!+JKRV}*kjxu?BHZG{G)`9KG50?3-V}XG!s0s{9WrSUhH|3w4zqbRuR;flIq7S26$T#SSk=Bs46-Ko`vu09mHOLzmrCA5 zVwOQ~ucC)Q-p0@o@5*fRkj{vX#2u8ciQ(b0cXq8_J{P032bXW(-m44#0k&{IpHYMA29YHr1bb)BZjqlK-5>L{FQ;I zJgP71vqmZMVD8i0$TCc#XcuP?Z*P{<#9iqB?DR&MCZxBFOLlme!MR@wGHy#5nQO&t z`PpDdZXY(gbZc>@$KPHLqi!WedvjSnVg6%Sw)MPjT_c>P3~e+CaZz>_TX~ghE#eHS z7GvMkfRQQiT=?h~Sqq80XtzO>9nws5eS0k4wdl3XGm{ZA_85ze2`fK>$KbPY&+P3< z^0~Pig3e;plUioj3gkmnAIpi&fLHdc@J7MQa~M6*P>qJq&`v?+goGE01{3@Qa`Vg5+ye_FHE@ks!S9P<{%}x$m}m z)XKbobbk5rrMj*r2Jx=#?X6t_@h<3ux^jU>U03Yr+Q0@r_EWe5Lr;FVNY#TDGvP}a z`B$6}NrKW9J^B}))TXBZ!{``(2@!8wc=3dvm7m(`U^3E=Sy@#hvnNg|G;w!qV7gX& zr6^nKre@;2)P8U=$Y#_2do~-nS5_Vcg*^K5mHyJf zmrMMrKY6C(dPe&@MP=T%c68`XFV*dCZ#OS3a>foildvQ`#P?f6=CE3G@G-k3?b5YZ zSX{8Y9#`~9x4dA*sb~))ZtWKV(pPJlY|xX@292x5>GYoQ(BC!Jbk9VXIGS+j8h}6_ zZ`H&GucS&=k^ReQMr$$-3g4<=bHU?dt-WVXn{3sn)@P*Rc8}=o4>6BNG*kQNe#%Lt z%^QWa;=`V8wL~-(OD`|ha{?cw8U_Wk5xsnpnS`Gu53cs6{3%H?dcX(qs~Lex6FJJ; z(=+cAUH~-f{KW&Rs^`gu*>-HG72HZ(=+^Ch?+N)Z%Zb>yzP-my>!%ZAD?7mJ3=g+= zTItmN5MS-4h12>eID^0BfgM$qxdvm9%?W%!DNT?mqkEn2f!UMyU|o$3yvLvk$lGE! zmb!C2jA3x5_M984gW)a5Olc+J-*cA|mj;-v-@)5a-)G6B?6#209QMkpKWZi`T@8{a z22#VU3ZV)d@0SeQK9O%1!}ii12KWYY0DC zI4`~bF9OF3N`{|2UFy!#lxYiOE@S&gkiIR^t6Zdz>-Vn}EteG!$|?yx7^4;M;4-95 zOMb}8#~R?ym*}IFk=!gM|0sKl8$wnCgwZ^{fAT~APgQ{apZq)jeckA}EXz(d%Gtr= za8Mh{@tYOQc2nmfAP1)f5mcu0N2$J~<~NTBynm6z0xw2^+X4yv*uN$4Yf8YnK1}l$ zfhSO;bjyh@k7ArhAOoEk79H; zQTe}VdH<+HBy9D3-k;rjDo)kk;V{}dXQ%!i@m>jX-&;WPyZH4!zc4#E+%{I5nz-h^ zkHekhM5af9)mtnt5>z%9V=msu7Q5xA=jvaF^PvC8GrYRxmxK$mGlsv3DW_WbN-M5m z#z?yE6Q&2MTRrckj*pabXN^dO*Vog8_}59}4^rYo^=yd&q zzS3Q0r?v*%Q=kjPFTCatqf;=pV~Z+J>rdATGTT%w4SgWA)oi^ke%p%AI+@Y@4+TZ* zX_YUgU~J_r1Mz)zNZq9MW~s<3KJmwu+efdW@hiM4S5{@vC<4=81h3wn;N6#*4<9g} z8YoWvA|O7D0Fucvoo~sfV%r#tB*vm($DJFns+uh=e+%2*x@;Q`=K5>zr6KPMU_ZRM zu)x`Wz4dY^^Vf4fkCaT5r)Y@^><7l*v2CRUJCmH(1&B=>LqT8Dj=YB12+;?-1#mo- zEf8wOtKhg3IG(50HjrSlM$SvHaI+PlRdr1{R#`4^9Bqxp_a46aUUS=)XtQM!uw!-c zsPY0GxYc5LjHhk<9Yk{HApUKk@Fv+u?p-0^aOHa`6Z^)6fn_s8DEnC#iohM^rX3hi zahPCn!=at6D$(m1Ub-65MY-tW()q|*tM}bwSyR&H%}W)^ms#<5wmOCza^q#2I8}U`XD>V3X6_6{)=71VEo&uAhYcG1s8At{5aPV*4M2H>`*Z=FH zAe>FU)r&5}v+G;oUBee_aPwn>4Y#XI-QBUVr<~~H;9mr@g}(?aWKOYR;Jz=ux5N+h z@J+DiTn2mX2sAFq>Mi^m^I&{`T`Den;YbwiI&1S&qtKvvptsunKhKg16dI1zzd!C@ zl?&CFSFDveF`8L3u;Kp=epj)!pky=g6mwHa5ji?a58A|j<=&$z{(O15LbMxxwQ?0Q zB!+-N{S<^}K(a0NolO$aX=xbXb`a_HXkpiGlgvHif~U22KgYQU6|H)BJNH<+$JLd= zJW`AInIkMma@SItzWU;?FeS4|uTaPthz-Q+Rt4}Lo+}akVVlWIc*<17(u``6>^!RWi)ni{zEkFi7-sbs2``TI_#YZ%SnY<5t^N}jPl{6EOgIUp)n1=6^@;5p)KCM z9Hh+`>{?^JZD~LENPCQIot8FJ-IsoDYXb@5Tk#*D8Gkgy9DEHGBHJJxI?WXpb>v&> z4in9!t_u+xFt5hDEV>BzAm9z1wUZW$;M8Qu-mDRrx>B6aFWX=ovlKA8@eQueD};YH#Bh zU@Jz5r@}|q%9Eup8oWj1g`Z)H;_+2F-!YJB?fm+jLaKwu?-#n6r|g#E$8&gXOlkoe z3G`D|E0@<=9C|Oypgcq)@zLg^0V!SxJR29+` z0Zz%I_`zQUUzNGeT;cuyRpnnm8oZ;5n6%F}sw{Q^zyX7Y{uze-7XF4Tbrmk+^`~0) zo7w@?GJs`Lj}|sE4@O?vT7Mm^&0qi(issm3`TcVL92xkZjSTEbevb?QBj@F@xL^Nt zL7t42x0m)_ZzIX8`V$%Dw^3`+vTqZrDwgEZjX+@3s;6z{b^EqFddwaJH)<+{5uSB6RO&=}SMgCnjEI}nOuaSt&NR~N?n{opIl1n-;t02GQw$PP(GENqY z2lc9bX^Fvd2d0JzI?j}-IwZf9NdG0P9Dr9cV}t++n>sUj9yJ+NnO@Qlk8OVyihNZS zn#5fxs_UnEHmEpV<|aKV%qNU`HGkvJ(n2fj#eq|K=f(B!jmRx>#l>PcF|Qs(;>%!mJx3a@7?5k%vq121M+6HsCBT|IqmXCOWN07l=&Zk&y(Nn7|>|nLTPOA zcf_}h+VXbJu$kb!(<*F-8fy=0(O1(qw6g0Y&-o8L7zG9d@(O@~6fm>pzZHX00j)~z zkJG~&kDv=*?52%YpnI_egSBg+FCSO^@!@OviDdcA^8w9n4c3CGGq5ovcFs{PFf+^O zZn`mL+ci68KHyLASJk$Ttf~x7n_;K54Q8~_`>{Tu6Tl#Kf_MiBiZIGTpF?sV!F3r9&yII+ITiR3auMI7i6SE zer3d-{Kk**P!Uyuey6K951<>sEcvgxCeGm2+KqHj&jb{~+jSJ6ReU z+@x~7R|`kSnQJnpup)&@h`p1}V+lUt93I=XH43kWt%kaS!Tgfx3yINv_t$x$CvDa0 z_+$Rjh|!-nITa1LlyKr(@mfxuT3+`K{a$pv_IQb#J0*dEk-KizN!*ODhuv!nz&6;= z%wBQ-ATcj#XD3i+NHg8)ITK!mv~+igbA(ZDh7{bj-w~^~ds&~eFkTV_8q$rYVM(?Xk!83=}ImVpIT##vNT3r)j5lj`xL4B1TH`D3# zh2X)xekJO|xL|wn&haRDj!*h>Q0^_@noSH?kAh!W{Y5Zi zaPgl8*za0I6`%&$LOPoj)i1{UW$z4d#pIWyqsQ8-J1UnxCa6bVH3rD2Vda2D6>v6o z0D7rym0M~k;tt>AGib*;7n!_y?;cUF`77hst(L3qg-*wT6ZvB>WubkOHk(+L6h3PF z3fYppLLPsr08$t{1EL-vB9d@&L1ZzP(oI=eOk3pTllq%g^(f`W3}}9m-ms5ZM8GWo z6Q`_?EaF-40Z|dtbdIHVM6sOlTX-M0xEA~2z#$YM!5Ri^GCxlD+fWNpp}l0l)2uiZ z!L%#8(f3%x2HOk9mGPuaW0V(>4X!RdqY@+O;jZV^`+vLCJI%ir+DJZiG59uaO14;E z-i?Wu{!$ek*m0?qsGZXlfOpyONVDuM`v*H@vIFyuhgauq=P<^V32N_YomRNsBkq}9 zo59uA)^gFxNsTe?TDGCY<*bI#jc%t^$4O>uIOGS9^=#SLGG+Efk@$9eFUFaPzg_tb z1rW@HSeOsm_5{TIg3O4yTgO~QNya@pYf`d}_4Zt%%De01qanVI;v06=r}&vD^yX;} zBF7C0_aG--;S4F}z+bOLeCaE^jV=zI9>uTuE3c=>m+S9Mm-%`RY~2&2zIL&VcT?z0 zZWUBk_L%ay0FDrXSVO%4irX_Uuu35I2hiY}^vP8`gc6xpw}T zKh%D+J#Uc5_6too(P^2|%*qn@?97QMnU|5e#~Hq_b|l_ao-VkUSEl`Sd?*uh|Jv(E zU3MxkaWD6~pGTI81opnI%;6f3%jIq5xZ;{Zu$fK+1G;(Khxq=UX!jsXhoZ1TNA+d8`|8igi-}>5 zwyqM34+ud}zQkI2T#qqoPMUZK<2exlPuRH~_B>`=DnYkG=)UlE_Vyci#uYOb*-xz2 zIGq^>VSBaSX8=#0|G+xt*+%S4H zVnsD!-PP77`|v7WY*CTU<3QIL5hltIWLaFqJ5Y(tNs~3vnU;F4`Y!LmMW)>v-;+F} zak&2x`n!ALn_eYv$?!AbG$3#@K$*GPlpvBVg2Q5oHTLhJMh@WQcCn@1*1NpBP zWxo@p=3jZ0P~XSD-`2bI+VMV1X078k;uG`tbLam|qDR9##3SFth@{8eb}S<<0k`qu@jbNWIx@AU{4LLQIr`x1 z)@DoyM{8#_{YVg7iN~YZGYed}KJH%88r}TdXInUE)3OKtD!Z zI>{5}-ep|6hp?tdWn)dx0}ZHqgVp*I0rMr%5j4SJdAB$t^-8F|v>}`8`ndTgC0>f`ZV2v>m+Aho{7G{|-i5m|!dEKL7^=R8M^6~e zGZ1e#3-$jod!nuVw<-WX{ErEh@&{wmj3QwwUeDHa?>W1siZpr~&euOy_{7(9Oa%BX zat>nN+Y7w;8L8<;7TN7x?Qr$fwDi#D@d6R-q<<#2*{t8ZR>$z4cuA9SPVo`_=IoGJ zw}&3DNJrc3N%ZMO25b?K{#YMiKJ;jTTP%pc-!2a^DFNbGPeUa{26m6 z`57aLcx6Jkkl)8-q8+E+34YQ;%U1l9n0E@k%F{i1y}Ht=wyZ4ArM7+&-J@MTqcH5` z5$~mn>Y`qE1?L20iOxL~3CkuZE^iLyIre95%6tmwMeiUnu@6+;2 z%FtVyt+6&us@v^l{5cU~+0!<+MLhf?cC#Es`!5Ta1ki1(3@gI#@gp4p@=V z1^BE?N*~fffnbCU@>W3Phf1S82QM!Y+usBJMJcribIp75$tU8qG|OF>QiP3^M%&dF zi5WeKBFrY*AFp0vKbs?%V>7Cwk-Iv+9X@_Z6(1o?;PSj-jWtsVk>Rm+hZeqKUQPlG;j<@HBLPC>=m~27#e;>c5SK2+JTi2H(YiHZFC3m1br2Qpl zzK3oY=-cxrtl5#|^X$i=6TTK!&LdkQxJ=@cviS`=7kmm5IU98BodnC4nj4X(hPZ{@ zpHSC^-I&nd&Vt(LQJ4u&3eO823)wZ5J-fz7`fL|@2b3y1r>gPQD%HB8JDgQ8P6$OQ znG_~gqe@Q30{_AO<9nsa!9OXYnE4Ij-mznLy?LTh#1Fx&+=RLI8NPc%uS^>|uz6Hg zod0oxQ3m6ZHL)yMAX&Qqv2rl*aYu3i%AGs6w;|2PlHymC@&VNLcrhOPN z>~GL(L<~QCOu^ep!JM-MMJcG(l$4a2*E#8YHi0=-50dUBgz@AKu7p@kMdUWkV(~p~l{R;< z;Wbs9I;8BV^6VXa;npED%Rc6=)qndjE&r(cXuPw9@{~DwP5#^2v@sK{)krHUob)P6Mt!vB>%ORKQLsjwff$&6$1N zGn#nyi&K82>w&W<+f~o<{7R!30GjzlaM7K9SBt!NkN$p=sH%lw_gKgb{&<-~WUMi+ z36b4?HS7pApalfzyF;!{Qvg9{SDi-GVq_A-301j=Hv6}ILP;=s?05Y;Aj^* zKKW88ltzmt_Up28u2`o&0Itmn6cSkJCH5+xmopQcP2swDWseh{N;%N;l*!d*vuez& z6PtU#XlA|nvSdmw`;j&*V@Xg??8{kO3X_9JjCjTYV)xIvfqoNu63GiqDu8;S+P#+U zG=@6a@e z)GRjWX{oh+#fTdu>u?`%({=xuXt&lsX~(&JzU~T<$z`1EyA$H@%;+zVzQg(1PE?!=m5*xQpJRrSYovm>irEOMNs zSSWSkH-S2QByD5;^SDB%^Rc8- zuG^l%@#?-gHZNNaqptN)`O{(O+S4_#I=(tW&ldJXl#H;MrpW4tW-vV2D zGCk;X`91vD+v(R5fzaZeq6+ooZA~`8t%>4t@J5>uUP)e+ud#C2R}oE1`D+CUmft#H z?5Rxt%)VA3=JVgnU{rqK4wdqm@NL&X1yWJsC%42Ih_&@k5Gx7kx|~VOkAsA2qwsC< z<9)jZjqUArnab*Xgj!AisOyF;aKrl49#cBgPQPCs(Ju`*d*?kr+2k0-?sG`DsOiID zCQS4RcHpO&-k#lp^Zaxm8S=&1+V$hi|<`w<+t#XHY5%H+WIbU|_ z4d*LrA?~mt(TZJnQE#PYIWH?=L`e@j`vh*of`dn_wDX^KTDvP)h>*N5+ZkzJt7k`9ET^U;|*<}L> zO9h>A=47cr1Hsw(`IgnLgTAxv{+|dR+r-fqB#(eCv*y^u{=!l6KsVeCPB!;1kM)+b zHAq`yK=hr`QMp>-gvR#ONimQ8S+z%&h`72Qa4I6Vy=(EXt%{WqosHLXWl^3H_te)m zbn(np;cLll3wZJTkv90gKah9<4%*pssVcfIFY)=H-z>b?U1-uWChRk4P~-_($pdPj zPdPGVIUS)>ke=OYtHcnT4tMsK)F!-ej#Nq{7lELWP`aT8O&5Az2g3>LsRjkKhMKK2 zID^G?Z$5Dtu=Ktc{iCrU^*2&^3=(#T#l2vP@gjjW-n-Xq1=8EwW{i4`&Wz$v2bUsR zY5f0U?mferT>GqV-0H@Lh|&?F(xfYb2ntb=Cek64P(+Fp0|EgAgjlwKQ~?160qMOH zLXS%CHK8Pc(i3_~Al3I`-}lTt^BgntKJR>bKj|UCK(2P4>%Z1-t)30d9+pc10{9T1 z#zo%YbMQsqQps=iz=y2gl58X6xy{)UDZZ7_nZNu1P(=S_-UbxW!h*@XOnb$WFDH3e z4gn&?a5Kf=Gs5EBIVerY+W^u2xQO}4V&|Pa)-ito34;AI`)}=>P2&ZszKur>&=gN2 z9?lfLU7-q?M>G@)=9Ui@0pj_y@G8x&pFr@8wXVeG zA5;*N<_|k^z-T^N>(26SR$$O{*u6sA1R6AO570#Zo06P=Hf;w3P1|xHK!T11DpwA> zwl4r(+ZP?BS02PE?OVh1U3mbZc|JqHkya(Q4+za1!#inQh=AkfMZ?V4CG-`>e}U*! zZ2WsS(s?EH?@B;+H*a&ujck+2e%*XK{Y-(9%Hqs3QSv7?Bp?15atyL8Q+SV)dFFrL zVEaK}h|S+(*t^3zDOHs~xFiruF0jypiR=91gDq-co5xS`mfdQsRWtoY>e@Vrz?85( zh!(dDGh&4`4_vMX;5JaIF>oGXV>ho5e5V7+l=6-a23M?7c+H;AMS0b+x-MO~EFi#U z)0~n1?PVE)S$^@0J6_C{6_;h3lNN4CO^M0rZ!a)K)h6e}OO<^(fWo#eJ3?TT5MM4U&p!cF$%x z^6HuttIs7D6%T#2F(u*8RH-)X_jrBj)1_gjuwSKd(OlB2ZOt%L=73>q2xHLGl z&*fZt`^!#br0a&`YLdM5x8$1{GV6u29H4e0S{+h@TOkSXZa8#Jw@LuBxrlme`frwP z5v0bW!qS1#4#A^nBg*;lV zF4te3i=F$MnyIcG=wksZLymHeJX>fKj#Z$?#kP@hm|e~2Wk`!CJ2c2MPVFy}0%dcH zXn?`{7Euu3M*7;*&cg3si9VBUA)~PCvz*UA^a~`s`LwrbC8S>oq%q1qxF#(h2;a^X zo(4=kZm_dI^iIr2K$4=rP}hdp!s5)4{ywV;TAdz0+NaO1S{OX@Twb{P3e z$OU-JFl%vRmG(K7u0V^=xmX2KBJ(NueQ~^If+k?|9q!;WxD*i|ff1?E%8=+WNYP(g zUK8AN-_9H8gNcbubxorufYsMMQ z3jah0)F|uwNgp7LcJvX|vZ?z|Yh;6h+2D${WUN51j?4z9g8sGO=GD}S@$^x@&ox9I zquMUpo5!@9s{oKj!`teK^@SwKJKMH9v;BvH2f7{;&(d8Ilokk5z!A1p8H4*zXvHLt zH`&ad=CSZ#+xcf&Oq<8I><%vYDwYGKDJA!%Uc_JR+$v}{TObb&j1|&tcXx1`t2?v- zwath1HJ(VfqrOp9$@R6h&ZjdC1lfccyr^++HnXOvmrKZeTP7K}L|Au8Dk>5YJw!fjNzFrb2PpiB zhU&%p>*BaM?0%^IgRyBsu!?sxh24OG8u1+QW|m9UiQ6^;Z=&)1jizZNtvgvi@s7wV>AV}4 zU*sBY*R@KlXxLlzioNx#HP^TOVG`;3={HL;81G47dJRML>x1&Oo?*v3`{kof7<%~a zeOo6LrVu^D5j}1bI{Uk+6{U8@tEF)vWThxr*;X`FSqbwW(ewV z=jZe7I>6GRz6p`aXs%9uSeIZlY7T$8REJz^1$v!I*1L-)R*lWZrE8M4X1jsQXa>&3 z*0v3O;FPWrqe$#~F2%zN^Us%6Brb$`|^?6l{RjMy`{; z->*sa5xKR&nopsUULEH>$`WWi0^ckSOulG$Wg!a2)3CYAOpaqi_9;D=#_mYRp){@1 zE6U)#k$f}zn%|t4peFkw)Ik2mJhu;S+BhXGc`p&!Yh589$B@*>{5o9Yh72}eqPam(i9HTHZ3SHyfG_RpC$A-^^)R|sKlxL!{hSnG zcRq%5xe~B7>6tD?MnP3w-eU(%BiE7Hu1JeS=rZ` zzk0nS+j)r=b7jPFWr|2{FHFnej5&vb2~fR+=d%Cc{;B>m{kH$bn-_wMB-rUM;w{Ig zwFg+SWx>^k*cYQ?lauKvdG@qU+G&Qnmi|a7d{K-`Mk<(My*NvBSK3_PPpfc0n^IiL z9Hfvb?ko0|H(tb>^X#jcx_FUKbVKGFh4Qx;Qu(30>vI;rfYWjX7%>=+!6R+%hWWZ| z0IDs=)an674oS4q;@M8c-5XgFrHmnJ&|`+pgOQu3qMw{Moklk@ZJ2@7)IBqI-QJ*y z2Y@hH5cGC*l>l)!-FRLzx7OuxDPl>ObGsxCWo92|(W%=!GQbcD-txVf@Fn)(v@aLh zGBC9A_{TTLAoY!&jmNA}^DB}fNozBI71_m~BJ2?u0Z}#MuspxeWnbVxt>jY>=K?tl zb&BzBXNOiQSy_IS9*VUrM`(>MF@HS8G^Ti4xCP#So&QjF-8{Ex z`3!mkbueZd>_^uxd!!PwYCWC052%Q$cP2erHA1I6Yw)*iX40#5aE#$8q`TOl4YDq| z>x*LA&?@I|7704Lx)m}f0JiZZkx{O+>Cdd)**n$UI8^#Hb)9>S>~FV=J&FPw4Pl!( zrwn{Jz&C+}&d-i_aScNOSS7=%D9coOqG!TX6w#xrLrleL>Gx+~B4q^;@|H0yB|3__ z%|=lw@<+Izk9)I!L^Rw^8F(l)ww^6n4e|4`A={~rcR{u_qKuU5b$+I?Uen<_6OvXK z=?a+r_t#+32D&b|B`@YAU@5}gt%~Nw=i|f@HhaN+2BRa{Do1KzQ#Nblr_6xmmx%rD z!kXDOxBReZMnd%l$xgNy+fU`M#coagsDyS@YBqCe9yhSC^Td>BQDLtdqI{Ev7631z zcnZ=9*tnNgNxif5iIp`-tR?_n;#%dW_w%Zz{jGkp*xk^NfAd`4oqOIYV9DJ^NDirg z%axr&i}cT=0%0Uk3z&#}yYGIJ|BhE`YCH7l;Q0dwvQdQG7=}$F3N(Cbr1t07?IWS|PDM!k)4+QBjhAM zm)v(gk%`J;Et`V|ZN#f37IYnldgIlB>JPtJ*xH;Bwuyzu`*Yu{ohSJuV~6|6sZnKen}Zf<+!|A`d#quhYM6=m`rb! zsN6g2p{z>8FR_u{wFp-+#75_Z3-qGW!N^Om0rdEaGwt>K=|)1oZXws$%q^82KSM;^ zh>?YBfxAgmdrppI0Gk2;WJodM2^TY2va!G|XGX}kg}{Bt_o zT;}UzHwgsg%Njz#`#FCU^v>ytiJkJmbgyveA}$-ZekD9FIPGxSp|Nb9IyQb`($#Ot z@{ysYDhnU=2)1xHK=@XX%%p@4J(=>+Ae?LBbntD%3~<}!A57;;k{!Rn;{?#!z>}kX zPRGi$FaGrECY8!e#nkUB5wNTW4SH9}%#|WF`HI?6`so67_jAz*|Agt-PfZCknLaw3 znKg`eS8L`s15uvlsIHkI}Ga1Z4>VPPkiT#WOTN|V)--E-~!o6;dK=%2(e4BOkpF{W}aR_wR$6Z1p$^C zVv-uu`I`k}lk1%>KEw}EiAm4(Fx>F9EsdQ62B(9oryh&&7Qlpr7EIvP=hC>oetFjz z$tPTda^^C5q>Iz~WO*D~$4=EqxG0iMBM?$_2(VGbk8S=&S?YK{%4j!dyiGRVFC7EsK~uTfy+YsEb_#`I z8#c1aIMQ`*v=i!nULc_&-oohYw|8Qa2GKX?Tik(_=dd341+v(U(R)+_AY+3S=zjE=h6>=rGArwKd{NunHx$Tv=xY?m z`PQAd;OeD+8`(6$U{_2nCC1?=K{p4;1549?RW!wU)dj_jJ#-KGk$K<$`Ea3Yw!ttx zjc&*HoRsv)gm2QkeT?=Q|lQ_wNo*hYq4bh8eaVpN$bxV zdaw z*B`Ol0K;yp#Mi+1`h2OM0EV}=sqF@p6|hBr)YaNC3MYj0 z2&6SM)ntazUY9}iBW$Ga1-T2Zf2kdbjn|L_WDaoazOicYBtB!W_~uRq&~PVn5HV3A zXf3E@{1#$B(hK*{f*lSP-n&r3wD#lRb~fhabkINtN%5n6qWy;#S3Zrly_J)^N|HWq z672aX$_L?rnEn7-G@XKe>iDv_mDgi+T_q&*Z@?`$_?ZD50NjGHsNy&*GWB%AG3v{H znf2n$yOpTEX5OcQCyKXTyx$aNcgnTxVb{DQnQ_4Fesw@FB84-(>X=Uz#&SjB;c1elIrGXl$DODsDz8;-AZPq?Ews{%qqkZL4dIG2{NDWmp^n01H2L8wYRi7f~d&B;18&yJHm) zKd$FDWPk_j5{?DL_gIGQmG($dgvXYt7_+U$KvxQ{noz>pj7OqMmi5%0=GLn?*+vTZ;CA`J@sw|v z;hNq9(hJT{1Hz5>rh}BmAPo5jmcoEF+v4$Cyh(h+p=#f=X*ND2>>IBLf85i0DP}Ii zg8xBuo}F6kZ71b;%;2`TFW^eel3kH9A$wP0;CqMK(4`knz_9XEh3fZ`;PX#w()ENE z-^U+m_!Ha-^6WjNzt%ed^jBYi{t76#%&iS{c&;cp4la^L(0vNfd-t51xeWB1V-2ff zmSm5fHE&3tD>D=Kg*#lWLji7XJ-;c7zQEj+CE|FJ9fbh$Wg_$cQMYxj)*;RtpbDda zp^aDt3>qnboj$pKF>QQ%9q3~UiCT%>EZhk$SYK)=Pg-4q18V^n?=N%&AQU&1CGo6( z1QhW3Lj^oAF)A=RDrsbk_xUs?Ox+BAn;?5Bergk7^e^^+n^$JlEz5l;03C87NFOMk z0|U0(?}|mu>m}y3@wkD;>_eo}XqoKg+Nf?X$p>!_(ki4xk$|7?x}M~KJC=YJ5C&}t zn@Naf-^hKKlcB&p?MK&gF*m-P@CcCAt+oW1fm)O3T#FX$vu6U1qi-c{acJ!-gYQ{1 zq{kJ{NVFuqNSYJ*@!jLphV_n;FJTIK2Yfb_%$Z^E+F_6_F4+WsKA>c7aVyQ&br^;8 zV2n<SES_bHnc1U|!;k@Nut+(~`0Hj-Xo``4dPhK?PSfwam-=ttfbbvRU^u!&&GH;cQ}A9f=5=AaSVEvL)J*2+ zPn)*p&izA|sOqX4pE1zv0JLWv`9I$TUG^6;5%?LcvurGDdsh)DVgS83!@=r;9w*0V zpp8=lkmim%)S?vUdH38Qb!$%(q<|T+$%856r>*V6{=u_pwzKj}sYU9+_T)DY9%V=u zEDJ%;eqAc+EkBuajR4sUzIsap~C7KJi?a3gsC@_tm5BAuZS+`F5i1mPcKy zt?(A@q95)Z0ZA4d^{l$K$7f* zM7REp_wK6k-#sGTw$p}nc)x3sO5G$WSA3fEpm}Mf!?1lme$8Bw0kV0|74%;(dnY^h zlc$iYH_S)X@b9JN7G{8=r>kqh?3LNtV=dDH?eYOiAJVGt2Z4;%T=epLI*mEL1ebzS zfVA_`or%$c#b~kU>^Sx8=#u;o8af)5{gngXHh--q)~0>l>xQ1|3Ak3tWL%ZfvqDU9Tm1H$Mf(-}b1-5Cv^?{Dyylm^ zAkO-#4(n-5HR1J45u@4^bE`6J?dCGmR@}NCv{rtA(NW+Td8()RO`zUH%ry0Q#+~^5 zYD7kv9CuQy;`0+yNKJ}y|w{Y_q^0F95IEz`aPCu*`vyf zu&T^+BfMDmyaR&;fo5M*8Rlb<+^0kNMcJ3Mvw*stqnKY0v;Dd!dFWGC z^T^EH_G+OS2#Ow+e*m5m>}-ZBe8hVe;Z0X>m03!4q9}fskPUBkj;G9+CEZ*x#YD6L z#U>Ido7x|&@IqE#%2T;9Kk8U5|Brs~q@2Ueaw zBT088s|uhQfa1lcHPpZq2ytl26mj4RgB z)qBFF!n=xesM5uDEewmnyu@qF6r|oc7|C5dhl6Tz6MJ zeI!uBzj(Z3_#N7GNUDIa3k^Q$_|e*}Ds?sL`NfcR)kJrpmSy_UVJppv^5k8_H(RvG zeK|SOfWj8m@4-(zYSt^`7f`;IoA2t^@XYaU#_eDVG}&jv?PJOXsJ8R)27iBdcQ}1m zY0NLj#sjKkflM`lr61d-4_{|Kd6(U^&pBQbD=SEAZlKfXEejsQM(xr*9U||r4?NT* zx)ep91*}6g&6+A}TOxZJ-ig}c!h~0XAm(Jh?7S#Kvh7P@rcGJE{4f;h36a6pIDRgL ze`=ZZ8UoHoa}ceQdg^__#z4{eBE|%EvD_ommABIW6)K8 z_s@`9oj$XKRnv9YBl~|e<)JIf)&fR6(>UR%I?6ot=$M%f-Iy#R!c!~0u3g_I|EKzf zfe{rG3pTefDm7m8 z)!Ji&kXr?6{iPNedqJNz=U5rm^X~JEU*p?(<$}X$TKqsed+EZSooq&M^wc2_qy0iS zNy>Figz%Z?szLRsF=(SRO6l|+&2#dOXKubG6&oLdnBCOp03GB>rSI~H@g+rGV^?VS zu(`ZaMW^BgqJLmEZ;j(=K$?&LhcsWG??NWaI*aBvAkcThq!HgtQTaurAir7hIPjdeTDlvCllgwP|_Z`y$|chm)u#9=hJb{EC9va3JcjgLtc=(v8Mup;FgsE0NO# z!Wl#>b9+sSjs3mcn)QQ)){Ml-2l8Dl(_z@s2|MV@7R7{M4sqZM@S{Y8l&Fl+bSVNQ zSKe)mWjF#xNVG`H+?dLp@v71eDk=Yt(28IdpsTZ|6jqVJr=t`M8q7VeoEi6&&UK+1R6;!aH-wRUw*{ z#q!N04uRgm4Y_H9{ZyocH{)yOdbyikdF!T>wUw=_;pc2@_&aduw)&f3CEtQQhL2hL z@x;9Z1udr41DZd(VQDv)8&1PD587;NhqOKm0dCZwA%D8NTdu}Njf$jsUb1w2!lru& z#1r%BZCkC^YjT&z+JF~rMVo0^dOBFYV`c7iouk_84uoXQUEyPnW&+Uy`VG^|miKji zA2%8-DHrX>g(;r&NTJNq(eex#@4&>|n51sOwCO!_afS`DDK`>$zCfOR-IkmRi{F?4 zx*|Syj}ig@V!3YG3|8TV#ZF=2q#70Rd3e|&1BU&1NiVnc`R$quN2o%8c==bv)oOC1 z6wa{O@|P&$x@)+AM-zd=ft4e{`clUycfGc98fXgd^ndzILV(RcfpFwp~F zW`D1s7I8K2?tg&=`M(uY|M#zZ^wbP=;|S?i(GKzEwQZTj1`s*tD0QSk<7yA|$~0H9 z7&`ZX{P@rp1bl;OcIqHiFM*+Mp!}O9?|CKjWBoiHV_&Rl3c|yTEZ*9=p1nNcE4J@a z8#{Q|McL+G`!G*Wq(k7{tjdPNT6RjZv6S)r+fwnKq?Tg(KuW~&uZHd8cwG@ll3&qu zzOxMFY@$TXxD)7Rz9%cg`>p?O{$TKjbWq}yiS9C@`-Vrvw~R+=mt5t1ak(0N&i5;i zSoG%ItiVantW6=fF!(6l-z*JH&bj?%p*33-@j$0%X&PEUFe>@l{gX*9LuYe8ohqU( zC4-Pk^+Ces%;Pxl=z1l)WRasUhEc&FSgLCIL%z9=72-zb=EU;dED7 zxaw2WI7f8T8%0*BQxZ;gfcltH=E4a7)L;fR;4to{%x*kfY%R2Ld(fKoK=`kViulNP zppBTNG6MAux4!d}aUR%yesU6B^|+ZH|3POJ%sKe$;}gObuY@LwRNf_hev&CCTfXUx zXgu<%8vOINQ4v-f@)z3wp;dqwj^r_$rK02U_^%7n!yT-~eaC&K@*^+3j{T4Fq6Hg7vND_L4vwWR3pB9+C4Z$cwC9BHLQSY@PelAN;Xqu+n{Xst!98z z0odUQf39e#h%u;@wLDw*d^ zbzm`{LugVwrqtTIrBE5plkGFP5>1W7)4^SgkB~%U4flr<$hNdmOhh)9sQ}aq*#Y{Kxgx+IdeHn222p!iQhj+ict?~7A`b$SBN-R3u>X|XsEdt2@5tj2<6mu{~QnjuuJBDW0(HVfQaRPja@3qD;X5v`+H_3sekt{?~xVp zeVZrZS(D0^=z{rqzE-XsGyUr^^}^U!N(E)Y0GKBdc&JT*R&jQGa@_H<3M{mY&Ro}()r4Q@bHYq8yQr@g(G|IPV}95qoqg)C2x z&b*Qyw$`FcPxCN?k?b^b2HggZ87^Z)kTInuML;y49c!NO}61JXH$!+ee9#rpUJzBNo9`9Q#3an*xZ8<&+ioc#QPMOE7#YJ?Vy9=RWy2%MVp%MlZoa|4zdm z6RE1gW#g`a4t_RkMlau!wYIQ$k^bGoFu-KqgZ{Fs^}xcv0M39DMxt+6{Hgrp2qdIv zz7jl7nad0_3Y9=3*G>yqYV*|2mprYWLjoKEMW}We>=De1clH8D;&ZKOwXYGnc7eB< z&N0JoiS9e9jqPM+gPYaZS{4Sr%U{<`nTs=+wjX+Hw356Yx-b`h+1Mo}q5Z z|LleU0_hS@d6ZK^zHr_U{2bh9w&4p$VuV{<(y@zPf*4>_%by;VpV_V!6x1etBOac$ z32V%sEE{YXA*)2+@A*3w(y|)E?yDMYGPLQKq%6I00DyBv05FT6XB*^;w+KKbJmisB zz%OCd>W?LjbQVv^I-__K50OIv_W&C|I-@1SGmysTivyf^-*Fo^SO35R&@A^qF?E&A zPlnQmyQdLC7$oeDKVgZzJ{8-f|4`38ZG(P zKUTL2PUrK~hP|{726|sP^oKTQHl}~o3wX+;_I?hgDGgyuRmIQkSCHW?}Cq# zU+t80l}P%GgtT0^`ONFTy#4Nw6|?2S_CAO5cU)%vl%f|cl5)(k@lbvF_%i@!-jd3N zFNvS91pyXqFZz~IIS&F+ertQL1ZATQY*lXe~o`0Cxk4@clucKP!^5f52 z4RV*eo^g4Dr#?l~8eVRG9}SzzomnqNtV&(5LB+Gin$=k2p|m8N z&S3-9x+Bw|{O6*gs+~v>?;Sn(dcXV27_A2*3J2w~3N+k0^5J>#ptgdjNdc$g&rGwW;-2& z1+H z%^9{QH%C29EKtTKe>L2r>rA#})y~I>9oE$gzv^kt{4;UbQB%vXr}dc7T*Y2KOwKU) z%9BTr&LqVIl>>vNjCYh9hCEiU<1HWWE}xG$_miFplAyGuX?szY9>!^*9eXSXloDQlJK&qzxmas z?R(CcpEZSS89%Azt6!JFZT|xngUDtxJ=vLJMvaG+d(dV4{z)@3v8DLx=vdUKPrEM&KQqzrOvC#OB6@_mDYk{(%?+&nvI2BnMUI9N$=ajeu(YDhTTudJtS7!;Ax*JpO-UUc)aW0&0BfrClyxGhrmna@ z`tYa0A9XZZ=>uRY>rSA;D%d8o*{kS!lETs0P zI%=kCwKOz>v5=Oqf^;R18Z;-BA!)oKJ6V1W8O#7^*)G+~Vk%-){^3+z%@ zS%K$3*>50wu7~71!y=ZWU%3V|02KF`9fiic<&l%@%pUj5{L`?pFS-eC=1sP!omek_HWqlOY|to=bB75`x^K%LjL&ovuG$H zzJ664cEOMzzNQz|$>7!m!}sqak|~|)51gJC8%#DU8a!o$T;Yi8_i0rV8Uu{teX@kQ zy*KJW#xi4fbJ&yzGHip>IY#7H{_{lELuzTKX4YG;znS0}MPj)nGFO&#rLuGEl;tn= zHvuc-{QNPXh1`2}hwob#%m7kW$rpHebcb+UwygPG5%{%?C zpfR)?hIBnr*DL=UViEbRH*O6LU?Hx|oOfN#+8|T>Dg3Bp2)2T|G3nO4Fl)f-`lfYs zOTO3RLGCZ9aKhprC(BHWG!4XsvQX=A0qxui_~hn#K*6g{o1mV3Q{w^4YN&l7es}oR zcdKMRU7KhLOt#iEN4azCie#p{i_?2w+4{6`ee90SAN8wUjzb$6hBcZ&%4apLFuz*Ue`-_1q84R;FX9?A2ZxwP<4 zY|OELk<=eJ1q;m=>&A~n0%y$vy%Vchp4WXNm-L=v_J^9u)IA24TpB1*lTv*pO~)iz z;Sod5IMxUydnCs3wo^DsbFcJN8%A0zVwq;3$J=m^Hqofx5;i-M7i&8@Yrx~JUn#B$ zq4l&D&6l~EmgYp~Yo(9olx64_0;@J*NVRYNDD&Gk(fG=b`OG`ZxE8l$98%RJT7|s| znn8I{2fF_E5Gz&n6n4f=&3oV9X6efY_|=NU&BZJYNw>(QLMg>z&;2ztSon`o$k_Jr zuuqqCEJ~D;uikT7?|j4v9KYw3WrfpS?rk8h>^OhgP$uscC)Yl=n?g4Cct)eI1#2}s zLTwGQ@iIwyi|e1}PS^fs8G_Ev5c3`da_dr1hj-Y9` z{(M0r3|~i)VZj`gmypHRN9cIO@zW z2esIX7X#x1UP^*Lg}z&(frOtu|lOL+Sq9KA$ z%gxN0*Z&wmko8m=U8GjYfVFEzyI*{0TL0(BuzfwPnbCO9hc}MB+%Q-xvseN0rBLdk zM+v?jH@2+NKJ)6nO>*OCgY-|QIkKnGCctwlU2%$ek))kwdy@}h^1;_W~zG1WP z&9^3;M-F^A^Wl15t>ZSyKz-e)B$#dU6pbMF9Vm9Cvr#2u(hkccDIb*jn(n|_FYjF` zH_J;eSo&xUl1}`5yuU{2xq=eMq4(ac?Kg|=*8cv+UgkkJ3$xhV6ImRj6Eeu_UR*tL zBH$T~YG#x->y{rJP8;p!`6wVaMtZc$fIo0baXzC$D#t1Y?^G@>j3p z`(Pf~?z))OGhv&EhM)*&qXF{>te`cO4Q01vx6m}+H~PS0Nb;)LMV3EVaxa~`2Y}V3 z90sl}4=>hyE~{}pcK$;0Yc!_&z)w*vqeRPBqP9-mJrEtp$8NW8;AMr>H5`Q@dEZ!z zX)oFUJ)mF5ypbjPiB^ihtPl;@qgIXAxdwyFXb&#?o|&G6^GK=z`Jos7)KQ#8-I!(8 zu>H)}UuC(+G|~6QQdF}jvBc_WXfoPhwb#d(Or81xx=D0;fBR`6^(^VFKiBwsE+g2x z-1xK~0m=KN%$0R3?!b%JAIW-(xZ?(aOejEm02)9ia^@CWTBEfM{qsv2_YUujF}5>5 zHd}Xf6|S+}KY7;X8-x0rCA_p0Y*I63h^)!{9I_+C7m`&DabiZp0-4?$s0Kmt@O95l z>^mONU!qouvzzeXaU!~RTVbVyeVt8RhvKWNIbs4PEMv`+mT~DAKt@qEge+H zmI`%L&lDMbzNflw3$5-c(0Xw}ypP6>OI&WJ=dawxYNZvf zT0{RFU5lk7y=db?ttjlr6r6X#XvX%1Mcr}|x+`CiG4t+4QrsY;AbR9Nf;@Y{MW#ZM z9MC(>S)wRV3Dm6b9TQ~-%?yeI(Gno$Dg$4Tf(h}p(4%|7VC$HQp)YSva2Lw^dTnfosGK0Pk_OqmRVO9 ziseq4`$zCfvhO@>lFxYM3g4NjN1F~33k6FzsilyFHe=W5g;j2x=y%DjYfgx7Um`vd zd8jSs4`bKJ(`@+OF+@c(6Y1TmiL8(+o?C|)050&0N~ z51etOO&5?*UR`L%uV$J6Wfg{J9#%nOYf1yW1LXx1> zxWSLEM+qo===J&uhGZB(z<<0k_GM~HD5(yp$UFxA=MGl;R{ zLh~zk%BY=?8FOG-O$m812}|XlONYZMqR?R?^z_*6(QPG{61xK(I9hZe=uK3bgVW_* zLPQvUIQvhoa0gQr7N-R-_@wN%+^{4s!1Z=OOgMdRJA-Srgu-E$tuZm_b6)2m{MK}^n7 zRgMR9n?@gJY{<^E_e>%t$Qe^p2LY}1x@Ovv%WLMxSqlqC+mhVA%Z|)-cXx_X7$2DTZT^+75kl6JTb$hrl*_Kk;wSRN}fx$}+=}78p zpk5d!(3fS!`+NH$<~kau(vbD??S*CL$33OWS2yG@Zwn<$aVgyw7lfEe z#17PCrt^)%<#Qs5Q70G@VyHL2{07f>muDA%2kN7Zaay{W#}gCu3jB1gB<4QdqTKUHH{0ggC%>@!_L>wOJL5+xK|thCjC`Y6>*Lc_H( zYQ;Qt$^A3sHq-njQQ0YmcS^^`h|>}1w729*7p{881+%s_5I=cQ>kcjbM|Rl5RAYEO zR`mSUMHvThqh0xaw9;*YppJzs_Hk(bto5vtgC&=)uT_BmpE|TET`eKxTZcnhH1cL=|bwBjJeW`@>vn#D}G39 zU3?r8rr4tzvD(RCH+a+2_a!wcoHZfi7YJJ;yp083;_x6V$)4Q;_ z{O1mGM%NwJSBsPiN;J3DTfn{n2v&wq9e7-!I1Ar#oxA!acr}xq-fp%y(K$I1WUy(l zSC7>2+V>C4%^gD4V1Rm|SPRHxh@JQ3Tn*-qwy?<(p*@@eG(d%zChG1fByqHhEg?yE zDZmX-BcV+yL!M2=Krg13zT&B0B1(tg2> z597}-pW=4%b{izG^%V638B}QAL@TIQAxQh5lyj*769L}20C4%V(}hO_{ZFra+dl>xGa3|{dttTu0$iUm26?hd zHG#K;ZQsgeP6H47W#%lC#z~pSXB1fTfF!TKF3;U48*vFSV z5D!&zg2FITr9YYT&JpdN9Cul}oeH#rx$(=SJV0aA$f(aDhA{zMhPnrQ=pc+cLZV*7 zC+l)tJ4`b`F@dQP*036<8rW-KXROT4Bdy%s)w?f*p2n3x=1IT z(>~u&2ch~TP#~|u?4B#lSZW5Xy-%f#n8{U1zA)FD^40+st#LrrTN)VZlTcd3u7R|b zjQQ$ZiQ}A_9vhe2fBZ)AOebN&a0$C|In?B3Wr}AvFnTGHO8kF_d#|Xb+ID{zD;A0% z2m*pq1nIpB5s)rKI)o;@2}lVD2vHG`-a)$503q}csZo0GBy^6^Ya203X<{&4u;TXy7R6AP5arrm_g zW;ef&S*l>8o2x?sm4&d^?}dmYp6WQcU-w&EFhg83B%e!vBx3*k^Ix}~1O5w@UTb1-X#YXc{%Mp- z*p8VZZ2A@^x}a*7)c%-aZcZ&3te+t7FaHy1{gvuGMiHZMJ!Qp8ZGF&F-*FM6XjK|g zwRYQFsCV+@s=bfhdq7mNmJ&HQI>UoFi)%F;fqv&sdlh=sm3`AR;Ms6wk%C&r-cdJ-r`io~tGp5Yfw_dA4x7I4s>q z;mqUQ0DLK&>Ive+y;dGzb)eRH$3c5Nr?&QM-|duT-AI9v@}ecr(PYUoH5>q`))(^Aevdxv*Vlp-k63{z|K!Edn?w2r?cXqJ(&s5~r0Xr-xO+~V_79Qg zoq$gEQy8bAu!)&|pa$H(jE}e@Qu?=__YF|Geg6>0@<*F3$s7!@Q z$r#sVzYnjiJM?AdDA@B&*m~C1yEF)=#Sm6EIcrxb?<5Kp%@pxnvtZ^Y9=I2DqB2yB z3{Q!e2F!1w=^-xf$*NE@%7|fDT^<+vxCy3vdu+ygK5C~c?C2dAz3!fL#5Y)NjB~#9 zBhj1WgrM(fjgkofaNjYmU zsX~e8;<;VpiKqM9nX%cayGLqC4KdzEcIK9J{%M&$6Y8$BOVvYsV`Qm0cR<>ZAr z?tMW8y71VK*UM8i8%BS$=ECD#220sYL4R*xuwmjyBPAbkxVUMPnXqlOi!O8{%LtF5 zr4tWJ3}Mmc-S+G*_2Ycwwc2eI-1alwk*u> z)_Y5#b;-7$`W0tmQ+}VR8R7FCqxBIy{)501FELO>_d+t|Ytw7B%&Jbf10)cb0ZrU* zMk$@wh+oh9<@E4lGlh%2HkdWm<)YE&?7`&e2ZyBVo?q3tOlK?;Q@|w}L?wx{3d2qb zuRY%`DUozM#t7-cszj1$zaK&)e1*~XF9NM)Dv|v@PEL=y?4{1G{ZJwtFoG_1c$Gaa z?q*_L>D*b900;0WfgSwv82f11FhktJbmfZy(48C+Y2xbZknm-`<_x z+U#^Kbg*93Y+|)^V0yoY*KOV11bUgdrn6JFRdH$l3E&J9VS&&r6|;=}Lnl7937}T> z3s8c=S9cSXBDweXl^5K7W9=(H2B?0sF3kpQKLK`XA`#M!VfGTJ;lt6!2B1XyF7ZC$ z;Ncg&;(9T9Wi(xE(>{6KP31?d$L+ATNP8!$pfybbo4uOZ>)CFzh6E8NN)r=`M{!Oc zETx@qvPFW%nHIpqt*t)}xDVBm;r^z+g}Npf(2|Mj=c4Q3*9Pu&W3XB1q)luG&I_I^ z08}pbcRxo;41UL8nu{K1T4nX{%9ab(L{2HZ7D^`<~Kn%fwZlm$at%wfystJ zc>Y01#%cd^l;sdRCdL+Za;oANw zd>H*RpJcpe)UCMW>%a&?A7%X?4rp3~2nT{oD8thpaiK zoCf?u#B7@N4-qiSa%eGd?SFf%SmsMF!mDSGmN9sGoXh{y?+o0MdcM)*t{3RefRq zIDy7Jx=1SSixP)1M?vE-@cfhp+EtCMO!mOQQ^p>!aj{5&!e*H|aD^AZ z9y5jyC=pa=;sp?0D8roCaXIC1`N(VimZpgReX**u6pQl{P+>_3M|OpT+!c+o;>hX7 z8*Iw+5vTft2hTtsyTgxGmGT@kUoqe=o@M|c=ASMErMQ2HLQBlrCd`7W?q8#B%#fKC zmoeMPl_EZg>OIrXF)?nnb>wN;s^*BU%Y4PvT`%Rt7yijy6#nrp>PtX8V1B-P2_C=? z5G(ASHvtUpL`2~<;(qtHGpfC%XU9h%_=*XNjfaT3=aX!$Xd^}4y;t_3Eue?}tE3)B zE18dYzmBgR2Ov6zGEeWc6MF23cFn$dL?|^!n>swQG0d}-s>hjLd-~zd6NE3}0hkmh zR*M03bfAmhs{hz=KEk^y%t-o%Mr!9*w(!2P#|C9L*t2e=;Rjt7GAZoE?xgfqs)oDi z*?oeypNkXu2P27mG!k;h?XbNr@IQ+!ea0onE;HB zz<=z1r$7T*0e%+i0&>b;*Tu+1h?`TGyi^>LH6=ykdR@9>S9 zXC%71U^(T*%=QMzo>=qwwft_^T*Y1Ry`+6~q9M_`1nY90o)BG! z1I5=xI->c;#|}HbIo*~*+p#^LlY!gR_UFYNP|%A^DyW2$Fv5`|Io?#rg{8Jc{6dYq zt6YX*8P`U0Tm(*9QU+q=&^8d#(_e5v-*oVzoU>V&bXjqyX@w!^kQlf2inft%moXkM zjcUt#Xx#tOLhfao?kmMt^vYX?1hHM4^!(L*2T6x|MirC2MDF6dH^TSHl#3wXDBeRZ z&HQOd^QY=rRyPIy8+L0QH!0qX*6aGtA224|^u#{s`dyxA9>nsK`_;}E$>C43$={Ok zwV6TBe1rJ7NzA!@s`+J4{)QgF{&yV62NzuR{ZN{bo_5k(!(=a_$0udq?0^4(|DW?h zMB0z#U+579{2^|T2_;%QQfJyE{J9K=k~T)LjxD{HBKD`rgWmfP*aHnGISn7W%f@pF&qMjrmKb-Kv`Ev0^*I zl8d8w=lpfzfq@yz6obmSOQlXrV2m2r?u>8U&zO}rxmy}D$>~1mmse?`p9BZ<+`Dd~ z-HiX{N#Rsm6({p5`fuj3yr&4tzGT8!Wf9ysw2~F{*NJ^?Y!nH!8WekfCPmFFJ<$x7 z;}UJn8Ci(a82zil$Megnc_*?De!-#AIxf)VvC*8NIqHlhRF9u+m1=TVX0NyXso*XN z@wM5EmfE#G_nf)G)}GBK_6Ejpnq?$qPx zFk5hG2yzd}${G}8~L(ofBZ4x*LTm<5!RmWL~ z0?d}Js`W96EpUo zhiPks*KREW^gQ4IOX7rmUgyF}&WNz9`33az3~~q%r78a>j#}7dt~$HzXFxh8>r3JH zj^$M2j=r?%7c(=6gV&;His{LJ!zwfYOV0h+Y>#cUH^9}}Q*AP%V|w_4>t{Cah9>sE zJoAJqi8I)|O7U4U5Ugm)i0K}?By}0}om4JGvQ;O$#gZ_&`1B8y2!&RU-zAw^o^MRtmyRo<&2P9kqWLfiE&BBMv3%pzMwZH-I zv#!TO=BX@Wms!idYTpSpijlJyyL-X6yGc;Eau^i@0TIUyt;&d`w_-_xKKy`x9j=o; zI+*qs2&)+7WCCHb5Z+=ePiw*?4Zw9c|Cj3^;v@~_qWKbuJ0HY&m=BCV*v@ArDvU{! zJhzs58W%7FKyhzBb>wnWx@g)CxJH7%e}0~OGlA8oPi8CdoIue{xczSrUZKEH&58fa z80f1Ui(GLvB}J%A0Iud$kj5yxLYS-5DpHNBnUHMf2|9Ni$522Hhihv@Uevm|+K`pg zui?r!9=zcEspJuG8h1XcX{6Z^rx>gF@7*&Hs;?09_=!9h$phce<{{&?q@CP1?Onix z_GImeSwZ2cS)3?A1hk{H_b*x5zfuG#UAjdaKgpXVV?`##PY9}7Epk}zX?pk}Hr`9o zKc;|G5kPuZ=(4ee1Cz1}cKV=#8&}37MbIESvs518U-5)dmpqYdhcxLMGo_k5J2v~~ zIan}s|03uL_xRuVS1uYQui;WNrSyIDR-jR)?9;vTG>9ujMYX{F@iccDY zLU;>2Y*27%Acq4w*cVv8d$#F8hz-VT=x#aw+);eY3@d|uLScX@2X^s9`! zoke>BuI^SpB?uOsA@zgOF4e=0w97&68o)X>5Pdv|(uT|Ux4WrL3alc5Rh)NTa`|`w z;|ERxfP5lArU<5%eoNLJu;tZ9zp2ZKQ7tKyr-3RmY(UMe!uleP_QdoeZ`uXQ!+Bh!u`KFrxiT~dFfxjOr_mh z7P-&kb`*QahAKW@f1^h49KBK$H{M^Oo5BYWQ@q_A*VexnM$4&o$0;E3#IpDZKicWU>?qPic!UBEqp_pEE0_UQE>&L2=@;u3Hd2brsL$jEMJHCPEWRDUlz8SZ+N0tU&OPR)>FggB38ja6mm1FP>U6ESUScT;ty69!XLg^e7+c6y z$E$`nH-mVPIbqZKai>ScA%6x$9=Zh(*l_CSOHBKn{d<1oKC9RMoiAnn&UV1~+}+du zJjywfi-$Lmh2?h5QhzY&2^=)8ufC6$eYQmaPEazJ)Ur?~>ZPh^jVxdmKD1B~kL(-D{J9qG69EmztB;Gr?=VolUt@auY zX962Z;@OLfhti-?P8`Y)0VF~voDgz#?K1T^en9DS+%Q``>$r#Q`YwwynbdH zbP;9u+N8cmo>~DfrNewXeA47Qk6+ih>f9?l)&e#TMfA@dmQS~axJ`9|9n(QX%%zgM zAwDU%w1j%cCf(Wj*YtJX7ARA5v>R|QB-Rh=OJ%9JopbIlZB2iwI}o%VU^=rU?tO+wyEGwJgx#8b|FpxT)c@%@bl5oYgexIjvi1mZ~&h1OemM zp1t>>K;@HMbr7L0;^D4A`7O=5Mi1Xdf3A=IrQXrJM?B(-wMq3ANf;YCder@e5GAoD zh=j;h({%EDdDpA)lEw=L?hJcoyDe}b+uL%8d1~$nV)iC zgmk7>vUjx9}`x_hrrU24gQ+8$jC4`JIvM*K73?q^Z99bDAKn8vbN`)q|Gf~ z#vXV0MBVL!nS*DHf@4xeS(yE`L9WRqO{Vk4`3kcTJt{B>YS3HZ5pr)IfW)f-w4!aL4e+64=_n!;^r{*(cod&ckhr(Ga`QAl%g;k5Q@>zmvIo1g!b~1#y)~Yc_qrkPN*gP- zP6}2q{OTl?lOF1Q0pk4gaZ5C1g+jxpnb7U)3!EzlUXc7O?2x{b-%I7*GN_uh;2NYo z5c>PJ3z zRP;n^?>RtBuw-7jy{=g;aJcP|7Ap|=xbGOkTWVqA**Bd-gRwW_Du9hnF@kQaOCtn_ zTWBVdLx(0foVHE8gex-RqjaQxT>3^jN6VwnMI=KU%)H!eq4xlGI6jg$!2 z#10!i&2gpvJ7+ZBKz??D9FQdnh|$0AAyIxWZ#cDf75@p-0kvGGll6^4+YkAroI*i= z_$tXajHqxztAkdyw|f$JLGChKC;JKzscbUfb&l>-)8~qUAh{F2Uqd>`1Jj$g4I2`3+F^bkb!6 zT*KqSu=@MN_>YQiWi3nu3|B{z6r^i#WIwSUzy7 z*YZn%%j#WwuhXb50&+Ux5SK10Bk;aPFNtsy7G07u)Hl;bL0YUvN!C5Pu^|_i@rP5h z8JO|ZpM=limQIpg?S@U2D>t++vx2#t(_UkOeLV0FLbY9Ud*0h_BYIqp%yyBrFZN$Y zA$1$0G^S;?!a1O5RE*Qn51Gzqb2bb>vMS0Y&xwnx!1`(7s*=z9L8X^Y3>_6LBv%mE z$5mlSiJlbUb8QLHN`@>vd1$nCv{fM4)Mh!{jeaDW8t{sAR_aJ84 zIVh~xjbmA~TC-tm_TnH6;1$ed3P9)RZr~X}lq1 zghqdEzG=k-Y5z4~Nr`Gp6&f>U%m@9N)m@Vd3z`UpntwmN#GU$0%jh4978EmWIrfTg zjc&o9z?oC@%<4i(6LO5>pMK4TPGAcM{=Kx(7thVL!vB^WZ&$MyL4s0k3!d|4>9gb< zTH_f}j5&yjwMEvz++Qv=H!a=Kb2|R51r95oxywTXhp3Q78>TI>!@TDisVQ1;j)|O4 z2#i@0th=YrXk$YPTQ%fNuctul)*-ay^XbACuy3oFv*q>v_4BuvnYcT7t7$VtCLrs= zv8WpLb%=txUX9A~RL3GL)qrn)!);Z6%_Uzm*%`#8Hsol0Gumr%X)BvQj zT)h(ySb-4`kyI!$C~aab#;fOirRG<{W@vzIfE^ArAxN(Fb}p=3}~=(F)1$`-vBgK1GKc%3~7Bk z@e*}1fZO@J^5NNf08)*P_u6uBIg&KapCmGkq zMQLK;yQbb4_8>kWsK%ce3@*;n`M z3zKfA2UF&<6Q+llTLf5AVVuj{hOyM_GJYA1;l>Pj=0CZHJR26dpZbR6CeN}G;9N?X z&d#iivXDVR{vo32hEJCVAE&$ZU;5>W4Mr_|sjij@E}a7hwCIsFNd>T_VWxh`WtOUr z7prUQRNIQaog`IU+*|y7uk^fS_k~n@VV(@6ua8LtKI;c!(Jc9CK(cJt^3>LU4t-GU zIZ_JM6Ii1-d+XuYsULMpw4;N(cp8i7^yN!n4faZSPZR-qxm+5?<2>lJQE1K#KAgD%Q_Rod6`*2p`Mr+5{*Gy!=Ni8PjP%*MV zIpGaxeZH!z0}L>P4@pgrd-AYZtO9WfUlj!zd<1Aqg8w&ndfQWGxrz&9lTo~e-z+SF zI1^mVYCI%PLDf~KuT?CqU#gtwO zqbm8KbL`%KK9vAAhTG7_hP$Xg5!O2nq$%)4ovgyap17NYFDJQh3v@-(~jc$icY|-TaZ&i zincQ*j;F{P-`}*{?^U7sewf_2wN8HW$84E%CaYj#ZQv|PFtC4Gvs>VpI`SA@yLWpT zR5q6Jsh(U^b{iHH=LTW-)Oj(O0{H9neF>@)ai*t{(@&fZ_mjN%hDmNZZX4x2^3j@l zgNEdFnNE@EUb`HD$SX zI+HxXk+SVSce8W(8@l~~iv2G6$xp9gEQaWmMwF#11DWtf$kZOmv+f1FzlbrAw`L1U zx3?FbMO&F~TAyy5`6O0d($TBP3<{w} z7yQ;17YR4YkdRgrea#yuwXEyDn+cGgwR?i&x5Rv)i_aR@o_Sw7#OF|1b5gH&o0t^= z^&hPCb`?UR3fTK4rQa(&)4p7oDCdLvZppdu6d&DpWF)+~35=45{JycKUyL$RyK_^t zRy2>!s};jOm3E-D&YnFmAuguwuHr5;E#q=%=Iww}uxB@FfS93xFCVlN4}AISjt=Ge zEt(Gx*6`t$qsV?xOn&!#*d2bG$n}?pvv(g~tjA|D=Ie6IJ2Y6H_y=KI39A0WF zqiWhkc(Z+2l;_yh-8Fa`yN_Vm=L6?{cT4hVBP@&LC{f!I-`$sU=U2z{tuM-L#vKYE1uQ62vSLh{gX_`wF5tYGjF!2;2c8&t{@&zlu&U{z{`M!Io-IC9o46@ zHkt2S>;y_;pc5(s)Ji`8Lv-m=${s4f7sHt9fn&9{5bvMAtz4w_?ahiBweB>*p=|?M zPf-=g96@FM<1-Nxq|HfnK{L8F`*+>7W|OX8K;+-UOC+VUaJGMWJq6mc7Z8tD(h2wT z?nJ&G5wTKGz5tcK`h9(gh$)ZP_l!?2k!gGb`T`bW=r2hy%|n6|zxHXnvWWCf`mHT3 z5*QN-4J`g4GLq`zUnxK67TNkArLE_dWxkQKR@2 z&jW~G&nn;1eIUdvxcv6>;SPsD39aL&Tug~u*dH4ed+|E z+drd*F#K&@JM!K<97Yqbg1?sGkWjdHyChO(h{uV3yLai9En{;5eo=d+I^?k*L|Y>_ zA31BbKQcBV@&n0s{_+k^A9-RP6$>P>1NDNHQt-OJu(^icCDg3`A=1g5ceqbZIz1Ld z;n4G?#wnV^!fz~A-N=b@9(v=P5vqc-X5=-t?RYa3oL!x)WhzvpN0r4?*GrvT+E>Sf)W`u;80 z!CzVh-v4|vhMZJYU?pv{LBv0Wz@4IQx}f73_Qncb{g~WajOnC9+8-tTeXuIKeXC5Q z8&;fX7~e6ARAUM{{7%@4WjaYtJxk$z?_qR@1otR0rmbOu-yQF+@`A@uBk!^QcBV+? z>x9{ol7&UwVL=-N|B$fOzhC6V$UUq{KAxgh2%dhe_!#uPK+_rO%P-A48PJnVn$hY-Mzj625^8E6 zm1PNg;=o}K(Yq9g9^})d`CR;!A0%Xiitt93ra1|ZMQqK=(QE@@7R~PNIwq9vEVun? z{h?XXjD9Ungv&0)P}r49?Ly0hnUI0fb42yd1jVsRXkB%(`qnS#$0Y}1A~#9hX?+^=sIOvqp56dr6!M4zhYo}^7H~#@E10fY?0w>mm{Y>%m%bI-yKrH4`5Y&VOUM4(w4BpW%b4je1T=w$MmIl82 zK@#`t4r|X-_0KMwH|K{uzKPcaTDf4jD2t}H;QYhP_UU2s zd3MKZ4^+IK5kNfErE}qNy2XztU?^kzl!&7h+YJ8D%0@gn*QuIxMuR z?onCTW9Pg75a|-xS}|=s{EeWTnR2icGR}{C2WxoxP#JU#DR(NgqkGM0($K=$&}H4t zMU}2O1;t<`LZZ;DYL1RFE~DCc^&dC zRDA6D1SXoQ^Fr60%G9A9$_ewfc^ zjf?Z_l=?cK;jofqnH+l6zIE;AWx=+dG7F%-Ff-DyPCY-lnfrF_Tu#@&0J&x{Z8i9q z1J*UOVr*QNYkz-A)yh+5Q8)Gb(YMdtP{hP|_I~TLo8+y9tZ2I$oix8O9bBCgCRQK4 z?9@!6xA%Q6!cu|uUJjA2w3>d^FqQXCveEYI0A676jeKxOsqa3PRy^3u*)di*FPq&i zSj4vYQw>W_aib}j>i3n$El=qh?NxjWmOVIzVxcQAR@B+d?6P)>p$JR59{!2sV674N zPpPQms6#}|281m2Uh}OM<$&y#Jj`3pfx)UU4{oep7hsARc>t2kxy(M%csJmr4VZkA zMcXpL+G+;)q>p-fD*L6%d1r)Tqs&JJlL?IK!`o};^|lAhg=WT%6D6b7<%u(cwM$J> zcb?3}F6)w@&c`VQ2t3_d051%^OitEBepl`bQbJLM!jMAu$B_V~fF-}LNM zmB9OARG4y$o+sWZ&1BzjEK|#O&&Cwc^RGrNjz3W51Riky$;VK z@%(f3#Ry+-Ai>4DirJ3*8mm9VCK<_>QK52N;dFU|?l)t(hf^Mbs??A3?)_`KM1lB zOJ7C+mQ<$G6(HXqwdsNf0&VTUUJ9w;gVBSJ9m^oq(91ThdERb0XX6vU7hK>A5FJf@ zI?bStA*uzi^3Uv0&NKCYMI2cl3Y^W)73vh~oHyOWPYMfi=b$#v{U+5+GQ{)cD-fJG;b79R8CQM|Lsf!^lF2J&Zh`;)F{CTs)je``8Sjeudm_H0-q zD5g~F)bA>~mkEe*K!=w4q#rpnIu6PogtObF^H6CT(Ehg*gF&p7^zFpzz?kBgFS>i- zJgoE56^||b;*phiYBMD`@AzeEiHfII!-1i$F{Zt*2)-EB6lkSD^8wIuTe$gojCEROkM=GW<8^9~S)xT8zcp8HY2vEJL`;~Mv2(H{-wN9~e}7PTJM_ss2k@qH&B{9Q%6we;5D4~f zP#UVN*I$s9>{m;nzh6*NvMd*}SoSWN>0?Hk&)eHfO}IN4WQKG|i4nlALII70TG-_|jKEtrd&hw;u`nCCoFBuY+R{Ry zx+JXuE`gEg9T9nF1n=F@9f2aGB#@hl5=(blDgF@QtqU=afX~75_{GzUP(YgM19inv z9^x8ycYlSr9lIKi3FIODj3LzW>T^ z?Nqcbep6sUd`thO`hv7*vwAYO^IUCRjB4AncXKM+$_t@HO9V!ys*hNLN2fdkGG;i5 z76GDk*)BN>Qzx4~Zksa<`tW4zuk9ENQny?A<|8*R>aI@d#2w{>Y5l^B{xw6O>|MOg zjjH3Zq3(Idxx&Cz*wK%}(-Cb{VTkQ&p+zn4-_^u1y{!D{){e`_4Aj~a3lQ$!61A<^U%MpyYWEs0dRpH7~0j^h>8xEtZLxTyZ@4d4`-0i>0GESNDHn<1F zy$f7-1Ci#bWpS^sxvTky-e*;RBE}ZCBo=mAj!J~)$uA;Pf-ivt&7h-+OH+fO0r&RN zU7aFhYUO>&z&`LW`=LnZC!iJ)GYm8Vs$qB@yBm`Q+5e|19SGk7B(eW@KmOn8)vy1T zX8pf^C39@4&R_C0eqEB>qZRp>+|^JNE!1kuld$RHZAG)9*%L#)!&kuc0}tKG4`C0< ziSgnhp)in4|5=$x{Ke$nmk=+g3kSxy%pRP9jki^=UMsbc1kru2)AH zR=J$^W?ks!?7=ALG;2z?*P+SqtLa!e`uGB#6S?jWC<k+DCj~ zd@B&VULEPAU&_iQ-IXSqEbClG%NtSb6&yI1KqFT9Q-tN5c1XvUaj5!b2XxeqE^+fmInY2iQ8l~HPrb1t* zuqKLeRZi~tvN94E0Zf{W9u6ZJeX%YMkTkjnE)8kzSVBYwq zjZmyfh?ImrkvM>vetVQ8Fav3Iy>BBy!(6Nn0>a>w>hC7dkHnC*4<{s~N*5+-?=f$q zI8h>ZO{JvukCw{6Aad-JI*VWBwzqgGgF>!+AB)ZviY4C!%Q{$oW&e-)Lys|bE8na! zM&P+nGS8DJ-EEAf8X!3yJ_VYj4NR@D-xm#}_&-<{KgnZhi)oct*G--RuYeOE*Cp^j zG^ezL!355XKK*IvA*BSR-H`H_pg0L|n`!CYj^E06Ais*Iz3;SZzlx_J@yy#_Q6O6` zo?0JTpG8WeZh+HOlQL$Z^KWKxcLRbQZil)s>{hQXzU}fW(h}r%ybkP#EFIdx&Q}pl z%W?WzSRng$-JuNvNDKOpcpjKE8sUvsxr88PjvKEA(t*HV@_ju277+MT*0`+>Fr#c9 zq<)LfspVJ`+b9^z9Rt2p0LHWcz?gbX!DLZLIJ;f&>FGtJg5Hx>keN(H6 zB{D2viJbANqb!f#28wlS`IK~G`daTd$PFvwZjFcu2-ARgdX)c!qHTX8+RcO*4D4}9 z##W-eSBbWgk{Ea{n9lHb(SoD-ZDssX@g=XlaQEzHYCg~7&Z>Ce_5zAi=b@>pe14Ay zdsT~_bG#LxzNJYnCLv;uC*m!hiONb+Au;Vst+LR$&eE*bZG@{ZqRU*48Esjmub^PY z?7Qw>tn+tAodeG|I-Q0K+Ip`EnK9zX8R5|w7b9)OOx!#c8Pb!fw0!aLh@OIw>MXN! zaip;h%QG1+%^rC_G|w3EM|%|f!Crp)MCrS8=}uh3$v$jptj3s-L%)gxo^4v#p=jQD z)7h=44U<~}2_~v#x0HdrvrdjXovvRhPUpl_PJvmSvXlP5>>*qkRW<{tYnEIO%|DD+ z1Eo;z$y%m06Hh<#1@7hKntbGZjaXXk&(Tn!~Sq|y&p`zh2F5F(X+pMWtmDZy8d zU*78i(8J+^-ft_Xf#l>%WRmx#c+s9+Z-HW*1LRxM_k|CUEEU{La5JRiB*bV!sbYe5 z-t4upt|{1wM8a&gQ~) zW8%i*3?b$0$sJk-t&tDi413(={2!;R4Lq20kx?QDyB;3ZK1ceTqP4=>H?Z7SlB$iE z9rA-6xTQDgWs$MbFDsWGCP3MY$ZSL>Db@O^w%(ttnT9$`0UMgeqtp|q(GypP+P6t9 z)qWS5YbQ@`QQtzf=zFfcBm;7cI-wa=5)k|G9}^{+{OQmqQun=?W=w}mPr#TwqhXOd zP%cejLp>(0HvfIG4-QA>>z>*WlXPu$<6huhFt;TL2<^>QHm*e7`INdAh5gXVOQyBS zfvM~wgIQUa4VquZ(!9^7aGO-K2DgRPz7_8RbHD8HzOg<{l)o5T6K^*XpQbhHvb1hE z>M=5cY}yuh6YQZ?s^hX-+zq4T<~YXf)r>GZ1&Ql>{qWPvJ10XFy2IR$#laV4)gV#n z`>;S67cxV?WUXHR&X=|x?(iAnsUzmfPrWl78v!}A=aNGhI5^Y!7!%#&D4D5MYhAu6 zW3Nn5yJ$5o8!X;5>WLI$T`3+)?*rp5IG+gV#K6yQ=YGAvwASCve-)4kEyz8Z>Z)3o zKY`ub-#A#8cfG04UoVv1Nl!w}5@4XhN_Y}u@yj+<&GK9P{<~ur0Qt2p!J=YmxA>dC#T8tK)#R$$#LEvp&QXR zgSTe+Wy^||e!x{kzJ__S;rV>V{|9wcbdtBIu%$iJj8 zZW`1GV|~xB8zfsSnB>nW5!F*SbPhLs$~c2Cp=M*J-x#Td8q;v;hpk<{?{IQ9um56$ zjCb|EeRhMw z-+y^EToBqun0y=DTOBRVKrv8w$bvE|4!eBJmbvArMXxppEYOEJ=lnZzVZlv02yUgl z^i0@+SFEzU@ zHVuPHuWub)0*%^as9;;emv#Su26HntzL018+{N*ewgj2&+e9a_*lcyq4aK^1s~DIg zFA=Z%a(m?ZU5R2~;9GZU>!XkQ3^>uO8-|1Dj5Mq`q|~(5K9TJCx7)L0>`OKZ0}nZQ z?ETR8fbXbY)cL7{z$05CR6I@`78q}G5{#z4!vb~ViU=f5AMX6G)(E*3fx3{<9pU2i z>{#?8cj!9jh3C3kEfWS{-Sxil9|L2~Hpl21v$%PA9!7#PbVa$QSQ zpbubjDdNnUst};JLr&0Z$#L&=%tGDsg42h8?eMTTbF*$sczehh-2_^i_#68ZRxzz0)#+0Bva0A4U&7he z$>G`M@)32IOKB6^0|$ZXOxHEODUjmYnHc^-dw?3|~(z%;Y7N$j(PZFADtHD2QvO(OT+*Xfdu_C$u6kO}bDj<5mg$LJwH zU}OIu*4Ro-F_#iKRDJqn?F4#u+0J8qYv%Lz0TAkUB5}jU5EbXO30ukT1V6G{Ld+5wKGz>HEjP?k#{ znw0}BCG?ZY0G}J@Y2*xdehvv%=vsQki)WZ=7Nm>^dLR>_3K{-1lX^Lsnvhzsew@fu z7oBVixZVHF?>z#>iav{)t%~vh>n_bkiD@%(GzV@kn)2Z})s?;eUo1|fE#Ei)E-Fmu z_Br3^;l(8h)$ZX$LiaQnu-mQcD7c)AG3|IF60s@O5qBa-d0d=u>~@Sg!FamWg4{y3 zqNy572X(hjcE(vOCL|0H*WCQdHImY%S! zWM^uAK>f^f6KC4HMjru3=%~-BM4${(!6sj-8pEU6s<6#n=bRP?*jPL5Nx?CCZ2Fxs zG!+v&yS;W`#-g?*nNj9ygER+BQ1t;P!00t#(8)5-oiI>r;y97IJY!n6#iyVE0k=T# zSA!++m4I7Yw*WZ%qdGHq@_h6yiGAc5PMZ?%jm#tuqW)o>Xhs^StX_SGQK-doH{@qY)Ibf0gyN|Rmz%@$7 zZTn(fE?CN%WXo!6E82J4pK+ZAyb3czwT*ANL_-g#+S>Q$Q))-E9mGeBtCnN8&}Z-i zn7zhOkgt{{2ce#T`cUF4A1A#Puki&%3c zt1hOvn8$L&nV7^-HWYLcbx1XMI}5PQzsKsa=Te||SedpMXH~~hsIPq#q*qDMpPFih zPUZG;0rjXP>x!eREJ6R|N13r4>8WsM+7*6tYVvayYWH(KZ8XbfN=taaDX%4Y<|z$i zDmzev>s_K?)olIFdK`Z%w!xV=-Q3AjsPn4{oJlcjC&(b!nt z@xGcXb35IUjW~6vOX*Q~{*O#+)Jyt8{X}4C!;tJBH@ow5bWPu?c-5J$oUnocr-UGv zE313R_%DNn#}@wSMYqc8v9IEEV9X=?)zN6PlOIsTqZx+bci(a*L#87kD*iU?8xuc1 ziNN#y`;Wu4eE%=P-aD$PZtd5`2NeYrL_nno3J6lA3kVUVBfS%fRDl4IE?@{2dhZgN z)DR#by%(kT8hVl5dnd(j@jQFK``u@palStk$B2R~vgVrezOVcGH49R#B6O3^LUf+( zHI_I?ZJX|3z&nlUXmb9kmf~L_43I(Xx1{ku0QyMyh8}IrOh-HJRGNLmHsLPB{l-u) zZwfaVCe8I7j`JK{^X!BaI)i|&q%AaR`CP8vQ>s_2xDQ4D@yv0h#Tbu5w<;%W`>8E| z_oRun=Y0uIP;D40YqCrw8+Qc!5N>4mpzVkN9m%l8&#}UY+O2Z9)Lf#y{s!I88I)Lg znIw-nNRZ-W>O!}LHvVLfoAOr>)scFgjzaki?_1KjCPDnk6mDN{F^=^?7^WS|F6^YS zj_NnmagSa$Mw=JZ$ffW=y-$HSK^r{{irZq9YuXGdZ`7RdP>jD{)M(!f^13Ax~Pv!c56USoiy1 zYW*yqlmJ{APR$30QHKV2L~b7VNH`(phL5_9#RVz`=aY67rc3cECMfOQ>a5~IQ1e_Z zFs!`?0tu3`6it0sE43YZ9Lm|!^9{GIr-jjIgl8y5=&$PHxtvRdZ<&*^Q|3ZKDzHCf zyM3fSqY8DZW7)T@tW-n~{}2h}e+YX#?dZDw>YCAxb-*%HxE)|u3uR_A|G_NimZ~G6 zwa0*{K^U*({xUXKiCpD+cjp}bTfQ2dJ0Hvu&#|Z-<^{-Qa)uMY^kQbH@(+g~cI0x= z@`ek-9>Fbu&w(j%)eeu^hVv8FB(FKN=h+@4%fsy32b8J_Zrt(lL*$CkyI=@a9E?TaLxYrQ=pk!5341sX-V7QxHB zg~E?KPK^2V;!ocDSW%{H1B~Z|j{hD3<@CZsG-0n_fZQ*drvo`oPB9c=Gur{z{%XIW ztq1}WOoJfX2>9WgZ(p!@3!d2q#G*!5@ zypfM~@GOhgp?uDB#@MPSewnqZiwNfkZZ?{SV>m29Zkaz(Lz(}IJZmbZ*93AA7P}7R zNhvF>UU+WBJr~c3o;D<;JJao|y(?n~v8>W2!7nBw7!^H@QsJdb zFCV*8vk~YH`{MM-s5t9;H6V+tD*PF2|d89MA|3{V@y8(Irlgvde`j?f-N&XVoW|{TPvJSi;xFG?Vf3E9qHT+sh898 z_LxZ8VJ|_;LcLueKs@31UTVmo&H!lwR`(AP!M750x({!Q8y=Od>f?%!R`jT;#lf$g zB?&V`vucz@i~oyBn!u?!(M(Pj#<29w9rX8I3;2B{Pw+K*&e#(X9)C)S>T%x`&mi6% z6PnQ(P;ct@3S-+SKN`WnbT_r!1LPv^gwq{p8~{J7>U_li_Mtepudi`t0HUw&G6NbK zazytOh)~y7D)gL&dB(=4ok2>9=(#1aHd|+{64M1epF&{$xs_K0XqByqRa`jR@9%iy zfguB9xK4GgH&}w+lkvkl1G2|VE={?^ilehzGe+5QJ-?U9cUslGITn&oa6i)Lyn5Jm zwq-Zx^CXQ?f1WS;`l%&9@LPaeYHHKa%O?qflr5QjarZR&pa<6bZndRe1R%@^T2J7V zKkq7XPrh-=?X>14%1SA>4R>-jii*|TN?V;?;{s`59Lkm-LTKaul@avC7GAXB*llw{ zkbmv69A|Vom8!O^Ir+g`qatoqMTxIWvHQ&c6#kucc-8q#otyh<=Ht9ap7Kd|dI#?_;Mr4C5271^1ZwT7(Bbt-JE3Ijz-T78 z!v28X;qDv%4cU2QWDJ!LJDRJ?m5G(B_D~ec8jW)m-El*UV;*GH`^IhL%_ki&jDdJ- zgmpQ`P&pGG&DQUj{M~_`ZaFgNgL&7$z3OlY)D+5i?5U4OOCST zhR-_BM!-v|Y7J?h{}2h1wi^s^TTo7jb#7L$1M!E8h%y38B{BcRTo-7(5|s8l-^(9q znd zUM5LS+?xPXK}3q2BRN_?fu}b5-}4rg`PWyGED20M&Y-Z`Hg@>0d?yxxjCf}nU`_m- zRthx`(B-A9v(?gt?ZSU%GEYPLkXCWY@9@} zc0Jeh45?BcSf+{3QSD?p7BVCQ7K}UCH#%z0$=qqOG|&#M@6B{&33RF7*GQfyhhEW- zULW;JM$^XG94;hQ%EmOaL6wz5crS1vRuK&YL$ z2A+%d(0Igt{*c#o+(EB6dWoNX{7MYa=53WNn1XjRiql>Mm;uH=rE(7R<8V*S7VXoG zUe=2_T$u8V`RovobtdCjM4@1|O#p)0pF}z3iuaxkpZ0|E2@1)|96yPfX)!0lrW z^iOOn&lg&$rDQ~@NX)aq`qAnSxpncncYHyllB@g7c#Pyz71R18IFHadWX0hzs|}Sf zY2Gtx@+;cMjJm@rA+V8jwY~4lNo!p3kUM#_U*33kF0P$=2#WM)L@c25DadRqqOQe1 za$)y~xwsuWvdrgqhg*`)5EBC}FUK97Z@iPr6*fz%e??Dr7w8sP#6B>Bm&vPTo0N?n zad8m(EvNbRTJKW94#R!Q^Jx>!$gH`zT%|Jj)0VXz%VWc##p{vy!p$1wjkMi|u?36y zRxZQnomafw*+V8p@~0KAT^0i0zFGms*Sne81|3X$5GW}W+OA^5HJ|qLJzzgM^z3Sc z{RwXK)!b#ABicm69<1ZzsR|eAI#L-ZeH9 zXR%d9v(M;#a|G>C-pm*<>{fSfRms&fY7|OaKcjQ9q0{E_EB?BOUGzB2bKX#AZR?jU z4PKc4@I;u50j>#(%=3tEU>;2;U7@Gf5suDP>OD2T3zS!7Y2>Dw$#Q$xEUud@9e>^6Ei22k#cTVUEm`>98d`ROAH4=mJe+? z+|ead&?9~@eiNiMGBjr=g0Pn^WWAYI^CceoJ!g@*jGoo7V_AdGum(n16b#x`t zd`hm7+4Yc84y0vpc$T06PKP{Ofd!JLTU8B12(dapk9tl0 zUJf{H(s49hy52K_#}B6(3jR-ogzNthxQ!_rjkPeHQyo)a-~A!Vr1hl;m^)wtid-kd zK#HHR6B7-5$*KZq{sHBff!SL4|Lav>P7PU_qmRh?_Zh()%Vd}7eSn@VBUtR!yezdw z*F92>jBxepG~hAze<#x7H$nSrX}b|ikdX!^ct-+IBb!pg-^VO2(&VM;a-9Vz%Tnt- z>Y>(1Z9n+(!9)7N#viUIVnKyfR76bv-#KvyJh8D{vtxHz1LWkoxdj#z!VDQ3Vz+c zimfhQdDX=I$HW6M!dfRz@bAy(OASOftX&fak_vN5{*`NUa03ZQ=cG`3b1JoQOC_nw zPb^Z>Uw^;2O|hx5K1W`5#!3P66dotp;XJpKPhU#w2;SxReq%oP`6C50*>IsNI)MF@ z(NADwlx*r$&hL5T3St8}najfkY=8 z92vgA58s!R)4!5&WKwv`ovn3P=GWt}vYqz(V)u`&4lxMN^4>+NN>;&BaEC#d)Z zKr2eRQQ+=V5O|9xcU!vifI9_nLE7E&u49i+u%EuL6akrV5Kph=qA^3W!ja3EmlnxO zi->q%(x*3@I*T3zZ?@DBieUH%Z`k9T4}P&tyvzd%Ja758Uq0-Y^<+O`k7!&i1jc#3 zTmc@>W3PXsC0a%ibtRAp*U`4W^4Myq!mtSpjxQEp43N0VQmbG2pI<_e-=p7?XhOP= zBOYvAG~|s+G3x1mn#>WJK5(B&?ItLGr_ju(^H+G`mL)gltmva5FM+)4E9t)680T(s zbKhY9s(`e6aXakB^sD!bu$KTwxA~IMissf#kFI;kwCa?35LvC)6%(-20+i}3^+aDt zDE>Z)Y`_&?NiwlDpRej91sWzYtL=1G9XupvzUf`Vb?Ukid4(oZ_;A(k1q5le=#uw^ z&`du!h;$WOYaR!Tg8%bhr&cFPg7?}0^W%rRCNU-s|0{Cw@0;r1H`o93V<(FNWoE9G zq%?BywccI5!Q`14zt*r{-L};U&o#wZ#xF3EaOW zlxdsdu$4C~4{Tr(qL6dT?0rjft-l{OlR^#9IT{;ad_S-7=&6{kGR41?TFM-(r$|St z0mTEO>KwCNjqbVPbegN_*mIJjri21MZg&5G+X{e?3FZ|2h{OkK zz4Y$SH@Hl!cyw1x+FbQ`WIrh9jSV7}EZ>g32q4_S%gDLl6J7rhJ=!J@s2sr5)2l}> z_LSDq^KDl}x;sq-6z8AD7n@9WLdAE&r9X3~)fI+XcnP|0*q`F*aD$Q-n<82_Sw;#- zF087S;j4KbTKK03$&rdN62%7d;Wk0?0D@ur)IJT6S0;lU_d-C6OQ!T7lgyZVtq4zRWgw;E_?gKaru5LbH)JimkE;A^yVrw6DF5wGnd zjq@n|pbRHg&6X|FJI9+~gaghn3}GbO_Q6V0qxOp)XEk;F3S2+#Dek85l8ZZCVX;rR zd3o6_dV5#T`vPfB!PTpfxx;mfKSXdaj*|z#b?A$>y;-@t_+2Q0EmhFwF%25xL^D(8 z^6Tefq?HN>veXKbtf}+p+Plrn?Z#=Bi9AC5^NiEcn_G8MHN6_w$2P>hw{?ZsAOHoy1^vScr zV+uR^6XSfDSM;!rLStZrsf%nL{(MbnJ~xF5ENeS5L-s^ z$%As|lHokx{kKFg^F8U0HCeG(fjG0s56q*ts>N@A=K;9+mYU_p_w57&F#=Qiw#Hr~ zOS%t%7OT8(x&r($kFFva5tsC;-7?rimU$yooUTz84CE;a{gbDdLa*VS6+O9j6>wi! zneKW$I}t|fPxgjpFOJyDUpQ0&TP8`ZnzVJjvdy(}GNG!kdo$X{TGMpjYP}043$zo; z{rlY}{tzWVt169-fwe7{QSRE4HWxx19nc@z`VALfvlIQdx6bR1szx<+p0{WrYNxTN zN&7#EYifmFty40Mm+5-Rt0E=*SR^*!LhnD>de+(_-036SOBKmh3~r3lTe2F1Mb-vP zZyN1qUrGUcrBu{JLqmC~fmdJhSX9+kO!Q4g#)xd!bn zSI&)GCACklCwb1$Nu7cN{Wq6iP`??d zI>U>YhRQRFN8C8#!831Id5LdqRb7SGd7|58T`k?n3!X`@$+~QqHdlff;)krEQ8oCK z2nzymRiw_V4t9%2@;UQQ?S_qy9e^ID?Sw5YExTKN2>|q`h8>Eoc;*-W$EFoa*+l6~ z@mduftt{g?l$>*(wbSQhfRk`5?iPs=Gy{uaB_6ip(+-cLSS1 z3NOn-(nNKMmlT@!UXWjm@+wiNM92xT2L(G18PAy>`XpVXgthjF6hGi)Q;3A$t+-~H z;s|b=$TFz!hf1kM^Pi=vi1*8sMrO~npmRH#xmbIvowmfyD|BAv61~0ctAian5ZjeY z?M^&jYuE;gi?74$_V8PFr_n#EZ)113w-17wr$}OqA4c)Sj&fdju{wDGM+K>`UZZ|y zbL*vsGa{K;zU-jQ?;v+GJRLG2M%#X~?u{p>gj7mB6M!Eq)5xogyd6Q~#+@Iij)hfO zN`2MY7!*2|r_T62ZCTJomzs1v`+BEy$E5XND{FQ<|Qpk`cHNcSe> zeqA>znr%C#6Np$#z-Q)e7}>@*$gmSk9Oa%L>+EWYG+2*+7%`lh@t%X8!BtdfFx-e% zsMPTNO6a0RMDymhLAzevh?Mcefy;MLlCKWv$_VD>M}D>>p5e#C=;(cIO_vvF-#Mt!=S?ULP9QPW2LE^wFV z98iwka{PS%uiMf&YUCbwgtQ)C@^F9^ima<{59{cw=#k?QlK)GxUjF{^{Y?4$UyaHj zBxgQ-1|K_U_C4z1Xg`%7c?x<~n5kA%R$DG#V)<;5h@)-J-aRX8X}j1ZTQ$^ktZ{XC zb?o3gao@(&CQ>bbT6iflib)}6tsa=fFNS9t&R(_Bg1-20uoAFr*?xpp;yh=8Fznvd z=~TkP=G@z^dZmoUFECmO(!NiKiioQhz1>!MXGn&E{<`i1^4rqsgRHNjIe>uIEK9m( zn82>Gi%9rX#*6yofMw85YFm8qp)6si^3>`KbZ`m2bBU^8wvYcB^c|Q+&V5#8gtzFN zSjlp40Y&5(U(OgcZL{Y}RLjw&k88?5A6)leV2c;oxUb9l`LMaeQV!B9?3MZB@X^DT z5V!{H}75Fk?sftq7cmhk%X8OG{B`K)|kz1 zj>56gL(N#q^0i5VrUh*fbft>eb@(IdA*=?GI`vBKo6&}I`Ekb*^uEj`(4)00#AQ3J zVy}|Yg`aqP4(A^TE)-Ut;ocf$o+FX=AnN!-^odVH`Q0wi%H#yBd-Q62<)_C-x<{ff ziQa1E(R(gb2P$6;VRaacUDC$#X9!*XjjY_q+q1Zg!)LpVf{R1U{$Ma{O}( zTQ)bDzljoOJs)K|)-!wMlODoRa|BD#{=0}S1a|Zk9?X&$DY}y=R%x2cu)3+S4Jr&! z8;KbO*1GajxQT!M=DmA6=7SEnpUL!z(szo6t5FWF9Pwr@a28WzxQ}T~<4%#Zp?m+; zNG`CD1Fe+tSBoQ5-Uu{*WHru%z74UABS4RI1$N6MB&uKhMnjz@ZB*Ov;uup2y`lCC z84Jw{0Bd#8%qet;&-V8q$DL7jY+1}-X1k{uAJk~h=bDhB|)TX_VzqwXCL$Rb%l4s zksICvS*v^D+7{A;Q$R=83+!TMtqQ}OPzo^+=KvisW&JAIi`10_>}?23t$dxg(^yB$ zYAE4j1RAQLHqjD+#!Ozgub;x-{Gyv_jhZSjc)>#OZcYgOL!@CiI;L*iz5?!vM&^mw zXBX)^yLA`5XvA7C${@kNJpMBIxzEyQe zQ!lS4$fMh|8MkGpSfB<2j4{nCzvl}r7g#U6M&fJ8uY^v1fi)}#@IC8_url%0EzoGE zR%YNt(S>s6HvN^Ar_oR{(mJ+mRF=SrGtI}}31SaO4+}-O9_lNo!rdoc!AAB~4v%Xe zvR8(v2f`WHEx#Ree!%6s2aDZPA>I`5(l(l{#bXmiYVdx|=W35ClIpYy+xiz;rE zEj7!*LMHZMxor#t&N%5FzWmIIu(x5ilbJWU-gULlP!}7;JiU8FlXBvqtj{`Is&Bw_ zZuS7b2+U_gv#m#}^>6 zz3C{8_1&Bef$Y9~RI3|k59q|O+Q9xwwnk1OvsB`*XXy#+SS{z{gw9J}Zs<*-CbDFg z!Kbx}??J!0X0t2ymcQDqEP%>;+4;Dqqha-2#-swo4>ap5j*u7*p4l9M7A3Cuw39lx1{-%tGOXA}5NBiYIS#;$m z#>xg__149ulFVU^9~SYMQ|n;bc=r=^ZjnK5r|{;+vC-_OlBxbfaW~*pH@iD)Kh8D= z%(}$0t2QR`x=E^%Ri8b*;}Dg8MCufCT$oN;vV4PUijlMK!Y!_|=Oj`AW^hGVx=t8* zo#(G!`_;4bSX7>ph9F8a?p;2lt1}zOY{t-ZZ`|q5Y{_<8A4#ia=y>w(gmHr;qNOG~ z`aIQ$|8BJJwW^xXf4rd`7J%ZCBJT{1&Zp zV*I9ltWlSkzFuJF1u$@@rLN!WnbW$I<7*M>@!86JcC{L3=eEy446-S0tRSw7WblbC zOlz^3f6k?DDl`oLGQ516^zs_f72l^2PNqAyg7~TNcI@w>LuwPqB&ckOiq=yis$Pti#dEM|ChZW)=_ z*E%n-es|VRl*&lHgLzqRy;j(D9Z|wGz3C94$b)G#oX&}+rcx!^P!U$;vJkW2QpEOx zqT%VGgCG3)v9(Dz8#lA;8@tkLF~SZa)4iS$%Z~aX^J=N4;CKhyog4^^?v5Mte9jA* zvStS*7dLGnLD-dwm12YJo%;mlhu%+qu3{N11d-PiiFkgvic5Hm~9 zgI^KC?bQUP?Aw~E-5S5*9>}LEwt6%!p;3~jK|GmJZ;PLL0G&5ik}D+Djvb$D-j>x!fjUo}w@C0V?;2yiM@0@10J9ou=P$o+(^cYHgGCjC)hTj=)1oyWCTf3AySmvrj8LVKK#k=lU9L`q5|Jx0jQz=lP#B9`im)3;mkCt%(%lJF9o*hx=sr|) zo%8ZkH3G70Y)2n=F0f(u*84yc@0j{>Rf_DKWU(N!aFrLw`o2&&zawlzf@pWqmQ2vltPMsa3alXYB=+^YLKXt~|;coqf^o|voClYg>Ej!DdulxZ^+}V zs|A@(%yg*h*B!&CG8KJx?C_KD&lRb)7j*8U1Cy_c!7asd;+&z{$Gvtyo%vnM!(HP# z@;SGAj`~<~9f@1?S`992y?A_ml54nPw?gyW4`knPi5%qC1KE){6^V&Wf_3jsC4&n+ z_&(xf7aN7g09BhB(qJAsaHsB~;Wwk_%MQbVF?%~cW!+Fx1Mu}b(6+P(8= zu{PGb9TNVDfgm)OB2J;fiyDJcERukn=YMQC)Ta)5^*N8|w`;2`&vwBL6L4UZyz@de zq?YjxJ3xS?LW@8(B@FwCyb7 z;%aQgZ-v8w@6kqKVBF~EyBqU`j`yzv4F;50zW7H3ZL%`@=&q6IT&g0mgpY7WjmWop zAuP0w*#-d&2wacW=Xo3GCS~{uhvMi2F2iD4DquE`4kn`df4$XGl%zOjCgFM2?8 zHI-}VbJ`PwC-8Zhu#)zD8p^6#O!$nzwX!lv$1F7N$mv8fjBuNc(xD1XB|I>n;3%uPZ+*KYtXeJ2MI}R8Utw#eiudDw^c!}wt|{c5M}(Y;CWQe`-{9v& z@2`;xc-LR!EPI+Sce8sH+PVoK7x6y^%kvE;-MvXt`g>p00&msZn2b@crL;pDf4)w%rk<#t!|B@!zt=vJPRB^YGv|{FTJgSgmw=y?tck>%sh~%i6B`YT zL$TR)zpJqa_SWw%D#Y@k3li$p;gc6;gcg#Eg=ls7U7QLVw~P)-x=2d9VVm0@=~vbo z(QTDDj74)<98kxsi(gN?g7E$jMdEqW+$WJ;SdT#Exw~jJB(%O9gFPUkfwSOcbxKMx zldIc$h_}@>+ib1Bw$)CxT{HHuTzgdhkBmoAP+rR<9K5gvg{&xm4{|dP+c&P3zIw6x zaBk*e^du$QV7=JBJn$)j{Y5EEMU%ZnQ%DNp7@pr2-H73sXyK zEG82j6pb=HwX@|NgYLS+!vl2xIp$rzlzVd5w44sz7t;S)^&FD;JV+`v2i5w01IW3c z8%^h>kb3i>>0p6~&Vp z<6!%=rasx&!~Zm*_ zchqfT6zDiTi0xSfhRd=&7^%3TQ%q;IV=CRFv2klS-;5;jm zORH77jo&R=Ms{nl346!f2OCpu5k1SBw_rkRHSFKcwDj%IX(bb#ma8J~Jt9V=94q&# zab+`qo<6QiehY8X2HrNZS+>!M?;8BU70WpYbtAmwHLl81Ar0iMcdEM;XxwoL4i_9j z5$Kk0uQaf}C%PB*vjdQLJVurb@S)8QVssA730u!N)3BSUeCM+Sg~0hDng}duFV64X z?1z+KmWHQ&REJs7e4mD*w*IorwSIwf(x=OP~cu>gl?rE;yyEg{3TBo~m@8U7rhG@P()(6Tk zscDZxDKF0${`O66$Jo`klTFKnS-|ndYSX)5 z{P-c=KF|*MQ83q`>u?&lho`mQ5*WTUPe8!lj9-mSxEIOhLjbypvn!QcR`(&p-XFvH6t&aK`+d zsQE!;of{An(Es-$&3A^F{AV}B)fHO zo#eZOXwVF!pWUFWO*EJx2E`eE-~muGiT~kF{uhJt-_%x(;Y!0Lfs^nzfpfo%=p)cX z{ZH6s;2EG~W#OsBdlnJ=kEi}S3G=^RJi4M8%u$rLEZKC4a1s4qej^4M07G!VzU?EN z#U%TG#by@qTxM;8{?6L`?=SzWy=d;C^}qP7JO9IP{XY?te=%PF{yQ}PMHHQE>@x)d zA=q|ICxBN$7X82T1U1!31Q#QKZG@Ta)mP*7)m^e14d^qt0GH@|e*mG=3SZ=&HDesw zUK^e3jRzME)AWf+3GJV~Nhl7Ac-_Q87Qe&@Zd;~Ax`A#Rp z%8G8w`3&1GM>P3zHSF~VZhw@uwEF6))&7Z_bqRHH{P6fI-~uTVqs*L`6Zr8{i;7Yn ze`-|u_4vl4{R0t1iL90D)@QNnH#7xENQ&F%Up{P=)vUp|VxP+Bd7M-n+^MxJs zjR*kvy?cbu7jVK=S8`%k8ZHQ4t9ASDuADB9xLpuCs z4k@+k6f*;im}#iqye_|ug^7xrf6SHXf`-ULioYCj_^alt2)1tc{#$Cx$Si)Qz^i(K zdnJTk*QpSywFGOZpzU+sEF%6R=6!q%8?PhVcfGGnkEMQOulP1QXY9<=Vh*x4 zce%K7G3qeaJmc8K^nwRHuKLDFVS;6!_(-gT(A(~;G|29_DqDQ+mYgh+vJ+zO@GPsT9iKSX4r zhCrjw7(~D~0&cpO4=Vvg4#zzMA;4V!5MfXL5aEm=A57Z~Q%e`4OKwW;f{re*|!|i+Tojmrt$Sdfk2H-*J00{B4%VDDIY76O3|mXhcgp7jt^*oDKs!#+d9@`&w=wBZ-krM*Hzo4DV7GXq za)HATn2G<52R~zsoL4^F&w9e}%_zzx-441`slY4cN-{j6Lx!!FR~xYyVH-v~y|n&)>KOxZ43ip#;fmfJil4J6X4)*NcPv6K`GWNWsW2a*Zhs5g zr@dL|Da=iRPWHPz15*x>Q~qie2@kV?`OyT;AAnTN+tXRF>j%Jq+%c4N3+h&>aTv}k zNSj|VE(rTu;b!o$@?^RV-XMXx7_u2VP_X>buy8Tw|A#0iWTMqxYse-IPN8*CYP!@V zZkZC%=aP&wl&sS%)Vcl_2)qag~0&$qu>8S~c;8)IXGWUE6f02OrJ{YOreeQ$7w z29^DHreebJK=TL-j1ITq-ldX-yytZLQgH;1Qizc&k^4F5zYOS0bamV~n`l_BK0N+n zx1DbHSDS8M+Iz)HmrJP;fXir}nMNV^=b>edGz7@OkvQpU08VQ%kRgnB{p{%TYhcI* zv6e@cZ&SFP_1Wzf!xvi`O(39>Q<$1w6A10wta+00<0vH2zA!xM<8sR1DSVjA6h51f z8X7~#Wb|<6PPpqTAhq2+_cIoiid2A~Xc1r+l+FU2T!AdrpXL*Z0e{jhi*>C|BycFR zG!e5WpX`D!XTUu+IDwSUfl1TG0MSYCc_AUcXl{D8&}(1S&u47^sfb|OC8g)sM{-!` zpBXKL5c!AW@Vu&{B+8$y6}6e?U9`DJ^B;gusv0jPKUmb3_`YRQNwF+4H8mHW?Mf{> zbIs7FcRkM=#Bym-vQkm~>Ec0j9z*a#x?NzfWaDmR&v)L6$um-@dw<#0-At{~9VovG zqgqv~W;O!08SxJI{q0Rn{Fsmb5Bw1<=`4QM$8`CW@s>_QX)s|(*>;R$k?Hk@b&V|_GQIj6Gp+|&oD$QncyABCazu=r#Ua~7f+R3Xb{ z)E!PWqa1S%_*WgnkhT}0-n&;1XMef(GWPfdiw+OfJm>jdp%VF;L3u5h+9yu2OKGj^ zeYTvcKrLjc(R5&$cNs%^4o`HNNFCrrw!uEQ!y!R~);ta*aT7G6G!Cp!ds|EhxEsxlxpo0NC@~_;~x2PQ*(j z&Eg9bLidC4SoD&5>dD*C@#U1eA-VoTg|X!+H}6By2fBfF%<6kP1#$ zfnF|m#3}t0uyjW;k)#73CTYgn8kx>OX{bSMt!Bm+KI*)OqW7&NZ=jw+UPnpTg}aa1 z3UQSc*E*jFB!l0~{UkIqEfbsuM((-)n4OZW{{`?$HwsduHXKB@UF)U0^Wp8~KMDN! zVZzw?#Y+8*IHR-4j7w1vbaj;ghr4*?11Z^_j(bMTACljG(d9tj)}Hi`2U)oA#<(IJ zzb`NN@D$RY1)S2)){vs$R=3k_PEN^U9q~VpY5X8Xg@}W3J6^{pUl-T|Rs_PE7BgXR zyyskueDTEAESrm#$*ImnW1gGrxEgC*_Ov#BZK!-8h1@?58@{Obd0i%F|7 z54#6^gt?_2mLJND^|RsTW|NmFGLBlMtWRV(HF9>v3{DIi4{&e5JU+@qqw1)}Kn0eH zl<-y-Y(a}V8oITu`iCe*4%-QIw7bbnV|}^LG1t>;Q9L@`q@VAme<1Q+th^%&T;@u*Gj*xHe`S33I!4^GG^D9HUaVLyK{0 z!nXg`%%x`ok+Z63O=XL|*k$%!c6XN&S{KHiG(TUWtb(!iamnv_+3%%wrD^~u*A2F-55s~P{-8@*2-)Kufwdb}q+xjoC zROo|u9|4bgufc*8EoDd$?LlX2Jr3^v=KUfTy}?Nb(NEz=(FMIicAgygm`0&xT?WoF z=DH46{WU&jWrEwXgUr^asPTxtEcl1b9B|saTB@d0{k4aKlI0|R$?%|^BG7PSM=5%G zJ;ZLnPW3BD;i3Wdl3{hWdi=%cu~V=A40MKJ-7xlhf2VMmjsYz$#EHVOOj= z0X{SX%BO{JX${ft$W~WGPR_}nTB{OzB!V#+sH`Jv>J6pj>Wm%-kedJFnSaYlFhBJN#r*)~ynAzt=`}e5YMwjR|MRyV%f1=o2nS zX4S$I&SCA+iW-tFPp>2{%Z5Cd)xQ#fwv?*mnF4Yyb*sfLaj1m-UG1f)IB`K#$#A1u zodY3xlu9voJvzG~J!$Yitk<_RBNKNgT zg&qixrO-mZMhNgK5ww~edwDH&>WeEHeVg5=I#NnUnAE*>?mnwVc<`6MvVoN2?BND0eU{U8}?5I_R@L_|Pp=)FiML_m5IVxvee0@9_|fb>p~ z-g`j0)IjJplqAmPex8~4dEYhPtZ!zm`Gd7!(UQHdz4vup=kGj@r$`h4or>OabYz{~ zx{Ht1ZvE;;g{N@tD!~9~zIjk+<5U;jfy z+PQ%r9DYHYs@?Gpv;Z{t0eh^;{ARG41C>)hdDv{_*khmWiQ{X<5j;oQ(kEX|J12~u zzeVn|O^m@`_vcHiWSRI}$8T_)XTvc(2GxtKn&b$lNiC`mkIu85vo#6eGh!uttI+|{??b0`1dM0`2AX3wksi`d7Q zKD#lr-``Ohsa=5mQI)=VA$?Xf%(NUZ01ejhWrSdOeKYHlAG1QaVywbF>?Ekk#ZdO{ zJi7rq@`LC2KSXF3{!&0os^ZL}LPy|`%rjdwHjrDNS1spylMWg2Dz*4c7-_k8=KHs! za%bXFc9A$s`?t+O$`=f6^VSZEvhcsuC z+c8Q6Ap%0*fn~op*soWG|O#-kp5binjLH;jH4UjTF*psTn${qf| zQHTbVK7|<1wIP(cj>pzak;BEfQ2iO3^zU^IAJ{>}R(HV6)fxDVA}DSXn*sd{@4sCN z`8^Nw40ZY&V@G-vx;F3WTedaQ5!OM;{*g)f?>C&!0`_evMuVw;L{>bue%`(5p>Db1!f6$FYU(>v>dw^ zI|O*r7=}KrH1+*lZ;*3CSiks)p3|VV;ktsO7*Ojc1$+lCfby(xde+Q-Tm+l!f{gjX ziQ!r}1Iq6}1NU_0O_*xqwLCtN?J_b<($ zNQ427>vS~6Z+sW<>rpulQ1(eXnZ)RE!;E=(5Q3U?t!R7 z5eB?j2R!fB?SgJxb(JI-+q+)VODd#JbW#F6X%`uE%xQJzViZOLko-mhb&9gIG?NZS zr)1}Gp-(fI34G7snQWeFiQ3qUer&9BOz>}buAWrdZjmyS(no`tY_9*qAELj^j^&pQ z+_+{uk^-jRDu_iTh%mn=M;f_|n9ZgMYt&aAE67+n96SJ!67H7~$)Wa^=|XV|v5zpNLfl#}W5lzI9}yn9^0K0h7p09hHT`Q= z{ntsbE`YTarLM%U3LQ&bY#iSQTB#BnI1}GQxmL8KDjGhDdyQ)dpiXj>L3+jsWJm%_ zcf&ao1`r{CVD`f!Ey3y+dKY7-=g#pN>Byx zsWFzO0=sx*>*i2#+qD*a538mBp%m$K^^|*m77cG*J5@xfXDXfyiZV{Qt%5u|uL;%0 z^!yDN%uL)>yF3a}?@&~bUP2VEpXj5Iet7T2nEImUtuC~4TY-O= z#-!wgwOB%MZi(W$1z{GhT$ukXSty}?)G65(4C;8p37i1xLW+>%dd6&%5EBo>ubC`q z5TV2lf}=8k%x3Q=qKEHe=;^fN zL8Bj7a+Qpx4Sui3#_tt|66k;2NS__9^dvmy;ME+46>N?sB^sG?D5})`WWkQC=Qd2X zt2?^aMeOukc0zVnfVywt!%=#l1hjt2jyAd8qYh0x3B0QU3JzrI^I$DAGxCIr5%A5b zIVhYg+7FIJARJbqqfX-{+mw;024;ytT)B_yB9|T;<{_ZF9HURS)4S=~bLmSJ;*G zs@zz+3H6{myR(Av_k!{hhU}FBjW-jGAWg*pI&Sga=9gmxG`QGLjDjHGjiv8 z!rbcs*1RKsGTmn&=^1GMpmYE*^#*}d=mR30?H;A|0~gLhx^@B%#H&?)J^fLb^wN(y zrlwjOFoNr}E0a{%)V{L7ERUN8xL&$d9t_1BMeZu$rdFMF{jT_0LUaGbT1s74x+t6L z#l*%EH_UX;speKB3y#l^eb#7=B6AWG*U?VdWh%&2nB6Phdt&zj)4-xUY zQGBV#$t>(m!lc^dvUj_1)Tz!NB4NGn`z`U*bzcxo8E9dTrTOPN$&w_U6hqHPp zPKqA}(UGvtB!4z5)0SN3>2!T@U=Hs5wzZTd20pp{jD(Oh(0(yS_E)xKu--)CbnYCO zPcIiWK@&}P#RFsM=qhiSDuA(F<#6l>X4e1C;c$MhDtE_Na@MC-?fxP9O$Y=j8}CTT zNAf!>PFWyFWlyLcfzFtgrsnr*jr|kGA>@^f zoqEmXhilYUDsLg;{}7QOg>MogW}cVl27Zv=_|c;gP<1kKVgqg&nWNCD(?c}$woGQ$ zew{UDGc!w%?w$p5##cD7)c?YPH7&4;^_ZcRC)l0~8Ta2%TuIfvy-59RBP?H*hYi2E z8XlcqM=U8C0Alt#r}1|%7bf9_(RDyi2nUEN`G{*-ftszrh)q#9ePfRScwoD3U{f#? zkk;1zI$q5}F{A9n(d-AH$j18_;?7(;9ZQ>Y#Z@-oG@bVGWD~?EMfBk_j$dVLmS6n! zoBO$n-(L%bT+|J$+WBViJ1HlSW9EjIcK;foz3oynimCt#yD3A)G@DCM(V>*^gpJ`zN?;0!t5Mftqj?#&*oD&Sc|oSmTcQWo%4geVq^MUPs!&1mHzNQEV6Q&Y*_z`^Y8LL`Y+hSgfh1yF49V z&wEnp$(s9fw)OYNOk?3|Wdn0X`WF#^N&YhF1$wvOiqw)4q-J#STOhsw!e1xh_XRK= zpHa|>+OpgpN(|anGg7SE;rc2B7P3djooSlu=Bg1cV57iN0wlusX5yr*#T<~Jwt=Uv z++3(Da^%v#$&nd_dphunvOh!{qQE9;005=t4dYD#+-DKK_St47J?}NDP?_o|P|qO8 zG#9}r1(jBSnFL1J3v1wfK8+aa-ZVKWF)Gb{OBR7&HYBeces7LPb(#ma72ZMcIEaU_ z;n8}3MXiL74s#27P+%sYD%i?%UIHi>AFMG+zN0jV$lQcco_~W^EsoVVA~LH2Eo;B9 zhP&%NC@DKr%piQCF9YoJCq-$5G`oEH7PJA1_8CuDcqNNPsPX~odu#;kh46TmQkuNg z!WQ)Y`eYYpa}yBCcR4o4rhG4ffyfUD7JQWpM$;>Sv6f>!pi9z;u(p{u54R1wd}Fxj zaD_+eD)O&S4ScomtMwVyND%yCutLJFtP4U_fYJ4bAmu+g&i4mh?{CU$wyqNKvJogv zAEs6}KHXJC3~w3MCK!<+x~F$Uj{N*)9;{jdYcX}A+!Cn(@cv%~`kq=&^O9OXg@v<1 z3M#OZr8Q>qGE}hjG%(tXlHILz$Do_CR33x-%Q4SS=YOn^!qJ?V#A7ZF>@S z0#bVuL91$F**1F+P7gZwxpsk|gZY5l2^4D>n_o=#0K}3?LA!@1ko#l51E)}KBCw8W zDv6J#!riHGfd(*;*qC_qtWn#0o0NWCmcELXS+SgV&G)9+KEHKlR|TR!Z@oldOm{g* z_mcH%J;zk`ag@SmWs15SPINs?G-Bx47=t4i6{e!Xgddgr?Ft|Ba*+Mge0eJ%tR8hN zu@+7npGWdPOD&gKh%baBxSAbNI0okm&dVdk04goGj4ibqh2XQeJ8gdvB0Fw_T)+;w zIc1tIN{;v_$*|us+J71(PNzdB#2dX zv#gZwnT_SV$T#5&PTiF}RUR z^%~cx0<5^ECTNU0bb;dvclU%x(LDla=F(MAp?c4KDMsLgOs?ES(L>EAfh2jjaffQa ztK(mZ_&is*GQ!`Z$e@k+NVDQ|`WHryq^R%LkF?Yf{Xj29&h;4yzj~mhgm_|Xx;^KY z8hYO0u8BFb5j58%3aj8vEoholq8(KE@mP5e?FWFaxDBUaGdcXHTj%_U*{qPZMvAvj zLu+A6E-=bSCgnp8E|Mh9xcK9Z~hSRadf1`u)T(?-=N8> zg@^d5n#>or^;bk@#5~+TX($vnTkIoY?|tiXVOh@gW89h3-aUoQPh7Ds*6wipU>F?8 zwm9by>onn5wy=2S=x8Agxg2;4Su%ct(eA$1ZI@}1_19ssW4O*`#b##h-UepPYs(r* z4ey_@OP2PoweUL40LhloPVAP(tw~lKAiO4pb9H%@`?E`}>W#LxL}i@3~JR zKlb4l*PS!ZA}dG>Y6x#QK!cah;h(~v?&+4i0~H$XJ$2Ajy*YFtU;oYSEu@hoFClL;_n2EO@#k2 z*M{^I=V{jY%%Vy%;rQ6E5Y5VdVO4g%Wz^vHd7B^DD|!W~R`#vjCmGS!jvIUYWoc6z zTQs=%5AQ0TeKJLtL+g}DY&g?4+Ghw96kv`pteU`qaxz~DP`UY|NrwhcBoI1dBENcg zt=`<)c=ugRrxAs4)wCjI zj74J%QLoMC59g`6;s<2A*-neUX5J0V->LXe9gzAvxhh${6Zg^4!TAY50}BUeU_gJ& zWb5Jg2%Y;8M8Dq><$YaitYFn@AFufAle?9_3Ey%{7%%a#Ul$kN998j#uT>8$l^+x5 zLW{hEASZE~`%$Nq-+;&CAEFSEty^KBHf8*EmnXKvOXCN? z=RkH^CPDYY?!q$nlR;J0XE}@9MG>p-p>rPq348DtC%zcd<3dV<-#!&ZamU2$V^!jD z$OW+jvI5P}D8jWATo`OAf?ejcMo7H4r~3j08{RgR(Y#LYE-oIt+s=H+tthKNoCqZmnJ7&ZIoVBEWFQ-+Q^o$S@sM@8E}f`p6V!R@z(&5a-PIIl|;K zG~UOuj|7p=s-$!N!p z_vg(>)UBO(D`$SeVI~fzH%I7fp2|Mh zdk^Mu0ur6K^7R5i+@1AaKpK#r2`S9OEGDhnF2lH6N7~@f zs`%?Adz?}`5y*lfao^osIE{$$-)-W!+L)(6DCjhIm*3e_>tZ00_2cJvV=4zM1=BMI z5mOhXna?7yuMO+nwzG2GHS-bY1U)Prb zK_(8&KS3r1e)sCZf4p#l8h}Oxe(}_v=)XG~DG&4s3dYVCN9K64t=j+f_cpHO-v6rq z%iuIHD>jtx+NhE|&0qF8Sz$y~TAK3jjkq6YwQBsY(pvqZ8D}Tv*zQA744eYFsseDp zcJc|~4(HqLXNzou9e;@KZrW#s{+4X}&-d}a`+1Y%f735UB%9bN+7ft64m{|leT;8(`%Vba^igyOQ{6vS`)!e!)Xy-1Kl6&b=RXb?gO1q z&+p=R#+wjQdm1iB>dPX-Sp6~#T=|&v=e};kthb7~JmE2}{lpS-g1`Vyy*l&T-rX9L z@8mf%+{lVv6s?Nb|EzoFVfCDeB}DYnoB~jZ`P@HLWZP!e`Y7Aw)5{zWQ=0gWI{xL1 zQ1Q|F^#0eKTM`dfn&rwiDPg{wRav z4))I%1>I?6nC#`Nsjp2ZNJI$ zFY^zd`D&2(01GBAAgZy!09033{}3$~m8RsLNs-xTb@!OQ_?xuIKeL~N>G_R%JS;k{ zJAe(Pi75FUVQn!vNn_W&3^^AaIiqT$rT6%W^3a`im!*8Eu54FKg;9Wmd#>$;zM}#f zS7`DQGiF$9XYWSY#UV4fBfUx0;D`G_x#3Nd5-s*nXCG+7}k0|q&*7r-} zwn;!m^=&kw5=*C8rVd5^+Cr_-eulA7XB*7Edpq=rcle?_?&6b%(h8CiQ!a|gd0G-K zHPhCm8en(sRhrVuOr4=D6cePeL+eWfpd})QR29w?{wR!turVfXSu=r+L^NB zqgl;~^3!Qr(xl-83X=@&=SK0osUCemUC5E# z*S6aw%b4?4Ki(PPHdf3n{uno99+Sprjp>@5&7Sx5@d3v@UYPCAHkHY?4BW{`N$~)d z_EQTrj-{*(A2wJx32Io-vG=CFvh=U9PQ5CH@#qb z+o4m;ta90(jRNz^ATtW}wX3F@Hk`B=d`e$CC)gW9dFO=Evp4m2nhfn&YiAzSf5=`| z?T*d|hL-ULW`pULjYYKL3tk4D^5hxxB}CPHu>gMz$~QmA?Cdrue^D(pnXe}Xv#mM@ z0h5B;Pqw5?XLeM29!PXeIpz>@Cad0an^QsnHJlUHE6DxE% zwYMQDJ!Xi;k}LprOAwFl>vARX-2f#D^UR*iBWaPxQg>bRrE{=G;KSLGg`(P14Gc|` zqtqHBAVdpY=lhMUMfywa>D32W4cudtQbtC>9VU&LoCF(-y9KKfe#6<+AW3gt{=j^V z)1~!5p5M+kQ;lr_$_tI}-$h+vf-3!C4)uA^VVE;Ha~4b$|p~Z zhb5`hKMxW+#tMr~4v&n5?_>*O1X4qBiW~llpZij?gk*~ z)y}|e@;0zX0;k0}q-L{Q(Nh-=VS39%3D(JCSy-1QT4lDDT4`H|`Dt)D!f5q`WFoiu zBd{r!%<#?I)zpO*?*3u2#0WMMk5f=lW0c~aadZFvX+xGMRI?xR|*% z?uv=>J^-RdAI+|EcM-or^RvzSANk$hOZdNHbwJssYZK_kz8puNlMW**rkqMGnqF;Z zB`3Jd4$!*hdm)}Vu&&G4QuNc^$i+Ssl^ z3RFof7WkQN3S=$}0vN*KWeq`KY$~y#wzt`kx3Zdxm+**5)v#l$8Gy?4xws}&bJFS0+R41KMQkRKXS%A3kon-293{8kppIpi}+A|1t3RqC3 zI{g&!x|{Q(?jIALNLE=+tpGytwtB3xV6XY;0f<=1`YciJb zo`RYNGwRvAsxzLMfi0gsuB>+6dV@yL;%_>6oBi?MW@<8oh8iN%0-M6$_0HH3HnGRW z$xc9c(t$JVBRLa=j?-_{OxwivdPRd&X>wo=P|OY?QA(V`FA@BgN=-GZ=n>TFeu#_> zAWES`!~u}-Lq?l{R9E!+Dc z$^}R`-`Zm3%?7|Q*WFoz{|ilKf_pit+Senxu>2xUE-XbmFz6b(h?p?Msovon6wrzkb3iQ)U(aKBpkQ zX}JQU=H|9tg<}jwL5Yf~qkBDjISPGai7wLSMpNfbs=H{~xriT=6UDvy@6Ef#$Yi|c z7{HlqV^SDJph-xg+dt-)Q)l4IeLT9-@|635dyNxC0#ZXNMhTx(WJYm}SMA6r7*0nZ z&koju*^iZ1yTS{rxs~M0kh|uHkR8#O{Hg@0flS*EUVQT}i+|z$i{who%v^GzyM4Y8 zmqV@z@*M4qb}4AB_ZX*=!7h~(N4xLpn1O?~u}NuKQFP^TP(T>4E?{xU@PTq=j^M+` z(;m;CKp@E~hb?I(T&JR_jiKTKCD!yGvWJStph1H;+41CFMC>%HS?0()jG|m)DNHZ4 zYTb50 zU4Uc_B^ae7@u%+8Hh?c~UtW$O1)?nHbUg-dKs`)xQ=rSNKczu_Ry!jJJVrZ7tbn-Q+>-zW2)zBlEgYcK@*udKGn3g-e2DqcaY(adI-XR4D^VOXxHPiGgQ@#K)t^_DW_xprk& zBEhMNiL4(Ms8T)-nu`fbnYW3rz@C4I%;k(7`Y?2_czmvV6>F)Y3zc=S(Oz4uVq@NPS?(8Oh+<0Q_MR?qMkiCm4H!2=f<1ZyFt&Uo1al6fH zJYTl(QT>5G2x!G3>MgZ1Y^a#X*go|t1mBVhbZD3#^((_9Qh|T zz*~r}hYrt(=ArFSY|_$)i`k27e~4}_3Ok_9f(OMe-a!Bh>8}#Y7_aX;K55;Gg~o9fi>Aw z2J>)Fxx?B^#KI@k@l0XW{ZCGi0T2L`^xbN|11qg z{I97*=kFyzLD>KWN0pu00Eql`Jr>APX0Kzt$c9>}*KXW_+e=Ixyk3k!!R4dDj}F=4SS2C~v~hAkl-=vjl@~`D%_6~W8C?idBjW}6 zwYj#~{Omi+*|DY~hf;)U<%?1~+>H6|H16c#_;I6}BxHK!eD+Ef<*#O5!m?ewBZ5|H zSiF06$m8nazxgM05-xD8nm044ewn~M%^MaKHXOdjjut;q|B4ZpP)RwuMD}gW6s&#W z4DaUQ&3+5$JoB$Tux9+Usba*K@*pa+xwxtUG;Z{CwQW&EH6S>b73MngB+Q^1rnkWb zN#?})=_DF$TUt5icT8c;=c9JZE(b?+RI=yH>k=76i%msj_l z-r~9V$=3IZEoYBMpA~c$9OON`woY#-6E7m9PPd@m^34QZW6#+fREB2 zKd)${{SkF;2Go&R%pxU!7gu~R$)Oq~AHw<;K1ggB@^k(VAXoorBLD6ndHlGHNsd(Fa( z71EAeQIBgM=~`ElT88}%0XM$Ml)-q5%3Knvftr#{*wK02;t`=CvU((&>UP8nJ!Avn zIKu-zZ}zcY)Pd~-zBbT&iwl4hp&uz7x#fds4ezm609q7_h z=XL2qCo`H4IA-(v^XDQQ@_q6R7X<_mD~aJwY%#|md1Deb)&dNDZXOU4Q#z`hkMQxl zAgwo=Nj;vJO9WVkp=|Q?m1va-n?S`^w)kcLn?BTZx^lZl1wo>g6rY8%~n&t2Eey$b;Ghpc#sp zJ7PKIu@_=hU##-+a6G#m*Jfy$eZmEuzg|uYh2OY&JG^zV#9v?gM+iRQRp3s$d+o~w z$kbTjPY^bQ)?FJB|7C~aW>PQ`3o~n1s~V3+RLLq`4*A$#Bc@!Cbg7c#_~aeuO#&w!YH#PmrBjRy$${~cXqNVBHIk63-fx8sck3{f*FFb$APj&? zwB@0H1i!vk1Ng90=ZQJ?%WsW6=B&I-!`Zl9I2u04aLqp4R+H7|wRMd*Zj0H}!MK;6 zjE1F3VyToRBpUCRJY2gUJ7kk^(pjIFLz7R6{4(T#^VQ3@3{9X<{`S?vGMzGNz)jny zB|%hYf5d6L@u18GT(Fw{66xWn{ z)%yWw3m$1+8>B!rWDw;Mz(27$X-6=U7$^k=J2=5?3R55JoaF*HR>;<>9?DUKSMvSc zh6VAzsk85*_Zdmc$OB8v44b^9K2Po=Us*dpE#K%4-EiOG8CTa{<+OH2@*Zyc51JR8 zLNP|>IpZtGh?ET3*pt(58O@>G;hfFUsc%c19Ke@ zuN$eH#z}hYOutaB)Aj@Y$g0HV>$4}w-+zeY_`H*U5?yM|%}~wQ8^HM{D$l}HgD9Rl zX<3aZvhYFjc*>h6JU-N_hixZB0J#`p0mCc)hC^pru=@rp>#G|B5&cTySEe)Nuj{8` z@z0)tLz4aDkc)X4el|8hdVl~+lIgVcm7@aWr#sB3ayvU`t6M>n9A8LYOX2-tl1;+7 zdy9;MxBn3Na?`;PtQ%S#km(cH@u?R%$!~d)WWa{0o+jTw>gMJPasS)%={UD{ou(vMbUaw zJe{Q}t;%baU$cKh(PbxfD4o1H0ytlu`bIw&i%j@D(J@db z93^3#yt*DJsJ<+hrSGOc)_p+DSme*=&U2WVof5a><(vWUA3(G1C&jSB1{Kx~S61)3 z79S5e96^1vR(dAah&*F&ILsFO8*ce8u8{8ba=4jL)dJ!Q-W7N1?<;yPxWmat@O_~V zj@N0LIEfHom}#k}2lxTmY3;eb5XDTsljw${11Lf7ztKZNbD*!SHy^oNhj z232Q9la{<|_eA>1n5Ir)DQ&XqQ@Jl95vsn+j8VfP`5iSbdFM+_ zAN-OYvQcxK){-?X+EhoB2~xbWB(PwkEHo5zOw4;YC-aVoB#jM**v!ic3!RMR=c-A? z){B{Sw~CL=$AnKP9=tHL81K=Vw~JSw03P;{YJh9;6IpBeGH!k$y;6z6qnfLq>5m=urXcN>AGa>F-CKeWB=X5%svyA~ zBpp#fHSeHQ$BlIM1l!B#9E-G;kCh5x0_8k|aA&fw#JlbHD4s-}rZD>7AlGV6$Rrgp z@j-i+>7MaA7$6ToIRcL=y?5=LKKIawUX(9qR##WIM4Mn5;+wZay}z(C>%fD2a4=nW zwWs$V|EO(!u>J(HZtqB?0(!#_)DBv+6Vx!GMxWUnydW)!z%W1L%N;DemNW9(owO|j z-Fda^N4TJlD45<5ySv*^{lN{ZtG{lweZyAqJKUiTUe1|f_sdFH0_SbSxSAHr`M_7p zWEaqx3AUT672{nQd;$g?@(%ZpLxlkbVUsUu8BILL@y8XTI>T3z#`d$6T)>*(Q(ME6 z2bYgz)`4;Yz4@7ZmGk)_z(Xh_h@{#sAg6wtI4u1}s8wA~o3HIb&(D*KtmH{^sTGOH ziSnHxdxB__$?V)SH+5O`tSwM6WRC<8gM->N`wfc&oUs$o$@whuK{kKax7_u8r?n?o zDn<}3vyWQtd~R8Ob78H2X*)o6v#FHx0ZJ)=E=2HZlJ^v?BW z66o%Hel(1)h9BhqA^L2r0JK{R;zEHGol1h^7CztxPn|cfwxi4`@E*ph&i&Vm9;|2- zmh0RhlDL-E3~mDAt5T6kOM?x zj+YS84Mlue9~yo57Nf|SAyQ^d8hC@*A)>5dZ|!261N~(T8qt!*_jeT1P1;cxNJDuz7}JTUNXm@6 z6m)xe`wp@>Jp@)x(xfw{ypR`kZyaTrZUwsG3irs;8brz%DS5&Zc!;h=8k%i0`SLvb zI_JFE#I%>h5=2fbL9-cnJD!nB5m|t4zjvL|-3N^DV=xGCTSPcwjBlUM$(f-yUkBZN5 zxi6pVauuV7w;-tGugYMOG8Yq7E)tgu0$886po#Xqi)y0;l z2ZauA^Yg8N$SdrKyR=>;!%bnrd#mLMasVZ}?2}jL2Qw9bI?_2 zj&Dcd%H=Mn{_!hMRszYw;J)fWONdj>W%{vzUFF};K%#r{lAdbQzKsNPpML*1zdd+ ztB^R1AK|`hfd@U}nOw!k3IN3OM$yF$G1FnwR6mBuV(AR#+92^Qv=I#P(73cyF}A|m z9{w0?-u^n3xi2nMx6m=Z5;c}__9Wviif0b;ZG&( z+BmRCCfOC@YZCUbW9vz-BndG5OzZ;OM((MZI?^o5ei2RiLv%)bo$w+}{ENspjq)Z% zwlfVH&L7qX#14ld0q!-PpNiV)peFv$TXW_mHjqNuj5c<|9L_Sj1byqNXk+8yQ*Y;L zwHH9oK>z)^-z<6$U9^6A>kr&i(}Qx%xjwviulNL{R9JGt%P%9y+5T#R6l+~8$u$=j zr)O?bN11dp#0!V+4d)6m_4Vtfw+4TGAXCA za^!g9-E4~StMQtRpX?WZEmR_KvPBM|Kq4nJ$7Q{#UKboaDCeBLWr^O=&i#r7<M8J7BtgdZ{K^)r$pdK#eJF!L`?49ZII+HIfw5P!|>R$hnQFVPQ z(~MMZXrUg9zb2w3^(j>Z5jBDmmwZ!V_rRi1d|1G4wF-yok^^W?;xi|HzjjL%ANKub z2hO`h@o*^=I!Rb0Tmxo?yBi%SSslxRk z(Ajd{t`vX2OTMn#gmdCh@4E!#2U~Qfudl+QwUFt66e}CWK+ITqC#ox73=c3elm0sA z&-`3szR#ALyu~N7Wh%uYFi9Qm1)9Y;7^f5f+2pIZJorl_cb(D}=S$wPyd4FymYuCL zei?-q4)h-t%BMGk_#B>4=Nh!)cxo~cm;}vF{LNqQiO)x@33PAJ#5($_9O`x1^C2of zdAx0Pmvga7B$)X$&qG)wR=UMrE`yuQStB(^nkxSlE4k|6nh6@ zH9jEAt2R@Qk2r`PUjQL!d#qF=5HNOt=2AbnU`JA7jZEXiIZYLHTda>`e;*wa#~H?K zC>6;7FyXXfkGiy^9C%h-_XHp%4nUw&QV=qdyO&BH5|7~Xnym<3$lVsz%FTTW9R+8! zO1z4@aj}#+*~>-0%|jJ<#+;hPcj)BPqTGsCD{<^abYF130o1;VwN)X#k0KvT6*K;2 z@)awE=-6?#DC+eSS9sD|Nbhe}#k&8qUf$8{Vi{xBD2EF>1{SVHr9zvxQcvtLxgo_! z1OaWSB3!H|;7V)Mde?7AO{bN%BrokT?Z3NsY$l)dPB%y46)i^( zVf76>S39Fa->ck8ejFVq$?X2+Fe=}909D|wB#>r1$w5WgH`^uFkrC`W;g=%)s@3Or zAnp6xf!8uxu%3^aKw|L{M?g-W!!7AYC5q!cF6gLJvGA<4ZSYntyjta#LV)H8cqzHZ7`ek~Sbe{_*<_6$@!I0dn_b^Faw1RK3SM&kf0zPsEoIjpuso(e|V2lNYwBq6{s6h@M(Qu-{TitL>IT z7UVOu3=D%=Z&6vp&Rya3R0*T9TK6-W%^O+3|IfCBkKKX7wI;1$+R|OY=2A_6qy!UoJ$T?Ft-Irv2aJ zTnR9i1I)i5vy7V7vH{cKdho$cS;q(8Vx+-%jqdfZr z5W?~@{}2JG<71-{lG^_d36lSrIQeUR@yG}~jJur5nfedu-2WaX=s#jEz=8Yccc^y} zmJK1@Jgc5;1v02m{=MV+Z>@KJSh*atZEl%TQwJJR7Mv$UHAog)Wa}1kK?Mprow*Fc z20mY}4|lhS_KzwkmU|igjd(Xv^j~hb!=-26&G{9s`a_dBYn@@PH8(fZ>~Y4*-oWhA;=|@Pyl0Hs zYIMU_DCgilzC_f2vhaL!s^J_f=s;5mO>{1TZkRHp6uaQ8F8lY4PQ5f1W;r?=gCn|R z3jy>?kQ(Xc9^!6uc)s|PvVC|BatgPixCe}8{- zx*MA~Q(d?z0zn2B;tk6VZJ2~L!nCT7toka_Dir2~#NRrcSYSN0jppGF(Bh=`9s7}S zf`5ppjl^hwU}(O$IL*d1dXbEbh53QH^^$9=^7oNHPl2m|=VHc@bMu5Bbh`sLH(Pc< zu~*jo#%Ny7$0=^M&O6nbQhN&I#+ZC#e8HGkChgI{ei^O;ylC#MNq7;k-h4akqHPU+ zZ+5tUs&>v@_fx^lVBUO9VSc6!_~6J191iz}R~tX+i|eT9SXyz32XIBPg{9V3>e;#c z&6+pTCd6xcU7UdL01i^OTFu_?^UXUIG~;WM^e7z3VRK`$7sdC9jaSLsSR)xfjy(!LDU8AY4r7_lX<2l;Xh z-1+{_+MmBu}9KN^#R(Nf*Bd6&g|7I1hP4fpXcHmel% z7vAZqXd|etf<=VMzhAIeDZ~`wtIg=fdz;_yB(QB^KoQE0GJ1|$l&Ss*a57MJFw{`I;O-M=jW<)tD^1_J*!uPI zza(i|`V!#;#s=LNG>+!Q|HR3sUC z#JV{o6jf1Jt2j#_!ATa&+iprFV<;WZ|rux z+tz-EC6AZ>`lQEWJ#Dz7BQdUhySFLkL{!Mzb?_T#cG&kfTDa#Gu0i)myyD5JMjrkg z)93&I70;6N8rEvQNKZHSG*%G13n~0eBEeFe11U1-ZM@k&Mfv8|o8X*8wPF0BB!Vj6 zFh#$HW|WWbiLTCH7ka90kflw%+qFJbT@sOQ{V(7EL*gVYmuVpw0^*r^8-Yeo4RYAP z1#%XD)#{sIj8YH7{}2@iW1+_@aa!PDk#>g>j-u}LSiwbY%!4DNqJQeT3bIUOGF7Wl zRx!&C$DYUI`wG+vnJyNt$pIzPw#y797B;8=At_#LY<59I=TW^-Oxdnf6}OVV#2wGq41E&UO;G}s{QHu=_Fe0 z8-=fpU96~H*|@O9jIti#fauMpnao*-HX(Xp_Me0chT^EiKp=l4PsLPzAVJmhr>k$- zr62*kDt|8i3*(}TTFPns*FU0`b#bPipt!T~Pb}v9MV+e5I%vkSGT_z9tCo$!xR^nDYe%};YW zw8pig_dbubCssft%~nI1St#Zx)LMwLmPy6YDELeUFsps7RJ?Ahlw&aB0W>vNa7-3k&Hkw^A)1-7cdP*cHgow(9X=SS6YErN~6otpGq2`-1H6n(ujj) zG;_B1xUc}#JyOb)SHH3*_N8YeYITtVks9nOc*!0$qPHIGoRi|>lGhcHUh4DK|LQ(a}8yeD-e-Y(SY*#es__ju>p+uXR zE!Bl_@wb1mYw?1Ste?|}Nf&!WBg;C72QaLO2I@K~C;t<_una}(86zpu64f{sQgFf^ z-u@{Qet(EAiajNl6DUPod0)0a`nhs{qAXMNah*do#18Lq$o%}_Mv`U-;kQ3HO;yhEVA=U~h* z_IVQ~ZhawxuZURd9ewoGX>njm2E5}o{Nhj}UTWpSHhXHJ8b zkRQ812i30XXY|3z{b=jj%`=lsTxo0Wfu+L=7Hx-Bl7TBlG z?je6LS#k+=fu{if=Z zJooa6PI&h$l8Rr%3w;`>` z4L|XHmlO>ROh@|Vn9Ov(=O#Ugk5&=k;sFRjI&*kg5L>9@-Vo5#P+ZZajsPcEBiQR< z^{cQNXY$dBeCq~C-|^pxI7OmvzneofT!ngB2?b?FCF4W;xPHI>h8UlmPDg3kpn{%_ zVrS|GP`GZns=`zwl^JybNjo{QbN}X-jNL7BBu5qRaP5CR2l<^-U5Y-|X`W-oK*$0J zY7}j7Ur@eM`1#o{$y1z<0HzH%DqyymM7uz*KBoX>Vs9VDn-Ekg_7dbS+XIh;eL<0V z!ZM8z^qZM{zY(3j#ld{jD%Be2m4hA=Iat21VpA53zh>I{q1ufby?fru{CnLa-c^bF z>*i~q@LF#Q+dy~osJ`S@ceZ}R;F6j5iA5`ql+i8Ab>Y_S1M5|auWdF63t&`d@cNO=w7__YD~fxyGrt|oN5PvZGUv7e7$Fjz?t5b)ltll+peZFRp^MyP;gGl^ucUA_STf#bbRqE4AXhVvez;M871fa= zc5S&rZC|Vl2ww_k_+0I1meyq{=T@_mH|$h$nuFBU?VVh|(A+4`{mu>aX-x<<;Ulk~ zr3|YEoQr-a&_k{*>0_Pc>?obEOTt?2$-y8#^!ke9Z2gGad0Eco8jU9ElS+qYKw*-8 zRkNX~p`mfF`6*_?EIYov(2gYW0VamC)JzUTgj!ja3EnvRzD&^$$QrYM{x6>tTbv^a z7@8O+PVn!{4{EvZk>}H_wPOc_4Vli0@l?f~=jv)PFEeeHcdM413aU2I3j7(YPqg}S zSOBdt#vC`-G7rU_KwR6XLa=;mDU|ZHgraRNV`z3989u)!?OaCUwCW^pp|XMoc2PZT zJ5rofB*cF4y4m9LPUUmyhoBL-IFevrWU#V~^W%c%PFg?k&pE3*Vlsf`iYR+ru`QWV zi$pfF74zR#6ch(SM{i+f&7xA4#urYlE6w01w&xsxcES9DS&A8esbK~%HSKbrAA|Hq zMm^Pa@&l$)={DP2!3r-v{J7GAZu-tON*;CRJW2$B0@P; zlB2nL3KArf=~N@}0i{<$OvR6Vhg2PE{L38p`Mw67BXT}`9u?b^C_B2r$Nct0)EHQg zC0rtbrp_l~oHdVL1Z?^-=x1J3yHOyy37OJqO&AD!c6vM6Vxv4P{k}CLkB+&T$@gb{{0(OkO3Fc*6k3~@h6^4GEsovZ7CC%mM!R8u}IHSa+I1DX~2(M z1llHhu(T#aLiz8S&|WX0_K+s7{dC+Gk<&%ZN>ton)Yc-dR^!@t`mc{!3#R_2$RAt=sZXp`<(r{n~++XV(pi36kc)#&kZ zleM~(jI7TyKuIYW-0J8)00)fVde>=i zEwogB?6_LF5((Pd6{79}Ie_U6V-at2;XA5v18G!pO;F$bry`5N1(^RZpR(}LFt*lu zwb7dA5pB~hP46sUemroF(NSeH=GtPwteg89JsQ7$VpLfMnLn3El*i{$xkgrhJaUe{ z_AE+31*gM#ZShJ5ry1c!fJmNt?vCV$$5?6NV@y$l-F?HUsbFUJ6*pZI_%5jK2_F3OCiOeg~?OUeicST?D&=$M#Gghh&?RsI3Rr@Af#{-rDpIc!)a?Me3zR&okbq_%`KF%iWP=_>?9nFicsgl?XE2Odix61k$|DJ~ErQOAX zmOqxo8Z%{VD$u7BTL5kk2aIRI%(5Y6jeXNe9EdU%h68Ar?7n z_k8bxp>9I^Z@PA<)go2#S`_`4Gi{ct57{W7W|z=l=9b3V%SHIal!1lYi+HpJ5pfZa zoKK!rD*3sVd&X))fGb&B60X4}WFR;{uNUlx!d2k#ns(om+@+_=^B}#z0xaqPbp2Ia zuw~lEMY--L;eF^Gse8HgV?Kd0QyMY%Z?Z+#AV!L~vh)%nCkDJr3{%@Ph#LD<`rxw>QhGlBUEq->h zJ01lu#@x*SH%-jNu+y&_>6?$t=TquWf6?w2G)TKG!pHS+(H6$`@Pl7`K>tecq%4W+ z&@}ag&7I8St6m>&UN8ToVZv^|*j;K%Vf?|14PbVc=iNs~a!LBM3mdjSP;6q0o_mU^ z7idX<(O>gMA8F|RG>NrxNpw;0BQxti`pr@Zapl(ss@RRLH^N^4Z>{+E`n?M+>L=WR z6a&dmzoI)@&XB)@lD$(>KAZmJ{-ZpcR57d4)YE>GBC88)B25{S(d8?=zGkBjLp7Br zf9^<|Z!PUeMz``P?zN`f;hMX42?1V>oZ=DL6Y;1pvU_jRrPn&9)qhXy-aMei=pz3W zI5c8rnW*I>WTo{GFrU1To*F1FP%hYGXL9__>-lK)^opT*H(90lMYd(sw0Y%8GM}L@ zm;Ntusk`UH>6HJHKQ6xb%{{ z4B}@ER|Ut|;8x)9(E;QuXwm^Rj?5aD1h6(wyLo@pbtIal5S0I8r`95qkslvQz1z79)g*FqYziI>}kXn`yMPd#n+sG-y~+6OvE27 zMFL@%&>CQ%6%J$w(5_U*IxSkM7%#+0BD<>)SKZ7t*7xlm6tgH9QS9vBH0N*SL?oY> z|4oBRPNiztOH*(3b5Vmcs1!gdrg;=)v=Cu43a4EMLdEZjsK8{>^jh}o4WH7N z04=ZNHc#9?s^qD2=gvlHX&BoaelgQKdWGA^;0n-^o&mvy3meShQK^7UlDya1w;5c& zSPNSa83y=@>*(!iSlH_tA;JG8bTz5o(3?{oa;~K0|7g=9|M3d`jIlxZ9Kn8^U$D~B z5PJKq1NGNAt}KX|Gi3ELLR}x~ zGf{s6sAbm8CAS{CZC)#2N^1Gl5YVDv2HCgfNyU^OWSq5P5#z6SM@xL~Tium{HY?I_ ziDr@D1VlqOc|&VugmDt()>XLF(TCf8T;u2uIvQI z?6$Rj5`59VRTLSn6ssY85Z@^L;tUAkH0vT;p6`K^kIiv)goU$2_#KLPM6OA0-Ja@5 zw@!zokT5-dkAW%~CO1J3K)sad}UY74ZX;7RYD?&6E%ywxfYzxTjY)5Z)T2 zKSf+KBF@Vq%tw77mNI7~Qj%Mjbz=tR!<;A?`s0tAy=)y}xKO8mU`|ETz}xz6Cx(Jk zMm^nsqa z&NGa)8f^4hfD3qZU@b)C$J5os$l!kD_Cu)K^;E*0)OpyT;w{+E=QJj^81APJZl%hQ zixV{v)9oX(v+KUQ6}zr>~Igarq@py`c z=2uboVPW9HumkTqQ4dt9`&AT)NbRlC6wU73xutUZpB~5QIqr*^iaPNNl_PDkyUqO# zw@9C9C@yF}PSIo5?j@nwebf6RYGUn}42|K}IpTv52q25f(~TRiVO0J$?QJPOHFrCF z&jctpwhcDniX;kIgZrs zUqA9Wp|nr=hJjzrfvpvO6H~Obf6LO10iWUqsFthpFM5!`!4h4{a z=+{1?&zpqDe9mlq&5nT`a>mE`S?JCv zwGCb=q3cIrwfUBEs#$3ea$icbKe^2I<&Gj-?3p)T=}J8+fH#)}a#=fWAtvPJi4ohR zVsTKqa@v(g6as-~05+?S#Y3Dlc8Ia*4JPFErtUl4WLlS7d58DBo%M~205ThTFfiEh zd^Qht>`S|wRVTJ!;&bgt@EseYn3PW5@y$5 zF4Z36p4)cVpmISU2zkl_pInP_SyZu0nM=8u_ZH)7VgF>XNbI&%6Y71w?8~C4v4S)m zLlY@ica!%qVM)G4FkEf4Dp_WAPs%}Z!&abiydt+T&Hpk_Sd2mxRSJr15qcN`b$?I6 z(w^v+9_QP*Wf~Uitw4#WStyKNky(4l2jZW-s1fz3-j3QZmgjM@#2Ben7*crT94c-R9^2gSnVvn#!0Vwl=mY@wDuum9QAzr^61=U)s6i} zy6vMu#2bOesN_}nQL#F|e|af*|4TR(F=DR8aiUw%v$R>%DG&5?EySMz^J^rchC zTqPF2Y8hQpio^hb0vYx~!*e@~+PdS&K$T0?KOEhg&ZZ_P9@B~bRThqmfD_gwTY)-w z`272t+aL40j$YpZZQt8oH6Ta{%YlQt3rrDXLrcA3PYr-5LL*&~h}4!DmKhsm46HeETUg{_^=joMGv)o!w>qxZM&jg(>6_FoH6tb~{FDqwI8) z>Om{)e*1+Q6|{S5aB)NWN%q7< z?qoBapjw;hZD_FizNOX2&1RI`8lQ+m@Z51!O`45`?iR@242=mJh>BlBuu{FJ}j^W z4f-5sTj6r})yh)kRm`}+=yF^z?B(cTHhaq4d^a27Cx0Ft4@E_?w}LUh+6^kZd*-)) z$xX@b`_0cvrs=EA3gGPYEj;Aa^)9YtkSE2QnWQZW7vb4M;X7TJWR*TMSZVtQ%0VYy zcFe{Nz50gS8Jsqe@2K@fJ)%rj)9 zT>>cM+Df4pCtKgykKpjbE~VNDSsLgJQi72+JO>4~b+Wy#@s{V4%9}s+lQCCqt168C zQNkzQEe;Xq)qQ;=W61B>`M>P<)RG7P7@0zQMS~EE^04%-L$Y}GB;C5nee1?KLFZo zNma<#K;N9}@D@$fpzM2V%g6=a4KPf?5akV@jTJB*u2L<(F8PuADZ=`IDOGY=*!8+z z@P4*wYeD&#fb_1!rA2U;`gM&#V1zP4)YYaYRLS*52g_zIqx>zS!key5l|bm>`hOZD zFqQ&1FfUsE#ewN4Px*H)4h`3TC($e_2m#sNUe~{AtRO(|ti=~7-u*XF&Hwy1jUE8O zA$eh$BGm={P;lP;+kei+0vknOlJ%IX+@ig3ME(>2qX3KWaEz64DKOez0{fHAF!=Xu zM&Amo>x5^pJ;+Hz>6US(&3{?S{@*nDq626b%-79)(=+u^$pQ}sWCX}wTl$uh zioRdsgKdv2-Y7Y06llw_lwb6uB@pB&?Bn$fLc_s}Eq~KgB$DYt33a!v78_vzYk_|i z^>s@{(;#u{K@LypHx33u>%rlO_pH`1o5{GR$|)i4I9?z8axKpNLE=F4ep7txghH}> z(^T0=$0eoDk1SParSfH-lQ%RD_GRDn>!l+!_x6Lb29)?ly{8Y~`>2ovctsKlcH}dj z6diFGO|*`SjzUYdA_?M;6UMdX3E7%pO;%U%{xA@+?`Q*W= zzQxYG;VfV{;N0)(&ckE$_N}v0&`}2}AV}HtI$QX!ap$sv$ARF_rBA!+4-d;**(2^V zdrPPYWv_i7yM?YqYYV-}+|hGj0oLVJ;?)b&FB?eKlXK7~dp}q{z5`B!HhV%j@?uQs zoe~*d*+1i(Wf}a+2Q3& zlGt?LzL;{W@#XPIo>?>`#~3yZ6RZ5LE=wDY%)GcbU(@S!`y&T~(X`e&GmCyEG_#;~ z>PXW+Am~80WOW;nKjJp8SNVJgEp4K-W&7T?;+J!1NddHDC~2T;DuXw+=HIj!DR8Kv4o%)X#F z`lB1_tK*2{>qa6;?)DM|zE50Z7#otk4os)Vh8n$2?~Iq!KoqMD zTyRFkTYxcKvkyK$e0R!q2*n#DS)H<}$Efc%MXg!^hshsgiXT4W%0-?#M8?6OIgX~m zK0r}}shFJjn`X0+Ou_?tTrm280k|)qd#RG$NKT=*>4NTMQ-El6ShKT{loNc9I(JYi@OCYq%$yByA z{pd<+%1dtayPy~#LSsHv+P28l^z<;@@}MZ-p-u^m1Cs*uy^N7h{F!#^mYuD90*Cku}qU{QM z4Ci>|XDdh&=_O*GN#N(M^Odb3V00G4TWo3-*ad!mQ8ihqF}xylGuB{?XV%k;q2 z_Ji*gD%9CU+b~CR_4%crn%yAbpz(bDMGZCDQx0ao%%!6TnZfn>B;T4hs;H5Xzc!D6 zGRtOe`Uk<49iZCtw$oB7cA{__cwx4-sVYw|+FX20oAXUNWmAYGYxE`zGg&u}a}A1p zwV^bA{~pP2+9r~yQ*=G&%*PylvS6b!ywK$iV!bi_@Fr=Z+>tkjA}(B7hA>tqnTz(< zhR>af5j|sp--jy7ThA{UEwba|>*nvBM2O-FpW|AR5k(y>&ARl5*Xc6feg7a%uLF_L z7}M;F0sDTqeB4TgegSecN-pE^V8k`qs!Rtk!3$%qouhta79cq;;-~qVeuiidtbcot zT<_RjZju z^l`<>>2{ll7Z73k@vjJz7fp}im5@=kRU8WbG?^eW+FST=R)q7V^%g%0b;7U{z$tAK za{yochYlhu^kHRAxacO^(A_eA@D<@MQtWBL`0z!mDNAMOi~?fF@aM|DFJNcJ zQLKuBSI*FWxN56W2)Iq820mZ@-X%Vn_~S@h5y(H`iH9DOya_-M)ptN z=HUoEEeGTiUbwcRvG=UeRV7p7huT~>o|DDdhRgc3)nbV$Z!@RoRH)_Nc=@=ZVw}hL zJ^Y_@VH0pZQ2<~!g-WkX@q5oa|Kux}`6(8;6pMMq36jyQUP2(tXugme&?5gRfs_~G zR5JYJT+XxdcxmA?@Fk>v?byAVED_|p8~W{j=Lj0q3w8GKJkR%Jzr~hy(HPy%DP6}_ zwPe0gD`xtgC;VCd$oDkzlc`)`@vvh0x8)>vuHMyC`KzZ0KPco?2BA>(qia{<0p~^% zk9AeG(&t{r6oUFI({I|^)Rx!lY;MWiqO(oVYQ=GIMxfK~8d$KwIbQ$g&xDoC@@BMg zHCef?!ly`3Q%oDonh7d}gR70#qfAhEk8m;aY6 zXyAX#f^_{jc{K{z=7^#sd8&5BD&Cv%)=<|IO^#pH%58s{*t41B|Dh*jS+dxRXNKq* zWn?xM0J|NVmf?xkl+Hy=shR3b1)wW5ip?r9cM%9G5Eh~w!#^q#geYDCr1fBDJ2{o2 ziqo3c(i-sRw8XOchLVZRkkejV`cYE_7F|v)R5NrJL%g=zzh9`DO3Cd$y;jfwma=r^ z4ioE|xEsv2(LDoW$P`2%@vV3pV%7XDfStj)@ zYR6K6<`vFPOmnP^5H~r*4#tGIb8k5uo+AtE70s`wq(`3dx-NqDRa!`0gGf{FO@TD0 zvc8b-Jp-VCFxk?2f=W%Hv6kbO2 z)2FESbv6xQ2Bpnj7j$kkJlg}2dPmZjkbHTi?uciHPESNO`m~P^$u5B{z9Vzi+@e@N z`5YiI5NB)1iyT8n^jNWMin52$*)H1>0_eIYL0(?1bb67eU2U`5dwA+b02}jEM{=ZK zip{{hrwrB6{VStJa8(J{?7#RH?D@6_RJO37N8Tr4opCa;Hub`?;YQ?uxSwVB8eOw& z$F{P&2hVD^+=Q}tf7{+#r}+JKkuOMgB^U@E{RZveO0TjFbdX1tQ+^ZE|70(W2(CGe z5gi^k0GSUHYheesCQAapu`=sF&Y%)CVV+1senBrayiL}<#v&7o-mHunyyWAQbuIgt9aiA|Uh( za3$iGw%J65R(ppC%i!*nZiAkWKx>}7j`G9q4e*SUDUbTzQ*%67PMKM|Mhd5yXrjdOl@6|7M z*gqS`))K`{fASV}vUD0hYDDBy&z9Y8e)T=8k$A>>` zjT_0Oq1kTDv@-NwD}tB@_mU4u<#vPlmJm!H_H&mlU1pKam42ez7%v;+N}_Og-pq>y z>Vcmi;BJ2(3(5Ny=ZM17v+K>2%(OJJSWj0#-j_@a0!Ld-9shXhE2OBqYsF1y?QT!Y zVVwuD^t`>zxZzw#q1K#p)aFPu{LzJpXT+sQ--Lbc1E)rhV6%#bjpOvuP6s8C_P;pQ zwk*o)-#pI0r?;YL(Tb6vlj|O)gm* z7cLz+_opG-o**v7pJ`5dW50d_YK~rbVa9IJgJNr6A?W@J^|%2AbS~xVN9o>GBEC1D z8eHRfeugW|x*)f|)K5IwSYx*Ew)G&D_E&piTgnGTzNAEx9xcD8%YSkpYACB}QiXd_ zr`&_RWzYypP;l>lIs-ASg?~F><9Pe{OVpykUDx!mmX0VV)_Czy(gTFaeFVX7{yZSJ zol`z<;M z>pb{Np~`NTFZ_3^f=}khV>ce4PC1TXsSquQ=w)ozW?>Zpy5rxHtojzS*glWz+WVO~ z#H^BoraJCYcdcLw$c#r(?slvx)4C0nN}S7mb~}>mKBy+&k3a{}O$MBS`$UgLFKAo~ zTkYW=Ta~VkjrbQ2#)UJ#S~h1(P;5@Cw{Dv-8PwNnsbSe5&i6j@kdcL1TnYC9+OU%0 z)HvYbQMQi4G6O?R*ZE$Yp7~zhVj%SHD~;?Kt=!4h-@B!TEWB`6t~qp1=gZr7M^&LB;E*x3e`;62=#(_-R$e#Le32 zBp=5&VL}xt(%RcVs=lzSU(vL#%7eaN9`go}wEbxzwbfQ(35%aaHxKK|9(?#6o)qVK zL1n*`4H{dT$8)i)%uNlyhO>tiyJY*z$CvyZ2?@ez9=5a|_Hx;b`ULwt4(Xk2ZGxD4R$^)2LQE?CwpG?Sg}@Ee0!bC>5j6@s6=Fg_aJ0~(f0 zdnuypdvE}cq{5W7c$s8ux;-_;L@N629~$^shP>gYJt8W(XT>Wf2VKvT%R;ja7aMH1 zhF5pWl&Z`@r>s9747mLqG#<&>`&x_10~W?7lgSw~iQ{Eg&2?kc8ix6S%0afc2>dIe zCl^*?2L5%m@9SeyRfWj>GsE50+3#>sc&QK91SPuDD{v7D- zgCbA837s{!ot?yP)Y~%hOne+f~o@x_z#5&DPs? zt(xe!t*W~oXi)UPfGO~a)g8q7Fr*FN81f?1Y=gNfAG-$?b8c|Ke0*_yPAc-; zEoWJw>wjqrrA)Dr{D+S-63L+7W5+C62Sow$RSQ|8g0B~S8g2zh z(#rYVwrC3nf{)T0hYQIs@<_aheQ>a~|KO~1<9I%9P)<(Z4!ziw;Ci@G@w(+t$pKR~L{Ydrvw_Yck69oSuPQCxET7THOH zBdo9QCOEC%(szUXqRVUrXjHS|e`r)0|GKo?!u9`lY14Rc;Gm;3P946>ov~SQ+(b2g zO!@`1Szaus#;u!=0ki{GN!;zAG@u=; zwlBwJs~xXm^y{>}WGWL}p#<9}tIz-2<@Lkc*)sj2Ae{MSN3>;cewkEYD@(0_7Zujk z#wptetnR#^77s$85h5n64o;s8s1#dvM}ZWsQBs{l!*E{9aREt~djC&9%_}wCx233$ zZOb+N_BZ+mp|tZH@PUe-*>?dMh=BK(Vdb+$Z~k&0SE4q!L&PSxMrUWUKX(k!lT?t> ze{q`M@?aD;WB35}2cJ-RuLLQVn8MW!ITHMS8@&!_ZSe6~Hf5JfP$0+i_=AA~J$aX- z!=TeBk@T?<5!0Tj7ZcjY4BKYA-A)j;4vx<+B4u>GpV3HetrHy!Wo$5jCt#@b#D;g& z+oR=TOn3tIQl52V1=F(i*LCBV@H#E!+E3J;sdCy?<7q?8=VS;;M@7fc0@(Yux9%Ef zN>A3VM4+@!aOwRKJ`@ zIj(s>?$#+aqMO{Fgr>z&4!pkSVaQzU>P~2#NG+qOd%OY%BL1K-a|}T#Q%=O2z5VKF zJzYPMccl<&Y)DhR7J6sZJ5``L@Kg^MHCFMx(3pX-TgzzQ)0k8NoFGgsCbJfQMO zY7{shRr%oYtz%*-)%Z&YU0 z(jvvk=dZwI%bn5T_grF3nv6@`v*rP9H8UveZz6hj`go$vR&rv?41wS8qI#mvX_R#M4)G$ zq#JvzR}h!2MIaTQiYj;$$gtm8Pfp9>ZkJLHXWvM~J-8WHsBf_autYYRjZzsVzM}&c zbsGjrC7{8PTFH6334q$YV1&2B2E>G{wFtkG({O&rFx~zR=0j5m?uA|%-Km8)W;P#M z`=aA!ywY8%VUB%=+w!yBqqYj>mDx!+Z8AHGhF=EJ%(BymJJPrrr`2`)ZnFUCqdgNTVIP3Q!*;D`^P8#8#ijeKxI z&(iU-4P!8RA-(ik8e+zRJ%i-TpK;8zXpsj~vJ%d*R8+5hc4KzxMd^2?cxBKTLqd>7 zzIkW=VSZ9<6jz`2K~DZ*-t}V1sT^f2(S4gO{_Xo?|AS){cTrY!mV?y{p1}f|CH3h( zAr2V)LFvYo`ZAu|NW^dcppLma0UNh1J5k;c3gJWT0co`MV-Mzlec1}PbkQ8Iwo-sM zmvDEIH5(A3lp*%r4@kdU$#Q{#w|!!i7n0Gq=zkG7np>Gh4*zW!+6syDiWN)=W*ZgF0~;GCrL`Wk zK8+tFUur029>45LpHZ}djeu{~YtDT?)6W!$wB7HJdtNBngs0*l!7v`HE^QT3KKoe%8zNl>;kGi9P*(c1k!DNVCFAyG_$t#vs0JZEUWYZ=H=6 z291;4D6(`#J=&_dbV)@&_6;-Kkw_A7nSH-f+nscOng2SNel`}@F9D@lH}c+6c~PbO zh{3|*SMb57%MuNz>9Y?eCfcogP^g%ItemH1pNJ>-KWU2EseYVms+Z%j{wfcaTq+Gn zSJo|Q0RJdDoeVl?B2oTo*p)$r_MAE_gNIm??!hERjgc#*Mo{FW;Xm zW?UL}#gUA1io0OmkLR|U#YiO*kq!Kj2kp_nVkC=XdR}kHFKw zb%W}23!MXywFrq`hr{s45{6m z3GZ$N*MqY3kQkpdK56EZH-ldAWWvf!>4DO3yN``@U-8p4 zgU90rjmy}t<(am%b!%<}Rb4? z!jELl4$UfMS`MasBy2uC(Xt|;bd^VOw11iz)q*REXs{JvtcgU`NvM#rEU;Z=9Y`%JE z3sFFN(Rbu$x$?(3G>nAHI3%ad0H2+ez>NwEfCSMRXi$d{e9-x;npXqtEO5HKtgpE6Bt#sc`pfUSRnPyCN>(&Q>ViX?@Ma{>=EKDVX>&W!3if2Gyc z{PymjFXjK=CMc4Dc-0@g1@J4ZN_R*=@&iPjf~|E{qyam=xIL8%JWH}>0^gc3|G0qu z(?9dSe(rzbEU+l!2r_VVj>qWy<5d!MJ~v(TEfR16{eSzn?|y>dTBSlaMj-v@m0B45 z)HR*h4laMb60wM)yBPi?2i+VKWE=Ai7JJhG-v#ZY5Bfj!Erqp*<`T&`cBJB z)q0QNE?oaaSq_tq?= ziwMG^R)5oI(DrkI>#P@PlW%pq-oPmxW}9jS+gm5CPR~__&dT3u)rO^drDv(>ja)kE zAhd89n6^|g{K7tH=hLUw-B38HKPnyHSMqpWagC1QoxFUE_|FCYI=yOU2Nu`1^IRTE z$d1y|2v!;1N)9fs$n_7ALBj!{4aM^GP>22t38}lM!!uk@dtoKdahZE1kc$qsR(N2H8m8;k&uEiTA z=xJwQ{r1ht*uD^hk=D@-AIM!)YeY~&>=Frq7Z@R0BUQ&y9+YgV7@A?Njns=5x(xQY z==5ltTdqPWF{W))IsjP;j<;^-X!x+mmHrs}0YFh;iU<9b%o|$S8R>SGOVUwR^DE6U z7j$|QX`bP)dL^2)hRMxLJ->&UA*5eza2`BLot`E~nHg1%sEbq_=FjiQ!V_%qh1jXO zQq6niF-w9vz5#_tQnSI)`7U+Lb?frYIza35!*#t!aRt@Mve5F2T?_)Co*F_~;fUL9 zlE(Ahhy5KzYx7%TIfn?1%WG1X9kOTl3X9|oP8l|y*9;?6qy)+XJcH1wiB#m{It;>F zIPRcHwcLA>9ha7SWhZg6e%S~QmNkgr6mc~*v1efWtYqzN$`C&)UipLevyvAf@vWyK z@3WPWFSsTA5SK2s|Gwe1bao+3yD0A{#qXc)Xu8-paBP@nSp9jsi0@MIS2PwTLydL1 z?q_b1n&L#rp{r*buEw8?%buT~g$-f@SaY-aQka25 zkzvv@TT#y`>sa0rnE!1HoH*K+KDG2Lp75HXpvtb%+{Qm{45&2xnyhIGKb+)8dGNXq z#o_eF8Ry^%S)NCyddt!hQ-_JO(5spaz7u0=#zxr*+w)j5mAXQ-$EWLCsH0N!pxM-i zd)@!UAQ0fGP_~%L^a~2nAHx;blq^cXYAl`lxeEQP0ahhqm(6EX4g=TFrt4mCQPMt*#6T=Y>wS2%ur`A`9{DYS4t9JZuu4A*<`jP*ihF4SmQ zue6)cZ6)SI@wxH%2GA~?kbUsW#`9vaaOT^Uoy{20#^xz=j_&KrKM1XJV@>CGEuJU* z+~9pJ&f+bpY&=Y01bdQ({h~HbLE;6a`CUbwWh`x8%>B1|$LN76Z)?plK53wqnxq(% z`$1u|ZA|+Bkq(GUh5&Ji#fctTTvf(i;p>P8KC;kIh9sNe4K*gya}yc+%^>S`!jmqT zoP@i{*`PH0+sDh&NK;^tqk*V;F@QiKAggT z>^Y*Zo`@`wq4<@w;%CKAtwi!7e7kSH`31eIM_(}$Uni`=EALko{}I=r*R<2ox54*g zG^--bqh3JCcFjZIH)}EGE`bgd^r>Bs``I9qctv}3G)qxfVo>+r;Nz1Ev*h#6PT z&GW}ZO|$-m1j@ZETp}UE9|KagrVyHT(LVB6LhHsJG}w>Sdw7^~_^EF0;v(0k0OMm; z7OCVy7iv)Fz#*u5p5J6p+=NR)dAlr|M$1(v)(_-!y~h z6&GET6tmj+naiAJ58b_kmqJJltsj9q6Ch}s=*$V})AE8?7H)?0O+EYd)TX z-~L4~XK-z@mMhS%4-|D#4Bu0CQN6v6^ZoE*agP|3JaTSG5vV z=l$|ue(pNTt4pi83B5!r_!iX>KP#l<1m;Bn)k2Xdny-J;v=}Y!ko9Cz^|H-RR6xx# z&kl4uESg7NSKKwpM?JksxW%pxy|}L1D^`;;vZ3Q^2wk0bKNj0@;M$y3|C=UD{iqv= zp!Ht1qFwAtAF9HL92|6%U1B9n^l}w%n0^`a4h}=g-JRGKr>A6`jHkehr(6Uyn;RTR z!>B80U9Bf5te5QESm&J z&65o43mf{i%GSwZ0Dsu89wJ-+vTHlf0I!~Pm8A9 z_K6V|af|6u&V634fQ6r5PyO6SD(;11wW{$)?!MobU!X-aj<3}U?gz=nniy*wZ>RS9 zQ37f}hUvWqa5jfptaR_l;>_kHVnF!Hw28GC$!5^cDK6{v#5tgpNOKl~h!pr8twJZ_ z+`_0#Qw)~%8>>-W^1l&n_ielML;=nttdy$pmTvtO-?{BOEVe}2^s%zuEv5k?c_ilQ z_jO5rNC=S=##Xqp!DfBB%$8M2mFb)`2#gI+caxQL5>T#b=Bsc*1D><1r!h-vI(dckIop+MRj6xdU86soZgF6ISNnDbyM14)R{{Huu%BCbWfYa^uv%ByL4=t$oOhc3^GO&w-mA>}|l^-GLjAHHz zu6jEXcXAY(6b;iig@sUQiEDnP(-h!fP)9|#t4T-PaoVe0TSjL_Z$$*<{we8zHfL4z zR`r|qY(aZluireRV*H97cZk4rpm={?)fYSZb2c7$S+=Ob@!D)WWm>rnwIxaEmW;V8)X>nl^FQ4zp8O_>o;ZtzhK- z)a;-^vSKN{wyu7^Ld5i>ZQ@bB)3nb~{wYZBd1Ghs(Jzdsw!=w*Es@H#YW!LlpOUWDvVND<1<~kbGH7@gka6YB4p2Rs}ix~{Hz&`1Gl_iAVb?&UUE`YnOkmh!e}1)HGu zlFfo1CWF_Hz~X0x#5NxjS#Man{no6-xh|dnoJWWpx|-nY`K%QCe^B?HQBCz-yDwI3 zQ~~KIRl4+|5K)SNfOH5=q=py}kY1u9MWjgYAiV~pgkCHZ=_L?4q4y2}LW*a3-{;x; zea|>w&e>ys*q_J%l{nUaWz9LSYyPfiQQ(4m5yXV14%PXCG~e&7v1zz66V37;IG!4x z!R&W39CZ z_72}#8>R|pGG12~g1$%JtWIZ>^Ywc%l*wNO#&WqWWU=EY8gp+dFhWpoZuMr->2zOg zMacusnuxez)&zcokZLQ?8PCI(+uF_C{Sfw}fnydkkgg%TvV5ljg*E%gG?*kyTdr`` z*D&L$X-%aIe@a0;2uK201BE&jp1|}CS9kRb%{Xv2x9wHgcc%A?l7x@J8IrShbZdfY zgH{dVrQRRT2e!dFuq)eLpo8`07%Zb~N!FB_Ui~39typqGeQ{DZ&Kp>`{#{=1cfz*# zcf!`?M$QK;J07aW7If=c=onhZXvXSz8l#Ik@LzCPJW}&~w6vhZnxfu9_6a98A}FhP z&$yJ+g>s`x@oYi*(9@eSn0X$)o4;!0?W@>R|4RZ@^3x5s&Lg$d9u){?!o=_*bAJ|UnL1= zA7)#35*9B^Bu@a>db*^p?gUNalcX=CIn4)n1~(3QmY-DU$F6oLRY)hH?} zcXEREAlqkfF7+v3?9%ODnB{e@b^Q2NEVivDN1iOQ4!mi+ZrAatFDsbG^Q zSJm}L4>Xll%WL}R*@iQ~5(xuXBFaHctVR+T%dJcHX|Fl!6r9WTKY%8I{=cUh(G??G zKX%-&dbmaMrK9|OOg3*+e;}P)PHSrWesI70Hr0myV1H9(-Po+?hevy@Tf1fi(n4+K z9aOfe3=OfsSk56(?&Q*YZFVM9oZ{omnaqRdzs|=dkOA_qE_V)6yz%>9Cyy@g8OnJ>7uZ3#a!ThVYJiL)+wIIC~FI7IC9|up&%8H4h zKmFu!Q}x00(;JzwFN>{r>Phv5kl`7~fL+>?OtT=gyL=De8PeFgU$}if)4xQYZa}Mp z9AEBJIiPzEohV~P#=*G-)vBYo*Y z#4QzS)D9J)Cc#~h%6ckfxkh^_SYF?J+P_gdW@ub(@1HmB*sa25Tt89@&WdBVs%cq{G4{c+3`oR|FW&;OSF zq=>-mm!0mPAmC1=MNaLkYdzN+;OweSSRlX<{G?K;$c)bN-SicXd`i6lAp^&uka8!T z+FAmVK(3OF>?>8QlxvE2<78FNQoK+SA}ht_z>TrvIcow8 z%o32(#_s+;-Hnq_l4(wmAeDQRpay_H4tem|=H`XjQ8Cb`A~>=_O*q%WW->l&P1oEz zY)Wm_e8X#)@3i&V1^R4lfbMKme+u*p?#nOAot_}LhwY;Pq6K?HX#Hj zpe80Off96pE`Xv4k3Rhe=MdAZS(p<$=Y6U8!8eYcU}mV_6^;5ye5ICX8XkjP7bS2d zDr9cx6lGKsHU%Tuf1()@7tePAN&qzRV$mkM*gG1wcelDo;GS!S1hVcD^yw6rhKR?* zQ-BO1)BfZ3dVL3_!HJOoovY_+(aL%PhCr1yBPLXiWFi}JMuNB=&CF;&$vQP=k}7DW zjm+Rp({1q!=GeOQ4t{GndZ3Jo-tqfO^DO)^W&tP|uiHlhRU=@x37jU}*T^!uT^#BA zghEs+(D?_DCV~f&By4~Y^!I2IQpqE)!{K`3n&oJY(rme_p%fM4uX>fjrOfIcpn1L& z_hJg;_(a#W$VxrHow)G|21wdV7vtikpGFGlnU9GA?{lSaaF>Z9GrQS8(?0=P;DDdsa%wvRjL+zj@y6E-)VMnENj|M-e;41nSif=0ftmK4QOfPt1I#N+ z+@iy3pbVb)DO-tvoOw&koLB5K#-(-n3s2wpa^~vXrtjAyeG()Ai=;7EYO_k5ZkK{F zPDUs2qmfmc22wZ(0TKO(FmidgGfwi^x*LBL6eVG#69)Ufh{i>~6duqrPV1=sB3^c4 zd?4|bidqjYp;C;P6wefQ9*S(;+ep0g>)VB+IVV~Uqk1`_Ku9(uZ-P2*W==~C|4nFn zKxfF{&eQcyvD|n`A@#BtiU~&4GpN+)PGQ&C|Z4tR|<6^ksU$`8P{WIgMG*2iprX2 z+eFX!o_Yy~WKgBKF8>TFFt`Zt8ljRFPT)f3w;=1kAS-dgHV6n@C~4dOJlitSm}Vrd zMO=L+t(YRqk>JS2ywS;xcJU#tj**^ZHJ_V&EYdgD*9(M9`Xed^cll7qP_sMY?@;Dh zEsqM_v$~Lw+wc3`jL|2F?$@*nOD!#AG`-hmbjG9ZSMK+X(@IXIkK}2MOlX)a4W|+A z>p`D=&A8U>r-1}f5b1&XiPFU`@1ig-5BFT>#CD3!xe@s8C?f@nW^G+43C{aojd)n!eSVBk zkok4uNwp?U%vnxPu_a5#Q+^2MZwZz+@pZzov_VS=_`pC_R?_{r7xfRo)uz)?&vPWW zBNX1v8>X?8QYh2`kGO>XUjZ9a7YB4kfyeo#_ob;SQK@x3eHR-R%UQ}&j#;bIw6ED6 z2-}`W$5He6;z^J3BOvzz_*jO`(9Jcftm_WgP9<}ED#N?bVm5^iHqKwzv-(7e=mr*& z1tKM;ZszcgBd>X0ih;4dw_#6NOC8cOQ$vQSv8|K=K-6{6(|>jvjLVe z1R~L~U)t?k(R;(>`fHat5(V!akB*VFWwmFIYJFRf2CSzf1V; z(!OQZ0Mclrb40w?#pQ-5_s1LLEoS;jG5t)|5QW=m_@vp2rBl|GVDu-tR&T!y)xGBa z+hXJsG#!>{?LY5>jZmVofRg=H={!|L3Lvyc$QwZTS(#Q~UkaBn`z2wLG4~tBkR~o` zmQQxCN}k^@Y67cdh@{)&N`ABn&Jw!?;b5xI;4$nolZ{5lU_ULv=dEyJA}Er@eu z|BuSd*9Sbm9wxB=%7@5=zpV+YaS;k@w&RrLNTw$zaC^xNRgOqbt~jTyeAhic!VTdp z59`&YJ2x|U=N&6sw2{-+KD-cv1SXul{;L>7{WtvjXS1W zui0@rbeGPzue(L5YoC5?oOBUcQd-`1XO9;p%&9v@AEtYDpt-nfI3_I0Kr$lGW9FZ_ zEEvRG7!z4*jvM;z8NFqEH7IAYa{&FVM3g80)nh`xwF0`*N9?oqXkOFZg-ls`PQVYh z1*Y+~-pw@{!`}RyME;O||1%Dlp%ixxE_{*-$n!ve=YWA>V&d(clkHC7n>z3J-;Ce- zARABgO?CQFfXjhF4LNfCtI~%dqf^UZETGS2fkSUIzGd=*dV^-P5|G zQI|0ud#iz3!2rJ-2GN{Dk!yYCX4N$vFB`jpNndyW(^>#6mu~aUkY3})bgiO|&P}Br+)+^^eEuRbFTnYJZ@);2!^NmJ zv1#1Fi|$3!@}d9yx^ilG*3Tjp>oQB7H7ACP3qN{3fBGI77zRRUe_m*kc5*{kMd)pe zFQ-+JYM4c&`c+|#9{7ItHzT-<_q&F$QU#d|QEw2%b2D?#B!2kcKc{R%NH4;`Bhwx$ zCmGi44_eLbqUWis3Z=4cfp<$>DX=|eaimri>RpcQqP2s5VfliIJvqUjx*v@VkoXbJ zU8(%x8VYeP;dU|3^PZLJN#^N z97JyRuYCbq5}FXjw5W&Ic4_+8>C#g(w6hSe<2L96=sXI%YaF{#ACM471g)k`EMQ=m z(+2V?^zZ)v72f~1W_3uc=k+sH)GH`C0$;yg$%&J+2T&2uhf~SG{1U2;06GHr_6=|y z!B6yWkvd*N0PH0(qCg>Dn{_T$+T-DJhP68FI+WVP{8t25JR8tqFZ?0v7`>AU zk1T_6H#9c3hBGF)H;j^BBH=4uRfrrU7J@!KdV2MJL9MmAbR~Ic;M#gFr~*j_TIlGk zE`rkPxO@31#Oo&52=(>WFI~EP2t}1d#T5L=gM6Db6X6Q8QJ6U8n?Xsnyc&Osn%g}H z)BX7sKQQ;dk7w^K|AX_PK)?WnCV!B;&xQBlIzJBe(JFLStoaRNZXk@c|mQzFQ zen(7w@7)YIyEgd>p|tKS;AO2PeQm&3b@vqWDBPpKPbCooyIS49OKPdB_ixl9oNqVv5ae%1^R1%f9LTF1kq712VjU+^fhRPCXWt;WT@z@wYIuxA)3y)B0JWJ1wDuJ9V z>N{WQsYn^F{4F_c7T-{Zxh7|MgZ-LfNU3z5jb4%%3qODo_M2n zsE7@QmN*^N4oOb39={kU#BLb|*H+v3p4Qfiae^e2SQ|{KipaAInLm3wMJuVwCSx*1 zEOwEHfq`%zG&Li&s?w(5MJVK$-*WW_GnC3Lv4;R8O0jW#pA|>4fO- ziW!l{01x%Ws2>GUrpaEh_8@eYMCwG62BS}D zKc*Z0LzzK-0+~LsiBjfKIyAq^!oyAqDN|px;OBTXgR7WOjhG~a2&nCo5{GKwuRcA! zWlNPDK=C5PESmCL$cF#U!#uBRZIYG)ok^20$-r|*H#QyN~Pw_$&UyPAj$PPEhM%?V2dlu%o>-noh zApfpjX3FfdU)!SoDbI;D(FrDD9EF{lvz0!r{6kju{+y^*RIF|}BAKCHe>CK2sm|NF z*JnIbQ~N##PbW|&mhgh*Xv@H8aZAY~9GkhO{fMVi{J;-XbXp#g+*6)!axw2^(9l@D zFgjGymG;cZ4_K=Jd%jZP)S~Ua9s1Aic6e+9PRO|i0$$R*3e|JxNl{Qh0UoAN6!vC- zDyF~I|NSrih4^!tCrN7cCAw8>LCtVc-PFVsmts|hmqyB~a{7O->aNl*tdH zMZwCSZPmWab4AW~!&e!?y#a^N%TmhwuIQ~d!7g60In8kT4Wh{xYE>2ahS|DIc9*1p zxdh@|)nkPgV*=50r`)>fy?tGbZDgZ3>Ti;e;r)6M$EFTo8mZV9q=$lG??2Jb6F-a< zy%jpjJP@SYFp_U(@p3QhfPS9Q=)~nIV19hHxH&f_W3I)jxw(DCX0Y6Jj_U^us+hyF z@-l`k>ywmtm6wjb(+&4%!N?_?uVPkA zW!slS^K*6Ip5E3@UDjQ-bUEBPODDD_Pvr?J%prtlw95==Z9_HSK!qC>4Fn0(ypQ?blyca@sMQ*!Xz<|$wj zCi)63f)0De_iSb(g$usbmM8iqd_%3Qe}tF7vv0|HTRXGfmmg6uhLGwq3;zW?1DTJPf46!(5GA zp(RgVJL_n5iM8PYS7yx@dDh<4xW=6^|F+*#z{ay`ZL6y^^UeGfhp-)2lGNATu;AGb zMaz|c6L=0Ti{1;>4$;Jgax^kN4wyL5)|MVkr77+AwHmL`X%5|)ii$bh)MaS`M$w`# zDg;1NR$E5-2b3wSPQ7lt4*1G;88HI6PG@Nb$Y9iGRHUPZk7NSg*BL8vxizIyrKPY^ zRj(8r!&n>m68yKsS_dqILocY~d0g>4n^s~hqBGVOZg@b$YJqQmU7rQ$t9^%Ta zWxhlOXi8eUOx^9S*S}LA$GESV^K%~%4c+;dqi#i^;&m^F^9)mo%67J$JzJW7u z6+`^Ev36x|=i^`2Sjn93otku2p|{zBn}Tc}EOn=N23nMwvqlNDjAbCV11*sY!YL8T~;JRT5rVvx-6B<+bs0w@YDHRuD?i=qz-KQ5w2kU~;R5yqv_Vq2(j;t@0Am4R&wcYjm z0dp~Qn_u=wdmjtzG7B>mdsIBGO7ml!J72?pA&voOT^DYLaZ>X{xUc*K7!Wh_@b78G z1=H(Zsct(cDd8CG;YzRxNBhgsEXX*bZQNwqA_DutB9uclzx1rPhKsa2h6k2;Sa=Tc z{hDSb!uM#*lw{3C_#)Z)b$6Qj8fc{7KU~LDTl<2)VqO3uBg-|Pp#46jGtxLa; zOZ?F_bYzszR_@jl3_X&qTWee7=?u!B30gH(zP=pKqO%d6?U6sdQOT4$R$gYK`|cKC z?@)mJA)6Xc&FamarlFCQ(T@Q3Og*F&%7bn^7ZJ_#+p5^>1-2T;)&-dL&U8^s26+gu z3(D(M;SP{g!#S|kekXj(L7?|4<#fsd&DyLQyyx>nvtGeCg_9WJ<3D6a2Ww@aq>F|5 z9-}qHq!dw>#t2%SWfIoq@bE#`r`N;oUKF#1vc%)daG|jYsYv%E3Qv5ZORo^C*yyRGElR1)^iV_SdmZOZVu3>~)#z{Qq(?>FWVYhwk zrsQTb1=(S)<=l>v-W1EZLHvu{=YaDr*d3iJHGT6L0G4TR*MSuPK)+xsY=H?N-P{*KO5KL%_nk*`aF zfi!_jU+L4Xv?7>y63_Wv3HFa}pWTQzovk~cRT{*HF(A|tIRFFiNOo({N!zFz;#p&$kh5svZTzzl4xc!3acqff0Soq zg;h65gVs(lzjIHk`eyE(uxZ`VO%lZUL?w!pZTiU}m#4tQEx2fX_~8;5wRmLTh+@7+ z(7UP^_|8xTEk#uALq??*XW?L(xnoal&e8eh!N9R|0ghdH(+VC?&X4IUjk5XBT?UnO z*)?=oex?DlfpFJule|RHle8A*lhwV_=Y3V_cweK`vv3d&TDbWD-_p>vVdjxm1Z7CP zth#OYfBW5n6)ja76vtlil!*}1{*ZkDM)x0c)v1uX%+kl+$#4zWUijNyM=v#*Dc0j> z=Oo4W&e}1L_oR5tBpPsOsD;FYHtZPB57%sYKZ>vZSQxO*m{snm?eZ$0RrsMhFUA&S z6_B(5*JqGRGqpY;>P<}nY-AVN8GwyEc!tZ}6nu%}=T-dPURtK(v?8>r7*mE7`U$NF=l+M1Hv#ap9f9eeV0+vX{^enk_m8 zALh-bt(5#cvan)G=>ghr_{YJj4JFE1u;vev^EEfWv_;92-VzIK9k7yRn_ApNms69W zEDPG_=yLiKzmZOv*1xaxXmoPM7!YI^V?xmJFzA$g-L0 zRKQr5_s-Y^fSVv}occP1A(fxHOXay@r593^&UaYM-L?aA)^(}zv3jWIdDz_`$zr{kJQt~&fpB7F^GM0#m%J@O64ZJ%~RVNch;xN zR*Ze+s%PN{Zp~Xi9Ut0ZRD7oQf}@bBa7T1MN3kFWRVo>WZJV)-GmHH<3yjVBY|)kqx(l78c2X zSBo23x1oxrtwD51a5qDP1HMtODu5Q&W=!NNF6$-Qk92%gt{Las{Xspmw!dReEcjGp z)x+&qir3Wcm7LCV`Tmls6B+lj@fF*&y^wEZ{4&V^SICodZ}`_pLWwp>J+O`uhE#a5 zdhYTKocTo=(`-#b!Gj&AlnOV#;XFyt1>`e+0dCtd(KD4AJ0|I7zn(v2OQzLoxj2md zNKH*^y(Oi%E@;k1(_|BvOMOSpAa;K=iG1R2bxAvLP(IK2=s;^ZeQzryK@D4`xyPWi z7LcVQ)*KowZ#2#PhfH53Dfpg5K&~#$!^|%~oBrCN|GPt_aIf2wix?Z9%BwbWQtM3N{?eaik^a{|T$QZii(&^M5+ z{*0Ff3=_Q&dt@kVaa4H_FU7`xxCr){&R39p-F0^DvoC7p8e0%iBbS8JrpzJX6_jQ<*_ zUiV`Y+OkW|Lki1G0XL#_((8<%>S`GjJw@7Cw80aw$@W+0OUd8b{Vr*_2@88Z&*asd zk`EU<^t1x(EuY*D$A6uJgIrJ(to2EI;YDFb&)+7s}Ew5TAv5SJc0q)17njPle z=jK1Cj~@0ADhYmp^!9$!P{-cEN3JDUp|RiH)>n%>A&GJ3ygrSMDL*f5OT>Xw9X^)9 z$e=MN#qeoH-7|Qkf$d57&;UXJib3c$c-FRMW`XJv9*YT$313kw;j`p(4fRVLyA^tY zHN7`mX!!|8Qk}UzqdmhCG{=`+Ev{9gwqx=bPKNF?IZTv@?Lr0C+GDC2YdRu-&kssm zTeND&5(L0dQwa^XVC4l>3X$@SfL%;*H}8Q!7fUxWEs#q$_E41uF7AYEZ7X&P|MeX8 z;GvdK)_o%RQPES#bAVSpmfM=(bB)qQ2RLki276sPG3NI5#AiS(tgP9kqYl>oJwb|* z2;<%L2F3H~qS=IDB|*ON+Z5>ZX43Y=2XkgGv{8XvaG!Z8|SET z94~jAz+~HRhY$MQ>wOw)s zQLdlN*G+PL-?V-83oE5wv7Io*c3V4SQ5S9aIEMe!`S{D3+vcw5S-O+VZ3pt6$o;k` zU(yoT2C=U3zn5^jdhSIzgZdRFls@M5xIe)h&+oWU8e7u7Wn^x3qum`CfG; z5;U(sDkzuvBxzwKcg5yhvu3sd--C<3n$jyc%68QB+$@2!_D#ywOxER#F zb`!RKQ&}-esU?WqpBP3(Y;PW!w7HzJ`z!EvBZ;#Y+z+c0eMg^i6?njX?i@gAS%3QfN@)n<#G$2!DO%8~9 z=?9{xjW@lCvd^icxfU=VtCwT{mFl4ez%5@~n}lwgNMBLifT3Y{q2gF?LLuLG6G z_h_(THM*kkNa`lXqe}_u4mbaPlbpB47WN8_@#sLOSYOieK7&K9;|(=m~n?Eyb#5 zWkuF#k?!kJq4cQoT{{pRx}?#s;Kf|bB=~bvVY(WRg>wscg_pr-o=jWNt=E5cBGu{vmr(%kUrz=K>OrJ~2W}I(jBn`5f*7p0$+1htUfg;IW*Dto8x9v23aZ)x9R5 zHa@~fq$%7$U-!p+YAEY)CbQ)9bCi&k}1>RNpZ+aDslo;J2reHTl+0aKS?Z4->m7g z3J-lt&)-Or`kT5I8bi}H;a64ViB1{<_USnzp09j!1p#->ZWoT@Aoo8n5MaU3O(c*> zcLem9DQ>`TF#Fss!gX!oG5Mn#Cpw{+L!OO4WGARUWU5j=s(@_5-uq9!iPeA0H<6a6 z4K@SPh6kLAi=B4g*66CZrT}!2$A6W0#z2v=KV+5uAXhiUr(~ZuKx7yEyDf>nk03fC zJ*`uwEy3O1Me~S|yT{RfaAqhPE)#3M>B($xx6<(FM)aaR0M8>rhmK3RQ8i6wlK5|` z#aVjfd`DkzCai#HD?YYzBdhC$Pc+{ed1$wZ;lg&(FN9;A4nbiwDpZjRi90vVo>e}K z@_F&*SCsD!vUTBBPVc~x*}HX>E#db&>5aI_sPMa`Pk>ZgP z(P>49<$X|yZKQ?d{_kIRKP~?tCtcCX`eAve?t^;4x9fCHrW1p_WNbQfUvE);JguUE zzv@pOe_f(*eIC&Ccb3QBhUGafj|u4xCD=hfUZxqPNgdelC=6Nfu^+mnGD#L^+t*H+ zd+$?+J0MO_C{DuNJ&1_v!Gyf&lh-@l0}^d>?;c*L0LYCN;O}wYFRp+(8$h3#NL`i3 zM}wpfPR*d3gyLA8ors;66L=YO`1dW%#o$t%g}fB_%AAM&Ikhn^<}phv9dJ0!fY12~ zTasag`PzFC^xjV+Wtv7Fu?OU`0&hUinb+0HXtl49`Pe@4w*;&WnLB^Ta{9e8dB+ho z6c1+1`BDcw)$W`Q91D>zrILyo8 z`D8XzXJ!TmkD`mfreFwqB;ZG)0Z6HvNS5ESuU(n*wIy~AO}gLeploj)?Rprin6TyR z5=Tsfp1@kw;xjGh(%y&xtZQlMjEOG)A##QJJ!&x2*SXi50j>FxX5Jj8J5hmr>#@Q? z)kDQPhbZQ-=NFl6k#=DuC2Su5k7Swu2c-o%UD_Ua7ijA?ir~{AB16rEol#vCvi~nB zJO6Kg)~Akujy?hePV9!%D&`0b8YJMy^M)>{(EU#@&Hw6abxjpA<3u!5_F<;fy z)&R@4IQ=tvP^(WKnwL6`4tln_BM_3bN|`_JJj;@*6sA-5@(og+G)vD!2H^q z1@&?Vy?hx+ph5r#F5MXc)*d1Fo-4HC?-Y)_5?-B(b9t~#zkxGg7(Xp_J@E@mn4y;6 zk;NW^f@Sa;y8}vW%TH85p2|yJ$Dn+O1-Q$Lapp$-ih00_1k?2|Kg!g_)i z(OWKO9O6IjUevjm>lHP3)&EN5)j-`LgEwk|W{l-0ax3Z_?FyR>sOL|Kls@+Wu6;%? zj(I&kAKD38Bl-_CXnX2Kzz5H9Nx3n0kJo=Bgeb9Xm;yWQWCjt`erO>p=t#!Yv!H3Q z?!$A@`eVe+0B!Vqu=<;|oNqshgS~raGo!0HGkL{NoggBE$GZmCB)d_*p-8@EH}O|| zwE=>vj(x*0b+EY4tqdnMm6#ge4TP4PTX34B+Z$p4_!2?IKn&$Nh>Ah*g*U^ zCM)8~9CD)#6*{0s!mA%e5-yqlo~AVD?$+P_by+{JepK@8>GPNw)n;cs_p_0ckq@Vf zI~WpU$wU~>!2A-X1ZQT|!hjT(#^{CG_B^fN=iL7tpj37yB^W9Gwg!FeK1RscCKzsi zER_%O;OUf^u6bELKOMwRP?0~IO1|Zlc1!QgQ{ab-E8*h?lF zg9U5OUrLz9HEKRzt|->oM`(cndjqT;Jy`$N?vZ%b6M+>QC+4RCUonu_o6tF6btGvr z6r1nBRx7m@2@`;b08c>@+^5=fDl>^Pr=$Q0%DV zUe_X(t6nbx@?|Xm+p6}0^)~JXtOKDQDL=ZlTL|aOC@7Xn-?A$si@hDTt9D)VjCrO! zaL;_CVkeV^qT?9$!{nm9ktLC0$JO?^U+D=6Br>rH%!+#ciBLSB-xSIB>f1+IjI0nJH@-*?I9U zpkMNYEGEu*EC-#zmV|-YwLpCV#=qd*eyeN-m(~sVqowGKy?hz&jp`3pu?mlB0>g^d zT)=@XZ=8A-Y48Bc@;1(;7UOw(+(J~3Bvrb{K=aE4qu4i}!tO(V#oZ6&?!AL@qX;lSL<)sR)5Sm|xQ00lt~ z`)r`ME5#H+md@mRsZX%R1&{rZROwbwa%^bYmRW8M%I@87>)dY1)BH~3zQLeF(dbZ(^i(Hye|dSrk; z+TtJj80W9p&mB~4e;OS2HQ?jfFU`$I<^SuMAb~~OmS04sQe@)Cx8kYDI)aw)LMUAIq|vhfcP2*8R9_Ybe-ToS_Y- z?BS59n1z8PVv~M~tC2mJy`DGQk{zSbzP4T%K8%ujsOiaI%<#Fu+%w`G{U5Sf=a9M* zu2#eJ~G1V=IPgXm`~uzzyRW8LOWq{rS*JGiAQU*xk$c{a+$o ziqm1sMuEc>62%MFf)zkN#{tm2G0 z961d-yT7K0Q9LSi!&S5lri!<`lO9@sN2^D!vY;PKL6=7L=f@Y-FEgj>6wdgnpR%ma z@*hnv4)rh0By1?!oe?oBZ(&AStHDrL(X0zl&GM1&o>}d0rF<7prqCSHK1)%GeP$IX zbX8leb49BKXLlZO2a4V%#E{tfX@Rt{+@kP1BNqt<3khO9G>AAI+% z0u(>FW=#l}kmq%&?OkzNDJ~8@-xrOnNx)#XId&^OOn*5d@Df7Db%7{vXYu7Gq^>4-u+_Jb*EJ;A{EM}+ z$Rja=){8?d;vvzjppcBjq^Pd81U#e_%G>NDGoP=N?Sj@4zE8m~4WZ17x7t#q=uOp5 zJzYtAn|1hp{_Jq?K6lmFdz)qA6t;@*YIp5M%IzxM+zi-;D^K;!UM{<88ZBn73Cp7j z^DMJMXRP56CnHuTXyL%Y(}@SSNah@pZS%)`L(~L4lgm?=p`k{m$HY+ z*_=^AFYXQm_!`Dybj+@hgPf8C`Ohy9omkV~YOfja|14Qe_qh|8NLdVVj9L-hM1t)r!G7 zFK2F5?MClgYo@du^S}6DT)5ZPv_Jc9n78>J_H$SL-m=P}GN`zicYh`5TkNcDb@Hw2 z!ZX<%BQ-m__Zp)8Y4eIVBV+Upi)zV}1|GkDj&{L_4CQvK*868A$~RlDv%` zNybfnwd9;UxK~!+J+dDu(br!uGMzD@c@KnDpFKcmLVKY#v#>|*7shQag*%PR&ZI`= z)9pedLAqL5(v_g*NZ-0RP7 zhT)AQ)hxEvYNnSTy7UZzCQzsH4;kx$W}2DiIZ-)ZRoZ~Nq4^YNrE=CL0q*?|F(mXa zF~m3Z+j^|X_=_ID2fxeeJ<2LIfwf8pMtt{|z>glqQ3cn3f-TzGlHTh~p}^)xTj&#a zr@WTE<`6g)B(~n8mb!j@DE4EZxxrJ7QCQ`P@c%{Idq*|ZhHIZFD2fQuiy*$zn+Sp+ zE%YiNUAodC2Bddl1*w71q<2CKJ#>gtrS~Ac_ufm2v)}JKGv7I9t@&eSzWHM>)(Wt~ z&fe_je(w9aewU?@E{=hZV`v3~sGs2e%KJh)JNkwXamr^c$rC;3>D6k;EVPgD4bg($ zOT6>TC0_SVDclH>99ol9?J?q`MF8W%**kn{FRVwwYOY)xTmwDbOW{QT`d~BxgUHmb z8@$!1)Q85ecVC^C#fly|QFj)6hs0gBzKYvA!#QHk_nprOT8!f~Y+=?M{Yz8?^D6G&TQ!-fPYAtjNJ!o| zDQ<*@W+&v;Pq6##Gp>ldB?tHmMiXnrbE=Vhv3{zo2IEG?ul6yM?2ulHAQu1dPF}vm z!h@MQoWzzj|40&hdfYA?op6Ek63IWDRu#u-c2BMR?4ePkfP(TZzG$_4^NvzJB4Dh5 zewWZmR?8g+78 zFl}Q#-;N^xjqRg5Vk&p+s~f0P$P>%qFaHu5LEG~6&-ELPbq)b$xjUa_7ed5XXMGZP zbH=Rg*e{Cu`N{zu$@nL^O(KM@#a#}s!u(3@>#;qu@`rvNUG6ZvY`lpDK1)Qci92#> z_%D(0o-rQ{iHcWR)``Jeag_bycth?9p($AsqLabu1MJa1YbigIOyXg5A?9#M337ff zJYuU*b_2j89vJK{ri|L$x!P0frS{WtMk_02rRr@*u4!p#SiClJ0P4?G(+TL#pevqe zyxO9r<&VkuJ)fWIq&Az*LjOgqfnX}Kc={!BJXJHhKadw_yaXQ*T498bs7Z^dtIc&@ z(|P-!C$I1SVJ(Th1Qx|7_yv3r8~z5k8oqrenj=M2_S;8M&BXa5ZH@ctr^21ld83ju zJFD>$e3wG4LKik&YQ-rZ%7 z?7NxR08D~lymMRu$KXUU+PuY#)`I%LuC&!9qX8sbcX9(F-9L0$EXEJIvav;;sj{DS zZ#qL{`*g=>ubAy}8?d8(t4%@bbYuFg7*PR$UB(gjkss=S+0g8I(O^JrfdU%ZuUz+J zoPy84W#$8S<~QmcKouvN#H=;$n9EtmOMI52SoS2-Je8n$%156E^JE;B?_|d1)gE|t{9<*aa+PT zPg$s|?6n>KN_j#E0Vnm)W4slF$w z4nT$7zQ+b6jPbtIv@1W`HgFuN6H{7lF;kml#n5P=p|Uy7k2`G2N6*h4Unb0+}xq86#f*bn%7L3L^PJFCO&E>|~|)<+pJ zTC&$x1k!ay2sC#F2)<~l3Kt$RGGxP)av|RRGo4gB=)YvAj|V^3CH$&<3pbgO-q>%a z{U?n;WJsK?SsY_qRXe)p5mWfFcR_zT+DY)i1eu=s350uMhQOLC8Pf9Z?U%qdlZX4= zRI}YUekm^ua$s-Qh#o@FcJ)BO zneM*FrJ>T{&bA)^tm!X=nZpyF_ z)ZJrIqRI3aHY9aAqgyE2e)a~?;t$=iH;*NZZJg5OGXR-2D|ZBPB=*}m2wZv0j}l*E zZ=shzr$){%G1vQpXSMOW==+|y-|x#rHSYwLn3eFvwQ`wf77d9xV9kJHJ}U}=Cs-Yo zMof+fu3=?b({HUUIKKN%EsJ0=czp@ps}h+0`r5R6+|2ATDS@Ot?ow|(afEjy4}Xm; zxj-%SL5J%KeRI10TzL=H=|B2pPQqp+ZAkfI;WcD>u+nwyjK21G3ApY>$kmaW4!M$d z;7|C?PoU(YTTx%{sG(}Z{Ne1cdEDY=e@td;nWp$00HCPFK-39ud+}y%%=g7c6ma2z z@c~f!D(4k)EU13kyj$$<{921QRHY(%U-wti+c#s|fS{7h3muy1l(=COW8N>RlKWnL z7f4Nuc9MA_t`QluJ!vHdZCps!e|;3ySP|Y1jswJw`Q%hkA`$02@kW8_yJr^42kWeK zIq#V93~YlO^l2nCQtPqe3Gg1@v-P|xdJW7`D|61^JhUE zr*&oqeggy9h1i+H&Qqlcbisf&RH^c-D#Xi)+Mhi-xTb8uEU436|1*K@`SE()LJ*Mi z6YFQUd|%rTYw!VCr|-f!O|Nb)RnnnNFK@!S<3aodW+mC&Db z=J>S^A?|-XOHmSlF7knp+&!!==JZ^}YX+m5Ju}xh%{mX~+7DNCjp^U2uu9rGSv@_) z^sdW-D%QjEHQo)&CXWqS2vw~d8>6*n=B_|idwkN_r7T}}$VKoqHw zT3j%)^%iz7r#7V`>Z(UgO=uUF-^yLbJOfFF>}XA%G1XZLHYrHTuP401?yV9$12XN* zjXLHh3UUDqv+E^^F@2-mc&kb}SQa69XzP^Pr{g|FF!azq{8j^5Ux373f6x7`jML#h zDKR>qKGiLC^lb7?%ISi2FBzOYY*85btcg^q&WM?r4)q2p0)40aKDyFaOH3)+M+31u zgQL%6ck_e@t1<_buRH*aX0?us&OQ5Tt0)!p$6C%jGpjW9A=?AXRRBmcBNqUvDrf(~Z(Hdj%?|vw^ZxXOwMV^vB+?X#2bz3T1nrVy$_4bfT{7^YxMj{) zT*wrkrMIT$E9udYgXZns8d~!(5JGIWNf*bs#qYiKSF4#>q+%*E!a`kh;_Bg}3xwdO z@zrb>2ALZgdopExYf)-}+RskagD#q&0g`vU2A*;VOrEb&0zq%r#vq^NgPNi9051BG z4D#cD>_Pj51av;wsg=2+qP^-~SX1-Iw?U-xrh4Y4rrA!MA#|+jZ+THKP~IYu72|9B z%0rVnZ9_-cXqUl&dnU?lQ_iMQQ#(>}Z#HIRKxAmQa`Vm`saP&A`9X(R8#bh2(~-Hm z+Pksl(&*~h7vol0+s>svlFw)Fipj{I@n`g{)g^-FUJL6EK%NZNDfcauXk9xmEZL$d z6$Ua|N}P*>e--2i;m%@vbg#+B*$!bl;^NlJgl&xVbCm7uHYK+HX3gpmYmM-_6#qt) z>inB$S-}#;hnFb_xSlITdq5#s&qdBkBJamG@t;V@dTvtAgyH}_`Whb2#vKmBD zFPKIzfGwQPb+cA_zsKYrEhm(ZM5*gfrU+h{E_`mnk(~$As@ym;3wxSL@C${MTy6k? zQXIpcKNz0$vSxWfQ?DjLoL#x@d-p>S9?+*BEO`o5i__iHe`D(u`~yGhno>M#=A-1WGVYbT&~^4sJV_UfFYj zMr1BDgqulaN!SBKZ&%FGqcG>sJY}?ehx8IN#K(+KQzY5BS=1xZQi5-bf7DB6P`od-kww@JJ zE)m4!wyyWHx$r7;wnS^z@VAw)OR_WEmeaY*fNAPzaU?bH6u)^+4aQsV+t8;6yO^_x z$GXsq0nX@@;fVGmaW~4nAdThsi$8J$xpyXyX_5F6J1`bI@LcDc?;~^DPp1R+xnR>+ ze!Bn<0SAI56Up66o49Meu|12=?r{8Aq}~oB7|VH`@|Wl^$}#b~UCIMGKS2%z8%(0~ zO2`vs-Ds5VxaNy}wOzza;EuaAtPd2VDTHVrFQ0YW$9!X(Jj>4*Yxg(sOOg7ZdRTeF zNMK1pFif%YOhkBlB&eR$ZMcW*Jr)@#*^Zr;cuA#18IPDU@Hi9829P>4YBar{7duDD zlu=Of;`*B;J`*;+58v2LiO(T`2!sMB}iM_G>mLd%okvoIH<<=ts5?u#;}OxF<= z`hxl+^Q{k$zq}IqXS3DO9;mAfSPTnSCcQ*E`@;&_{7V%@sLqDiO#RjOr!o(Cy0(Qs z2m3%%?ER(zYGPtyE_i_0Y{qZphI z{J8g|4wkdC;rPKf<%Yi06CXMrHg-t9~y;{?SKb6UwgXu{=cW3#YF_)!ndKb917x{qhG6P%uVY zLc)pG0`D&&hD9&no0PS)Z-3wTEhi~d;J03OS>Aqh8LIirg=$vCr~RKz%ItHoCV(wM z!rUDm_&5aPd(TX@Eo?=Q@h_2Ahy>2b{zx@kT9eq+WQGVH7!9$0mucOR7Hr+(54=S) z-4gUt70Cf#N;q)n!Z&{<27o*kTK{QYZu$R;J#izm1WeB?diO;xDE47(rxa6_TiOT8 zd^>2H&l39jE_C%S=rW~cnf2ym$BW9Dd38~zhX=R0h&D)kNHM@x`O?T#2#4EdyEp<} zh7$qXpsxq*&{JwaFhC7G5|c@aIOWIwMnYVhd)B0M1Cy9Qdi7=cmWNiMo-!hueW^_+ zumqa^S54l;tHqfV(&C(*qhMo_ya$!X#sq(Hh2Sq&cpiXil9Q9+i(GbcNO%(EC$LLP z*)dE~V<=^zuhZcjdi zs&jVgcrhxya`QI0rzYqLw%fF2;B4(z_^o#hM`;wlbGHcEj>N;rW{0Jn&yN?vBw#Ih?iw-O6d2jFcBeWYHpkZ*rE4Z;GarRD57DM6>%6B;VdNPKq+ct0?xs3-d0bgQG zs!he>TZ3w>)jstpN2@ks$7!6RoSxOAPM9Cd+p4tN%wTGko7DHF%>sYRVbdvsWJ+=f zV{?T_&N>`%N$NBfWh{`mu#WysuiR2I=gO-!$4H@Um?(AhQ1wZ>9~I+cTqHDKRz~9w zD?FqwIM{^26;K@_YMR6M?nW*p9q?}Rm6Ii!PhUY}jS)tDnN~u_0CwWVAb$7HFJHJS zeXz<0^+)q(NV<;a(BcHPO((lBuE_2uA&TS7J#T0<8%#JNrJ1hmh}U5@BrrZIE!AS#XMpd0JqUfH^iXS=kOwA;u>EsgPaAWzN9OnZjd%j2PKHQ{*?C%5cm zbDyNiv6I*uh>Hu)s5~4@I#IyYaFWEGjs%*1#!*fsEh$SILdIuHTzo9q2I`{m%$i_gxkG2dSC&PntEaW7)o zrZv1+j_Eq9OJMusqZpSYhjN_N%%A12!_}x?RN(G*GQZRkYmVsSsgO`_POo|f5Dsjv zC(R7Y_TbypuwUDyl0|29BH0oZzBieqs_@)0}qLd2LxnG{8Zy~?@ae3Bx zaL3%YRchg8S@y(YdV^~itE#yp2`qA2ep_a{A9FYad%+RtIr}^uLld9vg`RzKbkr)={02x=`vERsBZ5>(e`NX!EUPz}#mvin1eGNj0?X=Q4HEJ+?Svsu+ zz=D=Q5!ofCE|vFpesHMNHtV2C(%9O^^?SD?E^KR|7x92JI;BR$LR8nvOo;=ujfm<^ zaJAn%6^kq`1lvbtNKzYhD3>3YS!F_p`nP!V{tYYwQviU2Hyt25O|-ggJTI&NO1X20 zTlveI>WNh25sr#(TZv-1rSK-5ebEn*)(GCb%<|PZ@OrH1wNj!83KPXQ6W2F`z6RJqJ9e12ljr)nfJtu_aDTz7hz;P+0npoNKx45M+h2YjpO_ z3RYkjFpbZ5y;xuT!x3zccsHaQ7DI_AtI5U)6hxW7(g(F|8^C^Iirt)#lQs=aD{|@d z$fSX+h>hwirstQkBRO-l$9RPI!3%TQm3^sk%yjBjfFR0D38m9m{S)2j+LsT$uh4(m z5J9-k-Y?Bpfa|#Yo~3gjVWufSMW{fh$#T|^oSZwwr`)RQuchC!GTJ_Sc{{I^IIqt! zcqDuFtI<_dQ~C&KY_#+ZSW~)S{+OYrQJcvs0i?2JyhnXmL%Y?fnnB%&&730`i#`=x zY7EP%595qH17bX)J!kfK4o2-yklkkLGwg($b0y%RP=bH=U!owga4^>KL3MvUYtlL> zW<5;8WlFS?LU!9n2ceK3f`a%6O|9MsdrSTj@AcT*F-7%ni@P}={m2^G7b3$?vG~aa zF`gJqQ&O3l6hExw&{z;rTI^-`6FZ<&QA9u`7iJzY*=ns zkVU2WI>HYDblwEh(>vGNRyhuz4t(_oDwUn^RJF>HeYNe;_U3^VRlAjR%A3nJmJ zteeHTSuA8igLOvF^%0?oNsz##D|8D>eC8p%-GMPZtqp`>d{OfYTE1jl1Gb=EYW`!k z=fi&R5N;}`T1oIN`^pj-J~%GgbZ>ouhib5eE2_30WObAapFY^Onq(L26Y|E}Am$tK z>oJUsw5Y+W>x`t>b>*TNA*{T;E)I4gmhVtvI@j6!TtRhSJwBT)^R(E|rrP@@x0bR8 zFIQ9f_RhNOU!qqv<1~pKAC8uU`!&(=1ST9ON5kFdSSYjKR&ONy62+$#^Isa;Te+4PFbLX zhgE&in744QwYF7fO7Lw&&7}6dPrD2;&Uw@Fx)fqc=)15}zp2le1^4aFzKs;PtbB!7 z7Dw!P0x0Yg$-6j3+bTw6VBZwF!KDdpnPBNC7G(LHWy{s({hVRE=0Ajlr>RAX4h{r9pq_L-OjaQ5$r!>!%pu&+fvhlXOWjwrY+JO@G6~L2&f6M4mda4I1=|* zYK^%EV5ko8lgxG&!=b&1CaOB43S0SK84DY*ZPnL&TN4nhK=&3?9?T%zUYCV|qSURK zyH8ykeranbFi6K*A|^C+V1?|X2a3hY15`SvC02)hTgouyH+py%At>!8&A@k;+N`#V z`^pf^je*R(&o0Z^TYqef`$b4_FX_oknky{sjWk^0-Wl_xtEw-iZM*rkJ6S<9-C@tJ|@$w@{@=zCR-4(TT=_IayOunAI%pPoz(fX<@@kx?o zb4qYDaEmgm8`UR^_B12O2u`a*IKOWvaVL9Mqw~(D?UH5Lw9{VMRvBiV^H7@1q^n6C zx>E1N0oHh7CAZ_qw+{2!_lh!GIE(RgQPkR!;Nw3B8Sn1&1Rtah0ixxk1^0po*WABE zWfi^~KaOp^=eSogQ~{sxkfm?nY+cHN0}bU5QODOC+xK1_>7S7kl2fKq0)xN{f9PbAgw4d?Ku;CuLL{ zFVpPSC!=(FC7x}jH*depSL@EaidW_pbnIUB0CJj!vd@d+itciABeFL%44ryj_RXCV zYJ|*dBJK(+aJlYN--b%IHIB%R&s)DSn;sZfXZfZkix#3AIip48ZJq1`mAB3i9t{6*!W_-q5gec4^1x=sk5R-qFYHM7faYUT0G~3u zG1H9@6_xwyW|FTHk>(iBCBqXfOMHLNX@K#^Jl*dL#kC$oE1Cs8%++#-dEz{>Z;Nj) zZS!js%}?KpDT`VgOw0RH2h^!K2Jvh%qBeYFl+${q=Ldg@NE(!dJwDa1UPvG&<;Rr; z)I}jI;Y<$;#T1yVbbgqb3qKR?(0jD7n=)QFN3A@)&E&rriShWhAnKzc#yeM}s)8;N z(cojUkEZ^tN@l*~F*`otW5!&NT4Cfdqv`6iF->Ho7-lng1E{S6Fi~{RKPRqgr=*t; z^A!73Yq}IYQEe3iH4_&;%0Yx10Fbg51FZH+d z^-U6jPi~xvPV2bm#hHdR`0V|ji(F~tJxeMStN8(!D$H$w?bjY%u{mo7IZrKHJxfT+ zmIG|Hu)6RhffQ8`<{eZ0K>m!?j=oWN$h=)W%)f+ZQ1;!I*F$2{eYFpDpR61t69H85 zb@;lN*OT0V#^Z6#)M~JZUl<{JmWlMR4vjJ+Wq(qg2h*)LQZ+M-3b`W{Rt#ZX3r%84 z(iZf0RU&nrlqpHa#6N^c1zR0b7=Mp{=pxv?4{R)gQ~HZvz6I>Ybrvy&C#IIzox5lQ6QM2*cWxBThnl`_cIFQd}fc7Q%ynOEmd|h@XbWrBLI(;?x z3GWrI?WJ5^tkLM;w5;Cz;~?+IaRwu^G#zIp<9oyB?>52dZKY=MkS)B|OFObdmk+f~ z<&)zm@*KynpG@R;+i#a>aUT5GA*b47WnCy=lvr0l(&fVEOeB$B@PzANd(dG?2N!VxJv)V--YWY&H6!|M`p#5X52uGY zsI6UMbpJ(h&F#hgo;B@>ayjJt{Kh|&F01?j{Djr>?V4PWYB zoyne!GRE|B@<{)D_K;;ct6^La!UpMRwR+e<%2;YBMu+Y49_u!aG%z!6J)bxy#HOW) z0qIHJ(;cyVhYY_Jh_2l<@u^74rm~G4=XlFY#H(6Bz;zxfLoKVbvSm^d==GKvYgAiV z>w5K$B-f8^PfY)VsZjsUS2t?&F?At{5Xns)C8EnD1--~ zJCcp#L7_S>Wqd#bsuazp&pf1!skv+}Q6AML4U}EKkUg^@@EPvqi{o)6;?wJy*2#Vt zRgkwt^g1Z%taJfo<&5^z-PEGur5}$N6vX7*>(}g1d&->TxDb2S>vqndr1 zE{gmaauYE3@tMUgTWI|8bGje?Y)x@#Xk{8DiiPlN>#wSl{s=xrK7P8OZ`?Ws2Er+T zz0`trN<=`VM)TV-gqDRD7-%YnKJ&!NC~A?&=bJKs{H>%DU5nVo0`^Q7@Wenv}|H~=KRol#56-5|dBs_-i z9}s+?|J1eq(^}!BzPs0t9Oc;n-0L@Uno>Jb!iziY&Lvnp!VF|(5wTbHC{L^fzYf!9 zwZQg^d_Q8TU@_=kBKqWn5`WIK=ITeiqd;-G#f7Z_RBk^cg9@?{yx13U?^#<8+MxbPVO=g2i3QRG5CRNON&aj=1L@!qSrUevQRyM*a0&#g|k z1)r*OVc3UbQ${N@<;QZ5_gvnuoINq*z-#-JaGQ;Gn_;1Ca*ikhFLB}GSgz*!7_Ko` zw!k7GvF;s^*9OT`YB^fB#q0Q|qnFspOj0%EBsZXR6uHYY{5EUT*4z4B@@(6f_(Q45ZI|IeF-5 z9dTy!$>?c~pp~92cu(PRE@_V;=ktAu0n^Zq6uKH~2`;Lx7P^1lf)Zq{=$vAM&XaZC z0{zfIm{+;K+?;Pu0JC&!U?V|+E4fr9JZ8J%XZSN}DZ^=C{JOoMTm7}qYgw2YJ0r9; zARn}>*-()J`8L>&vHx1xU1*t^Tv$5K`9lXlz|7A*g3l`cye40KJ?m{%xT0NUK0$q2 z<9dk%AxXZ8wJ6A+^Y0{}4x~4Wn()K7omVckUl!2JIy1m^x(|qnJodWjJg}Ch_yPJ& z*m<(?H3ocHuxoM8Zq#Q8-%(GYI!PQZc5b>Hwwr%| zY7Df5YJ}LhQnjF)0KneM#QCxx&xpYK;EpzZgV@q&5&X0$!IxS2y=e2(Z!a|6*&GOZ47FV6fr@z2{Z1j9j zqbzx(MHOeNOors?@h~o&v~%sT(rIAV)IAbRFZuEIorl|)bAvyif4b+dfepW9tdQFu8biyg0f!b?$wa**B;mrfmr!6au-{bJ zgA#CoK(yT}asRfF{2GG|9kjy-ZsGtZyX))tga7XBh#o;S%>JEa1#J+fCz|M%cOqv z$tUv3#)<1L$;A3;w045gknto+j(N1}&J)lv2J+{;yL{F8#o-{r<3k-oN}4Or)(>1K zo18D6XLNqm<^H%HQ1KNfG?}1(IT{BriV0V1Ro6G_1Dbeo56Lc>pMzSCTdh=;wGV+> zdNl7;`Y}$5Ai9&vBnY{1X2y3oN_Ei-^|4@HR|IK!zv0{+t}{!W`mQGv|2D-)eH$fu z9+w7TPJ{(P#a$cBhPR^1;%v#IZly79cN&5p?Q|OTamN8wmKNetN2mJr zh3cM&Kbj0gc~kFA+d83oAvEzrVMn7rO}3;+Hk$_| zAl%g^Ci{~j7*$AMude>+XC(gl7UQkA(;tH+O0j5$_H{o=e^qLr74H|nhodDQdy?2? zZx->ZaQpa-NKVOSvzcr_V_G@gJ!>_tgw!P*aG9zLHKQ56@0YK*?hf!dnPHEg8M1Bc z7}$<_;T5bzu)F)sROD3;A}#?9K)Ly4%#_(}W`mK(OGfr@(Em(MqF&rLGap|WNK9vK zWV-@CX9;F~e#HzyIhkpQRWSrfP4Dh0Spi_Uy{)vte zPt=n)7EmIjmo3pbEuxnc5ACtQ?+n8y+bZG*5pH6;8Ih|z*B&XAf}x?OmvvhA^PEX> zHCJJ{V=e2aQGP{b412F+JYAzRT*`3IK3Y4?5Qj~AX-|MlblJ>B7^a{C zLMqL(jhq%Hmz8rFxMUa1Wd0=5Vkw*E_pdO_S#yqS+RSCcEX2xfR?S6CUa(o$vHT^< zn{|zW1uKL%kq6U{qap)-Ca<{Zv9TH7s;9V? z+>v;u5J=AW@3I75UU247S+Qs4ee=GDkQCk3?m-H(`fKvcwvQ4)F3YaWzP*By6GMNp ztg}Pqau3j_Y@ta11Z1;O;)vPLPfx-WilcuTQyn&GJaCG0b^-ah&#<2>?_8x36q=@q z`j2iSABE)(1wAHz{f?$!UFMb_Dm2s!&HQrwU>}$2!)+rW*p0nAOxfXiV3tYG!TxG& zd3Wr2up(eaGhYiquBZtJE?0(M>=u7iuIhL;6aCEF<1FjGRC$Q_2PNCe@lmJA1f$6A zp~{|hl=Q7-&8E~aPYc83vMf>?^t_ZW-+Z1w9!!jN?Or(P1H`7keE$+H^MNQ$!Bv-| zW4h>yW{Tr=6U(VsKSqv4B8eS(1{KA9#e5!AGpVs`_Alo zvcx#Sw?0gk^G{BOQsQ=SQ|RR|DIgtk-=3D4h^VlVAq!!bGAjgqBAQHh^q*MxWS{y9 zBar9F;VR55a(75UMf=WUN*xTK>R{P{Z~9Zg|17WjP^tVG92C)61xap5^DZ_8>2-=( zK-L@J8|!cSzXrBMJaAXPKFzv&K;Sg(d4II!?W5(r@;=zPkSHVlF87vE>my(14b_l< zzSHAl$^w=O3=^OuxA212`{h~pbxlDIMT+OSd*IlIg*gOc?irv~VwK@b^ zlH1S!62Z}UU=*%Jw+=)_{jXP?e4#(t{-jK_X5$eXSHQ$^6*6d0ZqYqC`ccaNKO`&v zr*!3i+t+YMJ>PzJ9y^)uMUHu+&iz_krTqqYo#5G(8SIOg3%z}d=i zDW|@f5p1aZY?GiWy}i?C$#61-Lob42-AB)lo?@mCRi5KiKL>T&nEFsFvnUrlRvq3z zi0P^C9+b`{zY0%FAYQj>i_=bF_}+P*Eiu$v2G|o>&X8MuNptHh=TOXs7Vj}OZMJ83 zhEQfw2ez%lw{yckX2!3Q!Flx@+q-_npFSz>DKKqvQF?~f8ez>dl(+GDYq6V8U9{S@ zQVv)`kBdEu?paFu(Qg|f!0mIu=91mW*CvB2TA3VCS^9h2$piM1F589v16l+temUM4 zoXa^|AYS*!xM*%{TXJG+`X45m_&c+#`1_Rb;`12)vYfyKcnPUJaHs$1Sr(__i3Vcf zf5n^?m%9d2#hWXBKtxq_M}x>}GqhSNrVXv-Ctng7#Qv_z@_gGn`^@g6cqVk=5liuz{8~hv^tRHyuuchZEBeyR9+qnbfNmu#^)$6a4Zz4Ycp+)_RtJH7j^Np_b`+uR|& zb$lay{+Po@IYF%#F2($D>qWb)dLnf|*Q!yq7xM-5xpQ=h4jgkfd0gpy7rx91=bA;% z7nG{MciE-Ot4g2pNK(kkEN`(GD}eh(!UWuly2yA*{MQT8?H4#EG8eV@j@=D59%>$P zWlZx&g(&wZHfVp4FVZBE=o$ z%%h0Wa^^3Qg{oc+?_7TQ95flFZ1-m8LEi%g3ibrwmzzO53cNYV9<kVea#r)b-s{vwwjJS%&=!6bxNDZFsD6^p z@21y7Et{%+h9ONJNMOs60_@_$55sExQwx#pwpx+rqmeWkC%G`d3yI!13W)8OG~LR`hVInqcs?ev@ac@<59?|Rt`}A zCvnbn;il|QH<+`!z+S%fsQg3WZH*JH=zeA2v5qym?jgp_ZVYlP(l6I3yX~niN~wkq z>RradK5T?)RfiW;koVt_qd6io6Rh@Lsqv8Mpoi|chTNdaN(dqGLaO&*tfUeGA z$E91POTfFB-b$Pp8iL7NOMDm(k@FO8v%*wt-zV>4w&4$NeYN zO26XAv@u%S5>2Ke{&9v6XH;S_%d@);+M(5yipGUGAM}mhN${2#$wT;cZZ@fmR4$fy zi^&N07+9Ayd|dP&r%zJ%dL+lU)1JLu0CzGK+~(w@&zjFKF7b0t(*5XOhTvH#PC+Rf zra4(;47_L97fyn5Pk|~R1O+|?*54L$L-EEoT zm+__%?CJ7_pdG?p@7zR=lo!CWI`Wx(5pQX4u7KR50_5~`ij-Ipi(}$pF$LA_+dA_4 zhEid>c~Lnjz8V$3Zgsv!jpx*O*QK}#DDG>#Tp7ktBkzc&8okW_j?mT+Eb&kEG}H{Z ze46=Qpx-TR@3BD=jVKS3wV$>dN)l6?XS%MVXs1UZ-7|Nqf5G8XKF=USp=HfxzIv_+ z`&)oeHSyff7do-E51o%8%O_;otPim^mTL7xcrPL*!`lq6EJh*z&og{8Of0xoHcwCf z%;yxo(e#j@?mgeT%i?D;2xZRL=FOL@7+S56uAQ5rtI8DhgNsLLJ9>29^^TJ!G3%+4 zbC+1e>c8Lb?0sO6SNLJmzo;4B;TRkY!3K~(}D@`S4#P^y!3d4k0U^Wsi%XH4J^F2pn>l{SbU&$KxE zENK0zYa_qGKPowoA&G+@wbJru}V|k|AWt17x$eqcC{Fec0?sfKc`?`0F z>aX(aVE75{s|hB7aseA5y7p$}IYu()wONX} z%vrWun6Kxq3Yq(6_pMNrot=i@sc?;>GOBKE(;}y^ zpveA+KRLkz$6biy>!9g&djPD?q1j!0xq8&20)-P_=W;pPG=1|DIDm;Ih~I}+UE1w; zY|}R%Y}Q2~cVos&rhls8=1}^@VkmQo2kY4`mpBlSu5bWHj9XVFC_g+F3}TAhE?k%@ zL91S+oFy-VuIN!#*Czl2Tuw~ScwA7rexu-CxU)&z0ANy1+Bmzq zZz$QkS7O?!SHAZU#;@g5IT*;d(thCwjO20wJD{K!!v)fL>q!qyhlKCN{q9*~*2BTB z`5naur{UTeIBCBewq(nqZ42WxIxW=cf!i`Lsy{@~<_?CUepXPfFBl!xPyu)q7BQ zZB-2~+!H^Z?wvM^{>=D} zd=*brocYJY*+Im_bSrUTPHiIJwVRQSGdi<$>$eeRMqR)hW!mGML1(oc4*P=~6@O>eZu^42jzXr`k>czLzZ5=V! zM^6YZJyDjs#A$k{3uUaT&ZQR}w(d$WX<3If)U)u(9f6fVDD4+FG4At6NdU}^{x8wR z&r&9@^f$9X8C_uTR&~gOwhw3{ZaNuEY}vNk4Id~ikLm!e+{)1zVt}ohMqH!HX`%#t z)r4=Gd+~*KUb!}tZf^*8{E66R+n+2PM2^CiCRO~hx%2XYSs`HLyy@KJl(+4zduOj) z@QKwq0jh_Cn5z%yT{GQ91B1UBVl5Vgmh=1#-J$MHF79~`t{6vPY-pXH zjxG@xlqCAdgOd!7AJYn`#6_-YzlNXx8&LO2{K8D<2PRd!-h%>`Yc^lM*!#{fD!5b? zqye94JL+AAsC5jaUA;K^zQUHog;dQkf5KOW^v?Ql^VVw+xlwR7#ObZ~EVwZ_{xpoc z??n(1ZORUZxwD6?#&aA{Lw`E19O%9G;e z>0O(?ZwNuNq=HP?6{G#3Gw21PWM)Qwau+jtQw=~;g&xznFT6QCPi0Ghh`L1rK;Wsc z>ooUZl=D91p#~%Tq2ugnw8STSkQ`rTdZ86;jzdzbawG7ENX4}$Ta-#=usvb#&2~y? zvF0&^AduW_mPZlydqHi$Vd3(NUcIbkCSp#RX-D{DHQ=Z%Ij_Bbl+K;XIZHj~B{C#Z z9k{#h3^dyPzP{;8 zNC*ZX+e$)Qu`E>4<$}{6`J(<3MZQMI6?E9Tf8dPOmd&Ejl7pLRKF)j%)0?o{&6)i^ zx!G)R!kK3>yg6uzcZQ}yQ#3a&XlB6EgW1BG_ZXSve;x2Pmngf1Kjk9BZ4`A=wM3P~CP&#Zi)^U*NB2K$zt+$o7<`z?2&=67?gqNX8L$s{YxTKgA;=2yPXj0a#PlG}$Pf zjY)%Z3xUsd>p@y|Fn7Kq;_Io`j?2JVEIPZisbps@t)0GRQhx)lm0w&7TC^xOlVLY+ z`UiDi8|-_1<%a%0hHrr7STg65p@WnjNYR6-i1jBqIaT4??fFn zlIXq6AbKZyXE5ge_WeBHyUz2x>wM>Y=Y7vv=MQU`y{&7?-q*hNua2PBKi-VDcx$vk zpE!67mPhVacM@?7iFsof5u$zUmFfaN^itmUfx}T#R*k7g94`%}=m7ehg5`P`TyjR~ z494I241r1Oh!06-W!(utpS?R?`hqc-=j-{oLr9fSf4!pR7SP5fFA<*_pIpQ*0-HH& zaUSp_5s0c$CRWeKMNu^BxO&y>0Pk3GX=Ub$dr4fV2yM zuj*D7A1}qX1h0{xw%#0BT*H(fXH4ibYZnj%Om1bhcaDx7x2PR;8>Gzd*VeWKvjQSO zIre3sYg}TII;Q8xgo}%FoV3$=d2auC71fDJYLK3Z{&Jlnh1K`;%AssSqt3LUrf)5c zA(G$Xwpn*w@y-k9maarT**HU0W&D~t2kNE{J4$E!TGs~We&@C(8aZ3v+~3Ny@>)|> z71}hMRp^SK#Rq?2!!$k#tvaX-Q}Ptp_7bDkWnQ?w4SGD39RSrwe~F2%+rERgwpW9T z7{>fW+120`q=-`HzN+jlCB+|?Lt7@`EoG9obO-tyx=M2}W6xt0I{-mL+(w*y{PJUZpst@1%l zfWbldk5l=h@!5_-HdtTJM&%^gehbE{#IE3vgu&LDp`Rt@qN@y@e4-COSpAb}AK^tC zjw94G9=MQ2SZ;>kps#VRtXw-F$-j<6eJ9=NQHa>D_H5KF)O1gbb8xtZqu4y__FCB! ztvEgpZeFZa1^MWl$7KS1nkgkp1SKW$@f9HF1l zieB$aZuylnOcfJ?OTj}I74F}&mfc3^xEW6im$NcV!>?2Lm=mce`tps97Z~5nB$mTB z{52O)Nt$Q4qSMn=uCUESA>}U2_4-AzkzEc8^0Sx=VJ~bmBK}if9?<}L=QJvYgN%MR zRTM97aef{+Y)*q3IyRf4HXQ6d95PciFMwkZ{F7zS02TEXu<)Pq;J&*uHv)7dhG)f! zs}2FL5MyNvtPc&K?`W?!HZYBHT~($Zn@)G}{nM)%UXxDXfvetRSVvJyR!mp&oI#dW~7=-9#fUPu+w$@3tGGr6;~Zepm9nGl=6zNAyIahx~Y~) zQpP&8Q|zZmq04(Ams5jTzJ-tvWd!Chs!~-ISnt+9fUz|vPlLja zlMk#$D3?_E&(PGvjZ}^Kb^`pfj>TBV46?znl{fD8Rx^!6f9i{N1Vt6e-~80Qu{oUXaFJ#;G}MXEXJQ?2&sJM`fpGzMYl<0RLNF;)Eq&WYcknI}NKwz!MWM#}kz&he&?nMu$gpQPj?K{+UJaVd;FW3p`U+fbxuVTYJoP(KrdX+0w)74l757Vu0XmKj>TE_J(W zLY+L73i05*wxOzE#V3oc_|b2Eo8w`{nFtuaNhqvsaDVFQ3I!sL z@f!UuYmZ08i~T$+YO$Q<1cS9f)(q>%!q|&TCi8l)5KHO|WKRcd9Cg!B{)#7f-C;C0yFs8kx7z?)4v!m|Jym*|2uOCCA~r{z7-x*S^usSxAN1*?x`z5PDIhi z?hJ=(8&rG_>9+P(+x<)XR3^quq#1Ct+1n~%!3`(IW(;ew3BxG5@Xai^A%AhA#s2=y zTn3-ma`MQ%FX?f3mAX^euyg9%?teO0Trb6gJp{BVLMy_J=t=shtVlAS$iNLp3 z+2gk*NLF7|_xPHGWb2xRlLT)c% z35@K+T9-tMc|&+23Sb;7o(TbWf%d+*RrjLe!_;p5DBGp-jcS6nRlyFAS2=x_O8_M` ztJpUh{Z+5z($Q|F+`+=8me?(3Hr0d$AG~p-=FYTxNb92bVFBKGdEySoBa>e?k?M!3 zt7YOkQ5{Jpa)Z#7Bg>gopxbVErgASzG1jGF_MH_tkaQ7-=};_MP@a_36{2_wNUxl~ zlA*3D(lke?5F{;`-~i$WbMGfA9s={={lG4dQ2X}>;HkhF44l(w#Rdye!LhFCM)dLV z^y$OslTDa%U~0|%Zdiv`qzqEv2UyvGOg%GoU9a3|A&u8WU(q|nXNcu)=83#+-50~5 zOT*8TTLz{q*k9_bL@B2@qJER*RD%^TYiWi9-xe=@ju>esE3~7Vl^!P1%cU6mc9jKHq9= zMb4Xjkm=)bVw1D1T-dHk;(1EtvNDG@zncx(8d~r^9EZ71xt`RJ(Ptz9*Z8} zE_4j{+wImZ@1Wdrfp=3JA9%&QPt)5d85->kN4C2edQY}dMrH`-s)E)i%a9VL*z!Pm zXxN$|L}%&vQ0GOg^T>YS-ix!zl;XqAs^Rr91)VaUJ^(fo^gGHAHcsSCzra_joS&ap zOt1;IphN}=h7(JXQno>&BU_WVMI36{Fa%z9+ND*)ReuAoqwr}ys|W)KuFImjg>HTd z$E%ZXR#N!oX{jvM6tCobh$d>g0_Y5R8sopP$q?^c75pJ>zAPe86WlDllN>0KNXTW^ zY0rhBq~#7g?ujdAh`6EIKZvO9>ITCaWuB%=nk$9a#A)bkG&H3|L2w=W%D9CzvPFjh ziBAJ8g_2d%fahT$_n5p3-#}iDc)mWX>);}ZN>*fd`=oh9_p$8O*W2Tb^9#x%3pR3t zn%U+U-}xNf--r@TXQO%@*q0q>W*WO((#103^^}c~ib%@O^xp&aDB_pBfk7#3tzPYQ z4V4Tp1J|k*?7|^Uth8ylH@0>FT3CmMtq_)1u^(0#I>A<`p&_MK;&}0P7a?xuj$dBb z`!(Q9l9GL!Uyx=HlO1y$*oT1N!C4k`M z)UkanYu)TBQtX6&fxEy8XTd7EWV1m zm@zoONZTrKwnQrcp(_rH-=T`RnwsBZ{tJsPy}S;ksXl|j&XzYYC4|&~QTH+VsVzI6 ze|U@eBvtt;U^JXu7k&0i3c9ZbWw{v0fKCwY01FKvp&S%Ak$SYNI|A#2p8yR zwIj*YE(_T_RYkx3ed@9qh^sr!=mMNB29V#6b>7MpetmfjIW^!Yw;t|a7 z5y8a+;61)T-0jF88>WZibDXk@C0eNhovpw(d5BEi{!&vP25x?1q8{3<>cNthjJ*`iog#N>A|>PO6Xz$xSGg z;4*%?iL=*6n6~9E-#KzCYjkieUSIu%#d*hqZRM^wR;mPBeAP%iCo3*U)Pi1lUTIje zX@J!7^%b$XuFIjyO3COP`3oyOuJ}{z`cT#&++N~kB8`6}B7-n-IIj? zQ|54P0ASh8uPpiaP9rWgBe@)j3rs{jnkS$QKm#tbI=8PD;3;Bl+|L?koX5vD?Hdhe& z0_a%@v9x`e6I@K@>izwb)~B*I(?zr{`kp`ciw%ecDg6Vj@yNtRwVMKM#1w6kA;gZW zxsFzAIR4Vb?MOE-UWL4$GR<|A#w;?mAil1-L`9(wM*?6SToKIqieOKC zX-fnjqI=j?r0D6~yIfbviR@QDFC~_Uj+7m9PRHz0p#LP#Imy3_^`di9c!tS6?%D84 zz{w*nv?N=~)l+>JU_<3}NGCU{Pv)KbtHv&lzPslc+n1zNa!|T@@k?z)u+^~g$R<9?+< z$^grNXbVaPpE|>S=1y$Lsx`=~^T)JXw$e*&djP1fiY}07*hsOiT3XI&4eY)Wqv*bU z*J#%~dhmm=;`#Ts(1HLxGQ)L)R!U&W?2>q3 znCepzuaP4KI5-AF-#PwtG7nI8GDNW8DG-Yx4Gpl_s;t<$aq2V z*4ycZR$F_qh|_ua*T3c8w$_NE{AW13W(4LG0gYj!^HL%9m2ODJUarRXm}##3Fg$P{ z^Go$jElD}EeZ*}<4!7_IGU=izY*FDvVZXAUKo;N`3&UZF-|aL}+b-(ADpbu7O2acg zgoSrVM{He=gZ!4t`Awae0q4WS3Cc~9hAi?2-gkB+7x~qy!=_i`K=zpv(F0FA`l+mp zNGC3fw9$I}Sn$UgZrHE770cZJMeoCC3i+IPA*()oO2%-ydo$%e9NYR`1EUtA+^(9PBC~Otw1U8e2Mp zU)$|AiUS>$uMkNCa2KYB1p}_?Gts%dm9Ss>z#44~0b2$zNWyQIx>P@7v$;!|FuO)6 zc=MAL&pvUwiPm^t#XfuuN)?eFjD`<}Eh0%wsMNW? zy%x=#WpZkLULhlGAiQ|{kJ?;?W&LlBpXFUFd>&im7uDV?$m~gNTA|(d!vDDQov8&q zBD|}66Zc4x&Jho_Z8n*(OD!2Byr&ZQa8gTn=GbTvXBbXV@f@7{xTWyY>Xuuht&D2f z@(|-ZjUJo{VnuRB!>sLm0_ZV@lI)#KFYfH=eU18`@i%lRVAku^9zVT#=E{>NG5zI1 z(6SRsiRY!piFK}R;j7+VBUjej&WOLTE+*|-szyZ^8^Nieqq_AHrmyAl>k{oVO~vr_5vMfVp1uohid~c34f`Y){iKaZyh` z24aZxHpArh_epe=ua{~7(iz=S1-KAQ1?iVj5HI`_VlFFMkf)Luh7-OTX~-w0{f)Mv z4v{E(Rg|(g+eugJwss)BaFEDT1vF#`tY8YE4kH23W^B(6?oGX=()gwqs>YHe={BNvZk`4LFUfUyo8YS((l?_5QQh}O+VC$fHj-ou&LI$Gl8 zF)nMr4vu}m)s*p|%!}hTbFWR06kTsOoCq4ig6G!tbtDU9q0-($W5YOxsR?c z)hSJEo77^TtrK5z6O2&RD-rYkbX}v&^8 z;wk?aC%>cGfoK;ielnv(XVOL-Jq#lT+{0y;(00(Do50viXV@liJx^jB^bZoQvMFy9 z+1ie4q-Q6ulk*IgRVX z()P&!fA-@13rnS~=~2?K@-Q{%l{i{e)vIRdw_-%Yt-~w4!8rFq3}JzAs(*Nd2*sBJ zzJoj|M(De~HFp@dkGjGwShd2O7SV85l9?ttiO!wGWNn%R_4t@p8W_Mop-P&#| zJ(}Y|=WdtIcc^q-4qMbA4h{=1%qYR4d(gzK(c|RScI`M!pd(*D&6T5vA!u%it^wSl z;*Lp>NrW-L49Yxec6Heli|yc#x?!6oiTa(`sNuL46G~D0)&fo_0V@2M|1fsVKm`oEn2O zPCA-u`e--id2la}xM6WWj*@nu0`=qTjK%p4l{|vBUT*ca)Z7sCzVtTa6s3vZ}(i%D2h-6)H%9%EB}%t2%GJrGQLkEKy9#!Iyqt zV7Z}pSf;ClXLaaF9?`0U_Hd+OSgQ8yGoO!=1Ply+7d)ghR|zs*<30+cUWxS~wK-BX z_DN3LsJTi1MNr_YT0uT7tm~MfKa~yDyinFw-TLUxUbe(2UV%_aI zI_3h=*w#FN6wz=DM=`x6-R`?6cPjW}5YPaptIV-+<)DvSdEoHKP~KDS3hbC5#kc0O zz6jvV%5W!G@sB;quusmLy&kOBF&97ZZZw8lYdYUvim-aof<+$Zf4}?-YdAJw1T;4L zt|YzC<=VmhunT+`ounQ%`8zdrxA)Xc=+`U0H5`PuJB)4_E^#rLqQ@uPA14dpK&W z5SjLmN=cf=$r+IoJit;VivjLk{`7ps`PXbwBgG!mYg(tyy%E^CSoQM%a?@90hJP5T z0`UZv{%NsNeEx8Rws9u0`@gF-pGKH0aj$q0cNB>4h`Q1OdNx)qA z|AqB$>{xr2VTWvLP50k5t?udnCCk~r^HLqH?TP?Z7n|`RGc zhJR%wG;`IOvf;^GoLA!qA~FpM6lD;M(dqBG^^+&6&Ki2^q-xFw3{%gO?O!&38J%gh zBNgtnZDe5l7``nxIcp;4%yLErWul4*^18W+oM9ph7Ua%qwW@DA*CGPahFBY>Jqm=Y zp6J@#2yv}$rSU$Qu|Z6v925s*es_5ZYcZTemr0{8%3$?5(oWS|QFo~?lY<^q82vW3 zc@cRa_2hNu7Pz;p?38^jPU=&5L$0t5;HuudZRMK0h?=f!E&%Kff${Qcr}VbJ3=Hhwkr*Shs3{+fyK1t7F3CiU0O zc*(p^uYYAi$jy}FE}an*8N)Gu5JUq5%C<9DmhqvnU9f4*!LJa$i{?DiO6m+)fa!jk zkrEfaT>@|{ok5@G@L{i41S5A2zzy{ldxI;8s}k2 z$+m%)=3y^S<8{~!$ZMvwESZOMgw}NE#&R&*_q*)?n4@zgNuJk(avxAZNVTxp*J zEjw4bT=wOs54hC`aF_!}-T;ZR$s3HHprHLIvo_rknLpL`g*RS3Uv(OCyd(U3>G6&a zZnTw)^j>YK!U5k}WNo2huz%&i@k=HpReO#Et@wcgUMBifk0IsX)wg zq(8kdQ_Q1e^RG`MgV;UIWhm|2$%v~|xb%OYo;JM#l-+ty?4jrym3dfQe6|d~_vgM` zKgiYC(J3%Lsh|X)0xcvIB0`=h7#O?Llqguc0V*<9Bw=S&uFgr!?eCN~H#RYnOc-); z@{P@MvK^gfybyE{sCN_vZr*MO%d&zRi73=A{b?($o>^zYckKkj{gNf@Xl!$Y8pGjv6#{!yr=%$yY+l$xk)aXAi>aN;hV7|7;U_y3Pe31V&N%r;P<#RYf(mahly; zyrJOFby>mdN=jR9>XdaiPtZwz-%bn{k-F8$z=8k>Mc^w^(MuHBUA)U*nuhXWYH2^} z0O^>TbGsgkDz&^P4Ii%KtrW*2N6ak(gl7i!P_(>8{6lPror0NTk@9xY+E=H-D)3=( zCPtz2GB#eaNGwx^du~Zk$q~7~^K0;?MjXW1rlv3oQ|yls_CP33>a?7r8W6<2LcDY&dcfTn_K_+qc%vqhLO}6Xx`##TiP; z32Zj^m44pbagSI*iU!z%b=u#nUM{~_k}LgdYkXyx-?3XF#ie&RKurrQ8)x|5lKf?~YyX#Ti# zPSP!H%4uGh_yS3@W0|yO`SJ?^HW`JU4&;USpQZCg75AX|p`K+j8I*}kLHbicRyQ*e z*#L}Ub9b8OXO_(@1e4a<+?gNLJ|2MB)`tR zjxH`LJEDq@9?b2(+h>QAX*pHTpgV`m9X{t+5+(^7ZKUkl*IZhwnVcSUv=0;3+atax z&S~hpay!imInv=VwV}Nop>K69JAwqk5|Z5V4F|(5B!=#`9JlvWzxh^fo^pP4+Ish4 zC9wvT@w?O}_~qwl_pescjhS7&{5cu*g1&maM(2s@H<)Uv6vLyZU=3v~oR1nm9|coJ z3q3d4cek4uOsxL%`|r!ZqV#Px*FoSfrAcirmM|?O-Pq|i!Y|zOvSVGcE>KF|9*CJ! z9R3lg`evuhq5e=_S=r=r#EX`=LQ;i=qVaFTgFyxRLESw`6#U_Qk5-6bljYrsK=TWx zdq3{*%e?aFxgbX2pG$}oG<8MFV@5tFs!Ke0zVI;iB_J|za40>LrMY?sYcJGtwn=5d z)j1Mit;HhraLsbQkXJ=yJ-aZSF}GYG^NBZPNcb@V(T`(4KdBQ*1WLOX#ZXXFRK~1f zTnjg8g<#xdy%#cQ2wotV%C5NI)B)OcM!G8`=0P3iObpX z`@~ZZ$v*-yrKkrD+gqV)H6A8Gz8>->m`{`aO~*n9>~C%CW9^?_5Gh8#$azj`ZAK#J z8Koeez$m*r3hPaGE12)c4wcj7myHg&cu=2I)2ebLm|RPw*JIcStQ1(zHTwizBD!iy zOP}#45{UX~Dg7QhM2ML1^fs{Y^vkinAZNNJMd?I-vm!2GI>oPuUYJU%epUWPCR;3>9Vw>A=QrNu3B&WT>D4gx`s$}>b~W-B*2eCaT<>1 zk@0A7?hTld7k{Q-6%}o?KA_>W-J*EQ{eUJF0x*t2vTs!j6e`&o2`j`3azgeZc-(uTzBMzFbYga5a0Mbui zmgNsek2tV=D3Q{RbW7t%Ok`jyyRA<=J$#4e`j?`-c?g|yDBIr-7L&l^nYUpxaxF2_ ziV4*a!l=X`XpKw+xyH1zy7Mp9X>YNt+SL}IPUD^7FJn71xQBZx zn<9?=xnIO!U9TzHoa!tW?B#*po%vnmlX}X^s|MjF6%j12S$r!UoEf7SAlymTJPm|B zZo*E5lJsJA1$uBt*HKDX03JA@sT{08K-*U&>tS`j|8AG0tKcC`kccr$N23=3Q%g9L zxf-qFOoy@;)7_nJ+BF5WPUh8xi7D`1J>*h_q<03m&}|2oLx693pjgGV&AEmx9w&=C zl(J-8lN@W{MY*RrhNm-=Yju@B0)A%0S?a4P8h8@CmzDjA2QX+<=+LQs`XPU5#&KAm z)CSHyt&Xi{??h}Sc-(HwCNv2uNiXO;%i?-joR)M)QWRAs|Fpd7*$74*HXOXCKJLh} z?BU`-ez_zLR@)8h_uP56A)Q^i^B=IAsN6&lXa(LFof!UymEp(?*fj5nq4{_ft1I z(p`I?>O6(Dx`cOX7wP?{vXgD`yVc$i`Hl`NS?d@R11~G<*^YjRe%f0AW{pvsSN#~i z5DFhuZ1YC**bIz21t(^B`mP8$;+=_TUYSlf%8-37fgS$%5I0t&U2~bikr;+78~A<* zoP$-_e_@3=(!ckhwK?KVXls#fVZDZKotPw7u9Z8$tw;m5apwlOHjOZokeS&83r7Fx+$o`8h8fw9D=Yl#dx-#-wj;P*x zE8HQv`V-i(h724JT8HL^1r+Nyl7KZj;~7Ge@z+iBw`$acAo!W!S7B6uha8l$?jJcP=R3ROi_M$6|!A=r?|>j!Evg zU*(3VaQ#mACOXeII2OZf$!Jt*mFI|j;aQDvtrz&}@Gyk*ry>?K^T1I18@8nr_rqV3 zZDK2UC=H)BC;q+upwaB>cld)QtwBzmKU79QCdgB`&#^oi@Y-Du=TRqPTlTh|hPO28 zDdmQ9a(E+~bERkqC%8(tzU@Q`L)dq}!3MPv2a1=(q_B^LR@W?uU~1Tw_dg%wA+my! z^`*?ypSg!0?v8SK13K4|EokblA5E7{xv4!x-1Suq6#L523`h~HJH9LvSS+Uds5 zYVcvEHQ7h~Zpx8=L%d>L=eQl0#w_Bu=e*O{F4vCp=P30|zmfNof~t$j+k!(D#ob+p z20yomu2mU!M)E5d?q4bg z)NOV?gBesiJJGw0|D4qBK>ZRhUGl+vU!ynXd5gGG8!D1nEJtMg(|0vyEB;Q!4HY>ab|pJ``XI&q^n;*t@F6+^^Ewe&7l$J!waYmz7jNaC zVmh}39S$B)lkLoz&Kc!)aG7@+F(h3RI_j*gy+Y_4C-jmJjw^J&-cICkp4XW=MBEX{ z>rvM$qfCczz@gCZwbRc8z4#0!mq3REgmF8$qhU4W=*p+a&G&WQLGD|yaP&RqN<-WI z+POcaiJ-KtFSOt{853bZ*O=}gF_q}$XT{~LEQ~QsdAp~lDOGuXw`jhYuL=q~IYS0{ z-7_{`7J$J`xqaS_F^`R7fen|p&Z?=0Ad^E*t1&>%F0_fZ%8N_GT!k@D+o5FK*d z4=U1VZAR?J%QDsk2r%F_@Q??w5yK=(9?waLFWUtMO1m}L5cOZ;=58B|X9AHSbN6Gu z9Iy}2f^tacq&jstN{9j!OMoB)jJ4>H(`z%1?0Ei{6z@+1qVJZwq5b^AJXF6kjC;C& z9Q=i)gu@2hWB`mui3uBmheWoU>T^~IWeYF(D5Xa;%nSa2Pa>dYnT8LShZ>}jDz)ov zBi~Wzmfw1`7sVNw)s-yk`0cW)LOlwct+P#WbJM5^ln zb^T%%qlKTeIhf*(N8#6`-Q&QxS7-DXe`A4nHwTnP=sED-p@1*U;;5(S)HLf$T!6zn z3VDapg*Sa=O%Y~znETOF@6*@Lo*la6JnUq$dnh&Z2&}xz*AS!sjV^!(|F)_UD|a{+ zEYU_9&I|pNChfFefI4L312VoZ-L2K1DC8P;@`zotUom7C^=8D9_sM14XiOCaE`P<< zxo9vLu4p16A`#?2av~l BY2oREL)%A{1FH|`0gxmQ$Wp*&wdRu!v-vbbsjR)#?j z=zRUT^rVYCq;5ADl;+=ptSGDQH;7Jr3TBG{w?<->l~z60{JmCYP^8Lsj+S1@kK~RH z{?B6n|F8dUsR0}a?7RPPASm#8HvYRQ!xjq#aO5l|xj_iu%VCZslW_m}m z2mfDh`-7AH4-9*zcG&0t7R~;T9dLESuVnX3e*Q}uSq)<=&>St@xDO`n+)zRMg>_JZ ziMBsGd3Yvnk5*KXf2=G11f!+b?|5EB6H@B9PWr)t1HKx)YUw^i={ z(oZDvf22K)|5pL>|MvgA@zj4@QEDY6L;LvV>4Rzw39ITE=HWE_dg!<)E0o-ZP;L@benwXWSK73ea02YVS`1ks z*8l*$=U=wCGj1GRxBq_IAB)87c+z0$=n&>FoI`(6PO@sE6# zyJ|d%`QC>BZ2ZBByOAkdBH?|hFh6e46COQX=ZPrwBh&1WcM;ALA)2RC;NH!) zDwgThAniwRYniyoin)3_Zu92Pp8@TNQ9A3%lhO~ycGXKR>0T5TDUK<9w;WZHXU1}M zdS8siiP>@ACi9O`4n13*{tJsqndA%*@f!2pnQll}W~{KK!gCDP>%vGhR2a*?m8;-b zT6hyCoab@2eZX}fO;BXi3I=nVJCN}Yc|A@&`ZH)>#O<=?B(~crMU=b)j#cBkDMI~G zaH*-ZxOX@|Vv=JHKdT~o8P_PgNH-WCMI zaCFueCTcRU+{JMcG92b*IG4jjZ%Rc9pp3N+KyqoY!_z4rx4(Z2xgiNYB>LRd#}Xf4 zlc2TDQvdAS!4LT*`8B5e1-h)MK1NDsX^ZUM#+p1^0jO+4o4Y=$QN9GWXHID!pHjh= z7Lr+9Ywt7ZUpK)k46+r>E zye9mQ6IJs7#b1Dlfn$h-EsoATYd)QMj!K_Q3q&qJ`n8}2YH3x4@!}}HLxY@ z^RgXaKBU2dNg!jQdMgLD6SBXjxRnvYBit&~THTggZHtK0L?1cI@Ow^IfB zr}huTX@mMae?sU}B|{FmX)pBem4%JI4;f3R#ft0dcwIqgSHhFt+aUod;mMfNJRE(Q zCHlsLe=)&7vWBtVvG2Z>&Y`Gf++a=bn$pzFi+2e*+{m&i9ks1;&x&g8LoIk~hB#0) z|L}5^P2;o^MK@k~HC34~OQ%T-!P}IAafb!E&x+E-We{A4;WGuXX`js0oCUWT_GX2^Wec0On>8?Lb8XJjS7LV4^>PA-ek>VO+O|e);)I z$4;>ggFLtWWNGe}1C*zNGX2wpc-X4H#MR9W0^Gz4-tNS_SY9=t{O3T1lhu_OLD2;c zKFn$RR~pH=w7A3-aT>Z6;9K)9Ou%1Q>oFKg;?~VN<&UK4w70|9_hI*VL`<@%>fiLf z$aovqp&?{YW~^7#ML-sR9`D1c_!pZa93Xb%~9i1ph zab#-Z0=2EPc~@zFLeL(Nr`wn#;-EvT#Y(C{TgpC_?u?^IG4MdzB|c1R4|qeXpvWy1 zGG(%9ACcY0sX|?q2y9~My;$0y6cauJ+Aq8sYS&EU6rnd$vmi_7TNNkV0~5%NPS$uC z^%PwhqKeu{!(`l;RoLggr96l?q#{t>s2t>yd|um(4%G>Wku$oko$I&gr4wa6ubk5R zsc(!Y>_^;TQ7=!u( z2$^<#Z(qT~{Dx4dCSReQT3rRz};R#_0+&tti zLu7xyxR_b_T?+WEB3z_bhGvI0BBPLz%8wApv5ZR1x1nie6{^;Rg5B7M4&?Z;>C(5Q zbMmzJyx2ZS^*E5-Utl;$<=93-waT}0QUjxk^hboJiso-#i%d1Z{C$&if>5;OWfk+Z z8?g%bkI_|GVW3bwDyk5SF(7&QF3+QHDERnR@}2tI$AqaBQk4;j-BKB*zQ0`#s@Vl( zpZfH=V((}gsqw8Z4ekp?GYyo#p5E%qe9aMs@dIm|i#SgoJWGkJDBvfqelC+wk#uEK z7@Q4h9FSt)DH-a#$TPB+k0l@6zq9Dkp-#KRI1D(j#V0BsG6}|YH9Bd?7KvT{(zaJI z@qs1emMp3Gr3tX~#pbK_Nq>T7eiWCd+K-&wXda_936#=D&-;i1J_|nyP-$6}>Q4n~ z?vEdTJoSCIr^ax(@wXsf;{D~N7k?12f?u94@^C5@*t&k}&-)5MqAKU)CMp^`)+?(9 ze$3II?igxo@Jh0GU@pmjA<}wa9e<1RONN{3XsVYivpcsd4zzMUnyx0JI&K*F{r`wI%8#gA$rgo> zuXz6W2~u{s3@zR^m42?hvat@>#5B9yNP6F=Q(j*DEbd6Uf<~J3n(V??Ge*T|IB5Ge@-InK{*^P8I?e|o*OS}5Bm0Io!oR3w(x5bWw~H+ zZFqKf|5&wI=5BX6_m7DVv0x$Df!c%G&GB*hCW1n(1@V4xio~=PLTjKI{+vtv>{04# zSdnrS+kvL2G0;bYm15$SQrug?Lzv8p^~i7#;ZSe34HacyQ1h8(2ZkkK6uwo2&yL^uIY zDUJ(}o5;GG-cu147|pbj_c~`O3ychKcC`5g$cVXutk9$yZ#ycVY+NT~Tp|}YuG3QE zZmyGz0^5dr;PDhsEJtC=VJe0@$(3o5kzKfKf%fO@bL@hpimdSu-IVoTjjqO385S2+ zxR?qqJ{{8+tI1T5oU>YRD}}eEOu#~d5GcA@8$aB4P8(;;@!nrfgTgy(d3cD+aQ!0- z0)5N~!gf+V?-oINEO&a-I;mZZqm7@wz1v_1oZdCNJ>m6DiLz|*1#Mnz)}^Rmnu6o$ ziaKG_bBO;_&<}ek@?8uib5o0##>YD8+-yr!6g1ve>;z)NX02jJ&FlK$?X3s&z>ZJl z@|@+U2%WZPLBE<^NNvK{N})g#RS+^Bml7~zys+>?xfCC;GiwDBX~+gOfJrtynmAM)$`gY=<;UeFRa$r zQ~Kx6f6!Q2!1I+Lridag?b6hEG$h4fz~p)72t8J?Adke&x~k2r`=GJ<6@>NVal+z& z4PBpy{QzAwUeuNmOh9-2_uvz4k}mOHl7}W!?o~I7ur89JdBqfiJ1x`VP|hg|mqVvR z_804pHk7!n!wIbg`gH)Pm=o6k$(!FTMy&W=e_JyYnamYE>{>jLWflh9za9WmaiZ4 zGf!Bu21HXNmL--P_h{v+B0gCGt+zP}V1KChTQG(3E4_RMT$%HG`2n|bdv4Ts=OorU zPnQmOu3?$aQk0tmN|74s`G^bnio16PM+OIfS$h;Sco*Ht1y(<)(rrIJ_&^)GBpH2= zZ(wXaa>+~QHLWb^YoUxD+tqY~^ z1HfJZ?5>43fO#ITLJo)GI>S9z7uJ&PSx-kcq2(~Lh)KIm(BMx}g!8%N(R=lZscwqh3pivcXrnL)g2GV$!6(|d&7rgTNwkXeu)|~W2%D%+sV2P8HlI81+@VhZUBe)MN1&ulN({>P>+|16{LeXi>e$XKN>PTv_fE?%mYJB)~jHP5W zH*8^oP3B!&k`kAPsyo{7a)-CMCkJPG^eMGF%_piWIN&^c+2XypGNt#Vgcc!bwXs(= zkUZY;`IBdAsmAN`Ca!fWWi~HqCPzDJ$zqw%C)Krjk1;4wSQ3p12dgUMxNLxsFxFNW z_07BcxvlDMh~pQ>qE_DBxQC{_s*ptWWm{5R<#^4s&^v8+B!F!opNg6c{X&Xav#S%Q ztp<{pv!Tu--#u3iM-!@Rt0K>AU*7Sfz$9v_joCB+tm%gk2JqsOyXeZh=E`?YeWt%H zN|B3te%->{Stl6##L0WDA-N-IjZL+c@eb{OI|b$?M;GGkGf|omXPWZ1g`?}MIYsoc zR?FwD*f%AQm=@MDriw!1ZUnuDnFG5_JPA$=T4C$kxiXE)0X9)#^}vj~0h4I3y1krM zWtUtRNZoz6l?)lPp|KA{wOlcN)`*7tT%vQFI^J?-&ryp7FAij`y&ZU*arqLkn$FZU zG+8cM{oGTOfNtbosiXXrT^+6i3?}3W3gdphq+681Dej`67k^!%B;Wgl3*3*IxK`1W z|GCEJ32CXjVvHR(;oF}NK5VgaB8Tk4mmwdq0Q*WJaqY!hjjr9*O`~@s^QATzl#tU{ zX4GMptNQXLqy>o4%C26cA24 zm?QWZ{iu*&^&NzDw(gfOR!Yj0_-H;v6GKwu^iz!Sk$~hW;gT$*#|#J|l5P0TZcUWZ zOy$(eIk90!agA(3Rx}7w>0Y82q51 znFK-742$*r_WSe)5upSK)Q!rs{`NW8%?<}gaxLA%AIEeMxV`kxAT#lKsHgjGzH%Xy z0Mp{et5ckyzBMtxHn?j3j_+zHxr zm9hPr!?*29lMIIODE c@E*V{tDxfePQJHW{`*1I@+urJqojaGf4g28JWX7FbWe2 zSbMH|*ge$}^H)W%iNHI*m*?e{e+N_rUHjPKr<{UBnq8k&K;ESLX(=GOf0hO+;a=f~+#FGcG_G^zVcWzk)f|1MH$q~QTEci|1IDcxlioJH>#m4 z(hgrexB&q1uzq%8k3f6WQ4U&3&iz5H#dhF8G)@r$(w43ZbRQ%nwlo}bedzM0fe-V|$e`La^*pSK?{q3x;a zTXktf^lMNU8R{W!=LFsZ>*+n@Ge7|R*3z1)yEGrl`9j5$Otb)QEGF=g&skYIMki!qWY_EmS2 z6o&3oc*2IG&SFy@AYpK0=}%6qU0VdS2x;9^$k$4I!EJ3T%yIfDJgHs&%DQNX^t^ucme^%JSe`nJH6$vKW&7oz?)BaH$cPW0 zE=V-Cr0U|o@I3Z%zX$KD)Rl*P&CN4m-DN=o%Qs4wj`*kYYQpIq+ThBC+1j@m0};*K zv>8%LA)AUgQ&deZvE{e*PWmy=^5QyFHnkfYl+pe%A7kV8!JmN1XAd zP&5zcMPBLV_y)7?!T3s~Yhb5NI=;rDY`ly0OH9uq>byA7R#q4Lij4I%pee8}F=H3_ z>_YbN+DZd+BYqHcWkoCY+mZ^6EWGNztwkMESTJkSDa>wdy8JOjm&y>LAWx>g)WuZG zmW~yGL&BMO{R<7zFr|+xQn@_2Q9N7B8PRzgsAJj2U;JUiHDf9(S-rL9iIG7jc=^r& zrbeSf20~=Nu2rEPT@|4?Qs-Pihe*L9XT+RD6HI8nZi2DsJm`_L7Sw-aWr${7Y|eh8 z{arJ5X#6ulp0;shD zowvybVMelMBvlhVIEAMAFrhmx`oyj`J1+<}S(>EqMPnF`a(~1{o?E7>5$y zbSG^vo3HdEb?93KrboRt8x@dlM#z_}RTlVRt19~A zYLV<}BN76%1Qy(4N_zu%LfZbkGDpjL>$`wm(rC@mNP7B8Yxdj{X2t9qq+FR#? zE|%t3kEiz5yN=z)s~XRhYMcvl<2=7r1VE4efECi!(~_o)yVR+c3K?!UzO3U(Co|mv zGf3AFSiY$y-A4GVYSHUAacYTc(9bGd1<&6UoEY#(hWEQq&L)J^7`KFYq9&aSO{HBb z7E52`uRP#RC0xeNBY2c^%oxnBWpONB9-HHCh2M+UmK&HG_5;_Uuqj%K_}Vg(AW8i@ zicp6lqFsr-fo{VwyBKK@w&#j-K{y_#U^J?_fl3rC>`!M|?wdm;Zcy`6W%gnK(yjHJmd(}IxT^5O0 zMdyVM9451~ul9efZOE*bukC0!DHamM3*e*Qc#`Ptly+~nHle}9>tz!;RLF&*l3o=; zL>fS2KQvirsy(EtNcAX~GJG>qu`q7LbMf9M7NzZ03G4c4eS(=P84Y~Ye`RwoZ?cH2 z)a?(`qzKpHTnb4?{K8LSCEKKU02Q9JC%rgZ-Vt(4XxqfMf!H)oH@_nzqhlt*+*=%| z!Tv5u*YdhMW>3>#L6MEu)v#G5hyENu=N!xR_sFbvFxKhks$N8ufQp}o<)~bJwlk1d zZ{=|arus%i&3oExG}r85%E>HBCsC{6TfoYp)jX5!;}CF^RDs6xUELE*Y)YO1CyWOX zU$^^+fjtR6DhE!(K3MZ?o_6L zV#B}KR&gobe$y~KxrKi^@c>CNXzrJ{9*zD=RmkEG{c(~%XC#&z?2esgTz_{+^VhTL zoQ441dE(KgTd8bV%FXFZI8`nZQPE4fPo^9bERNcB>O9pAX8psa!66w6%CPi)uw!FkJ)I&Sbe9b;~T zed7GZhtbp2qqnb1l2VhaLzlwW^O&y>;4!fr6D)UfKdh{K$F8AoxIibrpu2=!`> z>-n4eE9q=O9FIfQoMZRY7L7~sH@+|?#HK!TB)L6jJO|>i(N}}s$;lYd?zd%#V;>|- zKz=u#&Ce5huA6f<;+(qKU=nvWQkd*gYHl{3hbzp|uEk@z`zU{_0%TJt@=fg6AnF&aF0PxIQ9u{8k|^{&cc*u|011tKo{%1%qq>2Sb`bw%)c&CVf#S`~>G-y1fvSUO z<;L?R=Hp9k+0$aw$MK-1=UVsW?vQ9Uof1nysb7>jcY2CLK4sBk7<1BmNGQjv=;oyT z4ol0nPjcsw(6m9^{$q0NA6{k9tufOZ&^Y55 zz17X)8Gr}Y&JLaVMuGPU5m>J|!8F?ei2W*0%Ci;5UV?Yrw_rRq&r*V`K$> zZEyf*21nz=!Rq#vmC!Dk$%CaPw@C*=ZOXO5&!GES5H55{{FN~=XO^*OY?ir;gf$l3 zy1@Z#bBY#kl&N-wMS(jqHC_>QE|~yWy%-a3po7mM8#kIA>iSc}cL8Z*)}8D(Iucy< zHWWk5H-iHbKN%v=dV2U0-AQs?xqsZ9QxIfa0F--EMJ`3EOYzFS%bQYZ1}0~@uxrFX z6VpXlVvx+D#qixqL*nHsQz2w|K+LO8nsiMKKo3!$#}oJ1fOz#m&!X&&w*blT(GjEl zTy62x50XWcCSu$GK|eVAHXp@(+z^fWgDm!9ofXCHZcg#Zm*z5Of=2m)NtD6U$t=Rm zMh@a!7YZDTf|`9z-a&2*b_ytMmwH66GoIFHtoR8c!D`Lz)i&o;20h~bJu)9no>O!0L8k2BM5#9Cito#M%*6 zGLw2dyrN*>4}em3X$C9P#vEOjy7uJ>&xwKaFne6f4h>ec+Cjic!kC;xH~mucWnu*Y z-+?h&NcRWpI|Twa=S@i5Sa&_`TWO4+*3w2(HCkGY(u;Ym6^{@~Q#vC)0#hE%=Y zC(ZUw>BMqNQbQg2z~rAz>TPg7d9crQ!yMs^U;|Ed4nbDT%ZdH#h{2}&d`rdR2XTd{ zLySzmaH$=%Wpa{&Z1mvyDnw^TP^!}B$z3{cZ6oZ&qV zdld&%`HA#&$c(_zxscv(kjD_nPcj=@T3$HxwO8#bq&@4j-Dh;(_IT}jj14?8-a1JS zcyq%f<7Afr)%jGBJKe1BVBGGHY~54kB-pURJ0(9&LFzln063)ut=!^fk2NG$NDZWK ziy5*0(y0BT^%WlCfPw@n!D>CmN&lp=eFk$DX=h|~e)0Zn{ETFaLz};a_vS$q$E=8D zOI2`+|KoVnl+{Jhb3!1Ufah+%dD@V8AfL0Fr$VA-wf4Dj2c|~&4Sz|mt=@GilyyF? z^fG33s8O?1dg*?_^4A;~rbhx#(QXi2LZ*&B)*hFN`b4Doh+>;Y0#k5aHp*KkU6c4fkEAJ9GC*H@Nj zsD-n8=hh?iCM<)^!C-%qsZuURewm0EX+XE8Luzc@Js2LpnWzhuM&*P=NJp=#iFflx zZhd8X4+*0qac^e%Qkzh>mT9zgx@T-fqKE@Ok_Tdw__!dB)fq#}u{}&dp7f=3k!DSl zRb;_AYl9zV2(%WUJjQ&)Qx5@A-B->zNO*3>O*3FR?}_+v;f%);Puqd#Cz-EI+Y8x< zwK(jmegh|^jk{(Z{JA6GL514YQKZrWb2OV?_V5W8YPb7iXBMa%G8gVgS&)!e0%lz< z09X3Ytod0Ged|cQh%Y&jk_X zE&DfTcx6fxSNawpqtp8Q&;Dnl@P*tAdZXGU zz;G9))o;u14cE0e?D;($bEmp*5zx0ZwPt&g8}j0d<7^imxs=oRONJg*cZ){!)HPxEkXZPk8U*Lst*hXy$cKm zc{?-Qz5&YoM?!QXy3)TvIG6~adL{}2#5%;InQzwxy93T@xwBbL@xcp+c=B4$lvDo# zp|*2)U%9P~gB3;e&>Yo=-US_cocrf(M{PxnNrKO8tz#{s?rnMq;)=;<-e)e8yj*1r zwtwC;x4L&HV5GYZkQjU#{%If#iE#6^mJXj=&pjBUkeL$yQ2~*BgXQ%H&w|OR$qQl? z@$RnqG3+{7{5-D>t8H1^XS(s{ULNt|y+vAbOs8CxxLO&YIHei&z4j@JRvulMQW_yqB-jhEzIDAt*Po>op;z^N9SI{4ch1~j;iERgd{PyW* zcvQl)1hv!qlkc>E(Ch`PFVm{{S8rBnZ@i@E3y#*yyKV1{P@A3I&?P`mUG*xWlq3%ZAVo|&{%XMD{+sUNw95AC(CJSHPdi?UkD4o9~ zui4sZPTz$3ySf*EMafPS%GxhS|7wAEXAK+UIq(u)lx-y`(b`z+Jjr+$k$k0o5H}^i zJXt=}4U#_eYWw*6>q( z-tlKeNK1W?6I{V*Lwd7)ExHX${UzV3Oksva0(0B!Q%tpdp{XPfW4fMK&K45Oz%}p4 zxC9A}OCiH3dlj*OH){f84)CQd6FoI?6K7c3|Qd#ow>Xh zPn{I9IH8FGuvM3L7F44x$1uCziO@@i@G8xkLi66xNRAL(AtNxT z!l}3|p#Y8k@f!raE6>iQ^3U3u z!r`1b#Zwv4{C(Y6B;_mE2`SFt-7%ZHi2>hG;RsuXJne#{{PZ!q-D{e|z&qsy?|JATy1x|Env86YV!5KHdueyHA) zKVmqr1@P4AkD$xX5-bGSWR}BT1nU7;pEg=*ta0lIiBv#%tnxkxmgbTC7xx{0L~2vG zdAqF2$$y;wEc*nUl_&4G_AcJ@afix-kU5F-XTciw3K56X7@SFi*v1k-O>(+-MfeKk zTmAEA(@gW`i&;$_uui3tADTM7EmdnCPVBoafeIJxcf5DyXYsLT9i>jfTq2!!;}y=8 zK$62;o{T0Uo_xC=tIpWZ1;Q^V-_Y4`k7j&-U3_2Ex@fq-AhnOjvCR@#|B~DhP{zyT zyQ%&a-}@SipdZel@$P+*Q!<(q7cM8FUE9QmT3nz@?-N3A!?$$kDD--;e-%+_cX3&H zL?dHJ%y#)L-~-T)gRG_oz0bPh=|tRa$BoMkawso{mwZD z&|6fd^3QH`Ba8b@6lgoDd2iXM+y?3P6QhT+8-q6Ay&asGXA9+iUCK(Tt~g5-vHBgz zb9ikduz@IG8hwpR)?WLm9X|rheM?m@%O&1P{76UcGG~R8U0;nkTHz=pW5S*e9mb#n z^|au7(Y%pTMaRGZbXJf!A@fWd!g)fJ$dA-EHig{~YT&ClyH_GD>ZDSw^uWV;whAV4 zu5Wkh&n$X!8?6-Ib3RZ)ENCyN{?wn^|2#1Ey~qy#DIT2V8nlk*f=NKd4#E<(l-UCT)#TR`nciGa^(B|p03Jg)JCV&y>A99vaZ;( z$=JzEXjY@br7@@9AjW4JS>E#fCWnd`P!9|>oFB;K%Ab{3JbE5nF{i{tDPjKn5AnNHD)>TWlap3+FuW15>7OBDk~ zi(RANpeQz59i=9pVA_?`aaw%&(0)(KjF(`NJE}zn1A}f+&ZLlybU}zp4d-m<>^Pc` zb5?qGY`i6TTa0)1?Lte!C+KXVEZxn|LBkrDz9Rd@CZh?m2cqCVOq%maLw_aF?{yCA zOaVRzBz$uRQ#tukAG7CVj2q->yv^w`tvc0-lIUBwjc)_|koLUr89*H|At%@@7}FXK z4s*24d%l1O0D4|4VoKNxI73qk*Sx;jwq5@X`WaU4P)ZWmr*r?|`^L2VtU&d;TK39i zis>ttP`YC*n2+wLT!+a`GPAg@F5W}0wXrXJ4WDJ*Ill9^)oUv|n}dVQjx{Lp>lelH%D+&q7cSRvY#F*$WH3EMgS7WW)p zO%k^(2IP^Ab2vG2Bt%IHg)u#Czn$qv{LL;p53`8Xc55X_un4Bx0-9OOX1zIzXF4xZ zhIkQq0Py{-nS|A4KB1-y#P$tNX`@)jo9CYPH+wHsl%)1ya=7# zaa5WZL4MgefaPtRIJ2qFq5C~!57T)*{5Baso5 zu2GdAk(0&4KQ(nRE%-W5(X6>nH=fxCH3Pcpp0U(r&ch@sC^Yp_&DRUoBNrq^&v0nYR8j@pNHezuqGk!JPhs?xYd!}QZCJvF?{ej zv<7leo9wWu%+cZa;UqQ;Y;xCTZ+Ui2dV=53h&N8jap zNXXedN0V(@panv{pBW}MF;g2+JNh`+cw0A_?k|e3^0|d6q(??dzgs4tQl;eRX)&ss zd-#w*8K~=|54bH~nZ%qke0S4Kl{R5_h%3JNHSk;3Q+yg^jm#lKqR-fS0tR7h`c9Pv zhs93nI$6!lCt6fOR(|_eN*EGJk?D}96ch1uS3z&LPI;*^*O>I)`HIFt60InUg*)f_ z_RgVMLH07wkKdm(yIs$tBgTyF%zSEb#mlIWlrDB}!?QQ1euBYVgy;tJ9{@8Ty50tLGuLor7u)=8>;940&Q|L#chS3%A$hqYJK1;VR$-b)n zQAjLqWl38 zG10%r6+d^h`5UCMJj)xF@FJB_#xoxKyl_sWFl3&r{!KUT0qa3`U5%E5@S*;L2vM8j zbyf^@q;}yM%M2S&H^tfaw`vI+zsBqGGrllrK=Ii;;SgRuvbs0n`Sv7cFFMzInSSNP zmal_4p?0^<+Aty6l+?3A>5m|Lp9?rc*M=<906&zK1U$jMg%au;9ZaoM?F_vlK|F&T zh+KV=B2pp?=!+T>+02UjV0ot>OQepy+=UoxpU0qL`$GNWm%7-+FQ=N%)2v%KveCMH zrn=<}N08|=w%z(LHWkHF^r$~WlY6ox+|7Kx-8RvS!ODrx=_R3(Trj|m|&w9k;U?fgeJOa zX|v<=-Ef|;SXCzh>YjBod?HD4b4SGC5oBPZ;>r(?fLs6mQ5_aaXOhGoTiQ2X+CQ_k zH{&Mu&CF6cBcypVz0o-CtWNX17vugud{RBXweLD=3c#({4%r@1y&U@k$!Uihuuf>b zmx&Fs_*DX=?P;m~BM!y?laJB;TdrYQ(%(IzAn;$kn5*KffN!$j0qASC{|(A&c@OlL z|HZ0Vw@QF-i+K`7daO?`i359*t%Qee`UK&mUz_q5<$Ra(u3YywDA)>cTMQ2Yc75pM z-=I%97?LCae1Qmu-k?=6&(iufZ4w-b9Z7b7gMO7(n<9}DkfT-TF)@(UJqq300#Y3Q z*Xo07M)!|(iA#*=I;lUg#Vjb~%_m6pH$2JPt}Esh6yhL0zMiSc3J8wYHq_?}_!82&k4@sAwH9GDE6Mh|I&9d?Ji>-#D4cl=g z7qZDi)4??mWL6qZPI$(9Yom7TL$~G_hxr&hucjiJ;T7{9l_1Dx{!8F+?Oh3X2>F%C zt2p$6=-mb~JVu#|#rPQD7w>%J#S7MSxIM{XqPvrDNVMD+a6cTR^J}x=9wIMqfvw`S zR<5^K=1@F6vGc>+#g@@A2O?yDeU{ve{>++ANIXk+4;Jy0w~X@~r{QFd!D8pL^NsRr zdjt2b^0mEw@^oI9?F^fooXI^|32$7`QE4mfHvcbHqn8W|Y3rW)u2(E1!K+7Db2}(E zSkh;!F!-+n()~!ALZ;8M(=|50(K&_K+5>hoBIeK02|ynG20%*{9D>0Bs3M^RO?Loa z!BjQQMp~Uwdlw79W)RX4tm2eKH<;eN^1A#1h=q+6@nYCQRT;vtuxQ%KM6R8>mrwhF zLKMpPdgV$d4p{HyZ;sXNRHHcs3J+-4{{5EzcT{5uCd zkdL`7#~erDHX*~BEp_AjmzD`pwOh4b@mHVOrm9;2B&EjCo0*6~J)q5Jz*qjzE;;Os zO4(j1%_{6}dlr{+-KI`=c>xXc?aeTA`}`gLi&`bxJ4PkzG{~*@vT#p=zc%VMB7zMf zE9aJMPpG?Z5y@hP_Sb#6d9Gj^;=mI3zq$MSABkvHZ+`O|}=f@FGodCkC0MM$*EIj(+dUh|*nT%Wb)G;f4~1-!X`440=^RBS;== z7}M9t%EnpLDbiUz;Fophh=O;>q0F5ZBjOL8_qRCR%)^Yomq>muZnu^+{~e73M=|T! z!t*g+7_)DQbTzW4)2BilyJKXvFe-=cC%1PcE)NV?3i%gaRK-UUS$>Cnfy>s^#YTt{ za*6c?*y2Y4xY7t9`oCQjO_|HtH=6Lm-E0{MDZ2cs>L!PW($a|Tq%cHcN#Q?R+i+f& zkCCj$B)V67llGp-4d;N53+E-P%)7rJ06LpeCCae~VtQq%^zACTm>bX#g-EN4qn2qU z8WOoqLL*-Q3Vx57I_{k+mO~{`o719up+q;mTc$a<@z+nu4vmdjE})ni28GH+UsO1+ zJ$&-U0QyyFIET8Vt@m7mVB1bJPfstGKdHJ z$b#fD8%-oUaJrUNRY2-Y_4+5GJ^R`uzr|qzP-5fS%-6i|vzL@@rnj!TsJ*H=kNOSL z57jn|Ldlc&qbSTY>U15RCa?A`= zUwusDdh$0&$Ou7m_?3hAj1I@xnPrZH7>LDC^ z5II?Xz)Qnk_8W8rNYqWLhH`|~mqek4&f(^h&*?;xP%Qo!EJBJK2%O=Q+O_I0;8S4N z2&e-BWH1Y}S+q5dr#NZ!5n@XIAo1q$Lx=r>usk^;YoPN>_6|lHhUzyeNSIpVJPE;a z27laBD^-arEqtChoki*oHK3*YYPf2WRJSA$v88i0od>^6Ub)tKd@q`<3-G)4^g(a5 zZOa|okZxPz4e!_ljg}sVq#wwZ&xT%&Ja6eD;IGpQ>UQD9-(bI+)hpHdEQKQsrkYEj-T~`?mLu+lP)lUcJsEK<+zVlNL z#@4PPcL`34FD6N0H9O_!Cv1Bp8ntlG&VnmwtTh{3Pr+$+NFQUDAjkO5SZTr}?lDK9 zlLWpEjQ-Ta-+Z$ZvG zhfj0&6duma52J3RSx*BurWOIuR45Y0LDC@PYoK(tYQ~~5G`8|(4CQH9j#^07W^;9B z?+aD($GX`Lj~U8ss{EXP^zE71`KKhv=T2Os{;$9(U~rs;&RoiV^MW8?%)&&>RCC!%iZqCM8;9TZYb@eGXN z?nq1!Yn0Cm+xIooTPV`b!E6_p<&Oo4yR5tKRTNYS;zaJ#?P))l2iRb+rLat9eVOp-fp@bhAR zh9JsWn@pxDUfe9qw;#Y)R4^TBvbPsccl9(B;K&4yoq`<~4fxq2xnTnbbew`aueo}n)8wZSZl)IhC7do#2x0>sNX`?bkaO3ZBaW{ zFs87iK6zA$?;v4q5y|KeWxg`OcAt5KLS%~GkWyphS5(ZelHZ_NROo zz`5Ae1eS-OCKg%8rsN@eQ$O6eh^FKPZailOhvK#_`<76S}oa;>AY^MS{$E_ZqWDI#PrbNp(Ie+DwyQy3`9|B1}YB~_eQ&SC3 zr^gHVvc=fQ}vRM8(ZaybkHV;gpsrsmyAlFaNSKOHyCVHwh_fD3gd-yLOuJN zpB$pcwu|;{aCy#dC+~9$aOR5$l+UqcXD3gr)c_Tmm{-3+Hb3k!573b~)&2R{=JtFv zWCQGe&D3gBl#v>*S(4N|pU({W3iZNKEH^5oqX+~_+E+5I+6l<}UNPg(C_ z%T1tV`>)O;V~&4U$`MH~`sK*7?&zJ`ZIjKBWNj>lgqszyE9_romEoXMQ|u4BW8=yZ zs*_*WPVUWY;_8v?<4~{r3gb>qVx9ssa!0ov+Qaq8Cxn&78JhJE#S`;Nt^{NzH$3y} z-W2#%w$005c1!vmYrho-Z|i8>rxhye5xV{JJJv6tWNXu(3qxW17`tJrEb-$P;!kzQ zw_OI2A5qgz#db+v(&ckbnKiap1k@@E=%XH(W0bS$+x&3rB4kmpJB;R)r6IMa@1r>6tlFk~)MmX7n+3n5L^ z+ArFg#WyhN*3bfu#1bHqg7luo1Irsw$xzrcZn@&^A9wXE2_>lg;*SaB>Z_y*6)uvW zfL6K&?w{X%xwfZ|VL84@fLYeUM4HEj^6=&r?r2U#u58wn`_XReIvUfZPsGPPiI3_1 z2=ZkeN?b{MtQgCn_`d$Dkp6QjXKbM%L5j;xkPTXJBya4j;rZd`+{+J73AA61i*E^` zOR!h(rMTzWAKOov2Z*qd(GW?WUpyh0YEj66k(WLFP!L5Q)-@$dfhX1pauK%aP^R3R zG(av5IbSAp4c)(BB>)@gsD@*nyyQqR*mhCe6c;c$V5_#t-b$Ss-1^aiyQzE(?<}WJ z3{fGtIV0H7IV->W2BsATFz}+ieZ3-%Pqu`*u^^##pycn%bMS2Xxq)GZjsaus36@v; z53x-E0>)_+z$yCBFUKq=MTG}%C&MP2H`FIXWx%n+KaI7CZ*49S951GoeI?B(Ar0*@ zt{5P$Or*Jmm5QM$o(}VSq6f9^cgmGJT~NvsT?~F@cDas~p)fb;Ly&Ff(p-);Kd{Ac zFz={35&%(%Q2F&R*y2fSR@}kIo@*&b@MjRXgA$bUt6$cegVk_n+3DRsux_%=JGe{`(c#8D;`tVs=u`m7ESJN=x((Z|q@ydeG7kXi3xWNbeEe9pp;puH z$VL$B9aj~Lcqg!1wMBtyZB=N>#q%>MiZ3KZ?7STSPg@Pro9=m{U5#}A zx=wAWZC3nOlqp6|5zS7dVJuaZQO`LgkeA>%PNlV?i?ST`Mnf9m%>&FnA#dm}igMm7 zk34)+-NwnI?? z`l~5}8Yg0`wgq7f4q^DkJ=y})(EE@yFTX1H3mV#sz4F8d^{9`X@0M{n+Fur#G~808 zmq_P|j7N8Ztbk;>t80v>9r%h9jFxs2$DQy|_9*G6txr~b`-DB;Q2o(zgY(en5KpIj zEvh!nT_Dj3YRe1Q#jUK-A4{r1>OlHS-WPvt`t-@RJt&b`?bnqtcyO;#jId0*&CEkN zwCs5%fkbw5{r7O@9CypbRDdKd=R-%Db1x7oCClk#W z*=fk&4L^D0XNw@{TlJ`v`t4A*)wyj?PJ`DM)nT#(F(AU!*KOv8Qtcu9v z#Pl=-VNN(^$;EKQ6Iug9Fd8!4@mq^NeQM-6Zko!}|cNi1Z z>&$@Vt3&&YE6oej{gS~Hzu7In)BJ-kR8YLF<3W&lK?K@3FZOw!6J0wXGKfhrW%s=W zf*PEG@vj2rJA|QgX7_|19V9(-QEzSO&MHBDsuA|>p0D*y?iY8&q&N?HBHGc+F5%r(pOV{A~? zU8Rk&YT!^@RuJ}tvfA9N-Q3E2*i~e@nZ zR?>^S8_>o8h@X-UnZm8d8C-a(Z>qo6%{Ui<2+)x-61j@(8k zH*r!EyAH9QP47`tXC#2XYG zc2}wC)ueEE7L_NNMw+NI?@Q!>k>!T*j>bMSew*N-CIg|KoZ&<(nn9ck&j#?HSpW)8hX8YVx?LL%n?3K=9Qs$XIR2vlLyK2M?G?Sl`=Th%JR5+dH^+Tu{9-2#PBd zqc>-S9+lbaEU$`}14;$()FXwQ#*j#iPs~`YX2k5*zJ#C0bd$_wq{FM$U!PAl)-=>v zOq9{+9UcPeA#<}HaVc2NJAj{W4s%X!Zv zXSE)`JNTS=Qc>XZ0O%+hn&-TH|CQjxFuK_%<8l}>jZ(XNzZHBHZ9~SrG~fU3g%t0h zDcwT(c?m7$v3ODT-u;}tO_``Kj8-D)++H+`)2A2ZYUS)#-zxA`z9-Y#1_yer&_duK zuQU>pR^?{t){F0{sMWkoJTQf!$OH>LFOqw42O||~GG6cGQO+juCHDN3ye!XiAo0{uH7Z?i(_224km`Omo$YkDeUfxv zM%$l`4xl6WTdvGqNt(pcb7(p;EoF{9J<%?9%l@Lu@23y4?J9YCxS!gJpCs-EUGAX3 zc4u}cCiGV|m`EA%$)RO6gun^!tqHWkL~g~etysdRW$Pzj02f$f#ya+z-V))YC_|3z zx8_Tho9s2WvJnvy$Rf5A$XmNSg0Nzo7m2;7|5bG&22)XtBJe+RFnm?rBB0xpA4zuq znVEnjcK;p>G~aUU5#+S;#_4%ZI^%A+!&3lEu#frWen#mLZ7{F$Ww2n8N2c_pQKZ!e z(REsg@DAdq{u{*UX(4pE17K-bjhVhvGK3V748jiv>PUyvLbRR`&iFSRNzf#cw0{`> zJ{N*0&0EZ!Dxz$!Sk*Cexi6N0ng$4>f5{d>I|5^HRKzR+GD)()M~M8FZ~65JbX%s# z9wyeA{6pYdZ0u%@v^BH5W@vAh#DNByt3kh+bAzDe&OpKO52yiXzof6({KQB8o7KvZ zKSrcv(!S5#^`_w10Oxa5g(}fjIS!VSnx(|h6Uf`TCrhQgNr9x>~x%Dt@YJh zYXv=qXuO<*#492B4TX5~U6kdt#j%d8@xw7bdb$OlnWJDq_|ZMXA5K4&1tl`EKgrD; zcE_VeuwiyEfe4~`zvARe(qa$clnjAL)NSYUP7lA^6V={neDLae{L%`avGy%jB4~ui zF~P>RU|D5z{&zCftFjS&pIF|3Jl%X;%b0v&L6^U0Lf$jLP!j z;e2X4Ss6ijo-MR};y0*J0HX}OAR*~&7BD3@p!#9~W9-^qSL<_jN`HA-c7!3kA;Wy6 zgkrFmuGFvr>iPe63g{$dAOScb7DhFWS=0H z>}joU+s@UhKmShYcjBr?#O_S~Y=iFLFae%;(iro)G5J;iQf`&SI^`Q$;;$(ccQ>3> zIG^eM2zczsNw`xjns|d*Ca%ifmBrkm`l3?%DB6alBrrH_JJa%pz7_*1oZGrzVlrz@WTce)# zWoJ$GM6CGPC^?IdJ=7XUE}9;p+u3ZbzDG0pT+%(z2}yaPW|JhScD{uU4_8*$l-W;K$?O*TuXsDk}-W>M-qVlw{-8_(}jC7gzo|Jc+ zmyME?8Li*_ewxuXIr1^4Z^47!3`=G>fqF|U)L<_Pn?7lCsVhZZRj2VB&2H6g?re9x zf4IbSuAzl_U478}ay8{q6Q{|W>FO^&7>+>}qzeDa^?8xT+^VCF05EYN+=f0j^wr_g zO{o;x9m!5yikN6|I%d+WBX1oyPhM1%ff`LM7IeU$y(V3yN^!k8$VxsFx?xKs#= zj}uI8RdK$77z{U6)IR3EMV)iq2iS9Q#tL+F@Kbtv?u?O8f%?0Z4V-~l57Q$EReQ_3X;3pYb;Hi>sD-X-g{ql4s zU>Ts(NwCSRr!c%9v3o9@v$$PORd);tXaCeWTmN!ST6cJDs>Z>OVObJ{7^m~|>gs}w zY*wbR{8&|{s8-}{D_C)XoNXd+)?3o8h4pPs0mShVb3_io(&g^~7{J}*6Bv(T6MlaXHPb0U8+m{9&f90mpBhSjt1RKQlHDq)2|L-IA(+0tQDJ;bHK7EmP@IFCX`6CtYXwZ&OQFLETOfWE* z?5kh;FkNx^cCu2JC6ZOX@^M2}@$bj)r90180>^6llF~d(`xI|Q@?nCgDSek0KbOUA zo4e|$kQoa-Hoij>c0J%ZSi2HfQd2u3GOO~g*I9PtuB1y8rS4_0VG$l(2km3WE0Lto z5LM!fj1vR!Xc5M7zzadP!+77iz+yV=k-RFBO)nyQ+2y16>5c_LYtFRIlO}3~dL!b{ zK!J#4=?z}L3zpqn^KMkHx-y#!URA*h@XO$S^FyjnE-TH>uKJ3`*=#KF2W0bRSJ2ab zpR)#w?APn1JkD0uV;zKWNK8q>->-wf`KJX8lj+cY0BeDu4=m#UeOZYAuC)ChU(>Ab z*t?@f&@|hdlB0Q`+~z6w@J$(={zZJj>_asI+a~wn=&tNk)JfUv)%GmbNi`Nv-Uw>c z%i~VSf;3iNC@#G5rJZ9|CfqT=C855hDV#jwBRfw}xWp5r1C(rq=+y{MmajB^dT_Qa zefCJbUzM5&n_6#jLu^pK=v(J zSIrAZusmA-=wZVwA72`^*=jF-uVyY@{KbTHgYA5Ny`Oao|GB9fB(~pmEcPi+;rW~X zgPBS{xW$3>Xx5z!85B3ONKTR&hCMNTx1rjYPn7;sNXWX8IqH6ycYFS#342oUnne zW=aTY|o!H>C%4GUuX zd__TxX1DJF8ZN$Z3TmkvW_WZaFf1C~BS2fXt^s|G1&T(5>BUQ&La?@l7i ztS{;B9iI;D=}I%*feI}qen{> zi1u8rSC%Uxvg~advUF2fUZ2T8_!4JN3H$fsuKOL;9;`bUs5Lf1eX>*ScK^biko`k| z@RtK{i4NiGdp@^ol!!@q=8>0I`c8*I+Sw+u^3X3NgK1l^;7HN@S=YnsFQGJW&at9d zU`r1F#M+PfLEK8@Bb+Er5L!LXH!&=+HfvgjGuX2V_bxj%Jnv_kW+M&rWG!l>q5jcB zluZ*5my^t@nC{IGe^9&f?D(jSv9J`!gBm^{6Xk9=32d^1c>yno45V=9S%)=kENgGi zZ)v7g48%kmuBtKYd!mk&3Sx(xg+AOcJeHI9K>)GF;C+%m~5ib#(F&F2m5ZB!~{%|>(v8-;P&U#KN85`1+rl7*2 zoa_}r@pk-fwen}uNAWwYrRIu*gpcdBlW6GN@bBbT{v3T3Y&_S&F3r&mj=Ec>I_@A2 z9|_voj*rI>JJfydDZH<{TYgD@FkR*{%f=EKsJaI{mhmqq-Y=`Vc2NbxSWk26y3xGu zsJTXx%dKHV=6!g7WQ+ps9s1jA(Y+Y%Bx-+^c^&8Tc(p@AJ1%e5@Aimmf7qpY%EO77 z$UNsCElFfZtZ~=y8um^tmF3Z=WVAX*mVl&kQ7hKS;amGpvUwHMj^aJ~tE|F_2Cj9t zcny+7@13hm^55o#RJN1l+s?D^)EmA!EN;C)HY%<|Y0)S2fX zM{|?J@}%f@3*#1QrvCT>Md$Rizx-dcw6`2v(45$nn>b!6Y~jvo*Z4qwZ-5qKH>!ef z+0Y)^jVwdFQ#CiZ)ZF1y*1M7)hd~~cEVkg7m3sE%SIlRwo3A(fy<}#>k9MHc7g@ar zUA5d>EH4o!^t2Pz7nxi_rPvfM>45P5 zDR8x1^baU)7z;%$G_(C<8i)Up=Hg%VHwAGNHZh?6H#lR4QpFde&qu|$&A)~zVSd(L z4g@vhqs)AAkH~eKUw>7pGWC}Bk47W@fXE;w{4ettzMNbZgcHoDM(mT%NIsJHE`Q`j+e6$Z_h_D;m8@J&qrq!6VZ9u>0+#Y=%4S|{K z^UUgzX}&bb8{KE2;d%hAaR=rvWhNLP8)_=J&i4sQ;czO))ylSQn5S;OM~I4}IJKLBIZi1YIUSPK6176hE$z_a(< znkk@`Vr$Q2S|U*`J|z6Dp2wmZ=Wpe<0DAW;!ZM^AM0{to5J=9d`SdW)H@-r^C{;x@ zKh8W3vGNDh{jhXD@4e_n+_O$ecQrP+6dVLZa{CnL3n|Z9%cK4(B}~=%{whQ$_EiRf zJE`*8)b-86zBUT|@bPlTG=0#r9va74kETzG$@bY%CqTN~@%6%sH=z@`z#lk}@||r3 zO6o|RPL??Y(}1Cj+@9&^%|@)|zF3~Q9)ib2tpVWBEL*d9MK@jq9ax_$d%Tn9n8m=yl<XcYB+$-tCt$fMg%9dlRzo;C_GCx!x&o z`XARMRpgJ8Z0WW<7Dy8P2f_|DQ=jw zEcAc)09u+^@N$4W7lY`8i;PtCDzB~5@Xn++7RblQRLHlEB_DAG_AF*Du32pvW*>2x z_HZqJZN!ARFtR0F66#2kB#dI`-Pgark}uA|0RmS}i!aT<$yrm1JCB1`--fe3mdzVkUBz8$8@?Yug&DQQr z)adQodk<;lM1&~GTm^aEw(uX2Il^q|aK2{wCY_Z}G+uO4Qh411$D*O19Jusyl`i7d z##8j$M`1_Z{HZUJwTKB(xm)V+vd7mVZ94j%5&ODBSNbV@&N`HL#(Krx9h0E3`Z^_V zI7h!GUK;t0;Kdls#8^nc}%pSgCzFj(uqPB@W3Wl#=pcJ-Y~; zX+pL&TqJ82SKo$;0BbDv{On?f2s{FUojYR_;B>)YlTG+%eI1?nODW4!jJku)Ss14Z zCbP``zM<=b))@Fsa6Iq|H{Xnf3%e=FP_08!iW7+aa0{r3q`^WV2;Y+Hg?uG^dE#v@ zYyhG;+G@YgluyZE;9w$EtrqMTytk0h;|Ge5N(a^hm-;hM{diA4#K^%!w1zbsp<;ED zlRgaOxV#4?iwN|;;kXxtCNM7+s2^m9+&DaY^t$)`ob@O;kxl3hwawW{p0#IiOtbQu zc1{%$9C<4stIEnM=6BTlQxWI3%P*FtZ0q>JjXNDU?z42_ch71Aevt}h z2K+)*u^P~vGW}{bZRpfqs~0$|05SL*q?Eg*hLB)=%6^DkH&_`hV>Oz7^@tj;?gu1_ zo2wc=Vpu$4;WPj<(lsm^ITczMn7?Yz+v@@;@>eRIeS(ptVvU-3o%~a#ZPz-cL@qg!SbTRtEg)9S{2aV|sfg5FqNG zH`iuQvjDt&K-2vy*vkYT3-_cg1K$19Qt9%kQ;A=}zryHT*ZkmFcba7TZ|-^JH!yA) zXE6h&KSzBaXifrgf@fjxyow;50kIpoyx+F@nh|J78L+b=v}kWw<7?vi9Nl`vjbu|a zR$hA`j+&^qy{oih@Tj2nNy~pBo|g2yP!C)-B;ZS4cgRS47RgJ+$|P zn{K@ywniR(Wyj>YuJd^PU!*SlI}2I+Z#{?qnE*Dx)B4Z3001OYp!hfc`rmWU=)VY< z)*AB;gs4U|pU!C!**S{!{U-@(&)S+X*`Br64p${eAA_%ZrG=kkAPZkHXIANIYL2u4 zANR}JVLoeiHnji=LPrlPRR=xJ4zn-q!26RYYuG1>3~Ur_i4mVibH2k&NVmO4e~rT{ zCHpm3%qj)HDpkmiXm<%4lGIX>!=hx6A#eQDv|1~J%xWIPIjf@A&SIKYW9?O;6ZwcY=Wl^ zgEd25QiKoEcI81halhB(NtIC$Oy<9Hi5HI2!B5(G~iIc-b%Z^;HL;3n{tyF(3w)b(9L`RXucHzpY0CgBjR0Zw7d0-xr8) z#sDjwRf}|fw@tqt?9~lT5UN7ug0TH{rFp*sM=j+%IRxm=-^3l`{6TzZrS%4H}<{-8V_)QN{eB0{Qvvx`YKab^`7xp6jKrbTw+Xrk+V8K3ioM-^x;;tEA%+dV6J1wYG`7f9aG6?4rKZPHY7N^&FJc~Vgff+}`?H6=^}-$NV7XHSYi7Gh*s`RFShTM!HV6&@h4?Lc4l zYfg{3Sbko&*0jll*lE`XffK)$7SBr&IWg3P?&!l(*K{`;7L<=i-Sx3@+8M$syb9yoFz#?vv}gehqhh%k|6<4DyLI0k_9 zb$`WyUdecfQ#h|mP!E>AiR66%mfaU&E&|_p>a9IIng>PMek7fZle*H=?HDbdDfD$^ zcWs$?oW+)@IL3$7L{Eh!CM+j>I8d!<%;1XC)C_2OLTBW`RC$YZ9AL*TM@^0EnF%X$ z&cHVTy*t#Y?MBxH`Q=Jwtreyi!f2l# zKQ;l?{)Xl59k0ExXb)74zbLygg~DI2C}!DZJ#A!hnI1*wUz=Uy-ZkT(?p&QI8Erz& z*JUE9FYB@1RpMQa7uhZa2_M^7VmI;oJIsd-$=_NL#Zl!* zhr6-XzI&f-k%EDX4?KXcO0Z+x)t%R$I_>RcWry;){9^RMm0+F(i$P#)>#f`osN6Lm z07F56HX<=`D$b+bn`z^lF99q)l;KTbot=55SZ`#V%UpntGpu06_U;qPEwYEQr$k}C zZV~&U#UXBfTPE810&voHV5sPK=&sOP@|0uU@a5`E7VcQsY>|_sKD$w(G~ZqF(CA0( zr>$ifKRN8#aQU$LHnQ{-w(_aE;gh$_YK+)%$rJSD=-H1q>$c1>nr7qI&X(;D!AE=W z0i|;j_0?mi@bxU>D&H{TjO1r?Z^~J#FG9;rDX9z&&5EwuJN2Vih#{&oRTtT>m+tl6 zU6HL2aKBoqU#DWAt+;RMImA)sGuYX1d+}ZokNTES!i_R=$JFQC=ll)h%nE1B9}tBL zbx`7C_Wwx4!GG_u{)Z(JaQ_vQKFQz7qfN6|M6 z=$iL)2IDADnYG^0epuo9tJHE<@NZBTP`Wk*83QT3CG!iW#`3m}b>RfaBjq-w9Sd{l z>Yk@|kNps9hFwD>FuDn3gs8T~4Q!uT0t#lFJ&DgNB>D*%oO-_>J_OfYR?68%ke-yN zcU#jZR}!zTY4)M73^@YH0#xu1<4-t_?LH&&@?sMssWeR**8qsL+Cc-e7n1 z2RLnmg2#%{dvZiAjRV`fuYd`lfWzfzF;yHIw$RY_AFWJ=q&@o7b%hGu2_B#Bs(yp zgcFU(b$oNqj{w7%ds$K!nZ?F`nwKSvR*S}+jLm#^Criv_Nro+62HEbVdC?0u?Jc_E zVX$mPF74^@+#h21G*B#cmbt4Z6xmG7A%QBuco|r>r~ONB(J*LPHTx$*BqRL*Yr=X? z@-{tefK~~>)(EyPb@82N-K2bx%eu2B-M&qV+m!C-by$5X1_Ri+jUcI2-qn zJ@vEC5;XhQ&$BoWB+b74Gv`~l{yPJ=SwEEMUc|eO&Rc#$gnb@I@vn@zcE2q-oIGM} zs5AY1`;}2h1gM&ZkK9^<5b`k#XiQvFJcq1D3&EjmhOW=D%PHqI?@=o#eUoIS{>3F| z@~G_>eXi5h305!5nsUayR-*GZwa%O@ehCqjXME};bx^4CxzySkHc_8z_;>!cNcqhh zJA-CP)l=42NqTXrtE2cZYTXFI^R6X>&(q(n{(ww{Ra=j#-UETKMJ{E$7J~E-oN<0O z)>Ch3Ym)ETBs}8wtxjIGyP$bSImnVrg9uhrcER;?wPH-nrZhS(0Wqxy@*%qoinb17VQLYYU zfZ#pDvc{YWY2H8*Ma>nY3!?7XLjW6Ih^KH2V?V z#zD7uSWKH{lS=^Dbm?&;^BqMlC3)ie;yt@~eOm8`9gQIX;wEoG)A~6^PSN*+{Xh;G=p^Ehuq@ht6khouhI< z6#>mz)O)w5cfJyEl#tHO_4c&yAuhs!W6t2)NTE;PmkR#t#qt1DNkp!iYP{OUOI=FE zY$Qv|YiDUHt~)CFGK09V*hil>pAXjE!I|>FFN6H1bo5DipP}X+^)bWx63Ug9QcaQZ zYCWhIvx^|J`=Y{5T^rPkrOs{kpTl7vjeu&RG`{#(vbaAY@>`8_7;6amZu_b-ifQ#$ z>=?L!TgEu{12g5zp${K4GPVbJ>yBHJ?Xk~3ZfpGQqAw=$_6T3Lr^IvA#ccfL>kN?{ zz3!wVBmM=_h*+TIOSF@YQ&mdYMb)gRKcc>FCviEAu4wOFEpa`}M@Rv=`CpR$<{AG0^vN|S4KiR}mTGhmxjf45c z!>Nfxe!DfQR zg>m@>h_n!}ZiZwM>R}0B$Mm*59!p}>42VQFLy*;nIUts#XlibWj0#R4tWt}=@hGUe z<ib@a-`_M*uy`sQ9aL{c)?4@ZvTS*r992?yvhxH0g{xMiz@Y$-4 z$Ok1pNYQw#!j+%xWPJ?t0ri=}fsar;p%A$4T?Sv(jW74WPxY zu3N-Yolq{JMooHDlpl=q(@cHL>V*W@=zk&jlmCRRM{ZE3kFwysYI5=PMi%tteRBjc=h_6`%d6iqysNU60WC3fdrL@wp z)YiVxNwSa^(2^vR5bv z9&xxov;x+=u&>i=L!REk+j#*4WxdbvltT(7id#KBFLHsbE?Ayx9>WuM*-_k6dlE(a zEd5pC6gXArr~o~^=8ZbeDY-NAbbc$!u~7bm zio^5#bIy+9Tnrv3psb@*{u%{brHSF3E3No{TjEe;W}>&F*}EKmkIy5#DY22(XA}V( zOQO5+b*n(PF!1#U#gARkjRuzlsjY-JQJ|*C;cpNny*D#FZ=Ge8dB{6|_vDQTS2OTd zVh#F~_fVbg^Curg1`>G)sfny%f86xyG zt0yojHlnlJx^=rWO@qTfP0kicy-Qwqtml*GFvurBQdUpC%eP06BMYCZn2q$>BSNd5 zL~RbJfPcWDXQ*(yK5=#?hew@B?>BYPR-{%@_3w`G!W`o+5v(CH8<4>Pm9s`B`&x_OowJLKH zv)OpSn5T3Mfq7OzdbO$S%?Up2V~ zJj4I1Zol#OaSzo1LJT;~o;N?kPX7UIcI4pw^Rx#~%fC-&+e_5BjUvTHH(D~y6DT-#HhbSXAztdWj~rHD9P;h{&r-((ND3bEPp^4W#D|f!Ovg4 z=Uua4-n(7{^+Is1-V9G3!4vWrrrioTF&rm*hMly0iS@RP#;<8^#=ufGKC8hOv1YH~ zM|{W5-32DB4bVZAARkNv$wZ~Iw21tE3eKVseb9%i(IFP6Vr%(ufBn{5L6ieWT2SJG z6M>^rZ<>NhAeMh9|Jk?Hrbg>?ptmz$~v%DiLYU@N_vj0}BMm zQ7>yfs(CJcJ-tz+fXCxrOcdd4sXJ4yP@u8O`;ieK_n@k%L~ht%ZPsT4_U&y_BRGG{ zQimt)O%;R*Bu7Jn+SkzS`SMe^V2gK(q!F zs-;Q{?ZZly5;S@lM@W$&Jexgap*RRDvbkc+@|>jifdnwG zYAt#9DtJ`7UGk6ZM`Xf~hygODZXWfGn#nc>dPSG{YET#rS1myhKz}VI% zeXpD^?svD*h~%o!AQ_wC@7m|Hd2n{2ooUKecdZ*+0$w#HvX5$hRnjNSMHFwMwO>;8gg<@;v7kd{OLY<>7 zLrvLnH$Ipb2Qjf@#5db-O(pog`oBQ%o6qSbi#bXM>4|pJqNIsEFZAVnLhdaw=6I%U zYLu$F^d?yZU^P#l=)fi4dLU$={Adw{&?c+YeGj>H>$P$;R_|Uq2V%_RK<1vx=;`3e z_x_7cD)dJDTN@h`gK*dPpl>LQLzJZy|F6Zbufh5rSf05SAIs1%7F&CoZm=M`!`Vg{ zn?JGfSH@K9y49nib2pDXb_9&S%k(0_dIw86my@g>Rl>yA{=jJI6jjQH$w<`g6pVm! z$<^Z#32BI)!vufK$DRkQX0Pk#oRD+B7kIkwsY)UE$aE{V8v_qb2prO^hv_GI$TLIU zaRK#|N+WlLgt3{MS?r=ra=be4hxc{NlUWX9ChBva6Z9CrFD~ovGdudzl3iDX_+$x( z|H@)ZG!~avsh;Yj4)e(dcxPW={3IBd&<*AQRG`<0TIwLK7{B)fDFC5+wF($O{X4@e9#7s+{T z9tdl(JcM?Q+Keo*G&U7xC)jXP1f*x}zVw zU325iw~BdsCjnOpFWO=Z)ab`T8hr4KQwI;1q%QwbZf)&~@YeUjb11*ld55NenHibz z>_SW;4a#>kSlNc<{*?4NeRgMLj|!{uN!yan#;ZEmplkA$Qp&Vh#%geu0u!M!PQ|wJ zQjp#)78@(9G*++dgWQ~GaFzGYLNbR+=aLjLV)+@{?=YdlQTkEe)f{lNh^G(EwGhrN z&kJjGo(m4kL(s8d;ph`mmMnEvzSpJ<)}R=n$ORfZkQDj2ZAS|khI3#X1jTFIcJvJ>&Gm|3FD zJo^P}6N#SA&W@xjv?hDJC)^tdVAQ?$Lu(PAHa?`gfjK9)#BcOg6KRW_+G^sce zTqG`v_*+liTJd5B#ifIA(<|y*yDaiOZi@y-|H@eYg#RK+T}iSwmhDcEydNq;_bda~ zj}e`#J?W4z9aH}8NHsSO-G3zA*K;9Di%A0 zbF!n(&dxIIBP5SYMosp+Ruhu8^Y#6VBz?Hs zZ@f^6ZRO3|;@@z8_ic?v6&@D$g{=5T#;J76sH}~YGm&L;Y(MRUN(%T9-pZwD8GY>IdnV1}bhNS(rA4g1*HIa6hek!|JlaU(dU z!)(R}6;-!0xUSrzw;YT=G@3;Av88KXyt2PMtVzwfiWS}W6(h8azQ}U4m|d}efjaiH zZ?$Zi2m_$ew!6F#-TIk~W0t=Y_}4DbrU*CwyhzM{Ay*%=F?F>^jL03_GOhW~E==B5 zW4c}mz=hehKtLxEX*vgdD3?t<$VyM%bWAe#RyeHco2T)TIr`5YO>aL6f%)kQN2&Tp z*7MZ4kVHq5i<0&Uaood!a7k4>)R8o{x?h_2%>fw$(5Czxwy<qT~PCkq9t%k1c@D4`;}UwV~QS#*OvQ{f*5H|2&&Rj&c59#H&zf z;r!k0@c+(JX5st?^dt{ZmIj*x)c+lr_y1FXfY#hxoBiFSjW^4Y0aXzcK~*?UC_A?o zNxjl}yI-@kBtSjaU;F_zL35sTFZdzb1AbHQChx{FhEQHsV2@D89c&|p)+)`>I*74d zuc`Aza|PV9g(>z;$+XpK%`hLWb&+0szVz$kcVDsWCuJfRLHi1COSX(>4@6CQ7Q;#& zYE7GVr}DOG)m?hVK_yX1Y!6)|({*yTI|lf+e0~OHB1m1OpRK4n*U-!?0M4Eyw-6xM zB^;9Zl;l(X@r-Fi#{G7|PH3q^4Xj#pRxt*3lK}|zJ;iD)KLz>uFrMA3hy5Ns&GviW zBspI?)TD=pqsMQ0x&wD@zs>$;S|kuWzt?udbu@MsS#!j5Z!S1qZ#Bf2m`v2^im)cl zH1xhZms|_#FBQK>RVe7}`(_6Zt>bL@tvv-0Gos9Mb;?_f8^l7nsFNg&NcmdTQg>P3`?L^s7HA6xQ`&G+fOEY6p;_EQ9_F;Qzo5!jRxHCSblV_06O zCVZm-rITT6FB5c*wHh)ggP|fFL?7!Izan2|iVq`GxFHz~iEEe#6I*pju2} zgDQgzHk&?}l2bIB6Fb+vdl~BekRG}CYdjA*{!u&v*D)Eh_b~~Q!YY1s2r_=W za67t!cMNy|JAXFBtJT-+bt4NM+{Is+8*W7eg*3cb&Q-*Gg{EVaR6`}j)=V+8*PS}K zR*R1$WE1MOtAIT+gHZHoiNP84&6lpxd^Z&Rq36lg)kHNbt@cLIE~4yri3P=KKW}(_ zD_!`KXB6r?3ei!a$ekY^U-vwwmS!w^^nmu--Cu8Pm2-S9^#-x!-b!?x`BZ`H`wV}x(GMUxqX zkrTBg^7#vi^oBNx*mG!WaaEyM{)~l+<-ypnm`@GrfiY&G(i{J@Sd3f*E%Kd0IKZm_ ze}=%oCE$!A%YN`_RLT}|StIHpMYf2`qR%Y!i%u?~W}295qchez9nu-#K4>DhOieMM z6qMbQ8VkVifqt-GNy`_fe-#j071bR=^*Z^70Y{4KJSs0p6d- zU>^jsWd^m(S?|5;3E_qEMp>3=d#p#4VX86VtjgDm{FC7x%*x8)Vu^@pdi!M6!D(Ll^C`xbaJd@7SUk7#%2K zxbF4p)l5C~N{sTojirq;P0q-ElKHcXt`7gG;5IO%+3IEvzSJ9uVop!{KHkWBRkOIp z}KtqPkRsGsU4U zvmZ6`FiR6%a3FU_xKRd)n=E-R>UK|XoWAC>AuV%7wcD=(#gXesbb+W*cBT=33;uGN zy@A%AEVnu$R=dGy&$>LTbQzPp3Z#zr}EtT8q7@5LSnAEPnwD$)x^0-1rgft+rI;z55E)o(H%Dqm)85G0S)UW|ODBWSU&zU9980n(L*+&Pi$ zbsZMFWCoWFU-MzZ5ZyG5bWFr5YamZW!SgSS^V{n)TRSelW>)OtBX9*sWG*Nz29}w8 zgcVS1;__28r=<@c^$=@+J(#|h$=M|+wF$(L-ldydU;AYLS%!(R-rLG~n4(btUJ z;iwHaO?@byN8D=XiWgl@DLr{^_&}&v)>2rr52Z8oAmLdH-lto$SWmg#a#ZDlUElY-u2oWRX8o7BnBbb zCQ+4Ve#y<64UmoLVO%Hn=7;QkoVu>r7&`V!N*LA%1GA**$ zBsg?*ultG!$_1%0vQoO;z@Hnj3}wFIW(m1_>wyBR?I{*R^Nu zQ!LLMgaae{PWhrz*EzakKO4m>9|2-We z>@(hR{)~Iwed+wwiB!CV$XmB8_+U5>!YL0Hei9)!u zRX|Hac}I^>z!|3O`odE^)BRQ|6GLIt>Bk>>WX_6<{>fvTyn0Rwuq6(bJ9L*i?pcZT zXC-%W&?39H#d{#&lnyI<)Pq_OW`4W-RX`f&aHNU$MoVV8WxRr_UWOoLWTK0Ol zbz?#+FeM|X>ccgohOZ`x1;OCOgk{QgrKx+TtP3=gZTUT6R8z*WLrZakh8hYwuy&*G zmC>ZyFX(vAX8@T1k^;(B?_1;!7hQoU>Ux9{%y zwViBKYbCtwDJ=I%-m=!et4LpLa_)1(^QJp*q0F7$gZyR!C>i9hynC#@t8#p2Kcfzd zHxCGSN#EJs4rU6RTQWHs(kHiW_RVd^fjcab*> zOWL)!Le*y#Rj#KnbtUB6$zr0NG~qwkrD~SO3|t-J$bHF`QPWFa>;0q(!gg zKxeTx1$`mITV80_#|jxu#!NW3(S1JWd`)Q$TQ5AMhuG%?|x2Vv^1s=9Q-7C z5{_KekcDI42C-S16|{(~ZfBz^VpVBE5{ca2`oK|PR;k|-jg12$LWHr@MYZqp961IQ z@#)_JyrMT8&N4ifpI`Qwp*8+-fqMjL^pK7%4n6s{<^}Y0tC5Z!Pbwg`i()2UNYM$7 zbHPAGJ-Dv2UcrP@7n_}&z5b%`HhYHqwjafT66EBzh=#PTq2K!W{MhFJNNMf$8n-*E5tybwATBvr1JTvB?$eyzN7Ax)B!3`}`*H5#;jx^6*06f%a@)UU z=Z1`+gzsf8MfO`o#oQFdQBn48d2sfvjz_*sAxQjk8GB!JlD@PxHS)NCHrQ1TbXLT; zKy^J_ehjZ{lxrLCm)JWgyiL^3P5w6(QdKanDn_Is!Q>b7xf=g!n%CVx+y2DeAL#7) zu5L`ExluQB2CDMdUWno_53=Xk@2Q3_54HKM!Jq3f+p)m@Q$h@EufV_(A%H7^NtP48cu^?^+%9YnBo1P~RtHAY1+n{J zAjdXfu$@-n=x?@d8LB=U1arUN?5zBaHTW~-J^SH`%X@g2lRU>WC9hM{^Y}iugb;Lz zR4<+V0nG#i-Ot4Qu+D@t^FyEBI2z1$2C@CTM)USusZc|D@6;E5D!sqbP zOB3>F8%+Kopd5F55EBpxwN(V2h1@)>-Wy+mJb#c`uy*qm;dy8RgeiciQducNSLh)zc!5C-~HWQ_B$_(`(Gw!#^WtaChc!~Y5W*h z*XuPmh>0lP$aEsb&mZ~>D&n~HnYu_5#w5_7P|DA1|nJ?Y~YCQg+ACsTebY2z*py#Gkm^8@_0_qw&gIdW#App%zv%#?Gp zr^Om;V}0`7v6)-15$rhbViSY9So8$Y4Xz32=fw%t%6mgzbp8MyQpnsZjJrD`xHaII zIa$K~t@3&xjasryWlV)%#&X%F1UkfO-CWTqJw=%NPmy^<$w)}4mXQ8dLq(l_#*YlRnmh<3?+Y&5Eu4zjA zgEUUqgo;^pZfE5wEH!RH{Wa~k(mFdg|JMTq1-xrp1Ys;(ABL>3-iw-e2JQ_8r;;*N z>nf6@wPk4m{1>-FM+xsw3gUH%^LsPEL^Lv&KJx^B} zIc+OG=wy^(*X(HZGZKmcM(qt^@W3Y4toN=fZ_obDd(KGade&KY82}|34rTweItJ_) z*(qePdeXODzgg1FJo^VU=2)o%)GjkEy@uz+r6wX^k=nq-+3RW!Ta|S`q_s+LaCi6F zO4a?2O!(~m`dH+V3I>2tarF84*6QNlzEq~BQ-oZdHq&}L$h_=nI=@B?wClEOufA$G5G0sT`ImNC`bi6hS3f7TGST z{_l<@KgvKYcXSOZ3oe~zcjKXlRQ;*r9rEexKV2&=M>udY^XyL8Vna#dHxV_Btyk=Tp*|4s~;zv(+;#rVlt32b7js&Gb`A1Z1bti1t@=$guHFHDc>Kl}m; zxQ8x(o8E=V%+J+270Bhe%6%&t?X~vVxRur90?A}gsi%%0BKBXyzB4ozSIp33`W`z< z(3zoU_5C9#8y&2M0NrnoK)E`+WC~7_YVZ*6;9JljVDcS+WZG{_MWLfq2y-$#?g*-1 z-lZ2fm2og~+GhtL$sYuew_^HD%~^86_H|J_Ck!f>BeQD31Ws9FH4ESk!u>O=fGbkW zUd>__QBQM04V?K$n>oU!&x#LR6)q8pW*PPst-W;JEFW>{Mlbc1`4*;o+kTVQvZobI zCMrwF^WE?lV(8v|rX6te_-GC+z5NZFSBs8el9^jQ+0nTPA0frY`v}ilZ+F8-L<^Y{A!!@=*L5jT^VOeE1#9F#a8_$;Cd=j=5; zJ_?+_uIaXENP0yyV1txvUp*Xp;``$ZIugkpvy_Y+K zNy$04a{JJ1?L}1$E(j9lNidLSK}dGA$IxfER=VQ&M?v^o>Qd86%(qVP5hE$ZeN$R0 zGNC5X>P^Y}vk1(+b*y*7b|>wCNT4gG2!@@D1D*s#BQ@gCDoBrn5HRb z;LgbtiwUiX9?O86`?`4qt=9@`f?z-aj^cQjX6EoBIr5Q3qk!-gZ8xDZJH4+=D41j0 zbC;V+vE*VK5vO+IdL(p4Y1yHTiL>13f1Ul}J*GzIXH?e9R!I5D_i0&whH-grGPyy# znLM&e@cjB)yB1EOkE=d(jCnx#R|34)*S>apRs^P?J1%--`Z^)4f0~^fBtt3(PTeS0 zdF#pdOr4Fyxie?3kflI)6hHWKWcjWZ_;1Y`j8G)^u!BElSw2CQ8g@(~SSd7(d~uAA zQanfq$zwUqdBha^;R1cB)%|1T1^fj0q;$9}Wc@Ek{ae6Rglp?TAltHN;&Lchtq5Rr zBP!b}ND5B@*6B9sAJpuwOhF>^7hn#&#bzZSh9p9yDVdueH+vD)$jNF|Ia(u^>|!2&hxzUzm*#; zQ;qq4KCk!l^?YB>nP(b)9dkvI4Wld--yNR{f-&kBcOd%bw8lFH=8KfyQ|qMpfQdG( z0^xADVoN_s%>k55w5Ik#f6UE|c_SdQP<7DBjag&FjavW zM(i?bhXpdv*iI6T4WWu#(c-YT1bOzMaa?U4T?{4-41qveeJ?73B{OFq04kFwsB$(q zgbO%1uZ7{C5cxt(EFm1!v={KeMK^>B%b@e%&uH`po;874ZN)!#AKV5_08Qwt%F9gc za_2R;6R1*qg9}X7jl9Evd92kl-i-4=Pm@8nh@aXI)x@B8B!Dwc#JnOdXc){D?J1+R zC8##t!rn+lV5D`^x+2@CBbBShG9y1-1dIe2J%O+Ck-u)pvLtvZ7-22T^lh788d7`s zxvgf2PF;LQJ!AKW+}2?X&}&2l<&;`f9jNm5Rex%k%zg0d^+%zrC^}98e>#*_fNO&{ zQUit36L|;#tw+ir`qNj-?1kBYe-zXR9KJ0E?pQvZ460 z|LI*T?^oJv3oDiqYu{7<*mYGj^ z?CZ(SUkP8xQ65qI2qfd>M)h&!6^!npod%xquY%?Gi*7(AEJ+0ZP#D86EgRK?;sR}h zz~0&)<2!5$MiC>fm53egCXlLHzjxPXu^Ww-bue(i8d2bMZLj7<)%_n~wW>@JG)%w* zpd6wdHGk#JdvnBS2=ftHROMZ9%hYFL|C59A55Cg=1(1```lF2xd&i?+#_Oh%kfPUOhjBkQFhyNRYl$V0xCdBxEcFqM zn@g~~Org`c9192&j}Z2VT$Z}^!2kk4}i9x$3X;ukIJ&}~|Y4JH%&gF-5!4Vy+k?hk1{ z@oaY^qD+a_4Tu6x1Mp6iz#Mh_@KC*_-hZAcc-D)J|9XIz@o!P%6nSuVULI7qJ>f-} z=a6eH!pg_#Bk({&%My_S`f_n2tlsm?BuNBH)WW>h6~Sve{P3k&ZrL;Do`SpEqkz@J z^DKzaD=P?lE%EHV!NbV9xF)?vQv8};h~<1$fDDC~XWV~z=vw#w!TmeYDD>Zma<7>y za1eG~EspagL*jBQzz3J61XzZA`Ev&s%x>qVo4=kW^RCRly()XLfvwr8bh(arC3R$o zXI79V{!_VsW0-))j z*#@e0|JN_uB~vR`0-stttbZ{OE{mlL$*LtfXJ4*aeOi%8Qy2eZ{J`mW=a>Psu_|Z$ z-KSR&3FuFSD2rYs3YC1NXvw5Qit)Sg?2n(R}m z+P*&Y2=G!ok$6z6VR8QMYwL{nRg{*#(terk>}f@wLnY?!hSR3;ujbs)r`%3m3W?e( z?70$Mx4R`$yL8ve!{G#0S4YE0kJo_|%>8zpki+KCB=X zbk#lGNDwZT2e6)y+DMeS&a~fI_sjiW6hm@DDFW+vlJ|YX0qKx#@YkJ(+|`3gA`Y*9 z$~-(~5)CR^&lA12;0J6--+dXR4$pE}8>jrVTE9u0ZabM5T@Y%E&%8nalmd3b$w z(GkVg(6D0Cl62>ODH)lx@hDfSW8orx>-)~Cp-k+?7hrb4vxo!M>|NqO3WG@0djL!P zX;p{7?m?zZnWN6tC*fF&fF$90hcc)^>7d9lh%H= z*ZZZ4=);51E0i7Y{>r1z1_5$f{WVm?n?o9G&MPxNffTjVr?k6Z6T&vQPmWnGDB+su zE2VS;=Nv?&@R&>a*1Xzc-2p(TR8rXRNO+e}TyN-&Gi4G$2fEMc^#Jj}g^+#kCK+Hz z?|O8NeYSF{ODMB2Eq|=UVlY=&AjxU`?OmL4_9tE(l95@S3O=zf;3aLftezYs;4>vN zSMl-^oee!rXyD1<#=L_X(Z%k_bheO{vqDJA?43ShR=+p$!_)e)g;ac&DkZzXJJ=Ur zlaD{Wk{$GxjMBsu?&jm0uVjbBY)OYs%_PH)V`U;fg1fn>XJr@6UUEmk7F!Ang@B{3c*8b^EgVGn-g@ zU~TQP`EKJYm;upgeJmHw;I~*bF`Y5AG5$;HE?lnHumK?lP`~GHE8%6W%!X*}c3FFu z=x4GmfnNv^fsGYUEKS5Y=f%&>MO(Fk>nk8|qVRShHlY>4^UTg~K|2A-Pa7v!#qn{6 zxSKzwy{T@QWcFZDxc3>UPKiPNR>JwY7Jd+~i|Od@%c}Q&7*=kiJpXY>&E|F8I;daJ z^9}Ye3i_{~{wvqUaDXV|{U1U&or6h7cX8E?X;>X`I>w25sR^W@C+_uGg*5%!h*0 zRp#T_yBX!Zr^9=v=mOIw*~Qx@3NqSs^xl0T`1CRd#jsXl&Wvpau5IS*#rNSjIxKfG zu>X?e4&{mTqlix9Vatx?{pMt;E zB+$3@gB-KF-x$osR9!4rWK zCfK_~b=*usYuKi?L41?!secjq6Gl=c(~0`+yP0;mBBkMm58;ix4VowSa|%=K@E*#= z)Z95Xm+-rkn#N?H6FETLN?x&W_uxcLO?W3LP4kikUd&xb*3%l2e%7VNwOz3>ZG**UPu6xh*y4sqw`USa4N%^+Qm5Pr*J76UNh>V`_#CVJtJR?&`W0zi<~(uHy$i7Mh-O@9Z8;a~lqpm|i|&u^zwe zVshI9JMUdrw`y!YIsVE0oz8vvPiU5>IU!1>pcOeAoBhs73R+Z`T~rQ`>2)YKlnc_r zz4YoxbqjWyI_X?k*Q52LyWd>hOpM+T8FesJ*Tqf|+T{|(o>B%66Cr#FffQ=Ce@bZ? zP1co}owfU*_ayydO@X2IgUGxKc5Gf6iZN18@dqoxOaFa{Y~!E?rKh zLV*MZkLnF_Qb1dcgax2(SVm97`w6lH^Nu7w&D#V9|1#&ai%mNr99{h~(?C3v?5D*0 zE5CINHT#_)U+h)Sbffx4D)?P2IF>PlHM9c6M^eJ?9|JQbEo%7u`g};T3!+^eqcB+i z2x^4l4IAR8p_sTR*(C*nyqp?p!@*?R|WgBrko9rA-cK7h8J(Q zy_W;7k>q?E=-4t;e(N^Zmvdb8f_K^Wpr3Ex%#$ycsVaK}4&h?hx?$&uy3Fm-W?(@3 z3^i_4tZp@KE$DXpDEk#tCVwh@DzbP!=DmIsQJ(vL7UD0xPDzH14sVP!B_uqfHUlCr z9_$5p5%byLd=bmHTNCO(xe5lr4HS8PtRm~MQAUubb4SBIIcMkQ+pV4ez+nUigp)~l z6%9zp5T#!zGW8MYZ~Vox`84ncy{dt$j)Zyq5GNF}(#?eUyizxT5Q_oA z#n6MB1Q&}q2z11U_(X0qnOqT8Y#ekw^2YJQS5HMmy2rH>rk;80%CJkNPy{W5r23aN zz(9E*$mg@rMDS0@PM)ZOL~t)VbUm(*&T|-Zn^RTb%HDGC%~y5CM8X4Y0hb8;jEx&G z_|6_xon>@P}PA zTpozy-P}87j5&&C@+hd~xLx088$IZ+Q%!E7)r`LV|mvzWW068`oBDIE`{}4ucdz17tSX`3a@+{50>rw(|2aSaz_^Tn;|A zjq15fT}++D1ep;5`-7s!@q1j^zjAI+dE^H=W;sRP1!?i|JUhrQx%GzZHYOJyXs3)& zkd-~x#^<3mZwwo!N650TqGkj^_MwoQeAo;1i?`zE=7V80*&;?cOouaxs5P2V)pz z0c#@OCNK*YYGbGP+&XjFSN7~9buRJPFp{H7Jh-0Koqr>=Mf)c7HS<%E1E2!3q`xFG zHSzT9ea~mu7}Xt{MM-YeWSC=&)+`il{9(~TuBKl8e6RZoMGy*HQw&(d64XeE%cr7( zC_F{rRl2^9qspu28(N=Mr0>bHTl0mxzPp$FgV-G>#dq?cz89`JyzSXF-br3EXOOf% z(vpW1S7z#-FAr7pk{Z>W|d9y02e1xmhsGQd#CjM=||*-HsYfH~qQ@T`k%68W(Y0 zS)Ld7&vy6LSpV_PwSgq%{pc;uV4Ze_kdXf3FVkyja`9bn#k9wNO4K>8q-POUz|7|S)KN!(GzF3;V2Odr* zJ<;cUl}xNVdeR9LKPs+J9Cw7}hGxy&BAa1aMPIx6W%+O{9D| zc#HYUc>Q!2UHCY$Wvip5gi8FYOO7z8<3>nE{O)JtY~8_>3vWIv0$UqXiHM$Ew)8PA zh}0L&;X9sX`Hg`YMxRX67d@PwVkyl!DaW=})t1iRx0TY`IK+E@gQ(=oq4x$muaAlk zNG)yd$Q_Qb-ub@Oouh4~!#G<_oU<5MuDd*g+y4IT@Kh|NwhmtrXU%(_v;UG$qa2}o zoV;<{(^HAWA`hqVL~Iw~%tu9Gc1v`6=I_I<{i>RP2rITOe^%f;y7qJXr^#yOXAiXY zRLYgIxj@gM{#y+u+R^@iW$RaE&+e6L5`LWd?Z}BL5^K+koUmjy53Bd`yhDKh+^|Qn zH$tqM>p&^Qlm{?zhmG@>`+eXj(je6rxgj-r%(Wb9 zd?MCBsqoIVs}J3#rQqb{E3yww4U;B8@;9Hz5YK;D{3kNFPyf)&;`jrn6$?7()SOND z`KO+&JE;3XC$$b-Fh08Dc^`s+D?hF7Wz^Tc8_tvyP8XNhFVj<40)jMHeIWYA0ivww zVs@L?$y_#fa2dTl;j{YwW$l&5`;|TD51+RPnoJkIwcg)118^gRwz2nP7bzNW_Q_x% zkjWP~y1OKude^!1ds>xI2>I6R%MIm!P2hcT4Pt;sEll&@C#sS%-%jjcFkuUWf(fU<3gsRGO zJU?-U#uqrPxuQmMoGj5STjbxMj|~gamVK-<^WPmD4jTC}{x$itC<#5^@l9Wi5IS}M z{ot~#xaD~1g^qG}?(rEJFynkaqNj7d@1jgY1kJGIKr0kJ0L?hssEKnPdv5@Iy#dD*$h2i?eYaZ4#*(-BO;L z4h~qYCt~r8j638dXlr+qI6>%_^<^ujk?R0Ad72|v}dru5ZCWc1V;PqI`VQgE~rDGw!6sw8a! zd^g0>vn1H;aWZ3@t||wQ$rTS6O`MS;Lf?a&4jMz)uZE8V#qSwPGh0XOl;&w)y71la z65xHwKl?{7`lPfaCN9y3`k==6!=DYT|D`99lSaoLlc7$=fj#d(qlT%0iNzo<&iM zd%-#8!KSG6XO^5^Ey3u@&LShjm>AdT5BY}VCDFO4LN97`iUh$lur>_c&A zaqq;Fv`j;3ib1==%}#|KFRvvu7-@KCk;wuNxWtQa-== z4<`7ChD2R()sxJ>C6i^xQx05krg67kS$d91r*P~qVndj_LB~5tK>2L~j9<3%=KmaQ zY9;hG_@>BYQdZMm9-3eDPo1&2yj-x+_RWJAE9csX<<@_xtDkFp|IgSBQ+fEAD!<2! zT?4y-{r>jbX^(MMp%6~4N4U~;dLp)|VyNvxwl%DW{ndi)1d;1PQ+ChIr~L&Mzd@x@ zIw{;7hY<29tg-^dTF_*un)$9m3&^@`w@e+#3hv(;fgT9sX|p++DdT9F;{HqQlcPYY znA<2ugK}kc2+<8_B^}2A?1tF8_8@grbQ{3hRK8(l1}(MhaXk$iPGM&W7Nn@3bw#6A zCy3m<)?!Av-Ir-TKE1H%aNM#jQ;|RP&jl_qnItshvl(gtd0RDAv?z8J-1(bNR(4zZ zv*x11+ipUv9hA2KYL(|98k7_i#Nb%~ZTqNKbMT=+Bi4@nob1qMv8|Q*hLPU{au@RG zRP+M{#CMUIu$Oa$mi;b#1|X15VF-UM21qYn)XQ_3xK|P{z?M^f$PVpb_`3??zHxjb~@~>)meNu@?H-xF{+Ejk<@&v}jR7uhpWqqpn1RkV2ftR#h zm})EO5wJ_zDVWGlGUf@>r{3w6cnEHabv+8nd~{ikS621x0Q^i))y47b5^Qkso$u_M zARhf$?IoED6I?}I%E2&i4n%ut{6qOu7ze{efo>9ndkfjb6fM0HQ1FF1{A{4#tfA6e z?CYU_E!Gj3-~+AZIRU&UQd62r@9-ptd3XpZ0LZQO3U=-Te$I=Ma!)5hWJ1HK)@VpY zK)G2Rz?udcF$3P19|Si2S5@}h&!-SWtgr4T!x&M4c)R0}LX15-tCTI#wu<;5HfT$Y z9z>I%X~_kAVDzQ8jY{$1Ab93v-cQjE>{OOTw8^pIl2H5XWi=#6_~|ypu95mzQBm&P zm1uOIY?SM3eQ=}SvRa}?h-&)|wnO=i$Rb-uSQ3asW~)JsHacS1v2vColkx2ZFy6PB zgCM#yLQO7y64(VsTiDx0aV{x=gqv^RY1hh2d3AS@Q&Qe z`_kipv-tBqX9v-0z^@HeQpK&QEQ{^_#Gd&G`i14^mNnS%aA2)Q_@jCTu30ru*ow$R zK5z0LF$(5~!nvuBp2K-CvTa-LmTASbYbtqI>etyW$Zlj3j zR8J-eDKMYzXQSPH5$CeOGfH{F)%TPzz8yy>VEB>)%=W)S$^|NPb?Lca>zLvEUE83G z=IBzyy()trHXmEXuJm~^Lra7BCnNZ%CmfF+=Ej_kvGTr;I>I0Y>n=;Bkd6i`MQ{9P zst=mg7R@AL{CInS0k~f9IEGA`E_X55oQ%a{mmmN(w^#gW6BL`)D!<%6478uQpW|E` zJK@SF50fGp@6tk)t46XL-s;pVR^ewcun9V&NZ}m9%ZqHM)2OCxG+|jw%SOcxzsnzr z=&w}_U2nJZo-b;JEK=|M#QM+EP%HNfvraa9bgORS(Fz>qS`+!eowXFSX#Y?kmCG~x z72y6FW0Gveju#>n91ssEf3vSrSU12`Z-_LJE1G{NP!U0wgJ~s9d}u#38OIK?q_~`F zXf6O(RtCh2upxplt39}tG`!RMrw-7pwg^Z7PCgAhDFioH#Z5TE*N==gy97#-f~(@Y zv5y2m-N=Iugo4M*{S!JeQY^jgp;-Db7pL$$7wJ%uJ(pDue6A&<|M?#u_W_k^9}upt|p2Mn9~&9Nr*^C}Y#5L3`qegIec?%F-YrR^*BEBQvCNihf0*^wQ<%CCqz_7h za)lHoLulWLa0cQ?JV%98w454h#vMrI=17UrHWwAu^4Jh9RWOZgv^|dP;19qy0nw=??DHf8v9)W^V!yqK4L@3f1sJKZ?;02&Jxx%0e zANuBST~u4l${Y5bVeZb`T1-d^OmceK(bYv$XQZLWnaU4qU5yBL3LOjC?-V%mp`1P% zl}$n#XFVSxpBTR@f*bL2&Epv)!WW~GfBF}`O^DSxFA?J>f)M3Y#+952MS;uI!EzYfiO!(oY-5vp;mmD8CQE z$=q|%`SPrR9QlYYArq+ZnE|P1Y!2vBRs(I56xNl<1Wg&ST0goPk=Um#rq6#KCjFC`ux^F z#2#DV^xZAN(9a(Vq~kR`03q?vyLS^a>wVH=NezxEvkPzQUNb%8D0Sarv3TcVZQiE9 zL~y!w6cIo8&V?d;SBus9?u2^#w%yfMiso*GE=(E1(@ZNh6S=kccgyVQV@!blwpQ=# ziS&>Q*)hl3UMP>tMNyX#T?{R+ce`4z`b&qa2>lW&c`EiPf2e#qH~BZn=Qk+spZ8A_ zItAV}Jeu&~=ZkMQ69*!eAC|oX>B<|?TNbW&$J7Dk)IjN-@t?AlZk|DQ zG~J4!ooE%!WlQhZM!c-|q&<=*c}j14q@Y=Rx_o0wbuzpHai5BSms&oKU|(X7d9?>; z8MC!R9PW$#t+yfyU%)s_vPQ425dO~p-*dtLAGYHEC|l7#T$?GUt@r(VqN-;?!CT@| z9#-`)R??8`HHUzcU$6?ZS|ZC9Rd%LA%CzrP4C$hSl=kE>}=o(sj>-w8SM6#3%h zWYf`M3%z}1Y11v0`23_gv#O&!iaBwoZeAheX2%NRa^b62yD^N8`Pgk>?*`EMv>m8f zy?%I_Ss?%{_<-}0w%BZSic;vp0UMC5vWNW5FI&hK&-=eb;}mfD4Yupk4u>lgokhdM z+W3pw=$gIDiOjD`-?0X>+L*qonG|iO`q~vBY)ig=h*pTskAgY4Pvl`&6z`Y{!raC9 z2ePbydu+zSdJxc07pR_Us-nm7M_>AS$+^}tz2nifgYM27AsZTK1=rg4J8NGC1Y$ko zZD75dC+z!;gfiH0iqahUc(_sgS_ks+bKZkKbm~rt(L@(aakTDa zV(2^_-`i6Uls?Ifi`F^2BQy2U^5NzY*9Oix`*T)i9$~KKXQXYG-HmWMFVLDwO{J$; zmQ~9QXGAIloAojEA&MF{SK&!s9gKr&+COm`mRkTWTE75o&ccjMyzxlcy-_`{##Dy1 zlMccU!q{(6S;7P&7r58}QoAe(y!|X^w@&W&&7}{nT(wd@vl3cUMr*YIF_tkc;@S-zkX`8%3LcVr02slWWADbEh+;6$1=(ob!d9?6v5cLjM=DpX=n_4Lh(d_M zY-UlG8{4VAn?Q@>X(H>dug@CBT@T!kb>^=M;IX~nG&S&x{`-L*4BGLp0uS=}uHWHB z9ac2v<<7Pw;sBj0al2q9B2s>}ZH7UeNxNhNt`w2IV07!T_ml3cFl^WCWBFkq4*_Bj z05-R2$X|=P81`ZZ#H;@+zw0B;5Icm&pNbyr`&=PUS&3$E2;bj26)l*vkcn6;>JGKp z*a&{iaJT3Vu6VLye`s@cyCF_V*SUM3(Q2JArNGHq8heR@sMp_GiukcV@*A{u;M3Sr zpNS^!mZ-0IGPDai#G>ipg^m|e&o4(1m*k5w#s3*!%ocwNyh~eVKG_G{)4@`_MeiKPHiZk=d0_8{YFv8q!C1x}{=G z9c>S#)A0e#4+XM(Hr+74di9sw zoDx13gl2G?I@j5%(lS5f}4f%A}A9i(i!dbH(+g}7xznR-x zHCPmji4FeAzN#fauVy(P!a8U|T4-C3Xw7p@0{z>Eu2yZDUexMuA5qm zeO*V5#qT7xmhO*P=+UPUqT#3zTj%C=(%8J2{p~SHHad9!EmNIi5YQ4IG%ALRshAz4 zw>bUzF@x@c#4xpZlBKKy6ZjZ?ymG!*eRAf}wRJ-bhLx9(EM`NxABQL)s zeKaEV>7?5ji?y0wDr=#J&*Fv&!a|KLU(K0WwDQ+%)8-c7bA!2r4I?Bh3={3yKbKAw z)p4#r1Wxr{sV_5BYr=k>3E*Qn>*WoT0*?($K*YdI0vAsWMjP)UmZbqW6BgBc6zNeO z-C4~6r!bH%GhRxVQ>C!*tnmoVxVKKgpJ@1ODJolWpgxf=QAH;BC(zPc1N=%A@vw}j|lxZP?M*8!4W0@Hl0TOG-0Zsg7z9}NA% zT4c+*$1yXwXrm~qKs9ZR=qG92O^n5R5}lR4yfZhg?~n>Rw#AA?LitEo{MK%P2b+1q z!rkJ1cwRs&4HX!`b=E_pY(@=-JOF%x=l&PamuI`@`guuXF*)y9yzoh{gbSIecM3${ zN6}l@dVrQFbm!;vsNYZkzN2#2&V_P%Nlwfaah)opYf3bzGXz#hZ5kTm(!6V5^g|%! z>|hZ>cyAq0eO(810>*E|9HZ82=9zc)fHAzLQB*?aJPA|Tzmo@Rq;E5WqyizxJtxLP zTfZwR4Zu-SLE>tA4#>_|Au%z#pDc1ig3}E+M*ANR+XECuxZ+>hbja#!kq&Os__?D& zHa;qo&_I@{bg*6MIhEnPBYM{p{S#rKn9yzyqe<|Aa^&^2u(+I^BnvDs>aDlcfpK}T z&M^07w(5$U5LG^rohaVn^$5Sh03t~j3`8J-Kvz;!_Lr7eXfV0}1bZ5RqrqlQF8_Ca zR2G|0cZX*G@9<{;Fj4pPs|TydRS!V9t&7&S`ZqNpgX03}H{?{g5q_Jlc6SR(K-g!vMd4b4I)E9DGxdRV?=Yt6$P@7v3JRd`cm z4X#8<-nt|}1@!AtQhT{ebpLe+$N5%^fS*^$ckQz_dYoghQk&1pCL9i(VG_y^j>1r@ zJPvWG<>8+%jW2bw`CZIUV)9V-FEj?We3|?PZDcR}^Uh|Uzec#5U&*a_<-F|Q(*59S z%#YIhQby(`ZX5o@!NQn>OOl5M-5w7ORBgd4(j%ECnG>7T+zq7NpK%jU3(SN!Vo5u@ zGKK2U@eKyD5h^Sf8B>~2;2H_)5-76H7kY=JPQqE zHvTNH6}wSDmnghLc&TtlT0Kpf$@D4av9rQyB zz?#O{545;j`Q+#ADxKwaJB=U!Txkrxg*$1vUcahWFj0@V-h1Zen%)sTb!N{2q9z5UA6AKPn_3vIjF4pN4sWHZkW|vw^oeP~muW z9v~;olN~wVhnNIBE2RQMezlPSRct5+5;!OQ3&!BOtYCcS0&VwYxQ${~%PcZ1+>fbQ zap2$dgh$S{UogA`>f(|>=h;Q%-_5x?hY&f)3xF(u0mp>qD*%`X8{knT6gf+<2G%W! zOayuE?(XJKCj7CjO8n8?e9sb9z zl)^d(arkS_BRL@1^v*&7TANvF`_czNSD?Lee8Jy%?DRInPzSXz!kL&=upg0|D?j1ALqb)^Ou=xou^q; zGMprd{B~DX^oLI`JX`Q)BIr?Q-Hojd1=6Q1Hzd~u;kGb?g{r&TT|HD%Xbj<=++!be$5-SaJ)yzIe+#E zt`rD-fYaE589e;Co)jFZ&A1(JY3y?|so;%<1EZ#mK;&L7rU(_F=hGK(Z8%GhGkN`A z(G)0J>+j@+Id$}8Nq?b5-6Ui7Ey~THg*GLUvU2ehu$GDu9h7tW7&cIVh!#nuZ~mIb z9lJjmkdms;nwf?)K8hZEx5fT)P5s4YmOXcVdm7my-RPBNLOa*Y992TYnryuDT$Y8p zg-}bSw46G#o%QrjjbhjB>E${%e#9{Ig~nu(gYG9wM;j1X4}`q!6-bERwO}l}p$x32r~c1+dH@xfYA&V{ziJ_(zr{B(eeiW|n+oeY z;Vgmb+~e#Sw}9%_`CU?jQeaS#3Qg0)#KL=JuA z7czK_&0g0I`j7)Wg9{DGnuX~8kp@Cc_@F`ypY?8oO+&Ur<<$Ot*&92btp!FhdLk)Z zEL-m`RiEv($Ejv<$3c5atQW?UO1$)c1{C-*uC=L$BN-G8%wM$G#gewl9PfDj7~L&M z^}aV)7tBVnLeSka7r(~;Xl?DgfKB5bVx+|M#kIwHd9An1TRv3foMMkXE(}j2eDrtH zyJeg6d@1{u&JW)B5w1*R>)BH_vcsiQJr#|8En=DW9^IV?5HgE1HE_Jph9FH5G{5m)^xpcOD+>pNLe+U)MUN(mLrBr1zl9W zJQ9iYGX6f~-eP+-xxa$I*vLfpqGM#B@r2r3=GmiWXa*#)meihM@yBONz zp50fAI5zbSZr$iZc9G({YmW>6&N~38f?6~tX5&VBy9w5Eq6#4AH*X(2?RqFBevi`J)` z)FjugH=fjqtk2+MnFG_O`W{DJWr23+c*YKGI8mN{jQ9g@fxOKaVP7 zA$*Q-F2>`*E5h>f{YC*Yv_`5IF!BO^WRcPFTQ)YkB&=0Bf8IYFMiT^{XixGEGOVt+ zFBo3n!hf;tt)dUb=Y`cPac3Q#Fipgq_UY{}&sp0#W-$%R#PXXTRL>cC4=GWb{XO{5 zVOm=J9KbiRv5i@%8?RMM*Y_>1ADW3vC70;`7Ha3F3 z>?#mEgG-v1J}m0aT6;MmHB|1k5N{vc(CL30W%#%SWRtSFsg;^~?s9w5+gyAoyr{(& z)RQ^c0q2dA!S1+>hfM?K;gV;pCJvhx9}1)KCMFK$jhH?)@zVZ~Y#eRwWPAp6MV>?! z6=r0zyr{2qQ25PT_L278H=O1g{$p_B8~|<=y11}}s{$j(3~jJ5=wSj-?`ip>Q!nrf z{o-fFVujg(KhZiscx!IA*jvjCbZ!a0x2`P!_T3N+T<3;8i{cP`$ps3STh&f<#~E5N z1p(cyvWfO-Pu(??uQ2Kp*YTEKcan4h`o&(k{#wst(+j~q(x;=R=>A&aeO&E_D;;0l z*S5XT#JvjU@}1uxItlBb>&=u@IHk6q3~dNl`*3h<*@ux54`Um?+@`UiFp|EU@&<2Z zwc$AekJ3LPiwRP;u0?h&AwH&CGQUT#+`AJ?aNwwEDnCm9Mvxy*xnq5Y+>5UJF-}_Z zeelZr1Ilxg;%Q#pv)C&TUn6~43zb%+Q?>GEVrtkTkW_*MM5&_DK6%I~#Si80euFL& z)MX||PRAR`w{Lj=A?Sr)k>l1o+emc_Kq9a0{UoH(5+m=}UV1qfTPZ-{$Ul$wVhRLz74=9# zl@X$@`ie_5z|tOBJVwR+et}e4Mlo5@;LKyDs;uEJ)41)`T@EY~U>+=7y9Mk1@?5l? z*9|rba4KS1IxOR(M!eS-KVdOx(Ec4tGCsjljyvZfJwzF@L*Q<3UAeeR4R1U4av}uq z@lpGF6aiq$>e28&fV#eTaqVwYsV!jtv=48p%us!?VicGN;W+qwBihVH9+xniT)fNA zI_BlhA*uxl_YT`Fn97k@Q&9xRf7vVOwW;s+pn33N(<9Ju@dDv|ZR5qj5cC`}^5IWi z<~!WLO>20EmRJ+9*uySdOwkn1UeFTcXtTVY%f+F;2Vyy_3=5YUMO04Fh zBm)-=MrJsF7O>hC2n#5}>5rwQIOK`i5;U(>w%S~qGMmEoWIj%Yha#kP2}kj`9=GuU zIld5|3aZO@=aY~dPB1_FOSOJ1!;V1jPmE`-zQzth9VNfJ9xcJn`Crk3i0v2TZClMk z072ijalQJolN1{m6jB(q1C?qUBV@Mt02qn{RYIr)67qp*lTx>;VE_}04VP-fQrOs7 zTa)u++d_`0W4T9pBQ=pmXQY&MA-S6gXV#f$>&Q^uIY?IDr8 z$-2g9K8boHvz3Zx{*08@ELI9)_+NuD*ne1*+pQjnVMnOx1ONOf4=^Y+7_zgf!MgD& zmMIM?gs)O$V`v1{gZ%~_7f*sRlIL+9fi{5C2=u3K^PrVnGzLC;*`Gr(aifMCs5GV9 zv1)vli*@bd=;RuFOFvrb=&>G)R)|d^3M2*ViB?PaR&mVC>=jbS@XmrmlE(~AZcTU{_rLt9GFx2{yYVl-Yj-+LSId5R;9i~#4Lxf`Eo-wrc}Tt7^;xmcJNBJ=EC^s$^d>tPFb)0aUxkvi znrhkJI?XRS{QEq|&%nde1@7k%vdDi~Cw9Sp|0x}*ifEHO_LLuOXFJ)}8-9z|mdvZL z*k!X06=HX~`rP_?aWNwkw3wQ|2mq$i>i3T{>j(w1SviP>vzPRl69WWm^}Ry-|1KKE zoqFY9rwb9HHiB?z&{;wTUezvv0xF0leQUI~L2;-~IPxSfek2nRfV3o-o6Oij&v27) zIyK|rsxz(xdYP3uHOVZSDAPv}D&`Z8Y-c%Vhb7&@b#|cpXU+DCcD%XXM7;Hxkj3a9 zLCc~?GERk6qfnJ@CrIVzN8^^b?}E-x5bNJ}#^q^{TC?La<=C|W zUT2#$!&DixIJbz3&(R;VLa)F2(WQtv3(%IS89^pM53Mkc0E+b)evo_IJDhc^wH1K1>3zR-^%>ZO9blX!>!EyDqLLl?)G68c&6;vu zg1@2~i5pCYC7XnHCA5<;a^8SXbe~FLuvW3=agFush!8Gxq~Q^$4cxE-z^@40BXh|s z?0t0YeBi!--yos-s?7snTolNAY$Pw0{Yn4i>u=CtVwPO!>kI}aRkv)M#KJs|Q9mR! z#AFg6OpNqr@ZjuO$2aH0dV8oj##^&fACN!;saROl zK4d{L1aH6_N>9V=tjkDUZ@*tK`UB2EwDb}gkYTJ~?&(@&$u5kap;Thw;Y@>d2KqqbQsDE`TQ=Bm z99Kcr3t6W?&PB&3z!edp(==Nhk(D2tZWPLxLYW2?T z_BPMiF7@cGmsA4cFDKi;>`%3VSHKdPxnX0pW)6EKzLCdjMOF_8592sbChUX7P|24G zqJRzA+w@bAxwVn++CRlR%H|r}60D2r_K1Y?a&>6VMKxCEk}6VI>={96`jvZBvsF9@ zc%-fDm;cTAvEZC&Sl}FRCMow)kXioe)WI-@r0DF)JF-@>&an;ZZ{IIY81c~dcwnTT z18fk04B99?x8H}{e3~%IS(Vjf!`zK^rwNx-Uajy4qS;&w5p`pdgS(%`to`wu?kH)#C|;k5pMne2D-b3g#EBy_G^b>Fu_K|RFvl)gJnK`U4ozStM&(nH&P50u z$pM)cOYvveTK1NEUi6-4{kH#JOAOi2;b6f6x0@t6-9uMf9wMyAVcIgp`WqCG>(z2* zLG|j!&u)ovz-!+tOGMADtNguWT)CO`bNI~RQvDm0vskyb*DP@u_PEGGdwTNnh3V9L z;d+0;VE_M=oBtC^{cj1S$})}H15wz-fS}8rh=ugb{@^ zIN25mZajKo{IPh5L@3>Pe;;^Jxb_IO>S}PM0O&W!uNe3=j%2@ZE}7HbUiJTB?aia1 z{{R2)VU#7&LX9j#l&yr6-JrK+$TpVjgtBBCGPW2?QX2cdlVwP@>>)(fLI~OSeaUVZ z^S+*XzdzsW`@ODnu5(@2@Ap^ZIGw{W^Ljp>_s9KyyGtGo*f+hs3yt1XolniIIX70) z`27j2+ojf_tmqX}-;4g#Nr(7xl0%>xr@#>A@u<64wpnVd{N=Tpjsi^Oej!tox1S)o z#0_`?`*OT@t2zyhUIUIW`nv;*w5^PO8?m8S-a5oiJr#BzNE3fUqMlrR6MbD)tKm~K zF{!TD(y`_Z?Z#ObBK;7N5BIUI+f?z^Kpd-pEGuM{MC+_p1lO z{?YT9OIO1O-=p$5KBHVm88NIfo($!+7V0_aOsA)e+e94O{U3K$H#t7Rl%I!?K5vJr zoyqP8ISSnDahv}m+PEwDx$vIozafANf3!zC@^S}4k*2@FUC)4#fEPI$;-b7oM*}Ee|a+7 z@!$0#OIpKOQjJJ(*<``^Z(q9n%;9!mSmHX;@ZvJ=Jy%Vnx!mS=y)+%wSNAu%>n?1F zf5^AsFjN;AUmwCxmcA6ySwXfY*MHt@uuv9ReN*%6)cDk2sIsL$%E{l^uNpqJL{B() zUpCQ&_UC7<|B?dLWUc1rVrwpj8zxMz4!9Rc3j8=R8rmog!JB5)BY$DS3H8|Pvv#hY z{48=75c61;G`<3rK58vkiVx9Y7pAq=Y?8)UB_foO?s5M8Rma?(`4MjeiaF!%iSL!_#miT&O& z_Ieo6Iz~^b=em2&yI3&WB^DvK$9U@qcfiGqQIM8*2X6?&kiMev{2MEOL%ND5UcX-z zwX^kV01noGU}HliTgS$6sQ6TCD&ktm;E|E$guX_CW$gPkMn%=rotxZv#btEU61dyx zMCVQ$>`Z<#i+8GHw%3Ta@Y8Xd%wv54mg^NnS8>}D2caUF?@0YfzxbbxNR0ye^DJQcc<#bS=b3fM`v z3;7{8(_#gXXTHjJHfD0vf9i|-;s+Y+Ez`Ghqf`8EGSJO3H}F}!9AVS#(j`nHrwuo>Ru5c>4XJ1i zCOT^>Q?=)21;2b2xk@!P;;1_azQs=t5{-OOE>x65M|w%iT8){TMNu3>cH7{AB-5H_ z+_Cs=driODg~3^DH?R36wMp-^3w7BFY}SIN`xK8Igfjco++376aoL^2KBlovL2PmByQ;(M zCz9Te6=&pkDI*D}AlkEk{6YbKXC(*L#iqjSj7;Qb9J^iK|3USM>+0tdV!bYdF*B(p z6V9PM;K(GF*KukNn!qQQypfg7h^KWuP*j3zBXSnFAtVTqr}N}qm|cE2+|12%ZXirHcVO(nD6K)=_qLM{b3f*5%-@S% zx*N1e(1vt0GR$QA%rNXUttLGxIiCY5ZKMFPl^u*9*{zJZv&#gOXZ9-!Udk$2`d+PX zS82&Yzfr2Eq@doYg`_{aZrVw(cA!X1e!v=?na+GkJv! z#mmKWu2LoxYdKgoEGM_!6%Mo0Hw58n^y66w>o|lxX>eQQuj3*2OP0q4;mfM~^^9k) z^i6*XGh%}K=j^4=zXkoKC7&y>uP$NveKEqAi>bpXNw%6J)Ducsqg8;iK!nQ7=z3-g z=7-!Azqrv(UVeRO<8i1KM-{Uy)31(`XUJ}hx==%RYgy`F(Kx4_DnjBiOCL^&`QxtS z)i7zaO0V&#-zGyTw9z8R?)Wf(@MXsA)&XAz&WDOrVYslpu!p|a^jtf3f_!dvG~{(> zneR3dJeRItDw?ckh%dmtW45(*^P(AT0d_pcz~XvSGx`a^8?#|jyKL5g^7s6y^6QJr za}74hc_eI(V&CU&Bu90}X5@xV()-C;u6R80Ldr97?wir~igfjLN`2FR?+SldI+psw!Q6 zY0RrtVMLu>gf#hu=lCzC(a~$EqrQj78ax_>Ze4$WF)zKIzgX2bM>|x%!54Y@s@CV` z{t9Cf%w2JuZXW&(9Ka=ecL@841K?5()xFFhPZ5TfqHy&m`M9D^DjkNyR&-&<-E9c< zyM!&&NyV<+L^!b{s>Nix!byo_6^^$Pis*6RG*6eq|MLUU? z9#)?s;>4PK+7J)a>IVdhesX@YPv{`Au=&_F4c6y8^Te9vO|9-2Vya?+S>cfDtU?## zc^K(}IB*s^ev749`IGjkdW?Q@N!Zjdv5MuDUK88o+|PzPf2H5Bs;Lq?&T*&jy>`Q( z>DSjIU}B}4HqCGC2Hp*ziLNs-Fom>yP5pG7R zFnCb6z>NL@&>bWqib>S*R%T+DJ2=s3)Idr~{-7I?E`s}jr_IqYRe(sI@@`=Jz%lrc zJmVEeuMlQJ|B;;fQUf{U9P6s!Ig&W3$_|KQn@OEN0ksApenZd!@u2VPCz8pTI|&5i zO3d#0c6h2FgCN`uV1E%OcDAP(L1&qm+RrE&An=kra=twYpV0afGaRF!JLMU<0xOpQ zG49qsYXB`a`S}4yX?hCO+6eWqv4F5Qy(6O4?}CFx##zdS7bjtRS0P&f-4+ST!nq8VRqSDiDGxhz;>} zW@GbmcP6=9cdr8j2~;=$)O~8Dm4DpW9`(xm5*Z-qDKk{)(#v??Ffo(-*&nm(NI*lF!v^AY|?9Zw}e16VvjtA3!CBtGN zR%w10)I?6T*WNs%45Al}vzW1yq{a;;mBD#hJTP{MK?nL?Qo;jaH9dznmgFcqJ~XtGJB_p#gFJ7a>szzXA*)W4)s8;WwYhe#=AU>w zP}lp;|C@9z`|(zYD8yG66xLEYQ_*_D zR!0gn2OwGl(QCX9EH|d$T0^TyV4MEq=F&PXMOoYGAx~&oaj_*?F5am6r?-~T;5X1u zeePhJMQ&O7M@h`GYRs!IQP2WM*H9Gw%@p!d`?Ihm3DVODzn7tSXVSqT>I!$h*zOwN zhei*aW9x5?(#<`Q3$iyffePhGyxW(RmD!#PO^5@Itxcr*4l`GDby`jhqEHgn=yoow zZYq5-#GSQ$d8O|z50m|KN?V=9{C@fuPe_ z=&POW6VopzRFdS5O^Ye;-|$$gb@R;EV$yVCh0^>axuf_KS9nK3^0fxnop4f2n6dTm z&uHS06yGOsF{$0<@MXo;MJT%)X9S;w$AigvHd0!}h}#cxA z0?3VX^T1yA@Gv(eWGb@H?}H-Rf3>fm*J9dP`SFmS(#`lT`>FG7OaxC*IHU7#gP{oUP+Q@WF% zSJ=Rdmtiov#o|NM%l3Bmsohyq5a;}(;gd-F8k(P6{UoCW!I||zxKQ|RQ`VJ&Tmw471 zeP+W1UB3z^$tp9+<5)y}5ypLt9Tu?r;@rTJ^)Q1r1!C(r^8s>0xktn6M=(^b`XGY- zN6h$r&c`FG*Mh=@j7C|CPNHvp z_J-ey8uRdTu_LtN{v!8{PthG&ngcSLbZ33O(|-K~v^bCik% zdq?*~;vC9xDl{W{B6U6mC&+m`PPr;)QV<0T?A>K3KTkoR{)b_tUHAE{fgCqX>Y~~h z_NBv-woMt+&E6VG)%8{%%6YXhG;T``?-^RlH5VoWs;#cTVzgtf7~8Y@9%zs%1TKq% zl1Q_`w?VC&z!^FP7@U$^0V;Q-=`}iI==^EsNS0e7eIMj3sF~(J;rhsiUtbU&-&UZ& zUHU*NE#3|Os7eY~Sl?oV?wb9TMN!}=w&?%;X2$VmuGrEjR)EieiLBPz-tVSoZsJ^Oy&^W&xox5q2)VaV$D`PHVl#wN6t;`u^Zw-0>t*@qUSH{a_b_FxQ?@9R z-s99p%N1-6W;`_m|G52W&#{yy7pEfx2A%_s@6WSZCXR(NR9_l8E~unmS5qr1kko3kqh**RVWC4@H~>`LlRP(_tlH%X#ODBRr%lJQglb+@LPn}Yh z^8ZqswD1{@ZI8$Q4H?xqf&J|3{qL>8|Jz=ha&A$Ql++%OegU+1MX_V?#lt|*ESL-Y z#P)wfb`5(etNu4MJ(Dd=f^cpR@pveE=)d(H|F5++GoJbRvpz-9D1Y{q(9dl1ti2*t z-NVrAktesJRF}^xKAL-YqJfAIAsf+UeV|*?&pGMiP75u;%$-nbn;Kzf=`XCbd^o?) zLl1lD0M;-bI|Pf8r~Queu3S-XtQ-vz-*BC%J;-Owdio<1rLw|}eg8tW9G9@$g%mK$ zh%$@Bk^zWwmzhUki(&U)Rkt0eNmLCOL<>OlJJ4l0R5#l$kPW;BvL0WVlkcW;gqpop zk9HLO90+7#En3TM`&{Po#*fce{^%{Cd{KDvbEa~tujS%p{+x2_LmxF|xAT$qm2Vys zg@G}}E}0PZS(OmX#Ff5PEZteCR1~bktLHSXl5{*zQr%)b(<~<#se6trObMQI>i{)| z=BzSJoZZd~dF(PST~mPBzoZhNILe^ky?Dx6L8wfwtb6bD4;|I~Fx0n0?f<;(Q#|wo z+sH@Jt^7FbYxQ^JnVKZ4PymFs6}i!XUvwO5_Xu~{d-UDU*ja-cPjqmfCCP|es4=5^ z)od>7)*Uc$DDlK@;8WoBg!Ste-yOh(+O|nHf14lQf`FnR7AllR%C z(7WDj;!E0XEL4G4W;gbGmiQEPD{Hqmv^}(=@|>&Na#ZhUf6JA0 zC{d)$rC;v*n9o<#iF5LCoJa@c;zD)1*!L>nYu`eEw>cU>uFHIX_DShAf`S``g##w# z{qqV_L6MxA8j7s%GwBx5l8N=(8hg1Ba!o9Qk%LPCAqM> zhkADlVfik{-=7<;SW0woI~XoialGQ)V0vj|#huR%AK1l@k5m+7#Bj8e&Mxj1Twc+x z(+|?4Qj{H0#P;;%DPwAOMB}`88+ypLjP-rryxb>H#6(>BnVT*zyR2>~X=eNvUk z*<6k)or*UWFCHf|5wRzp@3rg7kcm0tlee6O*7)d!g2%t4+dYwZ&WnnU;Vf9KJw6af zrFlLYqgPyPRu}un)YqFv2FCHnE-nCJt4#feY^7Qau!`JVkv)q>c6RqeA{?G_bwwx{H}ozB+>l@26vQgt_oGB5xS%f-yWf zC2fz+=cTgYE&sR!&LqbfXWdw&G$n;E;>0WLgOP!;iQu*+7uMr9<*b2DQous;$D1yH z-ayofkQA#sC~yM%w%CmL`*NU~tXkCPyMB=ykzHUZS!Era zLW*$!{NU5;V83_YEZoDNxMC7P19WjHTAF+ttK!&)oZ1>13Fs7NL>`C?Mvexwu?2#T z=bAHZ5gEi5UzR>5L0?_y>UWM8Q3g75UY77!?sm+{^okcL_IxG#4xGZ#QITFcZ?e5J z|J*6I)Z9GcPs@yChtIJx)BYksrem$gaJXomCzIUO%+m^F)xcTzQu1F%h! z39y~)vOJBBH|L^m<8o{L(FOmK)WXYOz8JZK4N_94ZM*=kBz|54l`XVu;~LW=$r_WL z8@lFVtwO|nOh85~f0~O1Y@d<+oD~HSI0Cz^W(4mX%du@K;uXCoH*NTv1$6Zw5FTKS2l^zs8iHY@0 zPb9RrJ9p|F<51fD9`n?i9^K9|iP=yde6S|NeHbmvnN}Y;X`7u#3tt?#bNl<#eX)Fx z0Au*KI^+QFS#6Hop@I==Sbcy(K@9)n9Qga(Ki;9U~(A)CDSkTpE zr>8mj`;kzAp~$*-?Y>&#&4+m=8Fa@UT-G@vYfbDWyR2BlUlKt0XY6% ztgGbsnAEq7yDsu{XVfI3q6hDrTHsNxUaeg{#86ndI4x4-Kv3>7F3HJyavKs(%Zx)0yHa7RPYu-SIA002^J5<}}#aCo+@O z^=W5l=UymJt5kBaG*%etxR?;gRn+1d)sjMz=3`%jFu&0ihioJG1hemalaqE4``6vK z+HpizfxPif1bM?sfVk0_&)x9Q*H~-&QiG?WxU}a9k4>lLH-d{Wr3K;e?IosXzTjo~li*UooPwlOCmn3N%t}=0;+jSw{+qN&`#4V8EFB2Nub>$!1 zpJO|xT^x5YP%3FCfFu;KPCE+t*%~~_VKYB)&&4d$)rYgF{mWl*bEXL`uOB4|Kwz~l zA&ac!vjk1~GsY>RFIcv~&0@7rFrvU2G}=0iQ~sXG%Aj^hu*gQ^oK`fdoVo*|?w$b) z3t8(8cJG^qnUWG7cCi2*)bywCugpniyR2_I?Ehl&5qk^v*4M) z+b~DCFvG-2X8F0(m?)Ur6dV3X6Ph^WUw(g5^Q;meREZ?V1W<{0lQk0arK-ks&bQDK z>$VQHdHrt=+>-zNPaUm|?a14a<~ixQM;DZT@t{+HWMuc9s>PbcEA6i8OUfvt<;GJP z>*wW{b^-=W1Ndu^^Kp42_r0DF5Kj{eK`cKFwcA5D_^|q2#+&!PI-}fD5^Yj6U$8EA8z!DraKOywE8sq^Ro?#)Hd*`COt3Mf!wFHj_XFydE`JLj5IFj z4vNKPHRq<1sQ|I2by>QT!5Q`SdcW0Ou-`X~anr;lvb*+Eu6X$}GBQ3W+5U4)p4($O z>bHSJK`4@QVF>)P`jnFLRKg@Ag_nC7wJH1Pz!GTLN%r5a@rplg8mVvS znSSu=&6>hf^u-%TLSJU3X15ENTai@4-f8Gl;=NT)q+grqBBRXUXm$RG_iRX#-kf~! zm*6XkkE^R8md9;JD9CAdlb1Fx$$)7*=xC2vfciQ-Hf2SZ?Q-UiAx-14>Nd1-d~Zs- zZc)@M zO1nBW$)X&(1v`=J{qS^#&#LRU9-ZQ@yv_zZp_2&L9@@=17w~{if?QnWvFr+x7$h(o zU3G33pGUvVHCgVT-b2uq(NtpoTu0*|>FoeT^U=w!>pp(_A8i*yoQp+iR0C8R>Z2flldo*1KC!S-tfP=$l~qDqNcXRpcEk(*rkg~P_E+dhYJbk&&5*Oni9Bi z-rALIasPU>^Ln_slT@+;T81tCGG6>@G}SmHxiNw4NfW5GszJRsazat6SY8T=X1{Ot zcoqgF3Mm33AeH$1n;y7IK~U@a$_D~UQY^FSg?7K_?;t-X4p+YbVS~fJA@v5STL((gYb}~2*1nVA1 z==U{t6YqJ54sm)Acp3}1sfZ98*sD#;2eE48OGrKbbSWOZ_Q=(5@vxsg# zh6t$T0I-RxcV%%U@(=aIb#Vq@%70$kdya zN$(B^zQMM0Kq@=Mx#hfR?*T&vvUg6q?7ULIS;4yF9c83rZn)4JK;`(8NQ{huu{wK- zwBC^X<|y9IN;XGh5=fC!oU7!tv#w56^QFWUw~YZmCGB{GVlPtK_V^J(h(~BLI_W_j zyBG&Ot04VhKVKBNTE2f^b@U{7_Vhl8Xl8;IO#rO!68`a91t}&mt~s*S4MpiPrS`K_ z=XLUSAo3_{)7{u4&rjHi!5#SDQXHL>9Vcz%0dR11D#Ni zd8HSwNsb_tD@Mt*u9h32AF1v6<$`|7nT=-;^x+L56SqEoh0Aro=Pa^*Oz$}94xf(< zZAnX9Cn16!)kJ8ZxjrDrTqvvX^TxN29~!FK+-WuPr9N5YJlNvJ@)6C56r^n$lWg2B zTRku7F%5&yk6t!g+Mu^rAZ6~m#SgSg1hYPG;>rEySOD@ji${6Ne{3%UqWCAa3tXF4nhXO@qwntcH-@6ws{RT|U!z;^J$Bo+GtQ=Y-i*0KC)bq2tbUfx zwFlc5lgC6TUGwU%ZW&Xb^6Wt=iDc1Ey84OJU{9Xcij(Qofc*E8gtqFHRRShw30ld+ z((rwZ4EPC+Ax2O8C_%b}$S1*5vL+q~IS1{Lw=K_zWzTQgW7tfl5Q1{2Hm7f8nKPZf z&8_+mlxih~rNa=dp^bUWr7J@IDpO37ZzTgGCl|!BT+Uakr>c93BzsK-P=4m&Yi82! zQJ3iJ^|~eq=T@nXiIVEC(AjMxaBqJ&Ikl7!(Zm%}-iw67btUGju9lgIMMSFgx-=Nr zidg9Dne<4Q$*w1d{KRf4cs-LY>FMcL>?4?0BbcN8?3`(Jxej7}>m$h;xTvWxdar0T z^;77u9O1KB;hj!;sQXZesDPr5IdH@Fy{MLo@TN(Xbx%5kx`qj?xnImo6Uofc6(LoNG5k{0={clKOK3Q!t#A*syLTf?q(W$Go zGlsoeQ~+B@@z^DQdy#4NZ^&T211&_4Gl0@{^9Us|bDw9{7d&RY>~Q|2W0IGt zlrd9m`}+ZVb(BY+PN>YPfa_#KUjaI>`i@L0R-Iq2(#TdNJHp!jC;JM?(`Zuamm zdvf#;OGw{y+b)k(flzVBkiml_Qktu6zJ{NeHV5anlwM9%7*WZF!T2jxO9fw-3lAYx2y+wp}xV4wbrx6^y5=LC5?-RPyc}P>-MIV zW^}aIn(vvaN&Glcl-r{O{KPJ*!R`g&rmnTJU+Ye5n~&T8SU>#8n%!w$?^#n=6l0*m zU4CeU^5Q+0Nv$o$V4}C3YYAyN+L@Rf(yGHJ@JhIOApF6oO)+=n*1_xBDsO8&9Ch4o z3TKn}+m;On!4Cz)=GykRVwc|rlRQ2oJ#)R1G`7pfpHjY66}-`Y&bL%FyHk6Q6JF>r zYHDPXdu;UD+Dv~;@PwDDRDnVBkDzHh)B-15+M_?V2F3ALJ{c~2W(O@>@qa4bVdan) zGN-lk8lZMQ{Ya<)$fwf>#5Z2plk&eIKSE7zLm2)a#Ml47-(&nAwetHbTkzM2Z3#R0 zKA4Ua3L)NZ3|jwdDkk{i zUA}vK{Dzp1K}cHnhf&TbK%BH$`$X<=^0BXcb3Wr)c+jGH+-6h$3=&B4QWh;?t7f5Z zyVq@6RPesq2Su0@Z%2&=oIs|08879-HoEZYx~v&RUNZT!-!E%)wu#rpV9!^NAvTL* z+szJ-4F`~F_bJN3jr9WaDCtPbH#YKYvI8|m+X8%_P>`TmeJ=drbH<)qD#tvV`1q== zGGQah+T|DPiW|uEp9!VJ9+k55DHp=ygwi)fZx)Ft$Vb=czLI;=>Kp5R1@j(kx{%Sk z#D){ME>ztl5$egOb7?Lx+S`aY@w$MuE}CCL9z!}6TGvPn45>hw0NBGE6awxWJGr5T^z^Qb6Y8S0AC?zK`L9ySJO-EkY29yq!t2&gO`B@I-u&k0qBIl^ggj=&u|>pd z@Y}3q1;>7<*m=^AzlNT7Xb>&9%pVy$JG__k%g+UqvWr+0*$pwcak2HKB$i$saqZJ> zhr+X~HP8m)j@b^0u`Y{7jkmVyhaCVVN#hDErjdD@-2Z$PA}Lt}qo0wY&oR5QU-_fJ zxNBjK{GtSW=TO(Xw%oPAmzj==Q}}g-J^Ulyth*-Ga{!Zh9+9~8S=IgU&fVZu zM!s6Du+)jSb5+>*gvvKhOM_E!QP!`IfWsCmVX((Ee*a4VRWO_zjJ!dbP12Mq+Cfq! zJyrM0zG%m4*lJJs+<9;M)+vqjMCzWnMw;)=vQPZG(Y?$09U^DAz`b;rp^%p=#l^eo zW<-gFD1AOhRoc8Z@guZS($t0QJZUr%bdD)Y2b;>2+jl)S&|s@3J+~b&&8%JM z;!6jN8PtnvCy_2pHU_!R5C)6SS~+uI{%r-_8%-*@ClKC5w+d<^L~i%ft@ zHy58Q{(go-ZF^Io>!^Rh+LPN-`R;relu;_F_Z2hGMb_c5_GXT&8Ao8M1*?c+_xvvB zG{g68a5&Fmjuuy1Zkcm|DYcHH403k|L;SqW!lxJhneZa|1l!*GX<$B@hdw4SG;;6g zGKo>P0kkUTXOE4lY)JY@0w!=5UkYe&-Y&ESC;xW8p5nl=eAIlv$7@InB-oro8M~>O zU}C#?NOoQ`z3JbO98Mlhq`CO=M7hK5uJhx*30cJ-6pa^`F-#r|Pv*PC$_A#Q)UZe<11j2VI66ed z1I^S~W{vMew+$vQRLVhUy=Z;w?K}f!);XC=vL^cnBg9ZNi_VMvXQTOCR4h+R_?GYI zvs1Qu#j((LW_G+rC$^g_6F$vZk$h}3BO+_Wpoi+z#2v-{Dsc*HRz<8pIc$tYI5MmT z_EjCk;cN(DYo`&flu9OjIuMl2mXw{FJEGspzSGJ8uFvsY5)*t4J{-2i6>lyYCq~(C6AKza$_Zykt zXaX|_YO{Mr7b(4k^VP`}Jmn)Ef=_E(iuK(lzxb7(*T<8-Xol_|g@f+Wk` zf-P=@i5(^30Fa%lPiOpf%qB&U*0%qjV&yj-TxmA=;E0d7IL;u-^kznO;gD!f+wm%H zO3q@y-G(YvPhF6_yu(5Yi2X7{eoT|^P_N9&J0El3%#y_tf;p$QtO2A5_H>`E>uzKoOKEXkX@188@2;6O81S9>wE2FJULDLP4OLXY`aftfle|>B08gv5ld*d<1{h7%cjW!DTzUTZ zZ*t_26Aldm>A@?Pnt3Z%kX>E)>7%zIA5GM^5#KpeQfQv`ia&*TyV&ed(}JqMM(8dJ z%6Bam_5{?etMj|P`zV3>_>lowav_lkCbdUIoIGbTs0^m*tO4#ZKoqY<(n|cM0)wqa ztzFS9?o^-CB!A-Ui(-~KE!oSor)+G~gDw94ezUm=V3u~X=ArqPJpg70D1GOHZ8#~p zA>`D=Pd`cmcP^xxHpCmsFIFM9<2;fKeu6#;?uBm>04LL^bt`uekoumO6HKbM%8dy0^y}#Ste? zoe}59vP*e!yEGo~G+PWg!v-fOS4ksL+O{?%<;;kZnQ{2M8aG#zX9hKS9_rWmFbRL~ z5xyQg5p0V}8*XD{<*ViBEY)5^%Tg;ys|rGR%>N;OgI4r9NkQ<{T*-a~wi4EB=oB-9B>rWR%`XP$&Hjej` zzzQWd!nA^!pP%sw`w<&2uir@`A2gr)ciSTJAD?8vc-dYyr1VRGMh4y}%%PEBm1FDGR zXEV#egtNUm7rLU*RbYksrLRdW?oI>Kca2=+_(LEzaDJ94Td`w^a1X z7KRgzVt4FqSG5$RFh>EzG>_)I#RbL)*c}C?JxA=(&w`>cJ~hS^*!KD(Cr)vvos(zW z?wxYF9n!!uv8N}da}w3i)sLTYo$BA`0|r#}biY6OOz5)W0*#K)h_`i!*?1hnQ&DWG z4Ur?J5K-gC9R8q*vEMaMP^1xF#Axo<*-gQOy}_*@v4L$yRez3&(uJ?yI!)Ga8+ zDkzpq9s@-Pvia>1Yqcw1G+s{xr_y40#?oosdh^@p2n|+eF@_P$KFz7Ea<s;cslET|6`)ug#=$ZwP@D`*?N`C#5?C3QF*Jn^d2( zJnwn@5E6i=xZrbMSYuC(w45K@Nj2e&j;NwA;Fg=33_HJ zOUlI)pV!>w?5q=B49lU(+Pv=*3`V4*Wr{F*x@Mf)`m(H}pP%f0F8M~=IGNA!iEX{Q zh9PF2orsq%@n8V`e`g#&XEjVGc|knGQ{u+Z;mPTX$}n^CtYU7dBxl?KJErZ$2@gBx z1h`6i>ZhnzZk-&-F?KwYqjwgU6AI+4%XEv)oe9ezx6>s}~LBb!aOk=o)f(TKlU7 z)ajIry)8pf=U6ib0((ID3K}p&ADFL8A8RX9@`g)OvDK?%Rp`HEEmEe}_QU&5YXC}4 zLc7U0ydv8fMl?gm%)O7i2K;~PL>Y%c9A!^85(68J@##vn-=L{gTrggwm;!LTU~Ud&=}+{1(T?a>6lvo^ggyr`ZYF4e()HS(VNEW< zEEiY2egrjf1hbN{B#}o6pCaLTXh3mjFhiqM1 zi=S&?`*+=hJz5~z^!uyUMwg#C(rU=(%Laq#HW2T+Pdf{DA^(}UOo+Jm5t5eh&IkcH z_QkU)oKkySw5fHos~WOkd+IdKQMUS3N)Z-SxD8?o(aUP>Od}aSo?_V`hmDlk)3apb zJg(aq@8w;<#fm{~;c0df&K3-QplxUUA;r724+d@RFd$OHJLAt)MF;Nnz%@wql0mKH zauh7rJOoC=CwlZa5&6q1_aT_bwu4X6#0H7`wHF{`%2Uwv`G?T?S!Wiyw__v`@>-AS z&xy0A+EMOvX&(IJVNcYzHfP7VMJD1hO$j8Hoh^7Ud0BJ`5WS*iiOi`$|Th}sbb&DveN0PwKLuAj-VnnE$q z?g*}}vk#x)@U8eB5U6vKP2vUc-50TuJud?_7vr{nlHSghpZ`zJ+Ycwp&T`ogJrU!; zTIJ)x;OH0_j%OUrA7mCfcn$9kk9p2?AmU_!jl2mm#wO&4amzvOaMXYhk3v4>RIW$H`iJfkl?tFucNSv(A zf{&iMOM2bWA~7WUaRtG{fiGWx z{0tYmf2hKwFO&W`OXU@z>REqXYQ4vRMe*ms(#yG)q{(`t8i7CkQw-5bxa|9OBN%qg zq$fK}QmSiYG^|p~>A#b3U$bf0O1C$xfMk)h=*VRPx z_Takczo|Hph#2@0Awdh60B2a(bi(tpY*>x97h)u# z%@L9{HMyJ zYzNFRFZ#gTqxP6jYsvB!16y~Sw)K|87uk2)tuvRr5{AX#Y3ChBJbGknr|-dLWunQ` z^I^pz9@nEcTMPFXO?JDUb~8pVVOz_dr$3-Je_Cl>CFgqPn}w=pRw7lq&9ETn?+^4q zw!E?ON48YF?a2_Clajo?X~4yL-;MZHU+t0cKw-L?QF3kjeCuQJh!mD^?EyUp{kaqt z*2I+t`i41G5K~&mlW=y+&p5vvxh~7FmX$@mm9j(Lz@#U>wPgGC^;sV~&%2QS?FdBv z7T;41c=?Y8e5GRj=l{@SA^R&l@BWutSf&13Tz@4#aQ4Et6i^8#Ih4mc{hFN9*g`}UnI5#5-WZfSFJ2zh@aoQZc+aM9 zg>Y0@VJu9=@y8?S2RcK$^*1y|i!DMM784}XNd%T5=6s?m1?ac9f{~);CWT0l+`j7{ zx^~N0t@S}WxYj9;lKMU#--uD_sxlLm_Gkr2hU!9&f_pk#8(9S=mmdu^SQIvUM7KaH z_C}lRy)q@Q!Z*SiLiK`?<>l#%fe7JD+1p#(cFedh{Z*@hy1u9Fkn8iWY72&j^y9^;+y}|{ zX`Ldcr_~5?7-?x)6BK2tYc$*|ciu2-!E&i)>Qz?EKOq(nSI$WftA!LI(37J@ik4TrVY4XF%wf-dXckQeUzEXXckR3Pcuj!vt zO*2Y*FET5N;-B#G0=0P$h@WNWJC?2_gD{CXsU~~Hj(CNBKE4Kfoh|!vM^V0nn42fI ziE!Dlj+cJ```hO#DvGmnTFW3|pXKLnN!Xc7rtJ(E9GeDVKkw^wfURCHd8i+?sa;uB zg1hou&5CQv&wGZopG2)#t~Stis&9Gu)d7ic10Sq~#5N~?RiwVrt6jD*K2)OJn8hD) zH5}Cpjsb*9Sje(YA8dxn&%zbt3S>h^Wc}%Oh++$cqqduTgy@U34^qDmgt)c*mM>t< z;AwYVV1q@D4wf8^#GJ(5_;xh<1dO)|`R!XmF(;|gW~N^`+6!K!;JS<5CT&;>@lag4^T3`Vx6s+cR5#JYM$e(78$~W0TI{fmw^K(3s zR?1vB0;TPE1LbJpS&bOKjK#z7o5>Zb<_Opdpp=Uw(=p&!K&{=gPwgx9 zZCC$;HWoeSzjFZuV|c09r*PLys#n{F`qEy@mFxukw@i%9Sk}+*IX)u~e09t%DCK}N zr}2K{6AT5vm;^mm&Y8JpJmE#f!QZ%OX?#{cqcsLlV{^XNhYhG02au)DrOn)y2a zHzcWmvCe`=a~|FFU3;P>B|_DW%jyRRf3yH-J@1Q;a_j*$t;n_=02|0ulqwxPT6x}& zr_q{!orqG@J}p^C1~suqxHh&q71Bz5ga)Qnw*tP?x5o#v+HL9;#$B0~->~;Zd09_Q znMuC7l(ynaUVt5-G%(i}paV$MdHD{nGK?d`Ap5!f2P}eO;w#F)a-cY9A2UUVNx@1D z__IoSo6|;-wS%%qDux$-LqySGl(Wj?`ZvG*V{+wVi72|Gsd{~{A*2P`fV+IXQZZJh7)OOf>Cu}dTdy3%imShRj_-#{9}~c z&RZ&nW|zaJwknX){h;d2`Yzc=SO&eLcJSulef$wF-rD?R?A(DRE0{CLq{xyM^gSOP zl)?|`HPYP=VSJYgHy?qL7Oxk_4UPX*J9{%3wZR9mrnsYU+)U(6v*vnfoVG}u`BW6w z_Oy|qO0KO~PLU`uK9@h2x2&vE=3)#H>-i3*&b$A{-r{dUi5tE%&)Xhi`EarJ)|eSj z@t$QlMH(a95xTphA|r1h>+fBI8(D<~LFL;eU?5z&8hxaxc(>YrD2$MOD=UcNI4Q38 ztjCGsgG6F9_j%b$&$e*$#DiotckUmPQ<(j zwjl)PuY%r<$FCo^$tvBH#r# zc}~Ulrd8F3$QoV0Q+}PHKdZQY0r>}=qcGlSIb&dKbxjjGvEjdBM5j*Hs(2UNhjaKt zW<^c*HxE(kfOJl91y|Dy3r6$IkW_qT+u0!0IOS}wcAQ#}3awz%_`pI$ z`?qYNZtuuw!d^Bz^VxHkCYr+sqdj3GPsfI;~~9SA#uIZEFioPsVPWW#4p zU8*#m@L1-uTE6VG6Cnaxbv{a;SFi2!-QDlJZzAO)7$|dxgET1{xEVU#6aIz>7;%6rCEP!Q z0!T5S!g>7{1*38FQ2&wk{!PH4G^Yz*5I^A|7X;lUmgRd)GifmJ94~kz)(Xt1S{3(0 zKQO&%rH3!>WWEe`Zq@aa^n`BD_?^#VbWxW6EjPOij^V7ixgxPv(LHX0uNy0aJ~fT< zH-__zOl0b4g3fcDK;PbT4i5ugN%^2B5-$Eg#XpSF5eL>(vLhPN{1J#1E1e*=c~1o5 zC*gPo=h@E5b$LDHTrt#fyjdu*HT+dus||E|I|`!ypuw2`J%@rLr8!@q9pk&Fea}JSPpnWE z*1GS89p*yGFA00F<;K%cqT13@=ywPx!po9d?}yhwj}hvL@^LoHUJvX@ll%>ny5<@{ z5QPsF-kdELID0oO1?+5`vnzoW{*R`o8#K!N2;)PCMW~oF$Hd(bT4MN(kQ!Wn$(udG zyc%%D^QygabA*qbq>-e9(4`HMf+y8D%efxuGJ~Q2gSj`4hPsdc{>Rn`QI;Zm$da8j z)G_pvMcXt;jwsq6ba=l=V5?sM)x zoJ=~B%x6CD*X!|oJcq09jB^3Uf2hiIfVFUDn}!})-5x1&h*t1mB?58=`c`> z%oCQK=sw$SI;Ynm1dCS+mWze+|IAMWhEda^od0@c%DQ=n*p>eippN=(Km_%m1Bbgf zPH#=rhB`Hd?s~fgd3gM!TN~4%Eo;zf;+NV?o{||Rs|+|Z2)a6DH6HMa`MqNsiRxp0MwMuM^G8@J z=+Z8f%t}>inNw#G+A7))$^*}ep%jq~5Te)GVh+Xn7~Fm#1cMfWD}3ApkpI{1Iby+3 zPkScH)IGiQvE*%%YgN%4h)fiA&FIjp_uBU-YtPG#ZIz4Q%_6zxYX`!N{UPc9HF%qz zR(7i+ZXa7t%)7X=2Uso(mjV^=#Z4vZTM7RLuO_nG z23*OMpu+TSL2-#&vokN_6RsmM`b>QpO!{?Yp+k$h4Mn)o-yvTXsz{Z-SAa+ZTu{F4 zw8dgz)>r2-lq)JKylolJ>iWuyT3ZJu?0~dAv2~*P#M;ls5X^fHjvI{30-z{WXebel z>#F*@aU+r530!TLg&y3?YK}%16X>*P)C0hzWG0>}5-ivJ=a#ivS%bdJlN zd5D&2!i#e3#CaTf2d9B`mopwRZmL;uF|%*_yYTbu%{1D1q8gL$;ZRhX(>psZ5oe`e zr+OyhYA@gD>No5TV-NBZt>6eWuZs~ntJEfW2Gk8oKT0}dZXWU}X&^JjIh(`b z6q~N4Eg@$ss1)|SeurmUM{|iX<;<3!cQ=tEi*g-54#Ecj+sL6{$mW23xH-$8jS)BBKcp4+$+}q8GzG+dX79C#aKWvXStYFaavy_ zz)=I!G;dLN5{v)^9z)~B{=-sd&Iz1g_QII-!BtGtr8NajxoF~Wiqvbj30`t2z7Oa= z4hZe(Hq3JXs1821vhfub?6`{x3-{eQ5>HMMkoHB-GiTQGn;_O`#ELXD>0yqTT<}ND zH;u^I?W&GR*iwi9OD*k;4<;bk%dp;C|9V@T5v77{e2z&T#P}b(y2`a{?+PWDbU@uL z!oqVuD(8Kgj&B_~)0y8NDGKACv8o{WyWt`3u-@+8t$d4`utDO8#fMK2nhnrW1710E zub*d6zgctD9d_qs`#D}qBzD;hQF)Tjuq6JYWzfbxKaphh2#qA5ecSy3ku)}r|CIX(tN$VuL zI?yQH4(yq{UcFo8hF9^LE91S2H)>DR_cm**tCB0C6!QGI$y1I)y#VL^7 zK`@#lBkcTyAQXkOd`s2ZNdhu`Hc8+wwyIxS#(7%(7kP=w?;_*})&gTp7vUltr!{C{ zP!$%h6JT!Uz+Wp2X(m!unbmW!Iasgjx9a`rz(eyHU2oG`_A>cEMr8GEi8EVquRlhR zXR(D{E)9<83*?fF_d?v6)p$=oU8g{dgRn>7T#~#;~7d^in z9a-Oc^DU%&hXn1CYk}WM-n{(t#0I2Y)glCx75CmXq_oPwW8qnT0a>Fb@!?7+%ubUa z*m9BpH~@Sk1ZX`7%m3k1wW8$z;HnlMYFc2^Pt=R>6|m;x$Ik$xD!8J$z*n%t?yg>U zh?Jm>iP!Ieae*puCpQYHS~N(D1G^7aVEd)6gfT(50CKhM=-FFK`h4+s?5qb-L~Cw< zzbnO37HnW93R@s4CRD4#VE%0^oYZ;w${I~YdJlPr6qsNbMH_iX6Z|;OnSC?wTayV8 z*YdW~F;S7R?@udK4d0F{U;Zqby`hxiN0TBdRJU$IcjYl`cLl+0!;=2w_eX4hP6q@d zs|SCseAplUwoMWl2m(<(nUz(Z3bA$bRuj^v2e{^EE^xowwA)=Nwj7@_U71pl*tI(E zp1XW>Yf(QWDD$b?74pb95h%%qk1nZt(9Syq4s3`Zi2mFl`xl@ zTiF+7)bGzvt_^6iE;#{WpS1h|nm`I&aAL%y-+xXWmR&DEgQ7t@a+CzeX8kh?y+N+W zovIGcO^Cn-7!^SmltEb{?o%SfH8A0r<5UIpnokn?a9fXI-uWrPF|`bot3hQ!oaJv#}|FT>6Dk} z_+F#6Y5!Zrjy;>vYmf~yf4Ifq_m!5fjXlc4Me0A=5Xe(I_}k@3$+YsLsXA;taks3Y zr)#KPMxtl(($jw-`15r9xSMbC+Wv3MRVknI|IOLzBl$O}_Ze~%O(EB53d>xqezm{M z-!SvptJnQ`D`x6o-*l*+dy4;&O6+`p>Df_@%wLU73Lx{Ll=_wxU!|@xyU1u`RI8xN z^yoW~Cx%?CH@2STOK{?n@|!Y%6R};dLDc_Wh~}fvB-4+B_t_q%RT=!)_}szwW7?`t zvHO-+vgQ}nCSfoXBc@(FGiFhRVaTiPdlxtdKlAX%t;?WY=P3d9=TjKnFj$ti({paB zPeia-;6;C3e7`3<$3-Z(?B-_9G4;4PKw#xjV!rfk#Vc9oIUi>k*6iK3f1^-Zy_Cxp zE}(>ZcV^&MDShfFed^WU%Pc?lPGnx5Q(1fA@3qss@-SDW%v-m=e(JL6i&4b_+p~rB z=bUzHGwpLpN#o;R6_K5RZ0=uJm{$^672T>G*PGcX^3YPN~OA-nq{T z`sI#4?)?+mDew>7*f;-@Fu_Wy4I9PAe;)OMQ;Pb-rm<@uOixvS7uO`71S@W$x8d%5 z>IPz~-e0Dz{d(yO-=u}-X>Gs{xxK?LGFTSFdGCUxo=M$aVO8E%9bY?ebN}jXQgl@& zRW#YIJagI!8=*KlX&A$L;U*F`QqFbWl@QI92}p@j4MWGpI=A>;VmLxt=A-Gw??Hvn z3oLBgIb5V|$WtB%8oH;9EYMkM^7vaHUy-L0Nh6tE)fJGAAQGPWQ}OtuzNeleP*eJ4 zg9&8T4ca2G1inq+)Tl4liDgdaS8OCs{0oV<_*B?EYP@ZTKRVkzPxq3umoKYGwSS(~ z1O(#x*EpfD-oj>Zz#q;zi+Qm;V!Wm=JdYt}U`BszWLXK3bSK?YE|*3th6J~+JqzJ3 za^JL(Npg?kd|q?%EveWtsX+G$eyQmzDR>VianD&<<>?dO+Te4fCYcZEjb+%B7bive z+a}JDe_M$!_|MbLvz`Xh@Z8aoZ?~&uuji4b8l^W62l|R_9t;GnPu`yV7xMF5BKzhD zGrh%nD2S0v&!6{{{vitWqst^4`-wVwC0leFF@+5r_#7d=2^q~?fcmR3h13@ZTxvWc zpBRm2RZP?_tXEcJZX1g2P~6=XWt8fi7vPa0?dD{tU*>YWB=U`4fo&hzi*xR9^4%8h zl_XttFa(5+gT#%Fwb1r`L!|Y>@IP zZmr?-)S{WeCYlz|hhCmI&LOpH1>{pQzi|?Y(@3Dnx5A6__d(ulyu888B9!0wu5d5D)_wvtdo= zTq@x2y(~Q|RN?XIfT!CTZ7RzaouayeE`H<=2q60bbH%l9L%S(_wjP$W9WNv^|L z-nbOn1%Fv51jh-AKs0W0@tox%<1L+%P>Eijjob9!Q*TVN2rabGM$-p>Hq+7U?cC-s z1N51VB<=kCH&Z6!!|+?sutAq)1Fxt_b~aL6vzH$Ia+h6+MCzr%uzoaCV1ul^ML1Gg zyg)KLjW=Wys7vE{ZeC>*xZ1)=6F0z~8Bg_|UU?pUh2JC@b8DdjU$c9ugFi(+{&_rS z(xQ{toUb=B>(K+bDyg-uD=K4I#RbAd%#=ZU$>{CQijVqEGa9QA!(d%<_eDes*u3;c zM`VfXs3z052t-4Kr!o@b{7RLs#F}OoGFIGY&h0Bx+TP(TWiNBZdEveG z(^=f}Q=EQeW!BTWz~+ADk(ehr129dvi{GLI3A|KL(L)O{zl_h?73SGQcUgr43-7!u zUEUz5EFM%K$zko)9&!hnaU?S(J6LnrV*wY6!;OZAqal>W}^)E=&mFun*> z|0Vef=X)%LvuO*X|8*)|VA8+w=?|f_ta)nOH)SpfJ@iByB*mqJm5ol>u>0a_Q@Nme@KW>M? zOLa|dI4R$71|(}TtL3TeNFum0DGY^jT{HN{(RZ50m)@HSWPWx+HU$LRbw%2}jzf|m z(ax$S-si%aXj$B!W+yXfQN;$JD5vYwU#=wKMfn3o$q25SHc{p*IkTa{lbIhizd>LG zfSHPC`qVPzQP{9wM!4%XGg_j3*X72znS2w^h3f*9oyDiHn6F_36Jyn{%01xL8jQ4; zHJPmLFTpkf8E$7&o=xT?D>|Q8k}{zHbW=%scQ3)J^OE2L z@-zb+IFC2Cjjs6LvGv*h;(MI+P}H3L`}~@V`CIXluOnZ#ro5>99Lpw=DJn2qT?Y9t zrVJ5YmvR1XcRgHJ_XgB^uUD3Lu*?ul18|Rmy$}}sA^UEi43U770OSwrs^DN@@U5J%H4SZPZmD?6} z+#f-MuTo*(x#^`f-xr@l%l20u8M%1!x!pw<23Bv2l1okXGTWq=jeG0kzK1T+ey>xz zFVu3j%fgM!-wKBsN)UOJbfHcC$-1bSn|oU$OK^#0m8eq%4_aN+5_;#w+tpkaY5K0% zcfS|(35U}3Au)*RHC5IZq)&qJ7&PEgH;ttATGRrV>6Ehmx3)=^`@W@PW2{(`cr z*ti!q4ZCnHR6f0@-_%}fXScvvU(o*HTwOa-a?lctb@;2}^Bgv&DK85MIum+2KnZH0vwLW`X0JsSC$@AYAx|J66S0)q=h%RSIX;|ZgK@_L#W%Nt{io=Y+_pHLtS zr6I<3n036x66Dx6gmR{RMqj$NtX=&p1ej+b-k_F)tT(HloDO+H_qt6tENeoq_aWA6 zoY_S8s>QXy7wJJ_*NasuH9m!ov_trgmZaO1One68PXaBqxNtIo#|=K0F;bZ~Kc8g6 zs-YzcbY`;k(8Mq$I zOR;-(M_>duc+6XrM@@3{q#M>CG!11{hZ+we2jKwMYW@0>)MK$?!+q)2Ovgbp5-_N-8qa2sh; zWnLr%mhBI&`+NmSBnpxGr^TMf;$b2qD^C@wZgoGv@z89c<`yL|tw}Bh4o?&Y+Juvf zd4rokIlo$8V$mY?Id=$LC{mvHIbr$7ok>iO@Hp!?>9 z%E(g5W*0R>0T2TKIfg2E^b^ow$IXqV1{1w_F-xfqKsRgI_T`?JtMc>ko5(QBJ#VP% zyC2;8N1Z?eviq*L{+sM&OQ76^cc!m%b2igVH4QafR)XY#e^Vo;*^24BxL*xKIG)+l zpDQ;+U&JyAG{h8FoY?O3R9;@zduzF%4;?fo1N~&^uOuY2tS-QZKHXmHTJsL*rH)Wf9anx{p&-w&429cLY@s1}_ zIN#6AkWpP?hO^i`_CiqrrkXHOsMH-`{_4~P z-ZY{;C3F`46g1Wx7vN;N!|Isfc)(d;A2Q%M_@81zd5$A+vM8Q2(Fn*-OY!EGLzlSi zbpy+H{Ajt=L=g2>k%)p7L0IXbIqJ*eEjO8cs^da@OeQt%#*Bfv-EOwDEOh{N;6M%4 zK4nweg9QH z=f6GA2*~4~fNi@K=v((%2o)tY7&pV0pULqdv8%F>ls-*kYtha3nyMyr<8{*z9Or%S zQkRrD?(O8HA%4sLRo`Oy&CkV;caz9!Q)!F3MS5p1SJy&2Us0v|d2AmJ`L>RO-2>$s zXHG(y=>LVjZ{1yzU>`i&IOX>ppxxgrv)?q$OnHKAfoXl7q~4$5_Wu+=rOgu))uFcI zBUfsp#aihu-f6%fJ);ek=t6w__3^J<2d5 z$$X&j0bO#U!JN8m;PGXoNv(FsfcOQmdSxCLfL9(CXH}o_QfY5I#A;bz<}$N#yC8Tk zuH3u5PR_z7vDL!Y!*3M6xMz>Nn#3kZ)lsr+e`?8fNho-`WzY%NR z$_u{6W!C31-v8Y5={*g!wcUjr4$e!$PqZ1%n8m)Nw`49Q`51!dQ4>}%vknp#wr-fB z+;t@Tl;hgVx>TsBMm2sUDG9wRnxymB%F&gOcLHvBo0OTUxY4 zwWL@?EA2uWV=RHcSFwh(%XbfS;kHvU0Fa9++km@4__w-U3R`a1-M%apn%>+h#;JDL zf4nIbI{70%#o>e&*RsAv-5NY8l1Z6g>tMjQrhf#sj2TSM(dQ!YH5R+di4|-TB|mqr zPQ?}Fv7mzL_IV$=LlWLqSn*Us0{2QU{kT@zV5{S&BoDF(!^Z&@iU&iN13SIXC{*(i z$-gXd_cQK$cisHx*aKa?6NIfT^?1i}bm^FyY@hIH{YClzK8lYr3a1Xknuu#?BVXzg z0b8PXT~B~-2V$yq+gJCgTLdzz>ubmT&wz|#~#@t}QglKCiKHhTivYgKDh z1$_j|4Rm7liMxZSq7pWG=IGfzGn7-?cbQ#7#}X9~efCrXo zNB9!I(fc>yyx+Sedf+^+J`EfEJgy$@%kj+WmE>aX%=FS($+^YjGnn^Tyc0)Xkae{# z^U_OmQk_d0?`uBN4~`k&2j45xRYaXjarAgS_COR`!A}IT;4`%iE*4zujbFdOE^8Mq zy5iZkLLt=UBO|LBL-2QNd1v@Zh?o+f+2(^wEQOp~uCY#-GJW!heXDJGp*ot|!=nAs z00aU#LFW^Ab95Lsc_H^kJ@LFtt4@%9$rLN$ttWsc;`o1-^&0+MOv;=7@#CK=7Se-O z@VisG8AEU0$uaZ{?LG=VXOy}(PcD`%R>AvHmwi?A)ZR8)vGB%lw&0WX*Q zj`Z@)O$^j{>L@8BVi!_BZO^unL44t!(}=#@6u*_H#ZId_$gJ7fEbRTLucYIc1KH6H z{-Qe|w4Z|uSoptU9rzzx!T)3Sft#b4+Wch+-%!{w% zsP*f(_RKoTpCJLf_a0&-zEziY`vk;@{R>Go3tGo!FCWZ)$h7&z*I4LuXWW?G2>Ja@ z`tUNro^aWqv--Qx`Xz-cbtI(8Ly=3DN)1uUS(&v(qbvNZ(q%lKbC-Vy^Vz>{0vRRp z*Sno=<&QS;=8fLiiTfm7GOee?UfM;hY@2*raju4KOu<%3lHJDbgqVawzsp3ccFQJ7 zt48A#W`A$<@4HB6WagH=lFQiAVep%{iQs(q#j9HpJ4+A!#x;fS1~AJ)`%}Zc!c8u{ z?(Cej#o(BvRHV98Kb9YUJM;a8)E%?>*tX+eMd7#x|6!P9fH>F1B2$0id3TZP{0#*h z5?dpk!$mLLVZp4E_VW#g>npaYPX$l})`&WXcTb9?yaq}f^EWgLqftC;SOW&0>C>R4 zN@YmaOyxmejEK{ihwnaec>I*0vk+(kxfb^&xR6`)&8~8h!~4{k&}#z7r#mHXiZ}Ee zYg)U%<*CzMxe{Vi@=j$0qaP??m=W9{qjV_qd54?#gA(%c&~Rok0Bd4yG}LFzCr+pU-s!&|tZu52M|_cl)Bhngwe;clN6eea+l>QTO6^Tgf+ZT>iFYMx zB-h=}6@{*1#7Lf=y8M&9mzT_OoY%A&I(cQEiBo=s2!|?#pTi{Q2~6P29SQ^h`lGpu z3H3Q-xXUSg=C<7P*Ve)$Z|Zn;LuM>-*+}pOEqae;eRp7sv&&)o_5sAP?7wI^M{ z9t28%e2#7!otXMLd~8fy9&5^;dOcQuFC;I+Y%6{&6rgA_DMAU@t6_k)`X3DT^76=L zUA_rD&~PRVC7@MqdMLWa7@-#$r#JGph;B}&%Dg=qK8K* zV2< zvY9%Ggb&lZW|RXwpT}3Mlq}VsWBWzTR%rklW#>Xn`ZZy~-f)%YWwX>*y~kc9b+cs{ z7wfnFRB>|1aDx@mED8q4*`~%rL9x~e{Us{e0bg`NL;^b6%NZw_ z<>lQX2Rh4|oBue(Dih|$6O2J2GV!PkLatZrXF#6@E#t|df$kC`&ZDsDFl=j4zPvn- ze2T^#yTzO|^YxVVc(23$iWh}NRXLjX-a=uJkehkZSS6v+K!+VNB`_L3r-TM`74m)T zq64ZjxSmEGO4PGdU_sCCN~#`LPdrCBSVQK@cUJYFiuJU#R>Bx-p>hx0l{28*#x78< zcUkX`@AdFZG(;3eyN|oeI%X_Y{Zi^fi|{f5;Dx1L{)i{9xV$i?x@ZTPZ86p@=Y=h{$e?2D?NZH`wibB zN6&P$L+pV9MrU7$?j?i>P009GjWxQ3l-}sq@ziII>4D2x{0nhewiZ1*8Wz(i!ru+U zNpvyyzuJBOFXU3RP2`Ee+2O3RCdTyNTQ*hVl*xM`>7@OKj|JriH=4*oY5y#Ugbi1o z8Vs@GUb0>qx#a-jN*;FL8(pbrKdNo>MfLZiO$8-qo2VXD2O{6c`J#(lT4cB1A z{`FoDnG{bPk56qyZ-0W6J1X*5zajWlAyK>LT-hpW9?CV-gKbE}V zy+loVPCTl;%quh-?7-eDF`=*AsqX;Y-b;=+o3DI$l80{kH4zGB!nL`CQ3vnu@$P2%vJ~iUX`|;z!rfIyt$M2=s*$>osXysh# zIgUe)VohH8E9||rY!N%3Z`W2dG`zesIkCs8zn@gF3vr9XEJI2R)ouiQz{Qp(bg>i!2)89#cNm}0z znY2AFkz}3?#EBDuj$xaomH3+Km}fN!t=7G$%)G1o+oO1V>2z4rD;?CFmcF*+Z^@LeY3!k9jj?^)z z5DvFP6VY+tmB(a#L+yjAl(u)J4LV zgKoA}OLrL}{_b9ypS|V??crR(vQ--pzg}S*;Q_fo@i>HFCX+lp&-6D2_UTQI!mBI> z%)errUi7htZ95PFxefd0vmv!o1PV+%b*AMxbO*N(Cxro;FQ8cs56H^Ya*?S*An|q0sX+G*VN%Byj4PO=AYwQ z)UcMq^U`=ji3ajro}t^_j|n?C#>lQ>jOKi}&rV+O^h_(YD&L?Dlq1ehIBZG7k@Qon z`O`D;Buu03uv&-}FQ7SDoPFwF+;0IbDInQOl@w;auKBq12ly!GvY_g@L{7*yJ&L6}%WJi2jL{wuOh#4ccGKOG@I6++rc0!-6R>+@6x zpotH{l<|~auEmjXhYr?tV1{3~L%mmUUtPyls0eb%SKaidBAnE}(V=Vxn%jZ@0^U{< zw;zi%@P$aXok4@LNl+n^vdx`X9Ad5lBuwihEv9-=9P3rl6hX%LVtt{6xKeT3FQ)ex z)jyii@;45TzP)Rr=S2W7SypS|Bx5vDU7}};r91NQ33=r~xfdHtB=c!y3Az0!U7xt@ zyieuVZGQh0PhKau%li^x>lu@uN3QUkW`<_x6?jl&v%!^dfE!bieGAob&pmY9&X>!1 ztwr_6J3&d=S5U}6laWk)dFBy2Z$t~H(itt-F@O4OdK4X<{)m=Z1e(cW?;p-EK_MPi zS$L_AzHp+qX{m^{*qUKPSTz+s+oCsL9r26vw%)DP8w}@!Y;Sc$P;_p*!b-j?dr|9O;iVc$h5yzsN3DK#h9pj`$%&(z)xI zVEP_!(I=sB!bWT!m=X--r~WCu$phj6KN^aCSklzuz?c1_qx*kV_e)H&*@bgJ7G_C< z7#oAQ3(IKwv#*DS`v|pAwo2n zr#X`bDLOSj#steyjd50Oj6aOu*3)TRDLjG(Q=mBRL{rCVY5?(F=#;i$dB<710$ z=)VhdPF#O}v~?-%%!@tWXB=RDS+W)zuzQr1!{M)q1h^I$QhEm6-fXk$uF02Fp=?~FGGD_^z=QprQ-ZHnTL8>C-67W=JQui6P#v1M7I zbOJ#m>RT}OH}W7)N7e2VN7NK}Y<2*|zv`wYmr5*h%|0vfW0l*zP)HSHigI?a@2zEG zUL209!C8xDH1ssEQZ0shYMn@v(3+0G5JJVjq>C=LtID>J3+vh@+rWocOfQB-3C%Al zj|~pgJZ8XmKPDbBJYwrm^BE{mgy1d3yMul#DIXz5uD4wri1ju-7<_C&k#(_lj~@Lo z9S|yo;~`+0^@llVZlaMY+W$3+L9-W~UAHt>&eb3djDcQ)@?({yl!j=AHSa3gHcJnU z;h|jZffk4nvvF(zb=KlX{SHzc*y_r&VvvXaC{fY3-vLT)ZLbW;BV3H72(4zX3MtCoOM#o>Y{5>tWA}Zp?ghau7 z_nMR@BcCTVaIV!)$K+~MPjjSC!yqn0@$FF#^t7P?zx$(zB9_16Ocx9*oTyvDZVQHM zfy86|N}lk~=vUKdN6|#_Yz3OHYo45Bsr50Yj3Xp;@BX&oE&Q-c@>lH1kN&fC$3X8O zY-rzLF}Uz~U_KapZ8Uc(?#_Fu*jaH0@4R_G_E}HaHoql#pWQrB34M364Cto(Gv=Se zE|`xnHhO!8y1wj?3QeU>pU9ZfZL z8FxuK(`~+83!}AtW&fJj>?4>61CqT4q%r54rg`cz`lBtE$=+iCulpAgdbO~JcWCs? z@4~v~4P@_b@h#02N)xqTCAWzjdX6)%3%w8mR%Q*B-^Ijq54V+aubG91AAdN$7d5J7 z*0H&%<*VG;6Aa3P0oMyss1nNeV>u>-qd)#2ZmpUaOF2CpwXM>$2GSu_9<#`1BDR1d z;}EldX6&DSJP)%9_O9&^AM3BPU`?RRrjah$|C{?XiLud|I%)7e6CW3Z(mj!M=f@0yetJO`A2Q{3C+($oj zf0=~X|DN|EEjDyr%BtCQQE*%7n2m-xp80&f{na;12Zr8XGUQh(29rO z)m^AjAaL?F7Sgy!i)B;)-+KF?JIg|j&3JzF4v2dn-I@45JIJzG+}}itLH>Wf(R^)M ztVUu<`{nxON+3b~?HEa%Y`pl_6(J!`jGnxh>TfPK=!CC;07%%)dX_oHF}c>SG1=?I z^X@;J3CTX_ZL4yRb;%3c9?}=W)SVnIeR2PAcUJvD@<8@kPwcE#@6q0Ph|SyYKX<== zi3&E^xM{bmENM!nA5thc;b*%X$<;ffd$*XZKj2oC5yW~2b}Y0dy4t&Jx874fTl$zc z*3~VJynQr67~bUnR64S(xcjg`=>M7RubM?O8_`c zq!5h6JltQmdsnVZHrf+3$r5?| zf_g*M3%!?@W?0E!yErN8yLN(QQDW>XM=j(;QWLMlt1ouMc%RNy3qF@(UtN)cm@xw+ zs;M(Xrt`Gz$gP`3{mmb5-mTqqqBq7B?PmZ4;?o;%?F(nLNk;x>RHKhW6tp!+t)v-dVjWZT5nET_n}DsD_`%~5)&ny;auvZ zVMz!!E4~}Q9??-v60)D=wSCuJNy~;UznJzgDRk;3dnPj#q4v%r8xgt(8GRrfy%6_x z*8{)JRHRnU7y9kbC5+uwfIMPf$}dKsJx&=mx$In7^1w>_>w9{~vB~Q1Y(^1*ZjaJ< zm_NN4I8D9J>cw+)8%{j5QoipmiqLPB>*X!EW;km6$@E$iHjRXFyEXf;0e(-F^l>uF zzLS2lv0F}(pnNg@ue|5tTsR!~1bnSo&2R{Wm zU?mhAdTxqifIslwEp6wgT|280oh7MfJ1>1moYy@)uC=pj#aWfGmAnD_Y>(V=6J$Fe zs>ThF=eBV#EX=OI8Zwz$JYGfHbj77uM8*DjkT7X?ly9FL{%YS^RkQecNVBIlM#bU0 z8w4QA8#oj8dpUG(lnM+KXLC-)o0-y$sc)l_j)D3vEMW}5%8#C0+7WY;`C7{*XsR)Y zkD6p2z?!ZaOX$NKyn1|4$4}ne{_OR6SU82rD>j`Uce_8u2@g#<6He%V*Y!unh1tz< z{#`1+VG)6!KgRyP?BiISJ;%G?ypQLx89I7p=m*|o-w?jSriP2US!XfKTdW?_%SEvB z7K31t9cZ>?$;xFNpS8pYPLB%?)uM)HJVHc0BrkwC$}yr zx2U%w+n|fyq85O+C_zyQt9M6eoFUps?|(ubyN!r5`hCVXSYXx11f%%{A&p z35Uu;&7s@5S`X-~MIU*^&T(by5IDJdbG~wi{w~4#7)#zN%GSYD+>p62!d9cWvl4(b zCEmID%`7-rVXymDRP_%1u zdVYr?zJO#PlvF z8TQriUfpwn(+gUg2|dUxx;GP8$%HkpW5usAp}NX22-qd)(3x-ox#878ZR~5!NgY!m zPMWFc?+MH~dE)k%z&p&U<)mYsDv3#~_g>m13D6~Sx9`mH<<96g3mmW@v+u~XuMd3g zA-c@WpMU1HCIxl5zO5V2b4f@TN_@Zh_L={OcW!&@y&FABheJTyC<`HYDw9_VhhiRV zUp?mT%rGlGU%41ZzLLaU{nM1DTqBt^S1l1KXkhS;)e^PS0uBjD_t21$Ub|T6!i|jw zmrUj>dnY;74-PZ#Th56$uSSF;e0f;u1p+}Jgvni{h~F$aQ=kvQ7_RmAp!?DOYoxQg z0(y@0Et1z%V|-idE?ELPoMe%Gva*6106c08rpbO2JF{s%Xa5k$isyuR&>Iwi#)|Dd z?#3u3a+68*Xp)%Te<}V4^xRbXcgVT}0Ej zxA#>sJd|G&wZ(`uNOPdO=IS6zm~^K<25C{TP`Pb+U9E^D%AzbO+8~qa;_$??>n8B$ zOkQTJ`e1{yYG}&TCNUq+LQ~k=pYrV5H6zUy>A&nTsh>s0Py5{977{0L9{01w&>>cH zr+_*qEXmOkMRoWqj%X}U6_*uoG?{+<2RE)Kn1kMQ%Sr|=YLqm$x~W>QIOhq`{pS#` zIv%Y1PM7#i=GG52BAUQ@LDdO%Az)z>F8-Sy<_hxD;w_)b`fi4`NSK@mNq&1l;G_Um zl3^|X)48!mH9c?dVl7UB)}e)GI?Wqz?%8H z!b`UAf(-(SO*eHu^u(+`m5J%Hg~RD&0dgMSh#G@ZjswlKV`3}MF;}jmqp(BZFD-i2 zjn#p$YoW#{%QF#4C>LyZDK|ar9^298&sCF23OiJAFktmRQQVUWJ23Pxt%+1MKFMGtn~6)PFNWMO#_KE35udU7Aw`eSZ14$e0|)A^~z zc?vIA1SNgf)VHIfWe%Y1LGG#5{EE|j4x&!{Juha8K2OTg&pc?^)=^0unZV^%20kcY zl6!f=%a+FG<)_X5_1C&I0uZ>|O?!OTGuW=QLfrOFeuZPIBsY(X8u*)(XJ)Q^6(Pkw z4S2$@nELVUkjndP{w>BDspBQWR?d@&nBSSI53G5p_)L&;HfwL6GrcY7Lz!D1nWuSt zPTEybZ#wI$)D+ZA`_!^_-X#?UAVrR*~cp4&%`IIcPpH4+E zF_D?Mk= zRRiaVe3+Di3yo_Jvy&R5)@e$7dTB6-$-6WUkH+Uu5WzuK|Cz|gKgLcFVWD#t{yoQ^ zrOJLu@Am5~tJio8=#2_`R@f?2w0g|$8pO&T&n&OZm3x;a@!ZI6KD8V7AFr~q;zx^( zQ3@kg0Pl*Zcue~n12_1qK?XlZVRGSLpeAUvd3d%bu)Saqel_fW=0f}_bXDBos7%>4 zWQ8K`1z@w+#F$zPq6AINFsD>0*s_j#CTNhaNGvuio{!}g`URTT{K!9?Z_IJFLznfp z)@e?mw|vHyO}BpG8G8RxaUZ6`w&FYt5RlTd{ZmSEePCdLHzz$6ka*4bm{{BAWA@FY z9ops+5ix|Jz4}1pWiN=F zkERKFJ37?0!vwHD$x9Wds9xOe!s`~c>&|p$lN=s*yDY)m)4IJ!X#TE3HA1=z*+L$hxe& zGEc&$$rpNxpF^35Q>8MU6#ngH@P%7Aq7G9(8&hZ#dhk~PwI7!V^(9|9B54-Npk})xg^F-G;{Z1c&DSrr8($ zm`-J3zW37eqJOUT%48q2FXuX4<$4CtaSzQ8Y%py%B&|+zPVaMZ0D6ldw!Sx@{NC%x zSWU>`_KhF^xX|5#gMtam>-KoiiWU|6_SOSWNC$u5_Oi)V)HH5bv~T}#z>q>H(}{R= z-F~UGPWv`U{5JtK#jaYM6fMdtApH-Qyj}1J(j{^G1ElL5G|_~GL>A+_q2CH<K_U^>=io0%wWhkgCB2iZFmA4#ehXMW9- zp@|v~BN*+l=U6&QnpTvx;dyV=v{b%?FeUXd8&k1(g>8P8UZZ6Afj>8#Ks%4xFSvg` zirr5NsAu@5#P)V}{_@I{7w(|vyt+lJR@rSgBmknkBJPKF2-WfFAa3JM0ydL^EaT3| z!FaIO=8uzisOl{et)Vq6)ac6R@JkMUlClaqns5ogA^?%6kI5G({Q>2bL;@3%?3B|! zkr(I#Am#gzP(5hjE*LZ$h|j!|kIBJPp_~EWKBMM4;8ZndgivNSD zxehW*>|_u9H1eF!!S$;(--gxM9RQbn7V^pK53h_}AekkPdbI{CfFUsgkSt$Ctis!# zo%PuUmQP?C%U}Ov+*B{B{`s~*cui>gt6U5YQrS$4eHcP^KUSYGWPTvc8QQ(I&)}70 zdY!wP~3%UUi0ogy&&VFe|tChTsbyv-dH#R5uaZA!*)6jbG3(s zw0_g5CB0H|E#Mtrwg3N8%lZkS46!N+gG1>-^0~ef^ZUW}Waf_k7&?RXRZ;xrkuP=I zyi1%`b8g^W9etYY74Y@@3-vuI@OMF-*4pd~dH+4LwG zN00moC{Z8JIjRJ$0&3e~Kdy^aLF>W_C6LhZ`URTyHUeR-d|tIfp~;6NgzO5Ue7 zTP@lw6-v(n56lPMTad2XZQy$BQSdN?&F==yKv6bTSgpG$&+gGvoL8tw73B(@4_%%_ z=|E^Jfg(LUPq1fE0R6}qOokwDF!Jmt zkZH%67 zsG!ed*fFiT{`zO1S-CSg+>N(>Jn^WKE4`!W=vNXbT}qnMy;=o2G8*eUq`h0xAeCQ9+3!8Jg69k|jsU2q+*KBuW-gBqs%$ zpyZq-OHz`O5s(Z`&d?yKX=mf}{O;79w`%I0nmaXrSkM+02RXgZ-s`*8XBo{ZJ98g= zb3T@mzz2btE}Ao45$_u-FNcvg5%cTR8I z*D~NVk)uRiJ?fs*VWMxpz*4A&jhkf+Bhdu#e`+3=k$>|4jw@K}$bG)7`W{v+fl!7+QQh2{UM`t?|6=cxuDC zGtSU-;7`2aHV~S$_9!I>H7%?~XUc(P0j<)9w>YD;5{}~GR&ZtA9~Z)MBh}ec=FchV z%qq)%_!WBzew3wR3HeXgm(|I8tZbSdw)yTK$e@a?wo7OHqkW}!EDpq#<=tl9L2S@~ z|0V}-)Z~Pug_l=V2TdTjZb#hPEyaJ5Nv8G9kM|GcwF5Z9m0#rbMf>fFJ%e{ju9v1< z5np3|Pc!?mVjM<=Kbvg+YU4ObcbqH>C+DqE;7NFOA(c!%j#Mi&Gm{WBgyAgt6Spi` z)dQY4P&x;Pn_UVfZM=OGa+Q^74ZVma4cK(9FeF3sa7+JbS^H1h+W+*&|1RT}Ih0*H z3H}3N&i(iY0-PI%27`pP|NDJrvf@LAt!TA7U6dBC{B-!Z0e3&u-G8`f|C*1gqB3O- z8o4v8&phg+wt}ygjgcRDV5v~{H169}<;Fi$;(P~( zJ2ka&UeofFwog7BLi7X|%3yhKUcP(BRve+xMXOMm%%@KPc~yrh^-h6oto=(f{x2f% zP!BPm0>ndb3CojmF1pSl+G9m3Qxu#jX*h#Ns{F;Rkf%6e$9ldMrm`=HNGl84DLtAHH)`5PW^$rWsI_o zO3t!IQq?JUG0r+ipD+0vfGZJEXHm!xKG8PAF|oI6lUL|6mAJ~G`P*s5yY`cE(U!~b zT0?2>rclMJEw$Uq)XeJ>epDZAK28{z6-!z~FUGGR77UYjRXB*2h|#MN1zH}*3?anC zNIjvldVNv|B=6IHeS>x?^ZjUtfYIxH8Hv0nhsBzX(z?hEwF%9UBH#D#Q`e`Q`=_GC zqrF3ZD1#Z<%Y4&5yQL)`ZCQm*X{ySQs9xLU8KUA%Ospg;ckIw=!Wf`crfQ@Cw>?4RY+Gx@7>iT_^5_ zZG5K`<}`c4vkfLu;G=m{om~7}hcm&XBEsu%=Yy9#+d1(+}DCJ1Y0kQ_(rFzg3r6 z%kZUW>9Iz0ju#e<>X$4b{;|jzK1$RSq| zsVx|sHW5PjfRyN<>ag5QOMj{q3oed`#EYS5E^qp%c~w=w$#JqP?=9E{`Dl$0V*VJv z`qDRjeD2qj31|V_pjyxs8}lZM<1Nx+Q#+wBtyhY(duCJbrR4(wm(DAS)KQnl#fm4Y zh;4zLGv(cp!}_)-e<0N(EjGSqe(%{9_&i9x@!?&kXF~@|_991Ie+7YSLDH0Zc{CH7 z<=MQj`!OP$3cbBfz0${@kkH%bQ(_EGFLds4l4g=3an!gPrCLRPL&1_J?Icap>D-P4 zKw1Ne0IJ)y_L4KU7j-w*J=n67scMnOU_2|BQKJlDg#HXW(P`#;cy;o+-1sRua|cP_wxrKO(JHmM=a*he@G?o3nHRNN3SaUo1n|HlJf%MsxTOon&z0~5c~xg z4LfK|)Q$&AKb0ec!}|&RMU4vV5?T+nu<%TS$l2LCU@G}5;cI#cG-?CW*Kzl}=ILW; z^Po&nj{x-KtG)Y)^Or@e=6@?17{`#`%OmFx_#-T$J5yU2-Ec5#hu1zjtY4%FR!8y8 z2|Q0%%VQq(tC2?Wu6iS!yIcG2G;#(0jGFg=?ix%)>qPLy(l3%{f<&HPhNkirR-xt| zvD#m2Usml+<(HgQiUp8!AisMqfgoFfyG|`L1f^;z(9@4eqYv#n?xo;XFy3yZ+ZG?U zom|^8G`=>xW8diFe$-{_^@!Nz4@Ags4R&Ee<050vM7oN|6Um-1lKidz33e`4r78i>IroUHKFdA=j0rxhs`op|wmQq%qY z{Dpr}R#FMc_ergPUc^>wvV;oBk%<=24MPxb1I}D*4c{d@usl!fxj*X0m}pIZ|9OP+ zb1ppynL1EDK`Nx?*V)zv-nBhzoqv(tr+5zd-^{yPD+*XNz$a0-3>_iu% zlDSI<-u{{h<@}G#kf;1@ZJTmC$vRB#orpv=PFzu)yML8`#cB%GVg8Yo)(h|9t#^KS zucI|VG3TwvMBlFyiNN73QT~$E+l7YQfs}zm6({I8>(f?z2u$2weD!n$ru6x80-!8I ziAS>(pMHVp45GbST{^VpoG}pp_!A&+z@A9`tLbN}%rEm1f#@_!IW_`Lh}K(^Jq`S>$4F%gPT1hby=kisLaYxgE)ajWJDXA+#Lic6hbS^?6~J-oIzS;wEIt4RcZD9iapvJJm_TSu=?+0eyl~ zN3^-(rBskjq)K!dUsjvOIR)mhq2^l4v@V*_oT>rbxqD zwf`jwa;ulOgV_1DqNW4kf2_!9%cZ-iZWdp>K>4I>Kml@R_Cw6^Aq{heoMn0eNbysk6Pb660mm~GCx9UQAa@1NRaOBCDF20Ypp?dUfA$?wczCLdWs>?Tp4%kO(PHHH00{dy zi#Ox=(Wf5-`EIN$yuZcghw9z)Cutcn$(IK<6|4VptEGE#4v^*Qjc;M?pyS1`j$ltG z(CB%lR^Z9mu)St0D4V+*3diuP;IKPT{qEj(NGcZmE>aG#&SJMHe zM<0*NIk5GRGFP4@N$f4ncNc5mTP_QXD(1yhNk#s0$?_Ru};0HwYgs$>v9$_Xr3pzi6*YTtA zlOfM8mHAORtz{ZQ&SR&%D0u^WF^^sxVk!9gh4)A(?9DY~dZ3y=u=7S`tO)7dN4j0@ zW=s>23v;j}Ne9zAuAyp((tLn-9RI0?*)8Da4KBM6%BhgL64P;nnWxdKt=UfV0rSyP za_k8%A#Wixv`UssW=9y;Z_J!&KOPE^-yijJ>t&yCC+2XRCBUDG;SF2eYsmsdWDk8la$_B-Xn0Hp>LYW(=oRiQpu}??(8!8P(6VK$Kx-(n&@dC@O&r6A)BbAOEItN7Ohh_?CWFkEUx@VS1PHq*e>sr9 zEQRyd>{R9}lusJiyI8cns0k?#x!2I3UN$UpY5{)kQ^7}{3B*Xu$)D~>I--wC<=@!X z4F$)azn{Y@BBLpmrfuYQcTD|H?>$$!7B2ThXXr#s?c;HYU}I$!ME`4*a>Qxnel*CJ zlss|ye*bIE(lZZ%8RV<4T^Lq{T^$i{UKeWW%H4gJH zb1bNMRXlcldFJ{&m~mCzs$>?xM9)%=Qgi9VR-0wkKP?X30vVQrRRF==$p;ciV?t~K z*gCZV3c|mLsG^Fer-0(wLoe)#S)1k!$|}=8d+ zE&cmQ*uuSesq<)RE`ctR>ENEcExhY4!JoZyp@3X5tw0yxMG5r3LPZSksa89;6e&&Y zW&k-#!DE|+on(YLZ$w}VcgqO#D*~q-0Qgk*1&1hy zEFVQ4OJM8Fpr70Ct8dl{T^c@RQv_P3^Ph_~R%^Z4(8A z>49YR#ID)r8r&gXUPgZK+n!rR7xH;k_I`UCJHQg$c&hhcx9IyRQ_CK!Bk(14ulS8s zwz09M$bmNkAGY{_{nMNvZ4S*AiOk%dviz}Do`k{dDM#%2Bj z4B+UqoyR5Mm~|IebPs44wWgVU?W&3f+nG4;_@11JCace9OKz9~rF^^y9y&{;UxGC* zE=^!n=BlHXat)8mSGq&G{iAH()x&;!9ct4?4m*`^7VGz&s^mWf8ykm(e{}ERQ9(+3`l>Txr`R4HJfstK z{wD#nsip05^o&NIjXa%!?T$;OG0&-<2#HZ$#A6!+b`v$L3%kZD;*&Qc)tXJ|-_L$| zy(PW&t7~-@V#&(R_zEf zwQbutuxFxt)_5<9zQD&I3XP$T!`6^GkuAherY%cenQDcx)(E?c0w&~b;A-f5Ig{oc zE)#)nEK|j&jTQk2=S$EBD%XqB0T_K*o0+aBg1NYUbPgNw4<{N@U;p;VV5XalVc?FY zHI}=#17R}r(F!2FGAW-Y0!3#A;cy_y^2$I&E=5)CUhabVf<^b~xoamo!4__&>j=Fo zcz)NSG-eXsgQ|LBVWy2( z&jLF$RVV@TLC?TgLZyR91P)M@Z>jvp_^VPd%@sx`#MkBV>X0(kd%gfVM`iLN-~9Z5 z^o&eJhZ;Sjbi3lS*QFEohd++KcA09%*B`3}6f-F-RE#{#5$JWDXJ2Z=f)-MTyh;qo zp)V$rXMFGcdgKHDZgDYmp-|eWbmE((zp!&{*NSdM>i`fFn4<>-+q8Imr0GV!wNyrn z)W&O!E+15Xhu?M7F`hX4%^2yHWJ-SIE0wiLUE~l<6G6X4=nO{29fIpI(o{{#l-F1^ z@>?INLooQtMpPXASxqzjiv3z1vHdnC#6tqD#h*W|X#9cP=azKM$df+RlYyv1XrP&t z8=QRqpIJ=*pIBG_$Ly$OVkbofP42%_EbT+y^L^jJX^$R2#FRZMpIOCi$Xd316w5n81Su5Q0+GvfAQPidf8y8=Fs@df>vkr z<-8NQ_pWVj!L7a=lSe3yy@uE=?Lk6`y-h9OhaE5IiVY0qdE$J^bS}sc#G9Nyu-EI+ zFCT3^x+GNSDG)Sk6A7+xa+^`j9;2fv!Xwbs3 zr+v2QkclcdBOk?5CGHhr1Q?3QoEM*EDkelvAn;S8?Zpe zGaCmM% z4f1N%XHJF(*EwYNj0_rh92X?WbFZr0tgyO=6Z26bS)uq#nI?6U?CS!2j>u-C77|Ws zCCgQR)>0c%I~;K{pCQU26>Q<7%OAkmOf<#dNP=>={4I?C4iB>{PM=CXug_=38Hm3@ zB$8}Dsi&%}nC7Xl+i4pp6ZoJhr;VBzY5LshgebX9gAk(L)XBFt9K9hl z_8f6Az?fMm`J@LD9F3l>)}l6eHoBru=HwHN#uQ!FQs(E>WIPPRJvHYremaS9_;NUy z1C!IYA9y_cDoX@*HVo=ruV3Xx1&ORqr2y~U41MXmA~S3;E-jHY5j8PL%|YgU7R6a8 zXmFcGNn>@yqn|Dqx`ipRgS3* z_li~bX%xxGWU2xgnRH&zmj2Ozrq_jv8%HyjO6XW(*_qYrq^@M<(|B+N>7S~wMx@c_ zE7`Tksk%5sli0Nw`DPVwhhm8tmKu|yvx@KG*&7e1Pm+p$`lo-jaG$me5kJ>VGK!P3 zh;VDY;FMdO6kFz>ytd+h3m6Wg(Z%h>O^M8VC3`eyr%mI5i-)H7c%(&|^qxXy*& zogI+JYIcoQL+>gE20bJDfanjg{)pT6cElr;4N zrQEiUWB(x>;WM&rxE|&_pH?)xBC*zf1Ea)yw0c;i^73ZRxtGC3Q+@8i#J$nh^RC%~ z0lFCFN=r?>sr;kvO^uMXhoo5j5|Mj`6HV_b&}7#g{mV}KoCZ>fPv^_X3hwKr?5@;q zPt2zz(W7Ne=rz|@8c)mWzMndI!q4{QezJz47{Bsj3SSiI)x;FPwy41F<$JKLA#ND& z72Jx|3T}9A#0vYS#JwI6nMy0?y54u&I6G84BEn}-KRq|{2W5aNxyEFf#>Tz*zaY14 z77$mv_yxDp>b#6^nmdWWcWgpJi};X56u$X0t$3v5wm$L^n2D}u^BL`tbxa()ta*q* z&4!!7Qo0te;S#thZvKsKZtpF~T-Q&vtx`XtM%{9Uog1od=;;bQoZ3*p%dx0q(pPEyAKeQ?#gQWA)ro$$$i0{yWG6Lky_Bx#|=je`zQ9nboYyGMa!i?VPXTi0y zbvIzl^f-Xot4bVL7d&l&8=FwjflK}|JEu3O{X@Shaf}#wHI@?~BKE7Ezx zld@2T;vwB1NTu`H=mb%LJJNEVTuXJ* zcJII-1VEdu3d*f0L~Pk>cTw*JkLQ)}`&@UCW-Va87r%7Z1qomv8U6L^3+75HZ3Y*j zzEdbeTTdF;};W!0lSxluPcMXmOmm*p)~DmV^UBsr zzX4-h-76vArp#Ds4!RO5d4QzzdETywg&$8X$Id3SdHISh(hN@c-T zFZkWz>{ffV74^N8T3@1GCel}}&Vv^5((?U3rBuaUby1#{jxL{X+*>7ZKv_`l38^Glrs%oA9swfEdX1qDJAY{nP z7>@m71?2H#sV>yIVlGard5d`$4HSdujG-jvX%V_i`m!Bl0MaVO-)7}R@q8|Lz*B#( zRyv1%zqIu)hE|s;U%VS<8mbf0myma(OgU-1ARbwWCeIQ0ZK{+3h@|~h#!dfU7B>2fYkU+CM`$0pN9|; zBD@5@ELWcQbKAY&1G)P302hqoRU)S?HovLFSl|1`0y#P25@AfTX#_xM-oJX^$X+n~ zZgef~doRLe9KQ^dJR9l31Rc*5_82502!^7vu`&s~M)R?;!O=>_Gkk?Izk!&2DUx>4 z&_E|cp5}2VNPa@P&+mDF7!*GIDcKySxv!Dg^P^8=IH_;(=;)Af@`wxrzL38SFQ|+z zfqm-UJh8WHMPn&*+rh1r=d0h&6FG~9+looxk>Zl3FP1dx-?n9@V#r)M4TU%%P5yWt* zH@M!!?t_wOQgrKTiu0>{eCgFvHHMBF8W}@caQO`WN^pI`4>H@PjmUs$@OUk_CA0No zqquK+Ke{(Eji*;}dxS9!p9a?*3Cic0(K(j4K$jfhk4q$n=07%9cn>xKMN8fs@>>D~ zjy>_eH2G)rzk|%NAKU*s`w2)BrVw>oT1=?u1O?@`#@ivVZWAf-@K;&o)A?)l#{xH5 zgH*-H+SBUjmbF24AHmJ`)iSy%s~)g)Lc}10KX5=yKA*6J%}?4&x3!ZOXT}jY zx6Px**Oi{Onc=v=FDvDM15&g64b})J6i6)Fhj{{KH_#UJAIz}Yjv&*&Cc$0}dPdZ^ zaB<5%s7a^KN%!$2!L(Y}_=JpSN1!V>0m36)8ApsW)QV!%w?DPiW{VlJdl6v zqwx&S_D2}US4N9)Cqj~XZMN0ei0BoYY0?BU-U#QO85{;uc@@eQiS3VGPPyZZYbC)(Y<6kux_Wz_~1>}QgUx>rkZ^q7oKMa-KCI3rnu7t z@=1|q$8Lh98gM&gkT)WJW7b;(BOXX%h8VCwPokg!1iqk&kF!R4!pZw4N^&vwL#-CT=Bp(@-%zP|3%HOP>BTqJbn+c#=E7{Z%=r5|#3hONn7rQx<|e87{Y z(B`W0%PY}qsi9PDUVa`?0{!04<2;@2uk;h!6FNgOJ5w0=(*lNA-OE0ImS*QaR3bix z#bgX%7VF12_^^~lE%?Wc4;og5#}ZmXs2{ZX?sS@;cFobHQ|F=94V>4C3vcbXg*c~W zC4p(6_?S_tW#V)I$@K|(0_)q;@9mK2B#9T^cfZdmx4c(tOVtihWckQ#a%PGp zoVWEYQmI~?ot{P#uvPiw4s$9+cz5@m zL@q9y?-{!1wf>t+D&pcc-&6njoJVfjp*?t06^|o^gu*)laFW(euP}PaNkk)Z?#(68 zgF3v@RC?&^FxF*F^1Ud+b(K^1z<<e@)WH6O3%oxn?mQ3T6)gKDsQltN1;yxobzEKaY$}KWscuV3|472d-SV$xR-jd8DHuRTSuC+`jS0vE6g?&CbOm{b1qGLUhrabV z|GW^vpdtq0a8Q?qv(iP7_Xh;W=?h7aUCLV_Kr)I0sAlsCujvn`?n}62@Uszio$$*& zV}W*@w*A$pV0wQJAIKz!N>Om*GW=-!5Ue7@0l^~7ff(a~g~tS8?oa1DQE_sf7#pW1 z0?_p3sCB`v)M)l{K$ZrPx&D|LF9@C+Lxv9#p^*rLp)lu~iClB9c)K)#_MD(q{%vyV zq1iU*(^Q>kT>`U!qrBavcy#<|%PF?H^$l(pQ-%y1Ym+e>8G#NrvrITa(*Oj_&#*L(a zT;WO9QNr+qgNP}}c|G_@F!%G#-vNS$nY9?S7FOki` z9K20FTVIT^242X)uMKfZ2@Z|mB~bAAtmmt%-l)K-$>e0pI1mHPx=oGgON(*`BS<*} zP|ZvVcO>cSaLw4Z68LDJ5?3iNWD{-@1E#a@$e%(1@e_c)v z!XbL#+V`Ma@f_5qmUd(de})V|f$vrLIb8ixL)YA5!6kxYAc)8Z?*rqLASliebe7bh z^~7ImEt2`JGz;l(apz41nz9+x^vm2K^9ld=K~l862hN}v;kHE(0pyT!(#ai#3|S+; z^A0k}j^ZNkzA|6}B27735(*%>U4Owo?Lh+zVB&>s?y703UXf*T9>9&_5!zmjU}!0$ zq;gS&+r4B?k%2Hnpmj)e)Q6mDh}d5*t*t1StT8TE*x}Rx8UR*%67T^DRKzVIu>R>) zdK*$JHcfA>+K5%_ftIr2podgF=26XmAh%^(r4NuhaK;&+25K$^M;omc0DC9^YaH$> zFMr;``Nu4g6o8-jAxZ0m;c`dLQ^&~L?}Z9i&30BUkIE)@IQ&gxzZr^0{>oo8Wpdas z8MiQoH?Av}h^h1kB&aal8ud;xy4)Un(!lZ5||d z?vrJwiHe>cnyz5J9C*|PwKHEWa){X*wm@7sqGzj~9DHl2fPZ(f5eAYt;KM`|uq1Y6 z66U;kc=eXBPtVTm?%8&wU{+WpXY7Z2bC0 z9D#&?M~UOdq0D3xzN{!f^Mhz1pTp-Z1Xgg!h{4IV=9{o{Cx4*QMSw@*z?@0)Ch*?K zQHzn0(?%=(jiVYwXny@$csDz}6r7%YU?bIomrKo1H?XQ~22-7#3S?z*Mgx`B33=e# z%2T-j$Z9kwz%N{A^qsJgw8;pXhw6gEHnoe9zV6Ly+!1kqrPP@`Ch3L`;&f}EZEWHwJ{E`EL-=qY43OWGHRQYEZE(=CY( z!6+8vKY&#S9FTUIb)C0(H!G_Q3CyrdRaAxFh;SrHLg?LzFzkOn$k6ephj zZH78n8SCDcum=$@eHyowo*yIzE9nJod9xkTFeY&#yEnBKb>9rX<~1o?WiXF)K3b?c z(^Jl|{Vn>fHpAShifKM7B5#^O)v$x4pwlbPH8ke8i*eQ|h!Pq>UMZ}b{wqZY$__TU0n;12{t zpthGu#)`d}cOl(!@Zt}oyi~ru0sK94O2Ye$XXmOXj}689KJ;iI=g;&i{o4_rfR~wB z4Yajef;}6WJoK}B?H8uHsGUjLH{XhQo~Vludb`oG3iRc=)$The#UN&$x}Js~zM$=Xu(jAw z6Qf94RIjg&Yy8Au_O^17^>eLB{SNZ6@*NEM!ucoti8qF0)SPF}8FSpK)d|yQFb_U6 z3mGH~WhllVHh7=#pWOKB?j=-90nR-)AKy6P>Dn~OadxIEX^Nj#sQ7kk$HO83-)p64 zU!=G+MJKK@_-id5`k!k{QFBQ^zI?puaQ~HT9@5w*oWpRX1@O2 z&8SFKxAE5ugEB*b&F!ufN?`Eh)z$SxJ`=v~-{4ugfo}E2A6vYCYi8=?V@!lEPWJ^T z@$SNFme7jP?8ojYJahS72gS2DC1Ahk+LagOuDMH)NhS<_#l_hiE1veG{rcG_vZ=xt zXON{S_RvmOXZqIfbfU(Q9Cgw9H;I@oD)Os$D~9NNg&Qhz9G&b}o_TS4e!MGPnA$WPDtX?c z@e4~nf{F6>%*`&)GpfWeW?eAkyvmguiPr46^tmY6;01YDl8KI3mnjJvsrGC9$Wf)a zc9fmRX2rU~K7kGwCdCPG-VUD>G+a{&ljiK;XnGWied)5J?DOW;-mBCAIlZy`-EL+) zxAj(V;X@%Tkcnev44Yd)zipQLi-Rrjy%U((3sVJuzBJB=IfZ^zaDzMSz`qI9J%v8_ zzLp0Q^yb{<ClIZkw_$u$R)H2@KNbB4uVJ1n?=fGmE^5rLKH5uVeIY)eC`+4 zAg>K9xB!_!2LBB!(%j+X=>?GP1P75WX;4dWKkfrVxPOEYpR& z+M<-?<5euH%qN&dR@lfx{L z9yusY7Y*y&WU{One(-nS36i?l%eElRNu$&!O|9V=``d*)S45yGPOR3XVB2r>@`8gE zU!?B4b~lo8B;vExAIQmj6Yt4h|6QqnOjUQjy2?sZNiH+ekV(ym``*F)}!e-ko#zi`U=_zgo>sV}F}OZK19 zg7AAyk+(IesOEQ?LQm~L8u)KZp2OI*p3ThqZ1&yDmXgJoMhZDk38{IViHb(4^B)K@ zRkmru8OFDH4tPO-X~$UY4@O`?=^1d$QTaf`;^aaT{jrmszZDM`=MY=H{VqOi-mSY$ z;1l7g=lOJ$i}T^8V(CI=M|qq(3Ixzjhbj~yk`lo0+?%lAy_C@#@3khvFqjp$z&tr=5Em#+bjnn9@*yt!*9ZRc}m_T1)Krx~eLy3t4_&@?;0G)4p{!vWg``*T} zGs=9mdFmeDlA$#YcH1J)myTyY( zCZGn{Zz`VU+_l7i_S46Z28pD&sT%`cDo)_u--(~p)WtF_7( zf~};tvCi5h^G}|UuzaU`wG4s`KeKIxsoB33`5SY;xK;A4*V%S%Tsig>DRfOc9vKnD zUMJ&S8Q~+0$g%zWMiG~!&QdZgIC|`3yj-)4Glla;F(=i#4q*qkjP#7;lumVT*PP9~ zmFHW4BFd+xMCzE-4!Rzf$a{-xLVBP72-1kElkq>BE0Ipi3u$9$8h>PDRcze!&s0Dwr?{z>81a`o=yw=0QGg$Hr3bdFdix5> zKN+3xq!p^0^1ch-t+9TfLN( zz$LGAc`}9^G1Ra{DjI+76pJ5NSD6g3q?nE(X9SVvXHeu4ROhDz;oiEJ~)VY*33WE0L_7LYgV!meL18 zHaUfd1FR6>eB{=0<|@Qk1XlZce)>Vgp+gp#*2zD@GCxww2DN5$?P17RolUJ!{Aa=- z&q#lq>A$?u#~CqGRx&$fBZEzJq?e|*HMt*jrWYH!q`7wI;P{LLO1 zkjOs?Gf}|?%s}^=ZbTN}pJz@uXe<7ph>l#PlPc|0B+iNkfAYl$(}^&BbS!IQP^J;F7wq*JNO09#aubD4;G$tjeRN^ zcePYr4ZzJxq)2C{Etkjw4)EDdgI@)t*RMyft4%`gN{L7)GJ-D{S6FBxo-cDE`gRkC z_?~wRVmB*eP;=g%)_nm>~UtgiD7N$*kOAH3LG(phlHQ2Rm!+ zV?Q@LJKjkJlWZ5ZWhuNOd%SXJnSZylVzpUJM;RnaMJS!(_*A|nujJBWy^7;O_k8)Z zC6Og)q_|j_a za3t^!N024c0Bl%r58(PF@G`pLAJf|$1Q5|}&%gS2Ne|KLW;tVkXBSvRd1)6bGM9Q0 zUx9thuCZfC`7B?Df(BkL)Qa!P-lcy4TgoI(<#Vz}>d#WxYLZD{q})!Uc=at zulHFTl{zl8t1UbBcbXckoG{Jx&ZR|UHUx zC`&oawNUuUAMoW!Q_<4!iH4<9L>>n%WZ$4iJCSn>iNVxm z%|L2vWEs*;xD1%Fa=*KK`bD3|%6|`XaZM+z9ee*w^0bpPE-`xdf9HoBd;w2DBijsR^?1 z76ZYkK==VnN*dTemsN@CaVmrB#jy!3BAPl*^=%v?pnA@ogd7Lb|Il@CAL}n_T&k$f z-*p>~+RI-nEZ@3Mc{D3CpO(3wo{aGXOPq&U`~aN==7O!xC@THq@7Op>bWf|md{1nE zx&^TI+SCn*g(|LjkKlN4Z^^EX{x!lwmKb_(Uyz{eTab*ZSn$zkHfzn@g{Xc^9%hS(D58eSTp^NsmR~^ zL?duid^(ptcei#0(-Q@gu>JCUwYJCpEZjKN9ThjDxP*1HQd}14+C%z_5B*yN2OvKI zStlRJN5>t)bc4*DBrTBWF3N@fvLFxR63W7kS7PG4(-Ul=;r6gs5eFihiZO)5h~(`5 z07L#-kU^r50I+No@5QCX=wm(%NaeMlRR7CZ0dmP^l=ieQRK(AO{H0 z<^d=c6kxo!CfY^+c8(r?pGi`~8#i%C@0ml)hilIY>j8p4o%SVdSR{0kCb%{eU_Jg8 z9CEwpU+m=6BT#a!@=64rxap)`M!C-8gfOg|1HN-yUM_DZyAhO|h-=Qxi8iBy@_L{G zNqk0=CkR*_bwHy|yU^Jjt+>*V!{cn|JI?EpRwf;wrtjV~inJaP%3i&l2kT-?lnAAz zC3SKFv&@*jwmS3VMj?l=uCTlv!;02ZIksS>w99}jN<{S^%T7z0Ttn^za49o5X(7TeP?bL zoLM?VAGIM_nRGZNFCW_*q}i{z3|xbIG1%l{1k#^fw;gZe|H*Wkiaite3vJNZyBY9B z;hZxTHtl*_(j2wx<2-1lry=XSW9E`B7R2cYHF@ZGUG}<{xdt_aoY$5yl<|Ng-%DlWB z&FzkS?Z?rjQG_6*i`%5NHdp_?-`od6g@abat>j%CcawHjQ=G#)VZq*u6 z`2S%?{Qv#YGx{szDZL>1`EziF9&2v+@9t+QhME6eEQE>`X^uW_wpsAtNPZ@n<{!uc zHpJ)l%Wy+ER@N=x=z0U5*^=?|CDclZ_o8Ox(iD@@$DwY4TG5hs|eRn}%06ovNzUnPj=8S$q~thGZdB{ht19XZ~Tk z={x-|@?ufE*Erc}SQvWY^Lp~K|EsjCAq#Q(1EG9L{dtI~D)Mt`y`-a?i2|m(gdERW zsNvb$7cOR|pQq(mykLH2v}sv`7Ib>N`!-cxxnwS?WTrWX>>|5-XgkYZ<< zbVxYpR!ZJE&iiejcvd<1jTz5-k$y_Lj1}9Toi&Rsl;R~Hr}`Y9ULjV0%_T7%J8+&C z4%uqbT9^>r7E<^uR~zsQ_Q9;+kQLUptKs=Twq?+*hii8wRAYrYy7#F}5S%V>E~B&V zVS#5?`%c_k>idA&I}5M7XQwKiL3Yq2eqr0;s*kdAH^JC>r93jhVKG3^`ro-mjz^Bo zaR;@#F8aKOh811RIRLSyX4v&g01_9&u!|)Kn zH{BhbJ=onl&5QXa)@Sy|7+-zE$No+GLH?38lKq^PZt~Q+5)PglriKVbsXq{(@bcnf zzG9-^r3bqUJHbxmiIihskHcmB<@(HLFg#Xwiv`8KxhhbA(oJ}#xg^T`L3x`Qw|H_! z#ZFqr-9u||2od~B!wOqq(O`P^oDFey^Qx6Gy+Lb5%g9OuS@C{l^gs@)qN0J}EoCa1 zY9o&OjIK|2Uf2*fX_$A5g~|5GXnf^lP3jFp@T{+6y^22^S*y*-ndaT8E&{*C>CUV*A7bKC0xKcsoM%6K|MtG$eIe&9mA@b##KK1boxn23 ztH2oc6=tnNAr#N>MKwl%=QtY*EGu^uu{^(qBu)l7+&e#l(yTVkDvO(PzW#(Idx>A@ zCYVBRKY75B5FUF1?pMC-nEFQD3+C(FF)q?ctY*^E)=zBYCKOG-`Tc59oYCV#uTf~e z_roZs9|8?Nf0^_s~{udo9f;e6WIn)@z68T&Xe?W1}bpGOSB6Yg*i<6N(wG; zOj0IvB@g6@4vGj7Kc5Us=Ian`KwekWnI|^jviBlQ)FmsY#M}^a1WM&Dc*OX@DP1_v8$0uE+ zc!!RI=-fNwZ8DF@vd{ey+Y3_r+m8IrWcQE&Eewox|PGIconXo-6!1xFC zvYPZdr)3Ck$NdHAz0xvG{4S53m<>O?(jVRxTMLiC6xBam!~CW1^Z;T;%y2l=BlG{M6_LI@FpF?>+B$5vye6T3o@ebU9XvoRg&pHFHD&A7f=gML12R6~`M3Su{{>pwC|b#i5doCtMm=e{KX zKQrm-R@p?9K+T9X4DjAb^T+b59}a2IC|}bp6xg+u>X8lsH{Yh%fKnJ4(!6quC?g(+ z)BOci_iRI3P+1IDM<+R2cLAtdi1Y?V>C!x_fFkcbSKM{uMv}vFurpu@X20R@ZWYPSE8)?(I_4JPNzTa7^j;OBp3Csjm{j3bFf|+{z=3`P9uIh4V6ccAWzH8 zsWN>dL7vTEi=K598&w&v3$j*qb)n6F{6Hvw+i`~iBi&n1ex@js9$YgsdC%ShWsSr; zcEPoQ%Y=`;t$AGpR0O*vanf95$kEsoUhu(_Hu|>vyye>F^r)?}^PTfAsj1F$>8s};Lj<9F9Yax;_GkcV#+u^|H9-{>xZCuN| z0_{E9v+&q(I)r>DiX~G;rChsI(#o1Z)*WyNQ_---LRl^lUOelw(dmstlG`EjwVQtm+QIO?C~qW%QztsWr$d}uc?*H`6l## z6cMVLb<)Td+&=PVSta`sU-)YI96zQ5JRmf~;hz0ls;-^URvN^Z*^iLZ3A-he!uYIP zS!+*)`X)2C+?HS{pcv)#Gw}d5Ar)~gvNDm#vCOu0mSP|w4aBhScENx2mrv%`2N!?0l3ap}mamCL}c#26P9nfzbMXIz*o86a|U?BsmC77s0I!6;XxK(K;m(p^ddJJ)K&0z+K0D|W}9sORTwJE z$NMr~SIlP?|BCC-!~XdTlD+t*us;Epgp4TX2=pf)7rcpO^2_T!6?)m-af>xFi5n^| z4fy;z5O1QQ8^S$NBHW+FwEn`ExC;2BNsN^`ihN5o2iE34$B?y6r%r)@u)<$vE0NGT zrb%SVv7XIu6`mr#(E-v!6)!%XU9U>GS|h-H&1hPii3UH#mEfr2F0~i<;UaC%cwVbq za$pxRG_8i;#qY*Fi$f1@K66&1&lBuLfy?X$N`ww1RGsjhsYxEj2l*B2k8z9MW-edT z=_R6}Dy3I?fTk5j2Oxgv(V3*ZzH&DBTK6%CV*>emtq&cZgjq+t9GzQjIe=G*<03JW z=0=YG?&e%L^)Es8Wt)A0NQ{Wp#D{Mopv2;Ut5M8>aoD0V-G@ex-8TSF`Ujgd5}IY#nQW*h&EVimAJC_?y+#T6t)i*nNLS6e@k z@8QXg$}mmL!)MaE;x(4Q0sxW0VqX(*`(`2^oOVlCjV&?)V;AQ~GItIlAu z+iuoFbL}+S`c zWwIMu{?n0&@%ab{85wdW)8G7)M}ZvtVO3r|JALRN8%_>9tk#7vGtk^H02o z0>3L96>TtlH>Z3jVE{ZunVe*xrsC$PsEEhes8!?9+YM*P54)cs5Y&KwRAQ^z%9iTg zcLqkO2z>zT5j<$zh512gYo(lv@L3L|RLf*AXrtsX@kWJQc*ZTPWRlh&Nx7v}RN?TN zG1u2c{_pP%<|=S0lryjQVU!vMp6Ptx`ED(LHu!VkS2-f)>!}Y0a>)N9 z5ioFnyU9*0kr)&SE>p=c>6e;se?Vj50USlQ%E*|Nz=tQ|7i75Z+9Ew2Z#S1w5l8K+ z{6FKtQR{YJI&R$RrS4nB)yx6Z8Hq!=)yYC9R@ttWLu){L&g>8`ot-*u6%u2Fwm(agBqW_}Ugo03ySRF-EvyH~Cw9dl8TJj@q_>BBsRx}@sH}Xnp%+}i zrIX1H1^$V!QInHbpW{?DoA;i?Bb{1;zb5TSs9*kOfcDrN> z$NmL%SAU=om+~jQDS{Z-KWmP;^1|*4hh+yeEKZsKObLJZYPPZZqjL@(?cYpJYA|)ywh$nCX9V`oPQZWbv)Rr$Yl!4RiNEl zv`hw1_D8@|`yNx?pL2`L69x7mOOhFF%NjpHe0p3T8Bb{1uYJy#w9FJ`NXJNU^4#6r zU3!0?JpQ`>@LPJ;0FD;hKnR~l2CRPUlS85_3O`@*b}q3=7UadmPO(J&5=Tge2?ZbC z(-Hh6Xk}wRYP(DFx=ZcQj%W3rVZ5Kz2~f}Yd?u&SYNtJK&Tls2LVIt(CIv>%A9|r3 z*nm$!cj$j`Tww9&8l0*i*2uVumWI+m(%IE#>*_W9=n_`v5OZ$O+rNPotAXPe)C2eX@IqD+|iCYW6^hlM=IP87<8+H_Iv36fs!q< z>(X1l6>-iz3Yz%ML9TVRj&X3%jbI%VNjw^PKP2>P{ZCXf$S?$tZKm8z_B4qyxiq$e zCBqlzSG3ex7e>`pj%jy5(vnFAho#EoNG+{D150s|kOcYvGE0juEr>>o;k+nO?~;>? zYd+Z^7Zx|(y>aYU(R-v?HFW@hS&Zu@SZd!V3dwgSHN=LGeMKyng9ZAYNQ+5biQUNN z{4U4o>d!Fo8feP6&>!s>i=J1Y`gw683|z%Gy?3~HyFf^7eR`Z@kd%Dc%!39r3| zV!Iv2IV|d!J+mAhi~!Jp;qCJ$E6K{!1Zhha&Oo@)8o;L@Uw9~l032PZ005N-tTFJ@ zyn)U|=N#a8WyyF?Zg@FvD29->I#HM6I(ZlP28e7b$u5Pg@8Qj3dzJuN z455BFJ@-WoTbPKC;Y)gtDPW?&)~ zR@s*NA*|83lsQyJTlf^uM7bNM^!W;Qg44@nNu5t`eFYedVuQmfBUEa~N56aeoA3VO z&1hBBOjqgKSZR{xJ@drX2r(QujoTzk%7M3O{A5ltnT2AFjqZpBucv+s?PUoP%W-22 zkJSL`BYur`$j8j-BfU>t*3IaII2@@;=1<^!y#yA)fnyXJ0`}9|o&Tta{~%h700dDV zE!+IN4m#%_I0sz*sv-YVC&<&0ln6S3poPdQV)}!EojJ@vpLNoJ_z?A=WIuYZKaII!Muv7u>|#n^^!UEdSA?Q8oVc@K4#x`ezf0 zS+?8TFPuz&B-?$MPp_%F+sJIO)LZ8y_4k8h45J>}J^LqYDVu%MBivo^xFqbUK#6 z?fgtsz+8RvXKstG$H!Tu#p}L1POBNVw<#UWexKfG2|m;L)Q#AW-8!X*XhbK5+243$ z{sP7gAEw%R!8kT+G>WcJO>#n8(A?Nvy5|-h+fdGiqcXozgdZ9J55LBaXdeLz%2;&LDuuD_t^(f|1`BSg8{V|XDq zpZ;(4;Q#iT{eO8+wF0>ZU-g`T>}29T7@uw(fZst5B^dd@1b_q)ySFK0zimS9#E!`v21hFlqO+DK`l21||T?okK@Bq4Km~T=BjRaxX z4zfsFqkc|#l>`xX?0mB4>S=kx1WL;+Vo2V(Z%{uawDzqQs{Q0;mI~-~T(%J2I+%P3 zzng1aq!Yp3=OWjSK1LeXg>gCBErs4tcod;P52ES|e7=9&RF_G=mitPz#B`0)x``pn zKVj;q6h?-9Zo)-b^J@p4u%!8c+mO56?dXP*3}!tIm9gpN4o`H5nVh^-7{cii=43v+SD4Lz%(BG^4Q@aEK;z{hVXDZL` zJD(R@IlFNancX20O@PWz{J-9~h60}*5Zav(R*oz~Rq8qfi(c-G6Xz_p`S$@IL1eeF z-KD~@Ahka{clr>0U7bdsNHLPgUrDJZgnyBNIT;4i88aE(Ok zE9A?z9uVJgqCQwJs0O*6$L%9c_Se5Tt~?c+lW(Tin6`9Q0dGlfnGBQJo#n+0rM~_% zZ>WeLY=zKl5wX!Ok$}y^i&iV=X9vz+$>9#V0Cd4E$+i^l`b<(GC?;fXCi8g`u-fSf zg_K#&VFjB%co;g^p{siH#4f_%Db6K6O4e?}JIr9W9%`@(Nlg0BY1BEe55LSLKF=Qz ztG|@TJIk?wj{r>XeY-C;i zus>%i4~o^PAGunbEE8V6U+!Gi0f;-Laya!@w%!^Z8OJ_lY$|Dsg2rdYkZ+{<#3@RH zjxyUyXJ4UT2+AM##!30F-CvL`0{QJd3s5PO;n4XosVgLURySyL7#!S7zrnh#Y33)Q9)LVhZsq_z{i}Y@7^w%d(Kz&3w5>JK2u>nx=V7ER_EEG1g@NE(t@(a<5(qm@x^ zF3*ynvNU2hnsjG`*X~7A+{#n5w&?BT+fa~oO}{K!CQuo#&QE-Ap7p# zwmTne9JGP*ePqz`kPC37j_*I6f7;>@_~*o#jIpx*ZPjf2I*x5y*8`TX_co)WEx_Z5 zP2YEloF3k=*38UR=dJGwDjI!f<42sUct4J|>`0fwsN)JKF-&&dEHR^TY6o3H#jDHb zXVilZ2#58kK>!py5X~dFsnqMPa&0Y!9cHdA10a)^G)P`ci#+>a@>E36OLVC9z zQ{bA=kx={D4YD@lwTq;<{VizV-d|9j`H^^QA!=Vk6%8L+e?R)_b|XE@F=(aww2|ep zHe?zlzBBwJ!6<&sFno)YLu*FV;029_+*w(XP6_2zZgR7|OPjuv2Gz?NDbqyghBHB#*eYpyHXLF)m6NET*u~R>o+IHhZuw%2pK-7~vd5)! zEZs}%aJpbU6U+a=6~t|b|Ks!u{v%E>QN9pZih@&2aQ#izN-_EhmI-frz%lZt2J9N! zeqy^1nUB7TMcogqM7aDSa2!plN^C14yq9p6>;v$FlWhA**M|H(5SqDlBe!LeuMO%% z<4Gpdv@wT^YuB`ccPY2N|tKWadgd;5z9G)CK= zFdV>r{AYU4Qfl^|91>r3SK!h0qyb0{EEXApX`Ymg^6eFs%#G5YlGI5aevQ67Qjqj; znoX*qL)F=>-XXcJER5ygRBumIDY`bPsW59Buw?DRAbDIu1eRaqK=EYe{+jOn#DqN{ zD;jLktR_hqZNhgH7U!8~-3OS}BmuKp?#SC@vjS#Ek65^xCi(T`jsbt|MN~w!vni@XI@ct z<5cBFaay5X-*Drgu3bOBftcm&HyXMf{Dal;x5RH)@@}#8kg(o@s@#Kqd|h5pMPhL{ z`?K2zKSZgG%H`5w_3kj8hG2Ar81~5M`A2b{^5y97k?81Vn}*!H0nkSEqwRL6JZ!$?;YAkm1pKUl~iQ*d4+?zvIRgiT8{%lk(m z9)~1wV^wK+6Ta_MbRuG|8Zv1U44Ul&JJN>|!Me@zZ@J#~(6F7{sJ-|m1G632Jrz2o z#7JlIq{rNx;u-SpB5S1tzO(pAN#Y!(*4)kcL7UcnSyv^%5G_)L8}5)^ipJ$!f5VUK zP-lf+c2*XKFU<532Q&E+`8h*RdSB!+#X}zJvX|LJ6?-rLLhd=4V zPp@6;1(W`)f7&q+!|bm06nuuA zQ@)lE^KSWP5Vhq|Yi+?+Iey>T#2JAD?wo96bg)x1lyvMH--<-76ZN0~*Pb)5^krbk z@zawft#6T_CGzlCK~-Rpunb5u019SK;&>0xble4s-DatAx|uxV-{&)5@Wbvk4n35V zV~JHlLnDY1VdGKUH>gb0k?r74KG+&U>kbw`GZ#pqHf3M(hY&SvXBul1Jc-q;pdxma zV+jVXq%!kv#@?bMlT)DyOCgb!R`ktV{5Zgw@z2MNk+os}54v8A-DXKdZms!cnw6{x zuv1NQhaFzoM|3;0SS+osu6kg`BJL(tgZBAc@c>?~hU{~KdJP{s9qPp3*XV^L!PH!~LjxwHjI~(2jVb;FjuDx1$=ST73LSWo1PXFv6YC*JaA(J*1MkrD^ zT(lmIq|qQUWl*O!1)2^ky5Yv$c;6cO*j!}&C{r86wUQP-y)q&0_XTtofX~kU>ZXBM zA3$1w#b>T)#aRt+%Bs)G#~a1+NsM80>QH;_{}xXHZW`^9{mvev{;13~b&R4b@I!FS z&N3#Yk=*S7e9C_$Zy6?p`3|{_XzNsogw}X%FQiw{WoWr2WO!hULIwxxoizYbLXpq) zFPF^ko;BFvR0tivbQ9h=LdNyB-VEMWP60~x&8-6GKLtgAefehe4Ik@MqPQc>IHzIR zdh#o=^d7Z{m1IOzOM1M>*Ye+~=B&E5vG0e$5lY7V8)w|NgA(FSQz8AuinqNC*aq~` z387b9oQ6?)E`L_jn`y?88hIF&^yYixs3@ogv!VyC_essnHtgLxm$`79**pZe9^rJ{ zIufDcCyv`Kw7Qs-StN%nkJX)TZIEblfs&w2OG%L1CtlT_)e&aSpGVx$G(9L{{QNIL{3tNywoS@$X@ z%6<0)dy08fD$L{TL)*HiHA{^GQ2=Imp)o#XW`y?$+0XVM@w~-amBMx@00RMS7|A^b zFRR>$&CRsb5O^T&N{f$Qf0&PLz$YQ|_zRlM0s%<}t2wWn0FN{}0J$=@?APJBnb4PG zWet#BvIid#hNe92cZ-d3!yZ9H>xRH@U?7eqt(!AKRv2MyfDI{{Uvty~UVyln1C2vx(4Y?b}r4~7BuoKD%y!mIG*=Qg? zk>-S@kvF#P$<6_BQd*7M<`$Ac_CQTqX~Cix&a)h(a+8rA$hRC^Xjc=mC6@g5LLcX+ zSY*EwlfKLPfIeb2&GId5IZ8x?8g=cTGOVv`X!!p8N9Kz2O~U{aRclM3wYBd*3IN=C z%7By&`|xyupSN*adL1Thyh|s#@qY84+RL5#pV@RSTsLEkQb&ke5f0tidr!!D&y;j< z@JB`TKP$z2XGsVJr{cO1hcu+ttf|cuP$B&Yzy6U=+`(t(8*SvjBJ7(LO)IhRzF^iP z_|2-6>NogTr+-1>#oBX&f;Mv*&>n|4fPTKbAu(EiP3HqnAYWr2q_F+`h%EVah01$d z0G)pt@XdUIwhGF5-D1KiqZXSpagt+2e(jsCrTqu@n^KIFwXjI<*jz|sa(8_Qd6oc8 zm{vNvem|j4QhpnKxIV;>#dHRZ)^94V|A7%%iOXaO|hSD0By z9R7ZnU#$nnH;xjz>Mqg!oPj?=WpLw}*EYiNvXSX}&r}EKYa9*;vkau;spEOzh7aLv1Cn{}p1tS1$hbG-C6kW*EtZFY&27rQ!%82GQ{r`DIWBom_0|X5ULUpjjeGyR+xFJue7#xyxpBG- zYG+nvU@cP=uHLZT;?tXIFv*hn!`N%>D^fdg2cK;!q)iQxq&wPT_;L0`x2>U8r*UEq z(_%YvKdzh|-(*=r{VFdQb)}Su5C4_{QUA52*XMgjdvw=xvTkfiq^j#k^-lUvDDElX z!~c}E(lqlAhQd*rJ@FP4{`-()LX%Jd{npcDzB@?ZceR(bdNiEsdnxVk+ZmzGR6ic4 zxUUU1z$UI7U&G9pX!)#Qxo7jm>Ot;@y5|PwiZoOSe#>U0 z$D--^CSh|QV*;x)i&tu6nd}zCia(SMbE_7zboXgq+9FbGy&q=Y75eht(SFw{?#zcs z3loj2eebqEt5Z)?Ig$NoI$RO1HaXgLra0Q&RulbuEs;shx$ju4Bw@>klmD@z&ed`( zggD17%QwHB;uI!;^sT@EwUvIQ)4aP+bIBKsT3{RPMc5c|7@5KOhkeSmw@9q=)y78a zxFyHcTIDlb4{V%De^r*&sU^BE76nEhmgfF?I=lA(RtW4nsy^N8J7bj(5*+l@Tnle` zvNPR`^G9gqs89fpXU?!EyfHG%D1(@1B_#W9*sYcX=mV+VX~A*VZu^lwPTPJTt;M^c z`lw%Qaz_GvC#G<2{n*wgyf&;yuoLt6ypzxM*14_rxROJ`O@QtgO=diL>6H5hGZ_ji z_8Q*Q&9$3(W%I0>4POceQ0WW{q}hnT&Bw2ji#42z2-BfYSlrVra#UduL`{y^Rd^*HiH`j%bB`r~)$Kaf(Q130P&N|Hc~ZtP#a zh6R(7TmC+oG6ligQ#=$-s&9Ty`pp0}XVHGuDj&-P{E35LR_a z^hQfZ8f%dg?IDq-;Hhse+JbH>X@91?0xoti2;Bmm6n2%#-Ezak?oAon`n$7hXpEi} z1L>r`J~%)+a;!jg;BzvtPnWoXjq8xo?a=>RKCLbOu=TotjAI4WV#TXCwX}!%yhugA zlD9E~rT+^Oi0vd;yYQr59j&c?qlO+|7b`GTu2vgLcsKDEbZdiiPSbFJBCe)NMM<&= z9|N>T7MV|fSFzuo7IkTu^wJY6QkM?kn%x!bV@U+!W3`ZK`iXZuRw+bnG*|&nw(;G! z>vp;avlnl%_amm=G|d)x6?8bJ`6^cM>HN~* zH9)zN`tRQa7U&Q>^x@aEdqB=>a~o!97#&tX05sgNs?pjp-XDJ9DuJtU`9AckN6izp zpI2x|zV;@)N=j+^oj8{Bhl2rsG=dk4|H%GO{jtwS_VeHTrz;0_ZaL3x`rX zb61|?Ep0*?=`sd{bhRe1dM4L;IsnR3G2pTUF9TXnk1`<0Ik zg9t6Nj=`_dW>c%q28>G(l^NCzt`nscE0vz*PbJP8Ef{;!onM;`+5nO4_s8F>duq+{qO?Ctw5V zkyUz~C<)hO(q+!i2ve`+CS`oCLWzo= z!@(yV^-^9vFW{VkC53MQz-f)w*6l%p$859!l0ii;+==n+agWgJo(0C>{11=cR|8WM z^sE~qAyp@}gAyBd8A?w9dj>y=PyF4NlT0u}q(5Ad*9-PiLiObxQKuyV3co01DEhiL za7%7=wEr5Cn+W^HbBbb#|Ax0pY|1etKxR3azM6*ex1}EvKVA=E?qyt4guzubi}yn4 zNW3v|#|2cxjkmh|ou!EFU&_&-%871#Fa;@!4d7*TAkTwqcHY=J*t+OUkPSrHP-5iU zp<)Ebn>$e0!ZeNe?6_1YW;|@owZA08hXDe^)q)f>NPf@U?)LW{gubiBT3EG7jk(Jb z_v6EFp^m<`KM`mBC7?7;w87pP&_F~FEUw9L-)LzGc360|#VKb1Zn1cy&QY}OE{X=1 zoB=L5|&@ z#40N4{UJo&rczbKwEYUSxPUC0xkci)9ey1yD3(yxx#P@ocfN7Qph6_6!E1A&;yZHg zIRZ{hDML0-y&0PpOu6{Uerb2us!MXtxP zHfPZxynlgxaW|qv(}B*uB!v*?ZZxN&7&_Mex(+EF09Fz_5R>-XR&9IwQBTSf0Ej=p z6NP);ywH*RPQc*sQ$)v z7Hmo5MFKp%)b^y`Wl8;l4fE&Ko4H1s?O6X{&#%ILm~g8MQUS=Lj|WSBa&=0&#DsLK z=p$j_)`F)sTy$jccKz^&%k_bHXyIK!(w z?1#7l1;_(8#wy+dpa*$#W;MXE4&&Rdtyp;$mywQkBA*f-Oe8lZuEDSl3I zd+rv|6gWP=swzz&K4_bL?c917<%33|J;as@*?ef*q~Vf@Qr+^Z&DEr-Lwjf(N!QrDE%?Vht_dKALH=t-xvr(ooSx)r+X8@SwYDv;3>!mZJm6Wa64#I4jC50ff z1DtY0K$bBac#zKXlO*0qQLw%Mtr(h>`M8I`KclAAe4yDCzs{FM+nG5FAA6F!XrxBzSnp(H!?0ZwIRStyL>2bc8|S0sWh=>4|{fF#t^u;ne=`F2{#>#Xw9CtDit+U!3G?X>?RH zYY6bUy8^rAtgzbz783~ofcR?e^};#oXj7lH;^V^amMTvCxOlpx;Wg8v&apQWtgJrc z$T=%+1+hN4KC|O3?V`tFMng=|_2XGZPU}(Ps)G*^pe0Wl;Dl~m`J{-sI9G*H?rM&K zlS>adIG_R+ImQaZBa4J>jj=VTBNx~aHdJVli&7M*m3n?FxEnz^c+vcO*=mj`)dH`+3V)rD1k2p-Nhpx0l( zC90A-IQmnVM`_!(jk;^t_WSrb6#n#3z;wnw1z0D#yT$t9yhx_*$+xv6bNRzF91M-9{l*1 zvSV4DW+rCK)eX0SKI-!1SXw0Y^`71F|J9f2f<2Mci~Cx*n)w=WdYgXw3iGcp>yLB20z!JndK?JYI;ky8$6I>2O(A7n98*dZ+w*wbtMjujg-(uY6&PF({eJ@V(O^>h_|pzBq?_IEey!_TITX2y(Ihjr9L+ z0Q_%;z*yy+6z~41?Trqm+^->g<=Dqr^W`k#j4)q0V6!OKW%(jdaGaHUvff8z_4sb& zbtjtHFG{>MA26v`Kp-vc`75pI4~lRerEMdFN8tB=+-=6!Qj~lrpnpMGM`kXuQg$;Q zcj%eC9$Hp&XFnqV&!Yi05$B(p=@&r)WA+-GEDb_5_(Zp4ytqvNcF3>y;u*IV>B-cB{Yvdm zxIC>s5j{;~?89zJKkH~^3VF5lWAhX4OUx2{QM~jwg4Ukcbf)!Wi~0~kth@Ci)gfxF z4Y{f=u9H8L+vu{5@#N_%RP}Lv&^-$@VcedB%Y@YrrMQycno;$lxvc&0Ajh_bBv~fH z^``0DeXlSJ$ec60yD3Lv@o={|xcD!qsGe2H#a1iu*I$sX#;He7L(6L_|2k4mrW*`; z@3)7kUP>!&@<|PLTx9|J!;37VTS2Shad|@~i8*s{B5S0g6SvRCJI_I!$r967X z)%`BdDQnfgwxb%-B=(tSTIB_FQop>n36O2J`g=AUG#tW{djeG;6VnM|uwpP7hCvfS*R% z7pSs~>1$@h#UQktY@QJK zyx}|z&MfB=TMl83-NoeCJ_V*UfEH95T;dW|`e_KjYH7a$>n5H%09G$dzG*`ZU*|YW ze3LC+Qg}w1Ra6Nj;j2zNwB3MJk{SRQ(v3bY_|9D^WBH0CNODTeN?&MZUBhhQ!@jU) z5w)=A+F9^3>-t32ff6<;LhZXk-P6o8J#2u5fU}LEz&(;@qa(HiM_mB7R|EoN_v?{> zOY>3B>`Kmo4s6VP{nNVD4nO$X}^3u@aEvJrR2N@)ozUREGa#!q`ee zNZ78(=~Cv%guDGi6|q}?L5e*`UDnkkT;3k4Q?Q|KK=k;QmUuFL#Nm7$kYf0Z)1Bi1 zeJ5(%?itHBu{ZjncSqpl&Jmo`3i+|i=oVzh?ZV(?vPqS#`pSI#{FkB0&2i==*>{OV z+5x;j?N#r82fB-FA^PS5Nwa^IPy z9biv`&8A^M;T?xa76DqCk5mbR-DtWu;;u_YL|++=)6IKm-#atkc*U<;dsM6FyODNq zuESpYqob}sHoyz8531LBEZ2t15}{!5!9XIcD?i#(cnWMC9T3spTN`|lv%t{|98>Tsfu9Vmg zN^_pwOTQ|cLYU`8|9Z3uct&wW!5?|*V%)Q?x@AHuv0Z$d^;r~;iKRcoV;u@DsH?)t zW*x1l7&A;kJbCzZYwy5$tgr`}JrDnaoZE29rk_(zlQ57YChb34gl0|b%s!jiL5V?G zv_}3Xzo+w=dh^VHs0rZL7D06dEsMU))Mgu=y257t&6QQ)yyv@R{%$qLm|I*>ZJIC zzrbHmpE+*M=Hz|Zrs`i1D*y`Q4X{*%-T}rQc1-;>=CTLYUj|^0g6i3$oet8Q8;Kau zQ`@E?@x%o>c{1cb{ZtZ1L3URTPd$s=VTLE!4 z@s|<_!`o_Qf`nf(cvgEZ3$PqJHZBS2a(oh8fPzzw=XP$<&p4LKqvsRA8dtnpnh$gVWch2d^LU9)c{e`ck3ES zbcZRl#$n&ZK1l{zI(VPxvl@a_$zHq(zL8}2{c$8c9vx!zkq|n!0=}q(<&;bpaI_2T zNn~p5AplIDZ$-((*}MHKVtL*mqHT&)2LeL~R}`-&EP--kW7;ATyMcxqi=y~Q%yCKE zwCHDI2EMF)JTaV}9>1==>c`x%V5_3{c^anGiE4fSshJ}j1<=f!2D>$zJ74W>$jRGL z%-~*Kk&pR@<~)Km5pz)S;uwGJ{H-D$y{T+1q=u#!WsRB2Y%ettKD8K1sJW3wkI@@Y zZ0yoWS3QBbLl8%~_{R}>0T8c(^dU3U8nw)4IlM^Aw)CKN_(1sg;nxh;`vS;+Akq0k zs?mXiG^YdrI9SP}0A_zXCEAzzG8YYbSNvA=t~mP-`}%cVH_s;%R>Iy|hvxs~s?M=9 z4ZCf5PIiRRova)7;bIbai|=iSXc7vD&wD-!@{j2O_ZR1L#&Eb#Ak@70g^F7LFY4Yp zD$4g=`yN_CPyq#r0YMrG0qFsemhSGBmX09=m2RYw?oMeGhOVKc8|jXLVSH}BzrEjg z@3o%&yzleJe&Y|9H;c7qhMBpq>pIW#I6jBYz|i1=Hz7`A{!63g>bOOMI37YA3iViI zK#{$D`{Wi6t@guT)qomU-Bq@w(vOF`=}T zt7JEB$X%6!`S?$5;f!P0kddkz6xIGbfK)I-ko&nudt5#W142T_B_tZ3oQP<(=+6rs928lgPsI%!cEv*q_ z^%>^VS#_*!nsvn4dlq$qV)C8T3GI(SskiF?YeW%M;tkK1g zvkXYGBLGnnc2?8IQ~O^8#>nN7y7on@CahY8Y$qcCG-@m0Xd3sT*bFZTOPq`zJW!>v z2ONg6Dz(68mU8u)fV~EFfwCY7;Cy5@)6P6dp7<@N&p+6Cw2h6st#0o{gy5x#W|mfq zLqzep(Mfr!U_WY?`KHA`VxqJpqqqm6^J+HlhU1H?bk?o|*(FLnZn~unhV-v81VFcJ1Qv<%wCi zoQr@Zfw05xFGzw6UimU_!Z7O?Dj~japYt`t(bP&Mrj<{IN)Xs-3my94y^QXU37fV_ zsfjbSy$S0u0g+&)h%<8UM+S2*yP|#Lbidx=n-Bq}dI3XJ>T{v*sW8_`&ve zm>*zdFi1A3?xAeOCbt|3iN0@ZR7a#1n{#02IZ0wZ8`X2wtxs-8ElByo5a3Q9*NtbN ztj?C%jA7X(GZnmJ5wMI?OQA~Jwf?v6blCfd$93jcF< zD|~gF7ZD&`@mdj!y9vur33K9cjCK{H$W5x)D|It>F!>4r(McWwh(cT~GZ(pikvnMr z3oTCIpVTL|pgx0tJB{#sFuR{CqV?y2GJ|;zvi-J@%>`U}#xc@7EdR*Ck2ke!&#$%t zAFrG_+i&CYUL40wxqV(T^r%A7?tocJkjU)>vI!U*4^wERzfnw~Oa;AZ6c88%bkO8# zjVzpkE2q}8zdfx?n8_@biKi!_nS+PEegm8w7Tz}ohtQP`CwOL(!`Qbm2x@Bl|{6V@=weWzs!cpm( zkGZ6_VMc&YbpaDBLqTZ=SqgX*j5_{u0=>b_Lz)@ z7a#YCd+nk&Ev{2sO$+PPwK6LYHI2ULcVC`jdZ~m(>j(I8sY$xo5EzF$ayzcE!$lWu zGlya@{?!e(vwv6z1i0xb29;vrMWIrS4v~=-;_5+>(ohACt7jIITM02_-AyR8_^fiZ z56uLl&EL-Ahxrni>G;=Y>NQwMib~bOB;mP=arOLp6cm}S8;dE!8hvIjJG z3ueNA^<{eNN93GyeCHLwaVfsTqNpKMw-Olj7JaLu`E zw*YTgPS8m1u52KRNWLFM*8@C;J%L0- zb^qOu|Nn-1?>{Q}{#V!Lv3W(B@3hpWw9Pf-{pb|xl7|}L2Q={oe^xah-$=c~K+I9$ zFSrFmrN~&M#7SmT&*V_7OwxCy}DJj}YI zd|VASUxGZ7!&+Yhx|+?3bo#X6=B6j)?srqYKrlk4-Rwsw0t1*P%(Oyp9#r70Z7)yw z1AFv-;n<$^*vR?zV#6fr%45 z13d}B%n2HxsYkUOh=hEUr+AF--MtBYzkXhB7FN_ac`t?YQxXncvHHk;wi~HvX=OUp z^X)!+=H+ttt?6rvqG9s$6bw`@X{_@K$D=t1zS^HIx!F3LN-ICX<@S`OZ3_x!5n3%@ z{#*#~mDv-x(2&gsPh?!Ckz-rd*WemUX^}UC&(2Zxx?A*78j?*q&&U^N z!HTbSz82{Tz)~9TR>P{|=pu4UiOf>>ayFm2sr0+ML-R*cd73T$?RwC8c0vAmKcz{` zxljn#L7|wu1Pw+zJnV^VE}1M9POWL7fz&Ewv*M^E0vf4bx~Ar?Vz<>Xq^6zEI5;pf z3{6o?C`m7}>N9G$B`BhmfR)7tcyGntCxs~4fBp-aQZTdSh>Az>0E>&^+zQ(VBliH8 zs#;>+^1{K@Y)Mnt$9$XRL-*SQ(?AwkA!itf8n7l&sIL=9S4g8*^2Ixq#+W%8Lw~6& znK)Cwc{hyOh744Y-8`A#eYW)8+0$!>yt1{lZY4c}$lD--Xo&C5Gyf%!%PfODWhPBg zRF6Hc$k)ga&hgD%MyO5O5Z~$5Kz}$ZEOuhP!l@@$%SxsOxOToL-aL#He_&nC?9B{} z^O>y}$lVFs85T}=$RuE6dO#Mzbw%&QGz;oC*$MC}vo$%s$l_T`JJbE9-aTG&#LsYt zpR4?}#-jG??1eDVjvPIF(L zJ*rE#qj11cc6?ExSyLsIp>^%PmFGky!@j&m zBcta})p6-wG&vEzAq*}13$k3ic)S6={Cqv-TT6_TY^wpx;vYd?H7^1u-te|b>kj^| z_ixlfrdF5BOxIl68x2F_C7zFL%3|X}uz&+1X`)kE8Twf$CDBOvOXQybHkhz^6AtMM z+hjQ+E>WS(*T_<^O}Jh!$JPum?0QZ8;a}W6DP@Eg8%g|5FJyFG4$s_}^aA2J)n7Rj z8_Qef^IMUEtk)-EO5XL!P=Ome*hz3kQZSKHzYw2yVrO}5`bk>2Yh>zKTVG!vo8J9- z(}=y%m>~AvlvPf2og_DVcWyL;n5fT)r`xJ zTgSkb0TbpqdAU&)ElApnqztXolnY^*-BOb@_vn;t_O-D+WAHhWWi{%%s@&tG4qn7; zlj)A49P{3pQHs1Z&X(g~s`AFGshy)yps*_lnySD(jqOtzl^ER-uWrJ)Q`_e6g(Gh? zN9uWBX}$FCt;pv==qL8c9~$duG<6;zi#eMxa70FpCen}lA~a$HDKmvsKhPcdcIZy= zjd62$Ke3vE(;-PvcphySP)X)83{{vz5IpA#gwO?9&T7wA%@g+4AD zaJZdjv+-2ZVV=xT6%lkkA`9@oomf>AJqDtIeLE7WOriklkL1|HMfkr_>$+Et0Z(LD zOi$<>_cp++D>$M%4Cs)1Gb?6Bz6wBM$sox*n7tF&`KhY5Wic)xnmc^wO!|Bz( z3w=(;pafQEhV2c%>ZNyXYW&_`5E~>;Ic{8al(51)pZSlHY4|hdhOy7M9GVEW&0Lqs zzjRFJbBQjWkefbKtrMR?pvO*xUgQutF)5Np8fQ3Tpd5O1tL!Do7H#dliV2HhiVfsT z^pAZL>r9)JCOWym3-xg!h)~@;eY=f?xl6IuSgb1LguHipYia(WKHIp#3pl6&vnRXSDNcNBB-PIuiI zW*8%>daK1x;0Z?k;CU2QG6W*v-v+2=Uk^%1R;Ok?81r_kWoW|75w1AN|q`VXoOXYZz@un!O2G3_`=-r@i*HKvK>VJ z=~!iw#K!Pn{9#6Pf~t)P-J`OAFnjdpP7;&HBD+SfF=I+_VKio7ImbTdtIx%IQs0XL z_A#*;MVtY7+}^~|_F;rKAW_Ym1GIZHflJAQ_Olqyz4s6N94lry*-@fJv{l`MrNb)i zAuP#@j(jZ-PwD-n2Mbo&Z2vu%4I{>4I)(%q)3*(N+yan9mR?1n?V3|-d(c8L9c$-aa6jPNm+2EY zf}iEz76y)X@O+A&4ygK$?SIU_4FunohFBiL$d;}+NTxR7*||?(G{ER z#HYGHg9wI@{VB}alibJrcs!y9@eEwBLQlpGj5s`Ma+WX;@<2zsfNd}vt}u`ga8h}( z0__GoH1Rn8^S(uyfdMCRur2^jqZBvI^<<=Of^ExIS1G~+oHHjAzAHhK_oTW^>d-Q= z(v_306GwFf(wW+fmKUXWi~Uj8xUpuOFZ7!MIoi+&5Mr<=y-r2ApD4QK(?bM?Qlj3 zBWdxWG`HI8QT(9+w;#yap8BCB@?HZ^S3T9RoNV;5RAzjf5s&I(oUAfnw>r(;Me0=cp|a+J9q9_ZEMToKIZydxi_v1 zm&ldK!Xu9s=ay6ObQWctVz}?5mbcYjB{C_W_EXv|GZvoT**@*~;ewmebiR&Ie>o@R zZqgP_f1@ef)a=Lv8|On^&TLo=h9#YdcKdd z+7#&Q5!3J-rEc8{u487AHoS92mKs?MEB&5~_xFKx_b$Owv*_pjef%{!pf-KjG(r4h zK$m(|cTY#>^tzXA%7N%ttav9s&OTs~p$V4cw-Cn)3!e0zNYal^pkB%vNaiE} zrLR19=gZW#n$NUmdjQ&S9W7j8>ISxXAcJONi>wU67}Yi(FK+znsoGI+KXL~^x}n8+ zqYZ1Oo<8vO!afr3FG^S^^%BBug1Nv3>rTbbVYaGGj08>h6m6YxgGD3xjh)Ll1={@* zZPeSwGGUDJU4B2QkF~&59-r#qFUU6vqPtR>q88m%Jj(W7bM9NM?b8$I4zF`V8+Po{ z(q;wj0a<}A3;n|RsTO{2k;ffbBaO#Ou#E|N2-5xUE`0yHAOHW$h4ufc=>D&Mcc%1T zH9?#p&qPu2=g9z`pyF2gFDQmL`pySv>t~07TK=acHR-5lVb9ZcaGkM^d7InaB+c1{ zXi$LQbJmb+o1&#%zMF*PMm7DaSm!MP`(_;e^BcUwB2Y=Aw_D=wK}%hb^Iwnx-9zLq zpmZ5r@+1=bu^^eN*8(NsejJ@G0CdKI=!VaqBRTj{=&Swm?W;IWrEP7kOwiaX@!yUw zYr$(_60j8)R*kUKg(dzU;eLu(I%F35Z*E)R;YBzgv|X=?prh5G&_%Q2nj5z2?F&pO zOLzP6voAR+Az}MOi0wB@w|k_8)5u88Hwr3p3Yz?~^Q^C-RnT(DyXF!_X9s-(GZAOR ziL!kD?sGk^wuu6~Hl1~Q09fU#Tc?edYkp%K_L*sF!twaEONbu}Pjca|Q9yHuFEXVg zvNnCXXp$}_i+h@xqLGa8oHs1_GV;nCd@Rb+8Sl9oNWI8fAV;dIq~`_rKc)mp?C3Ka z&VV7KjL4^erwzsjQIEC}&y^UJgxLlX^8S>foQ?fh-ChPnJ+CI7lQZlD`8?KF+5WKI!v}ka$eJxTG4$Elw`B29z z#OPUZyxI>+duhhZ6hO|T_3KqE06^y%;s}pA2}ji5K!&o_jW_H?ns*MO>Od)-kZ|Zl z$?>F0bJ7H(qan^2b`itkUMp2IIZR(mf#t%&-*bK|rJPw&Yx^_Duuzx>DP;ulnD-rX z9x44J@p8})^Up$?;q%B~MLi)a%pRX=BJdkP6O%e*+Rk5pKYgFrg6Icb=K`ze{j~*Y z!4Df30+*jG(TcAT8b0AV_G+#)lmX;=9cSex-%Pe&X|T(MzKWD}>6N={fV#34SqKF( zA5BC=HqlVu2?2dzm$wtur@>Viw}m&BsbcDz@O-s(fGjgq z__+`g#f*#9@WoyZ{M2GLj6wHZngB~6=ay(zxZXntUuA2R7`ba=e*woWG!;He5x`oN1R)(%)5A- zm++F2e&Zi^MqqHr?-3t2-h4qf6Z%b+`nkb#nI@G|a)w<4Z;pvy4bv`**j($I7i;;b z(Y869tl1?U}M$$i00=z5>iVtvw&iA$+hq3sXrTlP-YylcVLa3l(N@?EJ zmyZAZ5OC?iqPS-&yS_;d+mxAhsdyv7a)ZnRrgL-0*Vd?$0UNPE6T(8Y-3^!cyF-`(;Xs%&||b@!*QAPEqmHwqk3*z?E+ z5L)9bS!`n*mqN|zT<{D_iczO$cdWWisULM!JNn-s7!2f&^A1>%@z6MnhovJF0BtE= zcC-3lhcRo}!p_)Q{Mmj`6&VJkoO`K64c+G~WEzv$+Il-hlRNMp%l zNYom{Wf=GiViI}d=SkxD!I;uHihmdwV`W;8PcY2+98#iiNY?WgK`<-DU^<5A3X{XN zUDiq-B4TkNfzq3t%tI;lNB5~U(aAWQ+l|8NTfKkyjcCvIxtSm44Gv1af-JnKi?nsQ zHqRQW*GzASyX|u?{(!SirEP|=OnA2`4toesje)U5AQZDb=4@X8G=)0F+o$!js^4)5 zaOoQ56kzF2BE=G%nCN06emfp6+}VNmlpUCz4|G;nDkWD#% zu>Tb&4nRBt$S`X0{t*OZ)E$$GFTyi=zx`hDuo5|w&Mtd3iFvA&4F*<}>HIFteO8zN zB~;WVLB(ViuO>h)HZ$`);ew6q1Ea?Ww|wwN?D?oR0UrGaJ7V<5%m}5l2lpKcOzh6( z=%P-XJc=Yuam;fss&%aMAIeRxxDH;A&bPRqaN$&i z6dLS%+uBH6vJKd0^X4MgWR{N)cg~6M^;`_PH=f79>%gpXR=Isy%h5^8@TyvhI*hY7 zo5SQ7IVj&V`PcxwD8bmt@eqOg6kRcGg@b_CodPh&f!t=tbDPuBxX<&HKI-4O#R!O~ zn^10~lMZYJrg^V^_TOl_vG?8KCYB9&i^4I?W8PeDSCv0(#vs6DBs)^)`QVpw`Wn~> zL#!P{uyNoMRb5bY`U%6eXZ=pvk3{viI{;!zZZ_jy56Qtn?|pi6*xuyCPx&WY_gS54 zHJtt`aR601lX;%xEK~zV4s>e6XR#fGtoszHj!<=i!~q7%%`UAtcZR~q&X6l6h0w;Pjt1^O|#5qEFUki#688Pi@)(gi?Sv{w|l z@XM9wH)B@%`e|`Hx6wfR6$*F>^&Oi=KES9op00~FGJ%!As`+A1>qTuO{9|$~D<@`f zko1;qxbM)AewO>L4c{9w@=-BD1$$LeMv{d6o4SsXE%>KRfCYcEgYw`J9WAVQDjz39 zrA!UY;G$5BOy`zo8XfSf5`plZ;oZFB*@qHO zxsRJel~BIrt^VBBRHoLZ^b#x4f^TQTG{55devW@jby$f z9OPKG1`>$3RJ14*&nN^Kh0V4AtouHimwovkX#|hGvf=~w2f2rB+q_TN*vGIIl!h)-yIwnLlPu&=p4NxBazsTV+{%5nPbAoB4yBz)83{l zb?sqL+Z@=Y0yGS+paIV%5Wy@)tviy5jdNbsNK8buF74lL?T^ht-G}<%geP93@BPsu z2Nbynnzktc8@hXy!7PxP_CD@iq$^zr^;Uje{RbY2lTM*fC0m2Y_&~ty`=Zuz%Jlu0 zgg!rSys_%zzo0Mm>15@pb5BtMP0sVaEoY_{;0S>5{G_~>@n9#7?GL5+f$HZKlyvel?x zqhqd!)C21ZTt&5eSop?LS*4AYy~TsDi3iycPy$;L|3uUO01GFXHZIZmf`=_Df+ZLR z8Uhqj!ID62*PaCkHJMR7&~9;{%QR*LjI=rv08Li$It9MZ(LumElqYt^XBl7*)*7eGy+J~kkS)@pxbq1qlYp57yno(e$Cx=d_Mo_ z%CyXitm;{uN8-4OJ*#xX_u*i-FttcHh@z*+l-P$D3E_4Ng>Nx@`9k2s}ns-+mI7}Sg-VOQTMm; z$h`I|=MKy#5IIoN&tErux$gG%9BXk-P9#As(YFF10IE@Kh#~s5bmwx}A#-4Dj%k62 zYsN-%-w*oy@&NBp{(!J|*YTqEZN##wKsHtuUC*c|0&{A6|mz3Bny1OJ-_tpBH3 z?*E;kv7`>?x2$VfA8H$$e`mCRw7qqmA*cLED)^!|?8|o*DfGYqEYYz4>Amvv#C)zy zSBgj7vNcXD*ft2LL(e*IW+(u)gmBW0Xnu)ZGWObueV&_GPeYYj(2y4+P{A0s3DzJ1 z(anpIQs4(bF7byUK!E5|$H{gvP_Vv3NwpESo~?2qy>_7&MAySZeeYf5_tm*LwF2|M+-M{kAwExixtUK_f7w@Gg2nTe_{VPG>e z34sl)e3ZPrfUFx9isAozw@aOa$B*w8C0fQ_09o?vf@JA-NP=9nphO=j0(^@K8W>wu ziEsGq2=`Wlnb}Q>*T*fQ!Pm!-i8h8X&?$a2_I1waoo@cbUl3dXfPRiu*|Dtb{_sC) z+=0K#y-wv*L7Z29%oC1yUau-|Y4?1Ju2z_t_e<0pI_dLmaI|g;M|oCW31n#naBDuxYY$49NSf@9Wq4$qoOYQ^pp;iPUt+B z5gVtCu9Urla8`fCIQc>Rd1!{P{>oF;;0uyjH+c`^my3@sdZl+XODm#!ONnI)<1L?utI!3~`JNDXvtT&5SuoEUte+=;&n>6d7rse3I{y9wLj&K4_jAacZXv z!7~6|>y|`yjTrg5u&Zoa!@+|4ja8VB-avTsx;gc(AI-c!vQm*kS%@z3}47n@Of zj_K$GcgB46T-Af#Tq9SbusfNg=MIW0MKcRCYaOcB6B#2Wsn3k`fnknKWWIiIz~lBv z6t9wVuOOa_JiYO!*hwEQlI9b6n?eBkVx46crl+nn4cQnMnq832T4?d_7$|*8Zzk;R zUWyNODbpLarJnb)0ii#gU`KzK-&zixw6@egp!Z{1gws3{ zsn&(e#V692y>suQiAAg>EJfHy+O&JI? zAdbg+)pfT|0DaVBq?d*m!6M+_c~UFA)w|+b;!S)r9owt81C;x&$g~G* z6gG0{$qN9Xav)F)wC?U>?snsrXZn*xN<>=DuhouiAetspNmHccXqGrJ?2?atp2q5w zH~;+yW+8QC)^@dR89b4T8g81C4bPl43H!FiZ*@7d z^tN|(DRbQKPacq%Dp2U#qbR+!4PYaAg&S%l<5Uv4u2Ni)H7pMSAvPaA@lm`1XE|75@JfMFZEUW9v-K>1j`UEcq2wdvVv#{Vd zmYxp4+U@>4K@sr>qNE^$41=1x87?K1PK_rrvJO^Kkt4Qc6p?T zGBIaZSSM%(Xjrog$1*tN2l6q3L?c16yVlz#CVOnv5x9$fiIGAF$ry*j9BUhsKJ)If z{X1s>mzJ9oP37W9c^%hRg?1u*kwLNXN{*A^gU<@^GCVFbmXR0WD`0?xR~|xtDxJM2 zzeyR`EG`mFR+dTekRuGRNX2)L`M`}_7zHB->2jNlSArA46FGs%=5^1X4o26{AaV{1 z=x>ui>x_jvD4vO55mwQPK@}NzJZtNU%#3Yuk`hF6xV?{MMf)aD(@kWf@uSrv5MfpM z;su$gOnr0vE;`2OQPMO?^D2Jx!{W-O9%Ig(Me(QhM|q8J!(yxGv%aY>1G|4)9^2vw zOVVXu|Hx9xhU$87qDrQVXQA**-2MTTDMU?SaIS!>oL~o^teaDOA~U)~ooi#qj;ih= z4D%sn(wYHG0Qi!YE1RXXmCXLj8818&vP2BnD4V&YA`5r5^ z+CkuNaVR*Yln|SKn_2gbjGpt7YS@bMC4b8qunnUpBT`_vWdDAh3bBTJ_S6MOI62?h zv^xOPAJJ1F$}dsnbeVWPBjl$!*|&E(ouoGzmjacX^&=Xmn3Cyg{-M*>@6XBHwVQcflxPOEMH z26U_O)5jioN|o(Bpw(0&G@teDYz83BZ&--KKA0gi6N}!~DtaLJIv65ZR#!EawEnro znq-IPhgr?gAzASE_B^VZG-@Q-i9wxF{Cg9nzAZ{P5JMKBd^LN~=^Y9;D$g>;pq!kg zj%$*Rq5hTPmwwP=W@w7m+ZgG`rX`)SaSw3lqF8-y-!7wkU)({ut9UdPKP(@eQ)UL$ zy{=n#q??&82*Go+?iy`$?_l8lT&Vfj#VFh;o+Er#`w3eP4rCFq!cn9QkK+wKn(zA! z1FLDsG8Qw$H2_~zMLB2P$~Pzr2^_g6TVXR(Ne7iL>mm@&6}=+b&lC2ZFPxiukdtOGTLMuageW4fMu-SLD33WlgTHV}n{RQO9N7Za_oc z9H<3`W{Qsr>2D*}z8eq8EIgpRA?j3mt3m4*Y z=xH~*fy=PhIpRbcW&we@##OdMJS1ICRL|o?O|I4}M8UL^exee~=%l-DCv%iz1 z#Yuohtr7X%J;DQqIpJFkFwx~iD14y2T?PO*pG9ZgF384fk0C=`@`xv$@qY-r2 z1$%#)pRI#`3Sa;)j$|7n4#`L5_|mN?Rbz664{w~9+5!|JlR8HP*JI_Ywzp{g>l|p1 zO-2A_&Zm8RJVipA~Mha58Ve-leWTeU4t@SK|VaIzEOuTH8G<-9jyy(Px;q!19y z0O6Y0xVwJ-b<=V5{7Zq+k`8%L7S%HC2nQN>Ahw`*TgjLtVMGS`3^E`^D;njrJXnTY{E5+@qjC}xXL ziT(oyN^0p61-dPR%Y)?ehe~3i^+UCIn(YNfIw9dh10_1&&~|Op=Q3J-nYqE2-dd7{ zz5Se@Z1|JCSweRrIC}qCFUS?pBEvhErH^``D@(4* zKUquM3DQd4g+AgHx`j0y-xdGv(>jfad(&hXe9F5$St=NH>LFkuAirkin1AgmJ0ZsB zu2L3^(&YqB6j$S0^?UtlJ*Za`eaWhgv8(h@*l=Z%Xg~m@+?yyADQ>?;1v%ivp#0)K z_*j5x*>HVq+B}WtzbN!9J)=>QgYu&E6vICL3ugIj5Q0!D`GR^E95 zx&*Qa8N6qYl-1cA1`9b!e0`| zb!z8b(B)O7Nj6qa*s7zO{4&X2&7T{|pL5!J;PcX=5%Oc_5Qw1&;-Cw(S5dDZI^1nw zq}vJ0PO?zDNzKGvZTe~+q@Kh_P7px`{-wp&4m$qxiMB2_jqHqIv<0z#UV*P$-G0p1 zLa}qD>ZSVdq#DI3SW5Vr{LUKVcQGs7&$)rUn-@#s4a{GdcBNLLAk@+{cMqMjp0K-7 z$jdlTXf~zJ=@8iCb~DjG;nz1eemr80F>c%(wC)*XoqsxSx9>Es^c^PgzNMqK2DD_* z|lR>?GG*Yl(ZyYD{%Udm*Zld@6^N9SH^eHm6-*AT*R&4r;<0bgHp(@t#k)M9Q2VSk zvC?FJs^l!7qC~TZMpDz|}v41;Z!JqxyY@5w zK%XTe9klk6?ZuLgIn43f2DrBdiM6)(<;ZlRo?O@3QphBBM2DiPf0szffeB->IBM_t zp*voC-in5wDuQQ`Z|hP_hbE#~WpcgV%l|VeED9;Xx;sO3Y5i>IRHX_>nCYClupH#A z?!6Vy7EY;~AKpTVrT2+GtHAb}Hh^Y>`jghnB43g5SM2oiGP)DKzHzwZRenE-dz}4o zrz_4KA4?Yu(^1%1oKnAVdEDPg2TuiE3a%sF))L0|4M!%#+;EdAT{oEz{q7)wyW3xe zF=KJ5U+il6S`joKzFulAh50|N9ot`R30gb!DonGh{~0=pxg8*|79f}v3O;4Yy19mK zuvS+xAA0~cHXq41$*u+%PbxOZ@D{gdyK`ul)z)^#m9^mn3Mpflwi|St2=L zPjA!>NsIy8wKg{Pcb-|Oqb!?^9@%;Ph^iA7_};%U0$tzQLwOOn;Is?f#PF9YU*o*h zu6D(2RO6FZpdTXty6Z`!j3aIDVeds2H@(ITsKiJV$^1Ku6;)imsa;;os2R695vTzKU?LT-^wzDOLUquUx0Ie{tKg&Y%R|FA6ea_KXN){sPT zO-pmrXn@tksJq@Q7sVZ0SABn@Z`@iIVsc_q29JfER6ez)rU{cMu?^7oYHfKd z|G?*fjuH*wGvjrfA_Ga&c99it8Mwp>Z zXGM;EsT-{pB?d-z)0xk!)91eq+~r6Dz>oFQ?d2DB-;Z%V=LSe!MzaP6)4gB)da)9C zql_an^Qg?wOyM~!=FL-(`Q@;Jq0$=oK}BHc&XwkeQyqDiFbNkk``;KMuxqVS$`zo= zGRgzm4WcOZ`5a4=$*jwb@yV%2_5voi;!me*t2y^UOIo8T=_!;&M(ja)wD_bmuqiF$ zLf1#tfHLqaG7{uXMWU7DY1H+|u0f%Ac~n?MiH`1%+0ON)G+9V|U|NLLHrZcg3zoj^q8E1Ly&M=2Q^}TxU1l5@Zd={ zkx@?AhOfuk=dto9OGD9(`WT_Y2)ny|?;C#}G`NAGo=(AS=@(YCtCq<}^C@0^||6g2_z0^rxw+-UpUf|^6cTkm$7lbz^X(jNnvscOB%4^7m5 zCK1#aDDJ{z`vTE$*pJ|0yX^Msb@ichkH4%+N>XD(1pcos7j!e&cOo545fb^TFQ$3 zhdo_9@-(-p=F@z}Qtvlw5d9f>Ly_ZAWxjU$TP{<&mWTo&2g>LT>2<@OV*gt$XV2(g zU<4H}(XAB#)tGMk(JH-0gp5l4d*$L++Z7yrG7`v2$ub^HMVSFDu=U>lGH4t~0c z$!kW4r*1|!_aaGg9<)AR;P=rYN~j-sE=lfCHY~`M;nOx1Bjj z__Fn-mP^PJB|MofDG)un^Z)5#{7)0J3XdLY*4kqvLE5L8q2{Q^^NVdbXBG0R`I9s4 z^pl4Ul&v*A&EIa4NYHl9flZAk;3pX`&sr`v_02=3v7iBsq3L`xS`!|}ZzgGn7eEk3(O^f4WJ11*F{bW~@yxVH&^k)t~ zcMMHd<^fvS7rtZ&${UEh)8Rvff**pU~_|i^O7Jc z(OanP>BcI(XL})dl=sh7Ci%Fd2l@G+>F`u69~V*!yUJ0N!W#a>extcTG;B5b0ys=N zwY1G4Y8LV~HixEe-ym!|Fw$>Df=`pbQ3LpynI6k!L!CKFiI26AJi9yS%|*4>aqk7m zUAS_nNmdI>0!pV$7D=&&k7Fh1ky*OLO^@>jZFJ|II{Z2fP*d?ldRHgKyPwq}a61HeNcsAlXY-6d{1rtcLpgn4}`uTO9hTN*bFoe2V}qvn@muGsUlzTGmF9$ z$P%JtVVBVpGPF3NKcJlIII?&8N|-H$gR;8v$JHGRXS04V(1*VwBv%JN?PK@O??H|oyp56I1 z?>e_#0FYNPyLm9=F>C^C|$BhLxX@JtJUwFIlG}k2#TStp> z9S6zmI_~VWIgWVrN4)1}qRu(TUy$vB@n`LhM?l9GQb*grXhH0=LV!w?ptN!t&8MJX z#NgkHvU?f&^A3QC&1|?rtyZVU8}ny2jBYg&vi8{JZt0wFOmj2J3>i+Jyo+x*%o>^! zRL+Yyr@qLuF5;QYLSZg%4MY(>vguU?w%s(NaP#Tvcc-QvEcvn&UIGBKSTeEniROj6 zHzzsDw8%GCI9`5>Zz6ludqrc?HKCHce#g$A8D&=dHg9tnFACz;K{8lb$Yfl-_-@3< z3cRlL{M{_3uss}b^y7`N$H(Os7C;ig%rF8GCEc`XVCBj3)%r6|{qs>n@f8f2%06u7 ziuVj4X^+68SX$*yfAoGKI}7X_enU?O0`9ddKWM%nZ=ycg*N401cXpm~Il)_Tjs;1# z7nU)R+FiwU%L?pQyZz56oMiY;9S-WAVA0kmfG=DE7iu0W$?tu_xY~yrZOgf_=5W&g ztGhiqw>AR^B!Llx8ER(k-kUkFq!)lo-G=y{Kufa?N!0UGTwSxCHzDBkESWw8JLi)8=;sfu{r>0=>|DGBG9k8#EN;&bIY<2LbFb zDXz;b(C*@quara8?dSVb`E061`|*awmBY{E>TFx+XG-kO-V%hOk-J8|D~M0sb*-br%R{hlOv7a7&$ptRisp3^q0HS%n43k5#h@FOOWq7(D{7n<6QzyQ%p zNIrq6eW6fbuMl39ynH&sYB>XyJBs?n=MN z)3ZsDcrfo+0hbxCA^5gTUB=1MRx-E#<2N@aER>v^sw5?y zC${4JAKblVR9j)YCLE-Ap}0ef7cIp#&=xDj-P__&+%-rk#jQZ0SaFx)RwypT-Q6`1 zAcT<4?t9LedC!{jerx9YaemB?y^@uc1I_lu-Lxny^48Q zqW1e}KvMh=x0Rh$8+s78Bcl-J* z=8VnDz3c_7_P!polAY^UqDjaC2?fopK`gP|MLWH82Wa$SFNwao?E7l{$N;qlsI3bA z+tBt(&@HDr|GYDE;VkY5z#s3L7>}XyeWRekqkizvx7RoLPh_+jcmFZPD#8pQ5sek*K@NZW%xl8e3z-M0Z{g=8?=Jn_5QjoD6ULdTXJ5B$=eV-OJ}o^gjK z5Z3}ix%)TmyJb&C^QzLuxy+^tb^U7pp#)Gu)1S9lD$qOo2!3#UhBo%b)n+MrdowDB zC>1*?tLuxretf17sV^VaIoW7C4LXhwzQD-#D9a?1k4BYzoE&;Ia-O7SwKHh$SKN@hUyFIlRp-gqd8J*N*&iH0Gk(M?skKp@@XH-Cb zq_(8x0|rMACvD|kb&WkY-77iQlB7hvaSy?F&gk(&ZqM^RLf&PA6VJ+~aqkDVf}ntU|o6+540Ym(x{>kVJj~3vnec3mu={$Qhi27hT6KNvq>8Xh&dSEam;~?*OPxx$xKX>&)446FWy`X`aMQ5Hf6`}T~*Rt9gM6J z&oz(fmb09ZSGoPxQ*Yz{aT~plEk?a44l!Ihp9?wjxP#PlLyZyER*KcMe4+h2D0B9?y*w$HEdb<*$zJrs2E z<163W0nk(h#w`29DPn&SsNmu&&!s{3FKDQvAniau2|vss z4j}cy!0sy%fGcQH>=Eq%H}Do5o2DU^EwJkKBWO<#5J1zt_o{vK4=4^{i zjcl(4OiaZK+U!%=v%A-%_)R6YRmzS?)HZm;FDCR#lstozjylZ>RX~0exjd@bF4rg7 zmKS5+ItrKFOr6d%*-(=mE~vagw2sv=#=^tF89^rs)`oi>Aj?Vn)I&tti5iBvbrgAu zd{AO@BW`bG>r89#{#8pu@2L+hK@xz%Wdo zZj6ZY=$Y2lG+FBxzNhMwdG|}wg7Nir2QdIZ*8`@sa~W$0v?|7PFfx|L=?-X>fi`5) zJ9`5r9{A!?#m*M8sKfyp5bZB;{Zb4x=MCJvR5}nd)sQKzU@~OB+BR)-^WN`b{ zF@(tQ*am~EXRe~i+Y@y_#g+f+3Cz6nUa?B({1xg+Lw$<_zG{7of-|d+J~|N4`m@ay zB7P?6N2fp=jjVJ-LdvHuz!bnb;_QR@(Kb{ZIv)Ez%lug!aXS9p0|+;m5%Y zMi{Y|MgYEMMXZkr#<`s^+ea$*R&5nunw1+03CVbo9XwU)_=vl%%s zqQSQW!k!rKp61|Z6M(mMz*hh{cR)|a$GM@wZCMQMT}(#O6bQhW{}*bVGq-8m1}=G( z?Q@c^am8taG35Wmt1?p)ai;L2v8^TEN{b)E#%i$tce~m}W%r$O{~8SQZ)Xh5)cfs| z;nu}GMG*uf!W4(hG=D&CVvGZG)xeUlzs?eXK8Q42wYe^icpNXNS^ObL!H1~A01nBq zH{>mIp1aOcsjFVk=BM4oH2=Vng3WX^Q^JFLr#69*Gzp^oJg1$>Da@X-oT zRQPms<9ioDU$#Y3bvsV7*ILR$*n|!k02)Jro;I*%y-+%P5WJ3UOJKjN5(d`NWRR5W zzf(Sm9>YT)jHYcui@Sb*dYjn$_;?5ePC-N3myAn4Ik+jIGtADlC{i z*YKYYRL~NZc7_m5>nxsUQkqU9h5YIXA|uz@>r)>ycEY3qCZ-2WJSF?VPV;ZA$Cg(N zYryq7*E4oYwuWkDwM70CVp0YbK*@;!K=Po0**_sC0H!Q!ZT~PPU$$NZcvm_ zYeY@Q1OF&Mc*v-=8PmC^+5BF*Fz7kbXp^c9Tu|4n<;B5;32^MCyV}OO(#cRyXY-rd zt?exxZb-5!)z0^(QK9F>j#kr>_M4X4bOWA!9o+=xa|lHGH9hU?hKaiQ@(N0v&=e_? zRv?v}l36ZRC{_p$z)A=}oDbDdvR;s@ULeGPRJXLU=nv@ea0g-&DCq&5@Cn=rkVXb{ z+`A>JV3j&G0$DLS^!-uwX^{C4Z-0gDW|ha#xv?0cMXtb1<@^I_=W13KP9ez>yfo+&lpF>`a@ z3%;%Z`DJ>a^{j98nu)x0{1ynHtHyIRdi+~p{Ho6%CN@1HFF^hcPA#2RS|~xZf{j$7 zjZBUz=HnWo9uD%nXS!iCKMypCCfnA2WwAL>s@e0HQm2fvGfCvX*e{YSVHTs_m$$dq zh5G9u{2Ny3BR5fp?{>mtDex)$5&>VTy^uyomr3FAsQ=g$Hn_mA!bKYE+;2aB?GP<+ z@u=P$o9VIdA}WveL+%sx^3ZVla-Z~So^urwR|`29Sq4EEgmC%VHJz3k}9Nq!@R#e`NU4dh5|!jygqnQeo%^UhEh;RQxZd_9wKfiNQ&YqiA|#Z zJYZ+0OOGS<&{cEK2p&ck;Nb3k)A&8P1p;(E(+s#!0`p(B_1!zL-Y4O%Us)mD=M{`- z3rd8a=jJd(#G^m$zC8AY#BIsYOZ`XXpdfx0B8R$2Kxls%B%EK)>Kw-o@wT#Rgz}~_ zIR{RL0+%a-=H?LS7rSffelkrF%PY0ST`Y6$|9{io{}Z?en3i$%{Bu-A{mING_z`5= zeHwg{jfye^T_65OsKNj1k0Wz=?cd~D;#A%@M(4=?3W;}>xZV;fkOMilUGxj^JNX=Ul(+mixC!zZ9KwEeLp*kx0Zu>#*3t!qUJuSW3xaSo(3?!n`kli21BA&ec zAzh_piB4sro$}B(yHhtX2py>xj~2vxDuZ#r>Kps*ol~KHueDw9lL%+*suJnlwhn-B zoLI|uA7}!3%7HPv|L=Bme}8TBzC_*yVv_(W3thRrFn5XZRnIg>d{;xEi_yTc$i>_s z(WtRc>2G@K>u!Ym?^;8Pkw7?nPZQjs)F^uXP<{A#DGyv|KV6(-TVJz9$-n@Wi`~5D zdrk=5e1kHcbz2*=yW`{Dj<}~H2Pcr9k<%q8JU>Yh@_@ZdkganeH?NB$QqjexdOs1T z(y^gc(DU3m@w;@|Zu^U~E}Dmnn<~#SZ$1L7R2ZEu`Cd2AbIrcl)7|B);OavlL&DBS z_4C$lqn_9!XIETu&J|-`en}uq(nar7n(pv=URdOOD6fWx8rjTPVX2nuoz+Roo6Qm_ zksASqG1$>doZ4RvY3Y_QPPYi*cY#`rOk{iHtk2#GS$DI6-m{MO1%E8j{uNanXEo}i4&PWAeU-zfh7x6 z>4rsDx-TE_JH^e<8(uqu?Alb5iGE;F)J?Q^|j?d|3YI<%d1Kb9J$I0~OQ%{&K!Bi&hD8*3OV!F|E`L$XYY zOZ#eY9rX32Wa&;s*1|;J~!yfhlS{sQ95JHR3JgwZ)w981Vv{fwOR;Yaa5R zGcPvtgah1JJX^Z`r9^1YyZ(0VoYR6Z>h@AmNpw(%r!ju4Vf{zZO=_jxM7XLX&+njY zbx2oT3NP+L(T&J0rEW_BmuTbuH)N#5HvsDKJdr<6d|mZ7)S%-&8ygAaD-eALK@71{ zMt-~YG9iHO@wGC&TtL+bbpV8DW@$#~Hup1Lugt@<)tEf$WpE|uOmA4vqg2;cEP=Wi zn_Qo7AM6ZjGIXK6B?{@!RcK$-b0)ZbOj54sb|fTMek9#7l&+sum@nLjfzk)+eE)QN zTv8k7Zh8#7rcLd(;pjZRu)^n&UMwWqZa|ouc1Pm;IIpU7kL#i$9Scdrvt57PE@nL z7Vaofk2M34hEKo|q?~qUB+WKv%Y4WN^En^|u~5ZNavhh799y)L@jmbh3k#P(s$GSa z7GQ)frGK8v%@)+`$bGJF$L~Lchx%MgkAy1J(Av<0Ffd>viY+mn@9xIs!7=<}8`?7L zqGU}NVos(R6Wmg`5<|EhuU=K_`!wvR2qP0%E(V=Z=IcqF7)Z`(k()=aYH+6PpqJ?2 z3XK8mATWc?>N2uFtL>^Zu}G9dw2UVziy~wFJ4YE$LXL-lKuRn#45)9qi$CpDyyv?= z*5O%>E*3qBhHyS_l61S;tkwS@bvA5Ho;q%%a7iJI%Ot?@HlO5YeZUnC-S)y0X@C!@ zjz|4jS9*aidnhQapE;{L$w<5Cby-{X=G^u~g|Q@O-5w;#{=%mDI*Ogz?*;9IQKSZM zmIBfjz%>FGp`{8tEDqbgh$$s@YN6Dbjmf`oJCGk?rcv|{rYrC?_8#nsNuYKIXDlgi zZHp57{N|}VHM3O7)x$ZYuL^1l!r7#-(7VtWc+xRatN3o~HSb7=?%Hn8`Eg2=_2Z_9 zOynqzRJGKR*~k=lZ`BL{x~hy(k&5;4ATh|BYx1J7E!TCzCdu@^WDZfb9o9>0DM`*R z+RX(QNytxykd65z@9>TD6~; zKd5-QxOf3PX){v=?LKuoh9KaD%(nZknj1fxN-Y%uCkbCoUAxdmDCiy>yjO@8JRRftY(+g=Wz(K$!*Nc#kAr|hCV5yAWY zb-&$Bx2MHgjmhZ}KEo$~N#aEZp=3&e3{l!({1j!;(T=uzeNw-FZ1P5=E>$4OG$wbY zTmP%R9BF=L6eFs+s9z{3MrSiE@(MOKCG>KK<$mK}HKzG7)?fGIOtl|TaeM-IYrA}< zm8N=615W>dd~&U)6d(WMl@ce~Q_oLf^5P-*sf#s{ddA5Bny`tk9 zYOB7tH46Ath0O(3-vlLB1RVXt#|qWp)0Av0Ne*oUm4r$wP3D)S^Xfig2#u!D&i=_S zw(=yJs%o=p$Sx|yzSplcZwFC&+=j2?1*qQ{V4%ey&0#`s4=L7N%qh3x&dcvlE-qBX zF$VHHWrqN2>Y-+lrtxG4KVX*?rwPt|9>jkm;{*M;dDX&SF*mkhZ{NXS<7_ z90jT?QSg>FI^f3Vu{3t1l-0yITUtOPWF|PX;PI@^UfQfhh-t6aW%X{)YSA4wghdPQcQAXfAHi6C%+atxId+0RWAPBPSx8H<^H#QeL$_|Rzz zwp<@%KJ5-iUZD|4$B)az-k|^5;maohq<0ta*AyZT+|NEGy?&M6j*>DD-Teoh6vIH7 z66XNZocj%PKJm~tHmh@BhdbLh$23(m4U{y?}Ng)pGeNG2MItl zG*^*oEh!6$Q>w~7pF0x@*5bO+E0GfCSCb~n6^BYp%51NcA9wSEeMWt*k!tlIUsm!5 zz)j7vHfziAj8izExzAZ3a?hWA^9-(J-5hmnW_3X(?7wn5h`?9(_UA-Asb`_8e7h+vrUib^RLHs z(;-&t60a?OT~pD`tf6^ZopR02UTIsVUA$M4hVsme0j;(1IQI96|1$YcsJ8Cpv9Ku1 zU(6&zpYKz>CS-3?13-WO(sMDZ%_tA@Gl-tWji~s3s{ektIFe+jQvM5*@1}>sf`Z{= z8WH(u_j#YP&sI9mhx~+Uk9YP1kGB~+WEf(!ucV~cw5wA_4@7!7eqCYLFl^@5hH6J_ zQF>iB5(jxX)N!1^Z$Ac5?+e(T%q0CNeBr1=!uy7VIw}%&{|lq zQVUWeQOGiPdZ~@n+4wA}VM|}!srzn)b6xG-CS{1~jzbez z-3%L=L%4{Tl{lh4VfzEp6SSn=m*@I*`lS8*v_XsK;Y@j&F8w`G6I1(S7uUW{3gVPD zsc$wGgP5WDHrCHqhv*U9uDj>agBC5i!5cQUwx6q8i$Txaojxx*^tM!%(oC)sr6uDt zGipR9!0uHHrURL5Qf7B57?cMgVHCo$*{+>$0|bmm`nw-0S@hOl+{t_G{c{o}Z)MtITN7qZ=UfqO%x- zZ_~4|QEOp;wxd1Gf<&=wkU*Y1ur2$yp4o;J;~kM~$V|{>+!-75-CosBCz3NYT$0*0 zPwjee$9_d7(fU5@BFnPQ!=nqw z1st4XT;BG3&VU82XWaUvItH(mh%Mz~=l!K^- zE*MS&S~O#TJNGxOJO`)?CF59CuZ;&tk=>2 z`Ru1HWXh>xD~|bI(VE5U5DRPwqoJstzi-RS2>}a)Z^=u<- zzZpmr`Pt~_>O0)5Pk;c)ZXL)lgq9u&i@%aR<0Us}QcT_Tl8($vnr$-`>-HXTWRd?! zFQYhwB)i{r4(RoTe3B%${Qj&d`RAOk`0L@I?9({2z>e3wb0`M2V*4bMg%w#cNg%o?oSX znx;&+O|iNgh2&h9T&*yz8BcE4G_&ed4{en`+m{2mG2%OJ24LBn9I{1vzHi>M#lQye zAg;3dX`XuA)108&5;R0a_|V`El&KSso6Ynb$hqnMYZTDmK+ zA}y&dw=@AuAayZp7{a}>)o6mdeo4T|kHKX~vF$mdy8YOhG?i(2$G+b6g+dal={fPi zI34N>+O&zk>^bsL>ZeWRRC*H8ucYv5^wcg!yBYQt=mS`wmPs&q8)P}c=V*=XhoIS~ zYNOvthmA~ojzmdRPjGM86TxUEh|=8B+%O#~kTWQUAdZ60+vqG6Ipmrhd{dAEef-EF2X+&65;aaDy{u zC&(}a%jwoC7jH6Mcv~k)3TjaGN&T|gEg%2uq>s&NyZN9II$Dyy`sS4@Rm{)pTb;K0 zp*w3a#NKSn;)W2wmQblUYHSHLD`*+69hRkbbq;bH=x1I{;lb|nzOYAU3#`#<#71 zFfA$TznI*$^})Nx4pMyGNj{Gj94tc@*VBdlah`P69pkDz`(tH?)$|njnfD+=j|iM* z0ZJ4G`1|*h>81DZ_tHAzlBa>P(!}ELP#$J7=O#DdrxxkM2GO^XQ-pf+xk~b&f&${V2RMuAng+@p8Q1FL5WyjU7%Dw6tAf7%{Pn|Zm8v*d{ATECq~=2 zmE}iRhqlW|n5Nf9k&{881VWs!BlPO#vi1GNvQ>Y6I-N6G5aelATW|xwsX1FR-;hP| zVUG_t*r$p-^BjoE3$?(_Aj!+kVWNhEvSsxFo_)bUR-Q`{OXuTj2(V;JS>0)=;OQGubzgX+UjIVx?5FN?T^LU#oAlaM8 z7#AUTy6q{bhw>jPl26)8$@@&_2i6gxZA9a9L;$YZr6w_gT84;to&Z?dZS9=c8o&!@ zXuI5WY!~_=mv2;~CM|XOY(04t9VIGOxuo_9MYa^+^Kce~mbl!va0TYaK1XkcFwE;8 zCN3DTd_eT{f1stM)heR|tSwyw0wl&CWU}{3(d}q5CW_pA79HD~ z4HEea#{o01_fBo>o@D6f?_FS~9fkIZa5d+$5<7}*Pe_tb}v3#eybD+~) zc3*p9^BN`G**kJ_QOF}!-|}I5M^oTAoyUG)j`{;IhLMUJ{c5{!$AMwej(6XDKZwX_ z|AC|ZqTL~aXC}$~`S*D>E4mUSRL@~Oc5zkoiF(4T@5Bl+*ysg0M400hm6cbrdCY?L zK1}`MH(i^{!sw#=3wF%dNT%f~k6th_r7+?9(dzO}WBwJHufuW2sAmMoo_go8Q@o=wPdV!ae0&Ki|&-SEVKyXkUF&?o0s}Sk`{@`X=*ExJ#;Tk#a z<_(MZT+}^8eWy#IeQ!1a>gM?JpnjS&S6 z4K3-jv<|Hl!i$VSt^vLx}2$GxeX{y9tbF{Dwa*J!pgYj8#?BkJ))P zmj22;a9cBWt%*xk&@&&`lUP@_kNN|u^N!M#IISF1Y$ti<%W*8wzj11VQCRcoL?JWa zneDP0oxglmcQYb;3ZVAKY0lK$;eU&f?xH4nz&)wV_ipfsg0b6lY;uQ=kle!pQ!au~ z41l-mpANbNTu0(`W+lyV+S?K~pFX)r-BHc(&kK$7z2byI00Q5I2*CKB69dCYO($fi z0y*cVx);qB4VeWK!KpOXpbXMM*k;?*#%YaH{!xz!I>`a%lYY7P@&YHO*_$eOYdtjY z>YJ?Ob=T;kW{emz`=z*g*(a{>Ep(e}nuA(Dk1Lb%UbuA*T;~ww9C2xiTz|MpdArhw zWl`tYbgGWHV<2h_pnA#8QSSOn25h)1>Ec&u@XN-XB{MUvZH*0$kBVvxn+&bdyx8za z+$C#BW`Dg(l3Y4kg62{Uu4_04#J2%DP@v(1M>eto6WK6F_Y+6O?TdO$bOd@U*k}1< z9o-jpNL1l#(grm#>X#&Bc&h#U*}iNJ(No~vmKBh(S-|iL0^D^!S9(spXl{k#+tdu= zG#ju)xsldB&A5!-+L0<-vmb_;@To^_x~ID8udvp%G&zZVfBW^xxtBSW7-J^L!xZ=Y zelEQ3F3NB4Ny2uj@7J#h(P+zf2gSgE=YN}vmEW7`{g@~p8G&^P?w8GEAkbEW1Uahc zLrt@L7^J2g3mz~T%)E~i!)Zo&9BcpGuh7V5&;N#S$7+MS4uQ;|D6jPu^s}>r8u@^C zzaa=*^g5wT&4;va(h++SOmrNFJ?9{#{qU9(34C|g^OF{NZf1ekmk2kcWWZKj6=0&1 z+YUD`8lYNOU6$$3iO2q%FRp*XNF>y1jtcj~91utU9S(k(fSBQ`!h^?kKNGrd?>dQl z$ZR;YjJ6Vt!F+jSvKQj7=r3E?v4|cu>`L**nTjC>z@a#KTncB4FTcew_B7z9!4@)n zOL6&uWjI4xBB*NK)M&Hf8~ZU3tNk#islKuGMd~xT=ZqT(7(}zR?wbhOesWz2MW}vN zMFEBYx5c%y!cnx&K<;I#yX&jr@NKk_zqKS6sbd%i;5~n9UuD%T_+7isbwWwLO)` zuJU*nZtxjoG-GPkyd++Xzw#q1ql)KJ>+4&fJt&X?ZZ4mSrD!TF^~o7*tS4AxBGJ^5 z9Iil@(;V>aZVI``+?5nGf5Y^Jnfzfak*eLcrmdD6U2Mk-BKVXeQ$2C*OXtzs{m#o5 zy@L`$aQgV(J_lX{fc4^mvRCUV9j=RC7~7HG8pV=M7OGQ`_`w~SVZAGgRYA|Y1wtKk z!bDMDRym(8%IWl~=kXdQD&6i|P3RG3x{_tH>@9=|F1)4+Nd!q8gC{HW3a>2{NaY~} zQ!tyVU123|Re7(lnlpIhnr1cHr)Keuf%HC=P+G{~AOCw1ZfGs=FR4JAMPu)** zD{s@?Frs`E0KUZ4;b+U+K-Em2?MV_GM*gFzYV!P2t#5$1Vjj30ZF#NP+G))`^?ee& z@X6AM4Z6VIw<{QnPb79+nvQGhj<=(4cb4sMf1=qmz*PCoc15M*YstIzjH=PKq{dt0 zcJgw89v1ujn7H$1%(&SM!4e}0)`)ONV3P^pofKaWu**2&0op5c))yTDE+v+WK-He$ z0c%aBd*GA@iIGPHOg^>xyzX`rjH)*=dpDFaHV2%cdR2LXN_qYeSAJN24SCW`(FJ6e zW2%?Ed~*(N_y@F<_Ozx+BPAkSHIyAz7?AEP+L(H%KHk`fCz?EX#jSR^SwIsrCYl^x zG*p;9%lUIH4oPf8)gpI)gd8gPN=M=?C58Ip2pENC0KDZABi_5Hr&cUk%QIKgr=5e^ zeLn9A!I=)6KXkWiZ|7&rOMCgO$xxp6)Y%t_f6Wx+v2d5AGY_FNmdsx_!RMqXLEbzn zmT#gFQqI_LP5sj0<3Nu7#ZB?ayZjC#vfpoTF$v=OZ?%AUud&%G+9RM#;N?e|BRP`> zn+GxQ6JK268@?nL^VeuxwtwxxwwOT|V0ceUqn{8xsT-84%5^ErdrYu3cbUVM$wuow z5jTaHzIT;+kJ@67viEhp>lplk@dyWV{feyhc2FHc0O71<@eK6E*)=EbQ^ID3A+)=O z&{c#@ZFNFr+rID+e2BL86>W1W~ak2Lo(-Q&v9_YI_i2UfB#D)nbG*QNo}88~ zXA7}3wy332qcdkl;8nTVT@MsYKkSL#^RT7!pq6-Q=cGpcBLB-1!KDM&>g8vh31^dE z8Zk**r2y8@y`8>;Wy|Ws!#kIZ3>u%Q%5dZl@C~ryX`IMaB-~i;l~b6aEr*}x-$!OSH@lv0_1J6gWz4VZ6T4#ZW_j)}kvt3|-Je_a1 zQ1=(>kuyr}&@l2Myj*E<# zMWYHZ(2+qtFz0@?`g=2rGrwW{@*#L*wZvCfMfZd!HMAzs>xLops9rd}_6>vnj&W{D<$u zw6h0vhW?cu25*z@rMw|Jn$f9YKLFFxx3!TYfkdzr29n~GV8454R) z@C+mPPX{f1zB`!BLP*k%MYPKt233_srJmWja9a7m4Q|WmLCYZ3P|cO)8A2WFKC8eo zF!=a%JyVUb)!7GD#yu3N{0!v5vaXlB?9V?v`^IQ>QSs{$+qM`21j$shKL5EB`RzoW zh59yyj3?n(6`Z;!LoeU48D*nUch8gZ2c(_NuRy@^O#aGz+#Go$RJ5_eVbj7||Jh-L zW@l+8j{QoAA#7trL^e8#1LE6FBye#8zh>xa__zMJ(yw=w-UOnG&cxgvx*MXJfnYR8 z=)IH!y@i|U2fQAsIMePfSqwbgWjo3mfl1l>)>gra9rt1ns4LFi15LLJ<7)qn+RYb$ zxLhf_`}vEi`Y=-NIob{N0W1gC=D+CF?4Rjy_khG$t}7oeFj9L*@Uh3CSW;NZ#r}X& zKW(u{W5omJt=}k^8JpsmM}XSz56J62AV+UG`afVjkO=-@*w0j3&m;rQbIZ`0=f6!Ok z)$RxWfWGM!%|&}N_M`;TXF<=Hvt-4K%~)moaE}tD?2B9B+3#zzYvzpy*_}j7iN@1G z6Yyj&G6wP#Y^PP@fymJ2ZY*$4B}OMjqKWs9i9F+c>V&ZzP~5JZ%^%QvcwAp2u^puf zneHgqbLUg9>7BL(3X%z!+_Z_=ZY&9qQ72mWe-j{}1dscvW37EOa^udZHa^EL^hKE_&neL;(<(59%Trmtie zz=ix~jr1*|6=faf$KLg`pI1GHr`kWPiU?1j>0=GHc$)`m(6@$>PuK)9ruO)nX7ZL# z$`u*Olsxz$EZH4vVZJ2Q-l2|}y&3jn`9bKL6h*h;w(mw&H_m>3a~d0eK%};)$I;&u zEYjpnsj;XPs+!7U)HZfw+-!hQ1%qWmou25<>=#s7(#bpL!+sklAD&@xwJJRuK8np- zCPvVJ5Lmfc-WA_{iW1&OU>Pj0qn&BYoAd{mJ9$wenzsxnr9WCVskrVS)wc8nA9&Ju z)H*idxwHi*Wsm#OjboLsiYft}yZJuiQ(>vgt^z41V?QS9eW{_pV%?omsP@z;Hys^= zSJ+llC-{5iEDlpc@RJasSdP9KIVzAIGnDIf$X@puWM^}Cx`Ys$RS6V&G77;19aZc_ z9%5$UQt0Q?CQok@t0umR6!xLkAhZ0M0pc1)QQBSf7b_PiZvWz>X2!gqrFXev9BM#4 zHBloBb0T{)Om^uIAG?kY5Zk1`pb5>zRTyrZ)J5U9Yg+Ezynd08<~qf>o&*)JqC?ZtbuA}k!M@;TBLa|lwLWKCVpOLt$*o}PpT z9x4ZHL+Z*w_f&Ib>d$@C)1L*3aOYr`tOgbArWULBjG&`OiOAF!6#Kwy(HhC zkWynXu2y<&LXa^)S7myD9PurT0~p-)jEEcHQI-siCuY)2e`%$M+B{1r;ia<-GqaGg z;T-Iqklb&<`3zObLYs*SMP%UBmag>|+NO&9h|b3`VkoLcs<^D8*E*QmXA>WOO+Qt_ zlQGIgn=U??!|kib}I}vgIa*mIIehauPh6#OsyE@8E>y24w&EV zT!S%(!j4S-p~hhVPraY?SNSH#&jO9;G(~Sv6h+EIXh7En^vo|Vp63#l_k;BKOW~KV zrhe4Cak506bTFe32e(!g-pU%NmGhap8@nGvMHb(J#4M!(+ljV}6?!E&c&?PiHX@jP zww_!^J95esZ3Akg+3Zba`#1uHidBxfuuw}c$3Ch`Yz&sI$?9@xmiZMsdncZZlnB4YB#BLL_ITn*!x>OG!N756#G?bS8IBxs=ht(WQ`?~!NFJ)H1>avt*h7Arcp$( zJg|Nn32u>KtfIQfAyUYVcYbOED(CU*rJ$khCs?(((KNRNjIS~PK%4)phDS7(C`{r#T=Z+jfG@x+A9f66ZTy~3pr068Eyp6@)%n7XbdkL+`YAt0= zE~xJ!rIiqDqUsZ+Vh0y^U|PJLdqNmakqSlUYPIQ-^>KQ_nTKX<4$hKA?qd|TPjkcI zA5$AOjJ}IvDc~pVOWCJ<+hq7UH*PrJEi{oL7xx>?1jP7dL0%tOG=#i=Q{A`oY0^M; z0EPf0Oy_9{AKHwVWQi?9;HC2IiUy(>7db>0b4Z1E8*uV7x->><t>;0~66Q&!hktHdUR8D5j=;<3TEKdy3Lg8Z5Q#*yC;yn5 z&ME1HcWNKd8_IF0CnkpU$ss&?GhHEMFVs?#W*N~mupYXvV6Mm2D~VkpoxF+j-WqJx z`i?AWiTyOY6ZLWK$8u}Gy+B`Urg}0%J|PDNr5V&SEvF;d`An!!V7uper{6Vs6gc(@ zhrA%E>t^r+q5m9ro>SFwznbrkBxaEYG+oV;;NpQ#ln7X)1gUmWW&Ze)EH#i;z0V*p zc{SKuC$Gq>>eI zGb4wA{8QzXsD8&UTy>B)ol7?vYp+1RT;zi-&%N8s8L_)%r$mvCiI z1_>Ww>q1qt3s))G!+MS$un;FFG`g{~f6v2^~W-sV|E9P~FMh)3XY={28lbH~!azD`1kCx#&%CqdjeU*Q4jy z*+|TF`o4Lcbl#6>vYiAlIG6Zl^8v*v>*PSwOW^e=45&vw7+wus#3-X)A42ASgAwS! zefl31f()d7n`Nll53P%4Tch(%#@};Vg$>yo*+d4i9&Qg?%FS7qXy>DAFgnC488?4{ z7q6Kc;~_9+-MT8A74ISxJK)RtnHTGQBsV%~qj3=bxcO?3_>vj94NVfQcRiJU$8dwp z#Oc_(CW4tv_U=W~D3(Oq**>f<4lrc}!y0)sPQC{D|p} zhaLx~DGp4~h3#Oko>3)-=3iRbFXX|9X|(-+?oo7GYUOl;}NI0l*)+KHCVWb+ar{p@yYlpz_EQT-Ny>EjkLZpI4V z5wdhOARw7uOHzKbzlQ>w($Hd?u$+k-EVNnLU(S@h`r@#Ad@p;leY4c$U{Y4uXVwH(DZ92@GshQ2j(#jRi_XVRF%Il>nY40M$z?V?Ha}Ww6}J2=_F^Z zpAUH+gQu9km(DBsaMMVoZ&klCXrIJX5h2X=+}qmHQPuEG+ytAhmmZN?PJ`yjKgj$mSC{D;C-lj`8r zfpQbv{*G1AiS7;{B=ElN4@mcekGPLb1&<~2u^VUgn5vsbUS4z_7m<0o zx27+ll%F=s)J$z?qe1l13VOOyikjN9Rv*W@3lEEje5F|$WvfugT1KYvH8w;dFeKdFsi|^ z$-3wU0vz1u7H`-80^}L1dg-rZ>dXr_LLi(4X5R{8Z1p@Cxk63LP`Ehn#R)WZ;KwKV z(WLIg1EWN;h;jEB^UsdCZU-3|6DeOYu|1d`qdWL@u@Rp}FR%F+v?)ODn-`-WLF#H=C}+&XOMg>v_i43`nPn zfFFs{c2@Il$$P%$*JJNEicYp2O`49z*g_s*G_qWe6`0k3#-WY?k<9OlPwSaM_oO|y zzf0ePIlq2l3F?gf8IseYOW~SGC@caF6Vib(*{@itJPQ7Bi~0j9^uwEw47&}!K8QOo zNdKS48!_6YgA&vmsi(QTQ)Bev2?O~Bczzk~N2+TfxU8|@r~*cPWj8-`WhM*x<7U(W zQ@#i#hFH@VNau)L#}0lSQIY0TX-&0NhRj0~8|CjL1=Rkpcf#5;1se36ZenedOq4~@ zt=3{QYi_lTTxAG~0Qrfya0B3Aa<=&SVij6H5X1bj zU1hamMu0E@FjFh3+Y;T3=8#Mb{34|0MSjC964E`m0=TlXBp0OXT1zZnF=O9qL(Nv? zOTYK^f{xO4JivG#Pn zPlcEFRp1*Yz^i(Su!xy}>MisA6iO(Jw*-%9f_mJ2L}cYBa|U{py_IG z8%37Fkp0SBT%XE;{DRTL1Lyt4htFBVoyZ3-77@Jj73CXgP3nfy`Y8YOL)h3Sm!~9l za}@&4Z=BBsPWzK?@s8c^X_Y7P*hVL5o%42+7=@+gFA=jNPgyBz!hDCywRtS!_#4jG zB80lAPqu1;E>ktAkm0`}GzYM%Pm2yUdedx)(Ejtd1h6W^(6bE6tWuY-^&`Y+Rx76S z_$5p-dopiInswgzcg>oivUStCs1v`!ToB~t3neb*2e~y12Kt8jayte~z39I3IXdYU zt}Hd>3Dxe-)CQ`u*zM9^|F7Kg{zJq0|N7&9yDK2j;sTC*6&*)V2n@S&wJ9#L>UT}1JmBhA-vkwyc)u&qr*)Xu_xV$Weto8f>ZE_ZM z(|fYlIxtw{3tF^^p;#pouCUpm*Htfa2$@mjDL^3#77xEis-c)#VrZ4a<)@gc8+;fz zYD1qqXlA*_n5|F~^c+_b93|nHuB{OT;g#gBNf#B!`mva*W#N~4EhW`uyFRnQ`2F)K zP^^w%-~0X#_TB=lj%7_3UIYRG0t5>#fdmci1Shz=ySo!yf(9pOaCdi?;O_43?zVC} zd!IA=oIU5&{Ni|hiWIPBZcDP8SdO7eGI4QXWqvykPE>hB^3tP!vX2x zHuX_};Iybp>+Wun`()ko41Gp=@7`aLCBkNh(OLCJnz~a zi+hB^9>WG@=Z9ZCK4OJ1D1qK7Glc3Of<~X(HU*z7EmShM7fI3gzW;n+PO^wo$C8oNP~KN~6Ec|+2xZ*7nVBU?P!^Qpm?LsVVS%8@^a#$E*Iqq=s2(SkKCB@< z-%Gd-tc_z>Dr(UqelM9W$W`Eqz1Q+iH8C9SLqRO_c~+B)ZR-P*9l^`$*`ni|@nc+~ z#hTmr%asu1+Yk@UO9;S232s2(2Pid}9}Ff1vat&N-S=|59Or?G^5((vAQ-i9<2HI% zoD?O3`xOf|#+$7T&+8Js!wpcRhc`1k^>HW6IA@rq&Yw!zU_)3|R#}&^U7$NH-6nz2 z+aLcZGzz0|`T+je%nhFR-0d!jtuGB&Ie)hYIMhx69-&P3RlnH>Dup;Tc3?E%XHy+D zuvM6F^lpb239$j$2=D{;G)EMUsI^-w!`7ENYc8m_%(ZE`y1h7RKi-CVn$%E9(mB5Z zoS%HQB0TxQ&ZRTLHy*X@0sVIaT>?r`B{6q%1Z1(+_d($lr{M`s>;Y>aG%k%&~22C6r;M;Cy z0TKl8so9+e0W>TxKfSND!1*#G=&7P=oCU+N(j1KlKfO>mS-F!a)_ z-msa>a|z+IC!vJPaeY2@WTu7|z5lr!MXs0fDa^J2NNLgm0jHzjhK0bW=BuS}DCn!) zC2nf5PD$-L%`2qa$XP1CL`3Ri@P+-B&<~JuxXTU)vZz#5qGweV9D&(6JZcZV z4@`KrOC2UA8pLV~SxsHl8Nwz@oZ#`A=t+DD3rgDMqs^^SlK?n}`$oViF5Gj|cG7cM z>IuSZ0nkv%5j+69D6MteBbE^AsfLgF*iXzpkA0;keA#HFOFaalXRTjehgz-oWw$Tb zVGFZvcvk`az_jb}VmeBB^v%Hb_Tq~i^^3?+FmdXz7dtyyQL>#pGtu<&qK~sPeHTiK zQ}5#JB_yEPt9F{{Y`w$L2TWSX9}DNqx?A1>l5T7fD$2U|Vv_5qlz%mYt* z+?UL0ux<`I)Bx*}x2iEN^o8%{jil5b5U?0+xd$=Z)$k~wE>wlHe~0+o91Ptoe!1N= zbxG;&+F7}DYbmE28~QL1+0WQ|NV5|)u`mfae$dNBB3z44DV%Y)%!)!^*taN#>u&wM z(Hkj5^iIMd^ZDM6Z$w|XM(Zc8CGrLWAF8T@jXW*Md;hed#-RvpN*C{g6TrMvt)s@) zmM38xWlN zd-Hk|67P!9dNQZF&PL-$9l){%G}9stq2R!M2dx3-zw8T*CDq_NDqh_LiKyrJzw*e8LG~K)&R)UeakkSTAcd zl|D_9UY5e0#j*_vA3?avH&5jT!3(5|6+Rlr(?)|CYn3Sd_eC<3k))N%~DOH zJd?PSGXd)9{;gt_>l+Siu*8@C^7~a6s4-ucg~z@cCOV$vzye#3XIcR8jAvN2_(l2d44G zEGVyK+ZPyTm{8$uGigq09iz9OB+ikW`ZhmgM?Lh6y261L|I{nL^;RCWW%1z}gN76u zGUVs;I)%p}fqYX(7lrb=mO5c#JQjQ)F2ZE0jwUAn!O(`*$;V`{aWKR5_@~12Z?2Dc z@F&A6h#F}1bt2j}k);Y$|7K3j1J=TMX6!*G>;glVUdV8kkU1NpNSzU65Dm$(QSSvM zB$o%%HkL|U5D$R| zxg05s@X*~WJn^qpZ^cxq&+fz9G4eY}Q4Z*ZA19@FQh*vAPTTn{%O~eJp~^SG+TmL& z82B&G1mXt;KcoX;d$wQ*Zk8!?ZXMPsLlvjZDCb^QE`VeOABL0Ju83!r8(kzw>t&)d zPaE+GteJ{AY8R^JB9#g;XOSKbvIX#~Q9X-7Cm*zD8m8cfaKu}H#j6qCB)m`%_VIpN z(wBfggSCHb-x=4%uPB*B27E&>oS7{&i>QOehN>zcL*xh23<&bc0uI##Ky zYkW*Giks=;&}9XqA)d@~hXParntFjdBEOJ?fivyqZ&nSHoE_zJ&599IbC~&|u+EVItwDrtyXuHAn6fNa2Lraw9B?O=5E1-_< zX9xMI*mf~KuFq^2Dc^^J^nWv1{f7i+{<_X%?vqAQ*Q(L|1j>)lO}q{EvtxnGyh;?38oy@1ULcg$fnBOrANKX)jwRa@ zd8UnQChIZzg5Y7D+#x_GP7)=L?yZrH$1$R(7CzRzo)=S)r6w|BTm9_fVXuXQQC@ex z9;4Q8jyl20b-9%91tPppamu5SV~&IIu)#W*Jd@8zimGQS>sLx;j2l`wp3Tj0_SE*s z9tniQXDv^e`>6ON`-DOT%qyw(i#I!q zfaNs31-+9Vbr*B^bpiSZVTu=ARlc!M_@2q|iLI-wdI z;c@L60k~)ba12)s5$-syEX94U3(9q#uzo)1GxMGY?Fk%;vJs+X%54Xr(m>^gMwo|= ztq=7D7|aQI@lD9WdYsTJXZe;i>49I*t#qB?Z0#hgr>aBwq=>~oizsWmmHQJP^bmyF z^D%u2dKfH^NeGfQeR4267f+k{G!4WwKQnDZ+=83XpW<)p&+FgRwu_)FtUAT7EubGL z(hRoeI2^tv@VXP)k#<_>!2T3aWyWv()_F4#;eF^=K_pCEr2a-?DJf@D>mCfX*rBBE zxJ*-*M9(x85$*?94_;vX;!x7beWa`Z%IwZ}&8qHGO{B4S-3MgZS@|xE`n^G06J~A_ zOqwuPENR#8fzt!U^`@z;xyD~C8mjv+J%~Pu7G{Mz+ojrBBH}d=qg_MJYX-##4CR|T zIa4SNp$^l9rz>Xm!JQt4%#!|m^@_KRfX_4L)72)JIhOf0z?f9KtW#UbaJR6L^mN;c zJskd)QmSl1*PU;gvTzQ1=OUUG0EsVP!Z_VM;k3|hsk?uGBqFN@$Sh7WaWc=N2|cfc zSM3gzUBbhvEkw7C-B|R9KPEXB!bXmychj=tr%h3M;yQ(k)Co*mBq+~r7L7X7gkM{O zo{&^QhiCG>Ok(z(NxI;5h(ZRF_(oBH#J|@ID7vaLj?toa!h{?Z4OW<)774N_mu@ zq#8~()2=8~cV0FlWTSW%Ig+b-d~9KH@`e_0**!!3`Zdh}kaIw8a8F>5mL>?eN_h1F zaoBbU;ID98B{cV!*9Afr1(_LMK~T83J3moQ7czj6pD@7Q*q&fW(p!Z@39kMg&)H(C zquPy6QP??$_QNnhhIx`q9jpA=AtU?5wHRxm+;senVyBp=;v3(`kLX(Fqs+Hihx;xB z=~z(iX3G@W%gK6f^2;geK$A|+fizLo*n+0s_GiH!?!%}_kLuz= zlhOTq^=qKTh2L!I9ONdEFPShNiSKEio-qQs$f2c93u~@VRlk=l@Z-`^J7$@p3p($T zLAF=BlK^4T?!%+3i*W-NGGgc<^)dmvgSB{oJFsD^iiqWbsgIzC(dZMHUBG2&DY^QR z1gFtyC-4X8We}hN3Q2)G-Iv-ypy!+;eZE)Xk92|+7yF7VQ&?9xQ@T72u7DlH4rl&KzyhudN(4=mHZKSbsZG8LV)O4wm8Day zAj0wqs>>nmL?QVltM{3(Z;c{Hc*9bkT)yAt0;7eI;A*$^9(BeceXm9})t9lZv^b-V z*RpQ8z6USd6qG1^X8A?ObOMiW*%k)5ov4xSvWOn)2;0M~ZDJdc1 z4X>YVL>g!&#A=j2LN%n*rch;Ubc6T>slD(Uy)x+-QD72D~ zy;vhz&ZL8piNl9M3~E~$SAfe_tA(t#(?YlJ3!N&-2^_+R+wASgcqM{$zX?{@o5CFv z;*dZaD~ha}@7;J4kd6ki)q;9<=pva=gB^`3hO4!o74W=#mzSufv|2)|3!CY}IqVhwUGuj%1-5LVDr`@(zB;lP*8v_{~Qv87@vlO zcgami#al*Oa=Wwmgd_ zhK%_YoL>7|#nq(aO)qyIQpi*Eavpq%Gs$t~s|DAL*8132>8o zB|@jV({asED71@wUn1H?raWSwSeX|)z}r3FL>@r~W2lErQPFfXNJean!IP~=`~YFS zOT5q(MuT8#E}CKIp1YE*6l2sE2Vvqg znBJHMIT6+SWu&}~CBX!Ykdao6A$u5C2+U$%y%3LBq6i_clkG&xBTVgKa>4u5nZi(q zZT~WMl;!@~8?K=A;p10Ve1@S~$b_?Ivjt7D1(wUE*#m;eElnbuOio-ATRq$Ud49?qCm17cUa;sk91Upfu z8(Zpx87Ja=6?mD8d&wmBw_-;c8m7Ztblwx8L$@NYzQzaviz7n0jL^mIUdccu^)!69 z_3{P4_MBpIf3NatYx|jCj|@~wa>^aDKK=$gJXs4b9vh~he&@XT8Ro4K;3;cZKJon? zn=c}iVzj`XgjVfLukTR;#Of6Fk@dY&Jq&93JLoXju8BI~jlStL}^E zLRy^{-WmqPVEX~4L$E*R)N?12l6PG1 zTVCHW;OucUIV^4CdQ_jptbHOl=K|PN9flvEOk>E2OHa(b+L|@1Trv3B?z!|jF3sta z&o-$$3T_e`X7KPB;ga=1=hwV7bnwvfr1iw%-)pM5kxbYtty;>1ls0y@)WWa*5m+Qo zm&0?|n^RI>+LHIzKc98SsxXF3xOHE1HitBA2%=vSeG$a+(3_jjwR7igmU*U`Oj5Yk zcp%JcqQOEGzHacw>(M4?4xngAJJ>J5*i#|hL}z8^+kvMxsiQucJ{VzYN;YO`CUK}s ztvDsL<(=G3v!vnuwM;ZGjpvJ&9gci$MO_-chOEeD8J!hQV>_fIBE{%gpf{j?C6=al ze=>&b;?S}9WVS9A(;7EYr(H7cH;+TXj>J20S}J}DTV^?( zo4K4~UWH$9t5Vsp=2UF@I(#ED>VR^}QBzBoT;i*Ds_il}s*s#-oM2hNJ#m&t8A1@-QWQ)h@1<~o%;!N__Hs*_+5PR@mCfxL@Cf(IA;LcF#1%0a1WwCLiD| z6W3gym+|MTw!6BLUl^q*cQCMRu5NhG!htr4Z!_(QWk|k3aN|_ zDvBe5Mb1t5X|)tECse|Jd3x0W?M_d~({nr*;UOx(1Acb8LH*q4%@wN1lLW|km;EWM z)zq*e;#eG(*v6mFUFfRV^x_0@_aN<&H>H1A%Ht4Q|!8DLyo`4>nJEfi$g(zBK`;G3aV}y}bg3pluf8mdnQ=vEPw)jS*r0`I0-L@&szUyJ z(lRpOjBVdDcN7jZ^^bU`|AlLiVbdIFOe4sB?(X*ACro|)xtpw^ojGB~>qoxCzHYE+ z3AHeS>wtr`F8l!kZQiH4T!~&t1*dw7+yhd#LK?>X?NuvdnSaAc4})E-#sf+|%{G9rf+=~|CYsE>uz zo^VbDoj}xrEWB}^l@aJ>kDxfT8v#Mv@b8CC<~ORz-d*72_sXmTnWPu_YiDTgunF8f z+&kx`CWN%@prE0q)9Y{-<;A_4;h`yCZI*4eqHOKz-$H&NxqTu!_8e|rkJV|>T@%xKQX*DO3|2Th0Ay=y_rsJ)f7DCdBRbpHYBD`Kr4P<+@wdlD4d zQ(SMUjysl2x+aCWDtaeqv)hA>rqwPh2440oG>nVXZ}R~29=dwO$SQyD{Z6lfaa%6> zf|zikCRJR%Fta2ELt<&DRn7A&eobI+mU>UU*PY0&I|a@Wm%_xcmYe>2aVOHz2l*yz zsX?Jq(Ng#DGW9i{rv>|axzM}V9MtT=&$gD1hNt*7x&ss9K-=VY)-9kE%yMOI$ms9@o(DhK=k6A7SheH1!0 zE9UrIg`I!;0j@WT_DEJtWYW#4c3I|@#-zKW#Yu%pI_ru42fagQbv4H zBG=LSs_LdJj7n4J^EMNl{;Z1r&7B~SXDEgA44g8rKRqwjbTR11G32KJvG3eIvc`k% zfhtAfKxymg$jpi#5aF4-r5U5H)nS1m!6NeYcnwa%i5Jf44UE*tTd>0XFRJJt(PjS! z=%Rm2BPlgjg`LxWt?GvuInH$o-_8Q85M<5-rXFQ5WnsniOQdGIiQ&#^66_(5u{=yEAzR5B>jG*i8Q7v`a;(<3JH-;^8` z-{g#ezqPJ8T<$YV%AD?teIF7I)L~Axf_c);#9(D&AGzuW(X^gq91AzSIu6u3r2<8X zA0Yori;v|E6KS73oAw(4i>0=HIP9WS!&7h+$3>0c zT^TwjEF|$vK6*9M=cW%(i4)=>kxzGcJ)0uv)n;Z^MlXV;$63 zg3N;FS|;)}B5qI}M-1>g9`6;m{z6Ks7hi|kWSdbH??#?nur^h~;2VR_ua{O<06dnL z1~<)8X8L-7v+|g~9ZDxUEG?|lMIph@Vol9ISx+IRds?Sm=j1@{kBKW^O(lrOMX1gg zCG6M%XM0|oMlh3hqGXCz<466rPI+cH0yOTR3&Wc#WeVyTV&gyQiA@ucJ`lXZU5EvQpVf*o6FR!)`xd48rFcd2_v4Ess-y_&9dj$w<`}_ z>PD9Ak-Nr_g@11uQ!=H&OzIC=XIXIFnr#VZ&Z)%_tYG{#K^+mwuCpX4%Chhuo)Vk3t+tk9PUN09QSE|86uB*?qY<~9#Oi8xVQ{)>#m59CuTrDv~_6Mdddbgdyhb;DuNFP0n!EVf#H{>(&eYI0Xj5^h^bgnA&lSL+!@;Lr&m|C6&^6{ z?9}AAt>j_^IFVQ;Jg_Ruq7+*;ufkTMeg+ReEm;s7wI6y1s;CTOhJ+S37?}!Z$`vrx z{aeq2pU2u}_{d{d-&D;KZKG;cbS;Xc@(-mZ72V@Hn&GB3&Z)YlU%WAl@&-Jwy;Hjz z?#Z69W`w=?N+zQh3Q|zOgoDwhXerF?D%h)>U1TVddr24K)sb`-VY-C|5x#bUr0V3d ztZcrSA`o*EMfuDw#PL~m?{Av{Hg~DE1pG|Ofz3V(;-pHono-YZF9^JHO+28-80TKg zKrZ&@Qp_MU5_o|;VkTsGV8sASkbk^r{J(wu|NoG3e;z@<&VP?NAoN~l1htF){a^J0 z=&Bv!6%!vnch7&YdGp*?4-|Q%WD>TA&CuH)nE5V#6@mw;^zE5^;d&~r+U#u9TN^*G zh7DX44ev`3I3|7F3R8Xm21e*~UxYB?&?M?aWFKP;*azk^jXQCFk96{w9Uxb++QR(G zI|g&3v~V{HBMuGyoa#@Cz<-4HeqH+mO#HLH_%DNq|KApFKLvh|LnzkL=ZuiAE+ESO zY6~Tqv*GfmZ`s=)p0n+E@qk$X@A;W@r`YZjxzUoMBK_Zi`=^D>7;@p?yH)$AK|%ktrTbOx z4+Ga6{i86YzpnjVthRp@#`V8J|C|v7a-XxC5?qh`00|VkI{dvmo)>4s zzaeVcvtMNZi~fIq)VW`E{}cMINoXDEF)ShA39!2uGt*r9d-$J*Wcdr?{Zn6-Uy$}c zfJy$(8ehL)_J16#`vsBzYxU(XnEl@XGX8gjx&Noz{0nCPCqTSkko*7qw&NGf{x1v_ z|FadU`}*;O(;1V82w3@r8S>}?HnEPftY>6#+YF)^B?G2_o;F0MaHv;0w7+`!Vv-k6YymX@AI(8S!{z?MePT*uzvqk*24 zz5!6__b0(QB^9fy*)7(UOK#bCbTws}=9mVM9P2Mv)OO}dQmFLAxc8>OIKNft7bR9B zE*^L|@HrNQL_om}y~(Pn+K%WfKD(O106o?nf2clQYrQ-HdtB{@;?10d7lu<3sPDKo zJ5D1VJjCFK96(EPpPY}3ewgxe^3fV$u~g(PK`IP4D|TBk2}dAfi60I(bNg2CotaRtDO7M{GLNT99UDE1-vw}Ut&*Ea`f3$oTS)44h zls98_qV!|_v1;yE9%F&Y(XMrM>CJtjk5mw4={CZ?G#yMb)0mOt>V6hd3UbrQPDS4W{ai`q(H^ z{;hWMZa0;pz7UHgVtv=m-M)hJ`vNpS5BL0>WW<)>i(2Pi79`rs@=Bi-xB26H)^B<* z6rPI^F?Wu2(RF>3wzQjz=+z*X^SyA!A#yV}uk`uyh4$d+NApwa)F-RwtXw4_`wX9t zl_Vb?55hbJ2)lV9Q6>hq{C!C_WFZp_s-XsL;09@)Wy$axxuJ&3aGg|0zY15(RBrte zr_p5AEqVy#?4nDD$yUVY-susz?@T{W?xzBlrLyHc;cu29cJ5fYm#%q2;obFQzFaNl z_i5U@Za4MnT$U0$MDvWM0Wd_;IE|sVfwPt64%De?7-bc+3?Ph}2SGCJqM=VutOajG zpJ7R`Nqtf%_nD4== zj}C6c*L~gXs&1s$D^9OUAQ71?11oaAvdqp7clJMUX?rgOer-_#5d|cBB^=)xdcaA6 z42d1Kgf-HQ!rg4%oM>*f^9)^i$s+|;@bGjCzzP;#zC)@xs70gRH@RjsDISaRij~fWj z3GJP9(rEORiRx*!dy5Kw9DCGe5pN%-yuxx&ZQW*MDW-2a4nHnl0t_vaOtI^hh$=gx zh6-mLw64WwpJrm9vdVh6jG#Y>NLP!!He(sQbjPqDJm%3bwWIS3y)+`LTJ~!lYe>GQ zXItW1of-oD>LL8f}MUtoMN}G#bn#TJ@V_76C zilAUb%-&g6;|iYQ?|2eF15&QdNQfz!%qLe8mEdh3ZEoK_=7P{MgYaecx6LeGxDYMYi&#z z-RJR>W)Xqiq%aAj)AmCe@9q52&#R6_z{>Sm4AMWAGx!*E=riUAqXHVGm<--*2aibS zwzHeTZi!mvU0lEz%YIY{iDrznSr!~YB{wC04;`-T2G7N#&mRo_LM&V76%QgkkK@Qj z%3_x9Gl;ZTuvvpT#A%`vl`#NEejF!CksV7hu>2VLo%NHEVuxx9mg%@wn-x?e1R}Q1 zYlv5Y3ymsxk?^otJQE(z#>q=wO5o{|VnJ%BjHm@zER#?sw0V0XqtuWVXn*8-$Hod4UBY2p98|Ai@QztvW@xg8EGW=6K5;)x`>r6 zUgea0+4*w1pAi**rplxtt-L3lfj|H`FOE=~(MWc}I{IKvTJ|`iwpGcF6lAgqmBu3! zfX~A#XWXe)9ok|VFNf*KNYOSpbGNnQoBf29H#G50Idt>b+EH#zHY@!tlp=~1f}+1H zpTqT_Z}~kuPhdQrG7(*)<7K7b^2YRMrob$C$Bx;}bbTu+Jt}>rFLD=DB<5w)dURPv z?I_T$&+sNBz*_hjIUNaIo3P-Ph94Q$%pqLewo+ep;{NkE57SXLDV%G$FEEoG z@007LKA0tAO0n5Sb7q|5zRNEY)-C?#9K>av5n~}l=$N;zi0t$+ebt_BU6c?Z>@EekAenayxS~Wa|3JN`Aa<0vvG8=spV*o*|+R+ zUf8!s7(H>;!6;~@WRKuy>&mgWLwH7-y{u?a`OFi0WU`-3VVCUJt55^3DE52KPbGW*Id$h~P} zP$(ZOrLvJ(tbHznEXs(1CHQi}e!jwmYxw@EUcL{Df2quC=Bjrh+_j%zG$>9!yZKV$ zB}GgDq{7#-kwEWJK^Xg4?kqI~ZobL05_&d)cJ^K+8J@e`j9RJ<`>9hcM1{eo!fHEf z!hY<$=rP@x0+Xn9(a5_=9qqb|1lw0Gy>tG$$ii2&sT%wGLjy$^ljN#56lU99lc{qw zE;mF;YNCZNEc#Rk&Qnuzaz5*Y%}#VGZcgV(nlN>2DZIg~asN_CSyt)4X?rnTnU1dj zms&o4G02}3j5HO@^j=k);vxx^)A2%eRTMMX975klQX(36kfVSK0Ww}tSQ+U^9kzwA zJaIEQ`6R!TAwisyLCa{8?Xoxop^7d<%to(<3cdPu9GP>`qRCneeHL`T+92-sA`I4$kj6u*+fdRB4OH?ifv~hK7+WRqU@+xERbm&PAMP-ZUVl+11 zrwp>>d?G*Pe%@ld&aYYiY!}>6Er!oy3o+Nnnj>0&_w9|Oz?^B0ZZOuTQHXDxG~((q z0S8~+X7R;>s3LGNS0YS3CH+nT%~H9hx2Tajo2i zyf8U>mGT;b)gw8ZxW6GsJxwkNoUj_vjG&Bm&o8KbU4PWMVfo&+Eb1+!*)V~eC0pyb z>R9hE8ELFQfjsNM%b72g#{n2K`Kn*mqVk*6d4|cU1BcrLv&pqy;y_|5SBeYU9xm~S zS$pb!G?7Jjbib{&_Eb)En#$EC`p`E=y!y!uRO8leH}ioc{xhgen){mbS7#^k;=)PqtLtrz9HH%)E1hoo*gIfOK|ec7Ma zn;P!MA3tFAt0R|aZ?r{Yz{aq%vxM}MOEr+W3;C##a8_u09GktR*&6f(u|oJfto!na z1}T*ICZB3%JfpOQmdKg`xl!ai2FrFx_$*6jKq*E4;Gh+y~sjvf|No9HR#2Zq|u$s$^YNMx8seWX0k$lH;i@VE7coCVpVK9SH!~EtrE5J?P z`@x?e3V+fp!B6$LzhcL^kiF_agvmLrC^=ader;4LKbLQX)m|F}9PgT&2hmxz* z(x7xsG(K$Qk;#*2K4p+T1#u_!ZvK!M{h&C`4^22lcNJ@PWEa_WC(P}GX{EzD$?skh zg{$cFVjRc?;)GcwvV0NhCFzwHJUr&r->Xhu4k)Zr_QoCUz4uN)VEnLy5bPyZMqM}b zRPR@Ur8E*d1W!?hKsrAKq&&bJnYbH?53qs#DPfW_31yq$Vwz zYalb6GuNOFN^e`cP;l>hyGLVF=r_9VMmN{GCm9JNnk>M)tMw-;;xeuBfgWWdIQ^TvNlh<-wS9>PNWmxr-dsi~Ir4al1IJZFNZ1Eb$U-+lDI4W7w zowDjkFGV?MU@|?^d3*J0vTNaUd-VJof{)!V+#DW8Kd}*LO72nP{UDJE+ex~l4(*n8 zH!>coRuD~s>>koxDoCr&+KJm$W?Yp*!1ZG8HT98bIte1&ya+i7H6B6E+Xr8p6lb9yX zUpXc`V?9zI76=w;(d2lAi0(cpkaD4LkamUtQfZU|O`%Gp>C7~3Yn3(1r`Vg8J1-Om zo(SVxNY*PYEk8*F=H{oEwyTZtl}D13l*8ZlwHMft3PE+am}KR}IA^_bON&B6 zMXP3$9n4KKZLJ@%Qq%&HboHodAY-gcTwT3pZ`X0b{J;{%6!7iV?Ql%bXO!k+$PfQg zgVh|G839O!8A@y#uSM35C$GCEV`+;7er{n(1^v4|R$K8Y+Gn0>fZn%W4y@6NL}5G*hRtgsoC63DdjgiTO(nw->cX)StK zL_ey3Mug8A?=i{tz<5oKmUWxg!!!5X zz z2UazA8|*6)r}ypd-#inGWuCk<`jl{9nxnLxggCv>mEEP6%>nV35h(tE`1~Lt`;X{9 z);|b6ep@SRJ}W0RTHq2h9X%ln8@&dNw2rNTr9C0rPa=?p-^$V+II{zo!JkARz!F;7 z1B@RbEscbMzKPDisw`_@XXRk4XJ7}Ai^@{ErUrWUK-Hg&qb!Xea4+D5;kOfMTPr;| z1A8?Z>5qamA{IJE27Cy=|Ibe&Z{TFFK_lQ~FC_Qd!|0gkf7apRqLFvDHUJuE^pkA- z7e4c6OaIDeGO`iU|9l&up#YUhPxpJhe<{oS^S8g0{b*unXaKw_&{#EE8VeIk2RlM~ z8Vd(=dlPGOXBr(lfZsH+GqcbEC{H>%dKz0DeG@$$a}63k9XkU7OMvn;u{5GlGO^^f zv@`ja^WR$d*R#KACG*dw{N>4V4!ZU~U*u<5I)0kJ(5lSz%>N&(>N{x(DO4FW_X!h| zcIa{uRKapQ@xay3!i+?g(a~OXj{G+1#lg@dqsqo6!ETdxyV3L(S^+hK_Wh&6@N}J_ z?ZWEVany5l%*T_rkjv4$*4VbpJKM{y!+q^ub5OJ|D_xpecKB=6s-znIO*l!8*bzr^ z5zi-Ub9GDezrou{>2ozir|D*~(DQe_ z{%qqDuwMGoyI$Ek=iM_9EhH-b^Hoq&&p9U4Yhq4XZ?!aU&NjynBWKrEpkh27Zbn}g zn9&5eCBLhCxU8kz)P-I2x~3+0g`2MA#nC2*mrIkeHb?mL_C(xpWI<$nU!S&&xI&d9q_5~1-Ype?`j8MS6LKJCA^j2rK(;26k>@x&}E7> z9f+-A;2Y|eV7C{>i@roe3qgX+k+wPcjZUSW78aa3!N-S# z$)0L_-u@VbrT2rpTuVRl5;rcK$!4d6`J5-nL>=9qd^M9KqfO{ac`~58)~CZ>vtk`k zllwh;KNnp!STX0oys@u7Z^pG~Hqj_Lof(!Ir;fM1*3kT9++zu|%1zaVqy7)12lLOF z_}5`;a;o!(C&L&e7YdojM>CCSfoLRLUTFtX8U(D43V2sozU*Rd8hFflT=|M|=BV&JDZ z`FS5(6Ki`bTN)929di>sUP~kMpVEonSjQF+FJyl=jenoye@yYe%xLmIrs?16M*eP= z{`M|^JPmlE-$W9PI3Ol|KI=CLp=6?OZ)~T=!tztZ{`?ovlmJKnn|~1gH|ziJKL2O^ zf6xY228Q27;m_~z=MQgU`S|GVwV@^b8;?O36)_VfNs0{J4GWc5$`6{n3J2stVRI#BxJ6FjEO<%V9n%OE49srjhjy z1v*{PV`FC4#5)sc#C_17q7Hx!mRgQhaUXbY~&Tx{ zB&5ASo7q%;UVuL+U9^#QkJS{$Mckyyu;XJl8+QUo>(=xlJE`2eTXhigo!t6`THLNw zYPq5gqiwgqWoHQ0;}K&jooGn>N&}RO`+msLrVyo(`bVk3*+fQYE*-SGw%l53*i;U! zxJBbGdy(@_b2%@FdI9|fC38!7-Xot%KM{Yry3p{x4N1*UBBO?kqrIIb*v*>A(OfDA zBV4>kuXJkt=HEICT6D0$KBpM2Ru>&4wUUK1v=8#TuI?SRAvf+W+1 zS#gi{Sq9a+>X~4xX#7zB`qx9G%KJN4*T~}PcR8B{%fVA~H(?s~)rT$!-y4kaHcR)| z#IfLuD$dzz*~*f+?I`1-jxxwiF7K}t5k_1K**Z_K{3{e0l$RJ5b&Cz9Yfg;Yu|*zd zKh5Y`WL2I~>4m1ObfE|L7BkLHSHg>ih9q`3^)<^NmkT0h)T-NkEh9m0dfUe=Fp2XG z)|&5&N|Y}XU4Q6&5VJrhw!?u|K{)i`TH|uAx!=k&I~&uBJ0;SO#*0~B84^pmek>rT z^ElhP7Y{K?8tgP-6)zj(Oy-$<@`GBqh4OgC%uW_hWpN@Ntp+j9N{bdhWXxIpHN)JN zmVMSorY~$#ShOru6xxAhx{fZs0$O-+(#BM>JM0ZC6KSdS(6hp9 zwB+g8(b_nWa84sJ(O(y#A2Fu|DPV&WWIrE04@`b(j=>SXi9$QB#|R^68nOOjNJljg zL)`Aon`AF{(IKOZMbWPJ>jh#m(*tZEiS)*ZO*ZoCNzTNpL|2pP8!N&x*5?Dr%*%d^ zIk+ddw+L<+Z&9Dkrc|Fz#7j$A$U!Ztn(=iUN>Ov^@g5jCp+ZfHB&gWYen8KAVfoDJ zr1-iiMs)Y%!`Xr(a+jLzMI(}napMgsb@u5dQKg>T+ClH_0D*>#}tm8mc)2HnQk+- z8&X~HlFg!T#|0;;X&5C9ZWYN4c=85Xr~YtIp3Fv|e~cZPN*nu=OVJl?#xEar({j`= zk(*&{pS<$f$uNkOtDcDrLYa@u^H8Hz*dnJ<-%c?z4%_ta^<}InxS`RF-H%}eLbFtH zh*v0<)s;u^vneV>d?#~ zK)C?@m6*F}1}BC?l{sGFuIb!W1238R`$IpavKzLZJrrdgJT~1D;k^Gr+dBry61DA` zZQHhOo4ak>wr$%sciXnRciXmY%j=WN0b9~0Gga-nobJA607rS*A5F0T!dxw+~%nvi04!fCy_P}#vB|)g}P&v zAuvS8_MiMZB0(r6{iMir=ER* zabZLH9b7fGPWCrdSjX}|Q&mbvU&niRlZFt8SvSoEG+v=<_&H{em!8JiH!S*WA_&{B zIQ+>bMp-P7xN%cXXuqp@zaN(JBB3qD1` zotw))1O`ztr0|q~kuJLR4&{G~f-UVrQeTL?9E~GP!muS ze%up)N&~n~xrw;_zOku(b!~C=?=J_WMPG)CB--Ve6p10T`r&;BCxJ8Y$_$gF3b~S5 zUOOuueAYp?Gp7`4GWaNsveUR2{p`XyGBAI5KyaQ=g;>0K^tWPM3b_S!@uuCFgB1n4S88ki@-R^S$TBu9HIXitxTeS5On6tl6WEk z8w>}YQR~A`dUi&dnx@XBMD^Kv<0ES8|c+wZk~OYK{T|RfG4PJ&o`iV`Nt`Yi=3%$zn zwTp;v^J)3ysvh%t9)qt?0KrhGr@uNsV!0|Go%P;Si)U0C(kbwQ zE}}x!YTcBcq(p68-96!T!w9NOc}-2$z%;GZdtkyB`KrDA#_mF0RP9gA3Vr*T`p#nr z&yb$+!m!6u8Ln+`q}L=ynWSKf(;ySDpix@B(5NN;w zuu^W!`F8_`w%}V-=&h}1yzh|{_FM3s?hyV~f>Ae$ogg^Ks5jpaERmBEY_{IO-dY3Q zcHG!Ey13Q_^~2z2{=Un5caCe+F@yV8PK20+V*8*oZkgLk199P%HQrscL37GIg2mGs zKK-I7z%CpQ32YJ3WGy#se^R){QaNnpC|bxoV;hY&d#g-gpns zeb|zHvy(LT5@T4xP%MY&9Q@j_i|-C&q0u{x>i(HT3|6gQqiDu$lRp@@psOtn9^>{v ztwCT6V7|i8UOS!hmi_!P*Y?v=(b_l~;RO+lOQ)C=8)z*y1`-XM1iI9r-y0R|DKux=Ua4tI1W@ zwWrLKqFDshs|GCrlHagtmwvZDeByZlcIv%fxYtbiz{Ze%{afQj1oqg<4J=$Xaynwq z@~QqXIo%%I=Gg#~COf(7o?2|X!d_o}Sj(*|#!4fz^DksR-YkM55+?F}nSJ*Or2Cj< zYQ~ZErRi%pvnWvyF8y*%tz73_%O5}}@N3GI<11g^3<7o2a{Axu;sdzeA+4z56Fn-~*T(1{m%HX25P@o>+M`@uq>#_4sQRN@y6Y3=Uk>zM9+yAy#8A0A5 ztj_x4MJbXh0;SW4u9*fu$(V#u8dA<`-&rVBR_ixecY{dO zY)YgD8xlZObYl9&E!YR9)9Nvs{QUYQaKZJXuTdjkCPAi-CX-1J0-{N>>5kztrFdSk zc4e1eP|v%)2{RD{Dr6@V+i0jsO5l&HgHqIOG!o^+QZL$Q3rX;-A#J4?G(l>$So)x} zb}DQxrg~J?MQNCo(Zbrah_N}sVZ|nGAYruE5<(hDmVQXuTw&TMduE8%qj@3TT+|NQcHuxqjd@9rJ)x;Wad zg?Zw5EI({(aa6LV`qM*AbLM**&}I!`cpS|l(N|B@p~gY;D?vm0M3?O6P5vO!YUI=R zbmk=_I6ip?8-W|<3H4O>_U#9Z_01ZibDMjk2HcAgmd=cB ztB3m6k{4e@(8ONiMF!cQ0>9j^qnM0Ohi5fPHFQ-!ny4w_vpp)9f`2m|m8c84#=1yh?XX?D zWQ`Nst!|^Y6b&wl8Q1rMm0+iq@Z3V&->jLdsspT5U>h|ro*$)bq0^6kKn?_~Pp+~| zdsVI1THe+KJO)2jd^*Y&)n24_ZaYGeMzhMl-3a zQ37x5#v1aowjY*2+Zz|L6ROZfACy2J;h>#rI;zE{cpt_P0qLHI^-hoy`DZ^Ns@Upa zZ*UnW61U9Jfr7cI%$P@rsv5M`uXYR%@lPZDu!8wN0bLe6PBQzdCE*LB&_8SmUn`su zNS}6HUg;FT*kQjl18#|$wZh*~u5kCgL!JHf6g*I}zl|2C!Z$=Pms_zktMYl8>?w%7 zX*bSw3+Ehc5veM(`09;0U;89S77afYEb;YGcH3;m8 z2TWLv%-mB)48Ig=y{%{5c0?U#p;zX2Colcdsd{cs*9F8;9bKix5L2foeSF6kQO`o} zDZB@s+Zb4Ol)^kdAq5+PMaO3CA%yy{98(dn`2(?dlMS|vLYbZ0;wSL(TcjlO8PhDR z**MU)U<`@d$=s#9J!aR8%6j{L&ysQSk>#TBJ{knMq|rUhOpzumOGVzp-D3Hbf3 zjYwwA7;;Ii@wu{^QZuMaxwHzwn+3I|Xr;S8HCT5?JnlIhx|LM-Z?JyFM-NEivFY!G ze97@v0}6`B(Y+9TC4B=8rHGI!0t*pJCVYlD&Assh6!%~&Mp(`Or;VRNnyQ9g9BivY zPFyOg4y+l@7}@}9)~&zwG3b>%MAPW=Z4@?B>2JWTrLDA6=Vdh6gUS9eUwjB9?FV^1 zn5N>Qte7-k-@`|}HPEoi)cQ}>rzZvy^>!2Lafp4yQVTPw`d*UF9C}>) z&ap()RZwx$7*c^Z;I5Zdm7;9!FSUlQy(4ufR-Q>;wL^TDk2($ki4>Sk5Tq8X{Rmcr zh$cQpN?@B<=1zS|lFN2IL!Z(YD zgnBTrhUYJ$pf95tJG72PS7Xq=3NBnZwAHSn znYBQe;)I*a9GjBSC53hu>f2A~E++@yWurdf%Cd_ z1P_fA=~{f`eNl@jC8D0>G_8%}SG1g5CP_mf+XMtQGWgI-XK2uJbEo8l*p`^zz$Is1 zldw;YjcpQQ%W;}9sVXyCp{o*}hn2c`NtQUdmIqsx%I?-@xJbccv{!!<(025%fn!x} zmlF^Q%U3i@J495N+>esdCs(J}lTxE^g~Jb}0k=z0J8>|Z6#W3VX1qW8rkmw6>8==0 z%{t8UXi!_ZGJtAQOSb49;cV>RO%Sb2SrH`0C)(W?8ZrkeK1`wEd0BvMI1dN_wj~e6 z4s*&B!izf8I|b%mwU?m4dSGg4=JSYgdY=W_P~z`aEs?O&&)aPIugppnE*U!W3+u_5 z<_0#gqCJ|D7H-#)g3M&UKW@MILpOF`<)xq112<;)ED>jsVt1LnYVw4ssmQ94c~2kI z(6k*srPzmt4%j{Py*zNXS$Xu6W=tV3(ddpHS_~5vXvt8jPtZx%2hNOc zDG*)26vfb9eTmZ1T96ZTy*_JV&9#0g973CuPM96~cA9#YSv|85I}aQ?6U`TaeL6t2 z6EF9aHD#V|P6au9h4$?l#x~{8Nx)5aIu(tuK&c@x6&uen&~ArMt!TNvcItg% zF5z-arF(-Vk#$`aHGW?vfZ03qR=IfP3o}^Vo@d|zek$)9JF zDB-NUUi2SdsNXZ0aJpBD7Izltoq3Y)<)ign>|I^$qH!<8v0(>vQ}y_AzrgiJUl6q8 zAUdw1a&`znDb!Y|D;AW+n@((YJ4o`%X+4ufpNGGD(GHs51!UACL^Jq7Jm zk!0tuFEp{^$=%U6J(2l@1NJqjun?`SlC9KGW;UUf^>c2A8wQu}A$0t@-_p+=>i0ep zI#g%U+gfw{dd=$Cg9IjMz+(Cxp&D5(;Po)G?l~!)Bb!Y<&HO+-`1Gm-YtULQRpT+0 z*lTy9F?5K{T}6uFYvP*{(aN1^5vt$nt#@2kO0kv1t_x}E_NphBjaEX_UuoV;M6B3w zNJh`SxI;mcEs$$%UsMf3MPCXsCl=yquj(tdb~Em)dRf2hAeX_Zqj0I-UauE(+XG+6 zqJYT(s)jDuxZD(Z1F`UOKlUV$V0~v4IayquO9hQvMXE9h^9^2J>I&3-jejZj=TZ3# zNBHpkJRBKxBWs*`FVqyzjsXhrTz83NaPN&zJmaK^@t{~ey`u;V>mnM zW2m6ZBX=_^}DS&i@^>`Uf}o z_d@^w3G!z9H(mIDkGzHLtnD0?>zQEqny{&g-d`RU=G^?Q(9mDR4ILaFJq)VYVxY^GZ;LKmh(GxULjAsu z?6&cIUY<{e2e%H^=G=bN$BJ%z;eTF^XZTAr#D22OsFVjty^WTNF7 zYZt+JB&vU2pFSkOl;{@w$@0@~<9sB(K(9R7RBr9Reo`#|dbhGBUMjrW5UU)%D=YfZ z{B~`&#ik5q{nMCY*>skp$yc@9qgdMdbvL7J zxkbUJw@WW#gtH`A(>K4&Z;JhBochFp40nd1SrU8X$_j=Lk#BXp8iy5SsyhB0DS+Q&c00238oVAW|L^r>AZ66G{CB{}?G|t^&pg$i%pJ zO|=91asYR$Lqys#fFl}@q#&$XSkYqMVC4*q^0~TPgPf-NpqczGn?)2 ze#)T)lpJmAS=}{kc>84YNpG@}QEifpPTWxI56V$F)%y*Re2jIaIU+aYUX^NG1fS8f z$~zasGum;~s&7~u*RdSd0EO8oC9WDQbtWSx(x&_>-Q79YYINJeVjnL)wKYYtD8y`nkMTEnoZiOh3~yR>7YF(qMV6XXiD zcZL^<;B|Yp$C`Jz;1P3*-B3@|$kugP8(@-@i4_5rXEXjQFpjX6@g*m=)EvYo z!R3>v0>jL(T|{G~1VgEdmt9kA!$sX`9MnKsdBYjb0pGez;xKLHUM(8GXZ#xfj_5SqI=}z4v@#Q|WZthTS`4gudc0n|wRhUcx*G0J#+tFD2)h9pu?Z!Uwuqs3QHu~J9jOjC zDwm?AUAQp^uaF~Uh)3{%*0Z1^+22P;a!T|(v_w7ghAl7V!|3=mOnK(7Oh})FBHkm6 z>Wn5qifo-wA9asGZVMcAzD$naNX$R1&x0JIwKzu?zudg^;_!|I-440(;XR6g+XbLx zW0z1dcG`NvoX*PVEzB&;KMd5mPkJ!=Wi-Zw)vb1+s!E1BfU6ozy^p3Sr1^iffD=@D z9~lQi(A+xvk8pRjB(X5p?&arIZD1)9RHu&`7|*p6Fefx%5S1LB^2R5&>u*D0|D+PE zipf)k(h@0i?N!%Z+3^%2U zd+?2xsmWPzgm?JjC{6rE$w>d!ev5Y2iGLOTiIT8mz;Y6ICFt~^3Y)wAyU>y~^TWfW zKxr#e+A()=tA{4+LGxP-vQaPn;fMU=3-~PT1|DmcZ&Nzy^YvcbtTuxLR81F0PL#+GU(>wF+Jr<5t@*MmhQAJuY) zm|PZc@!B5)|4Wk1u1gXEcB>CxaPIDc*b9m?jnXInd70X^o9q=h205{f9tIJUeZq^v zOF`-|bdN+;-S2W~YI;9qv9~|?De|@-s)Lg~Yw~!%riD7wv$O|8gQcVi+lJ@%^?aiA-VA!>^IBc)YPz%R#o^jzp1}=na*V^?GwtK2!m-;sq-(0TC zHW1AvnX@FJOpR_W>?CC5fj+-uLF?V7y~8GUE!fIZ5-S&VC7;n0BLMOF8XR~mDLj|6 zdi@?blN{sm8QK;%Stit$GQyl7@Qi+fPtho=;*jvI#~i65^bJT zk*Qn+kGT!-ntkp%W?g@Ig}(UqF%i_n9FLNHHh3c{?04)3m7Zi%*{_0C(`63CYy82p zes`oG26c6mRq`5n=6GJzL(q3L55%Pjz3U<;Eh~4zk#OjF&Avj(T^>jUy=c(&4Tf^r8>MhM z5LDRb)MY57wDFy?F8u`kOP!Mb5R3#ga)g>E2`nX6O_oi_@|T+cJg8#UjoS3foqoyW z5|r)iz>65b6rU>eNh*`x+TnwK*{xDxpn$JFAlQRtZ+ z*jLu>hRa>@WwRL*&)uqon^XV>`Y`pqEN%Bt=_3`yuq338AhecqeV&*$J#*~*-=5qT zOgM8G_lfeM<2(E7wwX{*wm zINQ(l4U+;4Lhk}CvF^>j2wd?-(gus!8?$-IbME+R1@(1{XY~ak1FnN{fGYAlp0dy-dW7eS?|@B@ zax@L<8t9+41O&sUQK5+FSzmkmUzxQ~nIw8@`>Q-P1IR359BMXza#}iE$utB;0uX)2B(t{`#BtL8%wh%Ah{3nv+qGe!e=Sd#gW#3UZjc9JZMnL z+a6@i^l-rEDY`Q@Qht2Q*myfPx}M>-0_V5EL2&HTYw#SNZzOqyR~|48!bXdDy>IM` z49XT6)V37Hv>k2Z4K0bHWb)LoQ*1LsJ#ydyZUHdZ&O0$xn2 ze~hGJ$QRGyw5?HwpS4Ci2D-dtBxEzXxBayu%{Md{(}UyB8gzdAC<;8LDts+co zhc6D6DkobMDk{C!g=sgqL-svnApcb97)<1qgX_sOs)FA+JpJB7e)-9E+P=)-FP;jV zVD&EM5erTVg??6_PSf7E50dE&POUZmj7Y$iOP4nWq+`s9`K1;Hxkv z9Qb;vr^-TAM^~5Su=ePBXIVDArK$P^%RPz<5!G%NV(=LUW?57oP8@($Q%=0qJc<+i z^ZN3Rru*%>G;mfUcl1(yfQXmI_C~FZE@o_9RqDs7ZLN<2XT9$Y%$soM3qUjSzz>}6 zX-`Rjg<%T@J)#zj#?FRuMZ$l_RY=JDWW^_|#&g){jLU;~9h{E~AE2-@USYMv2gk+= zJMy(31+IGgxA5j3<2t0q7RT3hkA{G4_l7YO3lK?Gf3NPV z|ImP(Oeyfl79w>6guIQ@6Ef%ul;<}*-Vh?p5{DE-OzvK#fiUZcEOPt`sAyjN3ney! z4kh24k!Ljj^yj!1(W?@jfCx4YsGjd(8+IE^%Q4wL0!bnQTIqw9vor2y1vCIBHGm?p zJ}ki}tCfvr(+7l-Gt5r)#xD9})q2)6b9irn<4Kvwt>_@wZNI#C-Axz>p+VpdQZ?p~ zzW7#H$hV3=LmC4|>JC}o)RA}bb!!8*xR6;VgKGUkI&+3&7#s?|M@ENfv!HVB z!|@J@T?IqRZFSI+z&vk*IH~f_V zX#`?8;xmvqAbdF%zg7{>PXW`q#2{n)Q>`qDSQ!-yY2C;8WGEte${XLfG8oK|$W3ew z`u5YI>?M8G4#sIYpw9LCgw_~Yx3aaqeFYdcPdvOq-0kAxUg0v@#?PA;Da6iG??~rE zB25Kk>779xuLsM=PX9!V`b|w@!cGHBQk-oi_8a%^O50PlI}6{`I2c46e0byBg7co& zWobpUX-^c=6`iCcd?fJmf?l&Zkwb6ds4-4&lhAJ$zd~ts+o$u%qx2f};|BPqovuFj z|K_YicHCype8tdBtTi3`6W>3}YkMJRj7zxG(HBXaxS+rcYs95ZH^n9t2U1}$APhw9 zG%~Oi?^F9KC@`TE5C^$X*EXqZk0n|ka7Y>z9X&j4NkOFV4TUR(_yRuM*^iAYz*nV% zJ?b!E4tY}YYq{>*O8}b*%DVq>vVCF9UOU{^LmZ(R?y3ZjX z)JX8pC1dy|0d}4HYZWuxD7oRB79Hdq{b(X!R5PJawO;UKUe|9T|7(sw{4iZt@dBcE z&oCGiQc?J~Jt4((5tazzjT2A%3RPMhWK@2%3jdH7%}Y~3yg$Nno6BoQxy@7u{frDlYw+o zGF#4pXu84ekGf6b&Le$A-slU{wn%azd4Vn;%!>Mql**b-G=o_DP+;pyx(>(7VV53! znB?CZA%xj~A4BYXNDj|Xk$7atE4ZdnO$A&gzH|EpLR8jCS-f1XmzmrDZ8PA5djUS_ z;~C~}Qc1{ssa@3JTaeX*s#^-iETJc8k=&SKOu33or;Y9=;5IwbG`gW3h;&kVg~j}f zP{7mX?Mw1ycgE+Fx%h7hSuoz9YJzFsBz#32v?V`>w*1AEWDDSccKah2r?ePxkqHgg z0t?OyJ~;F8S^W_1;`1#U(hS}pwUD%R3_yT`H6EWq7V*W3DFvs{+pe0 zxGCu&Wi+aVppzHGO!W#922RIgzki(3-+4=4spI>kf*@v$IZ>0DZxn|ho*rZvMUGq^ z;r%p2(NQ!uX3m}!*b%+~{MhHbD1Q3Da1F(%b{9kFi;TZ;k^;02#!1z9Ci~2>E?WQ! z12R0v6_7`M8zZN2#xmN^Fid0m1LnD`goB@ZtcoljEDGvVf6Z5kAwl#9lCps#MOKoN z*{@8<78|*TfiJR)Eq*-i5KkzNG)}ak%npWYNa~c(L77!Bdy)}wlP1ptL`rS&Qu-UC z-_b9qR3&hJyCla*|LPODDZJqyknSksNQIg@v|ofUFbtu9&GIowo~bV3L3mjxa_HEW zlM6}2ai%fK-Mhe#$By{LygZ+Li*MBPYlCVvXyS=RR!`|}j2ll%oFc<0c!z;-BB=on zR!j6Cb+`K0rcHN6mE=p{r?GhN@+iJbt&)SKL$(`-IAv|IbZ)p(={>NhYP7_TH%gRF zH>nYb^FYQT(8MAo>vLF!M!cetb+y5dY}EnPAC*QJ)0CAG0AswAfP^g_vw z*zO`eHXrcHiIty5#7N(w|GLu$3DcSr^1%wTs|mQN_z0cD<2EL@duJd8t}eTMypXc7 z0lmF@%17|CA9EN12xjzk$&2>~_jxr8{zWi_mp<aIfste(jv1d=Fz(qXpPmXr=B-1=D%G*-(G5ZA!Ch1c;b>Kp zWcn7=V@;?&R2*(;eZi(ZlDy3%IxmE$#zR+`Bo;k;7(lXK?R$5qS#Pn)wt$4CY(W!s zgK2tcOc^qX1a|mwk4tdJU=hpz8uUe zV!Y9_-hzUMsACqT5s6z&RlG87^DP;?Qd7fhlgmF+*3LQtnVwZN2!1;MSuel>)Z)$) z)eq1Un9+40Q`XS1iX&y|HRpnZdi!8HK)s5#3-_7__1MUF%1Pr5{8?yrwniJJ0S?>t%ut83 z(%5BO$R#P8RiJ=e1VVLWUHa{HM z1(LAY!NVL0?yD%IloKD2o)me+dumeqJk%{7~n-^Mr9P3F_gvR8JcH-4J!d_YyD z#U06ZN^vWB&$f$Hu-V)^@Jt4M4%M=gtU=s&8XP~Wv)R(SQq8UO@AENB`(W~-!zf1t zNlw~$mevJGNr8uICFjtIRMM``?k#9HeXDhRXA|#~w?`FK-uAd?v#oR(mw0=$UEAWt z(5nPC-Et&MlE_-Je&fd7vvnx3pj~L~R7FJU>hLE}t#LM1`Fechk`bw~?;Fj!!&j<$ zdugglxx#lQ){4rA9d4LziXcVc1B?e@1zm}D*61vwIfZBp0;L*wycG?C1wG|JnQMKn zE0#7&MlnA$9vN5zn)J^W#2ch|=ne>5Rfcj04i2g_Uz#jtCSJO%Zcg0?jW&HfXlduKz#ULoW0FW(#_XQz z2ZPQj(C>(bOiXmw_l1|lk9}wk@8KLQCETofRYcNL@$z2P@oZX~iO@j;*whO?tS(e~ zn%%xh-#V)p+!b_{U*Y@xafY$PE(CujdS+zdisQyh^>WvXg;DgjG4~Xn8Q%&yk1P?w zY&hR7N@*@Jxw9%m-bg!?Tx@OWghV+3iJlS1fJ#*{Y0~(RTp>fA9xvx8Sc$Imfgo*S zYkQ}hIv0yu!p&Jt!=T=AYEC=^#_YIHFdQUawMSjunJVJA*8gj!exl=n(({*L8bv!MtPebd;)&>|7 zBT?T*FU3!)agN)m4_R3uV-;nd*UE}R>-M*3wchi^ybDKGSy}2E$XHPgcr-xAoy&`& zovKGr4|49e` zPYm3Dv&Vms!T%?F{I_xYUkT(tA>;qTwEd?|`|sRB;slKB|B|$n73n36|H^z8&K`d? zFvY*e|E0$L%Y^-(67PSAS^pgW_wW20I{wvb#awKSoGt8Z|M9iI0^fg?u;_&>oSo!N z9F+`g?EgA`9P}b~HU<{9f92)Bs-TjEr->F5E1M3zqJgcMi54y6KaT#ZG2uVo&@nJ@ z===@wf3+yAti@jg02pHQ1N`r%=s#@T|Gy&sBlmv>GSbKR8wl|4_Fn`2(`o*%r(RB8 zhTyLa`F}hC|7qL(Z;Wa7|FG!(eI}UL*f==apN6`2ccgALa7>w5-8&!5K$12UV%gzBuU03|{+)rBhZ+89Vf z{)KIJ&4yd@8!y#37;Js*O;bsIa! z3fFEJ2u!q>cU4zX(!V(29FGF3LIs{at07Gjyhw6+KWO(+oV;2V)^U)$~3Y%S@P=%Q#g#?MWcN zEg|OC{{(wPdIzL=WgZ+0IR^ehIuy-YkW+XVt4#p35rRC0X+kg~g7<{)=>^5M6=E+c zy9*)a_g{8)rX0%(JeS`ZYb53`k~r0D5#=)W#@Pzb9qLGELBz+38Y!46Ha_f5h*My+ z6zdg@^Oqrg1;~nlnx%3E?Z7>mO#|oz-HIdPNT|wRC@~XQz-dBxDgRubnEImz!nMNOyw;p>|=*eG!#Y9{W*^nf$T zC$EF#56MfpoPQ#x!)$juWK4#5UhN}(5R{|tfZ>hO75x$UA;K18%U?4`H1|b3F~UR- z8r>o0JT!D<^ubQ)w^s9SCUk~}5*B$bAfNNSof1D~cte4lQO2lp75h^7O!5q?TO9w*L+h|~tSF&XEEmHA+L0Xc5WOg4cTS3c z8c$#*zg6%Z{8a7~IhUW{2c`=r4_p)ImCBph7o|6RXF#uyCgBxNe42n+pfc|+{PuooVc9jLj_DAm#Z+P66|Drk zi1T3ngtrbvVt~a`o}#|?0Q&gX2Dors^v*o+`-ra30X~9GkBF|qUF?-NiLDb|#k)$$ zN!guR?_T|x%ZZ=M6JX2I2eUb)eFS~S!zN(kG-q-Q>|WCMLOv&(a^}yBbyC2uT8oe$ zE&I(3>7Ojs@8#C-xeaf1fUy|iG`DbyK*j-Wx(N0TOJGL#>Om@R7X+aj8kS#%Tk%Zt z2%qkTR6`~>djclWDzwA}!1jgs1>40-beRd`VgRNK)zBmUN1offTqwpJJ(IHmoNCFN zCFmROlNV2GmW2my2i}{uPAEy9uOi_)5;7AfgI`g`+nN88k$AQj)wPz#nM@Z}m1K}d zHXmlwpNbfI&bW0$hx=)g(kxq7>8iq+>#`;CzF~fxG)Xp#qoB>)d#?>>jf>4sTGv+A zRn=6?Q`0h%lyf{gU7rc-kt;$WaPIJZAcNMit&Mat654Er?&u{1@AP)ar776tG?O!v zjHVTW$%CZ?n}S=m(3v{fHU>%SkkVZ8%(%Tr9}8=?^g7HDW|vc?gL1V z=&orWG?c$!&CGQsVVFadHhykVB4P`;HZ5F3c+?Qh-bVb&kq9JM`(y zNKm1MbGaSS_ zdM$)pu5JsZPjkF2?Yyg`x2xl+ti#&?P?@_T(9iWv7$*NTlqu^q9%N-bXxZ$}Utl(e zk;kPBJwVD6-elgY6Q5lnPhDk4-kjDn*{Z9}Z=YxoGS|lpnr$`u4D2i2ZifsL)oJYX zwp26_E61p8UZ&A&DY0zy+U&^(sZL^X$+Fuf5(+q-)RY>cNK<#=YS_r>1ShMTA(>{3 zt>yM`BqHjze^*OOh0>K+d)+JNj$14Vf@)1+wD(-Y!|AQFw;R?Rxo%EA4StU)QrLZ? z34)>EeK|VEiC@j3YV?TW9C;L$U`31H*-J>c&y(a5y`Lc{)j3qO)zaj2nWihFK5G~Q z?D8!_^gOZT>B3#pQ|tovn6AcX?vZsl2qrnw7cF-Q9@5cUz$KyaITCOs)(6K~N5`69 z(uTy3cOvr7m<7WQulE{DnQHp1oEc=l>4kPryl#qyIHA+nC0?+%miOdzx-aH1=~l=5 zR_CzsM4lq161y+Q2r1@KBR*!Ai7-$F`Ee%ty)lTAsOYTkVY)icq}9%r1qJm@JX5!g zFv`N?80`d!V5C$Hlc&q{{vECGQdA|iDc!HDDt%0++vCw_vA8NtA&|vBLz8S~YrA%d ziMO_@NudSBenYx3{ygRLL_6mX7kAl7M$hxGZkjHF&ex6NV0KX^c3gCZ_IMDN0GjH# z_x)On+9jR|;dO+v7)rvit0B*+Y+RgWb{6WB0Wc-G>V&v!$c(HOYh*m2q=Ew#|7eC< zRxZJnzkj<)@Fh4*noRqpGwed4l~%p)`50IuGz?p=-m5SiW8U~Ch{|4n5^Nevp1(}e z8A)CkTb!k`S+!BkU9&H7x>=0h+;00zw_+bdVtl89Ly(5`96pk)O!YU1aOt8ZYMQ*^ zxdv4YaF@#PQ#ot1+Au5yEv?dUOgW!ZVq{i0`I`=^oIs0oZzMU9_^~P~`@+$0a1|cN z6q6p87Nao~B6XdqsQPN7mVL~*G z1yEc6@1ZI-R5J>0tBk%FOK()|h}uBvI~9A<9;lijwf>Y>sx~A&P__NaUCIB&U~E=! zEuFl>HFa+vay~!n1sbZEx%KiAkQ@phrlP}j(iM>0en#F?Y9uoY*@b9;R&X{U>WL%D zJImff5!JNMH+n!Bw3nE2_Qpd@A9FrGFSqzGW@2N?tEuDrB^E09`=w&Q3B*=a(oD{)`jB2Oeq|&RCDcZc>|HL!P|D zt=#h<5Iw4+u9^eg31%$z{-<5|LocDNZfKha>Bt=UKek~~My#}9bKGp_?sDK<*mZ!3 zQ$q8oJ(ig}kFhw<0#FqyOqsAw-@dmc;4eNwLSZ@f+cZEn;YY7;deRiD)NymfXy>AM zF=YQ9P5@LNHf7)))NbxOGKnMn2x@8Ji<9}VnM+zQfG%+ za1~fU#zD4zY?Om;A*irTvfjG>vgs1Jv17Dm$Vwm~Z2Y~)D3zxTq!NtFR`QkIHgE zAm7)y?gCa#J%I#O5t`-zGgM6F_d zX7wUeo@O4f<<}{SVwdLEQICyk^POaaSoKEr`gGYT%s2XsNTantWw5S`i&yj00==b* zd^Ikv<#pbK-W=)-?{Q2LQYA+3;!4di`pl84LI`T5*3#HxMWP&P0i>a75pRj|kDlo; zJ*)TyMQu8sL&cr{vhC6aV6*NQ`IZUMi`RkWdxzf8KxMA^zFKU9l6$bI&p@O1&3(kv zGykZzs#86CO|00{{n8E{&sEe${riEeP7>?+cUxCX4)S+rS(^*5kS|N^XVD>S_-ifF zTy!njoF-1uBXG5%nb5$2wr?66{&3Cf<+Va(>%O0f%G2*R#LD|3r_gED3yT+NIPxM zG>){#fF8$JJcJz+LqGiP{SA?$54jJJQPc1x&itd02I%)i%Re@n6jV(OVbf|en!Zmc zGb?2cNzYM;dEtFTZ6nXHxhkJ$k$D*3Zmwz2?|8E+a4Y%c2t2AshBq3N4I-R!$ri~! zcC0Yr%>F_bUw(z8T&li`e3lL9wHFVr?(1Fm!uR`hwLCLB7w|%9JXZ&+HX6Ki$ZJwJwK!N@I1fCw6C-CD4EYA~s z$|?10aN!<34}tY-VOP3l&+U#kaIc^I5q6&a8Rxop{9D*h?m=8|2=l*OOzZ8#{i0j8 zK^I`3ym;XgB$T0_-R9-KEh0_`Q*s)6A+x-^}%&?Zu;yX^=zDK@1ubckK?!D zY!E%W_qla-vk^W&JbLs+ciHGE6tu37WRrO<_nUZjZl0T@X#)jrOqo8sw1;>FS#E); z_}KK$oh1tc+jZ>8UZ4G9XZtt&N$>VzI8KN}jt2MU$^H88z3bPrfdLbuGLR1W9h9vX zPj=2@x8AQy_-0wPEQpKCZUOxkb3FCFHm@$w06uwwGzij51EX1toj^_x{hpo?`l4h} zr$=W~%Y~24%Tju9@|^moddm(Thn$+K?HN$#48q@sr1$8sAA%kZ{31Og3q27tuRVu+ zlO-tgv#?kc^)M2tGzmDof^8alJo2_DCzL299vz@t0d$1ancKDQ)03PF=jbzlGQ zq?sJ%F5j;L&o$R= z?r%==P1T9Zufkak(Z`e;7-u#ZuaKI+zsZiZ#I;SO@9eQQ#W?b0{ktab4v@cpRu zy?e26P2t>Df#ikggV!ha7p`q!gL$D}<)OKKvgL5_+bAkjm_5gt6&z45x6 z^`~_p=$|5R4?A<7TnS|q>(G--lP3le_ z5Cx`#wK{wP=&B)2eqUV$JV3k?sra0mkR7TbMyrv2FqV?Aaq8Wxg>?ewLzJ6lw)CiH z3-(yH5F$9g3U6MO03D8{S@)?wa3Za2{^7Jim_9ckAIR53STRY{FbzLo&rp`h`6WdQ{o7FUI;LNsn;nb2$wpM2KqT{J(l7e# zX3G`VJ3z7`0rFC7`s5#_yM}pkPJIS@z5Ysm22=BN&!*hZ{wBbJ=-iw=|IF2V(QP{u z7vw#28S}n9%h%@#^bm^%Q-sPi%>4FNu?yp18-AWt(PtleoU1tTeFO1!q$ZkfhtZ+23kVMl6=4yoOL{ zZ|4Lfmi&9{O%a`eI&*y5U_leD!pzo{JafWQ%z=)tnEu%DkIgK9ySj&Ji)AB1Rv=$~ zi2Xn8OV*yZJCzR+v~Dr-yl45xb)k8YV1_=_+uRRHiLi%JpdSY*DS>c%HhH13(Lf~y zDkb z`#ZOOj~gQU-g>5{&1eqq+PAr&mUixV$Xqa zG|_{Y(+1Si3d`Q;wBu$6O^Z^`df1oSAYH?+4Zd~?^Sr;#zV4LR+Dp~Aduq{6U-Eb? z^^UpH2HWwr1L^*u6T&Ejw;*W;(~Y1LPA#OKO}0R3htZ8@E3}$zI^lBWZ3ngyWG~PU z-jVAj!bphXwb3Uu)Oy7?9iM|<&FR(uA`atLjbt!;YC_ZOwK><^! zYoYL=cDQeW=m`Q}*tN&bo!jsEz~TvkCoofRJbQlv{y^*r-4&%LSW~b(d%oAg;TO9l z0y(FBV)KCDiO~g##1qUXKu{1nOE8x^n>#o1lO~0I1N%h76U;5>$)B0sCQ9xW_!iJF zC_JHlVC5S2yGHd1iYc@+#PW{y75En8FUXypIRT5vLyD>e#;Jp**b%WFmgK`#SVnH^U(DVxr5~VksnC3htB!wL4ZX!g0>QR zxe}1wimYykQ9aE1;_MBP6F4)d>_F?f&&2~TKf-L!n-gxnyXua>2Rk!lzVG4AXWJX? z4y^YFV|U0MS}!7XmwY2Cb>Hcx%^jQ%v1X8VB}m%=$96<-BY@ih<7xN)mTDu~%bxye zpRW`9c^?R2@0VT>%kqnyH^vuyH_moY%bwTmkL&-7?+4IUXv;q2 zt*|?!FD8E=!BFgOHb<1(t{_ja+y2Nc{s$QTu-7f$2dOX2^@#kw`3>*~jV}U!tbQ;3 zUh2)n3)%;jFMLmoU)XkU&xqY#&H}p4_Ulihg z&yM_!{w>nS?=PG$xNkhan4aG6Uj4no7wQjIzR>UR?~tCpk=vFR?hoEC;BTDoKYsoE z`zRcN;!wnCzl5Mkkmrzi8Gn&5#)BnDOp=C^qQFWL{UwbqN`!Mp93#~v%{++HNe~~7 z^JYrX2$z8wbFk2JX`qE&+RFHvbC z^C+q#dAgKkc;>%&fC*Q+;MtfAQ{*JM)2OBi9cShw$-N{ffE0FAsQwQPx%8+~eH2T) zS$$TP@H83qsD}v|fCztHYE6RsHUVK?vi(nNmb_ZL?YyvOci%YpA5(5hH-BIKB`38Y6Fj}SgtYyX=)?iq9hFCPr<||& z7GV!Y&-w@YE2u|ir|=fpb^P-f(H-z>oVUo=e^T`_eB@zc`lA#FH3v|yNgvVPVqbE6 z6#8*~ar9$~cWAE}xFp}C-^AN-`v=;0c&|Ah0$;Mer2O%@W6;P%BnnrIWJyY5WaWjP zmU&{91<)+<831J267&oqWdOEpDHcnj*_?HTuoD0uPx$^+!?Ku(HgDg82v0uJf-zfw zVt(O-R7;3rK}kz&0s!8m$nBy)QB|b+PqYF6&zqeiSUSsms-h*m*%%{NxNr)mC2u~j z>CBcbJX7Fwy6TLdEstYCqAP$gFY3&wE0j8K+8E9jxgE!sTAg=1m)scQX+dox{0`uL zoJUxb>?n)PkyoFyT@&{DoBK4k*q94p5f^%b%_Xor@8Znc<*z3}Ux2Xy?@ZDatS3cZ zn7TlHlI)CvD_dQXdCK~r<%!povn9|ni*s6YBKu(G3EP#tC1zLZHmkqDeX9Gw{$T5g zxG8mA{5-ck|9%SUjI$|6P=q*#_h9%2<&(rG<~Gl;DGGV|Yg3k>)awMrIqj zH^&DLym%hygXSBq4}Od={e0@l!~@zJl}~iHoS*o1UQemre9!~!8{`|CPgu9~cH#Ac z@B`=@(dVD9_^11^#W`@6Ml8ft{ zQ~H=R(I?C}X;KgC7-@2&LxQ3wVOBWQMu!`S)h5Yn!!KCa!jo&qDwC4y9M$@)C#P{I z$EbE+_5(o`;JNV-gq3$NS&|p~9m-;4g9_*1)Mm`;HLck)2c`o-=U1)qGiR_hNVI#= z>qV^@wfj@*O)JA$8xAjUUFo#@rj4mJVef0zmWJ2TQ(bE1mWI49yqhCj8t|7UJ}P6Y z%s$7l!oW4+LRPTZdY9^5erh%Tx|DD9Mi>q7)+8Mw8@l6k#;Fa|E6LU<9TB=yYzZ?{4E>GM~5bwNRiFhV@5&e>J-!<*Nu7rZ;u*)xRjXICSINuduPj?KxL;bXpUPj}bI z!qW9M>)kU%0GnTr`trV&-7}<%OVtg~>7obN?D8x3?wn8ZR-wRV6dR)b=^7dX3DAs& z?we=wXa({jb)g=3)+HdwTt~MBWLk}@1KhwoNNj0paaujp3yncP{|v2nWp=CF9_Le0 zrbPkx^DJ9vyT)Hs%3J_w;O78OM@`4NF;w{<+d3h1Q~|AdMB4V zmCY}?ujyYoDzaIv4ciNN7YnmXd4_W`+Th=Ne`H0eSO$?qFBAu{M9T{$WKsV{5LZ(w z{Ux3*!}Ut)Vk$3SqFO~tHjaH-DP(yn%Nj5HJ552vgZA1v#D2D<0eb(=ZANY zwuW(X>k`Qx7$;!Wh=UFFc*fPq8z&T{UnD?4X>PNbul9H192o7APd>J%g*Tr9RUvUa z6E#eDDUs70Y5Ntr3;&CN`u)>Kw-e+s!sXlsRIRXd;JBiGHG5I9vR#ZFhxp3z#B9Bs zIvb{}5qify?ZanFZ^+jtTWR9~ADmp~xB>dn+1YEEym82$Et~#`t@Y$w6`=;i-24fhLJGhH)jM> zPAh55%D>tDOO-!L-U575L8L6TfZAe7=E3f=GsB735@=6Mb)u=qpQOi5*6hOC716zr ziSHkl*N1Ys`IAD}j*ofbx@5Yi;D>TwuC57j9MJATP6yA##lDlSF_g?AcHe}p6H=c! z$&xU!h6uT(@#yOVZC>q}=%W_F?qlX@$|~d%H|mn-&`~XdN@PR!%j>)I!7saoiUa_T z23*;}v7B_&v-+LnILhZOKH`wqMvaF~5&Q*TSiTd$jFy-do@GKL^q zFPwNW>%BAU%)x?(AR8vUu=_t$PBu(=VfUXi2P>YOtoS7T|E-OEmpIB88+A%_5~6hKeO!0SUSpCaL7B#gf%ar0Q1pRZGq)R$S$*c#9b^ma^haC52iG zidCm&bI$)PxGY)lSTkaKHZ-d^h+Aar?s z^QkB{0J01sg(4Fyj6`_P2Rc;?(-Q9UuijiZg?E zBOfDZ0Rh1T@tsA7sxqsEbx|mDQ7Ww&S*L9p@QHKwIK`g926UNc*Q5$f6$)CMe_Vzl ze09K7@Zh0lfVFp7s>im32`Srp3U{Gm^MpRStGh7LiO@s5br#K7AzLs2p(!A%x33|l z1fE8%L(RxoMO}U=Sh2fXL?d9IsB!}>xZE+Vnt}moKXB>Crhg9$q`Eb=WPV$QL!T_B zXB0NW=u?PZqt2uUU-tW?V3xZpATBv%qO=mKrb+IA$Rgm>_EE%+jU06s8+WZPE{9-VjytQ029817lV%8K?YwSFGH}<2u#aegJo1= zgo+C!qcT*oowUqSVJ?segi0ER-c@2ii4Bez)-ix8C&%e^-BshAOf@gSx8D1O@5=cL z0cp6n`nkWMqK0>6@%);1`}+LxiNZ?vjMtA6;cY00!LKi#rZz9v?cS@dnMxO-X+I|(O?tqxAWdrySlLZ3W|dWDU-c)dT52SR0urbTJ@Hsw;hikfln1C-E2Rc>u+b9> zG_~?IwG0=`{;pPDjj1ANt4^j++7&Zf3Kk1zhFMA{cWL1rYE;VC)rC$s6RTOXD4bm-pu6l*n9T(DXa zjHvK~9?hRnv1VGaOcon5ddzial;sLaMK7u6&jHrT3z*9*BW}x?>$z3Ba4Y8Bjqi+b zld((YR4qHpJE`pBga?d#SQRU!aH{5xv{9l>T_(*Q2SI(#^dNk+RIL6f!xBV~S2T~* zmTg&vEn!TQoN3rvw5j3YM2qH2?MEB3zA4nq=o!{1@3NpxD;Rdclv3B0Z{_u-o0s8H z885Q97=RRueEj5ZmRRJ3RVp$dWK}ufd@E?t% zl_$u=qnD0nKkx=v#-=s&tgPm+CT_}(t*BVL7`d9t9caW#C9D5gFWr%6EaNH{a}<_p z^cLVwpD=?MC?c4PT4!4%52{ri`ZboX7OGZ_UqvixWy+o}lqVnYt5<%B-T!)Pl(KfR z^kKz5nrE<4uN8HgF0Rrmt&%!lAho);2T-p877kR0E-IGZj0zd?7~fecbk-&-j5@WN zTC58HcNbBk&wkR#HS3bT4^ZRGcAfI8P6N*rwW*F+&(V}E z83C4^RYt^qR{jaVH%nDl!8MH2Apf)AW-5iRRL%SxMm`zEtZN&MJ}alQAL@mg3Wb{G zm!ooFYJF5jxNA8`>zR03J{7ZP+M-eF_mL!Q<(KSrn-c42Sz6J577sLrs$;lEEVvp~ z6>TDKEg2&&ADcDgEE8qXp&koh5ZL_?WuUc*C6(!s-R6R8C z_q5iEONY@zi>I+%-6r-`py3}9_adOPZq$OYCPtJM9Wl%-SGZv{U-NMGfs4gPP8L$6 zqQOg7AA?6{4H*@7=R(y|{*Tsv)PPN~YjnHPKzYGFoi?tG3+`3KF6-@`<=)LW#|Hia zXhW1yhFDmE;>9RcD#yUkuBt;T2|`WOz-5LQ$Kw#7CSm}OQJRpTAdPxjIfg@?bC2in zkCM72es$xB$2ijQZ}F^BT!$RT!T%#zcx$Oe7-fxN;SOWpCdp29U8~_KVtqt#VWpXiA7EQ=Ntd;(VtoWFCoFiTNM4!w+21n5%d1v5&z?cL-CwT8_Pz9RKYXYsHmJO~d+fC@Hqaqkz?(DM%XkVYBGS)T zzSDWIE&oP-Zb)gE-)3zfi4&2d$rEwS?^Ck$o#rSz4^JQ?MWm8(&F@hbq?CI2uBPUF z%>TJ_VwT6Pet_-x=Nmvl{h2{FmNWNEm0K%#h~l0wPoSE4faPLUxy(>Cqe5`+B-353 z_xf5$yr|??pV&p=_AmFs<$6r7hCg|^>!%IZ=a}Ae&c)-Kvis)y1m8l|%7!<#Wmcg_ zU#THH_R(@Hj?unOtO$ep_ z_>9{pqsjwJVUk_|dAQ!xAJXqK?GSNFb$2jJ^e#mkGrx~)hw#u47O#{+uu!9ugfu`t zW;>~wDW%zA!kk*Dn0DKLh2oFUT&*-bXQ9qC23a0b6K|;JTKdhOjrjORWxZftR;w4n zjK)zY6vBqKrh1}~uN;z0RjHIO9kNJOsc4uDQ~Fn-GwQGX(#p?=hRHCxR1amfsv$O1 z*6MlUhtFjn_%$%xs4H6eLYXkCZ)(ZiOu+! zY~Y2u4$Mg=mxaAOgNa-{K^gP>Uk2=w<)D!ojJ0MsH1%~wUB>J`RC!4DXAr$?H?iS` znZWCChHG&7tN*#wti`y3PZk**S!a_L9?N18@@QwTfU^QdqXchu^a7%CEw-hdEZE%p z??_(|gzc{47{j$wc+)b-N9)6o6EB+H0YIz*BnIC0l+^22ehG5O%IQ2w*&|qQ5Ygc~ z?KEWQy=h~{wYf3*#vv4UA&~tpYON!b=~_tSHSs|k+y^#ybg}f`;BLVB>bp2pA6+2g z2ysEec|*K1U%k7#?TiP?znT+1pf^D=iR2TG6~P(2B|_WK4nXTM7D0Hxo-cu(L7ag$ z*fnknVwTg%}J*W~g05#OaGx6qgn7?lMdT)Vp$slJr z{AYkBA>94J=BR-PD3VX${5w=%Ks+LjSv&$S1Q&tAAQD@lcLjMNxglL}dD#9WbqqV6 zD<3f4F^q%Hi$g{_1i(C!KzHt1q5e?%I`FqeUh=EaW zdh>g=J=K~>dt;T(ExzMlSF{?cYLc3Dp<}!bRmXviV|Iv6EU7&{jfNwh>7 z9Iajd6R-mckvM)p(VhiFoa8@HxMKkpBer9Kifg-L4;qHUu@N``|G!+@zBS-KyiXAr z7p?a{5LgJpLFNA+022qdR{;_a*@+7fhCsmLFzF)#4THmFvL6lnuQmimfVJ1~A0XzS z>HS|07A87K0T%6q3lTHW>ww9D0Q=tvI%3%OAN>=VY9sM0y^u5zKqdqYI4S=dp=cn% z|D%86;$O%RW~id6p;l{4w%%LG=DKL%RdFtMopOlI;Ldq5nF7#uQNl#cym+IA_WSV-e7Xo21%1eAW&=8&FaJ3pVep5@F*a=V1Nh*VFIm??_q zH|F6Cx`68RghFIO=~#iQNoVCPL%TF1cV`ct%5hTp@j~}-Li002UuOl|r3IfynV_2$ z%#V$V_S$b8$kF6j@`6pN@)%O7l$<|%r<>x@RM#Wym!jHdbb#%o&bkV&LtH9Z&{?=z z6wgNFX^L)>=Gi&MDvR=g+kiBJSTL#obhJeh`uiK=SlU9SfFS5*|5sZW@D*+&e!#9c+RbR*qa+X_f>t(=8k`&@sQvU# zFngtoStpn#mbq?azbJzp0tSLsD#&V};5h(D3W5UF=}a=O3`$IXK=uTxmpIv~v*54& ztS5xOL(meooQ(jA`%WD~GR!@x1@1f%!^wG9Yq+6X;A7b%`FU#Z7ot5)(Fo)n1L%#} z9E08&n`SOm7tWva${-hVImGt?II|h%HY_m;^s#*x?SPjsnhD!W%q4Nmh6N1JZE1!tW@C*kO5BJz6B(UiKO;mU- zb2NBZ6mzX*&CMm~CG6MVSNbYdqb|vOL%jYM5l>?~+mfOKJR_;Cp$-vV314Zxkzcr< zET33!LZ2L;8a~~8n{k%4m_wB^G~QOsi<2VE!T@o639 zOx;W_)?%}xC}kb3e^!zg)ZF+}h}&FlipuWdzD_IC@$nx=ZM)JhrSsQhV}m;U#`KbV zd2ImtbCR(~SP%a5%sDs{aWE_sC*-(%Xk4IlL+k`jtbd7sEI6a0Su{}YSu}efXL4pL zbmt-RhCJi6g-b5d<(U<-iNF%5eBr<&1*C|=fGFTCtd59CaMk>%Ob#?#s-zIZQfNUn z>bN8=aOhB{>|Z8BLYl2SVoF5`Dwd?lLKs7g*cC#Fe2h|wd`K2jU-Uhl3sN_6w9dEp zA39UBf>v{bmc8_0c ztL%sA9=t#IN_1yBx|ktsY_)yz&Bg8&E|W^y72B(qoLOZ#Lu!BPXrL^sYP&`3a`EX* zxGXy8y6C7^b*P<`Ki_uRS+AK2EM%1CR`e1j7zEV@I^3I~26- zj)OZ5fJdgV->N`&@Rr7C`um0NTB}@V0)OxDQDS?KC>Qkp?g=b?g9#A=_JvLc`;~!{ z(`aGaY6+}SupCsLf;Ba(j(%CF@^Hz7eI6!`&}#sV84#p{HzH*Z?LKR>M-V5_eAavh z?WY2TaCo%-`ECfg4FsRFKiX^1=B`H$D!d=@axZOP)~OV5<2}A>U>ktP0@voBJU|TI zt}F$-s?=EQ9QpIyyEI=#hxc%`3X#2J<4ui6vn{4rOZv+NEU(YZo-J+Yag&>aT%U4l zJU$`eC;#exK;ooV7F=+We|6c@A5F)3DgdrMOG|-~yLR68MaM0-0h_0evf=|fb zI&Qof&6zuYV&tB0gp=q92iXM9~8oHJ3{$%M1i*-;KS z$1yHLKa%JEq^e~Iq5;<6S9Rs>Q0a3I*kv+~_5R4ZZEJpkMd#(nj59QUmB;OAslNB= z51{L^|1s>&td5`|)ZHi5F&faVL8+CzZ#KA^2H9wY9%m-25{b`TPAA9ZyT9Bm~U+Es8` z`^PPjvXGfH@?};y!f^$3lSeeBGR-`|o07jBgcyNSSDbuLmV@FBE7cW62fy#*{%xd# zS%Q@*e$V7~jtVXAk+afCmSs%gvhydq2zj$T_>GypgU`u$hs7zp=Qov)t%SDE8C-Hd z{XkUta^I$KHeMN@TH_YramKfN(qZO+c8~}Yl*X|>!GU_JZq7d zx@jfT43U%b<8b=Xoyo1mjh#ZW3Xgq3VQMu4FEz6WQN#+6VhtTt&3$K2 z-3T(26!GK=sv#vEnTzY{F2jl5j%!ih;EF;<=IzxT1%KzAr_K1}_!QojJx+I=Zm*fD z+-2IU@ZRNytM;MIUov;rc!P(0Pyoi4-ajer(G{cM2iRY8SU0%LjY|FV44l`{L5ls9 zbANJzQIG`FD(y4LNWc8N(->2X*TP!%t0bVelRP?yp+^Yx9U6z#0@P4Zi%uSrRrhrf zv~XW9mhB#mlpKQ5Z2uBqeV--sFylhiiPRDjV6?0A<@`LA+ih8099{&iLOLNFVV4}s z5-{`n0j9GrQZDd*{6mB2)WuL-sy9}xJ)a)3PTN9nSNENUkLM?inv-;sebl#fjjzVH z8O_AIiO>$U?+(4SzcM~1?pqFeQtd{M9mZs4?2k~SjU4&p4f>g9;Q@m!RDY1L$)6FB zveG7VxnQco55r00N9Y{1Gfa4r(!+6j4|J^Vh$eu>uyEja9FPPlgS|JiDK&k-#=XWO z7L`SKos%keyfDWJI2qEE25c~8(0j8@{u)9^N1I3hrzsU$b5HTSIbpC|ihGcR&0$)+ zl7v-MRAkEuGdXBIoIa4&npg!m1dv8^)7xn01o!2~Y7<%!b{L$w{*?d7(+0vJdk4bPQ-pCU z*)^`~t{VA_lPkj>!?1_D}W=G|)@=CzFVBQao7K6i&s6F`!n*#qpUzuTbslU!* z?kX;HAfh*Of4Zbo_ zO?ds6IwuhP4QHh(JfHL1(WG%gy6p1u|Cudm}8)WukXKk?_1;foScV zZ~r4W&Md;W?1QgSudmGE$i#VJ%JnQ5S&@801Ka-z@qGx0?BOFXNV zk9#qJ;y9k?s-MSRajV&+p((G^AJsk#&DseE5nDX!A4e2UsH;&_Tj{W-CguzOhwCBOBezFdz1b1;Xx)w0$H9>J z{p$}hM>zKVid)&%&#_$op0||8oWlQ3PuumnXVpQ0Oiv|cPbfOPvP!5fWs|@_7vdr{$(d(AF zGs^!cu5a{gbn2Ersu|ySY!9yaZZ|q2O5$g%iTv#_<*pI{i(kWVpq)K5K*HY&3FN_f zc-Z({{QO8mLPY(0AR+#z0ghzPMghIp&xVdLqjN}t z6tz3bD`{uDC%9G@NDf?NBz55ocEMglzXOW9x|WXC90%^q72y5hvW1Vk$MiFFH2hh= zZI9jRsoL7YT9eaHQ2I*XzW&R=sWjCrd2`+I+v|FB+hK-uT^XYj|5n%CV#l=8;MRj0 zgT2z4)4}X!K61%f&zYCsX-RN!esS@Y+id~sx07-w^f|mb4t@eYleP3($`i+$G=V&} z+-mj{u_x`JfK~*v4M3>D!*smAF@;6<$BMv1d?}ZPpj28HprKj0)aj^EX=|D&l= zPUY65NwWm8KQe55X0%yOv(#$CA+K3;bRi7?mxHxMLbD~@;ry}Hm4o-uGnz}i%8af| zw`d+(I+J!hal7OVfK#y8a1>bv@ubbsyfKw<5@Z_LAXx3wJGDLma_vHKyXQRCZb zaZxZ_#jo#=vh|KxD$*=26u&j9D?iJqzUkT5w5(sJ_}VCbiUlCx@ye|Ap`VY%b;QwS zmD?0)JrRwNt#m%yun*`Ez8VgMW`Iatm?bTXM3FrVUmPV{B+rSRrqEj>a>3$~^(!4S zKV|ScDI_n9KaIwmkU&I)_RNlF)SNGtPM9`uJU)_V4UZ;c-v&?-C!JyXkzLEppN0=& ziiL`N#W_baChyEh4UPg`}KgUuYT=bY6pky(8J;aS^h+YJ_V8ZgG72~#G= z3x~r_18hrx>D=Gb;Z;6v(rfws(6y$Jq)9GEs5$8o9|>u)^r6Qi-s2Y z@Y|8!g%2p`+Jeis1ePxBWbt6(IW8l}^y^AmQG7=GjHJ~O4wPkbwB=DUFJ{ce2~sh+ zn#Dy$J@h+>{slmAc0rLOu;aPyh z)0%2ez&UDy|BHQaU`kk^+S%cdsm7veqK)9w$nqa}j9A=GrWEJD{R(EUI~%&?GB(*a z@Rfz&*E@Esbx_CVS7ZlO)TySbmO8Qwm37>yInV3D*lC|@Ivpn>yq2@jURjKWQF6VU=T|3=a#&xh@Hkwo#u`PhTxulW z?`FD;O^->)P;%C0yZxG01y-cv#mV;THJMW|i&4BttfIrIkL0=Ckon!b#P|}YgG$$R z9%8(l`2xXJ_%@lsDrbcW9tRc2JKrcb5orYp&+scw~Yau;c%kXpgWk2n4+Fo`5G@0aTq zq{bSfIFwu0@IMTMq0IUHH!dgz2Da`7H%UG{NDJgnvwD~(yq;+Y79H=KPDROrYF87K z)0uh9ui!9YH$_Q(q;o>+n*Ww9=cN=@w?SPleZI@$Y=6F+acD-A@BMQ>)y5{1du%-C zy^ZO&%V{LH>&2;r>>idQY?fk7pA5<@`g1x2Gy;}ryGlhcbx}5QJSmB(=#79K6FM1T zkRE$#!YVmfShCKlj-l%S2?+Ce8vluqSZ@^azB%b0WNG~Gk#)(pZE-a}#3g-L+KqRPQ3dsmJgGWxBP;PLKOzXUs zbWauZYF0ziHH)7H6n@dpv^kWQ?+)ZEiX3-XKA;y8q7$3@KB1Rp^(!le59vPW`s1Dx zi|Abd*M73GVujCFg1d zuu6oGFPW1+NgT~RQo-h3XvZ-MFa8&heHzJX3ma`H)n-%q^I`6u*D&w82E#`}jc1%c zx1jUJ5<=$fPB@R=M{sKFObox(vZgF_xaZ~W$0n^Vs zezqb|F$nJp#J+>sH-2mHcQ<9_*4tgr>803mQ>uT9LW`&*!I@M+!258)j0lDLQ7Ksx zmZUK+&;yBQTjD9%f;jwXgZ?Bm+vE?qg%hUb@ytC%G++CAW*4ukX?Ob5(ryw&=M~*8 z@u>>VUb}AhY(0O~x;|~0=W?-LG%f3$w}d7trKMpi_ofWO(UcJ#MoWz6BatL3UH6W> zJ9gb_Y$-`)5;6 zCEAfqXd2Q0j7Fqn@8BFlS(MQ`9oxtx#cCx1MLKp!Wv>&`2^Yk^OC)_ycmO!yXgniP z$?|cnQIYsVs?c5{MUhZNO(7Mmq;^7d4F*h?HNLmZBgirPM3fr9gkzrhStF@B8D_r} zQe>DK2ms+XktjF91+7 z9*m1#uq>eS4D65+6sT>VVmZtNAAbO;u=(E?lc{|}$)lO>*5{nsTlYO)r#$)O|FyhBA8h-aG z75cO*%{-Wy%X$@}k`Jmt7byP{5hE2bASJ|zi!eM5*5op5j_})j0IO#A4xKM(q@E-$ zmL}R9Hw+0*f&m|;IowiV%GOdYCI7MX(mtJ8Q}RuwPSrV3_h%#&F-$ObB5@i~g3lIG zScWT3galDli(;IUSq3f^yHK*6q~{suXZbA`5^B65gJ#TN4SMh75VS&jg%->BAw7A% zrx*{-cxaS>^_wm7nVEag)+}~qfQOz+(_TY2kyNY+8iAj!@vfW{dQQxKsW+WA6cs;% zbRmzi#ɺ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

    !`o4o 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%0A)Z(*e1BQxrC&+g0u6u>k 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𝔏_+NsQr2ueo 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

      9cE>Ev;2#kt=;;xle&$LP)GfG>!^dLe5w0qNn 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

      `Y&_!y5_Xb~Uhdn~NZ#~3kVg14IBxCxrH0)#Ma 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

      FU}Q^HY*lK*v)$rru=U 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

      ViwHO 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 M+%S$)X@5HYUnGIc(f|Me literal 0 HcmV?d00001 diff --git a/T1/TP1/cacti-master/2DDRAM_Samsung2GbDDR2.cfg b/T1/TP1/cacti-master/2DDRAM_Samsung2GbDDR2.cfg new file mode 100644 index 0000000..d035eae --- /dev/null +++ b/T1/TP1/cacti-master/2DDRAM_Samsung2GbDDR2.cfg @@ -0,0 +1,194 @@ +# Cache size +//-size (bytes) 528 +//-size (bytes) 4096 +//-size (bytes) 262144 +//-size (bytes) 1048576 +//-size (bytes) 2097152 +//-size (bytes) 4194304 +//-size (bytes) 8388608 +//-size (bytes) 16777216 +//-size (bytes) 33554432 +//-size (bytes) 134217728 +//-size (bytes) 268435456 +//-size (bytes) 536870912 +//-size (bytes) 67108864 +//-size (bytes) 536870912 +//-size (bytes) 1073741824 +# For 3D DRAM memory please use Gb as units +-size (Gb) 2 + +# Line size +//-block size (bytes) 8 +-block size (bytes) 128 + +# To model Fully Associative cache, set associativity to zero +//-associativity 0 +//-associativity 2 +//-associativity 4 +-associativity 1 +//-associativity 16 + +-read-write port 1 +-exclusive read port 0 +-exclusive write port 0 +-single ended read ports 0 + +# Multiple banks connected using a bus +-UCA bank count 16 +//-technology (u) 0.032 +//-technology (u) 0.040 +//-technology (u) 0.065 +//-technology (u) 0.078 +-technology (u) 0.080 + +# following three parameters are meaningful only for main memories + +//-page size (bits) 8192 +-burst length 4 +-internal prefetch width 1 + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +//-Data array cell type - "itrs-hp" +//-Data array cell type - "itrs-lstp" +//-Data array cell type - "itrs-lop" +-Data array cell type - "comm-dram" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +//-Data array peripheral type - "itrs-hp" +-Data array peripheral type - "itrs-lstp" +//-Data array peripheral type - "itrs-lop" + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Tag array cell type - "itrs-hp" +//-Tag array cell type - "itrs-lstp" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Tag array peripheral type - "itrs-hp" +//-Tag array peripheral type - "itrs-lstp" + +# Bus width include data bits and address bits required by the decoder +//-output/input bus width 16 +//-output/input bus width 64 +-output/input bus width 64 + +// 300-400 in steps of 10 +-operating temperature (K) 350 + +# Type of memory - cache (with a tag array) or ram (scratch ram similar to a register file) +# or main memory (no tag array and every access will happen at a page granularity Ref: CACTI 5.3 report) +//-cache type "cache" +//-cache type "ram" +//-cache type "main memory" +-cache type "3D memory or 2D main memory" + +# Parameters for 3D DRAM +//-page size (bits) 16384 +-page size (bits) 8192 +//-page size (bits) 4096 +-burst depth 4 +-IO width 4 +-system frequency (MHz) 266 + +-stacked die count 1 +-partitioning granularity 0 // 0: coarse-grained rank-level; 1: fine-grained rank-level +//-TSV projection 1 // 0: ITRS aggressive; 1: industrial conservative + +## End of parameters for 3D DRAM + +# to model special structure like branch target buffers, directory, etc. +# change the tag size parameter +# if you want cacti to calculate the tagbits, set the tag size to "default" +-tag size (b) "default" +//-tag size (b) 45 + +# fast - data and tag access happen in parallel +# sequential - data array is accessed after accessing the tag array +# normal - data array lookup and tag access happen in parallel +# final data block is broadcasted in data array h-tree +# after getting the signal from the tag array +-access mode (normal, sequential, fast) - "fast" +//-access mode (normal, sequential, fast) - "normal" +//-access mode (normal, sequential, fast) - "sequential" + + +# DESIGN OBJECTIVE for UCA (or banks in NUCA) +-design objective (weight delay, dynamic power, leakage power, cycle time, area) 0:0:0:0:100 + +# Percentage deviation from the minimum value +# Ex: A deviation value of 10:1000:1000:1000:1000 will try to find an organization +# that compromises at most 10% delay. +# NOTE: Try reasonable values for % deviation. Inconsistent deviation +# percentage values will not produce any valid organizations. For example, +# 0:0:100:100:100 will try to identify an organization that has both +# least delay and dynamic power. Since such an organization is not possible, CACTI will +# throw an error. Refer CACTI-6 Technical report for more details +-deviate (delay, dynamic power, leakage power, cycle time, area) 50:100000:100000:100000:1000000 + +# Objective for NUCA +-NUCAdesign objective (weight delay, dynamic power, leakage power, cycle time, area) 0:0:0:0:100 +-NUCAdeviate (delay, dynamic power, leakage power, cycle time, area) 10:10000:10000:10000:10000 + +# Set optimize tag to ED or ED^2 to obtain a cache configuration optimized for +# energy-delay or energy-delay sq. product +# Note: Optimize tag will disable weight or deviate values mentioned above +# Set it to NONE to let weight and deviate values determine the +# appropriate cache configuration +//-Optimize ED or ED^2 (ED, ED^2, NONE): "ED" +//-Optimize ED or ED^2 (ED, ED^2, NONE): "ED^2" +-Optimize ED or ED^2 (ED, ED^2, NONE): "NONE" + +-Cache model (NUCA, UCA) - "UCA" +//-Cache model (NUCA, UCA) - "NUCA" + +# In order for CACTI to find the optimal NUCA bank value the following +# variable should be assigned 0. +-NUCA bank count 0 + +# NOTE: for nuca network frequency is set to a default value of +# 5GHz in time.c. CACTI automatically +# calculates the maximum possible frequency and downgrades this value if necessary + +# By default CACTI considers both full-swing and low-swing +# wires to find an optimal configuration. However, it is possible to +# restrict the search space by changing the signaling from "default" to +# "fullswing" or "lowswing" type. +-Wire signaling (fullswing, lowswing, default) - "Global_5" +//-Wire signaling (fullswing, lowswing, default) - "default" +//-Wire signaling (fullswing, lowswing, default) - "lowswing" + +//-Wire inside mat - "global" +-Wire inside mat - "semi-global" +-Wire outside mat - "global" +//-Wire outside mat - "semi-global" + +-Interconnect projection - "conservative" +//-Interconnect projection - "aggressive" + +# Contention in network (which is a function of core count and cache level) is one of +# the critical factor used for deciding the optimal bank count value +# core count can be 4, 8, or 16 +//-Core count 4 +-Core count 8 +//-Core count 16 +-Cache level (L2/L3) - "L3" + +-Add ECC - "false" + +//-Print level (DETAILED, CONCISE) - "CONCISE" +-Print level (DETAILED, CONCISE) - "DETAILED" + +# for debugging +//-Print input parameters - "true" +-Print input parameters - "false" +# force CACTI to model the cache with the +# following Ndbl, Ndwl, Nspd, Ndsam, +# and Ndcm values +-Force cache config - "true" +//-Force cache config - "false" +-Ndwl 128 +-Ndbl 32 +-Nspd 1 +-Ndcm 1 +-Ndsam1 1 +-Ndsam2 1 + diff --git a/T1/TP1/cacti-master/2DDRAM_micron1Gb.cfg b/T1/TP1/cacti-master/2DDRAM_micron1Gb.cfg new file mode 100644 index 0000000..4b94de4 --- /dev/null +++ b/T1/TP1/cacti-master/2DDRAM_micron1Gb.cfg @@ -0,0 +1,194 @@ +# Cache size +//-size (bytes) 528 +//-size (bytes) 4096 +//-size (bytes) 262144 +//-size (bytes) 1048576 +//-size (bytes) 2097152 +//-size (bytes) 4194304 +//-size (bytes) 8388608 +//-size (bytes) 16777216 +//-size (bytes) 33554432 +//-size (bytes) 134217728 +//-size (bytes) 268435456 +//-size (bytes) 536870912 +//-size (bytes) 67108864 +//-size (bytes) 536870912 +//-size (bytes) 1073741824 +# For 3D DRAM memory please use Gb as units +-size (Gb) 1 + +# Line size +//-block size (bytes) 8 +-block size (bytes) 128 + +# To model Fully Associative cache, set associativity to zero +//-associativity 0 +//-associativity 2 +//-associativity 4 +-associativity 1 +//-associativity 16 + +-read-write port 1 +-exclusive read port 0 +-exclusive write port 0 +-single ended read ports 0 + +# Multiple banks connected using a bus +-UCA bank count 8 +//-technology (u) 0.032 +//-technology (u) 0.040 +//-technology (u) 0.065 +-technology (u) 0.078 +//-technology (u) 0.080 + +# following three parameters are meaningful only for main memories + +//-page size (bits) 8192 +-burst length 4 +-internal prefetch width 1 + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +//-Data array cell type - "itrs-hp" +//-Data array cell type - "itrs-lstp" +//-Data array cell type - "itrs-lop" +-Data array cell type - "comm-dram" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +//-Data array peripheral type - "itrs-hp" +-Data array peripheral type - "itrs-lstp" +//-Data array peripheral type - "itrs-lop" + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Tag array cell type - "itrs-hp" +//-Tag array cell type - "itrs-lstp" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Tag array peripheral type - "itrs-hp" +//-Tag array peripheral type - "itrs-lstp" + +# Bus width include data bits and address bits required by the decoder +//-output/input bus width 16 +//-output/input bus width 64 +-output/input bus width 64 + +// 300-400 in steps of 10 +-operating temperature (K) 350 + +# Type of memory - cache (with a tag array) or ram (scratch ram similar to a register file) +# or main memory (no tag array and every access will happen at a page granularity Ref: CACTI 5.3 report) +//-cache type "cache" +//-cache type "ram" +//-cache type "main memory" +-cache type "3D memory or 2D main memory" + +## Parameters for 3D DRAM +-page size (bits) 16384 +//-page size (bits) 8192 +-burst depth 8 +-IO width 4 +-system frequency (MHz) 533 + +-stacked die count 1 +-partitioning granularity 0 // 0: coarse-grained rank-level; 1: fine-grained rank-level +//-TSV projection 1 // 0: ITRS aggressive; 1: industrial conservative + +## End of parameters for 3D DRAM + + +# to model special structure like branch target buffers, directory, etc. +# change the tag size parameter +# if you want cacti to calculate the tagbits, set the tag size to "default" +-tag size (b) "default" +//-tag size (b) 45 + +# fast - data and tag access happen in parallel +# sequential - data array is accessed after accessing the tag array +# normal - data array lookup and tag access happen in parallel +# final data block is broadcasted in data array h-tree +# after getting the signal from the tag array +-access mode (normal, sequential, fast) - "fast" +//-access mode (normal, sequential, fast) - "normal" +//-access mode (normal, sequential, fast) - "sequential" + + +# DESIGN OBJECTIVE for UCA (or banks in NUCA) +-design objective (weight delay, dynamic power, leakage power, cycle time, area) 0:0:0:0:10 + +# Percentage deviation from the minimum value +# Ex: A deviation value of 10:1000:1000:1000:1000 will try to find an organization +# that compromises at most 10% delay. +# NOTE: Try reasonable values for % deviation. Inconsistent deviation +# percentage values will not produce any valid organizations. For example, +# 0:0:100:100:100 will try to identify an organization that has both +# least delay and dynamic power. Since such an organization is not possible, CACTI will +# throw an error. Refer CACTI-6 Technical report for more details +-deviate (delay, dynamic power, leakage power, cycle time, area) 50:100000:100000:100000:1000000 + +# Objective for NUCA +-NUCAdesign objective (weight delay, dynamic power, leakage power, cycle time, area) 100:100:0:0:100 +-NUCAdeviate (delay, dynamic power, leakage power, cycle time, area) 10:10000:10000:10000:10000 + +# Set optimize tag to ED or ED^2 to obtain a cache configuration optimized for +# energy-delay or energy-delay sq. product +# Note: Optimize tag will disable weight or deviate values mentioned above +# Set it to NONE to let weight and deviate values determine the +# appropriate cache configuration +//-Optimize ED or ED^2 (ED, ED^2, NONE): "ED" +//-Optimize ED or ED^2 (ED, ED^2, NONE): "ED^2" +-Optimize ED or ED^2 (ED, ED^2, NONE): "NONE" + +-Cache model (NUCA, UCA) - "UCA" +//-Cache model (NUCA, UCA) - "NUCA" + +# In order for CACTI to find the optimal NUCA bank value the following +# variable should be assigned 0. +-NUCA bank count 0 + +# NOTE: for nuca network frequency is set to a default value of +# 5GHz in time.c. CACTI automatically +# calculates the maximum possible frequency and downgrades this value if necessary + +# By default CACTI considers both full-swing and low-swing +# wires to find an optimal configuration. However, it is possible to +# restrict the search space by changing the signaling from "default" to +# "fullswing" or "lowswing" type. +-Wire signaling (fullswing, lowswing, default) - "Global_30" +//-Wire signaling (fullswing, lowswing, default) - "default" +//-Wire signaling (fullswing, lowswing, default) - "lowswing" + +//-Wire inside mat - "global" +-Wire inside mat - "semi-global" +-Wire outside mat - "global" +//-Wire outside mat - "semi-global" + +-Interconnect projection - "conservative" +//-Interconnect projection - "aggressive" + +# Contention in network (which is a function of core count and cache level) is one of +# the critical factor used for deciding the optimal bank count value +# core count can be 4, 8, or 16 +//-Core count 4 +-Core count 8 +//-Core count 16 +-Cache level (L2/L3) - "L3" + +-Add ECC - "true" + +//-Print level (DETAILED, CONCISE) - "CONCISE" +-Print level (DETAILED, CONCISE) - "DETAILED" + +# for debugging +//-Print input parameters - "true" +-Print input parameters - "false" +# force CACTI to model the cache with the +# following Ndbl, Ndwl, Nspd, Ndsam, +# and Ndcm values +-Force cache config - "true" +//-Force cache config - "false" +-Ndwl 16 +-Ndbl 16 +-Nspd 1 +-Ndcm 1 +-Ndsam1 1 +-Ndsam2 1 + diff --git a/T1/TP1/cacti-master/3DDRAM_Samsung3D8Gb_extened.cfg b/T1/TP1/cacti-master/3DDRAM_Samsung3D8Gb_extened.cfg new file mode 100644 index 0000000..197bc21 --- /dev/null +++ b/T1/TP1/cacti-master/3DDRAM_Samsung3D8Gb_extened.cfg @@ -0,0 +1,197 @@ +# Cache size +//-size (bytes) 528 +//-size (bytes) 4096 +//-size (bytes) 262144 +//-size (bytes) 1048576 +//-size (bytes) 2097152 +//-size (bytes) 4194304 +//-size (bytes) 8388608 +//-size (bytes) 16777216 +//-size (bytes) 33554432 +//-size (bytes) 134217728 +//-size (bytes) 268435456 +//-size (bytes) 536870912 +//-size (bytes) 67108864 +//-size (bytes) 536870912 +//-size (bytes) 1073741824 +# For 3D DRAM memory please use Gb as units +-size (Gb) 8 + +# Line size +//-block size (bytes) 8 +-block size (bytes) 128 + +# To model Fully Associative cache, set associativity to zero +//-associativity 0 +//-associativity 2 +//-associativity 4 +-associativity 1 +//-associativity 16 + +-read-write port 1 +-exclusive read port 0 +-exclusive write port 0 +-single ended read ports 0 + +# Multiple banks connected using a bus +-UCA bank count 8 +//-technology (u) 0.032 +//-technology (u) 0.040 +//-technology (u) 0.065 +//-technology (u) 0.078 +//-technology (u) 0.080 +//-technology (u) 0.090 +-technology (u) 0.050 + +# following three parameters are meaningful only for main memories + +//-page size (bits) 8192 +-burst length 4 +-internal prefetch width 1 + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +//-Data array cell type - "itrs-hp" +//-Data array cell type - "itrs-lstp" +//-Data array cell type - "itrs-lop" +-Data array cell type - "comm-dram" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +//-Data array peripheral type - "itrs-hp" +-Data array peripheral type - "itrs-lstp" +//-Data array peripheral type - "itrs-lop" + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Tag array cell type - "itrs-hp" +//-Tag array cell type - "itrs-lstp" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Tag array peripheral type - "itrs-hp" +//-Tag array peripheral type - "itrs-lstp" + +# Bus width include data bits and address bits required by the decoder +//-output/input bus width 16 +//-output/input bus width 64 +-output/input bus width 64 + +// 300-400 in steps of 10 +-operating temperature (K) 350 + +# Type of memory - cache (with a tag array) or ram (scratch ram similar to a register file) +# or main memory (no tag array and every access will happen at a page granularity Ref: CACTI 5.3 report) +//-cache type "cache" +//-cache type "ram" +//-cache type "main memory" # old main memory model, in fact, it is eDRAM model. +-cache type "3D memory or 2D main memory" # once this parameter is used, the new parameter section below of will override the same parameter above + +# +//-page size (bits) 16384 +-page size (bits) 8192 +//-page size (bits) 4096 +-burst depth 8 // for 3D DRAM, IO per bank equals the product of burst depth and IO width +-IO width 4 +-system frequency (MHz) 677 + +-stacked die count 4 +-partitioning granularity 0 // 0: coarse-grained rank-level; 1: fine-grained rank-level +-TSV projection 1 // 0: ITRS aggressive; 1: industrial conservative + +## End of parameters for 3D DRAM + +# to model special structure like branch target buffers, directory, etc. +# change the tag size parameter +# if you want cacti to calculate the tagbits, set the tag size to "default" +-tag size (b) "default" +//-tag size (b) 45 + +# fast - data and tag access happen in parallel +# sequential - data array is accessed after accessing the tag array +# normal - data array lookup and tag access happen in parallel +# final data block is broadcasted in data array h-tree +# after getting the signal from the tag array +-access mode (normal, sequential, fast) - "fast" +//-access mode (normal, sequential, fast) - "normal" +//-access mode (normal, sequential, fast) - "sequential" + + +# DESIGN OBJECTIVE for UCA (or banks in NUCA) +-design objective (weight delay, dynamic power, leakage power, cycle time, area) 0:0:0:0:100 + +# Percentage deviation from the minimum value +# Ex: A deviation value of 10:1000:1000:1000:1000 will try to find an organization +# that compromises at most 10% delay. +# NOTE: Try reasonable values for % deviation. Inconsistent deviation +# percentage values will not produce any valid organizations. For example, +# 0:0:100:100:100 will try to identify an organization that has both +# least delay and dynamic power. Since such an organization is not possible, CACTI will +# throw an error. Refer CACTI-6 Technical report for more details +-deviate (delay, dynamic power, leakage power, cycle time, area) 50:100000:100000:100000:1000000 + +# Objective for NUCA +-NUCAdesign objective (weight delay, dynamic power, leakage power, cycle time, area) 0:0:0:0:100 +-NUCAdeviate (delay, dynamic power, leakage power, cycle time, area) 10:10000:10000:10000:10000 + +# Set optimize tag to ED or ED^2 to obtain a cache configuration optimized for +# energy-delay or energy-delay sq. product +# Note: Optimize tag will disable weight or deviate values mentioned above +# Set it to NONE to let weight and deviate values determine the +# appropriate cache configuration +//-Optimize ED or ED^2 (ED, ED^2, NONE): "ED" +//-Optimize ED or ED^2 (ED, ED^2, NONE): "ED^2" +-Optimize ED or ED^2 (ED, ED^2, NONE): "NONE" + +-Cache model (NUCA, UCA) - "UCA" +//-Cache model (NUCA, UCA) - "NUCA" + +# In order for CACTI to find the optimal NUCA bank value the following +# variable should be assigned 0. +-NUCA bank count 0 + +# NOTE: for nuca network frequency is set to a default value of +# 5GHz in time.c. CACTI automatically +# calculates the maximum possible frequency and downgrades this value if necessary + +# By default CACTI considers both full-swing and low-swing +# wires to find an optimal configuration. However, it is possible to +# restrict the search space by changing the signaling from "default" to +# "fullswing" or "lowswing" type. +-Wire signaling (fullswing, lowswing, default) - "Global_30" +//-Wire signaling (fullswing, lowswing, default) - "default" +//-Wire signaling (fullswing, lowswing, default) - "lowswing" + +//-Wire inside mat - "global" +-Wire inside mat - "semi-global" +-Wire outside mat - "global" +//-Wire outside mat - "semi-global" + +-Interconnect projection - "conservative" +//-Interconnect projection - "aggressive" + +# Contention in network (which is a function of core count and cache level) is one of +# the critical factor used for deciding the optimal bank count value +# core count can be 4, 8, or 16 +//-Core count 4 +-Core count 8 +//-Core count 16 +-Cache level (L2/L3) - "L3" + +-Add ECC - "true" + +//-Print level (DETAILED, CONCISE) - "CONCISE" +-Print level (DETAILED, CONCISE) - "DETAILED" + + +# for debugging +//-Print input parameters - "true" +-Print input parameters - "false" +# force CACTI to model the cache with the +# following Ndbl, Ndwl, Nspd, Ndsam, +# and Ndcm values +-Force cache config - "true" +//-Force cache config - "false" +-Ndwl 16 +-Ndbl 32 +-Nspd 1 +-Ndcm 1 +-Ndsam1 1 +-Ndsam2 1 + diff --git a/T1/TP1/cacti-master/README b/T1/TP1/cacti-master/README new file mode 100644 index 0000000..0dc88f5 --- /dev/null +++ b/T1/TP1/cacti-master/README @@ -0,0 +1,122 @@ +----------------------------------------------------------- + + + ____ __ ________ __ + /\ _`\ /\ \__ __ /\_____ \ /'__`\ + \ \ \/\_\ __ ___\ \ ,_\/\_\ \/___//'/'/\ \/\ \ + \ \ \/_/_ /'__`\ /'___\ \ \/\/\ \ /' /' \ \ \ \ \ + \ \ \L\ \/\ \L\.\_/\ \__/\ \ \_\ \ \ /' /'__ \ \ \_\ \ + \ \____/\ \__/.\_\ \____\\ \__\\ \_\ /\_/ /\_\ \ \____/ + \/___/ \/__/\/_/\/____/ \/__/ \/_/ \// \/_/ \/___/ + + +A Tool to Model Caches/Memories, 3D stacking, and off-chip IO +----------------------------------------------------------- + +CACTI is an analytical tool that takes a set of cache/memory para- +meters as input and calculates its access time, power, cycle +time, and area. +CACTI was originally developed by Dr. Jouppi and Dr. Wilton +in 1993 and since then it has undergone six major +revisions. + +List of features (version 1-7): +=============================== +The following is the list of features supported by the tool. + +* Power, delay, area, and cycle time model for + direct mapped caches + set-associative caches + fully associative caches + Embedded DRAM memories + Commodity DRAM memories + +* Support for modeling multi-ported uniform cache access (UCA) + and multi-banked, multi-ported non-uniform cache access (NUCA). + +* Leakage power calculation that also considers the operating + temperature of the cache. + +* Router power model. + +* Interconnect model with different delay, power, and area + properties including low-swing wire model. + +* An interface to perform trade-off analysis involving power, delay, + area, and bandwidth. + +* All process specific values used by the tool are obtained + from ITRS and currently, the tool supports 90nm, 65nm, 45nm, + and 32nm technology nodes. + +* Chip IO model to calculate latency and energy for DDR bus. Users can model + different loads (fan-outs) and evaluate the impact on frequency and energy. + This model can be used to study LR-DIMMs, R-DIMMs, etc. + +Version 7.0 is derived from 6.5 and merged with CACTI 3D. +It has many new additions apart from code refinements and +bug fixes: new IO model, 3D memory model, and power gating models. +Ref: CACTI-IO: CACTI With OFF-chip Power-Area-Timing Models + MemCAD: An Interconnect Exploratory Tool for Innovative Memories Beyond DDR4 + CACTI-3DD: Architecture-level modeling for 3D die-stacked DRAM main memory + +-------------------------------------------------------------------------- +Version 6.5 has a new c++ code base and includes numerous bug fixes. +CACTI 5.3 and 6.0 activate an entire row of mats to read/write a single +block of data. This technique improves reliability at the cost of +power. CACTI 6.5 activates minimum number of mats just enough to retrieve +a block to minimize power. + +How to use the tool? +==================== +Prior versions of CACTI take input parameters such as cache +size and technology node as a set of command line arguments. +To avoid a long list of command line arguments, +CACTI 6.5 & & let users specify their cache model in a more +detailed manner by using a config file (cache.cfg). + +-> define the cache model using cache.cfg +-> run the "cacti" binary <./cacti -infile cache.cfg> + +CACTI also provides a command line interface similar to earlier versions. The command line interface can be used as + +./cacti cache_size line_size associativity rw_ports excl_read_ports excl_write_ports + single_ended_read_ports search_ports banks tech_node output_width specific_tag tag_width + access_mode cache main_mem obj_func_delay obj_func_dynamic_power obj_func_leakage_power + obj_func_cycle_time obj_func_area dev_func_delay dev_func_dynamic_power dev_func_leakage_power + dev_func_area dev_func_cycle_time ed_ed2_none temp wt data_arr_ram_cell_tech_flavor_in + data_arr_peri_global_tech_flavor_in tag_arr_ram_cell_tech_flavor_in tag_arr_peri_global_tech_flavor_in + interconnect_projection_type_in wire_inside_mat_type_in wire_outside_mat_type_in + REPEATERS_IN_HTREE_SEGMENTS_in VERTICAL_HTREE_WIRES_OVER_THE_ARRAY_in + BROADCAST_ADDR_DATAIN_OVER_VERTICAL_HTREES_in PAGE_SIZE_BITS_in BURST_LENGTH_in + INTERNAL_PREFETCH_WIDTH_in force_wiretype wiretype force_config ndwl ndbl nspd ndcm + ndsam1 ndsam2 ecc + +For complete documentation of the tool, please refer +to the following publications and reports. + +CACTI-5.3 & 6 reports - Details on Meory/cache organizations and tradeoffs. + +Latency/Energy tradeoffs for large caches and NUCA design: + "Optimizing NUCA Organizations and Wiring Alternatives for Large Caches With CACTI 6.0", that appears in MICRO 2007. + +Memory IO design: CACTI-IO: CACTI With OFF-chip Power-Area-Timing Models, + MemCAD: An Interconnect Exploratory Tool for Innovative Memories Beyond DDR4 + CACTI-IO Technical Report - http://www.hpl.hp.com/techreports/2013/HPL-2013-79.pdf + +3D model: + CACTI-3DD: Architecture-level modeling for 3D die-stacked DRAM main memory + +We are still improving the tool and refining the code. If you +have any comments, questions, or suggestions please write to +us. + +Naveen Muralimanohar +naveen.muralimanohar@hpe.com + +Ali Shafiee +shafiee@cs.utah.edu + +Vaishnav Srinivas +vaishnav.srinivas@gmail.com + diff --git a/T1/TP1/cacti-master/TSV.cc b/T1/TP1/cacti-master/TSV.cc new file mode 100644 index 0000000..2821d4b --- /dev/null +++ b/T1/TP1/cacti-master/TSV.cc @@ -0,0 +1,242 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + +#include "TSV.h" + +TSV::TSV(enum TSV_type tsv_type, + /*TechnologyParameter::*/DeviceType *dt)://TSV driver's device type set to be peri_global + deviceType(dt), tsv_type(tsv_type) +{ + num_gates = 1; + num_gates_min = 1;//Is there a minimum number of stages? + min_w_pmos = deviceType -> n_to_p_eff_curr_drv_ratio * g_tp.min_w_nmos_; + + switch (tsv_type) + { + case Fine: + cap = g_tp.tsv_parasitic_capacitance_fine; + res = g_tp.tsv_parasitic_resistance_fine; + min_area = g_tp.tsv_minimum_area_fine; + break; + case Coarse: + cap = g_tp.tsv_parasitic_capacitance_coarse; + res = g_tp.tsv_parasitic_resistance_coarse; + min_area = g_tp.tsv_minimum_area_coarse; + break; + default: + break; + } + + for (int i = 0; i < MAX_NUMBER_GATES_STAGE; i++) + { + w_TSV_n[i] = 0; + w_TSV_p[i] = 0; + } + + double first_buf_stg_coef = 5; // To tune the total buffer delay. + w_TSV_n[0] = g_tp.min_w_nmos_*first_buf_stg_coef; + w_TSV_p[0] = min_w_pmos *first_buf_stg_coef; + + is_dram = 0; + is_wl_tr = 0; + + //What does the function assert() mean? Should I put the function here? + compute_buffer_stage(); + compute_area(); + compute_delay(); +} + +TSV::~TSV() +{ +} + +void TSV::compute_buffer_stage() +{ + double p_to_n_sz_ratio = deviceType->n_to_p_eff_curr_drv_ratio; + + //BEOL parasitics in Katti's E modeling and charac. of TSV. Needs further detailed values. + //double res_beol = 0.1;//inaccurate + //double cap_beol = 1e-15; + + //C_load_TSV = cap_beol + cap + cap_beol + gate_C(g_tp.min_w_nmos_ + min_w_pmos, 0); + C_load_TSV = cap + gate_C(g_tp.min_w_nmos_ + min_w_pmos, 0); //+ 57.5e-15; + if(g_ip->print_detail_debug) + { + cout << " The input cap of 1st buffer: " << gate_C(w_TSV_n[0] + w_TSV_p[0], 0) * 1e15 << " fF"; + } + double F = C_load_TSV / gate_C(w_TSV_n[0] + w_TSV_p[0], 0); + if(g_ip->print_detail_debug) + { + cout<<"\nF is "<Vdd; + double cumulative_area = 0; + double cumulative_curr = 0; // cumulative leakage current + double cumulative_curr_Ig = 0; // cumulative leakage current + Buffer_area.h = g_tp.cell_h_def;//cell_h_def is the assigned height for memory cell (5um), is it correct to use it here? + + //logic_effort() didn't give the size of w_n[0] and w_p[0], which is min size inverter + //w_TSV_n[0] = g_tp.min_w_nmos_; + //w_TSV_p[0] = min_w_pmos; + + int i; + for (i = 0; i < num_gates; i++) + { + cumulative_area += compute_gate_area(INV, 1, w_TSV_p[i], w_TSV_n[i], Buffer_area.h); + if(g_ip->print_detail_debug) + { + cout << "\n\tArea up to the " << i+1 << " stages is: " << cumulative_area << " um2"; + } + cumulative_curr += cmos_Isub_leakage(w_TSV_n[i], w_TSV_p[i], 1, inv, is_dram); + cumulative_curr_Ig += cmos_Ig_leakage(w_TSV_n[i], w_TSV_p[i], 1, inv, is_dram);// The operator += is mistakenly put as = in decoder.cc + } + power.readOp.leakage = cumulative_curr * Vdd; + power.readOp.gate_leakage = cumulative_curr_Ig * Vdd; + + Buffer_area.set_area(cumulative_area); + Buffer_area.w = (cumulative_area / Buffer_area.h); + + TSV_metal_area.set_area(min_area * 3.1416/16); + + if( Buffer_area.get_area() < min_area - TSV_metal_area.get_area() ) + area.set_area(min_area); + else + area.set_area(Buffer_area.get_area() + TSV_metal_area.get_area()); + +} + +void TSV::compute_delay() +{ + //Buffer chain delay and Dynamic Power + double rd, tf, this_delay, c_load, c_intrinsic, inrisetime = 0/*The initial time*/; + //is_dram, is_wl_tr are declared to be false in the constructor + rd = tr_R_on(w_TSV_n[0], NCH, 1, is_dram, false, is_wl_tr); + c_load = gate_C(w_TSV_n[1] + w_TSV_p[1], 0.0, is_dram, false, is_wl_tr); + c_intrinsic = drain_C_(w_TSV_p[0], PCH, 1, 1, area.h, is_dram, false, is_wl_tr) + + drain_C_(w_TSV_n[0], NCH, 1, 1, area.h, is_dram, false, is_wl_tr); + tf = rd * (c_intrinsic + c_load); + //Refer to horowitz function definition + this_delay = horowitz(inrisetime, tf, 0.5, 0.5, RISE); + delay += this_delay; + inrisetime = this_delay / (1.0 - 0.5); + + double Vdd = deviceType -> Vdd; + power.readOp.dynamic += (c_load + c_intrinsic) * Vdd * Vdd; + + int i; + for (i = 1; i < num_gates - 1; ++i) + { + rd = tr_R_on(w_TSV_n[i], NCH, 1, is_dram, false, is_wl_tr); + c_load = gate_C(w_TSV_p[i+1] + w_TSV_n[i+1], 0.0, is_dram, false, is_wl_tr); + c_intrinsic = drain_C_(w_TSV_p[i], PCH, 1, 1, area.h, is_dram, false, is_wl_tr) + + drain_C_(w_TSV_n[i], NCH, 1, 1, area.h, is_dram, false, is_wl_tr); + tf = rd * (c_intrinsic + c_load); + this_delay = horowitz(inrisetime, tf, 0.5, 0.5, RISE); + delay += this_delay; + inrisetime = this_delay / (1.0 - 0.5); + power.readOp.dynamic += (c_load + c_intrinsic) * Vdd * Vdd; + } + + // add delay of final inverter that drives the TSV + i = num_gates - 1; + c_load = C_load_TSV; + rd = tr_R_on(w_TSV_n[i], NCH, 1, is_dram, false, is_wl_tr); + c_intrinsic = drain_C_(w_TSV_p[i], PCH, 1, 1, area.h, is_dram, false, is_wl_tr) + + drain_C_(w_TSV_n[i], NCH, 1, 1, area.h, is_dram, false, is_wl_tr); + //The delay method for the last stage of buffer chain in Decoder.cc + + //double res_beol = 0.1;//inaccurate + //double R_TSV_out = res_beol + res + res_beol; + double R_TSV_out = res; + tf = rd * (c_intrinsic + c_load) + R_TSV_out * c_load / 2; + this_delay = horowitz(inrisetime, tf, 0.5, 0.5, RISE); + delay += this_delay; + + power.readOp.dynamic += (c_load + c_intrinsic) * Vdd * Vdd; //Dynamic power done + + //Is the delay actually delay/(1.0-0.5)?? + //ret_val = this_delay / (1.0 - 0.5); + //return ret_val;//Originally for decoder.cc to get outrise time + + + /* This part is to obtain delay in the TSV path, refer to Katti's paper. + * It can be used alternatively as the step to get the final-stage delay + double C_ext = c_intrinsic; + R_dr = rd; + double C_int = gate_C(g_tp.min_w_nmos_ + min_w_pmos, 0.0, is_dram, false, is_wl_tr); + delay_TSV_path = 0.693 * (R_dr * C_ext + (R_dr + res_beol) * cap_beol + (R_dr + res_beol + 0.5 * res) * cap + + (R_dr + res_beol + res + res_beol) * (cap_beol + C_int); + delay += delay_TSV_path; + */ +} + +void TSV::print_TSV() +{ + + cout << "\nTSV Properties:\n\n"; + cout << " Delay Optimal - "<< + " \n\tTSV Cap: " << cap * 1e15 << " fF" << + " \n\tTSV Res: " << res * 1e3 << " mOhm"<< + " \n\tNumber of Buffer Chain stages - " << num_gates << + " \n\tDelay - " << delay * 1e9 << " (ns) " + " \n\tPowerD - " << power.readOp.dynamic * 1e9<< " (nJ)" + " \n\tPowerL - " << power.readOp.leakage * 1e3<< " (mW)" + " \n\tPowerLgate - " << power.readOp.gate_leakage * 1e3<< " (mW)\n" << + " \n\tBuffer Area: " << Buffer_area.get_area() << " um2" << + " \n\tBuffer Height: " << Buffer_area.h << " um" << + " \n\tBuffer Width: " << Buffer_area.w << " um" << + " \n\tTSV metal area: " << TSV_metal_area.get_area() << " um2" << + " \n\tTSV minimum occupied area: " < +#include +#include + + +class TSV : public Component +{ + public: + TSV(enum TSV_type tsv_type, + /*TechnologyParameter::*/DeviceType * dt = &(g_tp.peri_global));//Should change peri_global to TSV in technology.cc + //TSV():len(20),rad(2.5),pitch(50){} + ~TSV(); + + double res;//TSV resistance + double cap;//TSV capacitance + double C_load_TSV;//The intrinsic load plus the load TSV is driving, needs changes? + double min_area; + + //int num_IO;//number of I/O + int num_gates; + int num_gates_min;//Necessary? + double w_TSV_n[MAX_NUMBER_GATES_STAGE]; + double w_TSV_p[MAX_NUMBER_GATES_STAGE]; + + //double delay_TSV_path;//Delay of TSV path including the parasitics + + double is_dram;//two external arguments, defaulted to be false in constructor + double is_wl_tr; + + void compute_buffer_stage(); + void compute_area(); + void compute_delay(); + void print_TSV(); + + Area TSV_metal_area; + Area Buffer_area; + + /*//Herigated from Component + double delay; + Area area; + powerDef power, rt_power; + double delay; + double cycle_time; + + int logical_effort();*/ + + private: + double min_w_pmos; + /*TechnologyParameter::*/DeviceType * deviceType; + unsigned int tsv_type; + +}; + + +#endif /* TSV_H_ */ diff --git a/T1/TP1/cacti-master/Ucache.cc b/T1/TP1/cacti-master/Ucache.cc new file mode 100644 index 0000000..7df0207 --- /dev/null +++ b/T1/TP1/cacti-master/Ucache.cc @@ -0,0 +1,1073 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + +#include +#include + + +#include "area.h" +#include "bank.h" +#include "basic_circuit.h" +#include "component.h" +#include "const.h" +#include "decoder.h" +#include "parameter.h" +#include "Ucache.h" +#include "subarray.h" +#include "uca.h" + +#include +#include +#include +#include + +using namespace std; + +const uint32_t nthreads = NTHREADS; + + +void min_values_t::update_min_values(const min_values_t * val) +{ + min_delay = (min_delay > val->min_delay) ? val->min_delay : min_delay; + min_dyn = (min_dyn > val->min_dyn) ? val->min_dyn : min_dyn; + min_leakage = (min_leakage > val->min_leakage) ? val->min_leakage : min_leakage; + min_area = (min_area > val->min_area) ? val->min_area : min_area; + min_cyc = (min_cyc > val->min_cyc) ? val->min_cyc : min_cyc; +} + + + +void min_values_t::update_min_values(const uca_org_t & res) +{ + min_delay = (min_delay > res.access_time) ? res.access_time : min_delay; + min_dyn = (min_dyn > res.power.readOp.dynamic) ? res.power.readOp.dynamic : min_dyn; + min_leakage = (min_leakage > res.power.readOp.leakage) ? res.power.readOp.leakage : min_leakage; + min_area = (min_area > res.area) ? res.area : min_area; + min_cyc = (min_cyc > res.cycle_time) ? res.cycle_time : min_cyc; +} + +void min_values_t::update_min_values(const nuca_org_t * res) +{ + min_delay = (min_delay > res->nuca_pda.delay) ? res->nuca_pda.delay : min_delay; + min_dyn = (min_dyn > res->nuca_pda.power.readOp.dynamic) ? res->nuca_pda.power.readOp.dynamic : min_dyn; + min_leakage = (min_leakage > res->nuca_pda.power.readOp.leakage) ? res->nuca_pda.power.readOp.leakage : min_leakage; + min_area = (min_area > res->nuca_pda.area.get_area()) ? res->nuca_pda.area.get_area() : min_area; + min_cyc = (min_cyc > res->nuca_pda.cycle_time) ? res->nuca_pda.cycle_time : min_cyc; +} + +void min_values_t::update_min_values(const mem_array * res) +{ + min_delay = (min_delay > res->access_time) ? res->access_time : min_delay; + min_dyn = (min_dyn > res->power.readOp.dynamic) ? res->power.readOp.dynamic : min_dyn; + min_leakage = (min_leakage > res->power.readOp.leakage) ? res->power.readOp.leakage : min_leakage; + min_area = (min_area > res->area) ? res->area : min_area; + min_cyc = (min_cyc > res->cycle_time) ? res->cycle_time : min_cyc; +} + + + +void * calc_time_mt_wrapper(void * void_obj) +{ + calc_time_mt_wrapper_struct * calc_obj = (calc_time_mt_wrapper_struct *) void_obj; + uint32_t tid = calc_obj->tid; + list & data_arr = calc_obj->data_arr; + list & tag_arr = calc_obj->tag_arr; + bool is_tag = calc_obj->is_tag; + bool pure_ram = calc_obj->pure_ram; + bool pure_cam = calc_obj->pure_cam; + bool is_main_mem = calc_obj->is_main_mem; + double Nspd_min = calc_obj->Nspd_min; + min_values_t * data_res = calc_obj->data_res; + min_values_t * tag_res = calc_obj->tag_res; + + data_arr.clear(); + data_arr.push_back(new mem_array); + tag_arr.clear(); + tag_arr.push_back(new mem_array); + + uint32_t Ndwl_niter = _log2(MAXDATAN) + 1; + uint32_t Ndbl_niter = _log2(MAXDATAN) + 1; + uint32_t Ndcm_niter = _log2(MAX_COL_MUX) + 1; + uint32_t niter = Ndwl_niter * Ndbl_niter * Ndcm_niter; + + + bool is_valid_partition; + int wt_min, wt_max; + + if (g_ip->force_wiretype) { + if (g_ip->wt == Full_swing) { + wt_min = Global; + wt_max = Low_swing-1; + } + else { + switch(g_ip->wt) { + case Global: + wt_min = wt_max = Global; + break; + case Global_5: + wt_min = wt_max = Global_5; + break; + case Global_10: + wt_min = wt_max = Global_10; + break; + case Global_20: + wt_min = wt_max = Global_20; + break; + case Global_30: + wt_min = wt_max = Global_30; + break; + case Low_swing: + wt_min = wt_max = Low_swing; + break; + default: + cerr << "Unknown wire type!\n"; + exit(0); + } + } + } + else { + wt_min = Global; + wt_max = Low_swing; + } + + for (double Nspd = Nspd_min; Nspd <= MAXDATASPD; Nspd *= 2) + { + for (int wr = wt_min; wr <= wt_max; wr++) + { + for (uint32_t iter = tid; iter < niter; iter += nthreads) + { + // reconstruct Ndwl, Ndbl, Ndcm + unsigned int Ndwl = 1 << (iter / (Ndbl_niter * Ndcm_niter)); + unsigned int Ndbl = 1 << ((iter / (Ndcm_niter))%Ndbl_niter); + unsigned int Ndcm = 1 << (iter % Ndcm_niter); + for(unsigned int Ndsam_lev_1 = 1; Ndsam_lev_1 <= MAX_COL_MUX; Ndsam_lev_1 *= 2) + { + for(unsigned int Ndsam_lev_2 = 1; Ndsam_lev_2 <= MAX_COL_MUX; Ndsam_lev_2 *= 2) + { + //for debuging + if (g_ip->force_cache_config && is_tag == false) + { + wr = g_ip->wt; + Ndwl = g_ip->ndwl; + Ndbl = g_ip->ndbl; + Ndcm = g_ip->ndcm; + if(g_ip->nspd != 0) { + Nspd = g_ip->nspd; + } + if(g_ip->ndsam1 != 0) { + Ndsam_lev_1 = g_ip->ndsam1; + Ndsam_lev_2 = g_ip->ndsam2; + } + } + + if (is_tag == true) + { + is_valid_partition = calculate_time(is_tag, pure_ram, pure_cam, Nspd, Ndwl, + Ndbl, Ndcm, Ndsam_lev_1, Ndsam_lev_2, + tag_arr.back(), 0, NULL, NULL,(Wire_type) wr, + is_main_mem); + } + // If it's a fully-associative cache, the data array partition parameters are identical to that of + // the tag array, so compute data array partition properties also here. + if (is_tag == false || g_ip->fully_assoc) + { + is_valid_partition = calculate_time(is_tag/*false*/, pure_ram, pure_cam, Nspd, Ndwl, + Ndbl, Ndcm, Ndsam_lev_1, Ndsam_lev_2, + data_arr.back(), 0, NULL, NULL,(Wire_type) wr, + is_main_mem); + if (g_ip->is_3d_mem) + { + Ndsam_lev_1 = MAX_COL_MUX+1; + Ndsam_lev_2 = MAX_COL_MUX+1; + } + } + + if (is_valid_partition) + { + if (is_tag == true) + { + tag_arr.back()->wt = (enum Wire_type) wr; + tag_res->update_min_values(tag_arr.back()); + tag_arr.push_back(new mem_array); + } + if (is_tag == false || g_ip->fully_assoc) + { + data_arr.back()->wt = (enum Wire_type) wr; + data_res->update_min_values(data_arr.back()); + data_arr.push_back(new mem_array); + } + } + + if (g_ip->force_cache_config && is_tag == false) + { + wr = wt_max; + iter = niter; + if(g_ip->nspd != 0) { + Nspd = MAXDATASPD; + } + if (g_ip->ndsam1 != 0) { + Ndsam_lev_1 = MAX_COL_MUX+1; + Ndsam_lev_2 = MAX_COL_MUX+1; + } + } + } + } + } + } + } + + delete data_arr.back(); + delete tag_arr.back(); + data_arr.pop_back(); + tag_arr.pop_back(); + + pthread_exit(NULL); +} + + + +bool calculate_time( + bool is_tag, + int pure_ram, + bool pure_cam, + double Nspd, + unsigned int Ndwl, + unsigned int Ndbl, + unsigned int Ndcm, + unsigned int Ndsam_lev_1, + unsigned int Ndsam_lev_2, + mem_array *ptr_array, + int flag_results_populate, + results_mem_array *ptr_results, + uca_org_t *ptr_fin_res, + Wire_type wt, // merge from cacti-7 to cacti3d + bool is_main_mem) +{ + DynamicParameter dyn_p(is_tag, pure_ram, pure_cam, Nspd, Ndwl, Ndbl, Ndcm, Ndsam_lev_1, Ndsam_lev_2, wt, is_main_mem); + + if (dyn_p.is_valid != true) + { + return false; + } + + UCA * uca = new UCA(dyn_p); + + + if (flag_results_populate) + { //For the final solution, populate the ptr_results data structure -- TODO: copy only necessary variables + } + else + { + int num_act_mats_hor_dir = uca->bank.dp.num_act_mats_hor_dir; + int num_mats = uca->bank.dp.num_mats; + bool is_fa = uca->bank.dp.fully_assoc; + bool pure_cam = uca->bank.dp.pure_cam; + ptr_array->Ndwl = Ndwl; + ptr_array->Ndbl = Ndbl; + ptr_array->Nspd = Nspd; + ptr_array->deg_bl_muxing = dyn_p.deg_bl_muxing; + ptr_array->Ndsam_lev_1 = Ndsam_lev_1; + ptr_array->Ndsam_lev_2 = Ndsam_lev_2; + ptr_array->access_time = uca->access_time; + ptr_array->cycle_time = uca->cycle_time; + ptr_array->multisubbank_interleave_cycle_time = uca->multisubbank_interleave_cycle_time; + ptr_array->area_ram_cells = uca->area_all_dataramcells; + ptr_array->area = uca->area.get_area(); + if(g_ip->is_3d_mem) + { //ptr_array->area = (uca->area_all_dataramcells)/0.5; + ptr_array->area = uca->area.get_area(); + if(g_ip->num_die_3d>1) + ptr_array->area += uca->area_TSV_tot; + } + + ptr_array->height = uca->area.h; + ptr_array->width = uca->area.w; + ptr_array->mat_height = uca->bank.mat.area.h; + ptr_array->mat_length = uca->bank.mat.area.w; + ptr_array->subarray_height = uca->bank.mat.subarray.area.h; + ptr_array->subarray_length = uca->bank.mat.subarray.area.w; + ptr_array->power = uca->power; + ptr_array->delay_senseamp_mux_decoder = + MAX(uca->delay_array_to_sa_mux_lev_1_decoder, + uca->delay_array_to_sa_mux_lev_2_decoder); + ptr_array->delay_before_subarray_output_driver = uca->delay_before_subarray_output_driver; + ptr_array->delay_from_subarray_output_driver_to_output = uca->delay_from_subarray_out_drv_to_out; + + ptr_array->delay_route_to_bank = uca->htree_in_add->delay; + ptr_array->delay_input_htree = uca->bank.htree_in_add->delay; + ptr_array->delay_row_predecode_driver_and_block = uca->bank.mat.r_predec->delay; + ptr_array->delay_row_decoder = uca->bank.mat.row_dec->delay; + ptr_array->delay_bitlines = uca->bank.mat.delay_bitline; + ptr_array->delay_matchlines = uca->bank.mat.delay_matchchline; + ptr_array->delay_sense_amp = uca->bank.mat.delay_sa; + ptr_array->delay_subarray_output_driver = uca->bank.mat.delay_subarray_out_drv_htree; + ptr_array->delay_dout_htree = uca->bank.htree_out_data->delay; + ptr_array->delay_comparator = uca->bank.mat.delay_comparator; + + if(g_ip->is_3d_mem) + { + ptr_array->delay_row_activate_net = uca->membus_RAS->delay_bus; + ptr_array->delay_row_predecode_driver_and_block = uca->membus_RAS->delay_add_predecoder; + ptr_array->delay_row_decoder = uca->membus_RAS->delay_add_decoder; + ptr_array->delay_local_wordline = uca->membus_RAS->delay_lwl_drv; + ptr_array->delay_column_access_net = uca->membus_CAS->delay_bus; + ptr_array->delay_column_predecoder = uca->membus_CAS->delay_add_predecoder; + ptr_array->delay_column_decoder = uca->membus_CAS->delay_add_decoder; + ptr_array->delay_column_selectline = 0; // Integrated into add_decoder + ptr_array->delay_datapath_net = uca->membus_data->delay_bus; + ptr_array->delay_global_data = uca->membus_data->delay_global_data; + ptr_array->delay_local_data_and_drv = uca->membus_data->delay_local_data; + ptr_array->delay_subarray_output_driver = uca->bank.mat.delay_subarray_out_drv; + ptr_array->delay_data_buffer = uca->membus_data->delay_data_buffer; + + /*ptr_array->energy_row_activate_net = uca->membus_RAS->add_bits * (uca->membus_RAS->center_stripe->power.readOp.dynamic + uca->membus_RAS->bank_bus->power.readOp.dynamic); + ptr_array->energy_row_predecode_driver_and_block = uca->membus_RAS->add_predec->power.readOp.dynamic; + ptr_array->energy_row_decoder = uca->membus_RAS->add_dec->power.readOp.dynamic; + ptr_array->energy_local_wordline = uca->membus_RAS->num_lwl_drv * uca->membus_RAS->lwl_drv->power.readOp.dynamic; + ptr_array->energy_column_access_net = uca->membus_CAS->add_bits * (uca->membus_CAS->center_stripe->power.readOp.dynamic + uca->membus_CAS->bank_bus->power.readOp.dynamic); + ptr_array->energy_column_predecoder = uca->membus_CAS->add_predec->power.readOp.dynamic; + ptr_array->energy_column_decoder = uca->membus_CAS->add_dec->power.readOp.dynamic; + ptr_array->energy_column_selectline = uca->membus_CAS->column_sel->power.readOp.dynamic; + ptr_array->energy_datapath_net = uca->membus_data->data_bits * (uca->membus_data->center_stripe->power.readOp.dynamic + uca->membus_data->bank_bus->power.readOp.dynamic); + ptr_array->energy_global_data = uca->membus_data->data_bits * (uca->membus_data->global_data->power.readOp.dynamic); + ptr_array->energy_local_data_and_drv = uca->membus_data->data_bits * (uca->membus_data->data_drv->power.readOp.dynamic); + ptr_array->energy_data_buffer = 0;*/ + + ptr_array->energy_row_activate_net = uca->membus_RAS->power_bus.readOp.dynamic; + ptr_array->energy_row_predecode_driver_and_block = uca->membus_RAS->power_add_predecoder.readOp.dynamic; + ptr_array->energy_row_decoder = uca->membus_RAS->power_add_decoders.readOp.dynamic; + ptr_array->energy_local_wordline = uca->membus_RAS->power_lwl_drv.readOp.dynamic; + ptr_array->energy_bitlines = dyn_p.Ndwl * uca->bank.mat.power_bitline.readOp.dynamic; + ptr_array->energy_sense_amp = dyn_p.Ndwl * uca->bank.mat.power_sa.readOp.dynamic; + + ptr_array->energy_column_access_net = uca->membus_CAS->power_bus.readOp.dynamic; + ptr_array->energy_column_predecoder = uca->membus_CAS->power_add_predecoder.readOp.dynamic; + ptr_array->energy_column_decoder = uca->membus_CAS->power_add_decoders.readOp.dynamic; + ptr_array->energy_column_selectline = uca->membus_CAS->power_col_sel.readOp.dynamic; + + ptr_array->energy_datapath_net = uca->membus_data->power_bus.readOp.dynamic; + ptr_array->energy_global_data = uca->membus_data->power_global_data.readOp.dynamic; + ptr_array->energy_local_data_and_drv = uca->membus_data->power_local_data.readOp.dynamic; + ptr_array->energy_subarray_output_driver = uca->bank.mat.power_subarray_out_drv.readOp.dynamic; // + ptr_array->energy_data_buffer = 0; + + ptr_array->area_lwl_drv = uca->area_lwl_drv; + ptr_array->area_row_predec_dec = uca->area_row_predec_dec; + ptr_array->area_col_predec_dec = uca->area_col_predec_dec; + ptr_array->area_subarray = uca->area_subarray; + ptr_array->area_bus = uca->area_bus; + ptr_array->area_address_bus = uca->area_address_bus; + ptr_array->area_data_bus = uca->area_data_bus; + ptr_array->area_data_drv = uca->area_data_drv; + ptr_array->area_IOSA = uca->area_IOSA; + ptr_array->area_sense_amp = uca->area_sense_amp; + + } + + ptr_array->all_banks_height = uca->area.h; + ptr_array->all_banks_width = uca->area.w; + //ptr_array->area_efficiency = uca->area_all_dataramcells * 100 / (uca->area.get_area()); + ptr_array->area_efficiency = uca->area_all_dataramcells * 100 / ptr_array->area; + + ptr_array->power_routing_to_bank = uca->power_routing_to_bank; + ptr_array->power_addr_input_htree = uca->bank.htree_in_add->power; + ptr_array->power_data_input_htree = uca->bank.htree_in_data->power; +// cout<<"power_data_input_htree"<bank.htree_in_data->power.readOp.leakage<power_data_output_htree = uca->bank.htree_out_data->power; +// cout<<"power_data_output_htree"<bank.htree_out_data->power.readOp.leakage<power_row_predecoder_drivers = uca->bank.mat.r_predec->driver_power; + ptr_array->power_row_predecoder_drivers.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_row_predecoder_drivers.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_row_predecoder_drivers.searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_row_predecoder_blocks = uca->bank.mat.r_predec->block_power; + ptr_array->power_row_predecoder_blocks.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_row_predecoder_blocks.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_row_predecoder_blocks.searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_row_decoders = uca->bank.mat.power_row_decoders; + ptr_array->power_row_decoders.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_row_decoders.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_row_decoders.searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_bit_mux_predecoder_drivers = uca->bank.mat.b_mux_predec->driver_power; + ptr_array->power_bit_mux_predecoder_drivers.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_bit_mux_predecoder_drivers.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_bit_mux_predecoder_drivers.searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_bit_mux_predecoder_blocks = uca->bank.mat.b_mux_predec->block_power; + ptr_array->power_bit_mux_predecoder_blocks.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_bit_mux_predecoder_blocks.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_bit_mux_predecoder_blocks.searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_bit_mux_decoders = uca->bank.mat.power_bit_mux_decoders; + ptr_array->power_bit_mux_decoders.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_bit_mux_decoders.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_bit_mux_decoders.searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_senseamp_mux_lev_1_predecoder_drivers = uca->bank.mat.sa_mux_lev_1_predec->driver_power; + ptr_array->power_senseamp_mux_lev_1_predecoder_drivers .readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_senseamp_mux_lev_1_predecoder_drivers .writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_senseamp_mux_lev_1_predecoder_drivers .searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_senseamp_mux_lev_1_predecoder_blocks = uca->bank.mat.sa_mux_lev_1_predec->block_power; + ptr_array->power_senseamp_mux_lev_1_predecoder_blocks.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_senseamp_mux_lev_1_predecoder_blocks.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_senseamp_mux_lev_1_predecoder_blocks.searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_senseamp_mux_lev_1_decoders = uca->bank.mat.power_sa_mux_lev_1_decoders; + ptr_array->power_senseamp_mux_lev_1_decoders.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_senseamp_mux_lev_1_decoders.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_senseamp_mux_lev_1_decoders.searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_senseamp_mux_lev_2_predecoder_drivers = uca->bank.mat.sa_mux_lev_2_predec->driver_power; + ptr_array->power_senseamp_mux_lev_2_predecoder_drivers.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_senseamp_mux_lev_2_predecoder_drivers.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_senseamp_mux_lev_2_predecoder_drivers.searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_senseamp_mux_lev_2_predecoder_blocks = uca->bank.mat.sa_mux_lev_2_predec->block_power; + ptr_array->power_senseamp_mux_lev_2_predecoder_blocks.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_senseamp_mux_lev_2_predecoder_blocks.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_senseamp_mux_lev_2_predecoder_blocks.searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_senseamp_mux_lev_2_decoders = uca->bank.mat.power_sa_mux_lev_2_decoders; + ptr_array->power_senseamp_mux_lev_2_decoders .readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_senseamp_mux_lev_2_decoders .writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_senseamp_mux_lev_2_decoders .searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_bitlines = uca->bank.mat.power_bitline; + ptr_array->power_bitlines.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_bitlines.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_bitlines.searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_sense_amps = uca->bank.mat.power_sa; + ptr_array->power_sense_amps.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_sense_amps.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_sense_amps.searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_prechg_eq_drivers = uca->bank.mat.power_bl_precharge_eq_drv; + ptr_array->power_prechg_eq_drivers.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_prechg_eq_drivers.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_prechg_eq_drivers.searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_output_drivers_at_subarray = uca->bank.mat.power_subarray_out_drv; + ptr_array->power_output_drivers_at_subarray.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_output_drivers_at_subarray.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_output_drivers_at_subarray.searchOp.dynamic *= num_act_mats_hor_dir; + + ptr_array->power_comparators = uca->bank.mat.power_comparator; + ptr_array->power_comparators.readOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_comparators.writeOp.dynamic *= num_act_mats_hor_dir; + ptr_array->power_comparators.searchOp.dynamic *= num_act_mats_hor_dir; + +// cout << " num of mats: " << dyn_p.num_mats << endl; + if (is_fa || pure_cam) + { + ptr_array->power_htree_in_search = uca->bank.htree_in_search->power; +// cout<<"power_htree_in_search"<bank.htree_in_search->power.readOp.leakage<power_htree_out_search = uca->bank.htree_out_search->power; +// cout<<"power_htree_out_search"<bank.htree_out_search->power.readOp.leakage<power_searchline = uca->bank.mat.power_searchline; +// cout<<"power_searchlineh"<bank.mat.power_searchline.readOp.leakage<power_searchline.searchOp.dynamic *= num_mats; + ptr_array->power_searchline_precharge = uca->bank.mat.power_searchline_precharge; + ptr_array->power_searchline_precharge.searchOp.dynamic *= num_mats; + ptr_array->power_matchlines = uca->bank.mat.power_matchline; + ptr_array->power_matchlines.searchOp.dynamic *= num_mats; + ptr_array->power_matchline_precharge = uca->bank.mat.power_matchline_precharge; + ptr_array->power_matchline_precharge.searchOp.dynamic *= num_mats; + ptr_array->power_matchline_to_wordline_drv = uca->bank.mat.power_ml_to_ram_wl_drv; +// cout<<"power_matchline.searchOp.leakage"<bank.mat.power_matchline.searchOp.leakage<activate_energy = uca->activate_energy; + ptr_array->read_energy = uca->read_energy; + ptr_array->write_energy = uca->write_energy; + ptr_array->precharge_energy = uca->precharge_energy; + ptr_array->refresh_power = uca->refresh_power; + ptr_array->leak_power_subbank_closed_page = uca->leak_power_subbank_closed_page; + ptr_array->leak_power_subbank_open_page = uca->leak_power_subbank_open_page; + ptr_array->leak_power_request_and_reply_networks = uca->leak_power_request_and_reply_networks; + + ptr_array->precharge_delay = uca->precharge_delay; + + if(g_ip->is_3d_mem) + { + //CACTI3DD + ptr_array->t_RCD = uca->t_RCD; + ptr_array->t_RAS = uca->t_RAS; + ptr_array->t_RC = uca->t_RC; + ptr_array->t_CAS = uca->t_CAS; + ptr_array->t_RP = uca->t_RP; + ptr_array->t_RRD = uca->t_RRD; + + ptr_array->activate_energy = uca->activate_energy; + ptr_array->read_energy = uca->read_energy; + ptr_array->write_energy = uca->write_energy; + ptr_array->precharge_energy = uca->precharge_energy; + + + ptr_array->activate_power = uca->activate_power; + ptr_array->read_power = uca->read_power; + ptr_array->write_power = uca->write_power; + ptr_array->peak_read_power = uca->read_energy/((g_ip->burst_depth)/(g_ip->sys_freq_MHz*1e6)/2); + + ptr_array->num_row_subarray = dyn_p.num_r_subarray; + ptr_array->num_col_subarray = dyn_p.num_c_subarray; + + + ptr_array->delay_TSV_tot = uca->delay_TSV_tot; + ptr_array->area_TSV_tot = uca->area_TSV_tot; + ptr_array->dyn_pow_TSV_tot = uca->dyn_pow_TSV_tot; + ptr_array->dyn_pow_TSV_per_access = uca->dyn_pow_TSV_per_access; + ptr_array->num_TSV_tot = uca->num_TSV_tot; + + //Covers the previous values + //ptr_array->area = g_ip->num_die_3d * (uca->area_per_bank * g_ip->nbanks); + //ptr_array->area_efficiency = g_ip->num_die_3d * uca->area_all_dataramcells * 100 / ptr_array->area; + } +// cout<<"power_matchline.searchOp.leakage"<bank.mat.<bank.mat.subarray.get_total_cell_area()<power_gating) + { + ptr_array->sram_sleep_tx_width= uca->bank.mat.sram_sleep_tx->width; + ptr_array->sram_sleep_tx_area= uca->bank.mat.array_sleep_tx_area; + ptr_array->sram_sleep_wakeup_latency= uca->bank.mat.array_wakeup_t; + ptr_array->sram_sleep_wakeup_energy= uca->bank.mat.array_wakeup_e.readOp.dynamic; + + ptr_array->wl_sleep_tx_width= uca->bank.mat.row_dec->sleeptx->width; + ptr_array->wl_sleep_tx_area= uca->bank.mat.wl_sleep_tx_area; + ptr_array->wl_sleep_wakeup_latency= uca->bank.mat.wl_wakeup_t; + ptr_array->wl_sleep_wakeup_energy= uca->bank.mat.wl_wakeup_e.readOp.dynamic; + + ptr_array->bl_floating_wakeup_latency= uca->bank.mat.blfloating_wakeup_t; + ptr_array->bl_floating_wakeup_energy= uca->bank.mat.blfloating_wakeup_e.readOp.dynamic; + + ptr_array->array_leakage= uca->bank.array_leakage; + ptr_array->wl_leakage= uca->bank.wl_leakage; + ptr_array->cl_leakage= uca->bank.cl_leakage; + } + + ptr_array->num_active_mats = uca->bank.dp.num_act_mats_hor_dir; + ptr_array->num_submarray_mats = uca->bank.mat.num_subarrays_per_mat; + // cout<<"array_leakage"<array_leakage<wl_leakage<cl_leakage<min_delay)*100/minval->min_delay) > g_ip->delay_dev) { + return false; + } + if (((u.power.readOp.dynamic - minval->min_dyn)/minval->min_dyn)*100 > + g_ip->dynamic_power_dev) { + return false; + } + if (((u.power.readOp.leakage - minval->min_leakage)/minval->min_leakage)*100 > + g_ip->leakage_power_dev) { + return false; + } + if (((u.cycle_time - minval->min_cyc)/minval->min_cyc)*100 > + g_ip->cycle_time_dev) { + return false; + } + if (((u.area - minval->min_area)/minval->min_area)*100 > + g_ip->area_dev) { + return false; + } + return true; +} + +bool check_mem_org(mem_array & u, const min_values_t *minval) +{ + if (((u.access_time - minval->min_delay)*100/minval->min_delay) > g_ip->delay_dev) { + return false; + } + if (((u.power.readOp.dynamic - minval->min_dyn)/minval->min_dyn)*100 > + g_ip->dynamic_power_dev) { + return false; + } + if (((u.power.readOp.leakage - minval->min_leakage)/minval->min_leakage)*100 > + g_ip->leakage_power_dev) { + return false; + } + if (((u.cycle_time - minval->min_cyc)/minval->min_cyc)*100 > + g_ip->cycle_time_dev) { + return false; + } + if (((u.area - minval->min_area)/minval->min_area)*100 > + g_ip->area_dev) { + return false; + } + return true; +} + + + + +void find_optimal_uca(uca_org_t *res, min_values_t * minval, list & ulist) +{ + double cost = 0; + double min_cost = BIGNUM; + float d, a, dp, lp, c; + + dp = g_ip->dynamic_power_wt; + lp = g_ip->leakage_power_wt; + a = g_ip->area_wt; + d = g_ip->delay_wt; + c = g_ip->cycle_time_wt; + + if (ulist.empty() == true) + { + cout << "ERROR: no valid cache organizations found" << endl; + exit(0); + } + + for (list::iterator niter = ulist.begin(); niter != ulist.end(); niter++) + { + if (g_ip->ed == 1) + { + cost = ((niter)->access_time/minval->min_delay) * ((niter)->power.readOp.dynamic/minval->min_dyn); + if (min_cost > cost) + { + min_cost = cost; + *res = (*(niter)); + } + } + else if (g_ip->ed == 2) + { + cost = ((niter)->access_time/minval->min_delay)* + ((niter)->access_time/minval->min_delay)* + ((niter)->power.readOp.dynamic/minval->min_dyn); + if (min_cost > cost) + { + min_cost = cost; + *res = (*(niter)); + } + } + else + { + /* + * check whether the current organization + * meets the input deviation constraints + */ + bool v = check_uca_org(*niter, minval); + //if (minval->min_leakage == 0) minval->min_leakage = 0.1; //FIXME remove this after leakage modeling + + if (v) + { + cost = (d * ((niter)->access_time/minval->min_delay) + + c * ((niter)->cycle_time/minval->min_cyc) + + dp * ((niter)->power.readOp.dynamic/minval->min_dyn) + + lp * ((niter)->power.readOp.leakage/minval->min_leakage) + + a * ((niter)->area/minval->min_area)); + //fprintf(stderr, "cost = %g\n", cost); + + if (min_cost > cost) { + min_cost = cost; + *res = (*(niter)); + niter = ulist.erase(niter); + if (niter!=ulist.begin()) + niter--; + } + } + else { + niter = ulist.erase(niter); + if (niter!=ulist.begin()) + niter--; + } + } + } + + if (min_cost == BIGNUM) + { + cout << "ERROR: no cache organizations met optimization criteria" << endl; + exit(0); + } +} + + + +void filter_tag_arr(const min_values_t * min, list & list) +{ + double cost = BIGNUM; + double cur_cost; + double wt_delay = g_ip->delay_wt, wt_dyn = g_ip->dynamic_power_wt, wt_leakage = g_ip->leakage_power_wt, wt_cyc = g_ip->cycle_time_wt, wt_area = g_ip->area_wt; + mem_array * res = NULL; + + if (list.empty() == true) + { + cout << "ERROR: no valid tag organizations found" << endl; + exit(1); + } + + + while (list.empty() != true) + { + bool v = check_mem_org(*list.back(), min); + if (v) + { + cur_cost = wt_delay * (list.back()->access_time/min->min_delay) + + wt_dyn * (list.back()->power.readOp.dynamic/min->min_dyn) + + wt_leakage * (list.back()->power.readOp.leakage/min->min_leakage) + + wt_area * (list.back()->area/min->min_area) + + wt_cyc * (list.back()->cycle_time/min->min_cyc); + } + else + { + cur_cost = BIGNUM; + } + if (cur_cost < cost) + { + if (res != NULL) + { + delete res; + } + cost = cur_cost; + res = list.back(); + } + else + { + delete list.back(); + } + list.pop_back(); + } + if(!res) + { + cout << "ERROR: no valid tag organizations found" << endl; + exit(0); + } + + list.push_back(res); +} + + + +void filter_data_arr(list & curr_list) +{ + if (curr_list.empty() == true) + { + cout << "ERROR: no valid data array organizations found" << endl; + exit(1); + } + + list::iterator iter; + + for (iter = curr_list.begin(); iter != curr_list.end(); ++iter) + { + mem_array * m = *iter; + + if (m == NULL) exit(1); + + if(((m->access_time - m->arr_min->min_delay)/m->arr_min->min_delay > 0.5) && + ((m->power.readOp.dynamic - m->arr_min->min_dyn)/m->arr_min->min_dyn > 0.5)) + { + delete m; + iter = curr_list.erase(iter); + iter --; + } + } +} + + + +/* + * Performs exhaustive search across different sub-array sizes, + * wire types and aspect ratios to find an optimal UCA organization + * 1. First different valid tag array organizations are calculated + * and stored in tag_arr array + * 2. The exhaustive search is repeated to find valid data array + * organizations and stored in data_arr array + * 3. Cache area, delay, power, and cycle time for different + * cache organizations are calculated based on the + * above results + * 4. Cache model with least cost is picked from sol_list + */ +void solve(uca_org_t *fin_res) +{ + ///bool is_dram = false; + int pure_ram = g_ip->pure_ram; + bool pure_cam = g_ip->pure_cam; + + init_tech_params(g_ip->F_sz_um, false); + g_ip->print_detail_debug = 0; // ---detail outputs for debug, initiated for 3D memory + + list tag_arr (0); + list data_arr(0); + list::iterator miter; + list sol_list(1, uca_org_t()); + + fin_res->tag_array.access_time = 0; + fin_res->tag_array.Ndwl = 0; + fin_res->tag_array.Ndbl = 0; + fin_res->tag_array.Nspd = 0; + fin_res->tag_array.deg_bl_muxing = 0; + fin_res->tag_array.Ndsam_lev_1 = 0; + fin_res->tag_array.Ndsam_lev_2 = 0; + + + // distribute calculate_time() execution to multiple threads + calc_time_mt_wrapper_struct * calc_array = new calc_time_mt_wrapper_struct[nthreads]; + pthread_t threads[nthreads]; + + for (uint32_t t = 0; t < nthreads; t++) + { + calc_array[t].tid = t; + calc_array[t].pure_ram = pure_ram; + calc_array[t].pure_cam = pure_cam; + calc_array[t].data_res = new min_values_t(); + calc_array[t].tag_res = new min_values_t(); + } + + bool is_tag; + ///uint32_t ram_cell_tech_type; + + // If it's a cache, first calculate the area, delay and power for all tag array partitions. + if (!(pure_ram||pure_cam||g_ip->fully_assoc)) + { //cache + is_tag = true; + /// ram_cell_tech_type = g_ip->tag_arr_ram_cell_tech_type; + /// is_dram = ((ram_cell_tech_type == lp_dram) || (ram_cell_tech_type == comm_dram)); + init_tech_params(g_ip->F_sz_um, is_tag); + + for (uint32_t t = 0; t < nthreads; t++) + { + calc_array[t].is_tag = is_tag; + calc_array[t].is_main_mem = false; + calc_array[t].Nspd_min = 0.125; + pthread_create(&threads[t], NULL, calc_time_mt_wrapper, (void *)(&(calc_array[t]))); + } + + for (uint32_t t = 0; t < nthreads; t++) + { + pthread_join(threads[t], NULL); + } + + for (uint32_t t = 0; t < nthreads; t++) + { + calc_array[t].data_arr.sort(mem_array::lt); + data_arr.merge(calc_array[t].data_arr, mem_array::lt); + calc_array[t].tag_arr.sort(mem_array::lt); + tag_arr.merge(calc_array[t].tag_arr, mem_array::lt); + } + } + + + // calculate the area, delay and power for all data array partitions (for cache or plain RAM). +// if (!g_ip->fully_assoc) +// {//in the new cacti, cam, fully_associative cache are processed as single array in the data portion + is_tag = false; + /// ram_cell_tech_type = g_ip->data_arr_ram_cell_tech_type; + /// is_dram = ((ram_cell_tech_type == lp_dram) || (ram_cell_tech_type == comm_dram)); + init_tech_params(g_ip->F_sz_um, is_tag); + + for (uint32_t t = 0; t < nthreads; t++) + { + calc_array[t].is_tag = is_tag; + calc_array[t].is_main_mem = g_ip->is_main_mem; + if (!(pure_cam||g_ip->fully_assoc)) + { + calc_array[t].Nspd_min = (double)(g_ip->out_w)/(double)(g_ip->block_sz*8); + } + else + { + calc_array[t].Nspd_min = 1; + } + + pthread_create(&threads[t], NULL, calc_time_mt_wrapper, (void *)(&(calc_array[t]))); + } + + for (uint32_t t = 0; t < nthreads; t++) + { + pthread_join(threads[t], NULL); + } + + data_arr.clear(); + for (uint32_t t = 0; t < nthreads; t++) + { + calc_array[t].data_arr.sort(mem_array::lt); + data_arr.merge(calc_array[t].data_arr, mem_array::lt); + } +// } + + + min_values_t * d_min = new min_values_t(); + min_values_t * t_min = new min_values_t(); + min_values_t * cache_min = new min_values_t(); + + for (uint32_t t = 0; t < nthreads; t++) + { + d_min->update_min_values(calc_array[t].data_res); + t_min->update_min_values(calc_array[t].tag_res); + } + + for (miter = data_arr.begin(); miter != data_arr.end(); miter++) + { + (*miter)->arr_min = d_min; + } + + + //cout << data_arr.size() << "\t" << tag_arr.size() <<" before\n"; + filter_data_arr(data_arr); + if(!(pure_ram||pure_cam||g_ip->fully_assoc)) + { + filter_tag_arr(t_min, tag_arr); + } + //cout << data_arr.size() << "\t" << tag_arr.size() <<" after\n"; + + + if (pure_ram||pure_cam||g_ip->fully_assoc) + { + for (miter = data_arr.begin(); miter != data_arr.end(); miter++) + { + uca_org_t & curr_org = sol_list.back(); + curr_org.tag_array2 = NULL; + curr_org.data_array2 = (*miter); + + curr_org.find_delay(); + curr_org.find_energy(); + curr_org.find_area(); + curr_org.find_cyc(); + + //update min values for the entire cache + cache_min->update_min_values(curr_org); + + sol_list.push_back(uca_org_t()); + } + } + else + { + while (tag_arr.empty() != true) + { + mem_array * arr_temp = (tag_arr.back()); + //delete tag_arr.back(); + tag_arr.pop_back(); + + for (miter = data_arr.begin(); miter != data_arr.end(); miter++) + { + uca_org_t & curr_org = sol_list.back(); + curr_org.tag_array2 = arr_temp; + curr_org.data_array2 = (*miter); + + curr_org.find_delay(); + curr_org.find_energy(); + curr_org.find_area(); + curr_org.find_cyc(); + + //update min values for the entire cache + cache_min->update_min_values(curr_org); + + sol_list.push_back(uca_org_t()); + } + } + } + + sol_list.pop_back(); + + find_optimal_uca(fin_res, cache_min, sol_list); + + sol_list.clear(); + + for (miter = data_arr.begin(); miter != data_arr.end(); ++miter) + { + if (*miter != fin_res->data_array2) + { + delete *miter; + } + } + data_arr.clear(); + + for (uint32_t t = 0; t < nthreads; t++) + { + delete calc_array[t].data_res; + delete calc_array[t].tag_res; + } + + delete [] calc_array; + delete cache_min; + delete d_min; + delete t_min; +} + +void update(uca_org_t *fin_res) +{ + if(fin_res->tag_array2) + { + init_tech_params(g_ip->F_sz_um,true); + DynamicParameter tag_arr_dyn_p(true, g_ip->pure_ram, g_ip->pure_cam, fin_res->tag_array2->Nspd, fin_res->tag_array2->Ndwl, fin_res->tag_array2->Ndbl, fin_res->tag_array2->Ndcm, fin_res->tag_array2->Ndsam_lev_1, fin_res->tag_array2->Ndsam_lev_2, fin_res->data_array2->wt, g_ip->is_main_mem); + if(tag_arr_dyn_p.is_valid) + { + UCA * tag_arr = new UCA(tag_arr_dyn_p); + fin_res->tag_array2->power = tag_arr->power; + } + else + { + cout << "ERROR: Cannot retrieve array structure for leakage feedback" << endl; + exit(1); + } + } + init_tech_params(g_ip->F_sz_um,false); + DynamicParameter data_arr_dyn_p(false, g_ip->pure_ram, g_ip->pure_cam, fin_res->data_array2->Nspd, fin_res->data_array2->Ndwl, fin_res->data_array2->Ndbl, fin_res->data_array2->Ndcm, fin_res->data_array2->Ndsam_lev_1, fin_res->data_array2->Ndsam_lev_2, fin_res->data_array2->wt, g_ip->is_main_mem); + if(data_arr_dyn_p.is_valid) + { + UCA * data_arr = new UCA(data_arr_dyn_p); + fin_res->data_array2->power = data_arr->power; + } + else + { + cout << "ERROR: Cannot retrieve array structure for leakage feedback" << endl; + exit(1); + } + + fin_res->find_energy(); +} + diff --git a/T1/TP1/cacti-master/Ucache.h b/T1/TP1/cacti-master/Ucache.h new file mode 100644 index 0000000..bfa1a30 --- /dev/null +++ b/T1/TP1/cacti-master/Ucache.h @@ -0,0 +1,118 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + +#ifndef __UCACHE_H__ +#define __UCACHE_H__ + +#include +#include "area.h" +#include "router.h" +#include "nuca.h" + + +class min_values_t +{ + public: + double min_delay; + double min_dyn; + double min_leakage; + double min_area; + double min_cyc; + + min_values_t() : min_delay(BIGNUM), min_dyn(BIGNUM), min_leakage(BIGNUM), min_area(BIGNUM), min_cyc(BIGNUM) { } + + void update_min_values(const min_values_t * val); + void update_min_values(const uca_org_t & res); + void update_min_values(const nuca_org_t * res); + void update_min_values(const mem_array * res); +}; + + + +struct solution +{ + int tag_array_index; + int data_array_index; + list::iterator tag_array_iter; + list::iterator data_array_iter; + double access_time; + double cycle_time; + double area; + double efficiency; + powerDef total_power; +}; + + + +bool calculate_time( + bool is_tag, + int pure_ram, + bool pure_cam, + double Nspd, + unsigned int Ndwl, + unsigned int Ndbl, + unsigned int Ndcm, + unsigned int Ndsam_lev_1, + unsigned int Ndsam_lev_2, + mem_array *ptr_array, + int flag_results_populate, + results_mem_array *ptr_results, + uca_org_t *ptr_fin_res, + Wire_type wtype, // merge from cacti-7 to cacti3d + bool is_main_mem); +void update(uca_org_t *fin_res); + +void solve(uca_org_t *fin_res); +void init_tech_params(double tech, bool is_tag); + + +struct calc_time_mt_wrapper_struct +{ + uint32_t tid; + bool is_tag; + bool pure_ram; + bool pure_cam; + bool is_main_mem; + double Nspd_min; + + min_values_t * data_res; + min_values_t * tag_res; + + list data_arr; + list tag_arr; +}; + +void *calc_time_mt_wrapper(void * void_obj); + +void print_g_tp(); + +#endif diff --git a/T1/TP1/cacti-master/arbiter.cc b/T1/TP1/cacti-master/arbiter.cc new file mode 100644 index 0000000..f09dcb7 --- /dev/null +++ b/T1/TP1/cacti-master/arbiter.cc @@ -0,0 +1,130 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + +#include "arbiter.h" + +Arbiter::Arbiter( + double n_req, + double flit_size_, + double output_len, + /*TechnologyParameter::*/DeviceType *dt + ):R(n_req), flit_size(flit_size_), + o_len (output_len), deviceType(dt) +{ + min_w_pmos = deviceType->n_to_p_eff_curr_drv_ratio*g_tp.min_w_nmos_; + Vdd = dt->Vdd; + double technology = g_ip->F_sz_um; + NTn1 = 13.5*technology/2; + PTn1 = 76*technology/2; + NTn2 = 13.5*technology/2; + PTn2 = 76*technology/2; + NTi = 12.5*technology/2; + PTi = 25*technology/2; + NTtr = 10*technology/2; /*Transmission gate's nmos tr. length*/ + PTtr = 20*technology/2; /* pmos tr. length*/ +} + +Arbiter::~Arbiter(){} + +double +Arbiter::arb_req() { + double temp = ((R-1)*(2*gate_C(NTn1, 0)+gate_C(PTn1, 0)) + 2*gate_C(NTn2, 0) + + gate_C(PTn2, 0) + gate_C(NTi, 0) + gate_C(PTi, 0) + + drain_C_(NTi, 0, 1, 1, g_tp.cell_h_def) + drain_C_(PTi, 1, 1, 1, g_tp.cell_h_def)); + return temp; +} + +double +Arbiter::arb_pri() { + double temp = 2*(2*gate_C(NTn1, 0)+gate_C(PTn1, 0)); /* switching capacitance + of flip-flop is ignored */ + return temp; +} + + +double +Arbiter::arb_grant() { + double temp = drain_C_(NTn1, 0, 1, 1, g_tp.cell_h_def)*2 + drain_C_(PTn1, 1, 1, 1, g_tp.cell_h_def) + crossbar_ctrline(); + return temp; +} + +double +Arbiter::arb_int() { + double temp = (drain_C_(NTn1, 0, 1, 1, g_tp.cell_h_def)*2 + drain_C_(PTn1, 1, 1, 1, g_tp.cell_h_def) + + 2*gate_C(NTn2, 0) + gate_C(PTn2, 0)); + return temp; +} + +void +Arbiter::compute_power() { + power.readOp.dynamic = (R*arb_req()*Vdd*Vdd/2 + R*arb_pri()*Vdd*Vdd/2 + + arb_grant()*Vdd*Vdd + arb_int()*0.5*Vdd*Vdd); + double nor1_leak = cmos_Isub_leakage(g_tp.min_w_nmos_*NTn1*2, min_w_pmos * PTn1*2, 2, nor); + double nor2_leak = cmos_Isub_leakage(g_tp.min_w_nmos_*NTn2*R, min_w_pmos * PTn2*R, 2, nor); + double not_leak = cmos_Isub_leakage(g_tp.min_w_nmos_*NTi, min_w_pmos * PTi, 1, inv); + double nor1_leak_gate = cmos_Ig_leakage(g_tp.min_w_nmos_*NTn1*2, min_w_pmos * PTn1*2, 2, nor); + double nor2_leak_gate = cmos_Ig_leakage(g_tp.min_w_nmos_*NTn2*R, min_w_pmos * PTn2*R, 2, nor); + double not_leak_gate = cmos_Ig_leakage(g_tp.min_w_nmos_*NTi, min_w_pmos * PTi, 1, inv); + power.readOp.leakage = (nor1_leak + nor2_leak + not_leak)*Vdd; //FIXME include priority table leakage + power.readOp.gate_leakage = nor1_leak_gate*Vdd + nor2_leak_gate*Vdd + not_leak_gate*Vdd; +} + +double //wire cap with triple spacing +Arbiter::Cw3(double length) { + Wire wc(g_ip->wt, length, 1, 3, 3); + double temp = (wc.wire_cap(length,true)); + return temp; +} + +double +Arbiter::crossbar_ctrline() { + double temp = (Cw3(o_len * 1e-6 /* m */) + + drain_C_(NTi, 0, 1, 1, g_tp.cell_h_def) + drain_C_(PTi, 1, 1, 1, g_tp.cell_h_def) + + gate_C(NTi, 0) + gate_C(PTi, 0)); + return temp; +} + +double +Arbiter::transmission_buf_ctrcap() { + double temp = gate_C(NTtr, 0)+gate_C(PTtr, 0); + return temp; +} + + +void Arbiter::print_arbiter() +{ + cout << "\nArbiter Stats (" << R << " input arbiter" << ")\n\n"; + cout << "Flit size : " << flit_size << " bits" << endl; + cout << "Dynamic Power : " << power.readOp.dynamic*1e9 << " (nJ)" << endl; + cout << "Leakage Power : " << power.readOp.leakage*1e3 << " (mW)" << endl; +} + + diff --git a/T1/TP1/cacti-master/arbiter.h b/T1/TP1/cacti-master/arbiter.h new file mode 100644 index 0000000..8358e95 --- /dev/null +++ b/T1/TP1/cacti-master/arbiter.h @@ -0,0 +1,77 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + +#ifndef __ARBITER__ +#define __ARBITER__ + +#include +#include +#include "basic_circuit.h" +#include "cacti_interface.h" +#include "component.h" +#include "parameter.h" +#include "mat.h" +#include "wire.h" + +class Arbiter : public Component +{ + public: + Arbiter( + double Req, + double flit_sz, + double output_len, + /*TechnologyParameter::*/DeviceType *dt = &(g_tp.peri_global)); + ~Arbiter(); + + void print_arbiter(); + double arb_req(); + double arb_pri(); + double arb_grant(); + double arb_int(); + void compute_power(); + double Cw3(double len); + double crossbar_ctrline(); + double transmission_buf_ctrcap(); + + + + private: + double NTn1, PTn1, NTn2, PTn2, R, PTi, NTi; + double flit_size; + double NTtr, PTtr; + double o_len; + /*TechnologyParameter::*/DeviceType *deviceType; + double TriS1, TriS2; + double min_w_pmos, Vdd; + +}; + +#endif diff --git a/T1/TP1/cacti-master/area.cc b/T1/TP1/cacti-master/area.cc new file mode 100644 index 0000000..d6a3746 --- /dev/null +++ b/T1/TP1/cacti-master/area.cc @@ -0,0 +1,46 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#include "area.h" +#include "component.h" +#include "decoder.h" +#include "parameter.h" +#include "basic_circuit.h" +#include +#include +#include + +using namespace std; + + + diff --git a/T1/TP1/cacti-master/area.h b/T1/TP1/cacti-master/area.h new file mode 100644 index 0000000..a592dbc --- /dev/null +++ b/T1/TP1/cacti-master/area.h @@ -0,0 +1,71 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#ifndef __AREA_H__ +#define __AREA_H__ + +#include "cacti_interface.h" +#include "basic_circuit.h" + +using namespace std; + +class Area +{ + public: + double w; + double h; + + Area():w(0), h(0), area(0) { } + double get_w() const { return w; } + double get_h() const { return h; } + double get_area() const + { + if (w == 0 && h == 0) + { + return area; + } + else + { + return w*h; + } + } + void set_w(double w_) { w = w_; } + void set_h(double h_) { h = h_; } + void set_area(double a_) { area = a_; } + + private: + double area; +}; + +#endif + diff --git a/T1/TP1/cacti-master/bank.cc b/T1/TP1/cacti-master/bank.cc new file mode 100644 index 0000000..e7e5d81 --- /dev/null +++ b/T1/TP1/cacti-master/bank.cc @@ -0,0 +1,206 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#include "bank.h" +#include + + +Bank::Bank(const DynamicParameter & dyn_p): + dp(dyn_p), mat(dp), + num_addr_b_mat(dyn_p.number_addr_bits_mat), + num_mats_hor_dir(dyn_p.num_mats_h_dir), num_mats_ver_dir(dyn_p.num_mats_v_dir), + array_leakage(0), + wl_leakage(0), + cl_leakage(0) +{ +// Mat temp(dyn_p); + int RWP; + int ERP; + int EWP; + int SCHP; + + if (dp.use_inp_params) + { + RWP = dp.num_rw_ports; + ERP = dp.num_rd_ports; + EWP = dp.num_wr_ports; + SCHP = dp.num_search_ports; + } + else + { + RWP = g_ip->num_rw_ports; + ERP = g_ip->num_rd_ports; + EWP = g_ip->num_wr_ports; + SCHP = g_ip->num_search_ports; + } + + int total_addrbits = (dp.number_addr_bits_mat + dp.number_subbanks_decode)*(RWP+ERP+EWP); + int datainbits = dp.num_di_b_bank_per_port * (RWP + EWP); + int dataoutbits = dp.num_do_b_bank_per_port * (RWP + ERP); + int searchinbits; + int searchoutbits; + + if (dp.fully_assoc || dp.pure_cam) + { + datainbits = dp.num_di_b_bank_per_port * (RWP + EWP); + dataoutbits = dp.num_do_b_bank_per_port * (RWP + ERP); + searchinbits = dp.num_si_b_bank_per_port * SCHP; + searchoutbits = dp.num_so_b_bank_per_port * SCHP; + } + + if (!(dp.fully_assoc || dp.pure_cam)) + { + if (g_ip->fast_access && dp.is_tag == false) + { + dataoutbits *= g_ip->data_assoc; + } + + htree_in_add = new Htree2 (dp.wtype/*g_ip->wt*/,(double) mat.area.w, (double)mat.area.h, + total_addrbits, datainbits, 0,dataoutbits,0, num_mats_ver_dir*2, num_mats_hor_dir*2, Add_htree); + htree_in_data = new Htree2 (dp.wtype/*g_ip->wt*/,(double) mat.area.w, (double)mat.area.h, + total_addrbits, datainbits, 0,dataoutbits,0, num_mats_ver_dir*2, num_mats_hor_dir*2, Data_in_htree); + htree_out_data = new Htree2 (dp.wtype/*g_ip->wt*/,(double) mat.area.w, (double)mat.area.h, + total_addrbits, datainbits, 0,dataoutbits,0, num_mats_ver_dir*2, num_mats_hor_dir*2, Data_out_htree); + +// htree_out_data = new Htree2 (g_ip->wt,(double) 100, (double)100, +// total_addrbits, datainbits, 0,dataoutbits,0, num_mats_ver_dir*2, num_mats_hor_dir*2, Data_out_htree); + + area.w = htree_in_data->area.w; + area.h = htree_in_data->area.h; + } + else + { + htree_in_add = new Htree2 (dp.wtype/*g_ip->wt*/,(double) mat.area.w, (double)mat.area.h, + total_addrbits, datainbits, searchinbits,dataoutbits,searchoutbits, num_mats_ver_dir*2, num_mats_hor_dir*2, Add_htree); + htree_in_data = new Htree2 (dp.wtype/*g_ip->wt*/,(double) mat.area.w, (double)mat.area.h, + total_addrbits, datainbits,searchinbits, dataoutbits, searchoutbits, num_mats_ver_dir*2, num_mats_hor_dir*2, Data_in_htree); + htree_out_data = new Htree2 (dp.wtype/*g_ip->wt*/,(double) mat.area.w, (double)mat.area.h, + total_addrbits, datainbits,searchinbits, dataoutbits, searchoutbits,num_mats_ver_dir*2, num_mats_hor_dir*2, Data_out_htree); + htree_in_search = new Htree2 (dp.wtype/*g_ip->wt*/,(double) mat.area.w, (double)mat.area.h, + total_addrbits, datainbits,searchinbits, dataoutbits, searchoutbits, num_mats_ver_dir*2, num_mats_hor_dir*2, Data_in_htree,true, true); + htree_out_search = new Htree2 (dp.wtype/*g_ip->wt*/,(double) mat.area.w, (double)mat.area.h, + total_addrbits, datainbits,searchinbits, dataoutbits, searchoutbits,num_mats_ver_dir*2, num_mats_hor_dir*2, Data_out_htree,true); + + area.w = htree_in_data->area.w; + area.h = htree_in_data->area.h; + } + + num_addr_b_row_dec = _log2(mat.subarray.num_rows); + num_addr_b_routed_to_mat_for_act = num_addr_b_row_dec; + num_addr_b_routed_to_mat_for_rd_or_wr = num_addr_b_mat - num_addr_b_row_dec; +} + + + +Bank::~Bank() +{ + delete htree_in_add; + delete htree_out_data; + delete htree_in_data; + if (dp.fully_assoc || dp.pure_cam) + { + delete htree_in_search; + delete htree_out_search; + } +} + + + +double Bank::compute_delays(double inrisetime) +{ + return mat.compute_delays(inrisetime); +} + + + +void Bank::compute_power_energy() +{ + mat.compute_power_energy(); + + if (!(dp.fully_assoc || dp.pure_cam)) + { + power.readOp.dynamic += mat.power.readOp.dynamic * dp.num_act_mats_hor_dir; + power.readOp.leakage += mat.power.readOp.leakage * dp.num_mats; + power.readOp.gate_leakage += mat.power.readOp.gate_leakage * dp.num_mats; + + power.readOp.dynamic += htree_in_add->power.readOp.dynamic; + power.readOp.dynamic += htree_out_data->power.readOp.dynamic; + + array_leakage += mat.array_leakage*dp.num_mats; + wl_leakage += mat.wl_leakage*dp.num_mats; + cl_leakage += mat.cl_leakage*dp.num_mats; +// +// power.readOp.leakage += htree_in_add->power.readOp.leakage; +// power.readOp.leakage += htree_in_data->power.readOp.leakage; +// power.readOp.leakage += htree_out_data->power.readOp.leakage; +// power.readOp.gate_leakage += htree_in_add->power.readOp.gate_leakage; +// power.readOp.gate_leakage += htree_in_data->power.readOp.gate_leakage; +// power.readOp.gate_leakage += htree_out_data->power.readOp.gate_leakage; + } + else + { + + power.readOp.dynamic += mat.power.readOp.dynamic ;//for fa and cam num_act_mats_hor_dir is 1 for plain r/w + power.readOp.leakage += mat.power.readOp.leakage * dp.num_mats; + power.readOp.gate_leakage += mat.power.readOp.gate_leakage * dp.num_mats; + + power.searchOp.dynamic += mat.power.searchOp.dynamic * dp.num_mats; + power.searchOp.dynamic += mat.power_bl_precharge_eq_drv.searchOp.dynamic + + mat.power_sa.searchOp.dynamic + + mat.power_bitline.searchOp.dynamic + + mat.power_subarray_out_drv.searchOp.dynamic+ + mat.ml_to_ram_wl_drv->power.readOp.dynamic; + + power.readOp.dynamic += htree_in_add->power.readOp.dynamic; + power.readOp.dynamic += htree_out_data->power.readOp.dynamic; + + power.searchOp.dynamic += htree_in_search->power.searchOp.dynamic; + power.searchOp.dynamic += htree_out_search->power.searchOp.dynamic; + + power.readOp.leakage += htree_in_add->power.readOp.leakage; + power.readOp.leakage += htree_in_data->power.readOp.leakage; + power.readOp.leakage += htree_out_data->power.readOp.leakage; + power.readOp.leakage += htree_in_search->power.readOp.leakage; + power.readOp.leakage += htree_out_search->power.readOp.leakage; + + + power.readOp.gate_leakage += htree_in_add->power.readOp.gate_leakage; + power.readOp.gate_leakage += htree_in_data->power.readOp.gate_leakage; + power.readOp.gate_leakage += htree_out_data->power.readOp.gate_leakage; + power.readOp.gate_leakage += htree_in_search->power.readOp.gate_leakage; + power.readOp.gate_leakage += htree_out_search->power.readOp.gate_leakage; + + } + +} + diff --git a/T1/TP1/cacti-master/bank.h b/T1/TP1/cacti-master/bank.h new file mode 100644 index 0000000..e12665f --- /dev/null +++ b/T1/TP1/cacti-master/bank.h @@ -0,0 +1,74 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#ifndef __BANK_H__ +#define __BANK_H__ + +#include "component.h" +#include "decoder.h" +#include "mat.h" +#include "htree2.h" + + +class Bank : public Component +{ + public: + Bank(const DynamicParameter & dyn_p); + ~Bank(); + double compute_delays(double inrisetime); // return outrisetime + void compute_power_energy(); + + const DynamicParameter & dp; + Mat mat; + Htree2 *htree_in_add; + Htree2 *htree_in_data; + Htree2 *htree_out_data; + Htree2 *htree_in_search; + Htree2 *htree_out_search; + + int num_addr_b_mat; + int num_mats_hor_dir; + int num_mats_ver_dir; + + int num_addr_b_row_dec; + int num_addr_b_routed_to_mat_for_act; + int num_addr_b_routed_to_mat_for_rd_or_wr; + + double array_leakage; + double wl_leakage; + double cl_leakage; +}; + + + +#endif diff --git a/T1/TP1/cacti-master/basic_circuit.cc b/T1/TP1/cacti-master/basic_circuit.cc new file mode 100644 index 0000000..696f45c --- /dev/null +++ b/T1/TP1/cacti-master/basic_circuit.cc @@ -0,0 +1,999 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + + +#include "basic_circuit.h" +#include "parameter.h" +#include +#include +#include + +uint32_t _log2(uint64_t num) +{ + uint32_t log2 = 0; + + if (num == 0) + { + std::cerr << "log0?" << std::endl; + exit(1); + } + + while (num > 1) + { + num = (num >> 1); + log2++; + } + + return log2; +} + + +bool is_pow2(int64_t val) +{ + if (val <= 0) + { + return false; + } + else if (val == 1) + { + return true; + } + else + { + return (_log2(val) != _log2(val-1)); + } +} + + +int powers (int base, int n) +{ + int i, p; + + p = 1; + for (i = 1; i <= n; ++i) + p *= base; + return p; +} + +/*----------------------------------------------------------------------*/ + +double logtwo (double x) +{ + assert(x > 0); + return ((double) (log (x) / log (2.0))); +} + +/*----------------------------------------------------------------------*/ + + +double gate_C( + double width, + double wirelength, + bool _is_dram, + bool _is_cell, + bool _is_wl_tr, + bool _is_sleep_tx) +{ + const /*TechnologyParameter::*/DeviceType * dt; + + if (_is_dram && _is_cell) + { + dt = &g_tp.dram_acc; //DRAM cell access transistor + } + else if (_is_dram && _is_wl_tr) + { + dt = &g_tp.dram_wl; //DRAM wordline transistor + } + else if (!_is_dram && _is_cell) + { + dt = &g_tp.sram_cell; // SRAM cell access transistor + } + else if (_is_sleep_tx) + { + dt = &g_tp.sleep_tx; // Sleep transistor + } + else + { + dt = &g_tp.peri_global; + } + + return (dt->C_g_ideal + dt->C_overlap + 3*dt->C_fringe)*width + dt->l_phy*Cpolywire; +} + + +// returns gate capacitance in Farads +// actually this function is the same as gate_C() now +double gate_C_pass( + double width, // gate width in um (length is Lphy_periph_global) + double wirelength, // poly wire length going to gate in lambda + bool _is_dram, + bool _is_cell, + bool _is_wl_tr, + bool _is_sleep_tx) +{ + // v5.0 + const /*TechnologyParameter::*/DeviceType * dt; + + if ((_is_dram) && (_is_cell)) + { + dt = &g_tp.dram_acc; //DRAM cell access transistor + } + else if ((_is_dram) && (_is_wl_tr)) + { + dt = &g_tp.dram_wl; //DRAM wordline transistor + } + else if ((!_is_dram) && _is_cell) + { + dt = &g_tp.sram_cell; // SRAM cell access transistor + } + else if (_is_sleep_tx) + { + dt = &g_tp.sleep_tx; // Sleep transistor + } + else + { + dt = &g_tp.peri_global; + } + + return (dt->C_g_ideal + dt->C_overlap + 3*dt->C_fringe)*width + dt->l_phy*Cpolywire; +} + + + +double drain_C_( + double width, + int nchannel, + int stack, + int next_arg_thresh_folding_width_or_height_cell, + double fold_dimension, + bool _is_dram, + bool _is_cell, + bool _is_wl_tr, + bool _is_sleep_tx) +{ + double w_folded_tr; + const /*TechnologyParameter::*/DeviceType * dt; + + if ((_is_dram) && (_is_cell)) + { + dt = &g_tp.dram_acc; // DRAM cell access transistor + } + else if ((_is_dram) && (_is_wl_tr)) + { + dt = &g_tp.dram_wl; // DRAM wordline transistor + } + else if ((!_is_dram) && _is_cell) + { + dt = &g_tp.sram_cell; // SRAM cell access transistor + } + else if (_is_sleep_tx) + { + dt = &g_tp.sleep_tx; // Sleep transistor + } + else + { + dt = &g_tp.peri_global; + } + + double c_junc_area = dt->C_junc; + double c_junc_sidewall = dt->C_junc_sidewall; + double c_fringe = 2*dt->C_fringe; + double c_overlap = 2*dt->C_overlap; + double drain_C_metal_connecting_folded_tr = 0; + + // determine the width of the transistor after folding (if it is getting folded) + if (next_arg_thresh_folding_width_or_height_cell == 0) + { // interpret fold_dimension as the the folding width threshold + // i.e. the value of transistor width above which the transistor gets folded + w_folded_tr = fold_dimension; + } + else + { // interpret fold_dimension as the height of the cell that this transistor is part of. + double h_tr_region = fold_dimension - 2 * g_tp.HPOWERRAIL; + // TODO : w_folded_tr must come from Component::compute_gate_area() + double ratio_p_to_n = 2.0 / (2.0 + 1.0); + if (nchannel) + { + w_folded_tr = (1 - ratio_p_to_n) * (h_tr_region - g_tp.MIN_GAP_BET_P_AND_N_DIFFS); + } + else + { + w_folded_tr = ratio_p_to_n * (h_tr_region - g_tp.MIN_GAP_BET_P_AND_N_DIFFS); + } + } + int num_folded_tr = (int) (ceil(width / w_folded_tr)); + + if (num_folded_tr < 2) + { + w_folded_tr = width; + } + + double total_drain_w = (g_tp.w_poly_contact + 2 * g_tp.spacing_poly_to_contact) + // only for drain + (stack - 1) * g_tp.spacing_poly_to_poly; + double drain_h_for_sidewall = w_folded_tr; + double total_drain_height_for_cap_wrt_gate = w_folded_tr + 2 * w_folded_tr * (stack - 1); + if (num_folded_tr > 1) + { + total_drain_w += (num_folded_tr - 2) * (g_tp.w_poly_contact + 2 * g_tp.spacing_poly_to_contact) + + (num_folded_tr - 1) * ((stack - 1) * g_tp.spacing_poly_to_poly); + + if (num_folded_tr%2 == 0) + { + drain_h_for_sidewall = 0; + } + total_drain_height_for_cap_wrt_gate *= num_folded_tr; + drain_C_metal_connecting_folded_tr = g_tp.wire_local.C_per_um * total_drain_w; + } + + double drain_C_area = c_junc_area * total_drain_w * w_folded_tr; + double drain_C_sidewall = c_junc_sidewall * (drain_h_for_sidewall + 2 * total_drain_w); + double drain_C_wrt_gate = (c_fringe + c_overlap) * total_drain_height_for_cap_wrt_gate; + + return (drain_C_area + drain_C_sidewall + drain_C_wrt_gate + drain_C_metal_connecting_folded_tr); +} + + +double tr_R_on( + double width, + int nchannel, + int stack, + bool _is_dram, + bool _is_cell, + bool _is_wl_tr, + bool _is_sleep_tx) +{ + const /*TechnologyParameter::*/DeviceType * dt; + + if ((_is_dram) && (_is_cell)) + { + dt = &g_tp.dram_acc; //DRAM cell access transistor + } + else if ((_is_dram) && (_is_wl_tr)) + { + dt = &g_tp.dram_wl; //DRAM wordline transistor + } + else if ((!_is_dram) && _is_cell) + { + dt = &g_tp.sram_cell; // SRAM cell access transistor + } + else if (_is_sleep_tx) + { + dt = &g_tp.sleep_tx; // Sleep transistor + } + else + { + dt = &g_tp.peri_global; + } + + double restrans = (nchannel) ? dt->R_nch_on : dt->R_pch_on; + return (stack * restrans / width); +} + + +/* This routine operates in reverse: given a resistance, it finds + * the transistor width that would have this R. It is used in the + * data wordline to estimate the wordline driver size. */ + +// returns width in um +double R_to_w( + double res, + int nchannel, + bool _is_dram, + bool _is_cell, + bool _is_wl_tr, + bool _is_sleep_tx) +{ + const /*TechnologyParameter::*/DeviceType * dt; + + if ((_is_dram) && (_is_cell)) + { + dt = &g_tp.dram_acc; //DRAM cell access transistor + } + else if ((_is_dram) && (_is_wl_tr)) + { + dt = &g_tp.dram_wl; //DRAM wordline transistor + } + else if ((!_is_dram) && (_is_cell)) + { + dt = &g_tp.sram_cell; // SRAM cell access transistor + } + else if (_is_sleep_tx) + { + dt = &g_tp.sleep_tx; // Sleep transistor + } + else + { + dt = &g_tp.peri_global; + } + + double restrans = (nchannel) ? dt->R_nch_on : dt->R_pch_on; + return (restrans / res); +} + + +double pmos_to_nmos_sz_ratio( + bool _is_dram, + bool _is_wl_tr, + bool _is_sleep_tx) +{ + double p_to_n_sizing_ratio; + if ((_is_dram) && (_is_wl_tr)) + { //DRAM wordline transistor + p_to_n_sizing_ratio = g_tp.dram_wl.n_to_p_eff_curr_drv_ratio; + } + else if (_is_sleep_tx) + { + p_to_n_sizing_ratio = g_tp.sleep_tx.n_to_p_eff_curr_drv_ratio; // Sleep transistor + } + else + { //DRAM or SRAM all other transistors + p_to_n_sizing_ratio = g_tp.peri_global.n_to_p_eff_curr_drv_ratio; + } + return p_to_n_sizing_ratio; +} + + +// "Timing Models for MOS Circuits" by Mark Horowitz, 1984 +double horowitz( + double inputramptime, // input rise time + double tf, // time constant of gate + double vs1, // threshold voltage + double vs2, // threshold voltage + int rise) // whether input rises or fall +{ + if (inputramptime == 0 && vs1 == vs2) + { + return tf * (vs1 < 1 ? -log(vs1) : log(vs1)); + } + double a, b, td; + + a = inputramptime / tf; + if (rise == RISE) + { + b = 0.5; + td = tf * sqrt(log(vs1)*log(vs1) + 2*a*b*(1.0 - vs1)) + tf*(log(vs1) - log(vs2)); + } + else + { + b = 0.4; + td = tf * sqrt(log(1.0 - vs1)*log(1.0 - vs1) + 2*a*b*(vs1)) + tf*(log(1.0 - vs1) - log(1.0 - vs2)); + } + return (td); +} + +double cmos_Ileak( + double nWidth, + double pWidth, + bool _is_dram, + bool _is_cell, + bool _is_wl_tr, + bool _is_sleep_tx) +{ + /*TechnologyParameter::*/DeviceType * dt; + + if ((!_is_dram)&&(_is_cell)) + { //SRAM cell access transistor + dt = &(g_tp.sram_cell); + } + else if ((_is_dram)&&(_is_wl_tr)) + { //DRAM wordline transistor + dt = &(g_tp.dram_wl); + } + else if (_is_sleep_tx) + { + dt = &g_tp.sleep_tx; // Sleep transistor + } + else + { //DRAM or SRAM all other transistors + dt = &(g_tp.peri_global); + } + return nWidth*dt->I_off_n + pWidth*dt->I_off_p; +} + +int factorial(int n, int m) +{ + int fa = m, i; + for (i=m+1; i<=n; i++) + fa *=i; + return fa; +} + +int combination(int n, int m) +{ + int ret; + ret = factorial(n, m+1) / factorial(n - m); + return ret; +} + +double simplified_nmos_Isat( + double nwidth, + bool _is_dram, + bool _is_cell, + bool _is_wl_tr, + bool _is_sleep_tx) +{ + /*TechnologyParameter::*/DeviceType * dt; + + if ((!_is_dram)&&(_is_cell)) + { //SRAM cell access transistor + dt = &(g_tp.sram_cell); + } + else if ((_is_dram)&&(_is_wl_tr)) + { //DRAM wordline transistor + dt = &(g_tp.dram_wl); + } + else if (_is_sleep_tx) + { + dt = &g_tp.sleep_tx; // Sleep transistor + } + else + { //DRAM or SRAM all other transistors + dt = &(g_tp.peri_global); + } + return nwidth * dt->I_on_n; +} + +double simplified_pmos_Isat( + double pwidth, + bool _is_dram, + bool _is_cell, + bool _is_wl_tr, + bool _is_sleep_tx) +{ + /*TechnologyParameter::*/DeviceType * dt; + + if ((!_is_dram)&&(_is_cell)) + { //SRAM cell access transistor + dt = &(g_tp.sram_cell); + } + else if ((_is_dram)&&(_is_wl_tr)) + { //DRAM wordline transistor + dt = &(g_tp.dram_wl); + } + else if (_is_sleep_tx) + { + dt = &g_tp.sleep_tx; // Sleep transistor + } + else + { //DRAM or SRAM all other transistors + dt = &(g_tp.peri_global); + } + return pwidth * dt->I_on_n/dt->n_to_p_eff_curr_drv_ratio; +} + + +double simplified_nmos_leakage( + double nwidth, + bool _is_dram, + bool _is_cell, + bool _is_wl_tr, + bool _is_sleep_tx) +{ + /*TechnologyParameter::*/DeviceType * dt; + + if ((!_is_dram)&&(_is_cell)) + { //SRAM cell access transistor + dt = &(g_tp.sram_cell); + } + else if ((_is_dram)&&(_is_wl_tr)) + { //DRAM wordline transistor + dt = &(g_tp.dram_wl); + } + else if (_is_sleep_tx) + { + dt = &g_tp.sleep_tx; // Sleep transistor + } + else + { //DRAM or SRAM all other transistors + dt = &(g_tp.peri_global); + } + return nwidth * dt->I_off_n; +} + +double simplified_pmos_leakage( + double pwidth, + bool _is_dram, + bool _is_cell, + bool _is_wl_tr, + bool _is_sleep_tx) +{ + /*TechnologyParameter::*/DeviceType * dt; + + if ((!_is_dram)&&(_is_cell)) + { //SRAM cell access transistor + dt = &(g_tp.sram_cell); + } + else if ((_is_dram)&&(_is_wl_tr)) + { //DRAM wordline transistor + dt = &(g_tp.dram_wl); + } + else if (_is_sleep_tx) + { + dt = &g_tp.sleep_tx; // Sleep transistor + } + else + { //DRAM or SRAM all other transistors + dt = &(g_tp.peri_global); + } + return pwidth * dt->I_off_p; +} + +double cmos_Ig_n( + double nWidth, + bool _is_dram, + bool _is_cell, + bool _is_wl_tr, + bool _is_sleep_tx) +{ + /*TechnologyParameter::*/DeviceType * dt; + + if ((!_is_dram)&&(_is_cell)) + { //SRAM cell access transistor + dt = &(g_tp.sram_cell); + } + else if ((_is_dram)&&(_is_wl_tr)) + { //DRAM wordline transistor + dt = &(g_tp.dram_wl); + } + else if (_is_sleep_tx) + { + dt = &g_tp.sleep_tx; // Sleep transistor + } + else + { //DRAM or SRAM all other transistors + dt = &(g_tp.peri_global); + } + return nWidth*dt->I_g_on_n; +} + +double cmos_Ig_p( + double pWidth, + bool _is_dram, + bool _is_cell, + bool _is_wl_tr, + bool _is_sleep_tx) +{ + /*TechnologyParameter::*/DeviceType * dt; + + if ((!_is_dram)&&(_is_cell)) + { //SRAM cell access transistor + dt = &(g_tp.sram_cell); + } + else if ((_is_dram)&&(_is_wl_tr)) + { //DRAM wordline transistor + dt = &(g_tp.dram_wl); + } + else if (_is_sleep_tx) + { + dt = &g_tp.sleep_tx; // Sleep transistor + } + else + { //DRAM or SRAM all other transistors + dt = &(g_tp.peri_global); + } + return pWidth*dt->I_g_on_p; +} + +double cmos_Isub_leakage( + double nWidth, + double pWidth, + int fanin, + enum Gate_type g_type, + bool _is_dram, + bool _is_cell, + bool _is_wl_tr, + bool _is_sleep_tx, + enum Half_net_topology topo) +{ + assert (fanin>=1); + double nmos_leak = simplified_nmos_leakage(nWidth, _is_dram, _is_cell, _is_wl_tr, _is_sleep_tx); + double pmos_leak = simplified_pmos_leakage(pWidth, _is_dram, _is_cell, _is_wl_tr, _is_sleep_tx); + double Isub=0; + int num_states; + int num_off_tx; + + num_states = int(pow(2.0, fanin)); + + switch (g_type) + { + case nmos: + if (fanin==1) + { + Isub = nmos_leak/num_states; + } + else + { + if (topo==parallel) + { + Isub=nmos_leak*fanin/num_states; //only when all tx are off, leakage power is non-zero. The possibility of this state is 1/num_states + } + else + { + for (num_off_tx=1; num_off_tx<=fanin; num_off_tx++) //when num_off_tx ==0 there is no leakage power + { + //Isub += nmos_leak*pow(UNI_LEAK_STACK_FACTOR,(num_off_tx-1))*(factorial(fanin)/(factorial(fanin, num_off_tx)*factorial(num_off_tx))); + Isub += nmos_leak*pow(UNI_LEAK_STACK_FACTOR,(num_off_tx-1))*combination(fanin, num_off_tx); + } + Isub /=num_states; + } + + } + break; + case pmos: + if (fanin==1) + { + Isub = pmos_leak/num_states; + } + else + { + if (topo==parallel) + { + Isub=pmos_leak*fanin/num_states; //only when all tx are off, leakage power is non-zero. The possibility of this state is 1/num_states + } + else + { + for (num_off_tx=1; num_off_tx<=fanin; num_off_tx++) //when num_off_tx ==0 there is no leakage power + { + //Isub += pmos_leak*pow(UNI_LEAK_STACK_FACTOR,(num_off_tx-1))*(factorial(fanin)/(factorial(fanin, num_off_tx)*factorial(num_off_tx))); + Isub += pmos_leak*pow(UNI_LEAK_STACK_FACTOR,(num_off_tx-1))*combination(fanin, num_off_tx); + } + Isub /=num_states; + } + + } + break; + case inv: + Isub = (nmos_leak + pmos_leak)/2; + break; + case nand: + Isub += fanin*pmos_leak;//the pullup network + for (num_off_tx=1; num_off_tx<=fanin; num_off_tx++) // the pulldown network + { + //Isub += nmos_leak*pow(UNI_LEAK_STACK_FACTOR,(num_off_tx-1))*(factorial(fanin)/(factorial(fanin, num_off_tx)*factorial(num_off_tx))); + Isub += nmos_leak*pow(UNI_LEAK_STACK_FACTOR,(num_off_tx-1))*combination(fanin, num_off_tx); + } + Isub /=num_states; + break; + case nor: + for (num_off_tx=1; num_off_tx<=fanin; num_off_tx++) // the pullup network + { + //Isub += pmos_leak*pow(UNI_LEAK_STACK_FACTOR,(num_off_tx-1))*(factorial(fanin)/(factorial(fanin, num_off_tx)*factorial(num_off_tx))); + Isub += pmos_leak*pow(UNI_LEAK_STACK_FACTOR,(num_off_tx-1))*combination(fanin, num_off_tx); + } + Isub += fanin*nmos_leak;//the pulldown network + Isub /=num_states; + break; + case tri: + Isub += (nmos_leak + pmos_leak)/2;//enabled + Isub += nmos_leak*UNI_LEAK_STACK_FACTOR; //disabled upper bound of leakage power + Isub /=2; + break; + case tg: + Isub = (nmos_leak + pmos_leak)/2; + break; + default: + assert(0); + break; + } + + return Isub; +} + + +double cmos_Ig_leakage( + double nWidth, + double pWidth, + int fanin, + enum Gate_type g_type, + bool _is_dram, + bool _is_cell, + bool _is_wl_tr, + bool _is_sleep_tx, + enum Half_net_topology topo) +{ + assert (fanin>=1); + double nmos_leak = cmos_Ig_n(nWidth, _is_dram, _is_cell, _is_wl_tr, _is_sleep_tx); + double pmos_leak = cmos_Ig_p(pWidth, _is_dram, _is_cell, _is_wl_tr, _is_sleep_tx); + double Ig_on=0; + int num_states; + int num_on_tx; + + num_states = int(pow(2.0, fanin)); + + switch (g_type) + { + case nmos: + if (fanin==1) + { + Ig_on = nmos_leak/num_states; + } + else + { + if (topo==parallel) + { + for (num_on_tx=1; num_on_tx<=fanin; num_on_tx++) + { + Ig_on += nmos_leak*combination(fanin, num_on_tx)*num_on_tx; + } + } + else + { + Ig_on += nmos_leak * fanin;//pull down network when all TXs are on. + //num_on_tx is the number of on tx + for (num_on_tx=1; num_on_txprint_detail_debug) + { + cout<<"TSV ox cap: "<1 transitions) per cycle (for DDR, need to account for the higher activity in this parameter. E.g. max. activity factor for DDR is 1.0, for SDR is 0.5) + +-activity_dq 1.0 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR + +# Activity factor for Control/Address (0->1 transitions) per cycle (for DDR, need to account for the higher activity in this parameter. E.g. max. activity factor for DDR is 1.0, for SDR is 0.5) + +-activity_ca 0.5 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR, 0 to 0.25 for 2T, and 0 to 0.17 for 3T + +# Number of DQ pins + +-num_dq 72 //Number of DQ pins. Includes ECC pins. + +# Number of DQS pins. DQS is a data strobe that is sent along with a small number of data-lanes so the source synchronous timing is local to these DQ bits. Typically, 1 DQS per byte (8 DQ bits) is used. The DQS is also typucally differential, just like the CLK pin. + +-num_dqs 18 //2 x differential pairs. Include ECC pins as well. Valid range 0 to 18. For x4 memories, could have 36 DQS pins. + +# Number of CA pins + +-num_ca 25 //Valid range 0 to 35 pins. + +# Number of CLK pins. CLK is typically a differential pair. In some cases additional CLK pairs may be used to limit the loading on the CLK pin. + +-num_clk 2 //2 x differential pair. Valid values: 0/2/4. + +# Number of Physical Ranks + +-num_mem_dq 2 //Number of ranks (loads on DQ and DQS) per buffer/register. If multiple LRDIMMs or buffer chips exist, the analysis for capacity and power is reported per buffer/register. + +# Width of the Memory Data Bus + +-mem_data_width 8 //x4 or x8 or x16 or x32 memories. For WideIO upto x128. + +# RTT Termination Resistance + +-rtt_value 10000 + +# RON Termination Resistance + +-ron_value 34 + +# Time of flight for DQ + +-tflight_value + +# Parameter related to MemCAD + +# Number of BoBs: 1,2,3,4,5,6, +-num_bobs 1 + +# Memory System Capacity in GB +-capacity 80 + +# Number of Channel per BoB: 1,2. +-num_channels_per_bob 1 + +# First Metric for ordering different design points +-first metric "Cost" +#-first metric "Bandwidth" +#-first metric "Energy" + +# Second Metric for ordering different design points +#-second metric "Cost" +-second metric "Bandwidth" +#-second metric "Energy" + +# Third Metric for ordering different design points +#-third metric "Cost" +#-third metric "Bandwidth" +-third metric "Energy" + + +# Possible DIMM option to consider +#-DIMM model "JUST_UDIMM" +#-DIMM model "JUST_RDIMM" +#-DIMM model "JUST_LRDIMM" +-DIMM model "ALL" + +#if channels of each bob have the same configurations +#-mirror_in_bob "T" +-mirror_in_bob "F" + +#if we want to see all channels/bobs/memory configurations explored +#-verbose "T" +#-verbose "F" + diff --git a/T1/TP1/cacti-master/cacti.i b/T1/TP1/cacti-master/cacti.i new file mode 100644 index 0000000..7964138 --- /dev/null +++ b/T1/TP1/cacti-master/cacti.i @@ -0,0 +1,8 @@ +%module cacti +%{ +/* Includes the header in the wrapper code */ +#include "cacti_interface.h" +%} + +/* Parse the header file to generate wrappers */ +%include "cacti_interface.h" \ No newline at end of file diff --git a/T1/TP1/cacti-master/cacti.mk b/T1/TP1/cacti-master/cacti.mk new file mode 100644 index 0000000..b675d75 --- /dev/null +++ b/T1/TP1/cacti-master/cacti.mk @@ -0,0 +1,53 @@ +TARGET = cacti +SHELL = /bin/sh +.PHONY: all depend clean +.SUFFIXES: .cc .o + +ifndef NTHREADS + NTHREADS = 8 +endif + + +LIBS = +INCS = -lm + +ifeq ($(TAG),dbg) + DBG = -Wall + OPT = -ggdb -g -O0 -DNTHREADS=1 -gstabs+ +else + DBG = + OPT = -g -msse2 -mfpmath=sse -DNTHREADS=$(NTHREADS) +endif + +#CXXFLAGS = -Wall -Wno-unknown-pragmas -Winline $(DBG) $(OPT) +CXXFLAGS = -Wno-unknown-pragmas $(DBG) $(OPT) +CXX = g++ -m64 +CC = gcc -m64 + +SRCS = area.cc bank.cc mat.cc main.cc Ucache.cc io.cc technology.cc basic_circuit.cc parameter.cc \ + decoder.cc component.cc uca.cc subarray.cc wire.cc htree2.cc extio.cc extio_technology.cc \ + cacti_interface.cc router.cc nuca.cc crossbar.cc arbiter.cc powergating.cc TSV.cc memorybus.cc \ + memcad.cc memcad_parameters.cc + + +OBJS = $(patsubst %.cc,obj_$(TAG)/%.o,$(SRCS)) +PYTHONLIB_SRCS = $(patsubst main.cc, ,$(SRCS)) obj_$(TAG)/cacti_wrap.cc +PYTHONLIB_OBJS = $(patsubst %.cc,%.o,$(PYTHONLIB_SRCS)) +INCLUDES = -I /usr/include/python2.4 -I /usr/lib/python2.4/config + +all: obj_$(TAG)/$(TARGET) + cp -f obj_$(TAG)/$(TARGET) $(TARGET) + +obj_$(TAG)/$(TARGET) : $(OBJS) + $(CXX) $(OBJS) -o $@ $(INCS) $(CXXFLAGS) $(LIBS) -pthread + +#obj_$(TAG)/%.o : %.cc +# $(CXX) -c $(CXXFLAGS) $(INCS) -o $@ $< + +obj_$(TAG)/%.o : %.cc + $(CXX) $(CXXFLAGS) -c $< -o $@ + +clean: + -rm -f *.o _cacti.so cacti.py $(TARGET) + + diff --git a/T1/TP1/cacti-master/cacti_interface.cc b/T1/TP1/cacti-master/cacti_interface.cc new file mode 100644 index 0000000..763b1d6 --- /dev/null +++ b/T1/TP1/cacti-master/cacti_interface.cc @@ -0,0 +1,174 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + +#include +#include + + +#include "area.h" +#include "basic_circuit.h" +#include "component.h" +#include "const.h" +#include "parameter.h" +#include "cacti_interface.h" +#include "Ucache.h" + +#include +#include +#include + +using namespace std; + + +bool mem_array::lt(const mem_array * m1, const mem_array * m2) +{ + if (m1->Nspd < m2->Nspd) return true; + else if (m1->Nspd > m2->Nspd) return false; + else if (m1->Ndwl < m2->Ndwl) return true; + else if (m1->Ndwl > m2->Ndwl) return false; + else if (m1->Ndbl < m2->Ndbl) return true; + else if (m1->Ndbl > m2->Ndbl) return false; + else if (m1->deg_bl_muxing < m2->deg_bl_muxing) return true; + else if (m1->deg_bl_muxing > m2->deg_bl_muxing) return false; + else if (m1->Ndsam_lev_1 < m2->Ndsam_lev_1) return true; + else if (m1->Ndsam_lev_1 > m2->Ndsam_lev_1) return false; + else if (m1->Ndsam_lev_2 < m2->Ndsam_lev_2) return true; + else return false; +} + + + +void uca_org_t::find_delay() +{ + mem_array * data_arr = data_array2; + mem_array * tag_arr = tag_array2; + + // check whether it is a regular cache or scratch ram + if (g_ip->pure_ram|| g_ip->pure_cam || g_ip->fully_assoc) + { + access_time = data_arr->access_time; + } + // Both tag and data lookup happen in parallel + // and the entire set is sent over the data array h-tree without + // waiting for the way-select signal --TODO add the corresponding + // power overhead Nav + else if (g_ip->fast_access == true) + { + access_time = MAX(tag_arr->access_time, data_arr->access_time); + } + // Tag is accessed first. On a hit, way-select signal along with the + // address is sent to read/write the appropriate block in the data + // array + else if (g_ip->is_seq_acc == true) + { + access_time = tag_arr->access_time + data_arr->access_time; + } + // Normal access: tag array access and data array access happen in parallel. + // But, the data array will wait for the way-select and transfer only the + // appropriate block over the h-tree. + else + { + access_time = MAX(tag_arr->access_time + data_arr->delay_senseamp_mux_decoder, + data_arr->delay_before_subarray_output_driver) + + data_arr->delay_from_subarray_output_driver_to_output; + } +} + + + +void uca_org_t::find_energy() +{ + if (!(g_ip->pure_ram|| g_ip->pure_cam || g_ip->fully_assoc))//(g_ip->is_cache) + power = data_array2->power + tag_array2->power; + else + power = data_array2->power; +} + + + +void uca_org_t::find_area() +{ + if (g_ip->pure_ram|| g_ip->pure_cam || g_ip->fully_assoc)//(g_ip->is_cache == false) + { + cache_ht = data_array2->height; + cache_len = data_array2->width; + } + else + { + cache_ht = MAX(tag_array2->height, data_array2->height); + cache_len = tag_array2->width + data_array2->width; + } + area = cache_ht * cache_len; +} + +void uca_org_t::adjust_area() +{ + double area_adjust; + if (g_ip->pure_ram|| g_ip->pure_cam || g_ip->fully_assoc) + { + if (data_array2->area_efficiency/100.0<0.2) + { + //area_adjust = sqrt(area/(area*(data_array2->area_efficiency/100.0)/0.2)); + area_adjust = sqrt(0.2/(data_array2->area_efficiency/100.0)); + cache_ht = cache_ht/area_adjust; + cache_len = cache_len/area_adjust; + } + } + area = cache_ht * cache_len; +} + +void uca_org_t::find_cyc() +{ + if ((g_ip->pure_ram|| g_ip->pure_cam || g_ip->fully_assoc))//(g_ip->is_cache == false) + { + cycle_time = data_array2->cycle_time; + } + else + { + cycle_time = MAX(tag_array2->cycle_time, + data_array2->cycle_time); + } +} + +uca_org_t :: uca_org_t() +:tag_array2(0), + data_array2(0) +{ + +} + +void uca_org_t :: cleanup() +{ + if (data_array2!=0) + delete data_array2; + if (tag_array2!=0) + delete tag_array2; +} diff --git a/T1/TP1/cacti-master/cacti_interface.h b/T1/TP1/cacti-master/cacti_interface.h new file mode 100644 index 0000000..a2b8e2d --- /dev/null +++ b/T1/TP1/cacti-master/cacti_interface.h @@ -0,0 +1,904 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#ifndef __CACTI_INTERFACE_H__ +#define __CACTI_INTERFACE_H__ + +#include +#include +#include +#include +#include +#include "const.h" + +using namespace std; + + +class min_values_t; +class mem_array; +class uca_org_t; + + +class powerComponents +{ + public: + double dynamic; + double leakage; + double gate_leakage; + double short_circuit; + double longer_channel_leakage; + + powerComponents() : dynamic(0), leakage(0), gate_leakage(0), short_circuit(0), longer_channel_leakage(0) { } + powerComponents(const powerComponents & obj) { *this = obj; } + powerComponents & operator=(const powerComponents & rhs) + { + dynamic = rhs.dynamic; + leakage = rhs.leakage; + gate_leakage = rhs.gate_leakage; + short_circuit = rhs.short_circuit; + longer_channel_leakage = rhs.longer_channel_leakage; + return *this; + } + void reset() { dynamic = 0; leakage = 0; gate_leakage = 0; short_circuit = 0;longer_channel_leakage = 0;} + + friend powerComponents operator+(const powerComponents & x, const powerComponents & y); + friend powerComponents operator*(const powerComponents & x, double const * const y); +}; + + + +class powerDef +{ + public: + powerComponents readOp; + powerComponents writeOp; + powerComponents searchOp;//: for CAM and FA + + powerDef() : readOp(), writeOp(), searchOp() { } + void reset() { readOp.reset(); writeOp.reset(); searchOp.reset();} + + friend powerDef operator+(const powerDef & x, const powerDef & y); + friend powerDef operator*(const powerDef & x, double const * const y); +}; + +enum Wire_type +{ + Global /* gloabl wires with repeaters */, + Global_5 /* 5% delay penalty */, + Global_10 /* 10% delay penalty */, + Global_20 /* 20% delay penalty */, + Global_30 /* 30% delay penalty */, + Low_swing /* differential low power wires with high area overhead */, + Semi_global /* mid-level wires with repeaters*/, + Full_swing /* models all global wires with different latencies (Global_x )*/, + Transmission /* tranmission lines with high area overhead */, + Optical /* optical wires */, + Invalid_wtype +}; + +enum TSV_type +{ + Fine, /*ITRS high density*/ + Coarse /*Industry reported in 2010*/ +}; + +// ali + +enum Mem_IO_type +{ + DDR3, + DDR4, + LPDDR2, + WideIO, + Low_Swing_Diff, + Serial +}; + +enum Mem_DIMM +{ + UDIMM, + RDIMM, + LRDIMM +}; + +enum Mem_state +{ + READ, + WRITE, + IDLE, + SLEEP +}; + +enum Mem_ECC +{ + NO_ECC, + SECDED, // single error correction, double error detection + CHIP_KILL +}; + +enum DIMM_Model +{ + JUST_UDIMM,JUST_RDIMM,JUST_LRDIMM,ALL +}; + +enum MemCad_metrics +{ + Bandwidth, Energy, Cost +}; + +/** +enum BoB_LINK +{ + PARALLEL, // e.g. Intel SMB c104 + SERIAL // e.g. Intel SMB 7510, IBM AMB +}; +**/ +// end ali + + +class InputParameter +{ + public: + + InputParameter(); + void parse_cfg(const string & infile); + + bool error_checking(); // return false if the input parameters are problematic + void display_ip(); + + unsigned int cache_sz; // in bytes + unsigned int line_sz; + unsigned int assoc; + unsigned int nbanks; + unsigned int out_w;// == nr_bits_out + bool specific_tag; + unsigned int tag_w; + unsigned int access_mode; + unsigned int obj_func_dyn_energy; + unsigned int obj_func_dyn_power; + unsigned int obj_func_leak_power; + unsigned int obj_func_cycle_t; + + double F_sz_nm; // feature size in nm + double F_sz_um; // feature size in um + unsigned int num_rw_ports; + unsigned int num_rd_ports; + unsigned int num_wr_ports; + unsigned int num_se_rd_ports; // number of single ended read ports + unsigned int num_search_ports; // : number of search ports for CAM + bool is_main_mem; + bool is_3d_mem; + bool print_detail_debug; + bool is_cache; + bool pure_ram; + bool pure_cam; + bool rpters_in_htree; // if there are repeaters in htree segment + unsigned int ver_htree_wires_over_array; + unsigned int broadcast_addr_din_over_ver_htrees; + unsigned int temp; + + unsigned int ram_cell_tech_type; + unsigned int peri_global_tech_type; + unsigned int data_arr_ram_cell_tech_type; + unsigned int data_arr_peri_global_tech_type; + unsigned int tag_arr_ram_cell_tech_type; + unsigned int tag_arr_peri_global_tech_type; + + unsigned int burst_len; + unsigned int int_prefetch_w; + unsigned int page_sz_bits; + + unsigned int num_die_3d; + unsigned int burst_depth; + unsigned int io_width; + unsigned int sys_freq_MHz; + + unsigned int tsv_is_subarray_type; + unsigned int tsv_os_bank_type; + unsigned int TSV_proj_type; + + int partition_gran; + unsigned int num_tier_row_sprd; + unsigned int num_tier_col_sprd; + bool fine_gran_bank_lvl; + + unsigned int ic_proj_type; // interconnect_projection_type + unsigned int wire_is_mat_type; // wire_inside_mat_type + unsigned int wire_os_mat_type; // wire_outside_mat_type + enum Wire_type wt; + int force_wiretype; + bool print_input_args; + unsigned int nuca_cache_sz; // TODO + int ndbl, ndwl, nspd, ndsam1, ndsam2, ndcm; + bool force_cache_config; + + int cache_level; + int cores; + int nuca_bank_count; + int force_nuca_bank; + + int delay_wt, dynamic_power_wt, leakage_power_wt, + cycle_time_wt, area_wt; + int delay_wt_nuca, dynamic_power_wt_nuca, leakage_power_wt_nuca, + cycle_time_wt_nuca, area_wt_nuca; + + int delay_dev, dynamic_power_dev, leakage_power_dev, + cycle_time_dev, area_dev; + int delay_dev_nuca, dynamic_power_dev_nuca, leakage_power_dev_nuca, + cycle_time_dev_nuca, area_dev_nuca; + int ed; //ED or ED2 optimization + int nuca; + + bool fast_access; + unsigned int block_sz; // bytes + unsigned int tag_assoc; + unsigned int data_assoc; + bool is_seq_acc; + bool fully_assoc; + unsigned int nsets; // == number_of_sets + int print_detail; + + + bool add_ecc_b_; + //parameters for design constraint + double throughput; + double latency; + bool pipelinable; + int pipeline_stages; + int per_stage_vector; + bool with_clock_grid; + + bool array_power_gated; + bool bitline_floating; + bool wl_power_gated; + bool cl_power_gated; + bool interconect_power_gated; + bool power_gating; + + double perfloss; + + bool cl_vertical; + + // Parameters related to off-chip I/O + + double addr_timing, duty_cycle, mem_density, bus_bw, activity_dq, activity_ca, bus_freq; + int mem_data_width, num_mem_dq, num_clk, num_ca, num_dqs, num_dq; + + double rtt_value, ron_value, tflight_value; //FIXME + + Mem_state iostate; + + ///char iostate, dram_ecc, io_type; + + Mem_ECC dram_ecc; + Mem_IO_type io_type; + Mem_DIMM dram_dimm; + + int num_bobs; // BoB is buffer-on-board such as Intel SMB c102 + + int capacity; // in GB + + int num_channels_per_bob; // 1 means no bob + + MemCad_metrics first_metric; + + MemCad_metrics second_metric; + + MemCad_metrics third_metric; + + DIMM_Model dimm_model; + + bool low_power_permitted; // Not yet implemented. It determines acceptable VDDs. + + double load; // between 0 to 1 + + double row_buffer_hit_rate; + + double rd_2_wr_ratio; + + bool same_bw_in_bob; // true if all the channels in the bob have the same bandwidth. + + bool mirror_in_bob;// true if all the channels in the bob have the same configs + + bool total_power; // false means just considering I/O Power + + bool verbose; + + + +}; + + +typedef struct{ + int Ndwl; + int Ndbl; + double Nspd; + int deg_bl_muxing; + int Ndsam_lev_1; + int Ndsam_lev_2; + int number_activated_mats_horizontal_direction; + int number_subbanks; + int page_size_in_bits; + double delay_route_to_bank; + double delay_crossbar; + double delay_addr_din_horizontal_htree; + double delay_addr_din_vertical_htree; + double delay_row_predecode_driver_and_block; + double delay_row_decoder; + double delay_bitlines; + double delay_sense_amp; + double delay_subarray_output_driver; + double delay_bit_mux_predecode_driver_and_block; + double delay_bit_mux_decoder; + double delay_senseamp_mux_lev_1_predecode_driver_and_block; + double delay_senseamp_mux_lev_1_decoder; + double delay_senseamp_mux_lev_2_predecode_driver_and_block; + double delay_senseamp_mux_lev_2_decoder; + double delay_input_htree; + double delay_output_htree; + double delay_dout_vertical_htree; + double delay_dout_horizontal_htree; + double delay_comparator; + double access_time; + double cycle_time; + double multisubbank_interleave_cycle_time; + double delay_request_network; + double delay_inside_mat; + double delay_reply_network; + double trcd; + double cas_latency; + double precharge_delay; + powerDef power_routing_to_bank; + powerDef power_addr_input_htree; + powerDef power_data_input_htree; + powerDef power_data_output_htree; + powerDef power_addr_horizontal_htree; + powerDef power_datain_horizontal_htree; + powerDef power_dataout_horizontal_htree; + powerDef power_addr_vertical_htree; + powerDef power_datain_vertical_htree; + powerDef power_row_predecoder_drivers; + powerDef power_row_predecoder_blocks; + powerDef power_row_decoders; + powerDef power_bit_mux_predecoder_drivers; + powerDef power_bit_mux_predecoder_blocks; + powerDef power_bit_mux_decoders; + powerDef power_senseamp_mux_lev_1_predecoder_drivers; + powerDef power_senseamp_mux_lev_1_predecoder_blocks; + powerDef power_senseamp_mux_lev_1_decoders; + powerDef power_senseamp_mux_lev_2_predecoder_drivers; + powerDef power_senseamp_mux_lev_2_predecoder_blocks; + powerDef power_senseamp_mux_lev_2_decoders; + powerDef power_bitlines; + powerDef power_sense_amps; + powerDef power_prechg_eq_drivers; + powerDef power_output_drivers_at_subarray; + powerDef power_dataout_vertical_htree; + powerDef power_comparators; + powerDef power_crossbar; + powerDef total_power; + double area; + double all_banks_height; + double all_banks_width; + double bank_height; + double bank_width; + double subarray_memory_cell_area_height; + double subarray_memory_cell_area_width; + double mat_height; + double mat_width; + double routing_area_height_within_bank; + double routing_area_width_within_bank; + double area_efficiency; +// double perc_power_dyn_routing_to_bank; +// double perc_power_dyn_addr_horizontal_htree; +// double perc_power_dyn_datain_horizontal_htree; +// double perc_power_dyn_dataout_horizontal_htree; +// double perc_power_dyn_addr_vertical_htree; +// double perc_power_dyn_datain_vertical_htree; +// double perc_power_dyn_row_predecoder_drivers; +// double perc_power_dyn_row_predecoder_blocks; +// double perc_power_dyn_row_decoders; +// double perc_power_dyn_bit_mux_predecoder_drivers; +// double perc_power_dyn_bit_mux_predecoder_blocks; +// double perc_power_dyn_bit_mux_decoders; +// double perc_power_dyn_senseamp_mux_lev_1_predecoder_drivers; +// double perc_power_dyn_senseamp_mux_lev_1_predecoder_blocks; +// double perc_power_dyn_senseamp_mux_lev_1_decoders; +// double perc_power_dyn_senseamp_mux_lev_2_predecoder_drivers; +// double perc_power_dyn_senseamp_mux_lev_2_predecoder_blocks; +// double perc_power_dyn_senseamp_mux_lev_2_decoders; +// double perc_power_dyn_bitlines; +// double perc_power_dyn_sense_amps; +// double perc_power_dyn_prechg_eq_drivers; +// double perc_power_dyn_subarray_output_drivers; +// double perc_power_dyn_dataout_vertical_htree; +// double perc_power_dyn_comparators; +// double perc_power_dyn_crossbar; +// double perc_power_dyn_spent_outside_mats; +// double perc_power_leak_routing_to_bank; +// double perc_power_leak_addr_horizontal_htree; +// double perc_power_leak_datain_horizontal_htree; +// double perc_power_leak_dataout_horizontal_htree; +// double perc_power_leak_addr_vertical_htree; +// double perc_power_leak_datain_vertical_htree; +// double perc_power_leak_row_predecoder_drivers; +// double perc_power_leak_row_predecoder_blocks; +// double perc_power_leak_row_decoders; +// double perc_power_leak_bit_mux_predecoder_drivers; +// double perc_power_leak_bit_mux_predecoder_blocks; +// double perc_power_leak_bit_mux_decoders; +// double perc_power_leak_senseamp_mux_lev_1_predecoder_drivers; +// double perc_power_leak_senseamp_mux_lev_1_predecoder_blocks; +// double perc_power_leak_senseamp_mux_lev_1_decoders; +// double perc_power_leak_senseamp_mux_lev_2_predecoder_drivers; +// double perc_power_leak_senseamp_mux_lev_2_predecoder_blocks; +// double perc_power_leak_senseamp_mux_lev_2_decoders; +// double perc_power_leak_bitlines; +// double perc_power_leak_sense_amps; +// double perc_power_leak_prechg_eq_drivers; +// double perc_power_leak_subarray_output_drivers; +// double perc_power_leak_dataout_vertical_htree; +// double perc_power_leak_comparators; +// double perc_power_leak_crossbar; +// double perc_leak_mats; +// double perc_active_mats; + double refresh_power; + double dram_refresh_period; + double dram_array_availability; + double dyn_read_energy_from_closed_page; + double dyn_read_energy_from_open_page; + double leak_power_subbank_closed_page; + double leak_power_subbank_open_page; + double leak_power_request_and_reply_networks; + double activate_energy; + double read_energy; + double write_energy; + double precharge_energy; +} results_mem_array; + + +class uca_org_t +{ + public: + mem_array * tag_array2; + mem_array * data_array2; + double access_time; + double cycle_time; + double area; + double area_efficiency; + powerDef power; + double leak_power_with_sleep_transistors_in_mats; + double cache_ht; + double cache_len; + char file_n[100]; + double vdd_periph_global; + bool valid; + results_mem_array tag_array; + results_mem_array data_array; + + uca_org_t(); + void find_delay(); + void find_energy(); + void find_area(); + void find_cyc(); + void adjust_area();//for McPAT only to adjust routing overhead + void cleanup(); + ~uca_org_t(){}; +}; + + +class IO_org_t +{ + public: + double io_area; + double io_timing_margin; + double io_voltage_margin; + double io_dynamic_power; + double io_phy_power; + double io_wakeup_time; + double io_termination_power; + IO_org_t():io_area(0),io_timing_margin(0),io_voltage_margin(0) + ,io_dynamic_power(0),io_phy_power(0),io_wakeup_time(0),io_termination_power(0) + {} +}; + + +void reconfigure(InputParameter *local_interface, uca_org_t *fin_res); + +uca_org_t cacti_interface(const string & infile_name); +//McPAT's plain interface, please keep !!! +uca_org_t cacti_interface(InputParameter * const local_interface); +//McPAT's plain interface, please keep !!! +uca_org_t init_interface(InputParameter * const local_interface); +//McPAT's plain interface, please keep !!! +uca_org_t cacti_interface( + int cache_size, + int line_size, + int associativity, + int rw_ports, + int excl_read_ports, + int excl_write_ports, + int single_ended_read_ports, + int search_ports, + int banks, + double tech_node, + int output_width, + int specific_tag, + int tag_width, + int access_mode, + int cache, + int main_mem, + int obj_func_delay, + int obj_func_dynamic_power, + int obj_func_leakage_power, + int obj_func_cycle_time, + int obj_func_area, + int dev_func_delay, + int dev_func_dynamic_power, + int dev_func_leakage_power, + int dev_func_area, + int dev_func_cycle_time, + int ed_ed2_none, // 0 - ED, 1 - ED^2, 2 - use weight and deviate + int temp, + int wt, //0 - default(search across everything), 1 - global, 2 - 5% delay penalty, 3 - 10%, 4 - 20 %, 5 - 30%, 6 - low-swing + int data_arr_ram_cell_tech_flavor_in, + int data_arr_peri_global_tech_flavor_in, + int tag_arr_ram_cell_tech_flavor_in, + int tag_arr_peri_global_tech_flavor_in, + int interconnect_projection_type_in, + int wire_inside_mat_type_in, + int wire_outside_mat_type_in, + int REPEATERS_IN_HTREE_SEGMENTS_in, + int VERTICAL_HTREE_WIRES_OVER_THE_ARRAY_in, + int BROADCAST_ADDR_DATAIN_OVER_VERTICAL_HTREES_in, + int PAGE_SIZE_BITS_in, + int BURST_LENGTH_in, + int INTERNAL_PREFETCH_WIDTH_in, + int force_wiretype, + int wiretype, + int force_config, + int ndwl, + int ndbl, + int nspd, + int ndcm, + int ndsam1, + int ndsam2, + int ecc); +// int cache_size, +// int line_size, +// int associativity, +// int rw_ports, +// int excl_read_ports, +// int excl_write_ports, +// int single_ended_read_ports, +// int banks, +// double tech_node, +// int output_width, +// int specific_tag, +// int tag_width, +// int access_mode, +// int cache, +// int main_mem, +// int obj_func_delay, +// int obj_func_dynamic_power, +// int obj_func_leakage_power, +// int obj_func_area, +// int obj_func_cycle_time, +// int dev_func_delay, +// int dev_func_dynamic_power, +// int dev_func_leakage_power, +// int dev_func_area, +// int dev_func_cycle_time, +// int temp, +// int data_arr_ram_cell_tech_flavor_in, +// int data_arr_peri_global_tech_flavor_in, +// int tag_arr_ram_cell_tech_flavor_in, +// int tag_arr_peri_global_tech_flavor_in, +// int interconnect_projection_type_in, +// int wire_inside_mat_type_in, +// int wire_outside_mat_type_in, +// int REPEATERS_IN_HTREE_SEGMENTS_in, +// int VERTICAL_HTREE_WIRES_OVER_THE_ARRAY_in, +// int BROADCAST_ADDR_DATAIN_OVER_VERTICAL_HTREES_in, +//// double MAXAREACONSTRAINT_PERC_in, +//// double MAXACCTIMECONSTRAINT_PERC_in, +//// double MAX_PERC_DIFF_IN_DELAY_FROM_BEST_DELAY_REPEATER_SOLUTION_in, +// int PAGE_SIZE_BITS_in, +// int BURST_LENGTH_in, +// int INTERNAL_PREFETCH_WIDTH_in); + +//Naveen's interface +uca_org_t cacti_interface( + int cache_size, + int line_size, + int associativity, + int rw_ports, + int excl_read_ports, + int excl_write_ports, + int single_ended_read_ports, + int banks, + double tech_node, + int page_sz, + int burst_length, + int pre_width, + int output_width, + int specific_tag, + int tag_width, + int access_mode, //0 normal, 1 seq, 2 fast + int cache, //scratch ram or cache + int main_mem, + int obj_func_delay, + int obj_func_dynamic_power, + int obj_func_leakage_power, + int obj_func_area, + int obj_func_cycle_time, + int dev_func_delay, + int dev_func_dynamic_power, + int dev_func_leakage_power, + int dev_func_area, + int dev_func_cycle_time, + int ed_ed2_none, // 0 - ED, 1 - ED^2, 2 - use weight and deviate + int temp, + int wt, //0 - default(search across everything), 1 - global, 2 - 5% delay penalty, 3 - 10%, 4 - 20 %, 5 - 30%, 6 - low-swing + int data_arr_ram_cell_tech_flavor_in, + int data_arr_peri_global_tech_flavor_in, + int tag_arr_ram_cell_tech_flavor_in, + int tag_arr_peri_global_tech_flavor_in, + int interconnect_projection_type_in, // 0 - aggressive, 1 - normal + int wire_inside_mat_type_in, + int wire_outside_mat_type_in, + int is_nuca, // 0 - UCA, 1 - NUCA + int core_count, + int cache_level, // 0 - L2, 1 - L3 + int nuca_bank_count, + int nuca_obj_func_delay, + int nuca_obj_func_dynamic_power, + int nuca_obj_func_leakage_power, + int nuca_obj_func_area, + int nuca_obj_func_cycle_time, + int nuca_dev_func_delay, + int nuca_dev_func_dynamic_power, + int nuca_dev_func_leakage_power, + int nuca_dev_func_area, + int nuca_dev_func_cycle_time, + int REPEATERS_IN_HTREE_SEGMENTS_in,//TODO for now only wires with repeaters are supported + int p_input); + + +//CACTI3DD interface +uca_org_t cacti_interface( + int cache_size, + int line_size, + int associativity, + int rw_ports, + int excl_read_ports,// para5 + int excl_write_ports, + int single_ended_read_ports, + int search_ports, + int banks, + double tech_node,//para10 + int output_width, + int specific_tag, + int tag_width, + int access_mode, + int cache, //para15 + int main_mem, + int obj_func_delay, + int obj_func_dynamic_power, + int obj_func_leakage_power, + int obj_func_cycle_time, //para20 + int obj_func_area, + int dev_func_delay, + int dev_func_dynamic_power, + int dev_func_leakage_power, + int dev_func_area, //para25 + int dev_func_cycle_time, + int ed_ed2_none, // 0 - ED, 1 - ED^2, 2 - use weight and deviate + int temp, + int wt, //0 - default(search across everything), 1 - global, 2 - 5% delay penalty, 3 - 10%, 4 - 20 %, 5 - 30%, 6 - low-swing + int data_arr_ram_cell_tech_flavor_in,//para30 + int data_arr_peri_global_tech_flavor_in, + int tag_arr_ram_cell_tech_flavor_in, + int tag_arr_peri_global_tech_flavor_in, + int interconnect_projection_type_in, + int wire_inside_mat_type_in,//para35 + int wire_outside_mat_type_in, + int REPEATERS_IN_HTREE_SEGMENTS_in, + int VERTICAL_HTREE_WIRES_OVER_THE_ARRAY_in, + int BROADCAST_ADDR_DATAIN_OVER_VERTICAL_HTREES_in, + int PAGE_SIZE_BITS_in,//para40 + int BURST_LENGTH_in, + int INTERNAL_PREFETCH_WIDTH_in, + int force_wiretype, + int wiretype, + int force_config,//para45 + int ndwl, + int ndbl, + int nspd, + int ndcm, + int ndsam1,//para50 + int ndsam2, + int ecc, + int is_3d_dram, + int burst_depth, + int IO_width, + int sys_freq, + int debug_detail, + int num_dies, + int tsv_gran_is_subarray, + int tsv_gran_os_bank, + int num_tier_row_sprd, + int num_tier_col_sprd, + int partition_level); + +class mem_array +{ + public: + int Ndcm; + int Ndwl; + int Ndbl; + double Nspd; + int deg_bl_muxing; + int Ndsam_lev_1; + int Ndsam_lev_2; + double access_time; + double cycle_time; + double multisubbank_interleave_cycle_time; + double area_ram_cells; + double area; + powerDef power; + double delay_senseamp_mux_decoder; + double delay_before_subarray_output_driver; + double delay_from_subarray_output_driver_to_output; + double height; + double width; + + double mat_height; + double mat_length; + double subarray_length; + double subarray_height; + + double delay_route_to_bank, + delay_input_htree, + delay_row_predecode_driver_and_block, + delay_row_decoder, + delay_bitlines, + delay_sense_amp, + delay_subarray_output_driver, + delay_dout_htree, + delay_comparator, + delay_matchlines; + //CACTI3DD 3d stats + double delay_row_activate_net, + delay_local_wordline, + + delay_column_access_net, + delay_column_predecoder, + delay_column_decoder, + delay_column_selectline, + delay_datapath_net, + delay_global_data, + delay_local_data_and_drv, + delay_data_buffer; + + double energy_row_activate_net, + energy_row_predecode_driver_and_block, + energy_row_decoder, + energy_local_wordline, + energy_bitlines, + energy_sense_amp, + energy_column_access_net, + energy_column_predecoder, + energy_column_decoder, + energy_column_selectline, + energy_datapath_net, + energy_global_data, + energy_local_data_and_drv, + energy_data_buffer, + energy_subarray_output_driver; + + double all_banks_height, + all_banks_width, + area_efficiency; + + powerDef power_routing_to_bank; + powerDef power_addr_input_htree; + powerDef power_data_input_htree; + powerDef power_data_output_htree; + powerDef power_htree_in_search; + powerDef power_htree_out_search; + powerDef power_row_predecoder_drivers; + powerDef power_row_predecoder_blocks; + powerDef power_row_decoders; + powerDef power_bit_mux_predecoder_drivers; + powerDef power_bit_mux_predecoder_blocks; + powerDef power_bit_mux_decoders; + powerDef power_senseamp_mux_lev_1_predecoder_drivers; + powerDef power_senseamp_mux_lev_1_predecoder_blocks; + powerDef power_senseamp_mux_lev_1_decoders; + powerDef power_senseamp_mux_lev_2_predecoder_drivers; + powerDef power_senseamp_mux_lev_2_predecoder_blocks; + powerDef power_senseamp_mux_lev_2_decoders; + powerDef power_bitlines; + powerDef power_sense_amps; + powerDef power_prechg_eq_drivers; + powerDef power_output_drivers_at_subarray; + powerDef power_dataout_vertical_htree; + powerDef power_comparators; + + powerDef power_cam_bitline_precharge_eq_drv; + powerDef power_searchline; + powerDef power_searchline_precharge; + powerDef power_matchlines; + powerDef power_matchline_precharge; + powerDef power_matchline_to_wordline_drv; + + min_values_t *arr_min; + enum Wire_type wt; + + // dram stats + double activate_energy, read_energy, write_energy, precharge_energy, + refresh_power, leak_power_subbank_closed_page, leak_power_subbank_open_page, + leak_power_request_and_reply_networks; + + double precharge_delay; + + //Power-gating stats + double array_leakage; + double wl_leakage; + double cl_leakage; + + double sram_sleep_tx_width, wl_sleep_tx_width, cl_sleep_tx_width; + double sram_sleep_tx_area, wl_sleep_tx_area, cl_sleep_tx_area; + double sram_sleep_wakeup_latency, wl_sleep_wakeup_latency, cl_sleep_wakeup_latency, bl_floating_wakeup_latency; + double sram_sleep_wakeup_energy, wl_sleep_wakeup_energy, cl_sleep_wakeup_energy, bl_floating_wakeup_energy; + + int num_active_mats; + int num_submarray_mats; + + static bool lt(const mem_array * m1, const mem_array * m2); + + //CACTI3DD 3d dram stats + double t_RCD, t_RAS, t_RC, t_CAS, t_RP, t_RRD; + double activate_power, read_power, write_power, peak_read_power; + int num_row_subarray, num_col_subarray; + double delay_TSV_tot, area_TSV_tot, dyn_pow_TSV_tot, dyn_pow_TSV_per_access; + unsigned int num_TSV_tot; + double area_lwl_drv, area_row_predec_dec, area_col_predec_dec, + area_subarray, area_bus, area_address_bus, area_data_bus, area_data_drv, area_IOSA, area_sense_amp; + +}; + + +#endif + diff --git a/T1/TP1/cacti-master/component.cc b/T1/TP1/cacti-master/component.cc new file mode 100644 index 0000000..ea48659 --- /dev/null +++ b/T1/TP1/cacti-master/component.cc @@ -0,0 +1,237 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + + +#include +#include +#include + +#include "bank.h" +#include "component.h" +#include "decoder.h" + +using namespace std; + + + +Component::Component() + :area(), power(), rt_power(),delay(0) +{ +} + + + +Component::~Component() +{ +} + + + +double Component::compute_diffusion_width(int num_stacked_in, int num_folded_tr) +{ + double w_poly = g_ip->F_sz_um; + double spacing_poly_to_poly = g_tp.w_poly_contact + 2 * g_tp.spacing_poly_to_contact; + double total_diff_w = 2 * spacing_poly_to_poly + // for both source and drain + num_stacked_in * w_poly + + (num_stacked_in - 1) * g_tp.spacing_poly_to_poly; + + if (num_folded_tr > 1) + { + total_diff_w += (num_folded_tr - 2) * 2 * spacing_poly_to_poly + + (num_folded_tr - 1) * num_stacked_in * w_poly + + (num_folded_tr - 1) * (num_stacked_in - 1) * g_tp.spacing_poly_to_poly; + } + + return total_diff_w; +} + + + +double Component::compute_gate_area( + int gate_type, + int num_inputs, + double w_pmos, + double w_nmos, + double h_gate) +{ + if (w_pmos <= 0.0 || w_nmos <= 0.0) + { + return 0.0; + } + + double w_folded_pmos, w_folded_nmos; + int num_folded_pmos, num_folded_nmos; + double total_ndiff_w, total_pdiff_w; + Area gate; + + double h_tr_region = h_gate - 2 * g_tp.HPOWERRAIL; + double ratio_p_to_n = w_pmos / (w_pmos + w_nmos); + + if (ratio_p_to_n >= 1 || ratio_p_to_n <= 0) + { + return 0.0; + } + + w_folded_pmos = (h_tr_region - g_tp.MIN_GAP_BET_P_AND_N_DIFFS) * ratio_p_to_n; + w_folded_nmos = (h_tr_region - g_tp.MIN_GAP_BET_P_AND_N_DIFFS) * (1 - ratio_p_to_n); + + assert(w_folded_pmos > 0); + + num_folded_pmos = (int) (ceil(w_pmos / w_folded_pmos)); + num_folded_nmos = (int) (ceil(w_nmos / w_folded_nmos)); + + switch (gate_type) + { + case INV: + total_ndiff_w = compute_diffusion_width(1, num_folded_nmos); + total_pdiff_w = compute_diffusion_width(1, num_folded_pmos); + break; + + case NOR: + total_ndiff_w = compute_diffusion_width(1, num_inputs * num_folded_nmos); + total_pdiff_w = compute_diffusion_width(num_inputs, num_folded_pmos); + break; + + case NAND: + total_ndiff_w = compute_diffusion_width(num_inputs, num_folded_nmos); + total_pdiff_w = compute_diffusion_width(1, num_inputs * num_folded_pmos); + break; + default: + cout << "Unknown gate type: " << gate_type << endl; + exit(1); + } + + gate.w = MAX(total_ndiff_w, total_pdiff_w); + + if (w_folded_nmos > w_nmos) + { + //means that the height of the gate can + //be made smaller than the input height specified, so calculate the height of the gate. + gate.h = w_nmos + w_pmos + g_tp.MIN_GAP_BET_P_AND_N_DIFFS + 2 * g_tp.HPOWERRAIL; + } + else + { + gate.h = h_gate; + } + return gate.get_area(); +} + + + +double Component::compute_tr_width_after_folding( + double input_width, + double threshold_folding_width) +{//This is actually the width of the cell not the width of a device. +//The width of a cell and the width of a device is orthogonal. + if (input_width <= 0) + { + return 0; + } + + int num_folded_tr = (int) (ceil(input_width / threshold_folding_width)); + double spacing_poly_to_poly = g_tp.w_poly_contact + 2 * g_tp.spacing_poly_to_contact; + double width_poly = g_ip->F_sz_um; + double total_diff_width = num_folded_tr * width_poly + (num_folded_tr + 1) * spacing_poly_to_poly; + + return total_diff_width; +} + + + +double Component::height_sense_amplifier(double pitch_sense_amp) +{ + // compute the height occupied by all PMOS transistors + double h_pmos_tr = compute_tr_width_after_folding(g_tp.w_sense_p, pitch_sense_amp) * 2 + + compute_tr_width_after_folding(g_tp.w_iso, pitch_sense_amp) + + 2 * g_tp.MIN_GAP_BET_SAME_TYPE_DIFFS; + + // compute the height occupied by all NMOS transistors + double h_nmos_tr = compute_tr_width_after_folding(g_tp.w_sense_n, pitch_sense_amp) * 2 + + compute_tr_width_after_folding(g_tp.w_sense_en, pitch_sense_amp) + + 2 * g_tp.MIN_GAP_BET_SAME_TYPE_DIFFS; + + // compute total height by considering gap between the p and n diffusion areas + return h_pmos_tr + h_nmos_tr + g_tp.MIN_GAP_BET_P_AND_N_DIFFS; +} + + + +int Component::logical_effort( + int num_gates_min, + double g, + double F, + double * w_n, + double * w_p, + double C_load, + double p_to_n_sz_ratio, + bool is_dram_, + bool is_wl_tr_, + double max_w_nmos) +{ + int num_gates = (int) (log(F) / log(fopt)); + + // check if num_gates is odd. if so, add 1 to make it even + num_gates+= (num_gates % 2) ? 1 : 0; + num_gates = MAX(num_gates, num_gates_min); + + // recalculate the effective fanout of each stage + double f = pow(F, 1.0 / num_gates); + int i = num_gates - 1; + double C_in = C_load / f; + w_n[i] = (1.0 / (1.0 + p_to_n_sz_ratio)) * C_in / gate_C(1, 0, is_dram_, false, is_wl_tr_); + w_n[i] = MAX(w_n[i], g_tp.min_w_nmos_); + w_p[i] = p_to_n_sz_ratio * w_n[i]; + + if (w_n[i] > max_w_nmos) // && !g_ip->is_3d_mem) + { + double C_ld = gate_C((1 + p_to_n_sz_ratio) * max_w_nmos, 0, is_dram_, false, is_wl_tr_); + F = g * C_ld / gate_C(w_n[0] + w_p[0], 0, is_dram_, false, is_wl_tr_); + num_gates = (int) (log(F) / log(fopt)) + 1; + num_gates+= (num_gates % 2) ? 1 : 0; + num_gates = MAX(num_gates, num_gates_min); + f = pow(F, 1.0 / (num_gates - 1)); + i = num_gates - 1; + w_n[i] = max_w_nmos; + w_p[i] = p_to_n_sz_ratio * w_n[i]; + } + + for (i = num_gates - 2; i >= 1; i--) + { + w_n[i] = MAX(w_n[i+1] / f, g_tp.min_w_nmos_); + w_p[i] = p_to_n_sz_ratio * w_n[i]; + } + + assert(num_gates <= MAX_NUMBER_GATES_STAGE); + return num_gates; +} + diff --git a/T1/TP1/cacti-master/component.h b/T1/TP1/cacti-master/component.h new file mode 100644 index 0000000..7d6dbf8 --- /dev/null +++ b/T1/TP1/cacti-master/component.h @@ -0,0 +1,84 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#ifndef __COMPONENT_H__ +#define __COMPONENT_H__ + +#include "parameter.h" +#include "area.h" + +using namespace std; + +class Crossbar; +class Bank; + +class Component +{ + public: + Component(); + ~Component(); + + Area area; + powerDef power,rt_power; + double delay; + double cycle_time; + + double compute_gate_area( + int gate_type, + int num_inputs, + double w_pmos, + double w_nmos, + double h_gate); + + double compute_tr_width_after_folding(double input_width, double threshold_folding_width); + double height_sense_amplifier(double pitch_sense_amp); + + protected: + int logical_effort( + int num_gates_min, + double g, + double F, + double * w_n, + double * w_p, + double C_load, + double p_to_n_sz_ratio, + bool is_dram_, + bool is_wl_tr_, + double max_w_nmos); + + private: + double compute_diffusion_width(int num_stacked_in, int num_folded_tr); +}; + +#endif + diff --git a/T1/TP1/cacti-master/const.h b/T1/TP1/cacti-master/const.h new file mode 100644 index 0000000..a2851d7 --- /dev/null +++ b/T1/TP1/cacti-master/const.h @@ -0,0 +1,273 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + +#ifndef __CONST_H__ +#define __CONST_H__ + +#include +#include +#include +#include +#include + +/* The following are things you might want to change + * when compiling + */ + +/* + * Address bits in a word, and number of output bits from the cache + */ + +/* +was: #define ADDRESS_BITS 32 +now: 42 bits as in the Power4 +This is 36 bits in Pentium 4 +and 40 bits in Opteron. +*/ +const int ADDRESS_BITS = 42; + +/*dt: In addition to the tag bits, the tags also include 1 valid bit, 1 dirty bit, 2 bits for a 4-state + cache coherency protocoll (MESI), 1 bit for MRU (change this to log(ways) for full LRU). + So in total we have 1 + 1 + 2 + 1 = 5 */ +const int EXTRA_TAG_BITS = 5; + +/* limits on the various N parameters */ + +const unsigned int MAXDATAN = 512; // maximum for Ndwl and Ndbl +const unsigned int MAXSUBARRAYS = 1048576; // maximum subarrays for data and tag arrays +const unsigned int MAXDATASPD = 256; // maximum for Nspd +const unsigned int MAX_COL_MUX = 256; + + + +#define ROUTER_TYPES 3 +#define WIRE_TYPES 6 + +const double Cpolywire = 0; + + +/* Threshold voltages (as a proportion of Vdd) + If you don't know them, set all values to 0.5 */ +#define VTHFA1 0.452 +#define VTHFA2 0.304 +#define VTHFA3 0.420 +#define VTHFA4 0.413 +#define VTHFA5 0.405 +#define VTHFA6 0.452 +#define VSINV 0.452 +#define VTHCOMPINV 0.437 +#define VTHMUXNAND 0.548 // TODO : this constant must be revisited +#define VTHEVALINV 0.452 +#define VTHSENSEEXTDRV 0.438 + + +//WmuxdrvNANDn and WmuxdrvNANDp are no longer being used but it's part of the old +//delay_comparator function which we are using exactly as it used to be, so just setting these to 0 +const double WmuxdrvNANDn = 0; +const double WmuxdrvNANDp = 0; + + +/*===================================================================*/ +/* + * The following are things you probably wouldn't want to change. + */ + +#define BIGNUM 1e30 +#define INF 9999999 +#define MAX(a,b) (((a)>(b))?(a):(b)) +#define MIN(a,b) (((a)<(b))?(a):(b)) + +/* Used to communicate with the horowitz model */ +#define RISE 1 +#define FALL 0 +#define NCH 1 +#define PCH 0 + + +#define EPSILON 0.5 //v4.1: This constant is being used in order to fix floating point -> integer +//conversion problems that were occuring within CACTI. Typical problem that was occuring was +//that with different compilers a floating point number like 3.0 would get represented as either +//2.9999....or 3.00000001 and then the integer part of the floating point number (3.0) would +//be computed differently depending on the compiler. What we are doing now is to replace +//int (x) with (int) (x+EPSILON) where EPSILON is 0.5. This would fix such problems. Note that +//this works only when x is an integer >= 0. +/* + * thinks this is more a solution to solve the simple truncate problem + * (http://www.cs.tut.fi/~jkorpela/round.html) rather than the problem mentioned above. + * Unfortunately, this solution causes nasty bugs (different results when using O0 and O3). + * Moreover, round is not correct in CACTI since when an extra fraction of bit/line is needed, + * we need to provide a complete bit/line even the fraction is just 0.01. + * So, in later version than 6.5 we use (int)ceil() to get double to int conversion. + */ + +#define EPSILON2 0.1 +#define EPSILON3 0.6 + + +#define MINSUBARRAYROWS 16 //For simplicity in modeling, for the row decoding structure, we assume +//that each row predecode block is composed of at least one 2-4 decoder. When the outputs from the +//row predecode blocks are combined this means that there are at least 4*4=16 row decode outputs +#define MAXSUBARRAYROWS 262144 //Each row predecode block produces a max of 2^9 outputs. So +//the maximum number of row decode outputs will be 2^9*2^9 +#define MINSUBARRAYCOLS 2 +#define MAXSUBARRAYCOLS 262144 + + +#define INV 0 +#define NOR 1 +#define NAND 2 + + +#define NUMBER_TECH_FLAVORS 4 + +#define NUMBER_INTERCONNECT_PROJECTION_TYPES 2 //aggressive and conservative +//0 = Aggressive projections, 1 = Conservative projections +#define NUMBER_WIRE_TYPES 4 //local, semi-global and global +//1 = 'Semi-global' wire type, 2 = 'Global' wire type +#define NUMBER_TSV_TYPES 3 +//0 = ITRS projected fine TSV type, 1 = Industrial reported large TSV type, 2 = TBD + +const int dram_cell_tech_flavor = 3; + + +#define VBITSENSEMIN 0.08 //minimum bitline sense voltage is fixed to be 80 mV. + +#define fopt 4.0 + +#define INPUT_WIRE_TO_INPUT_GATE_CAP_RATIO 0 +#define BUFFER_SEPARATION_LENGTH_MULTIPLIER 1 +#define NUMBER_MATS_PER_REDUNDANT_MAT 8 + +#define NUMBER_STACKED_DIE_LAYERS 1 + +// this variable can be set to carry out solution optimization for +// a maximum area allocation. +#define STACKED_DIE_LAYER_ALLOTED_AREA_mm2 0 //6.24 //6.21//71.5 + +// this variable can also be employed when solution optimization +// with maximum area allocation is carried out. +#define MAX_PERCENT_AWAY_FROM_ALLOTED_AREA 50 + +// this variable can also be employed when solution optimization +// with maximum area allocation is carried out. +#define MIN_AREA_EFFICIENCY 20 + +// this variable can be employed when solution with a desired +// aspect ratio is required. +#define STACKED_DIE_LAYER_ASPECT_RATIO 1 + +// this variable can be employed when solution with a desired +// aspect ratio is required. +#define MAX_PERCENT_AWAY_FROM_ASPECT_RATIO 101 + +// this variable can be employed to carry out solution optimization +// for a certain target random cycle time. +#define TARGET_CYCLE_TIME_ns 1000000000 + +#define NUMBER_PIPELINE_STAGES 4 + +// this can be used to model the length of interconnect +// between a bank and a crossbar +#define LENGTH_INTERCONNECT_FROM_BANK_TO_CROSSBAR 0 //3791 // 2880//micron + +#define IS_CROSSBAR 0 +#define NUMBER_INPUT_PORTS_CROSSBAR 8 +#define NUMBER_OUTPUT_PORTS_CROSSBAR 8 +#define NUMBER_SIGNALS_PER_PORT_CROSSBAR 256 + + +#define MAT_LEAKAGE_REDUCTION_DUE_TO_SLEEP_TRANSISTORS_FACTOR 1 +#define LEAKAGE_REDUCTION_DUE_TO_LONG_CHANNEL_HP_TRANSISTORS_FACTOR 1 + +#define PAGE_MODE 0 + +#define MAIN_MEM_PER_CHIP_STANDBY_CURRENT_mA 60 +// We are actually not using this variable in the CACTI code. We just want to acknowledge that +// this current should be multiplied by the DDR(n) system VDD value to compute the standby power +// consumed during precharge. + + +const double VDD_STORAGE_LOSS_FRACTION_WORST = 0.125; +const double CU_RESISTIVITY = 0.022; //ohm-micron +const double BULK_CU_RESISTIVITY = 0.018; //ohm-micron +const double PERMITTIVITY_FREE_SPACE = 8.854e-18; //F/micron + +const static uint32_t sram_num_cells_wl_stitching_ = 16; +const static uint32_t dram_num_cells_wl_stitching_ = 64; +const static uint32_t comm_dram_num_cells_wl_stitching_ = 256; +const static double num_bits_per_ecc_b_ = 8.0; + +const double bit_to_byte = 8.0; + +#define MAX_NUMBER_GATES_STAGE 20 +#define MAX_NUMBER_HTREE_NODES 20 +#define NAND2_LEAK_STACK_FACTOR 0.2 +#define NAND3_LEAK_STACK_FACTOR 0.2 +#define NOR2_LEAK_STACK_FACTOR 0.2 +#define INV_LEAK_STACK_FACTOR 0.5 +#define MAX_NUMBER_ARRAY_PARTITIONS 1000000 + +// abbreviations used in this project +// ---------------------------------- +// +// num : number +// rw : read/write +// rd : read +// wr : write +// se : single-ended +// sz : size +// F : feature +// w : width +// h : height or horizontal +// v : vertical or velocity + + +enum ram_cell_tech_type_num +{ + itrs_hp = 0, + itrs_lstp = 1, + itrs_lop = 2, + lp_dram = 3, + comm_dram = 4 +}; + +const double pppm[4] = {1,1,1,1}; +const double pppm_lkg[4] = {0,1,1,0}; +const double pppm_dyn[4] = {1,0,0,0}; +const double pppm_Isub[4] = {0,1,0,0}; +const double pppm_Ig[4] = {0,0,1,0}; +const double pppm_sc[4] = {0,0,0,1}; + +const double Ilinear_to_Isat_ratio =2.0; + + + +#endif diff --git a/T1/TP1/cacti-master/contention.dat b/T1/TP1/cacti-master/contention.dat new file mode 100644 index 0000000..826553e --- /dev/null +++ b/T1/TP1/cacti-master/contention.dat @@ -0,0 +1,126 @@ +l34c64l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l34c64l2b: 9 11 19 29 43 62 81 102 +l34c64l4b: 6 8 12 17 24 29 39 47 +l34c64l8b: 7 8 10 14 18 22 25 30 +l34c64l16b: 7 7 9 12 14 17 20 24 +l34c64l32b: 7 7 9 12 14 17 20 24 -r +l34c64l64b: 7 7 9 12 14 17 20 24 -r +l34c128l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l34c128l2b: 4 10 19 30 44 64 82 103 +l34c128l4b: 3 6 11 17 24 31 38 47 +l34c128l8b: 3 5 9 13 17 21 25 29 +l34c128l16b: 4 5 7 10 13 16 19 22 +l34c128l32b: 4 5 7 10 13 16 19 22 -r +l34c128l64b: 4 5 7 10 13 16 19 22 -r +l34c256l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l34c256l2b: 3 10 19 30 44 63 82 103 +l34c256l4b: 3 6 11 17 24 31 38 47 +l34c256l8b: 2 5 8 12 16 20 24 29 +l34c256l16b: 2 4 7 9 12 15 18 21 +l34c256l32b: 2 4 7 9 12 15 18 21 -r +l34c256l64b: 2 4 7 9 12 15 18 21 -r +l38c64l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l38c64l2b: 57 59 77 90 137 187 219 245 +l38c64l4b: 35 40 48 56 43 61 80 101 +l38c64l8b: 18 27 41 45 52 58 58 58 -r +l38c64l16b: 16 17 19 35 40 49 53 53 -r +l38c64l32b: 15 15 17 19 22 25 30 30 -r +l38c64l64b: 15 15 17 19 22 25 30 30 -r +l38c128l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l38c128l2b: 38 50 78 93 139 188 220 245 +l38c128l4b: 29 37 46 56 43 61 81 102 +l38c128l8b: 16 30 39 44 50 57 57 57 -r +l38c128l16b: 14 16 19 33 40 47 52 52 -r +l38c128l32b: 14 15 17 20 23 27 31 31 -r +l38c128l64b: 14 15 17 20 23 27 31 31 -r +l38c256l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l38c256l2b: 35 50 78 94 139 188 220 246 +l38c256l4b: 28 36 45 55 55 61 81 102 +l38c256l8b: 17 30 38 43 50 57 57 57 -r +l38c256l16b: 15 17 21 32 40 47 51 51 +l38c256l32b: 15 17 19 21 24 29 33 33 +l38c256l64b: 15 17 19 21 24 29 33 33 -r +l316c64l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l316c64l2b: 1000 1000 1000 1000 1000 1000 1000 1000 +l316c64l4b: 34 35 78 126 178 220 252 274 +l316c64l8b: 9 11 23 43 62 87 105 130 +l316c64l16b: 7 9 13 23 33 45 56 67 +l316c64l32b: 5 6 7 10 13 19 25 30 +l316c64l64b: 4 5 6 8 10 14 18 21 +l316c128l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l316c128l2b: 25 131 243 1000 1000 1000 1000 1000 +l316c128l4b: 8 28 79 127 179 221 253 274 +l316c128l8b: 4 9 22 43 62 88 106 131 +l316c128l16b: 4 6 11 21 32 44 55 67 +l316c128l32b: 4 6 11 12 12 18 24 29 +l316c128l64b: 2 3 5 7 9 13 17 21 +l316c256l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l316c256l2b: 1000 1000 1000 1000 1000 1000 1000 1000 +l316c256l4b: 5 28 80 128 180 221 253 274 +l316c256l8b: 3 8 22 43 63 88 107 131 +l316c256l16b: 2 5 11 21 32 44 55 67 +l316c256l32b: 2 3 5 8 12 18 24 29 +l316c256l64b: 2 3 4 6 9 13 17 21 +l24c64l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l24c64l2b: 10 12 24 41 60 86 105 122 +l24c64l4b: 5 7 13 20 29 38 47 56 +l24c64l8b: 5 6 9 14 18 24 29 35 +l24c64l16b: 4 5 7 10 12 16 19 22 +l24c64l32b: 5 5 6 8 10 12 14 17 +l24c64l64b: 5 5 6 8 10 12 14 16 +l24c128l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l24c128l2b: 1000 1000 1000 1000 1000 1000 1000 1000 +l24c128l4b: 3 7 13 20 29 38 47 57 +l24c128l8b: 3 5 9 13 18 23 29 35 +l24c128l16b: 3 4 6 9 12 15 19 22 +l24c128l32b: 3 4 5 7 9 11 14 16 +l24c128l64b: 1000 1000 1000 1000 1000 1000 1000 1000 +l24c256l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l24c256l2b: 1000 1000 1000 1000 1000 1000 1000 1000 +l24c256l4b: 2 6 13 20 29 38 47 57 +l24c256l8b: 2 4 8 13 18 23 28 35 +l24c256l16b: 2 3 6 8 11 15 18 22 +l24c256l32b: 2 3 5 6 8 11 14 16 +l24c256l64b: 1000 1000 1000 1000 1000 1000 1000 1000 +l28c64l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l28c64l2b: 46 52 117 157 188 225 246 261 +l28c64l4b: 19 25 39 54 96 107 120 150 +l28c64l8b: 9 12 21 30 39 47 58 79 +l28c64l16b: 8 9 11 16 25 32 37 42 +l28c64l32b: 7 8 9 11 14 19 23 28 +l28c64l64b: 7 7 8 10 12 14 18 22 +l28c128l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l28c128l2b: 1000 1000 1000 1000 1000 1000 1000 1000 +l28c128l4b: 12 22 39 54 98 108 130 151 +l28c128l8b: 7 12 21 30 39 48 59 80 +l28c128l16b: 6 8 11 16 24 31 37 42 +l28c128l32b: 6 7 9 11 14 19 24 28 +l28c128l64b: 6 7 9 11 14 19 24 28 +l28c256l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l28c256l2b: 1000 1000 1000 1000 1000 1000 1000 1000 +l28c256l4b: 12 22 39 54 100 108 130 152 +l28c256l8b: 7 12 21 30 39 48 59 81 +l28c256l16b: 6 8 11 16 24 31 37 42 +l28c256l32b: 6 7 9 11 14 19 24 28 +l28c256l64b: 6 7 9 11 14 19 24 28 +l216c64l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l216c64l2b: 1000 1000 1000 1000 1000 1000 1000 1000 +l216c64l4b: 34 35 78 126 178 220 252 274 +l216c64l8b: 9 11 23 43 62 87 105 130 +l216c64l16b: 7 9 13 23 33 45 56 67 +l216c64l32b: 5 6 7 10 13 19 25 30 +l216c64l64b: 4 5 6 8 10 14 18 21 +l216c128l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l216c128l2b: 25 131 243 1000 1000 1000 1000 1000 +l216c128l4b: 8 28 79 127 179 221 253 274 +l216c128l8b: 4 9 22 43 62 88 106 131 +l216c128l16b: 4 6 11 21 32 44 55 67 +l216c128l32b: 4 6 11 12 12 18 24 29 +l216c128l64b: 2 3 5 7 9 13 17 21 +l216c256l1b: 1000 1000 1000 1000 1000 1000 1000 1000 +l216c256l2b: 1000 1000 1000 1000 1000 1000 1000 1000 +l216c256l4b: 5 28 80 128 180 221 253 274 +l216c256l8b: 3 8 22 43 63 88 107 131 +l216c256l16b: 2 5 11 21 32 44 55 67 +l216c256l32b: 2 3 5 8 12 18 24 29 +l216c256l64b: 2 3 4 6 9 13 17 21 diff --git a/T1/TP1/cacti-master/crossbar.cc b/T1/TP1/cacti-master/crossbar.cc new file mode 100644 index 0000000..be32736 --- /dev/null +++ b/T1/TP1/cacti-master/crossbar.cc @@ -0,0 +1,161 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + +#include "crossbar.h" + +#define ASPECT_THRESHOLD .8 +#define ADJ 1 + +Crossbar::Crossbar( + double n_inp_, + double n_out_, + double flit_size_, + /*TechnologyParameter::*/DeviceType *dt + ):n_inp(n_inp_), n_out(n_out_), flit_size(flit_size_), deviceType(dt) +{ + min_w_pmos = deviceType->n_to_p_eff_curr_drv_ratio*g_tp.min_w_nmos_; + Vdd = dt->Vdd; + CB_ADJ = 1; +} + +Crossbar::~Crossbar(){} + +double Crossbar::output_buffer() +{ + + //Wire winit(4, 4); + double l_eff = n_inp*flit_size*g_tp.wire_outside_mat.pitch; + Wire w1(g_ip->wt, l_eff); + //double s1 = w1.repeater_size *l_eff*ADJ/w1.repeater_spacing; + double s1 = w1.repeater_size * (l_eff n_to_p_eff_curr_drv_ratio; + // the model assumes input capacitance of the wire driver = input capacitance of nand + nor = input cap of the driver transistor + TriS1 = s1*(1 + pton_size)/(2 + pton_size + 1 + 2*pton_size); + TriS2 = s1; //driver transistor + + if (TriS1 < 1) + TriS1 = 1; + + double input_cap = gate_C(TriS1*(2*min_w_pmos + g_tp.min_w_nmos_), 0) + + gate_C(TriS1*(min_w_pmos + 2*g_tp.min_w_nmos_), 0); +// input_cap += drain_C_(TriS1*g_tp.min_w_nmos_, NCH, 1, 1, g_tp.cell_h_def) + +// drain_C_(TriS1*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def)*2 + +// gate_C(TriS2*g_tp.min_w_nmos_, 0)+ +// drain_C_(TriS1*min_w_pmos, NCH, 1, 1, g_tp.cell_h_def)*2 + +// drain_C_(TriS1*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + +// gate_C(TriS2*min_w_pmos, 0); + tri_int_cap = drain_C_(TriS1*g_tp.min_w_nmos_, NCH, 1, 1, g_tp.cell_h_def) + + drain_C_(TriS1*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def)*2 + + gate_C(TriS2*g_tp.min_w_nmos_, 0)+ + drain_C_(TriS1*min_w_pmos, NCH, 1, 1, g_tp.cell_h_def)*2 + + drain_C_(TriS1*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + gate_C(TriS2*min_w_pmos, 0); + double output_cap = drain_C_(TriS2*g_tp.min_w_nmos_, NCH, 1, 1, g_tp.cell_h_def) + + drain_C_(TriS2*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def); + double ctr_cap = gate_C(TriS2 *(min_w_pmos + g_tp.min_w_nmos_), 0); + + tri_inp_cap = input_cap; + tri_out_cap = output_cap; + tri_ctr_cap = ctr_cap; + return input_cap + output_cap + ctr_cap; +} + +void Crossbar::compute_power() +{ + + Wire winit(4, 4); + double tri_cap = output_buffer(); + assert(tri_cap > 0); + //area of a tristate logic + double g_area = compute_gate_area(INV, 1, TriS2*g_tp.min_w_nmos_, TriS2*min_w_pmos, g_tp.cell_h_def); + g_area *= 2; // to model area of output transistors + g_area += compute_gate_area (NAND, 2, TriS1*2*g_tp.min_w_nmos_, TriS1*min_w_pmos, g_tp.cell_h_def); + g_area += compute_gate_area (NOR, 2, TriS1*g_tp.min_w_nmos_, TriS1*2*min_w_pmos, g_tp.cell_h_def); + double width /*per tristate*/ = g_area/(CB_ADJ * g_tp.cell_h_def); + // effective no. of tristate buffers that need to be laid side by side + int ntri = (int)ceil(g_tp.cell_h_def/(g_tp.wire_outside_mat.pitch)); + double wire_len = MAX(width*ntri*n_out, flit_size*g_tp.wire_outside_mat.pitch*n_out); + Wire w1(g_ip->wt, wire_len); + + area.w = wire_len; + area.h = g_tp.wire_outside_mat.pitch*n_inp*flit_size * CB_ADJ; + Wire w2(g_ip->wt, area.h); + + double aspect_ratio_cb = (area.h/area.w)*(n_out/n_inp); + if (aspect_ratio_cb > 1) aspect_ratio_cb = 1/aspect_ratio_cb; + + if (aspect_ratio_cb < ASPECT_THRESHOLD) { + if (n_out > 2 && n_inp > 2) { + CB_ADJ+=0.2; + //cout << "CB ADJ " << CB_ADJ << endl; + if (CB_ADJ < 4) { + this->compute_power(); + } + } + } + + + + power.readOp.dynamic = (w1.power.readOp.dynamic + w2.power.readOp.dynamic + (tri_inp_cap * n_out + tri_out_cap * n_inp + tri_ctr_cap + tri_int_cap) * Vdd*Vdd)*flit_size; + power.readOp.leakage = n_inp * n_out * flit_size * ( + cmos_Isub_leakage(g_tp.min_w_nmos_*TriS2*2, min_w_pmos*TriS2*2, 1, inv) *Vdd+ + cmos_Isub_leakage(g_tp.min_w_nmos_*TriS1*3, min_w_pmos*TriS1*3, 2, nand)*Vdd+ + cmos_Isub_leakage(g_tp.min_w_nmos_*TriS1*3, min_w_pmos*TriS1*3, 2, nor) *Vdd+ + w1.power.readOp.leakage + w2.power.readOp.leakage); + power.readOp.gate_leakage = n_inp * n_out * flit_size * ( + cmos_Ig_leakage(g_tp.min_w_nmos_*TriS2*2, min_w_pmos*TriS2*2, 1, inv) *Vdd+ + cmos_Ig_leakage(g_tp.min_w_nmos_*TriS1*3, min_w_pmos*TriS1*3, 2, nand)*Vdd+ + cmos_Ig_leakage(g_tp.min_w_nmos_*TriS1*3, min_w_pmos*TriS1*3, 2, nor) *Vdd+ + w1.power.readOp.gate_leakage + w2.power.readOp.gate_leakage); + + // delay calculation + double l_eff = n_inp*flit_size*g_tp.wire_outside_mat.pitch; + Wire wdriver(g_ip->wt, l_eff); + double res = g_tp.wire_outside_mat.R_per_um * (area.w+area.h) + tr_R_on(g_tp.min_w_nmos_*wdriver.repeater_size, NCH, 1); + double cap = g_tp.wire_outside_mat.C_per_um * (area.w + area.h) + n_out*tri_inp_cap + n_inp*tri_out_cap; + delay = horowitz(w1.signal_rise_time(), res*cap, deviceType->Vth/deviceType->Vdd, deviceType->Vth/deviceType->Vdd, RISE); + + Wire wreset(); +} + +void Crossbar::print_crossbar() +{ + cout << "\nCrossbar Stats (" << n_inp << "x" << n_out << ")\n\n"; + cout << "Flit size : " << flit_size << " bits" << endl; + cout << "Width : " << area.w << " u" << endl; + cout << "Height : " << area.h << " u" << endl; + cout << "Dynamic Power : " << power.readOp.dynamic*1e9 * MIN(n_inp, n_out) << " (nJ)" << endl; + cout << "Leakage Power : " << power.readOp.leakage*1e3 << " (mW)" << endl; + cout << "Gate Leakage Power : " << power.readOp.gate_leakage*1e3 << " (mW)" << endl; + cout << "Crossbar Delay : " << delay*1e12 << " ps\n"; +} + + diff --git a/T1/TP1/cacti-master/crossbar.h b/T1/TP1/cacti-master/crossbar.h new file mode 100644 index 0000000..529db9c --- /dev/null +++ b/T1/TP1/cacti-master/crossbar.h @@ -0,0 +1,83 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + +#ifndef __CROSSBAR__ +#define __CROSSBAR__ + +#include +#include +#include "basic_circuit.h" +#include "cacti_interface.h" +#include "component.h" +#include "parameter.h" +#include "mat.h" +#include "wire.h" + +class Crossbar : public Component +{ + public: + Crossbar( + double in, + double out, + double flit_sz, + /*TechnologyParameter::*/DeviceType *dt = &(g_tp.peri_global)); + ~Crossbar(); + + void print_crossbar(); + double output_buffer(); + void compute_power(); + + double n_inp, n_out; + double flit_size; + double tri_inp_cap, tri_out_cap, tri_ctr_cap, tri_int_cap; + + private: + double CB_ADJ; + /* + * Adjust factor of the height of the cross-point (tri-state buffer) cell (layout) in crossbar + * buffer is adjusted to get an aspect ratio of whole cross bar close to one; + * when adjust the ratio, the number of wires route over the tri-state buffers does not change, + * however, the effective wiring pitch changes. Specifically, since CB_ADJ will increase + * during the adjust, the tri-state buffer will become taller and thiner, and the effective wiring pitch + * will increase. As a result, the height of the crossbar (area.h) will increase. + */ + + /*TechnologyParameter::*/DeviceType *deviceType; + double TriS1, TriS2; + double min_w_pmos, Vdd; + +}; + + + + +#endif diff --git a/T1/TP1/cacti-master/ddr3.cfg b/T1/TP1/cacti-master/ddr3.cfg new file mode 100644 index 0000000..f6645ab --- /dev/null +++ b/T1/TP1/cacti-master/ddr3.cfg @@ -0,0 +1,254 @@ +# Cache size +//-size (bytes) 2048 +//-size (bytes) 4096 +//-size (bytes) 32768 +//-size (bytes) 131072 +//-size (bytes) 262144 +//-size (bytes) 1048576 +//-size (bytes) 2097152 +//-size (bytes) 4194304 +-size (bytes) 8388608 +//-size (bytes) 16777216 +//-size (bytes) 33554432 +//-size (bytes) 134217728 +//-size (bytes) 67108864 +//-size (bytes) 1073741824 + +# power gating +-Array Power Gating - "false" +-WL Power Gating - "false" +-CL Power Gating - "false" +-Bitline floating - "false" +-Interconnect Power Gating - "false" +-Power Gating Performance Loss 0.01 + +# Line size +//-block size (bytes) 8 +-block size (bytes) 64 + +# To model Fully Associative cache, set associativity to zero +//-associativity 0 +//-associativity 2 +//-associativity 4 +//-associativity 8 +-associativity 8 + +-read-write port 1 +-exclusive read port 0 +-exclusive write port 0 +-single ended read ports 0 + +# Multiple banks connected using a bus +-UCA bank count 1 +-technology (u) 0.022 +//-technology (u) 0.040 +//-technology (u) 0.032 +//-technology (u) 0.090 + +# following three parameters are meaningful only for main memories + +-page size (bits) 8192 +-burst length 8 +-internal prefetch width 8 + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Data array cell type - "itrs-hp" +//-Data array cell type - "itrs-lstp" +//-Data array cell type - "itrs-lop" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Data array peripheral type - "itrs-hp" +//-Data array peripheral type - "itrs-lstp" +//-Data array peripheral type - "itrs-lop" + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Tag array cell type - "itrs-hp" +//-Tag array cell type - "itrs-lstp" +//-Tag array cell type - "itrs-lop" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Tag array peripheral type - "itrs-hp" +//-Tag array peripheral type - "itrs-lstp" +//-Tag array peripheral type - "itrs-lop + +# Bus width include data bits and address bits required by the decoder +//-output/input bus width 16 +-output/input bus width 512 + +// 300-400 in steps of 10 +-operating temperature (K) 360 + +# Type of memory - cache (with a tag array) or ram (scratch ram similar to a register file) +# or main memory (no tag array and every access will happen at a page granularity Ref: CACTI 5.3 report) +-cache type "cache" +//-cache type "ram" +//-cache type "main memory" + +# to model special structure like branch target buffers, directory, etc. +# change the tag size parameter +# if you want cacti to calculate the tagbits, set the tag size to "default" +-tag size (b) "default" +//-tag size (b) 22 + +# fast - data and tag access happen in parallel +# sequential - data array is accessed after accessing the tag array +# normal - data array lookup and tag access happen in parallel +# final data block is broadcasted in data array h-tree +# after getting the signal from the tag array +//-access mode (normal, sequential, fast) - "fast" +-access mode (normal, sequential, fast) - "normal" +//-access mode (normal, sequential, fast) - "sequential" + + +# DESIGN OBJECTIVE for UCA (or banks in NUCA) +-design objective (weight delay, dynamic power, leakage power, cycle time, area) 0:0:0:100:0 + +# Percentage deviation from the minimum value +# Ex: A deviation value of 10:1000:1000:1000:1000 will try to find an organization +# that compromises at most 10% delay. +# NOTE: Try reasonable values for % deviation. Inconsistent deviation +# percentage values will not produce any valid organizations. For example, +# 0:0:100:100:100 will try to identify an organization that has both +# least delay and dynamic power. Since such an organization is not possible, CACTI will +# throw an error. Refer CACTI-6 Technical report for more details +-deviate (delay, dynamic power, leakage power, cycle time, area) 20:100000:100000:100000:100000 + +# Objective for NUCA +-NUCAdesign objective (weight delay, dynamic power, leakage power, cycle time, area) 100:100:0:0:100 +-NUCAdeviate (delay, dynamic power, leakage power, cycle time, area) 10:10000:10000:10000:10000 + +# Set optimize tag to ED or ED^2 to obtain a cache configuration optimized for +# energy-delay or energy-delay sq. product +# Note: Optimize tag will disable weight or deviate values mentioned above +# Set it to NONE to let weight and deviate values determine the +# appropriate cache configuration +//-Optimize ED or ED^2 (ED, ED^2, NONE): "ED" +-Optimize ED or ED^2 (ED, ED^2, NONE): "ED^2" +//-Optimize ED or ED^2 (ED, ED^2, NONE): "NONE" + +-Cache model (NUCA, UCA) - "UCA" +//-Cache model (NUCA, UCA) - "NUCA" + +# In order for CACTI to find the optimal NUCA bank value the following +# variable should be assigned 0. +-NUCA bank count 0 + +# NOTE: for nuca network frequency is set to a default value of +# 5GHz in time.c. CACTI automatically +# calculates the maximum possible frequency and downgrades this value if necessary + +# By default CACTI considers both full-swing and low-swing +# wires to find an optimal configuration. However, it is possible to +# restrict the search space by changing the signaling from "default" to +# "fullswing" or "lowswing" type. +-Wire signaling (fullswing, lowswing, default) - "Global_30" +//-Wire signaling (fullswing, lowswing, default) - "default" +//-Wire signaling (fullswing, lowswing, default) - "lowswing" + +//-Wire inside mat - "global" +-Wire inside mat - "semi-global" +//-Wire outside mat - "global" +-Wire outside mat - "semi-global" + +-Interconnect projection - "conservative" +//-Interconnect projection - "aggressive" + +# Contention in network (which is a function of core count and cache level) is one of +# the critical factor used for deciding the optimal bank count value +# core count can be 4, 8, or 16 +//-Core count 4 +-Core count 8 +//-Core count 16 +-Cache level (L2/L3) - "L3" + +-Add ECC - "true" + +//-Print level (DETAILED, CONCISE) - "CONCISE" +-Print level (DETAILED, CONCISE) - "DETAILED" + +# for debugging +//-Print input parameters - "true" +-Print input parameters - "false" +# force CACTI to model the cache with the +# following Ndbl, Ndwl, Nspd, Ndsam, +# and Ndcm values +//-Force cache config - "true" +-Force cache config - "false" +-Ndwl 1 +-Ndbl 1 +-Nspd 0 +-Ndcm 1 +-Ndsam1 0 +-Ndsam2 0 + + + +#### Default CONFIGURATION values for baseline external IO parameters to DRAM. More details can be found in the CACTI-IO technical report (), especially Chapters 2 and 3. + +# Memory Type (D=DDR3, L=LPDDR2, W=WideIO). Additional memory types can be defined by the user in extio_technology.cc, along with their technology and configuration parameters. + +-dram_type "D" +//-dram_type "L" +//-dram_type "W" +//-dram_type "S" + +# Memory State (R=Read, W=Write, I=Idle or S=Sleep) + +//-iostate "R" +-iostate "W" +//-iostate "I" +//-iostate "S" + +#Address bus timing. To alleviate the timing on the command and address bus due to high loading (shared across all memories on the channel), the interface allows for multi-cycle timing options. + +-addr_timing 0.5 //DDR +//-addr_timing 1.0 //SDR (half of DQ rate) +//-addr_timing 2.0 //2T timing (One fourth of DQ rate) +//-addr_timing 3.0 // 3T timing (One sixth of DQ rate) + +# Memory Density (Gbit per memory/DRAM die) + +-mem_density 8 Gb //Valid values 2^n Gb + +# IO frequency (MHz) (frequency of the external memory interface). + +-bus_freq 800 MHz //As of current memory standards (2013), valid range 0 to 1.5 GHz for DDR3, 0 to 533 MHz for LPDDR2, 0 - 800 MHz for WideIO and 0 - 3 GHz for Low-swing differential. However this can change, and the user is free to define valid ranges based on new memory types or extending beyond existing standards for existing dram types. + +# Duty Cycle (fraction of time in the Memory State defined above) + +-duty_cycle 1.0 //Valid range 0 to 1.0 + +# Activity factor for Data (0->1 transitions) per cycle (for DDR, need to account for the higher activity in this parameter. E.g. max. activity factor for DDR is 1.0, for SDR is 0.5) + +-activity_dq 1.0 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR +#-activity_dq .50 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR + +# Activity factor for Control/Address (0->1 transitions) per cycle (for DDR, need to account for the higher activity in this parameter. E.g. max. activity factor for DDR is 1.0, for SDR is 0.5) + +-activity_ca 1.0 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR, 0 to 0.25 for 2T, and 0 to 0.17 for 3T +#-activity_ca 0.25 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR, 0 to 0.25 for 2T, and 0 to 0.17 for 3T + +# Number of DQ pins + +-num_dq 72 //Number of DQ pins. Includes ECC pins. + +# Number of DQS pins. DQS is a data strobe that is sent along with a small number of data-lanes so the source synchronous timing is local to these DQ bits. Typically, 1 DQS per byte (8 DQ bits) is used. The DQS is also typucally differential, just like the CLK pin. + +-num_dqs 36 //2 x differential pairs. Include ECC pins as well. Valid range 0 to 18. For x4 memories, could have 36 DQS pins. + +# Number of CA pins + +-num_ca 35 //Valid range 0 to 35 pins. +#-num_ca 25 //Valid range 0 to 35 pins. + +# Number of CLK pins. CLK is typically a differential pair. In some cases additional CLK pairs may be used to limit the loading on the CLK pin. + +-num_clk 2 //2 x differential pair. Valid values: 0/2/4. + +# Number of Physical Ranks + +-num_mem_dq 2 //Number of ranks (loads on DQ and DQS) per buffer/register. If multiple LRDIMMs or buffer chips exist, the analysis for capacity and power is reported per buffer/register. + +# Width of the Memory Data Bus + +-mem_data_width 4 //x4 or x8 or x16 or x32 memories. For WideIO upto x128. diff --git a/T1/TP1/cacti-master/decoder.cc b/T1/TP1/cacti-master/decoder.cc new file mode 100644 index 0000000..6ab9bb5 --- /dev/null +++ b/T1/TP1/cacti-master/decoder.cc @@ -0,0 +1,1673 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#include "area.h" +#include "decoder.h" +#include "parameter.h" +#include +#include +#include + +using namespace std; + + +Decoder::Decoder( + int _num_dec_signals, + bool flag_way_select, + double _C_ld_dec_out, + double _R_wire_dec_out, + bool fully_assoc_, + bool is_dram_, + bool is_wl_tr_, + const Area & cell_) +:exist(false), + C_ld_dec_out(_C_ld_dec_out), + R_wire_dec_out(_R_wire_dec_out), + num_gates(0), num_gates_min(2), + delay(0), + //power(), + fully_assoc(fully_assoc_), is_dram(is_dram_), + is_wl_tr(is_wl_tr_), + total_driver_nwidth(0), + total_driver_pwidth(0), + cell(cell_), + nodes_DSTN(1) +{ + + for (int i = 0; i < MAX_NUMBER_GATES_STAGE; i++) + { + w_dec_n[i] = 0; + w_dec_p[i] = 0; + } + + /* + * _num_dec_signals is the number of decoded signal as output + * num_addr_bits_dec is the number of signal to be decoded + * as the decoders input. + */ + int num_addr_bits_dec = _log2(_num_dec_signals); + + if (num_addr_bits_dec < 4) + { + if (flag_way_select) + { + exist = true; + num_in_signals = 2; + } + else + { + num_in_signals = 0; + } + } + else + { + exist = true; + + if (flag_way_select) + { + num_in_signals = 3; + } + else + { + num_in_signals = 2; + } + } + + assert(cell.h>0); + assert(cell.w>0); + // the height of a row-decoder-driver cell is fixed to be 4 * cell.h; + //area.h = 4 * cell.h; + area.h = g_tp.h_dec * cell.h; + + compute_widths(); + compute_area(); + +} + + + +void Decoder::compute_widths() +{ + double F; + double p_to_n_sz_ratio = pmos_to_nmos_sz_ratio(is_dram, is_wl_tr); + double gnand2 = (2 + p_to_n_sz_ratio) / (1 + p_to_n_sz_ratio); + double gnand3 = (3 + p_to_n_sz_ratio) / (1 + p_to_n_sz_ratio); + + if (exist) + { + if (num_in_signals == 2 || fully_assoc) + { + w_dec_n[0] = 2 * g_tp.min_w_nmos_; + w_dec_p[0] = p_to_n_sz_ratio * g_tp.min_w_nmos_; + F = gnand2; + } + else + { + w_dec_n[0] = 3 * g_tp.min_w_nmos_; + w_dec_p[0] = p_to_n_sz_ratio * g_tp.min_w_nmos_; + F = gnand3; + } + + F *= C_ld_dec_out / (gate_C(w_dec_n[0], 0, is_dram, false, is_wl_tr) + + gate_C(w_dec_p[0], 0, is_dram, false, is_wl_tr)); + num_gates = logical_effort( + num_gates_min, + num_in_signals == 2 ? gnand2 : gnand3, + F, + w_dec_n, + w_dec_p, + C_ld_dec_out, + p_to_n_sz_ratio, + is_dram, + is_wl_tr, + g_tp.max_w_nmos_dec); + + } +} + + + +void Decoder::compute_area() +{ + double cumulative_area = 0; + double cumulative_curr = 0; // cumulative leakage current + double cumulative_curr_Ig = 0; // cumulative leakage current + + if (exist) + { // First check if this decoder exists + if (num_in_signals == 2) + { + cumulative_area = compute_gate_area(NAND, 2, w_dec_p[0], w_dec_n[0], area.h); + cumulative_curr = cmos_Isub_leakage(w_dec_n[0], w_dec_p[0], 2, nand,is_dram); + cumulative_curr_Ig = cmos_Ig_leakage(w_dec_n[0], w_dec_p[0], 2, nand,is_dram); + } + else if (num_in_signals == 3) + { + cumulative_area = compute_gate_area(NAND, 3, w_dec_p[0], w_dec_n[0], area.h); + cumulative_curr = cmos_Isub_leakage(w_dec_n[0], w_dec_p[0], 3, nand, is_dram);; + cumulative_curr_Ig = cmos_Ig_leakage(w_dec_n[0], w_dec_p[0], 3, nand, is_dram); + } + + for (int i = 1; i < num_gates; i++) + { + cumulative_area += compute_gate_area(INV, 1, w_dec_p[i], w_dec_n[i], area.h); + cumulative_curr += cmos_Isub_leakage(w_dec_n[i], w_dec_p[i], 1, inv, is_dram); + cumulative_curr_Ig = cmos_Ig_leakage(w_dec_n[i], w_dec_p[i], 1, inv, is_dram); + } + power.readOp.leakage = cumulative_curr * g_tp.peri_global.Vdd; + power.readOp.gate_leakage = cumulative_curr_Ig * g_tp.peri_global.Vdd; + + area.w = (cumulative_area / area.h); + } +} + +void Decoder::compute_power_gating() +{ + //For all driver change there is only one sleep transistors to save area + //Total transistor width for sleep tx calculation + for (int i = 1; i <=num_gates; i++) + { + total_driver_nwidth += w_dec_n[i]; + total_driver_pwidth += w_dec_p[i]; + } + + //compute sleep tx + bool is_footer = false; + double Isat_subarray = simplified_nmos_Isat(total_driver_nwidth); + double detalV; + double c_wakeup; + + c_wakeup = drain_C_(total_driver_pwidth, PCH, 1, 1, cell.h);//Psleep tx + detalV = g_tp.peri_global.Vdd-g_tp.peri_global.Vcc_min; + if (g_ip->power_gating) + sleeptx = new Sleep_tx (g_ip->perfloss, + Isat_subarray, + is_footer, + c_wakeup, + detalV, + nodes_DSTN, + area); +} + +double Decoder::compute_delays(double inrisetime) +{ + if (exist) + { + double ret_val = 0; // outrisetime + int i; + double rd, tf, this_delay, c_load, c_intrinsic, Vpp; + double Vdd = g_tp.peri_global.Vdd; + + if ((is_wl_tr) && (is_dram)) + { + Vpp = g_tp.vpp; + } + else if (is_wl_tr) + { + Vpp = g_tp.sram_cell.Vdd; + } + else + { + Vpp = g_tp.peri_global.Vdd; + } + + // first check whether a decoder is required at all + rd = tr_R_on(w_dec_n[0], NCH, num_in_signals, is_dram, false, is_wl_tr); + c_load = gate_C(w_dec_n[1] + w_dec_p[1], 0.0, is_dram, false, is_wl_tr); + c_intrinsic = drain_C_(w_dec_p[0], PCH, 1, 1, area.h, is_dram, false, is_wl_tr) * num_in_signals + + drain_C_(w_dec_n[0], NCH, num_in_signals, 1, area.h, is_dram, false, is_wl_tr); + tf = rd * (c_intrinsic + c_load); + this_delay = horowitz(inrisetime, tf, 0.5, 0.5, RISE); + delay += this_delay; + inrisetime = this_delay / (1.0 - 0.5); + power.readOp.dynamic += (c_load + c_intrinsic) * Vdd * Vdd; + + for (i = 1; i < num_gates - 1; ++i) + { + rd = tr_R_on(w_dec_n[i], NCH, 1, is_dram, false, is_wl_tr); + c_load = gate_C(w_dec_p[i+1] + w_dec_n[i+1], 0.0, is_dram, false, is_wl_tr); + c_intrinsic = drain_C_(w_dec_p[i], PCH, 1, 1, area.h, is_dram, false, is_wl_tr) + + drain_C_(w_dec_n[i], NCH, 1, 1, area.h, is_dram, false, is_wl_tr); + tf = rd * (c_intrinsic + c_load); + this_delay = horowitz(inrisetime, tf, 0.5, 0.5, RISE); + delay += this_delay; + inrisetime = this_delay / (1.0 - 0.5); + power.readOp.dynamic += (c_load + c_intrinsic) * Vdd * Vdd; + } + + // add delay of final inverter that drives the wordline + i = num_gates - 1; + c_load = C_ld_dec_out; + rd = tr_R_on(w_dec_n[i], NCH, 1, is_dram, false, is_wl_tr); + c_intrinsic = drain_C_(w_dec_p[i], PCH, 1, 1, area.h, is_dram, false, is_wl_tr) + + drain_C_(w_dec_n[i], NCH, 1, 1, area.h, is_dram, false, is_wl_tr); + tf = rd * (c_intrinsic + c_load) + R_wire_dec_out * c_load / 2; + this_delay = horowitz(inrisetime, tf, 0.5, 0.5, RISE); + delay += this_delay; + ret_val = this_delay / (1.0 - 0.5); + power.readOp.dynamic += c_load * Vpp * Vpp + c_intrinsic * Vdd * Vdd; + + compute_power_gating(); + return ret_val; + } + else + { + return 0.0; + } +} + +void Decoder::leakage_feedback(double temperature) +{ + double cumulative_curr = 0; // cumulative leakage current + double cumulative_curr_Ig = 0; // cumulative leakage current + + if (exist) + { // First check if this decoder exists + if (num_in_signals == 2) + { + cumulative_curr = cmos_Isub_leakage(w_dec_n[0], w_dec_p[0], 2, nand,is_dram); + cumulative_curr_Ig = cmos_Ig_leakage(w_dec_n[0], w_dec_p[0], 2, nand,is_dram); + } + else if (num_in_signals == 3) + { + cumulative_curr = cmos_Isub_leakage(w_dec_n[0], w_dec_p[0], 3, nand, is_dram);; + cumulative_curr_Ig = cmos_Ig_leakage(w_dec_n[0], w_dec_p[0], 3, nand, is_dram); + } + + for (int i = 1; i < num_gates; i++) + { + cumulative_curr += cmos_Isub_leakage(w_dec_n[i], w_dec_p[i], 1, inv, is_dram); + cumulative_curr_Ig = cmos_Ig_leakage(w_dec_n[i], w_dec_p[i], 1, inv, is_dram); + } + + power.readOp.leakage = cumulative_curr * g_tp.peri_global.Vdd; + power.readOp.gate_leakage = cumulative_curr_Ig * g_tp.peri_global.Vdd; + } +} + +PredecBlk::PredecBlk( + int num_dec_signals, + Decoder * dec_, + double C_wire_predec_blk_out, + double R_wire_predec_blk_out_, + int num_dec_per_predec, + bool is_dram, + bool is_blk1) + :dec(dec_), + exist(false), + number_input_addr_bits(0), + C_ld_predec_blk_out(0), + R_wire_predec_blk_out(0), + branch_effort_nand2_gate_output(1), + branch_effort_nand3_gate_output(1), + flag_two_unique_paths(false), + flag_L2_gate(0), + number_inputs_L1_gate(0), + number_gates_L1_nand2_path(0), + number_gates_L1_nand3_path(0), + number_gates_L2(0), + min_number_gates_L1(2), + min_number_gates_L2(2), + num_L1_active_nand2_path(0), + num_L1_active_nand3_path(0), + delay_nand2_path(0), + delay_nand3_path(0), + power_nand2_path(), + power_nand3_path(), + power_L2(), + is_dram_(is_dram) +{ + int branch_effort_predec_out; + double C_ld_dec_gate; + int num_addr_bits_dec = _log2(num_dec_signals); + int blk1_num_input_addr_bits = (num_addr_bits_dec + 1) / 2; + int blk2_num_input_addr_bits = num_addr_bits_dec - blk1_num_input_addr_bits; + + w_L1_nand2_n[0] = 0; + w_L1_nand2_p[0] = 0; + w_L1_nand3_n[0] = 0; + w_L1_nand3_p[0] = 0; + + if (is_blk1 == true) + { + if (num_addr_bits_dec <= 0) + { + return; + } + else if (num_addr_bits_dec < 4) + { + // Just one predecoder block is required with NAND2 gates. No decoder required. + // The first level of predecoding directly drives the decoder output load + exist = true; + number_input_addr_bits = num_addr_bits_dec; + R_wire_predec_blk_out = dec->R_wire_dec_out; + C_ld_predec_blk_out = dec->C_ld_dec_out; + } + else + { + exist = true; + number_input_addr_bits = blk1_num_input_addr_bits; + branch_effort_predec_out = (1 << blk2_num_input_addr_bits); + C_ld_dec_gate = num_dec_per_predec * gate_C(dec->w_dec_n[0] + dec->w_dec_p[0], 0, is_dram_, false, false); + R_wire_predec_blk_out = R_wire_predec_blk_out_; + C_ld_predec_blk_out = branch_effort_predec_out * C_ld_dec_gate + C_wire_predec_blk_out; + } + } + else + { + if (num_addr_bits_dec >= 4) + { + exist = true; + number_input_addr_bits = blk2_num_input_addr_bits; + branch_effort_predec_out = (1 << blk1_num_input_addr_bits); + C_ld_dec_gate = num_dec_per_predec * gate_C(dec->w_dec_n[0] + dec->w_dec_p[0], 0, is_dram_, false, false); + R_wire_predec_blk_out = R_wire_predec_blk_out_; + C_ld_predec_blk_out = branch_effort_predec_out * C_ld_dec_gate + C_wire_predec_blk_out; + } + } + + compute_widths(); + compute_area(); +} + + + +void PredecBlk::compute_widths() +{ + double F, c_load_nand3_path, c_load_nand2_path; + double p_to_n_sz_ratio = pmos_to_nmos_sz_ratio(is_dram_); + double gnand2 = (2 + p_to_n_sz_ratio) / (1 + p_to_n_sz_ratio); + double gnand3 = (3 + p_to_n_sz_ratio) / (1 + p_to_n_sz_ratio); + + if (exist == false) return; + + + switch (number_input_addr_bits) + { + case 1: + flag_two_unique_paths = false; + number_inputs_L1_gate = 2; + flag_L2_gate = 0; + break; + case 2: + flag_two_unique_paths = false; + number_inputs_L1_gate = 2; + flag_L2_gate = 0; + break; + case 3: + flag_two_unique_paths = false; + number_inputs_L1_gate = 3; + flag_L2_gate = 0; + break; + case 4: + flag_two_unique_paths = false; + number_inputs_L1_gate = 2; + flag_L2_gate = 2; + branch_effort_nand2_gate_output = 4; + break; + case 5: + flag_two_unique_paths = true; + flag_L2_gate = 2; + branch_effort_nand2_gate_output = 8; + branch_effort_nand3_gate_output = 4; + break; + case 6: + flag_two_unique_paths = false; + number_inputs_L1_gate = 3; + flag_L2_gate = 2; + branch_effort_nand3_gate_output = 8; + break; + case 7: + flag_two_unique_paths = true; + flag_L2_gate = 3; + branch_effort_nand2_gate_output = 32; + branch_effort_nand3_gate_output = 16; + break; + case 8: + flag_two_unique_paths = true; + flag_L2_gate = 3; + branch_effort_nand2_gate_output = 64; + branch_effort_nand3_gate_output = 32; + break; + case 9: + flag_two_unique_paths = false; + number_inputs_L1_gate = 3; + flag_L2_gate = 3; + branch_effort_nand3_gate_output = 64; + break; + default: + assert(0); + break; + } + + // find the number of gates and sizing in second level of predecoder (if there is a second level) + if (flag_L2_gate) + { + if (flag_L2_gate == 2) + { // 2nd level is a NAND2 gate + w_L2_n[0] = 2 * g_tp.min_w_nmos_; + F = gnand2; + } + else + { // 2nd level is a NAND3 gate + w_L2_n[0] = 3 * g_tp.min_w_nmos_; + F = gnand3; + } + w_L2_p[0] = p_to_n_sz_ratio * g_tp.min_w_nmos_; + F *= C_ld_predec_blk_out / (gate_C(w_L2_n[0], 0, is_dram_) + gate_C(w_L2_p[0], 0, is_dram_)); + number_gates_L2 = logical_effort( + min_number_gates_L2, + flag_L2_gate == 2 ? gnand2 : gnand3, + F, + w_L2_n, + w_L2_p, + C_ld_predec_blk_out, + p_to_n_sz_ratio, + is_dram_, false, + g_tp.max_w_nmos_); + + // Now find the number of gates and widths in first level of predecoder + if ((flag_two_unique_paths)||(number_inputs_L1_gate == 2)) + { // Whenever flag_two_unique_paths is true, it means first level of decoder employs + // both NAND2 and NAND3 gates. Or when number_inputs_L1_gate is 2, it means + // a NAND2 gate is used in the first level of the predecoder + c_load_nand2_path = branch_effort_nand2_gate_output * + (gate_C(w_L2_n[0], 0, is_dram_) + + gate_C(w_L2_p[0], 0, is_dram_)); + w_L1_nand2_n[0] = 2 * g_tp.min_w_nmos_; + w_L1_nand2_p[0] = p_to_n_sz_ratio * g_tp.min_w_nmos_; + F = gnand2 * c_load_nand2_path / + (gate_C(w_L1_nand2_n[0], 0, is_dram_) + + gate_C(w_L1_nand2_p[0], 0, is_dram_)); + number_gates_L1_nand2_path = logical_effort( + min_number_gates_L1, + gnand2, + F, + w_L1_nand2_n, + w_L1_nand2_p, + c_load_nand2_path, + p_to_n_sz_ratio, + is_dram_, false, + g_tp.max_w_nmos_); + } + + //Now find widths of gates along path in which first gate is a NAND3 + if ((flag_two_unique_paths)||(number_inputs_L1_gate == 3)) + { // Whenever flag_two_unique_paths is TRUE, it means first level of decoder employs + // both NAND2 and NAND3 gates. Or when number_inputs_L1_gate is 3, it means + // a NAND3 gate is used in the first level of the predecoder + c_load_nand3_path = branch_effort_nand3_gate_output * + (gate_C(w_L2_n[0], 0, is_dram_) + + gate_C(w_L2_p[0], 0, is_dram_)); + w_L1_nand3_n[0] = 3 * g_tp.min_w_nmos_; + w_L1_nand3_p[0] = p_to_n_sz_ratio * g_tp.min_w_nmos_; + F = gnand3 * c_load_nand3_path / + (gate_C(w_L1_nand3_n[0], 0, is_dram_) + + gate_C(w_L1_nand3_p[0], 0, is_dram_)); + number_gates_L1_nand3_path = logical_effort( + min_number_gates_L1, + gnand3, + F, + w_L1_nand3_n, + w_L1_nand3_p, + c_load_nand3_path, + p_to_n_sz_ratio, + is_dram_, false, + g_tp.max_w_nmos_); + } + } + else + { // find number of gates and widths in first level of predecoder block when there is no second level + if (number_inputs_L1_gate == 2) + { + w_L1_nand2_n[0] = 2 * g_tp.min_w_nmos_; + w_L1_nand2_p[0] = p_to_n_sz_ratio * g_tp.min_w_nmos_; + F = gnand2*C_ld_predec_blk_out / + (gate_C(w_L1_nand2_n[0], 0, is_dram_) + + gate_C(w_L1_nand2_p[0], 0, is_dram_)); + number_gates_L1_nand2_path = logical_effort( + min_number_gates_L1, + gnand2, + F, + w_L1_nand2_n, + w_L1_nand2_p, + C_ld_predec_blk_out, + p_to_n_sz_ratio, + is_dram_, false, + g_tp.max_w_nmos_); + } + else if (number_inputs_L1_gate == 3) + { + w_L1_nand3_n[0] = 3 * g_tp.min_w_nmos_; + w_L1_nand3_p[0] = p_to_n_sz_ratio * g_tp.min_w_nmos_; + F = gnand3*C_ld_predec_blk_out / + (gate_C(w_L1_nand3_n[0], 0, is_dram_) + + gate_C(w_L1_nand3_p[0], 0, is_dram_)); + number_gates_L1_nand3_path = logical_effort( + min_number_gates_L1, + gnand3, + F, + w_L1_nand3_n, + w_L1_nand3_p, + C_ld_predec_blk_out, + p_to_n_sz_ratio, + is_dram_, false, + g_tp.max_w_nmos_); + } + } +} + + + +void PredecBlk::compute_area() +{ + if (exist) + { // First check whether a predecoder block is needed + int num_L1_nand2 = 0; + int num_L1_nand3 = 0; + int num_L2 = 0; + double tot_area_L1_nand3 =0; + double leak_L1_nand3 =0; + double gate_leak_L1_nand3 =0; + + double tot_area_L1_nand2 = compute_gate_area(NAND, 2, w_L1_nand2_p[0], w_L1_nand2_n[0], g_tp.cell_h_def); + double leak_L1_nand2 = cmos_Isub_leakage(w_L1_nand2_n[0], w_L1_nand2_p[0], 2, nand, is_dram_); + double gate_leak_L1_nand2 = cmos_Ig_leakage(w_L1_nand2_n[0], w_L1_nand2_p[0], 2, nand, is_dram_); + if (number_inputs_L1_gate != 3) { + tot_area_L1_nand3 = 0; + leak_L1_nand3 = 0; + gate_leak_L1_nand3 =0; + } + else { + tot_area_L1_nand3 = compute_gate_area(NAND, 3, w_L1_nand3_p[0], w_L1_nand3_n[0], g_tp.cell_h_def); + leak_L1_nand3 = cmos_Isub_leakage(w_L1_nand3_n[0], w_L1_nand3_p[0], 3, nand); + gate_leak_L1_nand3 = cmos_Ig_leakage(w_L1_nand3_n[0], w_L1_nand3_p[0], 3, nand); + } + + switch (number_input_addr_bits) + { + case 1: //2 NAND2 gates + num_L1_nand2 = 2; + num_L2 = 0; + num_L1_active_nand2_path =1; + num_L1_active_nand3_path =0; + break; + case 2: //4 NAND2 gates + num_L1_nand2 = 4; + num_L2 = 0; + num_L1_active_nand2_path =1; + num_L1_active_nand3_path =0; + break; + case 3: //8 NAND3 gates + num_L1_nand3 = 8; + num_L2 = 0; + num_L1_active_nand2_path =0; + num_L1_active_nand3_path =1; + break; + case 4: //4 + 4 NAND2 gates + num_L1_nand2 = 8; + num_L2 = 16; + num_L1_active_nand2_path =2; + num_L1_active_nand3_path =0; + break; + case 5: //4 NAND2 gates, 8 NAND3 gates + num_L1_nand2 = 4; + num_L1_nand3 = 8; + num_L2 = 32; + num_L1_active_nand2_path =1; + num_L1_active_nand3_path =1; + break; + case 6: //8 + 8 NAND3 gates + num_L1_nand3 = 16; + num_L2 = 64; + num_L1_active_nand2_path =0; + num_L1_active_nand3_path =2; + break; + case 7: //4 + 4 NAND2 gates, 8 NAND3 gates + num_L1_nand2 = 8; + num_L1_nand3 = 8; + num_L2 = 128; + num_L1_active_nand2_path =2; + num_L1_active_nand3_path =1; + break; + case 8: //4 NAND2 gates, 8 + 8 NAND3 gates + num_L1_nand2 = 4; + num_L1_nand3 = 16; + num_L2 = 256; + num_L1_active_nand2_path =2; + num_L1_active_nand3_path =2; + break; + case 9: //8 + 8 + 8 NAND3 gates + num_L1_nand3 = 24; + num_L2 = 512; + num_L1_active_nand2_path =0; + num_L1_active_nand3_path =3; + break; + default: + break; + } + + for (int i = 1; i < number_gates_L1_nand2_path; ++i) + { + tot_area_L1_nand2 += compute_gate_area(INV, 1, w_L1_nand2_p[i], w_L1_nand2_n[i], g_tp.cell_h_def); + leak_L1_nand2 += cmos_Isub_leakage(w_L1_nand2_n[i], w_L1_nand2_p[i], 2, nand, is_dram_); + gate_leak_L1_nand2 += cmos_Ig_leakage(w_L1_nand2_n[i], w_L1_nand2_p[i], 2, nand, is_dram_); + } + tot_area_L1_nand2 *= num_L1_nand2; + leak_L1_nand2 *= num_L1_nand2; + gate_leak_L1_nand2 *= num_L1_nand2; + + for (int i = 1; i < number_gates_L1_nand3_path; ++i) + { + tot_area_L1_nand3 += compute_gate_area(INV, 1, w_L1_nand3_p[i], w_L1_nand3_n[i], g_tp.cell_h_def); + leak_L1_nand3 += cmos_Isub_leakage(w_L1_nand3_n[i], w_L1_nand3_p[i], 3, nand, is_dram_); + gate_leak_L1_nand3 += cmos_Ig_leakage(w_L1_nand3_n[i], w_L1_nand3_p[i], 3, nand, is_dram_); + } + tot_area_L1_nand3 *= num_L1_nand3; + leak_L1_nand3 *= num_L1_nand3; + gate_leak_L1_nand3 *= num_L1_nand3; + + double cumulative_area_L1 = tot_area_L1_nand2 + tot_area_L1_nand3; + double cumulative_area_L2 = 0.0; + double leakage_L2 = 0.0; + double gate_leakage_L2 = 0.0; + + if (flag_L2_gate == 2) + { + cumulative_area_L2 = compute_gate_area(NAND, 2, w_L2_p[0], w_L2_n[0], g_tp.cell_h_def); + leakage_L2 = cmos_Isub_leakage(w_L2_n[0], w_L2_p[0], 2, nand, is_dram_); + gate_leakage_L2 = cmos_Ig_leakage(w_L2_n[0], w_L2_p[0], 2, nand, is_dram_); + } + else if (flag_L2_gate == 3) + { + cumulative_area_L2 = compute_gate_area(NAND, 3, w_L2_p[0], w_L2_n[0], g_tp.cell_h_def); + leakage_L2 = cmos_Isub_leakage(w_L2_n[0], w_L2_p[0], 3, nand, is_dram_); + gate_leakage_L2 = cmos_Ig_leakage(w_L2_n[0], w_L2_p[0], 3, nand, is_dram_); + } + + for (int i = 1; i < number_gates_L2; ++i) + { + cumulative_area_L2 += compute_gate_area(INV, 1, w_L2_p[i], w_L2_n[i], g_tp.cell_h_def); + leakage_L2 += cmos_Isub_leakage(w_L2_n[i], w_L2_p[i], 2, inv, is_dram_); + gate_leakage_L2 += cmos_Ig_leakage(w_L2_n[i], w_L2_p[i], 2, inv, is_dram_); + } + cumulative_area_L2 *= num_L2; + leakage_L2 *= num_L2; + gate_leakage_L2 *= num_L2; + + power_nand2_path.readOp.leakage = leak_L1_nand2 * g_tp.peri_global.Vdd; + power_nand3_path.readOp.leakage = leak_L1_nand3 * g_tp.peri_global.Vdd; + power_L2.readOp.leakage = leakage_L2 * g_tp.peri_global.Vdd; + area.set_area(cumulative_area_L1 + cumulative_area_L2); + power_nand2_path.readOp.gate_leakage = gate_leak_L1_nand2 * g_tp.peri_global.Vdd; + power_nand3_path.readOp.gate_leakage = gate_leak_L1_nand3 * g_tp.peri_global.Vdd; + power_L2.readOp.gate_leakage = gate_leakage_L2 * g_tp.peri_global.Vdd; + } +} + + + +pair PredecBlk::compute_delays( + pair inrisetime) // +{ + pair ret_val; + ret_val.first = 0; // outrisetime_nand2_path + ret_val.second = 0; // outrisetime_nand3_path + + double inrisetime_nand2_path = inrisetime.first; + double inrisetime_nand3_path = inrisetime.second; + int i; + double rd, c_load, c_intrinsic, tf, this_delay; + double Vdd = g_tp.peri_global.Vdd; + + // TODO: following delay calculation part can be greatly simplified. + // first check whether a predecoder block is required + if (exist) + { + //Find delay in first level of predecoder block + //First find delay in path + if ((flag_two_unique_paths) || (number_inputs_L1_gate == 2)) + { + //First gate is a NAND2 gate + rd = tr_R_on(w_L1_nand2_n[0], NCH, 2, is_dram_); + c_load = gate_C(w_L1_nand2_n[1] + w_L1_nand2_p[1], 0.0, is_dram_); + c_intrinsic = 2 * drain_C_(w_L1_nand2_p[0], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(w_L1_nand2_n[0], NCH, 2, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_load); + this_delay = horowitz(inrisetime_nand2_path, tf, 0.5, 0.5, RISE); + delay_nand2_path += this_delay; + inrisetime_nand2_path = this_delay / (1.0 - 0.5); + power_nand2_path.readOp.dynamic += (c_load + c_intrinsic) * Vdd * Vdd; + + //Add delays of all but the last inverter in the chain + for (i = 1; i < number_gates_L1_nand2_path - 1; ++i) + { + rd = tr_R_on(w_L1_nand2_n[i], NCH, 1, is_dram_); + c_load = gate_C(w_L1_nand2_n[i+1] + w_L1_nand2_p[i+1], 0.0, is_dram_); + c_intrinsic = drain_C_(w_L1_nand2_p[i], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(w_L1_nand2_n[i], NCH, 1, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_load); + this_delay = horowitz(inrisetime_nand2_path, tf, 0.5, 0.5, RISE); + delay_nand2_path += this_delay; + inrisetime_nand2_path = this_delay / (1.0 - 0.5); + power_nand2_path.readOp.dynamic += (c_intrinsic + c_load) * Vdd * Vdd; + } + + //Add delay of the last inverter + i = number_gates_L1_nand2_path - 1; + rd = tr_R_on(w_L1_nand2_n[i], NCH, 1, is_dram_); + if (flag_L2_gate) + { + c_load = branch_effort_nand2_gate_output*(gate_C(w_L2_n[0], 0, is_dram_) + gate_C(w_L2_p[0], 0, is_dram_)); + c_intrinsic = drain_C_(w_L1_nand2_p[i], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(w_L1_nand2_n[i], NCH, 1, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_load); + this_delay = horowitz(inrisetime_nand2_path, tf, 0.5, 0.5, RISE); + delay_nand2_path += this_delay; + inrisetime_nand2_path = this_delay / (1.0 - 0.5); + power_nand2_path.readOp.dynamic += (c_intrinsic + c_load) * Vdd * Vdd; + } + else + { //First level directly drives decoder output load + c_load = C_ld_predec_blk_out; + c_intrinsic = drain_C_(w_L1_nand2_p[i], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(w_L1_nand2_n[i], NCH, 1, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_load) + R_wire_predec_blk_out * c_load / 2; + this_delay = horowitz(inrisetime_nand2_path, tf, 0.5, 0.5, RISE); + delay_nand2_path += this_delay; + ret_val.first = this_delay / (1.0 - 0.5); + power_nand2_path.readOp.dynamic += (c_intrinsic + c_load) * Vdd * Vdd; + } + } + + if ((flag_two_unique_paths) || (number_inputs_L1_gate == 3)) + { //Check if the number of gates in the first level is more than 1. + //First gate is a NAND3 gate + rd = tr_R_on(w_L1_nand3_n[0], NCH, 3, is_dram_); + c_load = gate_C(w_L1_nand3_n[1] + w_L1_nand3_p[1], 0.0, is_dram_); + c_intrinsic = 3 * drain_C_(w_L1_nand3_p[0], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(w_L1_nand3_n[0], NCH, 3, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_load); + this_delay = horowitz(inrisetime_nand3_path, tf, 0.5, 0.5, RISE); + delay_nand3_path += this_delay; + inrisetime_nand3_path = this_delay / (1.0 - 0.5); + power_nand3_path.readOp.dynamic += (c_intrinsic + c_load) * Vdd * Vdd; + + //Add delays of all but the last inverter in the chain + for (i = 1; i < number_gates_L1_nand3_path - 1; ++i) + { + rd = tr_R_on(w_L1_nand3_n[i], NCH, 1, is_dram_); + c_load = gate_C(w_L1_nand3_n[i+1] + w_L1_nand3_p[i+1], 0.0, is_dram_); + c_intrinsic = drain_C_(w_L1_nand3_p[i], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(w_L1_nand3_n[i], NCH, 1, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_load); + this_delay = horowitz(inrisetime_nand3_path, tf, 0.5, 0.5, RISE); + delay_nand3_path += this_delay; + inrisetime_nand3_path = this_delay / (1.0 - 0.5); + power_nand3_path.readOp.dynamic += (c_intrinsic + c_load) * Vdd * Vdd; + } + + //Add delay of the last inverter + i = number_gates_L1_nand3_path - 1; + rd = tr_R_on(w_L1_nand3_n[i], NCH, 1, is_dram_); + if (flag_L2_gate) + { + c_load = branch_effort_nand3_gate_output*(gate_C(w_L2_n[0], 0, is_dram_) + gate_C(w_L2_p[0], 0, is_dram_)); + c_intrinsic = drain_C_(w_L1_nand3_p[i], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(w_L1_nand3_n[i], NCH, 1, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_load); + this_delay = horowitz(inrisetime_nand3_path, tf, 0.5, 0.5, RISE); + delay_nand3_path += this_delay; + inrisetime_nand3_path = this_delay / (1.0 - 0.5); + power_nand3_path.readOp.dynamic += (c_intrinsic + c_load) * Vdd * Vdd; + } + else + { //First level directly drives decoder output load + c_load = C_ld_predec_blk_out; + c_intrinsic = drain_C_(w_L1_nand3_p[i], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(w_L1_nand3_n[i], NCH, 1, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_load) + R_wire_predec_blk_out * c_load / 2; + this_delay = horowitz(inrisetime_nand3_path, tf, 0.5, 0.5, RISE); + delay_nand3_path += this_delay; + ret_val.second = this_delay / (1.0 - 0.5); + power_nand3_path.readOp.dynamic += (c_intrinsic + c_load) * Vdd * Vdd; + } + } + + // Find delay through second level + if (flag_L2_gate) + { + if (flag_L2_gate == 2) + { + rd = tr_R_on(w_L2_n[0], NCH, 2, is_dram_); + c_load = gate_C(w_L2_n[1] + w_L2_p[1], 0.0, is_dram_); + c_intrinsic = 2 * drain_C_(w_L2_p[0], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(w_L2_n[0], NCH, 2, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_load); + this_delay = horowitz(inrisetime_nand2_path, tf, 0.5, 0.5, RISE); + delay_nand2_path += this_delay; + inrisetime_nand2_path = this_delay / (1.0 - 0.5); + power_L2.readOp.dynamic += (c_intrinsic + c_load) * Vdd * Vdd; + } + else + { // flag_L2_gate = 3 + rd = tr_R_on(w_L2_n[0], NCH, 3, is_dram_); + c_load = gate_C(w_L2_n[1] + w_L2_p[1], 0.0, is_dram_); + c_intrinsic = 3 * drain_C_(w_L2_p[0], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(w_L2_n[0], NCH, 3, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_load); + this_delay = horowitz(inrisetime_nand3_path, tf, 0.5, 0.5, RISE); + delay_nand3_path += this_delay; + inrisetime_nand3_path = this_delay / (1.0 - 0.5); + power_L2.readOp.dynamic += (c_intrinsic + c_load) * Vdd * Vdd; + } + + for (i = 1; i < number_gates_L2 - 1; ++i) + { + rd = tr_R_on(w_L2_n[i], NCH, 1, is_dram_); + c_load = gate_C(w_L2_n[i+1] + w_L2_p[i+1], 0.0, is_dram_); + c_intrinsic = drain_C_(w_L2_p[i], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(w_L2_n[i], NCH, 1, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_load); + this_delay = horowitz(inrisetime_nand2_path, tf, 0.5, 0.5, RISE); + delay_nand2_path += this_delay; + inrisetime_nand2_path = this_delay / (1.0 - 0.5); + this_delay = horowitz(inrisetime_nand3_path, tf, 0.5, 0.5, RISE); + delay_nand3_path += this_delay; + inrisetime_nand3_path = this_delay / (1.0 - 0.5); + power_L2.readOp.dynamic += (c_intrinsic + c_load) * Vdd * Vdd; + } + + //Add delay of final inverter that drives the wordline decoders + i = number_gates_L2 - 1; + c_load = C_ld_predec_blk_out; + rd = tr_R_on(w_L2_n[i], NCH, 1, is_dram_); + c_intrinsic = drain_C_(w_L2_p[i], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(w_L2_n[i], NCH, 1, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_load) + R_wire_predec_blk_out * c_load / 2; + this_delay = horowitz(inrisetime_nand2_path, tf, 0.5, 0.5, RISE); + delay_nand2_path += this_delay; + ret_val.first = this_delay / (1.0 - 0.5); + this_delay = horowitz(inrisetime_nand3_path, tf, 0.5, 0.5, RISE); + delay_nand3_path += this_delay; + ret_val.second = this_delay / (1.0 - 0.5); + power_L2.readOp.dynamic += (c_intrinsic + c_load) * Vdd * Vdd; + } + } + + delay = (ret_val.first > ret_val.second) ? ret_val.first : ret_val.second; + return ret_val; +} + +void PredecBlk::leakage_feedback(double temperature) +{ + if (exist) + { // First check whether a predecoder block is needed + int num_L1_nand2 = 0; + int num_L1_nand3 = 0; + int num_L2 = 0; + double leak_L1_nand3 =0; + double gate_leak_L1_nand3 =0; + + double leak_L1_nand2 = cmos_Isub_leakage(w_L1_nand2_n[0], w_L1_nand2_p[0], 2, nand, is_dram_); + double gate_leak_L1_nand2 = cmos_Ig_leakage(w_L1_nand2_n[0], w_L1_nand2_p[0], 2, nand, is_dram_); + if (number_inputs_L1_gate != 3) { + leak_L1_nand3 = 0; + gate_leak_L1_nand3 =0; + } + else { + leak_L1_nand3 = cmos_Isub_leakage(w_L1_nand3_n[0], w_L1_nand3_p[0], 3, nand); + gate_leak_L1_nand3 = cmos_Ig_leakage(w_L1_nand3_n[0], w_L1_nand3_p[0], 3, nand); + } + + switch (number_input_addr_bits) + { + case 1: //2 NAND2 gates + num_L1_nand2 = 2; + num_L2 = 0; + num_L1_active_nand2_path =1; + num_L1_active_nand3_path =0; + break; + case 2: //4 NAND2 gates + num_L1_nand2 = 4; + num_L2 = 0; + num_L1_active_nand2_path =1; + num_L1_active_nand3_path =0; + break; + case 3: //8 NAND3 gates + num_L1_nand3 = 8; + num_L2 = 0; + num_L1_active_nand2_path =0; + num_L1_active_nand3_path =1; + break; + case 4: //4 + 4 NAND2 gates + num_L1_nand2 = 8; + num_L2 = 16; + num_L1_active_nand2_path =2; + num_L1_active_nand3_path =0; + break; + case 5: //4 NAND2 gates, 8 NAND3 gates + num_L1_nand2 = 4; + num_L1_nand3 = 8; + num_L2 = 32; + num_L1_active_nand2_path =1; + num_L1_active_nand3_path =1; + break; + case 6: //8 + 8 NAND3 gates + num_L1_nand3 = 16; + num_L2 = 64; + num_L1_active_nand2_path =0; + num_L1_active_nand3_path =2; + break; + case 7: //4 + 4 NAND2 gates, 8 NAND3 gates + num_L1_nand2 = 8; + num_L1_nand3 = 8; + num_L2 = 128; + num_L1_active_nand2_path =2; + num_L1_active_nand3_path =1; + break; + case 8: //4 NAND2 gates, 8 + 8 NAND3 gates + num_L1_nand2 = 4; + num_L1_nand3 = 16; + num_L2 = 256; + num_L1_active_nand2_path =2; + num_L1_active_nand3_path =2; + break; + case 9: //8 + 8 + 8 NAND3 gates + num_L1_nand3 = 24; + num_L2 = 512; + num_L1_active_nand2_path =0; + num_L1_active_nand3_path =3; + break; + default: + break; + } + + for (int i = 1; i < number_gates_L1_nand2_path; ++i) + { + leak_L1_nand2 += cmos_Isub_leakage(w_L1_nand2_n[i], w_L1_nand2_p[i], 2, nand, is_dram_); + gate_leak_L1_nand2 += cmos_Ig_leakage(w_L1_nand2_n[i], w_L1_nand2_p[i], 2, nand, is_dram_); + } + leak_L1_nand2 *= num_L1_nand2; + gate_leak_L1_nand2 *= num_L1_nand2; + + for (int i = 1; i < number_gates_L1_nand3_path; ++i) + { + leak_L1_nand3 += cmos_Isub_leakage(w_L1_nand3_n[i], w_L1_nand3_p[i], 3, nand, is_dram_); + gate_leak_L1_nand3 += cmos_Ig_leakage(w_L1_nand3_n[i], w_L1_nand3_p[i], 3, nand, is_dram_); + } + leak_L1_nand3 *= num_L1_nand3; + gate_leak_L1_nand3 *= num_L1_nand3; + + double leakage_L2 = 0.0; + double gate_leakage_L2 = 0.0; + + if (flag_L2_gate == 2) + { + leakage_L2 = cmos_Isub_leakage(w_L2_n[0], w_L2_p[0], 2, nand, is_dram_); + gate_leakage_L2 = cmos_Ig_leakage(w_L2_n[0], w_L2_p[0], 2, nand, is_dram_); + } + else if (flag_L2_gate == 3) + { + leakage_L2 = cmos_Isub_leakage(w_L2_n[0], w_L2_p[0], 3, nand, is_dram_); + gate_leakage_L2 = cmos_Ig_leakage(w_L2_n[0], w_L2_p[0], 3, nand, is_dram_); + } + + for (int i = 1; i < number_gates_L2; ++i) + { + leakage_L2 += cmos_Isub_leakage(w_L2_n[i], w_L2_p[i], 2, inv, is_dram_); + gate_leakage_L2 += cmos_Ig_leakage(w_L2_n[i], w_L2_p[i], 2, inv, is_dram_); + } + leakage_L2 *= num_L2; + gate_leakage_L2 *= num_L2; + + power_nand2_path.readOp.leakage = leak_L1_nand2 * g_tp.peri_global.Vdd; + power_nand3_path.readOp.leakage = leak_L1_nand3 * g_tp.peri_global.Vdd; + power_L2.readOp.leakage = leakage_L2 * g_tp.peri_global.Vdd; + + power_nand2_path.readOp.gate_leakage = gate_leak_L1_nand2 * g_tp.peri_global.Vdd; + power_nand3_path.readOp.gate_leakage = gate_leak_L1_nand3 * g_tp.peri_global.Vdd; + power_L2.readOp.gate_leakage = gate_leakage_L2 * g_tp.peri_global.Vdd; + } +} + +PredecBlkDrv::PredecBlkDrv( + int way_select_, + PredecBlk * blk_, + bool is_dram) + :flag_driver_exists(0), + number_gates_nand2_path(0), + number_gates_nand3_path(0), + min_number_gates(2), + num_buffers_driving_1_nand2_load(0), + num_buffers_driving_2_nand2_load(0), + num_buffers_driving_4_nand2_load(0), + num_buffers_driving_2_nand3_load(0), + num_buffers_driving_8_nand3_load(0), + num_buffers_nand3_path(0), + c_load_nand2_path_out(0), + c_load_nand3_path_out(0), + r_load_nand2_path_out(0), + r_load_nand3_path_out(0), + delay_nand2_path(0), + delay_nand3_path(0), + power_nand2_path(), + power_nand3_path(), + blk(blk_), dec(blk->dec), + is_dram_(is_dram), + way_select(way_select_) +{ + for (int i = 0; i < MAX_NUMBER_GATES_STAGE; i++) + { + width_nand2_path_n[i] = 0; + width_nand2_path_p[i] = 0; + width_nand3_path_n[i] = 0; + width_nand3_path_p[i] = 0; + } + + number_input_addr_bits = blk->number_input_addr_bits; + + if (way_select > 1) + { + flag_driver_exists = 1; + number_input_addr_bits = way_select; + if (dec->num_in_signals == 2) + { + c_load_nand2_path_out = gate_C(dec->w_dec_n[0] + dec->w_dec_p[0], 0, is_dram_); + num_buffers_driving_2_nand2_load = number_input_addr_bits; + } + else if (dec->num_in_signals == 3) + { + c_load_nand3_path_out = gate_C(dec->w_dec_n[0] + dec->w_dec_p[0], 0, is_dram_); + num_buffers_driving_2_nand3_load = number_input_addr_bits; + } + } + else if (way_select == 0) + { + if (blk->exist) + { + flag_driver_exists = 1; + } + } + + compute_widths(); + compute_area(); +} + + + +void PredecBlkDrv::compute_widths() +{ + // The predecode block driver accepts as input the address bits from the h-tree network. For + // each addr bit it then generates addr and addrbar as outputs. For now ignore the effect of + // inversion to generate addrbar and simply treat addrbar as addr. + + double F; + double p_to_n_sz_ratio = pmos_to_nmos_sz_ratio(is_dram_); + + if (flag_driver_exists) + { + double C_nand2_gate_blk = gate_C(blk->w_L1_nand2_n[0] + blk->w_L1_nand2_p[0], 0, is_dram_); + double C_nand3_gate_blk = gate_C(blk->w_L1_nand3_n[0] + blk->w_L1_nand3_p[0], 0, is_dram_); + + if (way_select == 0) + { + if (blk->number_input_addr_bits == 1) + { //2 NAND2 gates + num_buffers_driving_2_nand2_load = 1; + c_load_nand2_path_out = 2 * C_nand2_gate_blk; + } + else if (blk->number_input_addr_bits == 2) + { //4 NAND2 gates one 2-4 decoder + num_buffers_driving_4_nand2_load = 2; + c_load_nand2_path_out = 4 * C_nand2_gate_blk; + } + else if (blk->number_input_addr_bits == 3) + { //8 NAND3 gates one 3-8 decoder + num_buffers_driving_8_nand3_load = 3; + c_load_nand3_path_out = 8 * C_nand3_gate_blk; + } + else if (blk->number_input_addr_bits == 4) + { //4 + 4 NAND2 gates two 2-4 decoder + num_buffers_driving_4_nand2_load = 4; + c_load_nand2_path_out = 4 * C_nand2_gate_blk; + } + else if (blk->number_input_addr_bits == 5) + { //4 NAND2 gates, 8 NAND3 gates one 2-4 decoder and one 3-8 decoder + num_buffers_driving_4_nand2_load = 2; + num_buffers_driving_8_nand3_load = 3; + c_load_nand2_path_out = 4 * C_nand2_gate_blk; + c_load_nand3_path_out = 8 * C_nand3_gate_blk; + } + else if (blk->number_input_addr_bits == 6) + { //8 + 8 NAND3 gates two 3-8 decoder + num_buffers_driving_8_nand3_load = 6; + c_load_nand3_path_out = 8 * C_nand3_gate_blk; + } + else if (blk->number_input_addr_bits == 7) + { //4 + 4 NAND2 gates, 8 NAND3 gates two 2-4 decoder and one 3-8 decoder + num_buffers_driving_4_nand2_load = 4; + num_buffers_driving_8_nand3_load = 3; + c_load_nand2_path_out = 4 * C_nand2_gate_blk; + c_load_nand3_path_out = 8 * C_nand3_gate_blk; + } + else if (blk->number_input_addr_bits == 8) + { //4 NAND2 gates, 8 + 8 NAND3 gates one 2-4 decoder and two 3-8 decoder + num_buffers_driving_4_nand2_load = 2; + num_buffers_driving_8_nand3_load = 6; + c_load_nand2_path_out = 4 * C_nand2_gate_blk; + c_load_nand3_path_out = 8 * C_nand3_gate_blk; + } + else if (blk->number_input_addr_bits == 9) + { //8 + 8 + 8 NAND3 gates three 3-8 decoder + num_buffers_driving_8_nand3_load = 9; + c_load_nand3_path_out = 8 * C_nand3_gate_blk; + } + } + + if ((blk->flag_two_unique_paths) || + (blk->number_inputs_L1_gate == 2) || + (number_input_addr_bits == 0) || + ((way_select)&&(dec->num_in_signals == 2))) + { //this means that way_select is driving NAND2 in decoder. + width_nand2_path_n[0] = g_tp.min_w_nmos_; + width_nand2_path_p[0] = p_to_n_sz_ratio * width_nand2_path_n[0]; + F = c_load_nand2_path_out / gate_C(width_nand2_path_n[0] + width_nand2_path_p[0], 0, is_dram_); + number_gates_nand2_path = logical_effort( + min_number_gates, + 1, + F, + width_nand2_path_n, + width_nand2_path_p, + c_load_nand2_path_out, + p_to_n_sz_ratio, + is_dram_, false, g_tp.max_w_nmos_); + } + + if ((blk->flag_two_unique_paths) || + (blk->number_inputs_L1_gate == 3) || + ((way_select)&&(dec->num_in_signals == 3))) + { //this means that way_select is driving NAND3 in decoder. + width_nand3_path_n[0] = g_tp.min_w_nmos_; + width_nand3_path_p[0] = p_to_n_sz_ratio * width_nand3_path_n[0]; + F = c_load_nand3_path_out / gate_C(width_nand3_path_n[0] + width_nand3_path_p[0], 0, is_dram_); + number_gates_nand3_path = logical_effort( + min_number_gates, + 1, + F, + width_nand3_path_n, + width_nand3_path_p, + c_load_nand3_path_out, + p_to_n_sz_ratio, + is_dram_, false, g_tp.max_w_nmos_); + } + } +} + + + +void PredecBlkDrv::compute_area() +{ + double area_nand2_path = 0; + double area_nand3_path = 0; + double leak_nand2_path = 0; + double leak_nand3_path = 0; + double gate_leak_nand2_path = 0; + double gate_leak_nand3_path = 0; + + if (flag_driver_exists) + { // first check whether a predecoder block driver is needed + for (int i = 0; i < number_gates_nand2_path; ++i) + { + area_nand2_path += compute_gate_area(INV, 1, width_nand2_path_p[i], width_nand2_path_n[i], g_tp.cell_h_def); + leak_nand2_path += cmos_Isub_leakage(width_nand2_path_n[i], width_nand2_path_p[i], 1, inv,is_dram_); + gate_leak_nand2_path += cmos_Ig_leakage(width_nand2_path_n[i], width_nand2_path_p[i], 1, inv,is_dram_); + } + area_nand2_path *= (num_buffers_driving_1_nand2_load + + num_buffers_driving_2_nand2_load + + num_buffers_driving_4_nand2_load); + leak_nand2_path *= (num_buffers_driving_1_nand2_load + + num_buffers_driving_2_nand2_load + + num_buffers_driving_4_nand2_load); + gate_leak_nand2_path *= (num_buffers_driving_1_nand2_load + + num_buffers_driving_2_nand2_load + + num_buffers_driving_4_nand2_load); + + for (int i = 0; i < number_gates_nand3_path; ++i) + { + area_nand3_path += compute_gate_area(INV, 1, width_nand3_path_p[i], width_nand3_path_n[i], g_tp.cell_h_def); + leak_nand3_path += cmos_Isub_leakage(width_nand3_path_n[i], width_nand3_path_p[i], 1, inv,is_dram_); + gate_leak_nand3_path += cmos_Ig_leakage(width_nand3_path_n[i], width_nand3_path_p[i], 1, inv,is_dram_); + } + area_nand3_path *= (num_buffers_driving_2_nand3_load + num_buffers_driving_8_nand3_load); + leak_nand3_path *= (num_buffers_driving_2_nand3_load + num_buffers_driving_8_nand3_load); + gate_leak_nand3_path *= (num_buffers_driving_2_nand3_load + num_buffers_driving_8_nand3_load); + + power_nand2_path.readOp.leakage = leak_nand2_path * g_tp.peri_global.Vdd; + power_nand3_path.readOp.leakage = leak_nand3_path * g_tp.peri_global.Vdd; + power_nand2_path.readOp.gate_leakage = gate_leak_nand2_path * g_tp.peri_global.Vdd; + power_nand3_path.readOp.gate_leakage = gate_leak_nand3_path * g_tp.peri_global.Vdd; + area.set_area(area_nand2_path + area_nand3_path); + } +} + + + +pair PredecBlkDrv::compute_delays( + double inrisetime_nand2_path, + double inrisetime_nand3_path) +{ + pair ret_val; + ret_val.first = 0; // outrisetime_nand2_path + ret_val.second = 0; // outrisetime_nand3_path + int i; + double rd, c_gate_load, c_load, c_intrinsic, tf, this_delay; + double Vdd = g_tp.peri_global.Vdd; + + if (flag_driver_exists) + { + for (i = 0; i < number_gates_nand2_path - 1; ++i) + { + rd = tr_R_on(width_nand2_path_n[i], NCH, 1, is_dram_); + c_gate_load = gate_C(width_nand2_path_p[i+1] + width_nand2_path_n[i+1], 0.0, is_dram_); + c_intrinsic = drain_C_(width_nand2_path_p[i], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(width_nand2_path_n[i], NCH, 1, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_gate_load); + this_delay = horowitz(inrisetime_nand2_path, tf, 0.5, 0.5, RISE); + delay_nand2_path += this_delay; + inrisetime_nand2_path = this_delay / (1.0 - 0.5); + power_nand2_path.readOp.dynamic += (c_gate_load + c_intrinsic) * 0.5 * Vdd * Vdd; + } + + // Final inverter drives the predecoder block or the decoder output load + if (number_gates_nand2_path != 0) + { + i = number_gates_nand2_path - 1; + rd = tr_R_on(width_nand2_path_n[i], NCH, 1, is_dram_); + c_intrinsic = drain_C_(width_nand2_path_p[i], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(width_nand2_path_n[i], NCH, 1, 1, g_tp.cell_h_def, is_dram_); + c_load = c_load_nand2_path_out; + tf = rd * (c_intrinsic + c_load) + r_load_nand2_path_out*c_load/ 2; + this_delay = horowitz(inrisetime_nand2_path, tf, 0.5, 0.5, RISE); + delay_nand2_path += this_delay; + ret_val.first = this_delay / (1.0 - 0.5); + power_nand2_path.readOp.dynamic += (c_intrinsic + c_load) * 0.5 * Vdd * Vdd; +// cout<< "c_intrinsic = " << c_intrinsic << "c_load" << c_load <blk), blk2(drv2_->blk), drv1(drv1_), drv2(drv2_) +{ + driver_power.readOp.leakage = drv1->power_nand2_path.readOp.leakage + + drv1->power_nand3_path.readOp.leakage + + drv2->power_nand2_path.readOp.leakage + + drv2->power_nand3_path.readOp.leakage; + block_power.readOp.leakage = blk1->power_nand2_path.readOp.leakage + + blk1->power_nand3_path.readOp.leakage + + blk1->power_L2.readOp.leakage + + blk2->power_nand2_path.readOp.leakage + + blk2->power_nand3_path.readOp.leakage + + blk2->power_L2.readOp.leakage; + power.readOp.leakage = driver_power.readOp.leakage + block_power.readOp.leakage; + + driver_power.readOp.gate_leakage = drv1->power_nand2_path.readOp.gate_leakage + + drv1->power_nand3_path.readOp.gate_leakage + + drv2->power_nand2_path.readOp.gate_leakage + + drv2->power_nand3_path.readOp.gate_leakage; + block_power.readOp.gate_leakage = blk1->power_nand2_path.readOp.gate_leakage + + blk1->power_nand3_path.readOp.gate_leakage + + blk1->power_L2.readOp.gate_leakage + + blk2->power_nand2_path.readOp.gate_leakage + + blk2->power_nand3_path.readOp.gate_leakage + + blk2->power_L2.readOp.gate_leakage; + power.readOp.gate_leakage = driver_power.readOp.gate_leakage + block_power.readOp.gate_leakage; +} + +void PredecBlkDrv::leakage_feedback(double temperature) +{ + double leak_nand2_path = 0; + double leak_nand3_path = 0; + double gate_leak_nand2_path = 0; + double gate_leak_nand3_path = 0; + + if (flag_driver_exists) + { // first check whether a predecoder block driver is needed + for (int i = 0; i < number_gates_nand2_path; ++i) + { + leak_nand2_path += cmos_Isub_leakage(width_nand2_path_n[i], width_nand2_path_p[i], 1, inv,is_dram_); + gate_leak_nand2_path += cmos_Ig_leakage(width_nand2_path_n[i], width_nand2_path_p[i], 1, inv,is_dram_); + } + leak_nand2_path *= (num_buffers_driving_1_nand2_load + + num_buffers_driving_2_nand2_load + + num_buffers_driving_4_nand2_load); + gate_leak_nand2_path *= (num_buffers_driving_1_nand2_load + + num_buffers_driving_2_nand2_load + + num_buffers_driving_4_nand2_load); + + for (int i = 0; i < number_gates_nand3_path; ++i) + { + leak_nand3_path += cmos_Isub_leakage(width_nand3_path_n[i], width_nand3_path_p[i], 1, inv,is_dram_); + gate_leak_nand3_path += cmos_Ig_leakage(width_nand3_path_n[i], width_nand3_path_p[i], 1, inv,is_dram_); + } + leak_nand3_path *= (num_buffers_driving_2_nand3_load + num_buffers_driving_8_nand3_load); + gate_leak_nand3_path *= (num_buffers_driving_2_nand3_load + num_buffers_driving_8_nand3_load); + + power_nand2_path.readOp.leakage = leak_nand2_path * g_tp.peri_global.Vdd; + power_nand3_path.readOp.leakage = leak_nand3_path * g_tp.peri_global.Vdd; + power_nand2_path.readOp.gate_leakage = gate_leak_nand2_path * g_tp.peri_global.Vdd; + power_nand3_path.readOp.gate_leakage = gate_leak_nand3_path * g_tp.peri_global.Vdd; + } +} + +double Predec::compute_delays(double inrisetime) +{ + // TODO: Jung Ho thinks that predecoder block driver locates between decoder and predecoder block. + pair tmp_pair1, tmp_pair2; + tmp_pair1 = drv1->compute_delays(inrisetime, inrisetime); + tmp_pair1 = blk1->compute_delays(tmp_pair1); + tmp_pair2 = drv2->compute_delays(inrisetime, inrisetime); + tmp_pair2 = blk2->compute_delays(tmp_pair2); + tmp_pair1 = get_max_delay_before_decoder(tmp_pair1, tmp_pair2); + + driver_power.readOp.dynamic = + drv1->num_addr_bits_nand2_path() * drv1->power_nand2_path.readOp.dynamic + + drv1->num_addr_bits_nand3_path() * drv1->power_nand3_path.readOp.dynamic + + drv2->num_addr_bits_nand2_path() * drv2->power_nand2_path.readOp.dynamic + + drv2->num_addr_bits_nand3_path() * drv2->power_nand3_path.readOp.dynamic; + + block_power.readOp.dynamic = + blk1->power_nand2_path.readOp.dynamic*blk1->num_L1_active_nand2_path + + blk1->power_nand3_path.readOp.dynamic*blk1->num_L1_active_nand3_path + + blk1->power_L2.readOp.dynamic + + blk2->power_nand2_path.readOp.dynamic*blk1->num_L1_active_nand2_path + + blk2->power_nand3_path.readOp.dynamic*blk1->num_L1_active_nand3_path + + blk2->power_L2.readOp.dynamic; + + power.readOp.dynamic = driver_power.readOp.dynamic + block_power.readOp.dynamic; + + delay = tmp_pair1.first; + return tmp_pair1.second; +} + + +void Predec::leakage_feedback(double temperature) +{ + drv1->leakage_feedback(temperature); + drv2->leakage_feedback(temperature); + blk1->leakage_feedback(temperature); + blk2->leakage_feedback(temperature); + + driver_power.readOp.leakage = drv1->power_nand2_path.readOp.leakage + + drv1->power_nand3_path.readOp.leakage + + drv2->power_nand2_path.readOp.leakage + + drv2->power_nand3_path.readOp.leakage; + block_power.readOp.leakage = blk1->power_nand2_path.readOp.leakage + + blk1->power_nand3_path.readOp.leakage + + blk1->power_L2.readOp.leakage + + blk2->power_nand2_path.readOp.leakage + + blk2->power_nand3_path.readOp.leakage + + blk2->power_L2.readOp.leakage; + power.readOp.leakage = driver_power.readOp.leakage + block_power.readOp.leakage; + + driver_power.readOp.gate_leakage = drv1->power_nand2_path.readOp.gate_leakage + + drv1->power_nand3_path.readOp.gate_leakage + + drv2->power_nand2_path.readOp.gate_leakage + + drv2->power_nand3_path.readOp.gate_leakage; + block_power.readOp.gate_leakage = blk1->power_nand2_path.readOp.gate_leakage + + blk1->power_nand3_path.readOp.gate_leakage + + blk1->power_L2.readOp.gate_leakage + + blk2->power_nand2_path.readOp.gate_leakage + + blk2->power_nand3_path.readOp.gate_leakage + + blk2->power_L2.readOp.gate_leakage; + power.readOp.gate_leakage = driver_power.readOp.gate_leakage + block_power.readOp.gate_leakage; +} + +// returns +pair Predec::get_max_delay_before_decoder( + pair input_pair1, + pair input_pair2) +{ + pair ret_val; + double delay; + + delay = drv1->delay_nand2_path + blk1->delay_nand2_path; + ret_val.first = delay; + ret_val.second = input_pair1.first; + delay = drv1->delay_nand3_path + blk1->delay_nand3_path; + if (ret_val.first < delay) + { + ret_val.first = delay; + ret_val.second = input_pair1.second; + } + delay = drv2->delay_nand2_path + blk2->delay_nand2_path; + if (ret_val.first < delay) + { + ret_val.first = delay; + ret_val.second = input_pair2.first; + } + delay = drv2->delay_nand3_path + blk2->delay_nand3_path; + if (ret_val.first < delay) + { + ret_val.first = delay; + ret_val.second = input_pair2.second; + } + + return ret_val; +} + + + +Driver::Driver(double c_gate_load_, double c_wire_load_, double r_wire_load_, bool is_dram) +:number_gates(0), + min_number_gates(2), + c_gate_load(c_gate_load_), + c_wire_load(c_wire_load_), + r_wire_load(r_wire_load_), + delay(0), +// power(), + is_dram_(is_dram), + total_driver_nwidth(0), + total_driver_pwidth(0) +{ + for (int i = 0; i < MAX_NUMBER_GATES_STAGE; i++) + { + width_n[i] = 0; + width_p[i] = 0; + } + + compute_widths(); + compute_area(); +} + + +void Driver::compute_widths() +{ + double p_to_n_sz_ratio = pmos_to_nmos_sz_ratio(is_dram_); + double c_load = c_gate_load + c_wire_load; + width_n[0] = g_tp.min_w_nmos_; + width_p[0] = p_to_n_sz_ratio * g_tp.min_w_nmos_; + + double F = c_load / gate_C(width_n[0] + width_p[0], 0, is_dram_); + number_gates = logical_effort( + min_number_gates, + 1, + F, + width_n, + width_p, + c_load, + p_to_n_sz_ratio, + is_dram_, false, + g_tp.max_w_nmos_); +} + +void Driver::compute_area() +{ + double cumulative_area = 0; + ///double cumulative_curr = 0; // cumulative leakage current + ///double cumulative_curr_Ig = 0; // cumulative leakage current + area.h = g_tp.cell_h_def; + for (int i = 0; i < number_gates; i++) + { + cumulative_area += compute_gate_area(INV, 1, width_p[i], width_n[i], area.h); + ///cumulative_curr += cmos_Isub_leakage(width_n[i], width_p[i], 1, inv, is_dram_); + ///cumulative_curr_Ig = cmos_Ig_leakage(width_n[i], width_p[i], 1, inv, is_dram_); + + } + area.w = (cumulative_area / area.h); +} + +void Driver::compute_power_gating() +{ + //For all driver change there is only one sleep transistors to save area + //Total transistor width for sleep tx calculation + for (int i = 0; i <=number_gates; i++) + { + total_driver_nwidth += width_n[i]; + total_driver_pwidth += width_p[i]; + } + + //compute sleep tx + bool is_footer = false; + double Isat_subarray = simplified_nmos_Isat(total_driver_nwidth); + double detalV; + double c_wakeup; + + c_wakeup = drain_C_(total_driver_pwidth, PCH, 1, 1, area.h);//Psleep tx + detalV = g_tp.peri_global.Vdd-g_tp.peri_global.Vcc_min; + if (g_ip->power_gating) + sleeptx = new Sleep_tx (g_ip->perfloss, + Isat_subarray, + is_footer, + c_wakeup, + detalV, + 1, + area); +} + + +double Driver::compute_delay(double inrisetime) +{ + int i; + double rd, c_load, c_intrinsic, tf; + double this_delay = 0; + + for (i = 0; i < number_gates - 1; ++i) + { + rd = tr_R_on(width_n[i], NCH, 1, is_dram_); + c_load = gate_C(width_n[i+1] + width_p[i+1], 0.0, is_dram_); + c_intrinsic = drain_C_(width_p[i], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(width_n[i], NCH, 1, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_load); + this_delay = horowitz(inrisetime, tf, 0.5, 0.5, RISE); + delay += this_delay; + inrisetime = this_delay / (1.0 - 0.5); + power.readOp.dynamic += (c_intrinsic + c_load) * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd; + power.readOp.leakage += cmos_Isub_leakage(width_n[i], width_p[i], 1, inv, is_dram_) *g_tp.peri_global.Vdd; + power.readOp.gate_leakage += cmos_Ig_leakage(width_n[i], width_p[i], 1, inv, is_dram_)* g_tp.peri_global.Vdd; + } + + i = number_gates - 1; + c_load = c_gate_load + c_wire_load; + rd = tr_R_on(width_n[i], NCH, 1, is_dram_); + c_intrinsic = drain_C_(width_p[i], PCH, 1, 1, g_tp.cell_h_def, is_dram_) + + drain_C_(width_n[i], NCH, 1, 1, g_tp.cell_h_def, is_dram_); + tf = rd * (c_intrinsic + c_load) + r_wire_load * (c_wire_load / 2 + c_gate_load); + this_delay = horowitz(inrisetime, tf, 0.5, 0.5, RISE); + delay += this_delay; + power.readOp.dynamic += (c_intrinsic + c_load) * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd; + power.readOp.leakage += cmos_Isub_leakage(width_n[i], width_p[i], 1, inv, is_dram_) * g_tp.peri_global.Vdd; + power.readOp.gate_leakage += cmos_Ig_leakage(width_n[i], width_p[i], 1, inv, is_dram_)* g_tp.peri_global.Vdd; + + return this_delay / (1.0 - 0.5); +} + +/* +void Driver::compute_area() +{ + double cumulative_area = 0; + double cumulative_curr = 0; // cumulative leakage current + double cumulative_curr_Ig = 0; // cumulative leakage current + + area.h = g_tp.h_dec * g_tp.dram.b_h; + for (int i = 1; i < number_gates; i++) + { + cumulative_area += compute_gate_area(INV, 1, width_p[i], width_n[i], area.h); + cumulative_curr += cmos_Isub_leakage(width_n[i], width_p[i], 1, inv, is_dram_); + cumulative_curr_Ig = cmos_Ig_leakage(width_n[i], width_p[i], 1, inv, is_dram_); + } + area.w = (cumulative_area / area.h); + +} +*/ diff --git a/T1/TP1/cacti-master/decoder.h b/T1/TP1/cacti-master/decoder.h new file mode 100644 index 0000000..bd74c64 --- /dev/null +++ b/T1/TP1/cacti-master/decoder.h @@ -0,0 +1,272 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + +#ifndef __DECODER_H__ +#define __DECODER_H__ + +#include "area.h" +#include "component.h" +#include "parameter.h" +#include "powergating.h" +#include + +using namespace std; + + +class Decoder : public Component +{ + public: + Decoder( + int _num_dec_signals, + bool flag_way_select, + double _C_ld_dec_out, + double _R_wire_dec_out, + bool fully_assoc_, + bool is_dram_, + bool is_wl_tr_, + const Area & cell_); + + bool exist; + int num_in_signals; + double C_ld_dec_out; + double R_wire_dec_out; + int num_gates; + int num_gates_min; + double w_dec_n[MAX_NUMBER_GATES_STAGE]; + double w_dec_p[MAX_NUMBER_GATES_STAGE]; + double delay; + //powerDef power; + bool fully_assoc; + bool is_dram; + bool is_wl_tr; + + double total_driver_nwidth; + double total_driver_pwidth; + Sleep_tx * sleeptx; + + const Area & cell; + int nodes_DSTN; + + void compute_widths(); + void compute_area(); + double compute_delays(double inrisetime); // return outrisetime + void compute_power_gating(); + + void leakage_feedback(double temperature); + + ~Decoder() + { + if (!sleeptx) + delete sleeptx; + }; +}; + + + +class PredecBlk : public Component +{ + public: + PredecBlk( + int num_dec_signals, + Decoder * dec, + double C_wire_predec_blk_out, + double R_wire_predec_blk_out, + int num_dec_per_predec, + bool is_dram_, + bool is_blk1); + + Decoder * dec; + bool exist; + int number_input_addr_bits; + double C_ld_predec_blk_out; + double R_wire_predec_blk_out; + int branch_effort_nand2_gate_output; + int branch_effort_nand3_gate_output; + bool flag_two_unique_paths; + int flag_L2_gate; + int number_inputs_L1_gate; + int number_gates_L1_nand2_path; + int number_gates_L1_nand3_path; + int number_gates_L2; + int min_number_gates_L1; + int min_number_gates_L2; + int num_L1_active_nand2_path; + int num_L1_active_nand3_path; + double w_L1_nand2_n[MAX_NUMBER_GATES_STAGE]; + double w_L1_nand2_p[MAX_NUMBER_GATES_STAGE]; + double w_L1_nand3_n[MAX_NUMBER_GATES_STAGE]; + double w_L1_nand3_p[MAX_NUMBER_GATES_STAGE]; + double w_L2_n[MAX_NUMBER_GATES_STAGE]; + double w_L2_p[MAX_NUMBER_GATES_STAGE]; + double delay_nand2_path; + double delay_nand3_path; + powerDef power_nand2_path; + powerDef power_nand3_path; + powerDef power_L2; + + bool is_dram_; + + void compute_widths(); + void compute_area(); + + void leakage_feedback(double temperature); + + pair compute_delays(pair inrisetime); // + // return +}; + + +class PredecBlkDrv : public Component +{ + public: + PredecBlkDrv( + int way_select, + PredecBlk * blk_, + bool is_dram); + + int flag_driver_exists; + int number_input_addr_bits; + int number_gates_nand2_path; + int number_gates_nand3_path; + int min_number_gates; + int num_buffers_driving_1_nand2_load; + int num_buffers_driving_2_nand2_load; + int num_buffers_driving_4_nand2_load; + int num_buffers_driving_2_nand3_load; + int num_buffers_driving_8_nand3_load; + int num_buffers_nand3_path; + double c_load_nand2_path_out; + double c_load_nand3_path_out; + double r_load_nand2_path_out; + double r_load_nand3_path_out; + double width_nand2_path_n[MAX_NUMBER_GATES_STAGE]; + double width_nand2_path_p[MAX_NUMBER_GATES_STAGE]; + double width_nand3_path_n[MAX_NUMBER_GATES_STAGE]; + double width_nand3_path_p[MAX_NUMBER_GATES_STAGE]; + double delay_nand2_path; + double delay_nand3_path; + powerDef power_nand2_path; + powerDef power_nand3_path; + + PredecBlk * blk; + Decoder * dec; + bool is_dram_; + int way_select; + + void compute_widths(); + void compute_area(); + + void leakage_feedback(double temperature); + + + pair compute_delays( + double inrisetime_nand2_path, + double inrisetime_nand3_path); // return + + inline int num_addr_bits_nand2_path() + { + return num_buffers_driving_1_nand2_load + + num_buffers_driving_2_nand2_load + + num_buffers_driving_4_nand2_load; + } + inline int num_addr_bits_nand3_path() + { + return num_buffers_driving_2_nand3_load + + num_buffers_driving_8_nand3_load; + } + double get_rdOp_dynamic_E(int num_act_mats_hor_dir); +}; + + + +class Predec : public Component +{ + public: + Predec( + PredecBlkDrv * drv1, + PredecBlkDrv * drv2); + + double compute_delays(double inrisetime); // return outrisetime + + void leakage_feedback(double temperature); + PredecBlk * blk1; + PredecBlk * blk2; + PredecBlkDrv * drv1; + PredecBlkDrv * drv2; + + powerDef block_power; + powerDef driver_power; + + private: + // returns + pair get_max_delay_before_decoder( + pair input_pair1, + pair input_pair2); +}; + + + +class Driver : public Component +{ + public: + Driver(double c_gate_load_, double c_wire_load_, double r_wire_load_, bool is_dram); + + int number_gates; + int min_number_gates; + double width_n[MAX_NUMBER_GATES_STAGE]; + double width_p[MAX_NUMBER_GATES_STAGE]; + double c_gate_load; + double c_wire_load; + double r_wire_load; + double delay; +// powerDef power; + bool is_dram_; + + double total_driver_nwidth; + double total_driver_pwidth; + Sleep_tx * sleeptx; + + void compute_widths(); + void compute_area(); + double compute_delay(double inrisetime); + + void compute_power_gating(); + + ~Driver() + { + if (!sleeptx) + delete sleeptx; + }; +}; + + +#endif diff --git a/T1/TP1/cacti-master/dram.cfg b/T1/TP1/cacti-master/dram.cfg new file mode 100644 index 0000000..f55b5b3 --- /dev/null +++ b/T1/TP1/cacti-master/dram.cfg @@ -0,0 +1,114 @@ +//-size (bytes) 16777216 +//-size (bytes) 33554432 +-size (bytes) 134217728 +//-size (bytes) 67108864 +//-size (bytes) 1073741824 + +-block size (bytes) 64 +-associativity 1 +-read-write port 1 +-exclusive read port 0 +-exclusive write port 0 +-single ended read ports 0 +-UCA bank count 1 +//-technology (u) 0.032 +//-technology (u) 0.045 +-technology (u) 0.068 +//-technology (u) 0.078 + +# following three parameters are meaningful only for main memories +-page size (bits) 8192 +-burst length 8 +-internal prefetch width 8 + +# following parameter can have one of the five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Data array cell type - "comm-dram" + +# following parameter can have one of the three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Data array peripheral type - "itrs-hp" + +# following parameter can have one of the five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Tag array cell type - "itrs-hp" + +# following parameter can have one of the three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Tag array peripheral type - "itrs-hp" + +# Bus width include data bits and address bits required by the decoder +//-output/input bus width 512 +-output/input bus width 64 + +-operating temperature (K) 350 + +-cache type "main memory" + +# to model special structure like branch target buffers, directory, etc. +# change the tag size parameter +# if you want cacti to calculate the tagbits, set the tag size to "default" +-tag size (b) "default" +//-tag size (b) 45 + +# fast - data and tag access happen in parallel +# sequential - data array is accessed after accessing the tag array +# normal - data array lookup and tag access happen in parallel +# final data block is broadcasted in data array h-tree +# after getting the signal from the tag array +//-access mode (normal, sequential, fast) - "fast" +-access mode (normal, sequential, fast) - "normal" +//-access mode (normal, sequential, fast) - "sequential" + +# DESIGN OBJECTIVE for UCA (or banks in NUCA) +//-design objective (weight delay, dynamic power, leakage power, cycle time, area) 100:100:0:0:0 +-design objective (weight delay, dynamic power, leakage power, cycle time, area) 0:0:0:100:0 +-deviate (delay, dynamic power, leakage power, cycle time, area) 20:100000:100000:100000:1000000 +//-deviate (delay, dynamic power, leakage power, cycle time, area) 200:100000:100000:100000:20 + +-Optimize ED or ED^2 (ED, ED^2, NONE): "NONE" + +-Cache model (NUCA, UCA) - "UCA" + +//-Wire signalling (fullswing, lowswing, default) - "default" +-Wire signalling (fullswing, lowswing, default) - "Global_10" + +-Wire inside mat - "global" +//-Wire inside mat - "semi-global" +-Wire outside mat - "global" + +-Interconnect projection - "conservative" +//-Interconnect projection - "aggressive" + +-Add ECC - "true" + +-Print level (DETAILED, CONCISE) - "DETAILED" + +# for debugging +-Print input parameters - "true" +# force CACTI to model the cache with the +# following Ndbl, Ndwl, Nspd, Ndsam, +# and Ndcm values +//-Force cache config - "true" +-Force cache config - "false" +-Ndwl 1 +-Ndbl 1 +-Nspd 0 +-Ndcm 1 +-Ndsam1 0 +-Ndsam2 0 + +########### NUCA Params ############ + +# Objective for NUCA +-NUCAdesign objective (weight delay, dynamic power, leakage power, cycle time, area) 100:100:0:0:100 +-NUCAdeviate (delay, dynamic power, leakage power, cycle time, area) 10:10000:10000:10000:10000 + +# Contention in network (which is a function of core count and cache level) is one of +# the critical factor used for deciding the optimal bank count value +# core count can be 4, 8, or 16 +//-Core count 4 +-Core count 8 +//-Core count 16 +-Cache level (L2/L3) - "L3" + +# In order for CACTI to find the optimal NUCA bank value the following +# variable should be assigned 0. +-NUCA bank count 0 + diff --git a/T1/TP1/cacti-master/extio.cc b/T1/TP1/cacti-master/extio.cc new file mode 100644 index 0000000..382a7a0 --- /dev/null +++ b/T1/TP1/cacti-master/extio.cc @@ -0,0 +1,506 @@ +#include "extio.h" +#include + + +Extio::Extio(IOTechParam *iot): +io_param(iot){} + + +//External IO AREA. Does not include PHY or decap, includes only IO active circuit. More details can be found in the CACTI-IO technical report (), Chapter 2.3. + +void Extio::extio_area() +{ + + //Area per IO, assuming drive stage and ODT are shared + double single_io_area = io_param->ioarea_c + + (io_param->ioarea_k0/io_param->r_on)+(1/io_param->r_on)* + (io_param->ioarea_k1*io_param->frequency + + io_param->ioarea_k2*io_param->frequency*io_param->frequency + + io_param->ioarea_k3*io_param->frequency* + io_param->frequency*io_param->frequency); // IO Area in sq.mm. + + //Area per IO if ODT requirements are more stringent than the Ron + //requirements in determining size of driver + if (2*io_param->rtt1_dq_read < io_param->r_on) { + single_io_area = io_param->ioarea_c + + (io_param->ioarea_k0/(2*io_param->rtt1_dq_read))+ + (1/io_param->r_on)*(io_param->ioarea_k1*io_param->frequency + + io_param->ioarea_k2*io_param->frequency*io_param->frequency + + io_param->ioarea_k3*io_param->frequency*io_param->frequency*io_param->frequency); + } + + //Total IO area + io_area = (g_ip->num_dq + g_ip->num_dqs + g_ip->num_ca + g_ip->num_clk) * + single_io_area; + + printf("IO Area (sq.mm) = "); + cout << io_area << endl; + +} + +//External IO Termination Power. More details can be found in the CACTI-IO technical report (), Chapter 2.1. + +void Extio::extio_power_term() +{ + + //IO Termination and Bias Power + + //Bias and Leakage Power + power_bias = io_param->i_bias * io_param->vdd_io + + io_param->i_leak * (g_ip->num_dq + + g_ip->num_dqs + + g_ip->num_clk + + g_ip->num_ca) * io_param->vdd_io/1000000; + + + //Termination Power + power_termination_read = 1000 * (g_ip->num_dq + g_ip->num_dqs) * + io_param->vdd_io * io_param->vdd_io * 0.25 * + (1/(io_param->r_on + io_param->rpar_read + io_param->rs1_dq) + + 1/(io_param->rtt1_dq_read) + 1/(io_param->rtt2_dq_read)) + + 1000 * g_ip->num_ca * io_param->vdd_io * io_param->vdd_io * + (0.5 / (2 * (io_param->r_on_ca + io_param->rtt_ca))); + + power_termination_write = 1000 * (g_ip->num_dq + g_ip->num_dqs) * + io_param->vdd_io * io_param->vdd_io * 0.25 * + (1/(io_param->r_on + io_param->rpar_write) + + 1/(io_param->rtt1_dq_write) + 1/(io_param->rtt2_dq_write)) + + 1000 * g_ip->num_ca * io_param->vdd_io * io_param->vdd_io * + (0.5 / (2 * (io_param->r_on_ca + io_param->rtt_ca))); + + power_clk_bias = io_param->vdd_io * io_param->v_sw_clk / io_param->r_diff_term * 1000; + + + if (io_param->io_type == Serial) + { power_termination_read= 1000*(g_ip->num_dq)*io_param->vdd_io*io_param->v_sw_clk/io_param->r_diff_term; + power_termination_write= 1000*(g_ip->num_dq)*io_param->vdd_io*io_param->v_sw_clk/io_param->r_diff_term; + power_clk_bias=0; + } + + if (io_param->io_type == DDR4) + { + power_termination_read=1000 * (g_ip->num_dq + g_ip->num_dqs) * + io_param->vdd_io * io_param->vdd_io *0.5 * (1/(io_param->r_on + io_param->rpar_read + io_param->rs1_dq)) + + 1000 * g_ip->num_ca * io_param->vdd_io * io_param->vdd_io * + (0.5 / (2 * (io_param->r_on_ca + io_param->rtt_ca))); + + + + power_termination_write = 1000 * (g_ip->num_dq + g_ip->num_dqs) * + io_param->vdd_io * io_param->vdd_io * 0.5 * + (1/(io_param->r_on + io_param->rpar_write)) + + 1000 * g_ip->num_ca * io_param->vdd_io * io_param->vdd_io * + (0.5 / (2 * (io_param->r_on_ca + io_param->rtt_ca))); + + + + } + + + //Combining the power terms based on STATE (READ/WRITE/IDLE/SLEEP) + if (g_ip->iostate == READ) + { + io_power_term = g_ip->duty_cycle * + (power_termination_read + power_bias + power_clk_bias); + } + else if (g_ip->iostate == WRITE) + { + io_power_term = g_ip->duty_cycle * + (power_termination_write + power_bias + power_clk_bias); + } + else if (g_ip->iostate == IDLE) + { + io_power_term = g_ip->duty_cycle * + (power_termination_write + power_bias + power_clk_bias); + if (io_param->io_type == DDR4) + { io_power_term = 1e-6*io_param->i_leak*io_param->vdd_io; // IDLE IO power for DDR4 is leakage since bus can be parked at VDDQ + } + } + else if (g_ip->iostate == SLEEP) + { + io_power_term = 1e-6*io_param->i_leak*io_param->vdd_io; //nA to mW + } + else + { + io_power_term = 0; + } + + + printf("IO Termination and Bias Power (mW) = "); + cout << io_power_term << endl; +} + + +//External PHY Power and Wakeup Times. More details can be found in the CACTI-IO technical report (), Chapter 2.1. + +void Extio::extio_power_phy () +{ + + + phy_static_power = io_param->phy_datapath_s + io_param->phy_phase_rotator_s + + io_param->phy_clock_tree_s + io_param->phy_rx_s + io_param->phy_dcc_s + + io_param->phy_deskew_s + io_param->phy_leveling_s + io_param->phy_pll_s; // in mW + + phy_dynamic_power = io_param->phy_datapath_d + io_param->phy_phase_rotator_d + + io_param->phy_clock_tree_d + io_param->phy_rx_d + io_param->phy_dcc_d + + io_param->phy_deskew_d + io_param->phy_leveling_d + + io_param->phy_pll_d; // in mW/Gbps + + + +//Combining the power terms based on STATE (READ/WRITE/IDLE/SLEEP) + if (g_ip->iostate == READ) + { + phy_power = phy_static_power + 2 * io_param->frequency * g_ip->num_dq * phy_dynamic_power / 1000; // Total PHY power in mW + } + else if (g_ip->iostate == WRITE) + { + phy_power = phy_static_power + 2 * io_param->frequency * g_ip->num_dq * phy_dynamic_power / 1000; // Total PHY power in mW + } + else if (g_ip->iostate == IDLE) + { + phy_power = phy_static_power; // Total PHY power in mW + + } + else if (g_ip->iostate == SLEEP) + { + phy_power = 0; // Total PHY power in mW; + } + else + { + phy_power = 0; // Total PHY power in mW; + } + + + phy_wtime = io_param->phy_pll_wtime + io_param->phy_phase_rotator_wtime + io_param->phy_rx_wtime + io_param->phy_bandgap_wtime + io_param->phy_deskew_wtime + io_param->phy_vrefgen_wtime; // Total Wakeup time from SLEEP to ACTIVE. Some of the Wakeup time can be hidden if all components do not need to be serially brought out of SLEEP. This depends on the implementation and user can modify the Wakeup times accordingly. + + + printf("PHY Power (mW) = "); + cout << phy_power << " "; + printf("PHY Wakeup Time (us) = "); + cout << phy_wtime << endl; + +} + + +//External IO Dynamic Power. Does not include termination or PHY. More details can be found in the CACTI-IO technical report (), Chapter 2.1. + +void Extio::extio_power_dynamic() +{ + + if (io_param->io_type == Serial) + { + power_dq_write = 0; + + power_dqs_write = 0; + + power_ca_write = 0; + + power_dq_read = 0; + + power_dqs_read = 0; + + power_ca_read = 0; + + power_clk = 0; + + } + else + { + + + //Line capacitance calculations for effective c_line + + double c_line =1e6/(io_param->z0*2*io_param->frequency); //For DDR signals: DQ, DQS, CLK + double c_line_ca=c_line; //For DDR CA + double c_line_sdr=1e6/(io_param->z0*io_param->frequency); //For SDR CA + double c_line_2T=1e6*2/(io_param->z0*io_param->frequency); //For 2T timing + double c_line_3T=1e6*3/(io_param->z0*io_param->frequency); //For 3T timing + + //Line capacitance if flight time is less than half the bit period + + if (io_param->t_flight < 1e3/(4*io_param->frequency)){ + c_line = 1e3*io_param->t_flight/io_param->z0; + } + + if (io_param->t_flight_ca < 1e3/(4*io_param->frequency)){ + c_line_ca = 1e3*io_param->t_flight/io_param->z0; + } + + if (io_param->t_flight_ca < 1e3/(2*io_param->frequency)){ + c_line_sdr = 1e3*io_param->t_flight/io_param->z0; + } + + if (io_param->t_flight_ca < 1e3*2/(2*io_param->frequency)){ + c_line_2T = 1e3*io_param->t_flight/io_param->z0; + } + + if (io_param->t_flight_ca < 1e3*3/(2*io_param->frequency)){ + c_line_3T = 1e3*io_param->t_flight/io_param->z0; + } + + //Line capacitance calculation for the address bus, depending on what address timing is chosen (DDR/SDR/2T/3T) + + if (g_ip->addr_timing==1.0) { + c_line_ca = c_line_sdr; + } + else if (g_ip->addr_timing==2.0){ + c_line_ca = c_line_2T; + } + else if (g_ip->addr_timing==3.0){ + c_line_ca = c_line_3T; + } + + //Dynamic power per signal group for WRITE and READ modes + + power_dq_write = g_ip->num_dq * g_ip->activity_dq * + (io_param->c_tx + c_line) * io_param->vdd_io * + io_param->v_sw_data_write_line * io_param->frequency / 1000 + + g_ip->num_dq * g_ip->activity_dq * io_param->c_data * + io_param->vdd_io * io_param->v_sw_data_write_load1 * + io_param->frequency / 1000 + + g_ip->num_dq * g_ip->activity_dq * ((g_ip->num_mem_dq-1) * + io_param->c_data) * io_param->vdd_io * + io_param->v_sw_data_write_load2 * io_param->frequency / 1000 + + g_ip->num_dq * g_ip->activity_dq * io_param->c_int * + io_param->vdd_io * io_param->vdd_io * io_param->frequency / 1000; + + power_dqs_write = g_ip->num_dqs * (io_param->c_tx + c_line) * + io_param->vdd_io * io_param->v_sw_data_write_line * + io_param->frequency / 1000 + + g_ip->num_dqs * io_param->c_data * io_param->vdd_io * + io_param->v_sw_data_write_load1 * io_param->frequency / 1000 + + g_ip->num_dqs * ((g_ip->num_mem_dq-1) * io_param->c_data) * + io_param->vdd_io * io_param->v_sw_data_write_load2 * + io_param->frequency / 1000 + + g_ip->num_dqs * io_param->c_int * io_param->vdd_io * + io_param->vdd_io * io_param->frequency / 1000; + + power_ca_write = g_ip->num_ca * g_ip->activity_ca * + (io_param->c_tx + io_param->num_mem_ca * io_param->c_addr + + c_line_ca) * + io_param->vdd_io * io_param->v_sw_addr * io_param->frequency / 1000 + + g_ip->num_ca * g_ip->activity_ca * io_param->c_int * + io_param->vdd_io * io_param->vdd_io * io_param->frequency / 1000; + + power_dq_read = g_ip->num_dq * g_ip->activity_dq * + (io_param->c_tx + c_line) * io_param->vdd_io * + io_param->v_sw_data_read_line * io_param->frequency / 1000.0 + + g_ip->num_dq * g_ip->activity_dq * io_param->c_data * + io_param->vdd_io * io_param->v_sw_data_read_load1 * io_param->frequency / 1000.0 + + g_ip->num_dq *g_ip->activity_dq * ((g_ip->num_mem_dq-1) * io_param->c_data) * + io_param->vdd_io * io_param->v_sw_data_read_load2 * io_param->frequency / 1000.0 + + g_ip->num_dq * g_ip->activity_dq * io_param->c_int * io_param->vdd_io * + io_param->vdd_io * io_param->frequency / 1000.0; + + power_dqs_read = g_ip->num_dqs * (io_param->c_tx + c_line) * + io_param->vdd_io * io_param->v_sw_data_read_line * + io_param->frequency / 1000.0 + + g_ip->num_dqs * io_param->c_data * io_param->vdd_io * + io_param->v_sw_data_read_load1 * io_param->frequency / 1000.0 + + g_ip->num_dqs * ((g_ip->num_mem_dq-1) * io_param->c_data) * + io_param->vdd_io * io_param->v_sw_data_read_load2 * io_param->frequency / 1000.0 + + g_ip->num_dqs * io_param->c_int * io_param->vdd_io * io_param->vdd_io * + io_param->frequency / 1000.0; + + power_ca_read = g_ip->num_ca * g_ip->activity_ca * + (io_param->c_tx + io_param->num_mem_ca * + io_param->c_addr + c_line_ca) * + io_param->vdd_io * io_param->v_sw_addr * io_param->frequency / 1000 + + g_ip->num_ca * g_ip->activity_ca * io_param->c_int * + io_param->vdd_io * io_param->vdd_io * io_param->frequency / 1000; + + power_clk = g_ip->num_clk * + (io_param->c_tx + io_param->num_mem_clk * + io_param->c_data + c_line) * + io_param->vdd_io * io_param->v_sw_clk *io_param->frequency / 1000 + + g_ip->num_clk * io_param->c_int * io_param->vdd_io * + io_param->vdd_io * io_param->frequency / 1000; + + + + } + + //Combining the power terms based on STATE (READ/WRITE/IDLE/SLEEP) + + if (g_ip->iostate == READ) { + io_power_dynamic = g_ip->duty_cycle * (power_dq_read + + power_ca_read + power_dqs_read + power_clk); + + } + else if (g_ip->iostate == WRITE) { + io_power_dynamic = g_ip->duty_cycle * + (power_dq_write + power_ca_write + power_dqs_write + power_clk); + } + else if (g_ip->iostate == IDLE) { + io_power_dynamic = g_ip->duty_cycle * (power_clk); + } + else if (g_ip->iostate == SLEEP) { + io_power_dynamic = 0; + } + else { + io_power_dynamic = 0; + } + + + printf("IO Dynamic Power (mW) = "); + cout << io_power_dynamic << " "; +} + + +//External IO Timing and Voltage Margins. More details can be found in the CACTI-IO technical report (), Chapter 2.2. + +void Extio::extio_eye() +{ + + if (io_param->io_type == Serial) + {io_vmargin=0; + } + else + { + + //VOLTAGE MARGINS + //Voltage noise calculations based on proportional and independent noise + //sources for WRITE, READ and CA + double v_noise_write = io_param->k_noise_write_sen * io_param->v_sw_data_write_line + + io_param->v_noise_independent_write; + double v_noise_read = io_param->k_noise_read_sen * io_param->v_sw_data_read_line + + io_param->v_noise_independent_read; + double v_noise_addr = io_param->k_noise_addr_sen * io_param->v_sw_addr + + io_param->v_noise_independent_addr; + + + //Worst-case voltage margin (Swing/2 - Voltage noise) calculations per state + //depending on DQ voltage margin and CA voltage margin (lesser or the two is + //reported) + if (g_ip->iostate == READ) + { + if ((io_param->v_sw_data_read_line/2 - v_noise_read) < + (io_param->v_sw_addr/2 - v_noise_addr)) { + io_vmargin = io_param->v_sw_data_read_line/2 - v_noise_read; + } + else { + io_vmargin = io_param->v_sw_addr/2 - v_noise_addr; + } + } + else if (g_ip->iostate == WRITE) { + if ((io_param->v_sw_data_write_line/2 - v_noise_write) < + (io_param->v_sw_addr/2 - v_noise_addr)) { + io_vmargin = io_param->v_sw_data_write_line/2 - v_noise_write; + } + else { + io_vmargin = io_param->v_sw_addr/2 - v_noise_addr; + } + } + else { + io_vmargin = 0; + } + + } + + //TIMING MARGINS + + double t_margin_write_setup,t_margin_write_hold,t_margin_read_setup + ,t_margin_read_hold,t_margin_addr_setup,t_margin_addr_hold; + + if (io_param->io_type == Serial) + { + + t_margin_write_setup = (1e6/(4*io_param->frequency)) - + io_param->t_ds - + io_param->t_jitter_setup_sen; + + t_margin_write_hold = (1e6/(4*io_param->frequency)) - + io_param->t_dh - io_param->t_dcd_soc - + io_param->t_jitter_hold_sen; + + t_margin_read_setup = (1e6/(4*io_param->frequency)) - + io_param->t_soc_setup - + io_param->t_jitter_setup_sen; + + t_margin_read_hold = (1e6/(4*io_param->frequency)) - + io_param->t_soc_hold - io_param->t_dcd_dram - + io_param->t_dcd_soc - + io_param->t_jitter_hold_sen; + + + + t_margin_addr_setup = (1e6*g_ip->addr_timing/(2*io_param->frequency)); + + + t_margin_addr_hold = (1e6*g_ip->addr_timing/(2*io_param->frequency)); + + + + } + else + { + + + + //Setup and Hold timing margins for DQ WRITE, DQ READ and CA based on timing + //budget + t_margin_write_setup = (1e6/(4*io_param->frequency)) - + io_param->t_ds - io_param->t_error_soc - + io_param->t_jitter_setup_sen - io_param->t_skew_setup + io_param->t_cor_margin; + + t_margin_write_hold = (1e6/(4*io_param->frequency)) - + io_param->t_dh - io_param->t_dcd_soc - io_param->t_error_soc - + io_param->t_jitter_hold_sen - io_param->t_skew_hold + io_param->t_cor_margin; + + t_margin_read_setup = (1e6/(4*io_param->frequency)) - + io_param->t_soc_setup - io_param->t_error_soc - + io_param->t_jitter_setup_sen - io_param->t_skew_setup - + io_param->t_dqsq + io_param->t_cor_margin; + + t_margin_read_hold = (1e6/(4*io_param->frequency)) - + io_param->t_soc_hold - io_param->t_dcd_dram - + io_param->t_dcd_soc - io_param->t_error_soc - + io_param->t_jitter_hold_sen - io_param->t_skew_hold + io_param->t_cor_margin; + + + + t_margin_addr_setup = (1e6*g_ip->addr_timing/(2*io_param->frequency)) - + io_param->t_is - io_param->t_error_soc - + io_param->t_jitter_addr_setup_sen - io_param->t_skew_setup + io_param->t_cor_margin; + + + t_margin_addr_hold = (1e6*g_ip->addr_timing/(2*io_param->frequency)) - + io_param->t_ih - io_param->t_dcd_soc - io_param->t_error_soc - + io_param->t_jitter_addr_hold_sen - io_param->t_skew_hold + io_param->t_cor_margin; + } + + //Worst-case timing margin per state depending on DQ and CA timing margins + if (g_ip->iostate == READ) { + io_tmargin = t_margin_read_setup < t_margin_read_hold ? + t_margin_read_setup : t_margin_read_hold; + io_tmargin = io_tmargin < t_margin_addr_setup ? + io_tmargin : t_margin_addr_setup; + io_tmargin = io_tmargin < t_margin_addr_hold ? + io_tmargin : t_margin_addr_hold; + } + else if (g_ip->iostate == WRITE) { + io_tmargin = t_margin_write_setup < t_margin_write_hold ? + t_margin_write_setup : t_margin_write_hold; + io_tmargin = io_tmargin < t_margin_addr_setup ? + io_tmargin : t_margin_addr_setup; + io_tmargin = io_tmargin < t_margin_addr_hold ? + io_tmargin : t_margin_addr_hold; + } + else { + io_tmargin = 0; + } + + + + + + //OUTPUTS + + + printf("IO Timing Margin (ps) = "); + cout << io_tmargin < + +/* This file contains configuration parameters, including + * default configuration for DDR3, LPDDR2 and WIDEIO. The configuration + * parameters include technology parameters - voltage, load capacitances, IO + * area coefficients, timing parameters, as well as external io configuration parameters - + * termination values, voltage noise coefficients and voltage/timing noise + * sensitivity parameters. More details can be found in the CACTI-IO technical + * report (), especially Chapters 2 and 3. The user can define new dram types here. */ + + + +///////////// DDR3 /////////////////// + + const double rtt1_wr_lrdimm_ddr3[8][4] = +{ + {INF,INF,120,120}, + {INF,INF,120,120}, + {INF,120,120,80}, + {120,120,120,60}, + {120,120,120,60}, + {120,80,80,60}, + {120,80,80,60}, + {120,80,60,40} +}; + + const double rtt2_wr_lrdimm_ddr3[8][4] = +{ + {INF,INF,INF,INF},//1 + {INF,INF,120,120},//2 + {120,120,120,80}, //3 + {120,120,80,60}, //4 + {120,120,80,60}, + {120,80,60,40}, //6 + {120,80,60,40}, + {80,80,40,30}//8 +}; + + const double rtt1_rd_lrdimm_ddr3[8][4] = +{ + {INF,INF,120,120},//1 + {INF,INF,120,120},//2 + {INF,120,120,80}, //3 + {120,120,120,60}, //4 + {120,120,120,60}, + {120,80,80,60}, //6 + {120,80,80,60}, + {120,80,60,40}//8 +}; + + const double rtt2_rd_lrdimm_ddr3[8][4] = +{ + {INF,INF,INF,INF},//1 + {INF,120,80,60},//2 + {120,80,80,40}, //3 + {120,80,60,40}, //4 + {120,80,60,40}, + {80,60,60,30}, //6 + {80,60,60,30}, + {80,60,40,20}//8 +}; + + + const double rtt1_wr_host_dimm_ddr3[3][4]= +{ + {120,120,120,60}, + {120,80,80,60}, + {120,80,60,40} +}; + +const double rtt2_wr_host_dimm_ddr3[3][4]= +{ + {120,120,80,60}, + {120,80,60,40}, + {80,80,40,30} +}; + + const double rtt1_rd_host_dimm_ddr3[3][4]= +{ + {120,120,120,60}, + {120,80,80,60}, + {120,80,60,40} +}; + + const double rtt2_rd_host_dimm_ddr3[3][4]= +{ + {120,80,60,40}, + {80,60,60,30}, + {80,60,40,20} +}; + + + const double rtt1_wr_bob_dimm_ddr3[3][4]= +{ + {INF,120,120,80}, + {120,120,120,60}, + {120,80,80,60} +}; + + const double rtt2_wr_bob_dimm_ddr3[3][4]= +{ + {120,120,120,80}, + {120,120,80,60}, + {120,80,60,40} +}; + + const double rtt1_rd_bob_dimm_ddr3[3][4]= +{ + {INF,120,120,80}, + {120,120,120,60}, + {120,80,80,60} +}; + + const double rtt2_rd_bob_dimm_ddr3[3][4]= +{ + {120,80,80,40}, + {120,80,60,40}, + {80,60,60,30} +}; + + +///////////// DDR4 /////////////////// + + const double rtt1_wr_lrdimm_ddr4[8][4] = +{ + {120,120,80,80},//1 + {120,120,80,80},//2 + {120,80,80,60}, //3 + {80,60,60,60}, //4 + {80,60,60,60}, + {60,60,60,40}, //6 + {60,60,60,40}, + {40,40,40,40}//8 +}; + + const double rtt2_wr_lrdimm_ddr4[8][4] = +{ + {INF,INF,INF,INF},//1 + {120,120,120,80},//2 + {120,80,80,80},//3 + {80,80,80,60},//4 + {80,80,80,60}, + {60,60,60,40},//6 + {60,60,60,40}, + {60,40,40,30}//8 +}; + + const double rtt1_rd_lrdimm_ddr4[8][4] = +{ + {120,120,80,80},//1 + {120,120,80,60},//2 + {120,80,80,60}, //3 + {120,60,60,60}, //4 + {120,60,60,60}, + {80,60,60,40}, //6 + {80,60,60,40}, + {60,40,40,30}//8 +}; + + const double rtt2_rd_lrdimm_ddr4[8][4] = +{ + {INF,INF,INF,INF},//1 + {80,60,60,60},//2 + {60,60,40,40}, //3 + {60,40,40,40}, //4 + {60,40,40,40}, + {40,40,40,30}, //6 + {40,40,40,30}, + {40,30,30,20}//8 +}; + + + + const double rtt1_wr_host_dimm_ddr4[3][4]= +{ + {80,60,60,60}, + {60,60,60,60}, + {40,40,40,40} +}; + + const double rtt2_wr_host_dimm_ddr4[3][4]= +{ + {80,80,80,60}, + {60,60,60,40}, + {60,40,40,30} +}; + + const double rtt1_rd_host_dimm_ddr4[3][4]= +{ + {120,60,60,60}, + {80,60,60,40}, + {60,40,40,30} +}; + + const double rtt2_rd_host_dimm_ddr4[3][4]= +{ + {60,40,40,40}, + {40,40,40,30}, + {40,30,30,20} +}; + + + const double rtt1_wr_bob_dimm_ddr4[3][4]= +{ + {120,80,80,60}, + {80,60,60,60}, + {60,60,60,40} +}; + + const double rtt2_wr_bob_dimm_ddr4[3][4]= +{ + {120,80,80,80}, + {80,80,80,60}, + {60,60,60,40} +}; + + const double rtt1_rd_bob_dimm_ddr4[3][4]= +{ + {120,80,80,60}, + {120,60,60,60}, + {80,60,60,40} +}; + + const double rtt2_rd_bob_dimm_ddr4[3][4]= +{ + {60,60,40,40}, + {60,40,40,40}, + {40,40,40,30} +}; + + +///////////////////////////////////////////// + +int IOTechParam::frequnecy_index(Mem_IO_type type) +{ + if(type==DDR3) + { + if(frequency<=400) + return 0; + else if(frequency<=533) + return 1; + else if(frequency<=667) + return 2; + else + return 3; + } + else if(type==DDR4) + { + if(frequency<=800) + return 0; + else if(frequency<=933) + return 1; + else if(frequency<=1066) + return 2; + else + return 3; + } + else + { + assert(false); + } + return 0; +} + + + +IOTechParam::IOTechParam(InputParameter * g_ip) +{ + num_mem_ca = g_ip->num_mem_dq * (g_ip->num_dq/g_ip->mem_data_width); + num_mem_clk = g_ip->num_mem_dq * + (g_ip->num_dq/g_ip->mem_data_width)/(g_ip->num_clk/2); + + + if (g_ip->io_type == LPDDR2) { //LPDDR + //Technology Parameters + + vdd_io = 1.2; + v_sw_clk = 1; + + // Loading paramters + c_int = 1.5; + c_tx = 2; + c_data = 1.5; + c_addr = 0.75; + i_bias = 5; + i_leak = 1000; + + // IO Area coefficients + + ioarea_c = 0.01; + ioarea_k0 = 0.5; + ioarea_k1 = 0.00008; + ioarea_k2 = 0.000000030; + ioarea_k3 = 0.000000000008; + + // Timing parameters (ps) + t_ds = 250; + t_is = 250; + t_dh = 250; + t_ih = 250; + t_dcd_soc = 50; + t_dcd_dram = 50; + t_error_soc = 50; + t_skew_setup = 50; + t_skew_hold = 50; + t_dqsq = 250; + t_soc_setup = 50; + t_soc_hold = 50; + t_jitter_setup = 200; + t_jitter_hold = 200; + t_jitter_addr_setup = 200; + t_jitter_addr_hold = 200; + t_cor_margin = 40; + + //External IO Configuration Parameters + + r_diff_term = 480; + rtt1_dq_read = 100000; + rtt2_dq_read = 100000; + rtt1_dq_write = 100000; + rtt2_dq_write = 100000; + rtt_ca = 240; + rs1_dq = 0; + rs2_dq = 0; + r_stub_ca = 0; + r_on = 50; + r_on_ca = 50; + z0 = 50; + t_flight = 0.5; + t_flight_ca = 0.5; + + // Voltage noise coeffecients + k_noise_write = 0.2; + k_noise_read = 0.2; + k_noise_addr = 0.2; + v_noise_independent_write = 0.1; + v_noise_independent_read = 0.1; + v_noise_independent_addr = 0.1; + + //SENSITIVITY INPUTS FOR TIMING AND VOLTAGE NOISE + +/* This is a user-defined section that depends on the channel sensitivity + * to IO and DRAM parameters. The t_jitter_* and k_noise_* are the + * parameters that are impacted based on the channel analysis. The user + * can define any relationship between the termination, loading and + * configuration parameters AND the t_jitter/k_noise parameters. E.g. a + * linear relationship, a non-linear analytical relationship or a lookup + * table. The sensitivity coefficients are based on channel analysis + * performed on the channel of interest.Given below is an example of such + * a sensitivity relationship. + * Such a linear fit can be found efficiently using an orthogonal design + * of experiments method shown in the technical report (), in Chapter 2.2. */ + + k_noise_write_sen = k_noise_write * (1 + 0.2*(r_on/34 - 1) + + 0.2*(g_ip->num_mem_dq/2 - 1)); + k_noise_read_sen = k_noise_read * (1 + 0.2*(r_on/34 - 1) + + 0.2*(g_ip->num_mem_dq/2 - 1)); + k_noise_addr_sen = k_noise_addr * (1 + 0.1*(rtt_ca/100 - 1) + + 0.2*(r_on/34 - 1) + 0.2*(num_mem_ca/16 - 1)); + + t_jitter_setup_sen = t_jitter_setup * (1 + 0.1*(r_on/34 - 1) + + 0.3*(g_ip->num_mem_dq/2 - 1)); + t_jitter_hold_sen = t_jitter_hold * (1 + 0.1*(r_on/34 - 1) + + 0.3*(g_ip->num_mem_dq/2 - 1)); + t_jitter_addr_setup_sen = t_jitter_addr_setup * (1 + 0.2*(rtt_ca/100 - 1) + + 0.1*(r_on/34 - 1) + 0.4*(num_mem_ca/16 - 1)); + t_jitter_addr_hold_sen = t_jitter_addr_hold * (1 + 0.2*(rtt_ca/100 - 1) + + 0.1*(r_on/34 - 1) + 0.4*(num_mem_ca/16 - 1)); + + // PHY Static Power Coefficients (mW) + + phy_datapath_s = 0; + phy_phase_rotator_s = 5; + phy_clock_tree_s = 0; + phy_rx_s = 3; + phy_dcc_s = 0; + phy_deskew_s = 0; + phy_leveling_s = 0; + phy_pll_s = 2; + + + // PHY Dynamic Power Coefficients (mW/Gbps) + + phy_datapath_d = 0.3; + phy_phase_rotator_d = 0.01; + phy_clock_tree_d = 0.4; + phy_rx_d = 0.2; + phy_dcc_d = 0; + phy_deskew_d = 0; + phy_leveling_d = 0; + phy_pll_d = 0.05; + + + //PHY Wakeup Times (Sleep to Active) (microseconds) + + phy_pll_wtime = 10; + phy_phase_rotator_wtime = 5; + phy_rx_wtime = 2; + phy_bandgap_wtime = 10; + phy_deskew_wtime = 0; + phy_vrefgen_wtime = 0; + + + } + else if (g_ip->io_type == WideIO) { //WIDEIO + //Technology Parameters + vdd_io = 1.2; + v_sw_clk = 1.2; + + // Loading parameters + c_int = 0.5; + c_tx = 0.5; + c_data = 0.5; + c_addr = 0.35; + i_bias = 0; + i_leak = 500; + + // IO Area coefficients + ioarea_c = 0.003; + ioarea_k0 = 0.2; + ioarea_k1 = 0.00004; + ioarea_k2 = 0.000000020; + ioarea_k3 = 0.000000000004; + + // Timing parameters (ps) + t_ds = 250; + t_is = 250; + t_dh = 250; + t_ih = 250; + t_dcd_soc = 50; + t_dcd_dram = 50; + t_error_soc = 50; + t_skew_setup = 50; + t_skew_hold = 50; + t_dqsq = 250; + t_soc_setup = 50; + t_soc_hold = 50; + t_jitter_setup = 200; + t_jitter_hold = 200; + t_jitter_addr_setup = 200; + t_jitter_addr_hold = 200; + t_cor_margin = 50; + + //External IO Configuration Parameters + + r_diff_term = 100000; + rtt1_dq_read = 100000; + rtt2_dq_read = 100000; + rtt1_dq_write = 100000; + rtt2_dq_write = 100000; + rtt_ca = 100000; + rs1_dq = 0; + rs2_dq = 0; + r_stub_ca = 0; + r_on = 75; + r_on_ca = 75; + z0 = 50; + t_flight = 0.05; + t_flight_ca = 0.05; + + // Voltage noise coeffecients + k_noise_write = 0.2; + k_noise_read = 0.2; + k_noise_addr = 0.2; + v_noise_independent_write = 0.1; + v_noise_independent_read = 0.1; + v_noise_independent_addr = 0.1; + + //SENSITIVITY INPUTS FOR TIMING AND VOLTAGE NOISE + + /* This is a user-defined section that depends on the channel sensitivity + * to IO and DRAM parameters. The t_jitter_* and k_noise_* are the + * parameters that are impacted based on the channel analysis. The user + * can define any relationship between the termination, loading and + * configuration parameters AND the t_jitter/k_noise parameters. E.g. a + * linear relationship, a non-linear analytical relationship or a lookup + * table. The sensitivity coefficients are based on channel analysis + * performed on the channel of interest.Given below is an example of such + * a sensitivity relationship. + * Such a linear fit can be found efficiently using an orthogonal design + * of experiments method shown in the technical report (), in Chapter 2.2. */ + + k_noise_write_sen = k_noise_write * (1 + 0.2*(r_on/50 - 1) + + 0.2*(g_ip->num_mem_dq/2 - 1)); + k_noise_read_sen = k_noise_read * (1 + 0.2*(r_on/50 - 1) + + 0.2*(g_ip->num_mem_dq/2 - 1)); + k_noise_addr_sen = k_noise_addr * (1 + 0.2*(r_on/50 - 1) + + 0.2*(num_mem_ca/16 - 1)); + + + t_jitter_setup_sen = t_jitter_setup * (1 + 0.1*(r_on/50 - 1) + + 0.3*(g_ip->num_mem_dq/2 - 1)); + t_jitter_hold_sen = t_jitter_hold * (1 + 0.1*(r_on/50 - 1) + + 0.3*(g_ip->num_mem_dq/2 - 1)); + t_jitter_addr_setup_sen = t_jitter_addr_setup * (1 + 0.1*(r_on/50 - 1) + + 0.4*(num_mem_ca/16 - 1)); + t_jitter_addr_hold_sen = t_jitter_addr_hold * (1 + 0.1*(r_on/50 - 1) + + 0.4*(num_mem_ca/16 - 1)); + + // PHY Static Power Coefficients (mW) + phy_datapath_s = 0; + phy_phase_rotator_s = 1; + phy_clock_tree_s = 0; + phy_rx_s = 0; + phy_dcc_s = 0; + phy_deskew_s = 0; + phy_leveling_s = 0; + phy_pll_s = 0; + + + // PHY Dynamic Power Coefficients (mW/Gbps) + phy_datapath_d = 0.3; + phy_phase_rotator_d = 0.01; + phy_clock_tree_d = 0.2; + phy_rx_d = 0.1; + phy_dcc_d = 0; + phy_deskew_d = 0; + phy_leveling_d = 0; + phy_pll_d = 0; + + //PHY Wakeup Times (Sleep to Active) (microseconds) + + phy_pll_wtime = 10; + phy_phase_rotator_wtime = 0; + phy_rx_wtime = 0; + phy_bandgap_wtime = 0; + phy_deskew_wtime = 0; + phy_vrefgen_wtime = 0; + + + } + else if (g_ip->io_type == DDR3) + { //Default parameters for DDR3 + // IO Supply voltage (V) + vdd_io = 1.5; + v_sw_clk = 0.75; + + // Loading parameters + c_int = 1.5; + c_tx = 2; + c_data = 1.5; + c_addr = 0.75; + i_bias = 15; + i_leak = 1000; + + // IO Area coefficients + ioarea_c = 0.01; + ioarea_k0 = 0.5; + ioarea_k1 = 0.00015; + ioarea_k2 = 0.000000045; + ioarea_k3 = 0.000000000015; + + // Timing parameters (ps) + t_ds = 150; + t_is = 150; + t_dh = 150; + t_ih = 150; + t_dcd_soc = 50; + t_dcd_dram = 50; + t_error_soc = 25; + t_skew_setup = 25; + t_skew_hold = 25; + t_dqsq = 100; + t_soc_setup = 50; + t_soc_hold = 50; + t_jitter_setup = 100; + t_jitter_hold = 100; + t_jitter_addr_setup = 100; + t_jitter_addr_hold = 100; + t_cor_margin = 30; + + + //External IO Configuration Parameters + + r_diff_term = 100; + rtt1_dq_read = g_ip->rtt_value; + rtt2_dq_read = g_ip->rtt_value; + rtt1_dq_write = g_ip->rtt_value; + rtt2_dq_write = g_ip->rtt_value; + rtt_ca = 50; + rs1_dq = 15; + rs2_dq = 15; + r_stub_ca = 0; + r_on = g_ip->ron_value; + r_on_ca = 50; + z0 = 50; + t_flight = g_ip->tflight_value; + t_flight_ca = 2; + + // Voltage noise coeffecients + + k_noise_write = 0.2; + k_noise_read = 0.2; + k_noise_addr = 0.2; + v_noise_independent_write = 0.1; + v_noise_independent_read = 0.1; + v_noise_independent_addr = 0.1; + + //SENSITIVITY INPUTS FOR TIMING AND VOLTAGE NOISE + + /* This is a user-defined section that depends on the channel sensitivity + * to IO and DRAM parameters. The t_jitter_* and k_noise_* are the + * parameters that are impacted based on the channel analysis. The user + * can define any relationship between the termination, loading and + * configuration parameters AND the t_jitter/k_noise parameters. E.g. a + * linear relationship, a non-linear analytical relationship or a lookup + * table. The sensitivity coefficients are based on channel analysis + * performed on the channel of interest.Given below is an example of such + * a sensitivity relationship. + * Such a linear fit can be found efficiently using an orthogonal design + * of experiments method shown in the technical report (), in Chapter 2.2. */ + + k_noise_write_sen = k_noise_write * (1 + 0.1*(rtt1_dq_write/60 - 1) + + 0.2*(rtt2_dq_write/60 - 1) + 0.2*(r_on/34 - 1) + + 0.2*(g_ip->num_mem_dq/2 - 1)); + + k_noise_read_sen = k_noise_read * (1 + 0.1*(rtt1_dq_read/60 - 1) + + 0.2*(rtt2_dq_read/60 - 1) + 0.2*(r_on/34 - 1) + + 0.2*(g_ip->num_mem_dq/2 - 1)); + + k_noise_addr_sen = k_noise_addr * (1 + 0.1*(rtt_ca/50 - 1) + + 0.2*(r_on/34 - 1) + 0.2*(num_mem_ca/16 - 1)); + + + t_jitter_setup_sen = t_jitter_setup * (1 + 0.2*(rtt1_dq_write/60 - 1) + + 0.3*(rtt2_dq_write/60 - 1) + 0.1*(r_on/34 - 1) + + 0.3*(g_ip->num_mem_dq/2 - 1)); + + t_jitter_hold_sen = t_jitter_hold * (1 + 0.2*(rtt1_dq_write/60 - 1) + + 0.3*(rtt2_dq_write/60 - 1) + + 0.1*(r_on/34 - 1) + 0.3*(g_ip->num_mem_dq/2 - 1)); + + t_jitter_addr_setup_sen = t_jitter_addr_setup * (1 + 0.2*(rtt_ca/50 - 1) + + 0.1*(r_on/34 - 1) + 0.4*(num_mem_ca/16 - 1)); + + t_jitter_addr_hold_sen = t_jitter_addr_hold * (1 + 0.2*(rtt_ca/50 - 1) + + 0.1*(r_on/34 - 1) + 0.4*(num_mem_ca/16 - 1)); + + // PHY Static Power Coefficients (mW) + phy_datapath_s = 0; + phy_phase_rotator_s = 10; + phy_clock_tree_s = 0; + phy_rx_s = 10; + phy_dcc_s = 0; + phy_deskew_s = 0; + phy_leveling_s = 0; + phy_pll_s = 10; + + // PHY Dynamic Power Coefficients (mW/Gbps) + phy_datapath_d = 0.5; + phy_phase_rotator_d = 0.01; + phy_clock_tree_d = 0.5; + phy_rx_d = 0.5; + phy_dcc_d = 0.05; + phy_deskew_d = 0.1; + phy_leveling_d = 0.05; + phy_pll_d = 0.05; + + //PHY Wakeup Times (Sleep to Active) (microseconds) + + phy_pll_wtime = 10; + phy_phase_rotator_wtime = 5; + phy_rx_wtime = 2; + phy_bandgap_wtime = 10; + phy_deskew_wtime = 0.003; + phy_vrefgen_wtime = 0.5; + + + } + else if (g_ip->io_type == DDR4) + { //Default parameters for DDR4 + // IO Supply voltage (V) + vdd_io = 1.2; + v_sw_clk = 0.6; + + // Loading parameters + c_int = 1.5; + c_tx = 2; + c_data = 1; + c_addr = 0.75; + i_bias = 15; + i_leak = 1000; + + // IO Area coefficients + ioarea_c = 0.01; + ioarea_k0 = 0.35; + ioarea_k1 = 0.00008; + ioarea_k2 = 0.000000035; + ioarea_k3 = 0.000000000010; + + // Timing parameters (ps) + t_ds = 30; + t_is = 60; + t_dh = 30; + t_ih = 60; + t_dcd_soc = 20; + t_dcd_dram = 20; + t_error_soc = 15; + t_skew_setup = 15; + t_skew_hold = 15; + t_dqsq = 50; + t_soc_setup = 20; + t_soc_hold = 10; + t_jitter_setup = 30; + t_jitter_hold = 30; + t_jitter_addr_setup = 60; + t_jitter_addr_hold = 60; + t_cor_margin = 10; + + + //External IO Configuration Parameters + + r_diff_term = 100; + rtt1_dq_read = g_ip->rtt_value; + rtt2_dq_read = g_ip->rtt_value; + rtt1_dq_write = g_ip->rtt_value; + rtt2_dq_write = g_ip->rtt_value; + rtt_ca = 50; + rs1_dq = 15; + rs2_dq = 15; + r_stub_ca = 0; + r_on = g_ip->ron_value; + r_on_ca = 50; + z0 = 50; + t_flight = g_ip->tflight_value; + t_flight_ca = 2; + + // Voltage noise coeffecients + + k_noise_write = 0.2; + k_noise_read = 0.2; + k_noise_addr = 0.2; + v_noise_independent_write = 0.1; + v_noise_independent_read = 0.1; + v_noise_independent_addr = 0.1; + + //SENSITIVITY INPUTS FOR TIMING AND VOLTAGE NOISE + + /* This is a user-defined section that depends on the channel sensitivity + * to IO and DRAM parameters. The t_jitter_* and k_noise_* are the + * parameters that are impacted based on the channel analysis. The user + * can define any relationship between the termination, loading and + * configuration parameters AND the t_jitter/k_noise parameters. E.g. a + * linear relationship, a non-linear analytical relationship or a lookup + * table. The sensitivity coefficients are based on channel analysis + * performed on the channel of interest.Given below is an example of such + * a sensitivity relationship. + * Such a linear fit can be found efficiently using an orthogonal design + * of experiments method shown in the technical report (), in Chapter 2.2. */ + + k_noise_write_sen = k_noise_write * (1 + 0.1*(rtt1_dq_write/60 - 1) + + 0.2*(rtt2_dq_write/60 - 1) + 0.2*(r_on/34 - 1) + + 0.2*(g_ip->num_mem_dq/2 - 1)); + + k_noise_read_sen = k_noise_read * (1 + 0.1*(rtt1_dq_read/60 - 1) + + 0.2*(rtt2_dq_read/60 - 1) + 0.2*(r_on/34 - 1) + + 0.2*(g_ip->num_mem_dq/2 - 1)); + + k_noise_addr_sen = k_noise_addr * (1 + 0.1*(rtt_ca/50 - 1) + + 0.2*(r_on/34 - 1) + 0.2*(num_mem_ca/16 - 1)); + + + t_jitter_setup_sen = t_jitter_setup * (1 + 0.2*(rtt1_dq_write/60 - 1) + + 0.3*(rtt2_dq_write/60 - 1) + 0.1*(r_on/34 - 1) + + 0.3*(g_ip->num_mem_dq/2 - 1)); + + t_jitter_hold_sen = t_jitter_hold * (1 + 0.2*(rtt1_dq_write/60 - 1) + + 0.3*(rtt2_dq_write/60 - 1) + + 0.1*(r_on/34 - 1) + 0.3*(g_ip->num_mem_dq/2 - 1)); + + t_jitter_addr_setup_sen = t_jitter_addr_setup * (1 + 0.2*(rtt_ca/50 - 1) + + 0.1*(r_on/34 - 1) + 0.4*(num_mem_ca/16 - 1)); + + t_jitter_addr_hold_sen = t_jitter_addr_hold * (1 + 0.2*(rtt_ca/50 - 1) + + 0.1*(r_on/34 - 1) + 0.4*(num_mem_ca/16 - 1)); + + // PHY Static Power Coefficients (mW) + phy_datapath_s = 0; + phy_phase_rotator_s = 10; + phy_clock_tree_s = 0; + phy_rx_s = 10; + phy_dcc_s = 0; + phy_deskew_s = 0; + phy_leveling_s = 0; + phy_pll_s = 10; + + // PHY Dynamic Power Coefficients (mW/Gbps) + phy_datapath_d = 0.5; + phy_phase_rotator_d = 0.01; + phy_clock_tree_d = 0.5; + phy_rx_d = 0.5; + phy_dcc_d = 0.05; + phy_deskew_d = 0.1; + phy_leveling_d = 0.05; + phy_pll_d = 0.05; + + //PHY Wakeup Times (Sleep to Active) (microseconds) + + phy_pll_wtime = 10; + phy_phase_rotator_wtime = 5; + phy_rx_wtime = 2; + phy_bandgap_wtime = 10; + phy_deskew_wtime = 0.003; + phy_vrefgen_wtime = 0.5; + + + } + else if (g_ip->io_type == Serial) + { //Default parameters for Serial + // IO Supply voltage (V) + vdd_io = 1.2; + v_sw_clk = 0.75; + + // IO Area coefficients + ioarea_c = 0.01; + ioarea_k0 = 0.15; + ioarea_k1 = 0.00005; + ioarea_k2 = 0.000000025; + ioarea_k3 = 0.000000000005; + + // Timing parameters (ps) + t_ds = 15; + t_dh = 15; + t_dcd_soc = 10; + t_dcd_dram = 10; + t_soc_setup = 10; + t_soc_hold = 10; + t_jitter_setup = 20; + t_jitter_hold = 20; + + //External IO Configuration Parameters + + r_diff_term = 100; + + + t_jitter_setup_sen = t_jitter_setup; + + t_jitter_hold_sen = t_jitter_hold; + + t_jitter_addr_setup_sen = t_jitter_addr_setup; + + t_jitter_addr_hold_sen = t_jitter_addr_hold; + + // PHY Static Power Coefficients (mW) + phy_datapath_s = 0; + phy_phase_rotator_s = 10; + phy_clock_tree_s = 0; + phy_rx_s = 10; + phy_dcc_s = 0; + phy_deskew_s = 0; + phy_leveling_s = 0; + phy_pll_s = 10; + + // PHY Dynamic Power Coefficients (mW/Gbps) + phy_datapath_d = 0.5; + phy_phase_rotator_d = 0.01; + phy_clock_tree_d = 0.5; + phy_rx_d = 0.5; + phy_dcc_d = 0.05; + phy_deskew_d = 0.1; + phy_leveling_d = 0.05; + phy_pll_d = 0.05; + + //PHY Wakeup Times (Sleep to Active) (microseconds) + + phy_pll_wtime = 10; + phy_phase_rotator_wtime = 5; + phy_rx_wtime = 2; + phy_bandgap_wtime = 10; + phy_deskew_wtime = 0.003; + phy_vrefgen_wtime = 0.5; + + + } + else + { + cout << "Not Yet supported" << endl; + exit(1); + } + + + //SWING AND TERMINATION CALCULATIONS + + //R|| calculation + rpar_write =(rtt1_dq_write + rs1_dq)*(rtt2_dq_write + rs2_dq)/ + (rtt1_dq_write + rs1_dq + rtt2_dq_write + rs2_dq); + rpar_read =(rtt1_dq_read)*(rtt2_dq_read + rs2_dq)/ + (rtt1_dq_read + rtt2_dq_read + rs2_dq); + + //Swing calculation + v_sw_data_read_load1 =vdd_io * (rtt1_dq_read)*(rtt2_dq_read + rs2_dq) / + ((rtt1_dq_read + rtt2_dq_read + rs2_dq)*(r_on + rs1_dq + rpar_read)); + v_sw_data_read_load2 =vdd_io * (rtt1_dq_read)*(rtt2_dq_read) / + ((rtt1_dq_read + rtt2_dq_read + rs2_dq)*(r_on + rs1_dq + rpar_read)); + v_sw_data_read_line =vdd_io * rpar_read / (r_on + rs1_dq + rpar_read); + v_sw_addr =vdd_io * rtt_ca / (50 + rtt_ca); + v_sw_data_write_load1 =vdd_io * (rtt1_dq_write)*(rtt2_dq_write + rs2_dq) / + ((rtt1_dq_write + rs1_dq + rtt2_dq_write + rs2_dq)*(r_on + rpar_write)); + v_sw_data_write_load2 =vdd_io * (rtt2_dq_write)*(rtt1_dq_write + rs1_dq) / + ((rtt1_dq_write + rs1_dq + rtt2_dq_write + rs2_dq)*(r_on + rpar_write)); + v_sw_data_write_line =vdd_io * rpar_write / (r_on + rpar_write); + +} + +// This constructor recieves most of the input from g_ip. +// however it is possible to customize other some of the paremeters, +// that are mentioned as inputs. +// connection: 0 bob-dimm, 1 host-dimm, 2 lrdimm + + +IOTechParam::IOTechParam(InputParameter * g_ip, Mem_IO_type io_type1, int num_mem_dq, int mem_data_width + , int num_dq, int connection, int num_loads, double freq) +{ + num_mem_ca = num_mem_dq * (mem_data_width); + num_mem_clk = num_mem_dq * + (num_dq/mem_data_width)/(g_ip->num_clk/2); + + io_type = io_type1; + frequency = freq; + + + + + if (io_type == LPDDR2) { //LPDDR + //Technology Parameters + + vdd_io = 1.2; + v_sw_clk = 1; + + // Loading paramters + c_int = 1.5; + c_tx = 2; + c_data = 1.5; + c_addr = 0.75; + i_bias = 5; + i_leak = 1000; + + // IO Area coefficients + + ioarea_c = 0.01; + ioarea_k0 = 0.5; + ioarea_k1 = 0.00008; + ioarea_k2 = 0.000000030; + ioarea_k3 = 0.000000000008; + + // Timing parameters (ps) + t_ds = 250; + t_is = 250; + t_dh = 250; + t_ih = 250; + t_dcd_soc = 50; + t_dcd_dram = 50; + t_error_soc = 50; + t_skew_setup = 50; + t_skew_hold = 50; + t_dqsq = 250; + t_soc_setup = 50; + t_soc_hold = 50; + t_jitter_setup = 200; + t_jitter_hold = 200; + t_jitter_addr_setup = 200; + t_jitter_addr_hold = 200; + t_cor_margin = 40; + + //External IO Configuration Parameters + + r_diff_term = 480; + rtt1_dq_read = 100000; + rtt2_dq_read = 100000; + rtt1_dq_write = 100000; + rtt2_dq_write = 100000; + rtt_ca = 240; + rs1_dq = 0; + rs2_dq = 0; + r_stub_ca = 0; + r_on = 50; + r_on_ca = 50; + z0 = 50; + t_flight = 0.5; + t_flight_ca = 0.5; + + // Voltage noise coeffecients + k_noise_write = 0.2; + k_noise_read = 0.2; + k_noise_addr = 0.2; + v_noise_independent_write = 0.1; + v_noise_independent_read = 0.1; + v_noise_independent_addr = 0.1; + + //SENSITIVITY INPUTS FOR TIMING AND VOLTAGE NOISE + +/* This is a user-defined section that depends on the channel sensitivity + * to IO and DRAM parameters. The t_jitter_* and k_noise_* are the + * parameters that are impacted based on the channel analysis. The user + * can define any relationship between the termination, loading and + * configuration parameters AND the t_jitter/k_noise parameters. E.g. a + * linear relationship, a non-linear analytical relationship or a lookup + * table. The sensitivity coefficients are based on channel analysis + * performed on the channel of interest.Given below is an example of such + * a sensitivity relationship. + * Such a linear fit can be found efficiently using an orthogonal design + * of experiments method shown in the technical report (), in Chapter 2.2. */ + + k_noise_write_sen = k_noise_write * (1 + 0.2*(r_on/34 - 1) + + 0.2*(num_mem_dq/2 - 1)); + k_noise_read_sen = k_noise_read * (1 + 0.2*(r_on/34 - 1) + + 0.2*(num_mem_dq/2 - 1)); + k_noise_addr_sen = k_noise_addr * (1 + 0.1*(rtt_ca/100 - 1) + + 0.2*(r_on/34 - 1) + 0.2*(num_mem_ca/16 - 1)); + + t_jitter_setup_sen = t_jitter_setup * (1 + 0.1*(r_on/34 - 1) + + 0.3*(num_mem_dq/2 - 1)); + t_jitter_hold_sen = t_jitter_hold * (1 + 0.1*(r_on/34 - 1) + + 0.3*(num_mem_dq/2 - 1)); + t_jitter_addr_setup_sen = t_jitter_addr_setup * (1 + 0.2*(rtt_ca/100 - 1) + + 0.1*(r_on/34 - 1) + 0.4*(num_mem_ca/16 - 1)); + t_jitter_addr_hold_sen = t_jitter_addr_hold * (1 + 0.2*(rtt_ca/100 - 1) + + 0.1*(r_on/34 - 1) + 0.4*(num_mem_ca/16 - 1)); + + // PHY Static Power Coefficients (mW) + + phy_datapath_s = 0; + phy_phase_rotator_s = 5; + phy_clock_tree_s = 0; + phy_rx_s = 3; + phy_dcc_s = 0; + phy_deskew_s = 0; + phy_leveling_s = 0; + phy_pll_s = 2; + + + // PHY Dynamic Power Coefficients (mW/Gbps) + + phy_datapath_d = 0.3; + phy_phase_rotator_d = 0.01; + phy_clock_tree_d = 0.4; + phy_rx_d = 0.2; + phy_dcc_d = 0; + phy_deskew_d = 0; + phy_leveling_d = 0; + phy_pll_d = 0.05; + + + //PHY Wakeup Times (Sleep to Active) (microseconds) + + phy_pll_wtime = 10; + phy_phase_rotator_wtime = 5; + phy_rx_wtime = 2; + phy_bandgap_wtime = 10; + phy_deskew_wtime = 0; + phy_vrefgen_wtime = 0; + + + } + else if (io_type == WideIO) { //WIDEIO + //Technology Parameters + vdd_io = 1.2; + v_sw_clk = 1.2; + + // Loading parameters + c_int = 0.5; + c_tx = 0.5; + c_data = 0.5; + c_addr = 0.35; + i_bias = 0; + i_leak = 500; + + // IO Area coefficients + ioarea_c = 0.003; + ioarea_k0 = 0.2; + ioarea_k1 = 0.00004; + ioarea_k2 = 0.000000020; + ioarea_k3 = 0.000000000004; + + // Timing parameters (ps) + t_ds = 250; + t_is = 250; + t_dh = 250; + t_ih = 250; + t_dcd_soc = 50; + t_dcd_dram = 50; + t_error_soc = 50; + t_skew_setup = 50; + t_skew_hold = 50; + t_dqsq = 250; + t_soc_setup = 50; + t_soc_hold = 50; + t_jitter_setup = 200; + t_jitter_hold = 200; + t_jitter_addr_setup = 200; + t_jitter_addr_hold = 200; + t_cor_margin = 50; + + //External IO Configuration Parameters + + r_diff_term = 100000; + rtt1_dq_read = 100000; + rtt2_dq_read = 100000; + rtt1_dq_write = 100000; + rtt2_dq_write = 100000; + rtt_ca = 100000; + rs1_dq = 0; + rs2_dq = 0; + r_stub_ca = 0; + r_on = 75; + r_on_ca = 75; + z0 = 50; + t_flight = 0.05; + t_flight_ca = 0.05; + + // Voltage noise coeffecients + k_noise_write = 0.2; + k_noise_read = 0.2; + k_noise_addr = 0.2; + v_noise_independent_write = 0.1; + v_noise_independent_read = 0.1; + v_noise_independent_addr = 0.1; + + //SENSITIVITY INPUTS FOR TIMING AND VOLTAGE NOISE + + /* This is a user-defined section that depends on the channel sensitivity + * to IO and DRAM parameters. The t_jitter_* and k_noise_* are the + * parameters that are impacted based on the channel analysis. The user + * can define any relationship between the termination, loading and + * configuration parameters AND the t_jitter/k_noise parameters. E.g. a + * linear relationship, a non-linear analytical relationship or a lookup + * table. The sensitivity coefficients are based on channel analysis + * performed on the channel of interest.Given below is an example of such + * a sensitivity relationship. + * Such a linear fit can be found efficiently using an orthogonal design + * of experiments method shown in the technical report (), in Chapter 2.2. */ + + k_noise_write_sen = k_noise_write * (1 + 0.2*(r_on/50 - 1) + + 0.2*(num_mem_dq/2 - 1)); + k_noise_read_sen = k_noise_read * (1 + 0.2*(r_on/50 - 1) + + 0.2*(num_mem_dq/2 - 1)); + k_noise_addr_sen = k_noise_addr * (1 + 0.2*(r_on/50 - 1) + + 0.2*(num_mem_ca/16 - 1)); + + + t_jitter_setup_sen = t_jitter_setup * (1 + 0.1*(r_on/50 - 1) + + 0.3*(num_mem_dq/2 - 1)); + t_jitter_hold_sen = t_jitter_hold * (1 + 0.1*(r_on/50 - 1) + + 0.3*(num_mem_dq/2 - 1)); + t_jitter_addr_setup_sen = t_jitter_addr_setup * (1 + 0.1*(r_on/50 - 1) + + 0.4*(num_mem_ca/16 - 1)); + t_jitter_addr_hold_sen = t_jitter_addr_hold * (1 + 0.1*(r_on/50 - 1) + + 0.4*(num_mem_ca/16 - 1)); + + // PHY Static Power Coefficients (mW) + phy_datapath_s = 0; + phy_phase_rotator_s = 1; + phy_clock_tree_s = 0; + phy_rx_s = 0; + phy_dcc_s = 0; + phy_deskew_s = 0; + phy_leveling_s = 0; + phy_pll_s = 0; + + + // PHY Dynamic Power Coefficients (mW/Gbps) + phy_datapath_d = 0.3; + phy_phase_rotator_d = 0.01; + phy_clock_tree_d = 0.2; + phy_rx_d = 0.1; + phy_dcc_d = 0; + phy_deskew_d = 0; + phy_leveling_d = 0; + phy_pll_d = 0; + + //PHY Wakeup Times (Sleep to Active) (microseconds) + + phy_pll_wtime = 10; + phy_phase_rotator_wtime = 0; + phy_rx_wtime = 0; + phy_bandgap_wtime = 0; + phy_deskew_wtime = 0; + phy_vrefgen_wtime = 0; + + + } + else if (io_type == DDR3) + { //Default parameters for DDR3 + // IO Supply voltage (V) + vdd_io = 1.5; + v_sw_clk = 0.75; + + // Loading parameters + c_int = 1.5; + c_tx = 2; + c_data = 1.5; + c_addr = 0.75; + i_bias = 15; + i_leak = 1000; + + // IO Area coefficients + ioarea_c = 0.01; + ioarea_k0 = 0.5; + ioarea_k1 = 0.00015; + ioarea_k2 = 0.000000045; + ioarea_k3 = 0.000000000015; + + // Timing parameters (ps) + t_ds = 150; + t_is = 150; + t_dh = 150; + t_ih = 150; + t_dcd_soc = 50; + t_dcd_dram = 50; + t_error_soc = 25; + t_skew_setup = 25; + t_skew_hold = 25; + t_dqsq = 100; + t_soc_setup = 50; + t_soc_hold = 50; + t_jitter_setup = 100; + t_jitter_hold = 100; + t_jitter_addr_setup = 100; + t_jitter_addr_hold = 100; + t_cor_margin = 30; + + + //External IO Configuration Parameters + + r_diff_term = 100; + + /* + rtt1_dq_read = g_ip->rtt_value; + rtt2_dq_read = g_ip->rtt_value; + rtt1_dq_write = g_ip->rtt_value; + rtt2_dq_write = g_ip->rtt_value; + */ + switch(connection) + { + case(0): + rtt1_dq_write = rtt1_wr_bob_dimm_ddr3[num_loads-1][frequnecy_index(io_type)]; + rtt2_dq_write = rtt2_wr_bob_dimm_ddr3[num_loads-1][frequnecy_index(io_type)]; + rtt1_dq_read = rtt1_rd_bob_dimm_ddr3[num_loads-1][frequnecy_index(io_type)]; + rtt2_dq_read = rtt2_rd_bob_dimm_ddr3[num_loads-1][frequnecy_index(io_type)]; + break; + case(1): + rtt1_dq_write = rtt1_wr_host_dimm_ddr3[num_loads-1][frequnecy_index(io_type)]; + rtt2_dq_write = rtt2_wr_host_dimm_ddr3[num_loads-1][frequnecy_index(io_type)]; + rtt1_dq_read = rtt1_rd_host_dimm_ddr3[num_loads-1][frequnecy_index(io_type)]; + rtt2_dq_read = rtt2_rd_host_dimm_ddr3[num_loads-1][frequnecy_index(io_type)]; + break; + case(2): + rtt1_dq_write = rtt1_wr_lrdimm_ddr3[num_loads-1][frequnecy_index(io_type)]; + rtt2_dq_write = rtt2_wr_lrdimm_ddr3[num_loads-1][frequnecy_index(io_type)]; + rtt1_dq_read = rtt1_rd_lrdimm_ddr3[num_loads-1][frequnecy_index(io_type)]; + rtt2_dq_read = rtt2_rd_lrdimm_ddr3[num_loads-1][frequnecy_index(io_type)]; + break; + default: + break; + } + + + rtt_ca = 50; + rs1_dq = 15; + rs2_dq = 15; + r_stub_ca = 0; + r_on = g_ip->ron_value; + r_on_ca = 50; + z0 = 50; + t_flight = g_ip->tflight_value; + t_flight_ca = 2; + + // Voltage noise coeffecients + + k_noise_write = 0.2; + k_noise_read = 0.2; + k_noise_addr = 0.2; + v_noise_independent_write = 0.1; + v_noise_independent_read = 0.1; + v_noise_independent_addr = 0.1; + + //SENSITIVITY INPUTS FOR TIMING AND VOLTAGE NOISE + + /* This is a user-defined section that depends on the channel sensitivity + * to IO and DRAM parameters. The t_jitter_* and k_noise_* are the + * parameters that are impacted based on the channel analysis. The user + * can define any relationship between the termination, loading and + * configuration parameters AND the t_jitter/k_noise parameters. E.g. a + * linear relationship, a non-linear analytical relationship or a lookup + * table. The sensitivity coefficients are based on channel analysis + * performed on the channel of interest.Given below is an example of such + * a sensitivity relationship. + * Such a linear fit can be found efficiently using an orthogonal design + * of experiments method shown in the technical report (), in Chapter 2.2. */ + + k_noise_write_sen = k_noise_write * (1 + 0.1*(rtt1_dq_write/60 - 1) + + 0.2*(rtt2_dq_write/60 - 1) + 0.2*(r_on/34 - 1) + + 0.2*(num_mem_dq/2 - 1)); + + k_noise_read_sen = k_noise_read * (1 + 0.1*(rtt1_dq_read/60 - 1) + + 0.2*(rtt2_dq_read/60 - 1) + 0.2*(r_on/34 - 1) + + 0.2*(num_mem_dq/2 - 1)); + + k_noise_addr_sen = k_noise_addr * (1 + 0.1*(rtt_ca/50 - 1) + + 0.2*(r_on/34 - 1) + 0.2*(num_mem_ca/16 - 1)); + + + t_jitter_setup_sen = t_jitter_setup * (1 + 0.2*(rtt1_dq_write/60 - 1) + + 0.3*(rtt2_dq_write/60 - 1) + 0.1*(r_on/34 - 1) + + 0.3*(num_mem_dq/2 - 1)); + + t_jitter_hold_sen = t_jitter_hold * (1 + 0.2*(rtt1_dq_write/60 - 1) + + 0.3*(rtt2_dq_write/60 - 1) + + 0.1*(r_on/34 - 1) + 0.3*(num_mem_dq/2 - 1)); + + t_jitter_addr_setup_sen = t_jitter_addr_setup * (1 + 0.2*(rtt_ca/50 - 1) + + 0.1*(r_on/34 - 1) + 0.4*(num_mem_ca/16 - 1)); + + t_jitter_addr_hold_sen = t_jitter_addr_hold * (1 + 0.2*(rtt_ca/50 - 1) + + 0.1*(r_on/34 - 1) + 0.4*(num_mem_ca/16 - 1)); + + // PHY Static Power Coefficients (mW) + phy_datapath_s = 0; + phy_phase_rotator_s = 10; + phy_clock_tree_s = 0; + phy_rx_s = 10; + phy_dcc_s = 0; + phy_deskew_s = 0; + phy_leveling_s = 0; + phy_pll_s = 10; + + // PHY Dynamic Power Coefficients (mW/Gbps) + phy_datapath_d = 0.5; + phy_phase_rotator_d = 0.01; + phy_clock_tree_d = 0.5; + phy_rx_d = 0.5; + phy_dcc_d = 0.05; + phy_deskew_d = 0.1; + phy_leveling_d = 0.05; + phy_pll_d = 0.05; + + //PHY Wakeup Times (Sleep to Active) (microseconds) + + phy_pll_wtime = 10; + phy_phase_rotator_wtime = 5; + phy_rx_wtime = 2; + phy_bandgap_wtime = 10; + phy_deskew_wtime = 0.003; + phy_vrefgen_wtime = 0.5; + + + } + else if (io_type == DDR4) + { //Default parameters for DDR4 + // IO Supply voltage (V) + vdd_io = 1.2; + v_sw_clk = 0.6; + + // Loading parameters + c_int = 1.5; + c_tx = 2; + c_data = 1; + c_addr = 0.75; + i_bias = 15; + i_leak = 1000; + + // IO Area coefficients + ioarea_c = 0.01; + ioarea_k0 = 0.35; + ioarea_k1 = 0.00008; + ioarea_k2 = 0.000000035; + ioarea_k3 = 0.000000000010; + + // Timing parameters (ps) + t_ds = 30; + t_is = 60; + t_dh = 30; + t_ih = 60; + t_dcd_soc = 20; + t_dcd_dram = 20; + t_error_soc = 15; + t_skew_setup = 15; + t_skew_hold = 15; + t_dqsq = 50; + t_soc_setup = 20; + t_soc_hold = 10; + t_jitter_setup = 30; + t_jitter_hold = 30; + t_jitter_addr_setup = 60; + t_jitter_addr_hold = 60; + t_cor_margin = 10; + + + //External IO Configuration Parameters + + r_diff_term = 100; + /* + rtt1_dq_read = g_ip->rtt_value; + rtt2_dq_read = g_ip->rtt_value; + rtt1_dq_write = g_ip->rtt_value; + rtt2_dq_write = g_ip->rtt_value; + */ + + switch(connection) + { + case(0): + rtt1_dq_write = rtt1_wr_bob_dimm_ddr4[num_loads-1][frequnecy_index(io_type)]; + rtt2_dq_write = rtt2_wr_bob_dimm_ddr4[num_loads-1][frequnecy_index(io_type)]; + rtt1_dq_read = rtt1_rd_bob_dimm_ddr4[num_loads-1][frequnecy_index(io_type)]; + rtt2_dq_read = rtt2_rd_bob_dimm_ddr4[num_loads-1][frequnecy_index(io_type)]; + break; + case(1): + rtt1_dq_write = rtt1_wr_host_dimm_ddr4[num_loads-1][frequnecy_index(io_type)]; + rtt2_dq_write = rtt2_wr_host_dimm_ddr4[num_loads-1][frequnecy_index(io_type)]; + rtt1_dq_read = rtt1_rd_host_dimm_ddr4[num_loads-1][frequnecy_index(io_type)]; + rtt2_dq_read = rtt2_rd_host_dimm_ddr4[num_loads-1][frequnecy_index(io_type)]; + break; + case(2): + rtt1_dq_write = rtt1_wr_lrdimm_ddr4[num_loads-1][frequnecy_index(io_type)]; + rtt2_dq_write = rtt2_wr_lrdimm_ddr4[num_loads-1][frequnecy_index(io_type)]; + rtt1_dq_read = rtt1_rd_lrdimm_ddr4[num_loads-1][frequnecy_index(io_type)]; + rtt2_dq_read = rtt2_rd_lrdimm_ddr4[num_loads-1][frequnecy_index(io_type)]; + break; + default: + break; + } + + rtt_ca = 50; + rs1_dq = 15; + rs2_dq = 15; + r_stub_ca = 0; + r_on = g_ip->ron_value; + r_on_ca = 50; + z0 = 50; + t_flight = g_ip->tflight_value; + t_flight_ca = 2; + + // Voltage noise coeffecients + + k_noise_write = 0.2; + k_noise_read = 0.2; + k_noise_addr = 0.2; + v_noise_independent_write = 0.1; + v_noise_independent_read = 0.1; + v_noise_independent_addr = 0.1; + + //SENSITIVITY INPUTS FOR TIMING AND VOLTAGE NOISE + + /* This is a user-defined section that depends on the channel sensitivity + * to IO and DRAM parameters. The t_jitter_* and k_noise_* are the + * parameters that are impacted based on the channel analysis. The user + * can define any relationship between the termination, loading and + * configuration parameters AND the t_jitter/k_noise parameters. E.g. a + * linear relationship, a non-linear analytical relationship or a lookup + * table. The sensitivity coefficients are based on channel analysis + * performed on the channel of interest.Given below is an example of such + * a sensitivity relationship. + * Such a linear fit can be found efficiently using an orthogonal design + * of experiments method shown in the technical report (), in Chapter 2.2. */ + + k_noise_write_sen = k_noise_write * (1 + 0.1*(rtt1_dq_write/60 - 1) + + 0.2*(rtt2_dq_write/60 - 1) + 0.2*(r_on/34 - 1) + + 0.2*(num_mem_dq/2 - 1)); + + k_noise_read_sen = k_noise_read * (1 + 0.1*(rtt1_dq_read/60 - 1) + + 0.2*(rtt2_dq_read/60 - 1) + 0.2*(r_on/34 - 1) + + 0.2*(num_mem_dq/2 - 1)); + + k_noise_addr_sen = k_noise_addr * (1 + 0.1*(rtt_ca/50 - 1) + + 0.2*(r_on/34 - 1) + 0.2*(num_mem_ca/16 - 1)); + + + t_jitter_setup_sen = t_jitter_setup * (1 + 0.2*(rtt1_dq_write/60 - 1) + + 0.3*(rtt2_dq_write/60 - 1) + 0.1*(r_on/34 - 1) + + 0.3*(num_mem_dq/2 - 1)); + + t_jitter_hold_sen = t_jitter_hold * (1 + 0.2*(rtt1_dq_write/60 - 1) + + 0.3*(rtt2_dq_write/60 - 1) + + 0.1*(r_on/34 - 1) + 0.3*(num_mem_dq/2 - 1)); + + t_jitter_addr_setup_sen = t_jitter_addr_setup * (1 + 0.2*(rtt_ca/50 - 1) + + 0.1*(r_on/34 - 1) + 0.4*(num_mem_ca/16 - 1)); + + t_jitter_addr_hold_sen = t_jitter_addr_hold * (1 + 0.2*(rtt_ca/50 - 1) + + 0.1*(r_on/34 - 1) + 0.4*(num_mem_ca/16 - 1)); + + // PHY Static Power Coefficients (mW) + phy_datapath_s = 0; + phy_phase_rotator_s = 10; + phy_clock_tree_s = 0; + phy_rx_s = 10; + phy_dcc_s = 0; + phy_deskew_s = 0; + phy_leveling_s = 0; + phy_pll_s = 10; + + // PHY Dynamic Power Coefficients (mW/Gbps) + phy_datapath_d = 0.5; + phy_phase_rotator_d = 0.01; + phy_clock_tree_d = 0.5; + phy_rx_d = 0.5; + phy_dcc_d = 0.05; + phy_deskew_d = 0.1; + phy_leveling_d = 0.05; + phy_pll_d = 0.05; + + //PHY Wakeup Times (Sleep to Active) (microseconds) + + phy_pll_wtime = 10; + phy_phase_rotator_wtime = 5; + phy_rx_wtime = 2; + phy_bandgap_wtime = 10; + phy_deskew_wtime = 0.003; + phy_vrefgen_wtime = 0.5; + + + } + else if (io_type == Serial) + { //Default parameters for Serial + // IO Supply voltage (V) + vdd_io = 1.2; + v_sw_clk = 0.75; + + // IO Area coefficients + ioarea_c = 0.01; + ioarea_k0 = 0.15; + ioarea_k1 = 0.00005; + ioarea_k2 = 0.000000025; + ioarea_k3 = 0.000000000005; + + // Timing parameters (ps) + t_ds = 15; + t_dh = 15; + t_dcd_soc = 10; + t_dcd_dram = 10; + t_soc_setup = 10; + t_soc_hold = 10; + t_jitter_setup = 20; + t_jitter_hold = 20; + + //External IO Configuration Parameters + + r_diff_term = 100; + + + t_jitter_setup_sen = t_jitter_setup; + + t_jitter_hold_sen = t_jitter_hold; + + t_jitter_addr_setup_sen = t_jitter_addr_setup; + + t_jitter_addr_hold_sen = t_jitter_addr_hold; + + // PHY Static Power Coefficients (mW) + phy_datapath_s = 0; + phy_phase_rotator_s = 10; + phy_clock_tree_s = 0; + phy_rx_s = 10; + phy_dcc_s = 0; + phy_deskew_s = 0; + phy_leveling_s = 0; + phy_pll_s = 10; + + // PHY Dynamic Power Coefficients (mW/Gbps) + phy_datapath_d = 0.5; + phy_phase_rotator_d = 0.01; + phy_clock_tree_d = 0.5; + phy_rx_d = 0.5; + phy_dcc_d = 0.05; + phy_deskew_d = 0.1; + phy_leveling_d = 0.05; + phy_pll_d = 0.05; + + //PHY Wakeup Times (Sleep to Active) (microseconds) + + phy_pll_wtime = 10; + phy_phase_rotator_wtime = 5; + phy_rx_wtime = 2; + phy_bandgap_wtime = 10; + phy_deskew_wtime = 0.003; + phy_vrefgen_wtime = 0.5; + + + } + else + { + cout << "Not Yet supported" << endl; + exit(1); + } + + + //SWING AND TERMINATION CALCULATIONS + + //R|| calculation + rpar_write =(rtt1_dq_write + rs1_dq)*(rtt2_dq_write + rs2_dq)/ + (rtt1_dq_write + rs1_dq + rtt2_dq_write + rs2_dq); + rpar_read =(rtt1_dq_read)*(rtt2_dq_read + rs2_dq)/ + (rtt1_dq_read + rtt2_dq_read + rs2_dq); + + + + //Swing calculation + v_sw_data_read_load1 =vdd_io * (rtt1_dq_read)*(rtt2_dq_read + rs2_dq) / + ((rtt1_dq_read + rtt2_dq_read + rs2_dq)*(r_on + rs1_dq + rpar_read)); + v_sw_data_read_load2 =vdd_io * (rtt1_dq_read)*(rtt2_dq_read) / + ((rtt1_dq_read + rtt2_dq_read + rs2_dq)*(r_on + rs1_dq + rpar_read)); + v_sw_data_read_line =vdd_io * rpar_read / (r_on + rs1_dq + rpar_read); + v_sw_addr =vdd_io * rtt_ca / (50 + rtt_ca); + v_sw_data_write_load1 =vdd_io * (rtt1_dq_write)*(rtt2_dq_write + rs2_dq) / + ((rtt1_dq_write + rs1_dq + rtt2_dq_write + rs2_dq)*(r_on + rpar_write)); + v_sw_data_write_load2 =vdd_io * (rtt2_dq_write)*(rtt1_dq_write + rs1_dq) / + ((rtt1_dq_write + rs1_dq + rtt2_dq_write + rs2_dq)*(r_on + rpar_write)); + v_sw_data_write_line =vdd_io * rpar_write / (r_on + rpar_write); + +} + + + +IOTechParam::~IOTechParam() +{} diff --git a/T1/TP1/cacti-master/extio_technology.h b/T1/TP1/cacti-master/extio_technology.h new file mode 100644 index 0000000..2f3d308 --- /dev/null +++ b/T1/TP1/cacti-master/extio_technology.h @@ -0,0 +1,225 @@ +#ifndef __EXTIO_TECH__ +#define __EXTIO_TECH__ + +#include +#include "parameter.h" +#include "const.h" + +#define NUM_DIMM 1 + + +extern const double rtt1_wr_lrdimm_ddr3[8][4]; +extern const double rtt2_wr_lrdimm_ddr3[8][4]; +extern const double rtt1_rd_lrdimm_ddr3[8][4]; +extern const double rtt2_rd_lrdimm_ddr3[8][4]; + +extern const double rtt1_wr_host_dimm_ddr3[3][4]; +extern const double rtt2_wr_host_dimm_ddr3[3][4]; +extern const double rtt1_rd_host_dimm_ddr3[3][4]; +extern const double rtt2_rd_host_dimm_ddr3[3][4]; + +extern const double rtt1_wr_bob_dimm_ddr3[3][4]; +extern const double rtt2_wr_bob_dimm_ddr3[3][4]; +extern const double rtt1_rd_bob_dimm_ddr3[3][4]; +extern const double rtt2_rd_bob_dimm_ddr3[3][4]; + + +extern const double rtt1_wr_lrdimm_ddr4[8][4]; +extern const double rtt2_wr_lrdimm_ddr4[8][4]; +extern const double rtt1_rd_lrdimm_ddr4[8][4]; +extern const double rtt2_rd_lrdimm_ddr4[8][4]; + +extern const double rtt1_wr_host_dimm_ddr4[3][4]; +extern const double rtt2_wr_host_dimm_ddr4[3][4]; +extern const double rtt1_rd_host_dimm_ddr4[3][4]; +extern const double rtt2_rd_host_dimm_ddr4[3][4]; + +extern const double rtt1_wr_bob_dimm_ddr4[3][4]; +extern const double rtt2_wr_bob_dimm_ddr4[3][4]; +extern const double rtt1_rd_bob_dimm_ddr4[3][4]; +extern const double rtt2_rd_bob_dimm_ddr4[3][4]; + +class IOTechParam +{ + public: + IOTechParam(InputParameter *); + // connection : 0(bob-dimm), 1(host-dimm), 2(on-dimm) + IOTechParam(InputParameter *, Mem_IO_type io_type, int num_mem_dq, int mem_data_width, int num_dq, int connection, int num_loads, double freq) ; + ~IOTechParam(); + double num_mem_ca; /* Number of loads on the address bus + based on total number of memories in the channel.For + registered or buffered configurations, the num_mem_dq and num_mem_ca is per buffer. */ + + double num_mem_clk; /* Number of loads on the clock as total + memories in the channel / number of clock lines available */ + + //Technology Parameters + // IO Supply voltage (V) + double vdd_io; /* Voltage swing on CLK/CLKB (V) (swing on the CLK pin if it + is differentially terminated) */ + double v_sw_clk; + + // Loading parameters + + double c_int; /*Internal IO loading (pF) (loading within the IO, due to + predriver nets) */ + double c_tx; /* IO TX self-load including package (pF) (loading at the + CPU TX pin) */ + double c_data; /* Device loading per memory data pin (pF) (DRAM device + load for DQ per die) */ + double c_addr; /* Device loading per memory address pin (pF) (DRAM + device load for CA per die) */ + double i_bias; /* Bias current (mA) (includes bias current for the whole memory + bus due to RX Vref based receivers */ + double i_leak; // Active leakage current per pin (nA) + + + + // IO Area coefficients + + double ioarea_c; /* sq.mm. (IO Area baseline coeeficient for control + circuitry and overhead) */ + double ioarea_k0; /* sq.mm * ohms (IO Area coefficient for the driver, for + unit drive strength or output impedance) */ + double ioarea_k1; /* sq.mm * ohms / MHz (IO Area coefficient for the + predriver final stage, based on fanout needed) */ + double ioarea_k2; /* sq.mm * ohms / MHz^2 (IO Area coefficient for + predriver middle stage, based on fanout needed) */ + double ioarea_k3; /* sq.mm * ohms / MHz^3 (IO Area coefficient for + predriver first stage, based on fanout needed) */ + + + // Timing parameters (ps) + + double t_ds; //DQ setup time at DRAM + double t_is; //CA setup time at DRAM + double t_dh; //DQ hold time at DRAM + double t_ih; //CA hold time at DRAM + double t_dcd_soc; //Duty-cycle distortion at the CPU/SOC + double t_dcd_dram; //Duty-cycle distortion at the DRAM + double t_error_soc; //Timing error due to edge placement uncertainty of the DLL + double t_skew_setup;//Setup skew between DQ/DQS or CA/CLK after deskewing the lines + double t_skew_hold; //Hold skew between DQ/DQS or CA/CLK after deskewing the lines + double t_dqsq; //DQ-DQS skew at the DRAM output during Read + //double t_qhs; //DQ-DQS hold factor at the DRAM output during Read FIXME: I am commenting it as the variable is never used. + double t_soc_setup; //Setup time at SOC input dueing Read + double t_soc_hold; //Hold time at SOC input during Read + double t_jitter_setup; /* Half-cycle jitter on the DQS at DRAM input + affecting setup time */ + double t_jitter_hold; /* Half-cycle jitter on the DQS at the DRAM input + affecting hold time */ + double t_jitter_addr_setup; /* Half-cycle jitter on the CLK at DRAM input + affecting setup time */ + double t_jitter_addr_hold; /* Half-cycle jitter on the CLK at the DRAM + input affecting hold time */ + double t_cor_margin; // Statistical correlation margin + + + //Termination Parameters + + double r_diff_term; /* Differential termination resister if + used for CLK (Ohm) */ + + + // ODT related termination resistor values (Ohm) + + double rtt1_dq_read; //DQ Read termination at CPU + double rtt2_dq_read; //DQ Read termination at inactive DRAM + double rtt1_dq_write; //DQ Write termination at active DRAM + double rtt2_dq_write; //DQ Write termination at inactive DRAM + double rtt_ca; //CA fly-by termination + double rs1_dq; //Series resistor at active DRAM + double rs2_dq; //Series resistor at inactive DRAM + double r_stub_ca; //Series resistor for the fly-by channel + double r_on; //Driver impedance + double r_on_ca; //CA driver impedance + + double z0; //Line impedance (ohms): Characteristic impedance of the route. + double t_flight; /* Flight time of the interconnect (ns) (approximately + 180ps/inch for FR4) */ + double t_flight_ca; /* Flight time of the Control/Address (CA) + interconnect (ns) (approximately 180ps/inch for FR4) */ + + // Voltage noise coeffecients + + double k_noise_write; //Proportional noise coefficient for Write mode + double k_noise_read; //Proportional noise coefficient for Read mode + double k_noise_addr; //Proportional noise coefficient for Address bus + double v_noise_independent_write; //Independent noise voltage for Write mode + double v_noise_independent_read; //Independent noise voltage for Read mode + double v_noise_independent_addr; //Independent noise voltage for Address bus + + + //SENSITIVITY INPUTS FOR TIMING AND VOLTAGE NOISE + + /* This is a user-defined section that depends on the channel sensitivity + * to IO and DRAM parameters. The t_jitter_* and k_noise_* are the + * parameters that are impacted based on the channel analysis. The user + * can define any relationship between the termination, loading and + * configuration parameters AND the t_jitter/k_noise parameters. */ + + double k_noise_write_sen; + double k_noise_read_sen; + double k_noise_addr_sen; + double t_jitter_setup_sen; + double t_jitter_hold_sen; + double t_jitter_addr_setup_sen; + double t_jitter_addr_hold_sen; + + //SWING AND TERMINATION CALCULATIONS + //R|| calculation + + double rpar_write; + double rpar_read; + + //Swing calculation + + double v_sw_data_read_load1; //Swing for DQ at dram1 during READ + double v_sw_data_read_load2; //Swing for DQ at dram2 during READ + double v_sw_data_read_line; //Swing for DQ on the line during READ + double v_sw_addr; //Swing for the address bus + double v_sw_data_write_load1; //Swing for DQ at dram1 during WRITE + double v_sw_data_write_load2; //Swing for DQ at dram2 during WRITE + double v_sw_data_write_line; //Swing for DQ on the line during WRITE + + // PHY Static Power Coefficients (mW) + + double phy_datapath_s; // Datapath Static Power + double phy_phase_rotator_s; // Phase Rotator Static Power + double phy_clock_tree_s; // Clock Tree Static Power + double phy_rx_s; // Receiver Static Power + double phy_dcc_s; // Duty Cycle Correction Static Power + double phy_deskew_s; // Deskewing Static Power + double phy_leveling_s; // Write and Read Leveling Static Power + double phy_pll_s; // PHY PLL Static Power + + + // PHY Dynamic Power Coefficients (mW/Gbps) + + double phy_datapath_d; // Datapath Dynamic Power + double phy_phase_rotator_d; // Phase Rotator Dynamic Power + double phy_clock_tree_d; // Clock Tree Dynamic Power + double phy_rx_d; // Receiver Dynamic Power + double phy_dcc_d; // Duty Cycle Correction Dynamic Power + double phy_deskew_d; // Deskewing Dynamic Power + double phy_leveling_d; // Write and Read Leveling Dynamic Power + double phy_pll_d; // PHY PLL Dynamic Power + + + //PHY Wakeup Times (Sleep to Active) (microseconds) + + double phy_pll_wtime; // PHY PLL Wakeup Time + double phy_phase_rotator_wtime; // Phase Rotator Wakeup Time + double phy_rx_wtime; // Receiver Wakeup Time + double phy_bandgap_wtime; // Bandgap Wakeup Time + double phy_deskew_wtime; // Deskewing Wakeup Time + double phy_vrefgen_wtime; // VREF Generator Wakeup Time + + + // RTT values depends on the number of loads, frequency, and link_type + double frequency; + Mem_IO_type io_type; + int frequnecy_index(Mem_IO_type type); +}; + +#endif diff --git a/T1/TP1/cacti-master/htree2.cc b/T1/TP1/cacti-master/htree2.cc new file mode 100644 index 0000000..3077820 --- /dev/null +++ b/T1/TP1/cacti-master/htree2.cc @@ -0,0 +1,640 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#include "htree2.h" +#include "wire.h" +#include +#include + +Htree2::Htree2( + enum Wire_type wire_model, double mat_w, double mat_h, + int a_bits, int d_inbits, int search_data_in, int d_outbits, int search_data_out, int bl, int wl, enum Htree_type htree_type, + bool uca_tree_, bool search_tree_, /*TechnologyParameter::*/DeviceType *dt) + :in_rise_time(0), out_rise_time(0), + tree_type(htree_type), mat_width(mat_w), mat_height(mat_h), + add_bits(a_bits), data_in_bits(d_inbits), search_data_in_bits(search_data_in),data_out_bits(d_outbits), + search_data_out_bits(search_data_out), ndbl(bl), ndwl(wl), + uca_tree(uca_tree_), search_tree(search_tree_), wt(wire_model), deviceType(dt) +{ + assert(ndbl >= 2 && ndwl >= 2); + +// if (ndbl == 1 && ndwl == 1) +// { +// delay = 0; +// power.readOp.dynamic = 0; +// power.readOp.leakage = 0; +// area.w = mat_w; +// area.h = mat_h; +// return; +// } +// if (ndwl == 1) ndwl++; +// if (ndbl == 1) ndbl++; + + max_unpipelined_link_delay = 0; //TODO + min_w_nmos = g_tp.min_w_nmos_; + min_w_pmos = deviceType->n_to_p_eff_curr_drv_ratio * min_w_nmos; + + switch (htree_type) + { + case Add_htree: + wire_bw = init_wire_bw = add_bits; + in_htree(); + break; + case Data_in_htree: + wire_bw = init_wire_bw = data_in_bits; + in_htree(); + break; + case Data_out_htree: + wire_bw = init_wire_bw = data_out_bits; + out_htree(); + break; + case Search_in_htree: + wire_bw = init_wire_bw = search_data_in_bits;//in_search_tree is broad cast, out_htree is not. + in_htree(); + break; + case Search_out_htree: + wire_bw = init_wire_bw = search_data_out_bits; + out_htree(); + break; + default: + assert(0); + break; + } + + power_bit = power; + power.readOp.dynamic *= init_wire_bw; + + assert(power.readOp.dynamic >= 0); + assert(power.readOp.leakage >= 0); +} + + + +// nand gate sizing calculation +void Htree2::input_nand(double s1, double s2, double l_eff) +{ + Wire w1(wt, l_eff); + double pton_size = deviceType->n_to_p_eff_curr_drv_ratio; + // input capacitance of a repeater = input capacitance of nand. + double nsize = s1*(1 + pton_size)/(2 + pton_size); + nsize = (nsize < 1) ? 1 : nsize; + + double tc = 2*tr_R_on(nsize*min_w_nmos, NCH, 1) * + (drain_C_(nsize*min_w_nmos, NCH, 1, 1, g_tp.cell_h_def)*2 + + 2 * gate_C(s2*(min_w_nmos + min_w_pmos), 0)); + delay+= horowitz (w1.out_rise_time, tc, + deviceType->Vth/deviceType->Vdd, deviceType->Vth/deviceType->Vdd, RISE); + power.readOp.dynamic += 0.5 * + (2*drain_C_(pton_size * nsize*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + drain_C_(nsize*min_w_nmos, NCH, 1, 1, g_tp.cell_h_def) + + 2*gate_C(s2*(min_w_nmos + min_w_pmos), 0)) * + deviceType->Vdd * deviceType->Vdd; + + power.searchOp.dynamic += 0.5 * + (2*drain_C_(pton_size * nsize*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + drain_C_(nsize*min_w_nmos, NCH, 1, 1, g_tp.cell_h_def) + + 2*gate_C(s2*(min_w_nmos + min_w_pmos), 0)) * + deviceType->Vdd * deviceType->Vdd * wire_bw ; + power.readOp.leakage += (wire_bw*cmos_Isub_leakage(min_w_nmos*(nsize*2), min_w_pmos * nsize * 2, 2, nand))*deviceType->Vdd; + power.readOp.gate_leakage += (wire_bw*cmos_Ig_leakage(min_w_nmos*(nsize*2), min_w_pmos * nsize * 2, 2, nand))*deviceType->Vdd; +} + + + +// tristate buffer model consisting of not, nand, nor, and driver transistors +void Htree2::output_buffer(double s1, double s2, double l_eff) +{ + Wire w1(wt, l_eff); + double pton_size = deviceType->n_to_p_eff_curr_drv_ratio; + // input capacitance of repeater = input capacitance of nand + nor. + double size = s1*(1 + pton_size)/(2 + pton_size + 1 + 2*pton_size); + double s_eff = //stage eff of a repeater in a wire + (gate_C(s2*(min_w_nmos + min_w_pmos), 0) + w1.wire_cap(l_eff*1e-6,true))/ + gate_C(s2*(min_w_nmos + min_w_pmos), 0); + double tr_size = gate_C(s1*(min_w_nmos + min_w_pmos), 0) * 1/2/(s_eff*gate_C(min_w_pmos, 0)); + size = (size < 1) ? 1 : size; + + double res_nor = 2*tr_R_on(size*min_w_pmos, PCH, 1); + double res_ptrans = tr_R_on(tr_size*min_w_nmos, NCH, 1); + double cap_nand_out = drain_C_(size*min_w_nmos, NCH, 1, 1, g_tp.cell_h_def) + + drain_C_(size*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def)*2 + + gate_C(tr_size*min_w_pmos, 0); + double cap_ptrans_out = 2 *(drain_C_(tr_size*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + drain_C_(tr_size*min_w_nmos, NCH, 1, 1, g_tp.cell_h_def)) + + gate_C(s1*(min_w_nmos + min_w_pmos), 0); + + double tc = res_nor * cap_nand_out + (res_nor + res_ptrans) * cap_ptrans_out; + + + delay += horowitz (w1.out_rise_time, tc, + deviceType->Vth/deviceType->Vdd, deviceType->Vth/deviceType->Vdd, RISE); + + //nand + power.readOp.dynamic += 0.5 * + (2*drain_C_(size*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + drain_C_(size*min_w_nmos, NCH, 1, 1, g_tp.cell_h_def) + + gate_C(tr_size*(min_w_pmos), 0)) * + deviceType->Vdd * deviceType->Vdd; + + power.searchOp.dynamic += 0.5 * + (2*drain_C_(size*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + drain_C_(size*min_w_nmos, NCH, 1, 1, g_tp.cell_h_def) + + gate_C(tr_size*(min_w_pmos), 0)) * + deviceType->Vdd * deviceType->Vdd*init_wire_bw; + + //not + power.readOp.dynamic += 0.5 * + (drain_C_(size*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + +drain_C_(size*min_w_nmos, NCH, 1, 1, g_tp.cell_h_def) + +gate_C(size*(min_w_nmos + min_w_pmos), 0)) * + deviceType->Vdd * deviceType->Vdd; + + power.searchOp.dynamic += 0.5 * + (drain_C_(size*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + +drain_C_(size*min_w_nmos, NCH, 1, 1, g_tp.cell_h_def) + +gate_C(size*(min_w_nmos + min_w_pmos), 0)) * + deviceType->Vdd * deviceType->Vdd*init_wire_bw; + + //nor + power.readOp.dynamic += 0.5 * + (drain_C_(size*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + 2*drain_C_(size*min_w_nmos, NCH, 1, 1, g_tp.cell_h_def) + +gate_C(tr_size*(min_w_nmos + min_w_pmos), 0)) * + deviceType->Vdd * deviceType->Vdd; + + power.searchOp.dynamic += 0.5 * + (drain_C_(size*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + 2*drain_C_(size*min_w_nmos, NCH, 1, 1, g_tp.cell_h_def) + +gate_C(tr_size*(min_w_nmos + min_w_pmos), 0)) * + deviceType->Vdd * deviceType->Vdd*init_wire_bw; + + //output transistor + power.readOp.dynamic += 0.5 * + ((drain_C_(tr_size*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + +drain_C_(tr_size*min_w_nmos, NCH, 1, 1, g_tp.cell_h_def))*2 + + gate_C(s1*(min_w_nmos + min_w_pmos), 0)) * + deviceType->Vdd * deviceType->Vdd; + + power.searchOp.dynamic += 0.5 * + ((drain_C_(tr_size*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + +drain_C_(tr_size*min_w_nmos, NCH, 1, 1, g_tp.cell_h_def))*2 + + gate_C(s1*(min_w_nmos + min_w_pmos), 0)) * + deviceType->Vdd * deviceType->Vdd*init_wire_bw; + + if(uca_tree) { + power.readOp.leakage += cmos_Isub_leakage(min_w_nmos*tr_size*2, min_w_pmos*tr_size*2, 1, inv)*deviceType->Vdd*wire_bw;/*inverter + output tr*/ + power.readOp.leakage += cmos_Isub_leakage(min_w_nmos*size*3, min_w_pmos*size*3, 2, nand)*deviceType->Vdd*wire_bw;//nand + power.readOp.leakage += cmos_Isub_leakage(min_w_nmos*size*3, min_w_pmos*size*3, 2, nor)*deviceType->Vdd*wire_bw;//nor + + power.readOp.gate_leakage += cmos_Ig_leakage(min_w_nmos*tr_size*2, min_w_pmos*tr_size*2, 1, inv)*deviceType->Vdd*wire_bw;/*inverter + output tr*/ + power.readOp.gate_leakage += cmos_Ig_leakage(min_w_nmos*size*3, min_w_pmos*size*3, 2, nand)*deviceType->Vdd*wire_bw;//nand + power.readOp.gate_leakage += cmos_Ig_leakage(min_w_nmos*size*3, min_w_pmos*size*3, 2, nor)*deviceType->Vdd*wire_bw;//nor + //power.readOp.gate_leakage *=; + } + else { + power.readOp.leakage += cmos_Isub_leakage(min_w_nmos*tr_size*2, min_w_pmos*tr_size*2, 1, inv)*deviceType->Vdd*wire_bw;/*inverter + output tr*/ + power.readOp.leakage += cmos_Isub_leakage(min_w_nmos*size*3, min_w_pmos*size*3, 2, nand)*deviceType->Vdd*wire_bw;//nand + power.readOp.leakage += cmos_Isub_leakage(min_w_nmos*size*3, min_w_pmos*size*3, 2, nor)*deviceType->Vdd*wire_bw;//nor + + power.readOp.gate_leakage += cmos_Ig_leakage(min_w_nmos*tr_size*2, min_w_pmos*tr_size*2, 1, inv)*deviceType->Vdd*wire_bw;/*inverter + output tr*/ + power.readOp.gate_leakage += cmos_Ig_leakage(min_w_nmos*size*3, min_w_pmos*size*3, 2, nand)*deviceType->Vdd*wire_bw;//nand + power.readOp.gate_leakage += cmos_Ig_leakage(min_w_nmos*size*3, min_w_pmos*size*3, 2, nor)*deviceType->Vdd*wire_bw;//nor + //power.readOp.gate_leakage *=deviceType->Vdd*wire_bw; + } +} + + + +/* calculates the input h-tree delay/power + * A nand gate is used at each node to + * limit the signal + * The area of an unbalanced htree (rows != columns) + * depends on how data is traversed. + * In the following function, if ( no. of rows < no. of columns), + * then data first traverse in excess hor. links until vertical + * and horizontal nodes are same. + * If no. of rows is bigger, then data traverse in + * a hor. link followed by a ver. link in a repeated + * fashion (similar to a balanced tree) until there are no + * hor. links left. After this it goes through the remaining vertical + * links. + */ + void +Htree2::in_htree() +{ + //temp var + double s1 = 0, s2 = 0, s3 = 0; + double l_eff = 0; + Wire *wtemp1 = 0, *wtemp2 = 0, *wtemp3 = 0; + double len = 0, ht = 0; + int option = 0; + + int h = (int) _log2(ndwl/2); // horizontal nodes + int v = (int) _log2(ndbl/2); // vertical nodes + double len_temp; + double ht_temp; + if (uca_tree) + {//: this computation do not consider the wires that route from edge to middle. + ht_temp = (mat_height*ndbl/2 +/* since uca_tree models interbank tree, mat_height => bank height */ + ((add_bits + data_in_bits + data_out_bits + (search_data_in_bits + search_data_out_bits)) * g_tp.wire_outside_mat.pitch * + 2 * (1-pow(0.5,h))))/2; + len_temp = (mat_width*ndwl/2 + + ((add_bits + data_in_bits + data_out_bits + (search_data_in_bits + search_data_out_bits)) * g_tp.wire_outside_mat.pitch * + 2 * (1-pow(0.5,v))))/2; + } + else + { + if (ndwl == ndbl) { + ht_temp = ((mat_height*ndbl/2) + + ((add_bits + (search_data_in_bits + search_data_out_bits))* (ndbl/2-1) * g_tp.wire_outside_mat.pitch) + + ((data_in_bits + data_out_bits) * g_tp.wire_outside_mat.pitch * h) + )/2; + len_temp = (mat_width*ndwl/2 + + ((add_bits + (search_data_in_bits + search_data_out_bits)) * (ndwl/2-1) * g_tp.wire_outside_mat.pitch) + + ((data_in_bits + data_out_bits) * g_tp.wire_outside_mat.pitch * v))/2; + } + else if (ndwl > ndbl) { + double excess_part = (_log2(ndwl/2) - _log2(ndbl/2)); + ht_temp = ((mat_height*ndbl/2) + + ((add_bits + + (search_data_in_bits + search_data_out_bits)) * ((ndbl/2-1) + excess_part) * g_tp.wire_outside_mat.pitch) + + (data_in_bits + data_out_bits) * g_tp.wire_outside_mat.pitch * + (2*(1 - pow(0.5, h-v)) + pow(0.5, v-h) * v))/2; + len_temp = (mat_width*ndwl/2 + + ((add_bits + (search_data_in_bits + search_data_out_bits))* (ndwl/2-1) * g_tp.wire_outside_mat.pitch) + + ((data_in_bits + data_out_bits) * g_tp.wire_outside_mat.pitch * v))/2; + } + else { + double excess_part = (_log2(ndbl/2) - _log2(ndwl/2)); + ht_temp = ((mat_height*ndbl/2) + + ((add_bits + (search_data_in_bits + search_data_out_bits))* ((ndwl/2-1) + excess_part) * g_tp.wire_outside_mat.pitch) + + ((data_in_bits + data_out_bits) * g_tp.wire_outside_mat.pitch * h) + )/2; + len_temp = (mat_width*ndwl/2 + + ((add_bits + (search_data_in_bits + search_data_out_bits)) * ((ndwl/2-1) + excess_part) * g_tp.wire_outside_mat.pitch) + + (data_in_bits + data_out_bits) * g_tp.wire_outside_mat.pitch * (h + 2*(1-pow(0.5, v-h))))/2; + } + } + + area.h = ht_temp * 2; + area.w = len_temp * 2; + delay = 0; + power.readOp.dynamic = 0; + power.readOp.leakage = 0; + power.searchOp.dynamic =0; + len = len_temp; + ht = ht_temp/2; + + while (v > 0 || h > 0) + { + if (wtemp1) delete wtemp1; + if (wtemp2) delete wtemp2; + if (wtemp3) delete wtemp3; + + if (h > v) + { + //the iteration considers only one horizontal link + wtemp1 = new Wire(wt, len); // hor + wtemp2 = new Wire(wt, len/2); // ver + len_temp = len; + len /= 2; + wtemp3 = 0; + h--; + option = 0; + } + else if (v>0 && h>0) + { + //considers one horizontal link and one vertical link + wtemp1 = new Wire(wt, len); // hor + wtemp2 = new Wire(wt, ht); // ver + wtemp3 = new Wire(wt, len/2); // next hor + len_temp = len; + ht_temp = ht; + len /= 2; + ht /= 2; + v--; + h--; + option = 1; + } + else + { + // considers only one vertical link + assert(h == 0); + wtemp1 = new Wire(wt, ht); // ver + wtemp2 = new Wire(wt, ht/2); // hor + ht_temp = ht; + ht /= 2; + wtemp3 = 0; + v--; + option = 2; + } + + delay += wtemp1->delay; + power.readOp.dynamic += wtemp1->power.readOp.dynamic; + power.searchOp.dynamic += wtemp1->power.readOp.dynamic*wire_bw; + power.readOp.leakage += wtemp1->power.readOp.leakage*wire_bw; + power.readOp.gate_leakage += wtemp1->power.readOp.gate_leakage*wire_bw; + if ((uca_tree == false && option == 2) || search_tree==true) + { + wire_bw*=2; // wire bandwidth doubles only for vertical branches + } + + if (uca_tree == false) + { + if (len_temp > wtemp1->repeater_spacing) + { + s1 = wtemp1->repeater_size; + l_eff = wtemp1->repeater_spacing; + } + else + { + s1 = (len_temp/wtemp1->repeater_spacing) * wtemp1->repeater_size; + l_eff = len_temp; + } + + if (ht_temp > wtemp2->repeater_spacing) + { + s2 = wtemp2->repeater_size; + } + else + { + s2 = (len_temp/wtemp2->repeater_spacing) * wtemp2->repeater_size; + } + // first level + input_nand(s1, s2, l_eff); + } + + + if (option != 1) + { + continue; + } + + // second level + delay += wtemp2->delay; + power.readOp.dynamic += wtemp2->power.readOp.dynamic; + power.searchOp.dynamic += wtemp2->power.readOp.dynamic*wire_bw; + power.readOp.leakage += wtemp2->power.readOp.leakage*wire_bw; + power.readOp.gate_leakage += wtemp2->power.readOp.gate_leakage*wire_bw; + + if (uca_tree) + { + power.readOp.leakage += (wtemp2->power.readOp.leakage*wire_bw); + power.readOp.gate_leakage += wtemp2->power.readOp.gate_leakage*wire_bw; + } + else + { + power.readOp.leakage += (wtemp2->power.readOp.leakage*wire_bw); + power.readOp.gate_leakage += wtemp2->power.readOp.gate_leakage*wire_bw; + wire_bw*=2; + + if (ht_temp > wtemp3->repeater_spacing) + { + s3 = wtemp3->repeater_size; + l_eff = wtemp3->repeater_spacing; + } + else + { + s3 = (len_temp/wtemp3->repeater_spacing) * wtemp3->repeater_size; + l_eff = ht_temp; + } + + input_nand(s2, s3, l_eff); + } + } + + if (wtemp1) delete wtemp1; + if (wtemp2) delete wtemp2; + if (wtemp3) delete wtemp3; +} + + + +/* a tristate buffer is used to handle fan-ins + * The area of an unbalanced htree (rows != columns) + * depends on how data is traversed. + * In the following function, if ( no. of rows < no. of columns), + * then data first traverse in excess hor. links until vertical + * and horizontal nodes are same. + * If no. of rows is bigger, then data traverse in + * a hor. link followed by a ver. link in a repeated + * fashion (similar to a balanced tree) until there are no + * hor. links left. After this it goes through the remaining vertical + * links. + */ +void Htree2::out_htree() +{ + //temp var + double s1 = 0, s2 = 0, s3 = 0; + double l_eff = 0; + Wire *wtemp1 = 0, *wtemp2 = 0, *wtemp3 = 0; + double len = 0, ht = 0; + int option = 0; + + int h = (int) _log2(ndwl/2); + int v = (int) _log2(ndbl/2); + double len_temp; + double ht_temp; + if (uca_tree) + { + ht_temp = (mat_height*ndbl/2 +/* since uca_tree models interbank tree, mat_height => bank height */ + ((add_bits + data_in_bits + data_out_bits + (search_data_in_bits + search_data_out_bits)) * g_tp.wire_outside_mat.pitch * + 2 * (1-pow(0.5,h))))/2; + len_temp = (mat_width*ndwl/2 + + ((add_bits + data_in_bits + data_out_bits + (search_data_in_bits + search_data_out_bits)) * g_tp.wire_outside_mat.pitch * + 2 * (1-pow(0.5,v))))/2; + } + else + { + if (ndwl == ndbl) { + ht_temp = ((mat_height*ndbl/2) + + ((add_bits+ (search_data_in_bits + search_data_out_bits)) * (ndbl/2-1) * g_tp.wire_outside_mat.pitch) + + ((data_in_bits + data_out_bits) * g_tp.wire_outside_mat.pitch * h) + )/2; + len_temp = (mat_width*ndwl/2 + + ((add_bits + (search_data_in_bits + search_data_out_bits)) * (ndwl/2-1) * g_tp.wire_outside_mat.pitch) + + ((data_in_bits + data_out_bits) * g_tp.wire_outside_mat.pitch * v))/2; + + } + else if (ndwl > ndbl) { + double excess_part = (_log2(ndwl/2) - _log2(ndbl/2)); + ht_temp = ((mat_height*ndbl/2) + + ((add_bits + (search_data_in_bits + search_data_out_bits)) * ((ndbl/2-1) + excess_part) * g_tp.wire_outside_mat.pitch) + + (data_in_bits + data_out_bits) * g_tp.wire_outside_mat.pitch * + (2*(1 - pow(0.5, h-v)) + pow(0.5, v-h) * v))/2; + len_temp = (mat_width*ndwl/2 + + ((add_bits + (search_data_in_bits + search_data_out_bits))* (ndwl/2-1) * g_tp.wire_outside_mat.pitch) + + ((data_in_bits + data_out_bits) * g_tp.wire_outside_mat.pitch * v))/2; + } + else { + double excess_part = (_log2(ndbl/2) - _log2(ndwl/2)); + ht_temp = ((mat_height*ndbl/2) + + ((add_bits + (search_data_in_bits + search_data_out_bits))* ((ndwl/2-1) + excess_part) * g_tp.wire_outside_mat.pitch) + + ((data_in_bits + data_out_bits) * g_tp.wire_outside_mat.pitch * h) + )/2; + len_temp = (mat_width*ndwl/2 + + ((add_bits + (search_data_in_bits + search_data_out_bits))* ((ndwl/2-1) + excess_part) * g_tp.wire_outside_mat.pitch) + + (data_in_bits + data_out_bits) * g_tp.wire_outside_mat.pitch * (h + 2*(1-pow(0.5, v-h))))/2; + } + } + area.h = ht_temp * 2; + area.w = len_temp * 2; + delay = 0; + power.readOp.dynamic = 0; + power.readOp.leakage = 0; + power.readOp.gate_leakage = 0; + //cout<<"power.readOp.gate_leakage"< 0 || h > 0) + { //finds delay/power of each link in the tree + if (wtemp1) delete wtemp1; + if (wtemp2) delete wtemp2; + if (wtemp3) delete wtemp3; + + if(h > v) { + //the iteration considers only one horizontal link + wtemp1 = new Wire(wt, len); // hor + wtemp2 = new Wire(wt, len/2); // ver + len_temp = len; + len /= 2; + wtemp3 = 0; + h--; + option = 0; + } + else if (v>0 && h>0) { + //considers one horizontal link and one vertical link + wtemp1 = new Wire(wt, len); // hor + wtemp2 = new Wire(wt, ht); // ver + wtemp3 = new Wire(wt, len/2); // next hor + len_temp = len; + ht_temp = ht; + len /= 2; + ht /= 2; + v--; + h--; + option = 1; + } + else { + // considers only one vertical link + assert(h == 0); + wtemp1 = new Wire(wt, ht); // hor + wtemp2 = new Wire(wt, ht/2); // ver + ht_temp = ht; + ht /= 2; + wtemp3 = 0; + v--; + option = 2; + } + delay += wtemp1->delay; + power.readOp.dynamic += wtemp1->power.readOp.dynamic; + power.searchOp.dynamic += wtemp1->power.readOp.dynamic*init_wire_bw; + power.readOp.leakage += wtemp1->power.readOp.leakage*wire_bw; + power.readOp.gate_leakage += wtemp1->power.readOp.gate_leakage*wire_bw; + //cout<<"power.readOp.gate_leakage"< wtemp1->repeater_spacing) + { + s1 = wtemp1->repeater_size; + l_eff = wtemp1->repeater_spacing; + } + else + { + s1 = (len_temp/wtemp1->repeater_spacing) * wtemp1->repeater_size; + l_eff = len_temp; + } + if (ht_temp > wtemp2->repeater_spacing) + { + s2 = wtemp2->repeater_size; + } + else + { + s2 = (len_temp/wtemp2->repeater_spacing) * wtemp2->repeater_size; + } + // first level + output_buffer(s1, s2, l_eff); + } + + + if (option != 1) + { + continue; + } + + // second level + delay += wtemp2->delay; + power.readOp.dynamic += wtemp2->power.readOp.dynamic; + power.searchOp.dynamic += wtemp2->power.readOp.dynamic*init_wire_bw; + power.readOp.leakage += wtemp2->power.readOp.leakage*wire_bw; + power.readOp.gate_leakage += wtemp2->power.readOp.gate_leakage*wire_bw; + //cout<<"power.readOp.gate_leakage"<power.readOp.leakage*wire_bw); + power.readOp.gate_leakage += wtemp2->power.readOp.gate_leakage*wire_bw; + } + else + { + power.readOp.leakage += (wtemp2->power.readOp.leakage*wire_bw); + power.readOp.gate_leakage += wtemp2->power.readOp.gate_leakage*wire_bw; + wire_bw*=2; + + if (ht_temp > wtemp3->repeater_spacing) + { + s3 = wtemp3->repeater_size; + l_eff = wtemp3->repeater_spacing; + } + else + { + s3 = (len_temp/wtemp3->repeater_spacing) * wtemp3->repeater_size; + l_eff = ht_temp; + } + + output_buffer(s2, s3, l_eff); + } + //cout<<"power.readOp.leakage"<power.readOp.gate_leakage"<power.readOp.gate_leakage< +#include +#include + + +#include "io.h" +#include "area.h" +#include "basic_circuit.h" +#include "parameter.h" +#include "Ucache.h" +#include "nuca.h" +#include "crossbar.h" +#include "arbiter.h" +//#include "highradix.h" +#include "TSV.h" +#include "memorybus.h" +#include "version_cacti.h" + +#include "extio.h" +#include "extio_technology.h" +#include "memcad.h" + +using namespace std; + + +InputParameter::InputParameter() +: array_power_gated(false), + bitline_floating(false), + wl_power_gated(false), + cl_power_gated(false), + interconect_power_gated(false), + power_gating(false), + cl_vertical (true) +{ + +} + +/* Parses "cache.cfg" file */ + void +InputParameter::parse_cfg(const string & in_file) +{ + FILE *fp = fopen(in_file.c_str(), "r"); + char line[5000]; + char jk[5000]; + char temp_var[5000]; + + if(!fp) { + cout << in_file << " is missing!\n"; + exit(-1); + } + + while(fscanf(fp, "%[^\n]\n", line) != EOF) { + + if (!strncmp("-size", line, strlen("-size"))) { + sscanf(line, "-size %[(:-~)*]%u", jk, &(cache_sz)); + if (g_ip->print_detail_debug) + cout << "cache size: " << g_ip->cache_sz << "GB" << endl; + continue; + } + + + + if (!strncmp("-page size", line, strlen("-page size"))) { + sscanf(line, "-page size %[(:-~)*]%u", jk, &(page_sz_bits)); + continue; + } + + if (!strncmp("-burst length", line, strlen("-burst length"))) { + sscanf(line, "-burst %[(:-~)*]%u", jk, &(burst_len)); + continue; + } + + if (!strncmp("-internal prefetch width", line, strlen("-internal prefetch width"))) { + sscanf(line, "-internal prefetch %[(:-~)*]%u", jk, &(int_prefetch_w)); + continue; + } + + if (!strncmp("-block", line, strlen("-block"))) { + sscanf(line, "-block size (bytes) %d", &(line_sz)); + continue; + } + + if (!strncmp("-associativity", line, strlen("-associativity"))) { + sscanf(line, "-associativity %d", &(assoc)); + continue; + } + + if (!strncmp("-read-write", line, strlen("-read-write"))) { + sscanf(line, "-read-write port %d", &(num_rw_ports)); + continue; + } + + if (!strncmp("-exclusive read", line, strlen("exclusive read"))) { + sscanf(line, "-exclusive read port %d", &(num_rd_ports)); + continue; + } + + if(!strncmp("-exclusive write", line, strlen("-exclusive write"))) { + sscanf(line, "-exclusive write port %d", &(num_wr_ports)); + continue; + } + + if (!strncmp("-single ended", line, strlen("-single ended"))) { + sscanf(line, "-single %[(:-~)*]%d", jk, + &(num_se_rd_ports)); + continue; + } + + if (!strncmp("-search", line, strlen("-search"))) { + sscanf(line, "-search port %d", &(num_search_ports)); + continue; + } + + if (!strncmp("-UCA bank", line, strlen("-UCA bank"))) { + sscanf(line, "-UCA bank%[((:-~)| )*]%d", jk, &(nbanks)); + continue; + } + + if (!strncmp("-technology", line, strlen("-technology"))) { + sscanf(line, "-technology (u) %lf", &(F_sz_um)); + F_sz_nm = F_sz_um*1000; + continue; + } + + if (!strncmp("-output/input", line, strlen("-output/input"))) { + sscanf(line, "-output/input bus %[(:-~)*]%d", jk, &(out_w)); + continue; + } + + if (!strncmp("-operating temperature", line, strlen("-operating temperature"))) { + sscanf(line, "-operating temperature %[(:-~)*]%d", jk, &(temp)); + continue; + } + + if (!strncmp("-cache type", line, strlen("-cache type"))) { + sscanf(line, "-cache type%[^\"]\"%[^\"]\"", jk, temp_var); + + if (!strncmp("cache", temp_var, sizeof("cache"))) { + is_cache = true; + } + else + { + is_cache = false; + } + + if (!strncmp("main memory", temp_var, sizeof("main memory"))) { + is_main_mem = true; + } + else { + is_main_mem = false; + } + + if (!strncmp("3D memory or 2D main memory", temp_var, sizeof("3D memory or 2D main memory"))) { + is_3d_mem = true; + is_main_mem = true; + } + else { + is_3d_mem = false; + //is_main_mem = false; + } + + if (g_ip->print_detail_debug) + {cout << "io.cc: is_3d_mem = " << is_3d_mem << endl;} + + if (!strncmp("cam", temp_var, sizeof("cam"))) { + pure_cam = true; + } + else { + pure_cam = false; + } + + if (!strncmp("ram", temp_var, sizeof("ram"))) { + pure_ram = true; + } + else { + if (!is_main_mem) + pure_ram = false; + else + pure_ram = true; + } + + continue; + } + + if (!strncmp("-print option", line, strlen("-print option"))) { + sscanf(line, "-print option%[^\"]\"%[^\"]\"", jk, temp_var); + + if (!strncmp("debug detail", temp_var, sizeof("debug detail"))) { + print_detail_debug = true; + } + else { + print_detail_debug = false; + } + if (g_ip->print_detail_debug) + {cout << "io.cc: print_detail_debug = " << print_detail_debug << endl;} + continue; + } + + if (!strncmp("-burst depth", line, strlen("-burst depth"))) { + sscanf(line, "-burst %[(:-~)*]%u", jk, &(burst_depth)); + continue; + } + + if (!strncmp("-IO width", line, strlen("-IO width"))) { + sscanf(line, "-IO %[(:-~)*]%u", jk, &(io_width)); + continue; + } + + if (!strncmp("-system frequency", line, strlen("-system frequency"))) { + sscanf(line, "-system frequency %[(:-~)*]%u", jk, &(sys_freq_MHz)); + if(g_ip->print_detail_debug) + cout << "system frequency: " << g_ip->sys_freq_MHz << endl; + continue; + } + + + + if (!strncmp("-stacked die", line, strlen("-stacked die"))) { + sscanf(line, "-stacked die %[(:-~)*]%u", jk, &(num_die_3d)); + if(g_ip->print_detail_debug) + cout << "num_die_3d: " << g_ip->num_die_3d << endl; + continue; + } + + if (!strncmp("-partitioning granularity", line, strlen("-partitioning granularity"))) { + sscanf(line, "-partitioning %[(:-~)*]%u", jk, &(partition_gran)); + if(g_ip->print_detail_debug) + cout << "partitioning granularity: " << g_ip->partition_gran << endl; + continue; + } + + if (!strncmp("-TSV projection", line, strlen("-TSV projection"))) { + sscanf(line, "-TSV %[(:-~)*]%u", jk, &(TSV_proj_type)); + if(g_ip->print_detail_debug) + cout << "TSV projection: " << g_ip->TSV_proj_type << endl; + continue; + } + + + //g_ip->print_detail_debug = debug_detail; + + + //g_ip->partition_gran = 1; + + // --- These two parameters are supposed for bank level partitioning, currently not shown to public + g_ip->num_tier_row_sprd = 1; + g_ip->num_tier_col_sprd = 1; + + if (!strncmp("-tag size", line, strlen("-tag size"))) { + sscanf(line, "-tag size%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("default", temp_var, sizeof("default"))) { + specific_tag = false; + tag_w = 42; /* the actual value is calculated + * later based on the cache size, bank count, and associativity + */ + } + else { + specific_tag = true; + sscanf(line, "-tag size (b) %d", &(tag_w)); + } + continue; + } + + if (!strncmp("-access mode", line, strlen("-access mode"))) { + sscanf(line, "-access %[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("fast", temp_var, strlen("fast"))) { + access_mode = 2; + } + else if (!strncmp("sequential", temp_var, strlen("sequential"))) { + access_mode = 1; + } + else if(!strncmp("normal", temp_var, strlen("normal"))) { + access_mode = 0; + } + else { + cout << "ERROR: Invalid access mode!\n"; + exit(0); + } + continue; + } + + if (!strncmp("-Data array cell type", line, strlen("-Data array cell type"))) { + sscanf(line, "-Data array cell type %[^\"]\"%[^\"]\"", jk, temp_var); + + if(!strncmp("itrs-hp", temp_var, strlen("itrs-hp"))) { + data_arr_ram_cell_tech_type = 0; + } + else if(!strncmp("itrs-lstp", temp_var, strlen("itrs-lstp"))) { + data_arr_ram_cell_tech_type = 1; + } + else if(!strncmp("itrs-lop", temp_var, strlen("itrs-lop"))) { + data_arr_ram_cell_tech_type = 2; + } + else if(!strncmp("lp-dram", temp_var, strlen("lp-dram"))) { + data_arr_ram_cell_tech_type = 3; + } + else if(!strncmp("comm-dram", temp_var, strlen("comm-dram"))) { + data_arr_ram_cell_tech_type = 4; + } + else { + cout << "ERROR: Invalid type!\n"; + exit(0); + } + continue; + } + + if (!strncmp("-Data array peripheral type", line, strlen("-Data array peripheral type"))) { + sscanf(line, "-Data array peripheral type %[^\"]\"%[^\"]\"", jk, temp_var); + + if(!strncmp("itrs-hp", temp_var, strlen("itrs-hp"))) { + data_arr_peri_global_tech_type = 0; + } + else if(!strncmp("itrs-lstp", temp_var, strlen("itrs-lstp"))) { + data_arr_peri_global_tech_type = 1; + } + else if(!strncmp("itrs-lop", temp_var, strlen("itrs-lop"))) { + data_arr_peri_global_tech_type = 2; + } + else { + cout << "ERROR: Invalid type!\n"; + exit(0); + } + continue; + } + + if (!strncmp("-Tag array cell type", line, strlen("-Tag array cell type"))) { + sscanf(line, "-Tag array cell type %[^\"]\"%[^\"]\"", jk, temp_var); + + if(!strncmp("itrs-hp", temp_var, strlen("itrs-hp"))) { + tag_arr_ram_cell_tech_type = 0; + } + else if(!strncmp("itrs-lstp", temp_var, strlen("itrs-lstp"))) { + tag_arr_ram_cell_tech_type = 1; + } + else if(!strncmp("itrs-lop", temp_var, strlen("itrs-lop"))) { + tag_arr_ram_cell_tech_type = 2; + } + else if(!strncmp("lp-dram", temp_var, strlen("lp-dram"))) { + tag_arr_ram_cell_tech_type = 3; + } + else if(!strncmp("comm-dram", temp_var, strlen("comm-dram"))) { + tag_arr_ram_cell_tech_type = 4; + } + else { + cout << "ERROR: Invalid type!\n"; + exit(0); + } + continue; + } + + if (!strncmp("-Tag array peripheral type", line, strlen("-Tag array peripheral type"))) { + sscanf(line, "-Tag array peripheral type %[^\"]\"%[^\"]\"", jk, temp_var); + + if(!strncmp("itrs-hp", temp_var, strlen("itrs-hp"))) { + tag_arr_peri_global_tech_type = 0; + } + else if(!strncmp("itrs-lstp", temp_var, strlen("itrs-lstp"))) { + tag_arr_peri_global_tech_type = 1; + } + else if(!strncmp("itrs-lop", temp_var, strlen("itrs-lop"))) { + tag_arr_peri_global_tech_type = 2; + } + else { + cout << "ERROR: Invalid type!\n"; + exit(0); + } + continue; + } + if(!strncmp("-design", line, strlen("-design"))) { + sscanf(line, "-%[((:-~)| |,)*]%d:%d:%d:%d:%d", jk, + &(delay_wt), &(dynamic_power_wt), + &(leakage_power_wt), + &(cycle_time_wt), &(area_wt)); + continue; + } + + if(!strncmp("-deviate", line, strlen("-deviate"))) { + sscanf(line, "-%[((:-~)| |,)*]%d:%d:%d:%d:%d", jk, + &(delay_dev), &(dynamic_power_dev), + &(leakage_power_dev), + &(cycle_time_dev), &(area_dev)); + continue; + } + + if(!strncmp("-Optimize", line, strlen("-Optimize"))) { + sscanf(line, "-Optimize %[^\"]\"%[^\"]\"", jk, temp_var); + + if(!strncmp("ED^2", temp_var, strlen("ED^2"))) { + ed = 2; + } + else if(!strncmp("ED", temp_var, strlen("ED"))) { + ed = 1; + } + else { + ed = 0; + } + } + + if(!strncmp("-NUCAdesign", line, strlen("-NUCAdesign"))) { + sscanf(line, "-%[((:-~)| |,)*]%d:%d:%d:%d:%d", jk, + &(delay_wt_nuca), &(dynamic_power_wt_nuca), + &(leakage_power_wt_nuca), + &(cycle_time_wt_nuca), &(area_wt_nuca)); + continue; + } + + if(!strncmp("-NUCAdeviate", line, strlen("-NUCAdeviate"))) { + sscanf(line, "-%[((:-~)| |,)*]%d:%d:%d:%d:%d", jk, + &(delay_dev_nuca), &(dynamic_power_dev_nuca), + &(leakage_power_dev_nuca), + &(cycle_time_dev_nuca), &(area_dev_nuca)); + continue; + } + + if(!strncmp("-Cache model", line, strlen("-cache model"))) { + sscanf(line, "-Cache model %[^\"]\"%[^\"]\"", jk, temp_var); + + if (!strncmp("UCA", temp_var, strlen("UCA"))) { + nuca = 0; + } + else { + nuca = 1; + } + continue; + } + + if(!strncmp("-NUCA bank", line, strlen("-NUCA bank"))) { + sscanf(line, "-NUCA bank count %d", &(nuca_bank_count)); + + if (nuca_bank_count != 0) { + force_nuca_bank = 1; + } + continue; + } + + if(!strncmp("-Wire inside mat", line, strlen("-Wire inside mat"))) { + sscanf(line, "-Wire%[^\"]\"%[^\"]\"", jk, temp_var); + + if (!strncmp("global", temp_var, strlen("global"))) { + wire_is_mat_type = 2; + continue; + } + else if (!strncmp("local", temp_var, strlen("local"))) { + wire_is_mat_type = 0; + continue; + } + else { + wire_is_mat_type = 1; + continue; + } + } + + if(!strncmp("-Wire outside mat", line, strlen("-Wire outside mat"))) { + sscanf(line, "-Wire%[^\"]\"%[^\"]\"", jk, temp_var); + + if (!strncmp("global", temp_var, strlen("global"))) { + wire_os_mat_type = 2; + } + else { + wire_os_mat_type = 1; + } + continue; + } + + if(!strncmp("-Interconnect projection", line, strlen("-Interconnect projection"))) { + sscanf(line, "-Interconnect projection%[^\"]\"%[^\"]\"", jk, temp_var); + + if (!strncmp("aggressive", temp_var, strlen("aggressive"))) { + ic_proj_type = 0; + } + else { + ic_proj_type = 1; + } + continue; + } + + if(!strncmp("-Wire signaling", line, strlen("-wire signaling"))) { + sscanf(line, "-Wire%[^\"]\"%[^\"]\"", jk, temp_var); + + if (!strncmp("default", temp_var, strlen("default"))) { + force_wiretype = 0; + wt = Global; + } + else if (!(strncmp("Global_10", temp_var, strlen("Global_10")))) { + force_wiretype = 1; + wt = Global_10; + } + else if (!(strncmp("Global_20", temp_var, strlen("Global_20")))) { + force_wiretype = 1; + wt = Global_20; + } + else if (!(strncmp("Global_30", temp_var, strlen("Global_30")))) { + force_wiretype = 1; + wt = Global_30; + } + else if (!(strncmp("Global_5", temp_var, strlen("Global_5")))) { + force_wiretype = 1; + wt = Global_5; + } + else if (!(strncmp("Global", temp_var, strlen("Global")))) { + force_wiretype = 1; + wt = Global; + } + else if (!(strncmp("fullswing", temp_var, strlen("fullswing")))) { + force_wiretype = 1; + wt = Full_swing; + } + else if (!(strncmp("lowswing", temp_var, strlen("lowswing")))) { + force_wiretype = 1; + wt = Low_swing; + } + else { + cout << "Unknown wire type!\n"; + exit(0); + } + continue; + } + + + + if(!strncmp("-Core", line, strlen("-Core"))) { + sscanf(line, "-Core count %d\n", &(cores)); + if (cores > 16) { + printf("No. of cores should be less than 16!\n"); + } + continue; + } + + if(!strncmp("-Cache level", line, strlen("-Cache level"))) { + sscanf(line, "-Cache l%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("L2", temp_var, strlen("L2"))) { + cache_level = 0; + } + else { + cache_level = 1; + } + } + + if(!strncmp("-Print level", line, strlen("-Print level"))) { + sscanf(line, "-Print l%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("DETAILED", temp_var, strlen("DETAILED"))) { + print_detail = 1; + } + else { + print_detail = 0; + } + + } + if(!strncmp("-Add ECC", line, strlen("-Add ECC"))) { + sscanf(line, "-Add ECC %[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("true", temp_var, strlen("true"))) { + add_ecc_b_ = true; + } + else { + add_ecc_b_ = false; + } + } + + if(!strncmp("-CLDriver vertical", line, strlen("-CLDriver vertical"))) { + sscanf(line, "-CLDriver vertical %[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("true", temp_var, strlen("true"))) { + cl_vertical = true; + } + else { + cl_vertical = false; + } + } + + if(!strncmp("-Array Power Gating", line, strlen("-Array Power Gating"))) { + sscanf(line, "-Array Power Gating %[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("true", temp_var, strlen("true"))) { + array_power_gated = true; + } + else { + array_power_gated = false; + } + } + + if(!strncmp("-Bitline floating", line, strlen("-Bitline floating"))) { + sscanf(line, "-Bitline floating %[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("true", temp_var, strlen("true"))) { + bitline_floating = true; + } + else { + bitline_floating = false; + } + } + + if(!strncmp("-WL Power Gating", line, strlen("-WL Power Gating"))) { + sscanf(line, "-WL Power Gating %[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("true", temp_var, strlen("true"))) { + wl_power_gated = true; + } + else { + wl_power_gated = false; + } + } + + if(!strncmp("-CL Power Gating", line, strlen("-CL Power Gating"))) { + sscanf(line, "-CL Power Gating %[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("true", temp_var, strlen("true"))) { + cl_power_gated = true; + } + else { + cl_power_gated = false; + } + } + + if(!strncmp("-Interconnect Power Gating", line, strlen("-Interconnect Power Gating"))) { + sscanf(line, "-Interconnect Power Gating %[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("true", temp_var, strlen("true"))) { + interconect_power_gated = true; + } + else { + interconect_power_gated = false; + } + } + + if(!strncmp("-Power Gating Performance Loss", line, strlen("-Power Gating Performance Loss"))) { + sscanf(line, "-Power Gating Performance Loss %lf", &(perfloss)); + continue; + } + + if(!strncmp("-Print input parameters", line, strlen("-Print input parameters"))) { + sscanf(line, "-Print input %[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("true", temp_var, strlen("true"))) { + print_input_args = true; + } + else { + print_input_args = false; + } + } + + if(!strncmp("-Force cache config", line, strlen("-Force cache config"))) { + sscanf(line, "-Force cache %[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("true", temp_var, strlen("true"))) { + force_cache_config = true; + } + else { + force_cache_config = false; + } + } + + if(!strncmp("-Ndbl", line, strlen("-Ndbl"))) { + sscanf(line, "-Ndbl %d\n", &(ndbl)); + continue; + } + if(!strncmp("-Ndwl", line, strlen("-Ndwl"))) { + sscanf(line, "-Ndwl %d\n", &(ndwl)); + continue; + } + if(!strncmp("-Nspd", line, strlen("-Nspd"))) { + sscanf(line, "-Nspd %d\n", &(nspd)); + continue; + } + if(!strncmp("-Ndsam1", line, strlen("-Ndsam1"))) { + sscanf(line, "-Ndsam1 %d\n", &(ndsam1)); + continue; + } + if(!strncmp("-Ndsam2", line, strlen("-Ndsam2"))) { + sscanf(line, "-Ndsam2 %d\n", &(ndsam2)); + continue; + } + if(!strncmp("-Ndcm", line, strlen("-Ndcm"))) { + sscanf(line, "-Ndcm %d\n", &(ndcm)); + continue; + } + + // Parameters related to off-chip interconnect + + if(!strncmp("-dram type", line, strlen("-dram type"))) { + sscanf(line, "-dram type%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("DDR3", temp_var, strlen("DDR3"))) + { + io_type = DDR3; + } + else if(!strncmp("DDR4", temp_var, strlen("DDR4"))) + { + io_type = DDR4; + } + else if(!strncmp("LPDDR2", temp_var, strlen("LPDDR2"))) + { + io_type = LPDDR2; + } + else if(!strncmp("WideIO", temp_var, strlen("WideIO"))) + { + io_type = WideIO; + } + else if(!strncmp("Low_Swing_Diff", temp_var, strlen("Low_Swing_Diff"))) + { + io_type = Low_Swing_Diff; + } + else if(!strncmp("Serial", temp_var, strlen("Serial"))) + { + io_type = Serial; + } + else + { + cout << "Invalid Input for dram type!" << endl; + exit(1); + } + // sscanf(line, "-io_type \"%c\"\n", &(io_type)); + } + if(!strncmp("-io state", line, strlen("-io state"))) { + sscanf(line, "-io state%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("READ", temp_var, strlen("READ"))) + { + iostate = READ; + } + else if(!strncmp("WRITE", temp_var, strlen("WRITE"))) + { + iostate = WRITE; + } + else if(!strncmp("IDLE", temp_var, strlen("IDLE"))) + { + iostate = IDLE; + } + else if(!strncmp("SLEEP", temp_var, strlen("SLEEP"))) + { + iostate = SLEEP; + } + else + { + cout << "Invalid Input for io state!" << endl; + exit(1); + } + //sscanf(line, "-iostate \"%c\"\n", &(iostate)); + } + if(!strncmp("-addr_timing", line, strlen("-addr_timing"))) { + sscanf(line, "-addr_timing %lf", &(addr_timing)); + } + if(!strncmp("-dram ecc", line, strlen("-dram ecc"))) { + sscanf(line, "-dram ecc%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("NO_ECC", temp_var, strlen("NO_ECC"))) + { + dram_ecc = NO_ECC; + } + else if(!strncmp("SECDED", temp_var, strlen("SECDED"))) + { + dram_ecc = SECDED; + } + else if(!strncmp("CHIP_KILL", temp_var, strlen("CHIP_KILL"))) + { + dram_ecc = CHIP_KILL; + } + else + { + cout << "Invalid Input for dram ecc!" << endl; + exit(1); + } + //sscanf(line, "-dram_ecc \"%c\"\n", &(dram_ecc)); + } + if(!strncmp("-dram dimm", line, strlen("-dram dimm"))) { + sscanf(line, "-dram dimm%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("UDIMM", temp_var, strlen("UDIMM"))) + { + dram_dimm = UDIMM; + } + else if(!strncmp("RDIMM", temp_var, strlen("RDIMM"))) + { + dram_dimm = RDIMM; + } + else if(!strncmp("LRDIMM", temp_var, strlen("LRDIMM"))) + { + dram_dimm = LRDIMM; + } + else + { + cout << "Invalid Input for dram dimm!" << endl; + exit(1); + } + //sscanf(line, "-dram_ecc \"%c\"\n", &(dram_ecc)); + } + + + if(!strncmp("-bus_bw", line, strlen("-bus_bw"))) { + sscanf(line, "-bus_bw %lf", &(bus_bw)); + } + if(!strncmp("-duty_cycle", line, strlen("-duty_cycle"))) { + sscanf(line, "-duty_cycle %lf", &(duty_cycle)); + } + if(!strncmp("-mem_density", line, strlen("-mem_density"))) { + sscanf(line, "-mem_density %lf", &(mem_density)); + } + if(!strncmp("-activity_dq", line, strlen("-activity_dq"))) { + sscanf(line, "-activity_dq %lf", &activity_dq); + } + if(!strncmp("-activity_ca", line, strlen("-activity_ca"))) { + sscanf(line, "-activity_ca %lf", &activity_ca); + } + if(!strncmp("-bus_freq", line, strlen("-bus_freq"))) { + sscanf(line, "-bus_freq %lf", &bus_freq); + } + if(!strncmp("-num_dq", line, strlen("-num_dq"))) { + sscanf(line, "-num_dq %d", &num_dq); + } + if(!strncmp("-num_dqs", line, strlen("-num_dqs"))) { + sscanf(line, "-num_dqs %d", &num_dqs); + } + if(!strncmp("-num_ca", line, strlen("-num_ca"))) { + sscanf(line, "-num_ca %d", &num_ca); + } + if(!strncmp("-num_clk", line, strlen("-num_clk"))) { + sscanf(line, "-num_clk %d", &num_clk); + if(num_clk<=0) + { + cout << "num_clk should be greater than zero!\n"; + exit(1); + } + } + if(!strncmp("-num_mem_dq", line, strlen("-num_mem_dq"))) { + sscanf(line, "-num_mem_dq %d", &num_mem_dq); + } + if(!strncmp("-mem_data_width", line, strlen("-mem_data_width"))) { + sscanf(line, "-mem_data_width %d", &mem_data_width); + } + + // added just for memcad + + if(!strncmp("-num_bobs", line, strlen("-num_bobs"))) { + sscanf(line, "-num_bobs %d", &num_bobs); + } + if(!strncmp("-capacity", line, strlen("-capacity"))) { + sscanf(line, "-capacity %d", &capacity); + } + if(!strncmp("-num_channels_per_bob", line, strlen("-num_channels_per_bob"))) { + sscanf(line, "-num_channels_per_bob %d", &num_channels_per_bob); + } + if(!strncmp("-first metric", line, strlen("-first metric"))) { + sscanf(line, "-first metric%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("Cost", temp_var, strlen("Cost"))) + { + first_metric = Cost; + } + else if(!strncmp("Energy", temp_var, strlen("Energy"))) + { + first_metric = Energy; + } + else if(!strncmp("Bandwidth", temp_var, strlen("Bandwidth"))) + { + first_metric = Bandwidth; + } + else + { + cout << "Invalid Input for first metric!" << endl; + exit(1); + } + + } + if(!strncmp("-second metric", line, strlen("-second metric"))) { + sscanf(line, "-second metric%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("Cost", temp_var, strlen("Cost"))) + { + second_metric = Cost; + } + else if(!strncmp("Energy", temp_var, strlen("Energy"))) + { + second_metric = Energy; + } + else if(!strncmp("Bandwidth", temp_var, strlen("Bandwidth"))) + { + second_metric = Bandwidth; + } + else + { + cout << "Invalid Input for second metric!" << endl; + exit(1); + } + + } + if(!strncmp("-third metric", line, strlen("-third metric"))) { + sscanf(line, "-third metric%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("Cost", temp_var, strlen("Cost"))) + { + third_metric = Cost; + } + else if(!strncmp("Energy", temp_var, strlen("Energy"))) + { + third_metric = Energy; + } + else if(!strncmp("Bandwidth", temp_var, strlen("Bandwidth"))) + { + third_metric = Bandwidth; + } + else + { + cout << "Invalid Input for third metric!" << endl; + exit(1); + } + + } + if(!strncmp("-DIMM model", line, strlen("-DIMM model"))) { + sscanf(line, "-DIMM model%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("JUST_UDIMM", temp_var, strlen("JUST_UDIMM"))) + { + dimm_model = JUST_UDIMM; + } + else if(!strncmp("JUST_RDIMM", temp_var, strlen("JUST_RDIMM"))) + { + dimm_model = JUST_RDIMM; + } + else if(!strncmp("JUST_LRDIMM", temp_var, strlen("JUST_LRDIMM"))) + { + dimm_model = JUST_LRDIMM; + } + else if(!strncmp("ALL", temp_var, strlen("ALL"))) + { + dimm_model = ALL; + } + else + { + cout << "Invalid Input for DIMM model!" << endl; + exit(1); + } + + } + if(!strncmp("-Low Power Permitted", line, strlen("-Low Power Permitted"))) { + sscanf(line, "-Low Power Permitted%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("T", temp_var, strlen("T"))) + { + low_power_permitted = true; + } + else if(!strncmp("F", temp_var, strlen("F"))) + { + low_power_permitted = false; + } + else + { + cout << "Invalid Input for Low Power Permitted!" << endl; + exit(1); + } + + } + if(!strncmp("-load", line, strlen("-load"))) { + sscanf(line, "-load %lf", &(load)); + } + if(!strncmp("-row_buffer_hit_rate", line, strlen("-row_buffer_hit_rate"))) { + sscanf(line, "-row_buffer_hit_rate %lf", &(row_buffer_hit_rate)); + } + if(!strncmp("-rd_2_wr_ratio", line, strlen("-rd_2_wr_ratio"))) { + sscanf(line, "-rd_2_wr_ratio %lf", &(rd_2_wr_ratio)); + } + if(!strncmp("-same_bw_in_bob", line, strlen("-same_bw_in_bob"))) { + sscanf(line, "-same_bw_in_bob%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("T", temp_var, strlen("T"))) + { + same_bw_in_bob = true; + } + else if(!strncmp("F", temp_var, strlen("F"))) + { + same_bw_in_bob = false; + } + else + { + cout << "Invalid Input for same_bw_in_bob!" << endl; + exit(1); + } + + } + if(!strncmp("-mirror_in_bob", line, strlen("-mirror_in_bob"))) { + sscanf(line, "-mirror_in_bob%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("T", temp_var, strlen("T"))) + { + mirror_in_bob = true; + } + else if(!strncmp("F", temp_var, strlen("F"))) + { + mirror_in_bob = false; + } + else + { + cout << "Invalid Input for mirror_in_bob!" << endl; + exit(1); + } + + } + if(!strncmp("-total_power", line, strlen("-total_power"))) { + sscanf(line, "-total_power%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("T", temp_var, strlen("T"))) + { + total_power = true; + } + else if(!strncmp("F", temp_var, strlen("F"))) + { + total_power = false; + } + else + { + cout << "Invalid Input for total_power!" << endl; + exit(1); + } + + } + if(!strncmp("-verbose", line, strlen("-verbose"))) { + sscanf(line, "-verbose%[^\"]\"%[^\"]\"", jk, temp_var); + if (!strncmp("T", temp_var, strlen("T"))) + { + verbose = true; + } + else if(!strncmp("F", temp_var, strlen("F"))) + { + verbose = false; + } + else + { + cout << "Invalid Input for same_bw_in_bob!" << endl; + exit(1); + } + + } + + + + + } + rpters_in_htree = true; + fclose(fp); +} + + void +InputParameter::display_ip() +{ + cout << "Cache size : " << cache_sz << endl; + cout << "Block size : " << line_sz << endl; + cout << "Associativity : " << assoc << endl; + cout << "Read only ports : " << num_rd_ports << endl; + cout << "Write only ports : " << num_wr_ports << endl; + cout << "Read write ports : " << num_rw_ports << endl; + cout << "Single ended read ports : " << num_se_rd_ports << endl; + if (fully_assoc||pure_cam) + { + cout << "Search ports : " << num_search_ports << endl; + } + cout << "Cache banks (UCA) : " << nbanks << endl; + cout << "Technology : " << F_sz_um << endl; + cout << "Temperature : " << temp << endl; + cout << "Tag size : " << tag_w << endl; + if (is_cache) + { + cout << "array type : " << "Cache" << endl; + } + if (pure_ram) + { + cout << "array type : " << "Scratch RAM" << endl; + } + if (pure_cam) + { + cout << "array type : " << "CAM" << endl; + } + cout << "Model as memory : " << is_main_mem << endl; + cout << "Model as 3D memory : " << is_3d_mem << endl; + cout << "Access mode : " << access_mode << endl; + cout << "Data array cell type : " << data_arr_ram_cell_tech_type << endl; + cout << "Data array peripheral type : " << data_arr_peri_global_tech_type << endl; + cout << "Tag array cell type : " << tag_arr_ram_cell_tech_type << endl; + cout << "Tag array peripheral type : " << tag_arr_peri_global_tech_type << endl; + cout << "Optimization target : " << ed << endl; + cout << "Design objective (UCA wt) : " << delay_wt << " " + << dynamic_power_wt << " " << leakage_power_wt << " " << cycle_time_wt + << " " << area_wt << endl; + cout << "Design objective (UCA dev) : " << delay_dev << " " + << dynamic_power_dev << " " << leakage_power_dev << " " << cycle_time_dev + << " " << area_dev << endl; + if (nuca) + { + cout << "Cores : " << cores << endl; + + + cout << "Design objective (NUCA wt) : " << delay_wt_nuca << " " + << dynamic_power_wt_nuca << " " << leakage_power_wt_nuca << " " << cycle_time_wt_nuca + << " " << area_wt_nuca << endl; + cout << "Design objective (NUCA dev) : " << delay_dev_nuca << " " + << dynamic_power_dev_nuca << " " << leakage_power_dev_nuca << " " << cycle_time_dev_nuca + << " " << area_dev_nuca << endl; + } + cout << "Cache model : " << nuca << endl; + cout << "Nuca bank : " << nuca_bank_count << endl; + cout << "Wire inside mat : " << wire_is_mat_type << endl; + cout << "Wire outside mat : " << wire_os_mat_type << endl; + cout << "Interconnect projection : " << ic_proj_type << endl; + cout << "Wire signaling : " << force_wiretype << endl; + cout << "Print level : " << print_detail << endl; + cout << "ECC overhead : " << add_ecc_b_ << endl; + cout << "Page size : " << page_sz_bits << endl; + cout << "Burst length : " << burst_len << endl; + cout << "Internal prefetch width : " << int_prefetch_w << endl; + cout << "Force cache config : " << g_ip->force_cache_config << endl; + if (g_ip->force_cache_config) { + cout << "Ndwl : " << g_ip->ndwl << endl; + cout << "Ndbl : " << g_ip->ndbl << endl; + cout << "Nspd : " << g_ip->nspd << endl; + cout << "Ndcm : " << g_ip->ndcm << endl; + cout << "Ndsam1 : " << g_ip->ndsam1 << endl; + cout << "Ndsam2 : " << g_ip->ndsam2 << endl; + } + cout << "Subarray Driver direction : " << g_ip->cl_vertical << endl; + + // CACTI-I/O + cout << "iostate : " ; + switch(iostate) + { + case(READ): cout << "READ" << endl; break; + case(WRITE): cout << "WRITE" << endl; break; + case(IDLE): cout << "IDLE" << endl; break; + case(SLEEP): cout << "SLEEP" << endl; break; + default: assert(false); + } + cout << "dram_ecc : " ; + switch(dram_ecc) + { + case(NO_ECC): cout << "NO_ECC" << endl; break; + case(SECDED): cout << "SECDED" << endl; break; + case(CHIP_KILL): cout << "CHIP_KILL" << endl; break; + default: assert(false); + } + cout << "io_type : " ; + switch(io_type) + { + case(DDR3): cout << "DDR3" << endl; break; + case(DDR4): cout << "DDR4" << endl; break; + case(LPDDR2): cout << "LPDDR2" << endl; break; + case(WideIO): cout << "WideIO" << endl; break; + case(Low_Swing_Diff): cout << "Low_Swing_Diff" << endl; break; + default: assert(false); + } + cout << "dram_dimm : " ; + switch(dram_dimm) + { + case(UDIMM): cout << "UDIMM" << endl; break; + case(RDIMM): cout << "RDIMM" << endl; break; + case(LRDIMM): cout << "LRDIMM" << endl; break; + default: assert(false); + } + + + +} + + + +powerComponents operator+(const powerComponents & x, const powerComponents & y) +{ + powerComponents z; + + z.dynamic = x.dynamic + y.dynamic; + z.leakage = x.leakage + y.leakage; + z.gate_leakage = x.gate_leakage + y.gate_leakage; + z.short_circuit = x.short_circuit + y.short_circuit; + z.longer_channel_leakage = x.longer_channel_leakage + y.longer_channel_leakage; + + return z; +} + +powerComponents operator*(const powerComponents & x, double const * const y) +{ + powerComponents z; + + z.dynamic = x.dynamic*y[0]; + z.leakage = x.leakage*y[1]; + z.gate_leakage = x.gate_leakage*y[2]; + z.short_circuit = x.short_circuit*y[3]; + z.longer_channel_leakage = x.longer_channel_leakage*y[1];//longer channel leakage has the same behavior as normal leakage + + return z; +} + + +powerDef operator+(const powerDef & x, const powerDef & y) +{ + powerDef z; + + z.readOp = x.readOp + y.readOp; + z.writeOp = x.writeOp + y.writeOp; + z.searchOp = x.searchOp + y.searchOp; + return z; +} + +powerDef operator*(const powerDef & x, double const * const y) +{ + powerDef z; + + z.readOp = x.readOp*y; + z.writeOp = x.writeOp*y; + z.searchOp = x.searchOp*y; + return z; +} + +uca_org_t cacti_interface(const string & infile_name) +{ + + //cout<<"TSV_proj_type: " << g_ip->TSV_proj_type << endl; + uca_org_t fin_res; + //uca_org_t result; + fin_res.valid = false; + + g_ip = new InputParameter(); + g_ip->parse_cfg(infile_name); + if(!g_ip->error_checking()) + exit(0); + // if (g_ip->print_input_args) + g_ip->display_ip(); + + + init_tech_params(g_ip->F_sz_um, false); + Wire winit; // Do not delete this line. It initializes wires. +// cout << winit.wire_res(256*8*64e-9) << endl; +// exit(0); + + + //CACTI3DD + // --- These two parameters are supposed for two different TSV technologies within one DRAM fabrication, currently assume one individual TSV geometry size for cost efficiency + g_ip->tsv_is_subarray_type = g_ip->TSV_proj_type; + g_ip->tsv_os_bank_type = g_ip->TSV_proj_type; + TSV tsv_test(Coarse);// ********* double len_ /* in um*/, double diam_, double TSV_pitch_, + if(g_ip->print_detail_debug) + { + tsv_test.print_TSV(); + } + +// For HighRadix Only +// //// Wire wirea(g_ip->wt, 1000); +// //// wirea.print_wire(); +// //// cout << "Wire Area " << wirea.area.get_area() << " sq. u" << endl; +// // winit.print_wire(); +// // +// HighRadix *hr; +// hr = new HighRadix(); +// hr->compute_power(); +// hr->print_router(); +// exit(0); +// +// double sub_switch_sz = 2; +// double rows = 32; +// for (int i=0; i<6; i++) { +// sub_switch_sz = pow(2, i); +// rows = 64/sub_switch_sz; +// hr = new HighRadix(sub_switch_sz, rows, .8/* freq */, 64, 2, 64, 0.7); +// hr->compute_power(); +// hr->print_router(); +// delete hr; +// } +// // HighRadix yarc; +// // yarc.compute_power(); +// // yarc.print_router(); +// winit.print_wire(); +// exit(0); +// For HighRadix Only End + + if (g_ip->nuca == 1) + { + Nuca n(&g_tp.peri_global); + n.sim_nuca(); + } + + //g_ip->display_ip(); + + + + IOTechParam iot(g_ip, g_ip->io_type, g_ip->num_mem_dq, g_ip->mem_data_width, g_ip->num_dq,g_ip->dram_dimm, 1,g_ip->bus_freq ); + Extio testextio(&iot); + testextio.extio_area(); + testextio.extio_eye(); + testextio.extio_power_dynamic(); + testextio.extio_power_phy(); + testextio.extio_power_term(); + + + /* + int freq[][4]={{400,533,667,800},{800,933,1066,1200}}; + + Mem_IO_type types[2]={DDR3,DDR4}; + + int max_load[3]={3,3,8}; + + for(int j=0;j<1;j++) + { + for(int connection=0;connection<3;connection++) + { + for(int frq=3;frq<4;frq++) + { + for(int load=1;load<=max_load[connection];load++) + { + IOTechParam iot(g_ip, types[j], load, 8, 72, connection, load, freq[j][frq]); + Extio testextio(&iot); + // testextio.extio_area(); + // testextio.extio_eye(); + testextio.extio_power_dynamic(); + testextio.extio_power_phy(); + testextio.extio_power_term(); + + } + cout << endl; + } + cout << endl; + } + cout << endl; + } + */ + + ///double total_io_p, total_phy_p, total_io_area, total_vmargin, total_tmargin; + //testextio.extio_power_area_timing(total_io_p, total_phy_p, total_io_area, total_vmargin, total_tmargin); + + solve(&fin_res); + + output_UCA(&fin_res); + output_data_csv(fin_res, infile_name + ".out"); + + + // Memcad Optimization + MemCadParameters memcad_params(g_ip); + solve_memcad(&memcad_params); + + + delete (g_ip); + return fin_res; +} + +//CACTI3DD's plain interface, please keep !!! +uca_org_t cacti_interface( + int dram_cap_tot_byte, + int line_size, + int associativity, + int rw_ports, + int excl_read_ports,// para5 + int excl_write_ports, + int single_ended_read_ports, + int search_ports, + int banks, + double tech_node,//para10 + int output_width, + int specific_tag, + int tag_width, + int access_mode, + int cache, //para15 + int main_mem, + int obj_func_delay, + int obj_func_dynamic_power, + int obj_func_leakage_power, + int obj_func_cycle_time, //para20 + int obj_func_area, + int dev_func_delay, + int dev_func_dynamic_power, + int dev_func_leakage_power, + int dev_func_area, //para25 + int dev_func_cycle_time, + int ed_ed2_none, // 0 - ED, 1 - ED^2, 2 - use weight and deviate + int temp, + int wt, //0 - default(search across everything), 1 - global, 2 - 5% delay penalty, 3 - 10%, 4 - 20 %, 5 - 30%, 6 - low-swing + int data_arr_ram_cell_tech_flavor_in,//para30 + int data_arr_peri_global_tech_flavor_in, + int tag_arr_ram_cell_tech_flavor_in, + int tag_arr_peri_global_tech_flavor_in, + int interconnect_projection_type_in, + int wire_inside_mat_type_in,//para35 + int wire_outside_mat_type_in, + int REPEATERS_IN_HTREE_SEGMENTS_in, + int VERTICAL_HTREE_WIRES_OVER_THE_ARRAY_in, + int BROADCAST_ADDR_DATAIN_OVER_VERTICAL_HTREES_in, + int PAGE_SIZE_BITS_in,//para40 + int BURST_LENGTH_in, + int INTERNAL_PREFETCH_WIDTH_in, + int force_wiretype, + int wiretype, + int force_config,//para45 + int ndwl, + int ndbl, + int nspd, + int ndcm, + int ndsam1,//para50 + int ndsam2, + int ecc, + int is_3d_dram, + int burst_depth, + int IO_width, + int sys_freq, + int debug_detail, + int num_dies, + int tsv_gran_is_subarray, + int tsv_gran_os_bank, + int num_tier_row_sprd, + int num_tier_col_sprd, + int partition_level + ) +{ + g_ip = new InputParameter(); + + uca_org_t fin_res; + fin_res.valid = false; + + g_ip->data_arr_ram_cell_tech_type = data_arr_ram_cell_tech_flavor_in; + g_ip->data_arr_peri_global_tech_type = data_arr_peri_global_tech_flavor_in; + g_ip->tag_arr_ram_cell_tech_type = tag_arr_ram_cell_tech_flavor_in; + g_ip->tag_arr_peri_global_tech_type = tag_arr_peri_global_tech_flavor_in; + + g_ip->ic_proj_type = interconnect_projection_type_in; + g_ip->wire_is_mat_type = wire_inside_mat_type_in; + g_ip->wire_os_mat_type = wire_outside_mat_type_in; + g_ip->burst_len = BURST_LENGTH_in; + g_ip->int_prefetch_w = INTERNAL_PREFETCH_WIDTH_in; + g_ip->page_sz_bits = PAGE_SIZE_BITS_in; + + g_ip->num_die_3d = num_dies; + g_ip->cache_sz = dram_cap_tot_byte; + g_ip->line_sz = line_size; + g_ip->assoc = associativity; + g_ip->nbanks = banks; + g_ip->out_w = output_width; + g_ip->specific_tag = specific_tag; + if (specific_tag == 0) { + g_ip->tag_w = 42; + } + else { + g_ip->tag_w = tag_width; + } + + g_ip->access_mode = access_mode; + g_ip->delay_wt = obj_func_delay; + g_ip->dynamic_power_wt = obj_func_dynamic_power; + g_ip->leakage_power_wt = obj_func_leakage_power; + g_ip->area_wt = obj_func_area; + g_ip->cycle_time_wt = obj_func_cycle_time; + g_ip->delay_dev = dev_func_delay; + g_ip->dynamic_power_dev = dev_func_dynamic_power; + g_ip->leakage_power_dev = dev_func_leakage_power; + g_ip->area_dev = dev_func_area; + g_ip->cycle_time_dev = dev_func_cycle_time; + g_ip->temp = temp; + g_ip->ed = ed_ed2_none; + + g_ip->F_sz_nm = tech_node; + g_ip->F_sz_um = tech_node / 1000; + g_ip->is_main_mem = (main_mem != 0) ? true : false; + g_ip->is_cache = (cache ==1) ? true : false; + g_ip->pure_ram = (cache ==0) ? true : false; + g_ip->pure_cam = (cache ==2) ? true : false; + g_ip->rpters_in_htree = (REPEATERS_IN_HTREE_SEGMENTS_in != 0) ? true : false; + g_ip->ver_htree_wires_over_array = VERTICAL_HTREE_WIRES_OVER_THE_ARRAY_in; + g_ip->broadcast_addr_din_over_ver_htrees = BROADCAST_ADDR_DATAIN_OVER_VERTICAL_HTREES_in; + + g_ip->num_rw_ports = rw_ports; + g_ip->num_rd_ports = excl_read_ports; + g_ip->num_wr_ports = excl_write_ports; + g_ip->num_se_rd_ports = single_ended_read_ports; + g_ip->num_search_ports = search_ports; + + g_ip->print_detail = 1; + g_ip->nuca = 0; + + if (force_wiretype == 0) + { + g_ip->wt = Global; + g_ip->force_wiretype = false; + } + else + { g_ip->force_wiretype = true; + if (wiretype==10) { + g_ip->wt = Global_10; + } + if (wiretype==20) { + g_ip->wt = Global_20; + } + if (wiretype==30) { + g_ip->wt = Global_30; + } + if (wiretype==5) { + g_ip->wt = Global_5; + } + if (wiretype==0) { + g_ip->wt = Low_swing; + } + } + //g_ip->wt = Global_5; + if (force_config == 0) + { + g_ip->force_cache_config = false; + } + else + { + g_ip->force_cache_config = true; + g_ip->ndbl=ndbl; + g_ip->ndwl=ndwl; + g_ip->nspd=nspd; + g_ip->ndcm=ndcm; + g_ip->ndsam1=ndsam1; + g_ip->ndsam2=ndsam2; + + + } + + if (ecc==0){ + g_ip->add_ecc_b_=false; + } + else + { + g_ip->add_ecc_b_=true; + } + + //CACTI3DD + g_ip->is_3d_mem = is_3d_dram; + g_ip->burst_depth = burst_depth; + g_ip->io_width =IO_width; + g_ip->sys_freq_MHz = sys_freq; + g_ip->print_detail_debug = debug_detail; + + g_ip->tsv_is_subarray_type = tsv_gran_is_subarray; + g_ip->tsv_os_bank_type = tsv_gran_os_bank; + + g_ip->partition_gran = partition_level; + g_ip->num_tier_row_sprd = num_tier_row_sprd; + g_ip->num_tier_col_sprd = num_tier_col_sprd; + if(partition_level == 3) + g_ip->fine_gran_bank_lvl = true; + else + g_ip->fine_gran_bank_lvl = false; + + if(!g_ip->error_checking()) + exit(0); + + init_tech_params(g_ip->F_sz_um, false); + Wire winit; // Do not delete this line. It initializes wires. + + //tsv + //TSV tsv_test(Coarse); + //tsv_test.print_TSV(); + + g_ip->display_ip(); + solve(&fin_res); + output_UCA(&fin_res); + output_data_csv_3dd(fin_res); + delete (g_ip); + + return fin_res; +} + +//cacti6.5's plain interface, please keep !!! +uca_org_t cacti_interface( + int cache_size, + int line_size, + int associativity, + int rw_ports, + int excl_read_ports, + int excl_write_ports, + int single_ended_read_ports, + int banks, + double tech_node, // in nm + int page_sz, + int burst_length, + int pre_width, + int output_width, + int specific_tag, + int tag_width, + int access_mode, //0 normal, 1 seq, 2 fast + int cache, //scratch ram or cache + int main_mem, + int obj_func_delay, + int obj_func_dynamic_power, + int obj_func_leakage_power, + int obj_func_area, + int obj_func_cycle_time, + int dev_func_delay, + int dev_func_dynamic_power, + int dev_func_leakage_power, + int dev_func_area, + int dev_func_cycle_time, + int ed_ed2_none, // 0 - ED, 1 - ED^2, 2 - use weight and deviate + int temp, + int wt, //0 - default(search across everything), 1 - global, 2 - 5% delay penalty, 3 - 10%, 4 - 20 %, 5 - 30%, 6 - low-swing + int data_arr_ram_cell_tech_flavor_in, // 0-4 + int data_arr_peri_global_tech_flavor_in, + int tag_arr_ram_cell_tech_flavor_in, + int tag_arr_peri_global_tech_flavor_in, + int interconnect_projection_type_in, // 0 - aggressive, 1 - normal + int wire_inside_mat_type_in, + int wire_outside_mat_type_in, + int is_nuca, // 0 - UCA, 1 - NUCA + int core_count, + int cache_level, // 0 - L2, 1 - L3 + int nuca_bank_count, + int nuca_obj_func_delay, + int nuca_obj_func_dynamic_power, + int nuca_obj_func_leakage_power, + int nuca_obj_func_area, + int nuca_obj_func_cycle_time, + int nuca_dev_func_delay, + int nuca_dev_func_dynamic_power, + int nuca_dev_func_leakage_power, + int nuca_dev_func_area, + int nuca_dev_func_cycle_time, + int REPEATERS_IN_HTREE_SEGMENTS_in,//TODO for now only wires with repeaters are supported + int p_input) +{ + g_ip = new InputParameter(); + g_ip->add_ecc_b_ = true; + + g_ip->data_arr_ram_cell_tech_type = data_arr_ram_cell_tech_flavor_in; + g_ip->data_arr_peri_global_tech_type = data_arr_peri_global_tech_flavor_in; + g_ip->tag_arr_ram_cell_tech_type = tag_arr_ram_cell_tech_flavor_in; + g_ip->tag_arr_peri_global_tech_type = tag_arr_peri_global_tech_flavor_in; + + g_ip->ic_proj_type = interconnect_projection_type_in; + g_ip->wire_is_mat_type = wire_inside_mat_type_in; + g_ip->wire_os_mat_type = wire_outside_mat_type_in; + g_ip->burst_len = burst_length; + g_ip->int_prefetch_w = pre_width; + g_ip->page_sz_bits = page_sz; + + g_ip->cache_sz = cache_size; + g_ip->line_sz = line_size; + g_ip->assoc = associativity; + g_ip->nbanks = banks; + g_ip->out_w = output_width; + g_ip->specific_tag = specific_tag; + if (tag_width == 0) { + g_ip->tag_w = 42; + } + else { + g_ip->tag_w = tag_width; + } + + g_ip->access_mode = access_mode; + g_ip->delay_wt = obj_func_delay; + g_ip->dynamic_power_wt = obj_func_dynamic_power; + g_ip->leakage_power_wt = obj_func_leakage_power; + g_ip->area_wt = obj_func_area; + g_ip->cycle_time_wt = obj_func_cycle_time; + g_ip->delay_dev = dev_func_delay; + g_ip->dynamic_power_dev = dev_func_dynamic_power; + g_ip->leakage_power_dev = dev_func_leakage_power; + g_ip->area_dev = dev_func_area; + g_ip->cycle_time_dev = dev_func_cycle_time; + g_ip->ed = ed_ed2_none; + + switch(wt) { + case (0): + g_ip->force_wiretype = 0; + g_ip->wt = Global; + break; + case (1): + g_ip->force_wiretype = 1; + g_ip->wt = Global; + break; + case (2): + g_ip->force_wiretype = 1; + g_ip->wt = Global_5; + break; + case (3): + g_ip->force_wiretype = 1; + g_ip->wt = Global_10; + break; + case (4): + g_ip->force_wiretype = 1; + g_ip->wt = Global_20; + break; + case (5): + g_ip->force_wiretype = 1; + g_ip->wt = Global_30; + break; + case (6): + g_ip->force_wiretype = 1; + g_ip->wt = Low_swing; + break; + default: + cout << "Unknown wire type!\n"; + exit(0); + } + + g_ip->delay_wt_nuca = nuca_obj_func_delay; + g_ip->dynamic_power_wt_nuca = nuca_obj_func_dynamic_power; + g_ip->leakage_power_wt_nuca = nuca_obj_func_leakage_power; + g_ip->area_wt_nuca = nuca_obj_func_area; + g_ip->cycle_time_wt_nuca = nuca_obj_func_cycle_time; + g_ip->delay_dev_nuca = dev_func_delay; + g_ip->dynamic_power_dev_nuca = nuca_dev_func_dynamic_power; + g_ip->leakage_power_dev_nuca = nuca_dev_func_leakage_power; + g_ip->area_dev_nuca = nuca_dev_func_area; + g_ip->cycle_time_dev_nuca = nuca_dev_func_cycle_time; + g_ip->nuca = is_nuca; + g_ip->nuca_bank_count = nuca_bank_count; + if(nuca_bank_count > 0) { + g_ip->force_nuca_bank = 1; + } + g_ip->cores = core_count; + g_ip->cache_level = cache_level; + + g_ip->temp = temp; + + g_ip->F_sz_nm = tech_node; + g_ip->F_sz_um = tech_node / 1000; + g_ip->is_main_mem = (main_mem != 0) ? true : false; + g_ip->is_cache = (cache != 0) ? true : false; + g_ip->rpters_in_htree = (REPEATERS_IN_HTREE_SEGMENTS_in != 0) ? true : false; + + g_ip->num_rw_ports = rw_ports; + g_ip->num_rd_ports = excl_read_ports; + g_ip->num_wr_ports = excl_write_ports; + g_ip->num_se_rd_ports = single_ended_read_ports; + g_ip->print_detail = 1; + g_ip->nuca = 0; + + g_ip->wt = Global_5; + g_ip->force_cache_config = false; + g_ip->force_wiretype = false; + g_ip->print_input_args = p_input; + + + uca_org_t fin_res; + fin_res.valid = false; + + if (g_ip->error_checking() == false) exit(0); + if (g_ip->print_input_args) + g_ip->display_ip(); + init_tech_params(g_ip->F_sz_um, false); + Wire winit; // Do not delete this line. It initializes wires. + + if (g_ip->nuca == 1) + { + Nuca n(&g_tp.peri_global); + n.sim_nuca(); + } + solve(&fin_res); + + output_UCA(&fin_res); + + delete (g_ip); + return fin_res; +} + +//McPAT's plain interface, please keep !!! +uca_org_t cacti_interface( + int cache_size, + int line_size, + int associativity, + int rw_ports, + int excl_read_ports,// para5 + int excl_write_ports, + int single_ended_read_ports, + int search_ports, + int banks, + double tech_node,//para10 + int output_width, + int specific_tag, + int tag_width, + int access_mode, + int cache, //para15 + int main_mem, + int obj_func_delay, + int obj_func_dynamic_power, + int obj_func_leakage_power, + int obj_func_cycle_time, //para20 + int obj_func_area, + int dev_func_delay, + int dev_func_dynamic_power, + int dev_func_leakage_power, + int dev_func_area, //para25 + int dev_func_cycle_time, + int ed_ed2_none, // 0 - ED, 1 - ED^2, 2 - use weight and deviate + int temp, + int wt, //0 - default(search across everything), 1 - global, 2 - 5% delay penalty, 3 - 10%, 4 - 20 %, 5 - 30%, 6 - low-swing + int data_arr_ram_cell_tech_flavor_in,//para30 + int data_arr_peri_global_tech_flavor_in, + int tag_arr_ram_cell_tech_flavor_in, + int tag_arr_peri_global_tech_flavor_in, + int interconnect_projection_type_in, + int wire_inside_mat_type_in,//para35 + int wire_outside_mat_type_in, + int REPEATERS_IN_HTREE_SEGMENTS_in, + int VERTICAL_HTREE_WIRES_OVER_THE_ARRAY_in, + int BROADCAST_ADDR_DATAIN_OVER_VERTICAL_HTREES_in, + int PAGE_SIZE_BITS_in,//para40 + int BURST_LENGTH_in, + int INTERNAL_PREFETCH_WIDTH_in, + int force_wiretype, + int wiretype, + int force_config,//para45 + int ndwl, + int ndbl, + int nspd, + int ndcm, + int ndsam1,//para50 + int ndsam2, + int ecc) +{ + g_ip = new InputParameter(); + + uca_org_t fin_res; + fin_res.valid = false; + + g_ip->data_arr_ram_cell_tech_type = data_arr_ram_cell_tech_flavor_in; + g_ip->data_arr_peri_global_tech_type = data_arr_peri_global_tech_flavor_in; + g_ip->tag_arr_ram_cell_tech_type = tag_arr_ram_cell_tech_flavor_in; + g_ip->tag_arr_peri_global_tech_type = tag_arr_peri_global_tech_flavor_in; + + g_ip->ic_proj_type = interconnect_projection_type_in; + g_ip->wire_is_mat_type = wire_inside_mat_type_in; + g_ip->wire_os_mat_type = wire_outside_mat_type_in; + g_ip->burst_len = BURST_LENGTH_in; + g_ip->int_prefetch_w = INTERNAL_PREFETCH_WIDTH_in; + g_ip->page_sz_bits = PAGE_SIZE_BITS_in; + + g_ip->cache_sz = cache_size; + g_ip->line_sz = line_size; + g_ip->assoc = associativity; + g_ip->nbanks = banks; + g_ip->out_w = output_width; + g_ip->specific_tag = specific_tag; + if (specific_tag == 0) { + g_ip->tag_w = 42; + } + else { + g_ip->tag_w = tag_width; + } + + g_ip->access_mode = access_mode; + g_ip->delay_wt = obj_func_delay; + g_ip->dynamic_power_wt = obj_func_dynamic_power; + g_ip->leakage_power_wt = obj_func_leakage_power; + g_ip->area_wt = obj_func_area; + g_ip->cycle_time_wt = obj_func_cycle_time; + g_ip->delay_dev = dev_func_delay; + g_ip->dynamic_power_dev = dev_func_dynamic_power; + g_ip->leakage_power_dev = dev_func_leakage_power; + g_ip->area_dev = dev_func_area; + g_ip->cycle_time_dev = dev_func_cycle_time; + g_ip->temp = temp; + g_ip->ed = ed_ed2_none; + + g_ip->F_sz_nm = tech_node; + g_ip->F_sz_um = tech_node / 1000; + g_ip->is_main_mem = (main_mem != 0) ? true : false; + g_ip->is_cache = (cache ==1) ? true : false; + g_ip->pure_ram = (cache ==0) ? true : false; + g_ip->pure_cam = (cache ==2) ? true : false; + g_ip->rpters_in_htree = (REPEATERS_IN_HTREE_SEGMENTS_in != 0) ? true : false; + g_ip->ver_htree_wires_over_array = VERTICAL_HTREE_WIRES_OVER_THE_ARRAY_in; + g_ip->broadcast_addr_din_over_ver_htrees = BROADCAST_ADDR_DATAIN_OVER_VERTICAL_HTREES_in; + + g_ip->num_rw_ports = rw_ports; + g_ip->num_rd_ports = excl_read_ports; + g_ip->num_wr_ports = excl_write_ports; + g_ip->num_se_rd_ports = single_ended_read_ports; + g_ip->num_search_ports = search_ports; + + g_ip->print_detail = 1; + g_ip->nuca = 0; + + if (force_wiretype == 0) + { + g_ip->wt = Global; + g_ip->force_wiretype = false; + } + else + { g_ip->force_wiretype = true; + if (wiretype==10) { + g_ip->wt = Global_10; + } + if (wiretype==20) { + g_ip->wt = Global_20; + } + if (wiretype==30) { + g_ip->wt = Global_30; + } + if (wiretype==5) { + g_ip->wt = Global_5; + } + if (wiretype==0) { + g_ip->wt = Low_swing; + } + } + //g_ip->wt = Global_5; + if (force_config == 0) + { + g_ip->force_cache_config = false; + } + else + { + g_ip->force_cache_config = true; + g_ip->ndbl=ndbl; + g_ip->ndwl=ndwl; + g_ip->nspd=nspd; + g_ip->ndcm=ndcm; + g_ip->ndsam1=ndsam1; + g_ip->ndsam2=ndsam2; + + + } + + if (ecc==0){ + g_ip->add_ecc_b_=false; + } + else + { + g_ip->add_ecc_b_=true; + } + + + if(!g_ip->error_checking()) + exit(0); + + init_tech_params(g_ip->F_sz_um, false); + Wire winit; // Do not delete this line. It initializes wires. + + g_ip->display_ip(); + solve(&fin_res); + output_UCA(&fin_res); + output_data_csv(fin_res); + delete (g_ip); + + return fin_res; +} + + + +bool InputParameter::error_checking() +{ + int A; + bool seq_access = false; + fast_access = true; + + switch (access_mode) + { + case 0: + seq_access = false; + fast_access = false; + break; + case 1: + seq_access = true; + fast_access = false; + break; + case 2: + seq_access = false; + fast_access = true; + break; + } + + if(is_main_mem) + { + if(ic_proj_type == 0 && !g_ip->is_3d_mem) + { + cerr << "DRAM model supports only conservative interconnect projection!\n\n"; + return false; + } + } + + + uint32_t B = line_sz; + + if (B < 1) + { + cerr << "Block size must >= 1" << endl; + return false; + } + else if (B*8 < out_w) + { + cerr << "Block size must be at least " << out_w/8 << endl; + return false; + } + + if (F_sz_um <= 0) + { + cerr << "Feature size must be > 0" << endl; + return false; + } + else if (F_sz_um > 0.091) + { + cerr << "Feature size must be <= 90 nm" << endl; + return false; + } + + + uint32_t RWP = num_rw_ports; + uint32_t ERP = num_rd_ports; + uint32_t EWP = num_wr_ports; + uint32_t NSER = num_se_rd_ports; + uint32_t SCHP = num_search_ports; + +//TODO: revisit this. This is an important feature. thought this should be used +// // If multiple banks and multiple ports are specified, then if number of ports is less than or equal to +// // the number of banks, we assume that the multiple ports are implemented via the multiple banks. +// // In such a case we assume that each bank has 1 RWP port. +// if ((RWP + ERP + EWP) <= nbanks && nbanks>1) +// { +// RWP = 1; +// ERP = 0; +// EWP = 0; +// NSER = 0; +// } +// else if ((RWP < 0) || (EWP < 0) || (ERP < 0)) +// { +// cerr << "Ports must >=0" << endl; +// return false; +// } +// else if (RWP > 2) +// { +// cerr << "Maximum of 2 read/write ports" << endl; +// return false; +// } +// else if ((RWP+ERP+EWP) < 1) + // Changed to new implementation: + // The number of ports specified at input is per bank + if ((RWP+ERP+EWP) < 1) + { + cerr << "Must have at least one port" << endl; + return false; + } + + if (is_pow2(nbanks) == false) + { + cerr << "Number of subbanks should be greater than or equal to 1 and should be a power of 2" << endl; + return false; + } + + int C = cache_sz/nbanks; + if (C < 64 && !g_ip->is_3d_mem) + { + cerr << "Cache size must >=64" << endl; + return false; + } + +//TODO: revisit this +// if (pure_ram==true && assoc!=1) +// { +// cerr << "Pure RAM must have assoc as 1" << endl; +// return false; +// } + + //fully assoc and cam check + if (is_cache && assoc==0) + fully_assoc =true; + else + fully_assoc = false; + + if (pure_cam==true && assoc!=0) + { + cerr << "Pure CAM must have associativity as 0" << endl; + return false; + } + + if (assoc==0 && (pure_cam==false && is_cache ==false)) + { + cerr << "Only CAM or Fully associative cache can have associativity as 0" << endl; + return false; + } + + if ((fully_assoc==true || pure_cam==true) + && (data_arr_ram_cell_tech_type!= tag_arr_ram_cell_tech_type + || data_arr_peri_global_tech_type != tag_arr_peri_global_tech_type )) + { + cerr << "CAM and fully associative cache must have same device type for both data and tag array" << endl; + return false; + } + + if ((fully_assoc==true || pure_cam==true) + && (data_arr_ram_cell_tech_type== lp_dram || data_arr_ram_cell_tech_type== comm_dram)) + { + cerr << "DRAM based CAM and fully associative cache are not supported" << endl; + return false; + } + + if ((fully_assoc==true || pure_cam==true) + && (is_main_mem==true)) + { + cerr << "CAM and fully associative cache cannot be as main memory" << endl; + return false; + } + + if ((fully_assoc || pure_cam) && SCHP<1) + { + cerr << "CAM and fully associative must have at least 1 search port" << endl; + return false; + } + + if (RWP==0 && ERP==0 && SCHP>0 && ((fully_assoc || pure_cam))) + { + ERP=SCHP; + } + +// if ((!(fully_assoc || pure_cam)) && SCHP>=1) +// { +// cerr << "None CAM and fully associative cannot have search ports" << endl; +// return false; +// } + + if (assoc == 0) + { + A = C/B; + //fully_assoc = true; + } + else + { + if (assoc == 1) + { + A = 1; + //fully_assoc = false; + } + else + { + //fully_assoc = false; + A = assoc; + if (is_pow2(A) == false) + { + cerr << "Associativity must be a power of 2" << endl; + return false; + } + } + } + + if (C/(B*A) <= 1 && assoc!=0 && !g_ip->is_3d_mem) + { + cerr << "Number of sets is too small: " << endl; + cerr << " Need to either increase cache size, or decrease associativity or block size" << endl; + cerr << " (or use fully associative cache)" << endl; + return false; + } + + block_sz = B; + + /*dt: testing sequential access mode*/ + if(seq_access) + { + tag_assoc = A; + data_assoc = 1; + is_seq_acc = true; + } + else + { + tag_assoc = A; + data_assoc = A; + is_seq_acc = false; + } + + if (assoc==0) + { + data_assoc = 1; + } + num_rw_ports = RWP; + num_rd_ports = ERP; + num_wr_ports = EWP; + num_se_rd_ports = NSER; + if (!(fully_assoc || pure_cam)) + num_search_ports = 0; + nsets = C/(B*A); + + if (temp < 300 || temp > 400 || temp%10 != 0) + { + cerr << temp << " Temperature must be between 300 and 400 Kelvin and multiple of 10." << endl; + return false; + } + + if (nsets < 1 && !g_ip->is_3d_mem) + { + cerr << "Less than one set..." << endl; + return false; + } + + power_gating = (array_power_gated + || bitline_floating + || wl_power_gated + || cl_power_gated + || interconect_power_gated)?true:false; + + return true; +} + +void output_data_csv_3dd(const uca_org_t & fin_res) +{ + //TODO: the csv output should remain + fstream file("out.csv", ios::in); + bool print_index = file.fail(); + file.close(); + + file.open("out.csv", ios::out|ios::app); + if (file.fail() == true) + { + cerr << "File out.csv could not be opened successfully" << endl; + } + else + { + //print_index = false; + if (print_index == true) + { + file << "Tech node (nm), "; + file << "Number of tiers, "; + file << "Capacity (MB) per die, "; + file << "Number of banks, "; + file << "Page size in bits, "; + //file << "Output width (bits), "; + file << "Burst depth, "; + file << "IO width, "; + file << "Ndwl, "; + file << "Ndbl, "; + file << "N rows in subarray, "; + file << "N cols in subarray, "; +// file << "Access time (ns), "; +// file << "Random cycle time (ns), "; +// file << "Multisubbank interleave cycle time (ns), "; + +// file << "Delay request network (ns), "; +// file << "Delay inside mat (ns), "; +// file << "Delay reply network (ns), "; +// file << "Tag array access time (ns), "; +// file << "Data array access time (ns), "; +// file << "Refresh period (microsec), "; +// file << "DRAM array availability (%), "; + + + +// file << "Dynamic search energy (nJ), "; +// file << "Dynamic read energy (nJ), "; +// file << "Dynamic write energy (nJ), "; +// file << "Tag Dynamic read energy (nJ), "; +// file << "Data Dynamic read energy (nJ), "; +// file << "Dynamic read power (mW), "; +// file << "Standby leakage per bank(mW), "; +// file << "Leakage per bank with leak power management (mW), "; +// file << "Leakage per bank with leak power management (mW), "; +// file << "Refresh power as percentage of standby leakage, "; + file << "Area (mm2), "; + +// file << "Nspd, "; +// file << "Ndcm, "; +// file << "Ndsam_level_1, "; +// file << "Ndsam_level_2, "; + file << "Data arrary area efficiency %, "; +// file << "Ntwl, "; +// file << "Ntbl, "; +// file << "Ntspd, "; +// file << "Ntcm, "; +// file << "Ntsam_level_1, "; +// file << "Ntsam_level_2, "; +// file << "Tag arrary area efficiency %, "; + +// file << "Resistance per unit micron (ohm-micron), "; +// file << "Capacitance per unit micron (fF per micron), "; +// file << "Unit-length wire delay (ps), "; +// file << "FO4 delay (ps), "; +// file << "delay route to bank (including crossb delay) (ps), "; +// file << "Crossbar delay (ps), "; +// file << "Dyn read energy per access from closed page (nJ), "; +// file << "Dyn read energy per access from open page (nJ), "; +// file << "Leak power of an subbank with page closed (mW), "; +// file << "Leak power of a subbank with page open (mW), "; +// file << "Leak power of request and reply networks (mW), "; +// file << "Number of subbanks, "; + + file << "Number of TSVs in total, "; + file << "Delay of TSVs (ns) worst case, "; + file << "Area of TSVs (mm2) in total, "; + file << "Energy of TSVs (nJ) per access, "; + + file << "t_RCD (ns), "; + file << "t_RAS (ns), "; + file << "t_RC (ns), "; + file << "t_CAS (ns), "; + file << "t_RP (ns), "; + + + file << "Activate energy (nJ), "; + file << "Read energy (nJ), "; + file << "Write energy (nJ), "; + file << "Precharge energy (nJ), "; + //file << "tRCD, "; + //file << "CAS latency, "; + //file << "Precharge delay, "; +// file << "Perc dyn energy bitlines, "; +// file << "perc dyn energy wordlines, "; +// file << "perc dyn energy outside mat, "; +// file << "Area opt (perc), "; +// file << "Delay opt (perc), "; +// file << "Repeater opt (perc), "; + //file << "Aspect ratio"; + file << "t_RRD (ns), "; + file << "Number tiers for a row, "; + file << "Number tiers for a column, "; + file << "delay_row_activate_net, " ; + file << "delay_row_predecode_driver_and_block, " ; + file << "delay_row_decoder, " ; + file << "delay_local_wordline , " ; + file << "delay_bitlines, " ; + file << "delay_sense_amp, " ; + + file << "delay_column_access_net, " ; + file << "delay_column_predecoder, " ; + file << "delay_column_decoder, " ; + file << "delay_column_selectline, " ; + file << "delay_datapath_net, " ; + file << "delay_global_data, " ; + file << "delay_local_data_and_drv, " ; + file << "delay_data_buffer, " ; + file << "delay_subarray_output_driver, " ; + + file << "energy_row_activate_net, "; + file << "energy_row_predecode_driver_and_block, "; + file << "energy_row_decoder, "; + file << "energy_local_wordline, "; + file << "energy_bitlines, "; + file << "energy_sense_amp, "; + + file << "energy_column_access_net, "; + file << "energy_column_predecoder, "; + file << "energy_column_decoder, "; + file << "energy_column_selectline, "; + file << "energy_datapath_net, "; + file << "energy_global_data, "; + file << "energy_local_data_and_drv, "; + file << "energy_subarray_output_driver, "; + file << "energy_data_buffer, "; + + file << "area_subarray, "; + file << "area_lwl_drv, "; + file << "area_row_predec_dec, "; + file << "area_col_predec_dec, "; + file << "area_bus, "; + file << "area_address_bus, "; + file << "area_data_bus, "; + file << "area_data_drv, "; + file << "area_IOSA, "; + file << endl; + } + file << g_ip->F_sz_nm << ", "; + file << g_ip->num_die_3d << ", "; + file << g_ip->cache_sz * 1024 / g_ip->num_die_3d << ", "; + file << g_ip->nbanks << ", "; + file << g_ip->page_sz_bits << ", " ; +// file << g_ip->tag_assoc << ", "; + //file << g_ip->out_w << ", "; + file << g_ip->burst_depth << ", "; + file << g_ip->io_width << ", "; + + file << fin_res.data_array2->Ndwl << ", "; + file << fin_res.data_array2->Ndbl << ", "; + file << fin_res.data_array2->num_row_subarray << ", "; + file << fin_res.data_array2->num_col_subarray << ", "; +// file << fin_res.access_time*1e+9 << ", "; +// file << fin_res.cycle_time*1e+9 << ", "; +// file << fin_res.data_array2->multisubbank_interleave_cycle_time*1e+9 << ", "; +// file << fin_res.data_array2->delay_request_network*1e+9 << ", "; +// file << fin_res.data_array2->delay_inside_mat*1e+9 << ", "; +// file << fin_res.data_array2.delay_reply_network*1e+9 << ", "; + +// if (!(g_ip->fully_assoc || g_ip->pure_cam || g_ip->pure_ram)) +// { +// file << fin_res.tag_array2->access_time*1e+9 << ", "; +// } +// else +// { +// file << 0 << ", "; +// } +// file << fin_res.data_array2->access_time*1e+9 << ", "; +// file << fin_res.data_array2->dram_refresh_period*1e+6 << ", "; +// file << fin_res.data_array2->dram_array_availability << ", "; +/* if (g_ip->fully_assoc || g_ip->pure_cam) + { + file << fin_res.power.searchOp.dynamic*1e+9 << ", "; + } + else + { + file << "N/A" << ", "; + } + */ +// file << fin_res.power.readOp.dynamic*1e+9 << ", "; +// file << fin_res.power.writeOp.dynamic*1e+9 << ", "; +// if (!(g_ip->fully_assoc || g_ip->pure_cam || g_ip->pure_ram)) +// { +// file << fin_res.tag_array2->power.readOp.dynamic*1e+9 << ", "; +// } +// else +// { +// file << "NA" << ", "; +// } +// file << fin_res.data_array2->power.readOp.dynamic*1e+9 << ", "; +// if (g_ip->fully_assoc || g_ip->pure_cam) +// { +// file << fin_res.power.searchOp.dynamic*1000/fin_res.cycle_time << ", "; +// } +// else +// { +// file << fin_res.power.readOp.dynamic*1000/fin_res.cycle_time << ", "; +// } + +// file <<( fin_res.power.readOp.leakage + fin_res.power.readOp.gate_leakage )*1000 << ", "; +// file << fin_res.leak_power_with_sleep_transistors_in_mats*1000 << ", "; +// file << fin_res.data_array.refresh_power / fin_res.data_array.total_power.readOp.leakage << ", "; + file << fin_res.data_array2->area *1e-6 << ", "; + +// file << fin_res.data_array2->Nspd << ", "; +// file << fin_res.data_array2->deg_bl_muxing << ", "; +// file << fin_res.data_array2->Ndsam_lev_1 << ", "; +// file << fin_res.data_array2->Ndsam_lev_2 << ", "; + file << fin_res.data_array2->area_efficiency << ", "; +/* if (!(g_ip->fully_assoc || g_ip->pure_cam || g_ip->pure_ram)) + { + file << fin_res.tag_array2->Ndwl << ", "; + file << fin_res.tag_array2->Ndbl << ", "; + file << fin_res.tag_array2->Nspd << ", "; + file << fin_res.tag_array2->deg_bl_muxing << ", "; + file << fin_res.tag_array2->Ndsam_lev_1 << ", "; + file << fin_res.tag_array2->Ndsam_lev_2 << ", "; + file << fin_res.tag_array2->area_efficiency << ", "; + } + else + { + file << "N/A" << ", "; + file << "N/A"<< ", "; + file << "N/A" << ", "; + file << "N/A" << ", "; + file << "N/A" << ", "; + file << "N/A" << ", "; + file << "N/A" << ", "; + } +*/ + file << fin_res.data_array2->num_TSV_tot << ", "; + file << fin_res.data_array2->delay_TSV_tot *1e9 << ", "; + file << fin_res.data_array2->area_TSV_tot *1e-6 << ", "; + file << fin_res.data_array2->dyn_pow_TSV_per_access *1e9 << ", "; + + file << fin_res.data_array2->t_RCD *1e9 << ", "; + file << fin_res.data_array2->t_RAS *1e9 << ", "; + file << fin_res.data_array2->t_RC *1e9 << ", "; + file << fin_res.data_array2->t_CAS *1e9 << ", "; + file << fin_res.data_array2->t_RP *1e9 << ", "; + + + +// file << g_tp.wire_inside_mat.R_per_um << ", "; +// file << g_tp.wire_inside_mat.C_per_um / 1e-15 << ", "; +// file << g_tp.unit_len_wire_del / 1e-12 << ", "; +// file << g_tp.FO4 / 1e-12 << ", "; +// file << fin_res.data_array.delay_route_to_bank / 1e-9 << ", "; +// file << fin_res.data_array.delay_crossbar / 1e-9 << ", "; +// file << fin_res.data_array.dyn_read_energy_from_closed_page / 1e-9 << ", "; +// file << fin_res.data_array.dyn_read_energy_from_open_page / 1e-9 << ", "; +// file << fin_res.data_array.leak_power_subbank_closed_page / 1e-3 << ", "; +// file << fin_res.data_array.leak_power_subbank_open_page / 1e-3 << ", "; +// file << fin_res.data_array.leak_power_request_and_reply_networks / 1e-3 << ", "; +// file << fin_res.data_array.number_subbanks << ", " ; + //file << fin_res.data_array.page_size_in_bits << ", " ; + + file << fin_res.data_array2->activate_energy * 1e9 << ", " ; + file << fin_res.data_array2->read_energy * 1e9 << ", " ; + file << fin_res.data_array2->write_energy * 1e9 << ", " ; + file << fin_res.data_array2->precharge_energy * 1e9 << ", " ; + //file << fin_res.data_array.trcd * 1e9 << ", " ; + //file << fin_res.data_array.cas_latency * 1e9 << ", " ; + //file << fin_res.data_array.precharge_delay * 1e9 << ", " ; + //file << fin_res.data_array.all_banks_height / fin_res.data_array.all_banks_width; + + file << fin_res.data_array2->t_RRD * 1e9 << ", " ; + file << g_ip->num_tier_row_sprd << ", " ; + file << g_ip->num_tier_col_sprd << ", " ; + + file << fin_res.data_array2->delay_row_activate_net * 1e9 << ", " ; + file << fin_res.data_array2->delay_row_predecode_driver_and_block * 1e9 << ", " ; + file << fin_res.data_array2->delay_row_decoder * 1e9 << ", " ; + file << fin_res.data_array2->delay_local_wordline * 1e9 << ", " ; + file << fin_res.data_array2->delay_bitlines * 1e9 << ", " ; + file << fin_res.data_array2->delay_sense_amp * 1e9 << ", " ; + file << fin_res.data_array2->delay_column_access_net * 1e9 << ", " ; + file << fin_res.data_array2->delay_column_predecoder * 1e9 << ", " ; + file << fin_res.data_array2->delay_column_decoder * 1e9 << ", " ; + file << fin_res.data_array2->delay_column_selectline * 1e9 << ", " ; + file << fin_res.data_array2->delay_datapath_net * 1e9 << ", " ; + file << fin_res.data_array2->delay_global_data * 1e9 << ", " ; + file << fin_res.data_array2->delay_local_data_and_drv * 1e9 << ", " ; + file << fin_res.data_array2->delay_data_buffer * 1e9 << ", " ; + file << fin_res.data_array2->delay_subarray_output_driver * 1e9 << ", " ; + + file << fin_res.data_array2->energy_row_activate_net * 1e9 << ", " ; + file << fin_res.data_array2->energy_row_predecode_driver_and_block * 1e9 << ", " ; + file << fin_res.data_array2->energy_row_decoder * 1e9 << ", " ; + file << fin_res.data_array2->energy_local_wordline * 1e9 << ", " ; + file << fin_res.data_array2->energy_bitlines * 1e9 << ", " ; + file << fin_res.data_array2->energy_sense_amp * 1e9 << ", " ; + + file << fin_res.data_array2->energy_column_access_net * 1e9 << ", " ; + file << fin_res.data_array2->energy_column_predecoder * 1e9 << ", " ; + file << fin_res.data_array2->energy_column_decoder * 1e9 << ", " ; + file << fin_res.data_array2->energy_column_selectline * 1e9 << ", " ; + file << fin_res.data_array2->energy_datapath_net * 1e9 << ", " ; + file << fin_res.data_array2->energy_global_data * 1e9 << ", " ; + file << fin_res.data_array2->energy_local_data_and_drv * 1e9 << ", " ; + file << fin_res.data_array2->energy_subarray_output_driver * 1e9 << ", " ; + file << fin_res.data_array2->energy_data_buffer * 1e9 << ", " ; + + file << fin_res.data_array2->area_subarray / 1e6 << ", " ; + file << fin_res.data_array2->area_lwl_drv / 1e6 << ", " ; + file << fin_res.data_array2->area_row_predec_dec / 1e6 << ", " ; + file << fin_res.data_array2->area_col_predec_dec / 1e6 << ", " ; + file << fin_res.data_array2->area_bus / 1e6 << ", " ; + file << fin_res.data_array2->area_address_bus / 1e6 << ", " ; + file << fin_res.data_array2->area_data_bus / 1e6 << ", " ; + file << fin_res.data_array2->area_data_drv / 1e6 << ", " ; + file << fin_res.data_array2->area_IOSA / 1e6 << ", " ; + file << fin_res.data_array2->area_sense_amp / 1e6 << ", " ; + file<F_sz_nm << ", "; + file << g_ip->cache_sz << ", "; + file << g_ip->nbanks << ", "; + file << g_ip->tag_assoc << ", "; + file << g_ip->out_w << ", "; + file << fin_res.access_time*1e+9 << ", "; + file << fin_res.cycle_time*1e+9 << ", "; +// file << fin_res.data_array2->multisubbank_interleave_cycle_time*1e+9 << ", "; +// file << fin_res.data_array2->delay_request_network*1e+9 << ", "; +// file << fin_res.data_array2->delay_inside_mat*1e+9 << ", "; +// file << fin_res.data_array2.delay_reply_network*1e+9 << ", "; + +// if (!(g_ip->fully_assoc || g_ip->pure_cam || g_ip->pure_ram)) +// { +// file << fin_res.tag_array2->access_time*1e+9 << ", "; +// } +// else +// { +// file << 0 << ", "; +// } +// file << fin_res.data_array2->access_time*1e+9 << ", "; +// file << fin_res.data_array2->dram_refresh_period*1e+6 << ", "; +// file << fin_res.data_array2->dram_array_availability << ", "; + if (g_ip->fully_assoc || g_ip->pure_cam) + { + file << fin_res.power.searchOp.dynamic*1e+9 << ", "; + } + else + { + file << "N/A" << ", "; + } + file << fin_res.power.readOp.dynamic*1e+9 << ", "; + file << fin_res.power.writeOp.dynamic*1e+9 << ", "; +// if (!(g_ip->fully_assoc || g_ip->pure_cam || g_ip->pure_ram)) +// { +// file << fin_res.tag_array2->power.readOp.dynamic*1e+9 << ", "; +// } +// else +// { +// file << "NA" << ", "; +// } +// file << fin_res.data_array2->power.readOp.dynamic*1e+9 << ", "; +// if (g_ip->fully_assoc || g_ip->pure_cam) +// { +// file << fin_res.power.searchOp.dynamic*1000/fin_res.cycle_time << ", "; +// } +// else +// { +// file << fin_res.power.readOp.dynamic*1000/fin_res.cycle_time << ", "; +// } + + file <<( fin_res.power.readOp.leakage + fin_res.power.readOp.gate_leakage )*1000 << ", "; +// file << fin_res.leak_power_with_sleep_transistors_in_mats*1000 << ", "; +// file << fin_res.data_array.refresh_power / fin_res.data_array.total_power.readOp.leakage << ", "; + file << fin_res.area*1e-6 << ", "; + + file << fin_res.data_array2->Ndwl << ", "; + file << fin_res.data_array2->Ndbl << ", "; + file << fin_res.data_array2->Nspd << ", "; + file << fin_res.data_array2->deg_bl_muxing << ", "; + file << fin_res.data_array2->Ndsam_lev_1 << ", "; + file << fin_res.data_array2->Ndsam_lev_2 << ", "; + file << fin_res.data_array2->area_efficiency << ", "; + if (!(g_ip->fully_assoc || g_ip->pure_cam || g_ip->pure_ram)) + { + file << fin_res.tag_array2->Ndwl << ", "; + file << fin_res.tag_array2->Ndbl << ", "; + file << fin_res.tag_array2->Nspd << ", "; + file << fin_res.tag_array2->deg_bl_muxing << ", "; + file << fin_res.tag_array2->Ndsam_lev_1 << ", "; + file << fin_res.tag_array2->Ndsam_lev_2 << ", "; + file << fin_res.tag_array2->area_efficiency << ", "; + } + else + { + file << "N/A" << ", "; + file << "N/A"<< ", "; + file << "N/A" << ", "; + file << "N/A" << ", "; + file << "N/A" << ", "; + file << "N/A" << ", "; + file << "N/A" << ", "; + } + +// file << g_tp.wire_inside_mat.R_per_um << ", "; +// file << g_tp.wire_inside_mat.C_per_um / 1e-15 << ", "; +// file << g_tp.unit_len_wire_del / 1e-12 << ", "; +// file << g_tp.FO4 / 1e-12 << ", "; +// file << fin_res.data_array.delay_route_to_bank / 1e-9 << ", "; +// file << fin_res.data_array.delay_crossbar / 1e-9 << ", "; +// file << fin_res.data_array.dyn_read_energy_from_closed_page / 1e-9 << ", "; +// file << fin_res.data_array.dyn_read_energy_from_open_page / 1e-9 << ", "; +// file << fin_res.data_array.leak_power_subbank_closed_page / 1e-3 << ", "; +// file << fin_res.data_array.leak_power_subbank_open_page / 1e-3 << ", "; +// file << fin_res.data_array.leak_power_request_and_reply_networks / 1e-3 << ", "; +// file << fin_res.data_array.number_subbanks << ", " ; +// file << fin_res.data_array.page_size_in_bits << ", " ; +// file << fin_res.data_array.activate_energy * 1e9 << ", " ; +// file << fin_res.data_array.read_energy * 1e9 << ", " ; +// file << fin_res.data_array.write_energy * 1e9 << ", " ; +// file << fin_res.data_array.precharge_energy * 1e9 << ", " ; +// file << fin_res.data_array.trcd * 1e9 << ", " ; +// file << fin_res.data_array.cas_latency * 1e9 << ", " ; +// file << fin_res.data_array.precharge_delay * 1e9 << ", " ; +// file << fin_res.data_array.all_banks_height / fin_res.data_array.all_banks_width; + file<is_3d_mem) + { + + cout<<"------- CACTI (version "<< VER_MAJOR_CACTI <<"."<< VER_MINOR_CACTI<<"."VER_COMMENT_CACTI + << " of " << VER_UPDATE_CACTI << ") 3D DRAM Main Memory -------"<cache_sz) << endl; + if(g_ip->num_die_3d>1) + { + cout << " Stacked die count: " << (int) g_ip->num_die_3d << endl; + if(g_ip->TSV_proj_type == 1) + cout << " TSV projection: industrial conservative" << endl; + else + cout << " TSV projection: ITRS aggressive" << endl; + } + cout << " Number of banks: " << (int) g_ip->nbanks << endl; + cout << " Technology size (nm): " << g_ip->F_sz_nm << endl; + cout << " Page size (bits): " << g_ip->page_sz_bits << endl; + cout << " Burst depth: " << g_ip->burst_depth << endl; + cout << " Chip IO width: " << g_ip->io_width << endl; + cout << " Best Ndwl: " << fr->data_array2->Ndwl << endl; + cout << " Best Ndbl: " << fr->data_array2->Ndbl << endl; + cout << " # rows in subarray: " << fr->data_array2->num_row_subarray << endl; + cout << " # columns in subarray: " << fr->data_array2->num_col_subarray << endl; + + cout <<"\nResults:\n"; + cout<<"Timing Components:"<data_array2->t_RCD * 1e9 << " ns" <data_array2->t_RAS * 1e9 << " ns" <data_array2->t_RC * 1e9 << " ns" <data_array2->t_CAS * 1e9 << " ns" <data_array2->t_RP* 1e9 << " ns" <data_array2->t_RRD* 1e9 << " ns" <data_array2->t_RRD * 1e9 << " ns"<data_array2->activate_energy * 1e9 << " nJ" <data_array2->read_energy * 1e9 << " nJ" <data_array2->write_energy * 1e9 << " nJ" <data_array2->precharge_energy * 1e9 << " nJ" <data_array2->activate_power * 1e3 << " mW" <data_array2->read_power * 1e3 << " mW" <data_array2->write_power * 1e3 << " mW" <burst_depth)/(g_ip->sys_freq_MHz*1e6)/2) * 1e3 << " mW" <data_array2->area/1e6<<" mm2"<partition_gran>0) ? fr->data_array2->area : (fr->data_array2->area/0.5); + double DRAM_area_per_die = (g_ip->partition_gran>0) ? fr->data_array2->area : (fr->data_array2->area + fr->data_array2->area_ram_cells*0.65); + //double DRAM_area_per_die = (g_ip->partition_gran>0) ? fr->data_array2->area : (fr->data_array2->area + 2.5e9*(double)(g_ip->F_sz_um)*(g_ip->F_sz_um)); + double area_efficiency_per_die = (g_ip->partition_gran>0) ? fr->data_array2->area_efficiency : (fr->data_array2->area_ram_cells / DRAM_area_per_die *100); + double DRAM_width = (g_ip->partition_gran>0) ? fr->data_array2->all_banks_width : (fr->data_array2->all_banks_width + (DRAM_area_per_die-fr->data_array2->area)/fr->data_array2->all_banks_height); + cout<<" DRAM core area: "<< fr->data_array2->area/1e6 <<" mm2"<partition_gran == 0) + cout<<" DRAM area per die: "<< DRAM_area_per_die/1e6 <<" mm2"<data_array2->all_banks_height/1e3 <<" mm"<num_die_3d>1) + { + cout<<"TSV Components:"<data_array2->area_TSV_tot /1e6 <<" mm2"<data_array2->delay_TSV_tot * 1e9 <<" ns"<data_array2->dyn_pow_TSV_per_access * 1e9 <<" nJ"<is_3d_mem) + { + // if (NUCA) + if (0) { + cout << "\n\n Detailed Bank Stats:\n"; + cout << " Bank Size (bytes): %d\n" << + (int) (g_ip->cache_sz); + } + else { + if (g_ip->data_arr_ram_cell_tech_type == 3) { + cout << "\n---------- CACTI (version "<< VER_MAJOR_CACTI <<"."<< VER_MINOR_CACTI<<"."VER_COMMENT_CACTI + << " of " << VER_UPDATE_CACTI << "), Uniform Cache Access " << + "Logic Process Based DRAM Model ----------\n"; + } + else if (g_ip->data_arr_ram_cell_tech_type == 4) { + cout << "\n---------- CACTI (version "<< VER_MAJOR_CACTI <<"."<< VER_MINOR_CACTI<<"."VER_COMMENT_CACTI + << " of " << VER_UPDATE_CACTI << "), Uniform" << + "Cache Access Commodity DRAM Model ----------\n"; + } + else { + cout << "\n---------- CACTI (version "<< VER_MAJOR_CACTI <<"."<< VER_MINOR_CACTI<<"."VER_COMMENT_CACTI + << " of " << VER_UPDATE_CACTI << "), Uniform Cache Access " + "SRAM Model ----------\n"; + } + cout << "\nCache Parameters:\n"; + cout << " Total cache size (bytes): " << + (int) (g_ip->cache_sz) << endl; + } + + cout << " Number of banks: " << (int) g_ip->nbanks << endl; + if (g_ip->fully_assoc|| g_ip->pure_cam) + cout << " Associativity: fully associative\n"; + else { + if (g_ip->tag_assoc == 1) + cout << " Associativity: direct mapped\n"; + else + cout << " Associativity: " << + g_ip->tag_assoc << endl; + } + + + cout << " Block size (bytes): " << g_ip->line_sz << endl; + cout << " Read/write Ports: " << + g_ip->num_rw_ports << endl; + cout << " Read ports: " << + g_ip->num_rd_ports << endl; + cout << " Write ports: " << + g_ip->num_wr_ports << endl; + if (g_ip->fully_assoc|| g_ip->pure_cam) + cout << " search ports: " << + g_ip->num_search_ports << endl; + cout << " Technology size (nm): " << + g_ip->F_sz_nm << endl << endl; + + cout << " Access time (ns): " << fr->access_time*1e9 << endl; + cout << " Cycle time (ns): " << fr->cycle_time*1e9 << endl; + if (g_ip->data_arr_ram_cell_tech_type >= 4) { + cout << " Precharge Delay (ns): " << fr->data_array2->precharge_delay*1e9 << endl; + cout << " Activate Energy (nJ): " << fr->data_array2->activate_energy*1e9 << endl; + cout << " Read Energy (nJ): " << fr->data_array2->read_energy*1e9 << endl; + cout << " Write Energy (nJ): " << fr->data_array2->write_energy*1e9 << endl; + cout << " Precharge Energy (nJ): " << fr->data_array2->precharge_energy*1e9 << endl; + cout << " Leakage Power Closed Page (mW): " << fr->data_array2->leak_power_subbank_closed_page*1e3 << endl; + cout << " Leakage Power Open Page (mW): " << fr->data_array2->leak_power_subbank_open_page*1e3 << endl; + cout << " Leakage Power I/O (mW): " << fr->data_array2->leak_power_request_and_reply_networks*1e3 << endl; + cout << " Refresh power (mW): " << + fr->data_array2->refresh_power*1e3 << endl; + } + else { + if ((g_ip->fully_assoc|| g_ip->pure_cam)) + { + cout << " Total dynamic associative search energy per access (nJ): " << + fr->power.searchOp.dynamic*1e9 << endl; +// cout << " Total dynamic read energy per access (nJ): " << +// fr->power.readOp.dynamic*1e9 << endl; +// cout << " Total dynamic write energy per access (nJ): " << +// fr->power.writeOp.dynamic*1e9 << endl; + } +// else +// { + cout << " Total dynamic read energy per access (nJ): " << + fr->power.readOp.dynamic*1e9 << endl; + cout << " Total dynamic write energy per access (nJ): " << + fr->power.writeOp.dynamic*1e9 << endl; +// } + cout << " Total leakage power of a bank" + " (mW): " << fr->power.readOp.leakage*1e3 << endl; + cout << " Total gate leakage power of a bank" + " (mW): " << fr->power.readOp.gate_leakage*1e3 << endl; + } + + if (g_ip->data_arr_ram_cell_tech_type ==3 || g_ip->data_arr_ram_cell_tech_type ==4) + { + } + cout << " Cache height x width (mm): " << + fr->cache_ht*1e-3 << " x " << fr->cache_len*1e-3 << endl << endl; + + + cout << " Best Ndwl : " << fr->data_array2->Ndwl << endl; + cout << " Best Ndbl : " << fr->data_array2->Ndbl << endl; + cout << " Best Nspd : " << fr->data_array2->Nspd << endl; + cout << " Best Ndcm : " << fr->data_array2->deg_bl_muxing << endl; + cout << " Best Ndsam L1 : " << fr->data_array2->Ndsam_lev_1 << endl; + cout << " Best Ndsam L2 : " << fr->data_array2->Ndsam_lev_2 << endl << endl; + + if ((!(g_ip->pure_ram|| g_ip->pure_cam || g_ip->fully_assoc)) && !g_ip->is_main_mem) + { + cout << " Best Ntwl : " << fr->tag_array2->Ndwl << endl; + cout << " Best Ntbl : " << fr->tag_array2->Ndbl << endl; + cout << " Best Ntspd : " << fr->tag_array2->Nspd << endl; + cout << " Best Ntcm : " << fr->tag_array2->deg_bl_muxing << endl; + cout << " Best Ntsam L1 : " << fr->tag_array2->Ndsam_lev_1 << endl; + cout << " Best Ntsam L2 : " << fr->tag_array2->Ndsam_lev_2 << endl; + } + + switch (fr->data_array2->wt) { + case (0): + cout << " Data array, H-tree wire type: Delay optimized global wires\n"; + break; + case (1): + cout << " Data array, H-tree wire type: Global wires with 5\% delay penalty\n"; + break; + case (2): + cout << " Data array, H-tree wire type: Global wires with 10\% delay penalty\n"; + break; + case (3): + cout << " Data array, H-tree wire type: Global wires with 20\% delay penalty\n"; + break; + case (4): + cout << " Data array, H-tree wire type: Global wires with 30\% delay penalty\n"; + break; + case (5): + cout << " Data array, wire type: Low swing wires\n"; + break; + default: + cout << "ERROR - Unknown wire type " << (int) fr->data_array2->wt <pure_ram|| g_ip->pure_cam || g_ip->fully_assoc)) { + switch (fr->tag_array2->wt) { + case (0): + cout << " Tag array, H-tree wire type: Delay optimized global wires\n"; + break; + case (1): + cout << " Tag array, H-tree wire type: Global wires with 5\% delay penalty\n"; + break; + case (2): + cout << " Tag array, H-tree wire type: Global wires with 10\% delay penalty\n"; + break; + case (3): + cout << " Tag array, H-tree wire type: Global wires with 20\% delay penalty\n"; + break; + case (4): + cout << " Tag array, H-tree wire type: Global wires with 30\% delay penalty\n"; + break; + case (5): + cout << " Tag array, wire type: Low swing wires\n"; + break; + default: + cout << "ERROR - Unknown wire type " << (int) fr->tag_array2->wt <is_3d_mem) + if (g_ip->print_detail) + { + //if(g_ip->fully_assoc) return; + + if (g_ip->is_3d_mem) + { + cout << endl << endl << "3D DRAM Detail Components:" << endl << endl; + cout << endl << "Time Components:" << endl << endl; + cout << "\t row activation bus delay (ns): " << fr->data_array2->delay_row_activate_net*1e9 << endl; + cout << "\t row predecoder delay (ns): " << fr->data_array2->delay_row_predecode_driver_and_block*1e9 << endl; + cout << "\t row decoder delay (ns): " << fr->data_array2->delay_row_decoder*1e9 << endl; + cout << "\t local wordline delay (ns): " << fr->data_array2->delay_local_wordline*1e9 << endl; + cout << "\t bitline delay (ns): " << fr->data_array2->delay_bitlines*1e9 << endl; + cout << "\t sense amp delay (ns): " << fr->data_array2->delay_sense_amp*1e9 << endl; + cout << "\t column access bus delay (ns): " << fr->data_array2->delay_column_access_net*1e9 << endl; + cout << "\t column predecoder delay (ns): " << fr->data_array2->delay_column_predecoder*1e9 << endl; + cout << "\t column decoder delay (ns): " << fr->data_array2->delay_column_decoder*1e9 << endl; + //cout << "\t column selectline delay (ns): " << fr->data_array2->delay_column_selectline*1e9 << endl; + cout << "\t datapath bus delay (ns): " << fr->data_array2->delay_datapath_net*1e9 << endl; + cout << "\t global dataline delay (ns): " << fr->data_array2->delay_global_data*1e9 << endl; + cout << "\t local dataline delay (ns): " << fr->data_array2->delay_local_data_and_drv*1e9 << endl; + cout << "\t data buffer delay (ns): " << fr->data_array2->delay_data_buffer*1e9 << endl; + cout << "\t subarray output driver delay (ns): " << fr->data_array2->delay_subarray_output_driver*1e9 << endl; + + cout << endl << "Energy Components:" << endl << endl; + cout << "\t row activation bus energy (nJ): " << fr->data_array2->energy_row_activate_net*1e9 << endl; + cout << "\t row predecoder energy (nJ): " << fr->data_array2->energy_row_predecode_driver_and_block*1e9 << endl; + cout << "\t row decoder energy (nJ): " << fr->data_array2->energy_row_decoder*1e9 << endl; + cout << "\t local wordline energy (nJ): " << fr->data_array2->energy_local_wordline*1e9 << endl; + cout << "\t bitline energy (nJ): " << fr->data_array2->energy_bitlines*1e9 << endl; + cout << "\t sense amp energy (nJ): " << fr->data_array2->energy_sense_amp*1e9 << endl; + cout << "\t column access bus energy (nJ): " << fr->data_array2->energy_column_access_net*1e9 << endl; + cout << "\t column predecoder energy (nJ): " << fr->data_array2->energy_column_predecoder*1e9 << endl; + cout << "\t column decoder energy (nJ): " << fr->data_array2->energy_column_decoder*1e9 << endl; + cout << "\t column selectline energy (nJ): " << fr->data_array2->energy_column_selectline*1e9 << endl; + cout << "\t datapath bus energy (nJ): " << fr->data_array2->energy_datapath_net*1e9 << endl; + cout << "\t global dataline energy (nJ): " << fr->data_array2->energy_global_data*1e9 << endl; + cout << "\t local dataline energy (nJ): " << fr->data_array2->energy_local_data_and_drv*1e9 << endl; + cout << "\t data buffer energy (nJ): " << fr->data_array2->energy_subarray_output_driver*1e9 << endl; + //cout << "\t subarray output driver energy (nJ): " << fr->data_array2->energy_data_buffer*1e9 << endl; + + cout << endl << "Area Components:" << endl << endl; + //cout << "\t subarray area (mm2): " << fr->data_array2->area_subarray/1e6 << endl; + cout << "\t DRAM cell area (mm2): " << fr->data_array2->area_ram_cells/1e6 << endl; + cout << "\t local WL driver area (mm2): " << fr->data_array2->area_lwl_drv/1e6 << endl; + cout << "\t subarray sense amp area (mm2): " << fr->data_array2->area_sense_amp/1e6 << endl; + cout << "\t row predecoder/decoder area (mm2): " << fr->data_array2->area_row_predec_dec/1e6 << endl; + cout << "\t column predecoder/decoder area (mm2): " << fr->data_array2->area_col_predec_dec/1e6 << endl; + cout << "\t center stripe bus area (mm2): " << fr->data_array2->area_bus/1e6 << endl; + cout << "\t address bus area (mm2): " << fr->data_array2->area_address_bus/1e6 << endl; + cout << "\t data bus area (mm2): " << fr->data_array2->area_data_bus/1e6 << endl; + cout << "\t data driver area (mm2): " << fr->data_array2->area_data_drv/1e6 << endl; + cout << "\t IO secondary sense amp area (mm2): " << fr->data_array2->area_IOSA/1e6 << endl; + cout << "\t TSV area (mm2): "<< fr->data_array2->area_TSV_tot /1e6 << endl; + + } + else //if (!g_ip->is_3d_mem) + { + if (g_ip->power_gating) + { + /* Energy/Power stats */ + cout << endl << endl << "Power-gating Components:" << endl << endl; + /* Data array power-gating stats */ + if (!(g_ip->pure_cam || g_ip->fully_assoc)) + cout << " Data array: " << endl; + else if (g_ip->pure_cam) + cout << " CAM array: " << endl; + else + cout << " Fully associative cache array: " << endl; + + cout << "\t Sub-array Sleep Tx size (um) - " << + fr->data_array2->sram_sleep_tx_width << endl; + + // cout << "\t Sub-array Sleep Tx total size (um) - " << + // fr->data_array2->sram_sleep_tx_width << endl; + + cout << "\t Sub-array Sleep Tx total area (mm^2) - " << + fr->data_array2->sram_sleep_tx_area*1e-6 << endl; + + cout << "\t Sub-array wakeup time (ns) - " << + fr->data_array2->sram_sleep_wakeup_latency*1e9 << endl; + + cout << "\t Sub-array Tx energy (nJ) - " << + fr->data_array2->sram_sleep_wakeup_energy*1e9 << endl; + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + cout << endl; + cout << "\t WL Sleep Tx size (um) - " << + fr->data_array2->wl_sleep_tx_width << endl; + + // cout << "\t WL Sleep total Tx size (um) - " << + // fr->data_array2->wl_sleep_tx_width << endl; + + cout << "\t WL Sleep Tx total area (mm^2) - " << + fr->data_array2->wl_sleep_tx_area*1e-6 << endl; + + cout << "\t WL wakeup time (ns) - " << + fr->data_array2->wl_sleep_wakeup_latency*1e9 << endl; + + cout << "\t WL Tx energy (nJ) - " << + fr->data_array2->wl_sleep_wakeup_energy*1e9 << endl; + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + cout << endl; + cout << "\t BL floating wakeup time (ns) - " << + fr->data_array2->bl_floating_wakeup_latency*1e9 << endl; + + cout << "\t BL floating Tx energy (nJ) - " << + fr->data_array2->bl_floating_wakeup_energy*1e9 << endl; + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + cout << endl; + + cout << "\t Active mats per access - " << fr->data_array2->num_active_mats<data_array2->num_submarray_mats<pure_ram|| g_ip->pure_cam || g_ip->fully_assoc)) && !g_ip->is_main_mem) + { + cout << " Tag array: " << endl; + cout << "\t Sub-array Sleep Tx size (um) - " << + fr->tag_array2->sram_sleep_tx_width << endl; + + // cout << "\t Sub-array Sleep Tx total size (um) - " << + // fr->tag_array2->sram_sleep_tx_width << endl; + + cout << "\t Sub-array Sleep Tx total area (mm^2) - " << + fr->tag_array2->sram_sleep_tx_area*1e-6 << endl; + + cout << "\t Sub-array wakeup time (ns) - " << + fr->tag_array2->sram_sleep_wakeup_latency*1e9 << endl; + + cout << "\t Sub-array Tx energy (nJ) - " << + fr->tag_array2->sram_sleep_wakeup_energy*1e9 << endl; + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + cout << endl; + cout << "\t WL Sleep Tx size (um) - " << + fr->tag_array2->wl_sleep_tx_width << endl; + + // cout << "\t WL Sleep total Tx size (um) - " << + // fr->tag_array2->wl_sleep_tx_width << endl; + + cout << "\t WL Sleep Tx total area (mm^2) - " << + fr->tag_array2->wl_sleep_tx_area*1e-6 << endl; + + cout << "\t WL wakeup time (ns) - " << + fr->tag_array2->wl_sleep_wakeup_latency*1e9 << endl; + + cout << "\t WL Tx energy (nJ) - " << + fr->tag_array2->wl_sleep_wakeup_energy*1e9 << endl; + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + cout << endl; + cout << "\t BL floating wakeup time (ns) - " << + fr->tag_array2->bl_floating_wakeup_latency*1e9 << endl; + + cout << "\t BL floating Tx energy (nJ) - " << + fr->tag_array2->bl_floating_wakeup_energy*1e9 << endl; + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + cout << endl; + + cout << "\t Active mats per access - " << fr->tag_array2->num_active_mats<tag_array2->num_submarray_mats<data_array2->access_time/1e-9 << endl; + + cout << "\tH-tree input delay (ns): " << + fr->data_array2->delay_route_to_bank * 1e9 + + fr->data_array2->delay_input_htree * 1e9 << endl; + + if (!(g_ip->pure_cam || g_ip->fully_assoc)) + { + cout << "\tDecoder + wordline delay (ns): " << + fr->data_array2->delay_row_predecode_driver_and_block * 1e9 + + fr->data_array2->delay_row_decoder * 1e9 << endl; + } + else + { + cout << "\tCAM search delay (ns): " << + fr->data_array2->delay_matchlines * 1e9 << endl; + } + + cout << "\tBitline delay (ns): " << + fr->data_array2->delay_bitlines/1e-9 << endl; + + cout << "\tSense Amplifier delay (ns): " << + fr->data_array2->delay_sense_amp * 1e9 << endl; + + + cout << "\tH-tree output delay (ns): " << + fr->data_array2->delay_subarray_output_driver * 1e9 + + fr->data_array2->delay_dout_htree * 1e9 << endl; + + if ((!(g_ip->pure_ram|| g_ip->pure_cam || g_ip->fully_assoc)) && !g_ip->is_main_mem) + { + /* tag array stats */ + cout << endl << " Tag side (with Output driver) (ns): " << + fr->tag_array2->access_time/1e-9 << endl; + + cout << "\tH-tree input delay (ns): " << + fr->tag_array2->delay_route_to_bank * 1e9 + + fr->tag_array2->delay_input_htree * 1e9 << endl; + + cout << "\tDecoder + wordline delay (ns): " << + fr->tag_array2->delay_row_predecode_driver_and_block * 1e9 + + fr->tag_array2->delay_row_decoder * 1e9 << endl; + + cout << "\tBitline delay (ns): " << + fr->tag_array2->delay_bitlines/1e-9 << endl; + + cout << "\tSense Amplifier delay (ns): " << + fr->tag_array2->delay_sense_amp * 1e9 << endl; + + cout << "\tComparator delay (ns): " << + fr->tag_array2->delay_comparator * 1e9 << endl; + + cout << "\tH-tree output delay (ns): " << + fr->tag_array2->delay_subarray_output_driver * 1e9 + + fr->tag_array2->delay_dout_htree * 1e9 << endl; + } + + + + /* Energy/Power stats */ + cout << endl << endl << "Power Components:" << endl << endl; + + if (!(g_ip->pure_cam || g_ip->fully_assoc)) + { + cout << " Data array: Total dynamic read energy/access (nJ): " << + fr->data_array2->power.readOp.dynamic * 1e9 << endl; + + cout << "\tTotal energy in H-tree (that includes both " + "address and data transfer) (nJ): " << + (fr->data_array2->power_addr_input_htree.readOp.dynamic + + fr->data_array2->power_data_output_htree.readOp.dynamic + + fr->data_array2->power_routing_to_bank.readOp.dynamic) * 1e9 << endl; + + cout << "\tOutput Htree inside bank Energy (nJ): " << + fr->data_array2->power_data_output_htree.readOp.dynamic * 1e9 << endl; + cout << "\tDecoder (nJ): " << + fr->data_array2->power_row_predecoder_drivers.readOp.dynamic * 1e9 + + fr->data_array2->power_row_predecoder_blocks.readOp.dynamic * 1e9 << endl; + cout << "\tWordline (nJ): " << + fr->data_array2->power_row_decoders.readOp.dynamic * 1e9 << endl; + cout << "\tBitline mux & associated drivers (nJ): " << + fr->data_array2->power_bit_mux_predecoder_drivers.readOp.dynamic * 1e9 + + fr->data_array2->power_bit_mux_predecoder_blocks.readOp.dynamic * 1e9 + + fr->data_array2->power_bit_mux_decoders.readOp.dynamic * 1e9 << endl; + cout << "\tSense amp mux & associated drivers (nJ): " << + fr->data_array2->power_senseamp_mux_lev_1_predecoder_drivers.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_1_predecoder_blocks.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_1_decoders.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_2_predecoder_drivers.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_2_predecoder_blocks.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_2_decoders.readOp.dynamic * 1e9 << endl; + + cout << "\tBitlines precharge and equalization circuit (nJ): " << + fr->data_array2->power_prechg_eq_drivers.readOp.dynamic * 1e9 << endl; + cout << "\tBitlines (nJ): " << + fr->data_array2->power_bitlines.readOp.dynamic * 1e9 << endl; + cout << "\tSense amplifier energy (nJ): " << + fr->data_array2->power_sense_amps.readOp.dynamic * 1e9 << endl; + cout << "\tSub-array output driver (nJ): " << + fr->data_array2->power_output_drivers_at_subarray.readOp.dynamic * 1e9 << endl; + + cout << "\tTotal leakage power of a bank (mW): " << + fr->data_array2->power.readOp.leakage * 1e3 << endl; + cout << "\tTotal leakage power in H-tree (that includes both " + "address and data network) ((mW)): " << + (fr->data_array2->power_addr_input_htree.readOp.leakage + + fr->data_array2->power_data_output_htree.readOp.leakage + + fr->data_array2->power_routing_to_bank.readOp.leakage) * 1e3 << endl; + + cout << "\tTotal leakage power in cells (mW): " << + (fr->data_array2->array_leakage) * 1e3 << endl; + cout << "\tTotal leakage power in row logic(mW): " << + (fr->data_array2->wl_leakage) * 1e3 << endl; + cout << "\tTotal leakage power in column logic(mW): " << + (fr->data_array2->cl_leakage) * 1e3 << endl; + + cout << "\tTotal gate leakage power in H-tree (that includes both " + "address and data network) ((mW)): " << + (fr->data_array2->power_addr_input_htree.readOp.gate_leakage + + fr->data_array2->power_data_output_htree.readOp.gate_leakage + + fr->data_array2->power_routing_to_bank.readOp.gate_leakage) * 1e3 << endl; + } + + else if (g_ip->pure_cam) + { + + cout << " CAM array:"<data_array2->power.searchOp.dynamic * 1e9 << endl; + cout << "\tTotal energy in H-tree (that includes both " + "match key and data transfer) (nJ): " << + (fr->data_array2->power_htree_in_search.searchOp.dynamic + + fr->data_array2->power_htree_out_search.searchOp.dynamic + + fr->data_array2->power_routing_to_bank.searchOp.dynamic) * 1e9 << endl; + cout << "\tKeyword input and result output Htrees inside bank Energy (nJ): " << + (fr->data_array2->power_htree_in_search.searchOp.dynamic + + fr->data_array2->power_htree_out_search.searchOp.dynamic) * 1e9 << endl; + cout << "\tSearchlines (nJ): " << + fr->data_array2->power_searchline.searchOp.dynamic * 1e9 + + fr->data_array2->power_searchline_precharge.searchOp.dynamic * 1e9 << endl; + cout << "\tMatchlines (nJ): " << + fr->data_array2->power_matchlines.searchOp.dynamic * 1e9 + + fr->data_array2->power_matchline_precharge.searchOp.dynamic * 1e9 << endl; + cout << "\tSub-array output driver (nJ): " << + fr->data_array2->power_output_drivers_at_subarray.searchOp.dynamic * 1e9 << endl; + + + cout <data_array2->power.readOp.dynamic * 1e9 << endl; + cout << "\tTotal energy in H-tree (that includes both " + "address and data transfer) (nJ): " << + (fr->data_array2->power_addr_input_htree.readOp.dynamic + + fr->data_array2->power_data_output_htree.readOp.dynamic + + fr->data_array2->power_routing_to_bank.readOp.dynamic) * 1e9 << endl; + cout << "\tOutput Htree inside bank Energy (nJ): " << + fr->data_array2->power_data_output_htree.readOp.dynamic * 1e9 << endl; + cout << "\tDecoder (nJ): " << + fr->data_array2->power_row_predecoder_drivers.readOp.dynamic * 1e9 + + fr->data_array2->power_row_predecoder_blocks.readOp.dynamic * 1e9 << endl; + cout << "\tWordline (nJ): " << + fr->data_array2->power_row_decoders.readOp.dynamic * 1e9 << endl; + cout << "\tBitline mux & associated drivers (nJ): " << + fr->data_array2->power_bit_mux_predecoder_drivers.readOp.dynamic * 1e9 + + fr->data_array2->power_bit_mux_predecoder_blocks.readOp.dynamic * 1e9 + + fr->data_array2->power_bit_mux_decoders.readOp.dynamic * 1e9 << endl; + cout << "\tSense amp mux & associated drivers (nJ): " << + fr->data_array2->power_senseamp_mux_lev_1_predecoder_drivers.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_1_predecoder_blocks.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_1_decoders.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_2_predecoder_drivers.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_2_predecoder_blocks.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_2_decoders.readOp.dynamic * 1e9 << endl; + cout << "\tBitlines (nJ): " << + fr->data_array2->power_bitlines.readOp.dynamic * 1e9 + + fr->data_array2->power_prechg_eq_drivers.readOp.dynamic * 1e9<< endl; + cout << "\tSense amplifier energy (nJ): " << + fr->data_array2->power_sense_amps.readOp.dynamic * 1e9 << endl; + cout << "\tSub-array output driver (nJ): " << + fr->data_array2->power_output_drivers_at_subarray.readOp.dynamic * 1e9 << endl; + + cout << endl <<" Total leakage power of a bank (mW): " << + fr->data_array2->power.readOp.leakage * 1e3 << endl; + } + else + { + cout << " Fully associative array:"<data_array2->power.searchOp.dynamic * 1e9 << endl; + cout << "\tTotal energy in H-tree (that includes both " + "match key and data transfer) (nJ): " << + (fr->data_array2->power_htree_in_search.searchOp.dynamic + + fr->data_array2->power_htree_out_search.searchOp.dynamic + + fr->data_array2->power_routing_to_bank.searchOp.dynamic) * 1e9 << endl; + cout << "\tKeyword input and result output Htrees inside bank Energy (nJ): " << + (fr->data_array2->power_htree_in_search.searchOp.dynamic + + fr->data_array2->power_htree_out_search.searchOp.dynamic) * 1e9 << endl; + cout << "\tSearchlines (nJ): " << + fr->data_array2->power_searchline.searchOp.dynamic * 1e9 + + fr->data_array2->power_searchline_precharge.searchOp.dynamic * 1e9 << endl; + cout << "\tMatchlines (nJ): " << + fr->data_array2->power_matchlines.searchOp.dynamic * 1e9 + + fr->data_array2->power_matchline_precharge.searchOp.dynamic * 1e9 << endl; + cout << "\tData portion wordline (nJ): " << + fr->data_array2->power_matchline_to_wordline_drv.searchOp.dynamic * 1e9 << endl; + cout << "\tData Bitlines (nJ): " << + fr->data_array2->power_bitlines.searchOp.dynamic * 1e9 + + fr->data_array2->power_prechg_eq_drivers.searchOp.dynamic * 1e9 << endl; + cout << "\tSense amplifier energy (nJ): " << + fr->data_array2->power_sense_amps.searchOp.dynamic * 1e9 << endl; + cout << "\tSub-array output driver (nJ): " << + fr->data_array2->power_output_drivers_at_subarray.searchOp.dynamic * 1e9 << endl; + + + cout <data_array2->power.readOp.dynamic * 1e9 << endl; + cout << "\tTotal energy in H-tree (that includes both " + "address and data transfer) (nJ): " << + (fr->data_array2->power_addr_input_htree.readOp.dynamic + + fr->data_array2->power_data_output_htree.readOp.dynamic + + fr->data_array2->power_routing_to_bank.readOp.dynamic) * 1e9 << endl; + cout << "\tOutput Htree inside bank Energy (nJ): " << + fr->data_array2->power_data_output_htree.readOp.dynamic * 1e9 << endl; + cout << "\tDecoder (nJ): " << + fr->data_array2->power_row_predecoder_drivers.readOp.dynamic * 1e9 + + fr->data_array2->power_row_predecoder_blocks.readOp.dynamic * 1e9 << endl; + cout << "\tWordline (nJ): " << + fr->data_array2->power_row_decoders.readOp.dynamic * 1e9 << endl; + cout << "\tBitline mux & associated drivers (nJ): " << + fr->data_array2->power_bit_mux_predecoder_drivers.readOp.dynamic * 1e9 + + fr->data_array2->power_bit_mux_predecoder_blocks.readOp.dynamic * 1e9 + + fr->data_array2->power_bit_mux_decoders.readOp.dynamic * 1e9 << endl; + cout << "\tSense amp mux & associated drivers (nJ): " << + fr->data_array2->power_senseamp_mux_lev_1_predecoder_drivers.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_1_predecoder_blocks.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_1_decoders.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_2_predecoder_drivers.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_2_predecoder_blocks.readOp.dynamic * 1e9 + + fr->data_array2->power_senseamp_mux_lev_2_decoders.readOp.dynamic * 1e9 << endl; + cout << "\tBitlines (nJ): " << + fr->data_array2->power_bitlines.readOp.dynamic * 1e9 + + fr->data_array2->power_prechg_eq_drivers.readOp.dynamic * 1e9<< endl; + cout << "\tSense amplifier energy (nJ): " << + fr->data_array2->power_sense_amps.readOp.dynamic * 1e9 << endl; + cout << "\tSub-array output driver (nJ): " << + fr->data_array2->power_output_drivers_at_subarray.readOp.dynamic * 1e9 << endl; + + cout << endl <<" Total leakage power of a bank (mW): " << + fr->data_array2->power.readOp.leakage * 1e3 << endl; + } + + + if ((!(g_ip->pure_ram|| g_ip->pure_cam || g_ip->fully_assoc)) && !g_ip->is_main_mem) + { + cout << endl << " Tag array: Total dynamic read energy/access (nJ): " << + fr->tag_array2->power.readOp.dynamic * 1e9 << endl; + cout << "\tTotal leakage read/write power of a bank (mW): " << + fr->tag_array2->power.readOp.leakage * 1e3 << endl; + cout << "\tTotal energy in H-tree (that includes both " + "address and data transfer) (nJ): " << + (fr->tag_array2->power_addr_input_htree.readOp.dynamic + + fr->tag_array2->power_data_output_htree.readOp.dynamic + + fr->tag_array2->power_routing_to_bank.readOp.dynamic) * 1e9 << endl; + + cout << "\tOutput Htree inside a bank Energy (nJ): " << + fr->tag_array2->power_data_output_htree.readOp.dynamic * 1e9 << endl; + cout << "\tDecoder (nJ): " << + fr->tag_array2->power_row_predecoder_drivers.readOp.dynamic * 1e9 + + fr->tag_array2->power_row_predecoder_blocks.readOp.dynamic * 1e9 << endl; + cout << "\tWordline (nJ): " << + fr->tag_array2->power_row_decoders.readOp.dynamic * 1e9 << endl; + cout << "\tBitline mux & associated drivers (nJ): " << + fr->tag_array2->power_bit_mux_predecoder_drivers.readOp.dynamic * 1e9 + + fr->tag_array2->power_bit_mux_predecoder_blocks.readOp.dynamic * 1e9 + + fr->tag_array2->power_bit_mux_decoders.readOp.dynamic * 1e9 << endl; + cout << "\tSense amp mux & associated drivers (nJ): " << + fr->tag_array2->power_senseamp_mux_lev_1_predecoder_drivers.readOp.dynamic * 1e9 + + fr->tag_array2->power_senseamp_mux_lev_1_predecoder_blocks.readOp.dynamic * 1e9 + + fr->tag_array2->power_senseamp_mux_lev_1_decoders.readOp.dynamic * 1e9 + + fr->tag_array2->power_senseamp_mux_lev_2_predecoder_drivers.readOp.dynamic * 1e9 + + fr->tag_array2->power_senseamp_mux_lev_2_predecoder_blocks.readOp.dynamic * 1e9 + + fr->tag_array2->power_senseamp_mux_lev_2_decoders.readOp.dynamic * 1e9 << endl; + cout << "\tBitlines precharge and equalization circuit (nJ): " << + fr->tag_array2->power_prechg_eq_drivers.readOp.dynamic * 1e9 << endl; + cout << "\tBitlines (nJ): " << + fr->tag_array2->power_bitlines.readOp.dynamic * 1e9 << endl; + cout << "\tSense amplifier energy (nJ): " << + fr->tag_array2->power_sense_amps.readOp.dynamic * 1e9 << endl; + cout << "\tSub-array output driver (nJ): " << + fr->tag_array2->power_output_drivers_at_subarray.readOp.dynamic * 1e9 << endl; + + cout << "\tTotal leakage power of a bank (mW): " << + fr->tag_array2->power.readOp.leakage * 1e3 << endl; + cout << "\tTotal leakage power in H-tree (that includes both " + "address and data network) ((mW)): " << + (fr->tag_array2->power_addr_input_htree.readOp.leakage + + fr->tag_array2->power_data_output_htree.readOp.leakage + + fr->tag_array2->power_routing_to_bank.readOp.leakage) * 1e3 << endl; + + cout << "\tTotal leakage power in cells (mW): " << + (fr->tag_array2->array_leakage) * 1e3 << endl; + cout << "\tTotal leakage power in row logic(mW): " << + (fr->tag_array2->wl_leakage) * 1e3 << endl; + cout << "\tTotal leakage power in column logic(mW): " << + (fr->tag_array2->cl_leakage) * 1e3 << endl; + cout << "\tTotal gate leakage power in H-tree (that includes both " + "address and data network) ((mW)): " << + (fr->tag_array2->power_addr_input_htree.readOp.gate_leakage + + fr->tag_array2->power_data_output_htree.readOp.gate_leakage + + fr->tag_array2->power_routing_to_bank.readOp.gate_leakage) * 1e3 << endl; + } + + cout << endl << endl << "Area Components:" << endl << endl; + /* Data array area stats */ + if (!(g_ip->pure_cam || g_ip->fully_assoc)) + cout << " Data array: Area (mm2): " << fr->data_array2->area * 1e-6 << endl; + else if (g_ip->pure_cam) + cout << " CAM array: Area (mm2): " << fr->data_array2->area * 1e-6 << endl; + else + cout << " Fully associative cache array: Area (mm2): " << fr->data_array2->area * 1e-6 << endl; + cout << "\tHeight (mm): " << + fr->data_array2->all_banks_height*1e-3 << endl; + cout << "\tWidth (mm): " << + fr->data_array2->all_banks_width*1e-3 << endl; + if (g_ip->print_detail) { + cout << "\tArea efficiency (Memory cell area/Total area) - " << + fr->data_array2->area_efficiency << " %" << endl; + cout << "\t\tMAT Height (mm): " << + fr->data_array2->mat_height*1e-3 << endl; + cout << "\t\tMAT Length (mm): " << + fr->data_array2->mat_length*1e-3 << endl; + cout << "\t\tSubarray Height (mm): " << + fr->data_array2->subarray_height*1e-3 << endl; + cout << "\t\tSubarray Length (mm): " << + fr->data_array2->subarray_length*1e-3 << endl; + } + + /* Tag array area stats */ + if ((!(g_ip->pure_ram|| g_ip->pure_cam || g_ip->fully_assoc)) && !g_ip->is_main_mem) + { + cout << endl << " Tag array: Area (mm2): " << fr->tag_array2->area * 1e-6 << endl; + cout << "\tHeight (mm): " << + fr->tag_array2->all_banks_height*1e-3 << endl; + cout << "\tWidth (mm): " << + fr->tag_array2->all_banks_width*1e-3 << endl; + if (g_ip->print_detail) + { + cout << "\tArea efficiency (Memory cell area/Total area) - " << + fr->tag_array2->area_efficiency << " %" << endl; + cout << "\t\tMAT Height (mm): " << + fr->tag_array2->mat_height*1e-3 << endl; + cout << "\t\tMAT Length (mm): " << + fr->tag_array2->mat_length*1e-3 << endl; + cout << "\t\tSubarray Height (mm): " << + fr->tag_array2->subarray_height*1e-3 << endl; + cout << "\t\tSubarray Length (mm): " << + fr->tag_array2->subarray_length*1e-3 << endl; + } + } + + }//if (!g_ip->is_3d_mem) + + + + Wire wpr; + wpr.print_wire(); + + //cout << "FO4 = " << g_tp.FO4 << endl; + } +} + +//McPAT's plain interface, please keep !!! +uca_org_t cacti_interface(InputParameter * const local_interface) +{ +// g_ip = new InputParameter(); + //g_ip->add_ecc_b_ = true; + + uca_org_t fin_res; + fin_res.valid = false; + + g_ip = local_interface; + +// g_ip->data_arr_ram_cell_tech_type = data_arr_ram_cell_tech_flavor_in; +// g_ip->data_arr_peri_global_tech_type = data_arr_peri_global_tech_flavor_in; +// g_ip->tag_arr_ram_cell_tech_type = tag_arr_ram_cell_tech_flavor_in; +// g_ip->tag_arr_peri_global_tech_type = tag_arr_peri_global_tech_flavor_in; +// +// g_ip->ic_proj_type = interconnect_projection_type_in; +// g_ip->wire_is_mat_type = wire_inside_mat_type_in; +// g_ip->wire_os_mat_type = wire_outside_mat_type_in; +// g_ip->burst_len = BURST_LENGTH_in; +// g_ip->int_prefetch_w = INTERNAL_PREFETCH_WIDTH_in; +// g_ip->page_sz_bits = PAGE_SIZE_BITS_in; +// +// g_ip->cache_sz = cache_size; +// g_ip->line_sz = line_size; +// g_ip->assoc = associativity; +// g_ip->nbanks = banks; +// g_ip->out_w = output_width; +// g_ip->specific_tag = specific_tag; +// if (tag_width == 0) { +// g_ip->tag_w = 42; +// } +// else { +// g_ip->tag_w = tag_width; +// } +// +// g_ip->access_mode = access_mode; +// g_ip->delay_wt = obj_func_delay; +// g_ip->dynamic_power_wt = obj_func_dynamic_power; +// g_ip->leakage_power_wt = obj_func_leakage_power; +// g_ip->area_wt = obj_func_area; +// g_ip->cycle_time_wt = obj_func_cycle_time; +// g_ip->delay_dev = dev_func_delay; +// g_ip->dynamic_power_dev = dev_func_dynamic_power; +// g_ip->leakage_power_dev = dev_func_leakage_power; +// g_ip->area_dev = dev_func_area; +// g_ip->cycle_time_dev = dev_func_cycle_time; +// g_ip->temp = temp; +// +// g_ip->F_sz_nm = tech_node; +// g_ip->F_sz_um = tech_node / 1000; +// g_ip->is_main_mem = (main_mem != 0) ? true : false; +// g_ip->is_cache = (cache ==1) ? true : false; +// g_ip->pure_ram = (cache ==0) ? true : false; +// g_ip->pure_cam = (cache ==2) ? true : false; +// g_ip->rpters_in_htree = (REPEATERS_IN_HTREE_SEGMENTS_in != 0) ? true : false; +// g_ip->ver_htree_wires_over_array = VERTICAL_HTREE_WIRES_OVER_THE_ARRAY_in; +// g_ip->broadcast_addr_din_over_ver_htrees = BROADCAST_ADDR_DATAIN_OVER_VERTICAL_HTREES_in; +// +// g_ip->num_rw_ports = rw_ports; +// g_ip->num_rd_ports = excl_read_ports; +// g_ip->num_wr_ports = excl_write_ports; +// g_ip->num_se_rd_ports = single_ended_read_ports; +// g_ip->num_search_ports = search_ports; +// +// g_ip->print_detail = 1; +// g_ip->nuca = 0; +// g_ip->is_cache=true; +// +// if (force_wiretype == 0) +// { +// g_ip->wt = Global; +// g_ip->force_wiretype = false; +// } +// else +// { g_ip->force_wiretype = true; +// if (wiretype==10) { +// g_ip->wt = Global_10; +// } +// if (wiretype==20) { +// g_ip->wt = Global_20; +// } +// if (wiretype==30) { +// g_ip->wt = Global_30; +// } +// if (wiretype==5) { +// g_ip->wt = Global_5; +// } +// if (wiretype==0) { +// g_ip->wt = Low_swing; +// } +// } +// //g_ip->wt = Global_5; +// if (force_config == 0) +// { +// g_ip->force_cache_config = false; +// } +// else +// { +// g_ip->force_cache_config = true; +// g_ip->ndbl=ndbl; +// g_ip->ndwl=ndwl; +// g_ip->nspd=nspd; +// g_ip->ndcm=ndcm; +// g_ip->ndsam1=ndsam1; +// g_ip->ndsam2=ndsam2; +// +// +// } +// +// if (ecc==0){ +// g_ip->add_ecc_b_=false; +// } +// else +// { +// g_ip->add_ecc_b_=true; +// } + + + g_ip->error_checking(); + + init_tech_params(g_ip->F_sz_um, false); + Wire winit; // Do not delete this line. It initializes wires. + + solve(&fin_res); + +// g_ip->display_ip(); +// output_UCA(&fin_res); +// output_data_csv(fin_res); + + // delete (g_ip); + + return fin_res; +} + +//McPAT's plain interface, please keep !!! +uca_org_t init_interface(InputParameter* const local_interface) +{ + // g_ip = new InputParameter(); + //g_ip->add_ecc_b_ = true; + + uca_org_t fin_res; + fin_res.valid = false; + + g_ip = local_interface; + + +// g_ip->data_arr_ram_cell_tech_type = data_arr_ram_cell_tech_flavor_in; +// g_ip->data_arr_peri_global_tech_type = data_arr_peri_global_tech_flavor_in; +// g_ip->tag_arr_ram_cell_tech_type = tag_arr_ram_cell_tech_flavor_in; +// g_ip->tag_arr_peri_global_tech_type = tag_arr_peri_global_tech_flavor_in; +// +// g_ip->ic_proj_type = interconnect_projection_type_in; +// g_ip->wire_is_mat_type = wire_inside_mat_type_in; +// g_ip->wire_os_mat_type = wire_outside_mat_type_in; +// g_ip->burst_len = BURST_LENGTH_in; +// g_ip->int_prefetch_w = INTERNAL_PREFETCH_WIDTH_in; +// g_ip->page_sz_bits = PAGE_SIZE_BITS_in; +// +// g_ip->cache_sz = cache_size; +// g_ip->line_sz = line_size; +// g_ip->assoc = associativity; +// g_ip->nbanks = banks; +// g_ip->out_w = output_width; +// g_ip->specific_tag = specific_tag; +// if (tag_width == 0) { +// g_ip->tag_w = 42; +// } +// else { +// g_ip->tag_w = tag_width; +// } +// +// g_ip->access_mode = access_mode; +// g_ip->delay_wt = obj_func_delay; +// g_ip->dynamic_power_wt = obj_func_dynamic_power; +// g_ip->leakage_power_wt = obj_func_leakage_power; +// g_ip->area_wt = obj_func_area; +// g_ip->cycle_time_wt = obj_func_cycle_time; +// g_ip->delay_dev = dev_func_delay; +// g_ip->dynamic_power_dev = dev_func_dynamic_power; +// g_ip->leakage_power_dev = dev_func_leakage_power; +// g_ip->area_dev = dev_func_area; +// g_ip->cycle_time_dev = dev_func_cycle_time; +// g_ip->temp = temp; +// +// g_ip->F_sz_nm = tech_node; +// g_ip->F_sz_um = tech_node / 1000; +// g_ip->is_main_mem = (main_mem != 0) ? true : false; +// g_ip->is_cache = (cache ==1) ? true : false; +// g_ip->pure_ram = (cache ==0) ? true : false; +// g_ip->pure_cam = (cache ==2) ? true : false; +// g_ip->rpters_in_htree = (REPEATERS_IN_HTREE_SEGMENTS_in != 0) ? true : false; +// g_ip->ver_htree_wires_over_array = VERTICAL_HTREE_WIRES_OVER_THE_ARRAY_in; +// g_ip->broadcast_addr_din_over_ver_htrees = BROADCAST_ADDR_DATAIN_OVER_VERTICAL_HTREES_in; +// +// g_ip->num_rw_ports = rw_ports; +// g_ip->num_rd_ports = excl_read_ports; +// g_ip->num_wr_ports = excl_write_ports; +// g_ip->num_se_rd_ports = single_ended_read_ports; +// g_ip->num_search_ports = search_ports; +// +// g_ip->print_detail = 1; +// g_ip->nuca = 0; +// +// if (force_wiretype == 0) +// { +// g_ip->wt = Global; +// g_ip->force_wiretype = false; +// } +// else +// { g_ip->force_wiretype = true; +// if (wiretype==10) { +// g_ip->wt = Global_10; +// } +// if (wiretype==20) { +// g_ip->wt = Global_20; +// } +// if (wiretype==30) { +// g_ip->wt = Global_30; +// } +// if (wiretype==5) { +// g_ip->wt = Global_5; +// } +// if (wiretype==0) { +// g_ip->wt = Low_swing; +// } +// } +// //g_ip->wt = Global_5; +// if (force_config == 0) +// { +// g_ip->force_cache_config = false; +// } +// else +// { +// g_ip->force_cache_config = true; +// g_ip->ndbl=ndbl; +// g_ip->ndwl=ndwl; +// g_ip->nspd=nspd; +// g_ip->ndcm=ndcm; +// g_ip->ndsam1=ndsam1; +// g_ip->ndsam2=ndsam2; +// +// +// } +// +// if (ecc==0){ +// g_ip->add_ecc_b_=false; +// } +// else +// { +// g_ip->add_ecc_b_=true; +// } + + + g_ip->error_checking(); + + init_tech_params(g_ip->F_sz_um, false); + Wire winit; // Do not delete this line. It initializes wires. + //solve(&fin_res); + //g_ip->display_ip(); + + //solve(&fin_res); + //output_UCA(&fin_res); + //output_data_csv(fin_res); + // delete (g_ip); + + return fin_res; +} + +void reconfigure(InputParameter *local_interface, uca_org_t *fin_res) +{ + // Copy the InputParameter to global interface (g_ip) and do error checking. + g_ip = local_interface; + g_ip->error_checking(); + + // Initialize technology parameters + init_tech_params(g_ip->F_sz_um,false); + + Wire winit; // Do not delete this line. It initializes wires. + + // This corresponds to solve() in the initialization process. + update(fin_res); +} + diff --git a/T1/TP1/cacti-master/io.h b/T1/TP1/cacti-master/io.h new file mode 100644 index 0000000..7c82fee --- /dev/null +++ b/T1/TP1/cacti-master/io.h @@ -0,0 +1,45 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + +#ifndef __IO_H__ +#define __IO_H__ + + +#include "const.h" +#include "cacti_interface.h" + + +void output_data_csv(const uca_org_t & fin_res, string fn="out.csv"); +void output_UCA(uca_org_t * fin_res); +void output_data_csv_3dd(const uca_org_t & fin_res); + +#endif diff --git a/T1/TP1/cacti-master/lpddr.cfg b/T1/TP1/cacti-master/lpddr.cfg new file mode 100644 index 0000000..80ecc23 --- /dev/null +++ b/T1/TP1/cacti-master/lpddr.cfg @@ -0,0 +1,254 @@ +# Cache size +//-size (bytes) 2048 +//-size (bytes) 4096 +//-size (bytes) 32768 +//-size (bytes) 131072 +//-size (bytes) 262144 +//-size (bytes) 1048576 +//-size (bytes) 2097152 +//-size (bytes) 4194304 +-size (bytes) 8388608 +//-size (bytes) 16777216 +//-size (bytes) 33554432 +//-size (bytes) 134217728 +//-size (bytes) 67108864 +//-size (bytes) 1073741824 + +# power gating +-Array Power Gating - "false" +-WL Power Gating - "false" +-CL Power Gating - "false" +-Bitline floating - "false" +-Interconnect Power Gating - "false" +-Power Gating Performance Loss 0.01 + +# Line size +//-block size (bytes) 8 +-block size (bytes) 64 + +# To model Fully Associative cache, set associativity to zero +//-associativity 0 +//-associativity 2 +//-associativity 4 +//-associativity 8 +-associativity 8 + +-read-write port 1 +-exclusive read port 0 +-exclusive write port 0 +-single ended read ports 0 + +# Multiple banks connected using a bus +-UCA bank count 1 +-technology (u) 0.022 +//-technology (u) 0.040 +//-technology (u) 0.032 +//-technology (u) 0.090 + +# following three parameters are meaningful only for main memories + +-page size (bits) 8192 +-burst length 8 +-internal prefetch width 8 + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Data array cell type - "itrs-hp" +//-Data array cell type - "itrs-lstp" +//-Data array cell type - "itrs-lop" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Data array peripheral type - "itrs-hp" +//-Data array peripheral type - "itrs-lstp" +//-Data array peripheral type - "itrs-lop" + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Tag array cell type - "itrs-hp" +//-Tag array cell type - "itrs-lstp" +//-Tag array cell type - "itrs-lop" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Tag array peripheral type - "itrs-hp" +//-Tag array peripheral type - "itrs-lstp" +//-Tag array peripheral type - "itrs-lop + +# Bus width include data bits and address bits required by the decoder +//-output/input bus width 16 +-output/input bus width 512 + +// 300-400 in steps of 10 +-operating temperature (K) 360 + +# Type of memory - cache (with a tag array) or ram (scratch ram similar to a register file) +# or main memory (no tag array and every access will happen at a page granularity Ref: CACTI 5.3 report) +-cache type "cache" +//-cache type "ram" +//-cache type "main memory" + +# to model special structure like branch target buffers, directory, etc. +# change the tag size parameter +# if you want cacti to calculate the tagbits, set the tag size to "default" +-tag size (b) "default" +//-tag size (b) 22 + +# fast - data and tag access happen in parallel +# sequential - data array is accessed after accessing the tag array +# normal - data array lookup and tag access happen in parallel +# final data block is broadcasted in data array h-tree +# after getting the signal from the tag array +//-access mode (normal, sequential, fast) - "fast" +-access mode (normal, sequential, fast) - "normal" +//-access mode (normal, sequential, fast) - "sequential" + + +# DESIGN OBJECTIVE for UCA (or banks in NUCA) +-design objective (weight delay, dynamic power, leakage power, cycle time, area) 0:0:0:100:0 + +# Percentage deviation from the minimum value +# Ex: A deviation value of 10:1000:1000:1000:1000 will try to find an organization +# that compromises at most 10% delay. +# NOTE: Try reasonable values for % deviation. Inconsistent deviation +# percentage values will not produce any valid organizations. For example, +# 0:0:100:100:100 will try to identify an organization that has both +# least delay and dynamic power. Since such an organization is not possible, CACTI will +# throw an error. Refer CACTI-6 Technical report for more details +-deviate (delay, dynamic power, leakage power, cycle time, area) 20:100000:100000:100000:100000 + +# Objective for NUCA +-NUCAdesign objective (weight delay, dynamic power, leakage power, cycle time, area) 100:100:0:0:100 +-NUCAdeviate (delay, dynamic power, leakage power, cycle time, area) 10:10000:10000:10000:10000 + +# Set optimize tag to ED or ED^2 to obtain a cache configuration optimized for +# energy-delay or energy-delay sq. product +# Note: Optimize tag will disable weight or deviate values mentioned above +# Set it to NONE to let weight and deviate values determine the +# appropriate cache configuration +//-Optimize ED or ED^2 (ED, ED^2, NONE): "ED" +-Optimize ED or ED^2 (ED, ED^2, NONE): "ED^2" +//-Optimize ED or ED^2 (ED, ED^2, NONE): "NONE" + +-Cache model (NUCA, UCA) - "UCA" +//-Cache model (NUCA, UCA) - "NUCA" + +# In order for CACTI to find the optimal NUCA bank value the following +# variable should be assigned 0. +-NUCA bank count 0 + +# NOTE: for nuca network frequency is set to a default value of +# 5GHz in time.c. CACTI automatically +# calculates the maximum possible frequency and downgrades this value if necessary + +# By default CACTI considers both full-swing and low-swing +# wires to find an optimal configuration. However, it is possible to +# restrict the search space by changing the signaling from "default" to +# "fullswing" or "lowswing" type. +-Wire signaling (fullswing, lowswing, default) - "Global_30" +//-Wire signaling (fullswing, lowswing, default) - "default" +//-Wire signaling (fullswing, lowswing, default) - "lowswing" + +//-Wire inside mat - "global" +-Wire inside mat - "semi-global" +//-Wire outside mat - "global" +-Wire outside mat - "semi-global" + +-Interconnect projection - "conservative" +//-Interconnect projection - "aggressive" + +# Contention in network (which is a function of core count and cache level) is one of +# the critical factor used for deciding the optimal bank count value +# core count can be 4, 8, or 16 +//-Core count 4 +-Core count 8 +//-Core count 16 +-Cache level (L2/L3) - "L3" + +-Add ECC - "true" + +//-Print level (DETAILED, CONCISE) - "CONCISE" +-Print level (DETAILED, CONCISE) - "DETAILED" + +# for debugging +//-Print input parameters - "true" +-Print input parameters - "false" +# force CACTI to model the cache with the +# following Ndbl, Ndwl, Nspd, Ndsam, +# and Ndcm values +//-Force cache config - "true" +-Force cache config - "false" +-Ndwl 1 +-Ndbl 1 +-Nspd 0 +-Ndcm 1 +-Ndsam1 0 +-Ndsam2 0 + + + +#### Default CONFIGURATION values for baseline external IO parameters to DRAM. More details can be found in the CACTI-IO technical report (), especially Chapters 2 and 3. + +# Memory Type (D=DDR3, L=LPDDR2, W=WideIO). Additional memory types can be defined by the user in extio_technology.cc, along with their technology and configuration parameters. + +//-dram_type "D" +-dram_type "L" +//-dram_type "W" +//-dram_type "S" + +# Memory State (R=Read, W=Write, I=Idle or S=Sleep) + +//-iostate "R" +-iostate "W" +//-iostate "I" +//-iostate "S" + +#Address bus timing. To alleviate the timing on the command and address bus due to high loading (shared across all memories on the channel), the interface allows for multi-cycle timing options. + +-addr_timing 0.5 //DDR +//-addr_timing 1.0 //SDR (half of DQ rate) +//-addr_timing 2.0 //2T timing (One fourth of DQ rate) +//-addr_timing 3.0 // 3T timing (One sixth of DQ rate) + +# Memory Density (Gbit per memory/DRAM die) + +-mem_density 8 Gb //Valid values 2^n Gb + +# IO frequency (MHz) (frequency of the external memory interface). + +-bus_freq 533 MHz //As of current memory standards (2013), valid range 0 to 1.5 GHz for DDR3, 0 to 533 MHz for LPDDR2, 0 - 800 MHz for WideIO and 0 - 3 GHz for Low-swing differential. However this can change, and the user is free to define valid ranges based on new memory types or extending beyond existing standards for existing dram types. + +# Duty Cycle (fraction of time in the Memory State defined above) + +-duty_cycle 1.0 //Valid range 0 to 1.0 + +# Activity factor for Data (0->1 transitions) per cycle (for DDR, need to account for the higher activity in this parameter. E.g. max. activity factor for DDR is 1.0, for SDR is 0.5) + +-activity_dq 1.0 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR +#-activity_dq .50 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR + +# Activity factor for Control/Address (0->1 transitions) per cycle (for DDR, need to account for the higher activity in this parameter. E.g. max. activity factor for DDR is 1.0, for SDR is 0.5) + +-activity_ca 1.0 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR, 0 to 0.25 for 2T, and 0 to 0.17 for 3T +#-activity_ca 0.25 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR, 0 to 0.25 for 2T, and 0 to 0.17 for 3T + +# Number of DQ pins + +-num_dq 72 //Number of DQ pins. Includes ECC pins. + +# Number of DQS pins. DQS is a data strobe that is sent along with a small number of data-lanes so the source synchronous timing is local to these DQ bits. Typically, 1 DQS per byte (8 DQ bits) is used. The DQS is also typucally differential, just like the CLK pin. + +-num_dqs 36 //2 x differential pairs. Include ECC pins as well. Valid range 0 to 18. For x4 memories, could have 36 DQS pins. + +# Number of CA pins + +-num_ca 35 //Valid range 0 to 35 pins. +#-num_ca 25 //Valid range 0 to 35 pins. + +# Number of CLK pins. CLK is typically a differential pair. In some cases additional CLK pairs may be used to limit the loading on the CLK pin. + +-num_clk 2 //2 x differential pair. Valid values: 0/2/4. + +# Number of Physical Ranks + +-num_mem_dq 2 //Number of ranks (loads on DQ and DQS) per buffer/register. If multiple LRDIMMs or buffer chips exist, the analysis for capacity and power is reported per buffer/register. + +# Width of the Memory Data Bus + +-mem_data_width 32 //x4 or x8 or x16 or x32 memories. For WideIO upto x128. diff --git a/T1/TP1/cacti-master/main.cc b/T1/TP1/cacti-master/main.cc new file mode 100644 index 0000000..04899f1 --- /dev/null +++ b/T1/TP1/cacti-master/main.cc @@ -0,0 +1,270 @@ +/*------------------------------------------------------------ + * CACTI 6.5 + * Copyright 2008 Hewlett-Packard Development Corporation + * All Rights Reserved + * + * Permission to use, copy, and modify this software and its documentation is + * hereby granted only under the following terms and conditions. Both the + * above copyright notice and this permission notice must appear in all copies + * of the software, derivative works or modified versions, and any portions + * thereof, and both notices must appear in supporting documentation. + * + * Users of this software agree to the terms and conditions set forth herein, and + * hereby grant back to Hewlett-Packard Company and its affiliated companies ("HP") + * a non-exclusive, unrestricted, royalty-free right and license under any changes, + * enhancements or extensions made to the core functions of the software, including + * but not limited to those affording compatibility with other hardware or software + * environments, but excluding applications which incorporate this software. + * Users further agree to use their best efforts to return to HP any such changes, + * enhancements or extensions that they make and inform HP of noteworthy uses of + * this software. Correspondence should be provided to HP at: + * + * Director of Intellectual Property Licensing + * Office of Strategy and Technology + * Hewlett-Packard Company + * 1501 Page Mill Road + * Palo Alto, California 94304 + * + * This software may be distributed (but not offered for sale or transferred + * for compensation) to third parties, provided such third parties agree to + * abide by the terms and conditions of this notice. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND HP DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL HP + * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + *------------------------------------------------------------*/ + +#include "io.h" +#include + +#include "Ucache.h" + +using namespace std; + + +int main(int argc,char *argv[]) +{ + + uca_org_t result; + if (argc != 53 && argc != 55 && argc !=64) + { + bool infile_specified = false; + string infile_name(""); + + for (int32_t i = 0; i < argc; i++) + { + if (argv[i] == string("-infile")) + { + infile_specified = true; + i++; + infile_name = argv[i]; + } + } + if (infile_specified == false) + { + cerr << " Invalid arguments -- how to use CACTI:" << endl; + cerr << " 1) cacti -infile " << endl; + cerr << " 2) cacti arg1 ... arg52 -- please refer to the README file" << endl; + cerr << " No. of arguments input - " << argc << endl; + exit(1); + } + else + { + result = cacti_interface(infile_name); + } + } + else if (argc == 53) + { + result = cacti_interface(atoi(argv[ 1]), + atoi(argv[ 2]), + atoi(argv[ 3]), + atoi(argv[ 4]), + atoi(argv[ 5]), + atoi(argv[ 6]), + atoi(argv[ 7]), + atoi(argv[ 8]), + atoi(argv[ 9]), + atof(argv[10]), + atoi(argv[11]), + atoi(argv[12]), + atoi(argv[13]), + atoi(argv[14]), + atoi(argv[15]), + atoi(argv[16]), + atoi(argv[17]), + atoi(argv[18]), + atoi(argv[19]), + atoi(argv[20]), + atoi(argv[21]), + atoi(argv[22]), + atoi(argv[23]), + atoi(argv[24]), + atoi(argv[25]), + atoi(argv[26]), + atoi(argv[27]), + atoi(argv[28]), + atoi(argv[29]), + atoi(argv[30]), + atoi(argv[31]), + atoi(argv[32]), + atoi(argv[33]), + atoi(argv[34]), + atoi(argv[35]), + atoi(argv[36]), + atoi(argv[37]), + atoi(argv[38]), + atoi(argv[39]), + atoi(argv[40]), + atoi(argv[41]), + atoi(argv[42]), + atoi(argv[43]), + atoi(argv[44]), + atoi(argv[45]), + atoi(argv[46]), + atoi(argv[47]), + atoi(argv[48]), + atoi(argv[49]), + atoi(argv[50]), + atoi(argv[51]), + atoi(argv[52])); + } + else if (argc == 55) + { + result = cacti_interface(atoi(argv[ 1]), + atoi(argv[ 2]), + atoi(argv[ 3]), + atoi(argv[ 4]), + atoi(argv[ 5]), + atoi(argv[ 6]), + atoi(argv[ 7]), + atoi(argv[ 8]), + atof(argv[ 9]), + atoi(argv[10]), + atoi(argv[11]), + atoi(argv[12]), + atoi(argv[13]), + atoi(argv[14]), + atoi(argv[15]), + atoi(argv[16]), + atoi(argv[17]), + atoi(argv[18]), + atoi(argv[19]), + atoi(argv[20]), + atoi(argv[21]), + atoi(argv[22]), + atoi(argv[23]), + atoi(argv[24]), + atoi(argv[25]), + atoi(argv[26]), + atoi(argv[27]), + atoi(argv[28]), + atoi(argv[29]), + atoi(argv[30]), + atoi(argv[31]), + atoi(argv[32]), + atoi(argv[33]), + atoi(argv[34]), + atoi(argv[35]), + atoi(argv[36]), + atoi(argv[37]), + atoi(argv[38]), + atoi(argv[39]), + atoi(argv[40]), + atoi(argv[41]), + atoi(argv[42]), + atoi(argv[43]), + atoi(argv[44]), + atoi(argv[45]), + atoi(argv[46]), + atoi(argv[47]), + atoi(argv[48]), + atoi(argv[49]), + atoi(argv[50]), + atoi(argv[51]), + atoi(argv[52]), + atoi(argv[53]), + atoi(argv[54])); + } + else if (argc == 64) + { + result = cacti_interface(atoi(argv[ 1]), + atoi(argv[ 2]), + atoi(argv[ 3]), + atoi(argv[ 4]), + atoi(argv[ 5]), + atoi(argv[ 6]), + atoi(argv[ 7]), + atoi(argv[ 8]), + atof(argv[ 9]), + atoi(argv[10]), + atoi(argv[11]), + atoi(argv[12]), + atoi(argv[13]), + atoi(argv[14]), + atoi(argv[15]), + atoi(argv[16]), + atoi(argv[17]), + atoi(argv[18]), + atoi(argv[19]), + atoi(argv[20]), + atoi(argv[21]), + atoi(argv[22]), + atoi(argv[23]), + atoi(argv[24]), + atoi(argv[25]), + atoi(argv[26]), + atoi(argv[27]), + atoi(argv[28]), + atoi(argv[29]), + atoi(argv[30]), + atoi(argv[31]), + atoi(argv[32]), + atoi(argv[33]), + atoi(argv[34]), + atoi(argv[35]), + atoi(argv[36]), + atoi(argv[37]), + atoi(argv[38]), + atoi(argv[39]), + atoi(argv[40]), + atoi(argv[41]), + atoi(argv[42]), + atoi(argv[43]), + atoi(argv[44]), + atoi(argv[45]), + atoi(argv[46]), + atoi(argv[47]), + atoi(argv[48]), + atoi(argv[49]), + atoi(argv[50]), + atoi(argv[51]), + atoi(argv[52]), + atoi(argv[53]), + atoi(argv[54]), + atoi(argv[55]), + atoi(argv[56]), + atoi(argv[57]), + atoi(argv[58]), + atoi(argv[59]), + atoi(argv[60]), + atoi(argv[61]), + atoi(argv[62]), + atoi(argv[63])); + } + + cout << "=============================================\n\n"; + // print_g_tp(); //function to test technology paramters. +// g_tp.display(); + result.cleanup(); +// delete result.data_array2; +// if (result.tag_array2!=NULL) +// delete result.tag_array2; + + return 0; +} + diff --git a/T1/TP1/cacti-master/makefile b/T1/TP1/cacti-master/makefile new file mode 100644 index 0000000..394019f --- /dev/null +++ b/T1/TP1/cacti-master/makefile @@ -0,0 +1,28 @@ +TAR = cacti + +.PHONY: dbg opt depend clean clean_dbg clean_opt + +all: dbg + +dbg: $(TAR).mk obj_dbg + @$(MAKE) TAG=dbg -C . -f $(TAR).mk + +opt: $(TAR).mk obj_opt + @$(MAKE) TAG=opt -C . -f $(TAR).mk + +obj_dbg: + mkdir $@ + +obj_opt: + mkdir $@ + +clean: clean_dbg clean_opt + +clean_dbg: obj_dbg + @$(MAKE) TAG=dbg -C . -f $(TAR).mk clean + rm -rf $< + +clean_opt: obj_opt + @$(MAKE) TAG=opt -C . -f $(TAR).mk clean + rm -rf $< + diff --git a/T1/TP1/cacti-master/mat.cc b/T1/TP1/cacti-master/mat.cc new file mode 100644 index 0000000..f290daf --- /dev/null +++ b/T1/TP1/cacti-master/mat.cc @@ -0,0 +1,1940 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#include "mat.h" +#include + + +Mat::Mat(const DynamicParameter & dyn_p) + :dp(dyn_p), + power_subarray_out_drv(), + delay_fa_tag(0), delay_cam(0), + delay_before_decoder(0), delay_bitline(0), + delay_wl_reset(0), delay_bl_restore(0), + delay_searchline(0), delay_matchchline(0), + delay_cam_sl_restore(0), delay_cam_ml_reset(0), + delay_fa_ram_wl(0),delay_hit_miss_reset(0), + delay_hit_miss(0), + subarray(dp, dp.fully_assoc), + power_bitline(), per_bitline_read_energy(0), + deg_bl_muxing(dp.deg_bl_muxing), + num_act_mats_hor_dir(dyn_p.num_act_mats_hor_dir), + delay_writeback(0), + cell(subarray.cell), cam_cell(subarray.cam_cell), + is_dram(dyn_p.is_dram), + pure_cam(dyn_p.pure_cam), + num_mats(dp.num_mats), + power_sa(), delay_sa(0), + leak_power_sense_amps_closed_page_state(0), + leak_power_sense_amps_open_page_state(0), + delay_subarray_out_drv(0), + delay_comparator(0), power_comparator(), + num_do_b_mat(dyn_p.num_do_b_mat), num_so_b_mat(dyn_p.num_so_b_mat), + num_subarrays_per_mat(dp.num_subarrays/dp.num_mats), + num_subarrays_per_row(dp.Ndwl/dp.num_mats_h_dir), + array_leakage(0), + wl_leakage(0), + cl_leakage(0) + { + assert(num_subarrays_per_mat <= 4); + assert(num_subarrays_per_row <= 2); + is_fa = (dp.fully_assoc) ? true : false; + camFlag = (is_fa || pure_cam);//although cam_cell.w = cell.w for fa, we still differentiate them. + + if (is_fa || pure_cam) + num_subarrays_per_row = num_subarrays_per_mat>2?num_subarrays_per_mat/2:num_subarrays_per_mat; + + if (dp.use_inp_params == 1) { + RWP = dp.num_rw_ports; + ERP = dp.num_rd_ports; + EWP = dp.num_wr_ports; + SCHP = dp.num_search_ports; + } + else { + RWP = g_ip->num_rw_ports; + ERP = g_ip->num_rd_ports; + EWP = g_ip->num_wr_ports; + SCHP = g_ip->num_search_ports; + + } + + double number_sa_subarray; + + if (!is_fa && !pure_cam) + { + number_sa_subarray = subarray.num_cols / deg_bl_muxing; + } + else if (is_fa && !pure_cam) + { + number_sa_subarray = (subarray.num_cols_fa_cam + subarray.num_cols_fa_ram) / deg_bl_muxing; + } + + else + { + number_sa_subarray = (subarray.num_cols_fa_cam) / deg_bl_muxing; + } + + int num_dec_signals = subarray.num_rows; + double C_ld_bit_mux_dec_out = 0; + double C_ld_sa_mux_lev_1_dec_out = 0; + double C_ld_sa_mux_lev_2_dec_out = 0; + double R_wire_wl_drv_out; + + if (!is_fa && !pure_cam) + { + R_wire_wl_drv_out = subarray.num_cols * cell.w * g_tp.wire_local.R_per_um; + } + else if (is_fa && !pure_cam) + { + R_wire_wl_drv_out = (subarray.num_cols_fa_cam * cam_cell.w + subarray.num_cols_fa_ram * cell.w) * g_tp.wire_local.R_per_um ; + } + else + { + R_wire_wl_drv_out = (subarray.num_cols_fa_cam * cam_cell.w ) * g_tp.wire_local.R_per_um; + } + + double R_wire_bit_mux_dec_out = num_subarrays_per_row * subarray.num_cols * g_tp.wire_inside_mat.R_per_um * cell.w;//TODO:revisit for FA + double R_wire_sa_mux_dec_out = num_subarrays_per_row * subarray.num_cols * g_tp.wire_inside_mat.R_per_um * cell.w; + + if (deg_bl_muxing > 1) + { + C_ld_bit_mux_dec_out = + (2 * num_subarrays_per_mat * subarray.num_cols / deg_bl_muxing)*gate_C(g_tp.w_nmos_b_mux, 0, is_dram) + // 2 transistor per cell + num_subarrays_per_row * subarray.num_cols*g_tp.wire_inside_mat.C_per_um*cell.get_w(); + } + + if (dp.Ndsam_lev_1 > 1) + { + C_ld_sa_mux_lev_1_dec_out = + (num_subarrays_per_mat * number_sa_subarray / dp.Ndsam_lev_1)*gate_C(g_tp.w_nmos_sa_mux, 0, is_dram) + + num_subarrays_per_row * subarray.num_cols*g_tp.wire_inside_mat.C_per_um*cell.get_w(); + } + if (dp.Ndsam_lev_2 > 1) + { + C_ld_sa_mux_lev_2_dec_out = + (num_subarrays_per_mat * number_sa_subarray / (dp.Ndsam_lev_1*dp.Ndsam_lev_2))*gate_C(g_tp.w_nmos_sa_mux, 0, is_dram) + + num_subarrays_per_row * subarray.num_cols*g_tp.wire_inside_mat.C_per_um*cell.get_w(); + } + + if (num_subarrays_per_row >= 2) + { + // wire heads for both right and left side of a mat, so half the resistance + R_wire_bit_mux_dec_out /= 2.0; + R_wire_sa_mux_dec_out /= 2.0; + } + + + row_dec = new Decoder( + num_dec_signals, + false, + subarray.C_wl, + R_wire_wl_drv_out, + false/*is_fa*/, + is_dram, + true, + camFlag? cam_cell:cell); + + row_dec->nodes_DSTN = subarray.num_rows;//TODO: this is not a good way for OOO programming +// if (is_fa && (!dp.is_tag)) +// { +// row_dec->exist = true; +// } + bit_mux_dec = new Decoder( + deg_bl_muxing,// This number is 1 for FA or CAM + false, + C_ld_bit_mux_dec_out, + R_wire_bit_mux_dec_out, + false/*is_fa*/, + is_dram, + false, + camFlag? cam_cell:cell); + sa_mux_lev_1_dec = new Decoder( + dp.deg_senseamp_muxing_non_associativity, // This number is 1 for FA or CAM + dp.number_way_select_signals_mat ? true : false,//only sa_mux_lev_1_dec needs way select signal + C_ld_sa_mux_lev_1_dec_out, + R_wire_sa_mux_dec_out, + false/*is_fa*/, + is_dram, + false, + camFlag? cam_cell:cell); + sa_mux_lev_2_dec = new Decoder( + dp.Ndsam_lev_2, // This number is 1 for FA or CAM + false, + C_ld_sa_mux_lev_2_dec_out, + R_wire_sa_mux_dec_out, + false/*is_fa*/, + is_dram, + false, + camFlag? cam_cell:cell); + + double C_wire_predec_blk_out; + double R_wire_predec_blk_out; + + if (!is_fa && !pure_cam) + { + + C_wire_predec_blk_out = num_subarrays_per_row * subarray.num_rows * g_tp.wire_inside_mat.C_per_um * cell.h; + R_wire_predec_blk_out = num_subarrays_per_row * subarray.num_rows * g_tp.wire_inside_mat.R_per_um * cell.h; + + } + else //for pre-decode block's load is same for both FA and CAM + { + C_wire_predec_blk_out = subarray.num_rows * g_tp.wire_inside_mat.C_per_um * cam_cell.h; + R_wire_predec_blk_out = subarray.num_rows * g_tp.wire_inside_mat.R_per_um * cam_cell.h; + } + + + if (is_fa||pure_cam) + num_dec_signals += _log2(num_subarrays_per_mat); + + PredecBlk * r_predec_blk1 = new PredecBlk( + num_dec_signals, + row_dec, + C_wire_predec_blk_out, + R_wire_predec_blk_out, + num_subarrays_per_mat, + is_dram, + true); + PredecBlk * r_predec_blk2 = new PredecBlk( + num_dec_signals, + row_dec, + C_wire_predec_blk_out, + R_wire_predec_blk_out, + num_subarrays_per_mat, + is_dram, + false); + PredecBlk * b_mux_predec_blk1 = new PredecBlk(deg_bl_muxing, bit_mux_dec, 0, 0, 1, is_dram, true); + PredecBlk * b_mux_predec_blk2 = new PredecBlk(deg_bl_muxing, bit_mux_dec, 0, 0, 1, is_dram, false); + PredecBlk * sa_mux_lev_1_predec_blk1 = new PredecBlk(dyn_p.deg_senseamp_muxing_non_associativity, sa_mux_lev_1_dec, 0, 0, 1, is_dram, true); + PredecBlk * sa_mux_lev_1_predec_blk2 = new PredecBlk(dyn_p.deg_senseamp_muxing_non_associativity, sa_mux_lev_1_dec, 0, 0, 1, is_dram, false); + PredecBlk * sa_mux_lev_2_predec_blk1 = new PredecBlk(dp.Ndsam_lev_2, sa_mux_lev_2_dec, 0, 0, 1, is_dram, true); + PredecBlk * sa_mux_lev_2_predec_blk2 = new PredecBlk(dp.Ndsam_lev_2, sa_mux_lev_2_dec, 0, 0, 1, is_dram, false); + dummy_way_sel_predec_blk1 = new PredecBlk(1, sa_mux_lev_1_dec, 0, 0, 0, is_dram, true); + dummy_way_sel_predec_blk2 = new PredecBlk(1, sa_mux_lev_1_dec, 0, 0, 0, is_dram, false); + + PredecBlkDrv * r_predec_blk_drv1 = new PredecBlkDrv(0, r_predec_blk1, is_dram); + PredecBlkDrv * r_predec_blk_drv2 = new PredecBlkDrv(0, r_predec_blk2, is_dram); + PredecBlkDrv * b_mux_predec_blk_drv1 = new PredecBlkDrv(0, b_mux_predec_blk1, is_dram); + PredecBlkDrv * b_mux_predec_blk_drv2 = new PredecBlkDrv(0, b_mux_predec_blk2, is_dram); + PredecBlkDrv * sa_mux_lev_1_predec_blk_drv1 = new PredecBlkDrv(0, sa_mux_lev_1_predec_blk1, is_dram); + PredecBlkDrv * sa_mux_lev_1_predec_blk_drv2 = new PredecBlkDrv(0, sa_mux_lev_1_predec_blk2, is_dram); + PredecBlkDrv * sa_mux_lev_2_predec_blk_drv1 = new PredecBlkDrv(0, sa_mux_lev_2_predec_blk1, is_dram); + PredecBlkDrv * sa_mux_lev_2_predec_blk_drv2 = new PredecBlkDrv(0, sa_mux_lev_2_predec_blk2, is_dram); + way_sel_drv1 = new PredecBlkDrv(dyn_p.number_way_select_signals_mat, dummy_way_sel_predec_blk1, is_dram); + dummy_way_sel_predec_blk_drv2 = new PredecBlkDrv(1, dummy_way_sel_predec_blk2, is_dram); + + r_predec = new Predec(r_predec_blk_drv1, r_predec_blk_drv2); + b_mux_predec = new Predec(b_mux_predec_blk_drv1, b_mux_predec_blk_drv2); + sa_mux_lev_1_predec = new Predec(sa_mux_lev_1_predec_blk_drv1, sa_mux_lev_1_predec_blk_drv2); + sa_mux_lev_2_predec = new Predec(sa_mux_lev_2_predec_blk_drv1, sa_mux_lev_2_predec_blk_drv2); + + subarray_out_wire = new Wire(dp.wtype, g_ip->cl_vertical?subarray.area.w:subarray.area.h);//Bug should be subarray.area.w Owen and + //subarray_out_wire = new Wire(g_ip->wt, g_ip->cl_vertical?subarray.area.w:subarray.area.h);//Bug should be subarray.area.w Owen and + + double driver_c_gate_load; + double driver_c_wire_load; + double driver_r_wire_load; + + if (is_fa || pure_cam) + + { //Although CAM and RAM use different bl pre-charge driver, assuming the precharge p size is the same + driver_c_gate_load = (subarray.num_cols_fa_cam )* gate_C(2 * g_tp.w_pmos_bl_precharge + g_tp.w_pmos_bl_eq, 0, is_dram, false, false); + driver_c_wire_load = subarray.num_cols_fa_cam * cam_cell.w * g_tp.wire_outside_mat.C_per_um; + driver_r_wire_load = subarray.num_cols_fa_cam * cam_cell.w * g_tp.wire_outside_mat.R_per_um; + cam_bl_precharge_eq_drv = new Driver( + driver_c_gate_load, + driver_c_wire_load, + driver_r_wire_load, + is_dram); + + if (!pure_cam) + { + //This is only used for fully asso not pure CAM + driver_c_gate_load = (subarray.num_cols_fa_ram )* gate_C(2 * g_tp.w_pmos_bl_precharge + g_tp.w_pmos_bl_eq, 0, is_dram, false, false); + driver_c_wire_load = subarray.num_cols_fa_ram * cell.w * g_tp.wire_outside_mat.C_per_um; + driver_r_wire_load = subarray.num_cols_fa_ram * cell.w * g_tp.wire_outside_mat.R_per_um; + bl_precharge_eq_drv = new Driver( + driver_c_gate_load, + driver_c_wire_load, + driver_r_wire_load, + is_dram); + } + } + + else + { + driver_c_gate_load = subarray.num_cols * gate_C(2 * g_tp.w_pmos_bl_precharge + g_tp.w_pmos_bl_eq, 0, is_dram, false, false); + driver_c_wire_load = subarray.num_cols * cell.w * g_tp.wire_outside_mat.C_per_um; + driver_r_wire_load = subarray.num_cols * cell.w * g_tp.wire_outside_mat.R_per_um; + bl_precharge_eq_drv = new Driver( + driver_c_gate_load, + driver_c_wire_load, + driver_r_wire_load, + is_dram); + } + double area_row_decoder = row_dec->area.get_area() * subarray.num_rows * (RWP + ERP + EWP); + double w_row_decoder = area_row_decoder / subarray.area.get_h(); + + double h_bit_mux_sense_amp_precharge_sa_mux_write_driver_write_mux = + compute_bit_mux_sa_precharge_sa_mux_wr_drv_wr_mux_h(); + + /* This means the subarray drivers are along the vertical direction since / subarray.area.get_w() is used; + * so the subarray_out_wire (actually the drivers) under the subarray and along the x direction + * So as mentioned above @ line 271 + * subarray_out_wire = new Wire(g_ip->wt, subarray.area.h);//Bug should be subarray.area.w Owen and + * change the out_wire (driver to along y direction need carefully rethinking + * rather than just simply switch w with h ) + * */ + double h_subarray_out_drv = subarray_out_wire->area.get_area() * + (subarray.num_cols / (deg_bl_muxing * dp.Ndsam_lev_1 * dp.Ndsam_lev_2)) / subarray.area.get_w(); + + + h_subarray_out_drv *= (RWP + ERP + SCHP); + + double h_comparators = 0.0; + double w_row_predecode_output_wires = 0.0; + double h_bit_mux_dec_out_wires = 0.0; + double h_senseamp_mux_dec_out_wires = 0.0; + + if ((!is_fa)&&(dp.is_tag)) + { + //tagbits = (4 * num_cols_subarray / (deg_bl_muxing * dp.Ndsam_lev_1 * dp.Ndsam_lev_2)) / num_do_b_mat; + h_comparators = compute_comparators_height(dp.tagbits, dyn_p.num_do_b_mat, subarray.area.get_w()); + h_comparators *= (RWP + ERP); + } + + //power-gating circuit + bool is_footer = false; + double Isat_subarray = 2* simplified_nmos_Isat(g_tp.sram.cell_nmos_w, is_dram, true);//only one wordline active in a subarray 2 means two inverters in an SRAM cell + double detalV_array;//, deltaV_wl, deltaV_floatingBL; + double c_wakeup_array; + + if (!(is_fa || pure_cam) && g_ip->power_gating) + {//for SRAM only at this moment + c_wakeup_array = drain_C_(g_tp.sram.cell_pmos_w, PCH, 1, 1, cell.h, is_dram, true);//1 inv + c_wakeup_array += 2*drain_C_(g_tp.sram.cell_pmos_w, PCH, 1, 1, cell.h, is_dram, true) + + drain_C_(g_tp.sram.cell_nmos_w, NCH, 1, 1, cell.h, is_dram, true);//1 inv + c_wakeup_array *= subarray.num_rows; + detalV_array = g_tp.sram_cell.Vdd-g_tp.sram_cell.Vcc_min; + + sram_sleep_tx = new Sleep_tx (g_ip->perfloss, + Isat_subarray, + is_footer, + c_wakeup_array, + detalV_array, + 1, + cell); + + subarray.area.set_h(subarray.area.h+ sram_sleep_tx->area.h); + + //TODO: add the sleep tx in the wl driver and + } + + + int branch_effort_predec_blk1_out = (1 << r_predec_blk2->number_input_addr_bits); + int branch_effort_predec_blk2_out = (1 << r_predec_blk1->number_input_addr_bits); + w_row_predecode_output_wires = (branch_effort_predec_blk1_out + branch_effort_predec_blk2_out) * + g_tp.wire_inside_mat.pitch * (RWP + ERP + EWP); + + + double h_non_cell_area = (num_subarrays_per_mat / num_subarrays_per_row) * + (h_bit_mux_sense_amp_precharge_sa_mux_write_driver_write_mux + + h_subarray_out_drv + h_comparators); + + double w_non_cell_area = MAX(w_row_predecode_output_wires, num_subarrays_per_row * w_row_decoder); + + if (deg_bl_muxing > 1) + { + h_bit_mux_dec_out_wires = deg_bl_muxing * g_tp.wire_inside_mat.pitch * (RWP + ERP); + } + if (dp.Ndsam_lev_1 > 1) + { + h_senseamp_mux_dec_out_wires = dp.Ndsam_lev_1 * g_tp.wire_inside_mat.pitch * (RWP + ERP); + } + if (dp.Ndsam_lev_2 > 1) + { + h_senseamp_mux_dec_out_wires += dp.Ndsam_lev_2 * g_tp.wire_inside_mat.pitch * (RWP + ERP); + } + + double h_addr_datain_wires; + if (!g_ip->ver_htree_wires_over_array) + { + h_addr_datain_wires = (dp.number_addr_bits_mat + dp.number_way_select_signals_mat + + (dp.num_di_b_mat + dp.num_do_b_mat)/num_subarrays_per_row) * + g_tp.wire_inside_mat.pitch * (RWP + ERP + EWP); + + if (is_fa || pure_cam) + { + h_addr_datain_wires = (dp.number_addr_bits_mat + dp.number_way_select_signals_mat + //TODO: revisit + (dp.num_di_b_mat+ dp.num_do_b_mat )/num_subarrays_per_row) * + g_tp.wire_inside_mat.pitch * (RWP + ERP + EWP) + + (dp.num_si_b_mat + dp.num_so_b_mat )/num_subarrays_per_row * g_tp.wire_inside_mat.pitch * SCHP; + } + //h_non_cell_area = 2 * h_bit_mux_sense_amp_precharge_sa_mux + + //MAX(h_addr_datain_wires, 2 * h_subarray_out_drv); + h_non_cell_area = (h_bit_mux_sense_amp_precharge_sa_mux_write_driver_write_mux + h_comparators + + h_subarray_out_drv) * (num_subarrays_per_mat / num_subarrays_per_row) + + h_addr_datain_wires + + h_bit_mux_dec_out_wires + + h_senseamp_mux_dec_out_wires; + + } + + // double area_rectangle_center_mat = h_non_cell_area * w_non_cell_area; + double area_mat_center_circuitry = (r_predec_blk_drv1->area.get_area() + + b_mux_predec_blk_drv1->area.get_area() + + sa_mux_lev_1_predec_blk_drv1->area.get_area() + + sa_mux_lev_2_predec_blk_drv1->area.get_area() + + way_sel_drv1->area.get_area() + + r_predec_blk_drv2->area.get_area() + + b_mux_predec_blk_drv2->area.get_area() + + sa_mux_lev_1_predec_blk_drv2->area.get_area() + + sa_mux_lev_2_predec_blk_drv2->area.get_area() + + r_predec_blk1->area.get_area() + + b_mux_predec_blk1->area.get_area() + + sa_mux_lev_1_predec_blk1->area.get_area() + + sa_mux_lev_2_predec_blk1->area.get_area() + + r_predec_blk2->area.get_area() + + b_mux_predec_blk2->area.get_area() + + sa_mux_lev_1_predec_blk2->area.get_area() + + sa_mux_lev_2_predec_blk2->area.get_area() + + bit_mux_dec->area.get_area() + + sa_mux_lev_1_dec->area.get_area() + + sa_mux_lev_2_dec->area.get_area()) * (RWP + ERP + EWP); + + /// double area_efficiency_mat; + + +// if (!is_fa) +// { + assert(num_subarrays_per_mat/num_subarrays_per_row>0); + area.h = (num_subarrays_per_mat/num_subarrays_per_row)* subarray.area.h + h_non_cell_area; + area.w = num_subarrays_per_row * subarray.area.get_w() + w_non_cell_area; + area.w = (area.h*area.w + area_mat_center_circuitry) / area.h; + /// = subarray.area.get_area() * num_subarrays_per_mat * 100.0 / area.get_area(); + +// cout<<"h_bit_mux_sense_amp_precharge_sa_mux_write_driver_write_mux"<is_3d_mem) + { + h_non_cell_area = (h_bit_mux_sense_amp_precharge_sa_mux_write_driver_write_mux + + h_subarray_out_drv); + area.h = subarray.area.h + h_non_cell_area; + area.w = subarray.area.w; + if (g_ip->print_detail_debug) + cout << "actual subarray width: " << cell.w * subarray.num_cols /1e3 << " mm" << endl; + } + + if (g_ip->print_detail_debug) + { + cout<<"h_non_cell_area"<0); + assert(area.w>0); +// } +// else +// { +// area.h = (num_subarrays_per_mat / num_subarrays_per_row) * subarray.area.get_h() + h_non_cell_area; +// area.w = num_subarrays_per_row * subarray.area.get_w() + w_non_cell_area; +// area.w = (area.h*area.w + area_mat_center_circuitry) / area.h; +// area_efficiency_mat = subarray.area.get_area() * num_subarrays_per_row * 100.0 / area.get_area(); +// } + } + + + +Mat::~Mat() +{ + delete row_dec; + delete bit_mux_dec; + delete sa_mux_lev_1_dec; + delete sa_mux_lev_2_dec; + + delete r_predec->blk1; + delete r_predec->blk2; + delete b_mux_predec->blk1; + delete b_mux_predec->blk2; + delete sa_mux_lev_1_predec->blk1; + delete sa_mux_lev_1_predec->blk2; + delete sa_mux_lev_2_predec->blk1; + delete sa_mux_lev_2_predec->blk2; + delete dummy_way_sel_predec_blk1; + delete dummy_way_sel_predec_blk2; + + delete r_predec->drv1; + delete r_predec->drv2; + delete b_mux_predec->drv1; + delete b_mux_predec->drv2; + delete sa_mux_lev_1_predec->drv1; + delete sa_mux_lev_1_predec->drv2; + delete sa_mux_lev_2_predec->drv1; + delete sa_mux_lev_2_predec->drv2; + delete way_sel_drv1; + delete dummy_way_sel_predec_blk_drv2; + + delete r_predec; + delete b_mux_predec; + delete sa_mux_lev_1_predec; + delete sa_mux_lev_2_predec; + + delete subarray_out_wire; + if (!pure_cam) + delete bl_precharge_eq_drv; + + if (is_fa || pure_cam) + { + delete sl_precharge_eq_drv ; + delete sl_data_drv ; + delete cam_bl_precharge_eq_drv; + delete ml_precharge_drv; + delete ml_to_ram_wl_drv; + } + if (!sram_sleep_tx) + { + delete sram_sleep_tx; + } +} + + + +double Mat::compute_delays(double inrisetime) +{ + int k; + double rd, C_intrinsic, C_ld, tf, R_bl_precharge,r_b_metal, R_bl, C_bl; + double outrisetime_search, outrisetime, row_dec_outrisetime; + // delay calculation for tags of fully associative cache + if (is_fa || pure_cam) + { + //Compute search access time + outrisetime_search = compute_cam_delay(inrisetime); + if (is_fa) + { + bl_precharge_eq_drv->compute_delay(0); + k = ml_to_ram_wl_drv->number_gates - 1; + rd = tr_R_on(ml_to_ram_wl_drv->width_n[k], NCH, 1, is_dram, false, true); + C_intrinsic = drain_C_(ml_to_ram_wl_drv->width_n[k], PCH, 1, 1, 4*cell.h, is_dram, false, true) + + drain_C_(ml_to_ram_wl_drv->width_n[k], NCH, 1, 1, 4*cell.h, is_dram, false, true); + C_ld = ml_to_ram_wl_drv->c_gate_load+ ml_to_ram_wl_drv->c_wire_load; + tf = rd * (C_intrinsic + C_ld) + ml_to_ram_wl_drv->r_wire_load * C_ld / 2; + delay_wl_reset = horowitz(0, tf, 0.5, 0.5, RISE); + + R_bl_precharge = tr_R_on(g_tp.w_pmos_bl_precharge, PCH, 1, is_dram, false, false); + r_b_metal = cam_cell.h * g_tp.wire_local.R_per_um;//dummy rows in sram are filled in + R_bl = subarray.num_rows * r_b_metal; + C_bl = subarray.C_bl; + delay_bl_restore = bl_precharge_eq_drv->delay + + log((g_tp.sram.Vbitpre - 0.1 * dp.V_b_sense) / (g_tp.sram.Vbitpre - dp.V_b_sense))* + (R_bl_precharge * C_bl + R_bl * C_bl / 2); + + + outrisetime_search = compute_bitline_delay(outrisetime_search); + outrisetime_search = compute_sa_delay(outrisetime_search); + } + outrisetime_search = compute_subarray_out_drv(outrisetime_search); + subarray_out_wire->set_in_rise_time(outrisetime_search); + outrisetime_search = subarray_out_wire->signal_rise_time(); + delay_subarray_out_drv_htree = delay_subarray_out_drv + subarray_out_wire->delay; + + + //TODO: this is just for compute plain read/write energy for fa and cam, plain read/write access timing need to be revisited. + outrisetime = r_predec->compute_delays(inrisetime); + row_dec_outrisetime = row_dec->compute_delays(outrisetime); + + outrisetime = b_mux_predec->compute_delays(inrisetime); + bit_mux_dec->compute_delays(outrisetime); + + outrisetime = sa_mux_lev_1_predec->compute_delays(inrisetime); + sa_mux_lev_1_dec->compute_delays(outrisetime); + + outrisetime = sa_mux_lev_2_predec->compute_delays(inrisetime); + sa_mux_lev_2_dec->compute_delays(outrisetime); + + if (pure_cam) + { + outrisetime = compute_bitline_delay(row_dec_outrisetime); + outrisetime = compute_sa_delay(outrisetime); + } + return outrisetime_search; + } + else + { + bl_precharge_eq_drv->compute_delay(0); + if (row_dec->exist == true) + { + int k = row_dec->num_gates - 1; + double rd = tr_R_on(row_dec->w_dec_n[k], NCH, 1, is_dram, false, true); + // TODO: this 4*cell.h number must be revisited + double C_intrinsic = drain_C_(row_dec->w_dec_p[k], PCH, 1, 1, 4*cell.h, is_dram, false, true) + + drain_C_(row_dec->w_dec_n[k], NCH, 1, 1, 4*cell.h, is_dram, false, true); + double C_ld = row_dec->C_ld_dec_out; + double tf = rd * (C_intrinsic + C_ld) + row_dec->R_wire_dec_out * C_ld / 2; + delay_wl_reset = horowitz(0, tf, 0.5, 0.5, RISE); + } + double R_bl_precharge = tr_R_on(g_tp.w_pmos_bl_precharge, PCH, 1, is_dram, false, false); + double r_b_metal = cell.h * g_tp.wire_local.R_per_um; + double R_bl = subarray.num_rows * r_b_metal; + double C_bl = subarray.C_bl; + + if (is_dram) + { + delay_bl_restore = bl_precharge_eq_drv->delay + 2.3 * (R_bl_precharge * C_bl + R_bl * C_bl / 2); + } + else + { + delay_bl_restore = bl_precharge_eq_drv->delay + + log((g_tp.sram.Vbitpre - 0.1 * dp.V_b_sense) / (g_tp.sram.Vbitpre - dp.V_b_sense))* + (R_bl_precharge * C_bl + R_bl * C_bl / 2); + } + } + + + + outrisetime = r_predec->compute_delays(inrisetime); + row_dec_outrisetime = row_dec->compute_delays(outrisetime); + + outrisetime = b_mux_predec->compute_delays(inrisetime); + bit_mux_dec->compute_delays(outrisetime); + + outrisetime = sa_mux_lev_1_predec->compute_delays(inrisetime); + sa_mux_lev_1_dec->compute_delays(outrisetime); + + outrisetime = sa_mux_lev_2_predec->compute_delays(inrisetime); + sa_mux_lev_2_dec->compute_delays(outrisetime); + + //CACTI3DD + if(g_ip->is_3d_mem) + { + row_dec_outrisetime = inrisetime; + } + + outrisetime = compute_bitline_delay(row_dec_outrisetime); + outrisetime = compute_sa_delay(outrisetime); + outrisetime = compute_subarray_out_drv(outrisetime); + subarray_out_wire->set_in_rise_time(outrisetime); + outrisetime = subarray_out_wire->signal_rise_time(); + + delay_subarray_out_drv_htree = delay_subarray_out_drv + subarray_out_wire->delay; + + if (dp.is_tag == true && dp.fully_assoc == false) + { + compute_comparator_delay(0); + } + + if (row_dec->exist == false) + { + delay_wl_reset = MAX(r_predec->blk1->delay, r_predec->blk2->delay); + } + return outrisetime; +} + + + +double Mat::compute_bit_mux_sa_precharge_sa_mux_wr_drv_wr_mux_h() +{ + + double height = compute_tr_width_after_folding(g_tp.w_pmos_bl_precharge, camFlag? cam_cell.w:cell.w / (2 *(RWP + ERP + SCHP))) + + compute_tr_width_after_folding(g_tp.w_pmos_bl_eq, camFlag? cam_cell.w:cell.w / (RWP + ERP + SCHP)); // precharge circuitry + + if (deg_bl_muxing > 1) + { + height += compute_tr_width_after_folding(g_tp.w_nmos_b_mux, cell.w / (2 *(RWP + ERP))); // col mux tr height + // height += deg_bl_muxing * g_tp.wire_inside_mat.pitch * (RWP + ERP); // bit mux dec out wires height + } + + height += height_sense_amplifier(/*camFlag? sram_cell.w:*/cell.w * deg_bl_muxing / (RWP + ERP)); // sense_amp_height + + if (dp.Ndsam_lev_1 > 1) + { + height += compute_tr_width_after_folding( + g_tp.w_nmos_sa_mux, cell.w * dp.Ndsam_lev_1 / (RWP + ERP)); // sense_amp_mux_height + //height_senseamp_mux_decode_output_wires = Ndsam * wire_inside_mat_pitch * (RWP + ERP); + } + + if (dp.Ndsam_lev_2 > 1) + { + height += compute_tr_width_after_folding( + g_tp.w_nmos_sa_mux, cell.w * deg_bl_muxing * dp.Ndsam_lev_1 / (RWP + ERP)); // sense_amp_mux_height + //height_senseamp_mux_decode_output_wires = Ndsam * wire_inside_mat_pitch * (RWP + ERP); + + // add height of inverter-buffers between the two levels (pass-transistors) of sense-amp mux + height += 2 * compute_tr_width_after_folding( + pmos_to_nmos_sz_ratio(is_dram) * g_tp.min_w_nmos_, cell.w * dp.Ndsam_lev_2 / (RWP + ERP)); + height += 2 * compute_tr_width_after_folding(g_tp.min_w_nmos_, cell.w * dp.Ndsam_lev_2 / (RWP + ERP)); + } + + // TODO: this should be uncommented... + /*if (deg_bl_muxing * dp.Ndsam_lev_1 * dp.Ndsam_lev_2 > 1) + { + //height_write_mux_decode_output_wires = deg_bl_muxing * Ndsam * g_tp.wire_inside_mat.pitch * (RWP + EWP); + double width_write_driver_write_mux = width_write_driver_or_write_mux(); + double height_write_driver_write_mux = compute_tr_width_after_folding(2 * width_write_driver_write_mux, + cell.w * + // deg_bl_muxing * + dp.Ndsam_lev_1 * dp.Ndsam_lev_2 / (RWP + EWP)); + height += height_write_driver_write_mux; + }*/ + + if (g_ip->is_3d_mem) + { + //height_write_mux_decode_output_wires = deg_bl_muxing * Ndsam * g_tp.wire_inside_mat.pitch * (RWP + EWP); + double width_write_driver_write_mux = width_write_driver_or_write_mux(); + double height_write_driver_write_mux = compute_tr_width_after_folding(2 * width_write_driver_write_mux, cell.w); + height += height_write_driver_write_mux; + } + + return height; +} + + + +double Mat::compute_cam_delay(double inrisetime) +{ + + double out_time_ramp, this_delay; + double Rwire, tf, c_intrinsic, rd, Cwire, c_gate_load; + + + double Wfaprechp, Wdummyn, Wdummyinvn, Wdummyinvp, Waddrnandn, Waddrnandp, + Wfanorn, Wfanorp, W_hit_miss_n, W_hit_miss_p; + + /** + double Wdecdrivep, Wdecdriven, Wfadriven, Wfadrivep, Wfadrive2n, Wfadrive2p, Wfadecdrive1n, Wfadecdrive1p, + Wfadecdrive2n, Wfadecdrive2p, Wfadecdriven, Wfadecdrivep, Wfaprechn, Wfaprechp, + Wdummyn, Wdummyinvn, Wdummyinvp, Wfainvn, Wfainvp, Waddrnandn, Waddrnandp, + Wfanandn, Wfanandp, Wfanorn, Wfanorp, Wdecnandn, Wdecnandp, W_hit_miss_n, W_hit_miss_p; + **/ + + double c_matchline_metal, r_matchline_metal, c_searchline_metal, r_searchline_metal, dynSearchEng; + int Htagbits; + + double driver_c_gate_load; + double driver_c_wire_load; + double driver_r_wire_load; + //double searchline_precharge_time; + + double leak_power_cc_inverters_sram_cell = 0; + double leak_power_acc_tr_RW_or_WR_port_sram_cell = 0; + double leak_power_RD_port_sram_cell = 0; + double leak_power_SCHP_port_sram_cell = 0; + double leak_comparator_cam_cell =0; + + double gate_leak_comparator_cam_cell = 0; + double gate_leak_power_cc_inverters_sram_cell = 0; + double gate_leak_power_RD_port_sram_cell = 0; + double gate_leak_power_SCHP_port_sram_cell = 0; + + c_matchline_metal = cam_cell.get_w() * g_tp.wire_local.C_per_um; + c_searchline_metal = cam_cell.get_h() * g_tp.wire_local.C_per_um; + r_matchline_metal = cam_cell.get_w() * g_tp.wire_local.R_per_um; + r_searchline_metal = cam_cell.get_h() * g_tp.wire_local.R_per_um; + + dynSearchEng = 0.0; + delay_matchchline = 0.0; + double p_to_n_sizing_r = pmos_to_nmos_sz_ratio(is_dram); + bool linear_scaling = false; + + if (linear_scaling) + { + /// Wdecdrivep = 450 * g_ip->F_sz_um;//this was 360 micron for the 0.8 micron process + /// Wdecdriven = 300 * g_ip->F_sz_um;//this was 240 micron for the 0.8 micron process + /// Wfadriven = 62.5 * g_ip->F_sz_um;//this was 50 micron for the 0.8 micron process + /// Wfadrivep = 125 * g_ip->F_sz_um;//this was 100 micron for the 0.8 micron process + /// Wfadrive2n = 250 * g_ip->F_sz_um;//this was 200 micron for the 0.8 micron process + /// Wfadrive2p = 500 * g_ip->F_sz_um;//this was 400 micron for the 0.8 micron process + /// Wfadecdrive1n = 6.25 * g_ip->F_sz_um;//this was 5 micron for the 0.8 micron process + /// Wfadecdrive1p = 12.5 * g_ip->F_sz_um;//this was 10 micron for the 0.8 micron process + /// Wfadecdrive2n = 25 * g_ip->F_sz_um;//this was 20 micron for the 0.8 micron process + /// Wfadecdrive2p = 50 * g_ip->F_sz_um;//this was 40 micron for the 0.8 micron process + /// Wfadecdriven = 62.5 * g_ip->F_sz_um;//this was 50 micron for the 0.8 micron process + /// Wfadecdrivep = 125 * g_ip->F_sz_um;//this was 100 micron for the 0.8 micron process + /// Wfaprechn = 7.5 * g_ip->F_sz_um;//this was 6 micron for the 0.8 micron process + /// Wfainvn = 12.5 * g_ip->F_sz_um;//this was 10 micron for the 0.8 micron process + /// Wfainvp = 25 * g_ip->F_sz_um;//this was 20 micron for the 0.8 micron process + /// Wfanandn = 25 * g_ip->F_sz_um;//this was 20 micron for the 0.8 micron process + /// Wfanandp = 37.5 * g_ip->F_sz_um;//this was 30 micron for the 0.8 micron process + /// Wdecnandn = 12.5 * g_ip->F_sz_um;//this was 10 micron for the 0.8 micron process + /// Wdecnandp = 37.5 * g_ip->F_sz_um;//this was 30 micron for the 0.8 micron process + + Wfaprechp = 12.5 * g_ip->F_sz_um;//this was 10 micron for the 0.8 micron process + Wdummyn = 12.5 * g_ip->F_sz_um;//this was 10 micron for the 0.8 micron process + Wdummyinvn = 75 * g_ip->F_sz_um;//this was 60 micron for the 0.8 micron process + Wdummyinvp = 100 * g_ip->F_sz_um;//this was 80 micron for the 0.8 micron process + Waddrnandn = 62.5 * g_ip->F_sz_um;//this was 50 micron for the 0.8 micron process + Waddrnandp = 62.5 * g_ip->F_sz_um;//this was 50 micron for the 0.8 micron process + Wfanorn = 6.25 * g_ip->F_sz_um;//this was 5 micron for the 0.8 micron process + Wfanorp = 12.5 * g_ip->F_sz_um;//this was 10 micron for the 0.8 micron process + W_hit_miss_n = Wdummyn; + W_hit_miss_p = g_tp.min_w_nmos_*p_to_n_sizing_r; + //TODO: this number should updated using new layout; from the NAND to output NOR should be computed using logical effort + } + else + { + /// Wdecdrivep = 450 * g_ip->F_sz_um;//this was 360 micron for the 0.8 micron process + /// Wdecdriven = 300 * g_ip->F_sz_um;//this was 240 micron for the 0.8 micron process + /// Wfadriven = 62.5 * g_ip->F_sz_um;//this was 50 micron for the 0.8 micron process + /// Wfadrivep = 125 * g_ip->F_sz_um;//this was 100 micron for the 0.8 micron process + /// Wfadrive2n = 250 * g_ip->F_sz_um;//this was 200 micron for the 0.8 micron process + /// Wfadrive2p = 500 * g_ip->F_sz_um;//this was 400 micron for the 0.8 micron process + /// Wfadecdrive1n = 6.25 * g_ip->F_sz_um;//this was 5 micron for the 0.8 micron process + /// Wfadecdrive1p = 12.5 * g_ip->F_sz_um;//this was 10 micron for the 0.8 micron process + /// Wfadecdrive2n = 25 * g_ip->F_sz_um;//this was 20 micron for the 0.8 micron process + /// Wfadecdrive2p = 50 * g_ip->F_sz_um;//this was 40 micron for the 0.8 micron process + /// Wfadecdriven = 62.5 * g_ip->F_sz_um;//this was 50 micron for the 0.8 micron process + /// Wfadecdrivep = 125 * g_ip->F_sz_um;//this was 100 micron for the 0.8 micron process + /// Wfaprechn = 7.5 * g_ip->F_sz_um;//this was 6 micron for the 0.8 micron process + /// Wfainvn = 12.5 * g_ip->F_sz_um;//this was 10 micron for the 0.8 micron process + /// Wfainvp = 25 * g_ip->F_sz_um;//this was 20 micron for the 0.8 micron process + /// Wfanandn = 25 * g_ip->F_sz_um;//this was 20 micron for the 0.8 micron process + /// Wfanandp = 37.5 * g_ip->F_sz_um;//this was 30 micron for the 0.8 micron process + /// Wdecnandn = 12.5 * g_ip->F_sz_um;//this was 10 micron for the 0.8 micron process + /// Wdecnandp = 37.5 * g_ip->F_sz_um;//this was 30 micron for the 0.8 micron process + + Wfaprechp = g_tp.w_pmos_bl_precharge;//this was 10 micron for the 0.8 micron process + Wdummyn = g_tp.cam.cell_nmos_w; + Wdummyinvn = 75 * g_ip->F_sz_um;//this was 60 micron for the 0.8 micron process + Wdummyinvp = 100 * g_ip->F_sz_um;//this was 80 micron for the 0.8 micron process + Waddrnandn = 62.5 * g_ip->F_sz_um;//this was 50 micron for the 0.8 micron process + Waddrnandp = 62.5 * g_ip->F_sz_um;//this was 50 micron for the 0.8 micron process + Wfanorn = 6.25 * g_ip->F_sz_um;//this was 5 micron for the 0.8 micron process + Wfanorp = 12.5 * g_ip->F_sz_um;//this was 10 micron for the 0.8 micron process + W_hit_miss_n = Wdummyn; + W_hit_miss_p = g_tp.min_w_nmos_*p_to_n_sizing_r; + } + + Htagbits = (int)(ceil ((double) (subarray.num_cols_fa_cam) / 2.0)); + + /* First stage, searchline is precharged. searchline data driver drives the searchline to open (if miss) the comparators. + search_line_delay, search_line_power, search_line_restore_delay for cycle time computation. + From the driver(am and an) to the comparators in all the rows including the dummy row, + Assuming that comparators in both the normal matching line and the dummy matching line have the same sizing */ + + //Searchline precharge circuitry is same as that of bitline. However, no sharing between search ports and r/w ports + //Searchline precharge routes horizontally + driver_c_gate_load = subarray.num_cols_fa_cam * gate_C(2 * g_tp.w_pmos_bl_precharge + g_tp.w_pmos_bl_eq, 0, is_dram, false, false); + driver_c_wire_load = subarray.num_cols_fa_cam * cam_cell.w * g_tp.wire_outside_mat.C_per_um; + driver_r_wire_load = subarray.num_cols_fa_cam * cam_cell.w * g_tp.wire_outside_mat.R_per_um; + + sl_precharge_eq_drv = new Driver( + driver_c_gate_load, + driver_c_wire_load, + driver_r_wire_load, + is_dram); + + //searchline data driver ; subarray.num_rows + 1 is because of the dummy row + //data drv should only have gate_C not 2*gate_C since the two searchlines are differential--same as bitlines + driver_c_gate_load = (subarray.num_rows + 1) * gate_C(Wdummyn, 0, is_dram, false, false); + driver_c_wire_load = (subarray.num_rows + 1) * c_searchline_metal; + driver_r_wire_load = (subarray.num_rows + 1) * r_searchline_metal; + sl_data_drv = new Driver( + driver_c_gate_load, + driver_c_wire_load, + driver_r_wire_load, + is_dram); + + sl_precharge_eq_drv->compute_delay(0); + double R_bl_precharge = tr_R_on(g_tp.w_pmos_bl_precharge, PCH, 1, is_dram, false, false);//Assuming CAM and SRAM have same Pre_eq_dr + double r_b_metal = cam_cell.h * g_tp.wire_local.R_per_um; + double R_bl = (subarray.num_rows + 1) * r_b_metal; + double C_bl = subarray.C_bl_cam; + delay_cam_sl_restore = sl_precharge_eq_drv->delay + + log(g_tp.cam.Vbitpre)* (R_bl_precharge * C_bl + R_bl * C_bl / 2); + + out_time_ramp = sl_data_drv->compute_delay(inrisetime);//After entering one mat, start to consider the inrisetime from 0(0 is passed from outside) + + //matchline ops delay + delay_matchchline += sl_data_drv->delay; + + /* second stage, from the trasistors in the comparators(both normal row and dummy row) to the NAND gates that combins both half*/ + //matchline delay, matchline power, matchline_reset for cycle time computation, + + ////matchline precharge circuitry routes vertically + //There are two matchline precharge driver chains per subarray. + driver_c_gate_load = (subarray.num_rows + 1) * gate_C(Wfaprechp, 0, is_dram); + driver_c_wire_load = (subarray.num_rows + 1) * c_searchline_metal; + driver_r_wire_load = (subarray.num_rows + 1) * r_searchline_metal; + + ml_precharge_drv = new Driver( + driver_c_gate_load, + driver_c_wire_load, + driver_r_wire_load, + is_dram); + + ml_precharge_drv->compute_delay(0); + + + rd = tr_R_on(Wdummyn, NCH, 2, is_dram); + c_intrinsic = Htagbits*(2*drain_C_(Wdummyn, NCH, 2, 1, g_tp.cell_h_def, is_dram)//TODO: the cell_h_def should be revisit + + drain_C_(Wfaprechp, PCH, 1, 1, g_tp.cell_h_def, is_dram)/Htagbits);//since each halve only has one precharge tx per matchline + + Cwire = c_matchline_metal * Htagbits; + Rwire = r_matchline_metal * Htagbits; + c_gate_load = gate_C(Waddrnandn + Waddrnandp, 0, is_dram); + + double R_ml_precharge = tr_R_on(Wfaprechp, PCH, 1, is_dram); + //double r_ml_metal = cam_cell.w * g_tp.wire_local.R_per_um; + double R_ml = Rwire; + double C_ml = Cwire + c_intrinsic; + delay_cam_ml_reset = ml_precharge_drv->delay + + log(g_tp.cam.Vbitpre)* (R_ml_precharge * C_ml + R_ml * C_ml / 2);//TODO: latest CAM has sense amps on matchlines too + + //matchline ops delay + tf = rd * (c_intrinsic + Cwire / 2 + c_gate_load) + Rwire * (Cwire / 2 + c_gate_load); + this_delay = horowitz(out_time_ramp, tf, VTHFA2, VTHFA3, FALL); + delay_matchchline += this_delay; + out_time_ramp = this_delay / VTHFA3; + + dynSearchEng += ((c_intrinsic + Cwire + c_gate_load)*(subarray.num_rows +1)) //+ 2*drain_C_(Wdummyn, NCH, 2, 1, g_tp.cell_h_def, is_dram))//TODO: need to be precise + * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd *2;//* Ntbl;//each subarry has two halves + + /* third stage, from the NAND2 gates to the drivers in the dummy row */ + rd = tr_R_on(Waddrnandn, NCH, 2, is_dram); + c_intrinsic = drain_C_(Waddrnandn, NCH, 2, 1, g_tp.cell_h_def, is_dram) + + drain_C_(Waddrnandp, PCH, 1, 1, g_tp.cell_h_def, is_dram)*2; + c_gate_load = gate_C(Wdummyinvn + Wdummyinvp, 0, is_dram); + tf = rd * (c_intrinsic + c_gate_load); + this_delay = horowitz(out_time_ramp, tf, VTHFA3, VTHFA4, RISE); + out_time_ramp = this_delay / (1 - VTHFA4); + delay_matchchline += this_delay; + + //only the dummy row has the extra inverter between NAND and NOR gates + dynSearchEng += (c_intrinsic* (subarray.num_rows+1)+ c_gate_load*2) * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd;// * Ntbl; + + /* fourth stage, from the driver in dummy matchline to the NOR2 gate which drives the wordline of the data portion */ + rd = tr_R_on(Wdummyinvn, NCH, 1, is_dram); + c_intrinsic = drain_C_(Wdummyinvn, NCH, 1, 1, g_tp.cell_h_def, is_dram) + drain_C_(Wdummyinvp, NCH, 1, 1, g_tp.cell_h_def, is_dram); + Cwire = c_matchline_metal * Htagbits + c_searchline_metal * (subarray.num_rows+1)/2; + Rwire = r_matchline_metal * Htagbits + r_searchline_metal * (subarray.num_rows+1)/2; + c_gate_load = gate_C(Wfanorn + Wfanorp, 0, is_dram); + tf = rd * (c_intrinsic + Cwire + c_gate_load) + Rwire * (Cwire / 2 + c_gate_load); + this_delay = horowitz (out_time_ramp, tf, VTHFA4, VTHFA5, FALL); + out_time_ramp = this_delay / VTHFA5; + delay_matchchline += this_delay; + + dynSearchEng += (c_intrinsic + Cwire + subarray.num_rows*c_gate_load) * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd;//* Ntbl; + + /*final statge from the NOR gate to drive the wordline of the data portion */ + + //searchline data driver There are two matchline precharge driver chains per subarray. + driver_c_gate_load = gate_C(W_hit_miss_n, 0, is_dram, false, false);//nmos of the pull down logic + driver_c_wire_load = subarray.C_wl_ram; + driver_r_wire_load = subarray.R_wl_ram; + + ml_to_ram_wl_drv = new Driver( + driver_c_gate_load, + driver_c_wire_load, + driver_r_wire_load, + is_dram); + + + + rd = tr_R_on(Wfanorn, NCH, 1, is_dram); + c_intrinsic = 2* drain_C_(Wfanorn, NCH, 1, 1, g_tp.cell_h_def, is_dram) + drain_C_(Wfanorp, NCH, 1, 1, g_tp.cell_h_def, is_dram); + c_gate_load = gate_C(ml_to_ram_wl_drv->width_n[0] + ml_to_ram_wl_drv->width_p[0], 0, is_dram); + tf = rd * (c_intrinsic + c_gate_load); + this_delay = horowitz (out_time_ramp, tf, 0.5, 0.5, RISE); + out_time_ramp = this_delay / (1-0.5); + delay_matchchline += this_delay; + + out_time_ramp = ml_to_ram_wl_drv->compute_delay(out_time_ramp); + + //c_gate_load energy is computed in ml_to_ram_wl_drv + dynSearchEng += (c_intrinsic) * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd;//* Ntbl; + + + /* peripheral-- hitting logic "CMOS VLSI Design Fig11.51*/ + /*Precharge the hitting logic */ + c_intrinsic = 2*drain_C_(W_hit_miss_p, NCH, 2, 1, g_tp.cell_h_def, is_dram); + Cwire = c_searchline_metal * subarray.num_rows; + Rwire = r_searchline_metal * subarray.num_rows; + c_gate_load = drain_C_(W_hit_miss_n, NCH, 1, 1, g_tp.cell_h_def, is_dram)* subarray.num_rows; + + rd = tr_R_on(W_hit_miss_p, PCH, 1, is_dram, false, false); + //double r_ml_metal = cam_cell.w * g_tp.wire_local.R_per_um; + double R_hit_miss = Rwire; + double C_hit_miss = Cwire + c_intrinsic; + delay_hit_miss_reset = log(g_tp.cam.Vbitpre)* (rd * C_hit_miss + R_hit_miss * C_hit_miss / 2); + dynSearchEng += (c_intrinsic + Cwire + c_gate_load) * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd; + + /*hitting logic evaluation */ + c_intrinsic = 2*drain_C_(W_hit_miss_n, NCH, 2, 1, g_tp.cell_h_def, is_dram); + Cwire = c_searchline_metal * subarray.num_rows; + Rwire = r_searchline_metal * subarray.num_rows; + c_gate_load = drain_C_(W_hit_miss_n, NCH, 1, 1, g_tp.cell_h_def, is_dram)* subarray.num_rows; + + rd = tr_R_on(W_hit_miss_n, PCH, 1, is_dram, false, false); + tf = rd * (c_intrinsic + Cwire / 2 + c_gate_load) + Rwire * (Cwire / 2 + c_gate_load); + + delay_hit_miss = horowitz(0, tf, 0.5, 0.5, FALL); + + if (is_fa) + delay_matchchline += MAX(ml_to_ram_wl_drv->delay, delay_hit_miss); + + dynSearchEng += (c_intrinsic + Cwire + c_gate_load) * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd; + + /* TODO: peripheral-- Priority Encoder, usually this is not necessary in processor components*/ + + power_matchline.searchOp.dynamic = dynSearchEng; + + //leakage in one subarray + double Iport = cmos_Isub_leakage(g_tp.cam.cell_a_w, 0, 1, nmos, false, true);//TODO: how much is the idle time? just by *2? + double Iport_erp = cmos_Isub_leakage(g_tp.cam.cell_a_w, 0, 2, nmos, false, true); + double Icell = cmos_Isub_leakage(g_tp.cam.cell_nmos_w, g_tp.cam.cell_pmos_w, 1, inv, false, true)*2; + double Icell_comparator = cmos_Isub_leakage(Wdummyn, Wdummyn, 1, inv, false, true)*2;//approx XOR with Inv + + leak_power_cc_inverters_sram_cell = Icell * g_tp.cam_cell.Vdd; + leak_comparator_cam_cell = Icell_comparator * g_tp.cam_cell.Vdd; + leak_power_acc_tr_RW_or_WR_port_sram_cell = Iport * g_tp.cam_cell.Vdd; + leak_power_RD_port_sram_cell = Iport_erp * g_tp.cam_cell.Vdd; + leak_power_SCHP_port_sram_cell = 0;//search port and r/w port are sperate, therefore no access txs in search ports + + power_matchline.searchOp.leakage += leak_power_cc_inverters_sram_cell + + leak_comparator_cam_cell + + leak_power_acc_tr_RW_or_WR_port_sram_cell + + leak_power_acc_tr_RW_or_WR_port_sram_cell * (RWP + EWP - 1) + + leak_power_RD_port_sram_cell * ERP + + leak_power_SCHP_port_sram_cell*SCHP; +// power_matchline.searchOp.leakage += leak_comparator_cam_cell; + power_matchline.searchOp.leakage *= (subarray.num_rows+1) * subarray.num_cols_fa_cam;//TODO:dumy line precise + power_matchline.searchOp.leakage += (subarray.num_rows+1) * cmos_Isub_leakage(0, Wfaprechp, 1, pmos) * g_tp.cam_cell.Vdd; + power_matchline.searchOp.leakage += (subarray.num_rows+1) * cmos_Isub_leakage(Waddrnandn, Waddrnandp, 2, nand) * g_tp.cam_cell.Vdd; + power_matchline.searchOp.leakage += (subarray.num_rows+1) * cmos_Isub_leakage(Wfanorn, Wfanorp,2, nor) * g_tp.cam_cell.Vdd; + //In idle states, the hit/miss txs are closed (on) therefore no Isub + power_matchline.searchOp.leakage += 0;// subarray.num_rows * cmos_Isub_leakage(W_hit_miss_n, 0,1, nmos) * g_tp.cam_cell.Vdd+ + // + cmos_Isub_leakage(0, W_hit_miss_p,1, pmos) * g_tp.cam_cell.Vdd; + + //in idle state, Ig_on only possibly exist in access transistors of read only ports + double Ig_port_erp = cmos_Ig_leakage(g_tp.cam.cell_a_w, 0, 1, nmos, false, true); + double Ig_cell = cmos_Ig_leakage(g_tp.cam.cell_nmos_w, g_tp.cam.cell_pmos_w, 1, inv, false, true)*2; + double Ig_cell_comparator = cmos_Ig_leakage(Wdummyn, Wdummyn, 1, inv, false, true)*2;// cmos_Ig_leakage(Wdummyn, 0, 2, nmos)*2; + + gate_leak_comparator_cam_cell = Ig_cell_comparator* g_tp.cam_cell.Vdd; + gate_leak_power_cc_inverters_sram_cell = Ig_cell*g_tp.cam_cell.Vdd; + gate_leak_power_RD_port_sram_cell = Ig_port_erp*g_tp.sram_cell.Vdd; + gate_leak_power_SCHP_port_sram_cell = 0; + + //cout<<"power_matchline.searchOp.leakage"<array_power_gated? g_tp.sram_cell.Vcc_min : g_tp.sram_cell.Vdd); + leak_power_acc_tr_RW_or_WR_port_sram_cell = Iport * (g_ip->bitline_floating? g_tp.sram.Vbitfloating : g_tp.sram_cell.Vdd); + leak_power_RD_port_sram_cell = Iport_erp * (g_ip->bitline_floating? g_tp.sram.Vbitfloating : g_tp.sram_cell.Vdd); +// +// leak_power_cc_inverters_sram_cell_gated = leak_power_cc_inverters_sram_cell/g_tp.sram_cell.Vdd*g_tp.sram_cell.Vcc_min; +// leak_power_acc_tr_RW_or_WR_port_sram_cell_floating = leak_power_acc_tr_RW_or_WR_port_sram_cell/g_tp.sram_cell.Vdd*g_tp.sram.Vbitfloating; +// leak_power_RD_port_sram_cell_floating = leak_power_RD_port_sram_cell_floating/g_tp.sram_cell.Vdd*g_tp.sram.Vbitfloating; +// + + + //in idle state, Ig_on only possibly exist in access transistors of read only ports + double Ig_port_erp = cmos_Ig_leakage(g_tp.sram.cell_a_w, 0, 1, nmos,false, true); + double Ig_cell = cmos_Ig_leakage(g_tp.sram.cell_nmos_w, g_tp.sram.cell_pmos_w, 1, inv,false, true); + + gate_leak_power_cc_inverters_sram_cell = Ig_cell*g_tp.sram_cell.Vdd; + gate_leak_power_RD_port_sram_cell = Ig_port_erp*g_tp.sram_cell.Vdd; + } + + + double C_drain_bit_mux = drain_C_(g_tp.w_nmos_b_mux, NCH, 1, 0, camFlag? cam_cell.w:cell.w / (2 *(RWP + ERP + SCHP)), is_dram); + double R_bit_mux = tr_R_on(g_tp.w_nmos_b_mux, NCH, 1, is_dram); + double C_drain_sense_amp_iso = drain_C_(g_tp.w_iso, PCH, 1, 0, camFlag? cam_cell.w:cell.w * deg_bl_muxing / (RWP + ERP + SCHP), is_dram); + double R_sense_amp_iso = tr_R_on(g_tp.w_iso, PCH, 1, is_dram); + double C_sense_amp_latch = gate_C(g_tp.w_sense_p + g_tp.w_sense_n, 0, is_dram) + + drain_C_(g_tp.w_sense_n, NCH, 1, 0, camFlag? cam_cell.w:cell.w * deg_bl_muxing / (RWP + ERP + SCHP), is_dram) + + drain_C_(g_tp.w_sense_p, PCH, 1, 0, camFlag? cam_cell.w:cell.w * deg_bl_muxing / (RWP + ERP + SCHP), is_dram); + double C_drain_sense_amp_mux = drain_C_(g_tp.w_nmos_sa_mux, NCH, 1, 0, camFlag? cam_cell.w:cell.w * deg_bl_muxing / (RWP + ERP + SCHP), is_dram); + + if (is_dram) + { + double fraction = dp.V_b_sense / ((g_tp.dram_cell_Vdd/2) * g_tp.dram_cell_C /(g_tp.dram_cell_C + C_bl)); + //tstep = 2.3 * fraction * r_dev * + tstep = fraction * r_dev * (g_ip->is_3d_mem==1?1:2.3) * + (g_tp.dram_cell_C * (C_bl + 2*C_drain_sense_amp_iso + C_sense_amp_latch + C_drain_sense_amp_mux)) / + (g_tp.dram_cell_C + (C_bl + 2*C_drain_sense_amp_iso + C_sense_amp_latch + C_drain_sense_amp_mux)); + delay_writeback = tstep; + dynRdEnergy += (C_bl + 2*C_drain_sense_amp_iso + C_sense_amp_latch + C_drain_sense_amp_mux) * + (g_tp.dram_cell_Vdd / 2) * g_tp.dram_cell_Vdd /* subarray.num_cols * num_subarrays_per_mat*/; + dynWriteEnergy += (C_bl + 2*C_drain_sense_amp_iso + C_sense_amp_latch) * + (g_tp.dram_cell_Vdd / 2) * g_tp.dram_cell_Vdd /* subarray.num_cols * num_subarrays_per_mat*/ * num_act_mats_hor_dir*100; + per_bitline_read_energy = (C_bl + 2*C_drain_sense_amp_iso + C_sense_amp_latch + C_drain_sense_amp_mux) * + (g_tp.dram_cell_Vdd / 2) * g_tp.dram_cell_Vdd; + } + else + { + double tau; + + if (deg_bl_muxing > 1) + { + tau = (R_cell_pull_down + R_cell_acc) * + (C_bl + 2*C_drain_bit_mux + 2*C_drain_sense_amp_iso + C_sense_amp_latch + C_drain_sense_amp_mux) + + R_bl * (C_bl/2 + 2*C_drain_bit_mux + 2*C_drain_sense_amp_iso + C_sense_amp_latch + C_drain_sense_amp_mux) + + R_bit_mux * (C_drain_bit_mux + 2*C_drain_sense_amp_iso + C_sense_amp_latch + C_drain_sense_amp_mux) + + R_sense_amp_iso * (C_drain_sense_amp_iso + C_sense_amp_latch + C_drain_sense_amp_mux); + dynRdEnergy += (C_bl + 2 * C_drain_bit_mux) * 2 * dp.V_b_sense * g_tp.sram_cell.Vdd /* + subarray.num_cols * num_subarrays_per_mat*/; + blfloating_c += (C_bl + 2 * C_drain_bit_mux) * 2; + dynRdEnergy += (2 * C_drain_sense_amp_iso + C_sense_amp_latch + C_drain_sense_amp_mux) * + 2 * dp.V_b_sense * g_tp.sram_cell.Vdd * (1.0/*subarray.num_cols * num_subarrays_per_mat*/ / deg_bl_muxing); + blfloating_c += (2 * C_drain_sense_amp_iso + C_sense_amp_latch + C_drain_sense_amp_mux) *2; + dynWriteEnergy += ((1.0/*subarray.num_cols *num_subarrays_per_mat*/ / deg_bl_muxing) / deg_senseamp_muxing) * + num_act_mats_hor_dir * (C_bl + 2*C_drain_bit_mux) * g_tp.sram_cell.Vdd * g_tp.sram_cell.Vdd*2; + //Write Ops are differential for SRAM + + } + else + { + tau = (R_cell_pull_down + R_cell_acc) * + (C_bl + C_drain_sense_amp_iso + C_sense_amp_latch + C_drain_sense_amp_mux) + R_bl * C_bl / 2 + + R_sense_amp_iso * (C_drain_sense_amp_iso + C_sense_amp_latch + C_drain_sense_amp_mux); + dynRdEnergy += (C_bl + 2 * C_drain_sense_amp_iso + C_sense_amp_latch + C_drain_sense_amp_mux) * + 2 * dp.V_b_sense * g_tp.sram_cell.Vdd /* subarray.num_cols * num_subarrays_per_mat*/; + + blfloating_c += (C_bl + 2 * C_drain_sense_amp_iso + C_sense_amp_latch + C_drain_sense_amp_mux) * 2; + dynWriteEnergy += (((1.0/*subarray.num_cols * num_subarrays_per_mat*/ / deg_bl_muxing) / deg_senseamp_muxing) * + num_act_mats_hor_dir * C_bl) * g_tp.sram_cell.Vdd * g_tp.sram_cell.Vdd*2; + + } + tstep = tau * log(V_b_pre / (V_b_pre - dp.V_b_sense)); + + +// if (g_ip->array_power_gated) +// power_bitline.readOp.leakage = +// leak_power_cc_inverters_sram_cell_gated + +// leak_power_acc_tr_RW_or_WR_port_sram_cell_floating + +// leak_power_acc_tr_RW_or_WR_port_sram_cell_floating * (RWP + EWP - 1) + +// leak_power_RD_port_sram_cell_floating * ERP; +// else + power_bitline.readOp.leakage = + leak_power_cc_inverters_sram_cell + + leak_power_acc_tr_RW_or_WR_port_sram_cell + + leak_power_acc_tr_RW_or_WR_port_sram_cell * (RWP + EWP - 1) + + leak_power_RD_port_sram_cell * ERP; + + power_bitline.readOp.gate_leakage = gate_leak_power_cc_inverters_sram_cell + + gate_leak_power_RD_port_sram_cell * ERP; + + } + +// cout<<"leak_power_cc_inverters_sram_cell"<repeater_size * g_tp.min_w_nmos_ * (1 + p_to_n_sz_r), 0.0, is_dram); + gate_C(subarray_out_wire->repeater_size *(subarray_out_wire->wire_length/subarray_out_wire->repeater_spacing) * g_tp.min_w_nmos_ * (1 + p_to_n_sz_r), 0.0, is_dram); + tf = rd * C_ld; + this_delay = horowitz(inrisetime, tf, 0.5, 0.5, RISE); + delay_subarray_out_drv += this_delay; + inrisetime = this_delay/(1.0 - 0.5); + power_subarray_out_drv.readOp.dynamic += C_ld * 0.5 * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd; + power_subarray_out_drv.readOp.leakage += 0; // for now, let leakage of the pass transistor be 0 + power_subarray_out_drv.readOp.gate_leakage += cmos_Ig_leakage(g_tp.w_nmos_sa_mux, 0, 1, nmos)* g_tp.peri_global.Vdd; + + + return inrisetime; +} + + + +double Mat::compute_comparator_delay(double inrisetime) +{ + int A = g_ip->tag_assoc; + + int tagbits_ = dp.tagbits / 4; // Assuming there are 4 quarter comparators. input tagbits is already + // a multiple of 4. + + /* First Inverter */ + double Ceq = gate_C(g_tp.w_comp_inv_n2+g_tp.w_comp_inv_p2, 0, is_dram) + + drain_C_(g_tp.w_comp_inv_p1, PCH, 1, 1, g_tp.cell_h_def, is_dram) + + drain_C_(g_tp.w_comp_inv_n1, NCH, 1, 1, g_tp.cell_h_def, is_dram); + double Req = tr_R_on(g_tp.w_comp_inv_p1, PCH, 1, is_dram); + double tf = Req*Ceq; + double st1del = horowitz(inrisetime,tf,VTHCOMPINV,VTHCOMPINV,FALL); + double nextinputtime = st1del/VTHCOMPINV; + power_comparator.readOp.dynamic += 0.5 * Ceq * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd * 4 * A; + + //For each degree of associativity + //there are 4 such quarter comparators + double lkgCurrent = cmos_Isub_leakage(g_tp.w_comp_inv_n1, g_tp.w_comp_inv_p1, 1, inv, is_dram)* 4 * A; + double gatelkgCurrent = cmos_Ig_leakage(g_tp.w_comp_inv_n1, g_tp.w_comp_inv_p1, 1, inv, is_dram)* 4 * A; + /* Second Inverter */ + Ceq = gate_C(g_tp.w_comp_inv_n3+g_tp.w_comp_inv_p3, 0, is_dram) + + drain_C_(g_tp.w_comp_inv_p2, PCH, 1, 1, g_tp.cell_h_def, is_dram) + + drain_C_(g_tp.w_comp_inv_n2, NCH, 1, 1, g_tp.cell_h_def, is_dram); + Req = tr_R_on(g_tp.w_comp_inv_n2, NCH, 1, is_dram); + tf = Req*Ceq; + double st2del = horowitz(nextinputtime,tf,VTHCOMPINV,VTHCOMPINV,RISE); + nextinputtime = st2del/(1.0-VTHCOMPINV); + power_comparator.readOp.dynamic += 0.5 * Ceq * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd * 4 * A; + lkgCurrent += cmos_Isub_leakage(g_tp.w_comp_inv_n2, g_tp.w_comp_inv_p2, 1, inv, is_dram)* 4 * A; + gatelkgCurrent += cmos_Ig_leakage(g_tp.w_comp_inv_n2, g_tp.w_comp_inv_p2, 1, inv, is_dram)* 4 * A; + + /* Third Inverter */ + Ceq = gate_C(g_tp.w_eval_inv_n+g_tp.w_eval_inv_p, 0, is_dram) + + drain_C_(g_tp.w_comp_inv_p3, PCH, 1, 1, g_tp.cell_h_def, is_dram) + + drain_C_(g_tp.w_comp_inv_n3, NCH, 1, 1, g_tp.cell_h_def, is_dram); + Req = tr_R_on(g_tp.w_comp_inv_p3, PCH, 1, is_dram); + tf = Req*Ceq; + double st3del = horowitz(nextinputtime,tf,VTHCOMPINV,VTHEVALINV,FALL); + nextinputtime = st3del/(VTHEVALINV); + power_comparator.readOp.dynamic += 0.5 * Ceq * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd * 4 * A; + lkgCurrent += cmos_Isub_leakage(g_tp.w_comp_inv_n3, g_tp.w_comp_inv_p3, 1, inv, is_dram)* 4 * A; + gatelkgCurrent += cmos_Ig_leakage(g_tp.w_comp_inv_n3, g_tp.w_comp_inv_p3, 1, inv, is_dram)* 4 * A; + + /* Final Inverter (virtual ground driver) discharging compare part */ + double r1 = tr_R_on(g_tp.w_comp_n,NCH,2, is_dram); + double r2 = tr_R_on(g_tp.w_eval_inv_n,NCH,1, is_dram); /* was switch */ + double c2 = (tagbits_)*(drain_C_(g_tp.w_comp_n,NCH,1, 1, g_tp.cell_h_def, is_dram) + + drain_C_(g_tp.w_comp_n,NCH,2, 1, g_tp.cell_h_def, is_dram)) + + drain_C_(g_tp.w_eval_inv_p,PCH,1, 1, g_tp.cell_h_def, is_dram) + + drain_C_(g_tp.w_eval_inv_n,NCH,1, 1, g_tp.cell_h_def, is_dram); + double c1 = (tagbits_)*(drain_C_(g_tp.w_comp_n,NCH,1, 1, g_tp.cell_h_def, is_dram) + + drain_C_(g_tp.w_comp_n,NCH,2, 1, g_tp.cell_h_def, is_dram)) + + drain_C_(g_tp.w_comp_p,PCH,1, 1, g_tp.cell_h_def, is_dram) + + gate_C(WmuxdrvNANDn+WmuxdrvNANDp,0, is_dram); + power_comparator.readOp.dynamic += 0.5 * c2 * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd * 4 * A; + power_comparator.readOp.dynamic += c1 * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd * (A - 1); + lkgCurrent += cmos_Isub_leakage(g_tp.w_eval_inv_n, g_tp.w_eval_inv_p, 1, inv, is_dram)* 4 * A; + lkgCurrent += cmos_Isub_leakage(g_tp.w_comp_n, g_tp.w_comp_n, 1, inv, is_dram)* 4 * A; // stack factor of 0.2 + + gatelkgCurrent += cmos_Ig_leakage(g_tp.w_eval_inv_n, g_tp.w_eval_inv_p, 1, inv, is_dram)* 4 * A; + gatelkgCurrent += cmos_Ig_leakage(g_tp.w_comp_n, g_tp.w_comp_n, 1, inv, is_dram)* 4 * A;//for gate leakage this equals to a inverter + + /* time to go to threshold of mux driver */ + double tstep = (r2*c2+(r1+r2)*c1)*log(1.0/VTHMUXNAND); + /* take into account non-zero input rise time */ + double m = g_tp.peri_global.Vdd/nextinputtime; + double Tcomparatorni; + + if((tstep) <= (0.5*(g_tp.peri_global.Vdd-g_tp.peri_global.Vth)/m)) + { + double a = m; + double b = 2*((g_tp.peri_global.Vdd*VTHEVALINV)-g_tp.peri_global.Vth); + double c = -2*(tstep)*(g_tp.peri_global.Vdd-g_tp.peri_global.Vth)+1/m*((g_tp.peri_global.Vdd*VTHEVALINV)-g_tp.peri_global.Vth)*((g_tp.peri_global.Vdd*VTHEVALINV)-g_tp.peri_global.Vth); + Tcomparatorni = (-b+sqrt(b*b-4*a*c))/(2*a); + } + else + { + Tcomparatorni = (tstep) + (g_tp.peri_global.Vdd+g_tp.peri_global.Vth)/(2*m) - (g_tp.peri_global.Vdd*VTHEVALINV)/m; + } + delay_comparator = Tcomparatorni+st1del+st2del+st3del; + power_comparator.readOp.leakage = lkgCurrent * g_tp.peri_global.Vdd; + power_comparator.readOp.gate_leakage = gatelkgCurrent * g_tp.peri_global.Vdd; + + return Tcomparatorni / (1.0 - VTHMUXNAND);; +} + + + +void Mat::compute_power_energy() +{ + //for cam and FA, power.readOp is the plain read power, power.searchOp is the associative search related power + //when search all subarrays and all mats are fully active + //when plain read/write only one subarray in a single mat is active. + + // add energy consumed in predecoder drivers. This unit is shared by all subarrays in a mat. + // FIXME + //CACTI3DD + if (g_ip->is_3d_mem) + { + if (g_ip->print_detail_debug) + cout << "mat.cc: subarray.num_cols = " << subarray.num_cols << endl; + power_bl_precharge_eq_drv.readOp.dynamic = bl_precharge_eq_drv->power.readOp.dynamic; + //power_bl_precharge_eq_drv = num_subarrays_per_mat; + + power_sa.readOp.dynamic *= subarray.num_cols; + + power_bitline.readOp.dynamic *= subarray.num_cols; + + power_subarray_out_drv.readOp.dynamic = power_subarray_out_drv.readOp.dynamic * g_ip->io_width * g_ip->burst_depth;//* subarray.num_cols; + + if (g_ip->print_detail_debug) + { + //cout<<"mat.cc: g_ip->burst_len = "<< g_ip->burst_len << endl; + cout<<"mat.cc: power_bl_precharge_eq_drv.readOp.dynamic = "<< power_bl_precharge_eq_drv.readOp.dynamic * 1e9 << " nJ" <power.readOp.dynamic + + b_mux_predec->power.readOp.dynamic + + sa_mux_lev_1_predec->power.readOp.dynamic + + sa_mux_lev_2_predec->power.readOp.dynamic; + + // add energy consumed in decoders + power_row_decoders.readOp.dynamic = row_dec->power.readOp.dynamic; + if (!(is_fa||pure_cam)) + power_row_decoders.readOp.dynamic *= num_subarrays_per_mat; + + // add energy consumed in bitline prechagers, SAs, and bitlines + if (!(is_fa||pure_cam)) + { + // add energy consumed in bitline prechagers + power_bl_precharge_eq_drv.readOp.dynamic = bl_precharge_eq_drv->power.readOp.dynamic; + power_bl_precharge_eq_drv.readOp.dynamic *= num_subarrays_per_mat; + + //Add sense amps energy + num_sa_subarray = subarray.num_cols / deg_bl_muxing; + power_sa.readOp.dynamic *= num_sa_subarray*num_subarrays_per_mat ; + + // add energy consumed in bitlines + //cout<<"bitline power"<power.readOp.dynamic) * num_do_b_mat; + + power.readOp.dynamic += power_bl_precharge_eq_drv.readOp.dynamic + + power_sa.readOp.dynamic + + power_bitline.readOp.dynamic + + power_subarray_out_drv.readOp.dynamic; + + power.readOp.dynamic += power_row_decoders.readOp.dynamic + + bit_mux_dec->power.readOp.dynamic + + sa_mux_lev_1_dec->power.readOp.dynamic + + sa_mux_lev_2_dec->power.readOp.dynamic + + power_comparator.readOp.dynamic; + } + + else if (is_fa) + { + //for plain read/write only one subarray in a mat is active + // add energy consumed in bitline prechagers + power_bl_precharge_eq_drv.readOp.dynamic = bl_precharge_eq_drv->power.readOp.dynamic + + cam_bl_precharge_eq_drv->power.readOp.dynamic; + power_bl_precharge_eq_drv.searchOp.dynamic = bl_precharge_eq_drv->power.readOp.dynamic; + + //Add sense amps energy + num_sa_subarray = (subarray.num_cols_fa_cam + subarray.num_cols_fa_ram)/ deg_bl_muxing; + num_sa_subarray_search = subarray.num_cols_fa_ram/ deg_bl_muxing; + power_sa.searchOp.dynamic = power_sa.readOp.dynamic*num_sa_subarray_search; + power_sa.readOp.dynamic *= num_sa_subarray; + + + // add energy consumed in bitlines + power_bitline.searchOp.dynamic = power_bitline.readOp.dynamic; + power_bitline.readOp.dynamic *= (subarray.num_cols_fa_cam+subarray.num_cols_fa_ram); + power_bitline.writeOp.dynamic *= (subarray.num_cols_fa_cam+subarray.num_cols_fa_ram); + power_bitline.searchOp.dynamic *= subarray.num_cols_fa_ram; + + //Add subarray output energy + power_subarray_out_drv.searchOp.dynamic = + (power_subarray_out_drv.readOp.dynamic + subarray_out_wire->power.readOp.dynamic) * num_so_b_mat; + power_subarray_out_drv.readOp.dynamic = + (power_subarray_out_drv.readOp.dynamic + subarray_out_wire->power.readOp.dynamic) * num_do_b_mat; + + + power.readOp.dynamic += power_bl_precharge_eq_drv.readOp.dynamic + + power_sa.readOp.dynamic + + power_bitline.readOp.dynamic + + power_subarray_out_drv.readOp.dynamic; + + power.readOp.dynamic += power_row_decoders.readOp.dynamic + + bit_mux_dec->power.readOp.dynamic + + sa_mux_lev_1_dec->power.readOp.dynamic + + sa_mux_lev_2_dec->power.readOp.dynamic + + power_comparator.readOp.dynamic; + + //add energy consumed inside cam + power_matchline.searchOp.dynamic *= num_subarrays_per_mat; + power_searchline_precharge = sl_precharge_eq_drv->power; + power_searchline_precharge.searchOp.dynamic = power_searchline_precharge.readOp.dynamic * num_subarrays_per_mat; + power_searchline = sl_data_drv->power; + power_searchline.searchOp.dynamic = power_searchline.readOp.dynamic*subarray.num_cols_fa_cam* num_subarrays_per_mat;; + power_matchline_precharge = ml_precharge_drv->power; + power_matchline_precharge.searchOp.dynamic = power_matchline_precharge.readOp.dynamic* num_subarrays_per_mat; + power_ml_to_ram_wl_drv= ml_to_ram_wl_drv->power; + power_ml_to_ram_wl_drv.searchOp.dynamic= ml_to_ram_wl_drv->power.readOp.dynamic; + + power_cam_all_active.searchOp.dynamic = power_matchline.searchOp.dynamic; + power_cam_all_active.searchOp.dynamic +=power_searchline_precharge.searchOp.dynamic; + power_cam_all_active.searchOp.dynamic +=power_searchline.searchOp.dynamic; + power_cam_all_active.searchOp.dynamic +=power_matchline_precharge.searchOp.dynamic; + + power.searchOp.dynamic += power_cam_all_active.searchOp.dynamic; + //power.searchOp.dynamic += ml_to_ram_wl_drv->power.readOp.dynamic; + + } + else + { + // add energy consumed in bitline prechagers + power_bl_precharge_eq_drv.readOp.dynamic = cam_bl_precharge_eq_drv->power.readOp.dynamic; + //power_bl_precharge_eq_drv.readOp.dynamic *= num_subarrays_per_mat; + //power_bl_precharge_eq_drv.searchOp.dynamic = cam_bl_precharge_eq_drv->power.readOp.dynamic; + //power_bl_precharge_eq_drv.searchOp.dynamic *= num_subarrays_per_mat; + + //Add sense amps energy + num_sa_subarray = subarray.num_cols_fa_cam/ deg_bl_muxing; + power_sa.readOp.dynamic *= num_sa_subarray;//*num_subarrays_per_mat; + power_sa.searchOp.dynamic = 0; + + power_bitline.readOp.dynamic *= subarray.num_cols_fa_cam; + power_bitline.searchOp.dynamic = 0; + power_bitline.writeOp.dynamic *= subarray.num_cols_fa_cam; + + power_subarray_out_drv.searchOp.dynamic = + (power_subarray_out_drv.readOp.dynamic + subarray_out_wire->power.readOp.dynamic) * num_so_b_mat; + power_subarray_out_drv.readOp.dynamic = + (power_subarray_out_drv.readOp.dynamic + subarray_out_wire->power.readOp.dynamic) * num_do_b_mat; + + power.readOp.dynamic += power_bl_precharge_eq_drv.readOp.dynamic + + power_sa.readOp.dynamic + + power_bitline.readOp.dynamic + + power_subarray_out_drv.readOp.dynamic; + + power.readOp.dynamic += power_row_decoders.readOp.dynamic + + bit_mux_dec->power.readOp.dynamic + + sa_mux_lev_1_dec->power.readOp.dynamic + + sa_mux_lev_2_dec->power.readOp.dynamic + + power_comparator.readOp.dynamic; + + + ////add energy consumed inside cam + power_matchline.searchOp.dynamic *= num_subarrays_per_mat; + power_searchline_precharge = sl_precharge_eq_drv->power; + power_searchline_precharge.searchOp.dynamic = power_searchline_precharge.readOp.dynamic * num_subarrays_per_mat; + power_searchline = sl_data_drv->power; + power_searchline.searchOp.dynamic = power_searchline.readOp.dynamic*subarray.num_cols_fa_cam* num_subarrays_per_mat;; + power_matchline_precharge = ml_precharge_drv->power; + power_matchline_precharge.searchOp.dynamic = power_matchline_precharge.readOp.dynamic* num_subarrays_per_mat; + power_ml_to_ram_wl_drv= ml_to_ram_wl_drv->power; + power_ml_to_ram_wl_drv.searchOp.dynamic= ml_to_ram_wl_drv->power.readOp.dynamic; + + power_cam_all_active.searchOp.dynamic = power_matchline.searchOp.dynamic; + power_cam_all_active.searchOp.dynamic +=power_searchline_precharge.searchOp.dynamic; + power_cam_all_active.searchOp.dynamic +=power_searchline.searchOp.dynamic; + power_cam_all_active.searchOp.dynamic +=power_matchline_precharge.searchOp.dynamic; + + power.searchOp.dynamic += power_cam_all_active.searchOp.dynamic; + //power.searchOp.dynamic += ml_to_ram_wl_drv->power.readOp.dynamic; + + } + + }//CACTI3DD + + int number_output_drivers_subarray; + + +// // calculate leakage power + if (!(is_fa || pure_cam)) + { + number_output_drivers_subarray = num_sa_subarray / (dp.Ndsam_lev_1 * dp.Ndsam_lev_2); + + power_bitline.readOp.leakage *= subarray.num_rows * subarray.num_cols * num_subarrays_per_mat; + power_bl_precharge_eq_drv.readOp.leakage = bl_precharge_eq_drv->power.readOp.leakage * num_subarrays_per_mat; + power_sa.readOp.leakage *= num_sa_subarray*num_subarrays_per_mat*(RWP + ERP); + + //num_sa_subarray = subarray.num_cols / deg_bl_muxing; + power_subarray_out_drv.readOp.leakage = + (power_subarray_out_drv.readOp.leakage + subarray_out_wire->power.readOp.leakage) * + number_output_drivers_subarray * num_subarrays_per_mat * (RWP + ERP); + + power.readOp.leakage += power_bitline.readOp.leakage + + power_bl_precharge_eq_drv.readOp.leakage + + power_sa.readOp.leakage + + power_subarray_out_drv.readOp.leakage; + + power_comparator.readOp.leakage *= num_do_b_mat * (RWP + ERP); + power.readOp.leakage += power_comparator.readOp.leakage; + + array_leakage = power_bitline.readOp.leakage; + + cl_leakage = + power_bl_precharge_eq_drv.readOp.leakage + + power_sa.readOp.leakage + + power_subarray_out_drv.readOp.leakage + + power_comparator.readOp.leakage; + + + + //Decoder blocks + power_row_decoders.readOp.leakage = row_dec->power.readOp.leakage * subarray.num_rows * num_subarrays_per_mat; + power_bit_mux_decoders.readOp.leakage = bit_mux_dec->power.readOp.leakage * deg_bl_muxing; + power_sa_mux_lev_1_decoders.readOp.leakage = sa_mux_lev_1_dec->power.readOp.leakage * dp.Ndsam_lev_1; + power_sa_mux_lev_2_decoders.readOp.leakage = sa_mux_lev_2_dec->power.readOp.leakage * dp.Ndsam_lev_2; + + if (!g_ip->wl_power_gated) + power.readOp.leakage += r_predec->power.readOp.leakage + + b_mux_predec->power.readOp.leakage + + sa_mux_lev_1_predec->power.readOp.leakage + + sa_mux_lev_2_predec->power.readOp.leakage + + power_row_decoders.readOp.leakage + + power_bit_mux_decoders.readOp.leakage + + power_sa_mux_lev_1_decoders.readOp.leakage + + power_sa_mux_lev_2_decoders.readOp.leakage; + else + power.readOp.leakage += (r_predec->power.readOp.leakage + + b_mux_predec->power.readOp.leakage + + sa_mux_lev_1_predec->power.readOp.leakage + + sa_mux_lev_2_predec->power.readOp.leakage + + power_row_decoders.readOp.leakage + + power_bit_mux_decoders.readOp.leakage + + power_sa_mux_lev_1_decoders.readOp.leakage + + power_sa_mux_lev_2_decoders.readOp.leakage)/g_tp.peri_global.Vdd*g_tp.peri_global.Vcc_min; + + wl_leakage = r_predec->power.readOp.leakage + + b_mux_predec->power.readOp.leakage + + sa_mux_lev_1_predec->power.readOp.leakage + + sa_mux_lev_2_predec->power.readOp.leakage + + power_row_decoders.readOp.leakage + + power_bit_mux_decoders.readOp.leakage + + power_sa_mux_lev_1_decoders.readOp.leakage + + power_sa_mux_lev_2_decoders.readOp.leakage; + + //++++Below is gate leakage + power_bitline.readOp.gate_leakage *= subarray.num_rows * subarray.num_cols * num_subarrays_per_mat; + power_bl_precharge_eq_drv.readOp.gate_leakage = bl_precharge_eq_drv->power.readOp.gate_leakage * num_subarrays_per_mat; + power_sa.readOp.gate_leakage *= num_sa_subarray*num_subarrays_per_mat*(RWP + ERP); + + //num_sa_subarray = subarray.num_cols / deg_bl_muxing; + power_subarray_out_drv.readOp.gate_leakage = + (power_subarray_out_drv.readOp.gate_leakage + subarray_out_wire->power.readOp.gate_leakage) * + number_output_drivers_subarray * num_subarrays_per_mat * (RWP + ERP); + + power.readOp.gate_leakage += power_bitline.readOp.gate_leakage + + power_bl_precharge_eq_drv.readOp.gate_leakage + + power_sa.readOp.gate_leakage + + power_subarray_out_drv.readOp.gate_leakage; + //cout<<"leakage"<power_gating) + { + + //cout<<"leakage1"<area.get_area()*subarray.num_cols * num_subarrays_per_mat*dp.num_mats; + array_wakeup_e.readOp.dynamic = sram_sleep_tx->wakeup_power.readOp.dynamic * num_subarrays_per_mat*subarray.num_cols*dp.num_act_mats_hor_dir; + array_wakeup_t = sram_sleep_tx->wakeup_delay; + + wl_sleep_tx_area = row_dec->sleeptx->area.get_area()*subarray.num_rows * num_subarrays_per_mat*dp.num_mats; + wl_wakeup_e.readOp.dynamic = row_dec->sleeptx->wakeup_power.readOp.dynamic * num_subarrays_per_mat*subarray.num_rows*dp.num_act_mats_hor_dir; + wl_wakeup_t = row_dec->sleeptx->wakeup_delay; + + } + + // gate_leakage power + power_row_decoders.readOp.gate_leakage = row_dec->power.readOp.gate_leakage * subarray.num_rows * num_subarrays_per_mat; + power_bit_mux_decoders.readOp.gate_leakage = bit_mux_dec->power.readOp.gate_leakage * deg_bl_muxing; + power_sa_mux_lev_1_decoders.readOp.gate_leakage = sa_mux_lev_1_dec->power.readOp.gate_leakage * dp.Ndsam_lev_1; + power_sa_mux_lev_2_decoders.readOp.gate_leakage = sa_mux_lev_2_dec->power.readOp.gate_leakage * dp.Ndsam_lev_2; + + power.readOp.gate_leakage += r_predec->power.readOp.gate_leakage + + b_mux_predec->power.readOp.gate_leakage + + sa_mux_lev_1_predec->power.readOp.gate_leakage + + sa_mux_lev_2_predec->power.readOp.gate_leakage + + power_row_decoders.readOp.gate_leakage + + power_bit_mux_decoders.readOp.gate_leakage + + power_sa_mux_lev_1_decoders.readOp.gate_leakage + + power_sa_mux_lev_2_decoders.readOp.gate_leakage; + } + else if (is_fa) + { + int number_output_drivers_subarray = num_sa_subarray;// / (dp.Ndsam_lev_1 * dp.Ndsam_lev_2); + + power_bitline.readOp.leakage *= subarray.num_rows * subarray.num_cols * num_subarrays_per_mat; + power_bl_precharge_eq_drv.readOp.leakage = bl_precharge_eq_drv->power.readOp.leakage * num_subarrays_per_mat; + power_bl_precharge_eq_drv.searchOp.leakage = cam_bl_precharge_eq_drv->power.readOp.leakage * num_subarrays_per_mat; + power_sa.readOp.leakage *= num_sa_subarray*num_subarrays_per_mat*(RWP + ERP + SCHP); + + //cout<<"leakage3"<power.readOp.leakage) * + number_output_drivers_subarray * num_subarrays_per_mat * (RWP + ERP + SCHP); + + power.readOp.leakage += power_bitline.readOp.leakage + + power_bl_precharge_eq_drv.readOp.leakage + + power_bl_precharge_eq_drv.searchOp.leakage + + power_sa.readOp.leakage + + power_subarray_out_drv.readOp.leakage; + + //cout<<"leakage4"<power.readOp.leakage * subarray.num_rows * num_subarrays_per_mat; + power.readOp.leakage += r_predec->power.readOp.leakage + + power_row_decoders.readOp.leakage; + + //cout<<"leakage5"<power.readOp.leakage; + power_cam_all_active.searchOp.leakage +=sl_data_drv->power.readOp.leakage*subarray.num_cols_fa_cam; + power_cam_all_active.searchOp.leakage +=ml_precharge_drv->power.readOp.dynamic; + power_cam_all_active.searchOp.leakage *= num_subarrays_per_mat; + + power.readOp.leakage += power_cam_all_active.searchOp.leakage; + +// cout<<"leakage6"<power.readOp.gate_leakage * num_subarrays_per_mat; + power_bl_precharge_eq_drv.searchOp.gate_leakage = cam_bl_precharge_eq_drv->power.readOp.gate_leakage * num_subarrays_per_mat; + power_sa.readOp.gate_leakage *= num_sa_subarray*num_subarrays_per_mat*(RWP + ERP + SCHP); + + //cout<<"leakage3"<power.readOp.gate_leakage) * + number_output_drivers_subarray * num_subarrays_per_mat * (RWP + ERP + SCHP); + + power.readOp.gate_leakage += power_bitline.readOp.gate_leakage + + power_bl_precharge_eq_drv.readOp.gate_leakage + + power_bl_precharge_eq_drv.searchOp.gate_leakage + + power_sa.readOp.gate_leakage + + power_subarray_out_drv.readOp.gate_leakage; + + //cout<<"leakage4"<power.readOp.gate_leakage * subarray.num_rows * num_subarrays_per_mat; + power.readOp.gate_leakage += r_predec->power.readOp.gate_leakage + + power_row_decoders.readOp.gate_leakage; + + //cout<<"leakage5"<power.readOp.gate_leakage; + power_cam_all_active.searchOp.gate_leakage +=sl_data_drv->power.readOp.gate_leakage*subarray.num_cols_fa_cam; + power_cam_all_active.searchOp.gate_leakage +=ml_precharge_drv->power.readOp.dynamic; + power_cam_all_active.searchOp.gate_leakage *= num_subarrays_per_mat; + + power.readOp.gate_leakage += power_cam_all_active.searchOp.gate_leakage; + + } + else + { + int number_output_drivers_subarray = num_sa_subarray;// / (dp.Ndsam_lev_1 * dp.Ndsam_lev_2); + + //power_bitline.readOp.leakage *= subarray.num_rows * subarray.num_cols * num_subarrays_per_mat; + //power_bl_precharge_eq_drv.readOp.leakage = bl_precharge_eq_drv->power.readOp.leakage * num_subarrays_per_mat; + power_bl_precharge_eq_drv.searchOp.leakage = cam_bl_precharge_eq_drv->power.readOp.leakage * num_subarrays_per_mat; + power_sa.readOp.leakage *= num_sa_subarray*num_subarrays_per_mat*(RWP + ERP + SCHP); + + + power_subarray_out_drv.readOp.leakage = + (power_subarray_out_drv.readOp.leakage + subarray_out_wire->power.readOp.leakage) * + number_output_drivers_subarray * num_subarrays_per_mat * (RWP + ERP + SCHP); + + power.readOp.leakage += //power_bitline.readOp.leakage + + //power_bl_precharge_eq_drv.readOp.leakage + + power_bl_precharge_eq_drv.searchOp.leakage + + power_sa.readOp.leakage + + power_subarray_out_drv.readOp.leakage; + + // leakage power + power_row_decoders.readOp.leakage = row_dec->power.readOp.leakage * subarray.num_rows * num_subarrays_per_mat*(RWP + ERP + EWP); + power.readOp.leakage += r_predec->power.readOp.leakage + + power_row_decoders.readOp.leakage; + + //inside cam + power_cam_all_active.searchOp.leakage = power_matchline.searchOp.leakage; + power_cam_all_active.searchOp.leakage +=sl_precharge_eq_drv->power.readOp.leakage; + power_cam_all_active.searchOp.leakage +=sl_data_drv->power.readOp.leakage*subarray.num_cols_fa_cam; + power_cam_all_active.searchOp.leakage +=ml_precharge_drv->power.readOp.dynamic; + power_cam_all_active.searchOp.leakage *= num_subarrays_per_mat; + + power.readOp.leakage += power_cam_all_active.searchOp.leakage; + + //+++Below is gate leakage + power_bl_precharge_eq_drv.searchOp.gate_leakage = cam_bl_precharge_eq_drv->power.readOp.gate_leakage * num_subarrays_per_mat; + power_sa.readOp.gate_leakage *= num_sa_subarray*num_subarrays_per_mat*(RWP + ERP + SCHP); + + + power_subarray_out_drv.readOp.gate_leakage = + (power_subarray_out_drv.readOp.gate_leakage + subarray_out_wire->power.readOp.gate_leakage) * + number_output_drivers_subarray * num_subarrays_per_mat * (RWP + ERP + SCHP); + + power.readOp.gate_leakage += //power_bitline.readOp.gate_leakage + + //power_bl_precharge_eq_drv.readOp.gate_leakage + + power_bl_precharge_eq_drv.searchOp.gate_leakage + + power_sa.readOp.gate_leakage + + power_subarray_out_drv.readOp.gate_leakage; + + // gate_leakage power + power_row_decoders.readOp.gate_leakage = row_dec->power.readOp.gate_leakage * subarray.num_rows * num_subarrays_per_mat*(RWP + ERP + EWP); + power.readOp.gate_leakage += r_predec->power.readOp.gate_leakage + + power_row_decoders.readOp.gate_leakage; + + //inside cam + power_cam_all_active.searchOp.gate_leakage = power_matchline.searchOp.gate_leakage; + power_cam_all_active.searchOp.gate_leakage +=sl_precharge_eq_drv->power.readOp.gate_leakage; + power_cam_all_active.searchOp.gate_leakage +=sl_data_drv->power.readOp.gate_leakage*subarray.num_cols_fa_cam; + power_cam_all_active.searchOp.gate_leakage +=ml_precharge_drv->power.readOp.dynamic; + power_cam_all_active.searchOp.gate_leakage *= num_subarrays_per_mat; + + power.readOp.gate_leakage += power_cam_all_active.searchOp.gate_leakage; + } +} + diff --git a/T1/TP1/cacti-master/mat.h b/T1/TP1/cacti-master/mat.h new file mode 100644 index 0000000..c265e50 --- /dev/null +++ b/T1/TP1/cacti-master/mat.h @@ -0,0 +1,176 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#ifndef __MAT_H__ +#define __MAT_H__ + +#include "component.h" +#include "decoder.h" +#include "wire.h" +#include "subarray.h" +#include "powergating.h" + +class Mat : public Component +{ + public: + Mat(const DynamicParameter & dyn_p); + ~Mat(); + double compute_delays(double inrisetime); // return outrisetime + void compute_power_energy(); + + const DynamicParameter & dp; + + // TODO: clean up pointers and powerDefs below + Decoder * row_dec; + Decoder * bit_mux_dec; + Decoder * sa_mux_lev_1_dec; + Decoder * sa_mux_lev_2_dec; + PredecBlk * dummy_way_sel_predec_blk1; + PredecBlk * dummy_way_sel_predec_blk2; + PredecBlkDrv * way_sel_drv1; + PredecBlkDrv * dummy_way_sel_predec_blk_drv2; + + Predec * r_predec; + Predec * b_mux_predec; + Predec * sa_mux_lev_1_predec; + Predec * sa_mux_lev_2_predec; + + Wire * subarray_out_wire; + Driver * bl_precharge_eq_drv; + Driver * cam_bl_precharge_eq_drv;//bitline pre-charge circuit is separated for CAM and RAM arrays. + Driver * ml_precharge_drv;//matchline prechange driver + Driver * sl_precharge_eq_drv;//searchline prechage driver + Driver * sl_data_drv;//search line data driver + Driver * ml_to_ram_wl_drv;//search line data driver + + + powerDef power_row_decoders; + powerDef power_bit_mux_decoders; + powerDef power_sa_mux_lev_1_decoders; + powerDef power_sa_mux_lev_2_decoders; + powerDef power_fa_cam; // TODO: leakage power is not computed yet + powerDef power_bl_precharge_eq_drv; + powerDef power_subarray_out_drv; + powerDef power_cam_all_active; + powerDef power_searchline_precharge; + powerDef power_matchline_precharge; + powerDef power_ml_to_ram_wl_drv; + + double delay_fa_tag, delay_cam; + double delay_before_decoder; + double delay_bitline; + double delay_wl_reset; + double delay_bl_restore; + + double delay_searchline; + double delay_matchchline; + double delay_cam_sl_restore; + double delay_cam_ml_reset; + double delay_fa_ram_wl; + + double delay_hit_miss_reset; + double delay_hit_miss; + + Subarray subarray; + powerDef power_bitline, power_searchline, power_matchline, power_bitline_gated; + double per_bitline_read_energy; + int deg_bl_muxing; + int num_act_mats_hor_dir; + double delay_writeback; + Area cell,cam_cell; + bool is_dram,is_fa, pure_cam, camFlag; + int num_mats; + powerDef power_sa; + double delay_sa; + double leak_power_sense_amps_closed_page_state; + double leak_power_sense_amps_open_page_state; + double delay_subarray_out_drv; + double delay_subarray_out_drv_htree; + double delay_comparator; + powerDef power_comparator; + int num_do_b_mat; + int num_so_b_mat; + int num_sa_subarray; + int num_sa_subarray_search; + double C_bl; + + uint32_t num_subarrays_per_mat; // the number of subarrays in a mat + uint32_t num_subarrays_per_row; // the number of subarrays in a row of a mat + + double array_leakage; + double wl_leakage; + double cl_leakage; + + Sleep_tx * sram_sleep_tx; + Sleep_tx * wl_sleep_tx; + Sleep_tx * cl_sleep_tx; + + powerDef array_wakeup_e; + double array_wakeup_t; + double array_sleep_tx_area; + + powerDef blfloating_wakeup_e; + double blfloating_wakeup_t; + double blfloating_sleep_tx_area; + + powerDef wl_wakeup_e; + double wl_wakeup_t; + double wl_sleep_tx_area; + + powerDef cl_wakeup_e; + double cl_wakeup_t; + double cl_sleep_tx_area; + + double compute_bitline_delay(double inrisetime); + double compute_sa_delay(double inrisetime); + double compute_subarray_out_drv(double inrisetime); + + private: + double compute_bit_mux_sa_precharge_sa_mux_wr_drv_wr_mux_h(); + double width_write_driver_or_write_mux(); + double compute_comparators_height(int tagbits, int number_ways_in_mat, double subarray_mem_cell_area_w); + double compute_cam_delay(double inrisetime); + //double compute_bitline_delay(double inrisetime); + //double compute_sa_delay(double inrisetime); + //double compute_subarray_out_drv(double inrisetime); + double compute_comparator_delay(double inrisetime); + + int RWP; + int ERP; + int EWP; + int SCHP; +}; + + + +#endif diff --git a/T1/TP1/cacti-master/memcad.cc b/T1/TP1/cacti-master/memcad.cc new file mode 100644 index 0000000..64bf32a --- /dev/null +++ b/T1/TP1/cacti-master/memcad.cc @@ -0,0 +1,599 @@ +#include "memcad.h" +#include +#include +#include +#include +#include +#include + +using namespace std; + + +vector *memcad_all_channels; + +vector *memcad_all_bobs; + +vector *memcad_all_memories; + +vector *memcad_best_results; + +bool compare_channels(channel_conf* first, channel_conf* second) +{ + if(first->capacity != second->capacity) + return (first->capacity < second->capacity); + + MemCad_metrics first_metric = first->memcad_params->first_metric; + MemCad_metrics second_metric = first->memcad_params->second_metric; + MemCad_metrics third_metric = first->memcad_params->third_metric; + + switch(first_metric) + { + case(Cost): + if(first->cost != second->cost) + return (first->cost < second->cost); + break; + case(Bandwidth): + if(first->bandwidth != second->bandwidth) + return (first->bandwidth > second->bandwidth); + break; + case(Energy): + if( fabs(first->energy_per_access - second->energy_per_access)>EPS) + return (first->energy_per_access < second->energy_per_access); + break; + default: + assert(false); + } + + switch(second_metric) + { + case(Cost): + if(first->cost != second->cost) + return (first->cost < second->cost); + break; + case(Bandwidth): + if(first->bandwidth != second->bandwidth) + return (first->bandwidth > second->bandwidth); + break; + case(Energy): + if( fabs(first->energy_per_access - second->energy_per_access)>EPS) + return (first->energy_per_access < second->energy_per_access); + break; + default: + assert(false); + } + + switch(third_metric) + { + case(Cost): + if(first->cost != second->cost) + return (first->cost < second->cost); + break; + case(Bandwidth): + if(first->bandwidth != second->bandwidth) + return (first->bandwidth > second->bandwidth); + break; + case(Energy): + if( fabs(first->energy_per_access - second->energy_per_access)>EPS) + return (first->energy_per_access < second->energy_per_access); + break; + default: + assert(false); + } + return true; +} + + +void prune_channels() +{ + vector * temp = new vector(); + int last_added = -1; + for(unsigned int i=0;i< memcad_all_channels->size();i++) + { + if(last_added != (*memcad_all_channels)[i]->capacity) + { + temp->push_back(clone((*memcad_all_channels)[i])); + last_added = (*memcad_all_channels)[i]->capacity; + } + } + + for(unsigned int i=0;i< memcad_all_channels->size();i++) + { + delete (*memcad_all_channels)[i]; + } + memcad_all_channels->clear(); + delete memcad_all_channels; + memcad_all_channels = temp; +} + +void find_all_channels(MemCadParameters * memcad_params) +{ + + int DIMM_size[]={0,4,8,16,32,64}; + Mem_IO_type current_io_type = memcad_params->io_type; + DIMM_Model current_dimm_model = memcad_params->dimm_model; + + + memcad_all_channels= new vector(); + + // channels can have up to 3 DIMMs per channel + // di is the capacity if i-th dimm in the channel + for(int d1=0; d1<6;d1++) + { + for(int d2=d1;d2<6;d2++) + { + for(int d3=d2;d3<6;d3++) + { + // channel capacity should not exceed the entire memory capacity. + if((DIMM_size[d1]+DIMM_size[d2]+DIMM_size[d3])>memcad_params->capacity) + continue; + + if( ((current_dimm_model== JUST_LRDIMM) || (current_dimm_model== ALL)) + && ((d1==0) || (MemoryParameters::cost[current_io_type][2][d1-1] dimm_cap; + dimm_cap.push_back(DIMM_size[d1]); if(d1>0) num_dimm_per_channel++; + dimm_cap.push_back(DIMM_size[d2]); if(d2>0) num_dimm_per_channel++; + dimm_cap.push_back(DIMM_size[d3]); if(d3>0) num_dimm_per_channel++; + + int max_index = bw_index(current_io_type, MemoryParameters::bandwidth_load[current_io_type][4-num_dimm_per_channel]); + for(int bw_id=0;bw_id<=max_index; ++bw_id) + { + int bandwidth = MemoryParameters::bandwidth_load[current_io_type][bw_id]; + channel_conf * new_channel = new channel_conf(memcad_params, dimm_cap, bandwidth, LRDIMM, false); + if(new_channel->cost push_back(new_channel); + } + + if((DIMM_size[d1]+DIMM_size[d2]+DIMM_size[d3])==0) + continue; + + if(memcad_params->low_power_permitted) + { + new_channel = new channel_conf(memcad_params, dimm_cap, bandwidth, LRDIMM, true); + if(new_channel->cost push_back(new_channel); + } + } + + } + } + + if( (current_dimm_model== JUST_RDIMM) || (current_dimm_model== ALL) + && ((d1==0) || (MemoryParameters::cost[current_io_type][1][d1-1] dimm_cap; + dimm_cap.push_back(DIMM_size[d1]); if(d1>0) num_dimm_per_channel++; + dimm_cap.push_back(DIMM_size[d2]); if(d2>0) num_dimm_per_channel++; + dimm_cap.push_back(DIMM_size[d3]); if(d3>0) num_dimm_per_channel++; + + if((DIMM_size[d1]+DIMM_size[d2]+DIMM_size[d3])==0) + continue; + + int max_index = bw_index(current_io_type, MemoryParameters::bandwidth_load[current_io_type][4-num_dimm_per_channel]); + + for(int bw_id=0;bw_id<=max_index; ++bw_id) + { + int bandwidth = MemoryParameters::bandwidth_load[current_io_type][bw_id]; + channel_conf * new_channel = new channel_conf(memcad_params, dimm_cap, bandwidth, RDIMM, false); + if(new_channel->cost push_back(new_channel); + } + + if(memcad_params->low_power_permitted) + { + new_channel = new channel_conf(memcad_params, dimm_cap, bandwidth, RDIMM, true); + if(new_channel->cost push_back(new_channel); + } + } + } + } + + if( (current_dimm_model== JUST_UDIMM) || (current_dimm_model== ALL) + && ((d1==0) || (MemoryParameters::cost[current_io_type][0][d1-1] dimm_cap; + dimm_cap.push_back(DIMM_size[d1]); if(d1>0) num_dimm_per_channel++; + dimm_cap.push_back(DIMM_size[d2]); if(d2>0) num_dimm_per_channel++; + dimm_cap.push_back(DIMM_size[d3]); if(d3>0) num_dimm_per_channel++; + + if((DIMM_size[d1]+DIMM_size[d2]+DIMM_size[d3])==0) + continue; + int max_index = bw_index(current_io_type, MemoryParameters::bandwidth_load[current_io_type][4-num_dimm_per_channel]); + for(int bw_id=0;bw_id<=max_index; ++bw_id) + { + int bandwidth = MemoryParameters::bandwidth_load[current_io_type][bw_id]; + channel_conf * new_channel = new channel_conf(memcad_params, dimm_cap, bandwidth, UDIMM, false); + if(new_channel->cost push_back(new_channel); + } + + if(memcad_params->low_power_permitted) + { + new_channel = new channel_conf(memcad_params, dimm_cap, bandwidth, UDIMM, true); + if(new_channel->cost push_back(new_channel); + } + } + } + } + + } + } + } + + sort(memcad_all_channels->begin(), memcad_all_channels->end(), compare_channels); + + + prune_channels(); + + if(memcad_params->verbose) + { + for(unsigned int i=0;isize();i++) + { + cout << *(*memcad_all_channels)[i] << endl; + } + } + +} + +bool compare_channels_bw(channel_conf* first, channel_conf* second) +{ + return (first->bandwidth < second->bandwidth); +} + +bool compare_bobs(bob_conf* first, bob_conf* second) +{ + if(first->capacity != second->capacity) + return (first->capacity < second->capacity); + + MemCad_metrics first_metric = first->memcad_params->first_metric; + MemCad_metrics second_metric = first->memcad_params->second_metric; + MemCad_metrics third_metric = first->memcad_params->third_metric; + + switch(first_metric) + { + case(Cost): + if(first->cost != second->cost) + return (first->cost < second->cost); + break; + case(Bandwidth): + if(first->bandwidth != second->bandwidth) + return (first->bandwidth > second->bandwidth); + break; + case(Energy): + if( fabs(first->energy_per_access - second->energy_per_access)>EPS) + return (first->energy_per_access < second->energy_per_access); + break; + default: + assert(false); + } + + switch(second_metric) + { + case(Cost): + if(first->cost != second->cost) + return (first->cost < second->cost); + break; + case(Bandwidth): + if(first->bandwidth != second->bandwidth) + return (first->bandwidth > second->bandwidth); + break; + case(Energy): + if( fabs(first->energy_per_access - second->energy_per_access)>EPS) + return (first->energy_per_access < second->energy_per_access); + break; + default: + assert(false); + } + + switch(third_metric) + { + case(Cost): + if(first->cost != second->cost) + return (first->cost < second->cost); + break; + case(Bandwidth): + if(first->bandwidth != second->bandwidth) + return (first->bandwidth > second->bandwidth); + break; + case(Energy): + if( fabs(first->energy_per_access - second->energy_per_access)>EPS) + return (first->energy_per_access < second->energy_per_access); + break; + default: + assert(false); + } + return true; +} + +void prune_bobs() +{ + vector * temp = new vector(); + int last_added = -1; + for(unsigned int i=0;i< memcad_all_bobs->size();i++) + { + if(last_added != (*memcad_all_bobs)[i]->capacity) + { + temp->push_back(clone((*memcad_all_bobs)[i])); + last_added = (*memcad_all_bobs)[i]->capacity; + } + } + + for(unsigned int i=0;i< memcad_all_bobs->size();i++) + { + delete (*memcad_all_bobs)[i]; + } + memcad_all_bobs->clear(); + delete memcad_all_bobs; + memcad_all_bobs = temp; +} + +void find_bobs_recursive(MemCadParameters * memcad_params,int start,int end,int nb, list *channel_index) +{ + if(nb==1) + { + for(int i=start; i<=end;++i) + { + channel_index->push_back(i); + + vector temp; + for(list::iterator it= channel_index->begin(); it!= channel_index->end(); it++) + { + int idx = *it; + temp.push_back((*memcad_all_channels)[idx]); + } + memcad_all_bobs->push_back(new bob_conf(memcad_params, &temp)); + temp.clear(); + + channel_index->pop_back(); + } + return; + } + for(int i=start;i<=end;++i) + { + channel_index->push_back(i); + find_bobs_recursive(memcad_params,i,end,nb-1,channel_index); + channel_index->pop_back(); + } +} + +void find_all_bobs(MemCadParameters * memcad_params) +{ + memcad_all_bobs = new vector(); + if(memcad_params->mirror_in_bob) + { + for(unsigned int i=0;isize();++i) + { + vector channels; + for(int j=0;jnum_channels_per_bob;j++) + channels.push_back((*memcad_all_channels)[i]); + memcad_all_bobs->push_back(new bob_conf(memcad_params, &channels)); + channels.clear(); + } + } + else if(memcad_params->same_bw_in_bob) + { + sort(memcad_all_channels->begin(), memcad_all_channels->end(), compare_channels_bw); + vector start_index; start_index.push_back(0); + vector end_index; + int last_bw =(*memcad_all_channels)[0]->bandwidth; + for(unsigned int i=0;i< memcad_all_channels->size();i++) + { + if(last_bw!=(*memcad_all_channels)[i]->bandwidth) + { + end_index.push_back(i-1); + start_index.push_back(i); + last_bw = (*memcad_all_channels)[i]->bandwidth; + } + } + end_index.push_back(memcad_all_channels->size()-1); + + list channel_index; + + for(unsigned int i=0;i< start_index.size();++i) + { + find_bobs_recursive(memcad_params,start_index[i],end_index[i],memcad_params->num_channels_per_bob, &channel_index); + } + + } + else + { + cout << "We do not support different frequencies per in a BoB!" << endl; + assert(false); + } + + + sort(memcad_all_bobs->begin(), memcad_all_bobs->end(), compare_bobs); + prune_bobs(); + if(memcad_params->verbose) + { + for(unsigned int i=0;isize();i++) + { + cout << *(*memcad_all_bobs)[i] << endl; + } + } +} + +void find_mems_recursive(MemCadParameters * memcad_params, int remaining_capacity, int start, int nb, list* bobs_index) +{ + + if(nb==1) + { + for(unsigned int i=start; i< memcad_all_bobs->size();++i) + { + if((*memcad_all_bobs)[i]->capacity != remaining_capacity) + continue; + + bobs_index->push_back(i); + vector temp; + for(list::iterator it= bobs_index->begin(); it!= bobs_index->end(); it++) + { + int index = *it; + temp.push_back((*memcad_all_bobs)[index]); + } + memcad_all_memories->push_back(new memory_conf(memcad_params, &temp)); + temp.clear(); + bobs_index->pop_back(); + } + return; + } + + for(unsigned int i=start; isize();i++) + { + if((*memcad_all_bobs)[i]->capacity > remaining_capacity) + continue; + + int new_remaining_capacity = remaining_capacity-(*memcad_all_bobs)[i]->capacity; + bobs_index->push_back(i); + find_mems_recursive(memcad_params, new_remaining_capacity, i, nb-1, bobs_index); + bobs_index->pop_back(); + } +} + +//void find_mems_recursive(MemCadParameters * memcad_params, int start, int + +bool compare_memories(memory_conf* first, memory_conf* second) +{ + if(first->capacity != second->capacity) + return (first->capacity < second->capacity); + + MemCad_metrics first_metric = first->memcad_params->first_metric; + MemCad_metrics second_metric = first->memcad_params->second_metric; + MemCad_metrics third_metric = first->memcad_params->third_metric; + + switch(first_metric) + { + case(Cost): + if(first->cost != second->cost) + return (first->cost < second->cost); + break; + case(Bandwidth): + if(first->bandwidth != second->bandwidth) + return (first->bandwidth > second->bandwidth); + break; + case(Energy): + if( fabs(first->energy_per_access - second->energy_per_access)>EPS) + return (first->energy_per_access < second->energy_per_access); + break; + default: + assert(false); + } + + switch(second_metric) + { + case(Cost): + if(first->cost != second->cost) + return (first->cost < second->cost); + break; + case(Bandwidth): + if(first->bandwidth != second->bandwidth) + return (first->bandwidth > second->bandwidth); + break; + case(Energy): + if( fabs(first->energy_per_access - second->energy_per_access)>EPS) + return (first->energy_per_access < second->energy_per_access); + break; + default: + assert(false); + } + + switch(third_metric) + { + case(Cost): + if(first->cost != second->cost) + return (first->cost < second->cost); + break; + case(Bandwidth): + if(first->bandwidth != second->bandwidth) + return (first->bandwidth > second->bandwidth); + break; + case(Energy): + if( fabs(first->energy_per_access - second->energy_per_access)>EPS) + return (first->energy_per_access < second->energy_per_access); + break; + default: + assert(false); + } + return true; +} + +bool find_all_memories(MemCadParameters * memcad_params) +{ + memcad_all_memories = new vector(); + + list bobs_index; + find_mems_recursive(memcad_params, memcad_params->capacity, 0,memcad_params->num_bobs, &bobs_index); + + sort(memcad_all_memories->begin(), memcad_all_memories->end(), compare_memories); + + if(memcad_params->verbose) + { + cout << "all possible results:" << endl; + for(unsigned int i=0;isize();i++) + { + cout << *(*memcad_all_memories)[i] << endl; + } + } + if(memcad_all_memories->size()==0) + { + cout << "No result found " << endl; + return false; + } + cout << "top 3 best memory configurations are:" << endl; + int min_num_results = (memcad_all_memories->size()>3?3:memcad_all_memories->size()); + for(int i=0;isize();++i) + { + delete (*memcad_all_channels)[i]; + } + delete memcad_all_channels; + + for(unsigned int i=0;isize();++i) + { + delete (*memcad_all_bobs)[i]; + } + delete memcad_all_bobs; + + for(unsigned int i=0;isize();++i) + { + delete (*memcad_all_memories)[i]; + } + delete memcad_all_memories; +} + + +void solve_memcad(MemCadParameters * memcad_params) +{ + + find_all_channels(memcad_params); + find_all_bobs(memcad_params); + find_all_memories(memcad_params); + clean_results(); +} + diff --git a/T1/TP1/cacti-master/memcad.h b/T1/TP1/cacti-master/memcad.h new file mode 100644 index 0000000..fa534e3 --- /dev/null +++ b/T1/TP1/cacti-master/memcad.h @@ -0,0 +1,30 @@ +#ifndef __MEMCAD_H__ +#define __MEMCAD_H__ + +#include "memcad_parameters.h" +#include + + +extern vector *memcad_all_channels; + +extern vector *memcad_all_bobs; + +extern vector *memcad_all_memories; + +extern vector *memcad_best_results; + + + +void find_all_channels(MemCadParameters * memcad_params); + +void find_all_bobs(MemCadParameters * memcad_params); + +bool find_all_memories(MemCadParameters * memcad_params); + +void clean_results(); + +void solve_memcad(MemCadParameters * memcad_params); + +#endif + + diff --git a/T1/TP1/cacti-master/memcad_parameters.cc b/T1/TP1/cacti-master/memcad_parameters.cc new file mode 100644 index 0000000..295e431 --- /dev/null +++ b/T1/TP1/cacti-master/memcad_parameters.cc @@ -0,0 +1,466 @@ +#include "memcad_parameters.h" +#include +#include + +MemCadParameters::MemCadParameters(InputParameter * g_ip) +{ + // default value + io_type=DDR4; // DDR3 vs. DDR4 + capacity=400; // in GB + num_bobs=4; // default=4me + num_channels_per_bob=2; // 1 means no bob + capacity_wise=true; // true means the load on each channel is proportional to its capacity. + first_metric=Cost; + second_metric=Bandwidth; + third_metric=Energy; + dimm_model=ALL; + low_power_permitted=false; + load=0.9; // between 0 to 1 + row_buffer_hit_rate=1; + rd_2_wr_ratio=2; + same_bw_in_bob=true; // true if all the channels in the bob have the same bandwidth + mirror_in_bob=true;// true if all the channels in the bob have the same configs + total_power=false; // false means just considering I/O Power. + verbose=false; + // values for input + io_type=g_ip->io_type; + capacity=g_ip->capacity; + num_bobs=g_ip->num_bobs; + num_channels_per_bob=g_ip->num_channels_per_bob; + first_metric=g_ip->first_metric; + second_metric=g_ip->second_metric; + third_metric=g_ip->third_metric; + dimm_model=g_ip->dimm_model; + ///low_power_permitted=g_ip->low_power_permitted; + ///load=g_ip->load; + ///row_buffer_hit_rate=g_ip->row_buffer_hit_rate; + ///rd_2_wr_ratio=g_ip->rd_2_wr_ratio; + ///same_bw_in_bob=g_ip->same_bw_in_bob; + mirror_in_bob=g_ip->mirror_in_bob; + ///total_power=g_ip->total_power; + verbose=g_ip->verbose; + +} + +void MemCadParameters::print_inputs() +{ + +} + +bool MemCadParameters::sanity_check() +{ + + return true; +} + + +double MemoryParameters::VDD[2][2][4]= //[lp:hp][ddr3:ddr4][frequency index] +{ + { + {1.5,1.5,1.5,1.5}, + {1.2,1.2,1.2,1.2} + }, + { + {1.35,1.35,1.35,1.35}, + {1.0,1.0,1.0,1.0} + } +}; + +double MemoryParameters::IDD0[2][4]= +{ + {55,60,65,75}, + {58,58,60,64} +}; + +double MemoryParameters::IDD2P0[2][4]= +{ + {20,20,20,20}, + {20,20,20,20} +}; + +double MemoryParameters::IDD2P1[2][4]= +{ + {30,30,32,37}, + {30,30,30,32} +}; + +double MemoryParameters::IDD2N[2][4]= +{ + {40,42,45,50}, + {44,44,46,50} +}; + +double MemoryParameters::IDD3P[2][4]= +{ + {45,50,55,60}, + {44,44,44,44} +}; + +double MemoryParameters::IDD3N[2][4]= +{ + {42,47,52,57}, + {44,44,44,44} +}; + +double MemoryParameters::IDD4R[2][4]= +{ + {120,135,155,175}, + {140,140,150,160} +}; + +double MemoryParameters::IDD4W[2][4]= +{ + {100,125,145,165}, + {156,156,176,196} +}; + +double MemoryParameters::IDD5[2][4]= +{ + {150,205,210,220}, + {190,190,190,192} +}; + +double MemoryParameters::io_energy_read[2][3][3][4] =// [ddr3:ddr4][udimm:rdimm:lrdimm][load 1:2:3][frequency 0:1:2:3] +{ + { //ddr3 + {//udimm + {2592.33, 2593.33, 3288.784, 4348.612}, + {2638.23, 2640.23, 3941.584, 5415.492}, + {2978.659, 2981.659, 4816.644, 6964.162} + + }, + {//rdimm + {2592.33, 3087.071, 3865.044, 4844.982}, + {2932.759, 3733.318, 4237.634, 5415.492}, + {3572.509, 4603.109, 5300.004, 6964.162} + }, + {//lrdimm + {4628.966, 6357.625, 7079.348, 9680.454}, + {5368.26, 6418.788, 7428.058, 10057.164}, + {5708.689, 7065.038, 7808.678, 10627.674} + + } + + }, + { //ddr + {//udimm + {2135.906, 2633.317, 2750.919, 2869.406}, + {2458.714, 2695.791, 2822.298, 3211.111}, + {2622.85, 3030.048, 3160.265, 3534.448} + + }, + {//rdimm + {2135.906, 2633.317, 2750.919, 2869.406}, + {2458.714, 2695.791, 3088.886, 3211.111}, + {2622.85, 3030.048, 3312.468, 3758.445} + + }, + {//lrdimm + {4226.903, 5015.342, 5490.61, 5979.864}, + {4280.471, 5319.132, 5668.945, 6060.216}, + {4603.279, 5381.605, 5740.325, 6401.926} + + } + + } +}; + +double MemoryParameters::io_energy_write[2][3][3][4] = +{ + { //ddr3 + {//udimm + {2758.951, 2984.854, 3571.804, 4838.902}, + {2804.851, 3768.524, 4352.214, 5580.362}, + {3213.897, 3829.684, 5425.854, 6933.512} + + }, + {//rdimm + {2758.951, 3346.104, 3931.154, 4838.902}, + {3167.997, 4114.754, 4696.724, 5580.362}, + {3561.831, 3829.684, 6039.994, 8075.542} + + }, + {//lrdimm + {4872.238, 5374.314, 7013.868, 9267.574}, + {5701.502, 6214.348, 7449.758, 10045.004}, + {5747.402, 6998.018, 8230.168, 10786.464} + + } + + }, + { //ddr4 + {//udimm + {2525.129, 2840.853, 2979.037, 3293.608}, + {2933.756, 3080.126, 3226.497, 3979.698}, + {3293.964, 3753.37, 3906.137, 4312.448} + + }, + {//rdimm + {2525.129, 2840.853, 3155.117, 3293.608}, + {2933.756, 3080.126, 3834.757, 3979.698}, + {3293.964, 3753.37, 4413.037, 5358.078} + + }, + {//lrdimm + {4816.453, 5692.314, 5996.134, 6652.936}, + {4870.021, 5754.788, 6067.514, 6908.636}, + {5298.373, 5994.07, 6491.054, 7594.726} + + } + + } +}; + +double MemoryParameters::T_RAS[2] = {35,35}; + +double MemoryParameters::T_RC[2] = {47.5,47.5}; + +double MemoryParameters::T_RP[2] = {13,13}; + +double MemoryParameters::T_RFC[2] = {340,260}; + +double MemoryParameters::T_REFI[2] = {7800,7800}; + +int MemoryParameters::bandwidth_load[2][4]={{400,533,667,800},{800,933,1066,1200}}; + +double MemoryParameters::cost[2][3][5] = +{ + { + {40.38,76.13,INF,INF,INF}, + {42.24,64.17,122.6,304.3,INF}, + {INF,INF,211.3,287.5,1079.5} + }, + { + {25.99,45.99,INF,INF,INF}, + {32.99,60.45,126,296.3,INF}, + {INF,INF,278.99,333,1474} + } +}; + + + +/////////////////////////////////////////////////////////////////////////////////// + +double calculate_power(double load, double row_buffer_hr, double rd_wr_ratio, int chips_per_rank, int frequency_index, int lp) +{ + return 0; +} + +int bw_index(Mem_IO_type type, int bandwidth) +{ + if(type==DDR3) + { + if(bandwidth<=400) + return 0; + else if(bandwidth <= 533) + return 1; + else if(bandwidth <= 667) + return 2; + else + return 3; + } + else + { + if(bandwidth<=800) + return 0; + else if(bandwidth <= 933) + return 1; + else if(bandwidth <= 1066) + return 2; + else + return 3; + } + return 0; +} + +channel_conf::channel_conf(MemCadParameters * memcad_params, const vector& dimm_cap, int bandwidth, Mem_DIMM type, bool low_power) +:memcad_params(memcad_params),type(type),low_power(low_power),bandwidth(bandwidth),latency(0),valid(true) +{ + //assert(memcad_params); + assert(dimm_cap.size() <=DIMM_PER_CHANNEL); + assert(memcad_params->io_type<2); // So far, we just support DDR3 and DDR4. + // upading capacity + num_dimm_per_channel=0; + capacity =0; + for(int i=0;i<5;i++) histogram_capacity[i]=0; + for(unsigned int i=0;i0) + bandwidth =0; + + //bandwidth = MemoryParameters::bandwidth_load[memcad_params->io_type][4-num_dimm_per_channel]; + // updating channel cost + cost =0; + for(int i=0;i<5;++i) + cost += histogram_capacity[i] * MemoryParameters::cost[memcad_params->io_type][type][i]; + + // update energy + calc_power(); + +} + +void channel_conf::calc_power() +{ + + double read_ratio = memcad_params->rd_2_wr_ratio/(1.0+memcad_params->rd_2_wr_ratio); + double write_ratio = 1.0/(1.0+memcad_params->rd_2_wr_ratio); + Mem_IO_type current_io_type = memcad_params->io_type; + double capacity_ratio = (capacity/(double) memcad_params->capacity ); + + double T_BURST = 4; // memory cycles + + energy_per_read = MemoryParameters::io_energy_read[current_io_type][type][num_dimm_per_channel-1][bw_index(current_io_type,bandwidth)]; + energy_per_read /= (bandwidth/T_BURST); + + energy_per_write = MemoryParameters::io_energy_write[current_io_type][type][num_dimm_per_channel-1][bw_index(current_io_type,bandwidth)]; + energy_per_write /= (bandwidth/T_BURST); + if(memcad_params->capacity_wise) + { + energy_per_read *= capacity_ratio; + energy_per_write *= capacity_ratio; + } + + energy_per_access = read_ratio* energy_per_read + write_ratio*energy_per_write; + +} + +channel_conf* clone(channel_conf* origin) +{ + vector temp; + int size =4; + for(int i=0;i<5;++i) + { + for(int j=0;jhistogram_capacity[i];++j) + { + temp.push_back(size); + } + size *=2; + } + channel_conf * new_channel = new channel_conf(origin->memcad_params,temp,origin->bandwidth, origin->type,origin->low_power); + return new_channel; +} + +ostream& operator<<(ostream &os, const channel_conf& ch_cnf) +{ + os << "cap: " << ch_cnf.capacity << " GB "; + os << "bw: " << ch_cnf.bandwidth << " (MHz) "; + os << "cost: $" << ch_cnf.cost << " "; + os << "dpc: " << ch_cnf.num_dimm_per_channel << " "; + os << "energy: " << ch_cnf.energy_per_access << " (nJ) "; + os << " DIMM: " << ((ch_cnf.type==UDIMM)?" UDIMM ":((ch_cnf.type==RDIMM)?" RDIMM ":"LRDIMM ")); + os << " low power: " << ((ch_cnf.low_power)? "T ":"F "); + os << "[ "; + for(int i=0;i<5;i++) + os << ch_cnf.histogram_capacity[i] << "(" << (1<<(i+2)) << "GB) "; + os << "]"; + return os; +} + + +bob_conf::bob_conf(MemCadParameters * memcad_params, vector * in_channels) +:memcad_params(memcad_params),num_channels(0),capacity(0),bandwidth(0) +,energy_per_read(0),energy_per_write(0),energy_per_access(0),cost(0),latency(0),valid(true) +{ + + assert(in_channels->size() <= MAX_NUM_CHANNELS_PER_BOB); + for(int i=0;isize();++i) + { + channels[i] = (*in_channels)[i]; + num_channels++; + capacity += (*in_channels)[i]->capacity; + cost += (*in_channels)[i]->cost; + bandwidth += (*in_channels)[i]->bandwidth; + energy_per_read += (*in_channels)[i]->energy_per_read; + energy_per_write += (*in_channels)[i]->energy_per_write; + energy_per_access += (*in_channels)[i]->energy_per_access; + } +} + +bob_conf* clone(bob_conf* origin) +{ + vector temp; + for(int i=0;ichannels)[i]==0 ) + break; + temp.push_back( (origin->channels)[i] ); + } + + bob_conf * new_bob = new bob_conf(origin->memcad_params,&temp); + return new_bob; +} + +ostream & operator <<(ostream &os, const bob_conf& bob_cnf) +{ + os << " " << "BoB " ; + os << "cap: " << bob_cnf.capacity << " GB "; + os << "num_channels: " << bob_cnf.num_channels << " "; + os << "bw: " << bob_cnf.bandwidth << " (MHz) "; + os << "cost: $" << bob_cnf.cost << " "; + os << "energy: " << bob_cnf.energy_per_access << " (nJ) "; + os << endl; + os << " " << " ==============" << endl; + for(int i=0;i * in_bobs) +:memcad_params(memcad_params),num_bobs(0),capacity(0),bandwidth(0) +,energy_per_read(0),energy_per_write(0),energy_per_access(0),cost(0),latency(0),valid(true) +{ + assert(in_bobs->size() <= MAX_NUM_BOBS); + for(int i=0;isize();++i) + { + bobs[i] = (*in_bobs)[i]; + num_bobs++; + capacity += (*in_bobs)[i]->capacity; + cost += (*in_bobs)[i]->cost; + bandwidth += (*in_bobs)[i]->bandwidth; + energy_per_read += (*in_bobs)[i]->energy_per_read; + energy_per_write += (*in_bobs)[i]->energy_per_write; + energy_per_access += (*in_bobs)[i]->energy_per_access; + } +} + +ostream & operator <<(ostream &os, const memory_conf& mem_cnf) +{ + os << "Memory " ; + os << "cap: " << mem_cnf.capacity << " GB "; + os << "num_bobs: " << mem_cnf.num_bobs << " "; + os << "bw: " << mem_cnf.bandwidth << " (MHz) "; + os << "cost: $" << mem_cnf.cost << " "; + os << "energy: " << mem_cnf.energy_per_access << " (nJ) "; + os << endl; + os << " {" << endl; + for(int i=0;i +#include +#include "cacti_interface.h" +#include "const.h" +#include "parameter.h" + +using namespace std; + +///#define INF 1000000 +#define EPS 0.0000001 + +#define MAX_DIMM_PER_CHANNEL 3 +#define MAX_CAP_PER_DIMM 64 +#define MAX_RANKS_PER_DIMM 4 +#define MIN_BW_PER_CHANNEL 400 +#define MAX_DDR3_CHANNEL_BW 800 +#define MAX_DDR4_CHANNEL_BW 1600 +#define MAX_NUM_CHANNELS_PER_BOB 2 +#define MAX_NUM_BOBS 6 +#define DIMM_PER_CHANNEL 3 + +/* +enum Mem_IO_type +{ + DDR3, + DDR4, + LPDDR2, + WideIO, + Low_Swing_Diff, + Serial +}; + +enum Mem_DIMM +{ + UDIMM, + RDIMM, + LRDIMM +}; +*/ + + + +class MemCadParameters +{ + public: + + Mem_IO_type io_type; // DDR3 vs. DDR4 + + int capacity; // in GB + + int num_bobs; // default=4me + + ///int bw_per_channel; // defaul=1600 MHz; + + ///bool with_bob; + + int num_channels_per_bob; // 1 means no bob + + bool capacity_wise; // true means the load on each channel is proportional to its capacity. + + ///int min_bandwith; + + MemCad_metrics first_metric; + + MemCad_metrics second_metric; + + MemCad_metrics third_metric; + + DIMM_Model dimm_model; + + bool low_power_permitted; // Not yet implemented. It determines acceptable VDDs. + + double load; // between 0 to 1 + + double row_buffer_hit_rate; + + double rd_2_wr_ratio; + + bool same_bw_in_bob; // true if all the channels in the bob have the same bandwidth. + + + bool mirror_in_bob;// true if all the channels in the bob have the same configs + + bool total_power; // false means just considering I/O Power + + bool verbose; + + // Functions + MemCadParameters(InputParameter * g_ip); + void print_inputs(); + bool sanity_check(); + +}; + + +////////////////////////////////////////////////////////////////////////////////// + +class MemoryParameters +{ + public: + // Power Parameteres + static double VDD[2][2][4]; + + static double IDD0[2][4]; + + static double IDD1[2][4]; + + static double IDD2P0[2][4]; + + static double IDD2P1[2][4]; + + static double IDD2N[2][4]; + + static double IDD3P[2][4]; + + static double IDD3N[2][4]; + + static double IDD4R[2][4]; + + static double IDD4W[2][4]; + + static double IDD5[2][4]; + + static double io_energy_read[2][3][3][4]; + + static double io_energy_write[2][3][3][4]; + + // Timing Parameters + static double T_RAS[2]; + + static double T_RC[2]; + + static double T_RP[2]; + + static double T_RFC[2]; + + static double T_REFI[2]; + + // Bandwidth Parameters + static int bandwidth_load[2][4]; + + // Cost Parameters + static double cost[2][3][5]; + + + // Functions + MemoryParameters(); + + int bw_index(Mem_IO_type type, int bandwidth); +}; + +/////////////////////////////////////////////////////////////////////////// + +int bw_index(Mem_IO_type type, int bandwidth); + + +/////////////////////////////////////////////////////////////////////////// + +class channel_conf +{ + public: + MemCadParameters *memcad_params; + + Mem_DIMM type; + int num_dimm_per_channel; + int histogram_capacity[5]; // 0->4GB, 1->8GB, 2->16GB, 3->32GB, 4->64GB + bool low_power; + + int capacity; + int bandwidth; + double energy_per_read; + double energy_per_write; + double energy_per_access; + + double cost; + double latency; + + bool valid; + // Functions + channel_conf(MemCadParameters * memcad_params, const vector& dimm_cap, int bandwidth, Mem_DIMM type, bool low_power); + + void calc_power(); + + friend channel_conf* clone(channel_conf*); + friend ostream & operator<<(ostream &os, const channel_conf& ch_cnf); + +}; + + +/////////////////////////////////////////////////////////////////////////// + +class bob_conf +{ + public: + MemCadParameters *memcad_params; + int num_channels; + channel_conf *channels[MAX_NUM_CHANNELS_PER_BOB]; + + int capacity; + int bandwidth; + double energy_per_read; + double energy_per_write; + double energy_per_access; + + double cost; + double latency; + + bool valid; + + bob_conf(MemCadParameters * memcad_params, vector * channels); + + friend bob_conf* clone(bob_conf*); + friend ostream & operator <<(ostream &os, const bob_conf& bob_cnf); +}; + +/////////////////////////////////////////////////////////////////////////// + + +class memory_conf +{ + public: + MemCadParameters *memcad_params; + int num_bobs; + bob_conf* bobs[MAX_NUM_BOBS]; + + int capacity; + int bandwidth; + double energy_per_read; + double energy_per_write; + double energy_per_access; + + double cost; + double latency; + + bool valid; + + memory_conf(MemCadParameters * memcad_params, vector * bobs); + friend ostream & operator <<(ostream &os, const memory_conf& bob_cnf); +}; + + + + + + +#endif + + diff --git a/T1/TP1/cacti-master/memorybus.cc b/T1/TP1/cacti-master/memorybus.cc new file mode 100644 index 0000000..c626c92 --- /dev/null +++ b/T1/TP1/cacti-master/memorybus.cc @@ -0,0 +1,741 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + +#include "memorybus.h" +#include "wire.h" +#include +#include +#include + +Memorybus::Memorybus( + enum Wire_type wire_model, double mat_w, double mat_h, double subarray_w_, double subarray_h_, + int _row_add_bits, int _col_add_bits, int _data_bits, int _ndbl, int _ndwl, /*enum Htree_type htree_type,*/ + enum Memorybus_type membus_type_, const DynamicParameter & dp_, + /*TechnologyParameter::*/DeviceType *dt): + dp(dp_), + in_rise_time(0), out_rise_time(0), + is_dram(dp.is_dram), + membus_type(membus_type_), + mat_width(mat_w), mat_height(mat_h), subarray_width(subarray_w_), subarray_height(subarray_h_), + data_bits(_data_bits), ndbl(_ndbl), ndwl(_ndwl), + wt(wire_model), deviceType(dt) +{ + if (g_ip->print_detail_debug) + cout << "memorybus.cc: membus_type = " << membus_type << endl; + power.readOp.dynamic = 0; + power.readOp.leakage = 0; + power.readOp.gate_leakage = 0; + power.searchOp.dynamic =0; + delay = 0; + + cell.h = g_tp.dram.b_h; + cell.w = g_tp.dram.b_w; + + if (!g_ip->is_3d_mem) + assert(ndbl >= 2 && ndwl >= 2); + + if (g_ip->print_detail_debug) + { + cout << "burst length: " << g_ip->burst_depth <io_width <io_width; //g_ip->out_w; //x4, x8, x16 chip + burst_length = g_ip->burst_depth; //g_ip->burst_len; //DDR2 4, DDR3 8 + data_bits = chip_IO_width * burst_length; + + row_add_bits = _row_add_bits; + col_add_bits = _col_add_bits; + + + max_unpipelined_link_delay = 0; //TODO + min_w_nmos = g_tp.min_w_nmos_; + min_w_pmos = deviceType->n_to_p_eff_curr_drv_ratio * min_w_nmos; + + + semi_repeated_global_line = 0; // 1: semi-repeated global line, repeaters in decoder stripes; 0: Non-repeated global line, slower + ndwl = _ndwl/ g_ip->num_tier_row_sprd; + ndbl = _ndbl/ g_ip->num_tier_col_sprd; + num_subarray_global_IO = ndbl>16?16:ndbl; + + switch (membus_type) + { + case Data_path: + data_bits = chip_IO_width * burst_length; + Network(); + break; + case Row_add_path: + add_bits = _row_add_bits; + num_dec_signals = dp.num_r_subarray * ndbl; + Network(); + break; + case Col_add_path: + add_bits = _col_add_bits; + num_dec_signals = dp.num_c_subarray * ndwl / data_bits; + Network(); + break; + default: + assert(0); + break; + } + + assert(power.readOp.dynamic >= 0); + assert(power.readOp.leakage >= 0); +} + +Memorybus::~Memorybus() +{ + delete center_stripe; + delete bank_bus; + switch (membus_type) + { + case Data_path: + delete local_data; + delete global_data; + delete local_data_drv; + if(semi_repeated_global_line) + delete global_data_drv; + delete out_seg; + break; + case Row_add_path: + delete global_WL; + delete add_predec; + delete add_dec; + delete lwl_drv; + break; + case Col_add_path: + delete column_sel; + delete add_predec; + delete add_dec; + break; + default: + assert(0); + break; + } +} + +// ---For 3D DRAM, the bank height and length is reduced to 1/num_tier_row_sprd and 1/num_tier_col_sprd. +// ---As a result, ndwl and ndbl are also reduced to the same ratio, but he number of banks increase to the product of these two parameters +void Memorybus::Network() +{ + //double POLY_RESISTIVITY = 0.148; //ohm-micron + double R_wire_dec_out = 0; + double C_ld_dec_out = 0; + double bank_bus_length = 0; + double area_bank_vertical_peripheral_circuitry = 0, area_bank_horizontal_peripheral_circuitry = 0; + + area_sense_amp = (mat_height - subarray_height) * mat_width * ndbl * ndwl; + area_subarray = subarray_height * subarray_width * ndbl * ndwl; + + // ---Because in 3D DRAM mat only has one subarray, but contains the subarray peripheral circuits such as SA. Detail see mat.cc is_3d_mem part. + subarray_height = mat_height; + subarray_width = mat_width; + + if(g_ip->partition_gran == 0)// Coarse_rank_level: add/data bus around + { + height_bank = subarray_height * ndbl + (col_add_bits + row_add_bits)*g_tp.wire_outside_mat.pitch/2 + data_bits*g_tp.wire_outside_mat.pitch; + length_bank = subarray_width * ndwl + (col_add_bits + row_add_bits)*g_tp.wire_outside_mat.pitch/2 + data_bits*g_tp.wire_outside_mat.pitch; + area_address_bus = (row_add_bits + col_add_bits) *g_tp.wire_outside_mat.pitch * sqrt(length_bank * height_bank); + area_data_bus = data_bits *g_tp.wire_outside_mat.pitch * sqrt(length_bank * height_bank); + } + else if(g_ip->partition_gran == 1)//Fine_rank_level: add bus replaced by TSVs + { + height_bank = subarray_height * ndbl; + length_bank = subarray_width * ndwl; + area_address_bus = 0; + area_data_bus = data_bits *g_tp.wire_outside_mat.pitch * sqrt(length_bank * height_bank); + } + else if(g_ip->partition_gran == 2)//Coarse_bank_level: add/data bus replaced by TSVs + { + height_bank = subarray_height * ndbl; + length_bank = subarray_width * ndwl; + area_address_bus = 0; + area_data_bus = 0; + } + + + + + if (g_ip->print_detail_debug) + { + cout << "memorybus.cc: N subarrays per mat = " << dp.num_subarrays / dp.num_mats << endl; + cout << "memorybus.cc: g_tp.wire_local.pitch = " << g_tp.wire_local.pitch /1e3 << " mm" << endl; + cout << "memorybus.cc: subarray_width = " << subarray_width /1e3 << " mm" << endl; + cout << "memorybus.cc: subarray_height = " << subarray_height /1e3 << " mm" << endl; + cout << "memorybus.cc: mat_height = " << mat_height /1e3 << " mm" << endl; + cout << "memorybus.cc: mat_width = " << mat_width /1e3 << " mm" << endl; + cout << "memorybus.cc: height_bank = " << height_bank /1e3 << " mm" << endl; + cout << "memorybus.cc: length_bank = " << length_bank /1e3 << " mm" << endl; + } + + int num_banks_hor_dir = 1 << (int)ceil((double)_log2( g_ip->nbanks * g_ip->num_tier_row_sprd )/2 ) ; + int num_banks_ver_dir = 1 << (int)ceil((double)_log2( g_ip->nbanks * g_ip->num_tier_col_sprd * g_ip->num_tier_row_sprd /num_banks_hor_dir ) ); + + if (g_ip->print_detail_debug) + { + cout<<"horz bank #: "<nbanks = " << g_ip->nbanks << endl; + cout << "memorybus.cc: num_banks_hor_dir = " << num_banks_hor_dir << endl; + } + + // ************************************* Wire Interconnections ***************************************** + double center_stripe_length = 0.5 * double(num_banks_hor_dir) * height_bank; + if(g_ip->print_detail_debug) + { + cout << "memorybus.cc: center_stripe wire length = " << center_stripe_length << " um"<< endl; + } + center_stripe = new Wire(wt, center_stripe_length); + area_bus = 2.0 * center_stripe_length * (row_add_bits + col_add_bits + data_bits) *g_tp.wire_outside_mat.pitch / g_ip->nbanks; + + //if (g_ip->partition_gran == 0) + //area_bus = (row_add_bits + col_add_bits) *g_tp.wire_outside_mat.pitch * center_stripe_length; + if (membus_type == Row_add_path) + { + int num_lwl_per_gwl = 4; + global_WL = new Wire(wt, length_bank, 1, 1, 1, inside_mat, CU_RESISTIVITY, &(g_tp.peri_global)); + //local_WL = new Wire(wt, length_bank/num_lwl_drv, local_wires, POLY_RESISTIVITY, &(g_tp.dram_wl)); + num_lwl_drv = ndwl; + //C_GWL = num_lwl_drv * gate_C(g_tp.min_w_nmos_+min_w_pmos,0) + c_w_metal * dp.num_c_subarray * ndwl; + if(semi_repeated_global_line) + { + C_GWL = (double)num_lwl_per_gwl * gate_C(g_tp.min_w_nmos_+min_w_pmos,0) + g_tp.wire_inside_mat.C_per_um * (subarray_width + g_tp.wire_local.pitch); + R_GWL = g_tp.wire_inside_mat.R_per_um * (subarray_width + g_tp.wire_local.pitch); + } + else + { + C_GWL = (double)num_lwl_drv * num_lwl_per_gwl * gate_C(g_tp.min_w_nmos_+min_w_pmos,0) + g_tp.wire_inside_mat.C_per_um * length_bank; + R_GWL = length_bank * g_tp.wire_inside_mat.R_per_um; + } + + lwl_driver_c_gate_load = dp.num_c_subarray * gate_C_pass(g_tp.dram.cell_a_w, g_tp.dram.b_w, true, true); + //lwl_driver_c_wire_load = subarray_width * g_tp.wire_local.C_per_um; + //lwl_driver_r_wire_load = subarray_width * g_tp.wire_local.R_per_um; + + if (g_ip->print_detail_debug) + { + cout<<"C_GWL: "<repeater_size = " << column_sel->repeater_size << endl; + + bank_bus_length = double(num_banks_ver_dir) * 0.5 * MAX(length_bank, height_bank); + bank_bus = new Wire(wt, bank_bus_length); + } + else if (membus_type == Data_path) + { + local_data = new Wire(wt, subarray_width, 1, 1, 1, inside_mat, CU_RESISTIVITY, &(g_tp.peri_global)); + global_data = new Wire(wt, sqrt(length_bank * height_bank), 1, 1, 1, outside_mat, CU_RESISTIVITY, &(g_tp.peri_global)); + + if(semi_repeated_global_line) + { + C_global_data = g_tp.wire_inside_mat.C_per_um * (subarray_height + g_tp.wire_local.pitch); + R_global_data = g_tp.wire_inside_mat.R_per_um * (subarray_height + g_tp.wire_local.pitch) ; + + } + else + { + C_global_data = g_tp.wire_inside_mat.C_per_um * height_bank /2; + R_global_data = g_tp.wire_inside_mat.R_per_um * height_bank /2; + } + + global_data_drv = new Driver( + 0, + C_global_data, + R_global_data, + is_dram); + global_data_drv->compute_delay(0); + global_data_drv->compute_area(); + //---Unrepeated local dataline + double local_data_c_gate_load = dp.num_c_subarray * drain_C_(g_tp.w_nmos_sa_mux, NCH, 1, 0, cell.w, is_dram); + //double local_data_c_gate_load = 0; + double local_data_c_wire_load = dp.num_c_subarray * g_tp.dram.b_w * g_tp.wire_inside_mat.C_per_um; + double local_data_r_wire_load = dp.num_c_subarray * g_tp.dram.b_w * g_tp.wire_inside_mat.R_per_um; + //double local_data_r_gate_load = tr_R_on(g_tp.w_nmos_sa_mux, NCH, 1, is_dram); + double local_data_r_gate_load = 0; + + double tf = (local_data_c_gate_load + local_data_c_wire_load) * (local_data_r_wire_load + local_data_r_gate_load); + double this_delay = horowitz(0, tf, 0.5, 0.5, RISE); + //double local_data_outrisetime = this_delay/(1.0-0.5); + + //---Unrepeated and undriven local dataline, not significant growth + //local_data->delay = this_delay; + //local_data->power.readOp.dynamic = (local_data_c_gate_load + local_data_c_wire_load) * g_tp.peri_global.Vdd * g_tp.peri_global.Vdd; + + + double data_drv_c_gate_load = local_data_c_gate_load; + double data_drv_c_wire_load = local_data_c_wire_load; + double data_drv_r_wire_load = local_data_r_gate_load + local_data_r_wire_load; + + //---Assume unrepeated global data path, too high RC + //double data_drv_c_wire_load = height_bank * g_tp.wire_outside_mat.C_per_um; + //double data_drv_r_wire_load = height_bank * g_tp.wire_inside_mat.R_per_um; + + + local_data_drv = new Driver( + data_drv_c_gate_load, + data_drv_c_wire_load, + data_drv_r_wire_load, + is_dram); + local_data_drv->compute_delay(0); + local_data_drv->compute_area(); + + if (g_ip->print_detail_debug) + { + cout<<"C: "<delay * 1e9 <<" ns"<repeater_size * gate_C(g_tp.min_w_nmos_+min_w_pmos,0), + global_data->repeater_spacing * g_tp.wire_inside_mat.C_per_um, + global_data->repeater_spacing * g_tp.wire_inside_mat.R_per_um, + is_dram);*/ + + //bank_bus_length = double(num_banks_ver_dir) * 0.5 * (height_bank + 0.5*double(row_add_bits+col_add_bits+data_bits)*g_tp.wire_outside_mat.pitch) - height_bank + length_bank; + bank_bus_length = double(num_banks_ver_dir) * 0.5 * MAX(length_bank, height_bank); + bank_bus = new Wire(wt, bank_bus_length); + if (g_ip->print_detail_debug) + cout << "memorybus.cc: bank_bus_length = " << bank_bus_length << endl; + + out_seg = new Wire(wt, 0.25 * num_banks_hor_dir * (length_bank + (row_add_bits+col_add_bits+data_bits)*g_tp.wire_outside_mat.pitch) ); + area_IOSA = (875+500)*g_ip->F_sz_um*g_ip->F_sz_um * data_bits;//Reference: + area_data_drv = local_data_drv->area.get_area() * data_bits; + if(ndbl>16) + { + area_IOSA *= (double)ndbl/16.0; + area_data_drv *= (double)ndbl/16.0; + } + area_local_dataline = data_bits*subarray_width *g_tp.wire_local.pitch*ndbl; + + } + + + // Row decoder + if (membus_type == Row_add_path || membus_type == Col_add_path ) + { + + if (g_ip->print_detail_debug) + { + cout << "memorybus.cc: num_dec_signals = " << num_dec_signals << endl; + cout << "memorybus.cc: C_ld_dec_out = " << C_ld_dec_out << endl; + cout << "memorybus.cc: R_wire_dec_out = " << R_wire_dec_out << endl; + cout << "memorybus.cc: is_dram = " << is_dram << endl; + cout << "memorybus.cc: cell.h = " << cell.h << endl; + } + + add_dec = new Decoder( + (num_dec_signals>16)?num_dec_signals:16, + false, + C_ld_dec_out, + R_wire_dec_out, + false, + is_dram, + membus_type == Row_add_path?true:false, + cell); + + + + // Predecoder and decoder for GWL + double C_wire_predec_blk_out; + double R_wire_predec_blk_out; + C_wire_predec_blk_out = 0; // num_subarrays_per_row * dp.num_r_subarray * g_tp.wire_inside_mat.C_per_um * cell.h; + R_wire_predec_blk_out = 0; // num_subarrays_per_row * dp.num_r_subarray * g_tp.wire_inside_mat.R_per_um * cell.h; + + + //int num_subarrays_per_mat = dp.num_subarrays/dp.num_mats; + int num_dec_per_predec = 1; + PredecBlk * add_predec_blk1 = new PredecBlk( + num_dec_signals, + add_dec, + C_wire_predec_blk_out, + R_wire_predec_blk_out, + num_dec_per_predec, + is_dram, + true); + + + + PredecBlk * add_predec_blk2 = new PredecBlk( + num_dec_signals, + add_dec, + C_wire_predec_blk_out, + R_wire_predec_blk_out, + num_dec_per_predec, + is_dram, + false); + + + + PredecBlkDrv * add_predec_blk_drv1 = new PredecBlkDrv(0, add_predec_blk1, is_dram); + PredecBlkDrv * add_predec_blk_drv2 = new PredecBlkDrv(0, add_predec_blk2, is_dram); + + add_predec = new Predec(add_predec_blk_drv1, add_predec_blk_drv2); + + + + if (membus_type == Row_add_path) + { + area_row_predec_dec = add_predec_blk_drv1->area.get_area() + add_predec_blk_drv2->area.get_area() + + add_predec_blk1->area.get_area() + add_predec_blk2->area.get_area() + num_dec_signals * add_dec->area.get_area(); + + + area_lwl_drv = num_lwl_drv/2.0 * dp.num_r_subarray * ndbl * lwl_drv->area.get_area(); //num_lwl_drv is ndwl/the lwl driver count one gwl connects. two adjacent lwls share one driver. + + if (g_ip->print_detail_debug) + { + cout<<"memorybus.cc: area_bank_vertical_peripheral_circuitry = " << area_bank_vertical_peripheral_circuitry /1e6<<" mm2"<area.get_area() + add_predec_blk_drv2->area.get_area() + + add_predec_blk1->area.get_area() + add_predec_blk2->area.get_area() + num_dec_signals * add_dec->area.get_area(); + if(ndbl>16) + { + area_col_predec_dec *= (double)ndbl/16.0; + } + } + + area_bank_vertical_peripheral_circuitry = area_row_predec_dec + area_lwl_drv + area_address_bus + area_data_bus ; + area_bank_horizontal_peripheral_circuitry = area_col_predec_dec + area_data_drv + (area_bus + area_IOSA)/g_ip->nbanks; + + if (g_ip->print_detail_debug) + { + cout<<"memorybus.cc: add_predec_blk_drv1->area = " << add_predec_blk_drv1->area.get_area() /1e6<<" mm2"<area = " << add_predec_blk_drv2->area.get_area() /1e6<<" mm2"<area = " << add_predec_blk1->area.get_area() /1e6<<" mm2"<area = " << add_predec_blk2->area.get_area() /1e6<<" mm2"<area = " << num_dec_signals * add_dec->area.get_area() /1e6<<" mm2"<delay + bank_bus->delay; + delay += delay_bus; + //outrisetime = local_data_drv->compute_delay(inrisetime); + //local_data_drv_outrisetime = local_data_drv->delay; + delay_global_data = (semi_repeated_global_line >0) ? (global_data_drv->delay*num_subarray_global_IO) : (global_data_drv->delay + global_data->delay); + if(g_ip->partition_gran==0 || g_ip->partition_gran==1) + delay += delay_global_data; + //delay += local_data->delay; + delay_local_data = local_data_drv->delay; + delay += delay_local_data; + delay_data_buffer = 2 * 1e-6/(double)g_ip->sys_freq_MHz; + //delay += bank.mat.delay_subarray_out_drv_htree; + delay += delay_data_buffer; + //cout << 1e3/(double)g_ip->sys_freq_MHz<< endl; + //delay += out_seg->delay * burst_length; + if (g_ip->print_detail_debug) + cout << "memorybus.cc: data path delay = " << delay << endl; + out_rise_time = 0; + } + else + { + delay = 0; + delay_bus = center_stripe->delay + bank_bus->delay; + delay += delay_bus; + predec_outrisetime = add_predec->compute_delays(inrisetime); + add_dec_outrisetime = add_dec->compute_delays(predec_outrisetime); + delay_add_predecoder = add_predec->delay; + delay += delay_add_predecoder; + + if (membus_type == Row_add_path) + { + if(semi_repeated_global_line) + { + delay_add_decoder = add_dec->delay * ndwl; + if(g_ip->page_sz_bits > 8192) + delay_add_decoder /= (double)(g_ip->page_sz_bits / 8192); + } + else + { + delay_add_decoder = add_dec->delay; + } + delay += delay_add_decoder; + // There is no function to compute_delay in wire.cc, need to double check if center_stripe->delay and bank_bus->delay is correct. + lwl_drv_outrisetime = lwl_drv->compute_delay(add_dec_outrisetime); + ///tf = (lwl_driver_c_gate_load + lwl_driver_c_wire_load) * lwl_driver_r_wire_load; + // ### no need for global_WL->delay + // delay_WL = global_WL->delay + lwl_drv->delay + horowitz(lwl_drv_outrisetime, tf, 0.5, 0.5, RISE); + delay_lwl_drv = lwl_drv->delay; + if(!g_ip->fine_gran_bank_lvl) + delay += delay_lwl_drv; + if (g_ip->print_detail_debug) + cout << "memorybus.cc: row add path delay = " << delay << endl; + + out_rise_time = lwl_drv_outrisetime; + } + + else if (membus_type == Col_add_path) + { + if(semi_repeated_global_line) + { + delay_add_decoder = add_dec->delay * num_subarray_global_IO; + } + else + { + delay += column_sel->delay; + delay_add_decoder = add_dec->delay; + } + delay += delay_add_decoder; + + out_rise_time = 0; + if (g_ip->print_detail_debug) + { + //cout << "memorybus.cc, compute_delays col: center_stripe->delay = " << center_stripe->delay << endl; + //cout << "memorybus.cc, compute_delays col: bank_bus->delay = " << bank_bus->delay << endl; + //cout << "memorybus.cc, compute_delays col: add_predec->delay = " << add_predec->delay << endl; + //cout << "memorybus.cc, compute_delays col: add_dec->delay = " << add_dec->delay << endl; + + cout << "memorybus.cc: column add path delay = " << delay << endl; + } + + } + else + { + assert(0); + } + } + + + // Double check! + out_rise_time = delay / (1.0-0.5); + // Is delay_wl_reset necessary here? Is the 'false' condition appropriate? See the same code as in mat.cc + /*if (add_dec->exist == false) + { + int delay_wl_reset = MAX(add_predec->blk1->delay, add_predec->blk2->delay); + //delay += delay_wl_reset; + }*/ + + return out_rise_time; +} + + + + +void Memorybus::compute_power_energy() +{ + double coeff1[4] = {(double)add_bits, (double)add_bits, (double)add_bits, (double)add_bits}; + double coeff2[4] = {(double)data_bits, (double)data_bits, (double)data_bits, (double)data_bits}; + double coeff3[4] = {(double)num_lwl_drv, (double)num_lwl_drv, (double)num_lwl_drv, (double)num_lwl_drv}; + double coeff4[4] = {(double)burst_length*chip_IO_width, (double)burst_length*chip_IO_width, + (double)burst_length*chip_IO_width, (double)burst_length*chip_IO_width}; + double coeff5[4] = {(double)ndwl, (double)ndwl, (double)ndwl, (double)ndwl}; + double coeff6[4] = {(double)num_subarray_global_IO, (double)num_subarray_global_IO, (double)num_subarray_global_IO, (double)num_subarray_global_IO}; + + //double coeff4[4] = {(double)num_dec_signals, (double)num_dec_signals, (double)num_dec_signals, (double)num_dec_signals}; + switch (membus_type) + { + case Data_path: + power_bus = (center_stripe->power + bank_bus->power) * coeff2; + power_local_data = local_data_drv->power * coeff2; + power_global_data = semi_repeated_global_line >0 ? (global_data_drv->power*coeff2) : (global_data_drv->power+global_data->power); + + power_global_data.readOp.dynamic = power_global_data.readOp.dynamic + 1.8/1e3*deviceType->Vdd*10.0/1e9/64*data_bits; + power = power_bus + power_local_data; + if(!g_ip->fine_gran_bank_lvl) + power = power + power_global_data; + //power += local_data->power; + + power_burst = out_seg->power * coeff4;//Account for burst read, approxmate the wire length by the center stripe + //power = power + power_burst; + if(g_ip->print_detail_debug) + { + cout << "memorybus.cc: data path center stripe energy = " << center_stripe->power.readOp.dynamic*1e9 << " nJ" << endl; + cout << "memorybus.cc: data path bank bus energy = " << bank_bus->power.readOp.dynamic*1e9 << " nJ" << endl; + cout << "memorybus.cc: data path data driver energy = " << local_data_drv->power.readOp.dynamic*1e9 << " nJ" << endl; + } + break; + case Row_add_path: + power_bus = (center_stripe->power + bank_bus->power) * coeff1; + power_add_predecoder = add_predec->power; + if(semi_repeated_global_line) + { + power_add_decoders = add_dec->power * coeff5; + //power_add_decoders.readOp.dynamic /= (g_ip->page_sz_bits > 8192)?((double)g_ip->page_sz_bits/8192):1; + if(g_ip->page_sz_bits > 8192) + power_add_decoders.readOp.dynamic /= (double)(g_ip->page_sz_bits / 8192); + } + else + power_add_decoders = add_dec->power;// * (1<< add_predec->blk1->number_input_addr_bits); + power_lwl_drv = lwl_drv->power * coeff3; + //power_local_WL.readOp.dynamic = num_lwl_drv * C_LWL * deviceType->Vdd * deviceType->Vdd; + power = power_bus + power_add_predecoder + power_add_decoders + power_lwl_drv; + break; + case Col_add_path: + power_bus = (center_stripe->power + bank_bus->power) * coeff1;// + column_sel->power * double(chip_IO_width * burst_length); + power_add_predecoder = add_predec->power; + if(semi_repeated_global_line) + { + power_add_decoders = add_dec->power * coeff6; + power_add_decoders.readOp.dynamic = power_add_decoders.readOp.dynamic * g_ip->page_sz_bits / data_bits; + power_col_sel.readOp.dynamic = 0; + } + else + { + power_add_decoders = add_dec->power;// * (1<< add_predec->blk1->number_input_addr_bits); + power_col_sel.readOp.dynamic = column_sel->power.readOp.dynamic * g_ip->page_sz_bits / data_bits; + } + power = power_bus + power_add_predecoder + power_add_decoders; + if(!g_ip->fine_gran_bank_lvl) + power = power + power_col_sel; + break; + default: + assert(0); + break; + } + + return; + +} + + + diff --git a/T1/TP1/cacti-master/memorybus.h b/T1/TP1/cacti-master/memorybus.h new file mode 100644 index 0000000..b4eb280 --- /dev/null +++ b/T1/TP1/cacti-master/memorybus.h @@ -0,0 +1,150 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + +#ifndef __MEMORYBUS_H__ +#define __MEMORYBUS_H__ + +#include "basic_circuit.h" +#include "component.h" +#include "parameter.h" +//#include "assert.h" +#include "cacti_interface.h" +//#include "wire.h" +class Wire; +//#include "area.h" +#include "decoder.h" + +class Memorybus : public Component +{ + public: + Memorybus(enum Wire_type wire_model, double mat_w, double mat_h, double subarray_w, double subarray_h, + int _row_add_bits, int _col_add_bits, int _data_bits, int _ndbl, int _ndwl, /*enum Htree_type htree_type,*/ + enum Memorybus_type membus_type, const DynamicParameter & dp_, + /*TechnologyParameter::*/DeviceType *dt = &(g_tp.peri_global) + ); + ~Memorybus(); + + //void in_membus(); + //void out_membus(); + void Network(); + + // repeaters only at h-tree nodes + void limited_in_membus(); + void limited_out_membus(); + void input_nand(double s1, double s2, double l); + //void output_buffer(double s1, double s2, double l); + + const DynamicParameter & dp; + + double in_rise_time, out_rise_time; + + void set_in_rise_time(double rt) + { + in_rise_time = rt; + } + + double max_unpipelined_link_delay; + powerDef power_bit; + void memory_bus(); + + double height_bank, length_bank; // The actual height and length of a single bank including all wires between subarrays. + Wire * center_stripe; + Wire * bank_bus; + Wire * global_WL; //3 hierarchical connection wires. + Wire * column_sel; + Wire * local_data; + Wire * global_data; + Wire * out_seg; + // Driver for LWL connecting GWL, same as in mat.cc + double lwl_driver_c_gate_load, lwl_driver_c_wire_load, lwl_driver_r_wire_load; + + powerDef power_bus; + powerDef power_lwl_drv; + powerDef power_add_decoders; + powerDef power_global_WL; + powerDef power_local_WL; + powerDef power_add_predecoder; + powerDef power_burst; + powerDef power_col_sel; + powerDef power_local_data; + powerDef power_global_data; + double delay_bus, delay_add_predecoder, delay_add_decoder, delay_lwl_drv, delay_global_data, delay_local_data, delay_data_buffer; + double area_lwl_drv, area_row_predec_dec, area_col_predec_dec, area_subarray, area_bus, area_address_bus, area_data_bus, area_data_drv, area_IOSA, area_local_dataline, area_sense_amp; + + + Area cell; + bool is_dram; + + Driver * lwl_drv, * local_data_drv, * global_data_drv ; + Predec * add_predec; + Decoder * add_dec; + + double compute_delays(double inrisetime); // return outrisetime + void compute_power_energy(); // + + + + + private: + double wire_bw; + double init_wire_bw; // bus width at root + enum Memorybus_type membus_type; +// double htree_hnodes; +// double htree_vnodes; + double mat_width; + double mat_height; + double subarray_width, subarray_height; + //int add_bits, data_in_bits,search_data_in_bits,data_out_bits, search_data_out_bits; + int row_add_bits, col_add_bits; + int add_bits, data_bits, num_dec_signals; + int semi_repeated_global_line; + + int ndbl, ndwl; +// bool uca_tree; // should have full bandwidth to access all banks in the array simultaneously +// bool search_tree; + + enum Wire_type wt; + double min_w_nmos; + double min_w_pmos; + + int num_lwl_drv; //Ratio between GWL and LWL, how many local WL drives each GWL drives. + int chip_IO_width; + int burst_length; + int num_subarray_global_IO; + + double C_GWL, C_LWL, R_GWL, R_LWL, C_colsel, R_colsel, C_global_data, R_global_data; // Capacitance of global/local WLs. + + /*TechnologyParameter::*/DeviceType *deviceType; +}; + +#endif + diff --git a/T1/TP1/cacti-master/nuca.cc b/T1/TP1/cacti-master/nuca.cc new file mode 100644 index 0000000..02e44a1 --- /dev/null +++ b/T1/TP1/cacti-master/nuca.cc @@ -0,0 +1,611 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#include "nuca.h" +#include "Ucache.h" +#include + +unsigned int MIN_BANKSIZE=65536; +#define FIXED_OVERHEAD 55e-12 /* clock skew and jitter in s. Ref: Hrishikesh et al ISCA 01 */ +#define LATCH_DELAY 28e-12 /* latch delay in s (later should use FO4 TODO) */ +#define CONTR_2_BANK_LAT 0 + +int cont_stats[2 /*l2 or l3*/][5/* cores */][ROUTER_TYPES][7 /*banks*/][8 /* cycle time */]; + + Nuca::Nuca( + /*TechnologyParameter::*/DeviceType *dt = &(g_tp.peri_global) + ):deviceType(dt) +{ + init_cont(); +} + +void +Nuca::init_cont() +{ + FILE *cont; + char line[5000]; + char jk[5000]; + cont = fopen("contention.dat", "r"); + if (!cont) { + cout << "contention.dat file is missing!\n"; + exit(0); + } + + for(int i=0; i<2; i++) { + for(int j=2; j<5; j++) { + for(int k=0; k nuca_list; + Router *router_s[ROUTER_TYPES]; + router_s[0] = new Router(64.0, 8, 4, &(g_tp.peri_global)); + router_s[0]->print_router(); + router_s[1] = new Router(128.0, 8, 4, &(g_tp.peri_global)); + router_s[1]->print_router(); + router_s[2] = new Router(256.0, 8, 4, &(g_tp.peri_global)); + router_s[2]->print_router(); + + int core_in; // to store no. of cores + + /* to search diff grid organizations */ + double curr_hop, totno_hops, totno_hhops, totno_vhops, tot_lat, + curr_acclat; + double avg_lat, avg_hop, avg_hhop, avg_vhop, avg_dyn_power, + avg_leakage_power; + + double opt_acclat = INF;//, opt_avg_lat = INF, opt_tot_lat = INF; + int opt_rows = 0; + int opt_columns = 0; +// double opt_totno_hops = 0; + double opt_avg_hop = 0; + double opt_dyn_power = 0, opt_leakage_power = 0; + min_values_t minval; + + int bank_start = 0; + + int flit_width = 0; + + /* vertical and horizontal hop latency values */ + int ver_hop_lat, hor_hop_lat; /* in cycles */ + + + /* no. of different bank sizes to consider */ + int iterations; + + + g_ip->nuca_cache_sz = g_ip->cache_sz; + nuca_list.push_back(new nuca_org_t()); + + if (g_ip->cache_level == 0) l2_c = 1; + else l2_c = 0; + + if (g_ip->cores <= 4) core_in = 2; + else if (g_ip->cores <= 8) core_in = 3; + else if (g_ip->cores <= 16) core_in = 4; + else {cout << "Number of cores should be <= 16!\n"; exit(0);} + + + // set the lower bound to an appropriate value. this depends on cache associativity + if (g_ip->assoc > 2) { + i = 2; + while (i != g_ip->assoc) { + MIN_BANKSIZE *= 2; + i *= 2; + } + } + + iterations = (int)logtwo((int)g_ip->cache_sz/MIN_BANKSIZE); + + if (g_ip->force_wiretype) + { + if (g_ip->wt == Low_swing) { + wt_min = Low_swing; + wt_max = Low_swing; + } + else { + wt_min = Global; + wt_max = Low_swing-1; + } + } + else { + wt_min = Global; + wt_max = Low_swing; + } + if (g_ip->nuca_bank_count != 0) { // simulate just one bank + if (g_ip->nuca_bank_count != 2 && g_ip->nuca_bank_count != 4 && + g_ip->nuca_bank_count != 8 && g_ip->nuca_bank_count != 16 && + g_ip->nuca_bank_count != 32 && g_ip->nuca_bank_count != 64) { + fprintf(stderr,"Incorrect bank count value! Please fix the value in cache.cfg\n"); + } + bank_start = (int)logtwo((double)g_ip->nuca_bank_count); + iterations = bank_start+1; + g_ip->cache_sz = g_ip->cache_sz/g_ip->nuca_bank_count; + } + cout << "Simulating various NUCA configurations\n"; + for (it=bank_start; itnuca_cache_sz/g_ip->cache_sz; + cout << "====" << g_ip->cache_sz << "\n"; + + for (wr=wt_min; wr<=wt_max; wr++) { + + for (ro=0; roflit_size; //initialize router + nuca_list.back()->nuca_pda.cycle_time = router_s[ro]->cycle_time; + + /* calculate router and wire parameters */ + + double vlength = ures.cache_ht; /* length of the wire (u)*/ + double hlength = ures.cache_len; // u + + /* find delay, area, and power for wires */ + wire_vertical[wr] = new Wire((enum Wire_type) wr, vlength); + wire_horizontal[wr] = new Wire((enum Wire_type) wr, hlength); + + + hor_hop_lat = calc_cycles(wire_horizontal[wr]->delay, + 1/(nuca_list.back()->nuca_pda.cycle_time*.001)); + ver_hop_lat = calc_cycles(wire_vertical[wr]->delay, + 1/(nuca_list.back()->nuca_pda.cycle_time*.001)); + + /* + * assume a grid like topology and explore for optimal network + * configuration using different row and column count values. + */ + for (c=1; c<=(unsigned int)bank_count; c++) { + while (bank_count%c != 0) c++; + r = bank_count/c; + + /* + * to find the avg access latency of a NUCA cache, uncontended + * access time to each bank from the + * cache controller is calculated. + * avg latency = + * sum of the access latencies to individual banks)/bank + * count value. + */ + totno_hops = totno_hhops = totno_vhops = tot_lat = 0; +/// k = 1; + for (i=0; idelay*avg_hop) + + calc_cycles(ures.access_time, + 1/(nuca_list.back()->nuca_pda.cycle_time*.001)); + + /* avg access lat of nuca */ + avg_dyn_power = + avg_hop * + (router_s[ro]->power.readOp.dynamic) + avg_hhop * + (wire_horizontal[wr]->power.readOp.dynamic) * + (g_ip->block_sz*8 + 64) + avg_vhop * + (wire_vertical[wr]->power.readOp.dynamic) * + (g_ip->block_sz*8 + 64) + ures.power.readOp.dynamic; + + avg_leakage_power = + bank_count * router_s[ro]->power.readOp.leakage + + avg_hhop * (wire_horizontal[wr]->power.readOp.leakage* + wire_horizontal[wr]->delay) * flit_width + + avg_vhop * (wire_vertical[wr]->power.readOp.leakage * + wire_horizontal[wr]->delay); + + if (curr_acclat < opt_acclat) { + opt_acclat = curr_acclat; +/// opt_tot_lat = tot_lat; +/// opt_avg_lat = avg_lat; +/// opt_totno_hops = totno_hops; + opt_avg_hop = avg_hop; + opt_rows = r; + opt_columns = c; + opt_dyn_power = avg_dyn_power; + opt_leakage_power = avg_leakage_power; + } + totno_hops = 0; + tot_lat = 0; + totno_hhops = 0; + totno_vhops = 0; + } + nuca_list.back()->wire_pda.power.readOp.dynamic = + opt_avg_hop * flit_width * + (wire_horizontal[wr]->power.readOp.dynamic + + wire_vertical[wr]->power.readOp.dynamic); + nuca_list.back()->avg_hops = opt_avg_hop; + /* network delay/power */ + nuca_list.back()->h_wire = wire_horizontal[wr]; + nuca_list.back()->v_wire = wire_vertical[wr]; + nuca_list.back()->router = router_s[ro]; + /* bank delay/power */ + + nuca_list.back()->bank_pda.delay = ures.access_time; + nuca_list.back()->bank_pda.power = ures.power; + nuca_list.back()->bank_pda.area.h = ures.cache_ht; + nuca_list.back()->bank_pda.area.w = ures.cache_len; + nuca_list.back()->bank_pda.cycle_time = ures.cycle_time; + + num_cyc = calc_cycles(nuca_list.back()->bank_pda.delay /*s*/, + 1/(nuca_list.back()->nuca_pda.cycle_time*.001/*GHz*/)); + if(num_cyc%2 != 0) num_cyc++; + if (num_cyc > 16) num_cyc = 16; // we have data only up to 16 cycles + + if (it < 7) { + nuca_list.back()->nuca_pda.delay = opt_acclat + + cont_stats[l2_c][core_in][ro][it][num_cyc/2-1]; + nuca_list.back()->contention = + cont_stats[l2_c][core_in][ro][it][num_cyc/2-1]; + } + else { + nuca_list.back()->nuca_pda.delay = opt_acclat + + cont_stats[l2_c][core_in][ro][7][num_cyc/2-1]; + nuca_list.back()->contention = + cont_stats[l2_c][core_in][ro][7][num_cyc/2-1]; + } + nuca_list.back()->nuca_pda.power.readOp.dynamic = opt_dyn_power; + nuca_list.back()->nuca_pda.power.readOp.leakage = opt_leakage_power; + + /* array organization */ + nuca_list.back()->bank_count = bank_count; + nuca_list.back()->rows = opt_rows; + nuca_list.back()->columns = opt_columns; + calculate_nuca_area (nuca_list.back()); + + minval.update_min_values(nuca_list.back()); + nuca_list.push_back(new nuca_org_t()); + opt_acclat = BIGNUM; + + } + } + g_ip->cache_sz /= 2; + } + + delete(nuca_list.back()); + nuca_list.pop_back(); + opt_n = find_optimal_nuca(&nuca_list, &minval); + print_nuca(opt_n); + g_ip->cache_sz = g_ip->nuca_cache_sz/opt_n->bank_count; + + list::iterator niter; + for (niter = nuca_list.begin(); niter != nuca_list.end(); ++niter) + { + delete *niter; + } + nuca_list.clear(); + + for(int i=0; i < ROUTER_TYPES; i++) + { + delete router_s[i]; + } + g_ip->display_ip(); + // g_ip->force_cache_config = true; + // g_ip->ndwl = 8; + // g_ip->ndbl = 16; + // g_ip->nspd = 4; + // g_ip->ndcm = 1; + // g_ip->ndsam1 = 8; + // g_ip->ndsam2 = 32; + +} + + + void +Nuca::print_nuca (nuca_org_t *fr) +{ + printf("\n---------- CACTI version 6.5, Non-uniform Cache Access " + "----------\n\n"); + printf("Optimal number of banks - %d\n", fr->bank_count); + printf("Grid organization rows x columns - %d x %d\n", + fr->rows, fr->columns); + printf("Network frequency - %g GHz\n", + (1/fr->nuca_pda.cycle_time)*1e3); + printf("Cache dimension (mm x mm) - %g x %g\n", + fr->nuca_pda.area.h*1e-3, + fr->nuca_pda.area.w*1e-3); + + fr->router->print_router(); + + printf("\n\nWire stats:\n"); + if (fr->h_wire->wt == Global) { + printf("\tWire type - Full swing global wires with least " + "possible delay\n"); + } + else if (fr->h_wire->wt == Global_5) { + printf("\tWire type - Full swing global wires with " + "5%% delay penalty\n"); + } + else if (fr->h_wire->wt == Global_10) { + printf("\tWire type - Full swing global wires with " + "10%% delay penalty\n"); + } + else if (fr->h_wire->wt == Global_20) { + printf("\tWire type - Full swing global wires with " + "20%% delay penalty\n"); + } + else if (fr->h_wire->wt == Global_30) { + printf("\tWire type - Full swing global wires with " + "30%% delay penalty\n"); + } + else if(fr->h_wire->wt == Low_swing) { + printf("\tWire type - Low swing wires\n"); + } + + printf("\tHorizontal link delay - %g (ns)\n", + fr->h_wire->delay*1e9); + printf("\tVertical link delay - %g (ns)\n", + fr->v_wire->delay*1e9); + printf("\tDelay/length - %g (ns/mm)\n", + fr->h_wire->delay*1e9/fr->bank_pda.area.w); + printf("\tHorizontal link energy -dynamic/access %g (nJ)\n" + "\t -leakage %g (nW)\n\n", + fr->h_wire->power.readOp.dynamic*1e9, + fr->h_wire->power.readOp.leakage*1e9); + printf("\tVertical link energy -dynamic/access %g (nJ)\n" + "\t -leakage %g (nW)\n\n", + fr->v_wire->power.readOp.dynamic*1e9, + fr->v_wire->power.readOp.leakage*1e9); + printf("\n\n"); + fr->v_wire->print_wire(); + printf("\n\nBank stats:\n"); +} + + + nuca_org_t * +Nuca::find_optimal_nuca (list *n, min_values_t *minval) +{ + double cost = 0; + double min_cost = BIGNUM; + nuca_org_t *res = NULL; + float d, a, dp, lp, c; + int v; + dp = g_ip->dynamic_power_wt_nuca; + lp = g_ip->leakage_power_wt_nuca; + a = g_ip->area_wt_nuca; + d = g_ip->delay_wt_nuca; + c = g_ip->cycle_time_wt_nuca; + + list::iterator niter; + + + for (niter = n->begin(); niter != n->end(); niter++) { + fprintf(stderr, "\n-----------------------------" + "---------------\n"); + + + printf("NUCA___stats %d \tbankcount: lat = %g \tdynP = %g \twt = %d\t " + "bank_dpower = %g \tleak = %g \tcycle = %g\n", + (*niter)->bank_count, + (*niter)->nuca_pda.delay, + (*niter)->nuca_pda.power.readOp.dynamic, + (*niter)->h_wire->wt, + (*niter)->bank_pda.power.readOp.dynamic, + (*niter)->nuca_pda.power.readOp.leakage, + (*niter)->nuca_pda.cycle_time); + + + if (g_ip->ed == 1) { + cost = ((*niter)->nuca_pda.delay/minval->min_delay)* + ((*niter)->nuca_pda.power.readOp.dynamic/minval->min_dyn); + if (min_cost > cost) { + min_cost = cost; + res = ((*niter)); + } + } + else if (g_ip->ed == 2) { + cost = ((*niter)->nuca_pda.delay/minval->min_delay)* + ((*niter)->nuca_pda.delay/minval->min_delay)* + ((*niter)->nuca_pda.power.readOp.dynamic/minval->min_dyn); + if (min_cost > cost) { + min_cost = cost; + res = ((*niter)); + } + } + else { + /* + * check whether the current organization + * meets the input deviation constraints + */ + v = check_nuca_org((*niter), minval); + if (minval->min_leakage == 0) minval->min_leakage = 0.1; //FIXME remove this after leakage modeling + + if (v) { + cost = (d * ((*niter)->nuca_pda.delay/minval->min_delay) + + c * ((*niter)->nuca_pda.cycle_time/minval->min_cyc) + + dp * ((*niter)->nuca_pda.power.readOp.dynamic/minval->min_dyn) + + lp * ((*niter)->nuca_pda.power.readOp.leakage/minval->min_leakage) + + a * ((*niter)->nuca_pda.area.get_area()/minval->min_area)); + fprintf(stderr, "cost = %g\n", cost); + + if (min_cost > cost) { + min_cost = cost; + res = ((*niter)); + } + } + else { + niter = n->erase(niter); + if (niter !=n->begin()) + niter --; + } + } + } + return res; +} + + int +Nuca::check_nuca_org (nuca_org_t *n, min_values_t *minval) +{ + if (((n->nuca_pda.delay - minval->min_delay)*100/minval->min_delay) > g_ip->delay_dev_nuca) { + return 0; + } + if (((n->nuca_pda.power.readOp.dynamic - minval->min_dyn)/minval->min_dyn)*100 > + g_ip->dynamic_power_dev_nuca) { + return 0; + } + if (((n->nuca_pda.power.readOp.leakage - minval->min_leakage)/minval->min_leakage)*100 > + g_ip->leakage_power_dev_nuca) { + return 0; + } + if (((n->nuca_pda.cycle_time - minval->min_cyc)/minval->min_cyc)*100 > + g_ip->cycle_time_dev_nuca) { + return 0; + } + if (((n->nuca_pda.area.get_area() - minval->min_area)/minval->min_area)*100 > + g_ip->area_dev_nuca) { + return 0; + } + return 1; +} + + void +Nuca::calculate_nuca_area (nuca_org_t *nuca) +{ + nuca->nuca_pda.area.h= + nuca->rows * ((nuca->h_wire->wire_width + + nuca->h_wire->wire_spacing) + * nuca->router->flit_size + + nuca->bank_pda.area.h); + + nuca->nuca_pda.area.w = + nuca->columns * ((nuca->v_wire->wire_width + + nuca->v_wire->wire_spacing) + * nuca->router->flit_size + + nuca->bank_pda.area.w); +} + diff --git a/T1/TP1/cacti-master/nuca.h b/T1/TP1/cacti-master/nuca.h new file mode 100644 index 0000000..4996968 --- /dev/null +++ b/T1/TP1/cacti-master/nuca.h @@ -0,0 +1,101 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + +#ifndef __NUCA_H__ +#define __NUCA_H__ + +#include "basic_circuit.h" +#include "component.h" +#include "parameter.h" +#include "assert.h" +#include "cacti_interface.h" +#include "wire.h" +#include "mat.h" +#include "io.h" +#include "router.h" +#include + + + +class nuca_org_t { + public: + ~nuca_org_t(); +// int size; + /* area, power, access time, and cycle time stats */ + Component nuca_pda; + Component bank_pda; + Component wire_pda; + Wire *h_wire; + Wire *v_wire; + Router *router; + /* for particular network configuration + * calculated based on a cycle accurate + * simulation Ref: CACTI 6 - Tech report + */ + double contention; + + /* grid network stats */ + double avg_hops; + int rows; + int columns; + int bank_count; +}; + + + +class Nuca : public Component +{ + public: + Nuca( + /*TechnologyParameter::*/DeviceType *dt); + void print_router(); + ~Nuca(); + void sim_nuca(); + void init_cont(); + int calc_cycles(double lat, double oper_freq); + void calculate_nuca_area (nuca_org_t *nuca); + int check_nuca_org (nuca_org_t *n, min_values_t *minval); + nuca_org_t * find_optimal_nuca (list *n, min_values_t *minval); + void print_nuca(nuca_org_t *n); + void print_cont_stats(); + + private: + + /*TechnologyParameter::*/DeviceType *deviceType; + int wt_min, wt_max; + Wire *wire_vertical[WIRE_TYPES], + *wire_horizontal[WIRE_TYPES]; + +}; + + +#endif diff --git a/T1/TP1/cacti-master/parameter.cc b/T1/TP1/cacti-master/parameter.cc new file mode 100644 index 0000000..3300b95 --- /dev/null +++ b/T1/TP1/cacti-master/parameter.cc @@ -0,0 +1,2837 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#include +#include +#include + +#include "parameter.h" +#include "area.h" + +#include "basic_circuit.h" +#include + +using namespace std; + + +InputParameter * g_ip; +TechnologyParameter g_tp; + +// ali +bool is_equal(double first, double second) +{ + + if((first == 0) && (second ==0)) + { + return true; + } + + if((second==0) || (second!=second)) + return true; + + if((first!=first) || (second!=second)) // both are NaNs + { + return true; + } + if(first==0) + { + if(fabs(first-second)<(second*0.000001)) + return true; + } + else + { + if(fabs(first-second)<(first*0.000001)) + return true; + } + + return false; +} + +/** +void DeviceType::display(uint32_t indent) const +{ + string indent_str(indent, ' '); + + cout << indent_str << "C_g_ideal = " << setw(12) << C_g_ideal << " F/um" << endl; + cout << indent_str << "C_fringe = " << setw(12) << C_fringe << " F/um" << endl; + cout << indent_str << "C_overlap = " << setw(12) << C_overlap << " F/um" << endl; + cout << indent_str << "C_junc = " << setw(12) << C_junc << " F/um^2" << endl; + cout << indent_str << "C_junc_sw = " << setw(12) << C_junc_sidewall << " F/um^2" << endl; + cout << indent_str << "l_phy = " << setw(12) << l_phy << " um" << endl; + cout << indent_str << "l_elec = " << setw(12) << l_elec << " um" << endl; + cout << indent_str << "R_nch_on = " << setw(12) << R_nch_on << " ohm-um" << endl; + cout << indent_str << "R_pch_on = " << setw(12) << R_pch_on << " ohm-um" << endl; + cout << indent_str << "Vdd = " << setw(12) << Vdd << " V" << endl; + cout << indent_str << "Vth = " << setw(12) << Vth << " V" << endl; + cout << indent_str << "I_on_n = " << setw(12) << I_on_n << " A/um" << endl; + cout << indent_str << "I_on_p = " << setw(12) << I_on_p << " A/um" << endl; + cout << indent_str << "I_off_n = " << setw(12) << I_off_n << " A/um" << endl; + cout << indent_str << "I_off_p = " << setw(12) << I_off_p << " A/um" << endl; + cout << indent_str << "C_ox = " << setw(12) << C_ox << " F/um^2" << endl; + cout << indent_str << "t_ox = " << setw(12) << t_ox << " um" << endl; + cout << indent_str << "n_to_p_eff_curr_drv_ratio = " << n_to_p_eff_curr_drv_ratio << endl; +} +**/ +bool DeviceType::isEqual(const DeviceType & dev) +{ + if( !is_equal(C_g_ideal,dev.C_g_ideal)) {display(0); cout << "\n\n\n"; dev.display(0); assert(false);} + if( !is_equal(C_fringe,dev.C_fringe)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + + if( !is_equal(C_overlap , dev.C_overlap)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(C_junc , dev.C_junc)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(C_junc_sidewall , dev.C_junc_sidewall)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(l_phy , dev.l_phy)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(l_elec , dev.l_elec)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(R_nch_on , dev.R_nch_on)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(R_pch_on , dev.R_pch_on)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(Vdd , dev.Vdd)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(Vth , dev.Vth)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} +//// if( !is_equal(Vcc_min , dev.Vcc_min)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(I_on_n , dev.I_on_n)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(I_on_p , dev.I_on_p)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(I_off_n , dev.I_off_n)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(I_off_p , dev.I_off_p)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(I_g_on_n , dev.I_g_on_n)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(I_g_on_p , dev.I_g_on_p)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(C_ox , dev.C_ox)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(t_ox , dev.t_ox)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(n_to_p_eff_curr_drv_ratio , dev.n_to_p_eff_curr_drv_ratio)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + if( !is_equal(long_channel_leakage_reduction , dev.long_channel_leakage_reduction)) {display(0);cout << "\n\n\n"; dev.display(0); assert(false);} + if( !is_equal(Mobility_n , dev.Mobility_n)) {display(0); cout << "\n\n\n"; dev.display(0);assert(false);} + + // auxilary parameters + ///if( !is_equal(Vdsat , dev.Vdsat)) {display(0); cout << "\n\n\n"; dev.display(0); assert(false);} + ///if( !is_equal(gmp_to_gmn_multiplier , dev.gmp_to_gmn_multiplier)) {display(0); cout << "\n\n\n"; dev.display(0); assert(false);} + + return true; +} + +double scan_single_input_double(char* line, const char* name, const char* unit_name, bool print) +{ + double temp; + char unit[300]; + memset(unit,0,300); + sscanf(&line[strlen(name)], "%*[ \t]%s%*[ \t]%lf",unit,&temp); + if(print) + cout << name << ": " << temp << " " << unit << endl; + return temp; +} + +double scan_five_input_double(char* line, const char* name, const char* unit_name, int flavor, bool print) +{ + double temp[5]; + char unit[300]; + memset(unit,0,300); + sscanf(&line[strlen(name)], "%*[ \t]%s%*[ \t]%lf%*[ \t]%lf%*[ \t]%lf%*[ \t]%lf%*[ \t]%lf" + ,unit,&(temp[0]),&(temp[1]),&(temp[2]),&(temp[3]), &(temp[4]) ); + + if (print) + cout << name << "[" << flavor <<"]: " << temp[flavor] << " " << unit<< endl; + return temp[flavor]; + +} + +void scan_five_input_double_temperature(char* line, const char* name, const char* unit_name, int flavor, unsigned int temperature, bool print, double & result) +{ + double temp[5]; + unsigned int thermal_temp; + char unit[300]; + memset(unit,0,300); + sscanf(&line[strlen(name)], "%*[ \t]%s%*[ \t]%u%*[ \t]%lf%*[ \t]%lf%*[ \t]%lf%*[ \t]%lf%*[ \t]%lf" + ,unit,&thermal_temp,&(temp[0]),&(temp[1]),&(temp[2]),&(temp[3]), &(temp[4]) ); + + + if(thermal_temp==(temperature-300)) + { + if (print) + cout << name << ": " << temp[flavor] << " "<< unit << endl; + + result = temp[flavor]; + } + +} + +void DeviceType::assign(const string & in_file, int tech_flavor, unsigned int temperature) +{ + FILE *fp = fopen(in_file.c_str(), "r"); + char line[5000]; + //char temp_var[5000]; + + //double temp[5]; + //unsigned int thermal_temp; + + double nmos_effective_resistance_multiplier; + + if(!fp) { + cout << in_file << " is missing!\n"; + exit(-1); + } + + while(fscanf(fp, "%[^\n]\n", line) != EOF) + { + if (!strncmp("-C_g_ideal", line, strlen("-C_g_ideal"))) + { + C_g_ideal=scan_five_input_double(line,"-C_g_ideal","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-C_fringe", line, strlen("-C_fringe"))) + { + C_fringe=scan_five_input_double(line,"-C_fringe","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-C_junc_sw", line, strlen("-C_junc_sw"))) + { + C_junc_sidewall =scan_five_input_double(line,"-C_junc_sw","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-C_junc", line, strlen("-C_junc"))) + { + C_junc=scan_five_input_double(line,"-C_junc","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + + if (!strncmp("-l_phy", line, strlen("-l_phy"))) + { + l_phy=scan_five_input_double(line,"-l_phy","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-l_elec", line, strlen("-l_elec"))) + { + l_elec=scan_five_input_double(line,"-l_elec","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-nmos_effective_resistance_multiplier", line, strlen("-nmos_effective_resistance_multiplier"))) + { + nmos_effective_resistance_multiplier=scan_five_input_double(line,"-nmos_effective_resistance_multiplier","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-Vdd", line, strlen("-Vdd"))) + { + Vdd=scan_five_input_double(line,"-Vdd","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-Vth", line, strlen("-Vth"))) + { + Vth=scan_five_input_double(line,"-Vth","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-Vdsat", line, strlen("-Vdsat"))) + { + Vdsat=scan_five_input_double(line,"-Vdsat","V",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-I_on_n", line, strlen("-I_on_n"))) + { + I_on_n=scan_five_input_double(line,"-I_on_n","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-I_on_p", line, strlen("-I_on_p"))) + { + I_on_p = scan_five_input_double(line,"-I_on_p","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-I_off_n", line, strlen("-I_off_n"))) + { + scan_five_input_double_temperature(line,"-I_off_n","F/um",tech_flavor,temperature,g_ip->print_detail_debug,I_off_n); + continue; + } + if (!strncmp("-I_g_on_n", line, strlen("-I_g_on_n"))) + { + scan_five_input_double_temperature(line,"-I_g_on_n","F/um",tech_flavor,temperature,g_ip->print_detail_debug,I_g_on_n); + continue; + } + if (!strncmp("-C_ox", line, strlen("-C_ox"))) + { + C_ox=scan_five_input_double(line,"-C_ox","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-t_ox", line, strlen("-t_ox"))) + { + t_ox=scan_five_input_double(line,"-t_ox","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-n2p_drv_rt", line, strlen("-n2p_drv_rt"))) + { + n_to_p_eff_curr_drv_ratio=scan_five_input_double(line,"-n2p_drv_rt","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-lch_lk_rdc", line, strlen("-lch_lk_rdc"))) + { + long_channel_leakage_reduction=scan_five_input_double(line,"-lch_lk_rdc","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-Mobility_n", line, strlen("-Mobility_n"))) + { + Mobility_n=scan_five_input_double(line,"-Mobility_n","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-gmp_to_gmn_multiplier", line, strlen("-gmp_to_gmn_multiplier"))) + { + gmp_to_gmn_multiplier=scan_five_input_double(line,"-gmp_to_gmn_multiplier","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-n_to_p_eff_curr_drv_ratio", line, strlen("-n_to_p_eff_curr_drv_ratio"))) + { + n_to_p_eff_curr_drv_ratio=scan_five_input_double(line,"-n_to_p_eff_curr_drv_ratio","F/um",tech_flavor,g_ip->print_detail_debug); + continue; + } + + } + + C_overlap = 0.2*C_g_ideal; + if(tech_flavor>=3) + R_nch_on = nmos_effective_resistance_multiplier * g_tp.vpp / I_on_n;//ohm-micron + else + R_nch_on = nmos_effective_resistance_multiplier * Vdd / I_on_n;//ohm-micron + R_pch_on = n_to_p_eff_curr_drv_ratio * R_nch_on;//ohm-micron + I_off_p = I_off_n; + I_g_on_p = I_g_on_n; + if(g_ip->print_detail_debug) + { + ///cout << nmos_effective_resistance_multiplier << " -- " << Vdd << " -- " << I_on_n << " -- " << n_to_p_eff_curr_drv_ratio << endl; + cout << "C_overlap: " << C_overlap << " F/um" << endl; + cout << "R_nch_on: " << R_nch_on << " ohm-micron" << endl; + cout << "R_pch_on: " << R_pch_on << " ohm-micron" << endl; + } + + fclose(fp); + +} + + +void DeviceType::interpolate(double alpha, const DeviceType& dev1, const DeviceType& dev2) +{ + C_g_ideal = alpha*dev1.C_g_ideal+(1-alpha)*dev2.C_g_ideal; + C_fringe = alpha*dev1.C_fringe+(1-alpha)*dev2.C_fringe; + C_overlap = alpha*dev1.C_overlap+(1-alpha)*dev2.C_overlap; + C_junc = alpha*dev1.C_junc+(1-alpha)*dev2.C_junc; + l_phy = alpha*dev1.l_phy+(1-alpha)*dev2.l_phy; + l_elec = alpha*dev1.l_elec+(1-alpha)*dev2.l_elec; + R_nch_on = alpha*dev1.R_nch_on+(1-alpha)*dev2.R_nch_on; + R_pch_on = alpha*dev1.R_pch_on+(1-alpha)*dev2.R_pch_on; + Vdd = alpha*dev1.Vdd+(1-alpha)*dev2.Vdd; + Vth = alpha*dev1.Vth+(1-alpha)*dev2.Vth; + Vcc_min = alpha*dev1.Vcc_min+(1-alpha)*dev2.Vcc_min; + I_on_n = alpha*dev1.I_on_n+(1-alpha)*dev2.I_on_n; + I_on_p = alpha*dev1.I_on_p+(1-alpha)*dev2.I_on_p; + I_off_n = alpha*dev1.I_off_n+(1-alpha)*dev2.I_off_n; + I_off_p = alpha*dev1.I_off_p+(1-alpha)*dev2.I_off_p; + I_g_on_n = alpha*dev1.I_g_on_n+(1-alpha)*dev2.I_g_on_n; + I_g_on_p = alpha*dev1.I_g_on_p+(1-alpha)*dev2.I_g_on_p; + C_ox = alpha*dev1.C_ox+(1-alpha)*dev2.C_ox; + t_ox = alpha*dev1.t_ox+(1-alpha)*dev2.t_ox; + n_to_p_eff_curr_drv_ratio = alpha*dev1.n_to_p_eff_curr_drv_ratio+(1-alpha)*dev2.n_to_p_eff_curr_drv_ratio; + long_channel_leakage_reduction = alpha*dev1.long_channel_leakage_reduction+(1-alpha)*dev2.long_channel_leakage_reduction; + Mobility_n = alpha*dev1.Mobility_n+(1-alpha)*dev2.Mobility_n; + Vdsat = alpha*dev1.Vdsat + (1-alpha)*dev2.Vdsat; + gmp_to_gmn_multiplier = alpha*dev1.gmp_to_gmn_multiplier + (1-alpha)*dev2.gmp_to_gmn_multiplier; + n_to_p_eff_curr_drv_ratio = alpha*dev1.n_to_p_eff_curr_drv_ratio + (1-alpha)*dev2.n_to_p_eff_curr_drv_ratio; + + C_junc_sidewall = dev1.C_junc_sidewall; +} + + +double scan_input_double_inter_type(char* line, const char * name, const char * unit_name, int proj_type, int tech_flavor, bool print) +{ + assert(proj_typeprint_detail_debug; + + while(fscanf(fp, "%[^\n]\n", line) != EOF) + { + if (!strncmp("-wire_pitch", line, strlen("-wire_pitch"))) + { + pitch =scan_input_double_inter_type(line,"-wire_pitch","um",g_ip->ic_proj_type,tech_flavor,print); + continue; + } + if (!strncmp("-barrier_thickness", line, strlen("-barrier_thickness"))) + { + barrier_thickness =scan_input_double_inter_type(line,"-barrier_thickness","ohm",g_ip->ic_proj_type,tech_flavor,print); + continue; + } + if (!strncmp("-dishing_thickness", line, strlen("-dishing_thickness"))) + { + dishing_thickness =scan_input_double_inter_type(line,"-dishing_thickness","um",g_ip->ic_proj_type,tech_flavor,print); + continue; + } + if (!strncmp("-alpha_scatter", line, strlen("-alpha_scatter"))) + { + alpha_scatter =scan_input_double_inter_type(line,"-alpha_scatter","um",g_ip->ic_proj_type,tech_flavor,print); + continue; + } + if (!strncmp("-aspect_ratio", line, strlen("-aspect_ratio"))) + { + aspect_ratio =scan_input_double_inter_type(line,"-aspect_ratio","um",g_ip->ic_proj_type,tech_flavor,print); + continue; + } + if (!strncmp("-miller_value", line, strlen("-miller_value"))) + { + miller_value =scan_input_double_inter_type(line,"-miller_value","um",g_ip->ic_proj_type,tech_flavor,print); + continue; + } + if (!strncmp("-horiz_dielectric_constant", line, strlen("-horiz_dielectric_constant"))) + { + horiz_dielectric_constant =scan_input_double_inter_type(line,"-horiz_dielectric_constant","um",g_ip->ic_proj_type,tech_flavor,print); + continue; + } + if (!strncmp("-vert_dielectric_constant", line, strlen("-vert_dielectric_constant"))) + { + vert_dielectric_constant =scan_input_double_inter_type(line,"-vert_dielectric_constant","um",g_ip->ic_proj_type,tech_flavor,print); + continue; + } + if (!strncmp("-ild_thickness", line, strlen("-ild_thickness"))) + { + ild_thickness =scan_input_double_inter_type(line,"-ild_thickness","um",g_ip->ic_proj_type,tech_flavor,print); + continue; + } + if (!strncmp("-fringe_cap", line, strlen("-fringe_cap"))) + { + fringe_cap =scan_input_double_inter_type(line,"-fringe_cap","um",g_ip->ic_proj_type,tech_flavor,print); + continue; + } + if (!strncmp("-wire_r_per_micron", line, strlen("-wire_r_per_micron"))) + { + R_per_um =scan_input_double_inter_type(line,"-wire_r_per_micron","um",g_ip->ic_proj_type,tech_flavor,print); + continue; + } + if (!strncmp("-wire_c_per_micron", line, strlen("-wire_c_per_micron"))) + { + C_per_um =scan_input_double_inter_type(line,"-wire_c_per_micron","um",g_ip->ic_proj_type,tech_flavor,print); + continue; + } + if (!strncmp("-resistivity", line, strlen("-resistivity"))) + { + resistivity =scan_input_double_inter_type(line,"-resistivity","um",g_ip->ic_proj_type,tech_flavor,print); + continue; + } + } + + pitch *= g_ip->F_sz_um; + wire_width = pitch/ 2; //micron + wire_thickness = aspect_ratio * wire_width;//micron + wire_spacing = pitch - wire_width;//micron + if((projection_type!=1) || (tech_flavor!=3)) + { + R_per_um = wire_resistance(resistivity, wire_width, + wire_thickness, barrier_thickness, dishing_thickness, alpha_scatter);//ohm/micron + if(print) + cout << R_per_um << " = wire_resistance(" << resistivity << "," << wire_width << "," << + wire_thickness << "," << barrier_thickness << "," << dishing_thickness << "," << alpha_scatter << ")\n"; + + + C_per_um = wire_capacitance(wire_width, wire_thickness, wire_spacing, + ild_thickness, miller_value, horiz_dielectric_constant, + vert_dielectric_constant, fringe_cap);//F/micron. + if(print) + cout << C_per_um << " = wire_capacitance(" << wire_width << "," << wire_thickness << "," << wire_spacing + << "," << ild_thickness << "," << miller_value << "," << horiz_dielectric_constant + << "," << vert_dielectric_constant << "," << fringe_cap << ")\n"; + + } + fclose(fp); +} + +bool InterconnectType::isEqual(const InterconnectType & inter) +{ + if( !is_equal(pitch , inter.pitch)) {display(0); assert(false);} + if( !is_equal(R_per_um , inter.R_per_um)) {display(0); assert(false);} + if( !is_equal(C_per_um , inter.C_per_um)) {display(0); assert(false);} + if( !is_equal(horiz_dielectric_constant , inter.horiz_dielectric_constant)) {display(0); assert(false);} + if( !is_equal(vert_dielectric_constant , inter.vert_dielectric_constant)) {display(0); assert(false);} + if( !is_equal(aspect_ratio , inter.aspect_ratio)) {display(0); assert(false);} + if( !is_equal(miller_value , inter.miller_value)) {display(0); assert(false);} + if( !is_equal(ild_thickness , inter.ild_thickness)) {display(0); assert(false);} + + //auxilary parameters + ///if( !is_equal(wire_width , inter.wire_width)) {display(0); assert(false);} + ///if( !is_equal(wire_thickness , inter.wire_thickness)) {display(0); assert(false);} + ///if( !is_equal(wire_spacing , inter.wire_spacing)) {display(0); assert(false);} + ///if( !is_equal(barrier_thickness , inter.barrier_thickness)) {display(0); assert(false);} + ///if( !is_equal(dishing_thickness , inter.dishing_thickness)) {display(0); assert(false);} + ///if( !is_equal(alpha_scatter , inter.alpha_scatter)) {display(0); assert(false);} + ///if( !is_equal(fringe_cap , inter.fringe_cap)) {display(0); assert(false);} + + return true; +} + +void InterconnectType::interpolate(double alpha, const InterconnectType & inter1, const InterconnectType & inter2) +{ + pitch = alpha*inter1.pitch + (1-alpha)*inter2.pitch; + R_per_um = alpha*inter1.R_per_um + (1-alpha)*inter2.R_per_um; + C_per_um = alpha*inter1.C_per_um + (1-alpha)*inter2.C_per_um; + horiz_dielectric_constant = alpha*inter1.horiz_dielectric_constant + (1-alpha)*inter2.horiz_dielectric_constant; + vert_dielectric_constant = alpha*inter1.vert_dielectric_constant + (1-alpha)*inter2.vert_dielectric_constant; + aspect_ratio = alpha*inter1.aspect_ratio + (1-alpha)*inter2.aspect_ratio; + miller_value = alpha*inter1.miller_value + (1-alpha)*inter2.miller_value; + ild_thickness = alpha*inter1.ild_thickness + (1-alpha)*inter2.ild_thickness; + +} + +void scan_five_input_double_mem_type(char* line, const char* name, const char* unit_name, int flavor, int cell_type, bool print, double & result) +{ + double temp[5]; + int cell_type_temp; + char unit[300]; + memset(unit,0,300); + + sscanf(&line[strlen(name)], "%*[ \t]%s%*[ \t]%d%*[ \t]%lf%*[ \t]%lf%*[ \t]%lf%*[ \t]%lf%*[ \t]%lf" + ,unit,&cell_type_temp,&(temp[0]),&(temp[1]),&(temp[2]),&(temp[3]), &(temp[4]) ); + + + if(cell_type_temp==cell_type) + { + if (print) + cout << name << ": " << temp[flavor] << " "<< unit << endl; + + result = temp[flavor]; + } +} + +// cell_type --> sram(0),cam(1),dram(2) +void MemoryType::assign(const string & in_file, int tech_flavor, int cell_type) +{ + FILE *fp = fopen(in_file.c_str(), "r"); + char line[5000]; + //char temp_var[5000]; + + //double temp; + //unsigned int thermal_temp; + + double vdd_cell,vdd; + + if(!fp) { + cout << in_file << " is missing!\n"; + exit(-1); + } + while(fscanf(fp, "%[^\n]\n", line) != EOF) + { + if (!strncmp("-Vdd", line, strlen("-Vdd"))) + { + vdd=scan_five_input_double(line,"-Vdd","V",tech_flavor,g_ip->print_detail_debug); + continue; + } + if (!strncmp("-vdd_cell", line, strlen("-vdd_cell"))) + { + scan_five_input_double_mem_type(line,"-vdd_cell","V",tech_flavor,cell_type, g_ip->print_detail_debug,vdd_cell); + continue; + } + if (!strncmp("-Wmemcella", line, strlen("-Wmemcella"))) + { + scan_five_input_double_mem_type(line,"-Wmemcella","V",tech_flavor,cell_type, g_ip->print_detail_debug,cell_a_w); + continue; + } + if (!strncmp("-Wmemcellpmos", line, strlen("-Wmemcellpmos"))) + { + scan_five_input_double_mem_type(line,"-Wmemcellpmos","V",tech_flavor,cell_type, g_ip->print_detail_debug,cell_pmos_w); + continue; + } + if (!strncmp("-Wmemcellnmos", line, strlen("-Wmemcellnmos"))) + { + scan_five_input_double_mem_type(line,"-Wmemcellnmos","V",tech_flavor,cell_type, g_ip->print_detail_debug,cell_nmos_w); + continue; + } + if (!strncmp("-area_cell", line, strlen("-area_cell"))) + { + scan_five_input_double_mem_type(line,"-area_cell","V",tech_flavor,cell_type, g_ip->print_detail_debug,area_cell); + continue; + } + if (!strncmp("-asp_ratio_cell", line, strlen("-asp_ratio_cell"))) + { + scan_five_input_double_mem_type(line,"-asp_ratio_cell","V",tech_flavor,cell_type, g_ip->print_detail_debug,asp_ratio_cell); + continue; + } + } + if(cell_type!=2) + cell_a_w *= g_ip->F_sz_um; + cell_pmos_w *= g_ip->F_sz_um; + cell_nmos_w *= g_ip->F_sz_um; + if(cell_type!=2) + area_cell *= (g_ip->F_sz_um* g_ip->F_sz_um); + ///assert(asp_ratio_cell!=0); + b_w = sqrt(area_cell / (asp_ratio_cell)); + b_h = asp_ratio_cell * b_w; + if(cell_type==2) //dram + Vbitpre = vdd_cell; + else // sram or cam + Vbitpre = vdd; + + + Vbitfloating = Vbitpre*0.7; + + //display(5); + +} + +void MemoryType::interpolate(double alpha, const MemoryType& mem1, const MemoryType& mem2) +{ + cell_a_w = alpha * mem1.cell_a_w + (1-alpha) * mem2.cell_a_w; + cell_pmos_w = alpha * mem1.cell_pmos_w + (1-alpha) * mem2.cell_pmos_w; + cell_nmos_w = alpha * mem1.cell_nmos_w + (1-alpha) * mem2.cell_nmos_w; + + area_cell = alpha * mem1.area_cell + (1-alpha) * mem2.area_cell; + asp_ratio_cell = alpha * mem1.asp_ratio_cell + (1-alpha) * mem2.asp_ratio_cell; + + Vbitpre = mem2.Vbitpre; + Vbitfloating = Vbitpre*0.7; + // updating dependant variables after scaling/interpolating + ///assert(asp_ratio_cell!=0); + b_w = sqrt(area_cell / (asp_ratio_cell)); + b_h = asp_ratio_cell * b_w; + //display(10); +} + +bool MemoryType::isEqual(const MemoryType & mem) +{ + if( !is_equal(b_w , mem.b_w)) {display(0); cout << "\n\n\n"; mem.display(0); assert(false);} + if( !is_equal(b_h , mem.b_h)) {display(0); cout << "\n\n\n"; mem.display(0); assert(false);} + if( !is_equal(cell_a_w , mem.cell_a_w)) {display(0); cout << "\n\n\n"; mem.display(0); assert(false);} + if( !is_equal(cell_pmos_w , mem.cell_pmos_w)) {display(0); cout << "\n\n\n"; mem.display(0); assert(false);} + if( !is_equal(cell_nmos_w , mem.cell_nmos_w)) {display(0); cout << "\n\n\n"; mem.display(0); assert(false);} + if( !is_equal(Vbitpre , mem.Vbitpre)) {display(0); cout << "\n\n\n"; mem.display(0); assert(false);} + ///if( !is_equal(Vbitfloating , mem.Vbitfloating)) {display(0); cout << "\n\n\n"; mem.display(0); assert(false);} + + // needed to calculate b_w b_h + ///if( !is_equal(area_cell , mem.area_cell)) {display(0); assert(false);} + ///if( !is_equal(asp_ratio_cell , mem.asp_ratio_cell)) {display(0); assert(false);} + + return true; +} + +void ScalingFactor::assign(const string & in_file) +{ + FILE *fp = fopen(in_file.c_str(), "r"); + char line[5000]; + //char temp_var[5000]; + if(!fp) + { + cout << in_file << " is missing!\n"; + exit(-1); + } + + while(fscanf(fp, "%[^\n]\n", line) != EOF) + { + if (!strncmp("-logic_scaling_co_eff", line, strlen("-logic_scaling_co_eff"))) + { + logic_scaling_co_eff = scan_single_input_double(line,"-logic_scaling_co_eff","F/um", g_ip->print_detail_debug); + continue; + } + if (!strncmp("-core_tx_density", line, strlen("-core_tx_density"))) + { + core_tx_density = scan_single_input_double(line,"-core_tx_density","F/um", g_ip->print_detail_debug); + continue; + } + + } + + fclose(fp); +} + +void ScalingFactor::interpolate(double alpha, const ScalingFactor& dev1, const ScalingFactor& dev2) +{ + logic_scaling_co_eff = alpha*dev1.logic_scaling_co_eff + (1-alpha)*dev2.logic_scaling_co_eff; + core_tx_density = alpha*dev1.core_tx_density + (1-alpha)*dev2.core_tx_density; +} + +bool ScalingFactor::isEqual(const ScalingFactor & scal) +{ + if( !is_equal(logic_scaling_co_eff,scal.logic_scaling_co_eff)) { display(0); assert(false);} + if( !is_equal(core_tx_density,scal.core_tx_density)) { display(0); assert(false);} + if( !is_equal(long_channel_leakage_reduction , scal.long_channel_leakage_reduction)) { display(0); assert(false);} + return true; +} + +void TechnologyParameter::find_upper_and_lower_tech(double technology, int &tech_lo, string& in_file_lo, int &tech_hi, string& in_file_hi) +{ + if (technology < 181 && technology > 179) + { + tech_lo = 180; + in_file_lo = "tech_params/180nm.dat"; + tech_hi = 180; + in_file_hi = "tech_params/180nm.dat"; + } + else if (technology < 91 && technology > 89) + { + tech_lo = 90; + in_file_lo = "tech_params/90nm.dat"; + tech_hi = 90; + in_file_hi = "tech_params/90nm.dat"; + } + else if (technology < 66 && technology > 64) + { + tech_lo = 65; + in_file_lo = "tech_params/65nm.dat"; + tech_hi = 65; + in_file_hi = "tech_params/65nm.dat"; + } + else if (technology < 46 && technology > 44) + { + tech_lo = 45; + in_file_lo = "tech_params/45nm.dat"; + tech_hi = 45; + in_file_hi = "tech_params/45nm.dat"; + } + else if (technology < 33 && technology > 31) + { + tech_lo = 32; + in_file_lo = "tech_params/32nm.dat"; + tech_hi = 32; + in_file_hi = "tech_params/32nm.dat"; + } + else if (technology < 23 && technology > 21) + { + tech_lo = 22; + in_file_lo = "tech_params/22nm.dat"; + tech_hi = 22; + in_file_hi = "tech_params/22nm.dat"; + } + else if (technology < 180 && technology > 90) + { + tech_lo = 180; + in_file_lo = "tech_params/180nm.dat"; + tech_hi = 90; + in_file_hi = "tech_params/90nm.dat"; + } + else if (technology < 90 && technology > 65) + { + tech_lo = 90; + in_file_lo = "tech_params/90nm.dat"; + tech_hi = 65; + in_file_hi = "tech_params/65nm.dat"; + } + else if (technology < 65 && technology > 45) + { + tech_lo = 65; + in_file_lo = "tech_params/65nm.dat"; + tech_hi = 45; + in_file_hi = "tech_params/45nm.dat"; + } + else if (technology < 45 && technology > 32) + { + tech_lo = 45; + in_file_lo = "tech_params/45nm.dat"; + tech_hi = 32; + in_file_hi = "tech_params/32nm.dat"; + } + else if (technology < 32 && technology > 22) + { + tech_lo = 32; + in_file_lo = "tech_params/32nm.dat"; + tech_hi = 22; + in_file_hi = "tech_params/22nm.dat"; + } + /** + else if (technology < 22 && technology > 16) + { + tech_lo = 22; + in_file_lo = "tech_params/22nm.dat"; + tech_hi = 16; + in_file_hi = "tech_params/16nm.dat"; + } + **/ + else + { + cout<<"Invalid technology nodes"<tsv_is_subarray_type; + } + else + { + tsv_type = g_ip->tsv_os_bank_type; + } + fp = fopen(in_file.c_str(), "r"); + while(fscanf(fp, "%[^\n]\n", line) != EOF) + { + if (!strncmp("-tsv_pitch", line, strlen("-tsv_pitch"))) + { + tsv_pitch = scan_input_double_tsv_type(line,"-tsv_pitch","F/um", g_ip->ic_proj_type, tsv_type, g_ip->print_detail_debug); + continue; + } + if (!strncmp("-tsv_diameter", line, strlen("-tsv_diameter"))) + { + tsv_diameter = scan_input_double_tsv_type(line,"-tsv_diameter","F/um", g_ip->ic_proj_type, tsv_type, g_ip->print_detail_debug); + continue; + } + if (!strncmp("-tsv_length", line, strlen("-tsv_length"))) + { + tsv_length = scan_input_double_tsv_type(line,"-tsv_length","F/um", g_ip->ic_proj_type, tsv_type, g_ip->print_detail_debug); + continue; + } + if (!strncmp("-tsv_dielec_thickness", line, strlen("-tsv_dielec_thickness"))) + { + tsv_dielec_thickness = scan_input_double_tsv_type(line,"-tsv_dielec_thickness","F/um", g_ip->ic_proj_type, tsv_type, g_ip->print_detail_debug); + continue; + } + if (!strncmp("-tsv_contact_resistance", line, strlen("-tsv_contact_resistance"))) + { + tsv_contact_resistance = scan_input_double_tsv_type(line,"-tsv_contact_resistance","F/um", g_ip->ic_proj_type, tsv_type, g_ip->print_detail_debug); + continue; + } + if (!strncmp("-tsv_depletion_width", line, strlen("-tsv_depletion_width"))) + { + tsv_depletion_width = scan_input_double_tsv_type(line,"-tsv_depletion_width","F/um", g_ip->ic_proj_type, tsv_type, g_ip->print_detail_debug); + continue; + } + if (!strncmp("-tsv_liner_dielectric_cons", line, strlen("-tsv_liner_dielectric_cons"))) + { + tsv_liner_dielectric_constant = scan_input_double_tsv_type(line,"-tsv_liner_dielectric_cons","F/um", g_ip->ic_proj_type, tsv_type, g_ip->print_detail_debug); + continue; + } + + tsv_length *= g_ip->num_die_3d; + if(iter==0) + { + tsv_parasitic_resistance_fine = tsv_resistance(BULK_CU_RESISTIVITY, tsv_length, tsv_diameter, tsv_contact_resistance); + tsv_parasitic_capacitance_fine = tsv_capacitance(tsv_length, tsv_diameter, tsv_pitch, tsv_dielec_thickness, tsv_liner_dielectric_constant, tsv_depletion_width); + tsv_minimum_area_fine = tsv_area(tsv_pitch); + } + else + { + tsv_parasitic_resistance_coarse = tsv_resistance(BULK_CU_RESISTIVITY, tsv_length, tsv_diameter, tsv_contact_resistance); + tsv_parasitic_capacitance_coarse = tsv_capacitance(tsv_length, tsv_diameter, tsv_pitch, tsv_dielec_thickness, tsv_liner_dielectric_constant, tsv_depletion_width); + tsv_minimum_area_coarse = tsv_area(tsv_pitch); + } + } + + fclose(fp); + } +} + +void TechnologyParameter::init(double technology, bool is_tag) +{ + FILE *fp ; + reset(); + char line[5000]; + //char temp_var[5000]; + + uint32_t ram_cell_tech_type = (is_tag) ? g_ip->tag_arr_ram_cell_tech_type : g_ip->data_arr_ram_cell_tech_type; + uint32_t peri_global_tech_type = (is_tag) ? g_ip->tag_arr_peri_global_tech_type : g_ip->data_arr_peri_global_tech_type; + + int tech_lo, tech_hi; + string in_file_lo, in_file_hi; + + double alpha; // used for technology interpolation + + + + + technology = technology * 1000.0; // in the unit of nm + + find_upper_and_lower_tech(technology, tech_lo,in_file_lo,tech_hi,in_file_hi); + // excluding some cases. + if((tech_lo==22) && (tech_hi==22)) + { + if (ram_cell_tech_type == 3 ) + { + cout<<"current version does not support eDRAM technologies at 22nm"<print_detail_debug); + continue; + } + if (!strncmp("-dram_cell_Vdd", line, strlen("-dram_cell_Vdd"))) + { + dram_cell_Vdd += alpha* scan_five_input_double(line,"-dram_cell_Vdd","F/um", ram_cell_tech_type, g_ip->print_detail_debug); + continue; + } + if (!strncmp("-dram_cell_C", line, strlen("-dram_cell_C"))) + { + dram_cell_C += alpha* scan_five_input_double(line,"-dram_cell_C","F/um", ram_cell_tech_type, g_ip->print_detail_debug); + continue; + } + if (!strncmp("-dram_cell_I_off_worst_case_len_temp", line, strlen("-dram_cell_I_off_worst_case_len_temp"))) + { + dram_cell_I_off_worst_case_len_temp += alpha* scan_five_input_double(line,"-dram_cell_I_off_worst_case_len_temp","F/um", ram_cell_tech_type, g_ip->print_detail_debug); + continue; + } + if (!strncmp("-vpp", line, strlen("-vpp"))) + { + vpp += alpha* scan_five_input_double(line,"-vpp","F/um", ram_cell_tech_type, g_ip->print_detail_debug); + continue; + } + if (!strncmp("-sckt_co_eff", line, strlen("-sckt_co_eff"))) + { + sckt_co_eff += alpha * scan_single_input_double(line,"-sckt_co_eff","F/um", g_ip->print_detail_debug); + continue; + } + if (!strncmp("-chip_layout_overhead", line, strlen("-chip_layout_overhead"))) + { + chip_layout_overhead += alpha * scan_single_input_double(line,"-chip_layout_overhead","F/um", g_ip->print_detail_debug); + continue; + } + if (!strncmp("-macro_layout_overhead", line, strlen("-macro_layout_overhead"))) + { + macro_layout_overhead += alpha * scan_single_input_double(line,"-macro_layout_overhead","F/um", g_ip->print_detail_debug); + continue; + } + } + fclose(fp); + + + DeviceType peri_global_lo, peri_global_hi; + peri_global_lo.assign(in_file_lo, peri_global_tech_type, g_ip->temp); + peri_global_hi.assign(in_file_hi, peri_global_tech_type, g_ip->temp); + peri_global.interpolate(alpha,peri_global_lo,peri_global_hi); + // in the original code some field of this devide has not been initialized/ + // I make them 0 for compatibility. + ///peri_global.I_on_p = 0.0; + + DeviceType sleep_tx_lo, sleep_tx_hi; + sleep_tx_lo.assign(in_file_lo, 1, g_ip->temp); + sleep_tx_hi.assign(in_file_hi, 1, g_ip->temp); + sleep_tx.interpolate(alpha, sleep_tx_lo, sleep_tx_hi); + + + DeviceType sram_cell_lo, sram_cell_hi; + sram_cell_lo.assign(in_file_lo, ram_cell_tech_type, g_ip->temp); + sram_cell_hi.assign(in_file_hi, ram_cell_tech_type, g_ip->temp); + sram_cell.interpolate(alpha, sram_cell_lo, sram_cell_hi); + // in the original code some field of this devide has not been initialized/ + // I make them 0 for compatibility. + //sram_cell.Vdd=0.0; + ///sram_cell.I_on_p=0.0; + ///sram_cell.C_ox=0.0; + + + DeviceType dram_acc_lo, dram_acc_hi; + dram_acc_lo.assign(in_file_lo, (ram_cell_tech_type==comm_dram? ram_cell_tech_type:dram_cell_tech_flavor), g_ip->temp); + dram_acc_hi.assign(in_file_hi, (ram_cell_tech_type==comm_dram? ram_cell_tech_type:dram_cell_tech_flavor), g_ip->temp); + dram_acc.interpolate(alpha, dram_acc_lo, dram_acc_hi); + // dram_acc exceptions + //dram_acc.R_nch_on = g_tp.dram_cell_Vdd / g_tp.dram_acc.I_on_n; + //dram_acc.R_pch_on = 0; + if(tech_lo<=22) + { + } + else if(tech_lo<=32) + { + if(ram_cell_tech_type == lp_dram) + dram_acc.Vth = 0.44129; + else + dram_acc.Vth = 1.0; + } + else if(tech_lo<=45) + { + if(ram_cell_tech_type == lp_dram) + dram_acc.Vth = 0.44559; + else + dram_acc.Vth = 1.0; + } + else if(tech_lo<=65) + { + if(ram_cell_tech_type == lp_dram) + dram_acc.Vth = 0.43806; + else + dram_acc.Vth = 1.0; + } + else if(tech_lo<=90) + { + if(ram_cell_tech_type == lp_dram) + dram_acc.Vth = 0.4545; + else + dram_acc.Vth = 1.0; + } + // in the original code some field of this devide has not been initialized/ + // I make them 0 for compatibility. + dram_acc.Vdd= 0.0; + dram_acc.I_on_p = 0.0; + dram_acc.I_off_n = 0.0; + dram_acc.I_off_p = 0.0; + dram_acc.C_ox = 0.0; + dram_acc.t_ox = 0.0; + dram_acc.n_to_p_eff_curr_drv_ratio = 0.0; + + DeviceType dram_wl_lo, dram_wl_hi; + dram_wl_lo.assign(in_file_lo, (ram_cell_tech_type==comm_dram? ram_cell_tech_type:dram_cell_tech_flavor), g_ip->temp); + dram_wl_hi.assign(in_file_hi, (ram_cell_tech_type==comm_dram? ram_cell_tech_type:dram_cell_tech_flavor), g_ip->temp); + dram_wl.interpolate(alpha, dram_wl_lo, dram_wl_hi); + // in the original code some field of this devide has not been initialized/ + // I make them 0 for compatibility. + dram_wl.Vdd = 0.0; + dram_wl.Vth = 0.0; + dram_wl.I_on_p = 0.0; + dram_wl.C_ox = 0.0; + dram_wl.t_ox = 0.0; + + // if ram_cell_tech_type is not 3 or 4 ( which means edram and comm-dram) + // then reset dram_wl dram_acc + + if(ram_cell_tech_type <3) + { + dram_acc.reset(); + dram_wl.reset(); + } + + + DeviceType cam_cell_lo, cam_cell_hi; + cam_cell_lo.assign(in_file_lo, ram_cell_tech_type, g_ip->temp); + cam_cell_hi.assign(in_file_hi, ram_cell_tech_type, g_ip->temp); + cam_cell.interpolate(alpha, cam_cell_lo, cam_cell_hi); + + MemoryType dram_lo, dram_hi; + dram_lo.assign(in_file_lo, ram_cell_tech_type, 2); // cell_type = dram(2) + dram_hi.assign(in_file_hi, ram_cell_tech_type, 2); + dram.interpolate(alpha,dram_lo,dram_hi); + + MemoryType sram_lo, sram_hi; + sram_lo.assign(in_file_lo, ram_cell_tech_type, 0); // cell_type = sram(0) + sram_hi.assign(in_file_hi, ram_cell_tech_type, 0); + sram.interpolate(alpha,sram_lo,sram_hi); + // sram cell execptions + /*sram_lo.assign(in_file_lo, 0, g_ip->temp); + sram.cell_a_w =sram_lo.cell_a_w; + sram.b_h = sram_lo.b_h; + sram.b_w = sram_lo.b_w; +*/ + MemoryType cam_lo, cam_hi; + cam_lo.assign(in_file_lo, ram_cell_tech_type, 1); // cell_type = sram(0) + cam_hi.assign(in_file_hi, ram_cell_tech_type, 1); + cam.interpolate(alpha,cam_lo,cam_hi); + + + ScalingFactor scaling_factor_lo, scaling_factor_hi; + scaling_factor_lo.assign(in_file_lo); + scaling_factor_hi.assign(in_file_hi); + scaling_factor.interpolate(alpha, scaling_factor_lo,scaling_factor_hi); + + //vcc_min + peri_global.Vcc_min += (alpha * peri_global_lo.Vdd + (1-alpha)*peri_global_hi.Vdd) * 0.35; + sleep_tx.Vcc_min += (alpha*sleep_tx_lo.Vdd+(1-alpha)*sleep_tx_hi.Vdd); + sram_cell.Vcc_min += (alpha*sram_cell_lo.Vdd +(1-alpha)*sram_cell_hi.Vdd)* 0.65; + + + + fp = fopen(in_file_hi.c_str(), "r"); + + while(fscanf(fp, "%[^\n]\n", line) != EOF) + { + if (!strncmp("-sense_delay", line, strlen("-sense_delay"))) + { + sense_delay = scan_single_input_double(line,"-sense_delay","F/um", g_ip->print_detail_debug); + continue; + } + if (!strncmp("-sense_dy_power", line, strlen("-sense_dy_power"))) + { + sense_dy_power = scan_single_input_double(line,"-sense_dy_power","F/um", g_ip->print_detail_debug); + continue; + } + if (!strncmp("-sckt_co_eff", line, strlen("-sckt_co_eff"))) + { + sckt_co_eff += (1-alpha)* scan_single_input_double(line,"-sckt_co_eff","F/um", g_ip->print_detail_debug); + continue; + } + if (!strncmp("-chip_layout_overhead", line, strlen("-chip_layout_overhead"))) + { + chip_layout_overhead += (1-alpha)* scan_single_input_double(line,"-chip_layout_overhead","F/um", g_ip->print_detail_debug); + continue; + } + if (!strncmp("-macro_layout_overhead", line, strlen("-macro_layout_overhead"))) + { + macro_layout_overhead += (1-alpha)* scan_single_input_double(line,"-macro_layout_overhead","F/um", g_ip->print_detail_debug); + continue; + } + if (!strncmp("-dram_cell_I_on", line, strlen("-dram_cell_I_on"))) + { + dram_cell_I_on += (1-alpha) * scan_five_input_double(line,"-dram_cell_I_on","F/um", ram_cell_tech_type, g_ip->print_detail_debug); + continue; + } + if (!strncmp("-dram_cell_Vdd", line, strlen("-dram_cell_Vdd"))) + { + dram_cell_Vdd += (1-alpha) * scan_five_input_double(line,"-dram_cell_Vdd","F/um", ram_cell_tech_type, g_ip->print_detail_debug); + continue; + } + if (!strncmp("-dram_cell_C", line, strlen("-dram_cell_C"))) + { + dram_cell_C += (1-alpha) * scan_five_input_double(line,"-dram_cell_C","F/um", ram_cell_tech_type, g_ip->print_detail_debug); + continue; + } + if (!strncmp("-dram_cell_I_off_worst_case_len_temp", line, strlen("-dram_cell_I_off_worst_case_len_temp"))) + { + dram_cell_I_off_worst_case_len_temp += (1-alpha) * scan_five_input_double(line,"-dram_cell_I_off_worst_case_len_temp","F/um", ram_cell_tech_type, g_ip->print_detail_debug); + continue; + } + if (!strncmp("-vpp", line, strlen("-vpp"))) + { + vpp += (1-alpha)* scan_five_input_double(line,"-vpp","F/um", ram_cell_tech_type, g_ip->print_detail_debug); + continue; + } + } + fclose(fp); + + //Currently we are not modeling the resistance/capacitance of poly anywhere. + //Continuous function (or date have been processed) does not need linear interpolation + w_comp_inv_p1 = 12.5 * g_ip->F_sz_um;//this was 10 micron for the 0.8 micron process + w_comp_inv_n1 = 7.5 * g_ip->F_sz_um;//this was 6 micron for the 0.8 micron process + w_comp_inv_p2 = 25 * g_ip->F_sz_um;//this was 20 micron for the 0.8 micron process + w_comp_inv_n2 = 15 * g_ip->F_sz_um;//this was 12 micron for the 0.8 micron process + w_comp_inv_p3 = 50 * g_ip->F_sz_um;//this was 40 micron for the 0.8 micron process + w_comp_inv_n3 = 30 * g_ip->F_sz_um;//this was 24 micron for the 0.8 micron process + w_eval_inv_p = 100 * g_ip->F_sz_um;//this was 80 micron for the 0.8 micron process + w_eval_inv_n = 50 * g_ip->F_sz_um;//this was 40 micron for the 0.8 micron process + w_comp_n = 12.5 * g_ip->F_sz_um;//this was 10 micron for the 0.8 micron process + w_comp_p = 37.5 * g_ip->F_sz_um;//this was 30 micron for the 0.8 micron process + + MIN_GAP_BET_P_AND_N_DIFFS = 5 * g_ip->F_sz_um; + MIN_GAP_BET_SAME_TYPE_DIFFS = 1.5 * g_ip->F_sz_um; + HPOWERRAIL = 2 * g_ip->F_sz_um; + cell_h_def = 50 * g_ip->F_sz_um; + w_poly_contact = g_ip->F_sz_um; + spacing_poly_to_contact = g_ip->F_sz_um; + spacing_poly_to_poly = 1.5 * g_ip->F_sz_um; + ram_wl_stitching_overhead_ = 7.5 * g_ip->F_sz_um; + + min_w_nmos_ = 3 * g_ip->F_sz_um / 2; + max_w_nmos_ = 100 * g_ip->F_sz_um; + w_iso = 12.5*g_ip->F_sz_um;//was 10 micron for the 0.8 micron process + w_sense_n = 3.75*g_ip->F_sz_um; // sense amplifier N-trans; was 3 micron for the 0.8 micron process + w_sense_p = 7.5*g_ip->F_sz_um; // sense amplifier P-trans; was 6 micron for the 0.8 micron process + w_sense_en = 5*g_ip->F_sz_um; // Sense enable transistor of the sense amplifier; was 4 micron for the 0.8 micron process + w_nmos_b_mux = 6 * min_w_nmos_; + w_nmos_sa_mux = 6 * min_w_nmos_; + + + w_pmos_bl_precharge = 6 * pmos_to_nmos_sz_ratio() * min_w_nmos_; + w_pmos_bl_eq = pmos_to_nmos_sz_ratio() * min_w_nmos_; + + + if (ram_cell_tech_type == comm_dram) + { + max_w_nmos_dec = 8 * g_ip->F_sz_um; + h_dec = 8; // in the unit of memory cell height + } + else + { + max_w_nmos_dec = g_tp.max_w_nmos_; + h_dec = 4; // in the unit of memory cell height + } + + + + double gmn_sense_amp_latch + = (peri_global.Mobility_n / 2) * peri_global.C_ox + * (w_sense_n / peri_global.l_elec) * peri_global.Vdsat; + double gmp_sense_amp_latch = peri_global.gmp_to_gmn_multiplier * gmn_sense_amp_latch; + gm_sense_amp_latch = gmn_sense_amp_latch + gmp_sense_amp_latch; + + + ///cout << "wire_local " << g_ip->ic_proj_type << " " << ((ram_cell_tech_type == comm_dram)?3:0) << endl; + InterconnectType wire_local_lo, wire_local_hi; + wire_local_lo.assign(in_file_lo,g_ip->ic_proj_type,(ram_cell_tech_type == comm_dram)?3:0); + wire_local_hi.assign(in_file_hi,g_ip->ic_proj_type,(ram_cell_tech_type == comm_dram)?3:0); + wire_local.interpolate(alpha,wire_local_lo,wire_local_hi); + + + ///cout << "wire_inside_mat " << g_ip->ic_proj_type << " " << g_ip->wire_is_mat_type << endl; + InterconnectType wire_inside_mat_lo, wire_inside_mat_hi; + wire_inside_mat_lo.assign(in_file_lo, g_ip->ic_proj_type, g_ip->wire_is_mat_type); + wire_inside_mat_hi.assign(in_file_hi, g_ip->ic_proj_type, g_ip->wire_is_mat_type); + wire_inside_mat.interpolate(alpha, wire_inside_mat_lo, wire_inside_mat_hi); + + ///cout << "wire_outside_mat " << g_ip->ic_proj_type << " " << g_ip->wire_os_mat_type << endl; + InterconnectType wire_outside_mat_lo, wire_outside_mat_hi; + wire_outside_mat_lo.assign(in_file_lo, g_ip->ic_proj_type, g_ip->wire_os_mat_type); + wire_outside_mat_hi.assign(in_file_hi, g_ip->ic_proj_type, g_ip->wire_os_mat_type); + wire_outside_mat.interpolate(alpha, wire_outside_mat_lo, wire_outside_mat_hi); + + unit_len_wire_del = wire_inside_mat.R_per_um * wire_inside_mat.C_per_um / 2; + + // assign value for TSV parameters + + assign_tsv(in_file_hi); + + fringe_cap = wire_local_hi.fringe_cap; // fringe_cap is similar for all wire types. + + double rd = tr_R_on(min_w_nmos_, NCH, 1); + double p_to_n_sizing_r = pmos_to_nmos_sz_ratio(); + double c_load = gate_C(min_w_nmos_ * (1 + p_to_n_sizing_r), 0.0); + double tf = rd * c_load; + kinv = horowitz(0, tf, 0.5, 0.5, RISE); + double KLOAD = 1; + c_load = KLOAD * (drain_C_(min_w_nmos_, NCH, 1, 1, cell_h_def) + + drain_C_(min_w_nmos_ * p_to_n_sizing_r, PCH, 1, 1, cell_h_def) + + gate_C(min_w_nmos_ * 4 * (1 + p_to_n_sizing_r), 0.0)); + tf = rd * c_load; + FO4 = horowitz(0, tf, 0.5, 0.5, RISE); + +} + +#define PRINT(A,X) cout << A << ": " << X << " , " << tech.X << endl + +bool TechnologyParameter::isEqual(const TechnologyParameter& tech) +{ + if(!is_equal(ram_wl_stitching_overhead_,tech.ram_wl_stitching_overhead_)) {assert(false);} //fs + if(!is_equal(min_w_nmos_,tech.min_w_nmos_)) {assert(false);} //fs + if(!is_equal(max_w_nmos_,tech.max_w_nmos_)) {assert(false);} //fs + if(!is_equal(max_w_nmos_dec,tech.max_w_nmos_dec)) {assert(false);} //fs+ ram_cell_tech_type + if(!is_equal(unit_len_wire_del,tech.unit_len_wire_del)) {assert(false);} //wire_inside_mat + if(!is_equal(FO4,tech.FO4)) {assert(false);} //fs + if(!is_equal(kinv,tech.kinv)) {assert(false);} //fs + if(!is_equal(vpp,tech.vpp )) {assert(false);}//input + if(!is_equal(w_sense_en,tech.w_sense_en)) {assert(false);}//fs + if(!is_equal(w_sense_n,tech.w_sense_n)) {assert(false);} //fs + if(!is_equal(w_sense_p,tech.w_sense_p)) {assert(false);} //fs + if(!is_equal(sense_delay,tech.sense_delay)) {PRINT("sense_delay",sense_delay); assert(false);} // input + if(!is_equal(sense_dy_power,tech.sense_dy_power)) {assert(false);} //input + if(!is_equal(w_iso,tech.w_iso)) {assert(false);} //fs + if(!is_equal(w_poly_contact,tech.w_poly_contact)) {assert(false);} //fs + if(!is_equal(spacing_poly_to_poly,tech.spacing_poly_to_poly)) {assert(false);} //fs + if(!is_equal(spacing_poly_to_contact,tech.spacing_poly_to_contact)) {assert(false);}//fs + + //CACTI3D auxilary variables + ///if(!is_equal(tsv_pitch,tech.tsv_pitch)) {assert(false);} + ///if(!is_equal(tsv_diameter,tech.tsv_diameter)) {assert(false);} + ///if(!is_equal(tsv_length,tech.tsv_length)) {assert(false);} + ///if(!is_equal(tsv_dielec_thickness,tech.tsv_dielec_thickness)) {assert(false);} + ///if(!is_equal(tsv_contact_resistance,tech.tsv_contact_resistance)) {assert(false);} + ///if(!is_equal(tsv_depletion_width,tech.tsv_depletion_width)) {assert(false);} + ///if(!is_equal(tsv_liner_dielectric_constant,tech.tsv_liner_dielectric_constant)) {assert(false);} + + //CACTI3DD TSV params + + if(!is_equal(tsv_parasitic_capacitance_fine,tech.tsv_parasitic_capacitance_fine )) {PRINT("tsv_parasitic_capacitance_fine",tsv_parasitic_capacitance_fine); assert(false);} + if(!is_equal(tsv_parasitic_resistance_fine,tech.tsv_parasitic_resistance_fine)) {assert(false);} + if(!is_equal(tsv_minimum_area_fine,tech.tsv_minimum_area_fine)) {assert(false);} + + if(!is_equal(tsv_parasitic_capacitance_coarse,tech.tsv_parasitic_capacitance_coarse)) {assert(false);} + if(!is_equal(tsv_parasitic_resistance_coarse,tech.tsv_parasitic_resistance_coarse)) {assert(false);} + if(!is_equal(tsv_minimum_area_coarse,tech.tsv_minimum_area_coarse)) {assert(false);} + + //fs + if(!is_equal(w_comp_inv_p1,tech.w_comp_inv_p1)) {assert(false);} + if(!is_equal(w_comp_inv_p2,tech.w_comp_inv_p2)) {assert(false);} + if(!is_equal(w_comp_inv_p3,tech.w_comp_inv_p3)) {assert(false);} + if(!is_equal(w_comp_inv_n1,tech.w_comp_inv_n1)) {assert(false);} + if(!is_equal(w_comp_inv_n2,tech.w_comp_inv_n2)) {assert(false);} + if(!is_equal(w_comp_inv_n3,tech.w_comp_inv_n3)) {assert(false);} + if(!is_equal(w_eval_inv_p,tech.w_eval_inv_p)) {assert(false);} + if(!is_equal(w_eval_inv_n,tech.w_eval_inv_n)) {assert(false);} + if(!is_equal(w_comp_n,tech.w_comp_n)) {assert(false);} + if(!is_equal(w_comp_p,tech.w_comp_p)) {assert(false);} + + if(!is_equal(dram_cell_I_on,tech.dram_cell_I_on)) {assert(false);} //ram_cell_tech_type + if(!is_equal(dram_cell_Vdd,tech.dram_cell_Vdd)) {assert(false);} + if(!is_equal(dram_cell_I_off_worst_case_len_temp,tech.dram_cell_I_off_worst_case_len_temp)) {assert(false);} + if(!is_equal(dram_cell_C,tech.dram_cell_C)) {assert(false);} + if(!is_equal(gm_sense_amp_latch,tech.gm_sense_amp_latch)) {assert(false);} // depends on many things + + if(!is_equal(w_nmos_b_mux,tech.w_nmos_b_mux)) {assert(false);} //fs + if(!is_equal(w_nmos_sa_mux,tech.w_nmos_sa_mux)) {assert(false);}//fs + if(!is_equal(w_pmos_bl_precharge,tech.w_pmos_bl_precharge)) {PRINT("w_pmos_bl_precharge",w_pmos_bl_precharge);assert(false);}//fs + if(!is_equal(w_pmos_bl_eq,tech.w_pmos_bl_eq)) {assert(false);}//fs + if(!is_equal(MIN_GAP_BET_P_AND_N_DIFFS,tech.MIN_GAP_BET_P_AND_N_DIFFS)) {assert(false);}//fs + if(!is_equal(MIN_GAP_BET_SAME_TYPE_DIFFS,tech.MIN_GAP_BET_SAME_TYPE_DIFFS)) {assert(false);}//fs + if(!is_equal(HPOWERRAIL,tech.HPOWERRAIL)) {assert(false);}//fs + if(!is_equal(cell_h_def,tech.cell_h_def)) {assert(false);}//fs + + if(!is_equal(chip_layout_overhead,tech.chip_layout_overhead )) {assert(false);}//input + if(!is_equal(macro_layout_overhead,tech.macro_layout_overhead)) {cout <cache_sz / NUMBER_STACKED_DIE_LAYERS; // capacity per stacked die layer + + if (Ndwl != 1 || //Ndwl is fixed to 1 for CAM + Ndcm != 1 || //Ndcm is fixed to 1 for CAM + Nspd < 1 || Nspd > 1 || //Nspd is fixed to 1 for CAM + Ndsam_lev_1 != 1 || //Ndsam_lev_1 is fixed to one + Ndsam_lev_2 != 1 || //Ndsam_lev_2 is fixed to one + Ndbl < 2) //FIXME: why should Ndbl be >1 for very small CAMs? + { + return; + } + + + + if (g_ip->specific_tag) + { + tagbits = int(ceil(g_ip->tag_w/8.0)*8); + } + else + { + tagbits = int(ceil((ADDRESS_BITS + EXTRA_TAG_BITS)/8.0)*8); + } + + //computation of no. of rows and cols of a subarray + tag_num_r_subarray = (int)ceil(capacity_per_die / (g_ip->nbanks*tagbits/8.0 * Ndbl));//TODO: error check input of tagbits and blocksize //TODO: for pure CAM, g_ip->block should be number of entries. + tag_num_c_subarray = tagbits; + + if (tag_num_r_subarray == 0) return; + if (tag_num_r_subarray > MAXSUBARRAYROWS) return; + if (tag_num_c_subarray < MINSUBARRAYCOLS) return; + if (tag_num_c_subarray > MAXSUBARRAYCOLS) return; + num_r_subarray = tag_num_r_subarray; //FIXME: what about num_c_subarray? + + num_subarrays = Ndwl * Ndbl; + + // calculate cell dimensions + cam_cell.h = g_tp.cam.b_h + 2 * wire_local.pitch * (g_ip->num_rw_ports-1 + g_ip->num_rd_ports + g_ip->num_wr_ports) + + 2 * wire_local.pitch*(g_ip->num_search_ports-1) + wire_local.pitch * g_ip->num_se_rd_ports; + cam_cell.w = g_tp.cam.b_w + 2 * wire_local.pitch * (g_ip->num_rw_ports-1 + g_ip->num_rd_ports + g_ip->num_wr_ports) + + 2 * wire_local.pitch*(g_ip->num_search_ports-1) + wire_local.pitch * g_ip->num_se_rd_ports; + + //FIXME: curious where this is getting used in a CAM + cell.h = g_tp.sram.b_h + 2 * wire_local.pitch * (g_ip->num_wr_ports +g_ip->num_rw_ports-1 + g_ip->num_rd_ports) + + 2 * wire_local.pitch*(g_ip->num_search_ports-1); + cell.w = g_tp.sram.b_w + 2 * wire_local.pitch * (g_ip->num_rw_ports -1 + (g_ip->num_rd_ports - g_ip->num_se_rd_ports) + + g_ip->num_wr_ports) + g_tp.wire_local.pitch * g_ip->num_se_rd_ports + 2 * wire_local.pitch*(g_ip->num_search_ports-1); + + // calculate wire parameters + + double c_b_metal = cell.h * wire_local.C_per_um; +// double C_bl; + + c_b_metal = cam_cell.h * wire_local.C_per_um;//IBM and SUN design, SRAM array uses dummy cells to fill the blank space due to mismatch on CAM-RAM + V_b_sense = (0.05 * g_tp.sram_cell.Vdd > VBITSENSEMIN) ? 0.05 * g_tp.sram_cell.Vdd : VBITSENSEMIN; + deg_bl_muxing = 1;//FA fix as 1 + // "/ 2.0" below is due to the fact that two adjacent access transistors share drain + // contacts in a physical layout + double Cbitrow_drain_cap = drain_C_(g_tp.cam.cell_a_w, NCH, 1, 0, cam_cell.w, false, true) / 2.0;//TODO: comment out these two lines +// C_bl = num_r_subarray * (Cbitrow_drain_cap + c_b_metal); + dram_refresh_period = 0; + + + // do/di: data in/out, for fully associative they are the data width for normal read and write + // so/si: search data in/out, for fully associative they are the data width for the search ops + // for CAM, si=di, but so = matching address. do = data out = di (for normal read/write) + // so/si needs broadcase while do/di do not + + switch (Ndbl) { + case (0): + cout << " Invalid Ndbl \n"< num_mats_h_dir) + { + return; + } + + + num_di_b_mat = tagbits; + num_si_b_mat = tagbits;//*num_subarrays/num_mats; + + num_di_b_subbank = num_di_b_mat * num_act_mats_hor_dir;//normal cache or normal r/w for FA + num_si_b_subbank = num_si_b_mat; //* num_act_mats_hor_dir_sl; inside the data is broadcast + + int num_addr_b_row_dec = _log2(num_r_subarray); + num_addr_b_row_dec +=_log2(num_subarrays/num_mats); + int number_subbanks = num_mats / num_act_mats_hor_dir; + number_subbanks_decode = _log2(number_subbanks);//TODO: add log2(num_subarray_per_bank) to FA/CAM + + num_rw_ports = g_ip->num_rw_ports; + num_rd_ports = g_ip->num_rd_ports; + num_wr_ports = g_ip->num_wr_ports; + num_se_rd_ports = g_ip->num_se_rd_ports; + num_search_ports = g_ip->num_search_ports; + + number_addr_bits_mat = num_addr_b_row_dec + _log2(deg_bl_muxing) + + _log2(deg_sa_mux_l1_non_assoc) + _log2(Ndsam_lev_2); + + num_di_b_bank_per_port = tagbits; + num_si_b_bank_per_port = tagbits; + num_do_b_bank_per_port = tagbits; + num_so_b_bank_per_port = int(ceil(log2(num_r_subarray)) + ceil(log2(num_subarrays))); + + if ((!is_tag) && (g_ip->data_assoc > 1) && (!g_ip->fast_access)) + { + number_way_select_signals_mat = g_ip->data_assoc; + } + + // add ECC adjustment to all data signals that traverse on H-trees. + if (g_ip->add_ecc_b_ == true) + { + ECC_adjustment(); + } + + is_valid = true; +} + +void +DynamicParameter::init_FA() +{ + const InterconnectType &wire_local = g_tp.wire_local; + //Disabling 3D model since a 3D stacked FA is never tested + assert(NUMBER_STACKED_DIE_LAYERS == 1); + unsigned int capacity_per_die = g_ip->cache_sz; + + if (Ndwl != 1 || //Ndwl is fixed to 1 for FA + Ndcm != 1 || //Ndcm is fixed to 1 for FA + Nspd < 1 || Nspd > 1 || //Nspd is fixed to 1 for FA + Ndsam_lev_1 != 1 || //Ndsam_lev_1 is fixed to one + Ndsam_lev_2 != 1 || //Ndsam_lev_2 is fixed to one + Ndbl < 2) + { + return; + } + + + //***********compute row, col of an subarray + + //either fully-asso or cam + if (g_ip->specific_tag) + { + tagbits = g_ip->tag_w; + } + else + { + tagbits = ADDRESS_BITS + EXTRA_TAG_BITS - _log2(g_ip->block_sz); + } + tagbits = (((tagbits + 3) >> 2) << 2); + + tag_num_r_subarray = (int)(capacity_per_die / (g_ip->nbanks*g_ip->block_sz * Ndbl)); + tag_num_c_subarray = (int)ceil((tagbits * Nspd / Ndwl));// + EPSILON); + if (tag_num_r_subarray == 0) return; + if (tag_num_r_subarray > MAXSUBARRAYROWS) return; + if (tag_num_c_subarray < MINSUBARRAYCOLS) return; + if (tag_num_c_subarray > MAXSUBARRAYCOLS) return; + + data_num_r_subarray = tag_num_r_subarray; + data_num_c_subarray = 8 * g_ip->block_sz; + if (data_num_r_subarray == 0) return; + if (data_num_r_subarray > MAXSUBARRAYROWS) return; + if (data_num_c_subarray < MINSUBARRAYCOLS) return; + if (data_num_c_subarray > MAXSUBARRAYCOLS) return; + num_r_subarray = tag_num_r_subarray; + + num_subarrays = Ndwl * Ndbl; + //****************end of computation of row, col of an subarray + + // calculate wire parameters + cam_cell.h = g_tp.cam.b_h + 2 * wire_local.pitch * (g_ip->num_rw_ports-1 + g_ip->num_rd_ports + g_ip->num_wr_ports) + + 2 * wire_local.pitch*(g_ip->num_search_ports-1) + wire_local.pitch * g_ip->num_se_rd_ports; + cam_cell.w = g_tp.cam.b_w + 2 * wire_local.pitch * (g_ip->num_rw_ports-1 + g_ip->num_rd_ports + g_ip->num_wr_ports) + + 2 * wire_local.pitch*(g_ip->num_search_ports-1) + wire_local.pitch * g_ip->num_se_rd_ports; + + cell.h = g_tp.sram.b_h + 2 * wire_local.pitch * (g_ip->num_wr_ports +g_ip->num_rw_ports-1 + g_ip->num_rd_ports) + + 2 * wire_local.pitch*(g_ip->num_search_ports-1); + cell.w = g_tp.sram.b_w + 2 * wire_local.pitch * (g_ip->num_rw_ports -1 + (g_ip->num_rd_ports - g_ip->num_se_rd_ports) + + g_ip->num_wr_ports) + g_tp.wire_local.pitch * g_ip->num_se_rd_ports + 2 * wire_local.pitch*(g_ip->num_search_ports-1); + + double c_b_metal = cell.h * wire_local.C_per_um; + // double C_bl; + + c_b_metal = cam_cell.h * wire_local.C_per_um;//IBM and SUN design, SRAM array uses dummy cells to fill the blank space due to mismatch on CAM-RAM + V_b_sense = (0.05 * g_tp.sram_cell.Vdd > VBITSENSEMIN) ? 0.05 * g_tp.sram_cell.Vdd : VBITSENSEMIN; + deg_bl_muxing = 1;//FA fix as 1 + // "/ 2.0" below is due to the fact that two adjacent access transistors share drain + // contacts in a physical layout + double Cbitrow_drain_cap = drain_C_(g_tp.cam.cell_a_w, NCH, 1, 0, cam_cell.w, false, true) / 2.0;//TODO: comment out these two lines + // C_bl = num_r_subarray * (Cbitrow_drain_cap + c_b_metal); + dram_refresh_period = 0; + + + // do/di: data in/out, for fully associative they are the data width for normal read and write + // so/si: search data in/out, for fully associative they are the data width for the search ops + // for CAM, si=di, but so = matching address. do = data out = di (for normal read/write) + // so/si needs broadcase while do/di do not + + switch (Ndbl) { + case (0): + cout << " Invalid Ndbl \n"<block_sz;//TODO:internal perfetch should be considered also for fa + num_do_b_subbank = num_so_b_subbank + tag_num_c_subarray; + + deg_sa_mux_l1_non_assoc = 1; + + deg_senseamp_muxing_non_associativity = deg_sa_mux_l1_non_assoc; + + num_act_mats_hor_dir = 1; + num_act_mats_hor_dir_sl = num_mats_h_dir;//TODO: this is unnecessary, since search op, num_mats is used + + //compute num_do_mat for tag + if (num_act_mats_hor_dir > num_mats_h_dir) + { + return; + } + + + //compute di for mat subbank and bank + if (fully_assoc) + { + num_di_b_mat = num_do_b_mat; + //*num_subarrays/num_mats; bits per mat of CAM/FA is as same as cache, + //but inside the mat wire tracks need to be reserved for search data bus + num_si_b_mat = tagbits; + } + num_di_b_subbank = num_di_b_mat * num_act_mats_hor_dir;//normal cache or normal r/w for FA + num_si_b_subbank = num_si_b_mat; //* num_act_mats_hor_dir_sl; inside the data is broadcast + + int num_addr_b_row_dec = _log2(num_r_subarray); + num_addr_b_row_dec +=_log2(num_subarrays/num_mats); + int number_subbanks = num_mats / num_act_mats_hor_dir; + number_subbanks_decode = _log2(number_subbanks);//TODO: add log2(num_subarray_per_bank) to FA/CAM + + num_rw_ports = g_ip->num_rw_ports; + num_rd_ports = g_ip->num_rd_ports; + num_wr_ports = g_ip->num_wr_ports; + num_se_rd_ports = g_ip->num_se_rd_ports; + num_search_ports = g_ip->num_search_ports; + + number_addr_bits_mat = num_addr_b_row_dec + _log2(deg_bl_muxing) + + _log2(deg_sa_mux_l1_non_assoc) + _log2(Ndsam_lev_2); + + num_di_b_bank_per_port = g_ip->out_w + tagbits;//TODO: out_w or block_sz? + num_si_b_bank_per_port = tagbits; + num_do_b_bank_per_port = g_ip->out_w + tagbits; + num_so_b_bank_per_port = g_ip->out_w; + + if ((!is_tag) && (g_ip->data_assoc > 1) && (!g_ip->fast_access)) + { + number_way_select_signals_mat = g_ip->data_assoc; + } + + // add ECC adjustment to all data signals that traverse on H-trees. + if (g_ip->add_ecc_b_ == true) + { + ECC_adjustment(); + } + + is_valid = true; +} + +//DynamicParameter::init_Mem() +//{ +//} +// +//DynamicParameter::init_3DMem() +//{ +//} + +//*** Calculate number of rows and columns in a subarray +bool +DynamicParameter::calc_subarr_rc(unsigned int capacity_per_die) { + // If it's not an FA tag/data array, Ndwl should be at least two and Ndbl should be + // at least two because an array is assumed to have at least one mat. A mat + // consists of two rows and two columns of subarrays. + if (Ndwl < 2 || Ndbl < 2) + { + return false; + } + + if ((is_dram) && (!is_tag) && (Ndcm > 1)) + { + return false; // For a DRAM array, each bitline has its own sense-amp + } + + // if data array, let tagbits = 0 + if (is_tag) + { + if (g_ip->specific_tag) + { + tagbits = g_ip->tag_w; + } + else + { + tagbits = ADDRESS_BITS + EXTRA_TAG_BITS - _log2(capacity_per_die) + + _log2(g_ip->tag_assoc*2 - 1); + + } +// tagbits = (((tagbits + 3) >> 2) << 2); //FIXME: NAV: Why are we doing this? + + num_r_subarray = (int)ceil(capacity_per_die / (g_ip->nbanks * + g_ip->block_sz * g_ip->tag_assoc * Ndbl * Nspd)); + num_c_subarray = (int)ceil((tagbits * g_ip->tag_assoc * Nspd / Ndwl)); + } + else + { + num_r_subarray = (int)ceil(capacity_per_die / (g_ip->nbanks * + g_ip->block_sz * g_ip->data_assoc * Ndbl * Nspd)); + num_c_subarray = (int)ceil((8 * g_ip->block_sz * g_ip->data_assoc * Nspd / Ndwl)); + if(g_ip->is_3d_mem) + { + double capacity_per_die_double = (double)g_ip->cache_sz / g_ip->num_die_3d; + //num_c_subarray = 1 << (int)ceil((double)_log2( 8*capacity_per_die / (g_ip->nbanks * Ndbl * Ndwl) )/2 ) ; + //num_r_subarray = 1 << (int)ceil((double)_log2( 8*capacity_per_die / (g_ip->nbanks * Ndbl * Ndwl * num_c_subarray) ) ); + num_c_subarray = g_ip->page_sz_bits/Ndwl; + num_r_subarray = 1 << (int)floor(_log2((double) g_ip->cache_sz / g_ip->num_die_3d + / num_c_subarray / g_ip->nbanks / Ndbl / Ndwl * 1024 * 1024 * 1024) +0.5); + if (g_ip->print_detail_debug) + { + cout << "parameter.cc: capacity_per_die_double = " << capacity_per_die_double << " Gbit"<< endl; + cout << "parameter.cc: g_ip->nbanks * Ndbl * Ndwl = " << (g_ip->nbanks * Ndbl * Ndwl) << endl; + //cout << "parameter.cc: subarray capacity = " << 8*capacity_per_die / (g_ip->nbanks * Ndbl * Ndwl) << endl; + //cout << "parameter.cc: total bit add per subarray = " << _log2( 8*capacity_per_die / (g_ip->nbanks * Ndbl * Ndwl) ) << endl; + cout << "parameter.cc: num_r_subarray = " << num_r_subarray << endl; + cout << "parameter.cc: num_c_subarray = " << num_c_subarray << endl; + } + + } + } + + if (num_r_subarray < MINSUBARRAYROWS) return false; + if (num_r_subarray == 0) return false; + if (num_r_subarray > MAXSUBARRAYROWS) return false; + if (num_c_subarray < MINSUBARRAYCOLS) return false; + if (num_c_subarray > MAXSUBARRAYCOLS) return false; + + + + num_subarrays = Ndwl * Ndbl; + return true; +} + + + + + +DynamicParameter::DynamicParameter( + bool is_tag_, + int pure_ram_, + int pure_cam_, + double Nspd_, + unsigned int Ndwl_, + unsigned int Ndbl_, + unsigned int Ndcm_, + unsigned int Ndsam_lev_1_, + unsigned int Ndsam_lev_2_, + Wire_type wt, + bool is_main_mem_): + is_tag(is_tag_), pure_ram(pure_ram_), pure_cam(pure_cam_), tagbits(0), Nspd(Nspd_), Ndwl(Ndwl_), Ndbl(Ndbl_),Ndcm(Ndcm_), + Ndsam_lev_1(Ndsam_lev_1_), Ndsam_lev_2(Ndsam_lev_2_),wtype(wt), + number_way_select_signals_mat(0), V_b_sense(0), use_inp_params(0), + is_main_mem(is_main_mem_), cell(), is_valid(false) +{ + ram_cell_tech_type = (is_tag) ? g_ip->tag_arr_ram_cell_tech_type : g_ip->data_arr_ram_cell_tech_type; + is_dram = ((ram_cell_tech_type == lp_dram) || (ram_cell_tech_type == comm_dram)); + + unsigned int capacity_per_die = g_ip->cache_sz / NUMBER_STACKED_DIE_LAYERS; // capacity per stacked die layer + const InterconnectType & wire_local = g_tp.wire_local; + fully_assoc = (g_ip->fully_assoc) ? true : false; + + if (pure_cam) + { + init_CAM(); + return; + } + + if (fully_assoc) { + init_FA(); + return; + } + + //*** Calculate number of rows and columns in a subarray + // Return if their dimensions do not meet the minimum specs + if (!calc_subarr_rc(capacity_per_die)) return; + + //** Calculate cell dimensions + if(is_tag) + { + cell.h = g_tp.sram.b_h + 2 * wire_local.pitch * (g_ip->num_rw_ports - 1 + g_ip->num_rd_ports + + g_ip->num_wr_ports); + cell.w = g_tp.sram.b_w + 2 * wire_local.pitch * (g_ip->num_rw_ports - 1 + g_ip->num_wr_ports + + (g_ip->num_rd_ports - g_ip->num_se_rd_ports)) + + wire_local.pitch * g_ip->num_se_rd_ports; + } + else + { + if (is_dram) + { + cell.h = g_tp.dram.b_h; + cell.w = g_tp.dram.b_w; + } + else + { + cell.h = g_tp.sram.b_h + 2 * wire_local.pitch * (g_ip->num_wr_ports + + g_ip->num_rw_ports - 1 + g_ip->num_rd_ports); + cell.w = g_tp.sram.b_w + 2 * wire_local.pitch * (g_ip->num_rw_ports - 1 + + (g_ip->num_rd_ports - g_ip->num_se_rd_ports) + + g_ip->num_wr_ports) + g_tp.wire_local.pitch * g_ip->num_se_rd_ports; + } + } + + double c_b_metal = cell.h * wire_local.C_per_um; + double C_bl; + + if (is_dram) + { + deg_bl_muxing = 1; + if (ram_cell_tech_type == comm_dram) + { + double Cbitrow_drain_cap = drain_C_(g_tp.dram.cell_a_w, NCH, 1, 0, cell.w, true, true) / 2.0; + C_bl = num_r_subarray * (Cbitrow_drain_cap + c_b_metal); + //C_bl = num_r_subarray * c_b_metal; + V_b_sense = (g_tp.dram_cell_Vdd/2) * g_tp.dram_cell_C / (g_tp.dram_cell_C + C_bl); + if (V_b_sense < VBITSENSEMIN && !(g_ip->is_3d_mem && g_ip->force_cache_config) ) + { + return; + } + + dram_refresh_period = 64e-3; + + } + else + { + double Cbitrow_drain_cap = drain_C_(g_tp.dram.cell_a_w, NCH, 1, 0, cell.w, true, true) / 2.0; + C_bl = num_r_subarray * (Cbitrow_drain_cap + c_b_metal); + V_b_sense = (g_tp.dram_cell_Vdd/2) * g_tp.dram_cell_C /(g_tp.dram_cell_C + C_bl); + + if (V_b_sense < VBITSENSEMIN) + { + return; //Sense amp input signal is smaller that minimum allowable sense amp input signal + } + V_b_sense = VBITSENSEMIN; // in any case, we fix sense amp input signal to a constant value + //v_storage_worst = g_tp.dram_cell_Vdd / 2 - VBITSENSEMIN * (g_tp.dram_cell_C + C_bl) / g_tp.dram_cell_C; + //dram_refresh_period = 1.1 * g_tp.dram_cell_C * v_storage_worst / g_tp.dram_cell_I_off_worst_case_len_temp; + dram_refresh_period = 0.9 * g_tp.dram_cell_C * VDD_STORAGE_LOSS_FRACTION_WORST * g_tp.dram_cell_Vdd / g_tp.dram_cell_I_off_worst_case_len_temp; + } + } + else + { //SRAM + V_b_sense = (0.05 * g_tp.sram_cell.Vdd > VBITSENSEMIN) ? 0.05 * g_tp.sram_cell.Vdd : VBITSENSEMIN; + deg_bl_muxing = Ndcm; + // "/ 2.0" below is due to the fact that two adjacent access transistors share drain + // contacts in a physical layout + double Cbitrow_drain_cap = drain_C_(g_tp.sram.cell_a_w, NCH, 1, 0, cell.w, false, true) / 2.0; + C_bl = num_r_subarray * (Cbitrow_drain_cap + c_b_metal); + dram_refresh_period = 0; + } + + + // do/di: data in/out, for fully associative they are the data width for normal read and write + // so/si: search data in/out, for fully associative they are the data width for the search ops + // for CAM, si=di, but so = matching address. do = data out = di (for normal read/write) + // so/si needs broadcase while do/di do not + + num_mats_h_dir = MAX(Ndwl / 2, 1); + num_mats_v_dir = MAX(Ndbl / 2, 1); + num_mats = num_mats_h_dir * num_mats_v_dir; + num_do_b_mat = MAX((num_subarrays/num_mats) * num_c_subarray / (deg_bl_muxing * Ndsam_lev_1 * Ndsam_lev_2), 1); + + if (!(fully_assoc|| pure_cam) && (num_do_b_mat < (num_subarrays/num_mats))) + { + return; + } + + + int deg_sa_mux_l1_non_assoc; + //TODO:the i/o for subbank is not necessary and should be removed. + if (!is_tag) + { + if (is_main_mem == true) + { + num_do_b_subbank = g_ip->int_prefetch_w * g_ip->out_w; + //CACTI3DD DRAM page size + if(g_ip->is_3d_mem) + num_do_b_subbank = g_ip->page_sz_bits; + deg_sa_mux_l1_non_assoc = Ndsam_lev_1; + } + else + { + if (g_ip->fast_access == true) + { + num_do_b_subbank = g_ip->out_w * g_ip->data_assoc; + deg_sa_mux_l1_non_assoc = Ndsam_lev_1; + } + else + { + + num_do_b_subbank = g_ip->out_w; + deg_sa_mux_l1_non_assoc = Ndsam_lev_1 / g_ip->data_assoc; + if (deg_sa_mux_l1_non_assoc < 1) + { + return; + } + + } + } + } + else + { + num_do_b_subbank = tagbits * g_ip->tag_assoc; + if (num_do_b_mat < tagbits) + { + return; + } + deg_sa_mux_l1_non_assoc = Ndsam_lev_1; + //num_do_b_mat = g_ip->tag_assoc / num_mats_h_dir; + } + + deg_senseamp_muxing_non_associativity = deg_sa_mux_l1_non_assoc; + + num_act_mats_hor_dir = num_do_b_subbank / num_do_b_mat; + if (g_ip->is_3d_mem && num_act_mats_hor_dir == 0) + num_act_mats_hor_dir = 1; + if (num_act_mats_hor_dir == 0) + { + return; + } + + //compute num_do_mat for tag + if (is_tag) + { + if (!(fully_assoc || pure_cam)) + { + num_do_b_mat = g_ip->tag_assoc / num_act_mats_hor_dir; + num_do_b_subbank = num_act_mats_hor_dir * num_do_b_mat; + } + } + + if ((g_ip->is_cache == false && is_main_mem == true) || (PAGE_MODE == 1 && is_dram)) + { + if (num_act_mats_hor_dir * num_do_b_mat * Ndsam_lev_1 * Ndsam_lev_2 != (int)g_ip->page_sz_bits) + { + return; + } + } + +// if (is_tag == false && g_ip->is_cache == true && !fully_assoc && !pure_cam && //TODO: TODO burst transfer should also apply to RAM arrays + if (is_tag == false && g_ip->is_main_mem == true && + num_act_mats_hor_dir*num_do_b_mat*Ndsam_lev_1*Ndsam_lev_2 < ((int) g_ip->out_w * (int) g_ip->burst_len * (int) g_ip->data_assoc)) + { + return; + } + + if (num_act_mats_hor_dir > num_mats_h_dir) + { + return; + } + + + //compute di for mat subbank and bank + if(!is_tag) + { + if(g_ip->fast_access == true) + { + num_di_b_mat = num_do_b_mat / g_ip->data_assoc; + } + else + { + num_di_b_mat = num_do_b_mat; + } + } + else + { + num_di_b_mat = tagbits; + } + + num_di_b_subbank = num_di_b_mat * num_act_mats_hor_dir;//normal cache or normal r/w for FA + num_si_b_subbank = num_si_b_mat; //* num_act_mats_hor_dir_sl; inside the data is broadcast + + int num_addr_b_row_dec = _log2(num_r_subarray); + if ((fully_assoc ||pure_cam)) + num_addr_b_row_dec +=_log2(num_subarrays/num_mats); + int number_subbanks = num_mats / num_act_mats_hor_dir; + number_subbanks_decode = _log2(number_subbanks);//TODO: add log2(num_subarray_per_bank) to FA/CAM + + num_rw_ports = g_ip->num_rw_ports; + num_rd_ports = g_ip->num_rd_ports; + num_wr_ports = g_ip->num_wr_ports; + num_se_rd_ports = g_ip->num_se_rd_ports; + num_search_ports = g_ip->num_search_ports; + + if (is_dram && is_main_mem) + { + number_addr_bits_mat = MAX((unsigned int) num_addr_b_row_dec, + _log2(deg_bl_muxing) + _log2(deg_sa_mux_l1_non_assoc) + _log2(Ndsam_lev_2)); + if (g_ip->print_detail_debug) + { + cout << "parameter.cc: number_addr_bits_mat = " << num_addr_b_row_dec << endl; + cout << "parameter.cc: num_addr_b_row_dec = " << num_addr_b_row_dec << endl; + cout << "parameter.cc: num_addr_b_mux_sel = " << _log2(deg_bl_muxing) + _log2(deg_sa_mux_l1_non_assoc) + _log2(Ndsam_lev_2) << endl; + } + } + else + { + number_addr_bits_mat = num_addr_b_row_dec + _log2(deg_bl_muxing) + + _log2(deg_sa_mux_l1_non_assoc) + _log2(Ndsam_lev_2); + } + + if (is_tag) + { + num_di_b_bank_per_port = tagbits; + num_do_b_bank_per_port = g_ip->data_assoc; + } + else + { + num_di_b_bank_per_port = g_ip->out_w + g_ip->data_assoc; + num_do_b_bank_per_port = g_ip->out_w; + } + + if ((!is_tag) && (g_ip->data_assoc > 1) && (!g_ip->fast_access)) + { + number_way_select_signals_mat = g_ip->data_assoc; + } + + // add ECC adjustment to all data signals that traverse on H-trees. + if (g_ip->add_ecc_b_ == true) ECC_adjustment(); + + is_valid = true; +} + +void +DynamicParameter::ECC_adjustment() { + num_do_b_mat += (int) (ceil(num_do_b_mat / num_bits_per_ecc_b_)); + num_di_b_mat += (int) (ceil(num_di_b_mat / num_bits_per_ecc_b_)); + num_di_b_subbank += (int) (ceil(num_di_b_subbank / num_bits_per_ecc_b_)); + num_do_b_subbank += (int) (ceil(num_do_b_subbank / num_bits_per_ecc_b_)); + num_di_b_bank_per_port += (int) (ceil(num_di_b_bank_per_port / num_bits_per_ecc_b_)); + num_do_b_bank_per_port += (int) (ceil(num_do_b_bank_per_port / num_bits_per_ecc_b_)); + + num_so_b_mat += (int) (ceil(num_so_b_mat / num_bits_per_ecc_b_)); + num_si_b_mat += (int) (ceil(num_si_b_mat / num_bits_per_ecc_b_)); + num_si_b_subbank += (int) (ceil(num_si_b_subbank / num_bits_per_ecc_b_)); + num_so_b_subbank += (int) (ceil(num_so_b_subbank / num_bits_per_ecc_b_)); + num_si_b_bank_per_port += (int) (ceil(num_si_b_bank_per_port / num_bits_per_ecc_b_)); + num_so_b_bank_per_port += (int) (ceil(num_so_b_bank_per_port / num_bits_per_ecc_b_)); +} + +//DynamicParameter::DynamicParameter( +// bool is_tag_, +// int pure_ram_, +// int pure_cam_, +// double Nspd_, +// unsigned int Ndwl_, +// unsigned int Ndbl_, +// unsigned int Ndcm_, +// unsigned int Ndsam_lev_1_, +// unsigned int Ndsam_lev_2_, +// Wire_type wt, +// bool is_main_mem_): +// is_tag(is_tag_), pure_ram(pure_ram_), pure_cam(pure_cam_), tagbits(0), Nspd(Nspd_), Ndwl(Ndwl_), Ndbl(Ndbl_),Ndcm(Ndcm_), +// Ndsam_lev_1(Ndsam_lev_1_), Ndsam_lev_2(Ndsam_lev_2_),wtype(wt), +// number_way_select_signals_mat(0), V_b_sense(0), use_inp_params(0), +// is_main_mem(is_main_mem_), cell(), is_valid(false) +// ram_cell_tech_type = (is_tag) ? g_ip->tag_arr_ram_cell_tech_type : g_ip->data_arr_ram_cell_tech_type; +// is_dram = ((ram_cell_tech_type == lp_dram) || (ram_cell_tech_type == comm_dram)); +// +// unsigned int capacity_per_die = g_ip->cache_sz / NUMBER_STACKED_DIE_LAYERS; // capacity per stacked die layer +// const /*TechnologyParameter::*/InterconnectType & wire_local = g_tp.wire_local; +// fully_assoc = (g_ip->fully_assoc) ? true : false; +// +// if (fully_assoc || pure_cam) +// { // fully-assocative cache -- ref: CACTi 2.0 report +// if (Ndwl != 1 || //Ndwl is fixed to 1 for FA +// Ndcm != 1 || //Ndcm is fixed to 1 for FA +// Nspd < 1 || Nspd > 1 || //Nspd is fixed to 1 for FA +// Ndsam_lev_1 != 1 || //Ndsam_lev_1 is fixed to one +// Ndsam_lev_2 != 1 || //Ndsam_lev_2 is fixed to one +// Ndbl < 2) +// { +// return; +// } +// } +// +// if ((is_dram) && (!is_tag) && (Ndcm > 1)) +// { +// return; // For a DRAM array, each bitline has its own sense-amp +// } +// +// // If it's not an FA tag/data array, Ndwl should be at least two and Ndbl should be +// // at least two because an array is assumed to have at least one mat. And a mat +// // is formed out of two horizontal subarrays and two vertical subarrays +// if (fully_assoc == false && (Ndwl < 1 || Ndbl < 1)) +// { +// return; +// } +// +// //***********compute row, col of an subarray +// if (!(fully_assoc || pure_cam))//Not fully_asso nor cam +// { +// // if data array, let tagbits = 0 +// if (is_tag) +// { +// if (g_ip->specific_tag) +// { +// tagbits = g_ip->tag_w; +// } +// else +// { +// tagbits = ADDRESS_BITS + EXTRA_TAG_BITS - _log2(capacity_per_die) + +// _log2(g_ip->tag_assoc*2 - 1) - _log2(g_ip->nbanks); +// +// } +// tagbits = (((tagbits + 3) >> 2) << 2); +// +// num_r_subarray = (int)ceil(capacity_per_die / (g_ip->nbanks * +// g_ip->block_sz * g_ip->tag_assoc * Ndbl * Nspd));// + EPSILON); +// num_c_subarray = (int)ceil((tagbits * g_ip->tag_assoc * Nspd / Ndwl));// + EPSILON); +// //burst_length = 1; +// } +// else +// { +// num_r_subarray = (int)ceil(capacity_per_die / (g_ip->nbanks * +// g_ip->block_sz * g_ip->data_assoc * Ndbl * Nspd));// + EPSILON); +// num_c_subarray = (int)ceil((8 * g_ip->block_sz * g_ip->data_assoc * Nspd / Ndwl));// + EPSILON); + EPSILON); +// // burst_length = g_ip->block_sz * 8 / g_ip->out_w; +// if(g_ip->is_3d_mem) +// { +// double capacity_per_die_double = (double)g_ip->cache_sz / g_ip->num_die_3d; +// //num_c_subarray = 1 << (int)ceil((double)_log2( 8*capacity_per_die / (g_ip->nbanks * Ndbl * Ndwl) )/2 ) ; +// //num_r_subarray = 1 << (int)ceil((double)_log2( 8*capacity_per_die / (g_ip->nbanks * Ndbl * Ndwl * num_c_subarray) ) ); +// num_c_subarray = g_ip->page_sz_bits/Ndwl; +// num_r_subarray = 1 << (int)floor(_log2((double) g_ip->cache_sz / g_ip->num_die_3d +// / num_c_subarray / g_ip->nbanks / Ndbl / Ndwl * 1024 * 1024 * 1024) +0.5); +// if (g_ip->print_detail_debug) +// { +// cout << "parameter.cc: capacity_per_die_double = " << capacity_per_die_double << " Gbit"<< endl; +// cout << "parameter.cc: g_ip->nbanks * Ndbl * Ndwl = " << (g_ip->nbanks * Ndbl * Ndwl) << endl; +// //cout << "parameter.cc: subarray capacity = " << 8*capacity_per_die / (g_ip->nbanks * Ndbl * Ndwl) << endl; +// //cout << "parameter.cc: total bit add per subarray = " << _log2( 8*capacity_per_die / (g_ip->nbanks * Ndbl * Ndwl) ) << endl; +// cout << "parameter.cc: num_r_subarray = " << num_r_subarray << endl; +// cout << "parameter.cc: num_c_subarray = " << num_c_subarray << endl; +// } +// +// } +// } +// +// if (num_r_subarray < MINSUBARRAYROWS) return; +// if (num_r_subarray == 0) return; +// if (num_r_subarray > MAXSUBARRAYROWS) return; +// if (num_c_subarray < MINSUBARRAYCOLS) return; +// if (num_c_subarray > MAXSUBARRAYCOLS) return; +// +// } +// +// else +// {//either fully-asso or cam +// if (pure_cam) +// { +// if (g_ip->specific_tag) +// { +// tagbits = int(ceil(g_ip->tag_w/8.0)*8); +// } +// else +// { +// tagbits = int(ceil((ADDRESS_BITS + EXTRA_TAG_BITS)/8.0)*8); +//// cout<<"Pure CAM needs tag width to be specified"<> 2) << 2); +// +// tag_num_r_subarray = (int)ceil(capacity_per_die / (g_ip->nbanks*tagbits/8.0 * Ndbl));//TODO: error check input of tagbits and blocksize //TODO: for pure CAM, g_ip->block should be number of entries. +// //tag_num_c_subarray = (int)(tagbits + EPSILON); +// tag_num_c_subarray = tagbits; +// if (tag_num_r_subarray == 0) return; +// if (tag_num_r_subarray > MAXSUBARRAYROWS) return; +// if (tag_num_c_subarray < MINSUBARRAYCOLS) return; +// if (tag_num_c_subarray > MAXSUBARRAYCOLS) return; +// num_r_subarray = tag_num_r_subarray; +// } +// else //fully associative +// { +// if (g_ip->specific_tag) +// { +// tagbits = g_ip->tag_w; +// } +// else +// { +// tagbits = ADDRESS_BITS + EXTRA_TAG_BITS - _log2(g_ip->block_sz);//TODO: should be the page_offset=log2(page size), but this info is not avail with CACTI, for McPAT this is no problem. +// } +// tagbits = (((tagbits + 3) >> 2) << 2); +// +// tag_num_r_subarray = (int)(capacity_per_die / (g_ip->nbanks*g_ip->block_sz * Ndbl)); +// tag_num_c_subarray = (int)ceil((tagbits * Nspd / Ndwl));// + EPSILON); +// if (tag_num_r_subarray == 0) return; +// if (tag_num_r_subarray > MAXSUBARRAYROWS) return; +// if (tag_num_c_subarray < MINSUBARRAYCOLS) return; +// if (tag_num_c_subarray > MAXSUBARRAYCOLS) return; +// +// data_num_r_subarray = tag_num_r_subarray; +// data_num_c_subarray = 8 * g_ip->block_sz; +// if (data_num_r_subarray == 0) return; +// if (data_num_r_subarray > MAXSUBARRAYROWS) return; +// if (data_num_c_subarray < MINSUBARRAYCOLS) return; +// if (data_num_c_subarray > MAXSUBARRAYCOLS) return; +// num_r_subarray = tag_num_r_subarray; +// } +// } +// +// num_subarrays = Ndwl * Ndbl; +// //****************end of computation of row, col of an subarray +// +// // calculate wire parameters +// if (fully_assoc || pure_cam) +// { +// cam_cell.h = g_tp.cam.b_h + 2 * wire_local.pitch * (g_ip->num_rw_ports-1 + g_ip->num_rd_ports + g_ip->num_wr_ports) +// + 2 * wire_local.pitch*(g_ip->num_search_ports-1) + wire_local.pitch * g_ip->num_se_rd_ports; +// cam_cell.w = g_tp.cam.b_w + 2 * wire_local.pitch * (g_ip->num_rw_ports-1 + g_ip->num_rd_ports + g_ip->num_wr_ports) +// + 2 * wire_local.pitch*(g_ip->num_search_ports-1) + wire_local.pitch * g_ip->num_se_rd_ports; +// +// cell.h = g_tp.sram.b_h + 2 * wire_local.pitch * (g_ip->num_wr_ports +g_ip->num_rw_ports-1 + g_ip->num_rd_ports) +// + 2 * wire_local.pitch*(g_ip->num_search_ports-1); +// cell.w = g_tp.sram.b_w + 2 * wire_local.pitch * (g_ip->num_rw_ports -1 + (g_ip->num_rd_ports - g_ip->num_se_rd_ports) +// + g_ip->num_wr_ports) + g_tp.wire_local.pitch * g_ip->num_se_rd_ports + 2 * wire_local.pitch*(g_ip->num_search_ports-1); +// } +// else +// { +// if(is_tag) +// { +// cell.h = g_tp.sram.b_h + 2 * wire_local.pitch * (g_ip->num_rw_ports - 1 + g_ip->num_rd_ports + +// g_ip->num_wr_ports); +// cell.w = g_tp.sram.b_w + 2 * wire_local.pitch * (g_ip->num_rw_ports - 1 + g_ip->num_wr_ports + +// (g_ip->num_rd_ports - g_ip->num_se_rd_ports)) + +// wire_local.pitch * g_ip->num_se_rd_ports; +// } +// else +// { +// if (is_dram) +// { +// cell.h = g_tp.dram.b_h; +// cell.w = g_tp.dram.b_w; +// } +// else +// { +// cell.h = g_tp.sram.b_h + 2 * wire_local.pitch * (g_ip->num_wr_ports + +// g_ip->num_rw_ports - 1 + g_ip->num_rd_ports); +// cell.w = g_tp.sram.b_w + 2 * wire_local.pitch * (g_ip->num_rw_ports - 1 + +// (g_ip->num_rd_ports - g_ip->num_se_rd_ports) + +// g_ip->num_wr_ports) + g_tp.wire_local.pitch * g_ip->num_se_rd_ports; +// } +// } +// } +// +// double c_b_metal = cell.h * wire_local.C_per_um; +// double C_bl; +// +// if (!(fully_assoc || pure_cam)) +// { +// if (is_dram) +// { +// deg_bl_muxing = 1; +// if (ram_cell_tech_type == comm_dram) +// { +// double Cbitrow_drain_cap = drain_C_(g_tp.dram.cell_a_w, NCH, 1, 0, cell.w, true, true) / 2.0; +// C_bl = num_r_subarray * (Cbitrow_drain_cap + c_b_metal); +// //C_bl = num_r_subarray * c_b_metal; +// V_b_sense = (g_tp.dram_cell_Vdd/2) * g_tp.dram_cell_C / (g_tp.dram_cell_C + C_bl); +// if (V_b_sense < VBITSENSEMIN && !(g_ip->is_3d_mem && g_ip->force_cache_config) ) +// { +// return; +// } +// +// /* +// C_bl = num_r_subarray * c_b_metal; +// V_b_sense = (g_tp.dram_cell_Vdd/2) * g_tp.dram_cell_C / (g_tp.dram_cell_C + C_bl); +// if (V_b_sense < VBITSENSEMIN) +// { +// return; +// } +// V_b_sense = VBITSENSEMIN; // in any case, we fix sense amp input signal to a constant value +// */ +// dram_refresh_period = 64e-3; +// +// } +// else +// { +// double Cbitrow_drain_cap = drain_C_(g_tp.dram.cell_a_w, NCH, 1, 0, cell.w, true, true) / 2.0; +// C_bl = num_r_subarray * (Cbitrow_drain_cap + c_b_metal); +// V_b_sense = (g_tp.dram_cell_Vdd/2) * g_tp.dram_cell_C /(g_tp.dram_cell_C + C_bl); +// +// if (V_b_sense < VBITSENSEMIN) +// { +// return; //Sense amp input signal is smaller that minimum allowable sense amp input signal +// } +// V_b_sense = VBITSENSEMIN; // in any case, we fix sense amp input signal to a constant value +// //v_storage_worst = g_tp.dram_cell_Vdd / 2 - VBITSENSEMIN * (g_tp.dram_cell_C + C_bl) / g_tp.dram_cell_C; +// //dram_refresh_period = 1.1 * g_tp.dram_cell_C * v_storage_worst / g_tp.dram_cell_I_off_worst_case_len_temp; +// dram_refresh_period = 0.9 * g_tp.dram_cell_C * VDD_STORAGE_LOSS_FRACTION_WORST * g_tp.dram_cell_Vdd / g_tp.dram_cell_I_off_worst_case_len_temp; +// } +// } +// else +// { //SRAM +// V_b_sense = (0.05 * g_tp.sram_cell.Vdd > VBITSENSEMIN) ? 0.05 * g_tp.sram_cell.Vdd : VBITSENSEMIN; +// deg_bl_muxing = Ndcm; +// // "/ 2.0" below is due to the fact that two adjacent access transistors share drain +// // contacts in a physical layout +// double Cbitrow_drain_cap = drain_C_(g_tp.sram.cell_a_w, NCH, 1, 0, cell.w, false, true) / 2.0; +// C_bl = num_r_subarray * (Cbitrow_drain_cap + c_b_metal); +// dram_refresh_period = 0; +// } +// } +// else +// { +// c_b_metal = cam_cell.h * wire_local.C_per_um;//IBM and SUN design, SRAM array uses dummy cells to fill the blank space due to mismatch on CAM-RAM +// V_b_sense = (0.05 * g_tp.sram_cell.Vdd > VBITSENSEMIN) ? 0.05 * g_tp.sram_cell.Vdd : VBITSENSEMIN; +// deg_bl_muxing = 1;//FA fix as 1 +// // "/ 2.0" below is due to the fact that two adjacent access transistors share drain +// // contacts in a physical layout +// double Cbitrow_drain_cap = drain_C_(g_tp.cam.cell_a_w, NCH, 1, 0, cam_cell.w, false, true) / 2.0;//TODO: comment out these two lines +// C_bl = num_r_subarray * (Cbitrow_drain_cap + c_b_metal); +// dram_refresh_period = 0; +// } +// +// +// // do/di: data in/out, for fully associative they are the data width for normal read and write +// // so/si: search data in/out, for fully associative they are the data width for the search ops +// // for CAM, si=di, but so = matching address. do = data out = di (for normal read/write) +// // so/si needs broadcase while do/di do not +// +// if (fully_assoc || pure_cam) +// { +// switch (Ndbl) { +// case (0): +// cout << " Invalid Ndbl \n"<int_prefetch_w * g_ip->out_w; +// //CACTI3DD DRAM page size +// if(g_ip->is_3d_mem) +// num_do_b_subbank = g_ip->page_sz_bits; +// deg_sa_mux_l1_non_assoc = Ndsam_lev_1; +// } +// else +// { +// if (g_ip->fast_access == true) +// { +// num_do_b_subbank = g_ip->out_w * g_ip->data_assoc; +// deg_sa_mux_l1_non_assoc = Ndsam_lev_1; +// } +// else +// { +// +// num_do_b_subbank = g_ip->out_w; +// deg_sa_mux_l1_non_assoc = Ndsam_lev_1 / g_ip->data_assoc; +// if (deg_sa_mux_l1_non_assoc < 1) +// { +// return; +// } +// +// } +// } +// } +// else +// { +// num_do_b_subbank = tagbits * g_ip->tag_assoc; +// if (num_do_b_mat < tagbits) +// { +// return; +// } +// deg_sa_mux_l1_non_assoc = Ndsam_lev_1; +// //num_do_b_mat = g_ip->tag_assoc / num_mats_h_dir; +// } +// } +// else +// { +// if (fully_assoc) +// { +// num_so_b_subbank = 8 * g_ip->block_sz;//TODO:internal perfetch should be considered also for fa +// num_do_b_subbank = num_so_b_subbank + tag_num_c_subarray; +// } +// else +// { +// num_so_b_subbank = int(ceil(log2(num_r_subarray)) + ceil(log2(num_subarrays)));//the address contains the matched data +// num_do_b_subbank = tag_num_c_subarray; +// } +// +// deg_sa_mux_l1_non_assoc = 1; +// } +// +// deg_senseamp_muxing_non_associativity = deg_sa_mux_l1_non_assoc; +// +// if (fully_assoc || pure_cam) +// { +// num_act_mats_hor_dir = 1; +// num_act_mats_hor_dir_sl = num_mats_h_dir;//TODO: this is unnecessary, since search op, num_mats is used +// } +// else +// { +// num_act_mats_hor_dir = num_do_b_subbank / num_do_b_mat; +// if (g_ip->is_3d_mem && num_act_mats_hor_dir == 0) +// num_act_mats_hor_dir = 1; +// if (num_act_mats_hor_dir == 0) +// { +// return; +// } +// } +// +// //compute num_do_mat for tag +// if (is_tag) +// { +// if (!(fully_assoc || pure_cam)) +// { +// num_do_b_mat = g_ip->tag_assoc / num_act_mats_hor_dir; +// num_do_b_subbank = num_act_mats_hor_dir * num_do_b_mat; +// } +// } +// +// if ((g_ip->is_cache == false && is_main_mem == true) || (PAGE_MODE == 1 && is_dram)) +// { +// if (num_act_mats_hor_dir * num_do_b_mat * Ndsam_lev_1 * Ndsam_lev_2 != (int)g_ip->page_sz_bits) +// { +// return; +// } +// } +// +//// if (is_tag == false && g_ip->is_cache == true && !fully_assoc && !pure_cam && //TODO: TODO burst transfer should also apply to RAM arrays +// if (is_tag == false && g_ip->is_main_mem == true && +// num_act_mats_hor_dir*num_do_b_mat*Ndsam_lev_1*Ndsam_lev_2 < ((int) g_ip->out_w * (int) g_ip->burst_len * (int) g_ip->data_assoc)) +// { +// return; +// } +// +// if (num_act_mats_hor_dir > num_mats_h_dir) +// { +// return; +// } +// +// +// //compute di for mat subbank and bank +// if (!(fully_assoc ||pure_cam)) +// { +// if(!is_tag) +// { +// if(g_ip->fast_access == true) +// { +// num_di_b_mat = num_do_b_mat / g_ip->data_assoc; +// } +// else +// { +// num_di_b_mat = num_do_b_mat; +// } +// } +// else +// { +// num_di_b_mat = tagbits; +// } +// } +// else +// { +// if (fully_assoc) +// { +// num_di_b_mat = num_do_b_mat; +// //*num_subarrays/num_mats; bits per mat of CAM/FA is as same as cache, +// //but inside the mat wire tracks need to be reserved for search data bus +// num_si_b_mat = tagbits; +// } +// else +// { +// num_di_b_mat = tagbits; +// num_si_b_mat = tagbits;//*num_subarrays/num_mats; +// } +// +// } +// +// num_di_b_subbank = num_di_b_mat * num_act_mats_hor_dir;//normal cache or normal r/w for FA +// num_si_b_subbank = num_si_b_mat; //* num_act_mats_hor_dir_sl; inside the data is broadcast +// +// int num_addr_b_row_dec = _log2(num_r_subarray); +// if ((fully_assoc ||pure_cam)) +// num_addr_b_row_dec +=_log2(num_subarrays/num_mats); +// int number_subbanks = num_mats / num_act_mats_hor_dir; +// number_subbanks_decode = _log2(number_subbanks);//TODO: add log2(num_subarray_per_bank) to FA/CAM +// +// num_rw_ports = g_ip->num_rw_ports; +// num_rd_ports = g_ip->num_rd_ports; +// num_wr_ports = g_ip->num_wr_ports; +// num_se_rd_ports = g_ip->num_se_rd_ports; +// num_search_ports = g_ip->num_search_ports; +// +// if (is_dram && is_main_mem) +// { +// number_addr_bits_mat = MAX((unsigned int) num_addr_b_row_dec, +// _log2(deg_bl_muxing) + _log2(deg_sa_mux_l1_non_assoc) + _log2(Ndsam_lev_2)); +// if (g_ip->print_detail_debug) +// { +// cout << "parameter.cc: number_addr_bits_mat = " << num_addr_b_row_dec << endl; +// cout << "parameter.cc: num_addr_b_row_dec = " << num_addr_b_row_dec << endl; +// cout << "parameter.cc: num_addr_b_mux_sel = " << _log2(deg_bl_muxing) + _log2(deg_sa_mux_l1_non_assoc) + _log2(Ndsam_lev_2) << endl; +// } +// } +// else +// { +// number_addr_bits_mat = num_addr_b_row_dec + _log2(deg_bl_muxing) + +// _log2(deg_sa_mux_l1_non_assoc) + _log2(Ndsam_lev_2); +// } +// +// if (!(fully_assoc ||pure_cam)) +// { +// if (is_tag) +// { +// num_di_b_bank_per_port = tagbits; +// num_do_b_bank_per_port = g_ip->data_assoc; +// } +// else +// { +// num_di_b_bank_per_port = g_ip->out_w + g_ip->data_assoc; +// num_do_b_bank_per_port = g_ip->out_w; +// } +// } +// else +// { +// if (fully_assoc) +// { +// num_di_b_bank_per_port = g_ip->out_w + tagbits;//TODO: out_w or block_sz? +// num_si_b_bank_per_port = tagbits; +// num_do_b_bank_per_port = g_ip->out_w + tagbits; +// num_so_b_bank_per_port = g_ip->out_w; +// } +// else +// { +// num_di_b_bank_per_port = tagbits; +// num_si_b_bank_per_port = tagbits; +// num_do_b_bank_per_port = tagbits; +// num_so_b_bank_per_port = int(ceil(log2(num_r_subarray)) + ceil(log2(num_subarrays))); +// } +// } +// +// if ((!is_tag) && (g_ip->data_assoc > 1) && (!g_ip->fast_access)) +// { +// number_way_select_signals_mat = g_ip->data_assoc; +// } +// +// // add ECC adjustment to all data signals that traverse on H-trees. +// if (g_ip->add_ecc_b_ == true) +// { +// num_do_b_mat += (int) (ceil(num_do_b_mat / num_bits_per_ecc_b_)); +// num_di_b_mat += (int) (ceil(num_di_b_mat / num_bits_per_ecc_b_)); +// num_di_b_subbank += (int) (ceil(num_di_b_subbank / num_bits_per_ecc_b_)); +// num_do_b_subbank += (int) (ceil(num_do_b_subbank / num_bits_per_ecc_b_)); +// num_di_b_bank_per_port += (int) (ceil(num_di_b_bank_per_port / num_bits_per_ecc_b_)); +// num_do_b_bank_per_port += (int) (ceil(num_do_b_bank_per_port / num_bits_per_ecc_b_)); +// +// num_so_b_mat += (int) (ceil(num_so_b_mat / num_bits_per_ecc_b_)); +// num_si_b_mat += (int) (ceil(num_si_b_mat / num_bits_per_ecc_b_)); +// num_si_b_subbank += (int) (ceil(num_si_b_subbank / num_bits_per_ecc_b_)); +// num_so_b_subbank += (int) (ceil(num_so_b_subbank / num_bits_per_ecc_b_)); +// num_si_b_bank_per_port += (int) (ceil(num_si_b_bank_per_port / num_bits_per_ecc_b_)); +// num_so_b_bank_per_port += (int) (ceil(num_so_b_bank_per_port / num_bits_per_ecc_b_)); +// } +// +// is_valid = true; +//} diff --git a/T1/TP1/cacti-master/parameter.h b/T1/TP1/cacti-master/parameter.h new file mode 100644 index 0000000..2cbd49b --- /dev/null +++ b/T1/TP1/cacti-master/parameter.h @@ -0,0 +1,779 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#ifndef __PARAMETER_H__ +#define __PARAMETER_H__ + +#include "area.h" +#include "const.h" +#include "cacti_interface.h" +#include "io.h" + +// parameters which are functions of certain device technology +/** +class TechnologyParameter +{ + public: + class DeviceType + { + public: + double C_g_ideal; + double C_fringe; + double C_overlap; + double C_junc; // C_junc_area + double C_junc_sidewall; + double l_phy; + double l_elec; + double R_nch_on; + double R_pch_on; + double Vdd; + double Vth; + double Vcc_min;//allowed min vcc; for memory cell it is the lowest vcc for data retention. for logic it is the vcc to balance the leakage reduction and wakeup latency + double I_on_n; + double I_on_p; + double I_off_n; + double I_off_p; + double I_g_on_n; + double I_g_on_p; + double C_ox; + double t_ox; + double n_to_p_eff_curr_drv_ratio; + double long_channel_leakage_reduction; + double Mobility_n; + + DeviceType(): C_g_ideal(0), C_fringe(0), C_overlap(0), C_junc(0), + C_junc_sidewall(0), l_phy(0), l_elec(0), R_nch_on(0), R_pch_on(0), + Vdd(0), Vth(0), Vcc_min(0), + I_on_n(0), I_on_p(0), I_off_n(0), I_off_p(0),I_g_on_n(0),I_g_on_p(0), + C_ox(0), t_ox(0), n_to_p_eff_curr_drv_ratio(0), long_channel_leakage_reduction(0), + Mobility_n(0) { }; + void reset() + { + C_g_ideal = 0; + C_fringe = 0; + C_overlap = 0; + C_junc = 0; + l_phy = 0; + l_elec = 0; + R_nch_on = 0; + R_pch_on = 0; + Vdd = 0; + Vth = 0; + Vcc_min = 0; + I_on_n = 0; + I_on_p = 0; + I_off_n = 0; + I_off_p = 0; + I_g_on_n = 0; + I_g_on_p = 0; + C_ox = 0; + t_ox = 0; + n_to_p_eff_curr_drv_ratio = 0; + long_channel_leakage_reduction = 0; + Mobility_n = 0; + } + + void display(uint32_t indent = 0); + }; + class InterconnectType + { + public: + double pitch; + double R_per_um; + double C_per_um; + double horiz_dielectric_constant; + double vert_dielectric_constant; + double aspect_ratio; + double miller_value; + double ild_thickness; + + InterconnectType(): pitch(0), R_per_um(0), C_per_um(0) { }; + + void reset() + { + pitch = 0; + R_per_um = 0; + C_per_um = 0; + horiz_dielectric_constant = 0; + vert_dielectric_constant = 0; + aspect_ratio = 0; + miller_value = 0; + ild_thickness = 0; + } + + void display(uint32_t indent = 0); + }; + class MemoryType + { + public: + double b_w; + double b_h; + double cell_a_w; + double cell_pmos_w; + double cell_nmos_w; + double Vbitpre; + double Vbitfloating;//voltage when floating bitline is supported + + void reset() + { + b_w = 0; //fs and tech + b_h = 0; //fs and tech + cell_a_w = 0; // ram_cell_tech_type + cell_pmos_w = 0; //fs + cell_nmos_w = 0; + Vbitpre = 0; + Vbitfloating = 0; + } + + void display(uint32_t indent = 0); + }; + + class ScalingFactor + { + public: + double logic_scaling_co_eff; + double core_tx_density; + double long_channel_leakage_reduction; + + ScalingFactor(): logic_scaling_co_eff(0), core_tx_density(0), + long_channel_leakage_reduction(0) { }; + + void reset() + { + logic_scaling_co_eff= 0; + core_tx_density = 0; + long_channel_leakage_reduction= 0; + } + + void display(uint32_t indent = 0); + }; + + double ram_wl_stitching_overhead_; //fs + double min_w_nmos_; //fs + double max_w_nmos_; //fs + double max_w_nmos_dec; //fs+ ram_cell_tech_type + double unit_len_wire_del; //wire_inside_mat + double FO4; //fs + double kinv; //fs + double vpp; //input + double w_sense_en;//fs + double w_sense_n; //fs + double w_sense_p; //fs + double sense_delay; // input + double sense_dy_power; //input + double w_iso; //fs + double w_poly_contact; //fs + double spacing_poly_to_poly; //fs + double spacing_poly_to_contact;//fs + + //CACTI3DD TSV params + double tsv_parasitic_capacitance_fine; + double tsv_parasitic_resistance_fine; + double tsv_minimum_area_fine; + + double tsv_parasitic_capacitance_coarse; + double tsv_parasitic_resistance_coarse; + double tsv_minimum_area_coarse; + + //fs + double w_comp_inv_p1; + double w_comp_inv_p2; + double w_comp_inv_p3; + double w_comp_inv_n1; + double w_comp_inv_n2; + double w_comp_inv_n3; + double w_eval_inv_p; + double w_eval_inv_n; + double w_comp_n; + double w_comp_p; + + double dram_cell_I_on; //ram_cell_tech_type + double dram_cell_Vdd; + double dram_cell_I_off_worst_case_len_temp; + double dram_cell_C; + double gm_sense_amp_latch; // depends on many things + + double w_nmos_b_mux;//fs + double w_nmos_sa_mux;//fs + double w_pmos_bl_precharge;//fs + double w_pmos_bl_eq;//fs + double MIN_GAP_BET_P_AND_N_DIFFS;//fs + double MIN_GAP_BET_SAME_TYPE_DIFFS;//fs + double HPOWERRAIL;//fs + double cell_h_def;//fs + + double chip_layout_overhead; //input + double macro_layout_overhead; + double sckt_co_eff; + + double fringe_cap;//input + + uint64_t h_dec; //ram_cell_tech_type + + DeviceType sram_cell; // SRAM cell transistor + DeviceType dram_acc; // DRAM access transistor + DeviceType dram_wl; // DRAM wordline transistor + DeviceType peri_global; // peripheral global + DeviceType cam_cell; // SRAM cell transistor + + DeviceType sleep_tx; // Sleep transistor cell transistor + + InterconnectType wire_local; + InterconnectType wire_inside_mat; + InterconnectType wire_outside_mat; + + ScalingFactor scaling_factor; + + MemoryType sram; + MemoryType dram; + MemoryType cam; + + void display(uint32_t indent = 0); + + void reset() + { + dram_cell_Vdd = 0; + dram_cell_I_on = 0; + dram_cell_C = 0; + vpp = 0; + + sense_delay = 0; + sense_dy_power = 0; + fringe_cap = 0; +// horiz_dielectric_constant = 0; +// vert_dielectric_constant = 0; +// aspect_ratio = 0; +// miller_value = 0; +// ild_thickness = 0; + + dram_cell_I_off_worst_case_len_temp = 0; + + sram_cell.reset(); + dram_acc.reset(); + dram_wl.reset(); + peri_global.reset(); + cam_cell.reset(); + sleep_tx.reset(); + + scaling_factor.reset(); + + wire_local.reset(); + wire_inside_mat.reset(); + wire_outside_mat.reset(); + + sram.reset(); + dram.reset(); + cam.reset(); + + chip_layout_overhead = 0; + macro_layout_overhead = 0; + sckt_co_eff = 0; + } +}; + +**/ +//ali +class DeviceType +{ + public: + double C_g_ideal; + double C_fringe; + double C_overlap; + double C_junc; // C_junc_area + double C_junc_sidewall; + double l_phy; + double l_elec; + double R_nch_on; + double R_pch_on; + double Vdd; + double Vth; + double Vcc_min;//allowed min vcc; for memory cell it is the lowest vcc for data retention. for logic it is the vcc to balance the leakage reduction and wakeup latency + double I_on_n; + double I_on_p; + double I_off_n; + double I_off_p; + double I_g_on_n; + double I_g_on_p; + double C_ox; + double t_ox; + double n_to_p_eff_curr_drv_ratio; + double long_channel_leakage_reduction; + double Mobility_n; + + // auxilary parameters + double Vdsat; + double gmp_to_gmn_multiplier; + + + DeviceType(): C_g_ideal(0), C_fringe(0), C_overlap(0), C_junc(0), + C_junc_sidewall(0), l_phy(0), l_elec(0), R_nch_on(0), R_pch_on(0), + Vdd(0), Vth(0), Vcc_min(0), + I_on_n(0), I_on_p(0), I_off_n(0), I_off_p(0),I_g_on_n(0),I_g_on_p(0), + C_ox(0), t_ox(0), n_to_p_eff_curr_drv_ratio(0), long_channel_leakage_reduction(0), + Mobility_n(0) { reset();}; + + void assign(const string & in_file, int tech_flavor, unsigned int temp); + void interpolate(double alpha, const DeviceType& dev1, const DeviceType& dev2); + void reset() + { + C_g_ideal=0; + C_fringe=0; + C_overlap=0; + C_junc=0; // C_junc_area + C_junc_sidewall=0; + l_phy=0; + l_elec=0; + R_nch_on=0; + R_pch_on=0; + Vdd=0; + Vth=0; + Vcc_min=0;//allowed min vcc, for memory cell it is the lowest vcc for data retention. for logic it is the vcc to balance the leakage reduction and wakeup latency + I_on_n=0; + I_on_p=0; + I_off_n=0; + I_off_p=0; + I_g_on_n=0; + I_g_on_p=0; + C_ox=0; + t_ox=0; + n_to_p_eff_curr_drv_ratio=0; + long_channel_leakage_reduction=0; + Mobility_n=0; + + // auxilary parameters + Vdsat=0; + gmp_to_gmn_multiplier=0; + } + + void display(uint32_t indent = 0) const; + bool isEqual(const DeviceType & dev); +}; + +class InterconnectType +{ + public: + double pitch; + double R_per_um; + double C_per_um; + double horiz_dielectric_constant; + double vert_dielectric_constant; + double aspect_ratio; + double miller_value; + double ild_thickness; + + //auxilary parameters + double wire_width; + double wire_thickness; + double wire_spacing; + double barrier_thickness; + double dishing_thickness; + double alpha_scatter; + double fringe_cap; + + + InterconnectType(): pitch(0), R_per_um(0), C_per_um(0) { reset(); }; + + void reset() + { + pitch=0; + R_per_um=0; + C_per_um=0; + horiz_dielectric_constant=0; + vert_dielectric_constant=0; + aspect_ratio=0; + miller_value=0; + ild_thickness=0; + + //auxilary parameters + wire_width=0; + wire_thickness=0; + wire_spacing=0; + barrier_thickness=0; + dishing_thickness=0; + alpha_scatter=0; + fringe_cap=0; + + } + void assign(const string & in_file, int projection_type, int tech_flavor); + void interpolate(double alpha, const InterconnectType & inter1, const InterconnectType & inter2); + void display(uint32_t indent = 0); + bool isEqual(const InterconnectType & inter); +}; + +class MemoryType +{ + public: + double b_w; + double b_h; + double cell_a_w; + double cell_pmos_w; + double cell_nmos_w; + double Vbitpre; + double Vbitfloating;//voltage when floating bitline is supported + + // needed to calculate b_w b_h + double area_cell; + double asp_ratio_cell; + + MemoryType(){reset();} + void reset() + { + b_w=0; + b_h=0; + cell_a_w=0; + cell_pmos_w=0; + cell_nmos_w=0; + Vbitpre=0; + Vbitfloating=0; + } + void assign(const string & in_file, int tech_flavor, int cell_type); // sram(0),cam(1),dram(2) + void interpolate(double alpha, const MemoryType& dev1, const MemoryType& dev2); + void display(uint32_t indent = 0) const; + bool isEqual(const MemoryType & mem); +}; + +class ScalingFactor +{ + public: + double logic_scaling_co_eff; + double core_tx_density; + double long_channel_leakage_reduction; + + ScalingFactor(): logic_scaling_co_eff(0), core_tx_density(0), + long_channel_leakage_reduction(0) { reset(); }; + + void reset() + { + logic_scaling_co_eff=0; + core_tx_density=0; + long_channel_leakage_reduction=0; + } + void assign(const string & in_file); + void interpolate(double alpha, const ScalingFactor& dev1, const ScalingFactor& dev2); + void display(uint32_t indent = 0); + bool isEqual(const ScalingFactor & scal); +}; + +// parameters which are functions of certain device technology +class TechnologyParameter +{ + public: + double ram_wl_stitching_overhead_; //fs + double min_w_nmos_; //fs + double max_w_nmos_; //fs + double max_w_nmos_dec; //fs+ ram_cell_tech_type + double unit_len_wire_del; //wire_inside_mat + double FO4; //fs + double kinv; //fs + double vpp; //input + double w_sense_en;//fs + double w_sense_n; //fs + double w_sense_p; //fs + double sense_delay; // input + double sense_dy_power; //input + double w_iso; //fs + double w_poly_contact; //fs + double spacing_poly_to_poly; //fs + double spacing_poly_to_contact;//fs + + //CACTI3D auxilary variables + double tsv_pitch; + double tsv_diameter; + double tsv_length; + double tsv_dielec_thickness; + double tsv_contact_resistance; + double tsv_depletion_width; + double tsv_liner_dielectric_constant; + + //CACTI3DD TSV params + + double tsv_parasitic_capacitance_fine; + double tsv_parasitic_resistance_fine; + double tsv_minimum_area_fine; + + double tsv_parasitic_capacitance_coarse; + double tsv_parasitic_resistance_coarse; + double tsv_minimum_area_coarse; + + //fs + double w_comp_inv_p1; + double w_comp_inv_p2; + double w_comp_inv_p3; + double w_comp_inv_n1; + double w_comp_inv_n2; + double w_comp_inv_n3; + double w_eval_inv_p; + double w_eval_inv_n; + double w_comp_n; + double w_comp_p; + + double dram_cell_I_on; //ram_cell_tech_type + double dram_cell_Vdd; + double dram_cell_I_off_worst_case_len_temp; + double dram_cell_C; + double gm_sense_amp_latch; // depends on many things + + double w_nmos_b_mux;//fs + double w_nmos_sa_mux;//fs + double w_pmos_bl_precharge;//fs + double w_pmos_bl_eq;//fs + double MIN_GAP_BET_P_AND_N_DIFFS;//fs + double MIN_GAP_BET_SAME_TYPE_DIFFS;//fs + double HPOWERRAIL;//fs + double cell_h_def;//fs + + double chip_layout_overhead; //input + double macro_layout_overhead; + double sckt_co_eff; + + double fringe_cap;//input + + uint64_t h_dec; //ram_cell_tech_type + + DeviceType sram_cell; // SRAM cell transistor + DeviceType dram_acc; // DRAM access transistor + DeviceType dram_wl; // DRAM wordline transistor + DeviceType peri_global; // peripheral global + DeviceType cam_cell; // SRAM cell transistor + + DeviceType sleep_tx; // Sleep transistor cell transistor + + InterconnectType wire_local; + InterconnectType wire_inside_mat; + InterconnectType wire_outside_mat; + + ScalingFactor scaling_factor; + + MemoryType sram; + MemoryType dram; + MemoryType cam; + + void display(uint32_t indent = 0); + bool isEqual(const TechnologyParameter & tech); + + + void find_upper_and_lower_tech(double technology, int &tech_lo, string& in_file_lo, int &tech_hi, string& in_file_hi); + void assign_tsv(const string & in_file); + void init(double technology, bool is_tag); + TechnologyParameter() + { + reset(); + } + void reset() + { + ram_wl_stitching_overhead_ =0; //fs + min_w_nmos_ =0; //fs + max_w_nmos_ =0; //fs + max_w_nmos_dec =0; //fs+ ram_cell_tech_type + unit_len_wire_del =0; //wire_inside_mat + FO4 =0; //fs + kinv =0; //fs + vpp =0; //input + w_sense_en =0;//fs + w_sense_n =0; //fs + w_sense_p =0; //fs + sense_delay =0; // input + sense_dy_power =0; //input + w_iso =0; //fs + w_poly_contact =0; //fs + spacing_poly_to_poly =0; //fs + spacing_poly_to_contact =0;//fs + + //CACTI3D auxilary variables + tsv_pitch =0; + tsv_diameter =0; + tsv_length =0; + tsv_dielec_thickness =0; + tsv_contact_resistance =0; + tsv_depletion_width =0; + tsv_liner_dielectric_constant =0; + + //CACTI3DD TSV params + + tsv_parasitic_capacitance_fine =0; + tsv_parasitic_resistance_fine =0; + tsv_minimum_area_fine =0; + + tsv_parasitic_capacitance_coarse =0; + tsv_parasitic_resistance_coarse =0; + tsv_minimum_area_coarse =0; + + //fs + w_comp_inv_p1 =0; + w_comp_inv_p2 =0; + w_comp_inv_p3 =0; + w_comp_inv_n1 =0; + w_comp_inv_n2 =0; + w_comp_inv_n3 =0; + w_eval_inv_p =0; + w_eval_inv_n =0; + w_comp_n =0; + w_comp_p =0; + + dram_cell_I_on =0; //ram_cell_tech_type + dram_cell_Vdd =0; + dram_cell_I_off_worst_case_len_temp =0; + dram_cell_C =0; + gm_sense_amp_latch =0; // depends on many things + + w_nmos_b_mux =0;//fs + w_nmos_sa_mux =0;//fs + w_pmos_bl_precharge =0;//fs + w_pmos_bl_eq =0;//fs + MIN_GAP_BET_P_AND_N_DIFFS =0;//fs + MIN_GAP_BET_SAME_TYPE_DIFFS =0;//fs + HPOWERRAIL =0;//fs + cell_h_def =0;//fs + + chip_layout_overhead = 0; + macro_layout_overhead = 0; + sckt_co_eff = 0; + + fringe_cap=0;//input + + h_dec=0; //ram_cell_tech_type + + sram_cell.reset(); + dram_acc.reset(); + dram_wl.reset(); + peri_global.reset(); + cam_cell.reset(); + sleep_tx.reset(); + + scaling_factor.reset(); + + wire_local.reset(); + wire_inside_mat.reset(); + wire_outside_mat.reset(); + + sram.reset(); + dram.reset(); + cam.reset(); + + + } +}; + +//end ali + +class DynamicParameter +{ + public: + bool is_tag; + bool pure_ram; + bool pure_cam; + bool fully_assoc; + int tagbits; + int num_subarrays; // only for leakage computation -- the number of subarrays per bank + int num_mats; // only for leakage computation -- the number of mats per bank + double Nspd; + int Ndwl; + int Ndbl; + int Ndcm; + int deg_bl_muxing; + int deg_senseamp_muxing_non_associativity; + int Ndsam_lev_1; + int Ndsam_lev_2; + Wire_type wtype; // merge from cacti-7 code to cacti3d code. + + int number_addr_bits_mat; // per port + int number_subbanks_decode; // per_port + int num_di_b_bank_per_port; + int num_do_b_bank_per_port; + int num_di_b_mat; + int num_do_b_mat; + int num_di_b_subbank; + int num_do_b_subbank; + + int num_si_b_mat; + int num_so_b_mat; + int num_si_b_subbank; + int num_so_b_subbank; + int num_si_b_bank_per_port; + int num_so_b_bank_per_port; + + int number_way_select_signals_mat; + int num_act_mats_hor_dir; + + int num_act_mats_hor_dir_sl; + bool is_dram; + double V_b_sense; + unsigned int num_r_subarray; + unsigned int num_c_subarray; + int tag_num_r_subarray;//: fully associative cache tag and data must be computed together, data and tag must be separate + int tag_num_c_subarray; + int data_num_r_subarray; + int data_num_c_subarray; + int num_mats_h_dir; + int num_mats_v_dir; + uint32_t ram_cell_tech_type; + double dram_refresh_period; + + DynamicParameter(); + DynamicParameter( + bool is_tag_, + int pure_ram_, + int pure_cam_, + double Nspd_, + unsigned int Ndwl_, + unsigned int Ndbl_, + unsigned int Ndcm_, + unsigned int Ndsam_lev_1_, + unsigned int Ndsam_lev_2_, + Wire_type wt, // merged from cacti-7 to cacti3d + bool is_main_mem_); + + int use_inp_params; + unsigned int num_rw_ports; + unsigned int num_rd_ports; + unsigned int num_wr_ports; + unsigned int num_se_rd_ports; // number of single ended read ports + unsigned int num_search_ports; + unsigned int out_w;// == nr_bits_out + bool is_main_mem; + Area cell, cam_cell;//cell is the sram_cell in both nomal cache/ram and FA. + bool is_valid; + private: + void ECC_adjustment(); + void init_CAM(); + void init_FA(); + bool calc_subarr_rc(unsigned int cap); //to calculate and check subarray rows and columns +}; + + + +extern InputParameter * g_ip; +extern TechnologyParameter g_tp; + +#endif + diff --git a/T1/TP1/cacti-master/powergating.cc b/T1/TP1/cacti-master/powergating.cc new file mode 100644 index 0000000..e0fbd90 --- /dev/null +++ b/T1/TP1/cacti-master/powergating.cc @@ -0,0 +1,129 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + +#include "area.h" +#include "powergating.h" +#include "parameter.h" +#include +#include +#include + +using namespace std; + +//TODO: although DTSN is used,since for memory array, the number of sleep txs +//is related to the number of rows and cols. so All calculations are still base on +//single sleep tx cases + +Sleep_tx::Sleep_tx( + double _perf_with_sleep_tx, + double _active_Isat,//of circuit block, not sleep tx + bool _is_footer, + double _c_circuit_wakeup, + double _V_delta, + int _num_sleep_tx, +// double _vt_circuit, +// double _vt_sleep_tx, +// double _mobility,//of sleep tx +// double _c_ox,//of sleep tx + const Area & cell_) +:perf_with_sleep_tx(_perf_with_sleep_tx), + active_Isat(_active_Isat), + is_footer(_is_footer), + c_circuit_wakeup(_c_circuit_wakeup), + V_delta(_V_delta), + num_sleep_tx(_num_sleep_tx), +// vt_circuit(_vt_circuit), +// vt_sleep_tx(_vt_sleep_tx), +// mobility(_mobility), +// c_ox(_c_ox) + cell(cell_), + is_sleep_tx(true) +{ + + //a single sleep tx in a network + double raw_area, raw_width, raw_hight; + double p_to_n_sz_ratio = pmos_to_nmos_sz_ratio(false, false, true); + vdd = g_tp.peri_global.Vdd; + vt_circuit = g_tp.peri_global.Vth; + vt_sleep_tx = g_tp.sleep_tx.Vth; + mobility = g_tp.sleep_tx.Mobility_n; + c_ox = g_tp.sleep_tx.C_ox; + + width = active_Isat/(perf_with_sleep_tx*mobility*c_ox*(vdd-vt_circuit)*(vdd-vt_sleep_tx))*g_ip->F_sz_um;//W/L uses physical numbers + width /= num_sleep_tx; + + raw_area = compute_gate_area(INV, 1, width, p_to_n_sz_ratio*width, cell.w*2)/2; //Only single device, assuming device is laide on the side + raw_width = cell.w; + raw_hight = raw_area/cell.w; + area.set_h(raw_hight); + area.set_w(raw_width); + + compute_penalty(); + +} + +double Sleep_tx::compute_penalty() +{ + //V_delta = VDD - VCCmin nothing to do with threshold of sleep tx. Although it might be OK to use sleep tx to control the V_delta +// double c_load; + double p_to_n_sz_ratio = pmos_to_nmos_sz_ratio(false, false, true); + + if (is_footer) + { + c_intrinsic_sleep = drain_C_(width, NCH, 1, 1, area.h, false, false, false,is_sleep_tx); +// V_delta = _V_delta; + wakeup_delay = (c_circuit_wakeup + c_intrinsic_sleep)*V_delta/(simplified_nmos_Isat(width, false, false, false,is_sleep_tx)/Ilinear_to_Isat_ratio); + wakeup_power.readOp.dynamic = (c_circuit_wakeup + c_intrinsic_sleep)*g_tp.sram_cell.Vdd*V_delta; + //no 0.5 because the half of the energy spend in entering sleep and half of the energy will be spent in waking up. And they are pairs + } + else + { + c_intrinsic_sleep = drain_C_(width*p_to_n_sz_ratio, PCH, 1, 1, area.h, false, false, false,is_sleep_tx); +// V_delta = _V_delta; + wakeup_delay = (c_circuit_wakeup + c_intrinsic_sleep)*V_delta/(simplified_pmos_Isat(width, false, false, false,is_sleep_tx)/Ilinear_to_Isat_ratio); + wakeup_power.readOp.dynamic = (c_circuit_wakeup + c_intrinsic_sleep)*g_tp.sram_cell.Vdd*V_delta; + } + + return wakeup_delay; + +/* + The number of cycles in the wake-up latency set the constraint on the + minimum number of idle clock cycles needed before a processor + can enter in the corresponding sleep mode without any wakeup + overhead. + + If the circuit is half way to sleep then waken up, it is still OK + just the wakeup latency will be shorter than the wakeup time from full asleep. + So, the sleep time and energy does not matter +*/ + +} + diff --git a/T1/TP1/cacti-master/powergating.h b/T1/TP1/cacti-master/powergating.h new file mode 100644 index 0000000..c453399 --- /dev/null +++ b/T1/TP1/cacti-master/powergating.h @@ -0,0 +1,86 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + +#ifndef POWERGATING_H_ +#define POWERGATING_H_ + +#include "component.h" + +class Sleep_tx : public Component +{ +public: + Sleep_tx( + double _perf_with_sleep_tx, + double _active_Isat,//of circuit block, not sleep tx + bool _is_footer, + double _c_circuit_wakeup, + double _V_delta, + int _num_sleep_tx, + // double _vt_circuit, + // double _vt_sleep_tx, + // double _mobility,//of sleep tx + // double _c_ox,//of sleep tx + const Area & cell_); + + double perf_with_sleep_tx; + double active_Isat; + bool is_footer; + + double vt_circuit; + double vt_sleep_tx; + double vdd;// of circuit block not sleep tx + double mobility;//of sleep tx + double c_ox; + double width; + double c_circuit_wakeup; + double c_intrinsic_sleep; + double delay, wakeup_delay; + powerDef power, wakeup_power; +// double c_circuit_sleep; +// double sleep_delay; +// powerDef sleep_power; + double V_delta; + + int num_sleep_tx; + + const Area & cell; + bool is_sleep_tx; + + + +// void compute_area(); + double compute_penalty(); // return outrisetime + + void leakage_feedback(double temperature){}; + ~Sleep_tx(){}; +}; + +#endif /* POWERGATING_H_ */ diff --git a/T1/TP1/cacti-master/regression.test b/T1/TP1/cacti-master/regression.test new file mode 100644 index 0000000..af757b7 --- /dev/null +++ b/T1/TP1/cacti-master/regression.test @@ -0,0 +1,45 @@ +cache 4 types +./cacti -infile test_configs/cache1.cfg #L1 2-way 32K +./cacti -infile test_configs/cache2.cfg #L2 4-way 256K +./cacti -infile test_configs/cache3.cfg #L3 8-way 16M +./cacti -infile test_configs/cache4.cfg #L1 full-asso 4K with single search port +RAM 4 types +./cacti -infile test_configs/ram1.cfg # 16M +./cacti -infile test_configs/ram2.cfg # itrs-hp itrs-lstp +./cacti -infile test_configs/ram3.cfg # two banks no-ecc 128M +./cacti -infile test_configs/ram4.cfg # 32K 2-way +CAM 4 types +./cacti -infile test_configs/cam1.cfg # same as ram1 but ram->cam and full-asso +./cacti -infile test_configs/cam2.cfg # same as cam1 with line size = 128 +./cacti -infile test_configs/cam3.cfg # cam1 for 40nm technology +./cacti -infile test_configs/cam4.cfg # ca1 with exclusive read and write port +NUCA 4 types +./cacti -infile test_configs/nuca1.cfg # +./cacti -infile test_configs/nuca2.cfg +./cacti -infile test_configs/nuca3.cfg +./cacti -infile test_configs/nuca3.cfg +eDRAM 4 types +./cacti -infile test_configs/edram1.cfg # +./cacti -infile test_configs/edram2.cfg +./cacti -infile test_configs/edram3.cfg +./cacti -infile test_configs/edram4.cfg +DRAM 4 types +./cacti -infile test_configs/dram1.cfg # +./cacti -infile test_configs/dram2.cfg +./cacti -infile test_configs/dram3.cfg +./cacti -infile test_configs/dram4.cfg +IO 4 different parameters +./cacti -infile test_configs/io1.cfg # +./cacti -infile test_configs/io2.cfg +./cacti -infile test_configs/io3.cfg +./cacti -infile test_configs/io4.cfg +Power gating 4 types +./cacti -infile test_configs/power_gate1.cfg +./cacti -infile test_configs/power_gate2.cfg +./cacti -infile test_configs/power_gate3.cfg +./cacti -infile test_configs/power_gate4.cfg +3D 4 types +./cacti -infile test_configs/3D1.cfg +./cacti -infile test_configs/3D2.cfg +./cacti -infile test_configs/3D3.cfg +./cacti -infile test_configs/3D4.cfg \ No newline at end of file diff --git a/T1/TP1/cacti-master/router.cc b/T1/TP1/cacti-master/router.cc new file mode 100644 index 0000000..929c773 --- /dev/null +++ b/T1/TP1/cacti-master/router.cc @@ -0,0 +1,311 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#include "router.h" + +Router::Router( + double flit_size_, + double vc_buf, /* vc size = vc_buffer_size * flit_size */ + double vc_c, + /*TechnologyParameter::*/DeviceType *dt, + double I_, + double O_, + double M_ + ):flit_size(flit_size_), + deviceType(dt), + I(I_), + O(O_), + M(M_) +{ + vc_buffer_size = vc_buf; + vc_count = vc_c; + min_w_pmos = deviceType->n_to_p_eff_curr_drv_ratio*g_tp.min_w_nmos_; + double technology = g_ip->F_sz_um; + + Vdd = dt->Vdd; + + /*Crossbar parameters. Transmisson gate is employed for connector*/ + NTtr = 10*technology*1e-6/2; /*Transmission gate's nmos tr. length*/ + PTtr = 20*technology*1e-6/2; /* pmos tr. length*/ + wt = 15*technology*1e-6/2; /*track width*/ + ht = 15*technology*1e-6/2; /*track height*/ +// I = 5; /*Number of crossbar input ports*/ +// O = 5; /*Number of crossbar output ports*/ + NTi = 12.5*technology*1e-6/2; + PTi = 25*technology*1e-6/2; + + NTid = 60*technology*1e-6/2; //m + PTid = 120*technology*1e-6/2; // m + NTod = 60*technology*1e-6/2; // m + PTod = 120*technology*1e-6/2; // m + + calc_router_parameters(); +} + +Router::~Router(){} + + +double //wire cap with triple spacing +Router::Cw3(double length) { + Wire wc(g_ip->wt, length, 1, 3, 3); + return (wc.wire_cap(length)); +} + +/*Function to calculate the gate capacitance*/ +double +Router::gate_cap(double w) { + return (double) gate_C (w*1e6 /*u*/, 0); +} + +/*Function to calculate the diffusion capacitance*/ +double +Router::diff_cap(double w, int type /*0 for n-mos and 1 for p-mos*/, + double s /*number of stacking transistors*/) { + return (double) drain_C_(w*1e6 /*u*/, type, (int) s, 1, g_tp.cell_h_def); +} + + +/*crossbar related functions */ + +// Model for simple transmission gate +double +Router::transmission_buf_inpcap() { + return diff_cap(NTtr, 0, 1)+diff_cap(PTtr, 1, 1); +} + +double +Router::transmission_buf_outcap() { + return diff_cap(NTtr, 0, 1)+diff_cap(PTtr, 1, 1); +} + +double +Router::transmission_buf_ctrcap() { + return gate_cap(NTtr)+gate_cap(PTtr); +} + +double +Router::crossbar_inpline() { + return (Cw3(O*flit_size*wt) + O*transmission_buf_inpcap() + gate_cap(NTid) + + gate_cap(PTid) + diff_cap(NTid, 0, 1) + diff_cap(PTid, 1, 1)); +} + +double +Router::crossbar_outline() { + return (Cw3(I*flit_size*ht) + I*transmission_buf_outcap() + gate_cap(NTod) + + gate_cap(PTod) + diff_cap(NTod, 0, 1) + diff_cap(PTod, 1, 1)); +} + +double +Router::crossbar_ctrline() { + return (Cw3(0.5*O*flit_size*wt) + flit_size*transmission_buf_ctrcap() + + diff_cap(NTi, 0, 1) + diff_cap(PTi, 1, 1) + + gate_cap(NTi) + gate_cap(PTi)); +} + +double +Router::tr_crossbar_power() { + return (crossbar_inpline()*Vdd*Vdd*flit_size/2 + + crossbar_outline()*Vdd*Vdd*flit_size/2)*2; +} + +void Router::buffer_stats() +{ + DynamicParameter dyn_p; + dyn_p.is_tag = false; + dyn_p.pure_cam = false; + dyn_p.fully_assoc = false; + dyn_p.pure_ram = true; + dyn_p.is_dram = false; + dyn_p.is_main_mem = false; + dyn_p.num_subarrays = 1; + dyn_p.num_mats = 1; + dyn_p.Ndbl = 1; + dyn_p.Ndwl = 1; + dyn_p.Nspd = 1; + dyn_p.deg_bl_muxing = 1; + dyn_p.deg_senseamp_muxing_non_associativity = 1; + dyn_p.Ndsam_lev_1 = 1; + dyn_p.Ndsam_lev_2 = 1; + dyn_p.Ndcm = 1; + dyn_p.number_addr_bits_mat = 8; + dyn_p.number_way_select_signals_mat = 1; + dyn_p.number_subbanks_decode = 0; + dyn_p.num_act_mats_hor_dir = 1; + dyn_p.V_b_sense = Vdd; // FIXME check power calc. + dyn_p.ram_cell_tech_type = 0; + dyn_p.num_r_subarray = (int) vc_buffer_size; + dyn_p.num_c_subarray = (int) flit_size * (int) vc_count; + dyn_p.num_mats_h_dir = 1; + dyn_p.num_mats_v_dir = 1; + dyn_p.num_do_b_subbank = (int)flit_size; + dyn_p.num_di_b_subbank = (int)flit_size; + dyn_p.num_do_b_mat = (int) flit_size; + dyn_p.num_di_b_mat = (int) flit_size; + dyn_p.num_do_b_mat = (int) flit_size; + dyn_p.num_di_b_mat = (int) flit_size; + dyn_p.num_do_b_bank_per_port = (int) flit_size; + dyn_p.num_di_b_bank_per_port = (int) flit_size; + dyn_p.out_w = (int) flit_size; + + dyn_p.use_inp_params = 1; + dyn_p.num_wr_ports = (unsigned int) vc_count; + dyn_p.num_rd_ports = 1;//(unsigned int) vc_count;//based on Bill Dally's book + dyn_p.num_rw_ports = 0; + dyn_p.num_se_rd_ports =0; + dyn_p.num_search_ports =0; + + + + dyn_p.cell.h = g_tp.sram.b_h + 2 * g_tp.wire_outside_mat.pitch * (dyn_p.num_wr_ports + + dyn_p.num_rw_ports - 1 + dyn_p.num_rd_ports); + dyn_p.cell.w = g_tp.sram.b_w + 2 * g_tp.wire_outside_mat.pitch * (dyn_p.num_rw_ports - 1 + + (dyn_p.num_rd_ports - dyn_p.num_se_rd_ports) + + dyn_p.num_wr_ports) + g_tp.wire_outside_mat.pitch * dyn_p.num_se_rd_ports; + + Mat buff(dyn_p); + buff.compute_delays(0); + buff.compute_power_energy(); + buffer.power.readOp = buff.power.readOp; + buffer.power.writeOp = buffer.power.readOp; //FIXME + buffer.area = buff.area; +} + + + + void +Router::cb_stats () +{ + if (1) { + Crossbar c_b(I, O, flit_size); + c_b.compute_power(); + crossbar.delay = c_b.delay; + crossbar.power.readOp.dynamic = c_b.power.readOp.dynamic; + crossbar.power.readOp.leakage = c_b.power.readOp.leakage; + crossbar.power.readOp.gate_leakage = c_b.power.readOp.gate_leakage; + crossbar.area = c_b.area; +// c_b.print_crossbar(); + } + else { + crossbar.power.readOp.dynamic = tr_crossbar_power(); + crossbar.power.readOp.leakage = flit_size * I * O * + cmos_Isub_leakage(NTtr*g_tp.min_w_nmos_, PTtr*min_w_pmos, 1, tg); + crossbar.power.readOp.gate_leakage = flit_size * I * O * + cmos_Ig_leakage(NTtr*g_tp.min_w_nmos_, PTtr*min_w_pmos, 1, tg); + } +} + +void +Router::get_router_power() +{ + /* calculate buffer stats */ + buffer_stats(); + + /* calculate cross-bar stats */ + cb_stats(); + + /* calculate arbiter stats */ + Arbiter vcarb(vc_count, flit_size, buffer.area.w); + Arbiter cbarb(I, flit_size, crossbar.area.w); + vcarb.compute_power(); + cbarb.compute_power(); + arbiter.power.readOp.dynamic = vcarb.power.readOp.dynamic * I + + cbarb.power.readOp.dynamic * O; + arbiter.power.readOp.leakage = vcarb.power.readOp.leakage * I + + cbarb.power.readOp.leakage * O; + arbiter.power.readOp.gate_leakage = vcarb.power.readOp.gate_leakage * I + + cbarb.power.readOp.gate_leakage * O; + +// arb_stats(); + power.readOp.dynamic = ((buffer.power.readOp.dynamic+buffer.power.writeOp.dynamic) + + crossbar.power.readOp.dynamic + + arbiter.power.readOp.dynamic)*MIN(I, O)*M; + double pppm_t[4] = {1,I,I,1}; + power = power + (buffer.power*pppm_t + crossbar.power + arbiter.power)*pppm_lkg; + +} + + void +Router::get_router_delay () +{ + FREQUENCY=5; // move this to config file --TODO + cycle_time = (1/(double)FREQUENCY)*1e3; //ps + delay = 4; + max_cyc = 17 * g_tp.FO4; //s + max_cyc *= 1e12; //ps + if (cycle_time < max_cyc) { + FREQUENCY = (1/max_cyc)*1e3; //GHz + } +} + + void +Router::get_router_area() +{ + area.h = I*buffer.area.h; + area.w = buffer.area.w+crossbar.area.w; +} + + void +Router::calc_router_parameters() +{ + /* calculate router frequency and pipeline cycles */ + get_router_delay(); + + /* router power stats */ + get_router_power(); + + /* area stats */ + get_router_area(); +} + + void +Router::print_router() +{ + cout << "\n\nRouter stats:\n"; + cout << "\tRouter Area - "<< area.get_area()*1e-6<<"(mm^2)\n"; + cout << "\tMaximum possible network frequency - " << (1/max_cyc)*1e3 << "GHz\n"; + cout << "\tNetwork frequency - " << FREQUENCY <<" GHz\n"; + cout << "\tNo. of Virtual channels - " << vc_count << "\n"; + cout << "\tNo. of pipeline stages - " << delay << endl; + cout << "\tLink bandwidth - " << flit_size << " (bits)\n"; + cout << "\tNo. of buffer entries per virtual channel - "<< vc_buffer_size << "\n"; + cout << "\tSimple buffer Area - "<< buffer.area.get_area()*1e-6<<"(mm^2)\n"; + cout << "\tSimple buffer access (Read) - " << buffer.power.readOp.dynamic * 1e9 <<" (nJ)\n"; + cout << "\tSimple buffer leakage - " << buffer.power.readOp.leakage * 1e3 <<" (mW)\n"; + cout << "\tCrossbar Area - "<< crossbar.area.get_area()*1e-6<<"(mm^2)\n"; + cout << "\tCross bar access energy - " << crossbar.power.readOp.dynamic * 1e9<<" (nJ)\n"; + cout << "\tCross bar leakage power - " << crossbar.power.readOp.leakage * 1e3<<" (mW)\n"; + cout << "\tArbiter access energy (VC arb + Crossbar arb) - "< +#include +#include "basic_circuit.h" +#include "cacti_interface.h" +#include "component.h" +#include "mat.h" +#include "parameter.h" +#include "wire.h" +#include "crossbar.h" +#include "arbiter.h" + + + +class Router : public Component +{ + public: + Router( + double flit_size_, + double vc_buf, /* vc size = vc_buffer_size * flit_size */ + double vc_count, + /*TechnologyParameter::*/DeviceType *dt = &(g_tp.peri_global), + double I_ = 5, + double O_ = 5, + double M_ = 0.6); + ~Router(); + + + void print_router(); + + Component arbiter, crossbar, buffer; + + double cycle_time, max_cyc; + double flit_size; + double vc_count; + double vc_buffer_size; /* vc size = vc_buffer_size * flit_size */ + + private: + /*TechnologyParameter::*/DeviceType *deviceType; + double FREQUENCY; // move this to config file --TODO + double Cw3(double len); + double gate_cap(double w); + double diff_cap(double w, int type /*0 for n-mos and 1 for p-mos*/, double stack); + enum Wire_type wtype; + enum Wire_placement wire_placement; + //corssbar + double NTtr, PTtr, wt, ht, I, O, NTi, PTi, NTid, PTid, NTod, PTod, TriS1, TriS2; + double M; //network load + double transmission_buf_inpcap(); + double transmission_buf_outcap(); + double transmission_buf_ctrcap(); + double crossbar_inpline(); + double crossbar_outline(); + double crossbar_ctrline(); + double tr_crossbar_power(); + void cb_stats (); + double arb_power(); + void arb_stats (); + double buffer_params(); + void buffer_stats(); + + + //arbiter + + //buffer + + //router params + double Vdd; + + void calc_router_parameters(); + void get_router_area(); + void get_router_power(); + void get_router_delay(); + + double min_w_pmos; + + +}; + +#endif diff --git a/T1/TP1/cacti-master/sample_config_files/ddr3_cache.cfg b/T1/TP1/cacti-master/sample_config_files/ddr3_cache.cfg new file mode 100644 index 0000000..76f71c9 --- /dev/null +++ b/T1/TP1/cacti-master/sample_config_files/ddr3_cache.cfg @@ -0,0 +1,259 @@ +# Cache size +//-size (bytes) 2048 +//-size (bytes) 4096 +//-size (bytes) 32768 +//-size (bytes) 131072 +//-size (bytes) 262144 +//-size (bytes) 1048576 +//-size (bytes) 2097152 +//-size (bytes) 4194304 +-size (bytes) 8388608 +//-size (bytes) 16777216 +//-size (bytes) 33554432 +//-size (bytes) 134217728 +//-size (bytes) 67108864 +//-size (bytes) 1073741824 + +# power gating +-Array Power Gating - "false" +-WL Power Gating - "false" +-CL Power Gating - "false" +-Bitline floating - "false" +-Interconnect Power Gating - "false" +-Power Gating Performance Loss 0.01 + +# Line size +//-block size (bytes) 8 +-block size (bytes) 64 + +# To model Fully Associative cache, set associativity to zero +//-associativity 0 +//-associativity 2 +//-associativity 4 +//-associativity 8 +-associativity 8 + +-read-write port 1 +-exclusive read port 0 +-exclusive write port 0 +-single ended read ports 0 + +# Multiple banks connected using a bus +-UCA bank count 1 +-technology (u) 0.022 +//-technology (u) 0.040 +//-technology (u) 0.032 +//-technology (u) 0.090 + +# following three parameters are meaningful only for main memories + +-page size (bits) 8192 +-burst length 8 +-internal prefetch width 8 + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Data array cell type - "itrs-hp" +//-Data array cell type - "itrs-lstp" +//-Data array cell type - "itrs-lop" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Data array peripheral type - "itrs-hp" +//-Data array peripheral type - "itrs-lstp" +//-Data array peripheral type - "itrs-lop" + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Tag array cell type - "itrs-hp" +//-Tag array cell type - "itrs-lstp" +//-Tag array cell type - "itrs-lop" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Tag array peripheral type - "itrs-hp" +//-Tag array peripheral type - "itrs-lstp" +//-Tag array peripheral type - "itrs-lop + +# Bus width include data bits and address bits required by the decoder +//-output/input bus width 16 +-output/input bus width 512 + +// 300-400 in steps of 10 +-operating temperature (K) 360 + +# Type of memory - cache (with a tag array) or ram (scratch ram similar to a register file) +# or main memory (no tag array and every access will happen at a page granularity Ref: CACTI 5.3 report) +-cache type "cache" +//-cache type "ram" +//-cache type "main memory" + +# to model special structure like branch target buffers, directory, etc. +# change the tag size parameter +# if you want cacti to calculate the tagbits, set the tag size to "default" +-tag size (b) "default" +//-tag size (b) 22 + +# fast - data and tag access happen in parallel +# sequential - data array is accessed after accessing the tag array +# normal - data array lookup and tag access happen in parallel +# final data block is broadcasted in data array h-tree +# after getting the signal from the tag array +//-access mode (normal, sequential, fast) - "fast" +-access mode (normal, sequential, fast) - "normal" +//-access mode (normal, sequential, fast) - "sequential" + + +# DESIGN OBJECTIVE for UCA (or banks in NUCA) +-design objective (weight delay, dynamic power, leakage power, cycle time, area) 0:0:0:100:0 + +# Percentage deviation from the minimum value +# Ex: A deviation value of 10:1000:1000:1000:1000 will try to find an organization +# that compromises at most 10% delay. +# NOTE: Try reasonable values for % deviation. Inconsistent deviation +# percentage values will not produce any valid organizations. For example, +# 0:0:100:100:100 will try to identify an organization that has both +# least delay and dynamic power. Since such an organization is not possible, CACTI will +# throw an error. Refer CACTI-6 Technical report for more details +-deviate (delay, dynamic power, leakage power, cycle time, area) 20:100000:100000:100000:100000 + +# Objective for NUCA +-NUCAdesign objective (weight delay, dynamic power, leakage power, cycle time, area) 100:100:0:0:100 +-NUCAdeviate (delay, dynamic power, leakage power, cycle time, area) 10:10000:10000:10000:10000 + +# Set optimize tag to ED or ED^2 to obtain a cache configuration optimized for +# energy-delay or energy-delay sq. product +# Note: Optimize tag will disable weight or deviate values mentioned above +# Set it to NONE to let weight and deviate values determine the +# appropriate cache configuration +//-Optimize ED or ED^2 (ED, ED^2, NONE): "ED" +-Optimize ED or ED^2 (ED, ED^2, NONE): "ED^2" +//-Optimize ED or ED^2 (ED, ED^2, NONE): "NONE" + +-Cache model (NUCA, UCA) - "UCA" +//-Cache model (NUCA, UCA) - "NUCA" + +# In order for CACTI to find the optimal NUCA bank value the following +# variable should be assigned 0. +-NUCA bank count 0 + +# NOTE: for nuca network frequency is set to a default value of +# 5GHz in time.c. CACTI automatically +# calculates the maximum possible frequency and downgrades this value if necessary + +# By default CACTI considers both full-swing and low-swing +# wires to find an optimal configuration. However, it is possible to +# restrict the search space by changing the signaling from "default" to +# "fullswing" or "lowswing" type. +-Wire signaling (fullswing, lowswing, default) - "Global_30" +//-Wire signaling (fullswing, lowswing, default) - "default" +//-Wire signaling (fullswing, lowswing, default) - "lowswing" + +//-Wire inside mat - "global" +-Wire inside mat - "semi-global" +//-Wire outside mat - "global" +-Wire outside mat - "semi-global" + +-Interconnect projection - "conservative" +//-Interconnect projection - "aggressive" + +# Contention in network (which is a function of core count and cache level) is one of +# the critical factor used for deciding the optimal bank count value +# core count can be 4, 8, or 16 +//-Core count 4 +-Core count 8 +//-Core count 16 +-Cache level (L2/L3) - "L3" + +-Add ECC - "true" + +//-Print level (DETAILED, CONCISE) - "CONCISE" +-Print level (DETAILED, CONCISE) - "DETAILED" + +# for debugging +//-Print input parameters - "true" +-Print input parameters - "false" +# force CACTI to model the cache with the +# following Ndbl, Ndwl, Nspd, Ndsam, +# and Ndcm values +//-Force cache config - "true" +-Force cache config - "false" +-Ndwl 1 +-Ndbl 1 +-Nspd 0 +-Ndcm 1 +-Ndsam1 0 +-Ndsam2 0 + + + +#### Default CONFIGURATION values for baseline external IO parameters to DRAM. + +# Memory Type (D=DDR3, L=LPDDR2, W=WideIO, S=Low-swing differential) + +-dram_type "D" +//-dram_type "L" +//-dram_type "W" +//-dram_type "S" + +# Memory State (R=Read, W=Write, I=Idle or S=Sleep) + +//-iostate "R" +-iostate "W" +//-iostate "I" +//-iostate "S" + +# Is ECC Enabled (Y=Yes, N=No) + +-dram_ecc "Y" + +#Address bus timing + +//-addr_timing 0.5 //DDR, for LPDDR2 and LPDDR3 +-addr_timing 1.0 //SDR for DDR3, Wide-IO +//-addr_timing 2.0 //2T timing +//addr_timing 3.0 // 3T timing + +# Bandwidth (Gbytes per second, this is the effective bandwidth) + +-bus_bw 12.8 GBps //Valid range 0 to 2*bus_freq*num_dq + +# Memory Density (Gbit per memory/DRAM die) + +-mem_density 4 Gb //Valid values 2^n Gb + +# IO frequency (MHz) (frequency of the external memory interface). + +-bus_freq 800 MHz //Valid range 0 to 1.5 GHz for DDR3, 0 to 1.2 GHz for LPDDR3, 0 - 800 MHz for WideIO and 0 - 3 GHz for Low-swing differential + +# Duty Cycle (fraction of time in the Memory State defined above) + +-duty_cycle 1.0 //Valid range 0 to 1.0 + +# Activity factor for Data (0->1 transitions) per cycle (for DDR, need to account for the higher activity in this parameter. E.g. max. activity factor for DDR is 1.0, for SDR is 0.5) + +-activity_dq 1.0 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR + +# Activity factor for Control/Address (0->1 transitions) per cycle (for DDR, need to account for the higher activity in this parameter. E.g. max. activity factor for DDR is 1.0, for SDR is 0.5) + +-activity_ca 0.5 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR + +# Number of DQ pins + +-num_dq 72 //Include ECC pins as well (if present). If ECC pins are included, the bus bandwidth is 2*(num_dq-#of ECC pins)*bus_freq. Valid range 0 to 72. + +# Number of DQS pins + +-num_dqs 18 //2 x differential pairs. Include ECC pins as well. Valid range 0 to 18. For x4 memories, could have 36 DQS pins. + +# Number of CA pins + +-num_ca 25 //Valid range 0 to 35 pins. + +# Number of CLK pins + +-num_clk 2 //2 x differential pair. Valid values: 0/2/4. + +# Number of Physical Ranks + +-num_mem_dq 2 //Number of ranks (loads on DQ and DQS) per DIMM or buffer chip + +# Width of the Memory Data Bus + +-mem_data_width 8 //x4 or x8 or x16 or x32 or x128 memories \ No newline at end of file diff --git a/T1/TP1/cacti-master/sample_config_files/diff_ddr3_cache.cfg b/T1/TP1/cacti-master/sample_config_files/diff_ddr3_cache.cfg new file mode 100644 index 0000000..7c6f492 --- /dev/null +++ b/T1/TP1/cacti-master/sample_config_files/diff_ddr3_cache.cfg @@ -0,0 +1,259 @@ +# Cache size +//-size (bytes) 2048 +//-size (bytes) 4096 +//-size (bytes) 32768 +//-size (bytes) 131072 +//-size (bytes) 262144 +//-size (bytes) 1048576 +//-size (bytes) 2097152 +//-size (bytes) 4194304 +-size (bytes) 8388608 +//-size (bytes) 16777216 +//-size (bytes) 33554432 +//-size (bytes) 134217728 +//-size (bytes) 67108864 +//-size (bytes) 1073741824 + +# power gating +-Array Power Gating - "false" +-WL Power Gating - "false" +-CL Power Gating - "false" +-Bitline floating - "false" +-Interconnect Power Gating - "false" +-Power Gating Performance Loss 0.01 + +# Line size +//-block size (bytes) 8 +-block size (bytes) 64 + +# To model Fully Associative cache, set associativity to zero +//-associativity 0 +//-associativity 2 +//-associativity 4 +//-associativity 8 +-associativity 8 + +-read-write port 1 +-exclusive read port 0 +-exclusive write port 0 +-single ended read ports 0 + +# Multiple banks connected using a bus +-UCA bank count 1 +-technology (u) 0.022 +//-technology (u) 0.040 +//-technology (u) 0.032 +//-technology (u) 0.090 + +# following three parameters are meaningful only for main memories + +-page size (bits) 8192 +-burst length 8 +-internal prefetch width 8 + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Data array cell type - "itrs-hp" +//-Data array cell type - "itrs-lstp" +//-Data array cell type - "itrs-lop" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Data array peripheral type - "itrs-hp" +//-Data array peripheral type - "itrs-lstp" +//-Data array peripheral type - "itrs-lop" + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Tag array cell type - "itrs-hp" +//-Tag array cell type - "itrs-lstp" +//-Tag array cell type - "itrs-lop" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Tag array peripheral type - "itrs-hp" +//-Tag array peripheral type - "itrs-lstp" +//-Tag array peripheral type - "itrs-lop + +# Bus width include data bits and address bits required by the decoder +//-output/input bus width 16 +-output/input bus width 512 + +// 300-400 in steps of 10 +-operating temperature (K) 360 + +# Type of memory - cache (with a tag array) or ram (scratch ram similar to a register file) +# or main memory (no tag array and every access will happen at a page granularity Ref: CACTI 5.3 report) +-cache type "cache" +//-cache type "ram" +//-cache type "main memory" + +# to model special structure like branch target buffers, directory, etc. +# change the tag size parameter +# if you want cacti to calculate the tagbits, set the tag size to "default" +-tag size (b) "default" +//-tag size (b) 22 + +# fast - data and tag access happen in parallel +# sequential - data array is accessed after accessing the tag array +# normal - data array lookup and tag access happen in parallel +# final data block is broadcasted in data array h-tree +# after getting the signal from the tag array +//-access mode (normal, sequential, fast) - "fast" +-access mode (normal, sequential, fast) - "normal" +//-access mode (normal, sequential, fast) - "sequential" + + +# DESIGN OBJECTIVE for UCA (or banks in NUCA) +-design objective (weight delay, dynamic power, leakage power, cycle time, area) 0:0:0:100:0 + +# Percentage deviation from the minimum value +# Ex: A deviation value of 10:1000:1000:1000:1000 will try to find an organization +# that compromises at most 10% delay. +# NOTE: Try reasonable values for % deviation. Inconsistent deviation +# percentage values will not produce any valid organizations. For example, +# 0:0:100:100:100 will try to identify an organization that has both +# least delay and dynamic power. Since such an organization is not possible, CACTI will +# throw an error. Refer CACTI-6 Technical report for more details +-deviate (delay, dynamic power, leakage power, cycle time, area) 20:100000:100000:100000:100000 + +# Objective for NUCA +-NUCAdesign objective (weight delay, dynamic power, leakage power, cycle time, area) 100:100:0:0:100 +-NUCAdeviate (delay, dynamic power, leakage power, cycle time, area) 10:10000:10000:10000:10000 + +# Set optimize tag to ED or ED^2 to obtain a cache configuration optimized for +# energy-delay or energy-delay sq. product +# Note: Optimize tag will disable weight or deviate values mentioned above +# Set it to NONE to let weight and deviate values determine the +# appropriate cache configuration +//-Optimize ED or ED^2 (ED, ED^2, NONE): "ED" +-Optimize ED or ED^2 (ED, ED^2, NONE): "ED^2" +//-Optimize ED or ED^2 (ED, ED^2, NONE): "NONE" + +-Cache model (NUCA, UCA) - "UCA" +//-Cache model (NUCA, UCA) - "NUCA" + +# In order for CACTI to find the optimal NUCA bank value the following +# variable should be assigned 0. +-NUCA bank count 0 + +# NOTE: for nuca network frequency is set to a default value of +# 5GHz in time.c. CACTI automatically +# calculates the maximum possible frequency and downgrades this value if necessary + +# By default CACTI considers both full-swing and low-swing +# wires to find an optimal configuration. However, it is possible to +# restrict the search space by changing the signaling from "default" to +# "fullswing" or "lowswing" type. +-Wire signaling (fullswing, lowswing, default) - "Global_30" +//-Wire signaling (fullswing, lowswing, default) - "default" +//-Wire signaling (fullswing, lowswing, default) - "lowswing" + +//-Wire inside mat - "global" +-Wire inside mat - "semi-global" +//-Wire outside mat - "global" +-Wire outside mat - "semi-global" + +-Interconnect projection - "conservative" +//-Interconnect projection - "aggressive" + +# Contention in network (which is a function of core count and cache level) is one of +# the critical factor used for deciding the optimal bank count value +# core count can be 4, 8, or 16 +//-Core count 4 +-Core count 8 +//-Core count 16 +-Cache level (L2/L3) - "L3" + +-Add ECC - "true" + +//-Print level (DETAILED, CONCISE) - "CONCISE" +-Print level (DETAILED, CONCISE) - "DETAILED" + +# for debugging +//-Print input parameters - "true" +-Print input parameters - "false" +# force CACTI to model the cache with the +# following Ndbl, Ndwl, Nspd, Ndsam, +# and Ndcm values +//-Force cache config - "true" +-Force cache config - "false" +-Ndwl 1 +-Ndbl 1 +-Nspd 0 +-Ndcm 1 +-Ndsam1 0 +-Ndsam2 0 + + + +#### Default CONFIGURATION values for baseline external IO parameters to DRAM. + +# Memory Type (D=DDR3, L=LPDDR2, W=WideIO, S=Low-swing differential) + +//-dram_type "D" +//-dram_type "L" +//-dram_type "W" +-dram_type "S" + +# Memory State (R=Read, W=Write, I=Idle or S=Sleep) + +//-iostate "R" +-iostate "W" +//-iostate "I" +//-iostate "S" + +# Is ECC Enabled (Y=Yes, N=No) + +-dram_ecc "N" + +#Address bus timing + +//-addr_timing 0.5 //DDR, for LPDDR2 and LPDDR3 +-addr_timing 1.0 //SDR for DDR3, Wide-IO +//-addr_timing 2.0 //2T timing +//addr_timing 3.0 // 3T timing + +# Bandwidth (Gbytes per second, this is the effective bandwidth) + +-bus_bw 6 GBps //Valid range 0 to 2*bus_freq*num_dq + +# Memory Density (Gbit per memory/DRAM die) + +-mem_density 4 Gb //Valid values 2^n Gb + +# IO frequency (MHz) (frequency of the external memory interface). + +-bus_freq 3000 MHz //Valid range 0 to 1.5 GHz for DDR3, 0 to 1.2 GHz for LPDDR3, 0 - 800 MHz for WideIO and 0 - 3 GHz for Low-swing differential + +# Duty Cycle (fraction of time in the Memory State defined above) + +-duty_cycle 1.0 //Valid range 0 to 1.0 + +# Activity factor for Data (0->1 transitions) per cycle (for DDR, need to account for the higher activity in this parameter. E.g. max. activity factor for DDR is 1.0, for SDR is 0.5) + +-activity_dq 1.0 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR + +# Activity factor for Control/Address (0->1 transitions) per cycle (for DDR, need to account for the higher activity in this parameter. E.g. max. activity factor for DDR is 1.0, for SDR is 0.5) + +-activity_ca 0.5 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR + +# Number of DQ pins + +-num_dq 8 //Include ECC pins as well (if present). If ECC pins are included, the bus bandwidth is 2*(num_dq-#of ECC pins)*bus_freq. Valid range 0 to 72. + +# Number of DQS pins + +-num_dqs 2 //2 x differential pairs. Include ECC pins as well. Valid range 0 to 18. For x4 memories, could have 36 DQS pins. + +# Number of CA pins + +-num_ca 0 //Valid range 0 to 35 pins. + +# Number of CLK pins + +-num_clk 0 //2 x differential pair. Valid values: 0/2/4. + +# Number of Physical Ranks + +-num_mem_dq 2 //Number of ranks (loads on DQ and DQS) per DIMM or buffer chip + +# Width of the Memory Data Bus + +-mem_data_width 8 //x4 or x8 or x16 or x32 memories \ No newline at end of file diff --git a/T1/TP1/cacti-master/sample_config_files/lpddr3_cache.cfg b/T1/TP1/cacti-master/sample_config_files/lpddr3_cache.cfg new file mode 100644 index 0000000..045c540 --- /dev/null +++ b/T1/TP1/cacti-master/sample_config_files/lpddr3_cache.cfg @@ -0,0 +1,259 @@ +# Cache size +//-size (bytes) 2048 +//-size (bytes) 4096 +//-size (bytes) 32768 +//-size (bytes) 131072 +//-size (bytes) 262144 +//-size (bytes) 1048576 +//-size (bytes) 2097152 +//-size (bytes) 4194304 +-size (bytes) 8388608 +//-size (bytes) 16777216 +//-size (bytes) 33554432 +//-size (bytes) 134217728 +//-size (bytes) 67108864 +//-size (bytes) 1073741824 + +# power gating +-Array Power Gating - "false" +-WL Power Gating - "false" +-CL Power Gating - "false" +-Bitline floating - "false" +-Interconnect Power Gating - "false" +-Power Gating Performance Loss 0.01 + +# Line size +//-block size (bytes) 8 +-block size (bytes) 64 + +# To model Fully Associative cache, set associativity to zero +//-associativity 0 +//-associativity 2 +//-associativity 4 +//-associativity 8 +-associativity 8 + +-read-write port 1 +-exclusive read port 0 +-exclusive write port 0 +-single ended read ports 0 + +# Multiple banks connected using a bus +-UCA bank count 1 +-technology (u) 0.022 +//-technology (u) 0.040 +//-technology (u) 0.032 +//-technology (u) 0.090 + +# following three parameters are meaningful only for main memories + +-page size (bits) 8192 +-burst length 8 +-internal prefetch width 8 + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Data array cell type - "itrs-hp" +//-Data array cell type - "itrs-lstp" +//-Data array cell type - "itrs-lop" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Data array peripheral type - "itrs-hp" +//-Data array peripheral type - "itrs-lstp" +//-Data array peripheral type - "itrs-lop" + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Tag array cell type - "itrs-hp" +//-Tag array cell type - "itrs-lstp" +//-Tag array cell type - "itrs-lop" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Tag array peripheral type - "itrs-hp" +//-Tag array peripheral type - "itrs-lstp" +//-Tag array peripheral type - "itrs-lop + +# Bus width include data bits and address bits required by the decoder +//-output/input bus width 16 +-output/input bus width 512 + +// 300-400 in steps of 10 +-operating temperature (K) 360 + +# Type of memory - cache (with a tag array) or ram (scratch ram similar to a register file) +# or main memory (no tag array and every access will happen at a page granularity Ref: CACTI 5.3 report) +-cache type "cache" +//-cache type "ram" +//-cache type "main memory" + +# to model special structure like branch target buffers, directory, etc. +# change the tag size parameter +# if you want cacti to calculate the tagbits, set the tag size to "default" +-tag size (b) "default" +//-tag size (b) 22 + +# fast - data and tag access happen in parallel +# sequential - data array is accessed after accessing the tag array +# normal - data array lookup and tag access happen in parallel +# final data block is broadcasted in data array h-tree +# after getting the signal from the tag array +//-access mode (normal, sequential, fast) - "fast" +-access mode (normal, sequential, fast) - "normal" +//-access mode (normal, sequential, fast) - "sequential" + + +# DESIGN OBJECTIVE for UCA (or banks in NUCA) +-design objective (weight delay, dynamic power, leakage power, cycle time, area) 0:0:0:100:0 + +# Percentage deviation from the minimum value +# Ex: A deviation value of 10:1000:1000:1000:1000 will try to find an organization +# that compromises at most 10% delay. +# NOTE: Try reasonable values for % deviation. Inconsistent deviation +# percentage values will not produce any valid organizations. For example, +# 0:0:100:100:100 will try to identify an organization that has both +# least delay and dynamic power. Since such an organization is not possible, CACTI will +# throw an error. Refer CACTI-6 Technical report for more details +-deviate (delay, dynamic power, leakage power, cycle time, area) 20:100000:100000:100000:100000 + +# Objective for NUCA +-NUCAdesign objective (weight delay, dynamic power, leakage power, cycle time, area) 100:100:0:0:100 +-NUCAdeviate (delay, dynamic power, leakage power, cycle time, area) 10:10000:10000:10000:10000 + +# Set optimize tag to ED or ED^2 to obtain a cache configuration optimized for +# energy-delay or energy-delay sq. product +# Note: Optimize tag will disable weight or deviate values mentioned above +# Set it to NONE to let weight and deviate values determine the +# appropriate cache configuration +//-Optimize ED or ED^2 (ED, ED^2, NONE): "ED" +-Optimize ED or ED^2 (ED, ED^2, NONE): "ED^2" +//-Optimize ED or ED^2 (ED, ED^2, NONE): "NONE" + +-Cache model (NUCA, UCA) - "UCA" +//-Cache model (NUCA, UCA) - "NUCA" + +# In order for CACTI to find the optimal NUCA bank value the following +# variable should be assigned 0. +-NUCA bank count 0 + +# NOTE: for nuca network frequency is set to a default value of +# 5GHz in time.c. CACTI automatically +# calculates the maximum possible frequency and downgrades this value if necessary + +# By default CACTI considers both full-swing and low-swing +# wires to find an optimal configuration. However, it is possible to +# restrict the search space by changing the signaling from "default" to +# "fullswing" or "lowswing" type. +-Wire signaling (fullswing, lowswing, default) - "Global_30" +//-Wire signaling (fullswing, lowswing, default) - "default" +//-Wire signaling (fullswing, lowswing, default) - "lowswing" + +//-Wire inside mat - "global" +-Wire inside mat - "semi-global" +//-Wire outside mat - "global" +-Wire outside mat - "semi-global" + +-Interconnect projection - "conservative" +//-Interconnect projection - "aggressive" + +# Contention in network (which is a function of core count and cache level) is one of +# the critical factor used for deciding the optimal bank count value +# core count can be 4, 8, or 16 +//-Core count 4 +-Core count 8 +//-Core count 16 +-Cache level (L2/L3) - "L3" + +-Add ECC - "true" + +//-Print level (DETAILED, CONCISE) - "CONCISE" +-Print level (DETAILED, CONCISE) - "DETAILED" + +# for debugging +//-Print input parameters - "true" +-Print input parameters - "false" +# force CACTI to model the cache with the +# following Ndbl, Ndwl, Nspd, Ndsam, +# and Ndcm values +//-Force cache config - "true" +-Force cache config - "false" +-Ndwl 1 +-Ndbl 1 +-Nspd 0 +-Ndcm 1 +-Ndsam1 0 +-Ndsam2 0 + + + +#### Default CONFIGURATION values for baseline external IO parameters to DRAM. + +# Memory Type (D=DDR3, L=LPDDR2, W=WideIO, S=Low-swing differential) + +//-dram_type "D" +-dram_type "L" +//-dram_type "W" +//-dram_type "S" + +# Memory State (R=Read, W=Write, I=Idle or S=Sleep) + +//-iostate "R" +-iostate "W" +//-iostate "I" +//-iostate "S" + +# Is ECC Enabled (Y=Yes, N=No) + +-dram_ecc "N" + +#Address bus timing + +-addr_timing 0.5 //DDR, for LPDDR2 and LPDDR3 +//-addr_timing 1.0 //SDR for DDR3, Wide-IO +//-addr_timing 2.0 //2T timing +//addr_timing 3.0 // 3T timing + +# Bandwidth (Gbytes per second, this is the effective bandwidth) + +-bus_bw 6.4 GBps //Valid range 0 to 2*bus_freq*num_dq + +# Memory Density (Gbit per memory/DRAM die) + +-mem_density 4 Gb //Valid values 2^n Gb + +# IO frequency (MHz) (frequency of the external memory interface). + +-bus_freq 800 MHz //Valid range 0 to 1.5 GHz for DDR3, 0 to 1.2 GHz for LPDDR3, 0 - 800 MHz for WideIO and 0 - 3 GHz for Low-swing differential + +# Duty Cycle (fraction of time in the Memory State defined above) + +-duty_cycle 1.0 //Valid range 0 to 1.0 + +# Activity factor for Data (0->1 transitions) per cycle (for DDR, need to account for the higher activity in this parameter. E.g. max. activity factor for DDR is 1.0, for SDR is 0.5) + +-activity_dq 1.0 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR + +# Activity factor for Control/Address (0->1 transitions) per cycle (for DDR, need to account for the higher activity in this parameter. E.g. max. activity factor for DDR is 1.0, for SDR is 0.5) + +-activity_ca 0.5 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR + +# Number of DQ pins + +-num_dq 32 //Include ECC pins as well (if present). If ECC pins are included, the bus bandwidth is 2*(num_dq-#of ECC pins)*bus_freq. Valid range 0 to 72. + +# Number of DQS pins + +-num_dqs 8 //2 x differential pairs. Include ECC pins as well. Valid range 0 to 18. For x4 memories, could have 36 DQS pins. + +# Number of CA pins + +-num_ca 14 //Valid range 0 to 35 pins. + +# Number of CLK pins + +-num_clk 2 //2 x differential pair. Valid values: 0/2/4. + +# Number of Physical Ranks + +-num_mem_dq 2 //Number of ranks (loads on DQ and DQS) per DIMM or buffer chip + +# Width of the Memory Data Bus + +-mem_data_width 32 //x4 or x8 or x16 or x32 or x128 memories \ No newline at end of file diff --git a/T1/TP1/cacti-master/sample_config_files/wideio_cache.cfg b/T1/TP1/cacti-master/sample_config_files/wideio_cache.cfg new file mode 100644 index 0000000..b16ea0b --- /dev/null +++ b/T1/TP1/cacti-master/sample_config_files/wideio_cache.cfg @@ -0,0 +1,259 @@ +# Cache size +//-size (bytes) 2048 +//-size (bytes) 4096 +//-size (bytes) 32768 +//-size (bytes) 131072 +//-size (bytes) 262144 +//-size (bytes) 1048576 +//-size (bytes) 2097152 +//-size (bytes) 4194304 +-size (bytes) 8388608 +//-size (bytes) 16777216 +//-size (bytes) 33554432 +//-size (bytes) 134217728 +//-size (bytes) 67108864 +//-size (bytes) 1073741824 + +# power gating +-Array Power Gating - "false" +-WL Power Gating - "false" +-CL Power Gating - "false" +-Bitline floating - "false" +-Interconnect Power Gating - "false" +-Power Gating Performance Loss 0.01 + +# Line size +//-block size (bytes) 8 +-block size (bytes) 64 + +# To model Fully Associative cache, set associativity to zero +//-associativity 0 +//-associativity 2 +//-associativity 4 +//-associativity 8 +-associativity 8 + +-read-write port 1 +-exclusive read port 0 +-exclusive write port 0 +-single ended read ports 0 + +# Multiple banks connected using a bus +-UCA bank count 1 +-technology (u) 0.022 +//-technology (u) 0.040 +//-technology (u) 0.032 +//-technology (u) 0.090 + +# following three parameters are meaningful only for main memories + +-page size (bits) 8192 +-burst length 8 +-internal prefetch width 8 + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Data array cell type - "itrs-hp" +//-Data array cell type - "itrs-lstp" +//-Data array cell type - "itrs-lop" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Data array peripheral type - "itrs-hp" +//-Data array peripheral type - "itrs-lstp" +//-Data array peripheral type - "itrs-lop" + +# following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram) +-Tag array cell type - "itrs-hp" +//-Tag array cell type - "itrs-lstp" +//-Tag array cell type - "itrs-lop" + +# following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop) +-Tag array peripheral type - "itrs-hp" +//-Tag array peripheral type - "itrs-lstp" +//-Tag array peripheral type - "itrs-lop + +# Bus width include data bits and address bits required by the decoder +//-output/input bus width 16 +-output/input bus width 512 + +// 300-400 in steps of 10 +-operating temperature (K) 360 + +# Type of memory - cache (with a tag array) or ram (scratch ram similar to a register file) +# or main memory (no tag array and every access will happen at a page granularity Ref: CACTI 5.3 report) +-cache type "cache" +//-cache type "ram" +//-cache type "main memory" + +# to model special structure like branch target buffers, directory, etc. +# change the tag size parameter +# if you want cacti to calculate the tagbits, set the tag size to "default" +-tag size (b) "default" +//-tag size (b) 22 + +# fast - data and tag access happen in parallel +# sequential - data array is accessed after accessing the tag array +# normal - data array lookup and tag access happen in parallel +# final data block is broadcasted in data array h-tree +# after getting the signal from the tag array +//-access mode (normal, sequential, fast) - "fast" +-access mode (normal, sequential, fast) - "normal" +//-access mode (normal, sequential, fast) - "sequential" + + +# DESIGN OBJECTIVE for UCA (or banks in NUCA) +-design objective (weight delay, dynamic power, leakage power, cycle time, area) 0:0:0:100:0 + +# Percentage deviation from the minimum value +# Ex: A deviation value of 10:1000:1000:1000:1000 will try to find an organization +# that compromises at most 10% delay. +# NOTE: Try reasonable values for % deviation. Inconsistent deviation +# percentage values will not produce any valid organizations. For example, +# 0:0:100:100:100 will try to identify an organization that has both +# least delay and dynamic power. Since such an organization is not possible, CACTI will +# throw an error. Refer CACTI-6 Technical report for more details +-deviate (delay, dynamic power, leakage power, cycle time, area) 20:100000:100000:100000:100000 + +# Objective for NUCA +-NUCAdesign objective (weight delay, dynamic power, leakage power, cycle time, area) 100:100:0:0:100 +-NUCAdeviate (delay, dynamic power, leakage power, cycle time, area) 10:10000:10000:10000:10000 + +# Set optimize tag to ED or ED^2 to obtain a cache configuration optimized for +# energy-delay or energy-delay sq. product +# Note: Optimize tag will disable weight or deviate values mentioned above +# Set it to NONE to let weight and deviate values determine the +# appropriate cache configuration +//-Optimize ED or ED^2 (ED, ED^2, NONE): "ED" +-Optimize ED or ED^2 (ED, ED^2, NONE): "ED^2" +//-Optimize ED or ED^2 (ED, ED^2, NONE): "NONE" + +-Cache model (NUCA, UCA) - "UCA" +//-Cache model (NUCA, UCA) - "NUCA" + +# In order for CACTI to find the optimal NUCA bank value the following +# variable should be assigned 0. +-NUCA bank count 0 + +# NOTE: for nuca network frequency is set to a default value of +# 5GHz in time.c. CACTI automatically +# calculates the maximum possible frequency and downgrades this value if necessary + +# By default CACTI considers both full-swing and low-swing +# wires to find an optimal configuration. However, it is possible to +# restrict the search space by changing the signaling from "default" to +# "fullswing" or "lowswing" type. +-Wire signaling (fullswing, lowswing, default) - "Global_30" +//-Wire signaling (fullswing, lowswing, default) - "default" +//-Wire signaling (fullswing, lowswing, default) - "lowswing" + +//-Wire inside mat - "global" +-Wire inside mat - "semi-global" +//-Wire outside mat - "global" +-Wire outside mat - "semi-global" + +-Interconnect projection - "conservative" +//-Interconnect projection - "aggressive" + +# Contention in network (which is a function of core count and cache level) is one of +# the critical factor used for deciding the optimal bank count value +# core count can be 4, 8, or 16 +//-Core count 4 +-Core count 8 +//-Core count 16 +-Cache level (L2/L3) - "L3" + +-Add ECC - "true" + +//-Print level (DETAILED, CONCISE) - "CONCISE" +-Print level (DETAILED, CONCISE) - "DETAILED" + +# for debugging +//-Print input parameters - "true" +-Print input parameters - "false" +# force CACTI to model the cache with the +# following Ndbl, Ndwl, Nspd, Ndsam, +# and Ndcm values +//-Force cache config - "true" +-Force cache config - "false" +-Ndwl 1 +-Ndbl 1 +-Nspd 0 +-Ndcm 1 +-Ndsam1 0 +-Ndsam2 0 + + + +#### Default CONFIGURATION values for baseline external IO parameters to DRAM. + +# Memory Type (D=DDR3, L=LPDDR2, W=WideIO, S=Low-swing differential) + +//-dram_type "D" +//-dram_type "L" +-dram_type "W" +//-dram_type "S" + +# Memory State (R=Read, W=Write, I=Idle or S=Sleep) + +//-iostate "R" +-iostate "W" +//-iostate "I" +//-iostate "S" + +# Is ECC Enabled (Y=Yes, N=No) + +-dram_ecc "N" + +#Address bus timing + +//-addr_timing 0.5 //DDR, for LPDDR2 and LPDDR3 +-addr_timing 1.0 //SDR for DDR3, Wide-IO +//-addr_timing 2.0 //2T timing +//addr_timing 3.0 // 3T timing + +# Bandwidth (Gbytes per second, this is the effective bandwidth) + +-bus_bw 12.8 GBps //Valid range 0 to 2*bus_freq*num_dq + +# Memory Density (Gbit per memory/DRAM die) + +-mem_density 4 Gb //Valid values 2^n Gb + +# IO frequency (MHz) (frequency of the external memory interface). + +-bus_freq 400 MHz //Valid range 0 to 1.5 GHz for DDR3, 0 to 1.2 GHz for LPDDR3, 0 - 800 MHz for WideIO and 0 - 3 GHz for Low-swing differential + +# Duty Cycle (fraction of time in the Memory State defined above) + +-duty_cycle 1.0 //Valid range 0 to 1.0 + +# Activity factor for Data (0->1 transitions) per cycle (for DDR, need to account for the higher activity in this parameter. E.g. max. activity factor for DDR is 1.0, for SDR is 0.5) + +-activity_dq 1.0 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR + +# Activity factor for Control/Address (0->1 transitions) per cycle (for DDR, need to account for the higher activity in this parameter. E.g. max. activity factor for DDR is 1.0, for SDR is 0.5) + +-activity_ca 0.5 //Valid range 0 to 1.0 for DDR, 0 to 0.5 for SDR + +# Number of DQ pins + +-num_dq 128 //Include ECC pins as well (if present). If ECC pins are included, the bus bandwidth is 2*(num_dq-#of ECC pins)*bus_freq. Valid range 0 to 72. + +# Number of DQS pins + +-num_dqs 16 //2 x differential pairs. Include ECC pins as well. Valid range 0 to 18. For x4 memories, could have 36 DQS pins. + +# Number of CA pins + +-num_ca 30 //Valid range 0 to 35 pins. + +# Number of CLK pins + +-num_clk 2 //2 x differential pair. Valid values: 0/2/4. + +# Number of Physical Ranks + +-num_mem_dq 2 //Number of ranks (loads on DQ and DQS) per DIMM or buffer chip + +# Width of the Memory Data Bus + +-mem_data_width 128 //x4 or x8 or x16 or x32 or x128 memories \ No newline at end of file diff --git a/T1/TP1/cacti-master/subarray.cc b/T1/TP1/cacti-master/subarray.cc new file mode 100644 index 0000000..9dfeefc --- /dev/null +++ b/T1/TP1/cacti-master/subarray.cc @@ -0,0 +1,205 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + + +#include +#include +#include + +#include "subarray.h" + + +Subarray::Subarray(const DynamicParameter & dp_, bool is_fa_): + dp(dp_), num_rows(dp.num_r_subarray), num_cols(dp.num_c_subarray), + num_cols_fa_cam(dp.tag_num_c_subarray), num_cols_fa_ram(dp.data_num_c_subarray), + cell(dp.cell), cam_cell(dp.cam_cell), is_fa(is_fa_) +{ + //num_cols=7; + //cout<<"num_cols ="<< num_cols <add_ecc_b_ ? (int)ceil(num_cols / num_bits_per_ecc_b_) : 0); // ECC overhead + uint32_t ram_num_cells_wl_stitching = + (dp.ram_cell_tech_type == lp_dram) ? dram_num_cells_wl_stitching_ : + (dp.ram_cell_tech_type == comm_dram) ? comm_dram_num_cells_wl_stitching_ : sram_num_cells_wl_stitching_; + + area.h = cell.h * num_rows; + + area.w = cell.w * num_cols + + ceil(num_cols / ram_num_cells_wl_stitching) * g_tp.ram_wl_stitching_overhead_; // stitching overhead + + if (g_ip->print_detail_debug) + { + cout << "subarray.cc: ram_num_cells_wl_stitching = " << ram_num_cells_wl_stitching<add_ecc_b_ ? (int)ceil(num_cols_fa_cam / num_bits_per_ecc_b_) : 0; + num_cols_fa_ram += (g_ip->add_ecc_b_ ? (int)ceil(num_cols_fa_ram / num_bits_per_ecc_b_) : 0); + num_cols = num_cols_fa_cam + num_cols_fa_ram; + } + else + { + num_cols_fa_cam += g_ip->add_ecc_b_ ? (int)ceil(num_cols_fa_cam / num_bits_per_ecc_b_) : 0; + num_cols_fa_ram = 0; + num_cols = num_cols_fa_cam; + } + + area.h = cam_cell.h * (num_rows + 1);//height of subarray is decided by CAM array. blank space in sram array are filled with dummy cells + area.w = cam_cell.w * num_cols_fa_cam + cell.w * num_cols_fa_ram + + ceil((num_cols_fa_cam + num_cols_fa_ram) / sram_num_cells_wl_stitching_)*g_tp.ram_wl_stitching_overhead_ + + 16*g_tp.wire_local.pitch //the overhead for the NAND gate to connect the two halves + + 128*g_tp.wire_local.pitch;//the overhead for the drivers from matchline to wordline of RAM + + + } + + assert(area.h>0); + assert(area.w>0); + compute_C(); +} + + + +Subarray::~Subarray() +{ +} + + + +double Subarray::get_total_cell_area() +{ +// return (is_fa==false? cell.get_area() * num_rows * num_cols +// //: cam_cell.h*(num_rows+1)*(num_cols_fa_cam + sram_cell.get_area()*num_cols_fa_ram)); +// : cam_cell.get_area()*(num_rows+1)*(num_cols_fa_cam + num_cols_fa_ram)); +// //: cam_cell.get_area()*(num_rows+1)*num_cols_fa_cam + sram_cell.get_area()*(num_rows+1)*num_cols_fa_ram);//for FA, this area does not include the dummy cells in SRAM arrays. + + if (!(is_fa || dp.pure_cam)) + return (cell.get_area() * num_rows * num_cols); + else if (is_fa) + { //for FA, this area includes the dummy cells in SRAM arrays. + //return (cam_cell.get_area()*(num_rows+1)*(num_cols_fa_cam + num_cols_fa_ram)); + //cout<<"diff" < +void init_tech_params(double technology, bool is_tag) +{ + g_tp.init(technology,is_tag); +} + +void printing(const char * name, double value) +{ + cout << "tech " << name << " " << value << endl; +} + +void printing_int(const char * name, uint64_t value) +{ + cout << "tech " << name << " " << value << endl; +} +void print_g_tp() +{ + printing("g_tp.peri_global.Vdd",g_tp.peri_global.Vdd); + printing("g_tp.peri_global.Vcc_min",g_tp.peri_global.Vcc_min); + printing("g_tp.peri_global.t_ox",g_tp.peri_global.t_ox); + printing("g_tp.peri_global.Vth",g_tp.peri_global.Vth); + printing("g_tp.peri_global.C_ox",g_tp.peri_global.C_ox); + printing("g_tp.peri_global.C_g_ideal",g_tp.peri_global.C_g_ideal); + printing("g_tp.peri_global.C_fringe",g_tp.peri_global.C_fringe); + printing("g_tp.peri_global.C_junc",g_tp.peri_global.C_junc); + printing("g_tp.peri_global.C_junc_sidewall",g_tp.peri_global.C_junc_sidewall); + printing("g_tp.peri_global.l_phy",g_tp.peri_global.l_phy); + printing("g_tp.peri_global.l_elec",g_tp.peri_global.l_elec); + printing("g_tp.peri_global.I_on_n",g_tp.peri_global.I_on_n); + printing("g_tp.peri_global.R_nch_on",g_tp.peri_global.R_nch_on); + printing("g_tp.peri_global.R_pch_on",g_tp.peri_global.R_pch_on); + printing("g_tp.peri_global.n_to_p_eff_curr_drv_ratio",g_tp.peri_global.n_to_p_eff_curr_drv_ratio); + printing("g_tp.peri_global.long_channel_leakage_reduction",g_tp.peri_global.long_channel_leakage_reduction); + printing("g_tp.peri_global.I_off_n",g_tp.peri_global.I_off_n); + printing("g_tp.peri_global.I_off_p",g_tp.peri_global.I_off_p); + printing("g_tp.peri_global.I_g_on_n",g_tp.peri_global.I_g_on_n); + printing("g_tp.peri_global.I_g_on_p",g_tp.peri_global.I_g_on_p); + + printing("g_tp.peri_global.Mobility_n",g_tp.peri_global.Mobility_n); + + printing("g_tp.sleep_tx.Vdd",g_tp.sleep_tx.Vdd); + printing("g_tp.sleep_tx.Vcc_min",g_tp.sleep_tx.Vcc_min); + printing("g_tp.sleep_tx.t_ox",g_tp.sleep_tx.t_ox); + printing("g_tp.sleep_tx.Vth",g_tp.sleep_tx.Vth); + printing("g_tp.sleep_tx.C_ox",g_tp.sleep_tx.C_ox); + printing("g_tp.sleep_tx.C_g_ideal",g_tp.sleep_tx.C_g_ideal); + printing("g_tp.sleep_tx.C_fringe",g_tp.sleep_tx.C_fringe); + printing("g_tp.sleep_tx.C_junc",g_tp.sleep_tx.C_junc); + printing("g_tp.sleep_tx.C_junc_sidewall",g_tp.sleep_tx.C_junc_sidewall); + printing("g_tp.sleep_tx.l_phy",g_tp.sleep_tx.l_phy); + printing("g_tp.sleep_tx.l_elec",g_tp.sleep_tx.l_elec); + printing("g_tp.sleep_tx.I_on_n",g_tp.sleep_tx.I_on_n); + printing("g_tp.sleep_tx.R_nch_on",g_tp.sleep_tx.R_nch_on); + printing("g_tp.sleep_tx.R_pch_on",g_tp.sleep_tx.R_pch_on); + printing("g_tp.sleep_tx.n_to_p_eff_curr_drv_ratio",g_tp.sleep_tx.n_to_p_eff_curr_drv_ratio); + printing("g_tp.sleep_tx.long_channel_leakage_reduction",g_tp.sleep_tx.long_channel_leakage_reduction); + printing("g_tp.sleep_tx.I_off_n",g_tp.sleep_tx.I_off_n); + printing("g_tp.sleep_tx.I_off_p",g_tp.sleep_tx.I_off_p); + printing("g_tp.sleep_tx.I_g_on_n",g_tp.sleep_tx.I_g_on_n); + printing("g_tp.sleep_tx.I_g_on_p",g_tp.sleep_tx.I_g_on_p); + printing("g_tp.sleep_tx.Mobility_n",g_tp.sleep_tx.Mobility_n); + + printing("g_tp.sram_cell.Vdd",g_tp.sram_cell.Vdd); + printing("g_tp.sram_cell.Vcc_min",g_tp.sram_cell.Vcc_min); + printing("g_tp.sram_cell.l_phy",g_tp.sram_cell.l_phy); + printing("g_tp.sram_cell.l_elec",g_tp.sram_cell.l_elec); + printing("g_tp.sram_cell.t_ox",g_tp.sram_cell.t_ox); + printing("g_tp.sram_cell.Vth",g_tp.sram_cell.Vth); + printing("g_tp.sram_cell.C_g_ideal",g_tp.sram_cell.C_g_ideal); + printing("g_tp.sram_cell.C_fringe",g_tp.sram_cell.C_fringe); + printing("g_tp.sram_cell.C_junc",g_tp.sram_cell.C_junc); + printing("g_tp.sram_cell.C_junc_sidewall",g_tp.sram_cell.C_junc_sidewall); + printing("g_tp.sram_cell.I_on_n",g_tp.sram_cell.I_on_n); + printing("g_tp.sram_cell.R_nch_on",g_tp.sram_cell.R_nch_on); + printing("g_tp.sram_cell.R_pch_on",g_tp.sram_cell.R_pch_on); + printing("g_tp.sram_cell.n_to_p_eff_curr_drv_ratio",g_tp.sram_cell.n_to_p_eff_curr_drv_ratio); + printing("g_tp.sram_cell.long_channel_leakage_reduction",g_tp.sram_cell.long_channel_leakage_reduction); + printing("g_tp.sram_cell.I_off_n",g_tp.sram_cell.I_off_n); + printing("g_tp.sram_cell.I_off_p",g_tp.sram_cell.I_off_p); + printing("g_tp.sram_cell.I_g_on_n",g_tp.sram_cell.I_g_on_n); + printing("g_tp.sram_cell.I_g_on_p",g_tp.sram_cell.I_g_on_p); + + printing("g_tp.dram_cell_Vdd",g_tp.dram_cell_Vdd); + printing("g_tp.dram_acc.Vth",g_tp.dram_acc.Vth); + printing("g_tp.dram_acc.l_phy",g_tp.dram_acc.l_phy); + printing("g_tp.dram_acc.l_elec",g_tp.dram_acc.l_elec); + printing("g_tp.dram_acc.C_g_ideal",g_tp.dram_acc.C_g_ideal); + printing("g_tp.dram_acc.C_fringe",g_tp.dram_acc.C_fringe); + printing("g_tp.dram_acc.C_junc",g_tp.dram_acc.C_junc); + printing("g_tp.dram_acc.C_junc_sidewall",g_tp.dram_acc.C_junc_sidewall); + printing("g_tp.dram_cell_I_on",g_tp.dram_cell_I_on); + printing("g_tp.dram_cell_I_off_worst_case_len_temp",g_tp.dram_cell_I_off_worst_case_len_temp); + printing("g_tp.dram_acc.I_on_n",g_tp.dram_acc.I_on_n); + printing("g_tp.dram_cell_C",g_tp.dram_cell_C); + printing("g_tp.vpp",g_tp.vpp); + printing("g_tp.dram_wl.l_phy",g_tp.dram_wl.l_phy); + printing("g_tp.dram_wl.l_elec",g_tp.dram_wl.l_elec); + printing("g_tp.dram_wl.C_g_ideal",g_tp.dram_wl.C_g_ideal); + printing("g_tp.dram_wl.C_fringe",g_tp.dram_wl.C_fringe); + printing("g_tp.dram_wl.C_junc",g_tp.dram_wl.C_junc); + printing("g_tp.dram_wl.C_junc_sidewall",g_tp.dram_wl.C_junc_sidewall); + printing("g_tp.dram_wl.I_on_n",g_tp.dram_wl.I_on_n); + printing("g_tp.dram_wl.R_nch_on",g_tp.dram_wl.R_nch_on); + printing("g_tp.dram_wl.R_pch_on",g_tp.dram_wl.R_pch_on); + printing("g_tp.dram_wl.n_to_p_eff_curr_drv_ratio",g_tp.dram_wl.n_to_p_eff_curr_drv_ratio); + printing("g_tp.dram_wl.long_channel_leakage_reduction",g_tp.dram_wl.long_channel_leakage_reduction); + printing("g_tp.dram_wl.I_off_n",g_tp.dram_wl.I_off_n); + printing("g_tp.dram_wl.I_off_p",g_tp.dram_wl.I_off_p); + + printing("g_tp.cam_cell.Vdd",g_tp.cam_cell.Vdd); + printing("g_tp.cam_cell.l_phy",g_tp.cam_cell.l_phy); + printing("g_tp.cam_cell.l_elec",g_tp.cam_cell.l_elec); + printing("g_tp.cam_cell.t_ox",g_tp.cam_cell.t_ox); + printing("g_tp.cam_cell.Vth",g_tp.cam_cell.Vth); + printing("g_tp.cam_cell.C_g_ideal",g_tp.cam_cell.C_g_ideal); + printing("g_tp.cam_cell.C_fringe",g_tp.cam_cell.C_fringe); + printing("g_tp.cam_cell.C_junc",g_tp.cam_cell.C_junc); + printing("g_tp.cam_cell.C_junc_sidewall",g_tp.cam_cell.C_junc_sidewall); + printing("g_tp.cam_cell.I_on_n",g_tp.cam_cell.I_on_n); + printing("g_tp.cam_cell.R_nch_on",g_tp.cam_cell.R_nch_on); + printing("g_tp.cam_cell.R_pch_on",g_tp.cam_cell.R_pch_on); + printing("g_tp.cam_cell.n_to_p_eff_curr_drv_ratio",g_tp.cam_cell.n_to_p_eff_curr_drv_ratio); + printing("g_tp.cam_cell.long_channel_leakage_reduction",g_tp.cam_cell.long_channel_leakage_reduction); + printing("g_tp.cam_cell.I_off_n",g_tp.cam_cell.I_off_n); + printing("g_tp.cam_cell.I_off_p",g_tp.cam_cell.I_off_p); + printing("g_tp.cam_cell.I_g_on_n",g_tp.cam_cell.I_g_on_n); + printing("g_tp.cam_cell.I_g_on_p",g_tp.cam_cell.I_g_on_p); + + printing("g_tp.dram.cell_a_w",g_tp.dram.cell_a_w); + printing("g_tp.dram.cell_pmos_w",g_tp.dram.cell_pmos_w); + printing("g_tp.dram.cell_nmos_w",g_tp.dram.cell_nmos_w); + + + printing("g_tp.sram.cell_a_w",g_tp.sram.cell_a_w); + printing("g_tp.sram.cell_pmos_w",g_tp.sram.cell_pmos_w); + printing("g_tp.sram.cell_nmos_w",g_tp.sram.cell_nmos_w); + + + printing("g_tp.cam.cell_a_w",g_tp.cam.cell_a_w); + printing("g_tp.cam.cell_pmos_w",g_tp.cam.cell_pmos_w); + printing("g_tp.cam.cell_nmos_w",g_tp.cam.cell_nmos_w); + + printing("g_tp.scaling_factor.logic_scaling_co_eff",g_tp.scaling_factor.logic_scaling_co_eff); + printing("g_tp.scaling_factor.core_tx_density",g_tp.scaling_factor.core_tx_density); + printing("g_tp.chip_layout_overhead",g_tp.chip_layout_overhead); + printing("g_tp.macro_layout_overhead",g_tp.macro_layout_overhead); + printing("g_tp.sckt_co_eff",g_tp.sckt_co_eff); + + printing("g_tp.w_comp_inv_p1",g_tp.w_comp_inv_p1); + printing("g_tp.w_comp_inv_n1",g_tp.w_comp_inv_n1); + printing("g_tp.w_comp_inv_p2",g_tp.w_comp_inv_p2); + printing("g_tp.w_comp_inv_n2",g_tp.w_comp_inv_n2); + printing("g_tp.w_comp_inv_p3",g_tp.w_comp_inv_p3); + printing("g_tp.w_comp_inv_n3",g_tp.w_comp_inv_n3); + printing("g_tp.w_eval_inv_p",g_tp.w_eval_inv_p); + printing("g_tp.w_eval_inv_n",g_tp.w_eval_inv_n); + printing("g_tp.w_comp_n",g_tp.w_comp_n); + printing("g_tp.w_comp_p",g_tp.w_comp_p); + + printing("g_tp.MIN_GAP_BET_P_AND_N_DIFFS",g_tp.MIN_GAP_BET_P_AND_N_DIFFS); + printing("g_tp.MIN_GAP_BET_SAME_TYPE_DIFFS",g_tp.MIN_GAP_BET_SAME_TYPE_DIFFS); + printing("g_tp.HPOWERRAIL",g_tp.HPOWERRAIL); + printing("g_tp.cell_h_def",g_tp.cell_h_def); + printing("g_tp.w_poly_contact",g_tp.w_poly_contact); + printing("g_tp.spacing_poly_to_contact",g_tp.spacing_poly_to_contact); + printing("g_tp.spacing_poly_to_poly",g_tp.spacing_poly_to_poly); + printing("g_tp.ram_wl_stitching_overhead_",g_tp.ram_wl_stitching_overhead_); + + printing("g_tp.min_w_nmos_",g_tp.min_w_nmos_); + printing("g_tp.max_w_nmos_",g_tp.max_w_nmos_); + printing("g_tp.w_iso",g_tp.w_iso); + printing("g_tp.w_sense_n",g_tp.w_sense_n); + printing("g_tp.w_sense_p",g_tp.w_sense_p); + printing("g_tp.w_sense_en",g_tp.w_sense_en); + printing("g_tp.w_nmos_b_mux",g_tp.w_nmos_b_mux); + printing("g_tp.w_nmos_sa_mux",g_tp.w_nmos_sa_mux); + + printing("g_tp.max_w_nmos_dec",g_tp.max_w_nmos_dec); + printing_int("g_tp.h_dec",g_tp.h_dec); + + printing("g_tp.peri_global.C_overlap",g_tp.peri_global.C_overlap); + printing("g_tp.sram_cell.C_overlap",g_tp.sram_cell.C_overlap); + printing("g_tp.cam_cell.C_overlap",g_tp.cam_cell.C_overlap); + + printing("g_tp.dram_acc.C_overlap",g_tp.dram_acc.C_overlap); + printing("g_tp.dram_acc.R_nch_on",g_tp.dram_acc.R_nch_on); + + printing("g_tp.dram_wl.C_overlap",g_tp.dram_wl.C_overlap); + + printing("g_tp.gm_sense_amp_latch",g_tp.gm_sense_amp_latch); + + printing("g_tp.dram.b_w",g_tp.dram.b_w); + printing("g_tp.dram.b_h",g_tp.dram.b_h); + printing("g_tp.sram.b_w",g_tp.sram.b_w); + printing("g_tp.sram.b_h",g_tp.sram.b_h); + printing("g_tp.cam.b_w",g_tp.cam.b_w); + printing("g_tp.cam.b_h",g_tp.cam.b_h); + + printing("g_tp.dram.Vbitpre",g_tp.dram.Vbitpre); + printing("g_tp.sram.Vbitpre",g_tp.sram.Vbitpre); + printing("g_tp.sram.Vbitfloating",g_tp.sram.Vbitfloating); + printing("g_tp.cam.Vbitpre",g_tp.cam.Vbitpre); + + printing("g_tp.w_pmos_bl_precharge",g_tp.w_pmos_bl_precharge); + printing("g_tp.w_pmos_bl_eq",g_tp.w_pmos_bl_eq); + + printing("g_tp.wire_local.pitch",g_tp.wire_local.pitch); + printing("g_tp.wire_local.R_per_um",g_tp.wire_local.R_per_um); + printing("g_tp.wire_local.C_per_um",g_tp.wire_local.C_per_um); + printing("g_tp.wire_local.aspect_ratio",g_tp.wire_local.aspect_ratio); + printing("g_tp.wire_local.ild_thickness",g_tp.wire_local.ild_thickness); + printing("g_tp.wire_local.miller_value",g_tp.wire_local.miller_value); + printing("g_tp.wire_local.horiz_dielectric_constant",g_tp.wire_local.horiz_dielectric_constant); + printing("g_tp.wire_local.vert_dielectric_constant",g_tp.wire_local.vert_dielectric_constant); + + printing("g_tp.wire_inside_mat.pitch",g_tp.wire_inside_mat.pitch); + printing("g_tp.wire_inside_mat.R_per_um",g_tp.wire_inside_mat.R_per_um); + printing("g_tp.wire_inside_mat.C_per_um",g_tp.wire_inside_mat.C_per_um); + printing("g_tp.wire_inside_mat.aspect_ratio",g_tp.wire_inside_mat.aspect_ratio); + printing("g_tp.wire_inside_mat.ild_thickness",g_tp.wire_inside_mat.ild_thickness); + printing("g_tp.wire_inside_mat.miller_value",g_tp.wire_inside_mat.miller_value); + printing("g_tp.wire_inside_mat.horiz_dielectric_constant",g_tp.wire_inside_mat.horiz_dielectric_constant); + printing("g_tp.wire_inside_mat.vert_dielectric_constant",g_tp.wire_inside_mat.vert_dielectric_constant); + + printing("g_tp.wire_outside_mat.pitch",g_tp.wire_outside_mat.pitch); + printing("g_tp.wire_outside_mat.R_per_um",g_tp.wire_outside_mat.R_per_um); + printing("g_tp.wire_outside_mat.C_per_um",g_tp.wire_outside_mat.C_per_um); + printing("g_tp.wire_outside_mat.aspect_ratio",g_tp.wire_outside_mat.aspect_ratio); + printing("g_tp.wire_outside_mat.ild_thickness",g_tp.wire_outside_mat.ild_thickness); + printing("g_tp.wire_outside_mat.miller_value",g_tp.wire_outside_mat.miller_value); + printing("g_tp.wire_outside_mat.horiz_dielectric_constant",g_tp.wire_outside_mat.horiz_dielectric_constant); + printing("g_tp.wire_outside_mat.vert_dielectric_constant",g_tp.wire_outside_mat.vert_dielectric_constant); + + printing("g_tp.unit_len_wire_del",g_tp.unit_len_wire_del); + + printing("g_tp.sense_delay",g_tp.sense_delay); + printing("g_tp.sense_dy_power",g_tp.sense_dy_power); + + printing("g_tp.tsv_parasitic_resistance_fine",g_tp.tsv_parasitic_resistance_fine); + printing("g_tp.tsv_parasitic_capacitance_fine",g_tp.tsv_parasitic_capacitance_fine); + printing("g_tp.tsv_minimum_area_fine",g_tp.tsv_minimum_area_fine); + + printing("g_tp.tsv_parasitic_resistance_coarse",g_tp.tsv_parasitic_resistance_coarse); + printing("g_tp.tsv_parasitic_capacitance_coarse",g_tp.tsv_parasitic_capacitance_coarse); + printing("g_tp.tsv_minimum_area_coarse",g_tp.tsv_minimum_area_coarse); + + printing("g_tp.tsv_minimum_area_coarse",g_tp.tsv_minimum_area_coarse); + printing("g_tp.fringe_cap",g_tp.fringe_cap); + printing("g_tp.kinv",g_tp.kinv); + printing("g_tp.FO4",g_tp.FO4); + +} diff --git a/T1/TP1/cacti-master/uca.cc b/T1/TP1/cacti-master/uca.cc new file mode 100644 index 0000000..bb6124f --- /dev/null +++ b/T1/TP1/cacti-master/uca.cc @@ -0,0 +1,818 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#include +#include + +#include "uca.h" +#include "TSV.h" +#include "memorybus.h" + + +UCA::UCA(const DynamicParameter & dyn_p) + :dp(dyn_p), bank(dp), nbanks(g_ip->nbanks), refresh_power(0) +{ + int num_banks_ver_dir = 1 << ((bank.area.h > bank.area.w) ? _log2(nbanks)/2 : (_log2(nbanks) - _log2(nbanks)/2)); + int num_banks_hor_dir = nbanks/num_banks_ver_dir; + + if (dp.use_inp_params) + { + RWP = dp.num_rw_ports; + ERP = dp.num_rd_ports; + EWP = dp.num_wr_ports; + SCHP = dp.num_search_ports; + } + else + { + RWP = g_ip->num_rw_ports; + ERP = g_ip->num_rd_ports; + EWP = g_ip->num_wr_ports; + SCHP = g_ip->num_search_ports; + } + + num_addr_b_bank = (dp.number_addr_bits_mat + dp.number_subbanks_decode)*(RWP+ERP+EWP); + num_di_b_bank = dp.num_di_b_bank_per_port * (RWP + EWP); + num_do_b_bank = dp.num_do_b_bank_per_port * (RWP + ERP); + num_si_b_bank = dp.num_si_b_bank_per_port * SCHP; + num_so_b_bank = dp.num_so_b_bank_per_port * SCHP; + + if (!dp.fully_assoc && !dp.pure_cam) + { + + if (g_ip->fast_access && dp.is_tag == false) + { + num_do_b_bank *= g_ip->data_assoc; + } + + htree_in_add = new Htree2(g_ip->wt, bank.area.w, bank.area.h, + num_addr_b_bank, num_di_b_bank,0, num_do_b_bank,0,num_banks_ver_dir*2, num_banks_hor_dir*2, Add_htree, true); + htree_in_data = new Htree2(g_ip->wt, bank.area.w, bank.area.h, + num_addr_b_bank, num_di_b_bank, 0, num_do_b_bank, 0, num_banks_ver_dir*2, num_banks_hor_dir*2, Data_in_htree, true); + htree_out_data = new Htree2(g_ip->wt, bank.area.w, bank.area.h, + num_addr_b_bank, num_di_b_bank, 0, num_do_b_bank, 0, num_banks_ver_dir*2, num_banks_hor_dir*2, Data_out_htree, true); + } + + else + { + + htree_in_add = new Htree2(g_ip->wt, bank.area.w, bank.area.h, + num_addr_b_bank, num_di_b_bank, num_si_b_bank, num_do_b_bank, num_so_b_bank, num_banks_ver_dir*2, num_banks_hor_dir*2, Add_htree, true); + htree_in_data = new Htree2(g_ip->wt, bank.area.w, bank.area.h, + num_addr_b_bank, num_di_b_bank,num_si_b_bank, num_do_b_bank, num_so_b_bank, num_banks_ver_dir*2, num_banks_hor_dir*2, Data_in_htree, true); + htree_out_data = new Htree2(g_ip->wt, bank.area.w, bank.area.h, + num_addr_b_bank, num_di_b_bank,num_si_b_bank, num_do_b_bank, num_so_b_bank, num_banks_ver_dir*2, num_banks_hor_dir*2, Data_out_htree, true); + htree_in_search = new Htree2(g_ip->wt, bank.area.w, bank.area.h, + num_addr_b_bank, num_di_b_bank,num_si_b_bank, num_do_b_bank, num_so_b_bank, num_banks_ver_dir*2, num_banks_hor_dir*2, Data_in_htree, true); + htree_out_search = new Htree2(g_ip->wt, bank.area.w, bank.area.h, + num_addr_b_bank, num_di_b_bank,num_si_b_bank, num_do_b_bank, num_so_b_bank, num_banks_ver_dir*2, num_banks_hor_dir*2, Data_out_htree, true); + } + + area.w = htree_in_data->area.w; + area.h = htree_in_data->area.h; + + area_all_dataramcells = bank.mat.subarray.get_total_cell_area() * dp.num_subarrays * g_ip->nbanks; +// cout<<"area cell"<print_detail_debug) + cout << "uca.cc: g_ip->is_3d_mem = " << g_ip->is_3d_mem << endl; + if(g_ip->is_3d_mem) + { + membus_RAS = new Memorybus(g_ip->wt, bank.mat.area.w, bank.mat.area.h, bank.mat.subarray.area.w, bank.mat.subarray.area.h, + _log2(dp.num_r_subarray * dp.Ndbl), _log2(dp.num_c_subarray * dp.Ndwl), g_ip->burst_depth*g_ip->io_width, dp.Ndbl, dp.Ndwl, Row_add_path, dp); + membus_CAS = new Memorybus(g_ip->wt, bank.mat.area.w, bank.mat.area.h, bank.mat.subarray.area.w, bank.mat.subarray.area.h, + _log2(dp.num_r_subarray * dp.Ndbl), _log2(dp.num_c_subarray * dp.Ndwl), g_ip->burst_depth*g_ip->io_width, dp.Ndbl, dp.Ndwl, Col_add_path, dp); + membus_data = new Memorybus(g_ip->wt, bank.mat.area.w, bank.mat.area.h, bank.mat.subarray.area.w, bank.mat.subarray.area.h, + _log2(dp.num_r_subarray * dp.Ndbl), _log2(dp.num_c_subarray * dp.Ndwl), g_ip->burst_depth*g_ip->io_width, dp.Ndbl, dp.Ndwl, Data_path, dp); + area.h = membus_RAS->area.h; + area.w = membus_RAS->area.w; + + if (g_ip->print_detail_debug) + { + cout<<"uca.cc: area.h = "<is_3d_mem) + { + // Add TSV delay to the terms + // --- Although there are coarse and fine, because is_array and os_bank TSV are the same, so they are the same + TSV tsv_os_bank(Coarse); + TSV tsv_is_subarray(Fine); + if(g_ip->print_detail_debug) + { + tsv_os_bank.print_TSV(); + tsv_is_subarray.print_TSV(); + } + + comm_bits = 6; + row_add_bits = _log2(dp.num_r_subarray * dp.Ndbl); + col_add_bits = _log2(dp.num_c_subarray * dp.Ndwl); + data_bits = g_ip->burst_depth * g_ip->io_width; + + //enum Part_grain part_gran = Fine_rank_level; + + double redundancy_perc_TSV = 0.5; + switch(g_ip->partition_gran) + { + case 0:// Coarse_rank_level: + delay_TSV_tot = (g_ip->num_die_3d-1) * tsv_os_bank.delay; + num_TSV_tot = (comm_bits + row_add_bits + col_add_bits + data_bits*2) * (1 + redundancy_perc_TSV); //* (g_ip->nbanks/4) + area_TSV_tot = num_TSV_tot * tsv_os_bank.area.get_area(); + dyn_pow_TSV_tot = num_TSV_tot * (g_ip->num_die_3d-1) * tsv_os_bank.power.readOp.dynamic; + dyn_pow_TSV_per_access = (comm_bits + row_add_bits + col_add_bits + data_bits) * (g_ip->num_die_3d-1) * tsv_os_bank.power.readOp.dynamic; + area_address_bus = membus_RAS->area_address_bus * (1.0 + (double)comm_bits/(double)(row_add_bits + col_add_bits)); + area_data_bus = membus_RAS->area_data_bus; + break; + case 1://Fine_rank_level: + delay_TSV_tot = (g_ip->num_die_3d) * tsv_os_bank.delay; + num_TSV_tot = (comm_bits + row_add_bits + col_add_bits + data_bits/2) * g_ip->nbanks * (1 + redundancy_perc_TSV); + area_TSV_tot = num_TSV_tot * tsv_os_bank.area.get_area(); + dyn_pow_TSV_tot = num_TSV_tot * (g_ip->num_die_3d) * tsv_os_bank.power.readOp.dynamic; + dyn_pow_TSV_per_access = (comm_bits + row_add_bits + col_add_bits + data_bits) * (g_ip->num_die_3d) * tsv_os_bank.power.readOp.dynamic; + //area_address_bus = (comm_bits + row_add_bits + col_add_bits) * 25.0; + //area_data_bus = membus_RAS->area_data_bus + (double)data_bits/2 * 25.0; + break; + case 2://Coarse_bank_level: + delay_TSV_tot = (g_ip->num_die_3d) * tsv_os_bank.delay; + num_TSV_tot = (comm_bits + row_add_bits + col_add_bits + data_bits/2) * g_ip->nbanks + * g_ip->num_tier_row_sprd * g_ip->num_tier_col_sprd * (1 + redundancy_perc_TSV); + area_TSV_tot = num_TSV_tot * tsv_os_bank.area.get_area(); + dyn_pow_TSV_tot = num_TSV_tot * (g_ip->num_die_3d) * tsv_os_bank.power.readOp.dynamic; + dyn_pow_TSV_per_access = (comm_bits + row_add_bits + col_add_bits + data_bits) * (g_ip->num_die_3d) * tsv_os_bank.power.readOp.dynamic; + //area_address_bus = (comm_bits + row_add_bits + col_add_bits) * 25.0; + //area_data_bus = (double)data_bits/2 * 25.0; + + //activate_energy *= g_ip->num_tier_row_sprd * g_ip->num_tier_col_sprd; + //read_energy *= g_ip->num_tier_row_sprd * g_ip->num_tier_col_sprd; + //write_energy *= g_ip->num_tier_row_sprd * g_ip->num_tier_col_sprd; + //precharge_energy *= g_ip->num_tier_row_sprd * g_ip->num_tier_col_sprd; + break; + case 3://Fine_bank_level: + delay_TSV_tot = (g_ip->num_die_3d) * tsv_os_bank.delay; + num_TSV_tot = (comm_bits + row_add_bits + col_add_bits + data_bits) * g_ip->nbanks *g_ip->ndwl *g_ip->ndbl + /g_ip->num_tier_col_sprd /g_ip->num_tier_row_sprd * (1 + redundancy_perc_TSV); + area_TSV_tot = num_TSV_tot * tsv_os_bank.area.get_area(); + dyn_pow_TSV_tot = num_TSV_tot * (g_ip->num_die_3d) * tsv_os_bank.power.readOp.dynamic; + dyn_pow_TSV_per_access = (comm_bits + row_add_bits + col_add_bits + data_bits) * (g_ip->num_die_3d) * tsv_os_bank.power.readOp.dynamic; + //area_address_bus = pow(2, (comm_bits + row_add_bits + col_add_bits)) * 25.0; + //area_data_bus = pow(2, data_bits/2) * 25.0; + //activate_energy *= g_ip->num_tier_row_sprd * g_ip->num_tier_col_sprd; + //read_energy *= g_ip->num_tier_row_sprd * g_ip->num_tier_col_sprd; + //write_energy *= g_ip->num_tier_row_sprd * g_ip->num_tier_col_sprd; + //precharge_energy *= g_ip->num_tier_row_sprd * g_ip->num_tier_col_sprd; + break; + default: + assert(0); + break; + } + + if(g_ip->print_detail_debug) + { + cout << "uca.cc: num_TSV_tot = " << num_TSV_tot << endl; + } + + area_lwl_drv = membus_RAS->area_lwl_drv * g_ip->nbanks; + area_row_predec_dec = membus_RAS->area_row_predec_dec * g_ip->nbanks; + area_col_predec_dec = membus_CAS->area_col_predec_dec * g_ip->nbanks; + + area_subarray = membus_RAS->area_subarray * g_ip->nbanks; + area_bus = membus_RAS->area_bus * g_ip->nbanks; + + + area_data_drv = membus_data->area_data_drv * g_ip->nbanks; + area_IOSA = membus_data->area_IOSA * g_ip->nbanks; + area_sense_amp = membus_data->area_sense_amp * g_ip->nbanks; + + area_address_bus = membus_RAS->area_address_bus * (1.0 + (double)comm_bits/(double)(row_add_bits + col_add_bits)) * g_ip->nbanks;; + area_data_bus = membus_RAS->area_data_bus + membus_data->area_local_dataline * g_ip->nbanks; + + area_per_bank = (area_lwl_drv + area_row_predec_dec + area_col_predec_dec + + area_subarray + area_bus + area_data_drv + area_IOSA + + area_address_bus + area_data_bus)/g_ip->nbanks + area_sense_amp; + + + t_RCD += delay_TSV_tot; + t_RAS += delay_TSV_tot; + t_RC += delay_TSV_tot; + t_RP += delay_TSV_tot; + t_CAS += 2 * delay_TSV_tot; + t_RRD += delay_TSV_tot; + + activate_energy += dyn_pow_TSV_per_access; + read_energy += dyn_pow_TSV_per_access; + write_energy += dyn_pow_TSV_per_access; + precharge_energy += dyn_pow_TSV_per_access; + + //double area_per_die = area.get_area(); + //double area_stack_tot = g_ip->num_die_3d * (area.get_area() + area_TSV_tot); + //int num_die = g_ip->num_die_3d; + //area.set_area(area_stack_tot); + + if(g_ip->num_die_3d > 1 || g_ip->partition_gran > 0) + total_area_per_die = area_all_dataramcells + area_TSV_tot; + else + total_area_per_die = area_all_dataramcells; + + + + if(g_ip->is_3d_mem && g_ip->print_detail_debug) + { + + cout<<"------- CACTI 3D DRAM Main Memory -------"<cache_sz) << endl; + cout << " Number of banks: " << (int) g_ip->nbanks << endl; + cout << " Technology size (nm): " << + g_ip->F_sz_nm << endl; + cout << " Page size (bits): " << g_ip->page_sz_bits << endl; + cout << " Burst depth: " << g_ip->burst_depth << endl; + cout << " Chip IO width: " << g_ip->io_width << endl; + cout << " Ndwl: " << dp.Ndwl << endl; + cout << " Ndbl: " << dp.Ndbl << endl; + cout << " # rows in subarray: " << dp.num_r_subarray << endl; + cout << " # columns in subarray: " << dp.num_c_subarray << endl; + + cout << "\nResults:\n"; + cout<<" ******************Timing terms******************"<burst_depth)/(g_ip->sys_freq_MHz*1e6)/2) * 1e3 << " mW" <print_detail_debug) + { + cout<<" ********************Other terms******************"<center_stripe->power.readOp.dynamic + membus_RAS->bank_bus->power.readOp.dynamic + + membus_RAS->add_predec->power.readOp.dynamic + membus_RAS->add_dec->power.readOp.dynamic; + cout<<" Act Bus Energy: "<< act_bus_energy * 1e9 <<" nJ"<center_stripe->delay + membus_RAS->bank_bus->delay + + membus_RAS->add_predec->delay + membus_RAS->add_dec->delay; + cout<<" Act Bus Latency: "<< act_bus_latency * 1e9 <<" ns"<num_die_3d>1) + { + cout<<" ********************TSV terms******************"<is_3d_mem) + { + delete membus_RAS; + delete membus_CAS; + delete membus_data; + } +} + + + +double UCA::compute_delays(double inrisetime) +{ + double outrisetime = bank.compute_delays(inrisetime); + //CACTI3DD + if (g_ip->is_3d_mem) + { + outrisetime = bank.compute_delays(membus_RAS->out_rise_time); + + //ram_delay_inside_mat = bank.mat.delay_bitline;// + bank.mat.delay_matchchline; + //access_time = membus_RAS->delay + bank.mat.delay_bitline + bank.mat.delay_sa + membus_CAS->delay + membus_data->delay; + + //double t_rcd = membus_RAS->delay + bank.mat.delay_bitline + bank.mat.delay_sa; + //t_RCD= membus_RAS->add_dec->delay + membus_RAS->lwl_drv->delay + bank.mat.delay_bitline + bank.mat.delay_sa; + t_RCD = membus_RAS->add_dec->delay + membus_RAS->lwl_drv->delay + bank.mat.delay_bitline + bank.mat.delay_sa; + t_RAS = membus_RAS->delay + bank.mat.delay_bitline + bank.mat.delay_sa + bank.mat.delay_bl_restore; + precharge_delay = bank.mat.delay_writeback + + bank.mat.delay_wl_reset + bank.mat.delay_bl_restore; + t_RP = precharge_delay; + t_RC = t_RAS + t_RP; + t_CAS = membus_CAS->delay + bank.mat.delay_subarray_out_drv + membus_data->delay; + t_RRD = membus_RAS->center_stripe->delay + membus_RAS->bank_bus->delay; + //t_RRD = membus_RAS->delay; + access_time = t_RCD + t_CAS; + multisubbank_interleave_cycle_time = membus_RAS->center_stripe->delay + membus_RAS->bank_bus->delay; + //cout<<"uca.cc: multisubbank_interleave_cycle_time = "<delay = "<delay * 1e9 << " ns" <delay = "<delay * 1e9 << " ns" <delay = "<delay * 1e9 << " ns" <center_stripe->delay = "<center_stripe->delay * 1e9 << " ns" <bank_bus->delay = "<bank_bus->delay * 1e9 << " ns" <add_predec->delay = "<add_predec->delay * 1e9 << " ns" <add_dec->delay = "<add_dec->delay * 1e9 << " ns" <global_WL->delay = "<global_WL->delay * 1e9 << " ns" <lwl_drv->delay = "<lwl_drv->delay * 1e9 << " ns" <center_stripe->delay = "<center_stripe->delay * 1e9 << " ns" <bank_bus->delay = "<bank_bus->delay * 1e9 << " ns" <add_predec->delay = "<add_predec->delay * 1e9 << " ns" <add_dec->delay = "<add_dec->delay * 1e9 << " ns" <column_sel->delay = "<column_sel->delay * 1e9 << " ns" <center_stripe->delay = "<center_stripe->delay * 1e9 << " ns" <bank_bus->delay = "<bank_bus->delay * 1e9 << " ns" <global_data->delay = "<global_data->delay * 1e9 << " ns" <data_drv->delay = "<data_drv->delay * 1e9 << " ns" <local_data->delay = "<local_data->delay * 1e9 << " ns" <delay + bank.htree_in_add->delay; + double max_delay_before_row_decoder = delay_array_to_mat + bank.mat.r_predec->delay; + delay_array_to_sa_mux_lev_1_decoder = delay_array_to_mat + + bank.mat.sa_mux_lev_1_predec->delay + + bank.mat.sa_mux_lev_1_dec->delay; + delay_array_to_sa_mux_lev_2_decoder = delay_array_to_mat + + bank.mat.sa_mux_lev_2_predec->delay + + bank.mat.sa_mux_lev_2_dec->delay; + double delay_inside_mat = bank.mat.row_dec->delay + bank.mat.delay_bitline + bank.mat.delay_sa; + + delay_before_subarray_output_driver = + MAX(MAX(max_delay_before_row_decoder + delay_inside_mat, // row_path + delay_array_to_mat + bank.mat.b_mux_predec->delay + bank.mat.bit_mux_dec->delay + bank.mat.delay_sa), // col_path + MAX(delay_array_to_sa_mux_lev_1_decoder, // sa_mux_lev_1_path + delay_array_to_sa_mux_lev_2_decoder)); // sa_mux_lev_2_path + delay_from_subarray_out_drv_to_out = bank.mat.delay_subarray_out_drv_htree + + bank.htree_out_data->delay + htree_out_data->delay; + access_time = bank.mat.delay_comparator; + + double ram_delay_inside_mat; + if (dp.fully_assoc) + { + //delay of FA contains both CAM tag and RAM data + { //delay of CAM + ram_delay_inside_mat = bank.mat.delay_bitline + bank.mat.delay_matchchline; + access_time = htree_in_add->delay + bank.htree_in_add->delay; + //delay of fully-associative data array + access_time += ram_delay_inside_mat + delay_from_subarray_out_drv_to_out; + } + } + else + { + access_time = delay_before_subarray_output_driver + delay_from_subarray_out_drv_to_out; //data_acc_path + } + + if (dp.is_main_mem) + { + double t_rcd = max_delay_before_row_decoder + delay_inside_mat; + double cas_latency = MAX(delay_array_to_sa_mux_lev_1_decoder, delay_array_to_sa_mux_lev_2_decoder) + + delay_from_subarray_out_drv_to_out; + access_time = t_rcd + cas_latency; + } + + double temp; + + if (!dp.fully_assoc) + { + temp = delay_inside_mat + bank.mat.delay_wl_reset + bank.mat.delay_bl_restore;//TODO: : revisit + if (dp.is_dram) + { + temp += bank.mat.delay_writeback; // temp stores random cycle time + } + + + temp = MAX(temp, bank.mat.r_predec->delay); + temp = MAX(temp, bank.mat.b_mux_predec->delay); + temp = MAX(temp, bank.mat.sa_mux_lev_1_predec->delay); + temp = MAX(temp, bank.mat.sa_mux_lev_2_predec->delay); + } + else + { + ram_delay_inside_mat = bank.mat.delay_bitline + bank.mat.delay_matchchline; + temp = ram_delay_inside_mat + bank.mat.delay_cam_sl_restore + bank.mat.delay_cam_ml_reset + bank.mat.delay_bl_restore + + bank.mat.delay_hit_miss_reset + bank.mat.delay_wl_reset; + + temp = MAX(temp, bank.mat.b_mux_predec->delay);//TODO: revisit whether distinguish cam and ram bitline etc. + temp = MAX(temp, bank.mat.sa_mux_lev_1_predec->delay); + temp = MAX(temp, bank.mat.sa_mux_lev_2_predec->delay); + } + + // The following is true only if the input parameter "repeaters_in_htree" is set to false --Nav + if (g_ip->rpters_in_htree == false) + { + temp = MAX(temp, bank.htree_in_add->max_unpipelined_link_delay); + } + cycle_time = temp; + + double delay_req_network = max_delay_before_row_decoder; + double delay_rep_network = delay_from_subarray_out_drv_to_out; + multisubbank_interleave_cycle_time = MAX(delay_req_network, delay_rep_network); + + if (dp.is_main_mem) + { + multisubbank_interleave_cycle_time = htree_in_add->delay; + precharge_delay = htree_in_add->delay + + bank.htree_in_add->delay + bank.mat.delay_writeback + + bank.mat.delay_wl_reset + bank.mat.delay_bl_restore; + cycle_time = access_time + precharge_delay; + } + else + { + precharge_delay = 0; + } +/** + double dram_array_availability = 0; + if (dp.is_dram) + { + dram_array_availability = (1 - dp.num_r_subarray * cycle_time / dp.dram_refresh_period) * 100; + } +**/ + }//CACTI3DD, else + return outrisetime; +} + + + +// note: currently, power numbers are for a bank of an array +void UCA::compute_power_energy() +{ + bank.compute_power_energy(); + power = bank.power; + //CACTI3DD + if (g_ip->is_3d_mem) + { + double datapath_energy = 0.505e-9 *g_ip->F_sz_nm / 55; + //double chip_IO_width = 4; + //g_ip->burst_len = 4; + activate_energy = membus_RAS->power.readOp.dynamic + (bank.mat.power_bitline.readOp.dynamic + + bank.mat.power_sa.readOp.dynamic) * dp.Ndwl; // /4 + read_energy = (membus_CAS->power.readOp.dynamic + bank.mat.power_subarray_out_drv.readOp.dynamic + + membus_data->power.readOp.dynamic ) + datapath_energy; //* g_ip->burst_len; + write_energy = (membus_CAS->power.readOp.dynamic + bank.mat.power_subarray_out_drv.readOp.dynamic + + membus_data->power.readOp.dynamic + bank.mat.power_sa.readOp.dynamic * g_ip->burst_depth*g_ip->io_width/g_ip->page_sz_bits) + datapath_energy; //* g_ip->burst_len; + precharge_energy = (bank.mat.power_bitline.readOp.dynamic + + bank.mat.power_bl_precharge_eq_drv.readOp.dynamic)* dp.Ndwl; // /4 + + activate_power = activate_energy / t_RC; + double col_cycle_act_row; + //col_cycle_act_row = MAX(MAX(MAX(membus_CAS->center_stripe->delay + membus_CAS->bank_bus->delay, bank.mat.delay_subarray_out_drv), + //membus_data->delay), membus_data->out_seg->delay *g_ip->burst_depth); + //col_cycle_act_row = membus_data->out_seg->delay * g_ip->burst_depth; + col_cycle_act_row = (1e-6/(double)g_ip->sys_freq_MHz)/2 * g_ip->burst_depth; + //--- Activity factor assumption comes from Micron data spreadsheet. + read_power = 0.25 * read_energy / col_cycle_act_row; + write_power = 0.15 * write_energy / col_cycle_act_row; + + if (g_ip->print_detail_debug) + { + cout<<"Row Address Delay components: "<power.readOp.dynamic = "<< membus_RAS->power.readOp.dynamic * 1e9 << " nJ" <power.readOp.dynamic = "<< membus_CAS->power.readOp.dynamic * 1e9 << " nJ" <power.readOp.dynamic = "<< membus_data->power.readOp.dynamic * 1e9 << " nJ" <power_bus.readOp.dynamic = "<power_bus.readOp.dynamic * 1e9 << " nJ" <power_add_predecoder.readOp.dynamic = "<< membus_RAS->power_add_predecoder.readOp.dynamic * 1e9 << " nJ" <power_add_decoders.readOp.dynamic = "<< membus_RAS->power_add_decoders.readOp.dynamic * 1e9 << " nJ" <power_lwl_drv.readOp.dynamic = "<< membus_RAS->power_lwl_drv.readOp.dynamic * 1e9 << " nJ" <power_bus.readOp.dynamic = "<< membus_CAS->power_bus.readOp.dynamic * 1e9 << " nJ" <power_add_predecoder.readOp.dynamic = "<< membus_CAS->power_add_predecoder.readOp.dynamic * 1e9 << " nJ" <power_add_decoders.readOp.dynamic = "<< membus_CAS->power_add_decoders.readOp.dynamic * 1e9 << " nJ" <power.readOp.dynamic = "<< membus_CAS->power.readOp.dynamic * 1e9 << " nJ" <power.readOp.dynamic = "<< membus_data->power.readOp.dynamic * 1e9 << " nJ" <power.readOp.dynamic + htree_out_data->power.readOp.dynamic; + power_routing_to_bank.writeOp.dynamic = htree_in_add->power.readOp.dynamic + htree_in_data->power.readOp.dynamic; + if (dp.fully_assoc || dp.pure_cam) + power_routing_to_bank.searchOp.dynamic= htree_in_search->power.searchOp.dynamic + htree_out_search->power.searchOp.dynamic; + + power_routing_to_bank.readOp.leakage += htree_in_add->power.readOp.leakage + + htree_in_data->power.readOp.leakage + + htree_out_data->power.readOp.leakage; + + power_routing_to_bank.readOp.gate_leakage += htree_in_add->power.readOp.gate_leakage + + htree_in_data->power.readOp.gate_leakage + + htree_out_data->power.readOp.gate_leakage; + if (dp.fully_assoc || dp.pure_cam) + { + power_routing_to_bank.readOp.leakage += htree_in_search->power.readOp.leakage + htree_out_search->power.readOp.leakage; + power_routing_to_bank.readOp.gate_leakage += htree_in_search->power.readOp.gate_leakage + htree_out_search->power.readOp.gate_leakage; + } + + power.searchOp.dynamic += power_routing_to_bank.searchOp.dynamic; + power.readOp.dynamic += power_routing_to_bank.readOp.dynamic; + power.readOp.leakage += power_routing_to_bank.readOp.leakage; + power.readOp.gate_leakage += power_routing_to_bank.readOp.gate_leakage; + + // calculate total write energy per access + power.writeOp.dynamic = power.readOp.dynamic + - bank.mat.power_bitline.readOp.dynamic * dp.num_act_mats_hor_dir + + bank.mat.power_bitline.writeOp.dynamic * dp.num_act_mats_hor_dir + - power_routing_to_bank.readOp.dynamic + + power_routing_to_bank.writeOp.dynamic + + bank.htree_in_data->power.readOp.dynamic + - bank.htree_out_data->power.readOp.dynamic; + + if (dp.is_dram == false) + { + power.writeOp.dynamic -= bank.mat.power_sa.readOp.dynamic * dp.num_act_mats_hor_dir; + } + + dyn_read_energy_from_closed_page = power.readOp.dynamic; + dyn_read_energy_from_open_page = power.readOp.dynamic - + (bank.mat.r_predec->power.readOp.dynamic + + bank.mat.power_row_decoders.readOp.dynamic + + bank.mat.power_bl_precharge_eq_drv.readOp.dynamic + + bank.mat.power_sa.readOp.dynamic + + bank.mat.power_bitline.readOp.dynamic) * dp.num_act_mats_hor_dir; + + dyn_read_energy_remaining_words_in_burst = + (MAX((g_ip->burst_len / g_ip->int_prefetch_w), 1) - 1) * + ((bank.mat.sa_mux_lev_1_predec->power.readOp.dynamic + + bank.mat.sa_mux_lev_2_predec->power.readOp.dynamic + + bank.mat.power_sa_mux_lev_1_decoders.readOp.dynamic + + bank.mat.power_sa_mux_lev_2_decoders.readOp.dynamic + + bank.mat.power_subarray_out_drv.readOp.dynamic) * dp.num_act_mats_hor_dir + + bank.htree_out_data->power.readOp.dynamic + + power_routing_to_bank.readOp.dynamic); + dyn_read_energy_from_closed_page += dyn_read_energy_remaining_words_in_burst; + dyn_read_energy_from_open_page += dyn_read_energy_remaining_words_in_burst; + + activate_energy = htree_in_add->power.readOp.dynamic + + bank.htree_in_add->power_bit.readOp.dynamic * bank.num_addr_b_routed_to_mat_for_act + + (bank.mat.r_predec->power.readOp.dynamic + + bank.mat.power_row_decoders.readOp.dynamic + + bank.mat.power_sa.readOp.dynamic) * dp.num_act_mats_hor_dir; + read_energy = (htree_in_add->power.readOp.dynamic + + bank.htree_in_add->power_bit.readOp.dynamic * bank.num_addr_b_routed_to_mat_for_rd_or_wr + + (bank.mat.sa_mux_lev_1_predec->power.readOp.dynamic + + bank.mat.sa_mux_lev_2_predec->power.readOp.dynamic + + bank.mat.power_sa_mux_lev_1_decoders.readOp.dynamic + + bank.mat.power_sa_mux_lev_2_decoders.readOp.dynamic + + bank.mat.power_subarray_out_drv.readOp.dynamic) * dp.num_act_mats_hor_dir + + bank.htree_out_data->power.readOp.dynamic + + htree_in_data->power.readOp.dynamic) * g_ip->burst_len; + write_energy = (htree_in_add->power.readOp.dynamic + + bank.htree_in_add->power_bit.readOp.dynamic * bank.num_addr_b_routed_to_mat_for_rd_or_wr + + htree_in_data->power.readOp.dynamic + + bank.htree_in_data->power.readOp.dynamic + + (bank.mat.sa_mux_lev_1_predec->power.readOp.dynamic + + bank.mat.sa_mux_lev_2_predec->power.readOp.dynamic + + bank.mat.power_sa_mux_lev_1_decoders.readOp.dynamic + + bank.mat.power_sa_mux_lev_2_decoders.readOp.dynamic) * dp.num_act_mats_hor_dir) * g_ip->burst_len; + precharge_energy = (bank.mat.power_bitline.readOp.dynamic + + bank.mat.power_bl_precharge_eq_drv.readOp.dynamic) * dp.num_act_mats_hor_dir; + } //CACTI3DD + leak_power_subbank_closed_page = + (bank.mat.r_predec->power.readOp.leakage + + bank.mat.b_mux_predec->power.readOp.leakage + + bank.mat.sa_mux_lev_1_predec->power.readOp.leakage + + bank.mat.sa_mux_lev_2_predec->power.readOp.leakage + + bank.mat.power_row_decoders.readOp.leakage + + bank.mat.power_bit_mux_decoders.readOp.leakage + + bank.mat.power_sa_mux_lev_1_decoders.readOp.leakage + + bank.mat.power_sa_mux_lev_2_decoders.readOp.leakage + + bank.mat.leak_power_sense_amps_closed_page_state) * dp.num_act_mats_hor_dir; + + leak_power_subbank_closed_page += + (bank.mat.r_predec->power.readOp.gate_leakage + + bank.mat.b_mux_predec->power.readOp.gate_leakage + + bank.mat.sa_mux_lev_1_predec->power.readOp.gate_leakage + + bank.mat.sa_mux_lev_2_predec->power.readOp.gate_leakage + + bank.mat.power_row_decoders.readOp.gate_leakage + + bank.mat.power_bit_mux_decoders.readOp.gate_leakage + + bank.mat.power_sa_mux_lev_1_decoders.readOp.gate_leakage + + bank.mat.power_sa_mux_lev_2_decoders.readOp.gate_leakage) * dp.num_act_mats_hor_dir; //+ + //bank.mat.leak_power_sense_amps_closed_page_state) * dp.num_act_mats_hor_dir; + + leak_power_subbank_open_page = + (bank.mat.r_predec->power.readOp.leakage + + bank.mat.b_mux_predec->power.readOp.leakage + + bank.mat.sa_mux_lev_1_predec->power.readOp.leakage + + bank.mat.sa_mux_lev_2_predec->power.readOp.leakage + + bank.mat.power_row_decoders.readOp.leakage + + bank.mat.power_bit_mux_decoders.readOp.leakage + + bank.mat.power_sa_mux_lev_1_decoders.readOp.leakage + + bank.mat.power_sa_mux_lev_2_decoders.readOp.leakage + + bank.mat.leak_power_sense_amps_open_page_state) * dp.num_act_mats_hor_dir; + + leak_power_subbank_open_page += + (bank.mat.r_predec->power.readOp.gate_leakage + + bank.mat.b_mux_predec->power.readOp.gate_leakage + + bank.mat.sa_mux_lev_1_predec->power.readOp.gate_leakage + + bank.mat.sa_mux_lev_2_predec->power.readOp.gate_leakage + + bank.mat.power_row_decoders.readOp.gate_leakage + + bank.mat.power_bit_mux_decoders.readOp.gate_leakage + + bank.mat.power_sa_mux_lev_1_decoders.readOp.gate_leakage + + bank.mat.power_sa_mux_lev_2_decoders.readOp.gate_leakage ) * dp.num_act_mats_hor_dir; + //bank.mat.leak_power_sense_amps_open_page_state) * dp.num_act_mats_hor_dir; + + leak_power_request_and_reply_networks = + power_routing_to_bank.readOp.leakage + + bank.htree_in_add->power.readOp.leakage + + bank.htree_in_data->power.readOp.leakage + + bank.htree_out_data->power.readOp.leakage; + + leak_power_request_and_reply_networks += + power_routing_to_bank.readOp.gate_leakage + + bank.htree_in_add->power.readOp.gate_leakage + + bank.htree_in_data->power.readOp.gate_leakage + + bank.htree_out_data->power.readOp.gate_leakage; + + if (dp.fully_assoc || dp.pure_cam) + { + leak_power_request_and_reply_networks += htree_in_search->power.readOp.leakage + htree_out_search->power.readOp.leakage; + leak_power_request_and_reply_networks += htree_in_search->power.readOp.gate_leakage + htree_out_search->power.readOp.gate_leakage; + } + + + if (dp.is_dram) + { // if DRAM, add contribution of power spent in row predecoder drivers, blocks and decoders to refresh power + refresh_power = (bank.mat.r_predec->power.readOp.dynamic * dp.num_act_mats_hor_dir + + bank.mat.row_dec->power.readOp.dynamic) * dp.num_r_subarray * dp.num_subarrays; + refresh_power += bank.mat.per_bitline_read_energy * dp.num_c_subarray * dp.num_r_subarray * dp.num_subarrays; + refresh_power += bank.mat.power_bl_precharge_eq_drv.readOp.dynamic * dp.num_act_mats_hor_dir; + refresh_power += bank.mat.power_sa.readOp.dynamic * dp.num_act_mats_hor_dir; + refresh_power /= dp.dram_refresh_period; + } + + + if (dp.is_tag == false) + { + power.readOp.dynamic = dyn_read_energy_from_closed_page; + power.writeOp.dynamic = dyn_read_energy_from_closed_page + - dyn_read_energy_remaining_words_in_burst + - bank.mat.power_bitline.readOp.dynamic * dp.num_act_mats_hor_dir + + bank.mat.power_bitline.writeOp.dynamic * dp.num_act_mats_hor_dir + + (power_routing_to_bank.writeOp.dynamic - + power_routing_to_bank.readOp.dynamic - + bank.htree_out_data->power.readOp.dynamic + + bank.htree_in_data->power.readOp.dynamic) * + (MAX((g_ip->burst_len / g_ip->int_prefetch_w), 1) - 1); //FIXME + + if (dp.is_dram == false) + { + power.writeOp.dynamic -= bank.mat.power_sa.readOp.dynamic * dp.num_act_mats_hor_dir; + } + } + + // if DRAM, add refresh power to total leakage + if (dp.is_dram) + { + power.readOp.leakage += refresh_power; + } + + // TODO: below should be avoided. + /*if (dp.is_main_mem) + { + power.readOp.leakage += MAIN_MEM_PER_CHIP_STANDBY_CURRENT_mA * 1e-3 * g_tp.peri_global.Vdd / g_ip->nbanks; + }*/ + + if (g_ip->is_3d_mem) + {// ---This is only to make sure the following assert() functions don't generate errors. The values are not used in 3D DRAM models + // power = power + membus_RAS->power + membus_CAS->power + membus_data->power; //for leakage power add up, not used yet for optimization + power.readOp.dynamic = read_energy; + power.writeOp.dynamic = write_energy; + // ---Before the brackets, power = power.bank, and all the specific leakage terms have and only have accounted for bank to mat levels. + // power.readOp.leakage = power.readOp.leakage + membus_RAS->power.readOp.leakage + membus_CAS->power.readOp.leakage + membus_data->power.readOp.leakage; + power.readOp.leakage =membus_RAS->power.readOp.leakage + membus_CAS->power.readOp.leakage + membus_data->power.readOp.leakage; + //cout << "test: " << power.readOp.dynamic << endl; + //cout << "test: " << membus_RAS->power.readOp.leakage << endl; + //cout << "test: " << membus_CAS->power.readOp.leakage << endl; + //cout << "test: " << membus_data->power.readOp.leakage << endl; + //cout << "test: power.readOp.leakage" << power.readOp.leakage << endl; + } + + assert(power.readOp.dynamic > 0); + assert(power.writeOp.dynamic > 0); + assert(power.readOp.leakage > 0); +} + diff --git a/T1/TP1/cacti-master/uca.h b/T1/TP1/cacti-master/uca.h new file mode 100644 index 0000000..7b6aa38 --- /dev/null +++ b/T1/TP1/cacti-master/uca.h @@ -0,0 +1,116 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + + + +#ifndef __UCA_H__ +#define __UCA_H__ + +#include "area.h" +#include "bank.h" +#include "component.h" +#include "parameter.h" +#include "htree2.h" +#include "memorybus.h" +#include "basic_circuit.h" +#include "cacti_interface.h" + + + +class UCA : public Component +{ + public: + UCA(const DynamicParameter & dyn_p); + ~UCA(); + double compute_delays(double inrisetime); // returns outrisetime + void compute_power_energy(); + + DynamicParameter dp; + Bank bank; + + Htree2 * htree_in_add; + Htree2 * htree_in_data; + Htree2 * htree_out_data; + Htree2 * htree_in_search; + Htree2 * htree_out_search; + + Memorybus * membus_RAS; + Memorybus * membus_CAS; + Memorybus * membus_data; + + powerDef power_routing_to_bank; + + uint32_t nbanks; + + int num_addr_b_bank; + int num_di_b_bank; + int num_do_b_bank; + int num_si_b_bank; + int num_so_b_bank; + int RWP, ERP, EWP,SCHP; + double area_all_dataramcells; + double total_area_per_die; + + double dyn_read_energy_from_closed_page; + double dyn_read_energy_from_open_page; + double dyn_read_energy_remaining_words_in_burst; + + double refresh_power; // only for DRAM + double activate_energy; + double read_energy; + double write_energy; + double precharge_energy; + double leak_power_subbank_closed_page; + double leak_power_subbank_open_page; + double leak_power_request_and_reply_networks; + + double delay_array_to_sa_mux_lev_1_decoder; + double delay_array_to_sa_mux_lev_2_decoder; + double delay_before_subarray_output_driver; + double delay_from_subarray_out_drv_to_out; + double access_time; + double precharge_delay; + double multisubbank_interleave_cycle_time; + + double t_RAS, t_CAS, t_RCD, t_RC, t_RP, t_RRD; + double activate_power, read_power, write_power; + + double delay_TSV_tot, area_TSV_tot, dyn_pow_TSV_tot, dyn_pow_TSV_per_access; + unsigned int num_TSV_tot; + unsigned int comm_bits, row_add_bits, col_add_bits, data_bits; + double area_lwl_drv, area_row_predec_dec, area_col_predec_dec, + area_subarray, area_bus, area_address_bus, area_data_bus, area_data_drv, area_IOSA, area_sense_amp, + area_per_bank; + +}; + +#endif + diff --git a/T1/TP1/cacti-master/version_cacti.h b/T1/TP1/cacti-master/version_cacti.h new file mode 100644 index 0000000..e1528bb --- /dev/null +++ b/T1/TP1/cacti-master/version_cacti.h @@ -0,0 +1,40 @@ +/***************************************************************************** + * McPAT + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + +#ifndef VERSION_H_ +#define VERSION_H_ + +#define VER_MAJOR_CACTI 7 /* 3dd */ +#define VER_MINOR_CACTI 0 +#define VER_COMMENT_CACTI "3DD Prerelease" +#define VER_UPDATE_CACTI "Aug, 2012" + +#endif /* VERSION_H_ */ diff --git a/T1/TP1/cacti-master/wire.cc b/T1/TP1/cacti-master/wire.cc new file mode 100644 index 0000000..55a08ae --- /dev/null +++ b/T1/TP1/cacti-master/wire.cc @@ -0,0 +1,830 @@ +/***************************************************************************** + * CACTI 7.0 + * SOFTWARE LICENSE AGREEMENT + * Copyright 2015 Hewlett-Packard Development Company, L.P. + * All Rights Reserved + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.” + * + ***************************************************************************/ + +#include "wire.h" +#include "cmath" +// use this constructor to calculate wire stats +Wire::Wire( + enum Wire_type wire_model, + double wl, + int n, + double w_s, + double s_s, + enum Wire_placement wp, + double resistivity, + /*TechnologyParameter::*/DeviceType *dt + ):wt(wire_model), wire_length(wl*1e-6), nsense(n), w_scale(w_s), s_scale(s_s), + resistivity(resistivity), deviceType(dt) +{ + wire_placement = wp; + min_w_pmos = deviceType->n_to_p_eff_curr_drv_ratio*g_tp.min_w_nmos_; + in_rise_time = 0; + out_rise_time = 0; + if (initialized != 1) { + cout << "Wire not initialized. Initializing it with default values\n"; + Wire winit; + } + calculate_wire_stats(); + // change everything back to seconds, microns, and Joules + repeater_spacing *= 1e6; + wire_length *= 1e6; + wire_width *= 1e6; + wire_spacing *= 1e6; + assert(wire_length > 0); + assert(power.readOp.dynamic > 0); + assert(power.readOp.leakage > 0); + assert(power.readOp.gate_leakage > 0); +} + + // the following values are for peripheral global technology + // specified in the input config file + Component Wire::global; + Component Wire::global_5; + Component Wire::global_10; + Component Wire::global_20; + Component Wire::global_30; + Component Wire::low_swing; + + int Wire::initialized; + double Wire::wire_width_init; + double Wire::wire_spacing_init; + + +Wire::Wire(double w_s, double s_s, enum Wire_placement wp, double resis, /*TechnologyParameter::*/DeviceType *dt) +{ + w_scale = w_s; + s_scale = s_s; + deviceType = dt; + wire_placement = wp; + resistivity = resis; + min_w_pmos = deviceType->n_to_p_eff_curr_drv_ratio * g_tp.min_w_nmos_; + in_rise_time = 0; + out_rise_time = 0; + + switch (wire_placement) + { + case outside_mat: wire_width = g_tp.wire_outside_mat.pitch/2; break; + case inside_mat : wire_width = g_tp.wire_inside_mat.pitch/2; break; + default: wire_width = g_tp.wire_local.pitch/2; break; + } + + wire_spacing = wire_width; + + wire_width *= (w_scale * 1e-6/2) /* (m) */; + wire_spacing *= (s_scale * 1e-6/2) /* (m) */; + + initialized = 1; + init_wire(); + wire_width_init = wire_width; + wire_spacing_init = wire_spacing; + + assert(power.readOp.dynamic > 0); + assert(power.readOp.leakage > 0); + assert(power.readOp.gate_leakage > 0); +} + + + +Wire::~Wire() +{ +} + + + +void +Wire::calculate_wire_stats() +{ + + if (wire_placement == outside_mat) { + wire_width = g_tp.wire_outside_mat.pitch/2; + } + else if (wire_placement == inside_mat) { + wire_width = g_tp.wire_inside_mat.pitch/2; + } + else { + wire_width = g_tp.wire_local.pitch/2; + } + + wire_spacing = wire_width; + + wire_width *= (w_scale * 1e-6/2) /* (m) */; + wire_spacing *= (s_scale * 1e-6/2) /* (m) */; + + + if (wt != Low_swing) { + + // delay_optimal_wire(); + + if (wt == Global) { + delay = global.delay * wire_length; + power.readOp.dynamic = global.power.readOp.dynamic * wire_length; + power.readOp.leakage = global.power.readOp.leakage * wire_length; + power.readOp.gate_leakage = global.power.readOp.gate_leakage * wire_length; + repeater_spacing = global.area.w; + repeater_size = global.area.h; + area.set_area((wire_length/repeater_spacing) * + compute_gate_area(INV, 1, min_w_pmos * repeater_size, + g_tp.min_w_nmos_ * repeater_size, g_tp.cell_h_def)); + } + else if (wt == Global_5) { + delay = global_5.delay * wire_length; + power.readOp.dynamic = global_5.power.readOp.dynamic * wire_length; + power.readOp.leakage = global_5.power.readOp.leakage * wire_length; + power.readOp.gate_leakage = global_5.power.readOp.gate_leakage * wire_length; + repeater_spacing = global_5.area.w; + repeater_size = global_5.area.h; + area.set_area((wire_length/repeater_spacing) * + compute_gate_area(INV, 1, min_w_pmos * repeater_size, + g_tp.min_w_nmos_ * repeater_size, g_tp.cell_h_def)); + } + else if (wt == Global_10) { + delay = global_10.delay * wire_length; + power.readOp.dynamic = global_10.power.readOp.dynamic * wire_length; + power.readOp.leakage = global_10.power.readOp.leakage * wire_length; + power.readOp.gate_leakage = global_10.power.readOp.gate_leakage * wire_length; + repeater_spacing = global_10.area.w; + repeater_size = global_10.area.h; + area.set_area((wire_length/repeater_spacing) * + compute_gate_area(INV, 1, min_w_pmos * repeater_size, + g_tp.min_w_nmos_ * repeater_size, g_tp.cell_h_def)); + } + else if (wt == Global_20) { + delay = global_20.delay * wire_length; + power.readOp.dynamic = global_20.power.readOp.dynamic * wire_length; + power.readOp.leakage = global_20.power.readOp.leakage * wire_length; + power.readOp.gate_leakage = global_20.power.readOp.gate_leakage * wire_length; + repeater_spacing = global_20.area.w; + repeater_size = global_20.area.h; + area.set_area((wire_length/repeater_spacing) * + compute_gate_area(INV, 1, min_w_pmos * repeater_size, + g_tp.min_w_nmos_ * repeater_size, g_tp.cell_h_def)); + } + else if (wt == Global_30) { + delay = global_30.delay * wire_length; + power.readOp.dynamic = global_30.power.readOp.dynamic * wire_length; + power.readOp.leakage = global_30.power.readOp.leakage * wire_length; + power.readOp.gate_leakage = global_30.power.readOp.gate_leakage * wire_length; + repeater_spacing = global_30.area.w; + repeater_size = global_30.area.h; + area.set_area((wire_length/repeater_spacing) * + compute_gate_area(INV, 1, min_w_pmos * repeater_size, + g_tp.min_w_nmos_ * repeater_size, g_tp.cell_h_def)); + } + out_rise_time = delay*repeater_spacing/deviceType->Vth; + } + else if (wt == Low_swing) { + low_swing_model (); + repeater_spacing = wire_length; + repeater_size = 1; + } + else { + assert(0); + } +} + + + +/* + * The fall time of an input signal to the first stage of a circuit is + * assumed to be same as the fall time of the output signal of two + * inverters connected in series (refer: CACTI 1 Technical report, + * section 6.1.3) + */ + double +Wire::signal_fall_time () +{ + + /* rise time of inverter 1's output */ + double rt; + /* fall time of inverter 2's output */ + double ft; + double timeconst; + + timeconst = (drain_C_(g_tp.min_w_nmos_, NCH, 1, 1, g_tp.cell_h_def) + + drain_C_(min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + gate_C(min_w_pmos + g_tp.min_w_nmos_, 0)) * + tr_R_on(min_w_pmos, PCH, 1); + rt = horowitz (0, timeconst, deviceType->Vth/deviceType->Vdd, deviceType->Vth/deviceType->Vdd, FALL) / (deviceType->Vdd - deviceType->Vth); + timeconst = (drain_C_(g_tp.min_w_nmos_, NCH, 1, 1, g_tp.cell_h_def) + + drain_C_(min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + gate_C(min_w_pmos + g_tp.min_w_nmos_, 0)) * + tr_R_on(g_tp.min_w_nmos_, NCH, 1); + ft = horowitz (rt, timeconst, deviceType->Vth/deviceType->Vdd, deviceType->Vth/deviceType->Vdd, RISE) / deviceType->Vth; + return ft; +} + + + +double Wire::signal_rise_time () +{ + + /* rise time of inverter 1's output */ + double ft; + /* fall time of inverter 2's output */ + double rt; + double timeconst; + + timeconst = (drain_C_(g_tp.min_w_nmos_, NCH, 1, 1, g_tp.cell_h_def) + + drain_C_(min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + gate_C(min_w_pmos + g_tp.min_w_nmos_, 0)) * + tr_R_on(g_tp.min_w_nmos_, NCH, 1); + rt = horowitz (0, timeconst, deviceType->Vth/deviceType->Vdd, deviceType->Vth/deviceType->Vdd, RISE) / deviceType->Vth; + timeconst = (drain_C_(g_tp.min_w_nmos_, NCH, 1, 1, g_tp.cell_h_def) + + drain_C_(min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + gate_C(min_w_pmos + g_tp.min_w_nmos_, 0)) * + tr_R_on(min_w_pmos, PCH, 1); + ft = horowitz (rt, timeconst, deviceType->Vth/deviceType->Vdd, deviceType->Vth/deviceType->Vdd, FALL) / (deviceType->Vdd - deviceType->Vth); + return ft; //sec +} + + + +/* Wire resistance and capacitance calculations + * wire width + * + * /__/ + * | | + * | | height = ASPECT_RATIO*wire width (ASPECT_RATIO = 2.2, ref: ITRS) + * |__|/ + * + * spacing between wires in same level = wire width + * + */ + +double Wire::wire_cap (double len /* in m */, bool call_from_outside) +{ + //TODO: this should be consistent with the wire_res in technology file + double sidewall, adj, tot_cap; + double wire_height; + double epsilon0 = 8.8542e-12; + double aspect_ratio, horiz_dielectric_constant, vert_dielectric_constant, miller_value,ild_thickness; + + switch (wire_placement) + { + case outside_mat: + { + aspect_ratio = g_tp.wire_outside_mat.aspect_ratio; + horiz_dielectric_constant = g_tp.wire_outside_mat.horiz_dielectric_constant; + vert_dielectric_constant = g_tp.wire_outside_mat.vert_dielectric_constant; + miller_value = g_tp.wire_outside_mat.miller_value; + ild_thickness = g_tp.wire_outside_mat.ild_thickness; + break; + } + case inside_mat : + { + aspect_ratio = g_tp.wire_inside_mat.aspect_ratio; + horiz_dielectric_constant = g_tp.wire_inside_mat.horiz_dielectric_constant; + vert_dielectric_constant = g_tp.wire_inside_mat.vert_dielectric_constant; + miller_value = g_tp.wire_inside_mat.miller_value; + ild_thickness = g_tp.wire_inside_mat.ild_thickness; + break; + } + default: + { + aspect_ratio = g_tp.wire_local.aspect_ratio; + horiz_dielectric_constant = g_tp.wire_local.horiz_dielectric_constant; + vert_dielectric_constant = g_tp.wire_local.vert_dielectric_constant; + miller_value = g_tp.wire_local.miller_value; + ild_thickness = g_tp.wire_local.ild_thickness; + break; + } + } + + if (call_from_outside) + { + wire_width *= 1e-6; + wire_spacing *= 1e-6; + } + wire_height = wire_width/w_scale*aspect_ratio; + /* + * assuming height does not change. wire_width = width_original*w_scale + * So wire_height does not change as wire width increases + */ + +// capacitance between wires in the same level +// sidewall = 2*miller_value * horiz_dielectric_constant * (wire_height/wire_spacing) +// * epsilon0; + + sidewall = miller_value * horiz_dielectric_constant * (wire_height/wire_spacing) + * epsilon0; + + + // capacitance between wires in adjacent levels + //adj = miller_value * vert_dielectric_constant *w_scale * epsilon0; + //adj = 2*vert_dielectric_constant *wire_width/(ild_thickness*1e-6) * epsilon0; + + adj = miller_value *vert_dielectric_constant *wire_width/(ild_thickness*1e-6) * epsilon0; + //Change ild_thickness from micron to M + + //tot_cap = (sidewall + adj + (deviceType->C_fringe * 1e6)); //F/m + tot_cap = (sidewall + adj + (g_tp.fringe_cap * 1e6)); //F/m + + if (call_from_outside) + { + wire_width *= 1e6; + wire_spacing *= 1e6; + } + return (tot_cap*len); // (F) +} + + + double +Wire::wire_res (double len /*(in m)*/) +{ + + double aspect_ratio,alpha_scatter =1.05, dishing_thickness=0, barrier_thickness=0; + //TODO: this should be consistent with the wire_res in technology file + //The whole computation should be consistent with the wire_res in technology.cc too! + + switch (wire_placement) + { + case outside_mat: + { + aspect_ratio = g_tp.wire_outside_mat.aspect_ratio; + break; + } + case inside_mat : + { + aspect_ratio = g_tp.wire_inside_mat.aspect_ratio; + break; + } + default: + { + aspect_ratio = g_tp.wire_local.aspect_ratio; + break; + } + } + return (alpha_scatter * resistivity * 1e-6 * len/((aspect_ratio*wire_width/w_scale-dishing_thickness - barrier_thickness)* + (wire_width-2*barrier_thickness))); +} + +/* + * Calculates the delay, power and area of the transmitter circuit. + * + * The transmitter delay is the sum of nand gate delay, inverter delay + * low swing nmos delay, and the wire delay + * (ref: Technical report 6) + */ + void +Wire::low_swing_model() +{ + double len = wire_length; + double beta = pmos_to_nmos_sz_ratio(); + + + double inputrise = (in_rise_time == 0) ? signal_rise_time() : in_rise_time; + + /* Final nmos low swing driver size calculation: + * Try to size the driver such that the delay + * is less than 8FO4. + * If the driver size is greater than + * the max allowable size, assume max size for the driver. + * In either case, recalculate the delay using + * the final driver size assuming slow input with + * finite rise time instead of ideal step input + * + * (ref: Technical report 6) + */ + double cwire = wire_cap(len); /* load capacitance */ + double rwire = wire_res(len); + +#define RES_ADJ (8.6) // Increase in resistance due to low driving vol. + + double driver_res = (-8*g_tp.FO4/(log(0.5) * cwire))/RES_ADJ; + double nsize = R_to_w(driver_res, NCH); + + nsize = MIN(nsize, g_tp.max_w_nmos_); + nsize = MAX(nsize, g_tp.min_w_nmos_); + + if(rwire*cwire > 8*g_tp.FO4) + { + nsize = g_tp.max_w_nmos_; + } + + // size the inverter appropriately to minimize the transmitter delay + // Note - In order to minimize leakage, we are not adding a set of inverters to + // bring down delay. Instead, we are sizing the single gate + // based on the logical effort. + double st_eff = sqrt((2+beta/1+beta)*gate_C(nsize, 0)/(gate_C(2*g_tp.min_w_nmos_, 0) + + gate_C(2*min_w_pmos, 0))); + double req_cin = ((2+beta/1+beta)*gate_C(nsize, 0))/st_eff; + double inv_size = req_cin/(gate_C(min_w_pmos, 0) + gate_C(g_tp.min_w_nmos_, 0)); + inv_size = MAX(inv_size, 1); + + /* nand gate delay */ + double res_eq = (2 * tr_R_on(g_tp.min_w_nmos_, NCH, 1)); + double cap_eq = 2 * drain_C_(min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + drain_C_(2*g_tp.min_w_nmos_, NCH, 1, 1, g_tp.cell_h_def) + + gate_C(inv_size*g_tp.min_w_nmos_, 0) + + gate_C(inv_size*min_w_pmos, 0); + + double timeconst = res_eq * cap_eq; + + delay = horowitz(inputrise, timeconst, deviceType->Vth/deviceType->Vdd, + deviceType->Vth/deviceType->Vdd, RISE); + double temp_power = cap_eq*deviceType->Vdd*deviceType->Vdd; + + inputrise = delay / (deviceType->Vdd - deviceType->Vth); /* for the next stage */ + + /* Inverter delay: + * The load capacitance of this inv depends on + * the gate capacitance of the final stage nmos + * transistor which in turn depends on nsize + */ + res_eq = tr_R_on(inv_size*min_w_pmos, PCH, 1); + cap_eq = drain_C_(inv_size*min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + drain_C_(inv_size*g_tp.min_w_nmos_, NCH, 1, 1, g_tp.cell_h_def) + + gate_C(nsize, 0); + timeconst = res_eq * cap_eq; + + delay += horowitz(inputrise, timeconst, deviceType->Vth/deviceType->Vdd, + deviceType->Vth/deviceType->Vdd, FALL); + temp_power += cap_eq*deviceType->Vdd*deviceType->Vdd; + + + transmitter.delay = delay; + transmitter.power.readOp.dynamic = temp_power*2; /* since it is a diff. model*/ + transmitter.power.readOp.leakage = deviceType->Vdd * + (4 * cmos_Isub_leakage(g_tp.min_w_nmos_, min_w_pmos, 2, nand) + + 4 * cmos_Isub_leakage(g_tp.min_w_nmos_, min_w_pmos, 1, inv)); + + transmitter.power.readOp.gate_leakage = deviceType->Vdd * + (4 * cmos_Ig_leakage(g_tp.min_w_nmos_, min_w_pmos, 2, nand) + + 4 * cmos_Ig_leakage(g_tp.min_w_nmos_, min_w_pmos, 1, inv)); + + inputrise = delay / deviceType->Vth; + + /* nmos delay + wire delay */ + cap_eq = cwire + drain_C_(nsize, NCH, 1, 1, g_tp.cell_h_def)*2 + + nsense * sense_amp_input_cap(); //+receiver cap + /* + * NOTE: nmos is used as both pull up and pull down transistor + * in the transmitter. This is because for low voltage swing, drive + * resistance of nmos is less than pmos + * (for a detailed graph ref: On-Chip Wires: Scaling and Efficiency) + */ + timeconst = (tr_R_on(nsize, NCH, 1)*RES_ADJ) * (cwire + + drain_C_(nsize, NCH, 1, 1, g_tp.cell_h_def)*2) + + rwire*cwire/2 + + (tr_R_on(nsize, NCH, 1)*RES_ADJ + rwire) * + nsense * sense_amp_input_cap(); + + /* + * since we are pre-equalizing and overdriving the low + * swing wires, the net time constant is less + * than the actual value + */ + delay += horowitz(inputrise, timeconst, deviceType->Vth/deviceType->Vdd, .25, 0); +#define VOL_SWING .1 + temp_power += cap_eq*VOL_SWING*.400; /* .4v is the over drive voltage */ + temp_power *= 2; /* differential wire */ + + l_wire.delay = delay - transmitter.delay; + l_wire.power.readOp.dynamic = temp_power - transmitter.power.readOp.dynamic; + l_wire.power.readOp.leakage = deviceType->Vdd* + (4* cmos_Isub_leakage(nsize, 0, 1, nmos)); + + l_wire.power.readOp.gate_leakage = deviceType->Vdd* + (4* cmos_Ig_leakage(nsize, 0, 1, nmos)); + + //double rt = horowitz(inputrise, timeconst, deviceType->Vth/deviceType->Vdd, + // deviceType->Vth/deviceType->Vdd, RISE)/deviceType->Vth; + + delay += g_tp.sense_delay; + + sense_amp.delay = g_tp.sense_delay; + out_rise_time = g_tp.sense_delay/(deviceType->Vth); + sense_amp.power.readOp.dynamic = g_tp.sense_dy_power; + sense_amp.power.readOp.leakage = 0; //FIXME + sense_amp.power.readOp.gate_leakage = 0; + + power.readOp.dynamic = temp_power + sense_amp.power.readOp.dynamic; + power.readOp.leakage = transmitter.power.readOp.leakage + + l_wire.power.readOp.leakage + + sense_amp.power.readOp.leakage; + power.readOp.gate_leakage = transmitter.power.readOp.gate_leakage + + l_wire.power.readOp.gate_leakage + + sense_amp.power.readOp.gate_leakage; +} + + double +Wire::sense_amp_input_cap() +{ + return drain_C_(g_tp.w_iso, PCH, 1, 1, g_tp.cell_h_def) + + gate_C(g_tp.w_sense_en + g_tp.w_sense_n, 0) + + drain_C_(g_tp.w_sense_n, NCH, 1, 1, g_tp.cell_h_def) + + drain_C_(g_tp.w_sense_p, PCH, 1, 1, g_tp.cell_h_def); +} + + +void Wire::delay_optimal_wire () +{ + double len = wire_length; + //double min_wire_width = wire_width; //m + double beta = pmos_to_nmos_sz_ratio(); + double switching = 0; // switching energy + double short_ckt = 0; // short-circuit energy + double tc = 0; // time constant + // input cap of min sized driver + double input_cap = gate_C(g_tp.min_w_nmos_ + min_w_pmos, 0); + + // output parasitic capacitance of + // the min. sized driver + double out_cap = drain_C_(min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + drain_C_(g_tp.min_w_nmos_, NCH, 1, 1, g_tp.cell_h_def); + // drive resistance + double out_res = (tr_R_on(g_tp.min_w_nmos_, NCH, 1) + + tr_R_on(min_w_pmos, PCH, 1))/2; + double wr = wire_res(len); //ohm + + // wire cap /m + double wc = wire_cap(len); + + // size the repeater such that the delay of the wire is minimum + double repeater_scaling = sqrt(out_res*wc/(wr*input_cap)); // len will cancel + + // calc the optimum spacing between the repeaters (m) + + repeater_spacing = sqrt(2 * out_res * (out_cap + input_cap)/ + ((wr/len)*(wc/len))); + repeater_size = repeater_scaling; + + switching = (repeater_scaling * (input_cap + out_cap) + + repeater_spacing * (wc/len)) * deviceType->Vdd * deviceType->Vdd; + + tc = out_res * (input_cap + out_cap) + + out_res * wc/len * repeater_spacing/repeater_scaling + + wr/len * repeater_spacing * input_cap * repeater_scaling + + 0.5 * (wr/len) * (wc/len)* repeater_spacing * repeater_spacing; + + delay = 0.693 * tc * len/repeater_spacing; + +#define Ishort_ckt 65e-6 /* across all tech Ref:Banerjee et al. {IEEE TED} */ + short_ckt = deviceType->Vdd * g_tp.min_w_nmos_ * Ishort_ckt * 1.0986 * + repeater_scaling * tc; + + area.set_area((len/repeater_spacing) * + compute_gate_area(INV, 1, min_w_pmos * repeater_scaling, + g_tp.min_w_nmos_ * repeater_scaling, g_tp.cell_h_def)); + power.readOp.dynamic = ((len/repeater_spacing)*(switching + short_ckt)); + power.readOp.leakage = ((len/repeater_spacing)* + deviceType->Vdd* + cmos_Isub_leakage(g_tp.min_w_nmos_*repeater_scaling, beta*g_tp.min_w_nmos_*repeater_scaling, 1, inv)); + power.readOp.gate_leakage = ((len/repeater_spacing)* + deviceType->Vdd* + cmos_Ig_leakage(g_tp.min_w_nmos_*repeater_scaling, beta*g_tp.min_w_nmos_*repeater_scaling, 1, inv)); +} + + + +// calculate power/delay values for wires with suboptimal repeater sizing/spacing +void +Wire::init_wire(){ + wire_length = 1; + delay_optimal_wire(); + double sp, si; + powerDef pow; + si = repeater_size; + sp = repeater_spacing; + sp *= 1e6; // in microns + + double i, j, del; + repeated_wire.push_back(Component()); + for (j=sp; j < 4*sp; j+=100) { + for (i = si; i > 1; i--) { + pow = wire_model(j*1e-6, i, &del); + if (j == sp && i == si) { + global.delay = del; + global.power = pow; + global.area.h = si; + global.area.w = sp*1e-6; // m + } +// cout << "Repeater size - "<< i << +// " Repeater spacing - " << j << +// " Delay - " << del << +// " PowerD - " << pow.readOp.dynamic << +// " PowerL - " << pow.readOp.leakage <delay; + low_swing.power = l_wire->power; + delete l_wire; +} + + + +void Wire::update_fullswing() +{ + + list::iterator citer; + double del[4]; + del[3] = this->global.delay + this->global.delay*.3; + del[2] = global.delay + global.delay*.2; + del[1] = global.delay + global.delay*.1; + del[0] = global.delay + global.delay*.05; + double threshold; + double ncost; + double cost; + int i = 4; + while (i>0) { + threshold = del[i-1]; + cost = BIGNUM; + for (citer = repeated_wire.begin(); citer != repeated_wire.end(); citer++) + { + if (citer->delay > threshold) { + citer = repeated_wire.erase(citer); + citer --; + } + else { + ncost = citer->power.readOp.dynamic/global.power.readOp.dynamic + + citer->power.readOp.leakage/global.power.readOp.leakage; + if(ncost < cost) + { + cost = ncost; + if (i == 4) { + global_30.delay = citer->delay; + global_30.power = citer->power; + global_30.area = citer->area; + } + else if (i==3) { + global_20.delay = citer->delay; + global_20.power = citer->power; + global_20.area = citer->area; + } + else if(i==2) { + global_10.delay = citer->delay; + global_10.power = citer->power; + global_10.area = citer->area; + } + else if(i==1) { + global_5.delay = citer->delay; + global_5.power = citer->power; + global_5.area = citer->area; + } + } + } + } + i--; + } +} + + + +powerDef Wire::wire_model (double space, double size, double *delay) +{ + powerDef ptemp; + double len = 1; + //double min_wire_width = wire_width; //m + double beta = pmos_to_nmos_sz_ratio(); + // switching energy + double switching = 0; + // short-circuit energy + double short_ckt = 0; + // time constant + double tc = 0; + // input cap of min sized driver + double input_cap = gate_C (g_tp.min_w_nmos_ + + min_w_pmos, 0); + + // output parasitic capacitance of + // the min. sized driver + double out_cap = drain_C_(min_w_pmos, PCH, 1, 1, g_tp.cell_h_def) + + drain_C_(g_tp.min_w_nmos_, NCH, 1, 1, g_tp.cell_h_def); + // drive resistance + double out_res = (tr_R_on(g_tp.min_w_nmos_, NCH, 1) + + tr_R_on(min_w_pmos, PCH, 1))/2; + double wr = wire_res(len); //ohm + + // wire cap /m + double wc = wire_cap(len); + + repeater_spacing = space; + repeater_size = size; + + switching = (repeater_size * (input_cap + out_cap) + + repeater_spacing * (wc/len)) * deviceType->Vdd * deviceType->Vdd; + + tc = out_res * (input_cap + out_cap) + + out_res * wc/len * repeater_spacing/repeater_size + + wr/len * repeater_spacing * out_cap * repeater_size + + 0.5 * (wr/len) * (wc/len)* repeater_spacing * repeater_spacing; + + *delay = 0.693 * tc * len/repeater_spacing; + +#define Ishort_ckt 65e-6 /* across all tech Ref:Banerjee et al. {IEEE TED} */ + short_ckt = deviceType->Vdd * g_tp.min_w_nmos_ * Ishort_ckt * 1.0986 * + repeater_size * tc; + + ptemp.readOp.dynamic = ((len/repeater_spacing)*(switching + short_ckt)); + ptemp.readOp.leakage = ((len/repeater_spacing)* + deviceType->Vdd* + cmos_Isub_leakage(g_tp.min_w_nmos_*repeater_size, beta*g_tp.min_w_nmos_*repeater_size, 1, inv)); + + ptemp.readOp.gate_leakage = ((len/repeater_spacing)* + deviceType->Vdd* + cmos_Ig_leakage(g_tp.min_w_nmos_*repeater_size, beta*g_tp.min_w_nmos_*repeater_size, 1, inv)); + + return ptemp; +} + +void +Wire::print_wire() +{ + + cout << "\nWire Properties:\n\n"; + cout << " Delay Optimal\n\tRepeater size - "<< global.area.h << + " \n\tRepeater spacing - " << global.area.w*1e3 << " (mm)" + " \n\tDelay - " << global.delay*1e6 << " (ns/mm)" + " \n\tPowerD - " << global.power.readOp.dynamic *1e6<< " (nJ/mm)" + " \n\tPowerL - " << global.power.readOp.leakage << " (mW/mm)" + " \n\tPowerLgate - " << global.power.readOp.gate_leakage << " (mW/mm)\n"; + cout << "\tWire width - " < +#include + +class Wire : public Component +{ + public: + Wire(enum Wire_type wire_model, double len /* in u*/, + int nsense = 1/* no. of sense amps connected to the low-swing wire */, + double width_scaling = 1, + double spacing_scaling = 1, + enum Wire_placement wire_placement = outside_mat, + double resistivity = CU_RESISTIVITY, + /*TechnologyParameter::*/DeviceType *dt = &(g_tp.peri_global)); + ~Wire(); + + Wire( double width_scaling = 1, + double spacing_scaling = 1, + enum Wire_placement wire_placement = outside_mat, + double resistivity = CU_RESISTIVITY, + /*TechnologyParameter::*/DeviceType *dt = &(g_tp.peri_global) + ); // should be used only once for initializing static members + void init_wire(); + + void calculate_wire_stats(); + void delay_optimal_wire(); + double wire_cap(double len, bool call_from_outside=false); + double wire_res(double len); + void low_swing_model(); + double signal_fall_time(); + double signal_rise_time(); + double sense_amp_input_cap(); + + enum Wire_type wt; + double wire_spacing; + double wire_width; + enum Wire_placement wire_placement; + double repeater_size; + double repeater_spacing; + double wire_length; + double in_rise_time, out_rise_time; + + void set_in_rise_time(double rt) + { + in_rise_time = rt; + } + static Component global; + static Component global_5; + static Component global_10; + static Component global_20; + static Component global_30; + static Component low_swing; + static double wire_width_init; + static double wire_spacing_init; + void print_wire(); + + private: + + int nsense; // no. of sense amps connected to a low-swing wire if it + // is broadcasting data to multiple destinations + // width and spacing scaling factor can be used + // to model low level wires or special + // fat wires + double w_scale, s_scale; + double resistivity; + powerDef wire_model (double space, double size, double *delay); + list repeated_wire; + void update_fullswing(); + static int initialized; + + + //low-swing + Component transmitter; + Component l_wire; + Component sense_amp; + + double min_w_pmos; + + /*TechnologyParameter::*/DeviceType *deviceType; + +}; + +#endif

      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

    +UtsZYVd~kmy!Dagc($ z-h$Mnn^tLZq}aBGy-(#lTz-j~Qwr{UF>L4|GU$j=?qi)3<6-;J;sZF$*N=Pv-lE-I zpNJoNghe`J<8ZM)3qtlQNIL|K83j4#+qoO^zq<%)8ftZ4f(EfxeIwz!D~ zQ+^*SFjc?bE0GG!P^*yp)LPEuEi_^1jZ;TKLkZ^P$Xo8%%C|N~r`R|G?Ff%r&O@zc zWJjw4`<}j0%D$o*bwm_hT4Gb1mo(n%y=WH6-FJ@e2;Q`8?952B3o>Dncqi#b~!ElGN5T)UsNxtfu6ZA730_BogG{t(?1= z68$GW?a7J7DTuB7@zlc>2JZR3yzN^(EP2jnUvGdRmZoBn2yp&azyI~|;+wNSd{vTa0Yr!uY$$q9pMh!~H9Qpn>=GCX zo~d1vDRGhQtSJrr(9z$!xm}UBAk%K$s9Cuq-Qgb|wM?M3d4> z#T zMW;4&T&^~P4A1pyo>K(A9-M6YEVPoDl}DODe*70A$A7?+HV>>*vz*5~ou22VNgfO3w>l zSMdQ*<$AiFBTc#tJa_Br>?2QieEr&raUf?wnv$? z!kqW|aHmGPY0qamNZZS7uSEfFdyq@86a>h!$1KgP>Gt@dc0JMO3Np8XX(tqEwq;~i z`B$JD+w&tIzyPoene#j1hhS^}3i!k4$OnM9t^Pom3u@n7F~2}6L%zM_m15a*zNl=b zlz0D$Ay}o_i4YWx)6y}@w8dm#ppY;#8iVNW5dk#m@~HjH;ZXk|d8xs@?t_f=K!&ov zaH=c+3kbJ@8XxaEJuiT`WYr&2Q-R%c`~pLxJoS$ziyI1>@ohWsLSg^!-e(}TtYSjB zT$#L5vdA$@!5vj-0Ujp$`C6(egp8ZZ9&W3xT<_zZM>z!5^fp{o%2L;N+<1 z4xL!StirSDA)|Xv;bMQx(*zy=xH&|V58^|)aGCv%z%EVWn8 z_DQYn;oPNbR6wR|t}em(!L7U=OJ>&Rd6woBtZc}B3MB{w@&X3*h`7xd= zO0pfuVu5qB@=_MdfLOuxqzS%^Db99sNsDIh^E%CD=}1H0Zw1E1e6|0r4>L+}0g8vx zhey;MFiN6s`#>$wb8TtSSgS_O$`L&m?FpXXF`2dA*^$~ICI7_Gj*{R60j@bPLExMp zthiEptgr$Tf9MXv6&*WQbju-Rm8@a>WjKA&Klw5^GlXTWzb*a|ZacYDVaz5QpS-+W;wPwbcbIfEsYyQWfxlElImL9eQu<{N& zR=R9syu!bCI@3_Oo#*CwiRm4q@3&mFt`Et>0tIg-#nWSbkWY(Dl-vEuODWDPxvpiE zOjawR-?z8lJ#73A_8-PvX|>G6D_Zq()CzDstdO`N`Ne&WrWDZZ*-LD0WI`}5tdGe# zH)^=a4XB(PeC>I%OElvc1V+8skn>X7=CL(GEY4(1x8d7t`E#&pnpo;msmU8`*OmOG zZyCUp_$QweIYOM$YGL+@g&0`#=H^|S%z)T|b*~j0p0=5a;#E?qmxl@vXR?dG`J-xe z5-27y_Sa!VpvL2t6$#tD6IQ1W$ylAIaNW4ns=0FUu5bYc@y+v5cBR5O$;10fe6Nm` zNrLyRRgY=(G>^eAzuaQ)yGhB0*qpvxKKD%)WwZarxF9~P$=x-KPROr`@KsUw^*@=G z>-x&pXaFkw`SE!WTV?Qjr)AWo+-tTE@y0URR#NLYEtA!yx5pTi#NVHWC>KjKqAGsy zRYY=O6&uh@j?eUBo=pmr%J@xB@>||0jFCBDn7B@a2!b_4Z{=49fAYol zT@y86HmB65ilC)8FtAK^>3e_Z@*~=vdE9A{Mx`RhxWJO>LsMCTg9kTGyZ-1*%__Z8 zXgk}OA^l|KnSsFjRwX|%?(j zA`1v4e=;g8tjt<7?qa)efqYGM=6#l*`-M`EKP(>6M z1iFrhP@4PBJ9jZz+!0Z8JR&iMtn^OU9F9aobYbyo^^6jW(0-22@aEe^7%LfTK%hv3 zg^?_yQcOd>F8Cr@XZU`Q6@>^UJ~E6aUr|NARFmkO4puv(vq1sW^x=kqrxN>8*$O56u!&Z88Y zZS;4E*tty$cWD?VzBOU@@^))$dQl5c^95yro*TKh`W^R&VuQ6fzT;RsN)L6Gca!wP*A3v&iyL1i2ib)nh$w^TDycsY*M@%iQPw!+eUTbIzNTV;4 zOPh9+L1v7Ke@v|dklx?N$oDr=5hVx~zFA>?&Qd|;qI{96y43a2`ZzXuNf05b?-`KW z#)`Rl-TCaQ(5fP&L=3SZf2N#6_?>uXkWTi$#)a+`VNYVhS{Ge=+WG zgP*l&7WyjlE1Q`eYbRKkCc-?u+ZnAb-nObb>a1K z9Sg*Q_dM#C$QEM5NmdN=G35HMX{z6sg|PG~-Tk^!b-Vsw(!G`MxuLO|PQ~ldJHM2? zl#VD`khUwwggzlP{@f<|qU>1n6J>dM+F%+SaW0wTfgK7N60|;r+6>M}HICE}9C9`6Cuk zI4~7TV;WU8{eXuCzMpbYJ;}@`!A^^nlI+W4fq~HfymCYGc>BqsJcUeW}&_ zWhb-aQshz^Np%cgS6#kjuJAbMcj4R2uSh1F+odsXJr!i?F~Ix-SS{1Xt_}PKFZESZ zX!67itu1>PZrZ{n4ux~OMT6DCAK6OA-{==&Hh!47ZuWET_T4Gt!}0OIe|LXlFK)^s zk*VL;De{Zn_(rlcdj{}J6)9OgJ5R7&TMyF$_+3rO7gWlN=|5zJkDs^eHHtECAm{Ml zxr%l7zM_(S9be;$SwSYYns-IgnFxVDWiYmsy^mk3ss1x@8T@z3F^J=`76JA>K&i_0 z?ocL1nDe1)IiTzDNS@RIs-tj-2Iw#5I9~+CrLSd+Z_(r-p-}4XMTeqzIi5Vw!M`$9 zzRXRwG>gKHUxgNl_+`K>AEeO%B0)yyT6fm0p9wB?#wS<})YCpSASA*YI>&;IKHNfV zrlVm2R!*q!7q#2JKFaZzJy4}8gD~N)$wm>iJSrOn0nxR9X`CB}2@;Vt!mb9}OadYT zXS?1Gbu8iJL48?bb^Uf!?2h2v^S^5KBZX{>G5Q^WLq5}p?Vq8j&ZcQqyE713f!%se z)o%qau3G3Ioz&qCga3e29&($uXQiY3l2f`@y})z+IW^0d8DjC3-;o2*HzV8S)nqa% z)A07j=6qbboN>Vu!)FqY=_(__=GHtc0o6$4>33Dw2YUEIQ6&=wyAUJB_e2HQ(jdKr zc>p~Ii-U4jHyI_C9-}=@ftLOB6Mf`C7GX)ZTyoHTAU%favpjyA zqB8#ayW|3jO}Au}2-lP_(E)ml`Q$!88vUI&{m*Vbg@pd(0?eb^x72$6j2LQB3P{Va zWIVCtZ8{om1?uH;2F)UdN#QFtVXa;>U6ol->fDRUUSAJ|(MONjuO5JAK-emqJl8s` zUXxy5>iy@#Xq(y~m5#X1gu{b}hLO%0`o&lDo@;&9YsrQt*yw^1j(YOrwv4!QCw6t#yuVsF zqqP%;qFZ_+6BQi+#~j4rUIoZ*3CV9$s8!^n#lGfrT+BxL`Ft#m89qR;r)PFf#bnEN zB_q2Dmk;i{{DALM>+52QY-^4df@r@TED{+x6{w~*gitoRJI zD5NUrlAjSqq?6h4oTo(ytK^URCm>Q|jW{Glb?Og6L1X9>THob+Cm)2bf0RRl zG~;%Od&WGmR_oer+pu%36M(T@vqto7cuVWug7wlC{sV#{__mvcHxNoi<{dtU%T?-+i1@+r^S@Tsa0k@e|OyMoF+~0Z1oVfxfc6V z^526gKf(AFXo*~7Z zCd9|CCKVBKWd8cJ$e4t-yMq=#X-0!kZBl)W;9%vmpQJ;(lEaZfO@0!@I^1ig&54SR zSwlrdiJ0K_83~K+Dgx6j@wWYEu4+H2 zu??xh=^fRkkIP{5yUnr^|L-<(@`l{UV}-9W?S#O^I}Wry2>63b0cv>8#_3A25dd%{ z#aRG3i-=%(E#oMIK3g(P)A;;i&z1hN;n)!GK|w z{#xs*65+J!(L4d+;ON~)jjL?+AHugTi=JQW8ABSt29~Ex|LP(faa+|HHwwUf7Q)%DL6Q9K~KL)pWbi8Cfn6&~990hSr zh`qqW8yiG8&jY67{1=Djd%EpPD`J}#L0SXsP}IZxd16`In{zk1A9|H;e!(R*$-*~0e(^m}Y>QpfI%bcuN3zA5h_-0~USr;Qg4a(0Mrs6aIST!Zz3Emz29I1&NSvj8(Cc3#QWN2t)Ytkb05|1b$h1Yo-Szr1|61#e?d{54FMdUeQ{( zxS$HbH@3QisGRS7+o(7Tsv<_=Xh=I-!*5(`({O`ZPWm>Y-Y^qGF`xFCvaB;MD(aBp zO9et5kH`_e&h~z-74h;~5hwYW(o9bD7b^->^7b6FW{FDRS2hVAQfN<(8zq{D(1Sn) z0eWZ;2LsRsy>ASs#B@qg#r&HpYiPi-BuTx5Y$90rY!sqkx)ny3N$NL+{FQ3R;>T%9 zIr=KFj;a4Gp`9<6dA|8t7EL)zhCR8uzu`PIcq_>??g!aknKkF^NT*&a4tN4)j>QoWZWsV9835OgUKk8o< z-WlvP3{G?geNgRiSU-?NOM=^u1IxeNKdlB9Y&)EV3kbINtUtQsVRt}NaXR9-DYPul z9E@ah8=A?O$oH=VDueEvhL*VQHkavz{LWA(4ZXv=iRCNqUy6EmfO_wU)mGqTw%g_E zT$kN*4pe>=zq*Nc%Oslb-$X`7u#C1Ny*vWNhT2thjT!n|j{iD$Zd^H?7gckwP=(@L zdNq?W2yFK%wB9p=&=c!#UHd?PxkzZNlv7BBK73>`7G2$1cfRnImF1EwHB|R|wm!vq z<~iw!Q0=D~L@c&rQPtH;5lstS1P_zW;&-12lMIgXW_OTuOFaf%wT^1|8djYcf6sdp z*#sLP)>D==)LGau(FyH6%T%=cD9sSg!?)R|4;!_<(PehxZKQT032FHaBRkWgzH9>P zUJaG-WjN_ruV4=i^_fVIfL@a)|sye&~uY6T5;RanDmQIe8lgwIqosOK2;e zXI~g_d4%PM(esa7x(_DB)i4F`7CcX(htenv=zL)W#~aBSHrzGd^GWW;*7Jg!hqiEZ z=#W#*6Kzcs^Kh>FmF|+0Sjp)3U~X9rOlSenK5i-pH7cfU%A?-!Q(d_GAkYYDLZ4$)mkt)e6)qZT~lcM-6w;d zMqDjllK9e42jxHKMw-v{^pd{hJ4{*o*9%X(5a&J7fYE($PW9L&S)R~!1cqTk{Kur7 zrQOAMoGX;f36+S1dzuA&H`;;(_@8CSTsBIz-+6YTs@2hThSZnOv>PO~mVXW1e}@v? z_UEvwq@qk)eF*cWIbrcGv*@YAwM3&uR-atN4y!XS@BQAG(s9lYs?9%M@4PF6132_U zYLuH%7RPBAn5;jJ6J`nH49-mW6%;I?%fGX!`93Pj8z&tO2VQ7bU~{CrEAl&Y7Nj4Ie2-oz_<0lIfyKkp?# zT&s{6>mpaW6fcq!Z8VzNVvq6;2tRlup9A&TcB=0UJ)g*a<(vg83i5jNyT96RR7*_Q zze0B#k&4(uS3}_kxycjqFR-T;ypQ>V*}EkNWO&2)&7jpksT3LA($xUwJ40foy}IIV zCFd}J{(eLLK16zNz9Q+whIgJvACYKgld_$Hz=4eP>aQBY!1NkRxBvkMd{D3^Scy&c z^^lN}3Z<1sYg`cgJb@UMhksKX8;ey1 z2r>w8{J{P*o|0s6IVWhJmZ}McGAhO*YqWpB9Cak`D*kj3Y*(J>K|%aZ27m3N^`ak~ zn#xE{fH{}!V&#FO@N^gNNLT^Bg_lQ|O0Mwx6HNLtOz5}1H0`fGZuu^F23HShS|yzb z`(|7E0V1g5Ct4En!FU{kCTq1};Vq|acJT&YU$b;jMi&EpVYOQnxTLX+STPQd)eG%R zd1yraNZwf-*sB?esZ5FPI=Bd#`>CzuO5v(%a|xK>m#qXhC=OJ*$!`lrVkdw&0X%s+ zX@iyddCGJr)QBFkL+gTaa{u!gw`dBv+8uD`t@;j zd(#4Uop(%2KB?&hrj(fP!h1er-&Lndbcu9x4;|A<*-v%0TBePyMXLh3ZS)H)zW0vz zckWiGHlDNgOR)*eKO5(CP9T|7b4LMMCyO0mYYg3+R$CP%6sn`oE4Klc{nY?h-P@JQ z1DiU+%o?Yeha!QJ!`ttt%7CXSfKyo@>2{`N)*~ z+I9b-hTIH)NPMJtYN4m(6_WuKkvx!DLDXGoUSbbj1OVri2v1QSEu2|nsFA0%>q}p_WORdqeVVWY)(%Mk_h!6Ob|!m~U9GEbK#t9b$Z}D;;e|AvHju23{CEcA zhYU+5ZtP^!wV>D=ANr5Ofr9@gy*`YyN&s2uwLf@`i)R)t8iu zC(FrkYYxAcK!h>ee+(z-t5)q`cWx|g0x>MjrT1`-L)4S58@bsJo@K zrMZ)ZC8x5bqqVyYHAny~D*ErA^vWWPRZ;B)z74w-?PoW{Prb(v{$*n zlua;wI1XAQyJ22N(xdag9ECL=em$*dSs1AfSz!auSw#!Af9~}x>tVPkWjq1}*4zb3fT%@IAI^RTx>>J|IPgy ziZXLCq&?7OnNeo4JX?qAd4uS?L8+!PweFA3UJ$IOsPC64GKj*5y-`wpW2oW`HJ{P_ zgM6YS#s0rq;YIP{KWrf7!rk4}EnTIY9GsmT|8a4C zPAMmQCs(bP?`=s9{>Pb`|L$KyP6;h31qFVde{(VQzxvylQ{ED8ZS&GM-v4ktFPN88 z4{q@?2>5{iIR^NJ42<|hWq7rv8Cdl=RiUhQiqcw6+CrK@9a||HW;1>TUJYhrQ+*~I z7eQGl4~*M^hK)xL-lBw=oksbp&Cg3{~vej5x&=o%Cq=JftLbL|t8&v_&o5gbakGc^Gw!ge-V%q}5qnWaV8{l`)xB zr0F3rWeIy3IuizvhnT&IGy}bhI!I2R-qpayfL=@tW+HFFuIb`zuI?%cR+Vy;kh0R^ z1UfnbENqNvB-t_5m4T9q%s@LUsI7~*gAk{Qn5Y=1t|Gq_tpe0SMaqy#RL)w4%h}z4 zjS(hj!oq9K;$W`=vvy*In5x>@@$xWXIyt#08H<60H3X%#c$D=ufG(WO%1$<_3Tj{m zUPpOuJ5D}!pp-07-c?bM$6Q>Rj#tT!*~P*{RbIu~hMP}U7gLo?YImBo!q}gEH&=&<9GifmsRj{_XjJ~o0*hHAcg@=|`04%TV!b8sjkhKxw;=&Z; zwvzJD=M)oDF%x2!vlF*+W8l_h<&bie7T^O~YXEh1j~pkD zi=~dcoTe7slGPAXQk|>?jQlN6cMIn5T;``c2d(56Bc3cfN80# z33G9oItYo|=_+V)aSNDB@M>8@t!UWbm@fS6g4RY_=9Zce4NF5gDX=}iA+3b1oC&ir zM1++`$;KH9V`l*B2mEvR|Ib0}A5-c7JBa;{@#~evwvB{f!oP*)%^HZ@#hdADpLI zxfZ^4s)i^(Cby%q62aD10fAo6d}7>x`Ew3EL1F#9k79p}**(uU(r0=f)qH4(zMX^) zXQz5h#Fm+*$WNIabN!ylWn!x%=;0}TG(yMqWm*3-ZOUI{dGTVX1y~# za;-M|_mg^J?r+NU$>?QEkMFsb3~nhik>+HS={k)#D)F5khF!`I+#6oMv6DHfq^c>e z?XVk9d^Y$Kerg(HL?qJ;`IEGYVGO<#^znn@_=8SG(&$rWdbcJg(~9{DSlqI4{@!Yl zJZ-qJNON$lZFpj(CIkejr!Lu347^Xjj%IMLtOZ^?eiNJc=0Wy2SXjg?nz6*bj&Kl>#adSaqIcc z<_@p3t&X)Thfed7QfwEu8+@u)+_fq7Q%)u`xbjxO3HbfM;V_sJ#p-J!Ehj!LD`suq zC{$j|eOBxd`eo$G1OKO_axoDnA96b&#{R^K{mkKt(^py*f!9JLLD_^b)uJ{dO(!)y z6%R|Q*$|FX`D1(QaP7TUxXo934r&d|Adh6rFO)QG^zy`IKJih3J)_bjymtJKgiq<3 zYQO4eg=EsyE%cX)jhN(Ax|~s4V<`%vevzTo&Nnzj; zi*Wh@)2Chddw!0bMu-oapE15mL+UjmmVhz19&JS?4hvy4JUmhSG(o2yz$3vzRn8@m zG5Qc7v>)<81ONLxEbkMsgUE4E7LxLmdh+8H;m%8O7vb4n5`01-eAulv62AmYI~>{D z!#vSg=7v)Bgd`!(Hu!cEuHw{cPjUz@yhEi`S@Y;1WeV$+8R!Duk=l7GMG}@gjSst= zQFfMC>D_cPUf5lkXEE2H;Cy6k^7U)`wDuG^N$|D$xr2U z&RyDSavdXbhC|-C<>*<&w}9GcMYR_=J4#9W3GbuuhC(23HapkeX6dntgK+jbpi&or zQqka55|MP{-fbnHEbC7VRHYZoHh%k&(h*#b1LViMFics1249O8I$aOozyuhYC(SX1 z^+9htdf=6Fsd#^+bhHm5T1z^P?=GF?o29>+srYk3wT_H;2iJg|AFb|8>g0o00tBLY z!Le4^N(iSWT=aPOf7I9UaCZ3~0`5XKEps{Y%#=84Gyn1zQ4wB@Utp=MHDcU4WACK` zWMId!QluJD+6T4Q6LXnGviE$1T($AHym!#Tsp?$Kp;LfSx^c6bS8Q&auD>P`h56HidW|f zZ6tvCKs*n^=9o;IJ|Aa@Z8vXhoyDbJC91YD$MQrZ9Z~Bx|qw5E^W^!TpW|> zz;B>8CQPJVL1;ciQ5hB7O-8St3O-*Y+x$ow1R+NyR!WbGV zf>fMG#rAVI@=~ru4Jb|IrQU3!Gf+TtcY!*fDiN#q`M_Ghhlu6v;~-xLD{W(cz1|UyX2fN6h*rNs7;y)Z$@cK=kuN^ zljpos*k@6x`HxU2p?20CyH={iHjE454iA>QEzwktn0qVun~~hpG>%{KMuHs&!W)^% zc{wkUzXj|Ys{+bT|HQ}ac!h1i|7 z8ZzSN&zmu1=6Iu}LSO8O_Hk(BDa-}ZjT{`aB3hIR6{#=yqVd&UwP@;=iqdc}+>sj| z|C#n3!u;UW%#x})D#fWH)HRcHk}jMSmJsENAmO&TitXm1SQj%;Obfou^0|_V@kxP= z6?#=hk=N0AjGTC>{_=WO;OK)j_)~WZ8W-K$nP^QxepO&eIF#bYL^iC|b|w=<`VjAu zTmsi4mENm4Q%hgxZZKx%lskUYP0}mMdW9o4fsw>PENY2AtPF}u2@pKE^%O4fMhq>W z)}CrhbAN1*o1(v-HvYxxp)3mM&+^dJa(~Ft)Mp(edFP)lxCJjyen)!Ib3V0jYyIq| z?I3Bd8bvQtqUfd)JOMqM#@$$(m0D!4I;Z)VAL^bmnIV0?xpdF6dTEtWlAJwtXyxWe+!owTRYq^6j?i_& zYYf|L+VYku6~)Ldra6CV20MVgTRSo{cN#zY=kf7TsbZh-&rbphN8A}g-I(dQCgl?A&Woif; ztdaOt(jdQmO-_`15?guJ^AE7CiRxhk_} zzfsq>72i7NQ8I{oBRpn!eF6AH4K!CQ-OD06pRzX)XcGF94or!!W*rb3di4>fsqUN3 z{NS}0mt^%Q>+{ma2C~;K5XtQYF(Uk=x%!cx!bF@6)c4cIuY>@)l<+zqCdQ)M z&RcM~-YO3USNH^TXsUHfWs@byU-eCrOVt#~#qP=7_Rw=}R%h;yf_1S!E*bW+5Z-oAS`=;)fJs+4 zDqPAnH%0L3WX}zoa`dW&TY9UDcs|;(wn`5p<6=V&V3gR-o`fKZJb)3 zO>xKNL>lRk#1SB@RlCdQtQ>}?g$4)8U=)9If9D52YZUY@i~`~E2;mzHjAk_Nd%R6) z$ra@EO6UyT+PHN8S@|xCwO;L7(*}6SpOr4y6rQc)ip7w?9NjM-Ix!ka>n#6hzD}&5 zku<6L@w9+Ww^20bBd%*d53M2ggt3?3`rdteroW%#SVQAJ*i4R#i0to^yq zwPgl^wNpTzyi0DuK{*pdW2&In&d&18)jvK_1aCdbsyGuJff0A2BPf=9$aRy|Lg>&_ zUj$T;Zlx1hW__4+B;vn5Y+x67%}eRiEtzc9#MtIwm|iYUzD8;j-#Q&T9$^1KuODn| z9w;ix4LcY|L zh(xP*O_tXN-u#Y<2c63C-DQ`pPE~Q=8$8+y*>Hc9$qHHH@~R2jjPH8DmV`s)}7CHhsC zxN3j1lIQ$zGIMUm7G`c~d3A$q&)iDn+{jx^$E4TCAR&j^yTo@14t%v2qD!XdyP%*F z=S7~^b(*Jx)kLI-HS9Gre2L8?k%-l zkHgpKzP4`z#$OnWd-jLaMSi zjH@JXjrg$D_NJbPzKLgZB{1feuOnNc=7bN-X2`$|5T897MYqY}2WJ7YimB?CV>s`IACZ!twC=c>LQyxF0XN1O^Q?zl#C&Eu;LK9Qfj3Zv2NihQ@%+@h)X<0!IXr#I=Ys#XkB8`0Y8_md>%x%UE*xvxddaJWg znufb8mFh5;-JBy!e+fAF}o&`&mNgq{+yVML%q91 zg*U}n7Z{)9Pg&`w;@BoldtVhauoF)?rzmYgWXYf(ytnB_TM~}cHcEb6|8@o!Fhs8s z`W^SLy&oM3EtykG`4&2ii<;7!Is+W4kya*P0>a#ZOVn${wwn0tmJOH$(RXNFa%cga z#gmTKssWpl@Y~tJ|hq>r%D}pNQ4kEg0!t;qkgpQH3 z=Kw}S9E#;&#Yv&eqyC8W9Dw26kLcOsE+sR|nHoVF&Nz@&{fH`W6p04ubK%c2*rcQ(wgxN{ z)1o&gIbF+c^TBNX>-FI%U+dQD)WlYx-lC6x$hdn<&OlNF41pUztITCZ8f)|Q<&oN% z^>y8`iMLj#XGlfUgcE{DtPhpjbbU}lIX79*ba3bBf2PbY)MCjH{vlgw!t+J@HdW*9 z7zOQ9$CJW&3pagH=*?n1ZjV4%WWUU&uM3zvZQAu%7oNqLY!3L`7(M)Z>uD`O`?+^rv6^DKie_jOafc|?mF>mgR%A^e&o$Ij?ql)$`TX*cDsYREZ?}3|HimZY zi1PXVZt;$&?2SDn@XyBSV3n$PYV zBAlB4Z$R-+457*SUjPc;e*let@Am&aKmh`Rx&JqWf}71;iJt)=z{RD>p=e|;F61sM z2WK;bx&h=A42)D=^|aj_f$~O7Knp%O6FD%g96ysN6bj|iR92C}WCilkak0{B*oyGj zN%Bh?vv^oD$uWafS=gBjq}eRklvK=|RbWtaAq@ouJ7-}@5SY!*oWT?-!LKT3z~=1i zgsCIo&Sk7EYU*G?EA1>x&kdqewzt#uP+}6%G&WOm<)oLjl@bSd=*rP4gUs~h>A}48 zG-8H=_KGqvX*&fGMi?dogCm=@nY21PM1_rp$H0wSPE&$Yic>%iq6T)016sxSssZdFTLR#h=Ecd!PCgT~nfli5I)NlV2}Oqkb( zOU~Iw%|Ti~Ku1~G9cZhiAS9s2Y9r17q)`Fzf}QpBj3nfh>Gk>P0IvMHg4|$$sJXEY z7p5hfJD;O1qq(YymKhtbjjSZIDJ>(TxRR8Fx*DgFi<3RGte6WFr~?D)uvl{2h(V0a zT#Z%TIk~}x+^*UJhN76Rb^tS08yQPxaU~~rJ9SqE2PS)SO@2CC3oBhan6inZh^?I| zSY8FLrpO{-%|Qc!Inz1vC^GBtD7(Y>=pC3ax#>7{051yW=F0pYFljEJy9zUe6-=*e zYpKL+1yB?Rix^sKDrtzD8rg~Po4a_(X$e78c=>5w|ECXoVTIt9#3f|5gDzf$UZ_su1So!@sox#|@B*N;r^|26e%xXb*l6aRil?acd zJMXb>J#>y*iTd)n-2Pj16QXDfYe6JTNd%-bibqR zS=-2Ed0BtYXU)bQ-Q~Z*YrnKGah=*X3>pS_J`$-me1H4P(SD$m#*~n@9yMUyBJhhf z*{YPR|KAI0rIy;m>cWB@g0EXxBx~`$eR8CVTNg#4NgTWknu(nW7dez=9MxQV0FHWd0 zzC%N+m9esomDYZX@E4n(@{v*>y(_Gdf%NK-rOVW88RMpj_HI$af3xVwG#760x{!Ud--Z`vW7#5C#p&( zoFt(T33`^R>!LzyWsmBD)xW&UVC>u8d~&oWh6j?s^a>fD3x2&mU6=v+D{YPIks(y;@pSKm_OT}o@W|d zR?|SAvIJ3sDSycDdQ0xHtU!*yndL;8>6ppkcpw=(kSyY>zrLvh1x&#mpZCCpF>Km)Ns>hzC9va>#kgUvwZ_W*q7tvB;s{k>3{@ zA6sBy68H~KJ?3tip=8K)Hzm2S_zzFB{?*4i7e6t7_s|$0+Lq?iFk7T6r}QCv5_&%! zbv|`5{iEUN8$IJvGq+|T<9^kJ(Zbwp^*Ha>*W?kDmThTkIm6a#Pv4Q4hx@+rZj&P& zH6!cw^5#)&T@y z&jFx;;>#Q)zf9sP{3=A!aYC-RD16%DEo^mcQpmHh8)!)1didkUwAmE9E#4p3Tt>Zw@tA`qUi4OmNTi^R~##vX|Y4 z!_l4HT)oBoSek4d!;%kb_;I2f2lG^~97mclcomvj^2Jv4c!K=Ls_K=C(b~T9V_9bQ zhH4iBtw62!p)2pJK$i42*bo0S8JAqY2OOHG(l3Tn6^`|AecgQgcIC{XK0g)}3d@7A zMK5coIMc( z!GIRkhDYSYi4aTSu7&jIh~L|vq)`kR8aCTL_kX%vPln)}3@6`%5HExD@GPZu;au*N z0{&r`?Oof>W{JKq+Bjz|UtrRm^MLZ?OFhK@r41-PxoXWh}s z#~AjE%9I!j((}naPXIDephferGJ$p~jTK9s6nV+Y$vxg%Cx0D1wWL=1aEmGBz}$CV zb1^e=D698gcuy)zKaOCkBDN)9r=U?Y~0Np zxisHSbVCB+9Rk>j>zLwcyF+(AIcnH56+@z91ei>l8YBX}ATBVQ z6!*(K)@xF0&f}X?*N5m~Jj-6`n6h&O4k@C}QRT0i!X zHyX3a!uxoEFuc2tC^KORPZAy)&oM{`rR-XQ@{Fz^OFuO1uGn$tZI0yUr~wlLcg{*l=dpOYy;?Co zxh(az+{^PjlsmTSp4u~PB|)3e=&li#UQLD+8~vC7oQFy7P}Oa9;L~T3Z#gI_3D&qD zb_nfdazcvU&Gx6gQts#xAeFIE0y9Fp@_vR`f^6RMj=U*aaU;Tv1m~2U-pA-nLUssO zv#B3}lNZiAsU0Pdab@J=nwImSQNQ(tpm#BiZ$izNB&VU%Vh+=pERy+% z%nW(~Lsysn)RKe`>&mo_m(?d_qD9aI(<$|qf;<^= zeEIfTI^FG2Cj}TA&pL#Yo+ME}P|B}9K3-X$hm2ypAwTnpLG0qe`S`3aE0VfS5Ap5O ziWW>}scoG3{z2b@KQaDf$!LC8Ee06-MIVSnEXzxObHBVS<^z*OD^V}<6kycHbrzQ> zvA%s{$BRu~8c+Y@Pa@{s2UmWtkKr3s@5%RI+Xa=e9qbY1s*fo z5h>WSjHg%EE0Gv8?fxC1d6G9{W~c!f;BM43*cs{m13Mm#}@_E-p$Pp_U7sG>*e*^+q)0%-+y@j z=IQ*#cy6!%`b*k=e)G%a^{UFE`gItO*3u5xiko3;B(Eub!-zwATi>2PxNThN4bMff z?Z-vdGZNZN!7lV)@D&>O^KaYhzkdqbmrvW<-?m@pr6j4T_AP-MBG)(!NXL2Pt+A;UvH=G7v~k06u;Z|ug_QPKEks#E^hdWB-M*L)h{V1Xz8_1 zMk3&|)dR1&dcZO$(%zuR1m6Y`(4-V%+76(tPw~89j^;EK9IIJ3A9WEiyK2+sFMNCZGk3cmd)YCsRiP+Y0dkm9L^2to{P#B*Hc@uqEkCIDiLvbUx(q{7Cm zABzmwREb5;L10A`jiXf*%VM3&Y`Pj(d_~D>h%q|vgC?28gpK+QjfoFC=E8>J>J?Rn z{`2vIms4m#u)m{NZWj!fy-o!<-O&%Z^f;yj-lLIrg~kq>gM?B8&%^t%B&J7{WSZ;o zp|mc$F>$Ae(}7v}Tot$+bq+BdahP^z`U&84@RB_Y`)*SK`%q^%L4l#U8upD`qL|WD zklVJRyU|#N==Kc-5`>Nlu^dSZ5_kM`6~&!a+gx|s(5*34?`%Jr900KD7ey*@D9|X- zggbGrBI$c)!ze?Nip+ArhFaBofhyZg z8Rf$3dRoef)}>>vCqoXVNL$3iq3Vhz*U{OuKw-wtpaARIR6s1&2*MGjSUoeYKv!vz zw&Ugr<6?ny7~^)Zm${xEdRnS3J+xd#BF_8Fuyb%HKF!$D6WhX~VDxy@P7%Zl(cx!6 zjEfj6h}xnM00!9|_ZMQ<&s|ZZ(D@JbmJi~0IlamN#OE-grn&C6q00gaceWFIP^mdl zD1o@sG8I9$z@6Sj%w5DLC#b0Qm1Q0G<|M~;7(`L5PtH$hXwhH=5_e)Q=@(2lC%Z)_ zB)zVbA)aEcm}Bes7j$ZU=Bxe*!uleK_I9hNd2$;*l*P23& zjDT;8s18djAPsMAD1?3PSvS-o?v@f}K<8~1a9CU0TxT~Anl6@_iwL|h&!J#{6JL@T zTb!us>17htn!-@Pwj}97hv7to7$#89`_M@`qlh$SB_K*az)*@rLrdGZ=2Vb-iF5d$ z77>-8p>~A^kGor&p~va9t(hSi&T}0PgDRU@2reZnE0=ji;_8v}H0-6}Y%+Kd;;3QV zZ7RT903SXWFzSu@w=VzYt{kV#UIS+LVNqYGazjguyGC`07Bkd-z>p&Yd? z>loSSZ?ZerDRTH#8|k7TPn6>hjxC5u=uKynR7nU2t+mBzXzy*iv)kxK6%{A3xuS}w zTSzyeh#Bm7xT2!6C%N9%iFMn3AC_4H7ND9%K-bYFMdup7tS z*>3J6kKJC?on)~KXz#>&QL!x)Q!Zl9|nDypiEc8I$$%{C<^n)dN7JX0ZqXKA032Wlt? z771iFLptM%oCmY}u+N1>Kp|Q4m?C?G@5`8<3ol}#_PFpOB0e}Rg3x)p4RRAFE%J4v zMG#}FgBID@=lx|XEh^;xaiK+pq^=HHdEp+t@_qeLudBFN8HaZ(~vI3;2pCnK^To%d05Mg+HL z%fg5X9=9(zk#?I&iBxvRgWK8kT>@}5$ga?^IU(|(8!ebQF+$|)N_ki;ZAw~LgAnm% zAk+zwnf1cxl@6I{lMdl@)`!s{P0?bQB+$u_ts2+i&eEnh408qFWpQvJ>o?T2~A$0vz#flDI2Nz;Y*K;kz zPK9iF7**A+mqxEth+%ATp+blT9tFgO(&U~wws>qdnLU2C)QvMCQyAA_R^pV31Hj}eS2+{11TS&Z{5uo!bz?f%T_!K0*`5+r;0+Vw zAVP{v=RpIvMuQBu#)7=Mj0IWz&-;WJ3yM52pGc-MWB{=jve=t>_S~I+|kA zifQ_M=S{TgkH>P*YW!xEoqfOC0V_I$Bir2)n3id{-Va(aaiW#d&czJGbjiS}CsIai6?maK$SG*Qa>JQ#xXcQxvf@P9$OSUC65Fmz8dwQ`s!n zy?auN)hTRM^^#kvUV=*(jo{)Te7;YG;9B^m+0U*Sk3>0|y$(Scyh@wlADaA)eoWKf zWgel%t-Gxrv!ByiZS%?N4tpzFGn{zTU~xQ1r!S5^LNlJcXa*WrXm-t>!;H}V$!n;= zepTE}w?NBGO~`u?RSZL`e8{`X-zBo`p8aVyrV`~E8)l8$KGfA&o#9-C)DJe>p08z&I+e{Pwnym; zR;TnuRWJ30s+amg7mfOYhw%A673vE#)xNEC+X{U#j0}C-^?a8z(^?M9J|CD+1TwAl z1hI2`cx%FPSNmnIMrMY?5c@vB*tGcj#yuInx{rqG0>gqm$1mRu&B1ZM-&kvqu=i~4 znD#F}a7^^g3+>b$_LqNh+}D8P39y!<^9Rwg+MbcK23XEEKwDZl-2&}QyhJj{?3R`xk=lEI3~&%zbOWozhUKi@}vFdyMq(G>GN z;rC7E!&(SFFeNjYpX0%Nm~AgHUyFafcRQF5*X03_`3SPLCFW;&DFT&WFkd#A@3m`_ z$$YHU?@`Q`Bbkp0?{ka!nNRJO`3~mict9Pq*BWJ_-xl+ua+3MhxKK#Bwp&Sj+62BA z*>wx}%F^dMZ3MoTkp*%B-`c=0~eITC>A|3l*_hH&qng{ZgIwC(4AK*LAC6J%v z4s}c(yDaOdJ&Er-KSg}S^*io^_=@eHazNBB5?_auq3IAw{2ULW$KP*002S z^pBmtEi-wqVZ~*CX28WqE0dJVXXKx%?e5-8`VkP>w1v)b$!TtIfCeZF1@V93ZS`tC*htad?YRkK)Ba<;2g7``z~|Vp=|cA z-5=pzrAgc$r5m`<(hc0_B@5i^3_jn7a^ij>0>{0b4{%1uPdd=7pB4Z-r+C+{Nv4ZJ zG+ZDr9Y3c7zYxo!uUjiai+1t?wEuNfB*QP;|8;Pen)2l^>fX=sH~)2LN`6hU>GPd8QIIwF$7e4}?(V%9D2Etl`|W+0_R5Jo%MqCq1C@7zrjCUS)OcWS zLaml%UFK>9LHqHmB?L3D-+`YHWN-yR1ovz~kcX79=@11$jT3V|xs{pG(SdWh6N7$t zNBucXVK9do8UF2^e|<%MV$c$gj1>ka9$7mvXeKVLFi5j7sBuS~Er#vVSZyW-QD>GU zV$kz?tea^j1~smzFdP5%JL(gI$m4hq4B|4HLl|U92!mNN!l1^9K~!|_i9sC8b7ByV zabVDF6sR!B`ymYG{SgM~An9-}S6N#n5cY~i$UzJ$g7ddWdmFFB}-Mh@~2KHsO}9DJh54Xdnv2M1r%%I>)RVb<`@HM2jfOccT$ z?=(3!o}xw-yi2AOF@-)+NVCJwS;0-xjnjif5_U$=tg*wA*YnEw0{`C0qaM&HNX=Xlm zr0wcZe_=d&ii2FPBVK=bD=$6Fg^8sGMa&%=Qp>6_nJ{I#mEA4cdS%;on@nWMwZ z229%Qj?Ybkysxi594-(txLkDnlmmjiAycg%^LdCgJyUb_8Xs{R&D>Ej-9NXV(ZBZ| z|L&)TCuWaS7&TOYFdL8UtjJTC*f;$>g$ceHUBbkyWn2_XX_he2IE4u&KdDQ&_UC)E zQ?jcOP839@{}&&?T{|X+ap~< z2bG6S9y2Zc+&pxN{X4djF5w9unTrCDF3~u3ht2NeNs~RgbP1Zs9H~oKoYEy#ywoKs zUg{EEGwKo^!sq)`T$l8K#?u^a|CHnY8#sP~X-~Ia>M(Z|LNk~H6{B&;sqT|^JFV;C z*Wo~C#bWoGZULjV)dSJdw;dKW%mp}`<9;2l6M=O*q#lx{H8=ZSWcmB1GwG3ZQnG@80n1}1@Ewm-5e#lF|#GQx$x(E zrxV?lEaa}xZ4RWCi{<$1#bKPd7lKgo%4DN+%yZ^ z8Yh@-_O!y0`Jii_;C}E*OK{t{+)$v(W0(bQIs|T;{Fn+7xS6KUzkF9qk|enbyvm%Q zO@D>XlV)#KegEyl0S9Gt&#bB(QW64$d%W{T;ueTl{++nJOOm+VKw_5j@Ja$&k0x<@ z?nvBByz^Jq#fh7Kqh?u**X{_b)B5u6JlEm!|LE?^vA#v01 z#EpL5N!+N)&D%&)S;^ai(VgUNe;nlPcs%57H#jq+DkFFsce4g?-1I2&wiozHoYkMa zO~3Q9tj5?4Sh6U`2N`k78~l`9 z@@*LCzINT_4?`^Z9|*UU8NU%0kch$6quTJ4VcYP7i7D*gm%SV@fHCx=>{*KH*3mxC z4ydDj^fU-O!xlgFf^y61pKxYCE2)3z;az$|S!s?ZpfG_D<+%LdzOAbtDIX$j(>7a1 zN|r*%1I?-YVD767LN)c@3`Hnem+a?!8|;EIEy`ntXPcoPrR};b#IY4F_X6sTx2Dq! za^P4NEo;MTWgn}6P?;jzVUs`kroHMF6ZI1(gI zC?ng85k&im{PccPzsToq-HHwn*zKLx=Ja^#4#N)&YuoQ-kf<_vm`WFxY(!V4** z3o!zSgbK@Jzg67z#R@v3>eN9C#U%`CSZ$?y>IWAVx1%wg@kE9`@09(R09w~Tx)qYN zo<4J-jjGKdeT`QR5?p~XOplcvACCd$A#LXgGg#u3x%1Iu@2{Z%qCj8LFWWpe1;)8x z)2Q|5W`MjmLfnm^eFqLYK6r^WqWhf&nalQps6AnYVsKH$V>86dDD3grn<#51WN2Z) zH(!N+?r!trTo*T}H^E>EKLf*uO8@5-I3&^;QhNIZ-v943-~&lW75!}x6a7q)WHX=~ zDBn|Sq+dSonx$3`B$VCxb2AJbMp!+Krpmp$ry7T+lYtGp+IQeum*KHUE|1@3JoZ|B z$#YSKoW@D#U9-H&+`nY__-K?+w{vdu*#m?2m>A@=A1q(X?yfz$d@kEF!D&7X?HM7s zzSG}*kTewp0Xut?hM~vduKj9+%$zrZME9gY;PeU5F4R~S8j3z`+$6_5B7d$qBu8JA zAaR|3JvBU`88!I4i}FLp7gLi2AB@~$Q{3=R;-dxlc`eYfolEA_FWZe)arl$)oNYUH z4E0_#iE7v&mOl&;L)9npH*6BYI30DVzd(+C`~oQ9a|d=4y4;Tu$jOi2YQk| z@2uS%=uP)u94KAaWr`;Wx`8YwLDYUh`5>`e(_q;n3wr8F22mQaApOpAvid0(+?tqV zL7YB!u%O5Giv8w6k1u&pPUx}|dC;qM#pl&@CS*08>U4EY$oRq_A7=8NNQJ%Fb$oY+ zNrm(?wxhp$#eP#E-jcqA%TQ#nlM3;8kRKnp4wDM$cdC=sdSJrCpPS*R;3pL#zt`@O zZsS6F8QHPBeMf$CAzG!(iwp5EZOPNG-f=F>-f=FZ-?X-G;~9yxHYOj^?}W(AIU#x>KJUsXA@M-D%@_|endFRASYYdHyxQT66#7&5vl{FoeoRSGDZ zJ?fQB%kiJjrUsDB9^o&2CzKfN<}_3tj7T$LE&6gabVI6DBX4F9SV0i7w&B;JermJ5 z$FZM-fob?jgQ!h;8j`4TuJtUUK~2<7jEhf;^pVB^)L)~o{NnA{#kFM8AqqB<%I1@# z^v4QzccV7w(szc-p$FvSR=)B?@01~ppwy-k&F+H|{DuJ%MDK$mADPA(ue>}=m$;5d zBYppF5O{_ye)a{MzC``G8M>AVtM%|duwk zHMx@YBz@jlyOnG){r06~`?r#H4oM~J1}arK74j+|XG|C@dsMQXdTO~S4V5hYu2eDK z<^{X9X)0MzRym<$J+@cux03bvQpqAd$u*U%S1aO+YPynTHC?G06Rm{tA!J!i=m8@I` zqlrq^Njr95sr7bx8QHYEeMf#PStN7rOUdG4+LGs@4l3E~9apmSyOKq7w;4(nWN6aT zl`IT%UrJUC)pWYeX?rhJvhkj%Wa)RM3NATM!ogOhVd`;IvMlxdl1r&%>35|ntDDek zz|P9hP&EfsvTS2lveCv=vh=%>W#(MTdLcgV%BWDNDm3PlX}KC?01cvcx5=6cxPO@r zfpB$XGG&ExKrvw9tRs*NSr>i^W%kX1ecHf2a_{}%5a<%XN<~vTel9hc55yRf4>(Pm zEqPvmr8M7MgEYfW8l>Y~0bAS`?zW(s_G@}R_6I@@fzDVK%^n(iFQ(NLw8Q`9j`guP zx+b989rv_+=p99VCels2hU9J$PQ_p~jgB|MvV7ikx-_0&DkWZ*w!I}D(pvgRiHDmt zxsgdctbd+EiANX`j|P`;o}@rBaoS0Rrxgx?2ec(z7kGpr@WO8b4{%CIF7RxxCk38n zU2YNr51og83O)B1gXFih6nI~T;fFrb#Ub#J_x!*);vM3EmF zKv0YN4#^$paBgle^j-K(-)Sw@qP}BgKkrgs`VOYkQ{HLH<&n9((}p@BN(e*Vh2P|z zu9n=m2=UE7ufr~J2g~fK?Qs7k5xTaE=Hl_ue5UQfZ`w{f7pqm<>3A3|wH*zi?Q|l{ z?b?pXybiNuyS59zsyD11r3DhUZY#8%c1<7Dc1RPN=t|>bzn(TB-EG@SP;vl?C@4^Wye7h%8mwCZa5ReGoTKz5Oz$R3p?iBrA^kwgGZ`QHPcDQU`V>~n`FakJ&%z55Qe40$R(Yo z_THVDR!J9LMz(&L*1QA16rJ`+IjQLMIaUg~=!xl*E_!Bpi@DzfosLFyfeAXTiYY7; zbegD|dJezW4qZN$^^v%oizno2j^6J5B6pgJCfk#Sg_B&$vA|3j%Wp!CUejsV>hve! zU^!@z=Q97#caaLWWpue>F#9Zu8TiLgnO%DH6cnN0>Uk% zyaUKdmiVFu{ESOsWA}B4bDyr9ECxB^;rDB4)Ec`77L%{%=h0r?RI-tqH%I&DYt4kn zyqr4>Nd6^JJ+e5MV5ypT40emE#!U?j68RCcJBNet&(ziLTZcDEsTzLMfXmhx#eJ9Q zmP3Q8?I@7Vz>|0N^=Q33zPO$ohFee0lrezJ33tJFFFu4t7XK>7Dn+PLo>{aAN0MSq zi!hsopADuK@$aTZWP=l0#8&^jx2tM|VO0-Ij^M-(Q*Uy_UOHjW$hjJ^usbD3T3n6z zcas~e+g;${l}I(h%@GJ!Bj(!6^{Ph9y_6$+ONVedVu=d(B9SIXJdq|hWOgF+&aw3F z8Dhj*nXetK&gF=Ich7J(K@!PpEhsLftD&hL|zi&)udw}p;SPWxDJDI`6^=NcX>Hgh(<6YO+YxTWSIJe_GbpPtEHa*+7=ateK%rOe3^J3~0p>(ee zqx7sDqjdjnl+NO2F&L#YGSY{f(rFl@P&$d?UP0-0U!2n8J~^fPcjIi#o;xAWr={wK zCfhlud#W>bRtm=H{@pkmv)kPQvJ^BkZa`nzBRJj5*f>4P*g4(58>f5ZjMFU>NjF<&n1x;}?tvA0D_(w|gFT&d)-}S@e~N{Q zK=)}oD>6OxlH^%Bc_v0c+H@^}YpsIQQ?oG2au)P*5n-CE*rQ~VOkGEqmptn;|Mxxz z$+tBK!MU|LNZP^xEzS~x!=q=>G~Pk!qp>Z6J<0&8^R5f50wHgv4HpBv7`XjhaI(+S zjz2 z=j!4EWjXf&xq12SN6tC#6TuD4b6@V6TJTPJ9y$24PL>`$mJ8ygC!uJwj6ex=yYELM z(N-ky^UkJROr}M`>+Df2q>qNxj;}($I<@#I1k&(dUn56w<`_XC#C!I_A@5yDB00)g zL@Z+kjc}iKk~qSXyzsqA$IKDXX-_bTY+IN^9oc;sE}=zlfs%TH?dG4UAq!X zU%FBfOIVy(AhOn6Ni0}I4`9T?cjWce6<}FsS88!f-a2>XuccB8A4b=%)Izzt(n371 zC#l78QcGBjT7Y*77TKcrT4)fdEbSb@hviOY2^{^}EzT@lq33meA48aBuoib^marJJ z0JmMLGdzvz?5wp?zUX!%dBtJ4X$EH%&d%QLt7jUqzX)C*VD34kybd6gGH~aob%!N~ zn$SB#d*xv<&&%=$`})S`7B9m>7J6g^)-A!rc}B0ja+nl|5lEEwS|q^{R@HhK=s3NF z<+oT+@;*+dKa`GA$o}9XoID9I;cxz=wTE^5M zoJWJrZbCec;@y418p%mhPcPJJTRNUv=3(L6Ys!-LJ~=}Vb@x%LO#>O#xTT8nmTZ!| ztUsp>@79oL`7IVS&)FreDwur<%WPgn_|%^w@)(A#oWIFm#M5@Yyn0U4dh5JItUr6w zaP3;5)*oIqD}859dF2-7EEZu-;NA)^&H)b+)02)z>M0{oE$1Y2PV!gs!kjTG zm{TnI03%+7INgyF!~u1+%Lu$x=St?B)cut>=fWdxRN}-C7u!OdGvBUK46$hx3s1XB z^Fp=VCg7!e1PJd2h%>MhEmZV5`{l^@m;WrG32s+m9pDEHYa#ELmfiZJTH~fAXSn;;35f}-Lmhm&j zzZi-u(<q_N+-S< z{L+bm_x|d{uU$2+J}Nq~Sh5jwn?i{0M_v(F?z=Q%?9zH^#K0owq7lQe@2^IDb7*PA zz}GI-9-BtB^RV@e1MHM4l^8f0aagPo13$Yo;u2tM#5~9>Zyey0eVC_szWVShl$vP0 zegD;mH>!afZZtaEq1!|< zt|h9>3iV9wr*2}wyL=3;XUUHAgT#rt|UCH@VOjMMr0WO%V={( z`a_buXmf?DfM>0CAdM}OY87o%Mm7E!xx^pI;x+%PL_Dt}yllGTTe586zKb;q)@hpm zt*iRYh9wkLT5CV7&u37_AN%*vBiBsunac$Ds5#e2CC)E+p(aWu0bnUQLf4B6B(7{2 zg~xyXi2p##}NmmRwTHsk5=?`D_c?g6|IPp zL<(?EP4Q=nya1JBYpNT->PG8Dg7=&Mut5su{OCm@p`X1M$(FfN#>b`44f5KS9R(Vf zdQsr$MIo_XBq#X1%TALlY`q8%>4_9T@B5k&;Q44qU&d5dOVb$tyBXc7WbHMhJM^H} zj6&kgNH&%Invp=&-kOo%-9DPpU7EJ98M)-O9@pewNp42>N;ZBpqbr^~i4|Olot~PJ zCjMy((t9xDKz^Ra@5y~c;cnh{T!Ny*P=pc%Cyf!K31dJ=6$ zI7ADy1zso`p?MK#sTp0=meh;_M>BGXHzS;oTaDil&V&}HzCS`sYewJiKr_Njxg;Wx zj$+5ZPXH3)Nbzi^!BHl8JmF-~ zygH4V;Lj5@KIuaM$H*;g*3eSnFq7PKRf~&CcrjTW*nnK_qSM`M5}G-wraoU=OS~#n)sZ<3;)6?6J6N^;*?u1;e0?U zYDbucV9})5dlX6{$I*+o{e0g=2Z-Y7pT7*DrAM^B@Ptuyeb)p-0T*b8f`OK5OKXey z(6=U;SsRMxKXPUk9QfNR9sdi_1P zzBE=GCTpqyZM?yn?Wk@zB}@gV*371ZGc7h(L8eGul$Il-k$@vwva!gfDdD(^jC6U>?Zfv4Z~U}vR>Y=NL^w$!G^WOTH!tr`0X>O_N={m1OvWHhpHp*iPzu!CPk zH1Tm*JT%_?-Iu;(JxJ3R)?5`ZF)*UW264^N4TGNRL;r@Ew6N420&d^-$G+UK?X=ZS zhU0o+azWL?#kj*g`a8o&lGWqNgO)F!>_3D6)uY1CUKTgw^MT*l6{ChB9 z#C3}?xDsT*T;68u5|Z5leh{*;m1tp~@yP-#BLQP*N$q40UL5x!V98q+G)w!}02tP0?=F$CCyW$g|h0t}CQI6T9_hx%p**gf{DjwFNCQTPcsMZ#n4io|#iy9i7 zA@&3&xvegeQf?j8mKknGQ(G6P2W11Rlx(OP=?a^^RxWD~>deFawqCSi<8sX1?R%=(yJ-MuFMdZ|D<2;S00*$Oc5Y(Xp#*P(OflNP#a-D|S z6L7eY-Pg1$tjDX>fZAc*uQ2=#e}x98bF#L(JCAl3 zcbi(0#~B13hRjJ84OTr8QS4`qVDv9qmFf;iJ62?{uS*cxdXSKPyNIy;FmvxavROuT3OnNX;)=@|2{w!18)vyciG3;Ir3D`+=6fj>7AD;wTVIpQYN+$MzNz3-|Z-V7g2N zsNBI(;H$HPqc{wX66;!#v73?NFxgTCQnhMu6zI0JL~gTPq9|^+L{SFjlk!PXzBr0Z zOcF?mql{W5Z-b)%Hm4|~7WpQM0zsKUQHBgFs|H1J7!)Pe%~QVn!C4bU;oUnZimPfA z#o^EQQxZkt2{lm^2>Pu~QTW&s6b0~%L{WHT35pULC`CycC`E~NO9eS@_w`_5nRuxp zg5H9nz&dBwR|u{f`w7}j6a|95f}+rzZyb=@QzY?aPEerdEJ08lMiX&C5R}-U1cmTk zXDH$;S}7Qc3xc6w!|l^43E*Bk!_^Z*;rTNd3g9@wPzY;cC^Y*GhC(=;q7d~&QRwrO z(zR-Jn-S6DoSfm}hUF9msFt884uhh^x>6KCbVH*kjPRK#ipOW7D1+nleiQ|QGpBPB zKsFnPl6vxcP!tFjqDUzU;GWef3LqR26a~limIw#0TZy6!8HlQ+O!`A=X1!S;V{cC^ z1zX0QkEQU8(w&w-i!)A!_4LP5ASiV@O9=}oOK}VRe48w>lp$l#YW=a4(X1~jO932C zQWOM7u{EVA+;@Va__;AaL7*Nqih>QjuUE9LK2<4-!=Na!t`vp4#a-zcttN`%_a}-n zT6+T<9o8iK_KmXItVKB#W3R+fAh3x+^@qEIqc{wXlGYoIC8^qjqc{wX66;ons9Vc0 zN}>venp-&vE*m>I3gEnnqfnXBA4h?Jkz*BBj+^HdWL$R=M}dH&g>n>XH-e)$42}}( zJxsL`)yh#E21ki?t0bb#y)8qi`YH`h@4-@FIh`!r%VRv6;$BZQWi-vp;3=cY!f~Dg zv`6q1hrv@~U3m&O&-Efv4^NS}e3n+Cf(@r^Cn}>Ib}Mhr249cybtNji{kC7}Ew`PV zXI^yv|NokdHADWL;D9nP{7n*>=jAWp(-b$MYQhnIulw+i>_BCn=?{69v^1U|rTSsH zV>H{L63oz-e;`wlz-{Uk5?hXcsMH-T{ozVVA8+H=_cMNEZs8?GWKsv9#$QU7#O9RD zNB%W7eL}QKT)SnqbFA0Sw2lG)@IaY96<1XPElK}hCOJiIciZNU)~?zZEE)8ex$g^gSL7uF<~3gIe}J?N;wdKPwHm0k zs2-R)p5zaYI9HG8yXg_VJtxMc;bv%gQy_@l*VGf%9SI*PkIf=UC7?Hh59{W4=4`UC zc}}#LWv4$xZ^>QYidZ6UVY{Dytf{`1np-Djm>i`yN#PQots(l8O*MqOg$QanoUrAf z9g;suB3CRE+woyJmLywp6*hmX=oQ>Z|LyhMY4!f6PXhDFtcV^}p+nk$ zv4qu@3Tzp(Q|AIXyEyU_2&#BWzlenL8}U#OFjgo}ah^cH`0p8kRC;5S?^-0$-Hr2J>h8ujM50mH_0ANRM;p7VWF7@F z)(jry8YOkA@9Le(IM+-bO&%c5qi#EoI&yimaS{#Q%r(9|$|&|o9#q^NJSuj{Jo>4p zo;Kczr~fC9c2LNE@n}1`Q1GZD#-kngr6eBZA~o?S?7DWodA-PUCGn^s(eoC{ZzS_* z@A48!JlgSCXhBe&TH1m}%?=uMO!iWPPm z8^37?jpCcJUo`5-rBT>*q~`QUy*WEuEzv0K=Sei`c0_s+qfyv(C6cr~(qZB{&+Kud zG#dTnAv8KF=%wU7O9#_pSZdlAM<0FH#>H(%ws_XYMN zr?(HX*s`GCDCT*x2eP@-K5tssR=JFvqhE}64}Ahq;AtK`glwU%&>sTs$A>%-vC&~EWtxYlxyPubge|8lacQ2Q5B0I@A?9hx*U~{ghI6he?5v6Y$$BJ}EQgPT%8R^cM?JDkw zb>oC*sCF*#RdFUVlZp@RQde=YUn>47=g&Rtwc1O?*GI)CyY|Jdv+6>j;*OY#<0F}l zOvSm#lT>_?A72-GV)E-R6*nX_+d}z`WEGza@xN4jBJ)JOlcQWxakE3k9l0vb1!f{q zZm~x0v&lP=R2=r&NyXiEZ8XGG9QIgA#Xo5XYfiM{e5tr2SH-c)X{k9qQg6;V^+Dkt zLmw`t;%-Nz7cmuwt>SjM*Y-$$Boid{F8_9&H~+PKldhDcLDfJ-c*?T&OwFs zS{$yc+t_vCg4UWmAd+J{7rM;nbRl@uy2P*l|y$V0W>*SdLKIvGX3*(VwYdwyDrQP%WUfvxY3`Do0iUjdl)`kzasV+n%+na@(?>bgQ{ z!I31$*3)MdT3n94|TC z_0N6!T{(n{y;npIVfU37$M%dox!zO^q9K+(JN7H_Ja3R2hn+@h;4*Dj;5u= zu|+J0Bsgx>&&wi~)b9pg=pS}dmeX}%UE}7QM!c#E6#TEIt3I3|y#?d)ts9j4ohIU& ziDYx)r#}`$SRs%#CxtTtACElWmSA>EbPZSS(|=a+j1CsGrzc=o+%O{3`?iwMh9)f( z67ZTQY%QZSn>)C#A#3=MgvBm`(N5OVE)gZ{pwJ@M1IIT@a7QHBSDu4_1~f?rr4`b0`~+K5FxS=7&<3_|AzJX1+o>Lte$BgyV53>7 zxCOB5dJMnaJg3Je*QWGuJ({UG|7won{N*&w&17rz3dngo^(OD{P_xbcQyP@m`;O46 z#Ya{kzD5E>ltb2dr!hmZqP>lpZT7p_?EBwp*Sb=VNB+58KF6h1YD3~S0+W)2EURkn zLHpy<8atF8t;P#z?Ic}!X?)C;(ffogo8KLvlx-(dQGa`K7s#QU%pe`rS|YY&^V&fZ zBC;ee$&Hm0*EKb;2Jy)~_RF;@jgd|x0zSO-ig76bLo7RgQ;)u0{N`67o%(?JvDOEb z!+!aKakOLW6r96c8pvUC^r;n4g{6S@w?zW;0~73-QROp!g3v$=bN*B5rqdFw4PhS- zAl0?MtsfG+OA0LF6Xrh13@^N3t>4?40oD(~FsNf(Nln-@E+Gf6 zj~&kA-Q@^6BZ9Kk#YG*+lH=rMsoC|YT4$0_CSYf(>BudZE6Teki=BA;r#dhf zBZc{q3QQ{l@9u^Fm2b2Pjia2X;7#BSz}IZ7BMoD_OVgI?$(US67VgtkWGNLl!k%9f z)RqMHySYycAmWF<`xZ^**+p=Cth#3?hbdX%h2(~P_Hdr_VWBc_cDY#;`PkOmt50}U zu2xc>yW~_w<_CyBG_*DrvgRchJ{||qmA~}T*95}}y?lOub18OYD6DzHRyQJr{}nqJ zx4V!qo*(T^azy=mZax8O)pEKi==GF2eAGp~LhM!H4Ye400r_&!zt6r&e8=sV2YxVM z*%>_Ex_ETWKG_r4)RF`~5SkZ9I`USYP#tatvS^^03tY_q~-0X)SK- zR##c<><>(g<&fekqLEm|0jLGhQLmg%E>|@@;*tiQ@4(M>EHJZJ#|`0!-*_H4f^tZZ zgK6K$$mzbv;68u#OQ(R-R2DCBWBS>?&C7LtEk8IOA;OwHaM_L+ZN=Y^k{;+eg}qVs z1jG&!R)ZaN{g;U3*T;#uwNTaUCm-f@=v!2yBLrrFRg^%{M)c<8599Bl`$m}2&&2qg zc7$m3uz{dP^2*R8=9WPeOex$>sE_jz1L9CGTI}XEqn5i)zr1#a5aNxUN zqzt0DVMJ`o!a?-64$}Hhg1NuFXQ+HL3a9BqB3{q|k&tR6Ke%?M>DQKE*mzc@!}I|s z&*{4Gk7`|Ex`$^reNnm~FGm`6TX|riMMxib#msNn<44ns( zQyJ8C)F3U^>g{M=UCc5-OuOUHdFsr43id@(nx{%SoDnygPBM{&<9X47o!3 zFVJap{O;axJF_R*p3J?}Aiyq^gGirh5v+?Nc1t~7J@yatr4R?P-o)PAa_k)(btUxO zusWfx(ths}%Jf|eA^9{-z=fQA{Tk6Q4N_6;rRjNe2I;LTLPcltpBm{}CaDxypFLF9 z^H;LJ!B}Jrik=2E@{2qVEpT@-T#a^0A*!itiV?@dc8Kw>WN6RtV#S9L z12dJ~$A~QN_NVNOTDNTXF13V=C}m6kV#2LEQ-;}(n0MlOq3HLrt}z_=2UcZr33pNb zPyk#!Z>+0ACIM5ve{MyrI+Ngu*LaiQLF=C857w$XJCIDcXk^A2<$<&q7Y!e${7IOw>k%g+uhW%EP+(LiDIU5f4-uC3zIwZ{mI(5oKed9H=g@%7ieE&*-XP zwm*fz1Z7+m49>d8cv9`jC>^j~ejQVFznkS6V8$^Dh2V9;a1&F(HH#@3<_6$Xb&tOf z;V{aI$cEtQJ2(xhq(i1t4xM3(1m8i&gh6owh~Ty@D<_l7R8J1ErHQ&X&!$NRV|nMK z)1e-KcqOalksvv1>UxmaB~cF6m_&lv-B>+y<`RiPnPYe4lZ|$EqL3&6m3lmQ!3dUR=Gzd`RbvXXl1_v@7su)W`H9kUgfO$WZZnu%VY zGW|9b@Os~51v!zN@MnYlH{`F^6bW2H!AxMdDC~b$QSoU@q?ot$;TW^-8hI+vfAQ>t z8+#p=2nu|Glm$wdZQ6NZG3W)Ry!_+pF*iqovFjh%poU;K4s)KDwVa6bg=JwtW|KusZWk*alogAZrR5$S&?Cu>SQ)fwppRzol(O9|qUT}0;0bUK9l z9K!S$n<+38YUSr#_Y&}TLUC+InV86CSuOvK$!*01Ny!`O7xgqxrwQ6xnnT=mP?_%G z@0ULw8d81o)U550GFtVVx|~yoXFe3DJ6%i5^72+(LBu;@CO%=`zI?hNzI?N~T(U`$Ktr|>zd;`oj^rllB#d@=;uULnc9+f_?xk=x&qUD=p zhc18w^=6I4Fg<7}txXA(vorUnT&c~qTTNk~CC0zWv#odFXYRM|u)Y)Mt7y)lq^f-l zgfd@@*LPipzivE2HwSheZdc3k;3+9Y@vI>Sl(V5PyOO+S-E@DKZcW*`)t-J<^IKrh zZZ>Y2ibBVx6U0-v@Z*@oT*i_V+-nX9)hr#mS7AtK)72Qo zp~qmoML96(fWLcF|KuBoayf;t_QElX=8I_Ybb@3hffdA(gD#^`_M#IWMx-lSHg+2< z-(x1V_$s+kE@)@ym=%aeziro@fcHjl6{L=(&q6ueQGSvn3~%#_Zj-Fs?@l334cR%Z zQ&2e3)Ev#OehN*<@T+2?{%s&j2tn%0E+u1Ew26M<(WB4C>BS>fj~_3@CS0qJwz#Od zG{VD}^Gx6~fmN=Z{`57WS6z2lDLK^<$YBJ&Do?==oM>;&1aEe`{E|WHc47uYb)VYp z^6xc81C~`J%b!lhgNgLO7VSgNaQ6w)BwcYcYr-zb@1NO>vhlE{mPt@B&|)S@?yIX% zSc+CF&pyhe1c__p6Bfej3g!YJN2;b^CuY2?kt8>*CljrkyGfMqXOcd)q;Vvn1cjU?V>@#}&BML=0$Og%lD0el3A+a>abH9YVT zXA=S3WfT>)U6JZ1UqL(FXOf12(UDS87|Z=bDkB)MCH4MCd04P;)GW4LGBdC@l@La% zTqdf4$O&R48Xa{8J9*|2(ye7dKyQih6kND%EDdUVwY26o^blgVu@HPZaLO<}^1e!J?_QJN*%ztTf=S^c+KV342B%4QWyS_uN$F zf`r4O$|I~$60U~XyoqjUJgxUlyez)MMPq0t%#LGnq-lF59pDa>@}QFL0GqKqsNge zxy)}R?r6Wyn-~O|*D^E^abt$bks zd;Ag-(7fuHxG5gU>Py4@*>>Ik^b@Arh)Q{?DJ;N%q$}`+48-;NuWc+w`)_Zuw_|9v zb=I*56A1|T>TfHE>(}=}6x03w=EQ)$RRTv&#n6WzDd_=#lvu3y97y_@l z^Z@Q>5qd)icyC!*mbJ3*pkY${|3qVmZ>`YrnZs4xl)@?4Kgh7;!B-k>C8q3#(OylN zfay+-#u6wfJe#!s{&b-{rU=eU1sEjVSk_r3nvCOXhec#4JKzFQTvJG4_&dM%)2+H4u}ju7C?-Y z^qk#luX7;BE=81D+C5ib6;fN)^1)W@lLBaEPi!fi<%f?}LRnmG1;z0y419RbSyS-q zlGDB!(UB}0!wN>J!}79>7&L}_ z07#}0>?oxp;oNpAAFb)X;E=f8m=0!mVKx&!4~>-A|aq8(MrKrNd?D;UlP&&5J+<-8e^|4Jhu?=>&)k z$U^`D^!7Y3o>Ij%>Szu)%NJ3+eAJ*gE?&y@r|D{GWAXadTp+2+z) z$LvQ+FXIwcm)9EVs%K|af*{zMY`+u(|4=`RwxW6aB6>rWtwC4oCQOGW4YeSc^_@&|K*tRj8b1m9c~`wXfLtbFTOiPFe}NLhWoq+sT-4Fj1TR)NC@LI5syl4Z zS}DO3A{+6c<9r1q5gviMP+&n5iWYq|(7;I{G=}7sapC*AsLw)XnD>^;@}`0Zg>!?> zoxsS|p=ho#Y)FXBHlE3VxXyP9USW+s;nH2s(EzJk`C!~?QBciGCn;pOiEaL3d@?E$ zKS+}LF4IIFraobYtrxmy#lfa$ui~h)yDGO};Kw>D%QtQjpV#*hY9-lR27X?i5x1(j z*B!zBEaAE5x?W*RhhQA+goy7cl#Jn0DG$)H?T-}xJ5kX@srmAs%_QhFF3BC)O17L^ z7&uAc5)cuU-K0w1RiYhf4+Fj&VbZ)Y}aDaB&W?Q-m!o%dxNy;cf9oNP~p zBq>?AKsd^62n-f-zIHSn<-Efzy8Jz7NZMob$|vB+0Xy!0M8d?nAR&~!)@KOYg2dW_ z55VYpnkw`iht57yyaRC2E>|@OzLoM(DW&O#c$(x=rm_cMQamd8%xg!J`;tF)iJJO7 z#B)s{+R#9I!7!!e&5`-pq|@wcuz1zqlxwyH3w$Js=jkv-#fN!Q=|NlVVSFY_!Ww%L zo(4x1VET^o^=t)YH(+?p^KKNEADJNI=teF**(!kBh_90DfSx0PP0NX2_mq@ZT#|)u z;j$-?;d8-@XMAGosidq0yU<8>f}r;77tXrO4lf6(S6)LypzH+qY{C|YTe{$7fw{y@ zuHrjqYFnDNhr%cj%Ei)^RL>%n-O|Y{TJr-Ycw2M*&yh{2gMu(O1ZFG1iSumjdHeRv z)&6L4H=BEKL9qpWi_G&{Ovwsc+vLBJvY+tAeNqBT`#}7v_0@WiJX+~$6=65yAlMS@ z1)DIU($*m22;Jp$^VycvJX)B9!@gZn;$DJ5T9#X-pIl5oEA*X4#!hgnM&?e5*kv{+ z@vy!NUI`2*L8G5Hy_|WR1m>N_B%|cbbh$G@K1Gdb?#06Xu;ooyD}n=ieJ35$S`3%O z!IzQ!z=o-w(UuUz-euLSCrR-(-d(y=7)OZ7aP9@16||TBYAlTM`FOP(7*$(z|-Qs!C~10jH9~7(K`Tpr zHVvZ{{eyT+1K&SNaIT@^BOc5)_aY`9-*)9DromzuCg@>3N)1c=GKrZkY2)chijq|} z-UEv-VFIGr>W4lH!<%xTXR=e-qYgg>7=4#fWrD++L<+l8?lJOm$ zi3jI70AyV7;#tM1I3AVo#+0ek_2`!}OHGS~HSYO00gzH>UHQGFoaRXN+eQ=KM)mqd zL4)@>t*-GoZ~@HRSTkX_O2HfaDov3RGR5p=!a}I{(G6+Cg=xzz)07L3D-D6kN&j~E zL4BYt!h&fK==y19Zh8~CWn$%_)#BYCg8RFw4%ES%u&!krqu@Z1IfyVX%^L)jM8WMn)zsiv|Lf(_++bvEQn70@;(m zyDe&_lFw!dy`cs%lAI-$UC-0 zGH!ssgpi&+khI;dR<)SN-D_OtB8c9V(5Nq9W`ly1eS;y@c;A7VEY2}(SEM!}n_NB$ zTc7KtKKc+V1Obz%V5bO@Onm@?x*;k8dTnS?5p9PN`3{MhqLWMT%wB=q+%bwmO_nJ@|yo#sbQ?<6Wj=>#IKhDmaJfFWoa2bDj zkPu{QEk9AK(vmq$(9+z=ECIayaxJ=hgg<0AOD$;r;4YD!GuLnAgK?gI1W;CVo|n@* zgL++?EZ$@J*14^8f<+gt1)&yTZPt2yeY*p@5XQL=U=emhU$ciWo@jCk*K`toCc))Z zc#wvf3?edl7K9*%v%d(%=5Yx{Ji*Y(eU%1uCVM=V6{~AynB@AF5w}pEf(_LWQhED` z;_uGOY}tbdlhwg1G+=x|8Xq|>!I>LezkuzTs=y#Dd3QhP!A2#Y;*@6p1tquo`aI!S zXlTBuqcxrChrivv-AnQ280dMrN8V`U47ovO{Nrkkmw)|BPjV6yZK%J(s^?)eETTY( zFdy!Cqdv;QL(S9-_RCh(7k0LE8d)xbZxaKSekv`2Nso*^g*&v50wZey!LetE)(=FO z{0g#O;f|v4q!LSK@{dFkb>GU9Y7oeu?cwTUJ)n+r;BoWrXdnOa9H_lDT=xWAC^QAc8744}yh(Ip3c8-yj!s+#--UP}(bhmfoeQ}ymXx)UMO%xQ!B4;Ss|GFC8oa*C=cYcUOR7a{dakT)t;BMo^n-gIWI znIlGYo04x<4mCxy-;A6!HX6o3YS;|$s;Xk0<9R^eiwpZu0_=gC#_~2YlM|L9y;js2AOu@@};W-mm%WDp}PR>1M-EALpeEx za1;2i#sTwT$@|GLNXWZJP|h;+Xz$KD)7We~8Y<_S9FTJdE{P={W}^Cpw zql5+lAf!~3nm3KAT9Lmq1t{YU10&qKm&j%qB5jj{-f|($Py%CjSjpIKdqoXB?I(Ev z>$CJVX8?bUQC8F}b!)ZUHDJnn!x%Ddg=G3RIl~o`72UsZ|7%cn{zF1L^7AVOeZ48XbezGKEd-`<5yGdk!(5G#1lGZsstg5H^;R6)esDzGDVkTKHZyo1{^&`(CHN zc;T(h9*9x@CVivC3+g-`a@$(BI%j5;oaQOUp_d5SYT@SIePM+WLn_$W*c>u&Nb+7_bdk-)3ql%(T!UT#|4C5B&Xq!8;$`kMVINX?QFMt zR5u6JkyEPx*mZ!u#&Z#Vc#pnYSBqLw(-EU5FlC}JtNx^4R}mPNhhfs0AcKq=H}jc; zC;yGih?#0!f6_wgQnk(n!@YRIq7AV2JKvYc>g&prow31^T^)q=b3oq-MUm0gp(COS z!$H>3Pxdf+&21|;beb3hacT2>nzEAT+io|ZmNNp^IWC^SdAYiM8LdPjaUU9!%?_gl3hz_N=Gb;_|p(~ z=t#mi4d-wIR8hlGc`lb1jnvC3-q?AHmsS7Jf)H*SE-$n37!tWe^rBA>p7`>-D{+n5 z^_qwXMU&7D$9HVT2$J{Rx4HDCsC5MG#AyZ|sWqO47RhjeL?x>^!A;Xh0$Qviy+hQO z5A}!sawDr+g0~m*39AuJ8!7i@bIS=fOQl?h*Y%25QjWP5O+xPKMQwvfqnSFoclm9jj@rm|fq)j@}Sg>-SuM!8G@ZXt1>3=c<`Q)j{90~oZ=6qo8 zCUMbR$Fy^OmYd9;^c?C82rldRJ5Q^v4(~aQ9Ue;7dxvbj*0*qOrR93_y?5{p0A1r( zcsD~WRB7DPex!d2r@e`xa`=yOH;#~Jrq=${$Hc}_flj33vnfH=wc~xAQ4KnGOd|oZ zsGLI;3qZ2wyG)iC8j21v(JHu4$l#8-#K_?K8jkpdKv;aJ)QSXY4Do+zh+DacEJlc^ za!s=+)OSTT!co9oH~LRSIPVE31+yudnbrhAHCl2*VBI8^5r5mVD-wA1vn%EnD-<%Y zNl9p*3ZRCnqu^g*fm%<{=v`k?2%f$dnY+OIFM7C}!0#c&Fr%jCokQoq&!_&62Z zz_ry4ggBMlImx^xQD-~b)1Nbx4{pwW0E?1u{(i$&ozIs(kT`({Ty`+QTUm|^hVmo9 zV=ftyI-BS_07CwWL8agm>heqaTG-+HPSdNC(T>ow4!cV58m4cgB+c|5Hr}68twe%{tK5(TxvBZ0j75O^I+sX zvTk!R=Jt%Jr4xS1U?C#5#zC_gw}T7qB=Lc2c0#$lDWQs4K?-NLD*}BsFG>e*U{p$s zE!CvbdcWNMx8%u6>5SvgVO~TOcVhJtfHh`mAe`{2?Qx}w%yy4Bns_Y?x1e?y?je;*?*|942SAyUKa^>U}%`kT9{*DtngIs#n-XfpAo{hzY;sqBowP zmr*;oG{JAr_qitHDSANA>bHK8N^a8@c5zArwTfZZ*BROV5ujj9$#P+F^5&^125IHa zRVytd3a9`wr1gSnO3V%Q$y7)p=)_k*mzhgu3r8(7%>sHWynuoVLQ_+tSjg9kXd_0O zmU7h=>Qhls{FK4SY<@E}sVe;C!D6`!w`v|{MU1<^dSeM$gY|P_wMs&+OcIDitwCLO zReeA)W_1}DQRH1%rpY|$gxOBN09O^yc^GafNsJTBW?l)8OaZfFw{sw~V^e0MFu@oR z7qnbOAN-+;MiOFa|9Tk({13XngNP8HsDh8(Z5TCO1qJ6u+K2&t4nu^kIMVG6A_H|l z7mQ)c73+gxK|%s>%t8MY>D@huC6ERef>|gLSjZL%h??Qy(PWP+!#YnFjKE5Q?S)0~ zVf>YA|8d*HlWESP3SgDxxVu8{m)gbCdr9zwT2@#G+)}qwUGr>D(Q9KVy|v{oXmMAw ztBg6@+F+}8TJoo(liAahWzF_3Ro~LiP6%QJSn-{;*tqYTIStxmMx~N_CyC`fDA{}5 zH%SxI?{Y;T*tDn{*KnBqEnSA@%fEmi{0l97XMg8$ge}Ogm5CfvWVqst0Qh{1_-Za~ zIq@pl9_9m_A^JaQ7w$$*U|^E8Wf`jH0K;8PlPR&JU#YPCtTI12<{z!i>J^T zqVoh_)=T><3*2`?`;90(A1~5N;|K79vVP&^f^-)m{ooduKy~m!)_D`l?a;7Ww^f?D zDD2cxc$TJ16Z{#W8brLl9%yX!FjF3nMEu#5|IoA?E}(`Hkon?2P!-n6uIucli6*Hg zEF)=~G8!yD5ZLK{H$K6ZCh&oZb3-t0`(23@70S|GQrbOWd)j=ZoKLbV$IUvQEWt*o zF=7fG$~2HA*s^71Fz7~geO^bp?CSQwE7?G1Kw>-)+k@nC1ECp&9e8}QqgbPD2ZWo^ zZ_|~@zJEZ@im*WjsL3B6At)WUC&FkNvm%rW@PspUMP4f6W|kQ0YlObgpKZN< zqEoLDVA23*`j9c~uk_C;1ly~PP^U2?Gq$_2(9T<7(D-P`UDaWIk$*bGE@=`(Hv^o? zA-xwR*pW8M9Tpu-UkJC(CknKNK7TY{;}9DSYA1@|DHF_3q&Oh(6Y#=-cKmTcfzJZ3 zlXC^Z!+CPvy9}3xo#FdqPs?BZRJaVHS(8xxS)=)eMhd_=5T=#`$iHF()HjH%brxik zQ24+=321-UY#esqJNwqsN#%w9^$G_L_8QsHQg5S3A(BL<&66rgFQ9yVUX;A z8%BXpQEv(-Cgn6|UahMjA>Nkpu{&P$rSqf{Lt|TGHs3=#IB=o(<&q1VOTq2hhG;~~;4Hi(7m^8&klmn7U*3{# ze!S83z1$ejy1Jshmd5i?Pwq)QHz=cx-d`u`lg}p`*ssmeb4o#sO4eQJfMNU{!5C#* zH(+vR{M53vDOb+lX&#)aLA=7dDq(M(`m^#&&nEhl2;$9aGjt4QFRh|of`}LAmMeqy zIcns_@^Fp%Wpk@bkLR8rkDR~rfDbZf{54tgfKT+{Cr z$MuedTUNEXoJ?bxjKE74x5i^G1?w_p%gOAv`M^iS(C}BWh;7}dFYb4|aTEuALUU0-gRMs@iXdZj8wyv1;*=>o@1&`!!1py*0fAq#9GN zN)MvNolNI`zpm3bFmRa;!cnpAX|p@juFG?(<>s4K6X{IcA+=vET-ZRN0>bXJQ(hh3MP8d3?tfU)jO}yLNN*PP0)bDngP`n6eovMMBfgf+I>bNk-*>WF+bXR7_)I zrlqR=nC0@TubxC*i*i=%hR6{|&)Ro#aFyhD~*~{jU2xx2N+P zA&(;QWa#K%=IL!K3y0g4G4%uTyK+jpVzzDYdWrHRij&j7B}Is>{j? zs-eT%=j;3X`QY*<&5r}R>`W2ohuQZNJF>^mt-W!nQRm;q&fV3~!O+(h=$EqDYw8Jy3@BMyS88TqlJw~x3Ngf<@4 zHdqIrXIRytDSg2@^{K3(BLuTEN$zvU5BJx{zn5$NzpSnKa{n$fSSac^&g<*eczn6L zeBBQ0ABv6GZa-eXAJ~5yAZ~=4#lEz;wIW$Gdx>vB^OIWaY3^?CZR_wK&U%%1TY7kZ zIDC*LZ}(_E-mi@ftst<-7VNKVgy4xoF$OYNs&NPtkNd&MR2FPRHbxpDIm5SBqYRv& z>Gibx16HmvJ|8&k(NpQ^zmaeKvi)j@{*^EBn7T@bd#aq}FGv?9uTVV5_(0@#e|X>V z;|Z64B?j@oc)s{$k{YWx)1)GPUAOQ>VJ9Y4MeU3>k@l6&U@dFfm zV@o^v8$QpycD^z`7SKk4tUMb(KInCF5Wlgek0ws{`d*KucmBC zM_Tfcj;SKwaZghm@$#{QpzE4Wg` zuflyPYuS4ku~_~0OaD!rXNqkQbz+}~8Kc&}`PVg_8`JfHJJif;rV-pdnM1CXgQWKr zWEYHn4X-FJP`xGTk0sB=aS=p0cchxGj0^?cgpu z?+?Sxz6-vCz*g=jRYvpjXnuH2+^#_}@klwzG9Mv2}LRX5?V}xvNCL`X9P`C4&F9l#(vJu%n&5 zke$2se+;zj<){At9BLC+v;kQ(lXE~ zSvgU=SnvZ#=$s4~$%w@aw5_d7co^Ba1mqa#_#`OEb=mYS_?$Hzl=LmhDD_m-oh)I* zNckisMVK8KjI=F8h|QU;xCxz%nWd=YOlfVMo$ZNjxM=jPbj{?XO`RDuY$-(4bp^QD zI5{1i*lY!iEGV^2Vd#jg>}hN$2u&yq#Z3Tgrb+&zi4cqcvy_#B5Gfs}u>v=jye=hxQ<96AUxmqv zMw3>XgP7RC(q2{rAW6umD5qpeNhGW*DXm8DY-7scqN%H+DP-sXW5cXP&S|MmCQBwl z&7&yJt*K}$%s`__tf#}uYfsHbM#y8ROz)zmWn?aFOD^YR%|gVcMoI>t5jA2pF*7o! zk$};XVq&A_V>Z!|l+m%KX46&E)}b>sGtmd=XmZgjSc#YjsK}Yh+E}YH5vnujOVIPl z5ZTG_I+;jWs_U4s{jB@KFqoLCvdFSa2^exo@>FBft zR5eIkG>io$DGiu3=*Z0!opco_IJ8vtWbAodeg=d(3k?xFxh#tUzl5`;yeW?@1)0N- z`s@Z|f)vUYT6(J10)~pF(gsv|jAC+Jk}mS%8UP+LQ8gnIJy}s&1^|pXCyRi+J*hK~ zqOgQ0kDeNdnuwe%la#2bxEZSks}iS$C6k4nkqV`-I*SY~J2|TW9Sy&=xjKtBKd*{~ z1)rt~jG3v5mX(AVhaC$)hlBy0KAVC)8=bYO1G$`|5GM_%1-*c}G`TvDA(NxBmdX#l zq?U~De+`8HXFOy6-(%wc5YPU1Pj=6yJ_Z2-x(4$8f5!zjrvE>}SQ(fY|7T!GM0l&q zCT+DN^~}}%ARcRCBkPmIH8joIT2?ixDpEn(!Q;YUJIEqwC1Q)dVSPj`)#0F$dSpAM zKn4S`bbdTtgze?!`rY|l#T`{xV)!(Y3+?oh!pOq@my_2^a2Sy2cItvbE74N*gAEg9v)P_$|W^8XZm!a*JI~HFV)XW zI(_pq0&c%_2idAuE8=-hn!O_Vq{eC! z!mSvq#ZSxk+F-diB)sww>AgT#1WM0CKwThgpIwpzxUUR zJl{<;R-2C-My%5H&j6}BV_df zsu-#4ZU*$1h65^0%mZcp47xwTI0x8mGv5 z3pRv{W)vO&wY+WI;8VG7-B>{5F|aLXMRL-MTtWQOxw#j7E-t^9zmO5T5W*z) zA+KZrfYPxHU#_jhIR^)@z8h-kK0Wnf`SfIFylrNz_Gr%H#*tTdD*ivc54U|J>x^su5ddRp=7 zlPSHZ27~3CFYXbM6xyc)$5D=8XZUL3QD;wam#0yFCy_zLd!)@<&jFfdYS0*0QT;u7 zlDjP}-jAN#UVc3Wkd|DC>$z8oq#XXHX;Za6>5ni@wsN>J6&4qo_ISbvf11(!^_>bE zM%VeMEp}uiw6!c*y`#)PLFYk zG(iaA!2?abggmrE1XzE{3!*JgO<}DP|a5rlWdYn(pI*?`BQK%+O8kfDD+h5 z73f&3+5wp>C@;gT7S|nv#I7^-5}RnN`;ep%Z>CBkUTTK~3Y58cQp4B2v^8Jd?R8nA z8QS{vMZlj-!$daVki;lCMuDum7{J3pxJ|Ln@xd9C#^k*sMhZf_6fhWu%DsJX=H>}e z1xHdPf&%EzXzV5n(GPEvq&(nF48+$<-oBC!7I)MRGzj%UBcAY}%~0N@B=*pELTheyTV6r5Ow?!uN-9ER#kgz!z&_E{c#m!)NV@YCMIz3iAkE zdmQ+V{e-5KMsfCUaOK$?M9p!XN4lEhV&$&kVSDPOx7eVi)W(4QiP~*QYPq^c$llob&SrF zgtqbc%{~%oTf54uKuw-Tp>~yz*!mXjMSqHnTrVp5z9*)qs5GrAC~e#L>dMLgFYewd zD6X#G6UKsTaCd2(#-VWcN&65K5W4Hn!9P6EN*2@otu@ZiBihUd&wowsV< zneSA6b#CTr-|Skl_g-tS`u_~{ZUOVqmD03ytXh5hi|Pv3np~hQx=6(F?}Eq7&f6sM zbP_OpL4N$t^`ahw#whyt0z?Dhwj#7Vh7_kVt2ieI%Q(B3ZoU*JmG@X72MmzEe3w-D zB6&XIB!z&37}a|R^Uh=zR{11)I?>y>>Ib>EP$$J}L<0QIo4&4dl|d%%HgWIYf5~{- zsD~37u{Wo64zy9>C{4-Mr#>Wz_ z*-WZ8(Q><2JIFB7xZ{Mt0zz%_^j;@?E6`4NMir|7Qw9f_0Q~;S_f~En_gPD9hS?JP zA=hARhL;>ic>d12)FHQ_LSXdsDDfA*f?~Siy_Q-t|MgX3n&PrQFZ7cDQ<>RK6Nb56 zp=DU{9%a0|6DFr`UWi_AKH0m@YNec#2RQj4tFPi&0~YXCK}Qzz-Mtc(GZ&BTHvMr&Usath@k zMm;UmKUiv5&P*RBY`^Nf>Vgu}b=ZEvoie#5}bNn7Su!vC!$RZ_YLo~OH?wgLo<%HJ+vpOIf`XrUvL zBYJ?QO3Wz7UZ5!EaO+WuNCyokkIPER6%gd&6u`N}#@LW*QM=_GYlV=h1o*`^W2^Rt&OiT6z6?dVKG}p55-*!*vUNk7k6mgtJ zA8a_oAkXTLME`HuDlPC@T1-uU5U zW9Omnj+mgd-1FP3-KT7Z?U4`KgWu(4I|gvu%A6?6mU22x;i$fQEs1VHmXPMlkQD>93~qijY4`$N}Zw zJHnEZ1ItabFHB|7gZ79~SnF1n8n4j;u6=UE%^>t^T$B!pnaN!L zW+Y<|zn(GV9_B-2aQx(f^~Wo&1?%!iQ^rzw-&Ok!45TaG?^gQa^I9h1tXTflasHjo z&dg0Bc9K%d%<(6~`>+~pfKiTr=`%+dPoi1EcM5+O&J@lv`Qn`c54K}3)7pj7=T8_M zhVaWz-z{4ItUeIcf00#CEneV1Tkr^=luxmXYh_c{<`7X06N@(0{&c#XdNGvIe*B4d zN{Qu9t9>5}JwSKgo}#j?o$IE~L#nMd>PqQ~ZzWF=EaF>!Cpc0z?P0|pSxD5-y52WS zU-(VeM3Axr8)}^R#gT%i6p_N;4h~WgC}Z||k@U&Fjw}GJDY2(1IHAG6&5gtor$!G1 z{c%&e%u&H8eWg8Yaq3=8N9N+N6%}nfx}XcOd-UWIFVYo@G&j>R2s;;$J*QHycaP}% zi9UuC(az{p7?{jP9Hx;WYB?}`tr{JU%ME{3gA_L9}cBMo|7<> zi8UZ1Uk5AyNz)mWqhdbn$lkkl`;v~AYv61yR=yCVP(JkD+n*02NrlTTsc$v8d16H> z)I4z(u+g*c_eMcX$~<-aEn)#iTJ*34&Pv>PiI^aqLzeJiS5Of@FzXhBUy5`a4bB~# zp9CpO3!L>a4@r^bbEftcb_vOZ6{;w_kgbRk8iVaPE*nJiinIeVQw6O?{$3j`eqR32 zq0=4q2VKJX&{J$|!k=gPFBXZOhoOJu-H&2B&{V7%o+JSzy-C4z%L85+_9tWT2lie6 z(dsT;(xpZJ4MrKn>I8>YRsG&Q97ktImpCT^iR*3{-}e!hR>yYmn_Kta;&K2U*L*DVXdR*iDr<7O6=|IP{Rj?&=8zz7 zW%FmUZ;dN9we5sIhc&iHO!H;)k?45r@67JS4*KhnjubBQZe%98=v8Z2`GiF^Ik077 z`NxVNvcJ&)R~3W8i$&`y7RoDI`(8<$m84PHO0iKiA{I{&8ufhBAe7mnqy4fmSIa3dZfVpq>Zg7+ct>5jAZQcIFFrW?4y~q zm?9>#q5AGAAH)(k|7EOM6DueUGt!eNy3^5MH)d0tSh`uQT!>-+; ztIQm64Ovd@Ya8JdimKnwu!uBvrx;Cxis zu=h-r{$`k=-ji#P$Nl5qCwIrfW7e}bYg8DIch_FGAG(4FNHZ2U<~u}sMAi)Z?qv6O z(gT9hw8VG*zA+T=P1XSXS8k|8ODy5;n!B5dn@&$OIZ*AtC<7~>KLa> z34YV^A(Vb^NwIxKhV-<5S=wA#J4(D~Q)Fw#DfP6ok0qf`9x|O4X+Ok0R(l_{Tp_>c1EN_>T_%H~ixtltcU9 z;vd5QIqd&F{6hrD_kX}YMBQ}dtr#8QUff^^z}SS>P+bEeAO_}>wFGKNNO zm?^VCVA2v6rlw3e2$-#*T7)Tr$dBa9vjq4_R?DLlq}u z6A29-8&N2$wgjuAIG2v61*?)BAE&Ur6HpMU$0o~f>Sdye$;7}27E_h571D)ro5>nT zdpJY&l$DL79ds2TK%js&F9)l%sH={+y)3V}8Jm$Ey?`mVgoC=3DUTUQlvmN*64OIP zLxWdA##~y|iC5lK)saigP6!TH(KQw@b(eGF(Nt7-WR>K07w6*F}ddx;F zPDaXZ>}JLwH78d+YXM;;JsXIXjh7y#7{8jCt0c@>)P&X1RLV}kK$Kt9QO`_ROG?{O zL7GK?*;7wQ$%0>9O#`T@V+3JM zJo#-rbQG98b(J_Yfo^uD5-@FVO#vx0btirsH)jR~9VR6$kctTl%)!H25YBGG%#X=p z!D?#kD6FMGuLTrwh3IO+wSiKO%7%RA(!%z7Ha5cg+^YIq>Oz7HAR{X-xV8;UK!#n* zQ^*X=!zApfXDfzjpa$i06!dT~lacdgf&pC&SU@m(0H?JKO!42tHG==Sg#Z7;HUGuN zMEU;{%~pza(qBzl6?q+etACej`ic00{g5v`-_V*53xy21tM^*6!e&U1K{bh~eD*%! ze!EhKdDN$zfDSTiovQ17w6N8-*rm}}zwO_hG1*zaRPFosL9QOJ|0rwyXx-JNcByN+ zngI}wah&lCk)u|#lsjGe)-_OW-@1{ncP5E#VS;lkFe}7Q^Ct0z{O|8N13cX>m8CAs zzY_J&&~^Vcr)DO7?5jC$~LvE-4mJ|Y^nYC97$ zc0L@2kMFx|inWU`5De9pI18STlZo7VqdB7b1`P3*Gz0~k%MrB+2+LI#%u&Vvg-$ERwNa6?acR|UkL=uVaK~_B|Hhjzj%dK% zCSITEc-pA08i;Ihs8ZEQqH3t2LyJ=N9$20=04BThQD^xtE(DQ5P+O8A_rQ9#>MxY2 zjU~FHif7Ls%H@vMiJ`-ykHnTpLQbX=BBRv)pwez5P-m6WTT=b z9?dxDKgm{)er^R|7Nazz&a2xRjEK6kfMxwf<-U>o-Bf&G)INbgOw9=$I-LBa(!5U| z9?+an;~ry}$s}Di*tVtA+wN ziiW=w6W25~Z1$}VKiF|h5FK?5w_Z#BuDE{IY&|b7tj@AZ9J{SV&L|j4^ZE5tykb89 zWEz1%q$Z3?2J+xCKj**AMlhw$WbbnaV_be;G76B9+qZ{=* z0IdS|p^3;Y9&GL_gIGHqo3Ph0zD2aEwQX}s@T|jL1ICZ}TIuM`1sAw94il}(G$))i zhEcgUkSB%=_s#=R)slg3QIeHwb!_!-i>j19K?=)$be`mR%dz|kUJqr?W8pvHkPLm} zvA7)Wm`2eHP#;woH=No&K!qUW+cmnHwnCPIKj+zRln&gicce#D(B-1lDC}>Yzj6-6 z5EZalt=tq>huG&~FrTJ2vFDIslFu zGkfZLd@Z5&!=CA?B*si9rfYhsZ-ivg`StGHT@L6{gC52+N-0r0vF+ZXA0Z0#SCod~ z)L^S?TsjIZ6*Y(I-jXvm?99J9v6jJUgDC{pYT9l`s2{{hw@`Qe`fZ?xIgu2^nuMT5 zvco!l00NLvkW{>0_z4AwRz$f79VV-)sww$eVVSm!{!X|xIGs7B_d$RSv?u?h$)CC~ zIWFqNP78$%{y{!||BAIHLp*x3S6HXXZ3 z$*n36K8VvAI{sZmoZ2^b)TZl1E**b82;{N5xrj<*#hw-$2INUG#RKW(;($@6MNa6I zKPolJBoRNpHi%vn&V)94pr9q&h!-<>E_8UEg3$AOsne|p1ScM#f7xEemmH|qTpf|+ zHYa!r=2`8k;}$l^mX>9waWjlqgSF82wCJO<6*{|-A2+w8%Sh(hmh!G6GK8DFG;^dZN7Uv1(Gf?@MP zpz44oye!X82vbzP&+BMm&Hu_#>Jm`pV}bSjjjd$xdisFbLd^f{eXT1Vty29AD1CmQ zZYm;_w*CWM>v?;}R+%!ht&8QSiDIqm3(AL& zD?tke>J(K)!Q6$S+T_x_jMJPQvhO)!qN+d<)sLNdV#6a>B(YW(`$(@9b>EZ_7yr0a zxDU9l&X=Z03`QkANeEuSC8`3HAzyJJJTm>!@oJ0cDdDZQ@aP}bdYFZTlx;YeuxoTT zk}h>B6sWItC-3Syq0tYkEhKs$k@_7P6O8p-RNV?7Melw-=soS;G{xOK=lp-VeE(O!NDV{bHQM7SwEZYd(PK z!^?HgtDj82K>(4z@WnBeU;%qjoa?ctdu0c}(ZH*f?{>0436eYIs?Crzqqv4~Pe{CX zS`_EbU~(?XIKV}+yt3==k6wI+80>D=0ZfwmHjJ{rF%XWp3vVSsgtqlBo3YQ5=y=u2 zWJ&QO;20rbTJ?p4+zu5gZ*GUBs**oQ(iJ0rwo+Q|`@sl~|HR}F*-nb`G0T?YQ(eA2 zj@_S~`Fh$3{h%$Y!+<&H_Nvlzks=RtyJNl?6&51B;grw`!F9!j@Hl16pPS|>7mV}X2qX>WR0+QNHOn){y&RXDao$q7HdlFj&mjhWTzd#@ z4Y_qXM-(Wvi7%P?`XHa@7Iu(eWwoe?eVWGiAJQ>5iOJe= zV|+R@S#q1F;|?ImFh!0L#{9UOdA~X~UOH|?Z2Qz{9Bh2({n^w$E*Ixs4B4*M_=BDZ z*YA*Q`*-BITErp{{;RsGQ?-v*KW@$NoBN|=SF_{~ zZ^T1BrqX`N-02_RIzZ|q3W*rzdzw7I`q?j~ss9{ux08%)==OAWetP%wZog;k;_&d# zrfJ{Bqj1ZM4O4Ug(VD&ItJDwZS+g_j#Sch&&%s@P?uivHRE2ixm6DrUKrCj3V_mB!-3o7^Et`vQ zy97E@W|naF)7%3mW_0SJ+)r57xV9a1uN#n*)tMsc^uko_&N7B5DmSu#(=j3Rw}il* z*=QbCCaln+SSXf^y1T?E;7g^+$~Zk4X0urMge6m_tIDM^H^pK_Btdno*JdQ+H>Sp% zf-C~@xg&qt3q9Ngs#u&oBtOni@(MiXKA*KrJ)|S{b9>p|sn~wIVQ}Z*WS)5)Fw_A# zc)PEj(D6y;8=`Npj>lIBG6q-K#<^L&<_ka3UvpufBeIKi@iu=At;OhK{N zcq-}4#M`9|cP*B{ecwi)b+2=RMZZ44v&On{QMQj57xQY3Mm`L7_vw7M@7E!RT9rdY zmEStTM)a{|328u-OXbYWWdg;R?2N@ZgKj~lP1@=JBHhQFhm5X{C*p`~YRD#QsuF3G zza6tEHR+YBwua%ne4#v`+&mGhol<)IXK;KFn)x%Kboec&l8g>xewDE4ba~58pRGMv zO1i1N55t_cl+2DvoV01!*)PqeW0R%{GBK7OluqxLpf@ap?8VT%dAGEeSGL2=evK88 zs7$~RfSAt6iK`#!WO|m{vL|FIj18VNX_Uv9%I$O0e6rjWx(= zTk6m93#uyZlc;^ezu4d{RQt#-;ORYYG3dcy*u98KtMY`XO$z*2ht6UPyE0LWy_BR$ z8ElZz~&s-b_x0N_WY4rWxoHgdYDY;IUQb9VLF; z&GC{P+V;?}u$kjZK z(KP#AP#HE7B5i4xaqQBiS|Sqdq*4x>(FiYUZ4{`^zCioGu3mL9a(*|e8acoylv_Jn ziL&f=RanhhByP?8PEr@5WcH&qd#+o-YiRF078%b&^(G-^y&2WjfES~HOe7uU^WcWa zuro?z#w{n0Eve?*#wwfQNzGOU;Jy3jy$|YV??d~=wr|`HOt>BRZ1^HR;pM314_j)U zK7MrN*Ar?a8FCWA?<_nViIO*}C-`kzulyX3)qw@nS$<>(emT*aDiGtr^=Y-MBU!DP z=Tv7V6H{5z!2qY#n3e|eYHXnRG0{mVy+gi9$_59}92&sSU9!x_9^q#c5e<3*H`Oj2 z-;wnG7y*+U|5Z_dwFe@(NR zHMaDH!xoDN!d?l#ve<0_MT}}|k~5aYE}>bYOSo2Mm8Y~bSy#7*eu`rq*9!ti%_#FJ zP=Zn%h;7v#^)9Se;_656#W-G`m%a_x9%Wk`TD(?}%*$ODaqhjSp%!BUWW+~AJFt|= zjkkUXLVfI34Bd-U=o&5YHdUVygudwfiaXO2-w|Kreph*ew0ywb!rwXconZZ=PZMX0 zZSRmzRld8*mo)JuwB6bRib1J_Q|%z|MqIttQ~w?Jp#E+xx^es)qOIDy z@NRM|GJ+?-8!bI`KJ{0G@HPxks!rla7Mbf{wZg7vLfbZnM-{>S>z!J^#h9R^iI=YG_c6<88Og`r%X3Xz(mtIa2NmBd)V;()rFm!)YsT9rdKKdwHZ};bKp%+ft$fAik4Ndn3bkjIrHgq z1j^ls+;Oa(qst;hpe$MsGPa!pm8^KbQ2-no;Z(03mv$UZ1wv6`CG%t_g@vW?mWAU?2&SgabTmJ;sN8e;)Xr8O)>u>s#o zM{@ZLwZ&N~w|@mtrbD&-tblyV#EGJYXDpU1^IlZ4M8OW3@@!y&@^8iH)O(nNCQUvW1)zgmW3#+nrcN4G$S7qc zDRVh~Ce|YJmf>c%De5mkpc0(&=#DX*hZqFD6*e7PV|dy%X&o0^KP=6S+;hK#(OQL{ zYa}HVK*5qiswKP1{NK^{rXxri&aVPfbLr_iO%$ho!W#B8A}$D&-*()%M(3 zJ;4wDifPu~YiJN?h}Pb#te-;-oY#bPpI*<}AXRVov)Dr%qAFYBR}W8`jpuETDl&vW z{2FsTKacSxEs>pn5`X^?;6IW$_=eudT&_aI%pL8l0+*FPkM;?Lt?oj;to|T4NH%$A zD;pA0?aKI@rGDD5F6}GYeshI6{B#LJ%~3Dvh?w*OvB0;`ZnB#PW!63@Y&0R9hJDVF zjy!%^CcyCK?UjMX6MHNfm4${LV-tx(MiUL|Wdmit86=m-Ql3xlFz#t7T(DV?RVB6- zz;zq{M*A3NeQMJ-E@~jd#e1Osg?f!Uqvk=*+z=m`h;HZYjtbC&@;9T{Q6E$o8m%3U z&#f!1q2aiyCh1%xjT{MJ&#Ib*0!v3foAqXd$+&tcqsMHd3z%7ZDn(}$9Y?wWcL|TL z8?PpP;&pq@A3muiW){^o8!bT{k?p@f(T~xQMMl_rd_p_4)XonyWt}mn&@m1wN_VQi zh+SGz%v7q=nIuZZXh-Wm^i`2^BF;hi0HMDK&X*SRf}4FKJvYf@DUo9S45xDiH+{Ek z)4AF0`tohU!72NKL%S(8(6Q@h6?N(?BLhIiaYm)ikG3bE+udWGweS~cU2~wZ-=dy} z6!@iL->Z+=1x!0eN~jJs7eA@G3=m+DIUs5{nXv)0obSN@4q>2>|n_=(!9WZD>4$aB(E22u>`0zz4RlUn^N^Ndi|V>Ej2L%7GDJmX6nqg1OU7M1^2SuqthA1=Up_#y6iEl zrmDiEhW)brm@c)Mo$MC(ZZQ$Fw@_~shL(#d2DZ&*=1kc{-BPT}#4@u_iUGn8w5j`I z_3vTb#DK`%OdHAdxl8W26xTZbpzZ}5;pmt&1)%cKVhUd%?=5m=4J>HRz8a=ItDB|r zIxL!hI?zE=hTZ9qy}s>7pr0G3I%nm3C&G!Qr4ORL{yHoXm;Asrw6>An*w}J3x!=FP=UZ0fuj-{bwA|&zO-a3e!9JvBowa2`RDNa%Qn$}@G4UIsgGI|fi|-?hgIA+_ z2x`a;#7}Gn&J-F<-ciJi@bgr)4KpV%8{rizBX?xO`CYwxVGCdQ&~^vt(!AX(%Chjr zQrtbQ7cjozZ5$-FI(3E3vrnsM`zXCN0U%HK#g3yfJk8%%xVT-mJEV5T)@9aq3|iW% zvIoeqlZ5Z6q?*zqT3Qw{W)&wn7<7bmX#6CJscXrmJ&-VKN;q8?;$_gqQnALnRR6sn z6aggd*1PgX3afbtO?w-^kA)D&Z2S{x<>-r7kWo=$$S3r|?#n=W6FIhkJ-uw9Ul%c4 zAy=ik^DV7LLp+n{S;;v`Q1v^%LLQ1KDzT&ncPjRUub48ve?{5D`R5+)1-3u#h`o<6 znr?E!I1)v>{E{-l(R2NZ4!LC=vL7mYOxLEJeA*OvdNV_v*>z>Jj(WC|uC&GYXsQgz zKmqF9vxYk9Rse8|(#1O371=)hI zB~iAxQzd+0tnV`Ou?b)|dLNTXeK`$J;aG21?do=S1o$@_UV?!n?ML+{HtGn0ANi!b zo3T0!Ij|65c2SF;BiMQHczl;8md?Zj)T*+Zj3CpWzXXj&3T$0szkZqf;k+GJ%E-_5 z--%xN9ypDAXG*PVas!$V5Z^4T(22PYGgMRQM6@bIU^9$X7Z-z^dvfixV6SqNnhV{f zcjEx?%KGcoXZXjvZ=@;~RW&v7{#7lE&4NW&=-t zOcO14P&mHy>9=kwSd~bxOGE8^IC1yWS>lT>f&u?L6m8&uS6JRD=j|c`1d|t z_PPqE?lf!CdJ(bB<4|M_3HY-u&s$hGuOu*B?!{YF*Ua#sv4<20)yI98w*6POcit~` zhb?%)nl!_|6&euik`KN#rSI`7Ogjxyr(;DuJC;sR_L%uNc@tOnR32-?I#e3(jVEeZ zFKP6;$mZo#k@>QFIVHK3@_n1}dQ z#9v*@rl>ANCFVi&CMvOLKy#7IO}XC;T*xL*JA|tGQGSzuVw;s>w=i8BqdE^!)5WzqUKuKOM&JQDv|G6fFq^sW*sGIQw9r&1>lv2^%qXX+?lHdt6S zY}Tn;yN2vfctHdUvf2&FoSJ*~Ak9h{1PD_HWBo3WO{dpSjJ#G;Y;dOc z5?YuKETj}Fk}f4*A>0)}$R-q7A;&(^xWR{DaTrRaq?wQ<%+&c<={9>UQ%;=MGIl%U z$B#}3nK7S;JiZ#D{42d@`i?srk#ndY#Fwzrq<+}et<#L~8gcw|vbYhyyzhnNa=&ld z%~WT-XP2`$5T6yss~e7jWIx7xcKodezX&3C6GCTTt-$EZXv)CvQXsh~24OOwgRDEd zP6Ua;g4&KY8A<;P9goWzB|O=sb@vVSKOT!5*`p zz8g9|uBICK1J&Ys6I(;QTb{dW5IrKBUMNN`@7bYF$DhW$v%M=$S{9!{tZ3-O67vbMs02Cmt!ck@AAWwXRGYvEqV-w39p`}K zM5!?UsNAL>M8<9%=iR|MF0FV9OyXXzb+yIegO06eCEp?NH+mz>Zq2pQFvKm(@a|S?qr%J>gBtPBwHdDlze#yx~nn9roh4 z?awk8XVHg(;fQfc_0yvTmv8$Q*v#!B;6_Z;slq7{go#{3am5)R>G=KJ*EUlca$=!h zaLABL=ikEMU0qG6UmJ1U9N-4!i?vZ@C~5YR1^n{mhraGkM<_yppOZ-6|AdXukD?MC zGoziJS<>hHWO3@h%IW3ds7|F%q|!R)pBSnC@_jPG>^*dK|CEIAo+OIpZEs;UhRUVv=#jKY&ZOKPyn_b2B2 zeM%8td5@pAC|AUq!7ub5pz?${pd@SlWHAOx=i~1lt3=3airHBZ63r$br$i1Y2@2;X z#W@{b)nDM^M+u?T-uaR5tLkC`bDuEE*H){W;nxAL7~7eJ@c3;YSUF8it4zC+iFM+c z-8nPF#cK($1C{DVeG1xp^Y&jExv?>I6+3*ehv_l-{$hCO3ynORvlZz)kKOY&`s(>J zgP>u;Rt*O(a8v2_DXb(>gW(uMK~B=`XY8L0rpPRCNZ+8IZZB4hU6qmWG}SJm>XW+bOVfP>5~)H=FCdBV=dQl`+NL*;Gt zDerDZl+5od57KW++Ae~;aTX<&X$~UaiPS{VI^tY)B(HvYvcbW596?1;H2(zwf0aDu z(0*M*x(m)V_jd{JjE4gBID6V+)2)5F#hHGh^l>-_5vAxBV+IU7a5tsfa^o;DWwHBy zrLHm{igL~um;bVwLU_y9NS4#vOCx^Z6wVL3)?tY+lcwT`+EkI>qbU(+72X-9{q;J1 z0-)@&x@T9uijrR!o^DlKM*pdiW54!beFzXqo2aM9UXT-z@mogK=yK!jB@Pf3l0b|C zH~hK)X-X$#`)(ZuND#|(;4UV=J8n|ESRumA|1SIy3~h|#(w)gAv7!&i15V+;729eU1pX~k?ak??j#DMyrPyM} z_y&B7@5Lx?NV(9fMUn>=W+*|OW921EX6zoB8cFLdB}QCVntBW^RF6TK^Xi=`=BVqz>;T?i{uo zYJJ^+G84?eP5Iqig1V~b7}ndX1`M4}I3LzbN{*&mtL2^ofSd?N!RfQQm(V^(1LHo5 zV;9l{v0ggU>@a!b6$D$fABQ>rVFGusr34dOMlZ$CEJM{JHWw94frFcP`AJTxEPH|< z&Qf?NnnV1)*$cc=fg{?iMk1%<2i>O*msv~?%){WHS12pxa11cWiJzUID9~%8&~)dP zBitcOoCe~0@jUPTfIQ1&O1L0|SJ?D>r39bHrNDPV-yaqb7;>^Z!_cSLa$Dt0t@*D~ zvy?eSvaaBnj~DkW@Nj}`fMP3K()mDkSg|0vDJqiE%~#8}0-~HmGPqH!-^kO2?eMWi zYY<2>SdSD;$;flU7~FK)*j6{>c!5qV)$^Qnnc|mH0$76mM|zB@-3@=g%6FoxPO24( zIj-zhQD4^bqQ{$ryuTjkM*o1Q3;Z(teT)+91Sd;TcBb`nXw8 zly|*y_h!{=E@XGqn>5SJDa;11UyLz;@gu&#-p<7MHki%QjO59nQQS|^uQp&>mv<8$ zQ~-7qlyT%!Kc={E(=`zQQwf*eiHHgWiQL=8B?YlNdd)EAL<$yH*fZMgMO-gMjMQ*ar0Jfs?#^DXKpHGj_ zv$%a@(nWbOBjq(ecs-F*Dg%S=oWF?qPXa!11ZiH{QzafWun;c_+$rZwC>le8hfM0? z&`Aael-OCC)b*9F@#!E4N-I5$L;ZDW;sxaOkV)_T#`5yG_j;a*r$LV32*4pof*VQU zZyyem1yRwANHL#Sjo5hzUef8*@aivwgTqbI6Dx=Yro8C-KR&9 z8`{4rH#vwwa*vB9E+*3iI@6x-$t4fCoGoE8ar7Mpln~^0*K(6!o{C%_Io5lo+z2*0ko2zA1}=ClK&Rch7I;7<4J*FG?Gth zK$k$jzvpaHk^N=|$Te^74(EqyX=ta;B;SPifxg^b9s2IJwL?6iY$vTD@SJ(iRedCV zw8Q>m@lsagsB->15X}}j$?Wh2Rv(t{-DR>F;}h+TM(`bNFa?~dO&W&L@JplTTVW}A zhJ{W6damb(=erLRDU{F}6w4S5Uke4`O48&1`?2lQ^Yf=iR#-K$ zMyafB9#(+PwT@>tMYQYi-@o(E>F-XnRDMiZh4yD>+XmDb@5)U*_P=Qa$C7lbB^=Ig z`_tI?u6q659=i*WV`L-AfknweY9MXon;5}>2vZq(L2{-A*$cmWBdy)9I--F>)SDah z2@6SCziy+2Z*OnqRjEUt_9m;PLdLn>V1FeLsJz?*{;iJTU%Y_+FGSk^w{;A_e=)QA z7ahYtwBQ#V!~eYSiTsD2;J?+!N$8&r|2G}OKWc@4t78!Umtp@m>KOR{k2(fX9jG}o zx3ia&qY}M=3p>!zSo?)`&u_wF%dM-U2-DTH6lUk)=N2+x5Y(a<*U)DNS&D-!-E=K< zc`i%qjYWm*L6&j??);dh>TrG?1y)IVZhkH=d2K#MD+f5l)|pq>&Xw8TjfW2|EX^du z2yo-^G-HOagH7b%681m^YZE3RS#c!}11(NWC4N^mDJMox6S$Tjqk$lkl@^Q_V&-K^ zZ$qzVE5L3hsp;jS$si-6uP1NBBnOa?wS)?(dYZV<3)pa2g4o^6Fg;!@nBV{pFOVrr z&q7|#L{5)gTvgPX8LkVE60_!0)zz}qFmlym)rXkz8QXifIdMWwwB2pBEET=@n0cAq zA(-}#iUuGDaV1`etf#t$zKWcbv#Bj3Sk#D5lu3jE3>M>8(6w-fF>4x2D%)GAgC)2a z6pSQX)P)%hT`csyym>HPq(p5bG`XOn%H|MTd2MC~P7i%S26HhLeSTK3xvZ&!D4(u| zlpYhC5wn7qvW&d9zB&YIO7FnL0)z{y+OzOuGJ#&)?akbIxdbE>0Foxc5D9t_eijWL zZ*d((MsXHhSw;h1Ax<6>Wp!p1ApM766IKguOMnEQ4X?0~Dx6V>(^*_il}**kLPAr;)mjQF0%3$&!sQiY z;F!X8o~pJIa#nV%ypnE~@-Qwg8*Vm5MPX5W4sK08HV$`77HyceqNpkp5XfYr2$6G< zY*Yx60@c@Wf0zjCG);w@lb3s8(8E02(USS5XrVhU=RNjP3-O7Q(2%^km;$biA z$}B9ZtFO)?3*|D=adn0|X}Cgcn3ZkROl55`P3U1VT6S)H+J@o=o|3{E!ln-5ngYU> z-YimfU~@xGS7|m02`#V+&{N4;RM%XQMZ=0;p3V7X5yNivNIz)rZRaK8(L`PCg-Q(XY8vaF;^ncli|BD7x|M<53f4lPu0!99_ zJ*C*U`m1THLj=M5`acMAUpKy|tF5z-LMwj706V`SxLpNBx5f zKHU-&X3UI(#y`)$Uas-s+57ih%SrsDNWrDpLACksyS6u#=2A71E_%ryoC?DyT{6Lj z#p!fqJ@$6ZBa|gb<#S4`7_|<1$r^I6iRADV$4b9%y{Uzb{T0uBB{y5QZLagQ9sbZ#y;VMVkZyG9X)A0@io~z*CWNnbKIeFrmhM$ z{#C``I{c8xlK$2Sl(l1UbNA7H)NjO?b2zK4B>t}q+yL^sRbL=GKSz2CmSy|iTv6cs@hBQR&t5L9%PZ@cL@a2^{@Cc3o}c{|C(u(!Q*ii8{{<$i;EC8U&rpaW zUc+vCak{}wAjV*5rDq1#7Jt|{hk`OA z_x94*BZ$fd^Z}?YMan3lu>C$0e{apr{Bvs|5c+FfqTw+#tFbk$mL}hF>AG+sIARkfC44B#;<>l;%-sIsCxy;c*)kJ zZpe5seV}5+5#mtKjHORu_kHaow&CX_AhO|?GLnx!PYR;47!cRl#@fi@77hQflAsrQ z#2u@7oh;4#h-R-^Df^yz3Q<`UIeqEy1cQ=gfy^K(c{g7pMJvyDW26aj^;P_agByZ$1Zi#yLAhGu<)PaC13tAj;_)t%lAk-R#bQCps}$M zOWvZv-WhY>qii9!$mhVrx7c$(*zb-)C(4_7vu0qaq-cf}awv1;k-el~(ewJZK}x;y zmeYX+hk3&H2U~BeeGyG`yUK+L#f`QEa_J0J;AR076&qrqNd9iJVWO6(ORsr!41j$b zG}AX3^Zn9ERrhJ{us0EzIy}eWEpm5}y3RwdN;BxeWv6bhs7ZJtCRSoEdCPA9+-gc# zMP}{##$}h$R_7^G;L=|Gk#G{aS8|b`NW1F`;6_dsvT;xG#kax1DN7ZI&eJb^S4w8* z@xYY_&!VaN6J`(cRE5Y|=$J1f4NmxJpt*-DZQsx-j)F8>F3?w<|4j6j1n}`MeS|`u zRTp8I+QE3mwA}G;wd^bUu_Fl--o1Vw{wEc^nM>uBdT8tun35vlOqnVp4Pb z_>^;e#rBd#>@Q{%;qCI>OHSS3;Ly7-Ug9DQ#G5ht2of2KoFy&9h|~j_hzAhU*~O-Y z5aSakjR`kYX)CE}tlb|T{f&ek3))-(_uI0ans3-dVSwd{(jNnP#=fRpb4=&m(0o37r%q+YpeEt;w>488n=@ z&7xIyYd{OySTvlgs#Uo~5N;y3Ffw&mfb>Gcyl?%7*%nT}`S9ZHJtRdXJp@iN>Z8HT zR(Qd^GrNx!rL_TZqDEIrvtf^A>xdSqyajc}=Bp^PxGcAg*g}Jj48Dx3HormAXb%}RCGbNB0NU~9r1HQXFIgfz#BEtQGLsrx#L;}Pl-+G#O#FHpEmqR% z_#jKS(ALS!gS6~vWNs5{8w?S$`rXV$3^e=>5)D+O`@wR23x>RgQl==^{S$$fFLME>E?b&y356K zCEq~u?r25Y=#tPuCh>uz~wtcUhwPM`$JvzN45`?aM8PMwVW zvbHFZ(|%L-czv4nW-2!bYdz@!1{)?Um-;1$K?)0N&;Hk%R!k=RPbxxK4Z*iUNZyuc z-PHK552AL4pw@OcG4?i~DHJ^-~#ItKyXwV(? z-TLll?vdZ%zk#fV3n-VJO)xcodrc%qa#+0I_1E}WY zYq?P%iATEgNh!cQX6emi+x%+)s-52zo4ul+bV7)p^-F4MznG3HQcG{MSsuSl`5PYL zj5)kwy=4jdIzNOx9YaapJOl^K?rD#7{o;I%^p+~58l0)BQ6+*G6(@^sl2Yiw6xvsk z=xC_+Dh6WB-i7?M$u8MzSe4?p*FyE`ckN&CRO+{VO8=Ii{5tjM`NR-P{qga5#_UrY z#7M3+G0p}-Yie*MxiBWe!VnBjJ;)#rd%;4!44ZwlpkN?I%U!Wio7@ESdqrA%dj7dK zbE%dFO|>7IubN3nx@~a;e0oBu&iLvi-8;ug^pRYNmBmh*{0pziHLqCMN+oy53UMJ< z`ZRm_f)mD6B#Uz!<$Y*~oibzT;Dj8;?^6A{sP~l|mDLUew}crZZdaw=UC5xu{RVEQ zN@;D2ElGWb6NggbL3Pd(ZX!zM%Q_yjUC)%5;DRupOGG@+qv@d)4L^+^|tc zX(g33bcY}A%1IVO! z+~?!_Z_>&RZ&HDPXnJfvxrP_&1U3dL1t^AMU6BmGo`aXU5NQl9k9;!JSqJ{D{NwLM zi9haOezzu2r#&mu0ZS-z8aMn-rJTG=(g*wA-)Hh~{8s*78+V_zS?NTM%1Noj5&Vxr zB?*hQx@m~cIEq=}y8e!(b#>oizZjU*C)~MqJ(PPN#HJxpKU;ECuehzZ!?^HMPRSO^DvQ7KeE|d3OmT1o;&bKzuD?~ zfjf?nGTu3no8Q&y8lW9Kb^-5B2od!_kgvb*t0>la3^CD+?3YdO{!PDfB$PA-(p-_# zJ16n?I>O|2mmKfQ)92+yT=y{O(XrF#`|VMi=X77a@eIfM#6Tg(ns3CVH8ELt{ODtC zuMY+#^?t1n7ADj)EGkUdzv|Be1_c2`tPHSd0vOT`Gv1Zo2cr?I`LlD zqu%RKL;J~mUzw06fFm2zulpBQ)n=c3I66Bq@MvG*uPz9)^euBTvcnsiskwZQFfFg=>91Pd?=fH@ zTK-?M6y~;KBYdCQIwN~eTko;0(SJ+me9mbqwKCVqwRX`a8{u$#oVEm(y!37-I=?^N zXWgD&PR_hfjDmFThqU^g+O9p|w4QmoXj5hLpxgvkc=)Mq4ac{oXnl#bOxzNoL~X_5 zoN5j;?7CeVuRT(C4x+s{H}PwBZUmg3v+4c2CKetpDjO$}sDVFCngxvYbji0TgO8$a zQae=tc#N89wJUh`F-zq&j2ZzZYoam=p^a_psPSq^Utjx{3y-|E| zppRZ4Kmptx{8O+U$@3H9$$+;=_3yk}aCkny0<2h289A@wSRHJEM`)79RvN_;Ct)LY zz3=|Z6Aw%dy6bbO`x7oAN6E>L}^Pe579R>ko#?bNTR9o!-RuY!>x3O4jvjKP7lEMoE|o#H&q z-^6=ztdt|R45XKT7ddY)yVCG>0!zauF4c+30MkxXM$~R6qGgV)j1c|IeG0p|G{2T8AIuW z|GDqOzZDMt6!b6x@P#H7_=^@#`)>^fyE61PeL>7lXzN zDpURzHQ2D^#HGY=&e54CRzmuw=SRaWlJqo1xYQLmQ`yWIPs|o*P=%Af3hUBH5E(9; zdifhDQ~4HQ=;Dl|-}(?1y=Pm9Y37R$3v=a_kYAuiD3N%BcNmWT#HXXqg6PZMO;WL{@T zP|nIC1KN%T=y1dy6!M0jrqt=ICB%Cp{2@$LXJRxu6Wq@U*Pk6g=j= zwrhYpJWKtF+r>~%^qwSaWlU<3(MabxxAP`pl^yWwpkVlgsK zQbma;*k`!ebG~IYtP^CBwIBm4FjgAigN`G}TbACzR(_7~u8`{MtI*;ZP-Z zgfK7(nNcqrRhBk7am4c~ueQkmQ?I|z4f=%h-bmh1gD6)?(I9rFP!%XjI#xpkWfpM# znw4V4N|oY?QG{ofI~LQ>WXgIpU`@`32@FofTK~|aLQ$?Xz0j^92i7mKmgzz8W9dT5_l2qNQXmk<@k`ekUGqw@w^2}w zS|a&WX44e;T6H${=Va>wlm=91uqRm=`ldK184Q)lM5AbXW>IQ!)r&|VR!LFoVEsoY z^YI7ZROx;=#XZ`9fjQ&8$FUNv^8Y&QZ^@D>gn5t(3##r<#dp;WWs^;h@_1 zz5ND!$L)g%RW5tusM|>}cR&*AyTg~iV~XXn!wmZFWwjyB=dVY7_CqSolG7A4QVnBe=@Ka_O*^>`48Ilh1C(I<;Nyt zx=Y9M88s^ztkJwB8tYj0xw`#lT#*}Ax2gxAsG;2xPHVCw_Y+gOx$u`0nL}K=0SguP z9R8rAocb{1c&4dQYePjg-M1L&YT|?-3HZ2<5ad8){nTm63N^IFi`;a7q+lgB#HleG zWjk&`hV$A`yBH*!@?7P&ghw*TDEdaSpSLEEf)0kN>XyFVH*jw+Pkfev*1t zbo=T&dnZDzhI(xFKD-7cjEWBM5bDkV+&NSW60};+&kj{_xw#2*NYbwG zAuR8iQyRocSg6H|9NDEle8Vkm_+4FPdX92oUamHB${&;RL~8w_3q5Ymuw(vFdd*YZ ziJC1o<17&IbP8)C7jY|YRL zP|S7S)b|$*UKX(WhV9m6P?G9zZYK(|&E^;O1>}1s^;HjTz@rryTn}AiFETxNdaIui zGQTIHb$`U% zu7&1hhuh&)_UNS`@MUP7Y#Ma^eXb0P&&Mc;Lj{phNtG27<-HT4aadl*N{?4Nw4rOB zghFGm*+Bk25px9nig%z_=s5&Y<91SdwH>2$-z1vIgH+5V2}MR6r(b-p{{Sw*VNc7K zK#jwVB{_~P;@>3l5By7>c9~?n$A_D2LEw}etko*KVpB(4kP^!+43SP0skABOXr?jV z?8kxFkvZp|cryMPqs!D73ruI&8V$jJ_ZQ(=IqN$`^QDTx;JVyP>6d-8I7?8pqPY{Q zY^#gr?^_E%D;94vT%p^<8wJ(YNUWMewG;2&ew3UCg5|aEU4j$h3pL&s9Fme?($v^P z=r%MNyd4a0<@c$&SYjLmK5Siw8EQ3$bjZJnP7~vHY-Jt}k*4j-l#y%0ij%th*XX}4 zX(#Jm!X>{!BY4RmHSAkY?3ULf^_&*k%anS3u-yA#(`ddM7-CFKbV!by9N}+>JLL^u z$umXpKpQcXAI?HmF-*samsgzV))cu69@QK)ID58wgeLK^lT~CCFiCcQhkKD$`Lv)v z(@EhZ^UOO|^+YQJLbb+GH2Deq${gmJAC*~CG1iMOl&FMout^)tO-d;CL^;woC%M1Kqn+4JcINN zZDHF&5*CV*6Lh{i>hLe3vt&(yK?t5!r3PM9R1I8AGY~#ynHlpa=T%#0Bv`&*N&Osz zk;cwJ#x@Li!}>L#8k4fQy4=83%oh6JPC&+R;1eg1pTWs5dNTy@`TPy^3^jfA@aogR zUt&{WUh5dtf4}G{7MZhl22?MitF%-0H8|wIvzGhox~%F?9;&zmZiI(BQ(X&0MUMB4p72A!UjzSGa_3D4z+&6Vp&l z8uGy4dA{7|ME_S5lPWvvr6=3h$5Y6w%!*Wi%zE2m>202ggh2)5=R~T@TONpFhP2%CXE_C`bcWs2q&9G3_^ATCr6dN}QTLJT z@PbhpVa?`Eb}Y9U%1{@qf#%3{4qf_8(w_U})`7i28xU#Ir<(9nn9UDYe()KO{hyL{d^P(YEAYw>0_sElB06t=L(hCMv&4$#$SABsP$grF7JZ!lq~5J z_Ebjxa_COCD{DWzLat)a1jLBiz0z^DaBj#^G<4@cqz6-9JYv17_RRh!Lxw!|7;Hwq zOS&2rCQAs+uR2soz3WL&aZFgKD`99{)(b)iA*Yx-iqevz*rN_avx^iTarUY9ean}F z%}&M}qWy$IW_F#Vva>SOsO(oBKG(@6v%ICVf;fb!%_bK_4}N>uoKhYA2S~djyE?MQ zMcF&eFvykf0!EP$YCaJZMd=~{gsgY+7MTtX42tx>&)3D#(#+41riPL^*tXKdT_cRw zAJ*NLeFTNjwkQ)0aeMmEla-_1wDX!8GI8-e?{2u%hPtcfD4GvhV!DLn$c)cS`q)z) zby_&IgLfai&8|B_(G0IU9x=+6Z#aqpm)Z{|2b3VMU+g5Xi}b<)+qD{x+U9R5H;8jx zr8u_kPv7ot*w==#tLz)stKgcj(S6x)*tCj*+2rpSzO-yq=3l8dBxbg5B;Kt+fCRJW zIhM+28k)1DRDzNP@kJ-4>|0y5h+B1-C~|-jHPfILBf+N`FZZLgFEhjhkK=2j*R}TN zQensgsdXC$Ebh}8RcVg9vXYN|XK7UfO12_P2(X;c z?@hpb3-o%~?B_2{*hUVWua~BPkIiNibi0osm5NR-brl$*t9E{`+v7>735Cba$=l?@ zB&n!jOc;VpIQ&y&axfUi85ff+AT$8L#Sg{ajm+f07?6Eb0zXt#@ce#m;RUj{Cc-vLM_La^j9?1A>7 zT^x_8?^XoTsVP;4_?nR@7Y39bSF7#fMkRl(U_~vF-h>qu;YU7-7~(Y@sZ@2Dx-u;H zV_3%wLsxoCwsJ{LrO)09gv^7lJg?I1oAtyt@vjEgW&CJVp@`+f3~}V zDOiJ%Icuk24+v)~$2dkWV2cI-F*hLkMw5BEWh)eOs`fm;vnWoy`CPH>-tn#T2YY}D~5c2 zVrdwC^Z&fUT6ms%_W{pnc^vT#ut(4oS)0_VtwjbM!pqJ>KwE9BF&aIaw9!FDiH955 z?aQp$VL58GFNC(I{%uL9Ui7pNCPqx#A<@GT);Lh`nZadXnbb$vHEnn_K(TmAV{2O|JvlGoB~!mV zN?q7ZXPf7A7L2{x+WtQFs3>R0{YoiHL!0B#v;kIb6)9IIpglQ{5M6v^C!qj=xkmiK zAc3vIH>4Dc02fNl{6tqu>aMbvtZ{VXJLQlT?(!@d5p!cx6c+hSB!%1;6i&$G46x{{ z2!zp(D>Hm2GiA5=(|A}AL51H5QKixKBh zrRTU7fgm`|PaKWJ@9@t6+Z^dfnIltZdb9YYc}MWjEOO-hV&n`1AbSWKdV1n-pWgj& z0Pj8~^jv`WzaBDV9s?YKuDRqlQ?z%LlmwUrb+%btUVoStW}qHZsf*l%^{c`eX_?i= zCwL@)?@1KPenW|v?KRC`7FOboF(B?~8$P~89@JjH*XJ013s$EteLwt!O%2C82B2Og z1Qq-5gfSFV-(z{8@syLlcSxvP7l9sj@nl#!IlucCA~^Vt@b2Hgp=zBs*HduPdetmJ zzVlCvVC3cHA_O}FlBNlfI?LYQ(0++GIh857m}3?phmFwO*V^>5XbQ%HuHHOkUu&j9j=SB4xV1D_Fplj z#bYH~iY;>z(6DCW)2RA&n^l`L%ipOB;n_|fR=ok;0pe!0_Y}8@@3&=UV8RZI*9hN~ zCMF2%I*NixrB1)u_a8gy?Z?adrUXyPtiQI;pQJHje) z|4nUE4Sh|R3AN=S*Qz$q^ESLh|JUcxyC`@o;RUbhDAU30EyDm)Z%{hnp_JQF!ga~- zUdsd68;y{gM;P>r66*rx-$(C&5tBt}EZIO*FrU`GX(YF~M1So^qyxwv%;1UIoMqFt z1HL)Bg=)2+kKGVyNCgs)q+1o#2ZY2|?iDZ-ihC+aN!>8rjjT`Ya+i6l{j-!@Y`FPc?QkG*3|CDR31FE#Riz_}vmouxPY8twtIV=w^ zeBdw2Oj$Ij3K&CQV#xj!M##PC-xfo8_;wTd??KQM80_(qyTE;KrADVCy~0$2T5ym` zc=;4Zojjt=P=IT$nEm1W8w=^`G`N7f6G--2)o0v?A3QrYc;K;(5ir(-Wc3Cyl&pfB z$PW%h)#{|HsTRGMJ}zeFm?%@;NyLW{2V+2j0jaV2I^jxYcF)A@;%5rj_| zpKn4UItZ0cHsuo4iPlUZpQA^+x(KbzxTYg4hIoI8tbAHwk#K|pt==e!go3JylEBFr zH3La0qH^lN!6Lr`p2zr0Ud7Y@*kZY?N(oPL$wF-;e zLnsqE7Iz^)=uJcGAwaU`m9qg7psXPY$fqM2+or}193AQx+c2{eFV{lp#8Y1BIsFz; zau7z5z@0BK(T2ry=N#+^%^>R*d-i)+7R#kuXbaGMgvonb5m|D(BBX%r*|M3ulopY&#p=j&!|R}Q^l;VU`wKj<3)eVV z$Tt;PY~jz62KJx8szV<@BdAWa|L-~J)jySpUtt><8O#i zUTjre9P95}6#MP>aj|oDATSF@E6@$q`CH@z$Dfbj^`v$v8fyFS29x%f4W&#s*)T+n zGO!ta3*}*ITg<=YJT4z(#%Lz(DC_<0n`5W;Bapg%Mp%s*eSxaCyPTRW-zVSEMtIE@ zSw=1|mlfguHEQR4wSDTa7u_ zAT*%Z%g|gOBEO5q;9NP0m_w~?EQ=meI)qwCjq5KANT(^h=eA-x$L&?mAe3nLIfVA_ zAtI2r9E>~|!j)-)ihVm!oY!_|;xwgQ4M$kdeG854UuA61?0HM{-j&5$z>TKd1-#Du z4R7Yt`0}!*8z~O%OiN~-dZD8bXY=bronn=Fl0E&aY_T5+m?b>}P?lELXXBe|p}tJb zUhj#0Cms$`0HX&RnZmxiD;mPNIBZ7_RtHH`7>IM8nYJpqwsPueYf;k+U6j0oDx?Tw|q#3&j0W@;yo; z2hX<^65vlQ*u;%ht5_SjrlS7to%xXWCgovI&{*icwpieF)XiKJg6QK7?qw-Dv>G?v z+aKkB!C{V(FTi%z)K%3PA+(UYXB{u_(pv(Nlx7E+znqWY&=qs+^w8a+N^*ah9F^3@ z8Pundmp4$=AHZoEkHt+DbtNg9_a3S~v^&Mq8kE0FfVN71hL$<^GQ?>XFV%teS#v~<2{tW6N<0Ueinu#S|ddmEYv z&QkAY9nEV6k-&IyuZ(Sv=f5|q33Bussr4mNFYdilJ?g1cZrLgs67|c&>yF}GTAv^? z#XnSut7o&1T9cBIDQmy2P%|_7w-4oM1wO*(+$4*%(6)|0 zt_r26QQorb36mWRr|ROBdV3^Ph^F;ardI5L$M+Y$X-fEIk1cMyqq#@Zo}?awUjrRKAKP`@qBk}pZs9sSV~0 zWHGY`qDm06Y0esuucZozMOJ^YGl7Xs)&l%Z@yiG#<(Bw@TG;@Wr{t$J)D|)~rDyic zj4Bp(N3(K>SJj~s4s+6*DP);djr!6tqjSjWLZf=N(3JMQG0&fofp<2K!w)jRS3j9; z?7IGHH?~b>KJyg4z;j!_%wuN&1lJd~c)=VU<=fW0|rC z`M0k7A8BGVdFKY4e^Y%gJGP+%X|hWkTew@u5j;@(aYm0uT&HR+xDwK7XQq1el9mPF z7S60Be`B}RcG;P{R`>lE;&e)wCmvVz*`~LIE4|{71%yPLj*0_QFyi}?gk+XRC?4VC zF@fU90VL`UtuQow?9TdbFBZkmPA8b}CEIR#<*$DpuXDmzn6%fAWg4f=^q_ck)CiYM zSF+iuI(OM>qaiO16Qr|ySJx;x} zfaM$hp(=Tt($}vdy|gOqaH#gL=( zxpS!LFSEFhm=QQiXMkM%0i;;WO&@h|_ledrmAoC7YD4EVHypd#%z<%*^C5K?wijP$uVVr`7GQwKGLdMyNyxLVU)P)coL(jA;O0N)DrsP z(B3D=v3XKi#1K5|Y%CIVue2OE%MPnQjzl?jX(6IQHA@eIJh>t$P zb64`EV=dxMCsqQovfCe%Hh#AfP!K1JHfgXbqh;h@&)p87Keiy_VU=^=S4x^~Qn038 zwx{{0#GWi>*WbD<)e$GMI%XioZ4mbVeF-5trCHcFL6d!hK_VBJkkclVyvq#cEP@`c z*(!W~fGy=?>k#dYxQ}?5-5+xhl;^&w-5y)@#*!rIwaLs03c7K}*s1aAoZC0KMw=Yf zrFj@8=lyqf8MQQfTKL2$M`;xOL>?NQwXv7G!&ni@JwspBY|3%o9*>hC!!-vQwaA?nyz(7dx>}wG%F_AgW zL)SBiz;mvZEZR2GTe<2fP9&kkuwrZw;Zr`#+9QKv(1zQGZjnQfD_6XZr%$vPw1*jL z3L@%_R8=p6bZ9^2x%N@au`hyaI`D3gl}}9!!yBh;JUWThkyl*Zs?7j=o?c zGej0-v<~G%s!l_rE#Iy2iA_&rnuccD(4ECrPVnW^UIKc#X$|FJ*oo-FNB+ zpBmi`<3XCD*45|nyhv&*nyRuX=uFrGz1kTD*t3e~!>OT7)E-WD;r4$)aI$#4i{pOC z3R%`fNN0<*Mj?yXYg)0kq-=|?k{<=NM`N`_E$vpOof@Vy?7I?0 z22E@Z2y<$G!Zp(Qb^py@mf#8XtU~%uie+0rgiAS9K&(x&0JDYvjus)aPCcf&eUOec zkVBnR32u`D_%FNoi#Mv)5De1l9r zL zq>`gSErGB)T@^8z^od#mWGQ&F(>^&1+Q6kYF2|lnQZAe?)Xi2!3Sf&ydRg8Q0Ssls zC`ZEOSQARJ{D!hdOht^nN;-ryPk>SWT2?~P?Tt!ctifN?fPcwbg)2*D^>TXll4Y17 z8QBt1bkew{0^oKg_55X*RYU$n9oU1?z&h7%%i|l+jE2184avVs>M0?4%V}cKq1WuC zkJHa12*9B5$#dXDJIj)vuKQKHbFuf#I?gt8qxn}o_Je+mEqiBykm>sQEXVR4>~G3D zBn`Gq*ayDtfd|Cc&Fw@&@W*w_4@30unKjGoQa_uYr}7kwsw&Qij=&G2GYj^`t0dSA zDx7_|UNTPe_8Vl2@p#~?%^U6U_Uo8ncpmkckWUe2g7k1%(?_8XUs0^j+hY z(n6JHR^qfL(v-XeF?m%324l9Yw#nEsAc@Npylx1A~ z!rBpr{dY_BBfy`wW;nu6#B%b#KUvqeU4r4NXK!dAEbfU-<+3g1)5qjCmEUiPj(%uA znQq`stlhWX<>d#@KR|3S#Yv+Q(P9%{zYeWiW9~S04^$AJO{Y_dCy*j3SJ{|l+bOZK zg6{2ib%8o{#fzy6?u{k&MET^^kkHhXM4_Cu(96RCTNZPl*AXYMPt#t(Xc4obNMIY{ zBp6CyTp}HX;lK&2+Nz>^nOnY1#)IXZC3`1j`6U!)JYq>3^aZ&2;REn&)eGFhf7Wyk z$;oO28A=tG^bOn{Jdhs4OS{=;Cf5!~YUvJ45KHPXLMl~j))w5)-qr!I4|+I|mnj1m z?^rnmV(T870c#981hmbdoj3Yd;cgCFgkTMxx(5>TqrG>+4AF^yF#5#vP#ENRzJF9_ zhAYGkW{G;5O}@U7civSIC7XlLytUnG3or|p8Oseh0f#Us z)`#QJC;KX6BqYIJe}l#5%Jg=-i-pOsRkdNlHUM2R+1uW7 zs;v=L5#vD4gW&9D=_(-ODrCV0{K4XeoLO_Luq8Yx!NK{ZRV~h5HjE{@Cin!2$CoqF z8vmZs2VN&f5(l^G&h8j&`)h;x&l!sG6etRVx-L+!2A?fq%l78lE|P+e9aU}SKt=cz z9R>V;_DHWc3BNKB)`GOSL`9@-)H>D^q_Wlrj_-6gFvs3paYvc3j;?wNZh6H&K^`>; z>iWcJO>PyiOzDYu7oIHTFJRvi?f@|NO>xS0Nr#7&FUw9objbtg7}YwQ%pZNy|6Xpm ze$HT7I@tP0r}LCUgL|(=s`QEwA+gaN7tL@sP3)Y>;twq9ohv zz+*6nlx|SfW0K)H!vc(ghGO{WHleL$>Nohn$7nep&Rz^(qD9TZREBzs%{OEEir9qL`*V~UJGSzfo-sl_eFKu7H~_90uYr^c{qk&ath^gJ zEMjjZf4YIISgTSAtBhNWmv$ufk0zI^bmOagXO;@aLD%~3wBK&tP`I8s!?!?Gjv#&i zaAaMSGzYMzTE=Tl1WJ+ZMlKtYRQ`U&nNA{m*r$Q5?(x0utZZ@ zJu`A~8ca7A$SQPMu$fd>1DNLm{)TaF77OevTX2V*vvSX?|43yuM+`P}?`&5&2ni65swPmXzwQdc%A7StL9*xse#|(H$DIJ!B57`3n|kD zSD{($z>&xfEzlwqSVY_qCCm%u%vgW{vu%7`GO>l{!WYyf^;Vh;z1X3TWNKhN%aMBC zmB?{)miA%5)J}cyVmNv;n^G7mg=&2sGP<;ZNjB1{ZLFl4RYD~}sC@`ki<*4Yl0Vl> zGE@z$5v5a6uP>2}BKJxJY$L7bQe?#N@)E98PMWpS8-0&U70&?>JCKfooou#N9>6py zuf|x+fL2k8i4Tojf{hYzhurx~MTj@>vK>_rKY4*ZB^#QgdYsmGz>|5BR(*6L&Zu=C z{QLCx-L!rwDZRr?npXqx$iG=*=|D#O9xZ!Gd=oQG!Z}E`m7wic*J2l#2Y}q1QDDAX zGTsrVQlw)hL^mM4JY{yjR9Wq~&WT!`(NMM`n=eb+kY5)3o9pZy1ACeT9On?MCW*>THGK4E zU)Zb|x+|(qsr;^zvLF`%EJbrgv+S_DhQ5u}%m}`aSh>GM2K0|(eH~6LI9{)LA(QFB zpP%0U&okWVLMiyeA07 z(tiq5jK%@h1cydEq|L^@#|P`Xrl(!yYBcQF+p@+!*-DMa78}~16)9rJbrH`_q%J67 zEL`91s?Na=y>%njKz?D^Yz50m{a?giWeg)j0JFQrW^J8YkX4sK$b}_pjsP6lGv>FX#Q0Ge*DlT7}->PRBe?hMHH* zA%cws)H`k4=jTo<1ie$W3~%}2f3SLe3c|y;?AC0)V0uprUfm>HNX`3xt^Be#4C;3_ zs~K|9d)q>8%x>J+Avq$`VeWjjbXsr7Kc;$1IFh!3nHO*Z(_ys_sx-0>fxr_?z7bxq zoFh?(POOZbJv0Ot#pz9sWhYgOsTxDl8RoC=ay~^^em00mEM^}gI4Splx;>Whw?Gq( zMn1JoJJrLuSv+di7KI`dU$cR!eYAST#U<3qsS|jtD(}NNSt9+eue;$)kNABoEX%sG zOXU?*|D7)!|3dBxpPruIE}zE&V3@4<)flAV2ZGPFKhuQ%pn6iVXxc0~uBl@S`M(~_ z8v-EkU(Dhnmj5Hn;XeR@|M#}v|DVGgnEtPa@ZVq#|3y(CWdBcN^naw3|AkukKMHgB zj~ny<26Ol?WW)aqbNG+M@_)a(|AR0GHs=3PN~uT8PGK&}Ok!Xo!zJN@<=GtiZZE)Dw%L7uo8(|5m9l9+ZeKolX99X)AESWnW@-IY8dEqlGsq2 z8YruXh>1&RGFzJ&G8)oA6Pe1$S_ZISbI3Im*#8 z8k0#gkeX8($>~!I=-3F0@sWv}@H1J8tLw5m(o<@)$x8p2BiUILbVw+m?MUo-cr6&T zh2=!#4ILaL9JNUVEQs{ft@MQrM8#EIRBh}S1bIn>_(at74Ndg;8I`Q8Sro)&$k=VU z1?4pPouLId*rhDB^!V)Uj7`Z*skq4LbcBpZ^|eivWI<7z53Kn5TQyN=42W=Kd zeq|>vBPMw%IwmtKM`mXM4hL3fYBK>REiFeOAs$&qTO%QBX%krmYYS0VVqraEA_{9Q zVIDUP2TBq)DH>r-3l$C(L3tHrdujnjd0}y0D?Kg+b7*mUTP+b%S`{Km9c4Fi9zAh4 zc{NjESw%BVX)#$a6LT_CO-e;gS!pseBYOi8 zDhCP^IthLX30X^79bF4XVKOFpb5jXuNj^3nK^;yeN@qrHN>N=V787y@M-m4HMm91n zU2#$p3vF8(Haa3sQ&SRlDk^0vb$J6@B10W>0Ra^`4l`B@1!xsZF*{Ki32QfVN`+u&*3bX#Fxa%0i+3;Rmt z^^rdJ-@`F&&gS&%&cT|*V}8~QGm1nyH9@4e4($CUadl+Jh@wTj(pAd=qsE21(lVcg zp^e+l#06;LkGI1$Mf``c`@Q)Ie87U2&gqocnYwDKw6$YWLfzSbRl<_nHdfh#>m9S# zX??@hVBK9EW-U^wRIzTRQMIz56$5o7Ox~9|+ValKvrQ^LNbbgyO;)EvYq)F(Q^{|X zn1DdFjX;A%&Uya3dDHzMOm;eITCsV$^vtz{Z3g)+sDHObTf^<|l?I%h<{l~jzujwt zRgVqTz0=H^?9|^1G?DR4{9(O%YX^#-Fg4Ab$-#`5hRMgY>opm#Ef<6G;%G)r;Likz zjXyu@#X}>E|1JuQY?0YUrLs;skdpJtI>7*`o-H{u79BvsxLVYGgY%5^*Qpd zIn-}O@^Gr5M}=47ZF=JPx<`bnJrH9qSu43Ofv}*MZ+Tp0m_!BX>FaJ2Au_e}aEFAG zMp}`(-S%$5JJV00%U1jNafwb8V>Ogor7L~$MlaFRHcuP`8YoA7a?lo-hsy_oP+-Q2 zy^vc){=R~Vffc`Iq|N{fgH1xXsajVvn{LJW93*#D>H=HNcvW(*cm#q(IKr-B%+GlU zcQ`n$kAe+@ojPS8;A{B`j`MhoiKXh>^jm8%WzQ{P$Z;3k+HJxrB~b628b3E4MNb>vG>KqBjwDO1cCc0eD3z&l>tQzi+C+@Q-TB9ZJH+^;}1#HD?S5 zPmAPn9Qg)dJjUeyse|lugNC_?!zoO=8mb3{%S+Wf{{`O{c1FbPYk+bSpE zN{KC}3eTL~ZakdZCu~56bGKD?-jg8%Z-E6!kjY^lA{7#XMsZ&7+F<3BO$(}^ey2vo zpEk7;uCVT@C3-`qLAE?EVgzAp8el{xjd%txg|Wo$Zz`eS^gPe**qYJE8j3@g7?GL> zO;^gZjzib{TenTEOqI6E{0RgxEXe4Uz2A2s7hRZwOq3N+x&NEYORmKL4S^(@ZL;(# zl558b&2#$DuPA}hyDC`J#Yk^p{1CmC2bGm+Na~BT^LHAo!(QvSq~mu01@Pg>d{f5W zSJy^w(T1aD4)eWv8e@~)v{TFjY$bqk`K1eQOi>c(1266s8;Khz&Wvgby5V#VVO;!| z_6+Y-)^xf(>mRqiUkiJ-fWIdN3>VadGBhc{2I;8#Y!266WT_e})&%VKf&{iFvGx;pRf`P%b97Z>B>|a6FwOKlI{|8v2>gOI*=|r=9u^)ER~$ex z5y#ZO3tU5-@{++%zzUVWZ0D1VO^;6Co$L*Zp7TQ#jZp>Twm`DTsH&$AQ%tFJ|GRwE zuznEy2i<}=UsNt$Z#+oVaI1k=4fVkoUY%5hbN|p@tzM;1(Yl?jNwiyUjE!n3AvLXuHjJ?D<#z#CXDpH~lncgfY zrFu!|1F0aWaoRNUSx*fcBWVh=gdBORxK;V}+?uwkkLhy@qi8NgR%}h`$xn&^Y-KUw zD+59k&#=^%qVgsL6ANZBZ`C@nMn@xIZ|x~RFZ4VQBq$Z(RAO_(R~2V8&>$@RN+r2$?0oymJ9#zcaPKFD2+Gm9Pf)SfGii38 z9bH}o{|j9}qQ6$^dK^!7b0hIHIm=l7`YIAR2TCvBTu%E zH6^WPF(lq;lUJ_Tfh-b>H8IOF)V*~0cek&@klcC`+<5isX8*2u zEIOIXYs$g8z%KUA=RTLFcIZPP^l6l*v5`!V!>3Fe$Sh+$Gd+u=*yWy=+>a_c{+kl` z(T{&8-~Jy{pD{4H9{)W`HCn&X`tML0hZEhD_hlDy#zgMnsonEI0wE^owUW%lj2k@< zYQDi;egn0%0Guz#)lnNOTU4U_5pf8jJO>8LV%QAQ}Fi64ZLu- zXO9dD0N1lO-%GPYFcWogsWMUv92*w{_D53i_wq5jh z?GNz76Tp+nhVr1*<*m#~kAR0q>V<&3KL>0CA;WHo<>wJ-4+y;F2@G54-Kzbg+O;jy zlqsSwF)XHcGK24)Xlq5B;tm*Q>HUS0(;OE(2gn2V632%8_3N0)#9HM;9x*1;DaxWS z&qM#Sk%v!C{e1oA2#O5GOedifsnveI{vY4fvfS2jMECfLyTn2u=RJ3p66uN)Nw#D< zmMbYQXb=*a0H8vOVq&{%XU=x@ypkn^?$eZ5cT=%ub2C;I^^Ze z^=H<`3$B?A^$+*^)j#)lC=TpMI8KFF2TI_bFAqu0Y$i3UEc5R_SYIJ zfkBDAb@}6db#Z(58Kn6}<3?A`uC~ltKR}AB#y_yaN=3n$h)yjLc4o&B^O276tlC+d zzLpbWkAgIwX?t4_EnWq3+U=yB>H3rGV<|M4lm)*1_<17>*{5gzK&d`{ z+3X%G)~)4;<`I3KhQiCMcW-{YVozcP87Fl~R2k|J$ZR)#2qY;)S4T$`cHov-Jpz%e z9IE5%2^f0&#{h2B`m&tOujD)M$nt06>&F+zp#%7})=j++JL}!&Eq#^@ zt)VQ{164Bmqm+F2aJ|No!{cM-rgHz0zX~*KxPm>-V#!%6$Q`rv3Eg>)AruTjcv4NI z7n($sH_zC&_ZTq*=#H57_4U(7G#YtnT+-d1V-^ng-|%7TKK$vdO|G|3+wI+6BgXOk zvVZx2t&Qwx+V~Pkf2Og0dw>71d7;CKQ}WIIAFHpH@f+-Z`!z!qIXQp1d*BX=GJ{1j zR`(l@jl`cn-4nYo7=Z~aV=&?A!or-Azm{m=G-#2}?D!e&cF{TdvWn8}7-129`*`8DAgM1|jmU?3=_MBsA z-29nQ0+*ZZHKOYrGvw|44WsE`Uh1`UDl4u&Z`My+#XfR3pYkOH5kX5HIM2d*clUXN zoZYZT|=%eB4#OC|`-KX2t zyUhbs(RWr=;5<7}m0Wm(3G+me-E-F9Patp;te;Zk`*%!{VA#-%og;8L_Y8>igYl z&6FaR?bR52m?B7@g*E^9?wDYB5s~9Y?~PyM6nGruF4+b#c%1h?(%W`Bnq--Or2vE$nbNECPU8 z8Zwqqr0}p?5cy=Z^v2nC4xw`h2^_sM(I19A#JK{?42HXveOHzl8-oi2&&M)iyz!2) z#biIMcZ>7C@2njz?-%bE=ilvq-`w16ZZ7ZFPrJ?j%W(eoq71JtFBa!>mNmkA-_=Jf z#|&-Z{1gW_q7)*!fkXQ$d3e|~<@lkD(L_;hHKSF8FL9vn5FhItwR`pJaDH`bhsWFD zyI+U*cvD_vlShI@ggd1SkIfm;!X3aBc>XlQB6+rph_0FQX-0OQSG-hA#8sm*W{h-j zt24+GoymDyEcJXn6pFvpIbaI4woq?W-GnjlX6(RX7CX$8U8@Z;Qw&dwM zp0Y~Dm?l!C%W-8u`O)*ciB8CoWRtEWjswq*MH#r?bsISZh9lkAi`zw)5aoR_r^MVD zoSP^!>Svh&jcgJ+Ll6gFD1lJ`Cd2VAT}d%VV^F_`GcU)nk@y+etp~$b-(rU0b`t$n zw)kXsUH}VuDxdn zX3BewXH{O)r7N%G`Zy&eOK~Paxe>4^N|qwAT@i+np5T&82aHBS z4nU7hixjV-chV0^NjFJ3&Av*jtT!jBXiyr%idQ%5{eQd>+y^@&2s_N4D zL9<{-@)JFk**S586OxXjUqRL!vf8~UG01mc@}z*}f;(3LF-~FnUSmk7!M%CDTY@FQTL^j z3`M^|cMUKMt!U95bGmK6 zM#Ukf28_B1hLO?RU3%o9Sx-!cH88cr82s2;qLm4dOy*qKP4oy@C7Ydbe5+_1Mh^Ga307{$7$-6##jL8Rj3jVjJ3aS|A^J!=&?qJoB{6rCQOej(47AG8%^7Ic zSymPfC{Puwn=y8B-H>Mgj)@|87eaLMD47LEDx?ucSGg(pjL{U7Vr2d&8=4VC_Bb*q z78wA)oW3hi#HGXnh5dtC1qKoE&dfKKpka2~x3 zQLxbn=8(EMzj#c;#TAOl`V3?7-`SYuKQZ>z#Sf794@mqE3vT#hux5BW{M!s@{=;v8 zR>RHW{BKuo`1IHxOuD@67T#urCv?uX9T9_&($kT~nU16=F`ON#obBRj0gO!b@GrSc zwNnmJ%?2tk1cTLV^m(N80HcX_#b^VA3=9gi$#4y6(ek4Ng4L$U41B=?9@FC7R*J7T(iLvB0K#U3$EO2y{O4mp!*4~5nP zlh8wk-Z+qnp^4uNYVgQP`A;k^!OfVr|0ldka^%Qi;N7qA2ii#O(mVWw0tP-*pZtGd zB1lT2GJB>^Rg5GhlHwZ9`w%Ng8uVGYaB^V0=OLeWz(hW_44j@(Hp+2q!Vuh;@zI<< zSvo(mao-UW`q)x9cyI`hH~&<)wOIl#4upNa818q(JhX-2^#t&A1MWu*RBMNe0lKjr zp0u!kYg*UbG<&zai6aVccV~IkdDP^_?`4q;_r`$$jjwn z)5X!Q+DjFB<+$iOp{EFLf^)C-)DA^B+D!>_UQEYL-w8cM{{G-}&ouYH=+qiEc-BSXtJ@u!z0b-2)+crM z&O0#b^-!N7qm!WX@3-<#nZNS9m;mpulG!%v&9KRfVF|rT%JvPh^5MjP>$8^j^c~c# z%|#1GQ;an1h9|w%FldLg*WB~w3g;rCg50Nmb$W84A?B8H7Rq8 zWde>RVZ|8klnHDW_O`F*WrlgvhqIt!RO=!WWRfxx zYbZhzek<4_rV@p1X`Dfm=QRE5i*VF8l1}rJVvX|h)GYSrvi7{8KHI+L@dhA zcJu_^9zgyqKa+-D)6XP1l9-tLPwDJlnpZC6~yhiZBqPRWpB0b$c>ssnkFt1I$zy#M}UgL zSopo>vGqFje*O3(ncmvc?{fo5x)n$sgv^5P!`4qpNhfIz^Sf3fk;ay@$fe%|;BR=B z$!PkCIrH@SqPU%DI)SAdtb>&|-Cr7GjjxBWE0-m6ts4NDFK%(%I2@U=-$?D503wI4 zhiB*V5o993;e8R{O%SU4Yr^~-MRX)b;^?N_O5vihQmw^DIeCqbO0q7Pw zFJMIQ`q1N6j)WKz^P(#^p>Cp^GSwE14GB{*M1!d|Ql1AZA$DZ(iG7_)v9Z*jH>F=Y zpMs7EKA-rj`NXy`4vwEXw}$`4rN}`~JR_6$hNU%gZ%WCrUZf@*opb(9md78&}|kcw93Jesge2zQw-NJcI5DK1Kki=vBthS5!hM{{JcAf9x^Wnw#L z;}r|ra~3PZCPxKqg5hZu$+yUC@3Md>V=JV~Rd#^)U|j!<{mzp-JFrWviJ;VE(X?g)7O-;*qSmi-A7WJ`pCjLs;2PDb}#~6=Jt55*TV< zAdHDTkq{1~Nb~YisEFY_IbvHVhgAI4zo5N@_l^1s!IbmiFGQQW`vdi}4b&J!W7gI4 zA@fJED3@!3$T7Ju1jiudFgl`4grH^OAq0K!mhv|6b`*8E7`)IRXf|Cs(kc%} z#Bz0q49+1A;YA`ex_C?Sv;pKJT${d38 zLLioz3>LRn737q9)9;z%dXei!2yzm>TAbDv?4%|YVIxRmrjki1k}bX_f_X8kTU!`* ze_$1J2>Oc|JEcy2#M*M%Ns388{lp?swO53K{Efwb@5g79sF=Np6WIn8)a=^7LXb+S zv5JO@E?DZ9$Ws4ym#7b}-ZU`K;duW-hNK`W=C3mJsR~I<%vYb}3;YPAocH%^USr+Q zj%HyGA~2CA{hKHDXfF@X^TJ^vMPE_^H8KhihB8DeXuTO-w49}!?20t%Lf#Hp-l&%v zaw0*cGD@D%z1uxO?vdb=Sg&#qQYNY?HP@fwi*9rZj)w82Pj7W~PaRn}k~%M-xAVZ7 zH?6i0^S5$f$zc0s393ox9M}839xtjXdCBsGMhmP-BC*mmASe-hgv?2&2;Hc8#x8%D@m`(0SB5yG_4wfi+7}&OoH3QMBajgqPJe~7;lk2ha*z4OT(gH;=B?(2h{CZ zjvNdeN0*pPLJ`g!Mbzr1#B`q07~ZaFm?Er4DiOq))eH-w^rY<$JpAIIGv^aS3(}m1 zW)Qp{VKJ+BlR!ZDG_AQ4p*(M{x;-xIi>^V=KUpWj#gR=joKTd$dRTY79=FcwKe>`= z!VN$JC^tQ)An|udswO^Yv3iZ>II4v?*V-bqh6fT>Lon-vIT7tJ3^AV3huU9`m)N(? zm(X!yb0k>^cxKGW(O4iYj3>ebP|IYkPthy6Cy5>8M$i?Sx4O&BKK(>v&848i7plhP7Mn?;1a2PQa=vUhe1p8|t~P_N z=1i?2lWwab^wq0^)-oW>_OFq$kSTRXg87)*VYB@b*;25uhyOsrLZ;M-(25jJ1Ti3X z4w+eY4l_WHBuAsk{a|Qw{$q=FkI{NF3I9BEduZioADqQg{J$W2$ox?(b{|AC)3^T* zqKDK!GLc`QE{A>!Qmj~;i)9AaVe7hdJJ15=d61R)L|}sDsWl3mQxE#QTRnu5SDGKE z7GmQR=*!ob+Qn6_3RP|8n*)PL9($as)jYb!soSkGPB|_cr-8{Rrsfoby(!lpIMwjk{5`6qLIWX;dA><{KlvwNR! z#@c`lo!8-C#QElJlk9}NO8o4ZopxFbQ@WX_llf~}F=Wo!+d=#p&K#i(H^%gYc+eLE zuWC4UXo&HRo4rJQ5llrh*gIJ67U4xfDU2^HTAy{ThJ6^)S42PM*S5QUv=l;)Yvy&KYkwS9@K=!pjneM^OJyz7(!dc?Ds) zXY_Whz&xNZYH1Sd2?iaGFObA}Grwf!<9iG}LZkABCe<@m27|EfnMc1?Kp1g@S=NDO z*9ZrbfLO~sauXSXYMC@+;Fxwp;u)6Xnps0vZU%agUDcRE-xvc~XE@Ue)3LES);Ot*Cy~k`yrm1u{MxLl1;FxB*?zuxrp;l*{p;JxH6{SSWx_1P8oEh(7nuKLO zR#+<3;yqkC08ICm3LOBv(%3oxyF6oDI)MAKfl3G5=ZrU$ z4mgZ-0FSu3Jg~wvbO6k6d`e$|&b(Cs(Bp}st^;?fFNF#qv&L2d_=ZK-d%Vt^mkOYv zeO@b)D+|ehgF^=#CWOGvKnVa#WJw9+l-+fq1P&8Q08EO6dItHhJ*l^vP+=Hj<@*~vE&+4LV!8Zw+_hcOnrBGhHE-qUoR5sBvPW3vUR|X zqx=OU9l#VxM+oqYnJyvl8O%!O;uy4CGL5EyGNYGs>*^fxhrZj3OMjksx9l(H%7$y7o)$dvs2dJjD3~b zi!q-wF72ULzB1BYEuRd=JfG) zde7zgp>y$`=9^ltn^?}zU2XtpzKb&n1vmS4im4+C>DoEzr8Zkbsb_(~?xJELlsE3g z`ap~skBW#5d~DGb-$wkP62~_#Ud*s;!URdR<;-TzQ|^<#87o3%1(QFBB6}Ws$P($9 zCp8TxuOFVga9M5F3XEZL+2CUb?$OUSGc8Q~6;{4N-~P6H=;AHvS%5o6wO#FU@?;zO z`EnRl;!Nb~vZg1M=uCqoktUqko%qSrWqNolXVhHn7Mwv`S{Uw}2rV)xPJ}Up6caA} zT4CxqYX=JhVpT*F3sUtHPo`7HSX_bG3Ap+Wfm1H=1sPfQO9mD1FUG!NZr{voIww`# zEMpq5o0pL{{-O2EpjeQ(KpP}tv}ay45C0&=RV}rTL#^nS^uoQC_=3#2`1|SfoRf+d z-?cgToRb<3Oiey;TA2YZJ}g2g5Vz*zBw8+*>;q`*@X)%zR)$7=AqLT`5mh^wnk$+> zq0Ito0)1+`R>ZwcY4Oa1*PdB#%b>+H*-mmZhqY+^WH6{1u007aozt`M>LvD_d>4nQ`uZ!5@P94#hxbgT_O{qRkbc}!Q=;CgS2d)~9Z)EsAGstjOKJXpJ~col!=F5`3XFQ0PGQ@RlA*P!$Z$8NP{A zTTx0(nW=am`^fVkt(0p;V{y|F>B5*hb*W%19+_phzUOmNM#xO`v*kf@$1<~d+2cK@ ze3@9YB4Z82?(o0=a)BvX4vE$-%{%|Tm_{9zmR08T7hw`rh2#(up<-~<#d4n!;LFP0 zfp%3R8kNjh&?$DaqSNr0{zXgvg%~@+&$MrNPh*O{X}$ny2l%9owZ%hm7%M`8CM(wE zg&(EBW{%}?jlY<*y|eyguF5NieG&IJ?}yQA4r-XI)grOlcx@!+zTt4?^T}MzcMYFF zz4@YQuB-W?X1>b<%H6n{?^0s!=8NK1?&h2EUpdW}xSr;FV>REy9P8|qUjJlv^Su~0 z-?e;_^74s3wqDH_)?U94{=R#!;Zk3{7yheP@7@0N-g{y1y&o?}S#7~R+qs9SPef)t zg+DVg+b*#On*~!I3dZgXRcLs5ok3TOGfv;kkBv}Xo3x^Ot+Fl-(YNtA!N0MjR&3Q3gUP<-U^D-;kqsrnz8676L~NkOzhj zXU9jkvV0S zvg^T}IrB_T*5Wwxelip{gDy#(&-XXuj{G=_7qmeRiiM7Om`s~V3R}aAA| z7&yYU9hl!26aE;mDCNGP31Oo)?qgll2ff*0Axm>fuqlU8& zMcrOKuykpG+}kT)d?9YGWCO1iLlKz;qa{oi6gyOOO9$KUOWJKSW~`5DjYZZX-zSM$ z4)$B|$zp|_&M#1WH3dA3oW~kVj8u(nP0X(pH^b4|#-o|($yIy!%v33dg?$K3{aRrm zM0t#sIbQh5#lIk9_nFHlg<5%w=JzDVeV>>$#F)R6Wcv;zlbpyTkyt1`%H{25s`6`6SH>Jdi|bvj5nVI7#p10_UzE-W+cHGUx>3M z^NZYE%K^W}oS+T=7g^Lv<;`EtMKt3McveHZ-ACRhc?q~N!yaE$A=7&r6Fp01bN zD=>g2o$?6xD-t?tml|k*6v=LlUb47qUEy7I7s%1_v1nPx50t8~%&BzYx}g9K|*k zNw*VW=_(`t@+dMX$4ibj^53!3cybkKp5i&o#C|xQW7#+io@9`#u3k8@rV!m1@V8}u zo%53C9&!a)9FHEpvRkb+`EdM3jN_?gI1Em$JfoXd;-B>e@+!>D@v@kh4$ASmxiin&M&!le2>@lP@9#uK$+ zx3sts+)`1U0~2qLOssX&bxPNs6!mp_?pKHDP!y4M3(adb=NVL4tIjh-z>DsSqFKRi z9{MG>v{t&+rkbryWmo$XS$ua+y^(AlrY=SJ_>G)XuyB;G$a#I8dLe^xeea;-3&K! zy{(%Sx?Xd0)CP2nqL`y&pjd=g4g+z^Ywq`qH7o5Yin91}Pf?E-IYjM`_7EjVnR|$$ zj2b=3u+%u|f@?!}=>oadGe*g?p|~-Mt7kfZ?4o;ulH=i2?s;%mGA(t5jDS=dggHPR zc@0n-u>pz~q*hMD*sk3zg-Q(9QmApCyUnW{-3aycq=YzUv={DPxPM6ME(9r)iWGh> zSXs-3V5u2A1;T1`A+XdVTuJUzpzl7uA@;hS>bZPHuxBD9hQx6p7{2m#2=iIIFUEf< zU59{#_7yp&Zuf}GN+u})!=pu9wh_#Da4_XSb&xK|f>aoxwq-=3L{o2lfhOPeJo*a7 z-phXB^LkSX!+lju4L_Z@0KXnZROY=23Fa`l8FsHUp!nUa01rh56e+X<{Z z76JVNYEKQ&%uC*$`@DRqafU+WWEK5e9@%h^A(8uWr@kQ}%!SnPKw3}}3gf`h!CTmH z*}N?5ma6Luq)yi_IKWXJtUg+7Ck7~~pC_PSEbao%R+keiCO0^1e*wA7a-8Vo7}g0z zwts+xSid4&HmDn!rpXB17029)uksldt@Xu_ErW7wQDn)(95O8`$rAxmy2i^A1bTWRs1~+mNwp{)Q>q1inXb zUx?XvkYUMCsa==V?l?qeM(?tNByFXM|w2RpAaDka4Ay&%Ulypg^m$eWojWTL+`QG6sdY>){d>msG{ zM@%oxe^K`rg>(&P&7i*rZQkNO(-rx2+{s0AUUJfkeFRR2CU{OX1BSZLp_H5^2rEBN zdl{{c>o9aeI-aq{x&LQw0L4Co0pe?ff0=&5fA2Io<2Ln-k) zvQN>%nZF?Zbv^YBK`du_AVutCw6n;W4KtIuj;x-VEuJs%uGTPQTO>3ZklUW6U3}I; zGeui?XfHI=^pCdCkgs+&Vd8Eh`g|+VbX#9UnM371tsy?6_0$`2bX(~0cIcK{i%dC7U--9PbX&Sa^L#NRJ2&5!A=825TaNyQ2;++E z7L7vvuy=4l+_XpmY1Ak};paL#dRrPYo*NKS-D%ih9>{8m7V2#fS??X&d>`m8K5O zP&NE&ntapAy1%yA-50^i2N$Gz$gP^UUP zvB(>)8Pby}X?Q~vnMJk|;PcFgweHQ9e9dD=@iotBuTMAby-xg7%(|nEd%UH!$GA8B z!1p@ySN0`t35!d91>q*)*rn2Cnx*iEj^HJy>k|a}Zs<6aOZA1#H6)A+xgQtzU{G(Z z`UbcWYk-iG&y2R{e&-HH`{1&RYlRJ5(g5pf)w=;cUX=#8zuFCuNX@4K;$He;7wgt! zmot#roBJZ!C}<6k?}|@$18iC1?iwJznMMiH0C|Uvt&)Z9Zg*;bNX2FHltphhz%B0v zxDjiBT!m!Sv68np94AnV;lF_1qa2c^Y&2vI@ZnF1_K4CNxO&1gxOgB(r7sBp>j%gs z@g3CKkahMxBcU2=1Jr%>SB_P7%@}0o{gIoQJ|3wuiJdJs4NlQdBo=)v&2G=v*e@i2 z|N3?6)<;c6A0KURpwtmvD0IJ*4irt*MOF%Jum_gw3j`?E$C(z|^*VdQ1>8@IIuluy z)Qq9oy%AiU?Dd7$+ua%Ks+ zC$knAl^pGSfyj_(c_n-Pk(Lla`rPauoNGalM1Po}d}ke*v{ilN)9>S$+j(C2Y#`%3NqMr~6{*U4=ir9U*G&-j-<%anMSFu~(?IF{+n1r&2Cb zQ;^#fx%Mhv4P{-MHI`9|c|8M@(zs-9XkL*n#4b;??C1bNj`Jc6G@M%97yVD2`bChC zbPECAv_ge?DQ)COk!g2Sy8Qfyf1pA>_s?I4*gOApW^TZCPeZ*Bn7Nni)wK#`%9 zVou5x+(ap>=kWW8cEdtAi0BoqWlPa0XUeorgS3}B>)5hsv69-pP*ND>4E!3esma-vXV$A6w*OCfl_SZu8$q9^m59=7mubV|jragF@FbLnJ+W z=Q0sq&C~Pynaix^nkt&D?8Ny6rs$R&OvO?gT|$tqhL0RNG;h^L;|a_R4*@Ih$cWmk z_@6biH~}~L7#Y~W4vrRo7*R%VSozZOX~zq-d%lUqpr+FSt@R#;DYhO=)!_0L(Ne<5 zSk)wHG8lfT$86n*6If(Y)f?C~iJN*1E7NJ{(%mRlE0*YS=u| z>wTj65Nujqw@-7g{zdhkIoi@YWt~y1GSW#w*R$2@1h-X7^p@6zhbQG>Wcy-zQ?V8S z8P{ljX$Fc9Hu1<-gROaLi1)(uJr$PsfM=jBu~C6yZQ0ha!`K>zXM>NaNFnsfQLYrK zI2k*kofuyCwuTW8F9ln}zDs>;8lF?lH5uNsY`jrUbQ~*((Bu>hEc2bnPGAU0-@#S6 zx*+-8%wf8U*!#fW5FuftKE3`*u1b^&aYbS;mt?gk4pCS#$_AuhubS$*T!x4OF zvF;OV?>*eZ6ni6R?%}658S5-~lfafHT}SXQFeogPU@&hm@YKZ+GX{A0q3~`jieEnt z1FbPxvcPjF7vh5aQ5k3yfnS#%#=Ji?V?Nxc1b#GaStP-jwyEaL5ZA?T;ID6ZW^rwm z!3(KZF>R?G-%u&5wt|cad}-^<`$IF+7A=6^;r^}*&}Q&nb91a zaU%)*`tXP5A77<)nVg|M+6=VEPM2YoXzrj+RgU$Zz`Pe(ChI!E9%C86W=+g?A2MDa zQY~8NR5MM;s3dFAD#tD6&UG{~Oih+PE%ph>Nh$}G!W)3|w8{~S1Q^L{GjC;@c-}9w ze@*jiReYpY9ipn|TGt8j=;Dc>`5ag@+V(}nUxs-|JcDH9hmXa+pe5rvLA|?0X`x>k z&f9yh4}V&;i!KOPMIg(^lq)9=vow0|>#N@}Nvbm)n>QKmvcwB3*U`7?VsTs4JeqL= z8>-k1BN-N#k##_miLN!7nZ(j}72UX4Wp3tJ*L27J9fPmZ`o@@VZDHH_4O^_zb_KxN zS??3YPjGGRii=o9*z;69h*`Ef^7bflyz~o;z9(KEv9oy6|8{R}7SHL^W9s{hxZSlm zQE}~|ItCpZ;6A|NWQy=faj^KFbQp}YC3<4Ec@>?D*i{J~EH~nS)mve2n4INV@p3y6 zf3F@gZ)KXQIIO?ozBy019eG}lP$(vs9q2ldwH`GZfsaYS_{_o$Pw4^Aa`ers?1Ah0gIQNG z=Eco@p3(yzqur$kX8J;*rAMsA>ZNyKFTKs|LZg(Gf6MIByBIA!;56sSPTG=BI=|F< zxyBK3^+iBS4>+rByY%S6(3PdPJ?f>m@h-j19L=Axvv_uo!-*#w)_i;y%xaK=h~hx2_<20 z9+8A&2lAj?;_$c}L!8U+2o#KNpBJ%Q{&IUP?rWJ)y&r z?!gXABBjETz{iqj@-m?dUQaFADQ>>M$XM6RjA-=|5N$ieR%qhyosx9$KarKV#%)(W1&eFHoq-%E64pO5(|V zC$g0-+Q(xKk;#uabeNbr=c`Y~X1+6{ePj6eGgYzc4n_mSTS_q|AyI}p=A7RKHLCi`CJPoA)M9=a#uHG1iCyN zjIa8t4+bwd>xR>-+j9?Z+ikME^X()>mw^PQ%b=I%$9RQ zi()gd1vys=(sZ7uY$*v7XFa^LQ0w{f&e~5~mIHAuvSqwJr0Tf6PBqhnjOP!x0Ag9| zWaQRl=PY!stzIXxXZg@q3bADec3;atXwuy$WZueHhGBtPX20BVxTHoTn0r?s(E75! zCE4&c7JUd=sEtACx?#PZG{0T!X-`A?eWG}|`tD5J>UQ4i!<`oF=5N@pN%>2e=}DxW z6nNy@*yh838(S($HeV+&T)a&%kq;jJ%sUMGxpqe|@j(4##%AKHZ_G@dzSJ(4-!j)% zZ9il`nX;Mq>N|s?OW&EKb^C(P&jyC%$gJ8Xmi{zW(!198F(;{Yqc|`uf}7)7L-F@rgj7oBjG=^n$;f8~%VW z+<-uQ{rBq!ri`w&FaZyXg75$Mfd^TK=J*)}C4paQJ+#9W2nJ6q&V_y$ z;?)fIF%F)|*T=(P0YDcau27J;@ySIQeQx|ZdN}j`(2Sk$J~eA|ZR_frF>TRff*_R4 zPq09c4vvoUktsyw^dMToXD zCo;NU#-O7h2JGOY`(e^@>!vwYWST9r8pdnMtPN%?Qy$|~%!PfLl$Py|>{=K;;dMq= ziDFV~*{0Gi!9WcB`f!HUYcUOY? zgjrf$WD|E|O|qG{F_wr8O`kWWG%ZzIcbRKr)3R%s#R&+@rgc-T1H+oEsT+(AC{5jq zsrXgAEHO(J#l3s{M)f;_NwxbOZF%zg9kuZU7KUNCl!IN5{ydQlF$Z;H6T>qsl|DWB zMdQI@R4wIyY*#s!WFZdp=M;T{daMG@Q*XR(XYOxIgd{*zrI(82gLZ|A%a(P$H2i&?$W2nEPj%Ts_= zna(`{J;hFBP0B69u-5zwL)aTd^_m`?I?9#RcgywMNSQ-V6lo!;KzedaDn7CE+?}1o zYNyFEx#ko6?_cR)DT2^e8z*UYO_7TXj*o)-S#igBZhntE^Xf^Edzb|vMcjOoVfA9tXc9t0qh&BjbFvthCOje&Q#v1_<8KM^D9`pUUcBeaeVodj?)Iw)R zH66#4Y_=y+V*`S|@mGOWtdUl96kd_K z^|(%#2YF0&`9U_zxR-uHr0V24s{TgI95WF+iR4JU5|X4&EO+I3 z0@+6=h}N((0jx}v3Tsb+lb z#&%cV#^+&lYUHjb_Q=px<;dio=ZoAQ&EfI&5ec?zWZQzu%r$6=IOh4-f=QE~12wH+ z3KL^JreLh(5lq>swN2UbHRVlWP3*=ddY(mIH&nZ%Wt_8Cw-NSHPFcvi zuR?KuVE566Qn(|(VTL5@CaI4{-j^3oc=BLA&+o&ieD(ikr^oxgC-9Dc7eH5Brk~sr z3O9JV^T`wnqH(PG=i`c3MFZGCW>*cz3~X&X;PiERcvH-39!^#oon-A*|679u*5TQ- zqtvWB9yfqlm9qt?*n8ZSh=}=pW@?3en)AfLA2?A$y3RB08hS{+MC`~^u_@0wNY-Yg z-}jhAuK^aO{f%zB{}eEGr@-F}+(HYQ{6+*XI+El;u#kG*=UG&{lEPr6c1@lT!CN6{ zlykBy9=%_g9w@`V$i5QIW)YAuYxRxtG;V59V;(|FAJ#od@G@G6k@nYPTD~2FwOsD= z??IGabq?wf3C1u+f=H=hKWrF#?XoL~!`YUzs~>MFyE>;1yCUKpU)fb7Wm+etT#cP@ z(DHWVy$L*2-Tyc)OQb@jJsSIN%wWd8Z)4w=tiue(G8luDrApK>QW5dCT{Fu?enVgnCvq9DevB<)ZXkn`42p8*KW|`4xAakG52mo;O^*ywUe$I;(BOjQTt#M z7vugTj~^>~qitAho>Wws-K-*RJg@GoLy=Y=eRckFexU32vy<;^USzf$G;`j7Hq{Wh zyNmC!dS*?b*idclP;qt6CppB}q-O1RS*$bkJMF8 z{!hmdfw||~PO9vR(h1BPbw{8A1AoMw&haiAS|xqnY5;3_gL#`w)Yq+=lgK-+t=-k? zeD@f?-jVLvU~#YT-E({M5S$0n?YXGt%K208uv1(@_ns!| zoV*YhiD!$q{t+CY5ma>LKIN_B`nAhjeyFnN38ifrJj3*9<~Xh*;Wk@K2)CU-`E00& zZO>!h6v{rICeFcLN%odb*M^E9#<$_$<6Bn=dnI{E9pxXnK#k6G{GvP)g)h7$km=!h zYLc0NagIBdyT?9Log~Mg>EgiQj`!-EO01wn2<$pTvY+;Ta?7Wz@T4P$NSWoP>$$B6 zJDZ1fG6(YP)+r-Ydw66Wimo;)bM5}TX$O%t-~Qz~)JY>tRJVy@!VCMEWapLPW`_yk zcP_@1$;~ll*E8|gFf^CFV`;npP^bo7Hfe*APO2TZn#VeBs_U zk$U-~#^d+2tCCTYv*q@$_vXII6mvYg!R!XF!4KpU<#@j^% zn=}u8*Vt9Y{iJ%e!`sP+IR{f5%nmx|UyRfyrw{uv4BMQwPpeLN^JNB~)76_SUYWy( z3E#UX2IYL2+Xr=;6yD{bA<2Yh67N(oemF>GIZ)CpFph6_7!@AS*)DA6e^fhs|MK3~ z(xb&hHPfNISDN>6S$jP-neoVJ#d5#ftb})~Z1zveTkV!ria#%1Y@bXtPJ0%(?V8^; z&4%4KYx(??U#||?I8@Q9&sx;uJKaAK%hNvE@}zrHuS*-FF4^P4*Dq2NX`<(fMkWxV z+|u?{xx17E9z0yBCQuYnFeAd~#$r?TlKk0awcE~$pgZkH_030ZT*E}pKN;*BLn2P} zHgOyChDz-ZOgO%*PptgFy3>Bd7c%>|$;&gh93`+*(jP_d+gdyKsO?^+yS#p8x?j3Q zUx19$dx@(eJ5F<`9?m@^_vB=0UdYhJH+rF0&Vu7xaq5@%Urke*%2{0~KeoCfxpheA zO54YspJ&eZ<=u$!jcBhs73fchUAcafN6_dew}CblX|3?Vko_Tp=g;!-O4gIiWL7`> zeEZ1y-VZT^(r)ol`|En%#ao6Ajzs=I#KvR9KW*+x6U7GN!eX(<4>lLJN_q=YG2z!J z9;XT~+&j5%w{0@3*p}tlc6uBS-#ZcC?e8sdskzc7_h=?`YrnegSrw_zh{?0F?IMJ# zuS|38%2Qjr-8pjiIdv)o6z^cQsUKi|?7pj*t6gFvPsoe8>iYJp`*%g^eL7YfXCcvu zHuLiBbtUuNI&A$hr^mSX+N)y?O*f(ypN2Xo#kb9JjFtvAjFe~loY)t$?jYq-Y*xhk z>9-N+5arU$tPR7}b4k4i2V?`TTV6^hrmnod-szw$i5GL``Q#`2Pn=D=u=Q++*}cXm zn-4fq)I=y1eUE*tdX7(K^k(*u!!|iue~e3P#(Wb9&gj{Au-D+uz=$lxPcg2CQBhYd zL8ijujFd*%0qG9K^FEhjoUW@?Ai}byPDm-&R7lzNRn&$TS4-8`j$Kx~H7P|U)RP?Y zEHE1hUTD@JjEM1pmWq!n)nb@^PuPjijksR#d1|2)Hn@BDWLlWggO93tCO0}5N8VYQ z>wY!s4`vNgW92b&3;dj(J+bMc>W1asH==V7kJj5gNmR(Yv-;|#9+&+hwacD#M04aS zD=Fp9;A7S*o!s>HeSF81Pbpi~UB#JuMFxsI&z&1qIdbHUZupZ) zS7Tws-3w!l!tZffN&D`~G1+`MDp`*aFDQ0B{95WUr^4IYr{6Y41l}*sAhGjRb{$BM zj7kz3bqhaIGWGU`=lf!dW#1&~`!r{s)o9v%u-Wgk5{NWH{Ux96zs7q1My#`D4+DrX{I zGI`!)>U@b?HWRg-&ExpcadQvR%SPLrWKULVWxJ#*amoWXMM5DUs z6c?(G`rK=SUE*l0#gWpihl&-)(wt-J<8{3r>=4o)uX%XypRH|Y+fBl372`jdFcDLy@ zpDkJ~+ZD^xKFzG%Yfw{GR=rwpqawbHg9`poxq{{3P&dbNi)n9T4nk8S7PTyV~ zRFser^Sr&U+9a=3wXq7jwNa$f=Uy@G`}evS z)ogs#vh9|he}{pBR+MjXm@HY#tU>-=o^ZGvr=5jG`o=)}@OLwt{Cg(v#OV&M=ej&& z#1!7)NFG7m&Q|+gh-PT;T&1Avm?K{Cu;o&!q@a{2V+`zG2SFO(9Fj1PGtwXYkwJcQx#kHl)!0Rm$Rs9nlVqzUW^g{ z$f2!`n~7EaQRxvk_BeO4T=o(Z=rph@XJKEZP_S~jm%TVAW=r*bieq-l{ga|;o>r`#jdry`hkO&xyi;M*U3yfJ$E zuz+P^gy*42c30~QJ@>sTIdgbq)PkA9t70!IocY3^dFWZ=~I z=JK)48G@~kR2rETd3Lh&QwEBsbpjdfi3TkJ29+D@N6mJh<0Uf(3E=C()Yx7pUXA2@ z&oeE-n|UVwjlTu9wWlG*H#u2b>CM`aH*8w$ZJIT&KM{PMt!c_Jz9foORGBtRERsOa z78RFuwN6bd*nA6}61V%x9GAw<&CIdpvX^>6|2KS0ZrOp5x%EfSZx}|6v>oekj*Vl# zA6zUmD5UJSlCw!D zg2oNb;_b=D5fP<2qT$s-I(P)7(lfe{V={P(!KFJr`=xqkwY=kLgN`-K`i%@I1%+d7 zvXq`)>-MIVeHy!!G?;eo+cZYlFO!dde4$j4(fj${x!ezVZ6A+3qh-r*$*c(%TE+$Pk(z+lN z44;+jC-|PJHEw;-^@FgI=j=6un5%XxyObuLZ>!JZbF_bPCfICJ-ua2kE0YdQ(`&-D zY>91Q)o=G1CyuupJTsJXCfA%hl126Z{O0U?y_fk3i2<=x9;Df|QqAz*<)!ZqMHYwVX4UF*=Ia^$DFC)!<|9Yb;~xa zaUHKpvfgyR_62wu(IDq&`cT}*;0?3O{Aw`5Ca?NVU+&-LpmlJ0j<+$_p4hQL`4l0x z)&1S(e$Iwv0v#4<567_kY&`1t3T=Y&$4!yT%u=Y4{q`%a8AyF=d1)1U z-ShkicoE4_Mbd?I0NI}!lAU36IcUanCAY?ogtMm;HFSB~kYVyp7j!XCa0RldoA2P( zkB_fG3oWnfGyI$qvzb-&L}*fMLwDP~QEto2sbA6*W_qvgiwSk=}$w^!Pfl0c{ zVX2I>st>wbTY65il^raSmfGe~5$inckQ+C=sf{<9F^W_F1Mg)o>(a~PKA(A0%fz^= z8aU){>uMZA@nTQjp4^?PeIYp2Hz!l&jl^M>mgUAB0V`Y2$L^?|qO@;VHe6w}QQ!DB zKGrhw`{#AVb2t0C^v}gO-~UEgF+B17`qmzk+d2YQd35_ezA5&CW@{VCT9iED>LFcuF?-@0TR*j*EAP!%&U zrpSMh#4@JC9DO|ArGd3b!(x}Ga@Yx~&hGl}?(Bu8rVm$$cx=)e;r$-cV;<|*y2Wqe zl+cUq%)^||1CC9_<+>yRw9~GqBc$BsugY5zbsJ;jg>WrG2E| zF{m|=63NY@;~Mo{Q;XZEe@tJ6b7qY|uF=dCMS z8q9cajHt^6If=>`jgkU zPj2PnVqU)a$3UM3D#<7@ygos2yEi+9KypJ_Ed7kf2Lu_gul?nsu$kHOL5=l*Nwm|C7j z|CkAw4S9Fy;``mgifIR?JMU}uEgO)qb;WFVMa55YpW1x+2yWXqzpi>^M8uo=XBU%W z?_UXczvXzq;EuFoX>(c=&XX4c?#|3*d}sL(z?JLdujzXtrQ!@ZU)y!~Of2b8L-!A@ zE#LeLKW<)^H9oamD?4DLpSz;9oEX=wVy>BmiQe^iB`Dw;oKlwF$_nl*n#PY=bl z4|6f%>n4jA+h-qK_Pl%2@2N)eU^tifJE5T7kXp&Hwl7oc!YeS_3hdseyXvNN6igiL zx9IK|QLopY9-)dRX9aL-YbV#u4EMV6q_HR;+Q=2HTSCI_{>U>;9oDRko{oHXtL_|Y zcizm_j}@-E-4Tb26MHGj*hqnMY4L#{Ipd~uJ{{asj7)kib2;GB7RN)M#~xo^=SG^n zojF#2&Y$yTqRHx6%e{RlvaVwq@mb(L+w>+Wz9K?Shh6g(H+?jkp{B+g@ zlLKvUjI5j<*cI+jG-aaa2B(IeA?z55ZeXZ)l6X7!r4 zj|YVl$X3$kF5z$b>T|Ql+p%bioS6&9cI${glPFaoJ~XSBdR^)sd5m}5z8onwdABHZ zUv7~-qhx$k?f1Cmz-7G4ugA2aPQ1=D7uO5B!a)7Fr5YcwhLApcrBMWJUiHkCfvxDy z^Q3JW)xYAtzwAwwJBq5Ui2Xr#8LzDQRCZcF7hQ1Y?J(o;mqW2_DdQ69Wa1#luzpg> z#M_V~Ga?_itK&UpWL!62AJaU3^vH`npA?hZW9vq_Z|oo!<{k3&TRuZkH@LKIM2>kC zx~5yvsDFZsbvV=>6nMP{MqB>`?1E~qx3&*Xl3r(!|4{$`|RSF*|@y(kB00U4DUR?D+TuW zzZhf5!Wo@D!kVHfJoM0|UZ}W4&i}wr`z!8^eLl(qC$H5Yr8ht77qQ)a*M{ zFC!QfevTtvtPZ>D&|9z6K&`{Ux#urQpl?O>idAzYJl-qhall%c(8Ug|fJtFN6hXg_E*B))8xcvaxW)2z3zT1^R6a#^C*lJ|JoB}ks; z1La*`c1+D+j>h#LPp2lnbNV>9UCXe%#QrSj9u;pK)lE>A*w5Oy8-3K~>B(!+uJ@iF z=QgX)?N`~A-&j~x4tGsv=&u1RKX4Qxi^g1j>42)(N3tGz*URRaFtcmAqM5N8(%kFjZi`g8ym11C#q1zwVBoP*r^tPpP|QrB7nJ+044r z_2$d5x||3m(REu9I-WBc=;@dyMtyca(l$OPi$e{~6X~k9y+W-ku5^AVDj(3K3>9d1 z)R{B?n0)uy?uCp)gJ`XGY<0tifm6N;rQi9I<;ziL$}9B`tEz||-p66)u=-@+w@Ln~ z;?g&KUjB?`I?K+-1w)t0Q)k2QSvwAN(|{SA96?b?_^ktkj_NPE$nq zlO6lgT~2O2i2kH^!qbvX&VUyi&v)&V=Pt`vD@q?fUhkXHJbV8YFpvD9@HZD2ABkQQ z-)L-QYQy{T@P4O+_^dcCtM{d|Mof7d!c4ho(J0EJoJ_<|1sMqJBVS_lY95o4}#J>EYYdwE;%Bw zj2Z1~2eC$3JDpj*iYiRQvbB%+*?#$=(pFUY>T<^UCpQ9jY>ulxwePh(nLONSLl6=v z*hM&abpJhlZh}~8Zl*secPKemY>h z#rVzo8a45J%E`8f&n@$@o{$qip^ zf{4n}#ik^^+!_zWbOM(9bulBkI@>^P^_ z)0^rz2`k%0H+++OcdTp8tBB9VTfPjv{lLboFYSILkcHDRKJeBk_}`U3ip}WEI)pDb zGha(mQ_(~Qw<({>%0TPa8kB4=^|^XPqD*}>`}|PvdJcK(L&5QY&qdNM!&MR8dmrZonT?06+!%2^EZlqgI@|Fq z;_~zjugxC4yn1B!4(S1A-VA@=O?DjVWaeU2<__`q(q7nAvDKU3%q6?XxA^yHe7WSB zE6`p_*e5s@l;|6l^=w_`Gh@ym&SIS|LmgbQU*+49kGm5%_oeVW7}>ejolo*|XJlvO z1t}wauePq$cZYL7JanrvcYJkaq&wuz6m2|>Kaf*nJe~RKHBi4*7T?*J|^iuLeX77RMfFJ#ND_#f%-4DX3 zr@q#Fkw&`X6meLtp8PCfO@z%mHx{w*N7(SLNfYw@uO^**IL2$uvX5O}pIz^8^Z4Dy z{P&rRN4x6^KO(~)G_N3aV!Bpz$fJ-2nqK`u_sujahd@d9e?# z-q3Y6UiR9X3}H>vfzO1NKyQx`0~Mj+HYM+jH&4ns96HcJu?pTNzlS>? zXn4bPP}lGLY2sK}z{%djz9$L9O#=_FVs5{@UF)cM!RWb-X`^llQR!3OiXe3S_@1Cb z_AWj*r!5LalBHH!hTm63wgyw0^b^BApS9+l>f?@>5%|&SH+lEn(2!x^-Jwvu#z^s= z>7qvJ{gGFuXP58s&pGJOw%KWYx~u z4r`r4>1Fpfz`PgVEJK{RnYMb~{) zg6!rRp>CfOn-64IyN13AeAC;(cTCTr(cgBDbSGu+jB@hT8^#~5ralg}F^pANM;M$`N+RRzY3*+Z&aL);EHKd!q(EiT)B zb9m}~c44qsWA3i-z_YZ{+X*5W*wr^2+OhkpEecvUui<>bSw7G%qu{uLm2}jzc%sVc z#;uqauWsiY6o1WIut8;bPd2|53e9!E>7mcz=jM^+Zm&JTf0`^jXBvIY;!e$M|8pt> z7kc=?RJryB@h|yz4%Z7?o|76~eOc%Lk3xm?;CtyGsB89ps-qcg3MSYL*i7m_l+GM!_X@-Dv_*Nn+PZcOkTj(*%$eCl}pf_n^sq_JS8dy$Oa_i^QgvI^YaD&RzdW(@@YWn>=Y)_qch7{i>r`4iujpA9{6wy(vZp=IU?*D}`1;33Ge*ZZ z#-&58(dj)0-mg_6R$SP~>8i_o^UMUfGArRgoL6vy1pYQ z&U)i)Ny@e+>Wsd zhmr3ZDwJVlEZd%hhAC&%kDlAu?DymzLyR)(&MAeFq^oHwmgVEu+PQJ;%<@PRbRNil z==PMr80WEuHFe_wi*47xzj8b+L8N4*zT=!cNrLJmGw8vbU7RpH|-1+y2CG&&G^E7*K7H_x8C1K3>E33sjVaC z_uTl`+ee>Y6Iu28o!5ljCTrp|*T~u1&kP7QhnAnNoErNuy!DcL4oBV1D`zxpn;p)` z6@|qczVoz=627mHJ{P_Hl0$mkXXYeJ`BuRJcaxXN>vs2*l)Tv&@cNB8Q~R9<<0_5! zX9J@rn|9W?BkU#9UZbh<`;e7EuU4%t5_U9y!_O$lEi@an3va>9Z$-MO)1GLv3Tx|@ zls)?3&Di(vPL{$9;UVD@J*+6r@83Q$^w*N(fBB6<=nH)RzyC%ddQk{VzEKE&G7tfO z+6($dA^fev|IKd{Vj(jA_>Ds7ON77tMxo*ovj6wKQHYY0$Ncgmg-%#^Ejhe{kffRl zMpN8|ETqCO!S96PBblJd(&jj6K~kVHpQE<{PEpb?&^5%{z}?luRlrJ7Fv!+cS(2SB zsH`pOsVpF;r(c;*Kwn#M*4M9nwjBJRoYG9zXsiicA z-xDbyg7woh5ana{#z=~~>WP`FQ-y`7II57DF;<{C%+IsQFTW`NPxL%hyd0= zUqfEk$tK8%-&@1coggJBD`e&%;*7=ym}sDtyw!r-MO2hsMEvxG?I@BucyWpyJKEMv zKubeX+f^GWxFgU>OjXLkEzs0bNK4umsUBdftgEJs!sC$+3IYBmuHxR(#x5pO8eW(H zq!~&_O*TMAo?YL?O-k9phoFMBm#`xFS@=py8A`Y#?f7L4P=VGqmI^i+8ar?(wv<(y-tlgz7EtM>s_yzr>)#Zp1l19$#T03koR6z}-I>7{MY;L5- zZ>}wFV`Xb-X-g8ZmUM(9D2F5PiAZbmc^k_U!AJiH!fsX}>S8D%yos!AkTbimzKpRy zMqR_p+Jr*Dc@s38Fi2Kn$fVbFD8O45lBZxN)#9$=;vE&5Me`xiigunh_CZ)#9g>oq zmAtv0sy{&wCGKP75`-qX^NCuBVgo$=ZPm=g+$c6gb_)S918R_%hO-Qxh_Qx-x@>@h zo`4!zNXW{<#XUew1#h4%X2VC+bq^6odz(5-I*7>{`tnokJrsR46+}hNP1*fIJo!|d ziDK3Ql5RG58H}>AkucuC!QIhQ(n%y(4lf~UX{Tu%$Y-l1A*Cfnv9M9n$BEhsk*MyH z6m4;B4J5mwzn7AfJ-?oksIQ@bx2LTNPDYgw!mpwir05|n?dYfxgu=Rz_(l2rOccee zknR#XLZ${fI($}Qb{=l}SQS2YFPyzFHBiseHU#T{A={~0sR$})she3-MI?0y7;zsj zRX?nxyS1M(j!434soJ`#VaclErrzrM1~Oy`F@0fnO{%@C1-}bY!b8GP!aqRR-wTD2 z2qwCVYZK)RHAu!HF7nR0QjV(XM1LCz8#iq~C2L8dvImx^sV^0zj8yPuH*g9xa}oBn zk#Pb4QL9VUQ{K(R8A(UKN$a&*+E24XDa_+1?x z?F{Ti9oUIf9T!D!Pfb}NG{3XFl&74kNU(^o6i!nS=WEU{j5;DQFXSYh`6)KS8Xra*(u^oCZN$SJp*CP=a4vb%zgG zj4Z-$9pdliX2@?V_V?1_7u+GBC52WKcQ&+OcMd>FYO4rSt(?W3e5fRnzplN8 zuZ*h*!QKKJ?BlQNgYlG8wC6K2;MY{O6gM*tk#@xeX)8!sVEh~<`Q0!`c4>b>86`O< z6L%@JW{82lt%sTx(a#AVD5{9_B4~*Sohn{k9W*Qm9cS2^#D-k)h(YvN z)E&;5>x$=CxeBjh;+-+W-A|4OU)%b^QzWP8QgOwdOZKfbyVR7YXRc}uFb z9QKI{#x}iFG5Vr%>qXFsZ=D43djY)fjWefPJVPmc=f=x&L`u;oL%+8-635>AseNqn zOm7Y_{4uF8BeW&dxqXg$B~Uog=1YNtt+P6JOPQLb(!;#hypEVelP|gAcDh!RnF2)j ztzRGXK5A3vEg}bf`Is5TRb^gkloAmYyzJJ6BKxtVhBAcW3^fe?q{_pg6U&4g7i zXNr`OIcoKBeRJwe&b5lecX+mL<{7pMY+Lo?^85a`c`Vy|xlL-s6&~i1)6_O+-i>c< zA^1IiRaX#PsXQf~@XgtT+dEeDpw!mL9nOb&HzDsZT^8G_tHE+k?93`P^_Pljhl%cm z$oEBJrA2w-#Y0KiI!r<5b4M>1?Th11D&8)mxijxlNvsGj->Poqw*J@1ou8V_i{IRN zIxyG{XH zeyo?wJruV2`xWVHGl$l#)NMNB)NtV1rFTUh3IhA8-o3j1lMvqP{QXydnQ) z@m)fv?wpqXQIDu^D>cywT=S)RYKIM{euA~YF+Hz)O7&xHqZJaEJXH=#hI$}NV?IWG z(D2Z?^|e}f_O*xVN|H78pUU50xs?$db>L#^ z;fZP~JHC^4s;3H0inT;YXmMBf-0&pas^3yuT8OE%KK}VB>k2-?T1}>vpXU1K^!Kce zGqvIxaIWbg7oykpuPi%vWisjA2C_|xidFiT8lUUr{hZs0vdqUb_Z+&pT&rpC_X-lm zrdT&=H(P3DPMz$mS2*=r#GdcmjQvrbvH_>IuFu`OH6gLp{@II-l_<_N3IVQ@z4fnb z&iCgB?Ai7#R_zMAWTcSY6VX6>k$H4oZ$81Zl$LGhV zx{K<_T3#Kkajz-bzsxe7+sDq~jCMq&zy0VlB={2X@n%)%qT=MSScrBxJ+1i>%;%7KYPCSaB@+Ib9 zewGwlk~S16#VbKR&$jt}kXzw~f|9oOgc)2N(Y{^X62noTw^E?32ko^jf7*+;j&Ewa z;&{oYM_kr+ANG&GK|8g*!tTLqn6|1jA1qS9r3omSjOyKW*`qWhLu?38w%zKUn$4Y> z*|C;smw|rMm^GzEC1OxV+X~;Ijb3bMxcHoVFIvb60QOe2t}! znD2b;zjH^Qg4pH^+|Nxr<94KC!;jvEYlVw#d;_ zwNs4|uLL?LD$9>#xb!M7v!uKU47Wl)9TW#CxxIZtlZR+yxuBe8LE5b z`5_ATv$b^sh67nsaV9~M(WmTO9?rEk`0o2rHTG)I2DggijLa_ilU~iqB+QHEZH5)t zcj3g@+7!2}`Z+2pYdp`a^XA}>7^AgH0vWf}lx)0!+ z$9C7b0DK)UadqR3#_NhzYqF!hQ@%~RQeGXy7T*+Zi^WDok9&=sWW4q6!>2DpUBh$V z_UQiT_;zo-;EvXDk${NHyb&$y)B5j`J|Or$7b@4D7;1eu)5_qgdCTrs3p2krp+YIj zF3hKPX01;!F})+hePB}Uo}}Xn>~b>x5`8qn$wH zc#C_*yVIi=uXQzF-uGNWw!<@C`Fh5k(4yNyV}-)+QPHJS>q6M-3Qin49N+jRQuNK0aHKnTTy7>uA{L|O(=@l+y025Idb;_r@t z*I$0QGJ`@dnOmC>sdxgOiU*X^7I;kY{s1NlOVlc^zEQT}*AS^J3Mx#(N7?iv` zN>*MXF%4h{;lrjq7Mad{4O-!VrLTR)Z(wao|BZ_KL0P9rH z4??c%=}Gb+5y?~pZmB2`o&gkuF`nW@L}){z2u6gFsNRSL0f{X!CU}i=eic{?A57E> zAXAYBM88lX&>S8K4xa&j$zEU?kgQ1#CN10p>Z##@M5HzNLBYRBsOuu+pZqrjkcg5& z8j%RWjwm^3RTF`drzIFTfmc`&C@igP{*JZ^i-w*rEfKI^fduvwXQVlv0`a}nQ()g& zBmlL<5w!#Sz-j>qI7Af{q;@a{fre3ltO5cJBUMvF>h7fKTS0CP+UQ%M5NMcCkVPYC z4hz~qJc4RHP)myxdMGqP7G?z$${}QFZmb6iVX~2WvVbdy5=*2WsGiR$AY^I4^%N1Z zu(Jc$zz#jEh*U?UxsDzJ3E33_iSq{mK?|@;2?!(tXCejz>?YbMge)vKkOi3N3|M*N zAzgtMR^EU>xCMY~Zw4D0D8~5%R$yY)z@LSH0ueB80@?wvs!&LrwY{|{8dx+oa%h9Du|Kb(`Neic z1-XTxeXetElz~GNth5jr2zwa7pSd0eZH85BY-}soR;^gEYRyXam21{>u3E*pe$%>j z>({N@v~evr__KE7#;x0Uw{6`hC@3N#C@3#0D=V+O@MrEO!%DVg&zL%wE#qeZ8((J_ z7?!atga1G{z#k@tWsJ-$%URi0u&?A|SjN1JiIJI+g>^X_3)3puWekjKn3(z2qF6L7 z@ay=4_M(?_C+C)G2?(yYyyY${N7>h=%_@{)^=aUE1T!7k z5LxsBS&i+!I5v|q<6P%T3AoxbG$}Mu6Hzz#!mkEubv!(>p{^%vENXDc@5hO=Ga+*f z4Kp{okN1@PFnj*v=?n6WY4xxf%b7@e`A1rL0IhsBH~D)`&1_-Rqk3BT6|{QlWb{>J z_vY;|oRMuu2WMZ57)>0}AB*}pQ81$~00Fd$YNK_y;XN2FGCIfL<9elRzNf={Pstow z&vY}W=h@kUR2r(s4KS)3B*Gj6y=ycLse?KVDXpv7jFAXT{cOQJm5=99hJM29}e>Cb=uQ z^9zJj3d97n1seoU3Z{aqLD)EjkSdHr|KSI&#G!G*z#EKd{*W!0Vw!?`Y??w%&CgZ> znQXzg@Xr(I7XF#96nra~Lj6ZLQfWRX0bVzXZqM z@$uKPYJf$zL{`7V@#lQJ1;qSYS^XIwetU)Ac^MO_2AmG5V&VdZ1W=$pPTMM)w}OK$^g|C<5N=2(a3pDfWd-~LL{tbkzyt!x zABHHnY#s|vgoXhILj$^iV_{TWf@5AEKjBy;{ikt?MgWi(?(v`FSU~w-!2yH>iDLmM zeN3lIa8XwOiVs*;zre8+<=^n}xB7Sj8_S>YfkV?QVUZ6IQee~iwa)*!K2n8$PgZ}+ z2dwj@vN{CR0t<>ZUeUA!NejN9Nfz`^2?s1U6*Ag+>!pvg=N95Ty%HKQQve2FuK)yy zPV?X)$TUQYIABNmB@Wt54zRN@j6jHBuL1DsI3PU#8#rJuoaf`0IOc;cWYLhEeuod- zlYb*CNPhnw2PCJzlNCh%PdLD!`$wHG>f^8Y`0vYVK2pMb2)>2j)5P%`cJ()W(5EMK zyQ1lwhU1rf05L(bf@40E0T&?VU&spTLYs@?K;Za!aGD=c=xPW2(%FEg<6!Wa_X5+T z`KKJZC(@pL=Bt6X!Wf_l6y$XaV+Jh;=^MgKGcLdcG!{bt{`Lt30Y6{Su%zbGp4Aq{ z?xhY+_xyP*P(UQmaQrl@UU)$J+12R}b0FsY6^{9s^4mBTJrLv;aHN<*IDn8Kfk2vF z!pFibTnRP!nUBS1!X740F;JkA%gujA3ue~1ss1Rs|A$5jpI*b14y2KS|WEDnQ^+0aa95yyY>u{2)&84k#}XhRp2`Fou&;(&aRZo7XWtAC;M zpJg>aPNw{Yto{X#Y-lGJ_O_rsc1LLU z5^PpFL%X8jMPEl~%MRYRb4KcgkiqtI02zU$?P1PuJ3>3b2=tPjI%r!GLgR?EA_n3q z@NPZ=spW_F@SWd(MPT90NN4&^B)lt2>w?qPhPI;#2rRsfx!7dMzVgC;wI(6dngrgg zSlF&cVBtMcuq8(crfP$iArNvHc<)w+80)K0&Np{ zfkw2v+`{(Zf9$-|X+kMr!CpDo)>Z(U#6Z5#g#kO$axxfjl4-sUst0ejU}WTIWgrjN zft23o?^38ebU`ramn_%}2d|DG^8SyoXVhBe;V@}>CYwLZmIt*dEsMeXfRhq>*)SV|D(OH@lX5@Ee|9NbOG^9SDu2LEJ6Xi zxdPdYEJ)!C$Qr7L+C%sBl-}p>QWy{DyR;ny2aAzGV8BZruum#tLF@uXqyV%CY!?gK zL;eX#Q5MjI0bvr-tRi@I32KK0)&ku_DMk+XA$SW9BM<68Kd7yuJn%D64w)^K!hAsf z0Pxc3kj2n^9=eC@NghQ@Axnhf0(6fCG(z-4T8B~?FYrMKA5;(bg=mCi1?Yv!VE+fS z!2S%60q?lcI?#UMu8?Dc z3sN9-L1hpqnj3@ekVQg$vEYI#;d{UZ9VgV7et{f>0PY1#9mE8159p?sLM@@cv^LNk zYzed;06N4ctQ(*odQVyp=$95s7Vl{}sQu4nkc1aYv~ExiDqh;1ju7qzRX~lQ6s8*PO1p=h^*^|v z$${1jjwYa<)|&nc$&C&Xs02g@sP%l0d6_|cLl=$6MGu${3`+}Wc}SZ-m;UUQbR{lr zLqo8%1j<8l`?>7r5^%TF2_YJP<%Ei8-GA$Z5XdD?h{9t3ZW;;?Pteo}gfF`G6hKhJ zVu8@1awxPz7c@kGa0CZED4auq6kPN^3+eo@uy7BQ4&@ixLm_Scf|Ly5kyiw!3c?zs zP%Mb(a6Nbh69Wy4UkQs^EwGH?&O5i|@!ctKxy!4{cFjqM+WWzY15ekwU1a}_)&$jY!@92{L^ZtO>rFI96jK8uw1+;?pzYPA+ zVENDN4vg*agcq8^LW4AXLCy^H3fBSsp}+-&JVKbiN&2Pwxl$4Ac&!^m3R-2nIAx z0Q``~fXTy81M|gn6btNua?oVH6-elhICQvh2S`Q$CM+j9ARt4yj9w1WIe$U8|J+Lc zNex|Nf8Gb+T55BUf&9wm(3(0r|I+3lUjCWQL2`g~1AG|rW$2=h-*9}IA55TfNJk6p zA^CwidY`{b>GGy~CX~Xspy~RODFHk+n6IOk)8hve*PuSoNCVGLKtHGq?gLUN55cA1 zFH8$S8BF^;FAMNM`O^GS+Lo5nX@_t_d1!Q8+7`;gaT2NrIG}r&H_#4Bp$neWLE{HB zMnLf$wE6G+rDOPWXaLtzyMyKn^L96X1Viv~JHF@I!Z$temblG7IP^e_lT zn&0YyRVjKW;Fa@*AokM^Vf^x##S+EJLsQFn+5T5p0Mix}{ZI%vk%9tl2kCn0v5~*$ zl74_>DMK_szvO4}*vQhO9}segJIkeKKj4+9|0=&gQ*^2S#2B52e|!jLsdnf~%Ks|{ z_U9D-Qp!u{0&}mwvzq_sM~!~T1Km>QQ|&(-Gy>X`qq(4oHkc%VNiu9e;DFKJ9yNjt zfwl^d^9Nn$4=myQf!D&Z#u6My0&@&FP(gXfapC#iQv1X#d6@a{_~Spf&tFPzsrHu) z27f~1|F^aO2dx7Y$Vs{mp>%ONG;222Y>=S0c;OQ3^|L+MGk`S1YLI_N>frQ}k z8A#~2qzgtoFjIt0cX5{v-n5(_@wC8cM`*88THYD?f7tu(xT&e-Z$L%GdaYNlh29oO zvYRbIirJFgB-^ve7DUPRY_glW6?+$~*g!!=K}AJS5fM~C5fmGW9aQXy1w|1X@}AuV z#e044@A{Vi?tXaqJWn>6%$YOioSE;;nd6qryifsgPXxp~+q+(K6S^=H_*a})ZH5k|G>|0n+xp@7>e?hLhg^08KIS%01Q4bWBpcssmIP{-}wQJ|joxl9@ z%TGW5{Ns;5{qVz&J9hl={r5YzfB*e=+qZxF-FM%9`|Y-E-+uGWwy(eWX6x5qf3@}N zFTdLQ<(FT5@#UAFfAPhZ&%gL=%jchcwq^6?&pzF}`IApKfBea(AAS7EhaY_m{(bP_ zNAG{|;imULcyH7D@4g5AZF=Y3_cp%s?uL!;zP;g{w>E5i>+KD1zO~_vH{X8!jkjKV z#wYT?dA2au6t$uOE0f~Y27O?zVz}7FRgq2#dXiU@X~Y7zqt0f z7oL6Y`DfNXzvkKJRzI`$={3(jz51C|tDkx5=`~NTTD|hAr&m0=YQ@S`%U3@2#EK^$ zU%v9OCsr(b9Q<3p^sy%%UH15rrH?)G=wpkQEL*%}>BEmax@hr|haO(?;G#z!T(tOs zhaO(|;GzW&EV_T;L-Q9tIDf$d_uaqn-uVmfxo^R|`|h82@BF*(nSa;3`|iB^-nn<* zGxx4}bMBmX$K1PbpL5sjId{&!WA1IY&%Jf_oLg?Y!(kJ?W{z2d4VmtT3=)GIHYa>b=nF2CfmsTW^5^`c9rTy*he7hZhn z1s7d<{)LyEf5FA)U2xI4=U;Trc^95@?geL`d;VGHoPXxo=bd@hxs%U2r*-Bzt;uIM zTW2*|XV#mO>y62^daGJ*8nuQ|ZRkc_Gis_{RWw6U4O!7EidL4@az&BKiYUn?u_B0N zp(GUru}~EAg;K5{Wb?&ru8_&*)0sS|Tri2xPU16XOiG`A20!uiNvBPmG~u)}CY*M9 zYQn^1>a;|1LOhY;;z^cE#Mn3!;~0jGMq`l(6Anj1p-3Qcd4$vV=6<+)zoR_v3-7t!{Ce3SLY`Tp?$69W z^!2m0yt2=Bc*|zTqGR5;a@Mg9@2p_q&h=YQ-ns+ZQQx}to%bH!G3(nNw+)$l&%>|5 z2lcq(_1j*eE`R!%qmN3@Ik3k*efswLTMu({{-}|s^xJ>awAJ*&)W!pUnR?6V`(G_Q z-rv7=1^o4{%SOKO*&#hnJ*o%9Z7K11imj~J z`0+{8hoZ5|2MzoD-s^f_0J{b+xbCx~r_V{Y#$?%trFCF;P4(9!F>+j&^-!%2w?8lR|JD#YV{nB^IUcGMXHF#4`)1<>@ zo_EUOz0Ntj*ONGU>Hg35J@KP+do4Wb85~>JW9;4gkG$Bs2Y&5UPCE0z`_G#&=?MP?mrUwCX1@h}59p5{eCa_+{LrgSAMN*}D?Rjx zDVIcNkGQ+X@bh9;gY_FuO0iG_c^@;qkK35^5qJ73&1c*&8c?|<0JJH8(G1AJz$afh98!I1Ya`FcdJ z!;gQ`d&1xP^(O}UMn^Bbu3u};(Vr2$uZd*GYX@UfPs0aa<9+6!>n_zI2OoX=`^6(} zn!5Jo;};$MrRS2DCvN7yLtFdJau(LTv2X8{H*E48Fu-@<)B}b)$IhM#``#pfxKz1V zxdIL}sDVfP=FL(IOmp#5}{;GXeeYlEVwQN=Lh|98`ZT&r0ze1X)o%gEe zZRgwGpDs6Mpn+EK&TCG5=GTw*)%qprulgP~ZO7H)2c0qay#dQ_UpVys>tJfM2N&ji z7g;@Y&Cp|qt-mfFv$3aMaoZGPU!Z3eD?X~lV7=N{qoz#^YGs*mluhCPpwF-dGiIw(?8tw4JZ-+ zNoKH>nf~yME2f`lTPA%!o#dCAGt=oAf#>m0`hDX0WWX^OeY|?w!t8zA>j!*3^z+{0 z4KL)TzWJGS$g&$BzvQed&$`w1!4mZYtWR*rr~AA(?8S+ro~(XCEz!Q}^VQ#X99+N2 z`_X}o=;`|{xMatKclVW7&&-@uyruB&q;ctAFZ*%e$?q@wX6`S;&pvrq-(913&An)r z=kkkQNni2w*;Ai8=A{wk5qFHd{)TsM*nh-=40b>5x`Ih;g z&wnI&>jP(JpL*!PN3PjmY&c=jqryQOT5spyvTZnf(&Ux3*I#^h)XTxbBTs*I-8%y& zKXKNgvo6|s?#{cuKkS4hhhB4N>5`t8ymZ2^Q)Xn4#L>13XRXekP(Jb66Rx=OloN)W za0YhZOl{WanTI;wQSTf*b=Gq;_n#RW{n8T0k~xnqTJlBp(a$LL=w&x7tJKDR{?qe; zO*d>^ytcgY%O_Su`yP!R_D1$VSu5ZSVg)=O^Qb%YPp8ef67>-@UVG z^6NVuKI7^$u77X(dn5nmy>7&o!%sZ&tWURo2JJZco8`x^IKX#6@gT<$Uzcx--)2@O zY`XP=CAfg!dw#I@&H;{riIX22{{wz0?IWL=+|RyhjC%2s_%F?&{ZQMYk)YDzvHVK@ z;)NIR=NxwI#qo=`9=Lq@sS8hibdt34odfPVAi3(wOP}?PcyQphozFZAbTIj9@m2fF zFTOlw^Q@P5q{pO(r@w!C%$3`xzP9G2O>4+U-YNT+U)%4QyPy5RH5joB&{q%S}^a=9qlx?+7$3Az}b6a1!^|X(c72mr3+x=eOZ_D`uE}HY?V^7Yy z=%J|}9xJEDOgt*~Dr=l|*(CC*X*xasMsDQJIn$FPOygqCq0d5ZG21Q}G0`^sW}t#k z#77Uf@frJbCl9~<=zXT_zxIIK@@=Ol-N|#_I*YxqbjKFF8T)b4j{_cdkG=2L#r@}{ zCqMnr+V9pLW;*A-wF^ey)=#8R@53jQ=YDTId{))9ebB5M@2Bm_Be{p><%wHwe=m8^ zYoq3kO>cUCJag>jU#-4=^}MCeEWKvwr`wy`FFF3rL*Bmlpet^zhC?P`05YU@9JkR?|;tI4+NLJ z`0=cIeDM7nH{@QQyLIUU!_R!}``0#?wr{!2+EZM7U-O;$n}5B1&4R+hPcJ#Wx%F7l zBVO|QuS@Qi-f^FyytjD!s_k!Yf5YxBzxmorU&&jRFGI>7zTZ>2ZStm{15e-l;vu~c zt-R-dN7^_ByY8n@k2yUj{5pNfjDa(*p7F~~#hYHc*?IGVnJ3J=Z03$x*;%jLa_TMj z-+JP$Q*Zt0HsQ86XM1NazJ2iRH{8+tj@lic%;Dy&nd_K4@6O}zoO-;^yM7A1OYvX-RU)%a2lzKDqRir4KI~wd}6P`aO2@<3~S! z)f0W5xbTTx%UjF0uTWNev9hr8!za&pa>G-Jr(RtZS@q)6^wZC*CRRVS24A!MnX%72 z_U!0qA6@HM`^a;)=N3P2eg5GWtS>zLqV2`SFWFyOvJP9f^yM)xKk>@=S5~ffuV4Kt z`Ra481z&slb@uf)-#G1!O>bu3-29gG);Dk0-u`*Rxf}P}IOUzg-?`!46W+c3yE!ukO*5|)YeEsn^+BdtlUHNmpV^vw0h(?hpU;7! zMxg501ON&^px%!lXLpy{*;99EF9&lku>DV5#62b{vbQxF3y)p!Bz*A3Z%t#)|NASo z`*wAKp0sHTj8WU+;UBboI#U z!lfU*F=60MFaLbb7uWR4hS^CAkJgsOf4!}>?~LrpUzwX1roa03={Ju%;jveqnKJsq z2Ul!4(D%vY@1q+h?7S;6#{STKKg@G)ocQJ(>aNH3*?bL_zj^Dd0RwgVhqEuMk8937 z;;^2*d#sKZfA}+*?gcjCdZt~m$BtMb7q9HD$76F?fH~j&2Gr`Zw_WRk-nW||>~zYF z2_ww_;sF1F>`)j6aetc)xZ$Ak6OeNb;D_K+2k`(`+6CR9-_nmsP!&zc;FSV!^I?bq z716kM$+$gf!@nmVLy0}Lfo#a{UE0a^-Q#)e=G<)Fi*q~p>o?9pn0GhlyYq&-tOK-U zBmxo~I;k=s6X_3}cWPpR=)+!|ce9iKI_Fk+uUu~su=@?B`g56M=KK4?ag{8vGcF9Zo%w(34JewZ4c}JM(7x_hjsJbtOMk3 zWGBquPSgDt)^|st_GZ145%}5Tj@b6n7n`FEHto^$e>POXH^I3v>=b@ud|NAj=iMb7Ri6E>KOc|QU`f3V3Y#TwIg+qjKB9N1=s(D^-fyA zUuWG4gWBbLBCDN@&;OkDKOdza5;wA~?|(i@cLzQ9)|XBa&HoAKdymq+0u}%JB?Dv@ z?S&N1oc2;>1AOr6t&{uoJf*nL;OA-&q;2VAJyUjK*`aUudXBwjMr`2-!8~?Z^Wl@e z_f5X&+1j+K=dhbxV4Oub%z#oiAK+{*<+qzK6B^I(6p}_Z_tK^od6<;@;>( z9-kXA*}M33blrqAt{ph~u8;4%Xu;wiUwCcJJ|o@xJ?=HIPtSVKyEB>HdF7Dg4c|CE z7S=lV6Hh*P%6T)sw~qa8-u8JfEP6RRblT$gOD|kI^piDsd>ysmgyG^df1i5AmkV$6 zPMK`p3Hcib%zS7?^6SFPa|RstE>4Gb=zf2mWV;hDJ*)sCXTQA~1j{Xp)#~rw9 zpOf_5n0?wo51BTv82;vz;DC|;7&Mk1ztF)4KHYD_ zYI5KE&$8v8{CfQ6V{0o9vs>4$fAr!_#@0zsUh}i^!t(w8-s9wr`+oK(s~<=w`fXtC zwgC_;X8wKKNFw0xu1I@Q2Y&19G2$2tj`wH2y{o~dE98g@j zqTp+3Ii?kiWm;ke%l02XuFsgp=tfy7gItEbjj~kHM>ody=iBA#MuXqmm!bZBJGU6( z*#4GLpiJgS1VQ?b>(jSy-!WP?KRODk9d@4te~s;5Gz?`l1l8;HQFY5GSt~#YhG7sW z6lgY&1b2+on-zm^jI4lTtU5&Y(Al%Pws$7A>GEm0YK-mQzx|@$KHV2(Grzq@scKT^ zE!hl|lX4)1!_XnXB=j3`@a&juW;Cd&S>}y#yrO_5zO$DJQe@reZYLT8{eH*q?`uD1 zw39ma@Y!Xf(`tY${_$%2HEp&fp)HNk5&-hY_HT^Lc8e(XALov_LSvxr9e;eXd-ab5 zI}H8d-QBzP64D+bowx3F{eKc(gI9i&UPT|(>FZG$xeS3XfaGB4&m<1M^O9xIqTSv5 zrwFZ+5W7@C&!)<%@!EayX+Erl3foiJuk%)OD zjK<91a1HZl)IJh+jE3R8h;;A#CmNuPtdMX1fd=A;A@FFkV|1I|?=<$h^Pg$#&iMI{ zsO)|3KhfzFA+GR(r0?m(|4_5q>I1go>AAK|I=26wGRJ%CdY4jL8+Z5F=(>yha2=0VTDDD;sF>R(K+#Bm$#`91bC&8D6h{uVu9%q3ioCVSAj3g;n zz2J2g3Vt^()2_NqcL=(jc)*R<+dmOEj)pzBBjk1lVuUji^EB#dZ$r=c8jk#LKXs4K zShv4yK(P_{=?rP2WV)dfb*cac-<52HW??Qcq9-7P4nP< zr}aL(-MR?4>9!078`j=&V2#$e$piWFx|PydJYh$Rs^%K=Brxjd&v>gq3nY4smK{iqmZJ}1Mm}OJGm>aH=BqawZSFw;PQb2Sn19L`@qn%n4g~FZ= zK_nD|Q;9fm1LH^|n~<=0%3M_VvZ1Hr)>_gMMY5GFnoB75ybm$uEg?@a$@>JdObci; zSdvXH(aLa=l1r9T9fE4QLYZ?FD_v6Pcv-OtimFz1jkne0D2|h$`J~$!0qPP-dR#yu z(rwumJ#MGV!vt6l!A65cvXE*NQl4gqpq%#AiGVMPGC>!?Q9`EXX;JQ|yHMmAwiy?a zcE8JM2{XYQtXMB}noN~agjdLlS%S4V)KIJ5EGQjVyrbBm9oh= zr=$}El1m^_DOJwOd|c7eUZk2f|4+^D5Hz_ZDjt`tLaMA(GnJGrFRCF?;rWV6msQo) zG&I#zgLt55KuvI$r>$ac2X6ONnTYBafPiRKMG1~*a2}r!T3rT#Ib5nESFmWbmqX)h zN%bX5ws41FvB711vgBwYPQfOobxRV4BuwWxC%8!48#zlO2-R^IRjVafbtE}wNp?ke zy>4N_jSY_VN)}mxvL>j}ZF1*kC0)|}^+H+9HAoZOp;;%nXws4ln{2kctpQn;24nH1 zEmTqv@@^fx1(Dr`BLo2fN8%V9HnSSk;Si@Aw!FhFXuOv3RB<(r^JzWG!W!hagU)fL z3qCu|LP!Z}#RSz9H2Vo3?sgT;6e;tCwCJukxLk%~@+~UcA!x&Rv*@-_DJq}vTLN?} z+6;MIW_#F#P76aq&?`wI0jC6<&>`yb_z|0wL>sR zcuCdB7j1b0smm#E(l1tIDU2n-WETuMX^Bc(Xw}8VG6iobkW&=M4-^Pa({|DpMIfZy zX`fo5k`|^zP;U8(4VE*fglsKc5bXmFd*A(&9rmL!|#f(Y-XsluiN772z00fU4zRIU(wywbF) zPKYl;C{=Ud?Mp1;Fl=C2$b>ya5*M^!B5&>xL{YQhk6Ggg2^n?J_hG0NE%C6JDWG~( z=e<%CuB$K@UKNUSrUYEJP@y{RrR5xqXi-gp8FS5^%UWGduihb;QA2SmhJd-4(j2}< z-k&GpdEN)%flMq0m3 zn|;1UgA1a(!<{gtAQR;yI1{ar|NJ+daWgfu#Rl0LjtrLoBfF%vBnTo@%zC;( zMJc3KQK@(-kuUO&4nbC7J)xit%W!dXxnfF7akPvuW;hb3<5)A#>ZFyBI3yawn*of6 z48+EQsiR!iuw=T9Y9>Q>an=S$Lcv^hcaux;0MSa>(v&LdNXwlrn~Q#DU038(xX47< zn3_v?SUV!Sz`P{ocyMYX>NV-MV20<(R5m1XiVA0y6budlY?~srU{W=eql~P&5eF@~ z{pluynY0?lmB>mW8%lVJY8p0yJjTKm0H@wa&ddr+Hz*=Eg=97H)!G> zu|z9alqp*CPQy%r>iDXdjo0EeMPtIv6qhU~^YO4H;TB>v*&*1(*|-vx^T4oii-tEC z71UHNo`7(V<_v-}E+vrU~RHO zgyjpeY|C(f7DGGWO2l5_!dxv&5?C;uDDZIE!-Q@AvPDoEU^NM&C>w|)KBne(nPdKp zDQ3jVUCTkMn&`T@UKW!E74$m97MO>_iJ&*321_-h!G-dEq9kLQHH}m-FYn9pgpbyO z{&XUlB+P^=6h(KK(g{44?kYA|@4zAfGugU8%d`d)bXiM!RIprA;h?X~w;Z*2wwASI z0x--qvJtbOrB$u!t)vAl<7(=4U%uet(=b@9)s74$Z`qU$`W=l()1PX@8fBymW7a&& zF>V`d^JKh{s^(7HBSAO9ifPc$I+hJ$6|)V(Em*+C)^gD_Z^OcZMNV`G##9@}sean) zOlHI8q9cOU^FD%YKW0=cHgFIo7T{RBka9cekl%+gG~t!`k~OIo4W?Ye;w@{YE=w6b zq9GlEU@nzxtSu zN%1H!Y-?0Lo^-{EUYO2R8qqjOz$H55bDBz7XOye3d287e=_)o_FCcL>N}weY&ekoB zh(i*sA=W}?TyZs91y;Pq#A9)z<<7?SAc8k|SC){3WI<(0g@A(UcvR07y-v=R?T+QD zYHkGcb|Ejj@@6#eCgScEjBz$s!RkxbElq|X9VT~%&e(jVrj4_6ilBM(q!RE+RV-(* zwiqpw@Dx~6+1_n3Q%D!^Vl-Ped8J4gckrN#IVA{2u~hS?(zZr{X{C!;vYbGHaD{}4 zs8F~YGX;4&t2iQDPPKVcH8=?J@p2s*h7sOdw0gl@VMeV4O-tawAOcOvVvgn*Q6+>( zq%KFXiVP-7&JJB!7o_K|_AxT7Qg@v{`Lg&+{2berz2zLW>vEo7+^>CfS3^nh~RXQA!kQJCt zQpyG;;}w&>n^?JGZ9;g>Toc+x7?G>gQB`i*vV5}{^!t-$Sk%OfC5h`ii&GS%m^{D> zpt_396N9ZID7VmJ<`vRwJEk#nH6TU=cMJP9(Xchotj1MDt3# zPjO@$s#})~o0xHh8)7*eEJZ_6JX@{Vy9Bc)EaPHT0}7ame9IY&rI0L|(p*fIXHm@` zDuVVj^F?3Mo^{Y3J0iG303FRCrCQveyf_U2UPq#ob@`%3*We5m>O|DyZJ2@i>ott1 zfFu~Ftp(;gwMuFNIDe>a@x%(jh9lyYo0Y2Kv;oD+rz{TE;nMB0E>jE#6v3C!x*VFr zY|cz;b^$e@h@^q@w-u*c*Q#MK@4HM=R4X^)K_pPo0udU4P|V5$)mB-)mCj}DB?ir_ zHCx!LG%S9->)z_#oDYr>wCeFjnJB3RO4$$+D%MpIGg44FCsq_+tme0w6W)-X^wiBs zXG%s~b|*Og2nps4I%r`@BOP|s<#eZ0XeybGMa(tQEILKtR5Tm}L&+f*&2UhT=1Y=J z#PXO%uwe(zhFhdRS4Je+ABQ}QGe-Cu@o1#Laj^>OZ*<)X4_4sQY=f)CFh3N)>v=B7 z=!Uzjw|p5D<{M31hs7us@Jb#oE+&gM@TPDH;Sx&Fl-5+mq}igLq&br-=evs(o^diB zTbPRSc6%D59oag^Vz4>J6{%EE%Olxf1oPTGvH|9J7|Vr$!>;Qr3~i>W(OC^8Pb=!l6C+lx3z4c9zTXToWf&{|iq6D2S%IUyWQ8-fPABf#=6349(nm30`%t(gX$RS46V zT@5Ri5Lg{DE-O-sRg_@HNeCW?NAX8us$i#GMu#9vLS?R20c)ZKXf~3z$WYbqFj9%A z-4#uw?Aa1V<-!)fA5E&29Pkdpx-VC2)M}7k5>$xbM4#Dh#843K?m9lv2A3DqX4syo zV)>HSQgqO$T5E7AA689(CrjzN2{;YFjZjKZu809UrkJfMX<(8;hU#%PKp0lg2ebu)Ev@d*)2p;n%m$1~M#}*dilUz-d74G?4)L)-lD_Mj@1V&55{OG6v-7>8cG}VxmqmuV!2@R}(NQXjE%4 zf`e=%T!AFP0CS?qR)F;Yk|CoCSrEfW$jQ@|Moui7EeSBLA6ocZ zSD~m^1S;bv(hwddl`ya-^#XWZ%;^QMb912Y!0WKi>vFETp3XvS!H{Le6{4~pE*62i zAO>9kla21K(k6pSXw9(AAr_-4#*rqyv{ZCJJC!$?8>Xe8vM@{b12Vy0Z~r_`$I# zNxEgD5c4XOfig@a*s}3u3JFY8t5U-fmi@kfD`~Id zN({CO0a#>8xG!a@7{Ck<6%Eu?;)GbXqUk|MARXZ3FfIm@G=c?rQ_u<4)UFqhuIDOH zR@3dUDidLWGy~_AHEH#{-5$#z;d)60<{^rbc~%O8#ZgYfzL?OS&SSQk(=gd%X~jW; zXJRD-?Qj@kWsIUT^{5`Ua^WI?P*ks_5ab(5mG+@g;2iQoF=cV7L_(;=(m4%ukmhLk zEv%McG(YC81q@3t*N7@uyhG4s(9uS=>ERGDTGP`GkuRtgkLY$0G!M2-n=8DOibVJ- z=&CvsZB|fAF{*G*mXM+aZ(PeKc@QD0Itv_~?hd`C)tZ5;PQ{>$tk+)AqZvksDlw{F z^`Lqy&=N&NZ9sg;3Q(dLmMB=DtWrZv9$=ElX*L_uwQ5T=6x1UYyS!`$kOa~84Gk22obt$hPz;OI@_tWJM@s>tmT6cz1U&$^ba@1K02mOAUjTqdsitSEl!^3^ekz-RnL1K# z5=u^Kmg4bH%8RqQ)(H7nHST6@Y*>#0V9g$@QE{p3RwR-Y(V*-?oUxT*6U|wzIKvrM zI7(-TNIqqTxR|S04$D-nY67r=8PW=j(yA*Brzvb_vc9w_lQYpu&{`^nIviFEr-syg z!621lg&GN_DN&RRz(~@`sjZ-=;VEE+IzXVy*)+fo&{mzv$NfAi_+=XtXjV195kZs) z5VWJaNat&k4DoWCUZ1WK_TAVVsfIap-8d@)w`Gjt+3fdN=qs{V=@9B#TJwS!d0lpB{%J5 zf^JAlvQ$G!mVtyVUaAPSQJ+sCSG-0D_5$rhWhQ69fsAxotuEf_SUHMoko2#f)r2Zo?Fd|Y?M zl1-ZPm|1hh)8sn@GZh-K1gaIGfNRxw!A|E1V6*`vI#N~Q4J6HQ)oeiY*`m6&T+N2X z43P`ih(c1qBVH~=q-2Xq7vteP!N$5qJMU=nF)(_{e%1&|7~^8pCYddlL~pB64O^v< zr3i2}0D%Nk23dDSy0y83LR)cKge9m8I+jMlTSaP~F$4!64Gn zwM_G7Yp!N)K#i`wsh3O^KVmY2NmuCFq%offbGJvSVYUIFlIZ%&u?R*WY_!A$!-nRF zAORAr7uG5`vX`j^f{ft=3uzRwFnL%>`O~=?l@92@u!uE0MI;aqYDO)V@yAfLRExkJ z88)~Q0F${i0OWlEvz7q!ea){pcn~cp0UOg+!YoZbQt(N-i#Jh8JHVEjSP+9OnjH&D zW(ZB-Qmj%+3vOE%y2mpjBtjLR2`n0lEp5-&5@ws-5A+moyBii@iSjgMSDSuA5gR!M zGf0FrJgu}5cGY|tkG)9(Fj+Fua;mE~725C2#cfr+UiHVbcvH;yN?9)viRzI^RFEPy zuWqN2tfDFYl&k2YT7=gf$)R|Ib6EgV(KI_mNx^u;DLT8sR?bK=Xs(PAA_|P0x|ueZ zM6Mb$w`xSHY>vuJCSB!&-nfe80!++as#9K?;Oqd~5>u&QjImh3GRvXPCR^DZ|0)XkVY!F@$tJ#f;r~u+D0HYcPP7w%k+rZ+Wr0ay0Z^*pv#KdffGy~{qZ=;CQ zd0K20abVLbvNM*`0EFE}fs>t~2b>gAfD^5JnitY#6A}ugW0hLLW|pyN)9KGegG7yj z(NfaM5Uigm5rUa;leM5%wH1|+$Rv!a&}#bqZZFxL912yc#l)jYFj?A-hMz`4Tvn=6 zOtBUs;JP!FO0rIOsAY?)buOYfDQk`J)+{JXCRhkeCuu$(&M>^)2~w}*4u@3L2Ujrw z6xV(Bm>vXBa}rkRa5)jxBp;U#Wko8^!o^|^W=rV|LAgmZY#<;|m|zW}0Ncz`jjLMi z_9hnS8tp;I?GDmzJkD#ax`x|Sn^ZCZST=745m7G}^I8ypGnI~tbxW>dc0hO`93X^p z5;ju-%}-`HfJXy`D`AYKyXujOsA1JWMp6)4v1G1O=}H{Myz!D8E(Afq(r`l(2uiRO z4Qu0c3J?vibJ<1(s>C!f!dzemz;R&9W?Wsx_Q{lk=TM=D`s%>_2ObS0VtGT0K^(A^ z;&d&n*i1T>tC5J}0FLGE!C1s%Ae08$!1V(qau-#i8K6VDo~Z;xnVbGWyj8@4gtiT0^Osa+vrcJsLq^MNaK1`++DN}?ad?}o9a+U;?l_fRAR6z76 zio*VuO>iW`fmowZR{T_&@!0XSq{VB%$t=eUlvOiQnv{(qw3};nL0#ZD1tplO)I!R2I$31W|IykhFGJ~&_U8tDN|!ziiL`XeYg|{wz3xlZT;qO%NNxA4OtA^ zIx_Szw2LRoX~9}eYQ>aGA>AIQ$RZ{XN#(OPg3SSAP#2IKVn{@UE?YA$&0Fwc4I~JD z1IQ9*j#rS71Blz{R+fTWd?1Q)HQLl(snMkHWzsKp}Zws>WWVc{h(ufpY` z6qnrzcc|zjB3abs7K)S~YPPI=O-}7bIJKsvc!UW@+4T#e+Fg2FsTm z^ucDA6ZMChm0}6U!Z2#25eg)@=`OWgu7?3kcxJ^>_Ma5vm>vYnh%6FTbP6|a|3;4|O zl8sB*xMb8!l$E$y00Y;>J0f;))eKLLkCUY1IM^ zivhD77xW4R?Cf&Mnb^H9bM-o91`C9@CWHZmVK^jP!kW-ic8ATUh7nBR46aIe;7l{> zPd7mH7MMl2%O3U05KDt_3Wy9yWS+K&AXeAuWxv#-!pSh*5KBBs(PWOM9a=2lL8EeA zwVMFeaQuTuAHr53MGm++GE~xPzMPI`gEdaK+pHc>D=H+3dZdPn8f#z` zOhh^Ge8ZY>r~uV9m&^tVvQX+x2tc~31H|J2e3(=bYcwpOal~vAEY=!ZqbxORHB%5%-B4z= z)I>2swWo2r3Ap;Ttl5?zj9|K%w`7_@uc;ntfvho-v||lHWlV`YT`rpva5>)0MH>N~ z_B0)?i0;aO^iZ|aWD>aB-YUieM?J>rw4Qg=Oe|QBJ#;#1wWgvjKggxAhS`+pmKq7L zn^?~kd=>z+lmUjNF!gAx&O{ik1rWaOSSD+N<|=|L20?Yg{-!49gjlS_r_-hql_^F; zxmd78Bc^~u$b+nzhOY)Ny9y6r8?C^#GZQ(0@_<}M2Jtgp8HN$CaiXGn$cj-W{ZXC4 znP3AG3&8YG*1%fp4OCgUNyGpqp5g%-WFq)b5Gsam1HOS6_0k_m6Q)8sk` zx_h%$5Ts?`QpUo|Ak~#u%#Iio;8mrPqr_@YXGiNjqNcXWC+hF`;6_vp*5hCwtyUv)? zq1*h{ya9kn7$j91?rf}Vtwg$swH1j@!Xu8tGD;R)C=KbvVWZgZ^?|N4qF7+r()gL6RXT z(y5>XuzVsl^LXmYu;@#TNs9WkaOqS3-XG2_U= zXby$Zk(dKBgDpI8izFS^ZuQc>?NSbVN|{cCc5hNg&7eAjZfH5a+{bZB zVq$0DPE zjO{nT#to~worwymjUvX$(UjdS4GQ>^r;Qq)9T%wdu?+$nD3bYLlo&YB6bgNRJKK7&{yCjp-8(*|pQi zQNHTn9Go5O88d3gu)HU#L6T{Be8e#IboX#xu#Tx#{fSZb0yJ)5g4Qxg1+JJ9(is(Y zcxY%JX~IBTuwqJ`0brJiy1l4RoRk1SManT4L;2Ir?o`Ft-EBZE+GR01Cyni{kMVy| z4ja_?ZI`J5MWP9Cddu!I|KPBS--_w~pA;ef{g{9~rS$(=t!Gd_2kVv<3AjLYAW&up zlo$ad{!nKhT;E+V`}d+Doh!SA;_Q|KcFAQ$t^gMaR0RHAPJ51F-CduqyK*7kw+hS=`|MiL~qlJJ$mljbDv)O_S$d%-UsZr&%u_SJ$n6ZpMCosf$WDz_#^wP=b3vS zb_nSXBbN#?+6!?z5^Rw$)2`jq!H2cY4mga*a ztw%gkp8ek1^;?tkz#r{nu3rJi!1v8B9d^jh4}Uy*-`xjagJaB>pWpwoZ&dEcIn$^c zlV`s>OWrnndGny@ormakM*>C%KD(RUqmO!aT4dPZVb?K({nNnlzcazPzu=VQ_9?&z z-T1(U`IDD7SMB`R+rKk&0B-7AKy7(NdiioJf$v{~%UBXXG= zm)N(O?h{?77B?Mmat}ac_$>TwaZkG)fL(IntU+_9 z3^?(Y)~`e7y+RI}vHhZNE?#~1&I`WY_x@(*2I$oPP{NT1Hi(m#SLf_pseRU#>cIO@ z*QxE}jQ5E64*p^+-hS&5`~I!pXle&>@2f8gUnZdOSD($kJaE>)8_v!=a=Q1ca}PhF zdo*^3@8l!P&w8mo^ROE(6@KUV-tdMA`(NOkW=tc~XJyV=I^~yrX6;y!cowv98rkaA z)`X5e0BQHXeTJDDH1KKjlUdgi3V z%!?O%HvP4W;YTLke%gVr?)WA4_2`oZPrNGg#RC`Jp6dPHt^JPJ)#F~r7izf~e*dj6 zr~h!nh5PU1w)73i_pEDN^0)B~w!C>3w_xt&AB;&JwyVdyL9qw#Eg|BG$*+|G+wNXO z_Dlf5fG+DChW)Jy5d?ff@RJat^3S1!74eQ~N-zF_5wQ?}j1eRtCJ!mVy@>+#RZ@2}Z3 z?~LvI!k~5aWMtEEzplILnT7U6j)l_|7+)U-a{LT58vHn%k8N3ZA&}&})XuF#9@%Hp zZ8HY0`G&iD%RAna_Ddet<81ND_jiout~hyu<+!=uJ^1nmZ}GqOD}Ast``L}>Z5gxf z+aDM79{*ymW3G>{pIm1$(n%xwy?2d`{yzNe#!FAOPVbKP|HajJhBeiH%LV~a5m2$x zf`Xznr6VmODk4?s9bTk&>0lCyfYeZ=gF)#KLhsUhuL+&dOG1ZG0tq+1=iK{0=YHT@ zo`+=bwPwwlnf=@U7MDa(DzSWvxCCU+{q|q&L%zro{6Zc^&GVMqdJ5zkP2d{i#k&+i z+5hg|6dmgEVz5#cl{V*Xm2GmWUzi~@m=QcDrVLk7aJ3qhv|1B@Co!qDk(TC z`$%ZE$(wB^)t0;M;^k!T*o=v3h=$TQv^^uo435wi=x0l_$LkuzNDfP3zr=u8}nhT@o+7b)POcHwr=(y2k^Us;h+Oj7qKCk5ZW z75x0;gF>kJZF0NBG!A=PVZB-(42qOl`=pAzkYuQLv?Qvv+| zyk24aPY3-%*@D-Y?>6SRrReX;U>0l7_8zDz-A55w+=a!?SkX`9JVy3bI9Bp|#u8bw zj>1C^?O~QtoE+NdGVJ-DCB7}A3dh%a+QYPijluLj-6RZ#kZu(`*bRo>fElCde~=t_ zWf*LOm#GbNxY+iDC&poqsxJVD#9-!p=_a}7m(b@bk>{_GoeowWq5r7`&21sm{o%Kq zF|WHI|J7D`T&lpi@AmB99(=rhHTH>qqc$O4IU!szt+u#zqif7Qf@{92uOk)t2{F@< zHRfE<#aHaX_UCus#iAx#;w@XOV)nJ9WIZFjlb#bg#dK(^po>vDCV|A{+VEU+c}yJHQQ!Y+osO!F(cbDJo$~MVW9k-t{PtB z0z<_|C1#asSE6{iJZ31q(f=BDDQ0dM0%~;Twz30Xj&V~f0+~6uhqWZ>;@MhT+fMi_ zz@M-xcC|f;P}c;;6KZ`i?6G>QX-VH*^sE6kyy<}IQrYbf3h6O`TME83f|UZKJiPt{ z+m1@em}rZ~*H+nY%nb;9DAL?0%G1lw?0PX&XJ5vYCht&cJ4xTJYXUpx9{i%~@{{X+ z^JVdsTqvWWAI+v_R<;#vdF&T}WD1b?;|qX>L_IIRWzJWKEsI>^hHnXx8SE%$dUtzr zBbt6j>CGK9*l?Xyj#7MidDB)}aKbjTo1?eeab*m*$Dj3$MqfX1#53WNh=F0FrbN4D zZGXj|7YeqloSnYxyuOvrkbJyBa(m?UbV)TnE|1f~%Q7|(fLh-5cSU|il}iN$qs`Od zbBPb-at~QZY400|k%*`f9R+{SBnr#Se+fpZM5SDQ|F2CM>?_ZcZTNgWb)@-W#gdlZ z(88`0e6i-Zykfv~B{N`O2TiHj=3&| zC#J;kEpN!nv5$jHdlW{Wlk}U?| zKk?CZ9})7`vgO}l6X#O|e(Hgw1AHJyAAWnW?@MwfJ-!{Iax=fXE9bO;WsqG7+_NI> zB9N?GIlM}~GsA(uR1I3c(oz;kFTX#((^KlaO|t1|>|%v1zadW=a@T;&!`2&_hrJj1vREikG%`imzfr)f~? zK63Z`Mby6o%3vMs4OR(Q+-h9AgqlE_{T?Ri7rSRpKw07Kt~g4ZIW(iQs;MStm4Za8 zpItV(ak9Bv*!W!ss8=|fq->aEa6SW_$RiqG0OHn3<3z;-EC0Se{paqId}c_?5yZ_$ zQnAZJec?V&%ho4GMh}dyuqfjHsh#OS21ew8c0m zC_>2-{@5C6JH^(*GJe%IDBZuh2mzK()ICrOEu!9Hy9{pr{3Cu4CH2mD%+LjYe`{v= z{I>~s3Rxy8h+xqdL{gO&bBe_%_)_K9b0HV;uaC6Gwe7v*WjJ9ssXr0cE&z{F7XUU4 zApy~tFD;Pt@_B!`qQLh%k?m``q%K2kHSB#N=)vSms!b}uWhCbj1#OnwSED?|!p@nI z){4!qGz|1tSIohdZAEOGkkXFc^$P!0(t&I|e7@Y<(YOh#mF#>RM(Gi?$3*@icYc|N z=U3?*TsPr&-oNyrwF(!kc&ECgvVM5WVThB6W58B&2-cPvn#2!{+CiV*U_ObPGGEaQ ziLg*E+ZdZ2h=hEAeIPW4jBUE{+U8eeIN2`ENTsI}?Joc^4CiJb?nQE4x^8e89IHdl zanKk!$b4NN}rv2&(LtvOOeH){4O13(a@C67qk! zR;uZ@Q|>%21=@#ay5(PXy7IHN3H-D!E>pZDi)ifhDswBe-1QZXXmm!%fGhS=QivS7?B!ofH13ilrRE~AHnqallwDAg|R@xjiu*} zV7JxzI6!_8i5fQ&u1)_sVYVxX{D^Ye9))Iq1yUGLi7US6XtViCiytmGn$t@U1gsVx z)c$0nlx|{n7!-KLlS0c1g&D!b?9z_kjqBVgfd7K9_ zJl22diizy4>#!SXoUw(xT3cBGZK`wR=^3Mg(b)zl2EU;FK&7rIC%+ryP@a;&~pg2C1v%N{#_h`SIgnm{2Un*3n*u} z%$jcA-Yh#wbEZg!7cW!^9ISJkJ2CR>2n)njrg&E>aIH6*oCv?(kSUnLNhr#N6C7P= zTH%ZN#4je|)khxofo039gS!Sv3J&0pJ;>CvXI|5|(g)HrqXNhLm4s(qd1G_U=8iX3 ze_rc=qHOZ2KfBHZFX~}3viFJ{ofk~Orj7=MeMNbbSd@_Z1i%!;E^>kl#-_=pF;&sq z`OH8ErY`_sZSRB+?N~c=FUc_5$NhAiHg6st&V>bz0?qaU{E7iv16+}}WlDX$*))!< zI2Kt@{X|tV_za$_UjTTt4aXXnH;YbEK-dolCf8L>d!`6EaYi6by5g;S#pn^w*@vw= zfm73(9$MH!EAZd1dWDAxlRwc{Q+0R-54OEt4)dfrduv8Cu{6v>6y@sick&-e`(939 znDZ4mL1_HDM=sN;QhYgT94px&t}!0Rp}}vvllM!mqOvN>y@0lj?0Uq1>TSywM^9fj zW9^dl_D+M1{d6XgATuxE{0!^9%;@<&p`;%oDDzvmO?dxik=bxZ*t<}zKoRHP^_m}a zD;U*zDYbl9cO@#cO^?oR|97*w(S{33eYm7BqOk=zj-9S*mKB^Sxd4>ZUgerjNZLNQ zB^_|aF;gS>TjPVDd`2Gry78(YuL&?k5ObguSQdyM&DFrDJ_~r5llZXl(4@l1QkVR? zkZhypzYk8gtc&(?RR26729B1l%t}fJc@{33ohfmWr;#R-P=m^knF`!u-Ee{uSy@lG z?`qofPujBTH@eN26WiZPxNfw#{=k*?^r0797f0lmwVz=pfMHSDGXL=(Gft5jHd zo>Xc(m$Z5Nc8p9&c*xM^clA20NA|eG+{HbPeqwfbIIvkY+Mf-vddDbz0G&(7t)=YX zd97eALbJRoG`+)nysf5;&h7+$N1hSqBzk#ewBp+ZK)h9e_!F05n|u^p94yjwx7tZ| zyWnTe=(KH~`&;{xVB6$1`v79D*8L+LF@ff#_RO0n4=twGO)(w>iJ65x%C~*sPlW?m z2I%UzEmgjAQDmoG#B^rc3B&D^dfS}O zE8!AzU=OKc;c~2e;;^glyMWTaE9E^RAXcD@hIFw{j9w)z>jnV z=i6OA8*QIsxZ~2WU-&=fvnll8E>sf}?aazSQg6EegxhS7!?&*w&UxBT!@BqDDV)Gx zax_t;deE0=oz1OZHe~YAtFBS1CyFc!y97|PCSiG3prl|MN88wc^8x@d_@!Wd$RA<( zspLp>De@`b!>wCeogbOLFWBMfi^d3iai}Qf6wQcuJ^AbnmH_79`JzKeg}i3rN`#2M zfg>VmXjgWa7N>l@D#Kun!R>94>8>En@-wier^lOghQ8<4Cp%mx=|oHHMDugbv~zwUHR3Rt1MnT^~}g<=N4QMZ4T zKX1qHu{Ws`nicss9z1Mu7xPi|b13j9-_Fs@fF#SD5Zkk$C>gG|1AOrOmomY6h2L7g zFkxXGVq$wXTM}_Tdn`W1!PEh<#(8hUw`F19$9QRk(8wO>NJ$^?mULt2{C3GP$kDW? z3?|RS$Ng;SZHDp(ya-R6RyZLrP9o#9g{HH#+loEPRq94Ic@U9lbZq*J8)Y*c=ejP# z)NDoqy}haQ=@prYXZ{uV97ftZ6I&fw71C#^#9AwMI&uA32Iyw0;rZq{=hpdM z6)4IsrKsvr-PEz(np8!rokC&~&%<~(dRW@VHeYF}m=-IalSFfb2yGsr(<5tyKY}h0 z0TklerH$V(G}=zYv1;0tp?tSSB|K#h3_U$4hI z#A5m?uWj=qd9e73j3oK6D`SWIwpLR(S?kA{etj`t?@8kY1ER-MY%30R&J+#^9D835 zUy!$@CqAwB*Xn}&mv)(uqP?v4ktG;~rb4)L4e?!9Yk?|k_qL1epZX5_Qa@_GefcpcCWOzHTlT8=G!HCzoCLSZ9~n<{3)gm0J_`>U|@+>I$Cw3 zt4Jzf@isZB1$UnC`o~})S+JoM;7Zy4ohta~UTx6J40c5exu8hvJ!{zwFpx2;VhQMy zX3G3?|LUk;`n6#6`KtP8Ll?uwm-nO1g%8_^I1tw3lercsXUYsExdG~-oWWG{hvmEW zL2@FFd{&A*1hyjjIa<`bL2?}%k6P8!%;P)O8lKRYUW1Rb)M7U>?!!kui@zc%UUBB3 z!4_`jAhdw#70AMzQ~8gl_uS0wN~^T?cs==?_NZj#ekZ>u(bqIH7p_ue7kTW0(XhiG zNJK1!v9OX{ern661j5oHH@^mLoBer7i$V#a7Uz6#g9%N5s{RSu?TJ>9i zl)yp+CHQc$*O#SZ{>PkuCDvbP#B}I`xlV>^o05;t&&4M-mg%j1j7ipUSO&Vv-!#J| zwO_9oY*5{oin!L)Wu5bQ3z)b8{K2o7yKqe+TaNjVW+i1pa6rh%O;ye`9zt1%wA7`kdNfY)GD7V0sVq%*eP$aO(_419KF9=iZ_3l9m3({tk$@W`Dr zY$5(#ZhOP%>Ct6az~8>c~g8bjB=l%|Y$s~cB&<%JhU%-?&% z@7AbCNcVC+>;fh0nS2$|%q<xZc5C)^ZJnmh*^Gi7Q4S9( zc-OEPuYKT3d8#ckTH@WBc#ce+euW5{AQ;Gw>l`H+g$zMZXB-bE9o-UYQhu&sw-neP z?9$3|Zg5N6TmTd)=3T6>1Ep2x?~xJXKO7^jkF6lVe_SvvD^gHzj~#fEiU)X*kS9A* z@3SQV9nsa2K9WXDZTob)z(RNw8g(UNd2DI2-M`Q1eeR6R^#Xf<_=C+ROAsC-Q&%`W zZ9eqt-EY*9h~%UDUD_#-Ed1xztKFe*viOXAO0H3lXloL+R#BlPD#^mcNmLKu$uae6 zUOuK6QtqY;ABOQ|gSZREBnBMS%xwRZ3*5c1fyahHV~pNwP4R zRJ9z`UM?`OXUz@~%(n!aV_({d2v>&A{yJQ9W^({Ff6o08hoCP=84V-#><)i+u=Qnc zkv7(qsMl`T(I3NKudNEPNVcMq@768DC8)bxvDYZ+Jn(gf)%V`x;^N>QH;y_mk6h{8 zXP{zNeD9(_^?=GsR$m9MUz;r{$2S=@d^$)axnq4R%wyc(SoB$TZTI;SKP;$#fs2QO ze+i--)XUlnTV|tpb?XXyGn4;ID!x9)LZV7?E1$hblkf2*)`KaNbUYAIFE5iJS2?O! z?qZwdw96Tj?@G!^8b!G588QEnn|j6G$#lmWu0yC3G>pbM@cUxBj$V;e9b+nYkcRIo zsWr;s1Hr)7FXUH$cK21!#+sJ4X8r{10<3P3LEm+Q7gF^ZV+gID1l@zySmYSN@KCNT zY392v=FKTAUne(7*W%qEKQ#kNB!dSv1JFFvK6Wh9WN}AY&-ZvZiiS_5`n0&~oF(|J z%m<=~7f*#&p+NENnAg2UV9sOH=-usHaut!a2LPDILbG5u*=^5CjY7FaNQk12y&t_qGt~IDbRL7p?TDfbhopbGT!`1VMY|5BFtHr=?v8S*5 z>hKuEXF9okN@(dQFpAF+dGDRb?SUdMFCgkK8-BYktZpoacQ7+x#p-$ZE>Nmm08nH^ z(c;E?*BQwl*!x@n=o*igjSI&e29bFqwViW|AI1mB@H1TG|I8dJ)&%;I4^+24{yZm7 zfuLF9B)!UYdp<5x+)$G1)}Q;8`8tW#5(ln(!JTW3)$NRxCE;`MY%s;&-qDxOj5hY| zUO-;g-s~aEdnQEFMmPKreO#4Ga7yDuDP!h;L_a}=|Mp5_xSz#x{{Ez-{xqBHppxA? z@qd*hvZ0soGR?6d!S>9-Z`a}b)p2t?kPCA6oxo}VWoPr!*;KiAy|cMHWOoW;yrU!i zPyNI%BF+iK@w?SW+Q9a~Y+xk=A@)?mI?ph_!lCk&x&kM`$x{O8r#px!**4uYrTcfj z{NR5vB&EifnXf}$>bE~CRVMFDvR=Vl0Bp)k%GsI*23rhj{vmVFkdNGtU%a^{tMrJP zom?wXS2=CXBmLSm$Yh4|e#Y34#f1RqVVr-%Lm>uq= zw3_z0XYqzGJg>{S>U>R6VWLMp%3L4|RZ$1L|~j#!*ltH6Xj|J zBnNf9yRoezV1=JYjGbi=;b3~c>D#(%J$-r!O~APRGptQeq=g;5fnwrd1%>x#8OJ3Q zN=J!lpq&CnEXrcLc$)Pz0vx>bw=CWfX5BZj`CEoA2hO0G3Kx(%pe-j#homLi!J}{}M%#So=^5y4Ye8e?I53R3wqLM7 zHo>Drr0BJQab8{Bl}o4FoL|L({NuP>(PtL`|B58MYSyx-6@7=-`D)B6*#%iFDTQR?xtEtF z4VPNnCAZz-pTK8+y0HAkp5tI-QgYb z8x;j1(Ln0d+y0MlH=HFY%EWe2xFKzy{VFeeSAN-V`G(q;%}E8;*>n<*wD~I7w5_Gr zoe$x~8{)$r@#gs9XE##b=z(*A!&BmuQ!n1BdB7qB!efkWH-ame{iZ8&xd5;>Hs74R z3!6e5}Qs zPMKL~Os=t7eWbg8FU#WBWB`fU^iUP;z2#oLQGb+l8hujGXuzKu?k&Ii;?D)Zs*{Mf z79&#=VC_2)kq2~;m4uf`o7BArSuxF6T)F@x=GS}HJui}pxA72+KX(QGDEeSa$#j2~ z5@2;g_t*2(sO^yd<@fnM7@pxc2ygzf@UQ(x&P@C@_mpD(yB7bKZ?08bYXO1mlzy_m zPEd&goYr2_trr4OI!-bQEA38O6&muASL z+d_uHcE(Kdl4CEi<&!0BvCgB^l>jd)gS@wBih6!bF`&% z3eu|W5CEl%y?}t6Zhu;sQhBhh~yftXLSkPHyH8R$&_z%GN9Jz~x#fwu-01L^Lwh$;ykZQ=rH_+fX7A zcBjt}Z=64}ktsSP&gW!(0myu9<4vR8({1)8@#w`Xa1nc}{I@i%V>I`i1YdYAD`Mgb zYvRZqXx`ygbL9lO_n)uHG{=a6Xx%;n%4pZE%Po?ovcY+NxO)D~ z`W6(ibHrQx*Tnk|+zL?9$pUYZi+z7Pk<1gnzImdg{$45iqmt{;`q$AX%Cmx>Lqi@h zx+^~v{%)8v)_BT2c(Mi^tB}W4ou|oO0D^#cegh}=9L3&R$aPkRWY?^}YEzm-D^7H$ z=T0QI-PeKqP_mpTl(9@K$XdkAqRJ%+{YUUN-oAXIRLX-1@#tL%qz{f--vPPMI$eIQ zPr^s4mp>A|+xf_IGrV`lakyk@RWtP93l0A)(e!Dn#NdFLYRl^s7bY)LASJ0?bQyL2 zYo9!|8IKaGtJY&VR`YA>4CMVkZ*VERUX$Z!r{I)Kql;Xj5Udz|(J-CdqY?)L=QKyG z?JOAJlymZygUTMqN#vQ?_!uzDs4R7VUOrUGiX1uCtPeQAJ#0NgC!oRy;zBgTyUK;0 ztjQ%GB~FPm-l#0~27c(f)U1}*`O*GHCwNQNQVDw!^CKi#JBci0Z%#Nc0gAd_X$y1VW227;p6%+^7>Y?U5Z>~e5Vx+JO+V%Pbj|cV z4^db&!@{<$>_I6_*lfn@-)k=i_?;8PV^otA-d}o8`N@^C-z{5{X|3nv;IUnTVOS)Ysras@yJvrC(Tfj7P4%iwzY!dgp`4Dh8m%8R4UY_8& zd94d@g^8l+uNLrw^4A#K>-fujygs&B5y)c2UOjejkDDutgm-Ig#iw4QaT+v-!`hd< zd94^(i4USvQ#Rlt0xxyva`l;=TV=yIn5(+_eC+kV!Kuuce-nElVG$0Ro4(JeYXsT)JJ- zm|~O;=6}IQ1%zKh@w-r{Y9rn40zWK>@72$4f`2#w~fD$38-aaQpYieyp2r4%HVszwj1S(7%gSG>*o7x!|5|3QBvqz z3M2e<)-L4$g%j#NebdVE2`?|MosSBfWN$Ps7VFyk^ojD_L}0h)4CsLtp~A<}_Uzv+ z_e+sF;18XRlSgmBskU(8Ax3d4&by@4XHPnQ;GMFV&Zc(p8&TpM!3M5G9D{GM?h2jWZqlQ?REeg8O&wpQEJdu|6))evQDjMfdiypR{4T92E;Y+O z*6Va|CH6cPoM|=PAaY_dzLdScvn@a;A!r!^?#*s#ZZEj}$D$%ZYk2z!8_QBb+5t~| zk5eO}A@T=gP*FN_oX>jtFpW~hRTc95(<8yB87~_iXSjX^XK5ZfJ##HyajpBRV^|8k z?d>8{tW5-R0dtF;#&1k>ko>DL2t+2uSjqD?50A}RWH|mtYHf(YPOM3Gqfya_oZ&_XF zavaq8+MKsst^n7rUX!QISc~X4*BV?yzXJKN=f8w%3COV!_}uhmId#m_8N}lTDHe*7 zqqNIllY7=JOj4xyy;aC}5FnRJ4@`S+yzj2K;!|cAzEQ+sZo_@9b^jNl5%EAKl6u#q zvWju<5%Z}w2VR}E(!$VeiUqBG<4uS&aHf{oTUDuQV@bQny^1{HGiZT0+o>LB=cJ4` z)nZM;mn*EnMwzIQr_t1BKcVGH5L!5))ocr=V*YvC#M~Z6_7=4N>DV;WJxgb(eoYQY z{!K3$wG`Q#uO;m5Uh7ey+Tblhywrc{Af#G5$`9-Y&S}e}l4F$rPiO1(z}5p&_8A`W zI1)dSXcZ9_AO>o*c2?xWa2cxOvv^08SkwwG5EC5rj$GN;XFh3-z%uQg;RNVc`C%GBPHh@-l7CFiv;NTF97>sF~d0>_Hi z*$)6>CFDN9#(C_Dax{3H9dNH)??+d(J0pGO-W}hQzolRZA3HZSRw8>vY2a_M%NQ#X z_aK_ZC?o0njNMa;ZK7~m!*J8t5Tww=jsItFZtwJZ467RbER7+inGvVVSC(P0)c>}~ zvBRD8y5^@}Y_zd@dse)-22Q#!?YcjGSiLToC$CEAxoD2KWB$n0G$;|{5U_Y1QG|Ty zRzLR73;!cV^XREJ!u%38sZZmY39O z?G4io$grQvZ+sWBGg>|h38a3pd%o&=;tq?s+OB-0Vc~Ft_qg2Sd>-+c6!k)S`4!d6 z-?G5wN8^8X=p;R9=6|m`m^y}%9mNes0GwJQNoX-9a3H8N6sdm4GJAnoCGdll2ZgS7 zH*@ni<~srxSwW3v=j(v%-1QiWwsgq}b(=W0n?X={`p(k9k^k=l~l7DcRbldR8XL zo=unvd0VP=ILz>_*|BIw4U@eyar-ZpYj`{34V~9V$7Qz@phHgZc1B>K>r7JN;GtnN za`!%DF?lX{^tnvIeOs?FUG?vz-7@dd{atH^=Toy_4}V%V^fuki)7JKXs9my$roYG` zM)GA#TbF0m1fRRV-Kn4X)8|Rwe4UFnZ$o^Ekpk&4T6P$DO1ydeEcVF<%Ns)mo=kDQ zVCyc9>B4glC`QvbU&OwxVSC5ZvHLf4r`PKXNUsnx*8X3vMQ>y1^EVj7Yz&OY@OQ+}_mPv12i5!ctj=(qkvFAp(|xcM-!`4|#$8B{l} z2-2s+sCZmnth@IXA*&#`8H%$|9;43kmyz_=3;lu&edI9V#xt#!;~;tiQybySzQav7 z7&D_(5;_CB@z*or63iP@Bz1`&TM+*n5VHs+K-02L6bR3!j86rYX!y`lkw?hN;G)>G z$?Fymooc3p%bU+o$gENCLZ!2JX7v^kw8!`C;h~d+3Sb${xmg^v(3c2jIhun$>LoN> z#g28FoRXP0vU&Nk_)mb~pRJiY>tywH7)#24K3XD`lEYEsP)#`gq1yy>X#D~ZW=VWc zUWehQx|lsX5>MWS@xH_Jb9E5*^{PxI`NI(xfKbPkFI;06fQ@l7#z8Uu7@R%-#!C|$ zFc*aOTL<-|uwS02AZUPgMEfUxgh8thb{M=%+mLY@dI8ACbX7wOjrV8C8Zh}E8G5`S zC-wwDiz%n~MDXLJj~OH`()mgr{y9mpjPw%o_bPN}o#^zj)b0-N@j2;|h3JeIwLYc! ze3uMMZ_8B!OSG%6Hg+v zDA=z`P~`E1Hok=QR-%O~kX|nASgLgdeeN2}rOEk*ksf6Rq5DNZfzoMUfxMb|Tw_{k_rsTtZ^!J8`KK;SWAn?gXW=3b9eJZPq=|gaptA z`38l&h7=|G|0AEA6V+d-YH1S`<0?4|5NoG?Y`8tM2w9Z*|!!7{( zJ4ya$#lW+88u__vRqy0AEDGIp`$%%W9=lIl5hJZtPYMKP&$GMEhCN(ohWoV{mzWz_ z)$G<$!rN^nCj%q}PKXANfOq0eADcl0#I|YnxSCsQX&$}Rk{X%hNchkj27Rg}P)exy z42Daju0k^^?;nuJpkvJHhKH)O)WYtS9fqH^aa4ga+$hQ?HOo%peHmtUZ`-X`M^K-@ zAj~xw^+?Qt#XY__aMA;MaD2+r)HDlwe5CL-3S+Oc=StTXXIiUILZ>_Dw7i{=u6^op zi9KEMl(mCc*v^9MDg8pgqS~FWI8*TOo$`5daBusr?4#;@Fvk}=v)I*G7d9VKXk^~n#DwvIM&HGpq!GMJ&p z!L0!)VNS>Aa8?+tBXwn^b4RBduIC+6fhY;D^YOhTnx^EgpQc)9cG$~f-sjTq3;%3= zSu!eE8|@HnDOy`Le*{07eak=-sN-EvPSHTR z-^redBt7;oMOR;It?++CyisS`qX;ToA;NE<=i%9#F7KwM*$=vh4RC|D z-kN8P;+Lxy-)lhfmnk(T+OXraOj41-`+RIgen;nG8l!iGcMunVr|zc+QowMjfP=e= zx*QvYy&V;smup}Ks`QSi0X#amKWes`_WsbJ5=F<IN!!`Fm*089ncvxpDo*u7BZ#R$Af*9&_2>#!#jw=L z>q5N#@6U^~78d4^6yHfjL&l;J_f$_FWBnwBjmJBbW46;9KlfEi_H{7YwW4lGI+JIV z&dFQTA-7&dXLzl+hxudE?t!i}K0-6dqHnNWk&3O9x7O_*QP{C1M}FRw--0M6mUil! zkqvk+&hxQPLLQfulu)1sG=mnpP&K8Y?`tT9GZrLySbtb-?()MaR5NjBu< z_;^j@o9Nva;e9hfB=?=~KfDPQedm}I1)Jiz5`8i!cAOj9nU5UE3p=g6{FS+CpZXy@ z$W2Uajax2n;RRHhWOo4o_<87O!TX9QzN(f#9gc;lD_7m1YGtAVT;f(h`LNcs9c}&& zw*6Hylb)?5;r^h%zX+(-V$n(8=YZtN>gXuSa})Cpr*CPtvbBArWA}(`t)lo#0!C{g zcak(5I;+;lrpUhWpS>+XsS};Jy4+>8>B5d8{wk$=!ZaHTH#F`$k+a}VjXAo@2KuLu z^~`7AHV%K`9&p@Fq(4vpEmqKwQ6=`^5c>QR=uxqtgoBAccI)S0$XQxGGeL%PJF}5> zPNW*v`_z5WO;q%OtOzJ$`4R`eD%F zDay{pJVTh3P{L^91>od^bk5S|k3@p9Lw@8hchPx0tV4n*gSEi56oQJaG^*Ip*m6v+ zks?2mpD)2&h_#=OUuNURE0#2MJc}PhJq(m=S(+|BHG2t}${&U$JuSF1`TPb>(V6jr9 z_$Z+1;O!-Z4Sh$Dwz>ix6X0?|G@-T?s%sxPRxZ=J2ixKKMQC-*8gYy?t_V1jH*U5h zs^(0_dW6{0^cX<>`y0vD_}f3h%a@_%Ib@jE$AO2#-hwuG`8f!`K|5U+0Bt>iS}ug^ zj9oeW$p$&;t<$JgAchZ`*ivLVW9Z=cugJ?JUURB;ZFN!gnD3lFC1^&;@l$AjMMl)+ZjEq`mfw z{Z0;({#Nw3p`W`Z|GK!ws37sn{>;2Zr4P>uJvqnpk@J7qTI#>g1h&ml_kFIzwt2GJ z39SJxud0)Ix34@dTYfEFZ=0<#>DF{|*ha#oSOfSxqe7g zUuZ)t1C76=e{DE9Vjx z&>8Ip{aJ<<5cTg-SE6DR^-bw*n>gR!ynMIue04*JEhD4TEMuSBP!31Wyzk8V4);Jg zWz+TMFYC{A!)HAUguxLiNOWhPz!c;f{1c(w|IC?=8eLiNHvax20Cln0yM`5KjGlz} zEnb&D0j%e*SuX&35;~n;c>~~YH>QrFx%#4Mg|N^=+y!8H z#gjWqjtEwshbe(Ar82R+%?%W9gYR|bGIwztB+J+qSfW+FuR1wxXDIxxoA@M6X_(@tbT2Gca!*_ULPnT6J*LbvaI#wmqYL$&;w2P;tjW9a$g-KeG zUOG5lhhcu^M*L8R*m#!jWt$oGc<)4A5yTc5w|(~P=?FVI!84O0Ct-^PDp_G%vJVg*dLDgLii6R_S2dJ}vuKcwh#E+I_ zh*?CCiTwjscofZ%p4mQiA--e1qcf*&&X{BcJKG;7WT~~UTMC?0m^YHM79|A?SaW%f zqRMgG4Z&W80}k?D4H}>EC*>)#=4FC+I7#pIXVp@Hd8=iIK_af_n2MZzq%F1+H3KOz zQru@FOn1I6G0hAgS5xPN;DN|F*_w*QvYL`6_<`+A)|iA0gHrGP!9brHwRjx-$i} z#QS>^hOGYnfk;2ro?HJQT+hWUEwsbuSj@L~O;DZNhV*aa=rba5HeSsg%!xb>3pEW> zD;YXgD5D-i^C+&h68qeC+ZG&`L_g!oHZHs3QvW<>Jjt-;<(Fff9qUA)-n5+L^6iv_ z_e8~KTfiFA8BAA!zLpLMX;ON0TpCTDroW;7%!Wa&_b0_nC&_>?ee$8qNLAY;io4I! zLrWI)4f4hUpXwep6QmnSI-4@veLFeo;-l#--R5vEBI_Za7qh8v*Xdz0&YCMajGB6c zR!?p|YjPmBNSs0V8_ zlX#Mb#hUBPukwk`!PN;4Qr=r42lX1*UbwC--x;{6DWsp~XLJE5r_JNCLM~Lp|8U#) zY@jayA36?apfVAl_1LT6;9JKOfiYr|vWBJOU&}vYD}@dE^kC~H`o&QFgV4-02e3hV zf^Pgm1~?858sPab?%*X|eT~zXthjXR#!uK4|2bZo|6ToOhCgexHee?YHoOhi7ODFN zjAkry)gzVTKOB~gmcE>s039l7!O@ZkkGFXP%!V!nq7+T>3G#DU_)mptFVQy(D}goX z3_H3P0Db$}6lKE#q-uNH1>g&+iyTbscBE26pJT{Si{d4py@4k~!p%cHH07Qk^ic*X zq!+h?u%Ro={ran*v~pR1mdbclwsE9}r1eC6z z{FII~X;D!T5m0(Bh90VvAP|C}pdv&-K$=MJp_ha%z4y>U?+G132_(+(-aGR=cjiCe z5c~i+=iTqxYp=C-6dUS=G$$wuoXDb z>I(P^fM<&}T%qk@&%u!|F2B30p5AHDkYfc2a;dMpdXo7&U`zjwD;D1<+?0dH`NrBS zYjB}lrkpTi(+<-%AJBcfw;##d)j-uwW30b%ZT7`nYxRWFuxuQQcEk4L1KQr{59d+_ z4Zdx)r{An`vGm!e5Y?txxKXo6$Qr_463n};Ekcl@g%Y~#H|8s5g8~WW@l$a~8=5wO z0P#Y);`>Hb9wIdRYAi=@^Ct#&>8i9XR6;LgsV>BilZ`8#ohz0NPGc*t_&3zq;c%}I z#?4hXW*c5h94S1tyK&@9O{aw9&Z`9>zDVHTRj){v(Axh2(V9jc{{i_baU0O^J=^(> zkmlu-PsIeVFJO}~T-mJ=AS^U(}rGR)laOrf^G|Qwq33t^syqukJTcu5|X*SQM zfpr$`b{@V?`pB()Sb}x#fCxf!$9}G`nIxI!a*v9c*MMew{&Sm zZ?|i|j9$^!hN>rV42s?X?F$uUMTUOp;_QCHvY?6j$Fb76##o4}MrTJiN;A}3MrlE` zu!zS>Rfzd(EewL2C>;DX@M-SDxM9pZQox7N`U)?OC*6GrI1PUnL0&2+18 zDi5g}^T9^X_Cig@{k#qy(0S)A($o!v!b9nrjp_FVE@dtR5?el zM)I^_aID%=>Cv!NA2*33WnHzc?Zh@;J(!>b6Kxf`eP&rg_I zhvEJW!|Qslq=2*bPMqcJFYkf>1A5uJws1Cip{TTd(-WN`r2?5$b<@w19p#DsoTzUL z&S@Xo?6q?9uv-z_HAF0)BTx7Mz402sqyKQ4_o#K)^RjaPpc{UUq~U(tFoU?qYu0;U zf4xWfG_0Qr;V8Fg?F@ zY2X8JieJXFbJ7Wkv{sMG4^5kKF@6@m+VF;GG<9gu-=%!=QJ*B*UNVAfHVY?dD5e5J z#LsFHFVhkpTXzZoAyB{nW<~)_`3;`Th1e8l(?1}?JX!!X58iWKg?D`Z4FqIGhf8zt z3g}xem93dU0vO!RKB{j{%pTp@K6Rg+`E`my43}(C%08dv-IP}oe1zWHOs`s2c~vpM z-%2Z~e33hTB4*K`yTAHa3eFFhs~37tp;z@RC5z?gUEb3RL_H6D!mS!q2z%LBW1v0Y zZ?XwK(1Q%$cewvKb|qr8;q@8fR`gp;<~d1;IybO#n&8=}jMrB|?pSv1t<91Qgl}{) z$;A+N!z}uwhmW@|hbCi5+m7xok)g*k_7AA2la^@5xb73P!Z>S9698g0B!?r(tW};z z6hiZ-v%eI#j!OaDsAmWIZ;D&L`G)RPgum$ouP?iH@A{z?x<`5%T30Z@e$J1O^D)#c zRv)JSZ*#DI{OH?q=c%_wrGJ>>z z+xzX>{%@kZUqvi-gM^bYNrUC1X4QtETKw7Yi{Gbf)8pQC&v47crc>f#AF5!4P~)yC|X(V@%U= z2_&i|c=JTIesynOVh+IF%>Va0pE@9ns?X?MqVM%E*7`i}^&un(P-<#xF;zQNmGD5jjzzyRJqdqg>WXzeG499T-xL1+ z?+mq=pD{>%E$#NSc}xutbvyGdE12k7-R)759dls`hdA|7xIyyxz!*9`r275dJ=*_s zG#KyfK4mPY*bn&pYyv*!q=nTR9$$eH33Qg4(t})=n3Cmy;H$qPZ{RQq9639H-{wnN zXFqh0z8fvV^Lb>K^G04o6u7Aw#iJ3jPae`Hs* zZ$-@Y-ZnUYO-n50iF@R*$9Z-Gr$c`&+~%vP?=zmzj7gMY_TqPnM{flzj z7IVg4TPDap?1c;@^WZLS1F54*dbK9iC5oW4-=LuT#WfPG?~XRT)L7x&WlpKAFU+_ii_3_4*Ex+l5q-|!j>Vbb2*`shwfAQ(W#X}RG zq4N_g%S@H>TkfT^rC4|j!HRo&e$VJGfJ6R^vofB(pLzx7T5jY}z^p?3WH%!QK7Dbu zY`98!Z0s}?+1lz+xrmMzYoqZ<*f&&EOU`$K>lWE3g}Q8SUfmnLIGcwJgW4FlK(a^t z5;-64uoUEnlL`Yls0%9kwjNRMe2g3=36cDb+kL;wZJuA7^S|6>VkU-PEM0ebrrxUu z)|YO0j=Z5L^bV|>Bb`!ade~50$~AlhdOV$(`Mo4!xe#>r&@>eLEY2&mq8431z3{kR zIoqJvrPHl!KQ-Oy#4(@9n=d^-H}zeTZu(Vn=C5;i6m@q4a>Cr>ZO|8Dl~SjS2OcIv zl67W@&oCv0<<{u_!pufz&~=stbXQ&}!AMWVE0zgc)e{J^ z&B%|pByzZyGG;xW5oVrKh>hLL^P0^s_ryuWXcYO&N%#6gm6|{z%5g;FBoq4{_!fM$ zx%(kisVaBBS3SBrAalO1-{Y-_gS)_UhjU&#bS&AP>?>XhI~KN0;WZ;ZEaKkb>AlcD zpdMeCLoB(T^E`R)Ba-+J=2Us`oin|sK{@>vkKi{ZQv2w$`9%dGhIXY2+R~a^-bW&Q z4A(HQQ8pVZy=WJeAA|%R4r~xe@nwuvgZ8}?Z<9}Zmb^y`IkNb=(EJ)|ESUvLgd2`I zC_tR{@12lhUarT^Dbi7aW9*0x`OR6cdcJJQU{{^o+=6J&2WK}y1l6p)l9CUvc<-8{ zC?%BTgulvW<}3;f_a({=$XyfwL~zeGzDP{eA5~T!S7+xw8dn=L3iI`H96 zyayZ4a_oD4cQ$Zzue+@1K7=7z(lVmn#7o}3VPx3mz6Do3VE~+@j>;7)QWuwX%+*!j z(pgZv8zN2fiw?pXlGqlij{^_kn`1l1*Yta`e1F829{vFdG@X74BfxEWhK5&wivozB ztRpKh@^KTTSWbFDymflqcStW6Y?OkJc=HjATQ8-L~?CXygQvCdo@dFxMsG_ z0${$%_-}E9NjfnOB2z1S--Bz1V{1+hkMU|*l`G4cIoz8{Qf-kpP#uy-;~7dKiXiz= z&5%bw^-i}?Uo5<`ZWsbFLzlBP2-l|{_1idm@H8oyaUidr&-F@}vQzIo|5Ci#-(-vK z+xqdMkW2zYpa~%rfrTs{ zQwIsytGnm)x1SO$%6q?h1tj9>1%ml{fL>7yh=7XRYsfu&oIT)6C^N??2u&UuD74c! zF|eUr4-^2>7jSlI8{8#6i!~a-9nnhbn$CU}aa|J1!?RC?fAl&i8!4@fla7=OP-jVl z+g1q)ZcI#ZSey+{%7o8i*1>PV*rQ_494y%ntS}N`mL;k^<&3V+|!lW#Eh&Q`w(_g%U`0#Ba#b1KgK` zp)6y@lV8XtFDNn}Wt&o9(^ewp)++5I1&-fMHn6PzSu@tJZQoXy_z$GJid#KRMQfoX zI(2CV=gSRkkg`|QvP4%s=y&(~if&WezYDw}YK_rU+`p)(0ATqSIcBgcBopIAYc{g- z;w`ckhRj4IulW3K7}zhwU-$kR>QaFc5dh6XLsC>%&}V&-BNDmZnkrWBr>v`)?SeA^ zvMFDdR3|$uXl!n>r#ye6j|q>MoYfAk#blWeG+Ktf z^>QF%S}4~)3}$28UIfNFPy38nfqaB$Ub}867eaE|>a>H(P;Ttv z7X8d{a{`R9=}Hh_R|vA+geF=2ik_2x9wa4yty3V~M%wrmR(kQ|A#Ydi)S$0lPe{UP za<*2RK10C6&Te=(#mNuK1E654+e2iF)@$=MHy60wzahTKosNdep4w{VJrS) zsUw?2iPilC#u;Epmq^hsBYi#lG7C({SN9M({ayO)|L1hA2IL{S8i?5e`lupV5-?-g z1q?ud{$`E)(GTvYu|}EtjGE1JSD<@0Va{%D3=ZeHA8`b+zO0WNE|cy^Epk7b7XkZO zd2l1}JL|-+1u*o%b7%tDbYjusg6gk7pl-R8-IT_nN9L{uTD?7$i{a{pS3Ihiq&SjU z4N8c0Jtdh)hfwL?m-tKQ29!|<;DZ?f6Q4rh?wyrM8-luH^_BMZFr3GpQf}v0v=VAh{oAA z`l>+m2ci2C|9DTKY+T4=a@0q+O1n1f;Vz6;fJhB|L8XAGGQ94ZMUARd5e%deD4-g} zbSAxrbekL`mpk)v-}F@C%%u#pyZg{%N~s&?`p=78P*uo$W1^`(^$MsZ5o9&od1OaP zeZEDROqUj0scI{R@>n16Ag6C~E8IdYf9yT3!hvr!lX3%a`8kS)y@2wc-0F$1E5dEc zas9*phPLaM&v-xSSDo0cye&w)-QbEpKW1gE6Sbo*#UJ}qyR$X@UeSxgEm!^$nikgJ z6k-7WQQ3`|e3}*BEaj_R9d3Nzo?Puv%mU(f0S2k#7(L4?=Z_4T|(= zJ-w(|W*LQTmz1D7Brz=AnrX_!g&*m`XgAx1Z4K4G4!XU5ZUKU2Ssi!Zr!W-acF-Sd-mj?JS97!jblxE63mZt2mGAe9Zx%0A~78u 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≦Vvz>&|!_Grn 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%0DHMdCft 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

    >F`f7b&$-s6ijGOz8Iw)}ZS%wAk58s&S|#Dv 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 z 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