From b4735f7829bb88c99071cd91b208aa6ffd2cba24 Mon Sep 17 00:00:00 2001 From: Bernardo Heynemann Date: Thu, 4 Jul 2013 17:57:05 -0300 Subject: [PATCH] Adding support for metadata in webp images. Pillow now uses the webpmux library to envelop the webp images in RIFF. This allows for easy support of exif and icc_profile metadata. Also included tests that verify compatibility with jpeg for exif and icc_profile metadata. If the user does not have webp with webpmux enabled, pillow will fall back to the previous approach, meaning no exif or icc_profile metadata will be read or written to. --- Images/flower.webp | Bin 0 -> 29556 bytes Images/flower2.webp | Bin 0 -> 21552 bytes PIL/WebPImagePlugin.py | 21 ++++++- Tests/images/flower.jpg | Bin 0 -> 32764 bytes Tests/images/flower2.jpg | Bin 0 -> 86491 bytes Tests/test_file_webp_metadata.py | 85 ++++++++++++++++++++++++++++ _webp.c | 92 +++++++++++++++++++++++++++++-- setup.py | 21 ++++++- 8 files changed, 207 insertions(+), 12 deletions(-) create mode 100644 Images/flower.webp create mode 100644 Images/flower2.webp create mode 100644 Tests/images/flower.jpg create mode 100644 Tests/images/flower2.jpg create mode 100644 Tests/test_file_webp_metadata.py diff --git a/Images/flower.webp b/Images/flower.webp new file mode 100644 index 0000000000000000000000000000000000000000..65d9d52e91d17919aba4ae6df62893da6b621676 GIT binary patch literal 29556 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 literal 0 HcmV?d00001 diff --git a/Images/flower2.webp b/Images/flower2.webp new file mode 100644 index 0000000000000000000000000000000000000000..0302ea476a17942eb3f4a10d347533af4f57a667 GIT binary patch literal 21552 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 literal 0 HcmV?d00001 diff --git a/PIL/WebPImagePlugin.py b/PIL/WebPImagePlugin.py index 7720526f9..d5d75391c 100644 --- a/PIL/WebPImagePlugin.py +++ b/PIL/WebPImagePlugin.py @@ -29,11 +29,19 @@ class WebPImageFile(ImageFile.ImageFile): format_description = "WebP image" def _open(self): - data, width, height, self.mode = _webp.WebPDecode(self.fp.read()) + data, width, height, self.mode, icc_profile, exif = _webp.WebPDecode(self.fp.read()) + + self.info["icc_profile"] = icc_profile + self.info["exif"] = exif + self.size = width, height self.fp = BytesIO(data) self.tile = [("raw", (0, 0) + self.size, 0, self.mode)] + def _getexif(self): + from PIL.JpegImagePlugin import JpegImageFile + return JpegImageFile._getexif.im_func(self) + def _save(im, fp, filename): image_mode = im.mode @@ -41,14 +49,21 @@ def _save(im, fp, filename): raise IOError("cannot write mode %s as WEBP" % image_mode) quality = im.encoderinfo.get("quality", 80) + icc_profile = im.encoderinfo.get("icc_profile", "") + exif = im.encoderinfo.get("exif", "") data = _webp.WebPEncode( im.tobytes(), im.size[0], im.size[1], float(quality), - im.mode - ) + im.mode, + icc_profile, + exif + ) + if data is None: + raise IOError("cannot write file as WEBP (encoder returned None)") + fp.write(data) diff --git a/Tests/images/flower.jpg b/Tests/images/flower.jpg new file mode 100644 index 0000000000000000000000000000000000000000..933719d1cf71cfe3e1794e258eb56a2c15c6fa40 GIT binary patch literal 32764 zcmeEsWmp_bx9$u!K=9xU?vM~XxI4jJgS!sF9TFe}_YmA&gG+D??(S~EEx;Z2&L`)b z@5ep&_g(XJ)!T2al2ui`x@UDi%|5LHFk~d8B>+Gm5FiEp0iM=~AI04)%>V#tX$Aly z002M&paWq52vFn!Jusjc8=Ct;4=f-o00_;W4?-aPUwH-;6aB#jP)zqn2L_5+|J1F3 z;+HW0s%sex_gCF6DBlVX0Eime+1ve{k}2A|nnF}8>_3pHurou;|0Um{@VV!I!WZIw%r@Zfh7Qe%{@2&;<4mPJv=LC?3@p?K z{%a+<0X@(e_#?#>0DR~eg#d(raVYg{@$>OK>o9-KoiaBU6#bh&!1((beb$2cgP(oC zvmgLq|9IYK;ve1_1$y!i?~Dz_|L&cEFn_P_1qj;OA1w8}m{9qLkNrpfyjp+D^*_L$ z{N%r#|Bus^|G_|s`~N^*|E2lxKT7_h{|Ecui68%+cs~Ef;Qmv0f9b1*sulhDW&IQV zgZba)|GO3n{zHEZ|AG6DqY(d(?BBJO{%cwBGyC7Te`-9>Q|2Oi~2EarFxB)U?f#d)fOdu>K@Tm)! z1$6=N&?gnB{Jkxq=P$hdg;1ccNyv~=_g>>QkLxwv^m#l$5frKDw4 zRMpfqG_|yiO-#+qEiA2^J~+F$y19D^9P&9dCN?fUAu;J|a#nUuZeD&tVNq4} z_nO+e`i91i&aUpB-oE~U@rlW)>6zKN`L*?p&8_X7-M#(Ov-69~tLvNFJE+V4+nj$| z^l$cHLhXTpgM)aeX!x6Aqr71p!M~31sN_l7iJA5nCiWv$7qDl1=#+juB)G z8JCKEjr#Q2q`xfszcVP{|H-0%8uU+lp5_54uuyM>35y931SIoi!b^kZYtHIw8_3M- zFF4xN8So@(hlcfCC53;Ri>}Gu*KLB zJ1{AMH1zgL|5NvZ{MHQFBM#EW1j*DgYw793_%AMd?IN&wXacL)H_Hv!<&3FPf#r%= zMhT4|#u+=`(szmM+Ix@U!ntoeO&w(!{ICI_cP@Ev1+|C1enGbPSyX<1fVnq>?THde z-X?w!sqJl3_B%ARiRJk9dTTvR4=tLT8}h~zU`knXZ8KuWYuKyi36S8v>4_znzo%(b z)PeCs=f0BN!@ePdGGd-Jnjy;rIp1fZrdTQ|g3tSWWltC1inU9%Y0jF4uDI#yZ5XvA zAiX2Ec2avxiv+=x%H$g7074|w6ys(R-CTV# zfUe}vyo^{qSRR4xIZJ&6J2fJh5Nw7FhJfBYkcu`$dwy@UxUXmi?gQoTQ#FE~P;0_a1MMb}6NQjOXQ5IYOzHMmpO;)r*yF)rr1o4pE!T9H|Oz_RYbg zLw>mrLu>Wh&fk=s$psF{)?WUW^F}}puFfwzyP3=D8%9Pq)cF35(X)7j>BFm>4=9pn z9R9mp5;{3Uk%w-jM^_8>JG9o^_JbUsJ?(=QxptBXD|gl{3uF$&2CUvnWk&o=!SeLB zH2ZY4%`%X~dX=-0|5o;^C+*=w))c+AY{jlAORGo3CEMG4A8|dr(U2>~#pul+@0(H{ zDGJ%Zj_DqA$6A=TDJW*SpmY&yZaZ0wRp(XL{EkoGxDgWi173qHa>FtKfobBb(j=0v z4z=!MmzzuUd|VG_+VNbs2j_fDY|jnosAB#7mm6()JF6_O-rF>2;+lcKjtnB-Z8Vft z?URh>v)x!8oP(7*Ephj97v(6qVkBwpmSMskYqDuFslr%yay`N?gt_(hDlG_qWVJ5I z3;Hm^PVux8fVf98x=pRFgh45R$UeU=uJfrgNA&qdy*G-ui<6pbU-v9;=bvvhf5#YD zu*-VCl<>%YaTiKn$);?joVnz00!1Vs@+UUVr0>(lY_G#krGy(ls@iJBXn6XFE$hs`Z5Qrtmh?Bs#vd z6tj{pzVB^Z_I6W4p~Z)5rl*6(RDs<1b~WG_c$NAM;)7n9lm0`Ei!g5q>+2YT?+4NL zHFfUAGnCWcInXip2}@YIogGY66`2u670MWQEhOiZ6}7po1-~j^t2JKI*;6rkPCjsg zF+6n%{ zCgX%OsZ2bLfpD)?e4NNC7MdjAg+M&&K|bU_*hxm|#y$N_Hf4OCwJTcTR&PD+ zb%VZ>+Uo4)iK!6wMq2);hWL1s_9c_Ubym%FR#}jU*?VSPTsUsT{2PrLUe_N2-|wy| zs<+dvCFsk=xMZ)q>q%Rj{Llq+<#kpfdYVg&mAAZ4>_t7kPw}wd$>(mp5#go=qMfvb zW_mJWQ5wh}9`jZxdQP;DE2pk>qG~gTPCtaLE&#&JEiSofQu3oCF842~YcFY3qT0|M zfA9a4F(tyrl0eL(m|TXPK)f|+`uGHBML)+$7xdHRwB^8|B5iu*_8@tq9;$IJF;IO_ zXlhgby%q8h+0Y*L_Pmy`_hq$-R3^J$<={*tZH( z<`b8kN!5+9pRrSpaprJC&!`jLs%sFSh7P_Y(v}sk=H3@MleKQb)<08iX$V!8=_R>@ z4PcpcI$18VtP9!q>P6VrLh=#n=SO2(u5eUu)XC1AXyMk;;*vZOn}1bptv$ZG?LZ<8 zd`Z3u^p8lQ1znU&G~PHF(xj8l<~TZ`5xmQ1IOH*L`7Nlumn*GxQTuZ_E7T#rd>|n> zRT^ihifz-pw=@@zNf`rfOhJQj3Tf4{ma-DO z3Uy!cj_`unxQ3Ve_yuaLBoT8zlX--m?GL7Tc(II=gp|m=w^pj(Lo8O&i=iiqOsU-G z0e`qIIruzShvKN8M*@yI_x#GwP5};J8&V)lToZo9EQHelUs3o1!DSGA6?B_66}?Wh zWc1T$8Hn?B@6~%|`@*A}iOA-|R{Y=Zrc<1o_9}Np)!t!{8%AE;JgQDN)O{H4MU7wv z-OR*;oxZdr-+t8$lR;mCu*9CD|0+6Lpo&4-c$nOH)RqiOFF4Wr?s&12?K7~wMT=vLy*rsw@enb3Q@F0S`8TNHYkH)CzK8rjBF zxid)wXBeaC0lN><699{JkWxh@h+k-6Z18^TRftyF?MtbsC@`kj-(jY*dJrV{1cN>a6Sy zQfkoBo^B0J{;i~9Ut)Q!z6q*FiE)e(x&9r&NZQ$o)i8rHU$gncY$9VMZWw8?4Wj0` zk&^axFGZcB(5XK+J7%Slfq{O|Qs%X|dlkJ2W}dv`J|pY;>Oj}di{A&``NUq40*orJ z%ZWF+Y3xmu2^}pA|r~!RlNqC^wWn4-+mB(>UqKc$x zX%3kT9?3@-IgLc6AFf?=pAk0<2^RSeKE&Z9E`Auz+JCR3V|3#icR%sP;Pj&Wn^iB_ z>MTBXs=`FBR8PZlNti1+K7%_#!~Mz&5zUtDq{#QL8+7kUvM_V%*p+{b0d`xDWbyT)Uq11N`*6Em~dPF&j$NjZOZbxuYK4z?mO=(+&M^ zNDg=fG-o2Oi@%|Ziql?`n7@v{KV)6TO;G$Yc{d&A@X9#i{p56wxh?LAi-`Dv4sLuW zYwT`KIdL(X&RHqF=v?uSP@PnEy2gkTsn>I&>K`Q?U$6nttbSt_i-jLDEKF>>v{NhP zW>r;DT4ov%F(3f=*0Yz3GH$;_I_bt+jun+V6S(q)yLjA&B=XiP6Gg6Z=f8;OgB{6t z)VJB?+HcuiS%2Zx>)x>H@<5+6tq$|zi-ldH%~-MjXmsCiD;<8b>rM?!Ig8b<^f!q# zQoWhwDj=;hEicv7namPKdF1}xM&cAfoQwKQi650|+yoFfF=oE|Xm#65YX#y;9U?7C zKNIgP$@XiYD2`zblF98hcLtYcntzUfGylxAIv z6?QUk()X~TIj$@lGamQ8H4=3yOY?H@E9a5otT=HHJe4}6S;YQT$mgDo<$9}D^MTfh znb9=|NWu8-%3{PPJ6rY^ekxr$N^(gJj^U-{!2;dyF&CgM;V~=I{Ki^|`l3+gaJoy` zB+Yg^u3nF1j^)MVz!7Twde}&rBm*#sLU}GTOa8CvT>C+t1k%HlDaq=zSGN_759&?! zPUAISc#P7&;{eVWb0@s$-3u#BzYIp+AF?R%IL2JJo}Tr{>dCpck}QehbMl0|UglQy zzYXna8Nc*qeC=vTNygWYwEW|}eNUxQJV$;DNytv2#C)kz+SQOdX4+4B!+s%|`pb2N%>fqve2~Wm-I*B2vk<+X6hxFp%B7n5a@Q=^!q-hEp znuU1t8Eb7OLPEVtqfY>G9mxIk-wtIk+baQ9`6{gXWkUPN5JUOd-ny-NTs!e$iWQNe@u#6L=t0Imx0 zQq0ebq|lBoPMCksQK=9KvtHp}P;#_H>iVRw6_l2LJQGGDbMCf>1)DH!smz*VPc5%y z%|_z`ZrXt^K- z(Ui%j5MSM{a8%f7=sYqln-80|CsnLi^3Yr&Z;MI^21RyO{$_|s(JBeGF^zSBy(`!C zF)F&&-aRrKj#q-{-(8)vzb@&rZiCuBom=|VhRu9W#V(l9)z!0_vJ3CDv#_SQL{kFq zMV)^X`en)16s6KxkJPo0Z>k}+fc1)e$h7{|-R?)8xK}=&CW1F7XB>7!EflJZto?Sq zjkPD|w`%PIMUQ57FY>l_FAj)4{lxp$6ke8ptGY599r#!iBq0z`Q;BQgd&O#kb<`^? zuSYFOA=&=~;LiK#LD*B|6IUe_9oB%%Xgo!?XoUq1sVH7dtBHri=(b7^^TviIoYZcN z*;it`t=*tIE8|BKmx+~j2#}twzNSfNVgrk(Ff~Q@`AtceilSK&a-lR8gBv5&VX|tf zkec{EWBdI;t>`O0?TrBJ35^Z!M=iZy96W1B#%<%eokjb~AuotZnZCRdeMs3?${%;9 zHVD8(+j(O~D->i8=S)uFw$ll&b&o33(Yv1_QO=G4W10Ep}>T^^x2;TA9^y)32j>4T} z@Q+q?=GWBjd%Z!*eSfse509x~7PsNLSARLlo*%8g%g3YNNDl|pl;bOyl@a zb@TVz>tPekOOO6;Ep1;!c+Dc^__|esB>-6Rt^RdH0bl)9Pn)S@9cjGT>hxVkDVJ)* z@|g*q$I`{26J(dy=GO66-Q-&iWVk!&OcuOdWuDFxlW-#6<+f3o(|a)gC5GLY&-vm+ z-RM)$3&*2J55=YU$4!nKqATr-3Nb85wQ*Pks`b3J`ivcAgb3+-{zHZCbKG zcV^v4SQu$?L61lwSwxGt7L8p~DN`as-@;oa0i}ob16`-(cPA}dF81n17UIR-mbuqd zgkfFbN6lygcGg*A-#4epS?7mvFP;EeFKees6_m7l^aygOy-E8M7Gx(g-gU%a@Zb+i z?rGiST*s8WcG|}M_)8N4&zo0fVVnPX;c%BWh#RQ8St^Itk~>0hzRE(XXm#9dta_)rdpdtE_s znde)cNXHkLTkY2wtEMtldy_2^@H8+1Jjq@IM(}>O?q!172rZ&^-WFE^Ph77P@y5 zr3UvJ2(u~2?#g?9o?m3`D3EBy9!S9t`vKd_I$H0P%VGq2r^{5MAZT<)Yx>=*i?k0V z+>urTZj-lq$r8TQ??GYw{We}%-#1`uRDUfXy|M#KiBgg>Mu@2u9$J^nq1N9rh+s}C z&epQzr4L$J+TLnNlU4Bq(8CmNigWoX@ZYNtqdA3nD#Dl)E*R=XEw)`_C#Sr5lbJJ# zcxZv&h~^b6mp7614a@2{6^&8Baq#%D1~fHRtA7Cg&yt@Fokr zlNLD&OO7Vmf%A4$8w?^YdIv|(J0WD|mSxdePlZv`b)@RzwCHF@S6e|3yB>u|Di|XV5yL}90OdM49iuBrNz;1R zwZMXBYLt4Gt{l$5;Scnh^m;N7o`}hbaBh_-Ul{{xM6w4ujC}kZxxK)_t9%UP1bsb8 zE6YV=_C~Y_0}TRhVpPZRn-PJ__JAz~{h(+gGad~p(xHXrvS8tiu&nBou)`nAd18QB zWMq0Xf;pi!(&fkkV45h->oA%UVoIk_o6y5tWOu}K@MHXY-!AoGgm1RGajqOXwx_SY zeE(eF+|5Gm5}hdCnd}lFubpvjFZ5*v226cm8 zJ5fU=5ipPn;X)-mKM_G7B=nIif zDHWrk|E`sBMVo2A%AFb$OP%&tYe*mB;)WSg}R<0~JnrT!fF?A_Xw~Z-QXVv1pTDn7a$x`qd-I$gL zLorVR7v9q?>{|kU`=8t^2XLn(8xSin=;;{P&@+>~ojuQo^+V?&u(6?U?6*PPLlmfD znU4qtkUTITMfEuFb+%w}kCbYNQoXy|CW}mrE*OT)<@5QcB+z=-?g_WU!9D?oOu0E} z4jp27S=x6kiR_FKl3l@jaDKO>iK6o{E(*qRaopg>z=8M*i5zZXNh`z2eCe`&W#mzq z!f^;HBS1pYe#*CoBg8(@c;Q|}HNdfTa@QQB5tiom!0=9cBZS6l+)ikhKB^r%VjN2% zbzwS3BwLzm+m*Hy%Lf6&<~yxpF^DE~!5bb8pJe->6V|YSgRf2st4`ugmms=L zm@+Ao2kwEy+HaUU)kks$IeUZEQPEaE1uxa90InG>0P@j=aqZWM_8mN3lE)F3kiOKm zLO!-&#}``zK@o3uVht}&bfn8LM}i6W?^M+rG#8NP7eA2FJznmZ^+``YjZ&VuU= z+9%j0f8IA5MCPMPv@O(P7(Es3W2(jiH+cjcocT6&7n$;6-^!-8wxnn#_B4j=FZOR< za7_(T8d|(0vXf(n^-hZgX{&bbZ>+-G>P;4vcTN+@c1h{>w5|7!Zfsi%@ljAec_#By z1gubssViWsN8{N55IU+7uN7SB)#ey_47<24dw&_52J^n0F01$L_>4y4%j+?t14+l+ zMcTstfIZ!|CwBV!+hZ=drcPYoiSET`JAENG<9PHg%2F9-35oH@7Nk-Q5EiU_RGsXm z)J^!$7a?1wB=Lg5jwgEbRoG9hI3t*G( zJT^%tMN@_=;!gj`JJz@GljT5*-E0a+x#Q84l0o7pXi)7P2{!@Qy$P+xmyfEjog#z3 zX_q{X0NaqX{z#gKD%6i6{&(-T;CQ^ya9Lo~iKw_c8d9&JS6?-g4 zH~98Vt|OVdB-6t|WSsFiiBCMhk#Y+he4v1@NOY8JbQ0qNo640EmYz!k69kUraWgIe zEH;W{+GbM|H)TH834 z5lG+Q`&=y9HGkWaH#lu20uk>us64KC>^)%9+4?fKAJgX|a4y$p!cr!Bn3b)Lg0Q%q z%EZ)zoQ-cG;!fc3o}yimN{5^s>DgrJ(J`5-yi%rFVr(S@X>NRMHWX_{mL>m%imU=2 zh~#wEEEu6&=19m!;38Nh1x>GzCBk@5=+n54g9Gn`!YiP^UbzR6Z0m{#z?~u;akf%m z3Qy@3Ht~?mB!*>=1j~^U4Y@qaKom2P;NWOP{89)vsFV^p;?r2S)Fmhyd%Q`xIH}ih zQaL?Qanbci95C92%4$xGZlyN^OX(x#oHJaq9fj3^zfhS66Td*|E3^8AWv{g zJ4t(Xy^9c8s~ogVyr1%n(b2)`E#%m-7K~Py3$u+#P&Z}pqquVtxWIsb`0+W9@D$45J8tybtVW_Gma;5pT49$QJJ`xWm1E!7=?L!iI*_a zp-SB1`o&9D*nm|VMla1RTG{CCx9ucnr>~8fZeEY7%42rsZp^e&HT+UNR-oKd^OE0P zl)xZq-k(`3{!*MLPmG;~-^pfWe_fLX2vezK z$8+QOVA;dJ>tAaiG2KgU2@P~ajEm=YC-i(*W$;B8JB&rKj2w%8vGAB-z(OCd6R4C5 z;l)%Q;VxQ>yT(`4a(JKOhdNSdDKfdhCyn>O3?DX7sb(Oz$QEV5#s%%RD zU=N*IL~SBz$++*v9jy~=W8qG7w(Gr-b(BWr15!ZSd`&9Y&U~NfZBo)wKFQv)kj55M zoo7qjvFb!03F}%;E`D;Lj>s0-NPy2^WEb^i4UcpbYU7KrP(O?6LfNzzkAp;Wla9{F z)32a>KeSkg?xvJpgguY~Z~SDtpKvH~;S#i(G-4yx7rkJwZU59GgCWH`QNw`38tGx8 zf?sY#b&J#v6WeGkuEaz8VO-09XH<=eVEO;t10H$&yP=1B! zkmmxM^=3!LgfZ%e2R;Gsu?6t0%dCM4K1mbW#k;-BhXR}1eeYe2T{Y32OLnKAEn&qr z1n`4}zu!(>jmfP^tGGIS3Uq26&h38OdyJ!LZS#hTHY}V7A?5Rqmq%@Rj0X>k+N=z% zEGI+q9Ru&jgj|s9nY=abl^GdtogyYr2PxTm{N!RvgGs;LPf@X8_r-*?FQ%wg2iuT! z8Aly^j%H0~B<4R^~Md07JWI)C#+URqBQdXU2k{lR?wcq;+_FJ2z`-{F)2689=03qGnH^E{@W zO8WRdJ&ZR#>izl;#W^4;lTNhN8D7RWQGvVeQ<1<`tW(QDaBfjLUtoF0WmyWBX@ZX8 zc;zDO+U?Ec)?(686!bmbJEsehA2n8PTlr`;tIG3vpTyrWgvNJaZI1*~m%sR=3j9P2 zub3XhMEgD2jvO+)CEY9hUNl&~qSr?4N37K8*!rPRgDJ0{oTUKK+PL0854=r;sY_dd zbz4sIqwR%InUK?@d9KBw7ZU+6fW{QH$>jGGc2SbNRGn0K)#}fmkKxhRc`Y08X4Ck< zR;WK)bW4@u-@|CoAe_9FpM2k*wl3X*h9I#Xr3cfwbEk^Yb&j7qH3;XgoKA(Sx^Mg1 z$P>1ZO;2w+3aez8>E&|G)eZ}~RgX?88~tTzeDoAzp8vnqyMQw<3BWWPJNGk)Fc!KzOaX{aLcA^{|P*)|`h zVlBCMt@uJ+7mgH1_=*fFF#Kze+)CY$|zu|O?(2V5JfD< z%ccPmJCC0L@Ls{(;mu_{gtZ%B7SqVngvE$s(23SIuvRaU1^Q6`d0zp>J~6Sb<%978 z*J1R@ZVHFCy@+?#$5b6-03;XSv^P0bPOuhkEBKl831D|0xG-LnwBJTbx20Ph7*-_t z&7OWjH)sP@kP1z zM9-?2%&z%pD~f*zL%Zo&{KO0&D`(mXZ?k!kt=%*8Ho7y6k@IoNxi^~R45SFu?6BPv zUDIl2<~B@tAMjOTcKCKno-#AXxu1P>xK(AFwA3g5gzjDV0jQyaqP2 z2!VTgMv|We4pQbvqrM)niNjeCkGt`}J=v7=az-Z0VfEgzfleX_$4}snXeaq(x)mg9 zgYgoSYhHURe1}gY+`i;_m20}--A&)CO<)#D?MgaemB|04Ixy*~C+BEBI+Xb*1YOa6 zoUNB4rZhL0gG0Kf{--X}Y&_w%eY|gZjeR6I@2X5jX2>468sq3$+OK0G*cJODOpiVl}@DQ(2?!Cb9EWHR&fJ z-tEKDl7BmdD2h4E(z>*}dWiVIz_vx>%#S~&8V1|?yBpDT*s^WZKi{m9-*G)58I{Qb z5S`9k8i{JN5V)t=%{$!`*jj9QmG@CI30E{$9y2QpS&`mRmApQ;M*@{6YE=;){pEKI z&KeR4{suMUz`zK#yyk?(wthwwOszyRb5R6>Hp+OhcoLs%k{RnPsy@Va-AN+9@pu!` zZn=<=pA2KCVH*fp{rIRQrkZw$1-sjn6o7hK+H*pypVQ}`*JjIyj^yIF5>$JC+J$0l+x^n7s29AMx^Snevjbl!u6NT!W;j{q$`c^j zCH5zAlZty7*x(#H4ICoc|j6iWH*D72&W zQKfH8fcFd$LK?XFDqt_BLD@}Dff4{S^uN-9r~zX4TXiJ#I%9<`edwdB69STs@c7Cb z(fRP7Mo9xiN%s@5_*aI7{M?~9vO&ZjX>AlWad_gQCiPMw!OEkvdz+5C7V{Hm!LJHw zMn2k)j&3mp!(j-@5LH!e;Pc<9N*}XJexma4GpqdwUZUHTBEgI-x! zfC~E-toEF4Y=Q*TvAb--3)*ml)c7?7ZTAA;Uz(TQ6w*N$UU>o>2R)Js8hDS!<41`F zW(Xcl5gO2zdtx?y(YO)j63_sg}@+!lFRFE8wds5w2!3gQc`lnf+}Y-cw$l@ z3->&9Ss#l~1p5NvOMAH&5^8hlrqdQ}CUlDgNIJfw^e)nF9X4AyoZTVY#1wMwJ5q8p zU26>Nh^0^kk8Bg~8^g}Tn@kaKh`kjFb3rL#?kp95HGRe^HP_b1zu%!oPl33g-ZQ4Vy_kaZH$oC7aBt_Cx&t`aWgnMd#fi8`Nr*O&>;CpgKPZU8NZB)r- zLylo-_nvv2hFl=7_fxgtptp z3N}e+`H4Q0D7f6T9y~8|(6n$A<5@B8B{7EyD(XQVZwM^P2x;*Rvy(Vvy9tFm^G&#% z2}or)a^t(}ko|Lw&ZHVl1rsYu7vE4sub_B-ACLLf@m|OzXcPfp3`m9%p%_jW=C0&e z6j9eFwUROzkm^+t4$pBQ=<$!xv&@d7!*1xATaH$3DhjW1RQFQHmhcZ+mJ_t{9FK|Y zmwAgv5r5O9IdCwFLRwJB!jb@I)@P=qbwAte!!&l18M5f99;s@u0WVHFw|fA2bFdL` zL#Q=wPRB*(33Pwr?bh$ zUod^zTH^}GklMcQP3K@{`&p;86UlN>coal*qVLlnf~6SBD;OKW2Z`Wfipnuro#4P; zNOn2WeL>TO`+ib+LwQTeaBsK)%R0_IJ##e(8d~R_kcP7tZdZrK_41M0xS|mSfBu+H zr2(Uwc3O#udJx*L%bJ>ofqe`s%MxXeV+!?K_PJ2m_EfgOvlpd?NN=SqS>#QPDs6a^ z^P9BPHVJ5J@FE;vc4n&i%V#;BCWgzQ zNne7E6Sc9cnQe#Dt&G7^4iadWxnH?8)wzk1&6ZyRt z;T<8$A?|@95f_SJDY2_E?=hVya-T_n7*Px>f6oOXk#gYO*ip_TaQK2bh<-Z^_48zF zPmy2Gi_d`D!j5C%=`XZ^4aLLX0=`+>*|Nr6frPW9T9npPL;kmyxPVwrT$z2R*XOi`nM%dH4 zq9b#q*1*d81a34UGQ>Fw+c?VYj`uW*ts~M?@$Cg?DX=-w3IXdxA<7mD%3K4k)tXOF?d7l8?qT}67v2yk6O20m7tx!9)(kEOOdtxS#e}YIsKh$Qe^Cq4M zt6J3(c)^Q;XQ9BkbL5u9R$bPX^EV%*^zn#}Q)g-*n)f0kJY zV)=^~7{(KiXxWs0Z~Z9X+6*y-l!u`j|3DQdQVz3h4sjXzbl9Epb`&rcVzB(K(Z z7x`$hXdQ4$f`byhtixv*#Nnj(VDTPZTio2%m06Gt{=E&#_&^-)^*m?y=R4)aW`9rk z+IrWx{rJsC5+1sP%X~K25gbjoPW@B*OtlWNURl>d0bVD^;sq;3NV#J|`I+o4OZy_2 zROZMwo%0FM!eS!PgN6?E#Nq8j8nkq0kOrd2=|+xIG$6@CVF5}QjMt>ANdV_2fWYNM z%Y3+!iI)izVw^1gB5Y0LvS^vyjR+BqZ9Mb6qbZjv7u?xJ{;vh|=GapRlQF0deftRz z8s;2G)E`^xO+(iy8vNl2Knr~$tg84F1Ee(JwLfIg|M3JM>%9-YDw{-SR(*^s$(MJG zUbNR&-J$RAKQ|xQ>VFmMlo$;q>yPPd5QIUX`n`FvvXtAlR{LU4%hB7G!u9psf8{a4^a9xU0ILcGKGSDtm=AH!m=Q{iS80}ZG zFP*_3^ag!d$`Zuu!g|u*ZW}7{sY9Hq(5G8;@zn+HUn|3x+G~D~KI0=$K#NPq)C^DcRg!-nN1E$|>XL7}!4q7kz1tA|d$9lkPrk_&Hu*OA zGAC@yB8nIVKP*DbHKR9V$L)@OVLmavrqunaMUsDC1aS#iJ_mizJZNowQC^N0>>12sAp$ z+lte90y;HNGZHYxXHT(Rpf^!Clc4ZnbLJfQ@FrK-+#OBtvq0YWnRKK^n5!5hyjvY( z)t5T5_T|xhAi=q_x@C@9WCEyimJBsbysF#x7WOs%5 zd{{*HnH=8RJ?r5uni>1rfFF~Tm$THHkbzh%=3cEj1nTrM{uS$kYxal|JRp6mbFbcK z)ys2^6BgcW!v%V2x%QiV=&Pc;v>@~2dV@3mj}r+3O0TTFNzAjz7BpE(>I{p8pJ+-7 zq7UJM+@x;~grK zb}H4f?yA^rXV@@~<)CPud7_nurH(YfWkfo_>=>A0zo+44cEn_erQM1Bg@85as{~8! zEZ<0esS?L!X-P3dF)!=>s1Q*4;W1tYRgZA@0IYXqZQ4{4sVTz5a2t=FmC&T9 z@5~MILvIH|UyrHH9UZ&Y8ZgK#9U6@c<_wRZ@50=^&)~^+&c?lx!98SY5#C6I$lkcU zdx26}z@T=C)g0vD7zNlvlmMb$;y>1mQOk^|U@!L+T&92Y!Ly_6vU~Fe zzuyQZ3xV5gf$C+1&V!SFwN*tsayPbBNH$Q_0H|gE>rtxg5w#}mbtl`-A`9vGcjR{v zW3IAhr7On6wZ6sFmrP^<>y+S1%52oBAmMVho6c3swNTk%xGjt*)7l;fgxmK=`bp(c zhgPKR5-Hnwd~51P%V4AedwInH&P5lFS7Kz9F2c7z_1-}SL)`-M`AA8*&qhxG_Ph5FFWR|Gnk9rC z9f*DnxE$|{*D8HfL;MIpfJrURl3M?46b7e;|6&mPTCYOGYI`VI%hc8ZV#V=th%vfr z!wmmAZv#X(uaKFyHDfTRKh*N(Gp^TKwxFXH-R--b2V@gd!7ibV`q@#v3ond}1@Lqae%Rq@Mwtp;lVg@B@-$HaH$7}MXtJA{18tdgJM&q%2?m;5wL|8w3LP5g zB{vhP&toV*I?WoVn%6&EJ|r;`H-GIpWA4+g#)FxqineoVdB31Q{F5trv9V%>Q3FM% zA^nb1scZy4!O{$J#>+-xl57EYUM|1B0<*A!`z<&U^)|j|#j0z?fpM8|%Z}VYFbTCd zZ_GM&sSUXvpSx^wGcZlRM(fd<=TM#P32+(eupX1<*ya0R-R)5i_LLQo?i)vQS9J-c zF_5w3?-qXoaG2s-yNy)ZpU6J}*ggkc9i>YPt|w1*b|M?6{oG*bWA+@)mBu&@mfExk z4iRx-mf}zGwOaEA@>DaAyn}tP);!2+4klBon&b6vC}Z7fc-S3!9X1&LF6W$@<(?3B zfxPz}Jd2u(>E3c1QGGR}Ewai6PYma2waGlDY_2{)Eugd-$XIP3Pa7O=J zBl51YLT0`=@eHuOCaT}UOPpw3ESn-<<b~$JV!ZS<@(YG8^N^1K)CLX1iA}9}8hXdP| zyd|yT8C)WUR9pB4sWeb}bbDV<{q|rFiGW#!?^Q{Tbu@?#BZuz@_~^VB8tZB`ZAZm+Ci*A#9TjTI<^eJ8T!ZQuS+0Hiou$NZhdcMM+SYH^HsZPVOQ zd;<4-qPpy_iasH04A&!yLvHVk#UTacV0mMhIq%-9C5+27r^>{GlDv<#N^4~ks@z*S zXcsOEU_Sl(o$2od#5dE&ydfhj6pS4tY!A@W?9v%3O|K`k{{VzCpZ=74M>uF_VW+Sl zAKx{)nlRqtyrcXloLGgocJp3qZTqe;KH0Baf0t0}T@ZX6*&n{p1Uh!kaYxRy+JUl@ zigYd%uqSHJmb{U;#hP(m9X+JrX>`Ebk?3o{u7g=mG;$^kEJFZ$bFZOX<%T|$;r{^Q zWDUc3&Co<6@e8XXrbhn&*0IkUjf2JNQbZQwFkUMZaD3P}=}`Ec;j-cE=yL7y)D8f# z!(!4-N~1Z{-D|j(sfURikx2qJ6su<^+ny_l;ah9LSn#Zw-SClLadC6R1Qz5H`wc#( zwY)mcD=S2TCK`tAk%GsmrT7=&8}2=N_Yp;=82r97j4G4Q-2VW2^gb)_e+=QgHdZrB zEb+&dVnAJ3?T_nOWxn}JiZPxkiyt`qicKG=!dP5{P!{ zXaY?LIpCl`E#tk>F#}ukT%A9$rx!(qW4JZW`OzPW9 zAK20^>yF#gqY1iX;f4q_>v$w$bqr}ZB+?M{Leab=ZbsgRr54%(Bh21V!x%j2%cc>i zWViDg8E0hbOC0CYvX*4JDMXX_gtd=M2nVU$niP#B+DkriHv^t)qKV~j5lK9=&{eg) zibA=4<rS=;;jyV6rpjxLD5)~|$Zj})>Ow?7hF zK`)0Fo%t3Vg%Drb-@+E*R!;e>a@)3P#V#V)hM3OV0ot6+wH4q#jvKbr@#{=ZSv29f z_Mw37Zo7kudfrM#9gE|mfW!5nGi|jX8bviH6=(x^@nq_N0(zk!{{U+35kJc|pZnMP zij4b^I@7QM^38NdS(+Yi_5=--k{ha!e8($MT-_T9P)L5tZrUcP~6zX;mSO91i1cP_NrT+B_-ry&fzkJ zc5cU^uJ~<|E4d<*W@N%2T;{p9H5!*;I6Rtn8tas4H8+dlx@uW>1Ra#r>ogYgWw2_8 z@y#C@ejZ~WxC9`r0QLp(9(_7NZ^Ft7QPvyp4KiUY61oERBfKVl}QL| zdHgNLowT3SQ7!Kzw;<%=rr%2q?Xb8}iQ~ay2QmHYR;^m>^s&;Hs}DVyKa03*g5__Z zcFqB0&)ARr=T*Etp6AZRnaoVNJk9~dYWRflTv|q&OR?B8bH{3jZ}86*f?xe5h0DeV zm6j5D)j_s{Bpe;3!zFM#scd86w+i82Ht_)Ny?AZaX7^$O<%EHlZJb{=uhTO`c-GbUkzXUXT}!NZB1_h)jh)!d^P9?spvno zeFJZAWx+UXRyI+raKtdG2ITiXrn81Mc5=#9!t5$7uLt4r+1SFd#Tw~EUPIUZYYp*_ z6VYh4x`}y?r^hfe{p&@2cCkY9%)wPgragyh^A00^FYjcyc|g>Bpo6gJD=ltcPaf6V zGRXEr?U4&af9m7@;AxDck0grT&0OoN;Tm`(-huh-{u+ zso>$LL(NZImB&%b+Pcibt7&j|Ana*Mki=&=q3x!QpvxNR9%b9-84XEA|NL7)3 zVZWiGC7>VbZ`TziFeE?*260(SGF=TXka63pVTml?r4&E$7_rC;O)re788p@Y8P0Oe z&$VGGx7kQjms}qxskW9aCI`$71qc3xeBq=PcxJ0TI0cd$OVctg-S=2 zL(kTV4k%-magS3)MP?gv?_Fsmii{;ENOw*4s_V`z;hzctlhuzQQ=LfXy-;0%CnR&B zJ9KnQPqH@0c#Q3-i6rwTrVC)}oK#2#M&hobOvX0pN@m(;%R~Wc2TFLh&rHsr>`&0E}dXA)H$m2e=?63!^=mmWIpzo8xY1l>cKeaiUf`@!{>rM;_=dk5d zT-be&8w{Rx$1K?G&YI7*YnNfq+|kc|KqhI~3O#6G=W|@dlYn>WO0R%If?4 zXj)nEDR1jD2YO0uAp7u)igqFA8J-09G-K`;JDlTvLF}!|^J4<2>0pf5mK6 zbtaIx1deJ(2t7r0;?>R`*UC4;o_M9YCN?Ke^7oZj{{U4RDU9rM++g#dEURu3Yy5sr`m-+Iui_$&+gQ#dBGcG5*8YZ!b5ZE>;W4`W)(I|t&Bmx@v20hUHP zA7f7x0Bw!yt4|MZ=h?2F4j6givV0KQ!k|TK5)bwu6(}-;{@>cG z^~;Z#Q-jKJmd5+-TDX$qen}H3U~r+m4P|(poHq9fcCji=8OUWAKl56bX4}Im-Sf3p z@hFVY6?mI$?l-LRKWjR)vfCt|L`Atv%SDk$HC1tNQg||V1pd_y%HZ(+AZ^&@2~Gj* zXdFu9ML8P0!#J;$%czuc(mkwNYRR>9`YdfO43jQS+KV6QSg(qBZT|qpKN`nnW;}?C z8E&1)_8F}w4rwF=#EkAol|^YdHw=q`TFG%CSud^*sipP)QR!aJmo37ZIX{t(&un{S zt_{NMz82uIaQihIZth2#N9s*0$XUxj&CqtJ?Q~?5Q8{jct2oaUUL9udtQp*40q^~* zv1%h$x;(#6V!0H*7IAfv{{R6TpanUQ@44tJB-#$%Dt@%-r4lKm@uwY2g~&oSRiSn2s4AedsMevk`^0NGvs`n^HYRr8fj1f{piuE zq-G@;(lR@m8-hW`=e2T9Zbgo5!jsiS45`!`I0|XSg2t-bveS|#l;wuqs#0=w5E`mw ze4^lbROl^&fsiPWz!Yz_Op4Xy14!GsdQUSVEI8&fMFR$o6dLU!r<1lZj8!BH@cPDUImF=6d8Bo%HoYem zLB`RH%InUA`7_L}0HTjXer|PhZG#flaw~}?8e64kY=JN-s+00zru>>Dcw)P8P6n45 zs5?NsX!hW+2M&K~kKiigqq3j9Naq8F8-@gav@H2Z^vx;bjJrqATSEw#DLGdInB-_) zEP3;ztx7|blz+EBsG%wmQRzTdQgR$NdQ$5-%MV~HHyQ>VcHI3btmo^}hGYP5*O0DO*phwCDy~E9BAq_0 zX)~*?-RZdp(0=rVv9~Wy^sC?pmH=QHU>V%CsnjSJ96HkJ3p8URm>kEo7@X`W0c1G@RMQyk452&vMo)%dMZJ+m}Sn)fq9O3NdWRxG7PfuR-@oF4> ztbg2-TV{`=#7e_r53!_6O&Yw+**V&s~&2g4^1#80JPZ^{I?*E^XdT0JMH$o!6~t4-AM5 zs^b;W+AMM@3NUset55uHc)H0h4hidV%apk?_U{CWREL4j=J|zYz98V7P{`L>1;wx% zJVzl%sOBqj{4^`LUGPpQXtLT#sR>@=p|0F|XDDr%&7H?8q|X_=a|#l`0otjZnrR6& z>wgq{69*l(d+rj84eA13-F8_$SFx;r1^7X)ZJJ5n!*XyFkskG%(#jH}&Ul)1Qd!Sy z1+&K_MV+~|Ms6*0!nIFrF;yIt@-?ly_!>weEVFX2Ipd+>ylX<)@Xr4Av|%*TEvFU9 z4*L4%h~7Qj%!Wx{nLo7}#w@nHWS&(PD9o||Ii7WD5F!A*E1=D>t)22Io0K4($1iGg zolC1bj&v~KFhBTdG6t?pgGkBF)pZ0*0&)SHcBqzi{s=QaKgvI?OnFt*7S67qay8AC zYoVkje~KIOj-b~U0FfByOa-OcM%8a)!Wr<=c^B82sD?K_dPb1PDY}XvL2Ax*9m%V^ zUK=4$NC-W7)r1yt!T^nT??uBeI_rv2RF2$wRKG4r@z^3TC(L`Alcz|<21})jcXd(f zY9zd7)iw{T{{Xa5W`8={{Y-+jmNG|MwLvBw$5sIBPXlG zyxDfdA;F|9q-P?tQt>IvdEN7j^2IRTv&OqNrtWCoWcASSjT6rT6PXu2^;5*O-2vgh zE~HgtlQNdUB=Q*PNvcAMh0fcZ>25jlYb7OA8Y@`Sc99~`q+&H7il|vMi~+TD zYo|FQS5Int+wA9#X{TwI0_#%{xXy5LX{*F~=K`yTlc*Gm2Z{mTsHCLIdW?_BDQA*B zgPe5-aZeYFH!-Uz+qFd(0Dww^-v+zILal`&xMMlTrUavXr#OIMjBM4>-Nr~h8w?)# zsMtmuIIaj4zF=yWe3#g&*&(l>QMRV^ez@sk^is68sHB*2x1y)=gGGKhz6a=o8RtVS`2DezT&%ZxZ)!lh2A zDOI*C+j^Rg~)n9&D_ z#p1!J4>Ircs!;k)!_0YhttsCjfcC0cEyP!BxERhrJwO|t1A4f*d`{{V<1({>o|sX@*vlw92bK+MV039>l~@qS2;A?rDP(X~Z!ReH zE(OEjwHDDVSqPv3%aG?=Xa=1-0kymL$ErIut;v=d6q|GH zQOtz=wHJwBt)-~|g6D6oXGff%+oTnA%2UrG zRHTO1VCZl`tk=f2vRR1u_YKOVhfTr`LAoEW{&THe%sJdtDU~iPu6TUd@a`ikzeebO z_@?7%ZadNC*S{FtHKPX_NF3|UE@o?si6xMd?%Ij1XC6@vgN$K|X{@vmc=OJsy?uiz5FG{;zF@UO|0muqa#pXw59WL*5$hO=v8&w5Hr~YG7M$NgY5wf0QsyNRShQrE) zJk7~_dYb5b9k(2D=Y(2M#H~1V9wo$pc2UgxR$BYwTbtPmz@iAcW9C0vrMS70?r#!i z)M?Rxm}9+VDYlO@HmXv7-VlEgOjDuF6GL+rF!N%^<*6j0;8(zEGvEGGb;V^bl%Lx4t;>&m%hiJ+p` z5@}S9nW)JyAQn0HqX*9|g=auIX;oxWPs}q=?^H60RPHu4rr{P5U%=teHj|C&T)zrh z$fN-1Na%L2Zx8t}B+cWEw3;$@Q)V)R@6M|}B8-%Y{{Y*A_o+=BmUoW>?9s7POyeu! z@VMVOA&4WlD$f+E;LFFv%iqhXfAQQ{{RYKE&l)ujx=%OM0__=dvZT&*+&$L6^<|l``6EraVwr3dS$bn;*?``sc-Su z8)h2rd_uf~jjOvBr95iQR;m+8P19didzTR6FZcS?ioW>>0uyMv~6+xd{f9xXQ!n69F>!(gYIdYW@;2vO6xJfLDslsGtAT~n@B?=DFIsp zsm{Wg;*sTqkiA>0Q#6;|ysOb_+lFviZ*c4iLOS=ZSxw2(GmKoFM6O6#m7D{merBnb zY?vAs13ULMrF#g{%)=T0xUBlLR?g8j%nfOZ3Ov5fnQ7iMn>9ACuHA7((gxcX$V#0+6bFA(+L)o3o(s+N2_a3oynu1GNoC4u#!EGyKMiTm{lF zPkhk8W0G(bZ%6<;1C<-+xujrKw1ejS-ky~88n(_9e8!lC8?IO#1NHQyph9)NK~3TEqG}n2MdpNkE4I%>W-GBvf;oyx20Inlr4;G_F-P-N!@fDY!=xuEx{G|O2S;1#4&7}~U z(D2`dWtoFYFgsQ<(?`QIcw+i6`I;lKJ5iH~%Nvbrk=ngoJ`~~44vFp6y?GzKRbPLH zc5;H&v%F`sjEcw6lwG4Yf=iee zJ@*w}q)4J=%3I9gCIUGRCLL3`a^q%z=?}YJA6&l<@ zA(GYpS6?#w5z@1qREtW;5nM?L@|=(5HDhmhvYvi!#PX`WGR-DgQAz$?tANucml{}g zt~ufpgGZT}`EbF~;?4WdwKDl0zZKP7KAGT?#8(}JvNoSPeHkPZ{uVL-Z+ zY=e@FQ`xkr&%HrrGDrtfYm>HXGePkDVFS#5cGy;mC`^YfS?(I)LaOwwj}MJxRc1Bl zW4Ogd8emJv>w6HwmTPr^NjnOiEU;R_WN8&uM&#BTj(kG*ZqY(Y#y?tfq`5jhN+NOF zxaPbDBj#1ps;LU7Y~xd(tt&`f^q?%n){}#9Q4v}0ms9f!dRHU4x^Y;^L-=6X}{grrF2U3drO z=6$KJ^Jlr_D7ht8GIDvJPQsB!36Oz-vih1xL(zOZM~v^Ov){Eyd0D)wpaZZ2ku@C? zPFU~jL>W{pdA7^#)X`S#2Aw2;50!sY-iis1Gq4Wak754+G{sSZTjU)5Pik;D23I?i zveRG?K9$ZgarU9B6*~U_G5H2Ldef8xsn5ta_4cLb=Wb{8p>QFHtXLo!E!K_zVij|t zdiOo)hs*pi^S90E=}+Bo7jl1Ep^wrV%DnlL&^LcnsNNrQ?o5_~;64=(i% zP8V?*-3@v%LCCM^OlxSLnu>m*J3bFJXe3T*XqKqnFxb}qUK4L8ff^H94jb^aj^U=|+O_sPE(>VaN(!)8!1+ZEUjE#s6Q=1^)--kb$8S&-sC;r{>&y9KR_ z+dro3_N;Fe_zQ~JYIx!oF%GeF`&Y1>0YIAO7#CEsA`eqp%N$vo#};@raQ+&6ICz{L z`GZF-F z&!yt_!I8p}Jis2cl=zp1%N%Qb0Xj|``gg9m#ZDWMt9E8?6vuZW`qb_jhneC30P@Dk z^~Ti}`0JS^9HdZbY^Lz8BYwnGBUH;y5Om!5MDqk>RE{Scj&Qq(_hCj$V`*@2ghRqv z4is}E9RC1XtQSu`%+j_&Y>ZSn?1sZNNCfg=V>Q-rG>@&ktI*M5v@ZJP7#$X@Q3pYa z&Jgl*ZZ86IK04{JU z9Gp7dNQ#K`gp>fOtUr= za`mQ9aF#Z@*lsohxvb69uX{I%In|GqdI}ul1b3{^$Bk|6gW?=!;{BOHF~T`0>+etk zk}#MfCg1|9nV2l=4f3)ya-3O zDZp^@g-j)L&jzb}Uy?R5lrFLYjAw88r6VJ5T$FdKgKJ|TIFd-g7}(b@4YeZ?-8On> z8&m9CU%^U8oFb9s>)g}Sg5{6MqdxU$ybOR!POYBf6xp~f&XrWrr0(0}CaI=LS_F>6 zZQSORuxT)-$h!mkny@@J@okPG21Df-BVkbFv$;aC_!49D5W7)KL(?uwos@2O|HfN=AbRX#z;_wH$`OtOLj)5%2(FCDmC zVV|G1NjQcDU=FqzQP_1f(j5sY9w3bmkq_Od-|3-|w+ph4=Azoh@?9X)HupEP#dU{Q#wZ5?M2kGjtsXYN{Fy9AGG7!%trH^~<&~ zxf^yA1`P5nOUZfTsiVy2A_N=$azAPk3OxkHis27hnV=fs88xx%5R6$n3PWyBO0h^f z;*202sGup$h+)c@cy30*uY@2Dl=Y2iIE9(B!z3KDM7FV+B~y)otsjP8uGfu@-O~vAY@JOP?#jWK0!l@EZ#U`3!T|(m_#W*^iOeg{1 zU{Y#1rRFF%QvM#+Njib$_vt`B3f?Ki9T>q26=Cx*{e@=d49}dFJxMh=_sP!wv<3i- zky*Y^KP24UmG2IB=Rs(;2Oqt=@gcu=UI4@#FDVMi)b zc5`IP<-!_~^)(?A(v@S_6Gl;;u}I8l0MpSK&H$$*AOH@)bQLlf`2`pqX?7tYfG8xL z>QqU~AbL`yS~HQo8YR^E8)JOaLqr}k7I;jIe=7zRlQIF;wBHp-@%%kDhVwJ3KOd(SmcK38m^1uaD%RXw8MEA-ynS|m%yF5mZkhOn8P>R)Ot(gI4%w9e=z&g ze;prv{Y_PiZtg3*D91O?u&3z-qQu^=cOsMV%BP>$)p_ugy+hP>` zDG5x%Cu=(jr0d)RD;Iq9+;Q z?!y-fta>rUPh0DE7)em=+!~QMKY@bP06s-fdF@RW(c@^rQL*xjQM^PW<^=TZN(etO z%`sCzj0nq(3y#27eibxn@RtM9q^TI&6~yn%5lVzcYgpU`WKuJbF-ou^@{N7*QVu=+ zsZ?qlvF}cRjUBWRwxJdeaY(jsf=b7+=6~j-WD|uM^)%&+Jo0FyJ2q;V=}!tMx@&@p z-1QDr+MTAC018azkR05p7i#Pp;>x3QK*h~9=19ioq0f33A$iqgtu)P?kSJ6Pv7d;I z!Ww}k!@n~^L@SWg*$$IaCMC%V=$3uzKZZfr;-pFoKErxzM!;^Sp~$rni!{;vvNzt0 zoKEUL&6c({_Jd+9qWFeX+18IQ7yNu{7~2OXs2ynbAL}04YPVUQSo;}b_&5~J zBAmn$0R!CEW2mIhHGyQ$uca`?NI0ntoisiB;*f~!n;HWq`;Wa#V0rZPrWFKoqyz^; zf&kj1yg=2HAQTsjdr|_fNWS$FSlA9#ZzMgcB(V|*#%Q1`V25471Z||}?NMV=Sf@a0 z-p&)_xW`Vl86eYe!yR|2@;?H_AEilHz~7w}BjlhDS};s{)ldNmlaeXwr#o`*MG2ZJ zN84{&07&8k=I2sl0D5AP5GdUH(XoNB13l;gKqsf(i5?Y(4sp(zzd~_NRLX!m{ppO4 z#M07BRF3hGA#GqW#&J|v7yKs75pNt$iL6#s=}{VJx=WMoSA*f{rT+j@NR-sbeipa? z0I75T0JUlR*Mb%)P2Cw`aG^?#L^q{yDoFW{(zfyZGsA%0-M*kyl=ydsj#1?LwJ&j^ z(#*jfBy5L1)xmNw$@*8Krv%~azu}Pk)8B?!st~r(f=1q2RU(#+o^S!vg9?%AwIUW& z2lyp(%z>Ie7`2wt?2t%8c?z=Nw=wHnfP3Us#xj0RcaEh@tI=;J`V{(_D%)Fte}&>RQhPa}nE_?r^75hw^`I@1HO`C?ZY9`nmgh%V zu2nzRVtsK?o=@Uu9KbY0l7<_ZH7_oPbx5QE{IuobcNyD8Jw-)X0XQdPwGI~Yjp*Pk zv^-IlPP7~LqesM*xvL7QavC#{oNg&1kaRR~D@U+4DY>Ko=9P-5+}4MtF6Owhpxo41 zuN4QDt1fTO4o)Z!qRwmNP(U>W?pj07YN8jfCB^~Bs}y_<>TGl!w>hV&090=iClv9P z8ybuF9|K&H+fp=nT(Q8SfT+5g6-C9k!bGJ5f$D2boLr2jkw>D@Zf#;dW*Ma%Le5RH zD+4za1CUtDIiQj6^u9PHD}!sY2firQ;=LlrpWX^?zfVpL}3Pon}T?eRT>jChfstqnuN zHF>R54#z9V8sH9^i*3X$u3V%}3FZcRRH8`0&d1WA;gY5<3F%B_Y;rjFqF|l>0BUI@ z9$2JE5<2gnYD2$KM)|p)y)lQNCV&LMV{?P+L1B)SAf9^>LuAitKt**NvyV!NIu!); zt0qmbK_23wO&K}B&$R+0*ha=?$;czGN{s4F%PNcjPnxZGbVW>?oMW|Bk*4MH!0*eY zPm;V6Q~9A|`-eI|{p(h8f~n6z3wL9vdPbl-F8l=qveG7CkClmU55EX{&0(c2iYgM^}(? zCW^DV^`bh3TwVN)Wzfc2=_Cyx}oBQqz$GcNJoDgOYvJbzk@`~!$aNX#xj+T?!X zwofWQ$ikW6=X}vbe_IpqVddfcMl2V!l!5%7Z`y!Nv27wtAN}Y>Z_GtTb4(1!Y;8)2 zdMG}bgpS~A1TZw<#W@^~^|G46(tq_WB4ga3%~Ww-4Qm~-k_gOfJ2A)FgBfV#m8MiA z-fR$XcFiKbk~$vL7_Hc_%%pG3jMao3Dp}mdlg7uNm=XQzwzHellXQ<)n)MLiR2i;X zPDd3Kf_Em68f^3stV!!oE^Xb(IohWd+M(QBq+sij5qq)4LuDWq&?>jBNt$JdWSXU$ z;tn5cs3eU$_CdGas4uwv&C?Kyv9C;=nx2u4T+v+`skpo`fH1PhoRZBZU0nP}#IBU6m11A^<26q#l1Sy9nVYF&nrW`oF@iEG?9Iu( z#MSC+wRvzrBinjLOm3$u-?cQF7>+A}mE3;RnZd}V$x;YD)Vn$8ulgDQ;mafHJ5$vC zMKEPw1Yn9F0r>zM^fUo3%Hi#9l6cNa9OKfx5*gCw1d$Jwz+h|4lodUQtxv{m zWC~0|sm8*c)BDqNj(8rF(s}Pd!va6%o{Q$xNWkuDI*mlOGtduOhsI`eY;EF`1pff2 zLFegBD`n$`=0W2;XvkXH)x3b=pZUMyq1noGfDKnVnB1x7M1jgnfN(0}j+&!gYsLgA zpr0u3RuFMpSx5z!?^!lYP_~oi#??$NWl1^X2DOMLdem~+Ngm~DJdxWu*oyO%;xlcf z$TV;BYqS{>6HF}JKMsaYL{w=w8lBYETHE3qp!jY6wQ&!`n}Eihu;7y18f6C?)K=k> zhTUq`-;cuh1d6ebh}t;w6{C3Q&aIoE-71TZSvgM?RPD~a5u~(mFjkpA47a?rbigEy zsW)g3E8%xd9Dz@L>t|}p(S{hTP3^1j?kg-rY#VQC(eRt0EMh%gW73E+6Q){R+ze@4 zW}vK3AA3QQny>62`gHT9sroZn^1E*)Z4ykF7{z<+%}05d*pBLqo7pyT(3m zy*u%d8ty7RhqZWgtZX6K}x*Z(T|o?luKW(|;btlBbqiL!LR5OFy& z4bcGq03v}^lS?eEszzsS?AfO>4cR$%?M(-6bqyIxa(%F50-O0y+!|@hkO=zsqcF*) zD8|^x=Yv5bao(3v2XUx=wc0W~nLq6(dO&mS)|efmnMT#=)KgCTa;GrC$S2;EKBI|- zf805b?@R^;WjRxWN>o1UfZbR7Qo0oyfz+J{rr>ksKn(u?%u?ykEyr%uO+ogM`MN*% zq-AKx+ir{xIso9ns8`$$OgV~OB}Q|pdJ#<2tatLB{VC`q&Laeq_Mr@LkPtQQIxyxc zMYxhTS#@dBatPSdqqj)>%sk(vac7sw5XkCkWi=F1UQIs@6!Y7zVwH!cY8FQO2}&)S0>`MwxTgo(=B(wf9*}K1hR0D>&~Y1U zpOL_B#P3$5n6~^AHFVa0T3uM?X@HKudR&YhIX;vKMk-F&Bif_OA9%?f)YOs(Gn~+5 z+o=7ip$4-7Vvy=AG@Z{%q)`~1k1U?N&0boNV3Tr2lg!mRMy7Tkb?HOwZ=yiPGmmW3 zvT@i`K>+g<-9Vh2nnD~~9Yt~xAwM>eNUf8MPs9Glz$-aSc!Oz)XYmxq(Q3>p>~9;vO+`2pQ7j9Yr+WM=O%+qd!qqT8?Q$kT6DSlW3(j zi?j;EDnTBU^AizNvC8o_sL2Pnded-OEx5A_W{^X4c2zu|+t<>qO3h<5$ZCa8Dw7l? zhOE`Z{{Rf$#CBYY5aIVQDGd{Ss+$>Ftns$SjQ0|%c&naXFJ2 zk+!RAKZs|Hfv+O7QmGq(OB;|oQvkma$>ZD$fz0!uaH+~pkDrw0lH{2pIo}ly)=d(2 z-lwKazE4%O;#Ts+fRUVcsmv{8k0gro>wAU~f(;n)H(j-#ynEoB=O%~gw&AX5|<$jQxXXW=n8%HpdZft_TG(P3snR`9M4 zu12Lra)nh&RTkhaV)$UdvYpRCLe5FWb#-R?IR@^hBcFOxrPl`v z-_6kb*H=`4%rZ6z-n%*e_0`mbFoL9KBe4{vmP3X*Tlu^D*H=>k8Co-j80>q~PLt_f zT|fv6#CF>~4&c-9lKh@W{!_^NS65IlYzWzgI#LI89Kl1(9l@@yrjXER?fh^KmOy!m zn31G0fVcp3uCA$@q&V`L7T*lv%Ph72_d3i58}7*Nr53`>aDn~U7g%_k?K*U$IOPhx~V>B(l2)mIFy5e zF-q;Pwri`Zh&tVmg)qj!PUCv2h?aKplfP44T~rK`K~c-}q(bc5gNo|vnh=+_knsC& z5@XBdPONLsIJXd<{_UidfzQgLl8)8Y)kxc@s`5e4+pQ)^*nO+3s32aL$GN1>L0w%y z9i6MXXQg#@0B|_mQ-c*Dl;MXW4Rv(@dN;zq9)^u9IJpJJ(azm{8`svf*F0LuhRUZs ztE;O#nPnc0RNWBPOB<7dpl7(EkB6-;w~rr6>gq7%l%FL<-(*XlgWCr|s+qnSxs8Ye zHPzMDT@WYW_fd=(PAZD>(pyV z^j#a{obx=-ec$(YKcD;i=Q=%Wtue~lsCMSW40OPV%NCj^>t84%5fGCU6qXbg0068<0DueTi^VS} zDDdKE{m>=7!1z@rg!={NFB+H!bKoWIu%g7~X$5bwX&4FmEk4@eNk@4RXG zeq;xzflqY(&Yq{^ryBs#S$(V(H37)!CO~o)1MEW3dZ$ysZGZ?54-X%Y2p^w_jF5nk zjEaIf|iWvEc|@@i2UmvLQF_VOhSB)gybA02?+@$`bI+eBMI66B!kn} z02v)KGTd4vk$P{yQ{DzI}<>AkTP67~!m zP{h3utN&&GE7VJbI=$@HMWr|cJLTpKq$tgx;Ro2a^4l##sE=DJoR44LsfceK{E|KN(xWHX`yNH zqCJ4)@tdPe2AS%SW2u{%$PdHVhDP$lE~;(=35b)ji?rYKZhVOf^?N9OTa9J3ay7ES z&3F|fg6?()&PUtP$raZd&s=b`8|J<=&aLv|bl9Puca%nL)0tbW-YF9kr;aS&PiXQf z9p&lnO0}de=Y2gPV19*O@zu=!?A$`$a8&Hk#m1057=IYtMdRsftvRE?xrLx_Nqj>1 za`(>9-5s!(9d&R6DT!zQ9 zFk5hP^0~)SdnCGuj!`!AIHsog@Dh)BeYTC$^wH{#J%PLwXO&)r3H;OgPrY@fX$-4$^+$ASv`dGT70>?uK*Tb>xVoIfr1}i%OU#JrUQajrLH-j@Hq;=*pa@dDXG>&DrotJc0lf{_nDcGuv z-L7}S9+CuT`iSh@5~+IUeQ*k7?yh%cZ&#cGQx8%Pa)*V2UG!sCOk-A3heU395V21O zuQ@Sz&}%G8DFL|0-yTBg@Ci6hfu57{l{Zl2KS_|Dfh$2s(5F`QJbztO$R#j2&@j?Zby-)N6?tS6;uWNA#AiA>&6M zk5S!FQ&-~yUZkn@U|}=Sohj=P_btgg--&Ge+8w>_0mRy+O`|?bT#Ui#Mw`ziGpR5G zIm-Ga?w%pO zS~qshOqpjS^A_T`z;Sl%e22*?utj#MqrJ0ygU=_;l?Pm?)ZA)n=SDQ66yJ71->}45 z3<)eQAJ1i#=dCLt$9iS5inK0M@XhY$zv*42A~k0l+jNbp?IjAOm-UK|H|^pxUIFWcZ4Ud$nRN&g<6as`j$1Fybih#*CT$-r1!wz15uM@g}1K z4_wy?YP`l^iJ6I0fWoZ$79FgDueeLO@W9yaL2CcCjhV~@Jr+an+qb-E$C-yan&kpI}EKwq`juavXb&3GJB|--o>TTv9xgs z9{gFtOY~uWqUEjv1CijD_u|JZ=GJBhy+Q|pmV!y7z28_3Y~v5ee$`tx;bxL%eGv)HFVQvE)U zZc*0lyH_`Z-kGjS_hYI)sBrea{L~Whii9jfN+>ck+0Dqs=aa>dxpQjPQb0lZDIlbM zXO!1lOt)BQLbJzfp+)nfN>%aP%(mgd0nC+?JeySS1&+N}hKs|=kS*fq^L9dzZBV7r z1x<00kij<{n^BV|Tk*?bDs`xNYl4e?mQM5FJZ&YzSmx9d>c6TYaGG1Ni^F6sU6 zceLV%1-_p29%;~{B1v7$#5Nsx0t3YSQ^!ra10%7coSd8>^UaKXwZ$%JJyvgw72m8{ z%1qy^6Z5}aS4~mb?ROw*1pe-5^?kq4v%{BPi7SgUov<*ck`lS;;>8tHBl$4qnDcyJ zW;t7v#>oZsy&Jeh9Ppqm(#mt!ZG+q0P`%Y|s+}F}uc?~)XLci=3u|~;k$Qdn z`sQ&<{YgZ-_mzFK9m1}lzE#-)kJM{gZ<&)T8OJp-?;AdB?FqFU&m zj|qGKL2f{|EOw~)k^t=^a4HQ(>$G>T#8+0+y3~^p^oWiG+`8pmhx(qrLsIXclb-jD zXNOShJsV30%94vE0J$yYd0M4@x{tUxniqAYV6bvglhPS3o)aFHq>&9pq_ci&Ygyd{ zWg!Qp%WZAU&&^zsLF=`jPl2q08;>6@(CN(QZMxMh(|Mdj<|(xsYB5sR;Mz}_KZ~xH zHxxz8J8QOLD*LExCh5Lr)XKW7=L_5B0Q z&5$ME_0`@M+CaT`$7ZuFnolai{VQt_g(K39b7oJBKj)4HPq|R{M#c?ECh$_dpYS$F zrT!V4FvMKEp2&*J}CQXM0<* z-dI7fyj_TLDCJ*{>`8Um_Zd6|UgR%@K6bwNarEg0!V>&^r@(t+cS&n8uVjNw_?E=6 zsDqZ{iy8DJcH%9{WXC_@sw0O;_P*+J0X^fB)IfvfOF30j&u8eHwoH$*xne)IvA*`% zFWxiBx{gOST}M^Lz&K-N1HUizE%(iIA%B&0i|&jd*5r|=V!V!5HRP+Q1Tyjzh1-FM zb6d8HW{~;RfvijLqiy-v_3O6`!{pC1bCke4^2Jev)^*Qsm|I=CY8hCCD^gk8Zfj4Pkn zy{Q@mZAz&=B0WIPSg-CfQkxsfW@O%Jd`iO7C3no8nw^VSJQm?ZiH*DVmGygZ1u%W1 z=b4l*s;X>yUz!)x9uTa461_L7;xNioZ7=N`T~=MzQae^#AZmn~(REd*bINuRgO zb>=u&({`sZ|4?6`s;)^Zar{bNwc?CjDVo*T~y-^!6JJ zr$G8#&(Tg2j7E2ar!`AZWt8EqMI!Y4tk+QPy zrMbp)W>?7)TKd2wLhmaHrkd3Uj|D~q=HAbK_$FKN*)u~+nHu4uU6)b0!4f8e-f!rM z6+q|%C|Qs)SBr43)yt3a+FPP*%U%;ASU2AbmzHhJjXai#yM5qDZT7+9>$=m?Xq@bl zwB1LUJrk4mgDAd$@Xd;vW3gJK_(F44_^XEZfR!I-n|>FYI;U&+Kn^Lx!+YQC%~a1n z*0~X6&F}GL%29r}EEP0c z#uQiinS2}tf8}z!ml74&?GKX)6 z?p19`OZ(8_J2tuaWF7{Y`iYggUhR+G#c)&iK&9mHa-|is>iensZxH>o^H=-Gsfr7wIdiuQ#)t+C$NNT~l(w#Q zx<2%5X)hhcSaX?k^n$x8s?-+vtXz)S_Bj;I^UJZMu#TP34*81d@g%Q~S29`;wmZCg z5?Y08#%>ftyjQ;$*d*^_Z+QRK0Q0NLW7S-zh|y=l{fq||N$kswdqEHAPi71bB6ns| zQ?=+t1G8D91Js}LIhJlf!2$buI=`H*$rZ*D@_s|x36cA~4D(*_&0!kjW&=DR5y*R?ILrIra9($iR<-M_tZ9$amJB>4TG~jb4R% z=HZ^=OLuFFXDB9RuO43dKEr#oBouId(qb8!Ix|osP$ZjjoIBm9FLh&Ct0Oq6=X}RK z1Yhy@w_f?}D9vix^QC1jE;&yr*j?{lk(nEOKz9_q?Lx6pU7G;KSh8R+Y5tta+;x(- z>ayI^+$J3Hx@@ef+ocvGx#&=PaPN@YiyPdoTLcC*ZpCRh_#u6+s`F=c@m(kF8bFxN zFjicZtcfSML{)L5ecw1IXee)KwX3)3LSa$iX0gI7*7x{oWuFb+a>P~_eO{rI-lLi| zOX|o_dR#fiuk-INT%V@8ZjSRZ`qCBo=o|JCB#d;}WR9sOBgQEALN_eB%~0qYeoDi< zX6Dn8`BE=YnQP0XLdW)yi8L?b9HK|Ftwq_Sn6Bpa=k7AzO!D=uf}3DY)MkIkeFecm z8u6AG4fY4f86?{!+-l{T2$4Y9J%dCRabFE5%sa?UzCUo_I^!aI|7O{`VZ49N|W(W|IVazK>%&EV|uq1yiF)iY3uh@Da zYo1(6hhuk~t*GkbfuGnoyt8v8Ejuzb!)xwvV|#7-{!r;=-RigdcTJt3H?==grA8d@ zw@)Y3h(rc-iEaR7)ssU<>6ImJB&)RFH`o%tj_<+!Fc{{Wa}ZLx`!yNGo9(i7EfK2I zp}1D8`F1|VE^%jCD8gPT zjci{#uxzL{@;*88G5Wd}v+h&leM!@MlvVOO(*#L!5P=EoTxGKyVpSJvrS87R1ifQ3 zDmN*!qfJ!p$kp>)o1kK;Rnw^93BJjVwHHb`gkp?3R)L-IQ7ei>_sc@P!I#s~59az& zitr7=I_)Zd-+}fAedL-uy6;`rRPU_A-|{hCL@AUm!S^f@uf6>Iz;g86L4#cBLUtQ= z@AQo#6vy%=k5e7>_V|wCTLM43az}=JUegPlhD!_nad+YnOqx-PkC+CBSb|XXO>xzy z0G5%{^7lKH6ZT4?8y##BsicZ?jU-)p$m$Yq2>K1PHVJPA| z_$RQzK-o;BOw34~^z3I<-Y#_%xy8GQ6I`Ex>7FKqo>SmE+oI$X?ea{!=kyIzfjt$0 zG!@4*O#(I+{8ju%qj*3AumrlF2N!e9uLD_Vf2(N9IV zCpu1gmR8@%7p); zC?`1532~MsD91n3R@5}r_|ZyN(RpC-fVaO|g8XkSq3w=zazl85avHRzqB|1tt8!rF zZ9RWS^c=i2e@7HO5sH6B5XiqG*KOfmza?4@NblbfWmmY;?+Dnwe`T!zb#eIF5NFi` z06kR&MbH}X%nhXNSXk`bP_}Yz@6pk-pz4YEH=Y9g-}Mwc?Fvo7oZfGB0&f@;>E@|qgS0`{;LJ!J2OY0pqXkW)mBA<4Y~VV~{zo?d zQmg@Zr1zhS)rZ1=@O3<)a;E4U&cZpUr<=R6BMj_ZaO6569DX$)30j~B+N9uyM7p`c z-4G5xlMwxqpiTH2pZFJF&&k2@?*hVK0?@YK`sg`?x$(n>pT~L_zn*9F>*AS=-0YcOz?2_|Ay?WE%4BJ z|C)ywa$q&V>u0+$p{cXu)gSZrJUWVr9!)>2M@Iql(Jh1c9d%{%_YG6Xgm2`2+H^Q_zk7PmZRS!>=EiA38WTaHN5a!#}i0pfE5U%onNdrDmXc z{nv7Z_lx}xWqe0BPk(v1lf$o;BK=W$wO?$o=D2n+dmGf*@`>*a^F;m!b)#SGf2tGO zIw-oq-8}!+xMV-_S5W;e0FwY(ZU}T+<0IYN!JlU@*x%PD0ywyk{Tr9a_H5z%H$EZQ z#g6}~em3_mp$h_kXTjkt`{j)OG0)K8j2}Z7a;AsY0BAM98@i2OfR`^wzCW9K00?!U z1)&RnpbdYZ4S%2wf1nM2pbdYZ4S%2wf1nM2pbdYZ4S%2wf1nM2pbdYZ4S%2wf1nM2 zpbdYZ4S%2wf1nM2pbdYZ4S%2w|F1(Eew;I~f+q<8U#cS$}zgcq+3 z`omIQsGBRFuZ=sO053luASLVTZUc3JAz5r;;8~e8+voZwHWnv4X*OdKO@2*xMVOhA)Tuw#>zVUhBc^mTQ2g&}QNd|lxPFG*i%wzJG7K^o2GV`Di}LApq@ zoqh1hVxp8kuvw&Z;3i9!T|B3Pl2uq5HN(zdx z{0wYhX`XiWl6p!iKg$AR(riB~<>TYS>m$VL=IOvEAR!@v&O=a;2h`y4@ zqP()0fQqsbzo_u9H0lU1qzwWJL#F|A;dOGdljIi^2Rl_vm|skgUsPN`K%8G(NJT{>?l#w%?>8b zCiHi{x}qWoim`Wsg90xQP{N|FtSBlVAu7rv$SZJGA4x?|7IfgK1H`R|m`lj*D@)SSFPbcx^3 z;jRz!_({Q?Sk4BUqzx1e(gCYs;|;T8`^j|rPh9~v{(s#SKQi#DVmp0*`yB9Yp4CxjaY2*-2DwR;_d&X&`Dhd!rL7B^#z5nJDLp|0L7Em#JN%&0SXD~fAG92rwsS>*fJ+Rt&F*%t zc4)d4r0;p7&_GPg>mYsC+X?0a(!(Il0Y|wyfixPmOX&);0l}eIXoMaI5(aeyX?~C< z@-)x`ak5xapsyz)hriLbf1{BgA`;XE6y4nY&M<;3m!Owfz>T9giyF)a4nrb&bimE9 zji(*BRdsc@LHGf{k2<4M0p$O-fjDFTxc!&Hzv=x~B)V^Z$hUOQ`V2zd{TJ`Alz;Ku z(m~`fh>*s7^cT;AguY>siIN{&S`kNixdN6yK zCk))cvKWD*420B!-HotwLT|5FoDl!mBK|Fh|HEW|%K=UP7}p>{@$v+qwB`lQ^-%(t z8{GgF1tEZGkpfB}zx(Yvz7hCmApkIDUivZaK^l~w-T!gJhz6q=UQTB)Wk6BSfCY;3 z^!}lOg??azxO!565}*T^0CwOKzyspN#el1T9H0zb1GE7Hz!b1L`(VWt#FF~}H-S*# zF7N<&1jGZ0Kq~MO$OVdkGN2lG1-t>;fi9pQ7y+h$_rL17CI%4(B?cqLMGQU+aSVA34GaSeOAH4L4-9{d+Za(8PchOl3NWfL-e7cL zj9|RSSi{%>eV7qqQe(1W@?eT%Dq?D5nqk^wdSV7)MqnmjrehXi)?s#F4q?8>T*utU z!oi}zV!`6Ux{9TSWrzjE^1uqhdWe;Xm4j7<)rvKQHIMZL>jaw^n*sX@wj{PXwh6Wa zwh#7Q>;&vA>`Lr5>=En*>|Goj9BLd+95Ea<98(-;oB*7MILSE0IInRAa6aPf;Ns%a z;a}GFsFT={1d}9@RFMplY?9)WULchxwIcN=O&~2N?IT@3hkx$kImL4}=Yq~9 zovS@Jc5a7^f=qx+o6ME$Az2>TTe4+xT=I+L%H($Bx5+ceTgX3BU{bJCC{jQvZc)6X zXrox5#G&M*RHt;Nd_Y-9*-QC_ikwQA%81IBDv7Fr>OD0k^+jrRYB+T?bs6<2^#Khd zjXVvE<~~gk%^=MlEj_IqEsQpTwwQK=_JEFsPMOYyE{3j}Zst7Jd9L%i=Y7tnoNqh7 zPESdHl^#kTL0?8c$$-JY#h}L!z>vYv&9KAB#Hh;X&iIV6g>jvUnn{kyndvc8Bhv~q z1+xsZ6Z2!{CgxQZDi(PbILlL(R+cZU46JIbDAqLAUe-f4PBuffFt%d08Fm78advz5 z$L!7QUpSaKG&yc^6Sbb;KWv zcS>MOC`bfLypq_L6qQ6umPvlT%5&A_YTnglDNZSv)Jv(4(rnT;(rMD~Wmsfx$h?qw zFUu-xBbzS!L5^L{PA*GsN&d3DvwVU4rUJi$r$VK|o}#2;pyF#KOeIyN2&GCG}L0$#?%?rq3XHnU#^K=3%u5vftKn%6YrG^e#LXd$$!wE=B)?Ktfj9Znq&oqAmyT^-#d-9o5!0k zScq8MwHUSJwDh%nYjxfVZq;B-YHed(egpf4@r}G2M>g6v={7sI>bB2qzd#kCPoQgd za(0jHR$$VwSlE)iw0*4ovV*ikoWqKvtYd=Xx|5<)qSIGrHRn|4Jr`}4Y?o8GF}&Cn z&-I3DErJ~3f@pPPa`SZ?aKGYy*ZsYRq({8R7f%h(EH8+crB@A-5`3BJMqNVPLCt&1 zcqe&(_c8J*_a*a1_;&ko`Q7(h@>lWC48RJ21~lJfy%~CQK2Sa|EeHa7;AswK5566| z5TY8A6G{;36512S9~K+7earY(-EGF(A-6x?QN5FYm*lSJ-Ldei;i>nq?m6A-y)ShC z+5M9UyNGuW_#Y%ZIC=NOlo~D{sm3}cjApzSDir*%#mMI50j~I`lchJ$ib4`MB;x<7E2O75v2QFSna=;Jd&Nx0^qlTKUf(bg_#6(+!frF2NfG#=7u*q>)aVgjU zJON61L3S#9T?J|z4j~#nk5F3Mmi8ta_**Up+6_r)hHMMoEZS5VMZ{H1%jE;>@OnzEeTv}dP-QL;V`@VkwRv+ys z6blm@3kwSe2ip}inGAFkiY zp;T5($uygUd2H$%*-CL@l@3Xq#`+n9gKu4e-_#tL%2k)58YT+_?zZS3Nh|J^tfrWe zaBM#)epAUYo3kCa!xPO6{7PzcqEN-GpGS#NSkg@ z9Q35tmwsh9L6nK@oMbgqWi(8G{guXzIC@hdyo{7G;RkvdCg<`bh;FTFc9igmOK*O} zs@m1_CX0I=T}`{3)5U$q_HO#CAk*ddLr3O4-YT6cYsXEdiM_^`zlzEL@9ENSunVQ% zgVNY^$~51M-N<_b36-s9y6R&`B-VentV z+d7o(8#QpHx1)D$c%@st@}9u9Np{y4Rjk^r{Rrjj%#~anQgk>ybHjJlncRTyygNs7 z#g`n&_5+jD>>B;)Mtl0eXI0fA^|2Z2Oz_~hTgw8Q(SlZRh6dE(tJLBcc}rah}M;yr!tC?PEKQ&G2=z-k5i0 zvtDC^=C$vj2@&J;Ome3 z5fBAlB+vFA`?R`T!V{;4h1#+$-A;fPU1c=Qh1lj^;mc}?i%Xddpl1jWouI1dadM?6 zr!4jwHi#9-dZp~8C2e;Kum-S~tWPn%qR*Q9fGE4fy{-o1>;@bm-{@X^91QndpL-O@ zIGP--UFz=iXgZ+7)z15EqGM)y6t|XMigIq}8}-b^tsyye{2&DJao2RqM%IE$g@tC< zP{ET2WEfd5ZEt_XisnLAr%0D;1m1G5UCiJq3CZ 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 S^zYdZ{7n4%d+~l #include +#ifdef HAVE_WEBPMUX +#include +#endif PyObject* WebPEncode_wrapper(PyObject* self, PyObject* args) { @@ -12,12 +15,18 @@ PyObject* WebPEncode_wrapper(PyObject* self, PyObject* args) int height; float quality_factor; uint8_t *rgb; + uint8_t *icc_bytes; + uint8_t *exif_bytes; uint8_t *output; - char *mode; + char *mode; Py_ssize_t size; + Py_ssize_t icc_size; + Py_ssize_t exif_size; size_t ret_size; - if (!PyArg_ParseTuple(args, "s#nifs",(char**)&rgb, &size, &width, &height, &quality_factor, &mode)) { + if (!PyArg_ParseTuple(args, "s#nifss#s#", + (char**)&rgb, &size, &width, &height, &quality_factor, &mode, + &icc_bytes, &icc_size, &exif_bytes, &exif_size)) { Py_RETURN_NONE; } @@ -35,9 +44,42 @@ PyObject* WebPEncode_wrapper(PyObject* self, PyObject* args) Py_RETURN_NONE; } +#ifdef HAVE_WEBPMUX + WebPData output_data = {0}; + WebPData image = { output, ret_size }; + + int copy_data = 0; // value 1 indicates given data WILL be copied to the mux + // and value 0 indicates data will NOT be copied. + + WebPMux* mux = WebPMuxNew(); + WebPMuxSetImage(mux, &image, copy_data); + + if (icc_size > 0) { + WebPData icc_profile = { icc_bytes, icc_size }; + WebPMuxSetChunk(mux, "ICCP", &icc_profile, copy_data); + } + + if (exif_size > 0) { + WebPData exif = { exif_bytes, exif_size }; + WebPMuxSetChunk(mux, "EXIF", &exif, copy_data); + } + + WebPMuxAssemble(mux, &output_data); + WebPMuxDelete(mux); + + output = (uint8_t*)output_data.bytes; + ret_size = output_data.size; +#endif + if (ret_size > 0) { PyObject *ret = PyBytes_FromStringAndSize((char*)output, ret_size); + +#ifdef HAVE_WEBPMUX + WebPDataClear(&output_data); +#else free(output); +#endif + return ret; } Py_RETURN_NONE; @@ -49,7 +91,7 @@ PyObject* WebPDecode_wrapper(PyObject* self, PyObject* args) PyBytesObject *webp_string; uint8_t *webp; Py_ssize_t size; - PyObject *ret, *bytes, *pymode; + PyObject *ret, *bytes, *pymode, *icc_profile = Py_None, *exif = Py_None; WebPDecoderConfig config; VP8StatusCode vp8_status_code = VP8_STATUS_OK; char* mode = "RGB"; @@ -72,7 +114,35 @@ PyObject* WebPDecode_wrapper(PyObject* self, PyObject* args) config.output.colorspace = MODE_RGBA; mode = "RGBA"; } + +#ifdef HAVE_WEBPMUX + int copy_data = 0; + WebPData data = { webp, size }; + WebPMuxFrameInfo image; + + WebPMux* mux = WebPMuxCreate(&data, copy_data); + WebPMuxGetFrame(mux, 1, &image); + webp = (uint8_t*)image.bitstream.bytes; + size = image.bitstream.size; +#endif + vp8_status_code = WebPDecode(webp, size, &config); + +#ifdef HAVE_WEBPMUX + WebPData icc_profile_data = {0}; + WebPMuxGetChunk(mux, "ICCP", &icc_profile_data); + if (icc_profile_data.size > 0) { + icc_profile = PyBytes_FromStringAndSize((const char*)icc_profile_data.bytes, icc_profile_data.size); + } + + WebPData exif_data = {0}; + WebPMuxGetChunk(mux, "EXIF", &exif_data); + if (exif_data.size > 0) { + exif = PyBytes_FromStringAndSize((const char*)exif_data.bytes, exif_data.size); + } + + WebPMuxDelete(mux); +#endif } if (vp8_status_code != VP8_STATUS_OK) { @@ -95,8 +165,8 @@ PyObject* WebPDecode_wrapper(PyObject* self, PyObject* args) #else pymode = PyString_FromString(mode); #endif - ret = Py_BuildValue("SiiS", bytes, config.output.width, - config.output.height, pymode); + ret = Py_BuildValue("SiiSSS", bytes, config.output.width, + config.output.height, pymode, icc_profile, exif); WebPFreeDecBuffer(&config.output); return ret; } @@ -124,6 +194,14 @@ static PyMethodDef webpMethods[] = {NULL, NULL} }; +void addMuxFlagToModule(PyObject* m) { +#ifdef HAVE_WEBPMUX + PyModule_AddObject(m, "HAVE_WEBPMUX", Py_True); +#else + PyModule_AddObject(m, "HAVE_WEBPMUX", Py_False); +#endif +} + #if PY_VERSION_HEX >= 0x03000000 PyMODINIT_FUNC @@ -139,12 +217,14 @@ PyInit__webp(void) { }; m = PyModule_Create(&module_def); + addMuxFlagToModule(m); return m; } #else PyMODINIT_FUNC init_webp(void) { - Py_InitModule("_webp", webpMethods); + PyObject* m = Py_InitModule("_webp", webpMethods); + addMuxFlagToModule(m); } #endif diff --git a/setup.py b/setup.py index 67b859b13..4acef5767 100644 --- a/setup.py +++ b/setup.py @@ -86,7 +86,7 @@ LCMS_ROOT = None class pil_build_ext(build_ext): class feature: - zlib = jpeg = tiff = freetype = tcl = tk = lcms = webp = None + zlib = jpeg = tiff = freetype = tcl = tk = lcms = webp = webpmux = None required = [] def require(self, feat): @@ -329,6 +329,12 @@ class pil_build_ext(build_ext): if _find_library_file(self, "webp"): # in googles precompiled zip it is call "libwebp" feature.webp = "webp" + if feature.want('webpmux'): + if (_find_include_file(self, "webp/mux.h") and + _find_include_file(self, "webp/demux.h")): + if _find_library_file(self, "webpmux") and _find_library_file(self, "webpdemux"): + feature.webpmux = "webpmux" + for f in feature: if not getattr(feature, f) and feature.require(f): raise ValueError( @@ -386,8 +392,16 @@ class pil_build_ext(build_ext): "PIL._imagingcms", ["_imagingcms.c"], libraries=["lcms"] + extra)) if os.path.isfile("_webp.c") and feature.webp: + libs = ["webp"] + defs = [] + + if feature.webpmux: + defs.append(("HAVE_WEBPMUX", None)) + libs.append("webpmux") + libs.append("webpdemux") + exts.append(Extension( - "PIL._webp", ["_webp.c"], libraries=["webp"])) + "PIL._webp", ["_webp.c"], libraries=libs, define_macros=defs)) if sys.platform == "darwin": # locate Tcl/Tk frameworks @@ -452,7 +466,8 @@ class pil_build_ext(build_ext): (feature.tiff, "TIFF G3/G4 (experimental)"), (feature.freetype, "FREETYPE2"), (feature.lcms, "LITTLECMS"), - (feature.webp, "WEBP"), ] + (feature.webp, "WEBP"), + (feature.webpmux, "WEBPMUX"), ] all = 1 for option in options: