From b9316f90cdd8dc9e0c5c6d99353f89c4621c8828 Mon Sep 17 00:00:00 2001 From: Liubov Talamanova Date: Fri, 1 Nov 2024 17:58:15 +0000 Subject: [PATCH] Support OpenVINO int8 static quantization (#3025) * Support OpenVINO int8 static quantization * Run 'pre-commit run --all' * Patch export_optimized_onnx_model - previously didn't upload .bin file * Fix edge case on Windows with model filename being ignored & reexporting * Update benchmark figures; add OV-qint8, remove OV-igpu Also update the performance ratio lower bound from 94% to 99% * Update efficiency docs, including recommendation Indenting was off; "all-MiniLM-L6-v2" had to be updated to "sentence-transformers/all-MiniLM-L6-v2" in a few places; and updated recommendation * Add dataset parameters * In docs, explain what the default dataset is * Disable hash warning * Implement the last nitpicks * Separate try-excepts in type_checking * Specify that default values will be used if None for quant_config --------- Co-authored-by: Tom Aarsen --- docs/img/backends_benchmark_cpu.png | Bin 64757 -> 63229 bytes docs/img/backends_benchmark_gpu.png | Bin 58761 -> 59905 bytes docs/package_reference/util.md | 2 +- .../sentence_transformer/usage/efficiency.rst | 143 ++++++++++--- sentence_transformers/__init__.py | 7 +- sentence_transformers/backend.py | 193 +++++++++++++++--- sentence_transformers/models/Transformer.py | 2 +- sentence_transformers/util.py | 18 ++ 8 files changed, 312 insertions(+), 53 deletions(-) diff --git a/docs/img/backends_benchmark_cpu.png b/docs/img/backends_benchmark_cpu.png index 72ee321daa5742c25c0ffd5b739df34c5f3114a1..bb2600cac83276e192f4a5ec4a564ebe471232f3 100644 GIT binary patch literal 63229 zcmc$`2{e~&`!;$TGi1zIW+hRmBq8%uDHKJLp@z;V-@;KVJ_&_P(miNl&ATKR4Dt zFcYS@@WD7gj8t5@Oj81X*lOq#@TFmm0?kT%*`)Bl`|WLqwyoqgx~8 z{<3_Q)>%e{4I4sqC7zBCel!>6?rmx=MINI}anR!I!hYXzvll=Xg`UeMfBof7x zl$4Br8(&jm(S=C?7eMXCr@s;x%1lI&e_e*Qo`m-GzSLfrhhxNK3KE; zvRrI1-ID6JZ`r%Lx*q!clHglw5tJxtkf-uYLRMUyroFx0XK`Wc^LSAXNlD3+EvFdI zOb+Wk_8J=du($rwy2c!1QKpcf!a{|$2g?QCT-{W&FhAQhIA|sIOa1g8CgXJV+H<_J z3bs{2w9XfT5K|dmL#>88cGSGNw)vjNkKHM1zTBm59pR~|)@g0mww#hu@g9zu7;1}t zh0DYq|5~OcbCJ)ahoNt*x8Bguuqs|-A(C(1ejba*85tQ3O*3vW-@ZQfe(2ssTd}xs zCPrYr_Q8OW_N~RAODg~WyW_{@u1>4(}%T>G1{S%Y357F)Gy)jQXVvisPdoE|@4IoyyzmuGe>Wcqhs zpcid&QW8BDV|sS_*X#jK*JB&x<>ftwzgRAm`Av@rsCY;(Onu`pN><3Ix|Efl&*thn zM0>12jQ4p7gQocB*q9izGNI#bH*WbbC65g?W*Ov~-8$dIv1`SO6^+NDbVIl#^=-dB zkCnEmP(yH;-gn%YqVB)nuAN{0;B}kIfWqS9Ff$pw?Clo|PmdoBJH2Mjnq(DEnJ-_y zh+W*?)!!e{)7JoX;R zG>8`|EG!Jl$ypur`c!diiEH$Q)yA27^YYVC( zt9O=>&DOzzfsT&u!yU_Is$M@in-dLJ8gAcSUFJF16LIPO+u-_Pp{m+w{wzFq!uD)w z%c7Ox9HMvK7rr7(t_}j73WZCAsa|wTqmT;~f>TuP(|47A@S`lT+w9xHo3`CYIf|c%u2` z^>6RZcmL6}YI?4~rcxiF-@|+fAIvVI7Kw8$sje=PWf0Fuy*RvKYI?fs=jZzZicXv| zd+$V&l+#}B`!H~^qF*hShK|v;CY-ImF>A?kMW>)|b@5p{uPLQ}UHtNAwJLe^=xElP zyHZ))+(u}H{Uf8Iw2X|FB7!LjTcd^FBq=p&+3IRU5zeH}?8MN$Q+>NU`Wv(q7fJNF zy2h^Ab5m^18s^yLn?lZ>rE`3nvPR>u^RZ*Bl=A66(tiH_rZcQcg;SXi_T4Vm`dJ;01Z{W@){)xp&Y3Y_n6?$kk;DfrKL^#AzLg|z+r*SESZlo*Pn z>bd#(u5aJYe!hQ1a?2LM9hcSy}6$ThC6qL#m95(-o0DlWRD?Ym;~sjQa4fiLx=1f9WS}gqRi;w3Z{>} zTro=8rO6IQLpFCBUwqcu7FwXw|en81n^H7zYlZHVs4Yj-ABmbMw{ z>ofZK`I(d+w|M%=3Ca zd1tyX>rQ)2joN8hSy?r-wD1jlERaVg)?#93=i9w!5AOgiC&jey?t#S1Tm5Iu8a{sH zSMlft$u2XbtKR}7ijn&KJ0@}a7zhOW+?3$mQ z9GgD8;Y!1GExHVs&qZTJNGePey|J;e_|~n~4^oz`-o-?P4z-m=zq)OHTk6xNPfVt! zrej4bHXmo&zkk1Wy1IXlgXLf$sw#`W`^l5s6cY;G<;x69matOv$a-Br-sg;sIn-Zb zrb6*yFY1d*qBvaJ%PlD}Qhvn41LkL<2E1?r3yX@*R|brB29rf0NAkss7o5!(Umhkm ztgRhli^{rGNZCYjzWMgPkSkZNXiwJ_we$@%-~Ric2$E``FZ#`!H)}~GGF_Il=5Ahm z7=P>5E$!Y{7sDLiT#b5#8c81*7#P;;@TAnv&WXNRv+s0qWNBa`-IoGzDV_2jf?25xHXV`5?= zOS+ZrbgfQRlG{3~l4oJ8{GEM$5m;i|w<%jjfBgzRd-iO#9XFM0Q>lKm<<6Qwq#9?x z@#cMqK7B+qy;c=YP2*i_RX`@7o>z;Aany;3gal6NO2j3SNLhGgA_uU!ODXs6XUtR; zz!`No&1N#=PU5q7ziuItenV4{TczB%j z+|`+9ew$PPEXs#`EB?N>sWqSO9a?|-kCU!}!MCYj-}+mNWx2Vzdj{9Y$grrZtNUO- z`xAsHY@EWrzGyvN-OicuK~i9|v$M;~w_lWT`dpOl_chSzMS}SDwv*o821qx(1%oa5 ztdvvB9YFxee3ON#Ux$3J1P2GtEl!Sfd_y?q?kf62X>HhYOhQc0& z8%fn9t=Xf?&qXD~ONk({-n)0Nzx~N$r`h){E&6!6-nNdMKZ74RaN0?&-Cuk(?BPS@ zJ2sUf#m7GKHP05tuV24DGCKO~<;$0w7J8opNhMyrdJg}Io>6x1)J(p5)gGsd5)2mdJoNx|il0+4@wecJ=)vsmyKZSSH{H|duw$wHW9x@Owfp2K#&JauNv zn#g%6jkd@l*WWd+skvgmI2HUafk}LOr?E&9@bNDXgRLKXk~zv+|N_4O)tvro@1nF3Yl>3eo~-v~}$LsQdk zM5{3 zaNy*7e>MLZo}e*L%X{{EczW5CrRmmfq5&Cni>pN9;^MZ~AF{XaacFF81dwMf)R7;D_jQsiY#{>m?+Jm2;KSo%UuX15V zR_XW`Cj35-M#jE^gIh!v-Z;1Anq<%dtzYX)1_1vx{8cr3)*2=F;zH+(f{;&cV`Z_} zSXsX`OACw063@(#XY>gyp=oI%M?c<;#lB@7cyzMAtyI3mts@TL=X)936(dHfzxnp% zxo4yC4yhv&7hZODbp?a4nL9s;Ul#G@#c;i1PGk9;a^Qj*k~(&QgK}yw-_lZG6F>a* zaTXAH^2Q_VUL)aoq_6=Q>F_&p;J90Sx{fTeS9aOiU_q=O+iNoL;%YHA{Bb&RE ztsjj(oj!}5tOc1^A28=*c6%?|^XJbKULJO8&bwH?=Pf@Eis!o%xjlpVf(R>jR zk+I3U2u;IXyPhK>bp80TrX&1a$`(4{dc~t3n1I~EpFG*>;putL@y&7<@Vbxd`#z## zh5+var7elz5PhC&nnjQde)gQ4m-H?c`^uMtO1sSpnr?PSGmG&)!~vsup{6^PamVJF zXj$N*`cgKw-b%lnMn(yViN9XX20tn*>juQc)BDC{i2+RFmVN&8Cpsxgpt@z;4GRlv zTFrSl*3ob6=6O?n@M;MO+8;lDjL8QB#&n~?32ZsJa#y-K8!Id8bktmWmeG|B6lHDw zmG(*9a%$TA;;WY4Cub&2GIgW0D|z*S34s;DtEx2db9x8w{(SOs9S{J(=a(mE_({~4 zuqXHypV7Me(el2d9bznb{UOFna@H)=r$?t&gSl`C39Vhub@0ApZ1vnDVXnE+C-trR zl-QwWOIYq7M*p;H3;qhVRpvmjHh(Ngm55-iDtWi@FIy3Pz zxU{r%PTe6@#j_e&|HSNsYna#l;cpCwrHtecmRErm^9t?|nu?H+ zecd-Oa1NR7OS$i!gM3_EB*Cot@MdRV(fdq2*77rx>{?n{nPZ@dRdsbsjMLP#z{6Qr z`WD^0r*%PUXQ9jI4Pl`|oCWX8i%LrkijOuI9{;Lh+U)rO~VsV;A zJNv~am5-V${LeT!JKF)du}DT**8f5wyLD>~5Ovgp2Z~`zV~-D7TU$4R;M}o(%m^feRKQqIRMYAJ0YSmuf%Qk%?SBx2lSUq-vCOLYC~tRnch5e)y1F_^KorFS ztn`Bi4^FCS6oc^<-n;j-DSL0O-r%>iKl`^!NR zscT|fpEWdaQe$(uY7!30w1(440INu@SvnEyBqsm?kZS1iwT$=e+qXF41-Su$69Ckb zWv(pLbm~y>Ypw(Uo9oaN1eD#yzI^@4B`h3^$}6<>G!If7wISW5(6vozso)0s)w@zO z!9q~+g8`WAKtV_aN7W^ok;h28Fri8Z4hRu)1N2F_D9ikhmi!eJv%{)@L^N6YvFAIA zGLUVy8<)J>8JHx9ODeg13Ic2C1os-9n9x6cT7_hdjYr;ICz1EqYh8JHIrwd5`I9x< z=N4v1M*sW?#iB8?3q@{lc-0B8N!VMOMqnHuN6+ISaAiS28iF=vCP(Be*A5p;|}YrP-m9I(;e>2aQN7=miH7!J^baL|T8WWi8>< zBw>>hEwc4=Cr1gnP;fVzXl5`GY`K!4|YX62XD1uN%isqLHjLe4K20Pn-c zj}HO8NbkEVw07M((?=(J4}1-eHVn>_(~uhX9_`f1Kx)?xW8tMgbm)*4fVTUoQ_J+@ zgw~V?%wVhX@g5L+%l6fD>!KFp&Gvy8^{M;Ku%djg$48~BsDd)q1^YB z9ja93X`tL{+7;o2~ebGWMnyU;>6f#kkw`SvCCIkSXwdzF=|6+3mqMG z&o13Vw$S9!Ne6N#kcP@ZI>KGt=q|J^NMA@wTIshqKN)iS_U-GpZ_AQj7FPA*0W(~A zBRiW=WNws(Fi`jJpLXpPN+0WQl+1uMNA8XMg0iwQlWSWEuh-8{;sqDp4=EQtHV+5p z#-@dZv#nr3`U}CGHvqVHq2^_(SPnv5-E9}JdiClI5c@|1*NUusiNFMgd6wY+DsVg;nSp>Z*Yvbj)$>4|L5uUMqO$~091D;kp#Z?NJ#CiQkx)dG^jEo&ua8%w`WZq!;-p@ zap}?}Z6K{Mu%hUJo?aydToGCqH`yMrb!JFVTqrGh9@c)tuD0}Dzrj=|G>T)VW@lNk zQ!Kw_20tQu_s;K|5Y$hy;?{ambLE}x^vXm-1j?vi{5hUYwfPzl#Vvi<#UP0%hTG8^ z5|P|4nc~LR&H`z4|9p+?_W$^MsUTgmP7yU9%FWFU>k85&?SGWPe+zV!HM=*ndU<*2 zW7YC%#G0Ips9O#HQ*An|?8{|&8~fG=&JUq7XUO&KaQE^G*Oi#==>Re^7tV`>AcgE0 zCb-ejmK?P{onu8%l4Q!=us8(B1CZqoj7sz4jE4fflJX4(9YNBKl1n6{iB6owvD2a> zr4ZDC_jmi;xpDvgMhJbkJuHE}*PNeK;uZDd5#l{Z>Mg`AP+~>oHzrk8RiwIa-L=s~ zTEHo@bgB=S9$Q5VVhTAPDmHKH$%;@cu;lvnrVBFwL7&QfH-3L}ErNU1_80Xl6rHZ0 z8%;VrIV_AC97J*)a)*hhvff+39up`RlqSdrw)z|-IB_K8DL z4_yv#?OFIXIe#j*NW-$dGLQo#*U8zxJ$TuFiOQ#OsHFGYT&m>S`i#CXl7*F32YI=( zrzaG*SkvBqP~CNEw998|RD5EjL;h;r)2CVsMh+Bt97t*kZtZHgy_KV!3cTl_qhvt6 z+u{K*O;c>`JFu6{v;X=gKE@Vln(&hxbnB?NAzaN;&IGR zNB+SI6Ri+Omr+MYhooU}%w_A2A-WO_SCX3{3gz+R>{yaNLv8#oU%uS_tzb_MJ3u9{ zS1^)X*JxKwrpgiykx=NcSPWZx`w%>1C%{trfy?RKoSYOgFX0z}Ea6d6%%>-QGE>T@ zzAr8F_z?o|pd)j!y0MW9S)WVz?o46qe-uMazk;g&eaiLg39M05Q!BK6N;`e})X9^y zRLnohYEtgO$6joxr3#xih26Wi{_1A8ID(T~ZBUh0ax+6vCbi`0^XH7HBebI(O76eE z?<7wh9v+UmPy?JwQAihrmD}0c27%~(gZjxbIEaGQ|FJ+6$w>U-cGFwCSKT@IWWU+! zLH8l>DFxrL!$`hWSZ1Iuv_*7mZN**z&H4NLBa1(M|9+W4oY2cbt0h#!`}b!dXnS}( ztE~HY$MP)pjoc1o+u`A1s9{k}N<^gvKCkb%fb)C^YU38UNvtuXa9s#(iD_x<)I;wP z5p-CV?%1&d88-_+?9*fK0;h^QlYNl11XR7&l7_+I!=cdCUR+pQ8zR=3lOCXbYj?J- zlT#!jLgwptjU%b*0doRK@4<)~?5AnL!L4D3*AC8qDREtaV-SoGBSJV}Kpl>m#-kX5 zMAon8LcnmZ3baI2j=tI4(enviA7P?-pbQ$z#rN;%WD?_LK}|XE(47YI$U@J{zKxEr zt2i{~fwVFm#}&*R{?95ioRC>fES{7mX+=kVj^Z0teK_S}f?D`Tkn)!>v6AJXW9) zUESRw*RP8~F17`RBv2JKyVn!RXuWHzqM}m+^*+Zq0$6upVb)CuI0a2IDu}e;Iyyul zrX+7Yqjdhl1%jlY^>t%6w#0q!C4dilPv?&xQK0kWXiUjc>}UyFL@rZwZqiMA=nrsbS6EW= z9GXl5@I)&kY0sb9ur380^=_?%nqI~1V4NYTX4x)(zcQP&&2vYGJ5JQ6j zbwUf``Ti1@>6eo-=s>!4R4`DGtw=;a^q*Bi(5}iW#o9vRU=9cfXlQJF3cgMbsFu`) zD18>}U^LW9lIfBaow;AXd2?c@b(4^a2h-Nme@vFwRQS)5eyZR6_(zK;r#C$)Eu?CT5oW7QAf(VMfaV+YHsnxV~4p|n+{s}25G3b9jef5e3u=8wsx+vgQ2IucP zmiHl~h5-?YL)km^{k0Zg$gjzcz`oHqn!x#S{#QwBep}}32a*#9vD~|N@AUDrxth$n zVVyYKAtfaxP&3zkD6p}?riO5W@!q(3^W4Bz-!WYxfa5%h%T#&}Ub>!@B`M?f<>5W3 zo!{a$dK}Op{0mM&?0i2%m4%Xhb<;6j*H?!(5Q#Yi$V}|Q%bs4O?vUu{=!PPP9loD& zMi?mV%7A%YS0erXCoR~-BJF=B1pDp^SeQOS6U52KC-qk*r0_&$V!J*77cC{!KI=`3l{S3NIPlW)@xc}aPgrZUWLu-ItY<6M@s+ ziEdYV%n!hDsLeDagXHE)PZym(f1VH|bQzX!xMHOEuC8wY4P_w0+B>-Pk@;HmhucI{e# zsyD{ZFO2u1|B~*SiiNSTuy|nu1z^9OrRH}#!+-0|?%v*uJtwbiI(E~e?AEOxs}C*m z2n!2O`<@g9N)&|h9D=hhAtj}+xK1|eMP@+(2X5H(3M5LW3KR+=>5Pt#hoN&^{^SW+ z!v{y3W$LCRBqbA(rvcw&jc!}qlQ_IVu)3y(z&77U$bn5INv?EA5AGfwX3}(G@fwi! z5sMZTevkT(zTxoq3qD^YfVNQ_P8bWIgAV>_%rloIdWw0TnQ80yI^fR+$avF(Kr|AF z85|Q`1YgexDc%Zbkplc^b(O!z!-MQ~q2^Nwx6jPs#)$|HcS>}1ezJ(VACnd*1bvOp z2+;r&l|?i)Iy*bX0#n~t&}gPH1(ds?{~0~8p6oEmr#bA@l{T}MKO7(5t`*Hy*6>R3=`p!5O0ZJC)fJ15=5&A6i$1{_oN15 zVemT$@Z=$Zs#IRPcCFu2>*oqfmP4sB7t)h=?%Ziwba)$DGOEV)GNzfK z(vAD{ZES41Lhh`!+_qRJ`B;}Bj9JXz)Y3);jGv+)W;2CQ=y)W_?z^jbDeic@=RYl9Q9gBqhJy?^ps9On4gT zogT^tRUyn3?{8&dI)g8-? zI7BR9LFeNiItpL<*xbCX&{c8p=qPqEl6}@dUtdP}MEyGz&yy!#d0m@P2!GdH;%c?l zrb38c?tmr~2i6-q#Wq&NbL=_ta$ujVnP@XJGsnt*-kGhfeg6F1t79#9n6ZTL4D9nb)w@=-qgrBfYpEN@x^?RaqOdcQ zx~&0#4w_f{`pU+{OPBVF)xU|o(-_C`@wONfOW)Pr+PV><1^Ing3kO)81+v4vBkx4i zfTj*E%#0sHZ-p7PnBkl7)o!y(R5x zBL6ZeqoBk@E&{7R7TCxd1^($bt(dsol5h15$dx62yV167i5(}dgN9GDU6VEtqPd~H z{{KZ$mk)Z)6@wlZGnx$5(1jXMK1uwnUAq)vR}F#%T>nsQT^slb6cDsh)_@k+f=q%t zRM*xrAjm^e&*0PuMZ8o$eM&?6AlO~oqest?^JiRt5?mV4H(oSwj_csTgM`-I*u4hz zHwLB^32A92a2LWxAoM`hJbE2#Ku8NZ28Dr(0R+NF^R0XJ{^Y4FBo^YNdU)d7Xm>3u z=>?+%ZAlyXvxbgwsiudABCu{a7y^Nt77yLUAudX3jL4{xY=}Bd3z?Oee^gXdP;Lbg z`nr=R*Bae-d{d1ZCcYGO$~i&3VcgUQT_L5lzrWwOq-%IMPHN{>qBs;jc<>BaqY!ND zfW~+a0&eW^Iu(`WDF3w}o(=g{n@Q%;bhN*`sY%6W)RuHgVV4BqPJ%1$>KsC3C9*8EEtdw?pT$wL##nF zt?x+31J!6q#Smyh3n~|u^UCh!*~;952EZqTK}DLY8qfx$jpf8$1$tlt+r;#HJ7P5h z>C^FOWHAk%DdHEta8uc5^g40zk<=f8;z=Aa4<9{ZmNbatIanExZxV=&3dzaILFBAN zYl)dx#*C8)>Y?G`uLk{mWTQC%u~^Z5%q)TpiV1rVf?joXJ`XCY6qGqrkP_}2yKg}u zTj?>>YOd_{Gr4?Mi>ob)yWWuFSK4niZG}uBi>ySg~xvFV~SfkiXk;84Dn`ugE8p#A+t;B#$ck5Hh-zZ=+A)#IJ&SPSXt2z+D* zh#d>=HOZfCrN+)KqLt~EZAXv06`x#O@V5gf54nH;K8Y429VSSZJR}{K`S03Q>OE~? zWE7*|_*&p;ZLJ>B{?W$@gIdLc%JaH;PIr10SEyggy&cfib&p2({Y!9%u#P{=!N(w*#us$b#9k%MBZy#~zDl$*tiw-?@N%mT>;OMBus$FFA#U z*<@v9rDCuaW=`~4n%dg5+b^wUUYB2<-dIPkumV&-AMpu2wD~N-GJ`0%2q$VI(2L2=P4(&714cbPDg^ z-{YxlX5{`@rX2ziaV~@J0`vCz2EvA^88E?0N3t+PJXG(7Bl94?4%VYq(BQw#E#w9<(9>(82{X6V zZ^}e*Cy*B^ezLm13OtT96m03lR}Z}x+$|n`Tidaomr!;ulvdi;vJhuyzl4FrIewO5u_d2%+0 zl?BaD6CiCkgZ!_&%@xE+4bzml=y;}Yo+F1122p}X+Mk>uPebY;_;=z*pw4QvFisGy zTo+~e~q?9rn~)g`B3ML=UPYug1WDhOU&JM@Sj zdi>yCR^W2xe>W#o;2=Qp3z;^@FO&`y}g`nmGQ~A(naT537m&!mmV6pHD(m4^@|#V(em&sAkv`IR^bTi z{&s_(gPEBbD2@>mDDeOy_SK=xEcI759pfYBXTVTx8=K0886C3*b;Mnikx92$c{~|;f)`jh&TLAKyD5wu$GmMOE%R}8N=l2FwZ={G#nV>@uc2o3- zs(&zU%7f>V#3|soikN+FXSWmKG9&#!aAq(s`8fOfINli1tk%UZ_Tvt{^(yW zOja%uFO$>zn{3o|7zNO+Rr&rlwH~P$V^S4`DHT&mNN8h;33uq-VLT&=dyG_N>ZCZS**NJ)T5CwgD;61xVJ_Dx6>G>1iGu555%0Uo3Wd?-IX z&O-I{?dIb3_8w{1gEJBYKQSR82t1yS0=9<94#NNebH5A-%Y^3xa_c&>r4Z_WjkzVG-j)402eyA5X66?v(5daMGUl(*|qFRr_L&CTF!9YB-m?;-7LEQ4+Fqr^B z34l;wy*)i9d?X9*qdNcA?i)EZcVcc4~|ADmeZ%jndLc$B< zNgNpE99@FkKxRTv~{+rMY?D{+ItYBWiKenF$w|U+h75$2LIR z;3dDP%dkx%vByVwpMgP+g~+gZctp@*@xSsL=_JO+vgPe7hy$|BRar|Q4Q(C$s0~~j z&yj*mN?a^qPbF8Wd1zZHB2yi*_4UhVBXb5CYPKM}w2)#=~YUCUqIFK?YuclUBSVJZgXIzA6 z=Jvtm!?k?5jLc)4B6vWHQVnD-YGW?V%jxfvos$e&T#i{Q%z#8**?6QI3hAc@&dY$x zN3**J1W7xLWKdi^@4tRZr%KeRtz;eXObjUeg(STH z9fRQS|If`%{(mxFg7JnCNyFoJz&n6gTNtWy_@bq|i4o{NnW9Ri7 zUOZtCiCZd5$zo~OU>SVTBmfYN0*1N{2O5Cdl{_7MS3<@Fo1zJ2{+`#+exxuFY$@a* zVj}?GWP|xRYzEO`2#KRIE1j;^s+9i;+UG5d9_%uJDX(yzID`Fm$ni%I6(I0 zivA1O3QGKq4_Q8DTO@em&jSEmqWL{ch;$lTS{Ckjy+J1chBP&xzaM{4;q88Yx;OR_ z#~-Tj+#LsUEncN!V@g!rFOv8fP@KsuU(oBsEd~Y#KRYT#p?XgrS4E==6iOTF`NdtA zw`W5hoj#sUc9!?Uf7?eE+c!*R_ ztTgBcW2_dU z&nR>U9Zq^wHeAXcIT1~wJ)S;f!}a1?p~E+Fx_0@wxK;$_otoHq+byj?&so*K__tI(mrHD1N76YS9u!=XvCSROJ|D@8yjC^}Q zYu&OcOfRAC?Of2nBXjkVUx4q^WajUe{#RQ&7;nM>xP62U!^y99mWd z@s;2(mR>Sl2C*t5gxpBvIi+GX`lS?NVQhuQ>Xj=sq5i6`laz#_EEE(Q8_Oa|l8VgL z4@xwOn>R=3N(AdlXu)~Nb92W^ZkPb`#5VkM3D;#+Xbfm_(ko&T1Q<0GHQMhg*cH+b zLB72D#3N>=c*~Xc)58;oC`}6s0is@KXHVp8BoXM(b@UqLc!GFbU@-WGGKo1a-kk{j zb28PqhJ;Mf2Xz`Wx^*$xbpjet_WO++HdMHi#nIKf)+)MLcT&|2lg9gW{WaYSXv6V*58kbZxy9o z_C3U+~v6ZFL5ffE-r z4B~va`mbW_Bt&*3Y^Uoo&DE=OXk81?`a!ScQtlmy4a6c&yxCzr@i?Z2);Kp74N#|f z{mPs_RliqzH;StEE+JsCi?%4IGqq@ucLQ|QKf(9#nnNOp{p?P7mJPy z@gqVBB}12Y4?GG%n!Bx{h8@V1Fc{*X83Aj1`t&KB3`v)#r>1O?`^caOi{#%;y80o2 zz5#F!VkJv2{socPMC+fsxrQTv5P6Qk`Zdrj>-!n|sDObJG6^IT6N81wbs~wJI2jS- zrkH(5lCxe;kxBz~MORhzo$;*Qn}ppG(|BUrdNzE$t~EZ3GQ!IsXe)J4{|RcdelK!FuEX%Ta+Fb zhAqpShZj5a3)hRrSVZJ2C^6*a0#p?Ynmp`ug98Hr_ohznxRe-YRkzPkb^h(kVipIH zH;kHAIsN0kr*8SvPBrhdS(D@mwn*R!5N0E6A-uYngER9pTzOuIqi>+Uf7HF;Dyor! z>i9r&4N9MxFe5pRT)4MUCne1cwLyi#OPB0n)v;FFlWqU`HsYWQj0Vc+**qO_vZ2}# zj<%-Uj_vl2oZN#9`~VK{)RZ+$v>3)C7CVR>xeEUjfo*tJ#BdZh)@B{tR9Wz*`0**= ziizAu(+)BwiP8Q*50+VlxyFYB8!2xr;JGd9Ecuq-jqnX`5<~dVT zA2P18mg%)9SnOeYVYuUB<*x0K&wqBMy``>9U#ff0 zv%6{S%+|NW^L&dhUk;l;#q4?2+u*azK`JP`f=1cfoh>aqyejM9F|~)jjM1yTpG96d z)4Bf<4b|B{!Jxd*r)_k=PbA1Pc%tCC^DUL2IlRT7hL|b%_`)?7=ayk6+oIfOJ)n0u zN`&37?po3tg1%!eEQ9s*r)lGl*U46Cm$rGbEv@f~Ksn8(72cs{9fk+L@4m-=e9@ot zo|_F`l<=kU#PURWkqqtFn^aJdd3i(6?FM)Y(H%@=)P7?v)$xVV)$^o zI_r{T5LoHh;$!$#I|63e@~sv(3t44v=LJ3LM&n)+&2)24adHQ1_8AZ9PSso!DDCt~ z>+@fJnwQIXB(ttREOTs^PM__dTZip-(aAv3B{^Zk9czQG8R+ykl|}c;Td1hc0&-p*<*!6u7%J>tBnON3fRR&!SB}QngIRh z2G#1S*QM7>WxfmTZD@Y~?)Mx&dx62WBi_mv3)aYJJn`O=_T_O%@Se?w=G;~{+I1R# zs_;?ME=W!K*x1;tlg=#b{_V@b8`%{G5n3BHN>y!Q_Qz2HxoBl!5WX6+Rd0O8ww*im z;PZpqGdZUOqQ+k=3K;~%9jv@&pN)SQb_SNc6l3XCh(CGxxu>2hpXqn^CC2tTY_Mb$ z`KlhjF)+WX;7q&b4lAo49IVZptp(FX~0hWkE=%I%lqYH8kF#HRNa$ z{c7Weri8>a#Jk^hvmI6|LX4yWg$237tz{P?j%V?S^}LpInR1X0fA@uMU4CX@kU4JT zU%n`yI7y6FETN_#pMxE72nhCSu)c#)2@oU^02CUvY(A__AxTL*(}QSF`N@+~Hnyvy zfqqr$S3QT*GvNvwijyuEq^k-z?p@XO(K|1rfh+sZy<%Isv+H{!=b636 z!FSC>FDb?O_zVikiMEAI&>f+u!-9eqi@(LpavPV9m!HY7&*w|tbcbfw+#{wps_`<< zMEI8iWYZ8$49c%e0-W?^VYsJnU{3@(;b?UZ58r)o9Gi@U%zF3{vb~wIy+pdsSYz&& z!9I@BskaPEXPqxM`O;Qc#UfpG$EPn5-y+V)rxfS({>TP3t0V19Dn5e;bSs(bI-RX( zD91}){Yod*Ti%L{j$Eux3v11Jw~DLi_|2T>WcU(Tp9r#KBnps|*xZTKiy_$NoE1|T zhn4}W4u^{d?2Hbb=V$1+CP@Xq(x<>QiOFiup7-yD`MI3K|GP?)Sy*}-J}D?DOcb%Q zPWw*TysAEX!p6hbcT-cT`v{$Ys3^zAjraZfg!C50##gV!m@ddh7+R+gPH**7)KnPBcj7a#5$7Ba`v&^SF3 z>4j-CcN~p($8CtIbsBpe`60D6oeo-gIMfZ5`t?%u0<|CoqpxI{ zAifN@bt?(*fiNfl#9s^ZXF%}KMzDi}X6%|yUoA8}mNnZ6NXgVe7}L-(qAx@dM2dF} z5pN%K8~djr48&5HSMwLDoJ75&55l%&0y1NiRUbwZyxYi3m=G4z#O#TEG<2FUNt0eW zF;nC7sL`?B9cYW^DgRRw4Zv#gDuZ+I0Cy2ivu&Feh98Nc0$)k4TE&1{H2=Txjey^8 zHs_k(<|Dh36-eR9mk6nP8HFX{id?)q341|5AVnkaU>BDn%o9Gpy2H+8;;AHL$^fiP zq%OP^U7W~(W?S>@nJxqQEiPVHRNvEQ&P1n8%O)BoBqv8Av@*d6^H~34sz`#VD(A*n ziP;-&08GM@?mh85l2^c>mHKaVx2%d-5Fl4$I-2!(dwCSD@@J$&6pd{jYaRkfb+3?B zBSHITpm|5L9qDP^3bRk7;OHT5oFXIS6b0SvZ_6h`n}OHhFS+@XJFh1O=BNvTZ~_RL znDttvV1LUYS9IzVB|+!{iqJ;#z#_ zb+m<8dcmr2W1%c$l_X?Zu}p=CKr)wsK-cZX-iBc!|L-cwT-8sXzN^`qm|f5LYe10d zeEEpU=?Bm2;j7OOKRAY7tGhr3P20lHA+L;l!xIh|oQoB+jVN7Agz^zOS zd1Dy>a~u6A@*akuAI*(}p%NCts@Dw@J;uLdk(Kev7adp>6+tG3P(R*!&w_!}!M|_^)xXO{SG<)zrS|n} zBk^gv4IFI&$`Z*$fv!RqobL+Jm|JMI3XE(<3Bm01qdK*8a#1OAwE&SNBZ)AhC7wr( z0W;)Qc%|i-4Nm+pI5B-*N@lHgcu?focSWfS1MUyCuRL*cHuOlQ_{`DuGQ0k8rBH1) ziq+MB>>9m>nd^e_6JcX_YO1(hYZKKS9LzlazD_Vx2rlv7h*MYea@VP|PSK&YtB-~- zk;6D@hX2G7R3v`wDBf^Mi`Qab%+=yOu33iZ4U%LxR96@uG)2r3aWkj ztD$90GHaIp%vD}P)f;f)_-=%=#5_-CaLsBYl@M2;Y+XDSJ7zFX4HiwClwoH4fvib-ir-oU;;qMIM5$ zcUWG3{;}A!G3R{KOx<_JZxih+oD?$!^StxTEvz&AY-w}F@e&z0GR73+(O@6xLIO8> z@=zo$PdKlpBxLJh!3`-k0m~m(e2r@l{B!nh@YwCi@txzQkG=gZE|r8_y31GnR--!6 za*3^z9aD~qTxJ=EaYxt7fuini9u8mFsAyp&!mCou4Q22WAYu#z-o-EDgUGwR zwtri96oOTSus+(Au2cGJ?E5KG+GK$%L3>!^GUvbC z{q*}Qd!yQ-P+9D<-*MMxw+C7%?}y=k@wC7@owN*m-Kga7&#WfoVA*N)4RgyXj0 zuo;YG(NW~pnD5dx_;(KCTcpDb*g-rcSH|-f_?jDOZPRs9E>VBp(+h;J2?%nQjIeh4 zVfSg!QG?cLVI(~yaS0Y87_G5$=is1T@AcDyssbVkZrws}O;7r#NbVtKGPM|;8O7jw z;~%IqS(wO_IVU$+RPus~%1TBn8&f(YIHB2f~rd>Rg1b~Ui8 zYOEjS5Tfgi+}Dlkf7dHvybO~7dy-cdq;px~eQAx4z1@&G*UbME)Cf?6JdSy)n1%+E zMny7*2hvPBl3-+d@6kP656dQ1g>uJR@d9J=jPM<$V2FiGfj9&A13>8ARhLxXg!i_^*hcS@rS^Bo$e~^APG4z4*v6tBQBax{>yy}AQav|((g`+ z(+T&CaE`t>`)I~f)MN2ud1-#=T5G9FohMJ+e$Wb^nCX@b3j4s($r?}b*=rQ}C3011 z_ZxUg1_7w);k6XJX(_bs^a{~=1{A+2U!~h4yzuC-V0Z7!!#^ILI=POzzWV~@88}Xwkk2+ z3ErWzPfcZ>GFNTZOl=>hiJTly(Wkr*$hS%crQTi@eUSe-)89tNKP*(Ou8ynf9V`}l zlKz%>#br{3AY8{|9O4e!lT7BalWM`akxHgnd9K)uhTDuXAJ~0Mv91E{bK1$u18UR1 z?B+y8luS2^R&pSBzUsKP#76qM->c(iil8m>tIg3q^HIV&F(f3j&7rjMqM;=T({wEjqgkONr=K3UXl-$Ff1l;HvJH>sW2RD4C|g?T^B`am9E-CP zMDqh}v~zZjYRcvv3EBm?JG|?)YDnSl_y%7)@8nO?#%k&-8_!pjn|r`E-UG45#$NQ&E3BLdC=cf!GtTH^eUAJ}CtY1(D zZ=C6}qn!%=znFXLpf1<1?fZ)$-L14J-3S5_N-72&(uhc@G}0icv{KR~(k&(3Dk!CN zhje#8>+*Ns&)o04^ZxhFJkQMDvzfhx&G(A)T<1ED|UISd2le= zW&iJXupUdNIM?ac^klwEJq9?k?9Nrh#dc6hln%a6?(eu)pg;R$O8+Z=N)0EhJW;m) zb@*r)?nJb5j-#o|aHlS>jbs1hCf>4N*#o8Nx!R1)^ZG~iC(}*{{^@W3erLCPU zzS{|JM#^4OaTU>`G2Bc{e1Y7(G=+=1HF0#QX4!$TTJHS% z)ULXCPjD75xrCwpMo6!XjR`7l;b1tb(zn`IR6td5b8d!t46okz^JE1Eiu&V~#>R*4 zKfGhYC_}hH=MJbIK6>0VedR=@T#Z0vkQ3d+itNReQ!Kr!U(;ShZX4#FTn)!bz4}1$ z=N9q7uo}CqEKl}28(uawFuB1eXg0_aiA1z^{aY7w8B`9v8?FGTR#v%QK z;@uU+?3HI>M_I{@W?K|~kN15--z^6&T)rD2<*sM2-(0jHQ-Eg3LCk`VJ-TdYQ3HwM&hqwdJvHc9lL^>txQ{z2Ags3hLhh#9u1%WJQ0V=<^WryxrCFF-+xrOo<2x`>6+Gbr%0T8p=IYBl{zom#`@~d;a6cxcm3840?jV+ zE)Rlx+?3R?9h-_HdnD8mku^5!LxbE@j^}Xv=CGkUe!~&?RG^narBix5Rup zk;x>(!d76vvFCL#cAWF*32pTOrEkSp)7o3v!$C*y6oviRFI3mxRbcGb2WdSsqbrOw z=M4MC#;GQ>pJC3FDk|nAF zDoMh7zghE%5hUNpwLk9>(-W(>Orj)cZMnXvNw9XB)tKY{Q+f^0f+q~6n!L1RZfug0 zJLEDeG?8U$G|>8gVp@-u&`--A~1tGcGnLetN(?BOahdCW8ak_Os0ayVFA$zy1s7f?Q1l(l<^ z5_+4ILtaGIs#NBj6mdz-gN}O9BE#=J{g?9ViYr4N4rt$wim6d|9PF;9N46=kFka*M zHD*;Qt9$W1dn8rAa9MX)EUiCcIJ>|0HhxIdWaEfeGp=(vowsVChS7>P;dsLn?6`-G zXEa$5z;D@@9VOhavYTn>*!EAH@V6cvWtthT>)s%@pk?vC`l-H5G;BPaG@1@4RNBML z9u>#zCPep0&heQ5T8DIo@?;ylEo=f;Oq|ABf?maG;htDmK_Tz)Dn&+C{deZ)>oPI# zF=b}EXn01&Vq{LvrJkP5Sd*Nw(DGXw8jYs&Z?4=X*w1VjQ=#UNbS8w?`QiPJmTwoy zLe!Ldgo7y^Eq%&VncM_?7S?PAt(jBd6LH<C&DMmSd) z^kgR5hd%$>oV39!r~Rqi@g09hN%F3$CFb#fBXq03VeIO7p-WOIrdrpjnroC`h(Awi z;bl!Wa<`9l-b0ou@TSyWrxvcI7dzSlA+~3SR~P-6YAq z`ATjS>PY~;SCMF-Tj0hub}<}S-Bfxj1(tVn49x@AaWfc>EF$0jo}3WsH?p({-2RjB zt+RH7uyMRoq4<2^ZqL9UnI$`+o^RI0Kb~ISYsXLy)pwx`{EWxjX&62p?Lyty@c4fI zn#N_4Ep}(hok`yz{e1iqFB^i8qaAw6M0X$6zsK+nBZ_)KABJg*UAI-5M3<+fb#an0uk-xYt*jesd?<3o=FZ;yw%F)bZvKP0 zULaBIwY{!15bky*SYmR`FVIlq%W)cAbCG0QuV|prGgJI5vAFw-(T}`l|0b_&o*PfFv5+if*G8kN5mNAmcUvqP5krNm9VBlBENM-)x?=k;jleSOW z(?r{GspIGPppE^3qktKDi)@WQ5vne!G3i#pR{o&wJEm z*ir=fIPYZfB4Z5ZsTj%3k}`IdoEE>6{NwMF6QZ|`1qwd!{KIGm8y`}R2s^}vj?wswzputNVm>tm8i z!_zKr@flEAdPDCNATgn?o_wjdWK(hmGfrjsW9;5Dl8Z1%v$`7fG-;V_ow zuNy(KQj&k38}DZDkq%Q0wy2cLI1XtR2Xe^->~t!b3|5Zzo`ie$2=$z_l5S`59UH%R z=@Z~f^F77)xI1n1aK+0j9jY7c>NyX6GLO}vU;ZLrJ?I0vhtRQZP=(YwyVHPH#q{2s zN%EMYi)-g%_(6Q=0_wxayQ&@1FrhXa%Ox?Mw^cjR=Ogu{=*=?8*I2}_qKJ<+2@ED& z2^YS`8P3H#*4(5WAZPtcclUI~`FidB#w|m_7W;d%?$Dn36RyM_;t89oFD823)Ihdg z;j-7qZ#rVSX_i@6*+#3x3t!e;E9&=rMOAg;+V~?ABY*rw&$d^=`%N)=ctOy=(Yojk zz2GqzJKPB9)Dk`mo%almAW!;K{7_?$c}2nBKjQ`$EqAYx5%c2JMW&fwozg2<7GW8q zRE*9$-PGH&kE3|B^o?CrrSXM-(O_;AHOP&}NNjd=`$oiXKfeD!Hl>~9j_U32z4!UP z+$4>@qC`80s_u!-5CSZvsqV>B}36+b+3I*;k#a3u z53Y(Wsj6D$(!n}zTFh`%*WMl>g7=*0alo}RkE^SkW|H-}Y`ea=hCga#W$WF!yy*6h z*+DbJks-s=9uYyr@>aPz*$vyyIY;={M;o>G?}Y?6?bsUk_^6?;Huzl+L>jYBoIhn{8vS}JKUBAk3^b}itTvbd<(R;ah>L;esZN{{Gg$QgPZmEseX4fcxD#s3R6asl`?*K z&I!Gzcy{SAw>YL75mpr2&g4&LqgM_a>zq29mw71EpclDDt#g&>D5J&VJOB3{!M;eZ`ziYF zq~)#yaz|ba$_CAUuHqEU*qF}Bsa&Ey;v-$!=ws~tz{t))B7Y+!SY68QLG;Bj>MQJyS7J86lO>yv%rm{W6hKz|6NU^u;g5HR3qx zv7XB3(FHU9lZ36$Z`TbD-M}>!{e#7*gi)rJv z4a&K9n|Vrdrrm|&Z#-^b9j)v}bv;{@A$`e>%`jH9>2Z3S7Dvo`q;4hcY2FW!-C4;` zS?<*dIt!owJ(_bj-b?UrU_+x#I_qfM=&4D1k7nyy*AByEM?=fW;ekKZ7t-prz=}d) zX!kW%)Y4rgd=*0aO1P^2EZ4lgd9ef7T7=-KM*vNrvO;b|HEa*E)?q*@216kOfI|Rp z>}`IG%t`=l06HB?IsnF(7{lU$tRtfbDod*UTnQv%#iW>}oTY?*^J*`-&%?&JNhQi0PxsuP&5H^K^DOTvFwkI~ zYRV8K>ajf^ zT?6FPQ((a}H$UN5-~9P}r8wt84AmGX$BKNRr{_qCiXe~n^CKdqFZ=NK(9(%jyk;9C z;kcl!ydbvssWj(Nffy?F`{G|4D?NHvPYE9>*P`a(HddA4qN~e9o0lS7PLNfp<>W-T zr?1zi@C`j24%*f{Zo%otWKO|&cUJ8srMwg_^S?)6ovu1qQ*A`LTbby-$~!neMun^Y zfL=vK<6fe!6K;2rl+2Nr zb(0$P8Oj^N7Zl(nMLe5G&KMM51S16^jHZqkXsrlG6UkHnT6PAsE?J037n}E9b4h|O zhY2u9pd;nqCk%6EZ~!ug;Oq^Af#iaSL~w4tI!=^6;|=@LkLX;3tCNYz5o-<`7v-8_ zO5qx4!@n}j*yLtae)c-6+h_K3R^)~R6|^1%1i1z(x|3+bg1o?@pmcG9zZVfW=XyWk&+KFRONZ|D{DdcM*U`QwD?Exn`w zVt=7QT@a{{-#a1Yg77sEipG*Sa0QUSqns%`N<%=xDvTWk{U(H7;wr>np~rY@6M*H2 z9c~D+G7#Als$h_9y9~MnDSL>laMnI5_0=7j-vq>ysbdAUq9G#tFMl=tP31f8wM(}S z>*NZ7RrZ7u>E?b90w*H)H?ka(!Rg0dZ~<*baqbgfry-b2KFCG`6@upc{2a{Dow``( z8hXcf)%E_#6`9a5FSebPhm_Q1a0@}^J2_Y8M=T!VGR0Q_LDM}FuIeCch_NOg;=f( zc(9{?sWo_dsCb|t_;RmeuWScest^vw1Y8hesh{51AOg$X!Q<4!UEk~~BXI4hw}t|c z8~%GE_rDEHNvB~UGcb}a^#rOm) zG5j!?1MKjZL90QUJhqEHOh=bV0rUYm8oydk@T3%jhKC>!K;&+Nc%@!=I!Q4L z&0je%>>(ys6hgE`qUl`vU&&E?Chho$Gq^LxRI+;jFdyKu?U?%>i9{Yl*OA{L_>N?R zV_BAv z*=-Ma>plvY24&}iJ`8S!?;5qk$W2mx{SYO!IsHfx4RJRQHF!yB78!&BSs+(L>{_}K z83q~{%RBqUp*;sRKuY1^WeQ|v11anxIwc|M^QTX5J>}Zl+R#wYijN-P<=g1Pt32zD z?mW-BPO)Y@exekeH zXE-E-`2iPo*dcYk74CI9%W$E-O+` zM+;CJ!4wS?4h=_oY%&u^+5cL-!L43V$VS7DV5gA$HFEhLxaK@$s z-GHpBU4P^&qCLoypBhLZc4yh;xBn;eg+D<+LQfwC?vr^JNfz(R-&$KS?)*(KhA|Q|=3tOU0(}q?z6`<5D-9?-@%GU>3o4m{OXS& zW#!)WAAP#IumQ?Phz(7}8hWCk)bq7Tz@O6w>Iba5=%_MnfTb6{u_PMsmQ8k4&BeFgNUhp?t?(uX72R6n5&K=YfMK{VC!o zgP+g@6gKteR#w4>ht3H19$Yg3Kv33MfO=+I7!jIZy(&~*fH5<}Jh#F81ql8WT)21Jh3c6#PNUpe|9!#@u4C4hD4=#vuS7m^VJA+@rzkf*vkLx&_0lN!UYS zZBAc;KLOcOz>doGmsV_meG%00cb`3~JQ^T70X0hc5@3xWWCmNoou^OJ&2qR`?_(4R){KA@UG_M76$ppkH|Wf{%9%A^CH!*bDRX zlRz#z-2#+v__1(T8fRK&4hpiD^ti8pG6k+Dw20wBSjKw~d_i4@LdZs#zG%m5m5>LdG(aHx!rkL|5eOG&Q(exX`oOje zevm)hYlHxZp!GfrSx?Xc;K=!SmtEL;f-C+xVD=#_ivDd(OX}SACMe6`GMWXoxXS&g z)LaJ&H)J*#lz%2r0i|1j`42(3qKv@(i2MD~e`MGII0(!@{gQ40YAZ@Ws;BbhC<|}O z^XRo@HUWU4JMo|4fU{8Vh`8& z0U2=g@gueWOF3O#8sLecqo$w&RKKT#c-p}YFbyJV`c4NL5`=+7VU6@96>>;Rj)RW4;Wi(vXxSV$p|d_3m>u zfCIo32X&_EF&z?8pvi&eEKsiI6U<~FI!Z%Vpvi}D`M+pcBL{;b}N-{^y zlQ48dYmrXR{;t6OpIUShM7`4BZ>Z(!YhOUoiL6-Q>xux(JlIB{P>}f@1{`!qz9HN% z1nvvQI0eW}nUnW?|BeGr&URRSqj+?Ou@R!Gw2aLBZ5riGX76P_jz*HkbmmHC?=t!> zwYv`0v46t3hR?pHoY|bm5^#ls$>hlr_SAo6OBNST4{G%2_8q~eM#m720^l4OEcr4} z_sy?FGkeDcb^Z^LSk3?33(3!c@!3#PAZ8v+4anFB?=FH*us$P%BXP8-@6X^1YGecu z3aR`drEj}B#P6{D8|Poy4GaJGQ5AWP=pgyyQg{#9Jp^G`)EtBK53t=_8~wL>2?+df za#dlDR;0)1-M>Wkdc}qo~I&Urw9Nqd*>+9gn-C6;1sw4I)DY~S_Rl7PIHYAk~vs&kvAE* z*AVhYfN9_fNulxv%b`k%+8k-)|4@W|K@m2AECFnkjmSikez0I8kTT@3g-6MC2ckB` zcJqoy+(xJ=pc=?S+7Q83!nT(NiAE8J#fU|!zpzmwaA0t|Fv0!?8!W_Fwx|~QRkpxy zHa#%0;_N9wD;b3aW;vQrz>;KX0|4PucuSIS~Rr~ zJ^s`Q2k&-G9!IO5iwEze3X1dF)%)jLZj03{C^1!ily^-L76{5AEE&4b24&x?=pEY~ zG;*KXFAB$py~LR%WhrJi3!ZJD4bYvni^%M>IVqwkE>QlWkcbh7dN<&8AR}J4DWY@M zLkXR1Ow`zj8y%~ss89VUCh~ve(F_8{n}*NwjMe%cwW)kyK|aIL z$>{M%H!ggkzlj~)hS43%$fpMH|IlS}nT7GJDREheoq&4j?70RsZdd+18 zH3Flp9w}5df<`u_{F8(L(>d+cWWbQP5gnJJu5=8K%x;hi7U>VtcFS^!ZbC+&13iIRc3C>b%JILWnXiv`)h@s^2hP+*|~wG?OqYIQXOv*?{W^Ij@ z>0fLbhC-jt$Aulw!ElL)&O`sjY9*!;Pi{vWna+q#_IMus>GRjkdr~qsr?Je%?ACZ% zMWvRJryki=t1E5yaoo)CPnML_b0#VASiZC`H30qNdY>|g=J#IMU1eFtk*hJ);&++! zaLBd{ZfGb7?ChRV-iXDk+S}ft=Q_*$biKA?_y%jq>zT)ihPIf62BuqkeG|?e8x$3U zPr@t1$r&oO)G1=?X~DEY`VJ$xCBCt-nHY?HAT7nuCDv- z4eDeG>?U3lohj2HI*q`4K$J_x+ydd+OX{6mg5m(SN2Fhx?nd*Edqh@l8ciV;^P79| zD~GR?U^zSe)FMbU^=CZRrqB?Rf4Wy>YsDBb&zyJ_sCXGM(!4jzM__115?|7SK zmtvV{*T;Tb0C5FRNS^cBmOE5P$I3}eY4_jvC-KzzHqbdFut?w)@@z;87_;jU*z%nv|D%PV;WO#E$SsbU%N3q;v^KTpa3;mmv@}FZ6C1~XM!ds~9 z*tmN+CzmktCN|j}0=v_@h9)GPLwt^1 z$9*A~!%!n|?yT_|A+Qrak{RlMqm^#sC_ew zi856sD_0S1*4?KYdCP(x7(QI<>iOFNaqHQ#->aHfZY-;Q<#|F+lRHwI?(q7HE!zkQ z{<|!nIu_-IYK_Q$t?J?g3eYd^|GcCTD0}s>gyhfcJL;UKL7cNR*&Y&;Oy_()V5Q57WHvzYP<-CVc0W zk-3Dv_rl=WR_uHn3A(6pV8L+UYC)di^Igp|nd-||rerfg$ zs5I=D2dNoGy>s2BOu))-$&Qped6ESke3fR6ty4KijeqYIGc#RL^11Kf$6F|r8XnD1 zbRp^`ojzol!0(@m`Tje`L(xrCLyAj4)xnH{PTbOp5!eJUj=$c`dz(Vb^9@5!+mZ6t zYkv>`Bln-7Yc>=GDOW;ZyGfhsp5wV3s-~~ z6+xR6k`>!xWBlg{JY9|U=45{`G0q+Fk47S}RR@WoZ!{b@1Jv z9!rHX`9=LHuMQD);YO!C<8+{rs80`I@0; ziMp=1gnwwGyPoWl$JR&X>*4Zurub`m%mWQN!LZ?B>pL*T+qBYF#ra9o?vZ3*nJ#Ymv5C zCMU}QNBD*@9=L&<8qn!b5{=MhZ`h5PZJ?vOSD_b?qX?Vq2D{)p`s&$jVr#AG;gOh`mB0A=E$+qUH_{;oiFows9gSl3cD(V3k=C7KrI?s z#JOlAvne12*$jwGIMJQ^Xya3$xVdruSw9OW4#XnO?@#F!;U}&{t2nZy6o~B2{~5=Y z9dlv&nvw>7f}!fsJdskRe!<@|D~&}F$sY*8nBp4Xn!dzfn637kBG%)~#Nvv;m{+79 z{uSkkc5GGsz5DUdO`I~QxdGllbw@VY%aN#LF-KfT2}ZGcp&)Sc-*BhPCDBO ztZ^UcGhxdqnwyu4`zpT9eGBTxb7X|i}&9&Dhbt&7rF60z#H-=F`N`}b>xH1d=66D7y6lG>X&tbw}I8K$}UhAxb zXSjIdMBk=R3lmN&o144n>XvJ0P)z&LpJ1hRoZp24&#v~Rl8Oo}_g@BX z(ah^jFGy7+yDBSl-OmqKI-Ax`ac*d=X6J;ty!=swiK&yBRMEosouRnl;RCElcLBl4 zjqIz{W8%P7C4^>UV@nJAr8g+}3*H$Y=qf?Dmj`AG*%90F64gw;&fP;tL#;k?C^5-r zZr=D?5|MA5+$tg8aO7(+`a=AjN2_#cz^o#-W&CnBSAp~Vac-Ytwgtz2=AX`!^q!6e zsemFnU#2EzzNd9Wszn!}6M`pCr5A55CR8-e7x9$Pl^Imo58zb6E;AowT0`AmA=#I13{z7@Y6pGKnB(OyA*32vS>v-Sa z=6>jW{R~2(2>%uaT{nU%ghIiRg~WI}*54(X=j^DcpD!!eQD~{lJkZ~=&i*T1wslF% za;aw$%}nYxy3z%j`O0(lI&~eU+&em_WT(|DmsYXFN)xyDwo~R>a!(r2ZAYqg(>Isw z-)<|WntTeTk93>a-Hzm9$(JgmU6IJgw|SX{C49Dp{VJuysNdXejA-3=r~!}ZIkkh; z;3Z1TqU24T_t{qF>9t?>3sia4qbOwbeP6|0`>9YUg#=5C%(7@3LUYn>^}G0%0(FO$ zXWzb|)46M?z0+-|t{M7m&J0`JlgRT`kkq0#-p_VCy`0Q&FE2iP-_1W+j3f_0k%_xd zQ{~1q3?<5%{axXAU&k=Tb8)N|KH@LL=Vb;&8m8r}nwqkDq627m zLc3*pjA#y>_*=SC)~AdT#hmIF4o6s%*wT4CCfbM+%$gQvyL+0-dHqI?0jtt??K-RM z^x?Uw%}U;(y(j6qxdS>-u--yKOd8}DV22isJ3-$&^o;tNg04F)qcOGnrv9be8~8Ub zMA4O>aK8~t3ACVpx!Gop6{A*vg(^Ojs!BEZ>t``cF6s~i!INtXo-tkKe+TwIEAl%x z+ul<+E#apfXQ@XQB5)iNcO@8*c$xNDWyku%3Ex6=x0vQlvClU_a`$Pa=L%N zw>lome91iRrPhNAlbec_;o`~~n*LS3{KQ)CjE8^XdMuou_>t)|OWct7>#wVGglU_KkJbx_3^x8 z*Wxgx{MYzHPieEnnpmt!YciYHPZ%mP1`?EY8R+z)X5R_;jn3IoZ9?aDB@s*cI;k;e zD+CjhV68ERQ0bdH-Y};LMlG#Jk7{aYAQLq}X?k;q(K|R84`Ae`73@4bFbx$2O~Pp! z^|yLg8v#$4o}ZsTuw7azfPg#*Mg{@pLITe&P*#!A=`i{jnHd@p8L76g4@@tF_yyxb z-hqj&D^ZjT`nv+LnUGfw18^-9(AGdkYKIwm(=f^y0<%lP@azK+vIC~t+8nIwgTtf| z1`YzCz{+=6}qf?4?AgW(+-#ZVVLURWI#BsPZF>?gLLF z5OIJ#fH3W0c3Do>vw`>LOQxV;_~xfk`!Zs^vuBKKGMAg}O>vCVDv3MG z7UEIwN@-W{uqrx;6*9aq-z+w#g}D$^H(!)R5^HId(D`OZun2jByg9Yy41a;6Nv2>= zoSq0Iw8DdP4o*%I28M7D7?%VjQ;1*^Yin!k@1x|PAl$fiGL)Y*69~L$s6T)H5C^vv zjbox<=+ryJoClO}Ab^V^B-pvRXE2SteBvlNsq|6aCWoH6uz_-gj%>GLM06Cp;K#P# z-ygCkCvUO%#uAv__8DXAFIj(4m__a@9-k}6IbYKe#a0QwBB<-A7Cx9?gaU~l6E5nK z7^GwY&(J(JRy%Rh+1cr<%>~m@-*wr6^09=`e<1|aK!|5vh6pMGp8#E(2)hmG&aVn$v_(62k{aevj3Y$?f@z^bR8(>p`f71&OUri zI+>oH?mGD6bACE*>-m}9^Jhjxoai5yIS1dW@d(lUFnFNxI(V*G=d|I>$l; z@^UJo)O^JZi*M2J0`JJAHrc8EY4$gfC@ZEll+R*1RzVX8=4f2lG8$KW%b)a!uR8GZ zZv$7&Vga@v-R+YHMV%p+DoS4m)~9`^nYjPfT_^_)Fdl!=#vp?$4`o@?!mW$0Z5Sod z0g?(#ze3T6V?hKLaftzLGvXB)Sk1tk1RwsArKRQKNI54mV;ty))0w5f& zHumijk$2kTpG33nDiqWxPyL_8 z8@^#Z1L~`8mQ}xBz=DxY_x@Xb!ntc;)>GYUCH>SU)zr4;#b~K;y_S;5 zRCH-YLrZ=7oZt`jCa35~N`J1ze?{ ziBL)&?Vo>1?R!Xek|MI3T3orEAelCbr}a2k~k6g`ocD>oV{eddz4aZmY% zwmY90&CSarT&y>8rFj%WGfjWqY6k}Fr_Z0$OI4jJP62#2Xe9-5zOtH{jFVGE*Y@fv z68aoCqKB+!qKNIK`T2QdFaiYo5ssd=?#0PHR=BocDY$!`G%Y(DnTs6vd0Y56Q{NnU8APW>tTDy-GimOg^)F@wK^g;@)vW znRYYd_PJn}XpEmr$NJL-L)MtcdU~yR0`J@9;vtId*`XUvW5d$VMWNv6TwmiiU*bFc zI`>g}a7(-nW&B1#MPG$Lh(IW6jkKIjS(XE zaxWGSs$g3we%y|Fy%3X=m}ct4W`(QXAtp6SmWSo=qWK#a9HY-`}@et(Y`M%NG#g%8$iF%mbzGYE^tKY2EsUf+s_j*bop1!<|NDDbHDz0A$c zRo2kZSi%1s9}ne&)}(h)X69uW0vyLH=fuU2HyQf6omjynu9L;mogVY{)#=8-UxzoC zg4_J|cKA51`1;fu57*UwF~0OHAvBO`qwHhxd6g<&3!ieo^Ij!c{nx7>FMds@8S%Ud z_cJ}%|7bfy_VC1%($!;(Dg=YN^7SPacPWD5*JZ>9XA~7C19)0tdo&huAA8m&N8d_1 z2)2aoUVBERk(yb7DI8j%6(ojY-1<>O%}|9E_6j}oCj)Bp&+n-rN0cP~kiTE&kF9)* zW&%446r|pf$wT0dk!B;m2G~yoD4vw0@0+E9gO3ku$O*!oMO>i(RP_PKVi<0+h;4co z<9kqt{rvrr*>{J~=HPc&R0bmqmqD%eS76v+z&^hPw%x?ruL(i04FtBLLkd`Z7Dp?2 z5lt6NiZj3kJ6x~X*gQL!Z0YDwAoP+6y4!r`_+Iu`^V}^amDQA9R8{Yb+Qw*|5w{`6 z?H%m7>t=&Gv5|?Pc)GvRJ(NbpCUQgsNc(#n^=@sR$Gt8LF1p<}b0Po4_=--2kl#Wg zS{03F;C$3xOSDN{c`}PY@OfRgSWVTXKctw)7kb;}f&=oNId&n5rq@Gux2zpi`g<@k z@Gsc>1n2B<4gm}XhKB27r%WEjs9VW3$M4*pZ7TeqkXN3NzOCGb6F_-CI^d6% z;FXiRe|f~wD*PPHaZ)jj?TbUXvc~bo8t0#Rjfl55`Y^}8wNs~`l2*(JVZ#%~|BL0L z%PyfL!%HG=N67*CPpL(rOnw(*HO^8B7y;El}A_|5vH~ex$IwUURmDYv; zF{yL%0%i-$ee_rph7kjYK&GaNQX5`%oy1|Ff9N+#rPZUF{bs;bs3G((xz>!!6N&(l ztHy(FkGZnk1$q8`bjml$C=*F9h9fU2ndg0KalKv7>3$lU=NyJJTP?iue^A3~)acWs z+^^gcUBuHgR3UV;+)BQSa)JE*g$Fqud~8SN)rcdL%krL%=uZRQ1V*C~J~}-}wxf3* z;w#-Je-^ZO_9SI?>hsd!(^pd1js&S@%KhF{Qr&WK*~DS`STl7`60{%RSAVB>^^TjH z8#3Sn1_C2xC3vWjE)X0`o4Z2(3agTHmkVv4aJ?S;$(rZ( z`F3f;&Tk%+gW*hrlUj#e>o1jS_j0gW3cbQ&t2GMc%5qFy;uPZGF}x#Cb>wKquHRxa zuRZujwWF84kgbR`L#O$U)`NY80V4(Gm=8jU70GDN3(hV-$vN0MsIy`_HoHoF7E{nW zQF8m?2!{gmgDM#wf+_GaM8w76Ku*r?MgSpQ5JJ6(kB>)Q)VVDZ*)ZBij??D3v{EPo zg}8*!iy3L|84iBcb9e8q+gAia^Icf+v=1tL<9(z`AJk+LwtF0r;P!1Z6_U2}ltyI|TL& z-}mpgPXj*Va^&3*vE`)UzYyi@Df4&`;`HilgrbSSWURDJPUOsVaFCd0M6i#YN7pOC%<~-tp%XuE$1qZ z1&M|>Y_y#%;2RN%G|Un>hH4R!GRaO%{7}gNXbAW@(qSzybl?ef5_WB(P?3B!q~VWIBsN>-(uG{IICEOW|I}O1B+dBImu~# z90oVtaMnZhw;VQ3XBK)xu7r{ahF-ip32?-_#RvY< z#-*;8AxAS3OA>E_LO45IdvZ=hTm|twUp*J0j(zjn$L`dL73-wk5hH~tUu1{4DJ!x> z24~%@%i|c^&1X_h#gme2Z5$qN`$>1#AKZG9JKXpoUHtYxdHIAZJzJ8o--ol@@`jBT zU_kz#KeJ#G(qan<38}-W4_yB+Zw5U#FE0m8ow&?X(Wk7M{uR%<#>%a~>7|wr#U1cc zP80p!4v%XqYD*z?_mm=cT%{o2t4Ti{Ar!(S5dXZ_)Ek$^bv>^kJ87YJ-s5$xU?vr6 zYGU~IJ^Y$Cwr;GcwN9CD_huU)S6$>rWZ)t|*+V24QYy>A&Htv}>Nxk7fKFLl>v7spBVO*wxzYM)`FAD_;yL zsYd@ND^zc9FO0xyfgUn4u5)*Fm<-t32wVs7GJz0cK+yCCPwtcHd#ZaowyZ7J>ZS9l zcZ^Is9SUZ8`#&Rybh(XA-+xkDG3@NhnFRl$BU%Spa-%d3f9%OU@$c!=SQRv@{yuC& z+oy6oGSP`6`hA#qKA5qGEOoHU)0sH)FwzcvOmtvJk)wAyr7UVdenfe8#|S8=_g>sK zc{vxu)*^BWNod(tC8)l|_#2ovAW@xYevyp@`i_NYc3s!CQ z3(b9=yA#Fh!)E9=7DYRDxODZ`OA+74%=#0x%#=8~mNL7mlP>3qJ94m<^z`La^X8c* z#IW&lm~k5T!rEj#sQUI}Lkc>oP=XzU=+0QAS9t6YtADY1+F=J43fobKQR?u3felA1z7T{%LTNW}MX}wIJaJtO$urY}~|5+~+uj9t`NQuWL#Z zOFg0Q)bT~KhuD0keOlzS`ozbBrkHGSxpxKV?vX?M}Zr zKYx>J(Ynp4%XN!d04-3syOp>>ZgFZv%azDzYljvZYD_cVs5WVj_&eF(aagFLYbz@= z(#>;{niMz=rKM35jQ_SKG0SW-xn1OLhQt0V+#W#k~gjHR_ z+|sJqZO>dCI=9zi?x^WHDH6hYDJX_V7?h~I+6twR-L8IRF zL?xS^aSIYWJ%?!n)GGm^JO(%#pu9U~@3StG2e& zQtiw!?Z`AcGnBi+Fq)YUo%4qK^2VZlxKSq0_Sf>v3~D5KS2q6QNPm;6axCzz9r##e z?Hw3T(*)n(DQllI3@fczfkUs?Ipff7NuIsOy6+3x z-Jru3YG|N1ue!kRmW?j9D)4=|AvR?+rUpIm^u#$kOdD`JBQw+h0IXAf{5rr1=xSXb z`DN%C?qV~^wozmMQPET3_R!a1moN8w^H(a?{kHBR(@siOV#G1tp*_whiGh`FO6Us( zWgIvKT%7JG=~dfZj*l-5e_UExDh(4y#U*`+rQZf!c{Yjrreni+qbjUNb%A+NT|kd} zH;py>s5d&^Fl@jz-g*d+=@Sq9kQ=1;lfvB|z;GJqoBh{!58oW2&p4R$?l_xHMI+re?AOn<-1NX0z%C8#vd0ax(K1G!#i*zF&?(T7uy&B#Ftp6QDt4Rgv-D zHDXjHqp&axj@>4whg;htH<547f>8(m&%p|CXz{GtBBv~3)(zWNXjgdf{w*+25aV;>`N@iIzw;| zVcUE}U?eCiAV`i*g)eV)67R;_rtx$!Zt=n3O59?`*V1DR>)4v41}foEGokiGWA34_ zO&z$m2T+PZSF~hc8=9{(zC@C#m=VO%_k7C-`eorZVF>{g(KhG*xE$?wf*K^LTSVU^dXqTqF3*JW$k}e z_vPVOuWh?OWD3!2$drmAGi69J7Acx2WXcc{g~%*p$xs6Kg zLWzCekG0nKzI%UrAK$U}{$ua=SjSqurRVt#_kG>hb)M&SUY*TP>fJGA24-)~y&^2a zA=yd)X+?TYnp4%8yCbMJBquztPPaJbeUN#8PimL%vXq_^Po*q{+|Oo@>{dMHy=)lh zD;F16Ak2@K?Yyj7h5ihjgLG)JtT2iR?tJL80hEXk7t2$a+5^IWc&sxgXC3AbGQozK zi)9{a*DYRNB`u1e7+6?X0wJvjyiV|Rbbq{h(@w_V!0!;_Y3R}83^#GUUAuSlrKaIE zy!h;RqxaJi<0S##LNg2wmZ;A1QV28j_9^SOZ!(|h+kH~pV`sS&)$tGmt^co%jHdc@$vB#1*QozKmnR$Z~3i! za$F1s%LN!$H~#4v1EA*`kT|ZGN=$f=HbUe;uFv)Jdlx4&Gcy|fD(mZ+(fzz7QBpy! z4&8+Om_)f8og!8)F436ORn^?ghFl-LX%vMhPNu~qDIVcP2QUYsIED~0)6X$;wR*_8*%(?-uJx+Ed=D0*WqgBQR{)?BU6!pbZ*YTkFx; z$6J<1h8$vgBHESbqe(a)ckAHfMED#J7ePSjn2NaM{rmT1+&bP~H}ZZo#xPJ#O--)o zGI4%$mz59>_wEsAcyw}{k*b*9RhkBu{wmCeh3~6IqNKT{jm;?xHhb0KzDR>bIA_g_ z>k6GCE6$+Ys{B5*t;Fr_fL_W|bw14mj(U~dKD{kX=OwN?mt?AZtU2Dt?&~kXz!$9= zte>}V<6ZAHodxfe@5=|mvT`s3709QTHx@%8!#h2LHe=Fb+}u3W73iy0R#wKfc=7I! zKI_)4bG($bcz$R^bgsAOArB9QN7f@w#b^%N==V!r+5HolWS9;ccQU9FBfy_^^J05& zNm?fbe5C8cPjV)_yEWXi;rvCVy)}OK>Ns1+F6&t&E*ZG;LgoF_B@UXV?bMEMr;Mgm z!)rqxYf2^tYOh>~=~lpjBU4jX0KrWDfsV19cK^}QQP43kOI%s_7Hzk1wzxUANi&SS z3P4u(=g+JJXh*9Z48E-kxT*B(*O@svIni>u3~~b!0MRG5aPeXW)6SGe?c>Le8SdH@ z495)O$&J%k%gbxyd%p>DG+EKXT>JJ|q4>IWhDJuhe&&0wDo-rnLabcxBIsVAWpo0cT&*P)Sz zjOvn*kVwCFEey~_HDqhB%%y~mn7|wVEPBcrC?K6=$|y|VC*nD};i#H_^2cDYnK0f$ zwHgvDhxT{#TX&B=YkI>SmT>!Z^h+`GUr|At?K6`3tzr`8GGr{`a)F|6~1fNJYvRWF~$NN z_=X1$Mx#{<^T=1gur>7FkBZincfq6W*|S7z<-*gaPa{}|0ixYjOeRN_mMUYjAUFQ> zN$lZvv&6ZcL_Le;OP5|jR=|;akvwpwI>p;o&Y9B_b!;97EZ?Ty-gZOh53 z&ec=(WLP+~v)8}RoT_{mp~7-$n4^65latxZ;G$Kp&TaUzMJD1jTkJ0(x`BN=Ozw)z zr$4gEIi)vJrTxhr{@b*W2^x`1tXQGy#r5Wm!O&%hW5~c|GVvEZc{p+S@VwB{L{BAc zbi-|YN*$xb(WciuICvVAHW>(woCTPD!Z*2 zx%kJJ|BH6URW;>e@5QFYe(aD}&LEIZp_II5 z1zcv_`F%aqRH0;58FVtQ7?xY`J&7%-NFYbNdE{B}LvBU?wWTM^&tyIr5c&Bw#_MR? znoq@hX5=pAi6G&?tP6NH1Vu)&;s{GeZ*JiXNclZ&Zm%g`O1 z*!UT(od9mFk>Dh$oREaIFlpQy|91QJY#gg_NbErDl9}a9jNUaxN16N7THvF}EVHqJ zZ^0=Qdg?%toYr{a@}=c;sz2U2`f}&9x%kzu{IP}J|LsrK)UJ`RZJi5}9*oH6h6p}t zV?32Vs=l(*sB0Y}r%hc{T)oRx^t$zYx0ql_oxL141P%qQ(+3}HMsF@=WtNW|$HOKp zYMY8E9(Kk$E$`J1Uk#6ME-yIZH0-6y-T6nwNq1<$8m>)?3zp`+U)QAV@a~%3GAELmLdOZ7c(~)i&gM#m~K2`VYrPJ%BlWo~+NpJDHKO6@X{3m)_Q{?s);>wcZ;~7!KQGpokJfDq?jv~VpFvf2#?_{xh)>ROb z?sSzI$%gbICbugxC4RDWSyL-N-F?2rJ}uW(uuHQ?DpTju^rC^UDqFHUH9Q$>gv8hL zq|hH3PJgY?a0)^g_y!2c$t@=EI=bnfT;6mBA^!sc#?$A|&(-Ua_aCC2=y|!mQd^Uv z+5@7rtEEOhDfaMlA1Kn;;;5E8%f$vZA0U$nAa#*7w=3g^zjw>|@hg}7jF;r(J{&R< z#G0f2|)HMarZ26V6fT$gt!mRuH;thAVdyVla z=}2-|ZrvI&-incaniwX4l!8G;MI~y5(k@zo7Q(fRb$lLIf4n-Dvu&uYgVnQLb`SBv z_^td4xmFS??zI{G%SXm8hfey!IK=F(MURwubEoNjrx%b%Lf7+hdLgcIh1HAe47s6o z>MIi}k*>O2Dq#(?x;nJD#-;N0KJUwEH&?%`)n)r>9eY&BQ;LrvQme)Ds@>}1$aFFk z=hG*LzP>(KfHd67G^)g+h&VPhRUleTAM@dNOnKOTQ8v{QSHTy+VZx&7V5MCFJ2n;I={-eN129ffiF43qCpboB(x{uTtY{VZp%c=C&ERe=~@ zbzG-bES^r`|(4+Se-o)&MH%{Iog-J_9M zQ5tewxT281_v~ol?q_#AOeyv0T8r-AjmyR-rsnPVcJR{%yJc#r#fyza%I%fRi;!s3WaK!6ywIXE;txn79DnBKnZBz`P`f`_|Ssn)sPOXSGI1hJOZV5^}bv9(R7 z;=Fy5f7C52@|ux2pM@pt!eI$w`^#4+f%NIFEy(;eSbB=8n!^hDuN+kNiK@gyu&f&u z?3s?=z-=Jy)Mg9%V*)j(Cpi zY|I0%lPU}u_N$?g0&YqTsd+klv}^P%JGpT1Zsqi2`-O`ap04;%ZRPNML6jD~o5$+6 zzskc8)?ClXiev1Q=_2_#&d?g@O^6oQ`%5%=-}48&PtsvgW|U^|I`TS-HLeePrP9_= zo)~E=dbGN&kReP`khQ$@Ln}+hwcMch__T@P8_v2`XAxN72Z3Qt0u_IL@+rgL--&Ch z3HQX#EK*IFdAj+ml6X*DAINyBs&~ZoPq@id(W_Q(-?NHsZLW`G+${3#x44(Ra(hd+G3&dJc<3IO?h+H1&}=RW z8%~v@PSkwQPrdVbhhH(%X6HX4U%8K(pKqo185?J!5rA9OOB#LQ{c(}B`_$1lX4{(; z|Ga&U05^P*t(17^kPW+$Kdb3T-?ib6-AnrH^7(sjI~`-l27E$hhePN%+Mr1;gYo5) zck>fHEh=$8SFT+N6SpuA#-R(WnvObs{Irn#Q#&Qw7k+mwr8*a;gqlgxp^W6mD!B01 zD+~mq%jOo(ePwY))d_zKVY$z1p+SnzmGU{rgk)M`%_ajBRjrTe0&i7r6 zQ1hcM`9wduy4ph1z(8{Sx$1NJ9?*m()Vs{B-TxwKIr#ehYFGEM;Jn#o$YfG~d-Lsb zv8W5a9Uvqs!srw1$K^J8+$&(oBhQzpoH^37vW~UP7~mUX>muKH3z)w@fg08E^0Wu8 ze^uDK%94kR4FTlm2Z}^=2%aq;W4e<%{zKq>c~tF#nF~AYUj(!`r?Q%J8X2h_Fn!(q zE@p$!mzzRQHUu71F@`)fSn2pcC2#?Ff{+vtv#I*-`CwIt++|IPWC=cuEH+XT~=uef&d8*Bct`lkhX&Z!|x$gx7IUfwLgrp=+V`REKk|lOkdR zh5`|a3!8`J4VV$EgCrdLCj#$9!7&YnBw_GqnMY4Y=C;8s$k@en@7_=_VwH7uOwjFP zd?rb7JFbO+Je7*pmbusC6}mCiRfo)rdsoDzS$ zd>(>n(G7na8tB1`=8V7zAJPjl?0ged#{0lnZ$^YcB!)J-|5*tClaHZjb`cMH7zDKHugYsBBn7yD5KyIfPzum(o%>hPN4=S4kN_R;agWl47@ek z->7Ze$W5kIqgv?c?j}w>n3mWLMd_#KS!|T$ukp{5@LM1*ZWwy7LfM@K&m1-*!J(mF zG}Ew-qM-pL;>w_a#Uv1K=ol}mnUZ>vG4aJ8x(>~^Ror*oj<9*$PLZ=m;`&sf%~q-Z z;@QikOuyTGBU>+0))xu!E^+C zBfLbIXf@L72PdS+Y%CJPVF`Dyh?9e(7Jf4TS~#dA1*c^g!NuwPzKjRArm=rN4*t#9`;A+-w0wP4gM()tPMvH02+V~Ia#D}->lqpJ^g-%&$yg@t?(%^t^{*mp zKeW3r5P%xV)%V79 z9S7(n8kl10b;WnWLZ(kRdAtw;Wl5Z($Z8(^qjR zDa0CX4BwG$HrT!$zJw2zyX5{eb?ntK&cV;0tB{ESbPR>93*1OtCx@+|`mKZqRcRWT zFAk?CJGGkj8`;_F+S;Mx9!5q+ryN&fiCj2ansBT&CNaf#@q@&(VR6X{@^?cT9&ZgY zt(XwX&8?0+n$SDgAt>$iRqDA9{e3;j+0$?u1kWHqtbaBgw+Ac;!vEESWXIF+Hbq^= zgXz&!Og%}Si6;ow#MWX~tOu+cxSG&G2jTwp%~F4V|A?3vW(sJR4XnUWl!m!GOkQ+; zoll1)>@TiBGD@wP>hk#-6*7e~&c2V=+qORutj*f}yTEctP;9+_G_>AszkYjgs~iUq z-<7KqLq7vcFr&SD8Pf-D2omoTxM!hCFfuWTz~rZviyQLZKYq#fw{*1V3m5uI{#`n{ zGLD77z^G?Q@r$WVp8@nL62q%)+gP7Jf6ldhc{mW@&x!#vQ=-R?9ebKNZynRq-=J5dT)#pU$yNS*azAnm} zcg_v4lC>a_!pQ98`Y6K-X{-Irr&XC3x!oH-msb#~pm&Dt_33tJUO!eeLvfR;4emWz zt<&*|fCPvw&9`sgV4b7_2O1`zk^D>4I1wspnq1ctLUM+=(7x82R7PL(2 zpu{_SWQ^QlK@T5p5>WGv&_1&aF!YwvR!qjcg2g1OBrh*dhW+~Z^m|t-VEbzveB5EP zG5Xv5N1qNmrRQFWjHpSgsk^^i{$2*lt#DtRoDSG|Fd;Ef1fdrgXD~|3vWE{b^Kd>u zq0fqN3Bn{`4J;+tdXWK7w=60IczJm_#8XKG&~tk9$Z|SqGqc6*87fMPT|E3-Qi(%X z1>dk2x03g2AG(X%a8bCa9xyPKD1-?i;QRY)u`Gx2?*FyW?}%Yo#q7+3EuG|8(keL2 z>LIiGlj)wl37RW&!x9WVM;+^P8BFxr%2MR#zpkpH`}y-H={u;4=4UfEuT7()U7wcb z?%{#68*eqX(%W$}5fdyz)5L|7YY!>2HE^M(eATcI2!Y_;M;Isa zd5}q^${#+b>PbtRG*W`hzCk30(P;CSnQK~Gcm6Ud!7O?H6W`v(wa=B;TuPvQxR)*^ zwLT=c1WjJOdNmb@0i(Cf8vk_MB}anB1qcbrEM#j~zivG7Z3Qa5tY&6*Zj4LFYohT( zs3KGG?eNW0g!ifAdg6Bm02_)u+NEjj=zC7_a&y0&S`~}#4v6hF{wjzy`m_MMG7I|B zh!ntN$ovrf6QwNbKp4wljeGmfqdly+#W)<({C@JRSh3yy53v|M#jzUqO zCx1Z`AffwYIRPNA0o4)%@U0tCDY3O{!LyiK+S`l9yd!TpgiFbB7lT;b*5N7GKj6u0 z+uE*%dW`how4GeCg7%e0D-25Kl|ckcwCnJ+!U|<1Ge>u-O=%tMARmJA>FHIb;osjY z>Y)&V!Bfy;(H-3gz>_`Uf{?iM#mCUzf5ZOsyp?ddM+$|IDa0VO&wH#Txs#rDcfw7lXjM8$ zSWONg@>>z7uMp;vkn4sFTgjDWSZC9%B7e_F<|Reyr;u#8yiv$eIK;)pS?19bstY!d zd2fqya)=dZ5Dp`xh-PMHD0d|b4cy#h=;`S#4cXwN&yMvQVtc8`R-IG*S zXae4rdG9WLOeV8_d#eNx^#fiwDY8K7#Ky(ZQDW=Y*Wzf-_nkWSw#1ErIDQ4ps=?mv zm4pIqEyynqb*74)JA!%S>@4B$`d8~05k28heRXef*-fjTLg zex<#UqZg|c0zoI@ln%#8Tz8(dR{VE4=DrR3?$p+1oJSwjB8#U7;D%EFn~=Jp50Dt- z2|GJG?|u&2%llwd!X*9g$xLi~{N9f~VeCA?pzY8i#tf%YvVpMyX(C%p{5%yN&fJ!3 zeg^$y8WPKT(cu&k85!p?W&wDbye4$Rz){WOqar$d#MZ4lH?@+s9Ng!(Q;KB99eiIw zXEHlDI##30Z1=V8bZN6ky}{(5iorU*v;?rtt*dYi#Xy2Yy0}R0 zyJZq|>y|`GX(?JP%#@{9!5Vqs{ln4GV>lXm0g006hBXcP*;eN}-rGtv0$^^ew7mQy zSfi6h00##LidZKOqb#B)ES&8qVGq$g;B)g|wh;{D)%j5UrF?Eu=tt`JDOr*&cfTOsTJ zmygNJ=ji@FY+~gLv&skG2Cj9B*ph0LT4+P}68}Mx{E&QYVZKW6O)H_ph5G0bf@1fF z55Zuxg+xWKKlzHKMOrAopvw=+gCwQnYjBu@-!k~D2vW2j%1L6(j$S&O;qI#8(NQ9y za=(anSu2o?q%?&eCSv+2LXnr1P2X;(#q{T9OYYG9OBX0PwL$%b78NNjSh3OY<4**O z$?+FEArj_5A<&Ydzy<}u>oRXSD*e_i;z(a}&EO)Tyy0$7sKBD4qRG)_DY}=bf3TnU zup?wnjyn+00@=+b$lOlj5SBOoJhuxj{cl89@99YyNW>1Q6(eKDaa1q9IgxfQ^4uuo z@2>d2Ma`Q6J>Iu3Vf^^a@B311e~c0Ap+C5qhhv?NLPy-$>@vEhoUU&(7jrKEFpgOF zzHH%{!QbDvddPE1wi}t5MWNGl$@1lzy1E~`mac%_ahLA?&!#i)-=hOhHMu?SS3p)& z{Z{h}U%NDCe&^jtvr4M_8fYYq5`mo>!0{^EynOwEN0=M>@W})?0ck7^yGdWQ%xl-` z+&?`HO5Wt7D8j{ZwG*Kyc4U0~5G9RbX*}Td-gOdyRBUe{&)a)q?e5`|}U% zs^!o-nQWVPbaM<_~Ql7)Y$Y>$9g$#0|xk3{9~6K)A?$>YFHwVddU`r^m2XOrvRHsz?68O)$@{7q=XX%id>a-J^<059 zBQ^u!;)jP_KT~Is#|}@;F0ho8lG1f`l?J*t4`(rwBN2J|Jp;~W{~3K94liQ&i{RrS z!tUvf*<6R(n~c#72@h}Q-9(EM87+tt^QeG;S>uDF5C4b5(}c@;E&SMJ_(&5B-*Zo0V3m!EjD-|uM(S!s47 zQ!N|HU;8JiRme&Uyhg0iMzqt;e9IO(CU)-1U3cnul-U1M`A0J z>OXBJ7wsmGT7WqH~PuzUc5Lzg_5Zwy8RHaLiU(? z8#Mr^#&CV82Ylq;jLOvMdM>JCrK*Kz<{pkm2#*>_NGq9T2tW?SPtXVUnB# z;bKX`SI8jR9(i-u3em*24GZETlttDe2TqYYOioUg5#4$D*1c)u$Wg$a*dlqaA?CH< z%*G>10tOJ)`cY1FM`~>DW}lxDHir*4?kfG&tH*DUl^+u+9h|nf|%c-laB{NdC_v<6Y zXN!r{eEIU_R3Hi=0v6=ar9*s25_i*)!P^iwMw~gLiAQ(k`gP->UHjbJ3U-;f^y%?S zHMh2+Raf(NKMogY4()}FYWn*7VFs~)qL3S8-?%~C{!8D(1Rjyex%TD;yo^K6C(^Ha z<0Js8EORfxqRcDq*{fH!&`4cdVt@Ex5d=j#yLX=-nV7JL4lxP&iyXu_QTOgC9EXq$ z3qP)~uy9;rzq!l%vKvcg*O*OJ*kTpFE%ngU_LC<|$A3U#$^+r0VunIPahHEH znBlPdu08Z)&}+y+a@T@rPz4N58pC$%QQIb?yf5S*J6p1=zPS`C$&Xpu0RaKm@E#>r zIdUVP|Ga+$wFYgAVH)slAVoc_ahCczORDu#hNx$*$>G z|74sj;8J*!ZBa9};176kTqW#!)dio7o7ier8#jcsggUqwaohT~Drdz87NeLzQ7H{8wL z{SfADHEqA798Z3YhT>$zssjG+XCaDd0tiso+SKSImrNlX0j?p? zAf0o14Q&m=#tkp_ObwgMdrcsc%Qd?noSvSp+-`vyf~0Nbe|~n_?P&Az_V$*RmCZSB zjvxAk`mzNJ89V_HdJGHz@xKUrMsLRs94AZ|8*cIO7oPjV!NEb)l}82+ogG6jIqCT( z_@dUzAj}AWI*^e(*G%*i4|);Q1+zMe-S3tGz_)9?%z;BM;ry%Cn9Va0u&^f`c0kNa zyhc`%nhEF|3C#da^<;eL@LuNsQ%Z2q8_9s994Jl!__}A$9%5hxv{GV?)5f^1A&^=U zbtcm4HjW-#jP=_6HCP?pD5kdV*ug{*-+l-u2%^;7$Qw3jxB!Saq>jT#vsCoXi#hSP zrft>*jB=@~5HMiFuADF)xO<>*w*;wGSca4axk(iiksYjU>Ug*XpV-q+H?*`o^7;NS z99J|x_=*kNy%O%_u2?OULgr=ojj%ufm~g%=4RhuHRg~G=cq?tgQ33tN!K2{o0KRAe z4MVO(_tJL^tK$*2lC;lH=Y+*=oUg8^qE+D8JtyNV9^099O(ylweM$RIdjXFlvl<3` zmc`WXJ{?zyvuZ3ZK0Xv|TeC!KV`C8RwWV(wU7#NF%g`9JP(ML}jw06i1S=(e^eDwK z_hSoC2z0DGf~!k`Q@bRtw(DP1nOFfAkZam}dwU-`@JjFiS0A6Svs4rPrLO&mFsN-$ z?F~WT#1kHVqVip6^JYP$sRS$`J*CvffEiWdVuL`6E3!cBA`Uk=DemxR8R1gNho zqaL}OIIh8F;bFfntKy9qG?c(v%`=x;cE)Jeu8d*(CnO>ubh=_N9q@}n{C%?dZrPgO zK4mEO2r3B76M8ui-6lk~4DyJD8dta)8yg)ui`G->#>UHWmOO8i+P!->;VrR16>St7 zh}X|(-!`Z$4c7)-Y-?|?hYyzJQL;av@61H-oj56LAk3`=BCuAZK`$NzvCgm~65 z^k^!%CZY%S9j;>5lRGzEaT#4aVOExyH-R7p>_xx*u%lxJbkBM+#}e=cmzvY>TZqT0 zV`q2mF5URVMB)_3gYuw4n3k(9Ub@EW{aT+FSu~aAGQQ^ z>Yp!Hj#~WvcxWDYP@V?V&2LbFF`sR}a9m z64xG$OPR^Ww@j+A9dUM^t*-m>LTd!Txh%;=RKoP8(5B9P#jxSa`-c~Az`si}FDJ(u zkY6oJsK!9&(F$8B%S~9A*$H{&zfK$N-faU4ksBvv9R?=+dX=TWyr`EJ{v}8XdNVuQ z5>!|c4)zA$wWk=_mPtcd^{l8YtH zQkY@598cWVN5@u<-oX{f;L*UqN*3p(i9CxI<2#rF07iX;V~y^m>S+h$HhE=J=0>YU zMQvd30}bZsmSbU77Y2_tVRDWeXilUj6a{>cnJf~okC#rE>}ZqT6aK-d&Bk18$p<_j z2lNpU!8GP;Ipr$a5;YIuU4d#N?A1FJLsQ@)m*vQdV|3N3RbpQq24K0SYh%QaZB2-3 zPPIu2EEmj&D8n&^??}HeeU1ezOY^bnUqi2ME`Ryz6^v${D~kquy17}c8E!OHjwFPa3a$%HZFd0Wa%HZ+c-aZu{jAmC!Qw9@$xN0w!}`U6tqzgC`u3A8adc&}b!)Jru~@N26!k$#cj={q^BtScwpoV=YpeCztNo%fJIVjguO3WVx%ER+SXr4DQ}(RZ?(HSXJG9bu_Gy0mJ{~en41&yC@?!q0epK|%y0L73U0xD)n^ohv)xe|^-@o+7M5bwY z$(lSosX*M2l8-D+20|T}ax_P(YxcVHDRmZaz7qFa?Fvb?U0oKRU1rI|8ZyNOG@Qt) zRrB!T>yQoiU`z}|pZWYT+1#b`ZlO%@e^|6Tj0vE};JqQl)XweO`b5{S=fKz{y;<&+ zIj8*4#ToA{-8`h~Kg|tqFp&jsvu|}iIz&6I3o&V2u#3-Y_YWLb}D{%$5tPU zY-8?AVNP%sSwE2x_>Mi^@LZ083{J$m2k2aN?9Q(T$lj0}S$r&oxQi$lE#yQUSLB>3 z<7iS%>Nj{~E#p7?=L8uR2*hL8C!I2Aw}^oeYNmtUzLY|Rq1Z8z=6L14j1GH&RgZJg z#IhYwYmGF!9NHPKWoJk9YmGwtqHqnQWE2kiUL?~Hnb4AW4DYA~BVWj$_Z|syGFGiD z(z)lh$ZA`l732mZy6n6HJ6@Tjzz}jYZL1|j7eMFcu%B%3IcD}U*m_#To@ox7zbska`2%M|Cinm1vA#t%>ipWEtkI>R{Axu8WapV{ykiL&<1U{ zqumRq8}w+mJVd;Zw!-Zu-Y$iW0$*2!>Tjf3ssc(?OT1r%xoXmmhfl$i^~UaTr7Zo6ce4GpoOFS4jtJ|!k*=fjv#to7p5Ya?W%KNGWD>WZ-H3ZMd-Y3g_7)NT8pS3PY)dzc@f?>UA??poWOO+G&@ zkvGXUt4;MS&T^!rEXrFv=iLX2!x#;v5DNXucklQq1d!GUb1aFdg<3=N_3gv8V zZCij*@Sqf}d-Epc{;~e~og;(fY&BDEyT3|FDY*mYfrTjX?J(R@)}qOJK#AnR zLC4Q`@UH=YF?Oi>8?5hy^^mZ_kv<=aSsN_>P8r_Y85zOJP@0kNgWDUaA%S0Qhj-%c zg9o4BV&oJQY;kmm6yCaX=iL4hS7Gv#I2|*Umn7a19Fh|A;kWSnv6MiHnEfLSjaU>q zlgDqOfFO35cuk-oeC{Q5Jvb2~BQKAo-HUp*E`!N16!e1(UJ*I8aEu{Xp1JQav`l1C z1cmQp%L+WIkP?s3x9!`TaJYvXOqJBA$EbNLr9T2$>BwMI@_+7j(qMov>`)>-0z zb-J1M_BREti|T2Z6h!phsG?HHpZV*Kcl~3zdtiadrQi?icQi?+@zR!z`RP0XUQl=h9Pf&5|Sz zEKq$Gc#qi~va_S7Fu*Mz`Hh50eqg`*kNS9J-ZQ-FOMia8o`%Mr*st8{jzWS4Jxnzc zc!*4{-4$v5=RQgQ9IzEPgk{_XdPFqs{s3Ts6@j#`nji`NcrsaII|he_3R81>Xm_p} z7?R&oSxJHC)4?FH*U`^ck!x%RKVzH=(WRcZrxGHyoc)uKpdh+Vqm&RV&w0qxQRHxU z`AxhNmpbY;(-A&D8*xt0Z(lDXvPm?mBX_1q6e$vEc!vWAn5ab-$tQI+(XVffB^&;| z{PzMZVO`(^8{NG1J8q*#jm(Kf!T^T#v1h6d77N_OJb+N$L0cXP_0R$t8XJETtTDSE z(ST|}W&V^d`25&&=SY?cCD2fLI?mtx3%9KBl&a%xE{S_k>cA+7 zz70`_KHK{PDfsb!8Gx>1u7-K{r7=6d@}APSAXq^7?rLI^Ub~hR$JSpd7MDAdVJ*?&q4cXpSHniP zwV_NSsh3$Ml4T}^NG-XdvM5{Mo90n2$3 zup6;(BU6H*xcTb{B4gvae8)J@GkNue8je9S>P}2bsvddX{vDH^&v?`|OxkW5OF=DW z1Bs-^4%IKfAE6VxqRis`5F|P~pCUW0`Q!IDmFe#Rvzj<}2po}}Ee6!TfWP29sATEm z1KX!TGJ!BRdEmJoTB=)n5uaM2=2RYfK!VodVwz^n(@54 zVuBOvIN)kzx@5)}`mBYqYDuPBIv|D3kD2l0u%7ufB!xfg!RGz+_P!j12&B3|=zfi= z|8_qbTXsdt{c&eCsm1Vl5X^k{uI=@j92Uk~9YL~1ZWri2QF%eGv;R^n^WFse-Mjct zhtk%f7b);@N|*RdNCu`@Y{WRz+j|ykTue^xK^HN%qH~h_e()JP~grKP#?{TJ8%{VEnvD0TwT(GPSx0(AmCHGlqmqV(w-7-;jpaWS?y z6#E@~13zZ3E{6~8^B0{&5D6&Wb!OT-Yl`E7)8)+p(MQXtbO!D`MT~GX2*2_P@v3Sr z1O@_8AiynDw8{OXzns)PFyq8_jM}nPO;chY=1Cul&jI*w=)Mu1@a(GzRa&q)aZ{_5iPKGEC;E*6KbH1|iuhkB{ z^kerguj8hm^h(CES+joqS@LThXiEl=3T-E{5dFA&4$p!kqoeIqbk28lbjaW$ZNNBo z8kuYXG8Bb(gcz~QX~+6%0cdd`Vrxr@S%=+&f))BATflpUf3I+AP{4BhgYIy1-crAO zqkn^nw*4#c6S}lX?pta@t*)ToD!*|KBX*SYTMZ0uzj7ro*v_3XSu}*=uTYWg9m2bu z^mqUJ*~te{d#**r4h|tB4q_ha+D#D+I3n4rlzV>Aj!UfGZH`S^gT*miyWAojF@_3+ zve*V3Bj(K8D4G8;`sd0Wbz+ZO1wO;hM@37Ia{?oZU!{nT(EuE$Bw!`vuR#Z&bNor` ztlG+GCuI1iKX+BkinouTJp%JGd0uc);H4fx(Ma3@5DytBNZO>G+9VL=)b;hxU}q7+ zb1njQKcO-KFjRQ{K^c8_x!NO&}ws(jiTdKu2ns0VyLNF34quV8q>XB=EzN8}=ZhyYzv6M%#h_k8}q{7YPD;>0pJcjl~32qj^hho?G^?PFZk8ubY%)4!k zoG}TQUE2Zw506;u-o8x@)e4C%4x)usOYSge&Mk40H$#gh>#LRqDk%zQ`(iGxN>cx! z(!{{xWVCVI;XfrGH=3#%P3=SR?=#)v3P*zU)%5n?IdM#1u;pDoP0N92NM}@?yl_6yu#DfWN z8osyZ%NKU+x2zTBn)>Y=(RGtQyOb052Ly&>AolwLlAy;(u{il7Bi9 z!2w9%GpN6jAW#&}A|moamYNR73<=RyAq@<)%&}^<$EN2C45POQNx|&82377~%KUV^ z6YkCas?f1r@Vx3x%SusHT|p<+e;3C2u#)6`)3~C$n+l%9E0?VLS5)F7F^fe)LVz&h z2?^P$oaB!@j$W5ZTX7(3pEbL&|Xb9ucYepZx#OzD14ZnU0=#< zSX-9UC51qzF61yEkC!=jMs}Y=$2S=QjTN8`$*;T68JtYdRhcJki82;7g%xz?oSUb) z$n0=X8XeI;+McNft|Q7G^~ZmB5hG&nkC;d-6H!!L27pu|OC+RWF2}CY#^GEKaruz% zRdaRqz~`#ZB_a0Gjb2fO*eT=iRLB|j43L8CYYI|2iv!?viTBtVoMzW>0&;+BqFIZR z_uW$+>RgM@Wu1Ei+L$|>czA|VhejVYNZ5l1DrXvb2Vk3Ra@S!YSX!$?haP#R+UZVE zIZ4PdEfEfuP>ZZyAO3jZ7IwG?rK`!m(veqdIs5&_7@p zuS+p^`7neP{BWI1C6m{1Hyz0x|MJlAzyq*cyLXJ{#DnJ1ef#%Ef{e0))CCHDCJJIU z0)s<&ZIp67g>+66Q70PwP@>rm$oHWhQcBMfo)e^PJr$pjuo8ea1!s~>_fw+C-$~{t zvHwoUSFu}veaAXonDb(%AjL*`BJLnSI$%SxQzyCt1QBy>RhXO{c)4l6w*q7`!Icmk zLg7V==y<5D^^!_r)}hCzBNM ziG#KJVe8O~BlUT^R7yG6a9(7T&b5w;?yN~fKDF*+VXImV3?5=(%m?g&EHntsfHltt z8}&MRqK#zlw5NvjN(7MyTM|@79cWE_9U1^0RX%=v_N&)XeuH_W$qxGDPm839`gPAa z6Nx(PQ8!FHpaRdIUyQVp!^7iSv99}^;A0(xpelsbM*Igc!byRK3&W`n?wt(IEl3^y zTN<*i9*8n1@Qq%>LI;YRSt&6wu}UP?aqx10YA*j@eo_~>H|h@fab~uRqKaVy1Eh(z zEB(e4=Ckx`Xs_w>(<=;szns<+4h(!aTV%@exp!%#MBrgmIt1nt+O&xuh{t4qq6P6u zf;124-PT{V+J8U0@YdOh6|c`+4=i(tJm~+pcLeS*7dLmC*8OpNLesX)y7g2u7K!Aa zenL}fYpvcCFtY-s(%BZ(K=^rSLOg1+9~KowCVoEKM3agd?T6kBz8si6 z`1-ZFsp-Xjt;heNcc1uM%>ECZ`_J|wH*FP!PDezRwl8VTXcC4}*KXEKBf^>{kDswY z_cXr$c^Bo?7>v9X-6Xln~rzh~^66M+VH{n%PYYH7+dQ#D()v@#0P)#;HidfT~&?x&FaXJ_2!q8k|KZ)fdVdW^Fiw` zq2efYgf-hXtTtg$QD%zFd%1h0bKje3y1?*oU543ZXtUK$3}h9)x&Xdtzzsw3R!I#= zf-@8cc$t`5&kh!d69zOyN=^=YRH9)3;y(Wl)#%~doQX^e0`o~glZO%#FI=$fYls6F z6FYU%ZD$u7HlOTw;D-Q83~r@zWz7G?4mtNrhM0PWv{qfjLX=JP0F+5STsi~HM79%U zH&0w#98~a4;u9SYeNK=W=-5X<{OX}+p`*+nc-8{e0u7XFvb| literal 64757 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 diff --git a/docs/img/backends_benchmark_gpu.png b/docs/img/backends_benchmark_gpu.png index 11e0a00ee68ef012dba26832042b5a5dae05ee93..e2a7bfaf60f6648d6e0d4ff2a49efdc0af6e00e7 100644 GIT binary patch literal 59905 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왾= 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 y3`E(ScJTL>_nW?a4nhIcm3@DQa+XmzIX< z$t&O9`*qo=3W)^O=kH+Hd$Vm!afnm(pJqJCP3D_E}RiJi==E(ghi zW0G<{l9mNw718Gy^Y<`hj+O^=n0M~y;8>9osQUTawr^Lr`+mQA_3FImSj(DtAtu_h z_@nFUWa`E6_y3jhQJl+{FTcH#F+>Z0jz-W3;ji&&_LMIEntAyD>$fky*Vyfy|#sR`uyzF&7k?2*7o)= z{EVlkXH>^^uU0mjpitN>_03 z%bPpHuWl~kU$Z9t)~zMmw{I_W>l0w%mA*Ti8#r;iw>;{_)$MgXJ^Y_OeR6t}%d_z3 z^L5UowVY9zGRu}NGrecUv#_v$h1t;l_|xFvjUz9w=^7Y3DL?fq-)GcntCCXk$mZ9( zw6xB&9JzJ-_EHH6iHYG?bX(kdCA~|l=6*&ii@$35$t zR*#PIDW8;eadF{Ty*hf+kr#F~p$vT6JP&DG{J5EvoXm(7C=Z%nb+F+A-eB$SD_c+R zFY`&)PmvZCzY{n+$tP<^(QBw17_hF8IS{ki^_|_zYbwKC1qV}KPc6*Po}3t79<(^` z%eqP-$DnDQ-Rm4pQKiRt3$Bh!x^?Tbe2YXE!S-^iFsjI(%4IUY=8JZk%q1 zre@Yi@$vV2Qx9$z5ur25HlU%V|NJp?anv1>qcZni-t4-{z`($LVeZtWw6rEk|H*Ir zo|@`uUr|2AX>?7wCRxh5_2CgC>Q9Zjxw&~%bMC%}>u09MWCHu{S#NoL&zkqw=a-B9 zl&p%%nuv&qwwJ%&zbut(GCxvTS&0o1IZ<)>^6H3Xt0UAF=eR!BpO<(z>U8wz4il4y zElm>oLmnz^Ya`3`Lp)N$A+Pfz?q4SjBNZ&$BrEv{_>@^u8vN^;(lUtN>Wnzu7ve9Z{F}c ze*DgM&k+GnQ~itbmH$@#AbNDk|7TOl3Z!7x(4$D-~cT z*iVmt$bax4w4y=1r=Dr>@bGt|OaE)rY z$4ADQ$x)U~n>H0Xy`oiLcw}`w;OA0dVd2&sW0B#nU+dc2O_W+51kZSYtE;KQhYvfweIUvvpu8dBNMB`OThZ#(t8bq8{Gudi-cL?d^l3m~AkAQK zaqnjTNtfyA>FU~A+L@Udvf{SE^P&km*Kw}JgFe=AH=a$3*M`obOEDyxS0*Ada*3C> zxACK+W-)wnJHF49mHCbhJbbAdcK-abiHQk2H@Dc{3V#t%(V>dbw~xIg%FD~iITbg{ zy%D^)aB^niwpZ!(>w=-7p%is~^_Jw@C+v4$Q;w=XzgpACh+SG*+Oo(cwKl-bmTv2* zpNB^BzvDQO;?W$fRHQcOZ*pU6gDw^&CMITlV#I`=k+HV1ktsPjd3v(jEj}e>356=R zR#HlehQj`j52`P}kg6B05@LGv!i5WGV`82>I@Y=8*6yoQpVWN5@ojeNjWNEdqhVpe zi+j_FWLx9@y=U9V%+jSxojUHODpWrxEPPTKI6FR+Vk@ku$a8aNEF-16j?-)O9S?TY z6ARnG@OO`neMCvTw8c%}drzszi8ZfpXoTe-f3Gw#+Rcknyw!7%Ny+#7T+OJ=Zhz*F zpFb}-a^#3Xn!-|)LC1Hqafyj%GBekeJbp||-M6i}@ag&Gx)(3l`hpi#SeGp;aBNj?$%eyCx3_uCq4G< z!y`9Q-7Ft_ZCseDS|nSY3dzrxo%r%b|L{o}Wo3SL0cCYvT_#j4_xTxbN!v>P&OF^cznBgW5BGn2 z`;e^6-26NZg^H%VXAcK0Ev@Xqde%dS4%t1sDC+bogCQd$gL`4q4^;-5wA9p8gPBkU zmexndEGE8ovcG-%wyV&Y%Wv{q)cZ1D{n#NqScldd8cuDQODku-NKhfs(faA#X?WLc zgVa!;(RcP;`Sv9!o5_;ro8;M?rNhs|AZ=ou&L>dmb0 zAA4&~eSc3wd4KJYdN8UL&UsdEq`xLCG&?){#_ii1Px||_pb~Sj@oyD6bmU0$5Q7lK zA#GD4WavLJ9Dn21EitdJ9foO>*bK}?MMbqZ1cy4t-j@~IIXDR8IiNZ+;o;OI4V*37bI(dqW9QDDc(CDd*RCz}dUMkV1^gLGsm0R>2M$<@e|X*%xk^wR zpITBy@aBcC-R9#H6Wj-?f~58v3CAcq_NuPo?awaqCqS0M+k(Exy7#N6mSe@aBqb#?$IzT5oSdAP z$QOS8{CVi7-a1YV4*IoHQiiC?JdErDk`I+tRS(F@$;ImjThuJrlzL{3&;2>^0Y{r> za;#4VN1j3TbI;Z=CDt6WhMs8cm7w%j?@BKm>a2zGJ<3HYgJt zEQ+zbRmDBk)#@5XMn<15p+!cJ%`vsc+siBQEw7xM93EZA-F@fg?M5E`)il`CSRa?}qGkIZdz}_yI{9NDe1eCABP21A+vc&? zQuT$_y`%3Q8Q(FNN)2#*S4czgtN3wK`MzTZs6U;Z758q4{m?AWQwiU-YnKKpb!(xs z$raVWRd~WW=-6>szUN#kRxnCQ-E-K_HQgW>T;0~jiH+d&u5crcS-9N6dOKiAf;Mr| zTklxNWM*aUnrg@8FUMt|k2SGAqp8O6iT19rw6WpOxOsCq5W|TRC!GE8m|s-}`j1ow zcekc%@+1#^|IX&-<~A~$ZFrfMdROQicJxi|vn;if6w{3e!2Z2l|q0tXyo7dX^thFg|r@@!%#y`{nyo(u*^^|VHg^Nm6t-~gE$74db zY2xQXG1XC5SC49z(AyW_rgtJ{gVN?c)sCnp&d89FFookieBH%vJMm`Hwv{n!w)@!i zmY*V|0894a`*-Q*);D#QmHq~Jhywan4qo72wQ7~_?%nmMkp%&NJj1&sO6+D)3QJD? z%AQEORQprKZ-NOw<5{P7{P^*#qhsB@o!4r=57<07v{XPXD8}U0?wXE{72AEjsiS$f z-ZBz&dHaANEiH|}=PzhMcaPDk%}9#`G#b@g3Yw>aN%Lp{AvOUZhWDV)`{C%#pF#r;r1^N}C-I~0_( zdiQPi7|@829GLT{eEEfHZ!NbezjFxZ>9>1fX$nm~PsgzEv z`3Ej0X1`6nW>+RR2!qV<@<#Ub*o?%ggRPE#d%G!ye;a2*tY9R-%*2ibcH;^^Zz`my z$S3th0i(K~MOH@ODKv7^+k3NmZq@4Q>D7Lyicg&yNv+WV6DOM{B zJxEVIc=&KR7nexqdh`SE4Tst@OUctn+v0WsAaTWvQB(I&RX3f_?BwWP!$KEl=cR#x zf#KKhWgHyWB)`V=Mfuaeuw~uH`!&4KBVRl6TGRvuO>H%u__M+S z&lwPb0Mk-|C!wQ|gw!Qhd`z(o(%8NGg3ZdT_jy2G)88Jx%=i0!^hrYlU8CDg-E|j7 zqJpN!(`&_o!1h*rl{<>&6?WkQThRP(i`2j=lp7&YQEk5?9!HOg6O7XFdtw6RNhiMZ z)@E!qG$z38+Xi44le?~mnCwL{LkF#fc=BWV$3f>AKz6jv)0`<5i4UfG6C30l?CdB? zG{{sSUiceL=HAuYJlDy~%eNA4o@>SeJWQS;7!9GgXU?2y9LzJh#Rh15DBF-m=;~X6 z#xa_0eiIwgHoKm~DXM$_eoa(V6hZ22Yn0ABd7?%AG1}bqz>y__ZOu6los3hzJ~cKs z*WI%&&Ib$O-|9{QdF_~=`TYvzSMoqPADYqlj~_MIqaI_uDy5SX-`}t93!GZ>*!yb) zSkcXi7IjbKnvU-fBAAWsT(-RPQB&Z%<~Q`19fKQ z-ua|n=Kyt-R$L8cq+fJ;9)`D^$8McJIspYig-uw6OPk)FM9B(&Ls{!N# zafrNsU;4#$wb)#)jU8tDviV`1&;(k49w67G8*RXCfmbdn%{* z5Q-6dP|Ma<@cZ}gUFD}X;kB2dg8+HnvTS!>{_J*6ckHg;KzBx{?Kk!Sje(!&w!V6` z+-CoNLXnt3j^$6$Fp22Ia6m*8gQ}(33IS%7f|Jmut2EN}s zSno4euJEU0D};jFxDU6c3pa1fX_)P)3buuG7h-qtpor74V=Q3MwPM!;gy(*D+O{cc z8#WksnXUx$0iNPSO_YW{!{Sh2Ioy^N?f$WTS*kL_>^SO_=hy8@O3c{7(&pXVhC^gu zrdt;u550Z+Hla@w-`<)`qY4hG_SJqF|IWRU!Ti3>Mg^xMuGTU!(chsXZF2!qel4XEYMi}o7Kp3w-H~?o((=A~}AqxdSfV3rDc>MiL zMT6sM)EWJ$^wQGO);wFa56=?BP=b$a<3 z_QhWA#Kp?LJONsBqP2x_8R1i|RT(Gvj6I_0)9Ec#xsopGuB$z}Ttx4^#Lt4;E~9IO zg@2=GL_z(1%}S>Z`Ab-_j*7!yb)S!~`seQg|NZN-)Vd6L@2T(m!F%eSJfR0;`oJZj zdkU3aH8(2s>Xj>K@;0yD2<`Pp7q_vg@Z$lN3;|IhY81}?e$V=ZlUCoS)P@HSm-r zy!$Q+F|N1i;l9lJ=?z=OPuw!PuJg6yo-r6PDQ=rLZ$5ke{8OkX`F1t500|FzissQC z9Uz;ydwP)c&sFN z6?Hfr*bhZW#@6B2r{}|cRcaR#66747oMpbhhUYNUgXy_nFVnNK!eI%dL&9loZLKCX zA6lg3z6bQUTX)dJeQuCsWaZ^+A#9MdXmEM+vYi+BYfv_@h~hblT7UScy{Z2TiJ5@` ztfD+NHnstTdO05-lbG189i93{Mv>6%|CrzBU|=r^o;tC}!SnVSZJupa1p26gf~rgF z6I5wD&bUfJ2pZJj!_>2OQ+z|&|Rfz{+U z79MW)8r~By`SwUxW#IM~SGLiCu4TQxo+Haon=S9VxDa^q zqASpOEmq`Ek(sRI3G_tzB}<6dgSN!9bg71pPDJg@7I;pKjEu6IHfc5|OL<@^QLU+nq zgT3)z`syLtH#s>QyuNiUM+?L+J9QUHVbMfP7NBiHe|7)XCC4hL$`9C*UtGLo{1ab^ z=MXdKJp(xaj~@@@RV~m`{M&t4AzFo3R;u>&^q}IdEuH@jnHEi*0}>b7L^$+gQU?=m z*_HUTXB%FUwWs~|?HjOm$m`dpgM)*1*z{%*V%f1CX=v z`Ev%U=dm{nsSu^5+wdMlfB*LGk^W%_EuYZ@`8FM91>d%Jayonb{o`F>i?pFa{a`i` zko#F#Sz8}_9}91oi~QCON^?{JqxZcs$e~yBL?5!X!@72`?`#Xe;;k zmreFYzr1C5IYKaaZh3{@?^;O9L_;EyF7SsIu?aX*p&$ca+(6G8eshO+Vdkq$z|?zR z=w@2LDaK_!uF!FKATmT_A8g6n3M5R#7CctF$!~9EWo0RfkkOSZSN@eYB_)Xf zPi~JGQaE^yO~9a<>gp7MtvGBSp}t(&bcD^u#zxkqOO{eUd2%b!QHxx=^`>eFX8!Ve zW5E3H&f(sQ?FNR1Kb~*tBaeRg^=&SA1{4LYAQEToiGv(U(GpizS4rz4)}WxEw(3#W z|1Pel9_&vrQq@4MeFayH)It=7dK^GGzX>PSHA>t-?oaRTd)Rt&C;OB7`dSc0DlRTA z#+o>pEn-Ft@7t75nz>1F)(Ye3q~r%v2+c zF&$3l-PRtgO-|{PKX%UAppVI`8kV!){ocKngOvGj)7{RPW%0 zKTF8@s$Cc7idX24nqe0SaG%DTRA?Rrqi5n;1U*Qf-kRKH8b=?DhX! z>%m~9$j%FAQd3vLUpf=XF6aR4i#GTaJt*rGu_LYrFRVn7+5vrrTszve2+&^k-L~)T zfP`?Egy2cu)Hxp-9?k%x>>HY_2RWGTV))Q+B1|u_wQ)qEI)zFvp$x=d$Co4gbgD#yi*CXkt-1rRraK1xg2 z@MU8o$CayB!+|68+i~;jC=M*`1`{GW(gSOb%tAS2hIX|BUpRweTRI9|7SiHUEPE}~ zM91WYh6Wb&0M8NaRK;V-l=|7IsQ7FK28N~78Fcvr(!uBqHddCFm(WVj?2Hw7mPCw% z)beGk6gc3YWsZRxAJdRr!2*;P-XRA)m=bD9Q`BFt0MZRm}L%>$89VI;~{v| zD|n5HpD86|ns;FTalwu|7DmH8r6M$Qv~dYzaU3w{@RB^Myu8T7^G!P&mW1u=>P_F<-T*85xFsVgWZvE5hV zva_(_FJ8O|O-M*63}l$CgyXZr+&o!f45kr1Rg0@+d9S0VcaBnLVr5OVPEJf*2Vv4? z#&33$#8z;lK6MNkn82&1`s?_M}ew$y-^*VQaa0&$qqv8tl)WVD_>U27+P z;(sZDx5Tw!x2%oVB_ebA$sapr9uyR4fIYjzrbzWX9~1Lea`RuaW{m>i06evmZdW0l zdI07U*AV%J#N!fhU$Ib6;eX?m4t1dupS6HYJusA=3>`KBu z+gHmNS8qA~1nv34TFnT%w+|fK4sM283t*~&GoPuFh)rGnU;6$4WHNcjz~65yGn-&9UWp zPuw#>PEJ}pyi_H+4L|3M-ECG(9IAT$@+CV8ep@H%*!q+P1Q_r)kp23&wVM53zMKO* z(DfgQ5{H6*+vb0#pkF{u*}*|i&V~I-=$i6lqobokL0!;w2ea+=WcD|RZrG61s*F_u zl1!+~GryPCQxr01uUlXlGdnegGfoGBKlc83%_Frj&giFO_hx5N0(a#l_;*9jki)hC z>|ueIBHzp$dX^SQ1$Z%W7ZM5y``qCB5+z8<=Nl99Jt*ZjA=rXHYsUZfUzpp54L~?} z@m-v;INf#NE`W8B3h&>(-Dkh=+yxpgF0RtAd5D@&>Q;*=ts>jDt;ADkfcnpqJpX-} z-nlPCZ3~zgxdnx2Jp{Qh0GNJ~d4bQull(^-st>6JGnIH>vV&0CVxg4jsfED_AT}ec z{KT^F3NSxVSld248EE;z%f%Ij7Izb<%+o{;+73IQ8)UdAv1$uB?(_I^&5IX!$(%7p z%2{aoyKi?}+ul#x854u9tNKmoe#mzL?aONJ>)kST=bpgLqcHeSwj{+cmAN9KbW$?(X?EZb$501204NB((!l@3-z^b|Bz7=mWBL)fBMF zr?BoHMZW&My%sO00?iplNBgRR(--N>SG#Y>{mVbVgXZR^`nH}N7lL7b8k(Q|NLv=4 zf>Yc;efdt@ZGr#P@hjVX*`RX}uj5sbt2L1u;Shv}h0&od6N9eh@)o1-4<*>Z!_Z0` zP#mD~g|_s>FboCGjurzB?kTCfbLURW?1Sm!+#6y8b9J4+xHve_;umbnd<>88(-{8) zPijY}+uH|OEs2I>;=`qZQ}uUg0SrAW%CsEAX@oW!*2M0HEk{*Dhz}L2M$|y@SchbS zEB9odXH9S~B%16cpEMz(s0+vU1Kou)CNXqBdhkH};pmD6)PIl9FVUUI-j?RlSh4wr;Ec)a7XX1p7DmFJYi9e7=yk&ZJtjf_( zpOcd_-@c9!$)^m1h}!53xSKCkXIZhiOu8NOCD zm4*7`Lwy{6Z0AEAzow=l!GCLOYsY7PA4_#SR~d|xztz2;0ySwR)-1<^|1tnZ)Q-4G zJePY1zW@p!(SPKHgH-EI~WXZDA6bRM=2mL3V6)u80z-@dsJ zWBT$Iw+O^35gnlhr|jmSvhb+|DGR6uoP`z7w|ce6`t^)3G^y=>Zl6mo5$>o*+j=yj3)&8#wotg-*s%Mb`Y#4@0A) zSt{ozt(603xFHANK}r1dyEU~^!HI*Di|bXk;p(pLZsMIiG&zfi>%fE)@raEmDnR2d&ts~Pxa3r z7YwAO#>U2AcGr92oSdgdNOMAzEdvf5Ve~D}pBEf{zUs-7Cw5plL1ky()2kGZ+SNrY zgH+EBT_n?pb~!x_gf*aYI$&w;1Cg_;5LPa2^$=cfa47^i%nbOSr1$`^6nK2pAsraG zEXOuB;cZRjLziCHp&9-abcxyvUP})&f)u0~!mF9!ph79Zc6P+0DrDN6|kyo%N&OAS-&_zh{t=k}AEe4rF)+f(6Tp6)QsFV34c~iGOVk zn9f%)vNzepZE*U>q=F=XIjAEyQT_i>@^^qfof#i@PgMqm;UV-1IDkY>h%gU30HjvB z+|5^yXY;Zc6pGq8Kq(G91~I;sE0>z(nl2}q89b(a$FFmn>(m5o81J+VCMmhlq@*O0 zd@;RaZiuAXS=g##&rP}%WN{5C()&5dTR|nO!Lf3B|M-#n%!D)1=%?rY{PO(D>%)pr zvG^4o`VeyesfGV9{={<=S=UC8q@gB45yL_Dn84veah`||Vvm%ErwM-85 zRmVD|)1eX(MZJG;a2<)dSt8|A`_T=gJQQ*#l8-WHpE?j)UyFtm-Qxz}%jM$gN>YRR zvA=-SSkR3)(Dvzpwh2C&9!xMg1HPyK_<;R&BaK;{a&g1v=4LLW*n|mBLr639`t|GX zqwf?+%jtHG)eFXZRHHPaFkJV%VJ-(m!SuLzu$P1naGjE4+upYCT_#M zuYhym!^2Lg_M;ZJu3k<>+lOUhkD_z zK`PT(FNMG#1_>m+u0okO=lP>?ZSn4UgqX>Hw{xzE~KL{+u2)f>MLe=U(cR}5ESeCiy)dPPNG zRHsQPCA)d^3WR+XQMQo=vN+zoQZ1<5AkSV;j~P8TqN~gD?9&0yZt3O5`_4hT$JaPO zd{(c%eC|G*ar()-$p-MYAz<3MxY*?WHj}2nb%lxhiS^NICxN25X%9)OLM9?~y?&jz zuL1E&f~1}CFKq!k>@)D}Bz@lKr>s+9>4eP8W7-*9v!aq@veQW;AL zaCeE{Z*kzv6YPn{V8JELY}{Ug&8Zp zJn)IQBRko3%Xu#R*W^d$Ay|Ew$?(hr(R?P^{_54~J9i|qcV9gRqn9F}^A)6KJV}y@ z26k;Yvy>|?AwfiH5#5Fem|%i-hYv>pSrRP6^TsA4wj(lt7YlQ~zuykqeTTk2%jwgn znTz8QZG}Hd1Lu?o@PH%`;BP-M&yBi+dFfhMy|vbiVU@|MFIqXyM{ zFk!%rJP*>5k!5B6S*OmpWR)<+>AoRJG@_O5dI-w6FBz{7H~~j#Ie1b1^pB6}_wJp? zQs037j*|2gFjMa2xE*pUb3dD9sGoVKN6`qOL!b^tuH1CE8bMhi%OX73)~z=oCo$?P zCnLj-LPy#u(3iQ>ABf)oQnU-xAKBqH2un+|Aro%Xtrd4|HiC5}Eof`$5MsG;OF2+S z3y!`KC)Y@2nlznXxrvb&RR|@ZMxTKZ>Hv0|WA#WJ(Z$>=^@&`JAzD1@78b>=QH^~E z5FV2K)>S}9pa$-QBy@-dmevWC4S(RgoKbLvA16O_&$56PO|}lKLC&r^#M5b6{1@?2 z-&fdcK#DZf6(w(G;A+pWV|`VE5aR3b)?}oBYP%*XZcENT7L6p5VEZ*mZIP2Z4c*Nk z4eoJI0cm0M3=B1p6sYkx7Pj`NQzR$av?PR|cKuA_$k(q#T>bC>o5y}}VIFffX6av# z96BTmY~8fz;ny5blRuM1UWV83|I$K_V_4HMp+227b#9EiHO9%cgrO zTDe~|tD?2zb=ToQT2=*Bc$Ih{%1`o)nCoE;44jugwq)aG*dK(f;VN8jch~~?!XFF6 z5~B+*N2sd-Mz{D=wKu3_;vwKch)eKDOH6CDy?UiV9#59&qN2CEJ4Kb0m5E?`+XnvT zSr}VfF#5Ew3tD$Q)GreB#+*%Yz^WaY1F92cmfVC;zkU16=9oEb96S{a9o#_u6EyYp zs{%|EM$dqnvlEjqQ60})TAnN}OsSFW3$_jtg^`_CuU=hJ@!t%yUEErGUT7oi^Gp?P z2AX~Z%H>?&Df|=b5zouzG&?FfFI{;D(76kJ6K#$Gpo*%-OWjCMr}6ineUQ7pq5+pl zT3$(MX_8X~;uTYAF9N4FUoKG*XQ+k$uEd4LfU&@K$MaG}H#C|@5d7)$yi$Sw6V zQknP#aB{1kJzI)hM+sHbN1bf~K-z*7?|B#gr^u+SEV-yFB8u72kaxMSAJkCq^5(MrRU|bBe*~uNiZa_PcN=o?|x(^fPE~k zg~~|GV%!;&Q2sS*mSgD1t@4jf+7WmvjW1pxL9248Ya9#Y(r< z8#Ezvmvutsf*+%462Xv+2cfqR=Pd}MZp^pylrAfIizA0+Gw>Uk&oj_(Z=x!L?wkRJ zg+3mUt{IuEDV3zZj+_6sX(nt>xW~wfF(5XYaYs|jRMNx4gK#HO*sQI)|LL zg)!o9S^}vEw5YwCu-X2f!W94G+cA2KA*e|jP%+^C5(9X2^gLuGp0wb9O$N%#03wNY zT*7M&e@wqxhLkV2Q>X<>o}uY;#`dhLi+v1 z45)rZ+D_P9O3$&o@di2ad!8MmP*Y-I(PlvO)794p^jOWYd^tiqY!t=F%11$%g+EI} z5zGL~k<7rM-CR;UwgQ^=8JLM?hc@B0&WfMG(x0H;){}31i4Yn9m z0`%8Ly#Nkb0-pNqeVN6sN20j=nUb7CloLkTz$QK-Q$k7@$@m+o&2wWPT3lL086<3; zSi2a(Sc}93uolATX%~+XoNoH#U*~~E$@|M0u>Tu)LL{6Es_y=&Wo7suUP;RkG*CMf z>zw^%o5^4&k!8Tx_j*1jXIlIkR@@E5uMQ;x<1%F0Ap8{akFTI>sz)0$^19#f!p$PwVTGo#+4F+qovjkTHbA zfTGRR7n!DjmR5*&{Fb3B^K>uZ8B2AMoerITuE9+2MPhQR4^^kfS~@Fo2X^ zC}80Ld{C#pN)@UfrMk8CWP9nz$B$uXPj*OgO~Y@DB=QYLpmQLEYAc?`b>-Aze~=Lq z?owr8;T_WVU@idlAKCVXT(qt?zKhvz9(@jaw8srL$(Jv)P_1oy=eTa(ySFS}*Yvoz zNXFDb@-w2z2?-`&Zfy+5;KI(Gw_=W&PU@{5l&=;wt0uuX-P3K1rMaB_7ybVA)7e1Q zP;*Krz!Jy+F(nI}yTiZnY>tB*T0#aVSCrP+=ujJ+jgf2l_+3`_T|9pe*rQXvTD01-38Idn7+BX@CcqZC!{J0?KVt-u}CaI`4Y zI>seSmHQM(0YpYftQguND?%hOs}%M2y%EBx+Uu|P zl|~t3mn4lvrfSj<1;{qKPG%k@?yMr0b=1gNB?OoO1usD#&53911}P_dg|iq!$iysh z;jXCouLu=V=b#63V?^Xu8)8e6*)sBTk8TxGL^TSBfLUHqLFUuR1TS*C*r}HJcBdcY zYT#WmClh^^5r=tUVb-mu!k-twla_jYfB$OySW_-7ZmL52@3U*n`uyn=ZAk6TKQw=g zwl9y;8nW6VZmSo}sS7uE54xkHTQb(FH$EXD3@MkSlNES62deT0niMI1M2X0`hN9vC zX-NAM@W$~|=A?t1T`;*%V~6xk;jwMv;E5{~==VXSIY=Q?6a>jZ`>K_KIlItb#1GvbK;rsC1sq+QQ4BSMAM^k6p7p zV!4P8nLk1L>M6me5Hs4Hj{$8=z&>dGttGsi%+PmGc$o~n>>j#mba5KW!NH-w zzn@xm{(+$P?p?cRsMP+w@o*FgV#mA*j`$M{-P6L@4?p$r!2`^IiUwX!OSAIfSx=T& zUC*EMEHE2Ik}GJF7!@sQ`H6~=oNEKS2y*sKfMrq@(*Ho#&G#JABb}9GSOB@fZ^?)( zl=9{wb`}3ZLlf3PScf2g zU^DUw4}jLtO-Kx+pqZ1N20!!!=ma~7=E#xHoSkBzG+0_~#DDb4rT^Zki50t@pWkDz zN;S}PG6Y8T1FS>GPRhB9`?UicB?>rVBg+K^V*6%YyW{r&P5Xy)+ z(ZpDvAT~bYH|46xF9FguCQN z&=+=KZ2WJHm-pot6BV@|@2@!<8;e<-l>l*said!X?)a;nU9^jIj!x-#?KFfzy$gU^x4R}A%N z|GNy9F^=y?2-K-7e=Rz-EIx?gTrTNQ@$ZcF{_YMqb!2EM@x@dMDhnDbp-S*jEOZpf z^)c!3(W;*MxsKQoNS0ybjqrRj`~=~Wq`_c9iXb3ReutDht;LN~0@X{o*5ANZC9%!= zn3Z8rKW_s5kU4M?YA1O%2rfhW|JKnNqtYcIc$!b4I$>IV4G9n;7KPa-{A zOm+Ma0t9Vk0l$C$Mix2*U?*|vFxiwj9D1pYpK!{t!b{@RBKsg{#b3K7op1|!c~j2c zw(-tHkIX4qr#`!^hWnsGz!ij;K*8I}!v4NSK$1Vj$HisRdzo~P49*Qx6v9pgN7z1Pf-V!X77_1-6bqJ}d9!Oh( z0|BRt3@u6;@58wxP8JS|y`y6|Y>tuhqT1xc75=-pEqeSf&&f5hqDn9zPTC`chcM`h z&>~3IoVbz*9czM1WaUk5LnqdW;X93|iij=$wr$%W_UuFuB>gM-L44!}$%aKC7L3YI zGR5e#63vJI(!B{ZP-J%PQj;D9F9xMfAr&40_f`5p`B}&k;x

hL9Jb!+;+PMIw(J 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 H_n`j($XV`k diff --git a/docs/package_reference/util.md b/docs/package_reference/util.md index 3e81f6de2..495a914fc 100644 --- a/docs/package_reference/util.md +++ b/docs/package_reference/util.md @@ -10,7 +10,7 @@ ## Model Optimization ```eval_rst .. automodule:: sentence_transformers.backend - :members: export_optimized_onnx_model, export_dynamic_quantized_onnx_model + :members: export_optimized_onnx_model, export_dynamic_quantized_onnx_model, export_static_quantized_openvino_model ``` ## Similarity Metrics diff --git a/docs/sentence_transformer/usage/efficiency.rst b/docs/sentence_transformer/usage/efficiency.rst index c30770078..e596104e9 100644 --- a/docs/sentence_transformer/usage/efficiency.rst +++ b/docs/sentence_transformer/usage/efficiency.rst @@ -138,7 +138,13 @@ See this example for exporting a model with :doc:`optimization level 3 `: + +.. tab:: Hugging Face Hub Model + + Only quantize once:: + + from sentence_transformers import SentenceTransformer, export_static_quantized_openvino_model + + model = SentenceTransformer("all-MiniLM-L6-v2", backend="openvino") + export_static_quantized_openvino_model( + model, + quantization_config=None, + model_name_or_path="sentence-transformers/all-MiniLM-L6-v2", + push_to_hub=True, + create_pr=True, + ) + + Before the pull request gets merged:: + + from sentence_transformers import SentenceTransformer + + pull_request_nr = 2 # TODO: Update this to the number of your pull request + model = SentenceTransformer( + "all-MiniLM-L6-v2", + backend="openvino", + model_kwargs={"file_name": "openvino/openvino_model_qint8_quantized.xml"}, + revision=f"refs/pr/{pull_request_nr}" + ) + + Once the pull request gets merged:: + + from sentence_transformers import SentenceTransformer + + model = SentenceTransformer( + "all-MiniLM-L6-v2", + backend="openvino", + model_kwargs={"file_name": "openvino/openvino_model_qint8_quantized.xml"}, + ) + +.. tab:: Local Model + + Only quantize once:: + + from sentence_transformers import SentenceTransformer, export_static_quantized_openvino_model + from optimum.intel import OVQuantizationConfig + + model = SentenceTransformer("path/to/my/mpnet-legal-finetuned", backend="openvino") + quantization_config = OVQuantizationConfig() + export_static_quantized_openvino_model(model, quantization_config, "path/to/my/mpnet-legal-finetuned") + + After quantizing:: + + from sentence_transformers import SentenceTransformer + + model = SentenceTransformer( + "path/to/my/mpnet-legal-finetuned", + backend="openvino", + model_kwargs={"file_name": "openvino/openvino_model_qint8_quantized.xml"}, + ) + Benchmarks ---------- @@ -388,7 +481,7 @@ The following images show the benchmark results for the different backends on GP openvino: OpenVINO, via backend="openvino".

  • - openvino-igpu: OpenVINO, via backend="openvino" and model_kwargs={"device": "GPU"}) to use the iGPU from my CPU. + openvino-qint8: OpenVINO quantized to int8 via export_static_quantized_openvino_model(..., OVQuantizationConfig(), ...) and backend="openvino".
  • @@ -428,13 +521,13 @@ Based on the benchmarks, this flowchart should help you decide which backend to A -->|CPU| C(Is a 0.4% accuracy loss acceptable?) B -->|yes| D[onnx-O4] B -->|no| F[float16] - C -->|yes| G[onnx-int8] + C -->|yes| G[openvino-qint8] C -->|no| H(Do you have an Intel CPU?) H -->|yes| I[openvino] H -->|no| J[onnx] click D "#optimizing-onnx-models" click F "#pytorch" - click G "#quantizing-onnx-models" + click G "#quantizing-openvino-models" click I "#openvino" click J "#onnx" diff --git a/sentence_transformers/__init__.py b/sentence_transformers/__init__.py index 1ba4558e8..488ecdfe9 100644 --- a/sentence_transformers/__init__.py +++ b/sentence_transformers/__init__.py @@ -6,7 +6,11 @@ import importlib import os -from sentence_transformers.backend import export_dynamic_quantized_onnx_model, export_optimized_onnx_model +from sentence_transformers.backend import ( + export_dynamic_quantized_onnx_model, + export_optimized_onnx_model, + export_static_quantized_openvino_model, +) from sentence_transformers.cross_encoder.CrossEncoder import CrossEncoder from sentence_transformers.datasets import ParallelSentencesDataset, SentencesDataset from sentence_transformers.LoggingHandler import LoggingHandler @@ -37,4 +41,5 @@ "quantize_embeddings", "export_optimized_onnx_model", "export_dynamic_quantized_onnx_model", + "export_static_quantized_openvino_model", ] diff --git a/sentence_transformers/backend.py b/sentence_transformers/backend.py index 355f40d83..9c60e4613 100644 --- a/sentence_transformers/backend.py +++ b/sentence_transformers/backend.py @@ -1,7 +1,6 @@ from __future__ import annotations import logging -import os import shutil import tempfile from pathlib import Path @@ -9,11 +8,17 @@ import huggingface_hub +from sentence_transformers.util import disable_datasets_caching, is_datasets_available + logger = logging.getLogger(__name__) if TYPE_CHECKING: from sentence_transformers.SentenceTransformer import SentenceTransformer + try: + from optimum.intel import OVQuantizationConfig + except ImportError: + pass try: from optimum.onnxruntime.configuration import OptimizationConfig, QuantizationConfig except ImportError: @@ -97,7 +102,7 @@ def export_optimized_onnx_model( if file_suffix is None: file_suffix = "optimized" - save_or_push_to_hub_onnx_model( + save_or_push_to_hub_model( export_function=lambda save_dir: optimizer.optimize(optimization_config, save_dir, file_suffix=file_suffix), export_function_name="export_optimized_onnx_model", config=optimization_config, @@ -105,6 +110,7 @@ def export_optimized_onnx_model( push_to_hub=push_to_hub, create_pr=create_pr, file_suffix=file_suffix, + backend="onnx", ) @@ -180,7 +186,7 @@ def export_dynamic_quantized_onnx_model( if file_suffix is None: file_suffix = f"{quantization_config.weights_dtype.name.lower()}_quantized" - save_or_push_to_hub_onnx_model( + save_or_push_to_hub_model( export_function=lambda save_dir: quantizer.quantize(quantization_config, save_dir, file_suffix=file_suffix), export_function_name="export_dynamic_quantized_onnx_model", config=quantization_config, @@ -188,10 +194,122 @@ def export_dynamic_quantized_onnx_model( push_to_hub=push_to_hub, create_pr=create_pr, file_suffix=file_suffix, + backend="onnx", ) -def save_or_push_to_hub_onnx_model( +def export_static_quantized_openvino_model( + model: SentenceTransformer, + quantization_config: OVQuantizationConfig | dict | None, + model_name_or_path: str, + dataset_name: str | None = None, + dataset_config_name: str | None = None, + dataset_split: str | None = None, + column_name: str | None = None, + push_to_hub: bool = False, + create_pr: bool = False, + file_suffix: str = "qint8_quantized", +) -> None: + """ + Export a quantized OpenVINO model from a SentenceTransformer model. + + This function applies Post-Training Static Quantization (PTQ) using a calibration dataset, which calibrates + quantization constants without requiring model retraining. Each default quantization configuration converts + the model to int8 precision, enabling faster inference while maintaining accuracy. + + See https://sbert.net/docs/sentence_transformer/usage/efficiency.html for more information & benchmarks. + + Args: + model (SentenceTransformer): The SentenceTransformer model to be quantized. Must be loaded with `backend="openvino"`. + quantization_config (OVQuantizationConfig | dict | None): The quantization configuration. If None, default values are used. + model_name_or_path (str): The path or Hugging Face Hub repository name where the quantized model will be saved. + dataset_name(str, optional): The name of the dataset to load for calibration. + If not specified, the `sst2` subset of the `glue` dataset will be used by default. + dataset_config_name (str, optional): The specific configuration of the dataset to load. + dataset_split (str, optional): The split of the dataset to load (e.g., 'train', 'test'). Defaults to None. + column_name (str, optional): The column name in the dataset to use for calibration. Defaults to None. + push_to_hub (bool, optional): Whether to push the quantized model to the Hugging Face Hub. Defaults to False. + create_pr (bool, optional): Whether to create a pull request when pushing to the Hugging Face Hub. Defaults to False. + file_suffix (str, optional): The suffix to add to the quantized model file name. Defaults to `qint8_quantized`. + + Raises: + ImportError: If the required packages `optimum` and `openvino` are not installed. + ValueError: If the provided model is not a valid SentenceTransformer model loaded with `backend="openvino"`. + ValueError: If the provided quantization_config is not valid. + + Returns: + None + """ + from sentence_transformers import SentenceTransformer + from sentence_transformers.models.Transformer import Transformer + + try: + from optimum.intel import OVConfig, OVModelForFeatureExtraction, OVQuantizationConfig, OVQuantizer + except ImportError: + raise ImportError( + "Please install datasets, optimum-intel and openvino to use this function. " + "You can install them with pip: `pip install datasets optimum[openvino]`" + ) + if not is_datasets_available(): + raise ImportError( + "Please install datasets to use this function. You can install it with pip: `pip install datasets`" + ) + + if ( + not isinstance(model, SentenceTransformer) + or not len(model) + or not isinstance(model[0], Transformer) + or not isinstance(model[0].auto_model, OVModelForFeatureExtraction) + ): + raise ValueError( + 'The model must be a Transformer-based SentenceTransformer model loaded with `backend="openvino"`.' + ) + + if quantization_config is None: + quantization_config = OVQuantizationConfig() + + ov_model: OVModelForFeatureExtraction = model[0].auto_model + ov_config = OVConfig(quantization_config=quantization_config) + quantizer = OVQuantizer.from_pretrained(ov_model) + + if any(param is not None for param in [dataset_name, dataset_config_name, dataset_split, column_name]) and not all( + param is not None for param in [dataset_name, dataset_config_name, dataset_split, column_name] + ): + raise ValueError( + "Either specify all of `dataset_name`, `dataset_config_name`, `dataset_split`, and `column_name`, or leave them all unspecified." + ) + + def preprocess_function(examples): + return model.tokenizer(examples, padding="max_length", max_length=384, truncation=True) + + dataset_name = dataset_name if dataset_name is not None else "glue" + dataset_config_name = dataset_config_name if dataset_config_name is not None else "sst2" + dataset_split = dataset_split if dataset_split is not None else "train" + column_name = column_name if column_name is not None else "sentence" + with disable_datasets_caching(): + calibration_dataset = quantizer.get_calibration_dataset( + dataset_name=dataset_name, + dataset_config_name=dataset_config_name, + preprocess_function=lambda examples: preprocess_function(examples[column_name]), + num_samples=quantization_config.num_samples if quantization_config is not None else 300, + dataset_split=dataset_split, + ) + + save_or_push_to_hub_model( + export_function=lambda save_dir: quantizer.quantize( + calibration_dataset, save_directory=save_dir, ov_config=ov_config + ), + export_function_name="export_static_quantized_openvino_model", + config=quantization_config, + model_name_or_path=model_name_or_path, + push_to_hub=push_to_hub, + create_pr=create_pr, + file_suffix=file_suffix, + backend="openvino", + ) + + +def save_or_push_to_hub_model( export_function: Callable, export_function_name: str, config, @@ -199,14 +317,35 @@ def save_or_push_to_hub_onnx_model( push_to_hub: bool = False, create_pr: bool = False, file_suffix: str | None = None, + backend: str = "onnx", ): - if push_to_hub: - with tempfile.TemporaryDirectory() as save_dir: - export_function(save_dir) - file_name = f"model_{file_suffix}.onnx" - source = (Path(save_dir) / file_name).as_posix() - destination = (Path("onnx") / file_name).as_posix() - + if backend == "onnx": + file_name = f"model_{file_suffix}.onnx" + elif backend == "openvino": + file_name = f"openvino_model_{file_suffix}.xml" + + with tempfile.TemporaryDirectory() as save_dir: + export_function(save_dir) + + # OpenVINO models are saved in a nested directory + if backend == "openvino": + save_dir = Path(save_dir) / backend + # and we need to attach the file_suffix for both the .xml and .bin files + shutil.move(save_dir / "openvino_model.xml", save_dir / file_name) + shutil.move(save_dir / "openvino_model.bin", (save_dir / file_name).with_suffix(".bin")) + save_dir = save_dir.as_posix() + + # Because we upload folders and save_dir now has unnecessary files (tokenizer.json, config.json, etc.), + # we move the main file to a nested directory + if backend == "onnx": + dst_dir = Path(save_dir) / backend + dst_dir.mkdir(parents=True, exist_ok=True) + source = Path(save_dir) / file_name + destination = dst_dir / file_name + shutil.move(source, destination) + save_dir = dst_dir.as_posix() + + if push_to_hub: commit_description = "" if create_pr: opt_config_string = repr(config).replace("(", "(\n\t").replace(", ", ",\n\t").replace(")", "\n)") @@ -230,8 +369,8 @@ def save_or_push_to_hub_onnx_model( model = SentenceTransformer( "{model_name_or_path}", revision=f"refs/pr/{{pr_number}}", - backend="onnx", - model_kwargs={{"file_name": "{destination}"}}, + backend="{backend}", + model_kwargs={{"file_name": "{file_name}"}}, ) # Verify that everything works as expected @@ -243,23 +382,27 @@ def save_or_push_to_hub_onnx_model( ``` """ - huggingface_hub.upload_file( - path_or_fileobj=source, - path_in_repo=destination, + huggingface_hub.upload_folder( + folder_path=save_dir, + path_in_repo=backend, repo_id=model_name_or_path, repo_type="model", - commit_message=f"Add exported ONNX model {file_name!r}", + commit_message=f"Add exported {backend} model {file_name!r}", commit_description=commit_description, create_pr=create_pr, ) - else: - with tempfile.TemporaryDirectory() as save_dir: - export_function(save_dir) - - file_name = f"model_{file_suffix}.onnx" - source = os.path.join(save_dir, file_name) - destination = os.path.join(model_name_or_path, "onnx", file_name) + else: + dst_dir = Path(model_name_or_path) / backend # Create destination if it does not exist - os.makedirs(os.path.dirname(destination), exist_ok=True) + dst_dir.mkdir(parents=True, exist_ok=True) + + source = Path(save_dir) / file_name + destination = dst_dir / file_name shutil.copy(source, destination) + + # OpenVINO has a second file to save: the .bin file + if backend == "openvino": + bin_source = (Path(save_dir) / file_name).with_suffix(".bin") + bin_destination = (Path(dst_dir) / file_name).with_suffix(".bin") + shutil.copy(bin_source, bin_destination) diff --git a/sentence_transformers/models/Transformer.py b/sentence_transformers/models/Transformer.py index b2b5053a3..f9e82986b 100644 --- a/sentence_transformers/models/Transformer.py +++ b/sentence_transformers/models/Transformer.py @@ -260,7 +260,7 @@ def _backend_should_export( file_name = model_args.get("file_name", target_file_name) subfolder = model_args.get("subfolder", None) - primary_full_path = Path(subfolder, file_name).as_posix() if subfolder else file_name + primary_full_path = Path(subfolder, file_name).as_posix() if subfolder else Path(file_name).as_posix() secondary_full_path = ( Path(subfolder, self.backend, file_name).as_posix() if subfolder diff --git a/sentence_transformers/util.py b/sentence_transformers/util.py index bb4238aae..53d8247fa 100644 --- a/sentence_transformers/util.py +++ b/sentence_transformers/util.py @@ -1475,3 +1475,21 @@ def is_training_available() -> bool: Transformers models, i.e. Huggingface datasets and Huggingface accelerate. """ return is_accelerate_available() and is_datasets_available() + + +@contextmanager +def disable_datasets_caching(): + """ + A context manager that will disable caching in the datasets library. + """ + from datasets import disable_caching, enable_caching, is_caching_enabled + + is_originally_enabled = is_caching_enabled() + + try: + if is_originally_enabled: + disable_caching() + yield + finally: + if is_originally_enabled: + enable_caching()