From c4011d0be3bbd3b5cf388e7e70c0e026baa52223 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 7 Aug 2025 10:09:51 +1000 Subject: [PATCH] Bom total quantity (#10142) * Add 'total quantity' field to BOM exporter * Extend unit test * Update docs image --- .../plugin/builtin/bom_export_options.png | Bin 40111 -> 44083 bytes src/backend/InvenTree/part/test_api.py | 2 +- .../plugin/builtin/exporter/bom_exporter.py | 46 +++++++++++++++--- 3 files changed, 41 insertions(+), 7 deletions(-) diff --git a/docs/docs/assets/images/plugin/builtin/bom_export_options.png b/docs/docs/assets/images/plugin/builtin/bom_export_options.png index 2da4aa44b062755b4c96dd23ba226be9bea9cb5f..51ff9fbc18328001e6ec3555c166cf4510fbee8b 100644 GIT binary patch literal 44083 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

Vb%e8N!FP%mP-wD3gfz+#YTWM?vq zs3Z{EL6zV5;{^kQWM)Y_~g8_^6zCBamGR_}(D6uivu zU7yU3^lIKC@y+8dGdjVJCbs)J{ybKS%Ek{~=}G4FJs#KFKbBX9g|UbA^2u38-4^_% z4tZt$A$vq`OV_HAr8PH8sY>Ea4;XmVsS98E;(xnk?#r0x~UvZ+6-2XYQ`+pd4 zTZb3lx@q}CeBvi}#nUBdLr&!vwUCI7 z(uu*T2?v9nxt&n^q{}!V7>3-|5x=t$7#zfA(=NC*Ri{&x$zn4W$d~fV-gWjzslZ+QQTzF1$F*8i| ziCEein5B{8`1fIXPM4#Gchy{7Z!%ur4Lvhf2v)6p_`u=oHhjf_gtouWcqIGbR8Fq z+M-B>!`1HN(k(5CXYtp*)L|X3Qvx-c?CV(GIz<>c_h(-O*R`gUu>aqPL5i}V9+**G zXw1C$we!|iAFlBD6uSi?M(Ubp)=vXVw?^DQ8k6$^ac!+(TyTB6J_oF-cS$?4RyjO( za*+GGVJdBW^SkrqA!;As=YwEEc35eR0|}&i)m(88whj{o*DFOTT?&FcSuB(?E)_mv z?N=dJP_LB}EvZsOQ5Eb{WUYDB#z=5zj06^*ZWVRH@@vF2Dt>H%A4n$Cp3(+6^)woqv8ri`x{D$h~ar%fK%xk)V1<@4( z;#2x-apFem7*30V=i>G^GJOon3;3;$Vc=X4Q=4h@MZ5Oi@v>fDG#x)QoEcGtK2h?; z9^9})q0p!PX5j*y?+k_ldd38pbtvr&T=>&tiuDrI6?B_fk=66I7JT5s2t>v(Rfg;@ zFRCf+hJ6`_hU(w)z~kZ*1vx7wBf)uVRBR>;h%mR;w8H__3gn&_t+r zRVoAT?;N(;x@T>hOJrH~u=WkEm$qglOQdS!UZOnX$&a+MQkXkB2@T55KThg~u!HqV z2^_l`4Y|@KxrckY11(cUmd;%N>s2Eq4fHycDQ#fgi0zC$59_;(zVG6ql-?EOS?4Nl z5`nCvzlwnM?1iPX&0Os6f;6`MgkVd2b|jeKCfkk`WTff+<;|Y+ZpCmP&cBFV6h4y( zeF($DxHT86&r)R~-^I!2n{%=?6SE&5Gb{Eca_xb6y1K!s&jEt?gj)9F)jM>YTtlZ; z%j?^}eqt=)#yr=l-lNHJHmaix69!3^C7D!7Ih{Tm5t~a&SB(Q_MudziDx#PlOMrRS zsfE;Zce|gbR+Y20R<3>h^?>1C`L}qFP%(mjDCP#&^i8my6pia)75c+fqD5CR0Ou|O zPeJ@5exG|92uL-U>I~25h!UeAr(fDf|JU zrl#K9%9x+_-X6_Q-2VtB3%>{SB8>-uQr%%{{g#$dL3(<+LU@fAx`39aVfO=>HGo)& zTfPGD*v!oAh(2S{w#6+)6koNzjwsgwKd`mTv&s8Y-hETlBHz>C1xiaxOC4*jopVm@ zfCucN1Gt*l>bzizZYJUppy5qc$<^qQ0MFdN?d^A6a+3sX?0e?F_j-Tl zCXyx7RR5{glNx0%pqBr;iWP#t5c~c0|J=a;>S|8cW!Xp+b3DiC9QO~{`U3!$m!k#S zG#v7KBRTX_cn(?HVi~)(Q9Xwfx2LdhI5<~U#f<2Anb<@fGaHN@cjr2)VXM?K+q+Hu z4KK*AoalcaZk`l+GjtJ{lz$u|#ixu1t|9O=Q$AS7*I(!#tR2>&4{i%;{{_5LN&(oi z6AM6f;tx^u>;2aJ;6ju1F_#3fkgY*uirM<${F9G!CW9iRbR;Sw3Gv`#z8bx{lAm&hfEbWo+ z9g#FDSE7(K~V{;5Egeqt+`$Kr~ zJ+=wGjKzldfVKixm~n>^spIQ-8vsr7aPZXXM_O97o(?8cpj%7|c6gxHr646!_xxY* z^cK6M@0Uwm#GMg3iuvYm=FEx)^=s}sif=sJ2@fR7H^gyQL#Ba>7vKv24J>EXN?lxP z3s52%Y|B!NZL_!IV`9^@G2gP7%H8wuxEY~U$tMFkj#Ue|t zK%^5$ks9w^SvkTqm$|s0;V&{=Y%X{c*F2p>I69XY#IZ z^20=wXke8M%gu=8OkelN5LQ&?hwgr_FbjRojoYEFhjC?INIsjlc6MNd<8S=C+q5|S7=VP@e<{{vu^rsJG12ize zf=hQEWJnF)`g^E#?q~mAR7Mhf`BAK2?i_YJR-o<;H~I&Joq3j>G`bqb=WXLnJ3_-D zY%LcCrv)1P6kb9?CFosMr|b18)>|3>`QI!lC4M(p|HR&%Oe8?y^fApPlG!kR9>3VlZ|_aJYu0k{-_ z5Cou`!(e^2Z_06ZA(6Z4P(UMG{|v>>oU~MM1M266yjJX$`|F7u()BcjZz@qzMM11U zSle$AkDAQs%Z7VxrQF^U-wiAYPtAJ#)@%y=eu-6{`^&Qtn{Ep?w?M8SZSXAC(XO>~ z7kvf%8vEtT!}-~&Yq-wCq!)}KW4|TQwsXW`@`>s3%gUP1PM=F4TtBB)Ma0C|kA#@p zECc+-@o@A+!$y(p6YMuW?pRy7FwHufh#2xjbxrpgO|QW>kXjX#FkNi7pFOg>%opx3 zdJL=2`U4UhLqq7J=G+)EhTJcnN|mQ;H+~9fvxIP*ZpCvC+zE)V-Y==ZJc^99AK3`L z^I_#xiOTv%xN_4H<3wp&_d+D8FV#9f@J9V)Mzp+4HZ}AnHP5@^0eax_gN34AqbQZT z1Qbw2v2^@~miKg>(V|c;M4V08k5vF&K%!!j7hQn4LYa*4t1)(?0TeXT5V@CBWu-jqdIMG_j&%0hMo<1pd})2 zI9Y_sfVDx=_oL5=CwWj^t6%Q2Y;)@NNhV-KYOV55fRo6_&cUycfhy42Vfev6;3iIE z;aJ6q@MNtcJtsex6?U#Z8voV%UEE4tNp13+o2+FC; z;C}>{da}1wcGyQg#|S77IFZo!u!|V6HP2n@O^Kn-AH;r}` z=sWfI{GuRe6``tg8C^5Vj{FNnsg1UVHk>0$m&i(;V46YnsS9_jlA_mr8J$DNo1<4L z)eI;+bLDLLeUb;MNo}KR%S3B<#YzyiO73J=wdGIqtDJ4C1PSyjE za4;SLEYpm#)AiXPrTDuw_u_*oeH|0M93EGMg_?KKHAD6x%zTt3rDqyo{|2_h_2Q?Y zeGx3(!#qDU0^BIKQ*#J{Z)&^>sExR6oU$tX;;a;X$n%jwQl&h0$0oXV_VgEgO;OBS zSvogDBdT|!{e377VIR7(6}kpY1^>9``ion-mDZ7D9u~UiJbUu zL827qvaj&9gEG`-sJ#Je~-S!yDb1X zuZaf!(U4f2xS1O!4`dx~HT@+g+xq?2F(v%J1H7Crq$yQ=gYD_OqeZf(s`_p=_>{`d z2W@awcFRfpSM#zi4n-2oxuPbfmLr4_op9uF?4+ZR+sHSiU$9(fKQwa!d%cz@)EcMA75ScMyc zZLG3dt*0d^k$RZR6%hewQjR6ZAi)wEl1{JG;&JMg#qJvU+F= z-21NzJ)^vBXZSid5*4~bbuN7S9-55Utr{iAX>Slh3jw5AtusUBCDX*}T)*h7$KXId zPLnUcT_yykUs{r4ykmw8JzoM`Hg~P_laS#I8xuok;Vm%IzO@XXS`eBh;`;CU_MwgJ zJ?ttPOW>~^M>o(R{tpy7JZYBDUcf)CuX-6i8(O{~QUwC22@g0;tX48gfRl+uDX=i{ z25S@mjY~klvK%W|y z-i+U8u&sI5Gu@!GA$YNc-CH|H({qxTbZL*1BW6#?HdK6SklkpTizYVrS@DmY&$bF3 z%oF2GW-(nA)z1?W5-?!wFHpXk@?mHc0D_qan_lfS4(S4dZW$N9EXb^BjWA? zDW#=$4F_Dxf|_TfxIk5>bj7jmC@asf7GGih;Ft5Vu96w@j^VS99pG^R9yiQ>L)pQ$$Hg?UF zU-Bi3LuYUn~?kD?gzqZ)^FYg zM6vZQ+SZ9Ww&~6Rl*cm8s2q>~F{0(#cMF+x24Ld*HG`}9?1q+8a#e&J-IA`z1~6io z9PmZ_Dr@MaQjsjxb7&N&YobT2qj(>GW6I)+>x!H;Rx*E2>tc zQahssNN9G%6F%AVAdJzk>Hg6)fw;z4xyyO0kAsS1f!1MxSn)r<~2R8R>l;8 z#KR%Y1E43X4(=?ZqX3;yu$ZapT2}dDKP{oK{tf{u3GD@cWU8BsTcpS-Fb%bkcvfd% z&~R0~5zYOgmc4gkZ12^wD~!U5z4^M_>$#z?rwAFf#a^xSy+wxW9dWt$wE}D7>P47W z*z9vH*41s_FICr#?|Bf#*h>7K=d`b+H|IaKljL-d?8F>V1{+}CdE03L-MOWFNDMb1 zT83m^?UTs#4w|+vZDbUo;L?A6C6y}ZK@0EV{&A(>8Fn{L&Bjxx|vRHGd;QclN zpeY%FMd_t^f^zDFKhTlyU&kJ<4s>aNL1v!BhV_=u$ea$y5m zdeiY9^Ka%-YQ&MjJ*(;HyFNDH1B;#8-|j?%wHB#1f9Sl+|EE#7u8dsYJAeD{hoQid z=K2@-5U2T%po8T9`Bhg>aFvQ#V1rS*M>%^s8#+^tcY(v?8pM6`T=cPR__t3oRB=f* z(tta@%V&|5H@cwKM$62CtlBPPGBep!JVynrG%)G{-c#a}-?R~n+=zt%_Sp4=J^q|P zZAIPfCRw5{=IR)JV7wUspp3qQgmU+_AXj2#=X%YuvjI)eY|4ZS=tnOV-?GN7#G&bE`;KPfNRyKI-uscn;=#(A(VKs%qorD zg*^(@OjmC;XLrF{O-#P~JOi!cmW2c$GePRbEY_3%iGui6|IjSbDh$ak z8dnq!HJIYglXp=1PL&i#s|`j=vlu`?aXoGD^)v}PDl^P8wi6ap?_3mGH6$pm#LlLG z=Gi8-cB}U3_aJNSD!7zBbBT)+N1s{?XY7cS)dlUV`uS-r(MA=s4i`5%)D zyes4HeAs`cv+6`llSjhc>?&UksTmxr!OI;=RZxoJ+d$5;Rx2Ab->X@nQ>ari5b~%L zCF%>pImeiBrT5}PYeqDcUdZuB&|o$oXUu`T!k~--;BOrE5nj8i+P1ZmWJ1lHO8`va zU3VipaS^x0*t%)rg~@8SY_C!0Px_qT@FIWm$C{fs5073&cAk9u@nXe^Ls zE;$aZU9~%|^78q*;kIMXk~S2Rpx@{U=I8Ps1kb=4O6AbMJ0;XdZ&&zzj_ac-I;-yg zdW*;RSZ}E8C3a4MZQ2<4!ihs97p3c<6VHvFjMa08TsU}iM?f;$xN7CBPf>VlptVDF zZCoMlkplmLy7mVEiBYQ+(@kA3Qc@Vd?P61E z?4A4k1m~e_b5BRJ(m8rsVs@l){e9w}CSE)a%zi#y^0Hsx25IYDlK04{<6^h;>4_~6 z(5FxfDBmPKRCODBsh7L3(~#>PaPkAptRwt@XWwcxTFVifFlII?sKh*I+Uz=bs~9Cp z(y|$iz-MYA>;kmuLT=bwL6&FjQq_uT)A-Xo-R8Cd*zd95b{qV>Kr*~;W5soBbOrhD z2zKKjbDYQ8U~3032It%YIn_b`0Gi5lKG~{zp@g#=Xjn%hsZV+#kU4u{xawiYF*9T! zUZ9DVE0sj}NDIm(il-He!-0pwHRhpoU6@gG43xfcAl%Jy8s$hXpJ)Rd z2X5g-NDi8Z1P`-}#C{iVAZ}3NTV;dwYtF@`dfC zh!r&E6Zi+ma#jYX({j=(qJKge-`gt*7Z2?8Agw1Pwd>UXmR!Hffbq1QJG*k>d#L?% zgC4N=3cczx zTCDpD{^?oy zHev}$h$@Ngld33Mk(@skn2DbCcKtnu+vs0;^3u_let6P~Y0$IU)Om)%dhfw08+2BjqN|Hha&J|?Z&6)i_Z z^!WBRpU`^s$Zr+q0%csmXd*)tGj@%mD((GNZ&r&q2SZdl2&@JeKdXJyUy>AuM;uQw<=<;9mAIJqO zt?=Y;?~%djbz}5>6zeo;B&#-4e=6op428?&Sh;OSp(o`T=~FTWw8)hyGUT>*oFs4{ z8M90c5=J&GH{x7gPwlJ`xlyNB=%qyoNDl?HZ9+|~^m9v}zn*4o+SC}TJq0=sRYbLn zGAEDJDh+;~Z+hpr(ZAGxkRW7tXf<2(uEAYlh_bi;6GdO{%&HCU-Qd*`_5;!QEVi4f zG3;FiDcWP}o}|`u6@v2vZGe6SrLR_0*7q4blj?>jZnR9AF$hE;dVHr1?idD?KVOKr zO5t@=>y^*yjK`fn0pvnLF)<}4Zt8NjOtHR2(g8z>_?eH79zuI%eXKNB&o~PETRU#r zC=zWI%MvTUoSK6r9T#1`(9iE?-t<*q?SX}B*N2@*uZLy*E+E}0Hsd@nRtwNU7M@eg z`VPiT${^DdPG|4+)V$X8+?6L$7Cr@B@8BSFV&Ng9q0>yN{F&A{Z{+@Y&dbLv4`SxB zUW^9xIy(A0x)cDtHhS1lYoA%@I)o}np=ex%%pY%(l0ghw1d9wtX~2cdvG85uc$(*( zSX0MAQjOo?#MkD{0ydIvey|`Hdo1$!bS5Tf4_!|5eLfF92Bz8nP9VPRRH|EX?7e3zNow%uYMC9MGPaQR|g z6!unUqnJDlZQL<__-w{$$8ld6m*ag+sk(mfBW7F(=lF1oNM1RbUj27AA>0i9z1FJi zc7YzwkS0Q088TGO0fz5e#FCzlF+wAhW9mri!)UIC}X~T zWym4#w%hY0uC#%{n-TK)Yt=+^ITJpq21jqMVjG_*nWf#)!x`xxqLz_wMy`$+hilAB z;H>EIupJ$*&6wLk#Ictcr7&v#0QId#`#|c2;?Qb=#Dt$s%%ke#uHZOHD_sBHQZU0t z*H4XZ9szyZncT49=^$%@~Ts@rOK1Hkc?~Tt_BR*1S5&S~y*aHc-nJp;1%`YaS@B~Icd5gh8 z9=YFFo5;Nv-alh-LRbaEAEKM3TVezj6EO}`g%bcVzWFRcMIQUAjr**((d48tT)?`y z!RkOh`3;f2MJmxgfB)qCGKC)Huhik$qLqU&C$_csyXK@^QjW(}Q4T2s^{w@%X^{#1 zF(bfYm}glkbT>_XYP|2mioFS1s^@5cu_v{UAQ%OKC_^&a?pUriFZ8`UCBrmg&PkLRs%fYUb zARb}#$PNm)045;auplluase6r6QA;FY}$ExolBTY1kmK9Nt{UyK>?A8Yk+)c16?Qu z7vCjSARlZ-wRh~JkMQ#?BkQNgb+_*axkyes0;gawbOA`nEsXB@uZ-t1=OpIj6lsxL8)Ya$j6$e zVD?(jNebev6(4dSP6gn?5+Oq*CAk)Lf@=hzX?b&=tJ|i^mW#0I{8)~eN4@(O9ZXOK zu2XBAL8sB?I!Z(zkk=$Sfv9CN$on>d-RnUK@R>mCb$iOv(X?vNrGn(Q<(Dm>zeuS~ zXC&EybohgFdJ?vl`s?RZo#Uw8dG^ZR!Fjp+9(=c%C{frk z6$n7`CMONgHmx8-p*)Rw{8qhVNr!}gQI|A^wazkN8s87MpSGcjKTr)=f?{)_1u~%& zYk`!;{Yzc(E!Arz=RK1WUPZx5<9JL;l9Oq@WBpDS80?Psmg+W2>Nm9{=>O{6wKFVw z=%(N9W$(BB-~qieGh;lt@HYjMGS3aF^F*`rF@tETvp1MzyC5M|dYwvU+Yrdgwr`+2 z|5A%g%3#3lOBd=40Ih}0gkDrpLwrTg3aB8_V-{Bc!Ksw$(EerF0bqBEmCZXZfD$^F zg@l}MkvQO#fS7{yR|WqzsyT<(zAOraRmFoJZB-k%{6$&A*)1?!FQgMjUMS}Fg|iFX zO>yDi0&p#>zDfiTc>g>ZqyUg^6`$4BZFbN)zvr$VUzAp_w#wXN-|u0V=!z$7*!v2S z7yk6QI#-C<0D{zbKNxc^h>}trQ975`I$71e+e&=5Gi}d9Isx~Fm6#wLc((uiZB%RC zE(B>8>888S_#%z7xeThUTSLg}Joj_p1#OI`K+_kd?n_DM3P!tTWwl`NU%MQewj5j zBHnJL|209u&i!LE`G1g?fHE=fomvB659l3mko`%;0O<)(+5n^`)jH_w;ef&2d(U#d zWgOT~Uu=SqY_Nziw67`QUqNUaoe5*u!DkiAf1=3(8@fzzP@&`Y&m4Xfp<9&~h`04zn)khXH5S zm*XzlavHsH1fAM_#X2t2NvvrBa3Ls6m+EJE%<2tP?f|RFNMRlNr=}7BTrc=ruf_Sl z-3Z9%&(;&pGJtH!D8~~p@6L~U1_(^zl=)%(#6bj*SEPJ zL%)4Nha{96gg>~cpwh(?DSp!Nc=17N_gFD-;peM`z1$b^U{^AVx-JLp6e71|U|f&P z;mLbA4Wq#3cI<;YP0Wx$j_+tBj3aP^*QjQ387`T)i29MgXCP zfT=(ncR1E41LzRyF83v%p_|I_eAMCsA(2~ufPE~T8&i1=uh}Z@?@ngE@iwn_j&RPP zcz$}33BjjI1Ai~+QT4b`x3+}Vvu>3T(Y~b~zSKH6Ww1CkuU&WCFd5CLW5)(^DDEGD z#L(~BEldV#Ir-=&CPP~fw)RERE!G*_I-p9!MY+$%vn#x;5Lj4~2jo7bkn0ovZ_kox zNxj#$-ZBAVx+?avu$H+U4cB8i@@E=xoQyXBGSrz!tN8X(yL9XB?l^9tl0bi$v=&@Txj5L$+RkC7h)TvgQYlGImD&Q`*ZyK|n_iV!EQE z3!8^O%(^l=f*Tlmi1yw@G|=qF6ulq^BsE^AcM3w@b>b&MRt{7%PVfe<*euea{FMU)ekPdv5oT&Gs*S<6HpY z8g(?gR&@+jXYo+Pp4O{U$Iuu>1y}q!2)HL#6_z zLcHPukw{Bw8ReAFOeCU=vZ}LAS@R?Y5Ip`w-^h6g+f(8b|Jx26!u28<97;4F!P^$OzgjwzC++YGya~*%~Oc??vh>7 z!tQ)qbgo_Oj3+EYL_}_n&cEm~%KBk~3H~T`l484XJ?L3zkp>s4zPny1P;v8$s5KSTn$tJm<*m@qed`erO(DC%x*M023~gNK{{Y!3XX zp!9dYe}=Lv4TOD(0^H!9794b0_Q!&bGdeWG9@bBHYx$R2SqZ+RHa8?`RWVrv5hT-R zO-5%GV3Y2f;l}*D0Z|-9GOCI8kxscmiUD z_5Dm$G3M7twuc*|sdBC^cF7J7ja~RL>RbbF`Wwojd@V9*48FIkx#~iWr9ajNDsow4 z>%r}+t5dYn!K5TpNSm>{XGh+QOZ!HH2sq}QZcA^!Zk=vpsqszRSW1f-?#SqF;MNcs zTZp{bCK%y^u)Y zcQPAKfuqXhInX7qJ}0B_bpKo8WtwgNdJr634=%Xg{mX&`IpX!UzS@<1+togGL>!k`&h%%eZPQxv-V5+Z+0UHCR2jUf? z1s?SpBkRCDGtx^=%1U8XI#qd@C>bO`EABC#i+nHz4ldx19YAPA=MB+!2LLbmdhyiX z=uQ}Nrg2c&?%>2ArD6y3`FCx@SzkK{Y}Y|G5Wt;Y?nypO1aw3jhX>*nelrZEY+L}k zY^jFik1bwx#R-GLm5I$1_vstBYe9fL^d!NCVU7%=rjz5nwrzDFN6q7C4A7@u zncc<{{DFsVA5x9POd^tWLe(JQKO)?$cVB?Ytv;0>I+$mG9>NRgUUj^Za<2uda>r#< z8`xbjxRAe*}J4a5*?#6x*6{6VenCc}jV6;)AAg zZ6oay#Y2NG!0l6Bg&Q8h|*qBNYed= zhDUu^$yoEWpFnc3^W`ok-zY2`IUYPj2TP{AxPWpmvAcJ?pdXt1tad$sWP!{dw*2ka zx-$>$DSa3^f#kt&qvglG>4kA@a-f*2iVlZK6UwsIw=L>D-&>JHUuYEV@+yIPc;54g zi?a8Orz!!@@cL{j&$+Bk_@uV{g(IkRK@_W}DS4wO#F>@DTS{yD5&+B%(Cj@=2+T^& zC4{T>pp5J%QjSKxQan!tUJNSGO-}tE=H5Cis;&PU_K1p#g-F*?2>}7=1{LX& z?v@<78&Lsi=`QJRh8hqNknWlxrMtV{wc(s|pSzy-eV+IC$8%j=Is<#}*|Yard#%s+ z6DxC*uc+?6jLRvAnX%#PaL|f!KmP6h!kJj&a-1Hu?qcWuPRH=3@d0{ z)xm8ZKG0jrbDU0Oj|A54v*;et61&Vt<&PZ`Z+|#-U2OU0hQ9Pu@HlQ?DWFBTXMit3 zrdJC0h`#fKtXMAUa300C)y>?f;B4Dg_C`z})V6h4D0E}=#SrI7f_g2uJ#Q1!xwY~LQ`UDlQtX4q80iPQjL-9Llk*%= zc4&~fM-wa@GdH@Gi=10h2=vt^CgXqXG}N57FLSAX+CgOfXFi4{xMNHgZZo|A!W5&Fg2g`S z^KI|g+{40}I^fvb2z|OM>kp^X^M5g$mV6?{PiZD(_;;p~Bo(KFrh!-N5sWQ6=FOIh^WCleg5M@An3 z9U~I1cl7%H(nygedKbb*u5N-fBf12A;ay3hHh8j;1Yf-&oBH*g%^;CPFquU6L73A( zLZqBRG8UCAk|U94@`Evpv^D8nwcjMW+gm(xIxw;kY6bk}fF2764B9M7{9CQtA{d>T zAryT2i(QwNu4p|KA9>)dItP_pz3r$c##wcF96;W96f}ETX@0EKx8i6TBw|FMEuaB85jPVU z8>|~(%v&Pw1l;6>c^`B;;%~-Fi&n^?S~+gvWl<)u23gC*2x``*T8CU}2BYS4jQH|C zz+Ob~QXmZSb3{b@A6RR45X9lR#YOC&@8rvkfd?GiS=)>T>a_LsPUEBJSX6sASo8MSLcjw?FY6&1hFysul5jK~ zRN_bKhWB?2C|OcdaFLiS`@9E2Z;Ugd^|mRfUooPIeDD(3cD=o{vW>@+JgLQd^%dFI zshB8&3_sjXQG)Cr2eKW{$M@>$jJMW10Q{Y>l@p@IVjg?=$aP%~-)xBv#EA&TJm<<&L^jTxD$x71XbU`tmcPfrN(M z(+MM|9$QfVpG9ej)jcsPssjc#3s=L`)O0mX4b~iEV_WHDzqMZ7jCS7z=)zVxm=pxc zQ5d?E*n1FUzaj3?Z##Srq=@}X@Uh@=Z_p};GJZIpbU{)?+Yk;$OHmZt_3`z%)`#D zpc|5Jv_AOl!-`;<1Z%s%cmsGoBn8%$jE&Ou>WnDet&mG!Z6rTygx{|;IpxTzSH{>4 zWjGrYfp;#9{ZdEnH^X91Y+{yTRuxlO@Mw406h!#*7qvFc+|>uvMVIW=(V8TCqf(`p zWD#Ph4uLNCL&2pGFT*CZh9`+bQ&X-IZ8sBTNj2Dj(ezZl+8tgieu_2Ad`$SHNTPFo z^HcPZfL(UokxAv=z|nC(((Y`?#z^j?xEEjN2vHe!JP& zc8;mQEK3>`i0i!T-I~fyxv4J|n$9J4%i5|REyW2)57b5y(MNazxReuwI=WBkGEt2 zy|{KMu01qa=McZJdUu=s@&DpK6$t;kh!ISM{~>Wq7dq+I&|TEQpD%B#aFb*tSRH^j zV?GtC)3&QH448PJG6*b$wcieY*7ZB z_{%U`$8Q_1yH$vV^2T?$k=wP0d%q~4+5rZBd=E5>oq#nZ;fV0NK8HX z<~VWEZ9|o^$tuVIbX=A#v$wgeW~ktBpAW!e!a-7IG$ddq=FVBE34H<+C{5tam!tg5 zVy%Di4g0C+jiu|lQiq_zb9@^$91(N6x)C<*nyPCp!ENgACNg0lzCkxhN~53#DE!)O zsWS4YQbtpVB2~xwox$;TtbooxKQXjHn;yXv_^IUrSX#25xEjN^rnBYJ_4QO+d&jI) z6Zanh_uWMu;wDreUa$cbws*{e=L)5R*T+ot%yjY2c*|4){sRWW*h(FGAmve2q79#E zo3)~1{vu6gKir>|o^nlKEn=D9G^W7s84#?5(4Lk_q}>iQ1Cq*CkR>7-wr=GqsQsi2 z5_y|IaGjxeb|fmJ^&}nlc!Z>Yb&gyt`udg=V(VSo9o)n0b`)M*RVkF45mAOMU>3PG zJJF<>s6UdECZU(W>cnF_p(Rq)1o=}=3lvIasc%Xqx60XS*)$NX3M-`7jZYl@T!q?O zEI_`2QJGS~A?sC$RNFb$d){?Y#35^gI3S4Qs;4_@BJOKEwMb_l&DxHZbd_@vV~$^0 z-e}#Lwy8+^?RE?&cLdk-H$>Yr2Mvul@Yl|ZQ6@p;N$Mvt0qEdCSvn3__h6|ni zfLRGQJv*sk>MJniM5#tPhhfESg%vz>wyxeQ2N&!cTw&;jzqZscXc_B2H7{BQ1*fa% z&`Rz*dBrGraIwgKmz43GLJ3I6pfNIu3CW?k%9d{+COTHZ|QP2C3|${)egg3og0Zx3xU9P)x`15R|IrxHu9hfQ%KxCk2!snX@ECQDb>4!T4YiaKgNeH zuF=RH1{q-H>=cCriJ7!>1i;0kqvtgyK&?t*?jb{qn!zzp9+XW5x+%U6YPkXm*>q5Z zll!t**C6|YoOHmmwQO{g3a(RBGfsP(?i^Bi6_<`=ZD9HUWn*l?lof8-IFvbBXaTCJ zFDj_N|LFyCcU~<65=5JSDrZ_ro}izvt6ekGT&|`Ax7bDK>Gq@$CC&~B&- z1u$TjhQq5rjY9m21sZ+dJWi|KuJMO}jj%X=k(T04u!8G5hTQ&aW){%b(P4i`syb~0 z>w5a>qD+ecyiZ^783Dxh%4_+2L~F8oZ1dx1^wyJ0v`sdK^Wq)d(OPWZ?*^@YRy$H5 z$qRH>BFXp}pw~>Z0=peX3&USQF#$}ddTB4rPFHr!c#Q9YiXJF1VEr>H4*+IN7-YuG zN1>p;^71Wz!!A^b24^11L}!<@5;Xh@Z3P9fCokWwB>kq1|2pKC4*I42>*da09;Ouj zf8g9$2#oInGs-UoTbt_fOc0NOkk+R+6&O*-8@B0(^iuEX-h6wxjC7vT0HT|r)d3@C z#~=&msR!U=XrF3adUvE$y*?Olfuch0VPT?5fZptT5*(KkNq!#a_G zf$$07I-(RI$fAts>?s5|UO8wnO~^YIMb}djdeYI5ND9nT9j?Zyj1)tQV%A*lq~n9h zZD*^32A+GE7c!;L^o)f5y@uU#yD60SkqamtcSx*`q$MjMXvwWx(Ubt|ueQl?sUX+4Qco% zneXTsc{1CDH2o0ycLqV8aKo`AtTS;N5uU^G%te%po6$Uf{ZT${1@YCDE? z=LCvG$zR%(S_Byu{r-z^n~iwgD!X-iX4+jsrpar2T)agtKVW@()C zc%R`2kkhoXi6BKI72w4v00J|Nns&hKN%JdxD20*us3S4QMppLvX^~s-abc4`LB>De zT%w_P-0pSIR;u0QdZjwtfE&zZ^qB;qt3;y0-M%gjCzbp6?_ayQ=#$p97`@oXtZNf* zS8KGF0^(uJ5$UAYmly@9#;r&m2AOrI!zPBd0J}~ao7yYkiA1@BNEawh`#AfZmn8?+q`zsu_~%Gm4%Wt_OW8AhdQJH6;OJ9^l{~Kd}0Vs zSY1EpOWso((|o%+>qP8i9iWh_mV!+KVpo=I@+)nxZ$`M1b#(89$sTbRI#ikDRGy+Z zZAMl~$c$3c;fty#mnj(IqrmPL-Ux&{5!+bfL4AqwVHAAt2%|Tu9W0>O7;&1pX&h@ zMU#z>*^u(gj@M6!y->X9a3b37FkEEq06UsF6u0z#@9)@%3+L_yHo9tW$eG=h)6N&# zYg-p+D7B%GCsfv~CiM8Oyv_;Ls(BkNj6ShH_}lW(%D`E6Faci+sT(u9^wZRhq17+9 zoa`25TffYfJqI$NZXcbtXWnU~kkqE21dq|QHbIIfYbf?E9S~YJI^6>;s{UJy-`^n- zV+F;Jwb90-w>NXCh9WWfp~oxo0}CE;ugzV-lI3Sj{(r`5Anm__;E&E{c1P@Yi*xHg zO9k{~5j*d!{Z_C?Y}h{;*48`Lw==n+6d+QSj!>QGTW_x_ZSkU8a+44v&S$_!vptDl zowK{NJw`9%egM5iD?C-VdS}fH9KopjlVjIHFnifX6;Pdg6S!NJ&yVNUW^xRShI^zX z6CiR$F%xd*T(mR{8p-mUK0!SU#bJ9o&%yO85rU|!+ zcu!76M5{{`3+iO`olU70e_Q5YPfOiwkh3=Ztk3-dWP(8Ymx*~Fw}$?6759KHyflYK z<8S08`A$g*j_i`?e)h**mVZF3_I)U8B3MA>W4(In+PgXR)H%91?Lax`VcdhcNGEd% z4gMDFT@gy&(Jdw(1fE|nai3^G8~&eVj9ZGkxCArsG@k$6jf+Cr#Q>1N*l8LG7_oQE zAn`irsbHX6!wlZuCs3O%8@ebzzyG^R`A=eY9Mk{*7+(k~g=XITcX|_4-QX0XR;seXnzd3=Qx$l*!VmFy8V|_Cn6xee3ma zDNFna>jmGY6N~)0_GqlZXEA`awHK}U+@e$fu*NLj)|Z(T+-!@zP~D&W5F5&XpKMDG zJ|mhA(gVCvexW57&zbW|m$diOr;QsubH_`z&ON4nElTwBuG_1P671`-q&SS6DUe3s z8$25S#gfgT?<2yY%EhmMW$j;oI4d4Eo^F9T2?$fes<58nDQSP;a;A&iol*!!1j|Dn zFCxd*RqUx&9uBKnhkntLdoZNAVn!`AOR80Ge;=H5ptLCJ8js-3_P0g>7Pf<9lXOKO zuh`6*%T=@!^{ilsreG)s5}=z?y#vaI#%h5z8)tzE;AC=yR}6@jpmbK@L(B57fPo41 z!0jp&6Qdxu~SbpuSZZR80}HKB0uC}p?MKcRifhAcJ;SZK+x98J&0P{@hvTX zTOZd)vZx!D{q3fBWx4!2Bi%yt7HZ{X>B>uLR9`D5oMSe}C6>DQYF|DpHGSn9SoCYq zPB!xT%lJy?Kl=b6a+r@2Q!y}`wm3NMmp(J!Je@$!;}{s}4kLZu%_2sbm4wf(Pr$?& z<+W~+ESkZelq%?ZP%1?N5)GgS8}SfdyKFKJspLqJ$m4Ksa&-7gCPbj>iX_HkJ9W&Z zR?ps|qZ7GAAa6{d(gK%K(d#F^WUsZM57+ifLzTQZhVp3om_L#^?d#x6+6S;Lh)0R(_5pZ2S>Wf;V~B{cB4lszy~=sS6kd_|g-!DyFkKQL(ix8N&z$%^SSuyu4-n4ytEultPn|)k5`^|M zY3o&+pl7;zj%vE_2ulQAgr!-v|ML9TgEl0EkU!C>R|~_6&zf>KRH7L50GV}5n3r&7 z{UMc>4eHVOaoR^0`Xs&zsx~clZGtJ-=-Pglto^+LoZ~j-cn^&WBy0;J**kCD@oh$)|%ISjYfHM0wHw%jI{%2)rd_1QJlb$(<7fYcjTYqG~E$e zw|A67Bp1ba(t#gnc@y8dlpB`H_x`!*+4rh73!_5%E~)%JyEdEbs)opudGZGp zS0P_f(asNWU%CVguYYxhKksare-%LL91t~Ia!cN;M7z1LU+-x5OAOF%DXJ^AgdnD54& z1%nBaJiK`9oA>{)5s`<>FT80D)2DA$wSQF>lUZ56dlQS<+DZ+wh~Gn03eqS*(l;vVi^_yWEe$Q71|pctYHq0x3DvAG9g8 zxA;4}vLVRvq~8+&1rIGoDv1<&&0Y=>K*)Hm+C%9M$SUQxV)Jk37QD`hYAWW421?!l1S9V^&4%7P#3Z~=bjn)nTc|Vue(Xyd}r6N39_`-96 z=H6`l4f!yXRr34i_dPzqF%V{RaEfDYz-1yFCrN}MUdi!yz@b(8N~nyI9bu69a9Zjx zW2ba(ON97Vja!GtY5_skX6VV3&_}EeBaw)q)%R7cTa#=@8TR2zZ$wpSo?`We6+N|m z(p#FZAdU}SK0T*!pj$mHqVL{$ zQDOy~x`;u6=e}}C|96hKo%cs_>%Df?r2k-TQY+4~X~*(bs}Yw@z!WY_|_1_Rdj<{Kq>am<2 z=aSMMT&lLAbnKE~&riodn{%_;uOFy#lsoEAOGvXiT`4Aj3bpF@dLYqJX*YZ=>G>SfwzKanQJ3|x%aB`l@0;j z4G;h_f+D=Xp!4pk<&U2|=21iq32)oO%Jwd_FT~yDq{y5j;dQgI?0sL~@4j4OfJ7M^ zWqetit*ED#6U;At4>yF!I1H@M0)As_-F5|xjpY|c)(7Ot@1<>Ds-C|sD2=w>d1q&* zl+tMd>Xty$M8K+}ji)W~^@&NMU<3Q5Jp=;MBSNyJenV#>We3wk>v9!Fwg0Emz;U>v(*bCpS}e{l<&iZy?` zPXN#zlDBXf@RzZfbm2t&Bq4F9udzGbtnN4pGceiFQ0TfA4p*E|^`(J5-#=qQ6a4T? zH;rc3cJC;2`#+N@@S(^Hi*V)DAPA3`a*73yMhwwFDHlRUW8wg()a%~n`C0~19HS!u zH>?pds43QQXY$$UG#NfuC)%xk113ChDz$46CW@icW45z+lmh10`P4Yhv%4`t0m{7$ z&ei!BVo#sBs%Q|57TC5NZm*j_y^X@s`HluvB5QeG`_;(S7H~`i$TlW)R{Mp4`3RWL zaZsLp1O@&=rajF$`wfAjAtv4O?Gqw&q-? zllhORW;Fst8Bq6h-sH#y0p-W#6MXU1Zy#mSgFuS($I2*>ciy_0S@V-PyKD1VZ<%Z8 zP>C5XYlzlfgRbO9W9>uf@=d0uMB{u=58Zf*V6A^r^`js<*{+VTNmZsXO%EU^mJb*pNUASeM{S%3|0bcR>N)spmG}`4CGDOiNN{n&;fF4jSPyRbDE|7vbFm3foZUE67AZz zS=XvjKPGwg8rnzKLbgkLiu0db29%qywEqz>aoa5Vw0KJ{ckZBuw{od zkm~`9t_sWfzGPfxvpS*BOr0Gb$I5yDZb8fzAijtP%d-{TJ$I$jf{~ z)jIbzt;W|#0CEtyJ~ja&;fx<;gI@=sYFp$gg#h*{8zw3P&iGPR+7|+?06Eh(rhvBp zeZ5Nli;+1PPv3LB`ZwYyo!^yu|0gl4iZn=LPd4B011W70i{i5hdd6GV-G_;zq3QRn z#HvT-g2`$LdY&P+OS0EMHoJVtM7{0f;7dNv*rVCS^;}qFDe9&9X*1~vgS;Fi4fBC? zYP`P|xMZWje*mRp*$@*j(VqqI1;PFVz@?d-v32)fpEvij5WUU9S7-1 zpU*c7IxH$n#r+0mFwWYa8!2lYyU5R(-XYZ!1{vp)ZOj>R%P|2s@0! zT&If^%P%uR;<4WTrO6}{LTXqdj-54#)(-OJi$?`ow?=0}+R9{gAouxX;EYnCg|&=J*TIBdybIJ}zo2T$0TtC>v5(G3=SEb!fwEU`Y780x z@3p7CW1eflFDRQy$-!B`VnHO3T^h7ZS<%d(^Mc ziFoPEfY*QpT8i!aR{9JaHVMo2@QFEiaRs3nbZPaO?3^7fb}T738PBCXuDgw+ab}{Z z^c32}5W}Ezw6Zn&n19TD_6u)zu_Cy@S6-r`Wm6wAYmZvQ=iCd>fi`^U?3peco)Dhj zpVK)G;j=5qpK(uS-P;dC(ZjSZvi7f-{!mYa{_;k`(6@iCI~oGcf`w`S#&AmVP!#IPJez1gXl# zKqzv_3>ARd?L7xjXvJ>?^PX3K(IS>^eG1SU)Fmvmpa-3^{n1{-Ci&W|8PtXI3hxOBai^I zce)wV3+M|C2zCX@jaj@kN65~tE2^csp#o7=e9H_70Plvn7A=xA4PuRO_XxlRtsq{n z*$yPSC$wR?Jx9B{it@(vH{_63OTI{i>x~9lF5~*84zi&fsh{Yi`J8k!axg zfuc1qExMrYO&6fS<|b8qWshWnSo#Vg0#$ocIqFYoyF|N_?*|=a=yk+qemd}Ra$5xW zlj=1WI9(ggtAb(vowq-E-y%qq0Wszwt<*M8^h8l~E3p+xDiZypLTC*SA>=YibMWt~ zw)oBwocJKTn53!(^W}izjV+u;RShO1uk?(#-g%Ez)ofT3;74QzNJ@fWJ4aJa1L`$e zgMs}!lSRs9HlvJapB+apWNVm%>ZN7G;C#ON0FdzS2*l~h#$DG`%-h?lC!5WKAb34+ zVt2`o?3&P%_U1mU6^ZX<4xqkpxO6qc*|zF2??ntHZiE0AB5qo zBQJ2d?hi%zdvKn0+F5fgUtNNjBg62@-;XW$tK9Z>(0n0lW|)z4QQgTOapLYCd*Rf? zxgjg_^D&pzgm>28#JP!@%X3Vna3V))G_BSj=VeFX_`lPQh8oHq9I08=BxRsA| zGGfi~1eNPRn59~!in4dMHSP|L!6!|QKb-|%sQYm+jw2V&b2YQ|ya0hy zi#~b?5cjTg@2Dpe^H&~Qu<^m*;ic&Q&JF(@#R4M$mjB=+c>aiv;s5qhxc3g?kimx=qly|*@IaAPjSlX+g8dt?H-QM%r>vigf#(XmQsdYPL(w?no>!LfSaC1S zdV>qMkvBQ2sYk!W{V&$4%6MLKN=0MS62Je+;jy&j2d-|W52Y5=AgKD4opr1n4+vryDaz&d6 z-Rw+B1*DSmVf<6n^gt7LmIZb)7|4<+mwVqoPGLBLe=Vb1Fr%?1Y}nY(YAD8`k@76o z+{OV3X>-3K!*LW;=%fN|kwLaj;T%?PA4SbQ(wNvmIh@yy3V38mU(VoZWqsPIR6K+N zS98ucjD*dwLGnm2s@C-2nRlHz$@cKo*>c^o9mL_DX(%t3SPMB1NM2;`!M5i*kX5!YC59*XG*Cc!ZdvaAXZwag=%lab4VOD)m4A0V z{nSJbn5RsgKC2Q%sd_BfC zAd(J&1d9(D6^UcXXDTD}9PuzJK^|n%=lkY0t3;E!F^~?9%Z$hDFo?>h1;#$sR~3k0 zy%F@7;{XVBxkA#!&l#MGRn36>^!>uE>;BpIcRQ152(}w4W0(vil~OV-f4p(^4RaY< zCC_7mLmIX!+6(t{J;A~IE|vC_KL;7ayKk1m7v{b-w)G~%*C;v+t3 zn@(siS~{p?SxXGKEAzmy{Uu4xW5Qr*ZeNH}m7iHLsX~tB8$HbZvY!LzM$5%3LI{$cYN6vb}=9&nrZ5W`tICl~c5 zMe4%GHbNC-kSF@Yg-dhB&d5|{p;MS}o73{T1Axz!*eXOd7_uIWXtuh2ocpoIMMk2M zofwh=w|S9Fv(z67dy)axgY~^GC}EJIP3XDMh`scV`t9kf&7$7$BTi>mU=C4s{_oge zu^a-WKDRN_Y9eD}P2}={S|fxN%&kh&%jE{u_CD~VAf_RY~5=>Bj%|xm@t6K+oC7vDroPc(RZTRPwdt*gt(Vq zpWiq`0;MF~zcYxP9eDqlehJdoEY|FlwX%wcNhH?G=l^+MoKPj*x8KgiJz-V)mA)ae zhmlsn5AAmlv@PY?dRH7Bnbm#M3!>dL9f;%d<)1V8NA)2$)-k2^#o zoyEXnQP%u@!JHP&=}U#H*78N{E{}fj89(Cmf~cFP4+ov>rI#Vy+XLc2pCEe1^o)Z< zJW9TPF7Hm!kj_LtunwE=Khw&cKIfC?@qXV{VXi}fP>TS{zfXd|r~8Xk4sw7YFTClo zw13N{=HCT14xrm20`Um9>8e@(PBA!tF7CXIZ~CeNG~O#_QmOBI08?lHp%S1k`xk2F zAsyJ}y=1THZ~Sv#*K0ZMTBX-K6FLV5u(hieB8-oog4e(qCN~l1^^A52(w23{nZ;hj zDkSYMS;}6Zfl=cx(A5g4-Ol$>Ers&(N zB3a)X2YT7}=1f;_aMmlYvMXIgBD;X-RYcM6jL1;b@snlK3xR$t9JuoonuWkojv4b3i0SaLFgln%QLNhUuWL z(_+umT)EiJ3Yq)%#yptPi&`fVWcjz)9`%lPPIv=zQ?Yw>k8-l>H3;wQr!HnumYrH4 z9`Q+c(Tn#deB-4(gN|Zbru!B&t&ZMb_bPx zJqW8@2g^2XC$hB=UBB56EiKhYx42ta9wf5v*=c)F37kI)3ePO9;_nehR8GuwwL$hZ zFo%Sail;BQ}Pafk#JDBm}a}c&-hV_AC8W0dF{UzW3j) zNfKhGO*KF7t=K08nw$v3+fUIUSS1y>(2w97q_=X<1YVy~BO&Y4uwSy2K!9cx!{8bN z@|2hC!y7)H!uE#$T$Jh&sY9M_?}0x$Gx<{i#d8Ny5kB=y1Ik9xhUV-0Ji6T?2-|}Q zpqFVU6)o533yR>)Fi4l`^9PIjfT}jrjrgA0rgh`P4}3jQ6&u#XZfnr=R!ZLW!ad~8 zLP7U{Hzpwx0+R=YC(S@}wyex}Y^i{Cb-gc-5wUw{OD+)y^29;3jP{=zkiBySwn?=plP4+02^OEC8cqx( z$Xcwo?%#5}MO@u+DAqgE{Cd4F)jLd^ht1>qGR*|gPSO&)&p>Ty!*mLWWHM~*x|Mjo zJbZSqdg~2(eC^wePmlRm8%<>aZ?aeX0$TBnT!q9%DV?|s1^CKhIiKxzSG|Bzwu-xF zRDxxF?XF$1nb%6@MjM^(;uG9N@990;wmSOYepR*PFZa&`76?hRi+8*SdbiX446*_B z+9!=o==3KKh@aLniE^H}`N6q}FTvT`8ymSq#b|emOK?{FvMmLP6*s{r=d+nn%BKR) z%>%R)xnY#!V-2V0h2=@t|BU!VR3f*a5ws1H z?m>_CWgMVht7M@4bxDCDz&~)*K=JG?G*Pq@aUsqq4I;$p^Zv<(}#5hWV;8up&DIb|h zrHSg)$C&8DoDLd*8q6;vZN34l{{n9ACZ}?jXBXcLVj-%YA}g1pbeP<}u1^^JoUcyZ zT|OThzi{NH;;cQH)%+OzLb`;6IETi2yl1W>w#;_<)$txQqI73>-(Mvc@7LwKH7Y<& zlZy%cvh;f0W#r8N#L}++gFp+&Yo8eanQbv&zDu9hM6E0cgc$6gMVrZSl5Z*_;CM7^ z@wg>f5P!%R`VAZW&Rf9AI73y#E2}oMv0jiy8Vt3q92Q#cBcy0Ic1p}iZQ;C8)F2c? z`zel~#dC6}?|Vkft%|$ZU`!v70sZ4j5&}@WxDk)ZAm}<)a$_1WGJ0xf{lF{^f+z+I z=6HAGWeaMp%@0Vem!P+R#6U;kNAi)sgFZMu2`mQl?`%s1Cf?r+EB{|%*}rluXXmS9 z&NlM1@#mXeyuV$oysGo!H#Cn2`5%1h8LT!xC_N{4FvcxJC>Uy|KuymITBa0SbkYgQgJaTBBli71N5(05o@ zYcyf2dV3{xUE^JDcJJcX9TN;PEIm1*MY}Z2Y0W}+M;6QDb0h{0(05)fA4BCvw#a)D zF9^2gM$RIh39b8o3BjOmjxRasOB=mwO4O)Su(A_P9Wx)+XJkf0A>y5DX{TCX(&oLN z#UaUIoqqJRxG#JpMrz-aqgA|1p;{*F)APKIy^noV^WVv6V@G`LhI^pdi_LA~7_Evf zlR})bSl#~hTmjnKxqa!Z*dz)?O^ed!^G;Ocsv{o9@Zu~EtNfoK5eUIvu$P73;_$VU zHUB#eDo9?z6+D=#a=jt(>7*FDU!?@}4bBI_aT< zg;Cn6nCoUWlj5ldilY}ryV|9-yUVzTlnQ03)mi)4B(g@zbGsCd+V!XhBx!FNf7CmQ zESpLeb`%eNc=hNfV|XiDRgWBDj4#mtyv!I(zU4J~cdyQu)#8@DJVPRnO`e0M zSgz)G^+nToWQnzhM!$}=O3!UQZ2Aq?&l-t{myOCaF3oe~&Vs^&oVdnu55vm7Q_Uky z(yqn75Ey~QtFTLo{#1FKVVzg}5iMUokeSRd4u=yVn|C`rltZ>M^kk@uTEjx#s=xRV zIi*OWcZc(lTmpVl0D$NvlY@uN$dA6LhYR}r>=Z^{CZ(*+Z zFMW&W17wZXD7W0CG*xEQyMw=G$*Q(KGLbv*u@Y-GN=P&1iY3Uu)zcqGbg2JD!c}fs z?m5%Gp&V=)JomdfY)n3Ae;VNx5Y6X=iL|wIdQBP0R*QF38ejV=;dMvm!{Ky4Q3j5& zhk?@<4(#j(BI+$E#Vs=oJJCjO)sev0#B>oMAsuhhUI<0kTGMq)!Ybr14@_la2oBr~ zj@+tVG@;V}#GDw8>Pz1f>(K=lUyv9%`8HS-%`RikAssz0Dl8|OIQrck{M2j9s>yKy z5-rB{M?n~xDhyOOtwaqezW`!nks%OkCZYbOsU(Y z?Ya#Gl6hNb<-aFA27KWRnbCYkEeo0_2feYf*52I9&ve@d$zKcf=C$=_19BGxpcH49lju&QjeceL|=Ar-4aL$0jC$}~wUlpxSk%YrRy zU1|~M9@FC&lkt50gtEXgG!^$$_PuY3!q1Xg4uKYx^yu0}k>1x63-xk5iD^l2VP%Qk zYX|4U>SCrMErZI-8!Nx2x)MCf;MGGAAJx7h{x}=^cU(`{%>49i$Se9o~FL zdPV$#Zmki%^<3w!go;)581z%A<}|+w|M=9j_Y0d;eh56baTTXkbK8zsGvCYA+T}R# zhXE==3w*UJ@CpO{t_YCHalsD_43znPUKlTWipMC#;2%{D_8TlT4r!NvHW@A09KcSdj4&mQpnADGsZ28GULAK6u^&RrxFe)Zo|n=WMdT z6Vr-}mnOxzX0#Xz)2PIz0I!LBy0T&Vcl*AAP2a;Z8*m*V9;RZ`Hb!6^ytrbfK?cFR zD<=HVLc&+RvHr{3dy5rz1&8A3)Vbc!W=Xb}Is`4khyJV_c>(6nhng5+j)szE8u{e0 zQmTHc{ew=AX;As(<|acTFvp+w77&Waar$`8;{;G*{+9QxXz^uu*`1rpf%UwmZNSc$_^fA}~pW(6m7 z7q6-m7r#tk**RsI^)&KD)u_RkmHAvN3Y6_@-I$SBBsK0Y*AY4ivZvv!>92*_of24c zduv6d5FVi?^BWksqZe2ek&TAACY1X#W zkZ*M~sP)4V5>Tor4XWNk+_iz|_vKWUUp1=gYJ8T{GrtiW_X~GDd%5QG-a2;os@lN1 zho#3ZVxMF^TEAQntsmy@5lAtfSBjyj;kx?LV_t+PtrVlVeV%0WJfIv^vzBQdv8-Og zhp0o#ngdV3ZvjiuBPC#Ay^Hnh-rCycJ$X_^^PI(Wqm8nbCu76oqpfoV% zmB&=5fEt?35o>x|Nx-3a^0~;D+BTclwRVmVY{!}NVQhYY@~Omh-$VJ+-CK=(42mV| z0kFBMr(wnc9hw;e-ZvK0I3@-@`47vUjW`fbE_uk@1kn($(Ae zb(2yTj-$9cQnTRJ(_eD(aRu~yZL$VG;sHG4dOKoAt8B0G6wy_{tLe_ElyM-P5>7;% zHp9Gqg71?(UM4H_ONfTUF_Yp=LT{i~^=@yRP#6(yBU!*+ncmwD5>w+D4bW1}m;r;Z zM~>^Iz0ex&WV?zKxF;{S_?3kqkJTb%Uv)8*~AJ9c6g1x zjdI9m<#fz{O+BJNj*>xC*NI}!cPTfdCb>n*tdo*s)OTnfI_0MM#zR-mo;}kRp zRil+}nTh;)gyx3qoV)3?)$vCXp5EkkR(j*4I5R=lax%#Ckh zzFm+|)&IO}CvB@pe+)n65$x`*`WEYs6U(R*Tb0s`j09E`8+i}Gq%G)tAsORL?d9T2 z=8(9hB8y!VtM^?r-qqM0Lf)6ibLA4!rfDaE<%P%Vgx>cSlI$h;U3_okyhOP?y@6iZ z!4^~(Dd&2enFPmRRrt z@>7IKl8SvBq-LV zu^r3%-9=FE(#`yZokoJ&z8ofK`2BORgys;zaksz>gy{RzBHn?(S__lKG4KMA?swxFc z%&~&?n}Yn~-0I3GelUrc$)^o{92<%u;za&DrM8WC z8!3^w%E@qyhi{ z&{soEJe*yK$CR;}nys*oaIXrhPVPv-TQ2DfPavt#gCSTJ6y8Rqv?sZ3n2f;R8Gv1r z__6NnN8cU%YG>_#6knDp;9-mGOaGLM4H6{4k4mt7?sc}8Aw|4g>d_pYgTL$uGCcM9 z*yANR6yIezysGNu?_?aL;o^}kXM?6f#QC~d{#8tjcVI@xctyGZMr{o;+>wf1`4WOq zQohy5+3x)gASqZp28-GJG8yy~fky#&H)B?KE???_QN^z}Xj#o;THO2?JKV`#qhRG5 z6@N6xmTRX*V%|9)Z?0zT+MMeu!r+;BnDEZMZ=GM;9m1;XUkD3JP;cE1ABQ48Kz5t^XN9RHThtP zMbqx6&V@y>SoBC_nJ*m2DdP@pe?_mJ6YUH1XX@!+g?O5+)4hPP9Vb?{Xy)+uv&EF! zMd4c>Pp>bRgx9`2qY}diEnR6O!lu52P@P<5u)Jc~7{7f~G!3mC06?*MVehvh?%;%UW~$e0=8?N{@}+887;?ce{2vxskqe&!tq# z(In(ySkm+LTL31cev)zIYc4pq$#__t5P5FXMI%UFxUduMih4xHT|;$ICA^!Ofxy(6a*X$f%qMc+U5Yw`yrk865F_z~6@Eigfi z=NCv5#bf>fCq0>ee3gPV~n!LAjST-^0wPUiZXVy*~v*${$h>Iw3p&Dp_U6qSMWkvT4r2F*9OOIsAY z<>X?1KgZo)-Zd(jsD-oEI?9p~XT)Q?c2_rpP4gG?sxC4`QW|;KK!2ZK zS98$RT+R-y)~QpwUbhpZCd{a_CKKtscSHlBkeefM9M)ht=*x-gK;u%N=Etdl*<=LR zsu%|z3oa3WLqp*}I#iqE=ih3x0Xs_dzGgr{Vyq zUH%z1Q$>!)i0f+KksJJUQyG73dNu-q@r}GC?*;T)*hN8|36@`f8DyX_q<0x#K&YCb z@)3H9PR_mg&uHjhz|kLXr@x5q9D0*3HQeXx2dht)Exz<*xuN*q&`}|27pOZWSq7?; zu7$5TzLw(N{6yl;EfMU!zYr@5!!t8FTrOSsh&I?u$PZ?tj=I&7Ds5cfcWYR|T;KK= zJ9hNfV4v}^Hvz&CqEaE+;B>DT@}x*5@|wYtf63VHeaje>IfxrCRNG{@CGBkD-*q z#@TO(eP2h(T}5QnZDNLHM`WSsal4wuB-uHKODovBSw^sz!E{(t&j%wPEEfQ_77ca^ z%IdB?l~HlZ-Q$podetKuJ5^~=5E>f^3y@){aENuJ>*7goB|7|Rnwme7U(bV4T98_o zUh_g2-F2U;G0?HMMo3E4OCp4ICgDYwYeA<2ikL}Msw+Optyg}Z$)eZgbYbsX?f!%_ zK#yg~shhCFHI!9i2d`h#nrwiYYQT@{>Y!mwHZd4<5^)gSyU_f|*%qnvNMqji!(*PB zrKFh1m}>Bb4Hs$?aN1+Q)o5%O6y5&8wPJ^2ZEEKUaLi0R3q6#bB=T zv>4r;1`xll_-H&YhsZt-nbXx_Zrx*tMj1VUgr$0sD`cJIrk*?@mJm0chWGyy4%&2E z;>p-*rCwF7l=IV2&K4*z>64aU5ZCqV)Vk;4QN4kCh`$qgcJ3R_9KifTRuY#V;$X?JbJ6w7T@Dlvk%m zKSXQKR&pv5#-rXIPnUM8eF>a%ntqK~pG)wJsq6YZxe59@6-4;=GZubnoU5h|=8pV$ zVjdgEt(ZKl;hNi+Ohq%~2vh!Y7PIx;1u=tC;TWTEkH=YE%*yCEl66_OSo!t;w07;$ zP_Av?yL)%4og~>g#hXb*k;;tSNRDI3W`r>eB3?NRgCeIG+pd%xBASr1NsL1=;~0}f z;bqKV6f%U&A;w`QjAp#g=v&_(-}`>w`quiswVpN4de(i<{oK!ex_;O1y4H2&)Hz*b z1Tg`-ANlS!Xpf|p=dLZ6(Y>qWig%HXOR^y#y_$>)UuR%F+w;y1{|4Y&l|1v8AOTB$ zveC+@hCQTCTY|*B{u4==-ccqh1aCseo37BHG4D6;KHC9h9kxwI(7Y7<^CC&6fI)8_ZTg{1L#JVhwmpA)m4D;i5dTh4lDh^pZ6=~VA}@ky(%No3KAMLI+}925QB)? zY1W;ig4n2EOC{04mX34)zfu4*C&|Go)$o6L47;^Ht(*N@jdXsc~4~c5QQna z-ufuz*#RJCFK{H1XvEe^{tDdmq{&sjbU@|jNY3>i1 zqe1s|4n;0>v0&pKeeIzCrv;v1M=&klbDH(hz%F2z*QXy9mg8{UE`YHJ#dy8bGOU$8 zglBiyf*Bx#Y+lNDL~yj1@6zMtNMRayf4_#L4=jCU{>T>!tAh+4bDbHyO_LKYn9IdL zw0`&Cx--1oi6X6pX1SH)G&|gtI7m)a2k)JpT>+ zJl4Ccp+9|y4)+Gn6u7iyMYm4I6eWRGN8kG9YvbIu!ahu-VQHoqD`}2WSkmV=En5GG zDU#nF4Awzqen!2W-(e4aU%;7`())-k1y}*wvGdp1XNXi`EyaHZMtxapkk6RvDi`D> z?&){EE(oLYiL1FU`B@IX;scg=h=98xoDtt(X1Md({1d_Bf{{#lnaSkFhNa`#=i&(s zDVwoIy4EeWu91{d9r;7tLoX*QkXseZV*`V{bC0#w{>T;vO?Zoh1JmLgZ|#PRCs%VX z=CE>N1RvK&`JAcEgMMma>#j`!01N2F{avaldCCh(0OHN0Bo zFWb{z9_lK6+A5h-GJI|4NjtS#RJt4uZP3^_sXhwx(AMS7tD`u{r{56f3O#AF0Y>Dn zSE$RB@!1|d?RIFb76uccSC)vd7}QM4WmcDW*tE!@n^4&+*B%k=Xlp9&X2qNp$2-BBO_{m<96DCE#h59vJHjC z@U5yDOPsCZ6GEYd%^sW!MNJH{<%GdDZSZV^I~elX^(@P8g|+xcJEh%Yi|88d!->Y! zK}YEZ&J1X)a!b25%c%m0LQ{#~7q7T~Jo-GOdZRu~`k<5Q`;m8^Pxqbx_LGU&e*KgtAr|rTUap&K2x- zkbc0VOJ}3>|E6nWbAWf5I(ArSK5bwM{>5es_DfnYy~U@Ng)2ONc5 z#ASkAF;NY{E_rbhPiEBzf`w)ua`*Imgjo|gtsGAZ(@}jZxJrDiTX{H3SNQ;l?cVkc zE!!1IvrjtsNR<$LBUUTyEHz=rpxzziC_4m?$IN9Y&&}bvgiqki z77V(ixVI!wB=l;l)I{P(IoUd7sKQe524m1Rl3!3=cs#a|!tkNdS*AAxPATShd}}$4 zzA%U3zl&~#zSh7-jDCs~TN2Im*j+>B?oWbSvCX~iro~1^BiohDvM5f_J*!WZ zjT~|b26?+;^cYS_e1|_~ScHlG`8- z6}w%9@3MH@cB~({Z5?o*_YnsmQ+te>U8C`bl|y46*9j-C0pF(t+T@3|I+k&ERKVUD_fApmEfSk zMq|-{oFM@CrXa`24G0jook;?T8r9Y)X;sB#$0QBRR@2777!o#J|L^v<$r2hw>h{~> zw-kpje0J~CiylL2O2vk7J9;FqO|Y|5QcP0cj?kEJ^F!3s@fd$@D%gmF-j-nhGfeac znP>I|>%eT>u?Qv^)l`~C-gTtqaU5L2iVRxH%I+IY7U8S9{5yafe`zWd6GkMgsRiqp z-K+6sZqGJ}Mm<|1Sb26yXKUpENa;vuGhxp23cW8+TTq|k&z*LTg)aACgtp)NwI^t{ zh~pOnbQ)46CIIHvzW+qTyjP-|p+|uasma7~k^xLX=!bJG(r6btRRtTamLy9iZ6v12 zb`LR`kL}Su-?xgKZwWF=k(y4!Ug8;{fmSQBSf-55>Tmx_*IRF6RMHj4-9WH($zc62 zZ3n7=*}o1821hUe{R}{J75|pFloUS~UcR+|PduVV zT`2x?)#DKD$?GTGpYx!LqK|re0kVV{KhhNlgTwUmy`pdpYM8I{-Mz|&fI>WzFmM}} zV0gN~cD{Sn^u)SRb3AJ^&)lcS%tzTq`6qDXM60?(;*p-me=U6}>b`woM>ypBj)~~y zAgDostXT)IM_|rms#f)w_*9)?#9?v-QC^AD3J!@h#SpVWC+|Ur1KtXk_6~krk`0~j zs%K9`UEK9E<@l&<9PY-8V>?m>YzmdAUM{_4DXuWOWRTLy& sg(_VQsT%Nc##KXBimbGseiis~-uk8TOER*GsB6b&7l7|qoaFRf$;fWB zlYY*0ITl!uk)^(pfAvz!%VYxuG14A?e}Knai=#STQ|t$XBl!a-1Z5s;rlV3udh^<5n0_UT*p{p=lcwB)|T@EWav2f` z1l$o+8Mnv{S=D9qI6l0>An7lKLW!ThLQ0T-g@R&SXsd3%`mU0{9n0n0q=#pLhmzt- z;dC^G1qB>;sN920Ps^?oK6gRY^(>I$=AE|lz(+vlO%_sy^FcgkfRFo60#A*;e4s>n zdikmuDeVij%fNt;k$sR#Bz^pAR_2Y7LJ4mZ(kmWXYmevdMXF}%(dLWZB#W(YQYRm< zyF49ECA~i%^8YNRO=;LI;WSsK*xe7&|5O!)L{Rch6UoRMp8kzD$QXz8h1j3gbI^^r?Y3*&byE~m_(ql0ZV0AYVj_nDs&se%88w(q;|Rhx2+2{Ln0?fY zn_`t5%WBVW8kepll2gQ5snF%WHf_;>9F0DYh`M?(MGchYgztjjvaIr70y}C?|2CxS5xi+j;!#SfoVyx~o3~uGZTNG8_!jRJ8bOHcASYW}h7AFyfY3 z7$k<49d0LrABc^&SC`3}A__ZI8?e*8m)r)>qw54*&KBo@0q|6EV^!l@m@oF^co^e; z_=C-p)a^!Rf#M7HMuoI+RYKF+F^}Xn-c6KD3PI~&1EHdPffv}ttb-ri4PN?54u@k;y%>8A)q_|6*aMRo26}4CmQ;<0l?d;IN=!4yn@p#Rp(oe@ z$zQ1>zk;vSSDsUKy+_?H+U8W+8F^)x)AjA%F{O}=&YYM0P{lmKXSI(yO-$gogT&LU z{$Riot?}6lpLcIPo({jn=+(Mc-08pFL4(4!?-NT+2!GIxkCPPAgk@BVKkJN85yKjl zHE~fwk*mw2W3_)wQ}1O#hz`YXJ3|VWa|@ZoPFMx}{1l){U?IC~>KPFgNiSl#2iQ$2 zW>3{9P{U)O8@|o3?llnLzpauWhyZJ4Fl@!LX{zf6 zt`0cdEyI5`E`*ssYO=2#^<1wwDSI8mZ>=M_7{b4P^&1abq${>dy{3~Z&M5|^m`o2l`;Ccl-*#ED6BAV-z$si`$dxa*QkpF0QXS4Cz+E%Ou`!lm9m#w6tvKbe+9)tpz zzT0esNji2gmfRBUo8Td^!MJ@tIwfWO;1BfH-6S5%k_6ff4wv>XTgSW3$+sO*KOxl! zU4f~R%s<~sDUsN1`6S->XvVxUv=!P*bd3HO!Ob{khgch_m>&~5G)578X8UdsFc}1S z!nv_$lA_c32-B$|8uVc-^2UMpxWis5{V#6FR3S#J!4!kp3p%$P;dQX>Perg!NxqSO z-S6st_9d9)`+JAG#uT0r%-h$Z8(ijS8UdEC@;1!$gA|hX*HNZ86Qb-v0rSVsO+UFT=gs>viD0Cj3sDYv^R(9mIK7nK~6_edfVB24On{pBphXvnCY>z2)rvY$ zGh{NIICkXli4S{kZ*9-BN8jm-a$ z!8qE5_q9~$(PzwAFWpy`jxkTrSImw-40?9;T5OAmW2%EciA|f0 z=*Pyw&x|0hvc;XRgV-KU|JtmL9N*wJ5IVsVy%Zvp$DRaOFtoac1FJOeGvp*&P+Uk_ zUbECm@NP|2Gvk(^=kbw11BPy#jmslk1(OQCCJ2st=2t3rP^@$Gb$R zv9%NIW*8>ALhK1F)(D z?*{m%LikWxn7Mn0p7gC-!H#a<2RmusCC>5(qYGp+XG6`q@T0CSFM`dUJQPzJq%6Ma zUcMPftauYeJ);Xl{6v*H`a9;2IUeW0Rqw8CRmfj-LRv9Dt! z93)Ch%?Z5B#-5v0xHh=%%C2PE(7}miSq*_$aB(AOd^kURc$zMoxeM#Gv)}8UDddlp zB^*ko>>XvObo1xISRzJCggR{J&U3^C9S^pWoXE5H9|F6MZrpi5K{*C)!IJy6ruc`n z_^;-tG>i^{*q{D1V13a3E1dwwSt>`N#VfE8jc%2?B73ap+7*=eIow{A1ja^gj;3=h z8P+DiHFR&&hR~!c+vxW#cX=V;215-p&LBe4~5mA6YH9Q^Y>=xUB` z*UVO-F~IqNHfYytS%_}As+SB@8&Xo?n$1vK+o&~6Ix|V+>x~gPXVIOFFz@VdtZBORQwsy)VrOivWp4xIj$DS+_HY>vvC$-og+Qa-M zco)pgkAQD(-{U@dwkG1R1|c36h(wY9;K|KrOfE>Vim331%x%u|KF&k&$V3s)v5)1W zB+*&MzQrjH7zgpe4t~o(c{Jp=0+<ag_5ap(<(Epjh$u@j4F`kdp`bt>_hWK($AVqnWbPLz9fFHZUL(d zzNP7jLh9JDWN1uoZ2rZ)?})8I$T-7xO%%P|is{L!OfwvA>_}XTii~E|oShABYb!2y z2DXF&aS7e37#6R4z)B#?zq{wjA|>EBQ|*XE9rRXWvXtfXak&}C$8{o&7awajY(hEs zeV1tO23PM5WV=}^B`Rqm2fY+VG5GYFg-HydH^+TG{MlH)lBUq(2BjP7}nC=i&wY@hEp%r-_Z>h*rPzV=$NK3akl@# zT0cqOt&uqFVGX}Fo`K?(ACQ#LRP_@Yqb{3L?Dq7#s2;5YR@L zYc!E*q#%l7nPqjK+t@M!<`oH|#WA5%vqewJy07vn$wM6yC0^R?#>VqL!WH9y$cF66 z3#&hoO4qMnFUZaPUglE0A`DvFUXJpTWl7f)kgx5(B6f;|-dHRwEIfJo^rsN-tO`v| zQhq*-Y7}Y0DMqnM2l}1amwUEh+PW`Rbs4bP8st70cx9RF>LXI%-5TTxd>g>X=^?s+ zuVlZa8lSYi8leg%qMPJ#iwNT!Q{t3BgL~vU+bLS=Zwz~Q`Ufre-{Yk~w$_2S=KxDD z?)PuB{`gWa-1a1t^E173ry;>BTISpNN**-i ziYh9R0E#lB)hK8`t&L)Ws1i>f33t6vYl~!(zzpq4>!SmJ%cY|hg%8mLkpbAc*MFjPx`1GjkoSG6 z1qT&0miv(jM7^ArCWJ1Ub&G`c>*7Yn#@2>aCEaNhVvg?h{{jjggsN5biM>(@|L z!x$5OSF0a!Lq9)=LqW+@R$na?Vt*EsGt4kz{bp>x&TwiPn0>9ONiJa!pAjkBDIUgc z2s_Ane-)PJr9|we>ce5()7u)6Nl%g*Cbx83=Y4wS`lwE7+NTMP%Ri|Au;vnT_ayI9 z-)G~-J|T=EKXVdC&jwMeRFLnaux%QJv=!8bpfS?}YxF7tNzD`|X_JlP{CEyVAyvYH zv}-Ghw5n*DTUuH&O_$e*c#M#%i_1@7#q$XXjngOb+{&<&I6$T>rR>{vy_6;N@w)p) zCJ87n@N3Xc6E)Z{F2DZ?w4ime+>DyX}Uja<=nGl zw)E5Qj`Y|bzRe6ToOGTD=t@gk;jHRs)~Sfy_yFqm$7|tzeTYn7pMZNTlp}YP>_~)` zOj-05%8#}>W+qvY(=BS(;4h=71RB<&R(?D~=PxZ;$;S$SKE#QMDi8VM9G5YUe#l}g z`R*!$L$CA`{ca(}q9aFPUt~?0zDDJcw8w;uxZp{z&&qhH&su_ek?2H@5XQBZv|q_2 z0Of3oY8~M&+W%?tM-@=U+#5#~9wRNNj%DLb{8;oOqGk%2z$??`8ZZo-7PiG|l<-)$ zzJoP)QMe~E;Wox!?b>KD6X(F_uA@*5p80n3Y{Qg zxm5h)E6bCpprIBfP&Z)!){v#|UM89Q6XC1c0ESme*QDp^+v6XzX+%@zMxqzj*$#fZ z`n3#Hk}NzNsHMH7&q}(ed;T((BHorzt~MDp!se`8s59{8_O8O-?_3#ikAo;bRep`H zjE#;VmDVh51mbP%Q;14qZ{-~}dD9>29qB^xe5=ah)jY4|cQIOpE_+MqR~Mf{WiG@V z{Rry`cO2PGTJ0fXe@E$(KPJAvD$x8jN1l#pD0@;~VSqiJ(MwY~UN~RX?y3P)=cMau z2Sl&nb!aU7PdqorvSBIpvJ+|Lx61K+RjTi*W;Er`>^WD~xIU256CeDwDK+nEl~&T0 z0;xSQxkRGBXLOANswheVCzqC%_Bk|kuvoupFTTvL1En-OJG+%_*4^D*0pa@gMdqCa zX-c$uZzJu>Ry`5;G!aozW_chN4u$d0A2;#sL-8-Pbq++0Ep!Yvc+BW|G63lV)ZeX- zmDqwn&cJ4EU|>+~zOLixEEka+9r_asRf0YzjlcC~PLzZT&C%T=qESThDfRirOH4E6 zBA*ta{;yc!zoA&;%C{(?*d+x|BNF zzw_r!J{Z_(Z8Qs#vvaVIejR&LCY@3fr#IeEJY#$b$R1wIvl=LYcImlsXSo0_(=j?U z*Q9L_TdQEV6)`#+-PBFKcF`{v4pIzdxOsMh=i^o>ASY29>Bg=T$#tmA>*3 z9xVDQK6j3piVU+*eJ4dCRVEZZa!(mq$^)VbbKS zUg9b&E|9O<`3g#37dgM?`@vJS)JN6S&`yi~PcnZ2@Xpz_p&FdekC}OAjCH7xNKSg7 zJ#K?Q?b~hU86c`OHNuxrc2S9k3|*QtP)=sLOX8}e4o?MUAO@eE{SeXcVrOTk3De%* zPFM@(U}cpJHv7SIU0&mmhIQsJP}`DS6vKEj*6tBu#hsWPSu3;#_q26)n)d6fscPL9 z`ivd?sg0X*{Hfddfo;vJQ6WPqJ!e%U6DdAayjO_i(@QZIV4v}mGVR0Lp{m}r@DAm( zv-lJ(sfuO=pBrCEM>K2J)>kQl>&Ld_hmup7d-QlrI5i=dxNbx@Bz2eaz!rg8-(? zUA5H~_rt5{s zDxNy!kSGN_O#E7vkgczEK9WMXmaa*;ckA3xs-fR-e!rBWZ-QHSXCtj2p1lHL)r3GDqpVO&DvZ0%?~$ zQ-#s-CAo|Zhbl?d73y)D!I7Z-AH55D%5Ed9-(QOw98r6hl{iF4dW2UBu#=XVn#_GA zuUvLJvk&_iP`PB6%}n!t+dI5FvO4!AvfACv_HC-~ikVI9($j;f1W)#Uk|`lZ%ZrT(Y#f*b_z3zOq2<9DjL&tT4)?3=Sms!Z;B%JE z`zj?h4lr%-fKtiv`qAfTH{+f=*rtQ8wGQhwIuWiVREYw5DTn%F_kxu%28)fVPuRdk zZ?ntPWKoV-j&a;|7g;kW3$Y7NBXa^KEu&x_K~GWehK?2=Wr_} zwuJGUV9zmk0nCuBf=jV=V&;!XW1RMABNBPrvP9I$24xIu*Y(DU{74RciQDq@kJ+1) zMdI@H)@cVd1t8NB%{BGNnWX?0&g!v`z;d5)`{jSQDWt8-SUX^8Sh61#p}Elg1QsQo z3UG*IGMzRCe7ENEg^inv^LaV19^N4h;INJg_&C~@oNvCB2X7^9ws)S$mse3l>rDoQPY45NU6sdjKw7c~HyIhBbsVfD8$g+} zr7f9KK3(X^(UOVK!L7HXB+E}c-d2k=HlR9awB*{q2Y`4Vl6+x!z@Ia{FMq7YK5 z|J4cOUx$<7r1lUc{qbKlH`yxd{hH z8obA2?CxYyb*;Sq_=e5$U~$`IaHUXVFHo6)-FC{yU!S%ZyE-(@#$3CT^H@pmrCBJu zMKbh2J4-`bVQ5AwkM>9bJrCpS9UiUI?P(HKjEEAmg1aIcUow;H_n54el3F2?E-L4@ zs3>IW^8W3ez)&lyev|A5>tu`4fjwBak!g{VyzO*W=LmgC;%tFYg8|H1&LFwuX?)>` zz}dm3idPW_mWER#LST9Fd!h}&zTecYKSIc>w`C_U1*>anS`hkd(BGb0hekqa;?d;` z6s!$)elf%G(`wn|z9_1gxWWy5ZsmBIIb|QRyhUB#lad**X7g^?F-K zXeWcMlCo}P<20z#c9Tn0lc*%!xgk}rD`zp2#@zf)6`-E_qS!LnRDis#pBny{&AsE~ zj0Yv#8t7*~ZilZR1x5>Zu)NHYyLV2frPE7>!@a1jY{j)_6+p!v=X2DXh1^3eew6d` zs#U6z0!2L*P9KRY%ukoE$rsTs+FP_(d@9*q%?8;2Eq2&pIErj28N+)oGf8NzuBV(; zfi%z>AM!ji4|35^HGKiL8WRa^paADkhW5I~9lI2=3ndi&Y}TU#ve%JSVp^m{PyS>9 zdj^(>2fAp*!DA4pvs9=7!R>3$*EFK2$4QT>Bmt~M`yhABIW9;`bh+oNwjt2I%W?+<zrGsDc@ugRYj6;3dy>v*4`6m2Du0 z&V2U6Q8XG;!okkIV@D@vVv>FU_VTJTML8`lEC3(zSA-0vt)bk0 zoQ_f|&4U}1HHS~d0rc%N>@QyHR@vC$t$ncZFz@?P(U9?M_>BG0a+cr1ZwC_y)_ zpbz!rjtW0)+tc3G!C~}@CrY1o;yBQU$yeP9n$dF`bepf3XhkTOinp7~tL@c#b{q6o3Tm>!GrFw-{ZP-_ z*@j{B>v*1oMQON(glnU9^*%I`G$=fkGAv5xcR-=kcZ0*JEca`-?b-Ehe#rSLxq~$p z6{LfsOUTIw*8ADU+;R%4jqDFc>ZAT9g+%@$h5Gnt3Nc1uN>(H!f#^Z7R6NpF1wtl9eB zDAG2*B=wy#{Ih~CaVp()*ZN;spldAgK%L2!-vC6GbW04q-OWlNMVwTm$#DWdXx`kX zNJpf?8_wt>s*Z*b*z#U`2~KCGLTt45J5fl0@lhaxL${85r34g*q7^I$S~P<$(G+F+ z)F%5MWLLsp9$lj@aw?mjD7#aDdoPo;;+iy$5?L4Bp0{Js-)h*^jkid@PH7q-GCTy5AjZK^w_QL(v8dMctUvLcV@SsJCO$?gNH*RG~dKWg~LHb2ZH?Ju+``nnXp_vg#n>jMNAq(6Y#K2S1=u7^w#PyOdcICRV(hL*-mI6(E0Zjk zwGOq4C(6S4H}OSYY_g!?nE0ditKx_e)RtQ`g;+ifMnz|?k7BJ*HYSg96z6EIwnH0R z@X4Ae`C2KVjW^?0qT@i!tOIFN3NHudYN-Gv$n=laV_Ww@TVTK@KxSBW_a z+!C?HowAsbC~GcvI}$)gyBs+FGPi;eS#g!+7y%tu-3 zk3IQDks$E3iT%Ru`EUhHlYi<`f9OhELRBOP95b&@>g89b6AutN`)*< z*fmofa4jCy`#<==#rf_bCQYK-KUF`SCgKGWk*ZWz_dhy|kz!(5>xI`8O!&v!H8#$a z0H~K)z}7jzG`I$#UR>$px#~pX8?+1!P>X=o7b`)6O4VZpbp{5h08g`{1L|w85b;wH z>XN37f0?UnsK7Ns4lb(Psf2q~Hqrw*E;s)Q4*e$z#^{6;B$IKG&#tbns(MLGJ9jY< z;q6pt*hj}voAqtBhZD`W8XQ#D7U7b@R;JBz`Wm%Gv_ zKH=t0Fr($YE`9arN1#T0e67*&f&B>b;mOg-6#B`SEZ^p;s&}sd*mM-6`TnB)e7Zz@ zY*t|RT?2Q=B9@L^Tgw@C%X--tz}R}I#x$2{8whU(^uUmD<_{^*p6ULMoTNch1X7JpA=tf4qU?xc-#8jm`{vN&R}SL28xJ?%THj*`#gYs#{bW zp&C}>g^$k)6;(ytupTkUnOozsJMo59TUmwFcs9^YiqP%7r=DDXWDgl1w+4p#w^7h@ zB{>a%(9jd=DcV2(S&%`3eY0%;>Cc&h&9pRI$%Sc$KZ2Z%6mqT(+sYXt*ElzghrZpz zy#0d}6?MieE%Dz;PL~6)Fe_~6*5`Dv#I_i*K-*aszAKKNiJXrKm7C}Di8A~A5?ycZi zv$jXt`qwC{AyLayPWUOGffcFD!NC9EFm4S0V(HW0s^!MWeLLkaTI8y$JwY1pQX6Rj z3(ql9bigtqKn3B|o|Bk4_tEeD51^CRXRKy^p5H8!2r<3 zqh~xdtg{RuyT7^Z?~2yYE+c5h@T+b&*uD+(?1_aK^BC+!A0(3dSm*PLcTmN#blJXL zK12AHP8_Mk2SiS2Utt?p?B6XqdGiN!ijXc}-9Eb!YFpwpY0_#0!=)z~9F6Z%Jz8yu zV_Wmaa5|=WzOOPrvtRrT`F%iRXxqSkVz2b%?8*wqi28vcVJ(g9S~+TJBCJ~Vf5%un zeV*|T#^Mb18>XRBdxC~3+<#jKpie|I<*#AJg{<`8GZ!Yd$5(ph_a$mZZBHhizfKRY zq%M?I9d+;DT}vtQ7Gdv8%~>4`skSo=nKK#}kP)%Z5+&^sDmkDtHPI<4cF9n-VSa55 zjX4L%q)j2ac0DyHzPa;_#VHvI5TzG{i*Egp+aR5f=V(J9hy$>?dNjbSd3$@$901I^ zzk7RpY%E`ls%zVkhl3^wB?tVz#lj^*&R&(F25f+O>j%bV@n@J`l6Z>nr%+*1tWR_6 zug|)_fc^g^N4|1&c4Jz)WZXI90(PDu2ouX;14ynK>Ao-#TV#gfkbpRzK@wSu9o+5vR>%QH&C!z8@}! zJWkx9n-0o%-R}T6CNB5d=aTHY>1?#XNWH1vJs-*(<~W{8=UBIJwxi$*rAm^gwY+;fo`mpTaJ`?z6#_^712C_+ftrc`Z>1i>Ks?R6oOG z64Sw5|Ki!z_CWCP$(}7UK)sN&gMMhdH~sQQZsc=(H@h!N_(nAJLw=Rkeu3Thx0s9Z z1us-ln@`1j`_?s%WnT(f_ws0H)s6d0HmdcdRDp+crXR87D-XMyQk7WPNtH7FN=g2{k>er`+@>S?63XaWMs$GJp z)PjGnhhd>)$9a^iT+K<`WafKs(GZ{L%rgrY1SzJ7r&@vs}R0@_Flz=VZm|2B|6mew3Fme4R42DK8V_V@twr0 zG66Brb7l#n*+zL46+%m5m(xii%ms5%=SKV8m&S8=7 zair}hty?FF|74qTc$MTLkh9)vL*Z0CSL!kiVv^xz;GD{>8*b(q0N)g?AV|GdA$up= zaf1Up@d(t@P^NSwEp7>N%vsy0J(K@dUMG|G9dQhFJ3f`gG9I7K>z zr6PKG2AjA{EenMWo=J~srU+6OI3(c@7?ZW1Pr+N-n4P^N_vBi7wmANj*k3jPG$h>7 zJ&M{5EdU4h)cL7@&6v{Rn2lHZ3rkgbfcGoDIN)=wv7>>xCt;a>KxGM~&u&P)BJ><+ zCC@!eG&sbAI4f4_>0vtQ7BWM_H#zd zltK-FqU(1x%E)0^7QXnVWY9^h4+JWNJ53GNx*8e+n^-_J|1%aOx7zXOIE{(Mwekp( zjEK(|3h1niC7-%OCUUCjtQ*3(!6{XiV#yK~qz1GuuG?6T3#&R7;oBMe>K}CD>kA5g zlu3MPY7)cXf!i#IhS{F(?rs0Vl0kl6(w1-3(=Q+wF7qE-U|`#jMv{^HhNvZOG_HGvNnoKGa0eP_r5h(&#H4>@bi2K0n;_9kA%x{?tRZviv#Hu0+QeiUvHdiSh zq@A|m_x}g)^&kC5%J{D*1^>cr{f~gk-_o_)b3CVvdH7_IEg-InYYtL)c0I3H)KQky zvo~>nv6(J^lX7vpbSx66%;}>FAd>D()XO`OhDXZT`kF;wf22TRj}?IT#O&#Pe9SQD z3t(l9xCiY#cLa7-;{8@8%GyJNm))0tK3S)giHq_7lio<;5Cd*LhnUUDH!fYh9|PShaSNmpc*4RApL(O?G@K^EBReT_20-92VzSX#5VP$Br4e!Zij z$OHN49^BT)&+j+}Q{Wm?OT5~4L5w(+rs`Vt6VBCF+Yfz3rDZyIMIIC`S4W3l@LAhD zTk>3^;I(G9g;Krd0K}{9KU)x;`jrKgl|D6GG^W$FzIiGBiTquTILb+A<&J`OlSau8 zZ3=d~54m@{ah199F!tkGJNwaH$gIR?{#8X7cIl<2cm%g?M+Lc$&8nuYn-D3Eaq0(H zsA`Pb;yPXRx7{Lp&AFj>d4&d1giTlEAeTG?a(m|^`;l=jT=~1y;z9?^+q~r}I#R12 zb!{_^bL2BdX()OwWN(7oaP(2(^6*uv<4h@reW*ly4`SJSbklA)`o}9~|8K@5A?JN9 zQc>}%S-x8%Y3bvLtuI!^I#}Ne1`|dF%vG#*I}3L#5!8j>lUn+QDqZ3xeid|rU;x3D zJ|t&Jl+Bs(dlNHr%(SYIET%7iS5gBNcSm{O-ZrIpVyP=G{keWDB~9UDURlR6u{;Y; zlE)-l{`t?;1Bt4leT~E8n=xUZKOe81?e6W}ZK0r`IDpZWrl!(kM64nv{!(iyGX7Tq z;{PzbyW*T^GyFB?Z3#H%oAyj*Wz0Qzox;a)0O7jWd(uSZj@_f8p|aZqbulEhyo2QE zSz@<CffT9o~-ionE%YFS$pK9{`)h`~SX}_xX3O@tl z3lgw4#%Xo@AnKrYC;gemDzqh0d!;p75?Q%>T!icuWx`v-lA4-VY>yW2*+GDleIWpz z@5S2!E(;bspKjir?trZ{@y*vUtQ}qZU3Zkszzx@mFRDH&*nd|v!rg>-u>nd6i^rAO z6Q}Hfh8o^bkWEPg|0%~;0vdtXT%1b@9B+Yz6g3nnV2>kt&>mZ^`;1lE^BaWft6x%LrJ3h-~3RJ58836rmu|a%Y|#yUg(gZv?)C) zZ}0k3W$ch#gp%A)QzI|Gvvqt;b%R~-ugOe`YB>@mv;F;I3AgP~F-c65kX3kTodIt* z_*Goqz6lfQo>ZV)un?bAu)g z#3pAtw-5AP9g8A;O6>t@h>l{I__7Oz1pK=UV)`$_2dbf=oSr5Fsn?mkM1k!-AgudS z&=ocSxaYtLC^Df6>)WwKmSM$Z4fE#a{Gfi${d+;rJC4BMw9JkfI=mLxK60;nOHdv- z_y?o~x?v>LXBTE$ZE7s?F61VfXmrC}&XxMeA(^o6?O}jy%>5{^?;HmAx6Y4rt5#GP zEoS4y6_~^z_d>vf4VLOnZUDU?LRUTGfT(GBErOht6yHeJQx?(7nJcQ=lufz8t4$b5hUSn97r*}`^Y+1S?1uT!cf`~VX zU-%EG`x@_uRZ#k&zbuywC5v?ltv`AkCWkD>Qnkf6er)8la9eaeLp*%H&ZqV za9jiAP1-Z;oSN}t)It7(J8uZ1r&I+gjG&hhRC;0(#s{p!8WUOZ*RkdT6}th%H&J)0 zHzYD2MRNA1&l@@ltfZw4?ZtWdp3iyBl!_HPsls_@Fqei}82q%#r)QD9LPHikwvg6j9cOMUG0a|d4$`ixR z`IY0k2+_l~Wbo1@N`AXico`vb)uLYnsG(7^jMbTaCEwYS$FEhj^@ba9?cH|#LV&2k zEuvJcMG;X{N&RPwi7x*~ta@_1g!Z$p8wDOw#RoAB$)2l^m?y8n((n?1t_PRbVoR7S z0hmFL7qQecWsX0;A50tp3L{+qqq)HI1=e3B{bt(%bR^}qgQ_!*QhY$-duuv?JjVw9M}tjLHwMpg8vlO zZJuEo_~3k?^%Us3R3YFh_RPWS*RTEE-!CjKdZR-^Lhz&Hx+*IDN8ZV#&@Dib?mryF zbKh9L>d&XA#^tASh5w7y`1_Kz!Vie`+<(<@_^XjzQtO|fyTNa>yVj9)dJ$ot>9rAj zw}yC}fhcpIA5s)}2%{2xW-vQ@-496ndq@2sL|mcK8QOT5x_3ZPFmID!fRq^j`JH>^ zbA@@6JB^4^pgV(TsX3}^)P19_akHGH7$F()TzvK6G^9HVFc+U2U9xY_m5l+ikFB-c zo+O4y_k$--f#_P9R#Ih!Upt0YyZ zatahQ46P4q?$;8!_xEU7#s!5cSkg@vxt$)d)4IzjC)$`KJZ#s?=Jh1G*Z_5qR$%Co zJDY+*Mh;Z`f`W%GDR!cbZ)@;q$pY?NH17>5ZZ+((03-mfXUSN{ktRtx+PcWLVa-JE z{MSwQFU24gKI(Nq!0kCs>eANCVx9`m-V1++|8soo)Ne@Bq3-Y>7c*#+fUjgX;|8f% ztcu4RNV-=S(vzJ2m8+yl*vh;mggA<5{9y;Qdn;Q#;xtxIWySAr4tuujGKe27#BQ+@ zmLbG^2L!>xbGv~0Yf1_%wM^MLfmG7v3ZN@ifdLwW5SJmi3s(o00ZlYwKZoJ3Ycbvn zSMDH=`W*KbVpZ2f(MOT~xZw;Fx0h0<{GLL_1Hfy+REolakaa(&N@<@C>rIyJ)NdMIt|INQ< zSYD(lhs|Jyr{G{)+h@QkW*c^^y&P#KN7;E-L4n5&-*?Nv%`Wg1KRL#$VUyeB!Y-QAINtS0U2C^PH7=sw9T*VQVh0 z&^1P#Ta&oecK+EXK#APYaA~it(?lG2=P3ZB47f=b&9lA1k-xWv!H=TM6)J;YNX@S4 zNgqJW!%ci1Dx~;}sgQoS#c$=|5zl0FyY9tYcRxtq}7bh_gu$I zOWdpQdKqZqC#Il?u)Pq%BYl;xIG|z=X1+H!uWr!PYQQ%LZX0RD5|l`qPBIy_AMLNY zp(gGJ*XzOty5}z3>M@p(F$=zP>rJ2Bt2(NuE(uZF7e1$-iGR1|F2oQF$g*mv6ZFdN zP;I%_UU}a)$!kSZG-=HEW9gkNM5fLZFxh%j>K+Tw5yLMKQWEghZ;p}LBUI8DzO}2c z66+q|>1h5eOsgh3mqFD~wI0ySETz*I4i?!1+kv@do^Q_XBlrvDbcrPBPZH_EA6L0m zJol*@P>RUZaH(N{b?tQJ3MkR5v4(qLIOVH9r_{N2+7(*b@|tLI)aoYke%tpMnNc>y zNks-rJ{>#w?ygNmwboMl+12Q-%Os@wybP#cvVjzEjc%1g==J$jB!A*3Cp)^ROdS6s zeGt3ms+DJuR{fCL(4&ZWC$nx~0Ke+LpoiZ%EP{u)YcSm<_L+LR->xwnM*$Q>Ig=&X4CS#c#2xp(=+R zH~7X=Y<*bt8_J}hpdz=zjr$d^+z0r*^O*$1HS?Jx;WtU=xY6(k?ToDnSdOys`{bV* zmJJ*OPt?0X8mN%5L3Yyw_NL*?%8`}3@N(H_G4Yn8WwnvKHoidVzpn$$U}gcTsnp8vN+FB9B#3;gm2PXwOthFv$FDy;f~eXU8liC<#5K?>u-C>!mNuuu5n@=|#NZKP!4QyBZVJiT_*p!0m;nnShV#qK_IRKEM9Rc;%HC@rSfSr;RMpg~P5S5DJXHjC zS6#Yms0T2QKqH*r4L3Q2?!@O%@%dfLO?VDf5Gdo=yLO|S0#h@lf1OW_zf3W@qFChu z-KIME!IK|LLwr&E*H4@GhOW~d_lp{JFRR>1{vL58_nY60+1gP?n#MqP*1@FfkS*Rj zgsodkuWmHoEG7D>c+7%Vn|h3bjv%PEndKpgOg<9tW7EvD3L2uHdR#K#Tnqv3{uqyG zv6(ijr0mBX{&CQrwiX9)M^V-&3+!EwDHTS1qAJO!%_wR=x7aGgZ z_oBUs*7?EFG8SeFJ_YHO0IvNedH8JZuy)TEZadhqdn2SOaj9r@J8VrRKTU;sJ6KWT-inQ_#rt;P$>02X|TdG z0X3XFZmYI)ttO>SK%(dJQCxn4{|pSDu`&m zDaPNf*w+=vPxgTSp_!CNrq`Pz+SgGO*N&dNzCZtn9Qbn>sQb;wq^j?}`Q8?|!KP}d zD!clg%AEfo%tlJ<^d{n2uaNdSqX z{Jry+bN<)=>hs^7Q9aBQv}a=*{i@@6GzkI@2%WW48olJcIe0!J-R0<6L*+>qaE~K} z?oH%&st z>JaO`hYpjVt#3XYH4@YU_JRXK3XKL!p(s_r022^Jno^~M)Bph~p$Ak%6r=_c2)&n3q&I;xUYK+4 zwbov1m-SuW`E$;XT*idFZM@~VpSuh;2j$qZ#i+@aVEp<#r(62KI<@ti6jiAk$@GH?b`IJVvCT9(Xb^6REEAlf4PLiBlKTJ)GZTu#7Y38_8T+oea(4 z06VU)fk%6V@Y=?P*AUg!t3YoM5gR*&WT2;C&=E2OXBFs?2Aax79K=BV)Eoq|jMlQ) zBJ=Hx0=;+iBJN=;j;D~a?J55*)6oj0_divn#lWGL@RwBcCO}~~5vCey1 zCMfsrY`CuY+LjCDOb`_j3^-*Q(xm4L&Ucw4{`)xG6o>hz=azTgy-(g4#IZz9*?6wr znkV8@@d&=?*fmQaAW)zl)5l;InbF_3oRz}e=u?#p*kN6+&GX(FDq11THlEv8*5>xo zwY*6J>!H|EVc;5R^V@2A=cZ|3jM?b`9gP;2RV@{$?Ic`KAML~19Y|Sjqof?TUnxi2 z``S#TiAxg@QHUxUra>;RpSBH6%ngY`WNhlKSGMSU{SU7P*0D;uL}LEhLwH+OAg+)R zJkTF~`6qghgm;?8#tT%;t@e(wZ&73tL-ESnu>*Pw5pnU8rSKrG~J9Y(k%gcv=z``x% zw%pmOiTv86aDo=47-qK{H28ExfPz7!Alye%-;LqTWdA75(+@Y$oZZ`Dm9=X0l7}V{ ztm~5gb7w!3-I&We+nVLFGGgP@*-sECcDij*Q1LwOIYT*>nu%42G#l%0u+GLv$qZO} zUoI7PjK)7RDVULwLV-(;sEaNwHxX|b7@qr4jflpN-=0Z-Z-(YXQLhFfx$Wta;;*|0 z4)fZavC*lvuIhy6&nV6d^${iqHIT|o0^~EJ|Hq?Cvy3!%#WYi4scnmhC3r^E{4ftQlu6TD1`9v^0XkI*3@>$rB zemcbkW*fXA$Fz-Ee*WSzT_d?X&@06tl5aFR$-WB4@7Xp^zes0Tv0~mNh$z;G7;t3M zwQu|0x~)}`C0uwvp{&bOACrgWlYUCjO##R510g@L0G*Db+SK2ej=X;ysv-k}1t^au z)mr^FT=kOrPn(85=s*4`IHJ6PU^a{R?D7*$bI`qXAQ3Xyj5>joNX*+WO9hsOPT*KG zaT^E`2^5XW*pgfNvxQNf*Nq=wiLxjZ`Uzbj6z6Ros{pwLaH|L=wuf#EqC;$wMk)@4 z6p5r$qh9l640+b^uB|cP_UNHkh}FnL_rWyV@)ZZfto<_1zMkvJG||H5p*hu>bl;_A zjA4i$W{mO*!@OC&V|qcx{|x?D>}yF7o>re;G` zEmt6a*<*;3g351M()pW>aU*km66Fm!WwYgY0T{P5!T72C*jyb47`p}=estV0T$ze* z2d>=g#5;Ehsv-?%rE$2#R?c|v{z!%0UtNi(JPDwIcu2mT{68R#{=u0d^&a34tWjTf z)-{dBumoNu_u%2{f&8Y4X&EP^%7<>GJt~*3NPxB_HtN4I%)v8cpz>S;pDy8PDpd&3 zi>i+Mv|j*ITvk`NJp^vBAJTO6!q;=aDi7QIjNsw;rKB*ilZ@7@yIUf4f%2B(MgM7- zX>Oj^y}NdE-QYVX9jN9#Q*`MpWm~P2{Ni4%$$&%_6XFchm4Yw7i!qf5%w@31@wsw%JkT-dbn2a;3kMw!UhNB> zSzrymS7y1F-0V%hWeaic>Ia+(9>(k~Mt^4^tQV#S>`Tn&!w zn(J11HBOmn88S4Pv9X)c6nN;c#1?{XgL$JA@QpfmXQX8dRf?3K)k=vcOyu1Wkm0Do zy`zb)8f0S@O16!wR)0W6{F5z+Uhd+DMU3w>`A)Bc|_mjazOzx|ZCme`l5kn-yqFNJl7%h&~h ztSpXRBbZ?tF`Q}MUNfmPYK~g3*G{E__dGS<%F7F<>g@q3=c`~0tS9OZehMx4_ipdN z*4C;OP7?@@_G3Jkku>T~p3}9J?u*tySCN>~ranQjl4+e>EPW3sRi5z=h}nPd*LX7d zk+**x9PEla0sM;n-p&DEWdheHkt<@zbF|WT>p$n)Gr^x{r1d$jbAE+6Lb%j6E=HKX zkXTdjzH3ENEHgP$YO!Q0qkDbjf<^@D!;?IfDU-mG1MSzq}-ivXn%B=RVKb8$C%7 zvPP~?rX3vVWedoNm+X4<&_9#sS*HSSE8seA7uv6f8XEM!CUwcrC+>0dAb0VvzChc; zx!9Y2SuK!W7dCn9MbIUvL%`>r^Kq4v2iRrl6^^l=CS2KPv7IkW7G_A@b(?F zi#k=_F9pucXx#!CG^@{~pbt)K zhp6@9)MAGZ5X)nibN{yxi;yiOu+9Ni`iTpGGo$Ztu9+^p1(l8g+(%KhhKM1XC$SfX z#?Pah46-~HoL)j?UGAf$h0&F~KjqutihHd4M=SFmo_=>V?1}2?w=Jy@OBM**RvA9N zj9Hrb*bFvmNZi|93i+M|r(ZF#-49-gVXMv6oY2nzp7?ot9X3QkcmKY#f79zZB>Vl9 zNtYQ)FR?rdS_~FPbeMfG1gin$uOZt2@4Ro>Tq(^qam#U$1pRsZ6`^c}K6m+*$w!DC zw>I}xo_O~{*H(H+Y)vp!8qzUeY!+?w7_9ok5dXbBzE2b^iL?2;s^8qDa9gh-9+ZAu zWSZdOmci~jj4IKrd`V1Zs!T&&U~&5B;!yq2FyTXHt|n=oGzuETL(QS=!8Zs*nO_!0YN4Fu4yc+8GnZ;PSqS`(61&&=UNV~9S4%>#Oo$T*4brs z`T$Kppdx*DwsYhj*=O?`JMR+H46;h6(><#TYWoMh)63k6$QY*E(=n#`2JiT--)`KX zyw=j)<*zjOm=BPyM~`blzVw@}Frdpmd&@bJA5$V_9|4i2i3HaL&iJWHe(zQna?5ai zUBZ(?ySjUq2o&>xMCTb~q|@bRgAErZ3kY&<2MnoP(bI*|5*#rteSuf=Qj`pKoW4P>&Jza}9cKNTgBJij7(fQ-Sj!9!Z;S~85wtSHMLGh|m@ zE%b-k{NhE^(Hl$|hIi-lMaLK|09_1}-_}G$f0(FEU6Qy4t~=FTJpBv=B-lisz7B>L zWlfyV1dQphh&Lh>Cj2f{&lyeYq!fb5z9tez8^E};{;Uq=h{`4GvB^n=2+IQWV6*>N zqa^UL5rN`)AKvHUvv^!wfhpo;7`whs?@_y**Dn&t!{xxq_*&p2BZyE|;#%9LKOD0c)AMib8~^;dQjaNvob z=q+g|(d+WnEqSN;ca0IE_~AzK#|{w#f&+|Lq88lfR-)QazHeycRAzi^8b{8~#p1>nrL8;-hzms%i|$w$4>KkD|u zY?ja?q#&ha7DXf0^~jV!%tyc<4R?OQCHk5Q_o1|);j24CdHuz66;m2~7vwQd)KNUh zcjo%-@ZTpLj0ZNAe@hxBa<|UcXw5riuwY(8BN%1g2(rYgA3ZrQ70=zOs_q9K-eK+U z4Hyq{1$-5nELX^SK()z6>Y#_J@ihjDoIEkW3q>eu%+3mG?JxNn_q6Bb%Xn#mWmZ#z zt@XXcZDu;!tD}6-x0|I`-3YqK{OZ0-3O7`-Qwgrmg6}HxplUIo=T$(EwTVb3D7p(5 z=rtk)PFy|*Xa%SshYEAz>ey50@nyU^f{_00Gy3t{>gOSMRaejFSZEYh&u~K)QcT4c&rA@F zRox4F> zjZERjv7_sarsgj2cf8)k*`6a|uD&>tLupX5Pv$9gX0HB)C~WoZvxT79)23I%xwGUJetKm~Hq} z`Cf!NS=YGk>9T98QIJHpjG`d;Ei;=T13p>#A8CJjcpX+$%l$e-P^m^9|#$9e#Hz!&#akLn@ z#Y4PAC@|e;G2CXWOH&hTeUjpXr*Y5W=_a%_Mc2X=5m`M|~SI=mdoMYfz3A5EK;E$5*<7@e@iQ}_= z{h)`tBu4L{$|Qr$M`zI{b7#5nMUUY~5|rYr#da|R(u z{Q5QaKF2HX^=R=z>>g#VQc2IG;>X`bbU`Eq?Twb(GZW7nKTpeB-d!2UQNYKa9g6p} zy2{lSn}~}&_1423c>PaShMBA4)1R#1*ymKuLVYs^hG)>Od;W;7ut1AUuNCP`d1{C% zuNWsE6GYksJA|t0RxpwK*mgb!z5BIaZOW*r@%EiL5jbYIrasDo{Z9WZ?n8@gjG;yl z;4ZfC_rS0;AT9Cw=jz)pU(LDMjS1gz%9u!=kIh+#W8UxZ?>d%Qx9~1EYSPgB=_v&T zNW{O<^9d$`vWqkKVlEk!ifg?Dv6>};bi1x@+5$r}uo$lQK^ zUgE=Z#V6naD^RGQ)>+{9$;ZaQxhzBm*UjIb%?a+A!^MQ5MT6t2Kyj=?^@n4BliS<* zmM^4gr0P7k_AOwpBdBjO@a6L=T+GIH)Q&~C;C`7-iu*en?#!b&n#!JEeZ~{8-Z8Sv zZv!0?Xuap78+EM2M?!sAe-9OAmRY;^8?ng{|5Tq90hojvXKgfGEIc+8^I2 zhKBRH^eK%%WJs0JffnQe$c(l){rYrFxZ3LGhd1HsCwO61OTC<|85|gXU#1yPc7N&fmb93+rbAA1p<)86%DAR zGQ}uN2 z{Uat`y`otvv+DQ8CqkY=N~X> zv@I(KnKuXBYONX#T6QIca`L|oPL*jtGW3$CTX(~2=EbfNf!?VKt$n(2Ykg#_f6shP zF(G}X(N^;p@u*QO5Ox*sOl{fKQIL9aQye@AK6Tc)Vs7^^UKx5}$Y&cSAZP4vte-O) zSJMGuVy{73(#Mv;W4jA&tm~4d){8tr6b~s#mlQ9$F(sa@L+dg=eyiJSXF_~KU*JZH znTZh8OGtpn4{r38*{|f0S$y(4Ik;hJIwcsRYHZ8}W^K40_~qM|-aeCo3_aj%WWFn< zL4ofhvC(L*&mL8(a|aD+pvyB=+J^%PEe%~#N&g@a7K(|{xoW9rS=Ujkug#FI=;zMT z^;rX)rQ?6^z!Rz0*PoD^-nyHN;(7z>*MUe22A^ncWwBJJ#rW`R$oG$q?qGI9Lm>g> zpu^kJHXaZ70`KA;{!R#f-JLcc^{1F}5)H^DIeD#^Y$M}9=7nFwKahaix%cf7b1Tqn zCa1p1)zc8|_LfygMuK=TFJjAbFI=Zu9b@;_y5g3WNdo0q9_b$?kaPMMlP^-C8O4Nh z^9SpGg_zxFOgyao8Qa#abIG7Szo@SHMv*Sb-ECG@rrIbW)u3i-vMZ}zhO%_CKy$~r z=Gsu=uufg(7ue$LwHcenR1y=&Ics}{1g9Ez@jvGZdUjfNZZcA=mv5G=UqRTb{ZvU2 zrHZU!WL$5iy?hE+;MR8J2OOO67U@LCvJJ@HTA9!TmWru0FF^KB#7})U1xpup1WUgO zY@KlHZfeKT!-9UQD4TqHI(64=83fJv4=#DH45hl);1Wl#P~qNFv@Y`$tt{wgMmuMy zxRuNODT&;G;-KiB3c7WnFwzV+6x;JFt<|V}1$cS;XC9&A1sXgY0DdM>d)erCS%-|y zO|WLK4WvQ+|MCCm|4W}E`*3{O#CM>oTKi?;GNMcK zPR%!Tu1WB@wj~L%OGBQ@>eW2dh(*idE{;k&x6Y-;DoXZ4G^(*V|T5B3+&uMXMgTw56XW-V*8wH*RFP* zXQSv>LZr$;KOZCZS3e)b>we6%`_IzEr)+;k=Cx{_lfr{L{^PFce`%0^cBoKvmibd; z^ku>V03dR~&>2NnFtqoM{2zEpq#Yaz;PF|CI88aZplTQsB&GSE>6B*vRfE0uNV?_1=S!fk zKCvawA!Hd}jqwbu-m}wU_lgR5J8m66?(rJTz;nO>aBt&lxE_6Nx}Oep(_8%kQYc64 zJb+>0GlbvxxkG*r`~4__wilN)SU?T~e)O?z@@yaT+AW?54h22b!t1x4IdtSeY2y}a zBKmifz_1y>L;s8tNYqHtzLo>INd=;zFe*!l-Kfr8`2^s@6LD=6dDKLIsb?-OcihBh zyL=8`TP)<2CB&%~M-wfHoxklBB2U8oC`Oq*6&T zq(f5l@69oBwW%#PXV#Jgzlmsr3U^gDeRcUVbr{MDGMW-o%Gqqd?#7}H$b+_#ugHsk z!4hYZMzOYJQf9FX-OAR+HTM09JC=9X98p->Qu9pfS>?!c>dl5488p%RIhrFmCQgDl zmjmhM13h`|PxKm-1>N#dnp;)YCO|)SM*z0`Zi5-3EpF%jRK5k&R>=0<#OPRsjL>8@ zZBT3{Wn7-B#B(myJ>5VovNAMnMNH-K><<(0B=bF?aHxeUv z_Z`57pQ!{JuF%`F14yj&Qli2F!An zZP9Q~KDstBKXKysI-I*Qr@W^{fTKB9#husUy27~8g~1A`P}B@f(Zp4t&dTBCe5%O8 z8xx(R!M#lE%Ms0F>!me3CDQmwIQvn{4;ERlrjQR{k23uj@IxD@!XYEkidt`= znp0h6gH%aa!`#oVTkN#s1{)wncG-F-S+#5R$E$%>1EF51Ex*H`an90XHUcNJPP+v# zSN64M*_0k8^>Km%XX?~a_>#%%sa>~|aYSw|ibdD@GV?;%X=EoFWR`Px?+gjoc&lCw3bQ!4q zBNSh}05^vhKNzmCiU30FScv>H0{NX4rSH9O1w$4aVqq#FsO^fU?qg(Md12ti*P1 z^t)WBcOMJ95m(R=%9osOUHWZlue$->gOGl6~}!F$WgWwfkv!%AAWwQr-F!DVIHwfhA4{dV zAXrqXvcBo}5O7wLfs_aOt4mk@eKO?&7>k<$(oBlqE?l9w!;n6`WO|Ds^Na=H#K2om zp!zz5TJ#~h@7_pEpyp;+B|eyiOnUPuc8rnt;_@DR=FR}*3G@L){`K_Y?DTg;NXVba za?9jE+4Xqbu=5ZC8Pfj&KmLc@{)sNogwG^)&T>hLLEJ%stuqw`ThBb#t3$7vy;@~i zHAx!lyt4yZ6(1kGyQf-K*OwYZrUO?ReG&$vQji3N3D?Dgf$&Ye{`aYK z&6*&oSW_+z*pl=h1oUUXE|U`ACaTrZSs>%s8*^WVN$xBN!ckm;h>YLR`d1tstK~s! zcycd=R#V$zQR8epU_MfM`t*=JK!}5P)1ca3AL)i1Q!_E})1{Wy*-+zNq{y?eL`6o@ z0F<@f*;u~nl$Dy@vrin>Yhx!YSU)|@w-lka^@5CP#OnBnGy(VTPw6`|M4IQFKhzBr zIus2yX4p=&(CII38w+A5V1>m|s7z_6-u)(TTWBiW>;NV<~;ZlLHv};A~x?WxSGCZt)zl@OyLnmm~&V zB*30eF{M2ku^{rMvbogC)Xx={JazV>H3-Bjz2g{7$8@TWOUBJjcWUIqWiV0&3!UO^ zLvX8?cg2AV%2|BJpuj_BeubjF4Nxf%0Ka59dPm7<`s_JS;Ad*gzhvqbg6~IFTDwX; zuX4k1Xf=xu4Ribp+;n4_S@LUn_-4;_rFiGyfi~d=4>y+H^qcrSJg}L8uv|x_kIuAN zF}a<%Z6e5S8J}1AnKft^9(Mkz(etSVryQyHl5ZRC@gSl`q)-W2iLDDI4tiv*F#Mtc zC$VAJKZQ-tho+~{q9n(q;|P#jjU5#q`f<0^p+yQzI-yAto7}D)D0l4Y6BQNUX{C&L zV7W=i%)~YujcWk-j49HGFFGz=aX%jZ78?jIOe)6DUqobOD~*YIu3zEzmx_3Zb&V?z zQ%@ns^$^@1Sy_4a7rVUlfu3rSKU=t=p)|mOM(GbCLujCH;~D-~B9w|V2Lx6B;7CwDMc05R_=$O zf4=B?jn^-2JSCev*!R)DAw#M~cE5@or2gn0@F9-1V;EsREtx!tK0&rtu@*Kku)qvC zC0$*hi%_t=vN}&1KR>{m`N&`niL@9JP0`D(6_got=2(1%XL6_PtLam}tzyC<#^2#g z;~Wd0NaR|4ik;#X`d-V7ca%6^wF~#F;er^F-f)Sc!H&pJ`>+CU_IC(S!9IbH9cJ!4 z3dlZ)iTPLYF#ns`D*x2A{{M*O|83(%zK7B4km%@z(Nxeseo$7JYS-#!=s#it1pygW z{X71P0j@6Kai~&jGjwb+OqoFxbwZJyCjM!2K%)N^?fjY%b<%d(@H8$;FFEU1T>Z2R z>o!=KuNn*J<5k1Z)47opEpl6fBcasz3!4-j_^N2=|!uR4GMVIs1{vxcWYa0 zNoFSR#ueFcap`;D=M^DNvbUBaDG_UmC#+(%)Z$OBZ))W_7kKoNJ!J zy~}4)>n&IZ;NiK3|1ToYD)HE}S{jw?&hK81MyYM_kyArh&HWDPx`J^G4TIdWvVf?$ z2@uh|iz}3lh6kB27;04b#Yqc5(YSPkZvu2pVzxZG45tu~L?>7p*a3>h?)O(vjO5Bm zsW>`0J5U;?@M=|M-*as~PyI=`&BG%oCg*c9O&7!u4bo0FMJs4-C`J}8oI;G7m+Ph7 zxt;eooXweFdwYAH8wB>mmpb#()BF15^;slWVK*lq_7m^w=m@YI~xbdV7J7@v~ zogE95e9awIFB2$PJlsE-xKmoXTKe`yDo7>n^-ic9)O-=6tMPnpMsZ4M?7~nKV;e#* zPLm+~!<#>^NLjx6(}mk!WYMDoQ-5RT;1ULN*y0D$KTMw;<2U^!3^GQh9K`J8&Q3iW zqyPB#IHG-(O%0GZV$zg;?G^QlrmAryG#gBbLm|oqcKnf3Rm6abHSckyJetoSjG*wC z1g7i4DF|3p*PXMh>=Qe5k4T?9FoCg`;t~&$gVfWNg_5l#*bDOXSW{EHU<5y`vwdD@ z=bCv62K%CEo%V$dK5#8mKG{B$lWFh`GuCi6X>90ki4#U+j%aMYqMk~j_WO9PicTu} z%Z{=u_LKo7v%xqJo}*S9lUUEHuu^q}x_MUfL&t@ikl|&P)}!NZY#-8@ru|tI_WvWW zKvPEjy^~QcESp@9EC!3X8FK&;G$Dv^KNrEUF(KQG#66o$1~NKzJ+j#7LZ-zljHu6I z>~Emlo*`UfKd+DK%^PL$gy2N zy)^o`Hxi;x`}%*rQE?|O8>cv>%ymo-tZtq-w z_Rt4=?*AfNa{fN3UXBP;{LhtDiuTYiS|i`w{Rl*7N4TB1W={5iH%GWA{&yX~W453t zuWk=_jZI04$yL9qgQ*ODd1cPc`mc1$6bxVuPWl*0*E#Q01M1Px;S8m4I!K(%%O6|; zfdU>--Ctj`M6cYZO8dJx;V&M=xB0>!T+KgBVrH2Oirw4{MUufL6kM4eN3HG}x~|X} zbsk;G(QQivB|l&x9!5l^Hh45&G11C(;)FC?>t)cqCAJIumG>IJ)EmngRn{6 zFF_Fqw-<6vb7X+E&YMFMeQ;`rzUIgTP(c38fMlEX&MqhJf=#nBqOo>2xwbHGkP{!{ zzn*3W>>(`Li&q5T+Jl^;bJGb~7B(&RbpAKov-XA^ymWHc=DjfzBkast91?vZiEaZ) z^ND?4t;k{lt$afQVzl+tdu;cjp(7^uo>A7-bKdpPLEfy&u zu}|@%1OiY2`u{R)4@~e1TBS^E;t~?OXH_O3YRS%vTI@flC0j7J0o~f}!K58+eynuQ z^Ni6@B!-KBlkqQIlZuVQsXoj<-7#W8<$1)y)FUQYlvGIz`gFCn5X0oPj&uM+UEU>% zs9Y{~0F#jzW9#7I%Ek%#TXKzakU}fU4O^^~J-6#ss=2E#R@hQnUcQ}cep<6y<{(AD z2?+z_QXg&CXs;FVto?vt;fIqY7N>d$u52p;1)17Np~B9gy$Q{RX)x^vNwwe4qe=E) zY7t;20d5yZ?Bw}ItQvfwY;8innne!b6vGOAS&#s+X4w@G8WISH6Yqx zOC_m5O*Uyz_;hELxabxA)+rQZcLK6@S$(^n! zz`}X@Wo7s6m~cOmSj1)@#EMdvMDY}88SFTK=~E;Lt2S)R@UZf`a*YTrx?w|b%{%}R zdH*R^^gr251pnSR@IPicFw6EPDBDLH$xBgq8RDs7px+NTtQew4Euba z`Q4k2xWB9n>=2B0K? z%YUFGx|d^%lX#$sdyUs}YwxRN**v`np+!4gzDw;h2KiJMNZ2b`)==_|Dr#0wyJ6EH>NY2Xol$TM_{Mlp_VW+$)7MGit<= z8BVY2!?4}twKHYlo+?o{V+7^vfSl2)saD#n=?IsJB`|MEv{tQ;UE*&l(pz}N8`s-E zCWA1JB#@meoJPBdHK6YBpI4|VDA%gXDJTnP$lU#78Xnwo z%QiVoo^OiPzV)$>klYg1ZJ=>hZkMA)Tp!Kps5jLi#B*QfD#-`r68l~R7?v4uPtu$l zksrX>#a)#=>Eh4v%m=b1dk)uz=}S+^tJ z#(Ct!A!z(~?VyQu#Ne=-W_JiX|N0U#qw*_hWWm`bC5QAGE|bdmXU5($(}`Q<=6;QW z>l^f#UspE_NgHR9Di1x2`;zcEUkMxqUyj$!6SjL^d%w1hx}xI*5ZWt4%GrFWT)KZ* z1(PIriyRapvm^}iUNqBSoKp;=!|?L-6*`6QQ~JZh2K)0cYQnce`e>=MCsr)TrI9!#zerPydT%Ntc<8y|eG9%s)X@ z;iJZ>kDYx%9~4Mmch}HSoB@4x|57^i5=suok8QljlX(xUFRo}*n_I=1E8zF{Sjary z>6T~8rOdm$c+PL8ZuQQ1-?en1vYYb8jlgkk@uOqO2K8&(h3NupxDu=PRjpmtVn&BP zeo-~xn%R3TtwpFpH&9uCpE_j+G@HtrqVuWGI(zy(T8R1?b5D(=4gLm!yI>$uU-BVi zg3l-q9a?be^fEvHu;?=wPDh^>T#>`JK-2^sq<*d!&uwv$6w<7s#k)vp8BgMNmUyL6 zvU4%VT7&;Gc4l@sxX*RN@*=Bt8#n)I=4Hgv$@na-LDJ*+tRK58rMt#bUqix-L%ZW0 z&T9=GMTmf%*McTB)`&GhPW&A zrSpw-X`^8#+_8=MCitmg!;NSyf!y2zHA}5f442L6@D~6#s^edM(9Rab-2O4s`<2CI zs#K@%HPWXL@3Ie56I5$;HL^k*T$ zd(`B8jcMS5w*hgd*`jW_j96~Rw|je0lX-u|mS7aWH*Gv|cf)?9SEu=DO}a2RTwN6g z3Z*(Fg=>;uJqjRE4VTCiog-l#R z_La=-@FV$&Tw}%Z)Qqj^8;mSHR zZIs?^kt^emL`0{nFV$KXu`tOFvaEKl*KG|XXSd+UTGr?gb+c3;-0!}IQ&g^I%TBjZ za@DO34i@{uGLOYxox4WwyQoawlxtT_oovyljlu8??=n|h?8v>Zv7(Rp(~ zvi`13X%-fmJ@U{SW2pEu{mi_G2K}#Ze*1z{PRe^giI74(tvpk?Gw<7?f9c`QEffvv ztvsC>`c1~=`2qUtPUji*N`ehOOQ$~WJ8cbiRh}+}_-kOFT=#pO-Qtn^hLFa((N{gu_! z7?oxXZ=X+P6rX<=Z}IkupY)JngwAlUcl&*X`VYRAzgUKBf5T>wI?rD5omu(=ua#OS zsmL4m6Eo{adZi=G($5bFW?AyM+01p9jcSJ4*6J9e8>W!C^maQd)reVs&dTz!!W{B4 zA9}=)O?=0AmpzAil!9V7MTfpUv?)9|x592Z;QEA?vbaSOBd+}F$|y@@ z=UZ!Hpw%=O+JhlT680+5aS@6liOJ6A(ABGcj&DoB#CX>f4p-;aU(&OaK*gyM@M|c* zg-|#tx98|=n~iL|bGCo4S55RfcNLFp+b^s5n0^w%xx6fNl_BnD^{M)0&C9a~V-)-u z!h=W+rR9|s^xAy`aDyU?70RtD+fCSitk`rOxM1>?!=fTt@gRt$o1rCLApTKbXfFA+R+=qvTyB9WH5-Cj|R>;{10_yVA5G z#zfEAku#)8Fp?jy0^d=C{*_ehHd!~D>4U+0OJAa%G&G7nfXR2n_pnMW6h zoA*FlJ0>C`BEKObBO`;!($Z2dSgJ|Hwku}}X~L|Md_&jk_lO;l)sJ7E+-AO>ix$$- zU=b**!L0dF2VP-7u)4mP60X~Pnh~+%st<$UBbO-deBzdKJ-N`g2`5x82<%&1lb4lM z_4KUr{^`$fqBN38hPzPC{?YyW_dmu5{ed;xJ$_L=K23@^B&ddG52FVjlO13^U(Q4L zS#}r@&~r#u{q^Oq)`xjv2&FyInSz=4u10-AtvTsh-aSeIXER4cw@2^5g`~&UzfUfx z;1e0L^q}lbF82MQxXqvS6d3o#L0?ZF6beQsYZhI`j zN`WLa`+;e#%^_}29V};%Q@fIhO)k=EAaBqc7cJh`+EqG|Jo)=jFvgm##M>&8f>dApG+cer}oH4o+2pY!;zHeE;P?n{13iS7&sj zk6~Q%7JEJYq$RHiW19KaY%5MN5T^%Xv%}LT=sI+Vn#u-OXr3z-mC-A8X6S*a&&m|_ z*j2Vcm}l#4OTSX9U7p2S$1dt250(tLv~pQQhU1#`$AGwaJZ_)3vo^3_6Te|PQ=Xaf z`;JQc^y)Kv&J|^6TXc%;e9zuKY zuz#eTuEn&*wMa4EsHC{}wGr$JZX|`<9E>8$;72Z527!Sdi);q9421Y!;hOQhk4mxz zvgUqB+v^pXtYOuo!L&H!e6_pMhz+rX?%@HSW;nfC2i}a1ugolIjp!va?(PTW7KT1xt!~wl(FY1xcx1o|mhGVbUs<8#VprRrx5?WbZS?Iu zgWd=_rv+^{tH6lnb6TpM8r0tfe%~!ybtdgN=5e$4RU4@w*OsQ(LuuOGBpsVn1J`=& z*TJLWri&u({3gt%{pLIoqu@|pU3o`b+>ipcnfkfD{y0(e29+QWDmB$tfYR;!yI~|v zA%Es-Vf##Egd2U=$X>lYXJ?EuskGC@aV3((AF7~YgUZWk$GcP6Ec`kdFXoeeAy3^} zephfq?q{D&irqlZ{=3@#8FZiC@PKz^nf9|by@;p`TK{KegSU}p&J2;v7YM%Tr!iW~ zu$GPFv2F9t%Ho){<7eSCQ$i6=b_1h=+YuRZgKEhc3rp%NYjbD^!Y0w>m*)*JBR0B$ zY5Vef!ERbPHFKrqWoT~(LYy<_)U7pq22b+RMH6JgZmCUm3b>+^7@3)+!Ng(|thAEe zHD+dJ$C^Zsn~oj>OF?l34WJw7H1xBa@x@2v;`tF-ll(sUI45FJ$vx-b%L4V)yBT}< zQ&dfSoYSk<7q=v$vbgZf#*KJR{QKgOL2tzl8xyN@@{NTu;Ii?aw{jZ}Rm^rJ3en9O z)RMfxJ@3R_PEMuzmlQg&Tt@uQH=kr?V%+yBX##@C-tez_br!hlJ11wiVJRtHp4BZX z$u(>*=WMjW2(}+yV?GJJPBpXtS>W}iD$naP53+WlqOjQhs?4g+(2|1C>`J!& z!@OFo)%$K&3aL}9jFWE$4JwUaBm`?#RBH0XvAtd~;CuUKuDv5%aMnkN3iYH!!Dw4Y zet?%h-#ziv21;Y3sav0frj2mOQT*N{yMX?b{vPAgATv1sTC*Zs`Fr{))?rik?n_tc zo;G8BuzT)OZ_fpjTru zVt(?s`FyN4A3d-ndgdZp9FP?Yd{-T~I!9hDyv_~RZpt|-pCkJI{qFKFPL!ir(rY|& zc4q4BleO1&sy{HbYqZ`|PNND}la*HUHO}aoTqdlqy$aXtT~}Ef3H*&N^n3e<5w<}L zRq_gZ{~V_yddPeG!rIWj&}>4dQKoB96Ma11O_H;5&)e2ux0D_{3_ik0@j;IRJX=mU zI#(rn48?;BhBo{`I727sXI7Nz4ozMOQLSs4`TQO#dwlb*nT|T)Sq%8Zo@zdbh+tN> z)`ZZ>pZu zrNG}n9SB0knV`dU@5yTw{@G9Ntv0QjCzPmZGJDQ2dnT&5`WrNFbio%`u5ORj4{!;q z&gF^c`1CA^-}+7VZP=OJsaI2Xg;jOyPwcOOkv=gpp`;bh2fH60^6HkX%RRdQDe$f% zap|n5hek9;)FwFW4x?<3>Y_tC*tYxzs*ru~t0R7@&vJ}40;TnWJHptc(lwvu4C>z~ zeP2?Y|7be3wZaWLWWG1M1mZ$udoI$BocX?eS^D-IDFo5D51md&{;|jKKOTOnIJkV? zo_3y`W1@OfU99cT8uiTG^$O!&LreSZq+V6^!qOpnLLni!MB7MhxibaVI5tSWc?Y|t z6*}kSk73h4NOrGyrKqt@2_xnhNe~Y9B1}2#G+&O68D~y82G2Q zS=PKKkD(bh!p?o2Bz^zH7r*gTrqFI8+(QlFXp|q`h|TNPbDZ7J+{2nBc0^A z@d?`l-+VfV22>n(cSW#qJSypzaaXJY;9q@rFsqX~yREaG2horfvQ4CZQN4NfaNU>N zU&YYfEpBvhM#U^G+$e&AGkv4Fx@LK<&x2V z_1Q5U;i1rK$CfV%)GMWX<0hKVw#jY>G|sdRj;%i4_lmmFXOht7fGajs2p3N#?T>X;zvRf?oB}@dP7kuF^uJWtA()82dJ#Sfs;a6_b zY((lzaQW3F_pbRFi&f}0Ox0>e_GVli`lWZ*XDwzZ&e-#y?-pB;V%W8pP(T}@PASjfXw+<&|6pCtqy(AOD@Xaye;C)ZGAU4r73WUdG%P7(D~ zscsX5qFL3#f^&khP!v!)=N&KG9q+Q5m^a9&L6WU`^eQ(5Hn84?>FEvdbxH85CA8Y% z$h=JOixk*wg2JE{CQo~YkdbTR!XT%Pt-kLAQ_GRKx^r7Dq0LUmzgjKArJzVXC7F2n zNsR(IgolQI3kv1F!Z4%y2#adkE~7H=S#tHax+9U7K$Y0eS(wySi%Vuxgk4gWk{A4nI;Mqov>M# zY}fVUs%5S{{~8f#gcg&1s+=OIlbA?< zG=)v*+2pFp{Pv@bj(Lfau5kx-Y@TtPkqrEvV%?;tRN(u>OD#jyf$neFG{_gE=?cYe zXOC#AyA;N3zv6oBBAuIyk~Yz%x8tfyJP11CdXK6%;}>On;L~rE-e)X{qLM^+eZHF; zT|Jj?Ow>g!>zB_aD2kkC`*CYmr z!OyzI2GdNj^=rK&o}Bv#w4npM?K?BJs&Y2h>o)q96#Og!-nyn@3tqFaY?9qQ3+AiS zzHBrX`&3?7*Q$=h-R+Xh3a6)jVzT0Pp*~Fx>(Fg}+$Y1Q$~&vG+OTjr@SHuYM5(WN zKQ}ka*3ykOb4op>Gvp}6bkXk`S4koGFlR5#v0QTD(>@NB6a0x)Fz*lE-bMwO?T7=| zT=D91I$e`bYMv9HnHJ7wwhmUY%NFCTl5}#VR3oUxgHG8%7Z8ZC)6;pt$uz9`9u|3Cd-@m=S%rB;keU7`5mAA z7j;!`ecX;r(8NDc7ILF2;0c<+&nmqB&*ekPrxp3NZo9Toy%Q`~2n%K86nep2uWMGP zq6Q~Cq3d{v!Lv;t`F;CYqP4^;qdzL3k+X>*2R8Y?n)wG0+KU<1ZrD^Y7;?Ngezc4F zpSS)0$s_s1El{(#`uFLFxM>PiT)pZxQkPFR^XkL3G=I@C;=$SI_eOwQ9n>FCVKCt} z8zsQq2?_%qBOLl~3j=Xb^i-y3PE&~4UQe6$ojp~)_aR-{SrXN*5%&~7n+laYNy`Dd z@>Dag+Cvrx964(r|A(;6+q)J6IW(>{u+Xe6XR%+U&($%Cgrfsfa=4}Rjx(-lS|xUR zzA(tM@73{81qF;oN3T(?yO1s@x;ihVfsGLu^V%R)ZCW5)+rbo@2ZkIz%flizRVv@q z?=ZLc-zidVM8x|X%(i)?wNX-x`(R3-e^D3TzNx6Gt-b97sn?I7Lh~ 0: for idx in range(self.n_substitute_cols): @@ -167,6 +185,7 @@ class BomExporterPlugin(DataExportMixin, InvenTreePlugin): self.export_manufacturer_data = context.get('export_manufacturer_data', True) self.export_substitute_data = context.get('export_substitute_data', True) self.export_parameter_data = context.get('export_parameter_data', True) + self.export_total_quantity = context.get('export_total_quantity', True) # Pre-fetch related data to reduce database queries queryset = self.prefetch_queryset(queryset) @@ -179,18 +198,23 @@ class BomExporterPlugin(DataExportMixin, InvenTreePlugin): return self.bom_data - def process_bom_row(self, bom_item, level, **kwargs) -> list: + def process_bom_row( + self, bom_item, level: int = 1, multiplier: Optional[Decimal] = None, **kwargs + ) -> list: """Process a single BOM row. Arguments: bom_item: The BomItem object to process level: The current level of export - + multiplier: The multiplier for the quantity (used for recursive calls) """ # Add this row to the output dataset row = self.serializer_class(bom_item, exporting=True).data row['level'] = level + if multiplier is None: + multiplier = Decimal(1) + # Extend with additional data if self.export_substitute_data: @@ -205,6 +229,11 @@ class BomExporterPlugin(DataExportMixin, InvenTreePlugin): if self.export_parameter_data: row.update(self.get_parameter_data(bom_item)) + if self.export_total_quantity: + # Calculate the total quantity for this BOM item + total_quantity = Decimal(bom_item.quantity) * multiplier + row['total_quantity'] = normalize(total_quantity) + self.bom_data.append(row) # If we have reached the maximum export level, return just this bom item @@ -215,7 +244,12 @@ class BomExporterPlugin(DataExportMixin, InvenTreePlugin): sub_items = self.prefetch_queryset(sub_items) for item in sub_items.all(): - self.process_bom_row(item, level + 1, **kwargs) + self.process_bom_row( + item, + level=level + 1, + multiplier=multiplier * bom_item.quantity, + **kwargs, + ) def get_substitute_data(self, bom_item: BomItem) -> dict: """Return substitute part data for a BomItem."""