From 8061500b79fe8e6a9ddc55b006e0e776d2e89a3b Mon Sep 17 00:00:00 2001 From: Mirco Miranda Date: Sun, 16 Nov 2025 10:15:10 +0100 Subject: [PATCH] PSD: add support for GrayA (8/16/32 bit) and Gray 32 bit --- README.md | 2 + autotests/read/psd/32bit_grayscale.psd.json | 4 +- autotests/read/psd/testcard_graya16.png | Bin 0 -> 15855 bytes autotests/read/psd/testcard_graya16.psd | Bin 0 -> 301976 bytes autotests/read/psd/testcard_graya16.psd.json | 26 +++++++++ autotests/read/psd/testcard_graya32.png | Bin 0 -> 15625 bytes autotests/read/psd/testcard_graya32.psd | Bin 0 -> 580008 bytes autotests/read/psd/testcard_graya32.psd.json | 26 +++++++++ autotests/read/psd/testcard_graya8.png | Bin 0 -> 24824 bytes autotests/read/psd/testcard_graya8.psd | Bin 0 -> 86577 bytes autotests/read/psd/testcard_graya8.psd.json | 28 ++++++++++ src/imageformats/psd.cpp | 56 +++++++++++++++++-- 12 files changed, 136 insertions(+), 6 deletions(-) create mode 100644 autotests/read/psd/testcard_graya16.png create mode 100644 autotests/read/psd/testcard_graya16.psd create mode 100644 autotests/read/psd/testcard_graya16.psd.json create mode 100644 autotests/read/psd/testcard_graya32.png create mode 100644 autotests/read/psd/testcard_graya32.psd create mode 100644 autotests/read/psd/testcard_graya32.psd.json create mode 100644 autotests/read/psd/testcard_graya8.png create mode 100644 autotests/read/psd/testcard_graya8.psd create mode 100644 autotests/read/psd/testcard_graya8.psd.json diff --git a/README.md b/README.md index cd143c8..4d870d2 100644 --- a/README.md +++ b/README.md @@ -414,6 +414,8 @@ PSD support has the following limitations: - Multichannel images are treated as CMYK if they have 2 or more channels. - Multichannel images are treated as Grayscale if they have 1 channel. - Duotone images are treated as grayscale images. +- Grayscale images with alpha channel or at 32 bit depth are converted to + RGBA due to the lack of the appropriate Qt grayscale container. - Extra channels other than alpha are discarded. The following defines can be defined in cmake to modify the behavior of the diff --git a/autotests/read/psd/32bit_grayscale.psd.json b/autotests/read/psd/32bit_grayscale.psd.json index 2b0e102..faf08bc 100644 --- a/autotests/read/psd/32bit_grayscale.psd.json +++ b/autotests/read/psd/32bit_grayscale.psd.json @@ -2,8 +2,8 @@ { "fileName" : "32bit_grayscale.png", "colorSpace" : { - "description" : "Linear Grayscale Profile", - "colorModel" : "Gray", + "description" : "RGB emulation of \"Linear Grayscale Profile\"", + "colorModel" : "Rgb", "primaries" : "Custom", "transferFunction" : "Linear", "gamma" : 1 diff --git a/autotests/read/psd/testcard_graya16.png b/autotests/read/psd/testcard_graya16.png new file mode 100644 index 0000000000000000000000000000000000000000..278d759fe5ccfca5abdcb9f07a21257167d54a89 GIT binary patch literal 15855 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 z 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 QHpxQj%J)%KcP*a%U#-GNmH+?% literal 0 HcmV?d00001 diff --git a/autotests/read/psd/testcard_graya16.psd b/autotests/read/psd/testcard_graya16.psd new file mode 100644 index 0000000000000000000000000000000000000000..9634f6e332eecbbad7d479a82d09e7bdcd85fc05 GIT binary patch literal 301976 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

UgKSxOoBjyYDox+>lVcG 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 TI(G-}Y(grEnhI49EnoaERk@Qn literal 0 HcmV?d00001 diff --git a/autotests/read/psd/testcard_graya32.psd b/autotests/read/psd/testcard_graya32.psd new file mode 100644 index 0000000000000000000000000000000000000000..3d70c124d824f67a0d764a3776c9ff0960348629 GIT binary patch literal 580008 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 literal 0 HcmV?d00001 diff --git a/autotests/read/psd/testcard_graya32.psd.json b/autotests/read/psd/testcard_graya32.psd.json new file mode 100644 index 0000000..e63a800 --- /dev/null +++ b/autotests/read/psd/testcard_graya32.psd.json @@ -0,0 +1,26 @@ +[ + { + "fileName" : "testcard_graya32.png", + "colorSpace" : { + "description" : "RGB emulation of \"Profilo scala di grigio lineare\"", + "colorModel" : "Rgb", + "primaries" : "Custom", + "transferFunction" : "Linear", + "gamma" : 1 + }, + "metadata" : [ + { + "key" : "ModificationDate", + "value" : "2025-11-17T07:29:19" + }, + { + "key" : "Software" , + "value" : "Adobe Photoshop 26.11 (Windows)" + } + ], + "resolution" : { + "dotsPerMeterX" : 11811, + "dotsPerMeterY" : 11811 + } + } +] diff --git a/autotests/read/psd/testcard_graya8.png b/autotests/read/psd/testcard_graya8.png new file mode 100644 index 0000000000000000000000000000000000000000..fa31ba3f32f67e56edf8ba99554c1734b538d50f GIT binary patch literal 24824 zcmbq)byQSc`0g1%>Fy5cZlt?GYKD-Gk&q542^E#@lx`ThJ48xQLb?PAX^^1=iF^2d z_pWuOtQuVaZu_9%RoKQn-uHTIwC z3qa~FJyx$gT9i4H;}a-K_0wt-ZV%yy4&vM;B{*IPa|L_W#o^z|Si#C?W*5f94hq0NcqQ z+O@4+eO_4Gdi!|7!JeylTD!n~-8^5Ssu%tFKX1@>vx7SWn(7a)R&n!mvG(?IPCpR@ zoB!)D*zEYi(e^)EQ?mAk0}rF)5fI=J5QFlINeDib5aD0e?6`( zsXv9>U!^%RJ39n>syHO)A{~);`D^s_!QJ`zEy7m6J-mgDKa85lY$Q^QntV$6<>^4g zIw%DVG5Rtg>_qG@DXfE_9&{_@+JKTQV+2s>hFyOkKSL3d>%Z(4P;3+u2 z-@CiERZ-o$%(L?F3wl-eySyS_JVg+n(Ttm{OSy+F60={PK+aBn6lDY@`7(o9Gd|_m zkSS)2lFu<=Q;;x2&pfFveKg;ZjG0E<0D?x#C4xx_q~mO?V&%C-(f-*PTIu zTyjTR`oj3q*MmYPoR-VGX*%yowxF9U%ij;FezN5K_<7jQtRoSlqSNvHMRrcHR8Nvl zV5-=q_{X_UlGC@yQ_1t2_)m_aoZk`|TJWnzW4)!`@0(@6KXTgtePa*z zep}To9h$kHid)FY^E9C#ym{?>^Lkj;ElyPI2lMsr!E!5SKYi8+#4OH*t2ZbDa0 zs~w71Cj6?-iLb1`#i6AxO8H5%*H7zrxo}~oWsCTe}iC$$i#H`1p)xm9CDk9uBQIb!UK#`A@3Vd{XdAo(jqIqZ$DiDm~I{W3ndli@u{#x#NR)>w)?P_g(j!VCdbhbFIg$l za(0!sCm8rvbMB*>Jg0vepHtju-73u_0~n~zt5zfzhZCQB@YiDX(mL2(!_*4#)5y=g z1uN+;0;^BHmonSh=mjqknPeW7mGvh6y%WHweEY{Wp8R?6PTnyA9^vzdMs8o>YS>u4 zx?Rn|tWgKe%yY_wO_QSL!{#vuk{nEln(K)zlSZdyt%)#c(OiNd8q=HsNU<$7|BIpC z%W!O(qrc0xBn#EBcg+JAa%mMCvRrH=z5-nQa37$3|73vY1w>xV+;5#~a<{y~x# z<%dX>_N{KV+oMB1j8vN#WJCcEr=%L6!84S(k-ZW&yT$4>-waDSyWit>1QP-{@1Yr0pl=#Gy{VoIlb zbq?`xNpTuS{;MN)pDv9F{*kg|K4>%2uu}f}ee;}FQ|gR$f_}fJJXWxvo`0+%dSAs0 z1ZC>dm)5Su_AI=psq)3yr%_fL^Ed}7+t}1+Tze|YuZFO%-Y#9N5rlJ(5O7Z6i@ zQkfL`6qd_Mm%?{n?BShi7J{0ldagh0Uc<+4_I!5v$phzAtiExR8-Hu=oj>Ivn3^BJ zD4cJm>EgW)@d>o334pIGR{g7}F}*ZOS3GPKkFC5&j&d^cvuHv;PaBwP?4`Zr^||~JOhWOjEo%-(RUxq7-H``JL-{7xsk`_b>IWv#Z$Ew4V-#(bj{+9Itl&EuVwgpeN z7CW)_KIyyNPZHq%|9|=04o_O0j+6Qge)!!d6?+G{hGDy4$_mN?00W?|Bo750V35Bb zY^Lq5uw5#Rk(48x3-&gf?=dPv}o8p#P z34C@uhDe3{W zlPIcjbOXP>eDpZm(W8+LAR#3sEd!mGOUue*;O_?gefZveGNT2imKyP{g=6`8F~akiq%*1se++JLw7qU(Lknt2P$-f-7 z(OZSIx3@1eZE>AE?z#HzrfY5B=e(C|Z{Y8>Z^^G85KQ!^$g zN6No`HiR%Y=)xr1Hd??A4ri2@t(2WFXG=%?qFfP&;k7jir?= z04HweXP0EV?{TagL+DC}uj=^yNnA+($;Qy_f#3`Gv4^hJ*9(%6lg~+{Wn@HvH!-oX zp#$#Y(w7W0c!jO46axbT^Gz?w@#xOZSw9~EbXL)~OcXfXqZENPm6ZqCY`L$IVY%7D z%FLK@sAK-7K+Es#?YOP1xbV8FvU3d`9o6w1X^%1S?L4>DZj6s#=IdRldTo#GT;5;h-phlF}u)Xt7psNX%t?MoN1t#w2tBq(?UxT8DqZe6|2 zy*;qsnJy<5by*DC8cnkuilr?>AdnSTDiL2k;%`Lpb@!56zJBxK`zJ8d-C z8V`oIU(<6@QSp)~#I{r`19=TDkY&hv1Y4pJ9uv5`&^}xJ!2@K`+zq%7i;9Z!LhkP< zr2O2^<|9eDYF(C^g)DYqWtElvvsI>bKKq76B_-=wUSprzwsWYZW!=~0oabvHGcz-F z-d;Sm2aDgnean3NdF^Gs?#_AoBR7<%8<Sw(JK)DYaK}IZ#Sb{2amAKHYr3zoz>5c4R)eWE z$;BY80u(s0n^`?(y1KQ)_-)i&W5y`Mqoa~y1Q^SY)_A8o)xMBE-PU_4>%F7f=(0p+ z8FWs1hfM3qYiuOR@`|RFoDKO*P4GkHZ@`z+aoIR<0j>Y6eg3;J9{l0Q5B*BBHX>>< zSEZ*k7eDNPUi0X>eQ;P&zuf;0^!4?f%S5fPyAKk|F^}DI*dCMuynlYEJbzC07?&yx zG^)bRP8u%5%CZJZY6ZRZm=82l`HCNF9VVH$P3qCw+S({2yxFTejwHA(yJ;+guUMYt z${ZFii~)C+3jzgA@ii1Z}c?7`Wn7My`#Lmgt zx7_BnZ-#n_iVJt7MnzOq)CJ!LR9g1XnYVj?{`2dL$5x7w&H3JpahoR#xcPn;FJM#H zlH0v_VL^uTI2Zf90{uT8--7jMhEOa1`A5Cd2|W!fvu=|Gk9a!{1aT+@(Lf80Yri^C z(7!sY^*y%eJfAgnSZe0^fKMNbPXC(VdWYU=v! z$K;Jn(*(vgoruI`k$IyrIj zcAfp$x$L>w;!78EvpB=+Qc_j)Bk;_{WmGgVq5K(mEPZn|9s;^$!!ti81e@xm%5;2h zGC0~vK1yO-?H_ZSS(dnKX}~8#Dw&86eP%$2O*D_AgZzz3(v#4yNo=yc6oLFSc-w-5 zy2i%y6HF|V;R60hJ3x+sV7^~GSHx#;x|G_O*>ch@F*J!y=LmI;5x{@{#hQPxz@zNQ z|Lpho%#BYkt3Ug1XMfa@xk9Tjtcv{UK^C{Y0E-v8&+-aWV1x%{ay>fd2q~BYqsnJx za`UiJz8)HCQRiMTs0^#-Ze5SbtY>Ybq@T~*#+_rMq3CF5OZZf<SWqL$9iidMQ^L-Sn1Oeg@k``FYSYc*bHDvolhI6X=@Ll z;!A}F-(H){kjAJp5cq|A-F@URC^4hg@!!Xe$pMf^P75rQXA5C49DA0>IsG{!s^(QG# z`eMH8B<*RpLn9+-(az@P=C_vMZt9`1&4^u(!dB)ux$LiwN>w&$1((WSv=V94P7F`G`#G7k&O)@8nKnTHuu z;sm>Ns49Jsa7%mpH74L6U8j{--8VY2+Uf7L9I#*2dV?H2*{i5o2SXc_Gepr$Rj1%i z&%`9+;o&Jp7N1Ft%-)!~b&>Aw?lz5tkMP~aWsRc68-ac9FN~Ar>nu|KF4k z2?a6RGo{NTAIo$0F??GsEj*Oo6)-CId>K#z$8ShYWSdueElY-F8Ij=d$Q zHaTnXx`~xM>itL`9R3KKEDy|Ttix*1`xVS$QqFD^;BXc)ZsY%E=wiuj2xeqXD!qNc zqQ1LTAzCQD9jEh2c=vYzxy)l>DwK3##~(TmLuk5CVD+78>gO zy^vz;N&L1`CE9;`?*H}dU~3Br2^DJSaCC3_e~xq@z;K-tKxtpUl!>7>eZ|Mc^#z-+69E2h@r6XtNe4_X z*aJMW+fr!)qCr23)bVHI8tWK;VOk+KzxMpj(y@*9A&iTP=3ei^=Ial`B(AmkjPm*{ z;g0mgzI|zFLT&TP_vhiCyMM>FePNibI|WgD?6NE&c9yTKqqQ@o{E;>L+E#ID4k+p3 zUcc=C1BhLOVQwpL6qv4Ly0&AcSp;z8fN4^tWr#}mTCsdW8JRSh^KvWUxXeFp-nLDm zW$!6%3^b<-9G`OzA~HKj`lsAn*|r?zSMS4^L%~NDY30gD_lxswW|c-@%2GxP6crc$ z8j`&eSZr~NTWGKc!yB`8m8Jod2t7h#yKWr}XX(;`q7vRap_s(13_LvFDX^4cOCjvv z#>er$X9%$s=k)u$4}0?8vz=GkMTRLdQKq{$6$Y%Uo;USLUoO7`oy_`sa*N&wVz$bo z$Ik4+FqVXbveRR-v8T_np1#@64WS!~qaS*>)UfKg<7gBeS11SQ#_?I1Fqvr}&P&ZM z8Vm%(Nn-J@F&_gGK6_#Rjymv7o1H&{=KdamK(IEPP)UAbnuNh%)X&~-(7sZK8IR^pK28?V?D zE~8mWS)ULok4)~T+hF?cF7o1P`TBgnYTX6)5A?Y|wBrct0+Pp`te`v-8e~O(_jz?- zx>iRm{NtM!-_lPQLchi*ufF*!<<}E@%m3mVMd#J;%=zvhN#I=N;+m!n112Ni6w%eJ z+GMT&EOS)9y;&nMF=b`a?{r;8-xp^!{4ohAAFC>9U z>c&=@Wi_eS0CjRoaV1~zu!JZ7Ih=FvT0tA^&mEtGv$`R@Y~{Y45-Mx_=R^>~`$K;MU$9^v`CxOwVt( zIPK4Ou~qh^=(z#|*Xog5F&Bru2D4PASYxZDoUaA?dB4ACJFF*{UhBVS7X7IZWDDl? zdPKEBQv{)AV^<;MBqYM~24T1gz*MQuI6V56s+T|SNMQt9`eCt72C3&ejP50IPp}@b zSLg&8nglJd6fY7pwvV5LRZ2A@BjDM{+PF)oF-~t8AgeYuafE>G8*vS)~!_2 zi3WR}C8sZ7psIQI+3H=VPTtRlWTP1m4J8hs;NeQ>w0cPLfwgSkpP#GEJNEQO7W23Z zH2i7G6wqcKr|#=++oo84klL@nGP)!SeI}Ouol`XOW;Zb$K@;j#nICQiZg0@$WI{jX#*oAH z-w3=C3%!qQaTeT50YF3d;0u%2PmTAA{q{}k!90!Iy&Z!hOW$ipyXgm;gND_Rpza$T zS>tnsKI5Sw;NuxS!u3&Dg4|pgL-dzg!6qtT_2mOD5K4dlcW7kk1LlnpKSkvndCV*| zmxnUP`paXm{Aup)H|QftL-avrJ~TDmA?}=G_piN|auC&= ztN9~O%DCGq*F5j!oQ=|a>nJsY!!eM~HX~VPUR(B~hX!S% z7a_f&k(Es7ZF~t1S{CXLZ~2xoI_Fc{{Rd0M~C6wC~n+d^WFe1+_E-ke^n6CqEiR0pU)v_W+$=csP=~MFZ z6?dv$jHNP0yWb+0w?CT3SFH${1+RPzrIhKyu~EUuAy^Sh?o>=u{=-J(w&ZK` zQI-8Hw!sAKwKPKWNbL0sVXNTayIWvz#G|qj2Lw7)JUj%tulKls#=gHNP)qI!6B5o0 zmSA6*3ek$Ee9#^!ZH-{&V#1bgQ0XA+&}Mtxu&M@taJn zoWTb#>as)EG6_)D*CFm>s;I59NJ_btRziTceTNCGlWZmnlx~%FiuWYK z=N^lGwKk1=JMyDqZ-4lEOf=M0LAf;|8q6FEU=@ZGGOzurHa?xK(ob@%{^~#nA*hbc z?d?_UHSX=p8QSpF061u> zxd~-fCX9;Jg`Jil<%q;zlhnQVPW2iz(7}JGXv@Tt0;_A(5GmyFlMEmjZ_W8CtCb_* zeDD23DEZa*-j1@jL(<3+TZcmueyc^M<@+rzM#~>cqBpF;wJpMaJjh(3#mY&PPZWvt z9hr((S5?-Ehy{zze9NBTou!rJ%W2{vdkthb3!|d4Mw3fWAwel zPb*n_yPTQxAp!GU4I&r&>G#CnF~0YZ(ERjKH-Vgm#m~0rx?IGVB)0cMMGgWtVDXM< zAha{|jb&kCpR<&yej?cNwZS;w^AZLxZ?#a>tru)h$far-*~lAIc+VFDDX5fub0u<@J^)c&Q?(eTpq=+Xr=3!jfRJEuByZqLm@Ig%0jG5c{#&98NH9bRc||E%B&#Z0o!}W8;yAcsVZHPzkGY z-k#pJi}fe$kpKfh{h#4aEzFT)F-)I^^|wg%Jpan);l2m+*N0`K5OGSLDf|K)MebN= zg=YX1w#0z9VfJ>G?cYDYo_g;PG&?US@V1VaKTB3F5+&Qh)D?#$^@VTkjRv&ANV0uI zwlK<&h+tU#@L-?l=QQ?zLu3zNjiVz6Z^ySi+WhP%?c~HZOdzh|hYnN`favGvct*uq zzY`nah>V4BS=_vnw_^Yg+<;Q02CSyyog;2Z(aGxHlAn^?FGVYgutA@_PaF`Yk4Pu3 zP1t^iFVj1buQ*w4E}6;7rsO>#Bt+^2N%;ki!(S?8WrYHD9LN8B3qe05;fU& zm|S0hgiH&-ZmLJTbnO_&OP!o8hPe|S%KXNcb9h15)4?3^Hd$iI-jl>q4^WcxD8qyzF@L_Jq^%8#!PG9JQILtux}NZ1;7%Yr5xAl z8MoLrWCxmGDTO+Q7=hKn$@;+G&-gnu^zviAXzxBZTiBiKf#_&nmxH*&1Op)AraEIn z>G6bR@9kIJf$C}hg(qeB^+Ft|DNtf~{$^U-=oW{sIVsh`CNXri92r4zyl+KJ9|CKr)ZYGCFBkkbzkNR4T8x0FEBx9bGhFDv+r&GL5-EOtpU_l(q0i) zPTdUitIlYU(NEdu;=&_+GOEjwIaY9uX-+h*A_w{BsKWpFdylTZYHS=_|OBa<9x}1Wq>x?KEWCr5l&St?USrHJJ%hl&) z&hapf*>ceev!TXaA3EY0*>m%mW-N(gt#k9ErR2sW9%-1)Q4})v<`2Pg9^v z&qvuC#sK1M49ArrnVUafYNW0SDup%0$cv0TAr}<&}Nv=;#QBE90u%v&0qUlXQ%Q8Li~^$yJHY zhj7i`DxbHmErzI%-9Mk1(6m&gJ)ut{wQ$Y+WJ>&%weRi(^&#pEkXuHdoq5}u=&8C` zX#)l&T5WW_JY&92o_wuqC=cX7Ku1m05_`)&{A8W*^y}=v=5K@)&0go7%q{=U$k#siJ_>zfUy6v6kUggmI?vB#IN{1;(t#J?{WKsr zpQC*;Nti9t7y016*?|=w_ygilX>(qEl%!@Ql((k!|fIQq&swzCQqW#dd0`l`1Org zK{^1eF@^?XsQ0s`T)4|~ckY#*%T4|;sP2rZL_Rj;2(>IK#a3RvP)x|?Jz)(oY`bos zw-BKlA&%d_5|4}c5JN4-BrQ!V9dK65AtPAO@qFG7cmkMJbGe@kklPMKk{U*_E0msr z^MUA3ZpDP94!?0KG;kSuce6aKkX<;U7a`H+l2YNONHi9bJ)}&iZomQ=6F00heq;UR z!vaYU%?HhkP+EwCrQ$LI#&xzgGkQ(B+WtDUOgLg45>Bo0a~a7B^T)QKC3Lm%uc2PV z<;Yaif~9_$Tk@1xP7HV3npVcwGVK3WkQM+8!HR{n}^~%`XLMB{ole!tL12OVddWEBw`fMqnefIRRXFRg2SZ8UV!KPXydWfbu zq~c_0^X2wek&Y}Njz({A%T?2v$c(brVK#QSsOJNcS|i5&p1otA{*M;G?JWG;F==!i zTlpz7n8u@{gcAV+a+lI(-ve=i^C@py@3RZ@ni0 z5%z?nB*mXss`9=OD$6_2^#iRi?H4ksr{|dd+T~#kq#YHWs0e-y(nw+W13@M(F5VOj zg$i8EmQC(T=o0p_AR!)oV7VW)zP`T0ck@ZkA3z+d3-jm-NcaqdX}m>rs-9#WaO_5F z8+-x5K3yo(?%&k9k2e(qMyOXX8JNt`gcC1;9PaDe^SRl#duGpR_dCpcOS;!$Xxoc& zy|UUl8RvXuMh6vH!-PJ!KJ?-C-(?GjgjB&&6ZkSk$QiVW2m|c_`2eBD6sejhQ;t`L zJdJbnZRLu-TS`VHjEwEKh-Lhg8-oOh&m$FQ*~vkA9p|5&l;B_{SAR|9u{n8nkU`P% zlv-R@be}(u1j~bjZP;AA&sNzZ*(9*yjc{YkP2^w5rW1HrdIlV1N5374&l9t}brNX#$I-*fc2NkEUZ71gXBfxOnU5`t8HdGgeAxVsFG|?TDIg+U;f_ z_81x%IG2dzcxdB@CiVovQ99FTjzsgVCUfQ;GrQs7HRr^{HR%dd=P_E zW=`H`E>{gBX3Nu3akv4j)EnJa=^PzLa*y06=tSD_@&1 znMRb(6Mz4{h<3Ch{a{YYWDK2i5msg@55%mQuTVNC2YWMH3uE8leywuQv8;)!*zKy% zoVn;gK|37_Fi7FASht!P@!XhD)MGsZr^N!QsMw8GrvD;^+{()*6p_1gs&A>gqYIs* zMcDxujAqn8RY>r8h2^i}G>bkk_o4675>O6gRb9{eSQ+{tYy>lbahCYEVXA0YWpx}jsh>MGh zd6n<++BGFaPYSe`v$KmHO-*bL0P*>ObUus8V|%Cf0n%_-UVRVt}PaaPH^MYlJ1 zYRZzU(})}Dm^dDtR5(cXE|SQi|BVG2kI9dw%ack+Lztjx?%uAsrotu4a~$&AYK`K$ z1Lsh2xnstWK;`aIrET*p4p0*!3vvQ>2908W%<=L{tL;F|NbQ3lK)C`!T3XI~KAmIPU zf1(=eN2XyRe1*rK=h|#6GfT2|DUFA0a&OC3daHE-b&%ue@OsAjXyz7eY+HyF4u=nq zjMV!p8~Xz0s6czV2A$+9oL}zgQuemRFzgpjh2{Q$gxJg|DPX`VO_+xT*=ozXc&~=m z&fVjr!}3FFn!N89|H$a5%THVYFxQ7n`x}%+gC*XUxR|phi;H*ay_SvVijSXZqISP_ zjj7@ScF~^RuRKmAsie!ea1ho4^)*W+J0=hyTf5jBZH=tGvc^khQq)7S*M+V~U@YTE zh2bRK&r#>qxlbAn^+s0sAI|%PC#uevd0v1>3!0Ojp58BY0?Oq563^Q)?^cr=rCdG( z3WmTpC7GdRni12u3c(|*1pJhmq@WfiJ|n|%N*SFCrS|p_1Fd)D&-si+oz|~6l4@aB z25lSAzBo>{=YEv!;`v8h3IAe9BUEZx{Xv^D+~4jK-XRG6O$ng0J0>=JXL(8tcIr)ZG)`uLi-EN~P^c2qSEg4egNHM zCu>}Lw_Jv=&QWT^M3$!*Z^4b?F?n?m*Vm#CvPK^?s?ubF8ZVQJtKH z-HbNfiQ3xJ9{d_7uiYQTi`PcxJ}HKDnb#mGH91=TEYo#=lo}2~yI_lDP?P9g^P%Nd zcE+CM?WjPH*Ei;#r@*E|aI z9Cq29p^Jbo;bT;7?~i1FnnOR1eU{HVFbmj=)x$0Awl3rSjyIOasDBWf?ROmdyYqEV zT)WNDwhcEI(JJUovhu5~- zTT@JYT)+oTmISx~A~_&!yub=EEkWUbfeq62`!rs}_PaL1Deuo;PU#7-vLtCsLb;vZ znhlM@Ia8XvmSV~4VJT6tgwBy8pQEw>?HC*ysFBeV5s?`)f?*86!I~3hVq&tLPR`om zv*4W;rWI5cYfx+a58Lex4x|j1(G-tQL#b`7Zg_9@wqzvmtM_QXljbm#+I3CT)#xi@ z^F|4ec+Y0>@rSUbyDz_LzkiVf;^_dZBCHYA+V@|5O3cpu1bI_1o68l0F53k<{qT^T zt?F;f7d>p{2gFYkl}MI6v9I<%(gzmhr%2?u|AGi(18NZsQovd2{MFF_Vt^@XuKm2r zpS@<_C6Sgh+bqGbrZk@y`AdtkeDl9(Dv_`f1~MoV%1+E5<72&SHu$5-8kJKEX?tYD zBG|(Fl%?emM#7g9hk4#~`7B2YGtU)6F@__Rxyc9(nASddxu&|#l@n2Q{g$4(tXlyC z5t~NPSAm20?h;6unmC}%TOf0p!b_;lNOx7+*eIMO6SP?3-~)sT^pbC2*39LU2ds%9) z^rjUCTy1Pd;{5dHS~&2nr#_G`+$_6WB)VIyxRuI+#SU{pnO|`GaWf+ti)PSUCOVkf z+K^dsNy#GXk1%(lr{O~>K#iepN>=6Z&HK4gk2=-~Z)9szZ}28< z*(;apSEl1SJDwED&-&Z%4GawQU@*ABnGz6sVjVKt5vkT{66(jEu~gZH6(eGe*`H&7 zq8M@W937!8wnY`$3bV%Eg8U;yG5*=%B?YXdmqP>EPb?S<#8b7sylX9<8Dil z3hd)*GGs%S5E?k}6Fu+sl4>Qk^n*@k?`1Y}FjWAQ>7-wanRIVnZThcV8J~dEv=eSt zB#`9=@`-WfA*f&Z)E-&gfLRYVnbiyeHhJ7k7H-2E`DW{46H`baPa~(~j5VK`3a_pc zUoPd)HxK(|X8-`IP%bB{OvTLne!VX#D25ml$VHJg(NlQuON=DR4TwX7d$s?mGbe<{ zlYYY5xWTHR0V##W?%@_;U@fmaSqpGw#Gl=i7oI*}WKR4;jVNjv+lWcQc;4*n_>U;} zogtdlRjdaQq8}zzT_yHg(??xcdpPZ`tU_Td#d5QWrK% zua+vq=&O()9UE)D74Hdx0D;=Y&zqdKMo$4e=Ne@;o&X|k$nZFVtDPNk|jKqbuf#jr}N z-u&MQf({C#i8zomO|@HKc)Umr>^O;Yb+BH`)4-K`UJNVpKeUj8=@f1b4tcN+NZEEl zD?SRXugX*cyIvx#vxT)>0MaJ&E#v8P=u8sF1ii1!zk(G}p(6TuP52Ts5?UQ+#;T5? zF3eJfH1(8`<2@F^*;#HA!lQX=W#BCdJjK6un@W*#UwcqZY(A%uyC=yT;c}1v24S8g z$y?e+($=>Ju<{RrKry;0%KYQk+YsmXzcWHXst!aE1b5T2St3M)u(ep6rS-koN@UTLI^XE^rw6PqZ=%dZXD=b_e~bp_rF(tF0bo9lGdnjo z4%GatBS-m$K$(x#iY6$%&i=;M)at3S!Mw;>R#F3J9E@g5iFdSl0DNI zWH6XU*;*X2uiEP?i>CekrEDZgHhr)^e(|aH$h0#wQE*x<>r*z>N!m-3IHrk$-$xwk zD#>jP*d^8;-h<$-I9Th4Jd}SW0ea@-$H%wN=l+5nai2A@_kZ^7>$|j?82zM8vHorj z*3^_wh?+#py91V-q@hYr+;T21PfNrV>Hb$N1s5grEJXc_*mH8yS>fQwu(IZ@6TSYj zPh620-bKIJpkCY~WTT{^$;l+%N6VC;m@7v6q^vp$troAh1wjSEFN0u8Hqqu~Z}iqb z!>>nO4i4GEMHsMC?~n{`4k9YwIU0mhYjRh#lO{9alTLqJIQ{)CNf=s7#O z=uz&eZ0g@<+rJ}nIk-yp4PH2DxSHoq`)YV(*%lxd+21~OlMpNvO?#Hl@s{Wx>F8sW zHxm5_6cIOs&xDC$3LEPO)M-EHM#1$Zal6ReSBG~X>p3me4qtC)#e>UzNQY_-=3GrGdE>P$Hn0gU0evL!4s{D&s~a z1{4qFCmD(LOfT!z>u%(C8;r1x%K2MJ_%UL0a{nMqrgEwrT+{y+vs8 zdt>4yF7;u9;=k=N){1#j_E|Yo5S7kfL4Nu|8<{>V4<&1{V`_Ow6Z53Fl3rF}-$KE2 zU1fWjOfpje;z6G<5~z~!JWUHKNlv1Mv<{=ZWn>u-*cv zH%eQzDet-5NX)6ttn$Qnii{RBeOA7?m6fl5{FbezW4B?%)ZpuUu_pP$NrJ5{jTs+ZJX#3m51;wc5A8v-*1RSl74U7>=k?N=o5T4fORs{_H4%z_Fg3A#t; zpK`~2ctEKaZqW5v9oe((XM1a<+5eXy!149i9c4o zMRa$-m{R)mk2>&>Qo9%N^WCq%LFaIxbg3hfq+2cWtKC5l>hH_~AMZ@2&~a~`2gLDk zsih^@pmyXMWiMu*6|dpZ)(?ZAeLIrTJ#P9flnOEnRqqnW2lJXzhFvbPq1gi+i*FP6J?|77dhK-{UzZj zZ-8CG`N3ry@hOYi6JhUdxQ-%Qu95C$Sp%}!I_n)MeYFO)0HQ|Lulha!#@|Kyw%Sug zU6;e(prTW~k7_Kvsa{GB{s18EU;-KJxsE4gqIPhSp`F170gmoUZlni-#}wQ4NloXA z^)A3O7a`*s)y}?mR6b+FyguQ zBe-B$K^F@k3(bFlu<>395^f8xliRi_Uv@|cRbnYM3vS~%k%V(}MNbY^HGBBDEE*0> zN*oXP*M=_+bNWAEwenw!GF4%IOx5q_{2L&ohGo%NRa?Ge_I7p*pmPv~sO>dI0y2-> zm1cf`V&=M+bG&EAtE(j&?CfbIx?Jh>1pjKyb!SwP7+*}m7(+kJs^a%Hn?t>XSTQL9y`r zg@8Z_REND)g>D@R+x;?PX7G^s!@(l4A*Td*MGezCzX3~0-y`OKzq7dLS08l;;#qKW zr4|0%8MbfBnj1BW`9^Q$1O6?J5a&in7v>w zrGbT(&;3G{CGBr66Hku<0gziZ#)S#=%Ia=NG#UzgYxUT8P_|itQtM6sI=X@O_5Phc z;H1q-EU92`wee4T3~y?FCt8ZVt7Mh9a^w_V_xxRtddM;#G>ID7;nR|DsmxjP|8>>yfqcnF zBq-mr8IEUcXIe~8s_*oqoD!hc<*uxEKwR5MB0csboAR|cQufPi>_!T7U50P>6ZNM3 z%`>Mdpf4Tj`|4>5e3|A-e=A?E#HbSD>p;ie4gZUyYKY`kdXWEvM-z(cqxoZ59`OGX z`Ww?q$u`>|ya%)}@bYLxkW)FHF(+zBVVHP~;t8?QwEcpoZsz1>b~;%K6ZryC@?4wR zWG2Tf7U^V1>2p{%$n*ilbyi>GBj@puiV9(Uy8@{d1e3 zs}EEuk}maoV;&>t(6(GbJ$>ZJM#>k`h4u1T{kd+u`sntivA+kI>3J7J<{7%*2I6kT{qwQqj_J`Uq|$C zsj?+^c7=>n@R377>7XBY%;w>!5IYxF!>)cs2S~GVqy5n_e?!V;XfIAbTh`E+bEHPQ#_+Hsn@NHOilUK1+8Ys&1eC1C`mDdqm?$Hrib!@3V>4NMt$%{}xfPeD%3x|htCfQVSBD+ySLc@biDsIz z;*5-pQhy_H+p{yOdb1O;^E)01?Uz{z^Ajy%QzXR;w`~!S5k)S@U9iLbvjnH@3DeA9 zQOexkcx7(i>8N_oV9lcG>gxU>4E6Pa8`fCFfEw?)s}ll)8%2{Rh%6)B16QPy^K!7i zQ2E~1A@(@=rUmw>>L+B`Q5;FJUo-P7yE-#ypGNY@s9G_hMxK?A3ql9wMRG-Rid}ha z-gBpYJ&oTw1Z%B_Y;dN+XvzE1RmrFdR0|MVuTEvl23`NJI?g+q>OcPDpKE6C6%ipT zt6Y(gj1*n-8=1MG!j+XItFl*;QDl?V6=mOy(#+}7MbAIRiet$aW zy7%1o=Y8Mf^?E)YCm=={Rzj?cQY))C5m;~InORXH*KYrf(ev72smxBt+({$1%YA-* zq=CB6o*JrrhN2Q0w?)4uI4WA=xPF#=OLRQG$d{&))9z2F;+@t1SW!^b+NaNa+vcYTx6~NNC|9*8nvAw*!#yEIjlvcBC?DaAAZCvd)Pkx8f z#Q`HUU*Eqj?ryyvf5)5erT-Sr^(>)_%2K^=+B{UMxXN4faG8dZpn2N30)LM2BEw3J z&=Td#1idMpO4mX5L~+B4p9ER_!UO(IYc@?Pcgh;dCM9gBWPi1dghuMdpmSzyZLGz^ zgoNzjbSa|;vsI;?iu2#P+h*UN-di}nc%dNnWZ=$igFhT}*lo=nqJL{#)2MN78gc9? zq_*;b9X!T+z#ev>%J1CTZh}%71v1%8l%|W@KU6j_iT;ZPvQxswj^_QBQo`li^u%5o z7)@c#@aME!R@IRtW$~qeCoOzYDf|i(g8q5l!=y9Pns{;>i6Te<+vNmWX7w>782prb(-hc<<~D4 z9Td>`5Ja9NIHji28;Q~rEvaAaf=)kGa^XHrJWq@?a_cA4x9jlm*va4zRu4VMlii$4 zPvJ6G-si*&wqLjEG<+oAb7j^0stAJK_)suODB!BEQoPq*9nU<=?Z3#)osE^Rn2*Pk z&^GMv>BB>@_EIiGx+0plo;XI&V;Nptkow8)U=}b(()aMuzfc}?PDHB0hz*CQV;a_+ zx^6u04Y~Mn2nkmPjP8>nWbfQ_rnn7UrW8V=(M-FzH+G-pCcGlYXTJZRMe;a>_;`Ww z`>(xkOCIG(8PVsd>h|StRjlx)@0(eghS|yL{lTBwBU4$GRlz^hj7LeMV9d}7ewyXW z+B~P5k7E!Ri#vy!I_ea|nGd~Po$64y(JSHhs9i{W*AY3qg2`P%i-EGm(;W`pJ5g9+LMwDWwFi8TcVqDn4tEAe{wqaXcU` zz_Pv`+?Uh!mJ@F=KoC~ua677HYM)NNbH>JOSoiNSfXg;?PO-G-C~>d9(|^ zuOd{-s+?=nsa;>KE840S7PG_}hmmu3#AiLlMRel?A|YXepXq#tRe2~UqRMmpu5d8Q ziKeg37*470ZQy?|4)H*%xL3R&xWGs9T$mL9Ma#gs^wMC}*=e&BB=6k$?;i`g$sJot zT<>{=JE?VE!sYD@fgsB*Ykf`09o~n5f#HQMqy0TODg*(>CrGe~f7Qc79@26x{!4Gd zJtoL~n~pyUiWd~UWov#aKB2V4IP#2Odn5!+Lq!Wbi~@?@@+Inh;rtsc(Ai2goTI}K z!>`P|)UYiJ!Bw`?#3#|pB6ZUYpb%)ykC;IgxZ^wS57zleqgNs;LT&y<{?!7)Tz^xD zr2e!xmAs`>v761cED_GA*WOc;iUlo}rXiAf2ah{30-$U*|FqF*X^CdpS|(-p>V_^1 zGkvH!jnT|cem{2jMiEfdu zowPzjsQE#ILcb1{O?y=XWQ2eI#f1W6x1wR6FMX7AHFKnaqe;>)+kQj@v{lS&B^A8h zW1dvGHrj9+eUyN9X}{X*RC!K%@b?Vw*VL)i`ZF-e<7t+i5of~;wI{Eo(!H!b+r&1$ z|7{3|Q!95;Qc`87N~)^Q4K?jjWzY&}x#$=s+c+mkmW)?_F8ucT=LK<=A%XDQ#BvSh z9VkCj6dHa;If;P3BjJ@UU&rnCw^G*UI)Dkn*b4=3^WyuLwqAv%{KfD#^QLvF2vHrT zDm?Z9ezQH0*N8c&L=Vr6Xfay->F#7J+t;){mXnKc8SfgP}El9N74G^$eG2DfFV;Evtg>8GJX#d|A;&}`DUjxrczG1jsH1t>1#7xAL0XlAAyJY z_Ul3!sp#3#Y(k7)Q^d~@%Ho?caPgKOJ` zK3}zF6+K;D8Z;yDF;hbbE=<&#qY+|6Ky6ds^IEav2FK6Cr=kS0$_&nUrbWl9{?;+5 z)rSKcm<7bEZo$_|9m(gv>No6MaWhZns6He zWY=n{gx`C^U%Efu?-$FPh&2jG{nX;RArKg>5C%KhA#^Umz6Coeo$~7LeOS6bU)zcW zsHVvDIe{tsUC`ASH?w0@GfIsr`_pOeBGS?f(5Uqpo-D5<5Dw^YeK1}$Q6O26#l5@# z9LYE$!yuW$bfxgXr^%7lU8AdoUfVw0qsa^A8INL*@-UzXJ@_rIbf&BHJ*R!lMISI z3g`YTjS3;l)s4GMFvxl3iSzR0Kn+0p_P^X(I1Ydpau@}mk-Zz9b}RxXgL&*q{U&R1 znd%CE^lPJwPnr*N7T*z1NxETriJYfd5p8HG8$~Kylfr2c_1c^#o~4oZ!#Y z^npSd1{e{b_X3jMU2UGiJDg6WwRc%DtT0+E9QS$hax&F=3X|$^t2QX9-t}OL>_S$S zh;U+QMU3M0xp99DhdtXjcdiWAc%&Y8zW8E~G5h;n1P6fO5e0@Zc0lD26c057HnkBS z^WvrCJ_JlAs)h*Bdt-$>v*Ru^YShZyZ#ik_u}V`_CjWG6%NDQIt)!_57RS)3UMTT; zGqs9!oKknQzGKQKceT6H zmTcw$5pEreb904R?QE@H7ei0gZFwHDIXUB$0sfXKc$YC$djOh%HpPm+t-M2=%;7?r z3V3p3>8VvdCfGOSp+)o;`8b)r=boWMkOITBbuA#)7|8?1ni`uRNqI-|TU&l7w8#3! z|L?7l6vFYR+#{S?8+2Cg!BS-v8x`UC?e#_h?E!63Ijg*8H_x&c+|t%5kg03ukoVK6 zx}pbV>Xlrf-2(u5y@M~}b}B44eU0z9)5qJ*1835I9HTx+tF}IXZ-fGwsmjdtCSU$z z&|?x%F;OmaNX+|E`>=QwD;q%4tZj->0EvOG^5eGENW~KCeRv{9gW-2S8WP_+sW}7` zXIhY$(^ioG+H2cAGl3<~fL(pb;l{vGQAP~Xl&7C4PAS33qa-FKb_YIV2s6abThXsR@zJtqBS#l;lMBNotc`#uq`ksDub*Q;*K)5weFW z2Ozn>F*LdthE69qwOdq7)`u5Nu9mBH8J@`}J$9@xK3Q9OUf>VlhzeHwP^ldA|-lKJyT_?&bzJ8_t~ zjv@*3ZCCS-9GCNK(UOol;r?AfW3vqh7t@eNNaTY#snGmQgaGwWwL8ljsD<`5&`(ja z$05N7*;BD@mmhj%(2kvOj16AG4nVDY<(o^{4|pmya85!yvhxkYqA`U_bz8RB?Dl*t zw5|4vYQH2z{SwgOtoUqdOKFaqVl&Q;YG?Ru)g$Q*ny9~{K^kb5F2yd84^nUy#UE5O z4l#$X!GgeMpgl#){umK307;Eha9d1y?kdgAG1nY)YuVr1wrIGk@~dI{*X%pqz>p{x ze2D&a^Ul8ONXGDI-rayaT12_!!pMk2= zHq$nJDMcFQ=dvm$3#92iElpd`RA$rjo6+AGk`>F`ct%g{U`SPUqmN!=_a_d61Z{oE zeCgaJIA0f2ZkWFI0n}H{esiRZ9tl`#>FMchK>$V5M1SK5QprQg$)V`d*oS-xcwAuK z5oa0MS5SKl3xleNr!;PYKm3< z9sv=~+Bs8aI`e)#9`Qm?I;o|m=y9Xf)~FYCQis1LY$wg%F;?VgD?Il(EUV>@=h=hk zVII4=Og`+U;BH8q8Lz$ z{GFR+y!c(r+O!3naABtn;V0B!z<<)Rv$>Wl=iVLS8E)9GdrQx-O=-|H;{6-$(?{U; z;8)K0$5Kf)X{Sy*e>jeKEUkf*b*ap@=4U|~DkDn-rQkM+Q(tw|#wBz;s+|O^yZDQ-f zR(7Di`A7FzAJ)>|rlDE%{!oK=KnFDEB8Z!BLm3p{J>=T=&wwYVrd(R1o9aL3t9sOJ z3~uldf}pW@oW|}6V8@rc&$3*B%6iXyBlFb`HxmQ?{A^DOtO{aI{(e>1jU8X{L9?yI z#O#@8i6|0+7$Z3NM&&|#cZ!0aK{4>(m)!zOV#5s}8 z_aTr}fXj@7L%09WAfezv&|bWn*yI>tiWEhX!4nid~%^lkw2vZW=G!$oYJB%yI*{bN8(`MrYT9Ze2#gf^ypvrsq$ z%yYKiQlY2^X~~r)N|rG)zq>YQ5CW2n!!pZ%KM96vggxq@7z?3=QjY?3doH_2ct(yC z4od&kS-+U5oBM{PiAgKF+ZLg2w!bMBoJm*4!rk9JdKOi#e6kH24m;yKjhav& zLhH~Y^@}IpFNs>>Lo?U9q1n$Uq%Hs_A~I@UgL_*xoCuP|N0DV~3C^tn9t=OG^8m$7 zwEhtYO1EUkt5m&QEm#5WY zNI_H-A@#^Gb=IpiEMP^k;I&}{8;aKc-mV9LTN7dYgeKVDBBA7trXf5Mb`5l4=oEl$ z0y2pg^6Ov@%TMq=_EMRAX?4p}gSD(95hg#d<8p-BDej%EuZ?6N1`h6CznwLG z^v7MJz4z&B{t&7Td~CM2bd&6lh=^>4G}7E}_C-)tV3SgL)i#{Wgkd&Q(l9om<2?VO zI;XJk0NfwmL%H;YCr#u{uI8@2Auvb6^(PxXdbTH*79BW%GOj?HxhIVXb*Z0vmx5@Q zxr0^U9FQM)V&L&ZQG^17SDZ?|!JjZUrEd@<1=%j7K}_d;dy;gy=hXSU=g)It$($Xj zS4Nd?aH4PpLkt``;gBk_r0RNYDxM3>LRuFuGQ(v8MS)Pl8&3Kg5aC*Z%av8*jUj68 zoN4aw)ko%^P=$zMt~K#WQ!g)oIBVzpty}B7otvK!0*3WVnl=#Op#TaxK+*vThCk3A zF*)Xk^b3NE%D=wR+ROlG z9bG}iC8w&UuaMyyB``QRXe>4lKpzc@U<{OEjsOv&7bnmR5iuhWW3H}x3Y@xCn*5;~ z@{SPMp6D$yg|MDyH6Q-mg$tDbHduSQ#&M-KkS=Zg_)#1Bixsb4^?*te;NRSw9FcFn z`ucQeHJ*}|SvzUOFXCui`#ug43VZj1Iy5wNe!NfLRCj_|h65NWgWgG6BIV7~!GcWE z#)*3WqfcFksq^Y`7o}^m`>pfI{Jsmunkmbt^p{_0Tch~reKzERk(b~45>nODdyU;# zlZR0J3*Hd%+v!f%akXpW0qMEJF@6GcG3T>h^6iRQuT{Z7deHI zp?%5N^gO2gsam|n+Dzw=d<5&! zsZ23|jJY85kGR##;r+-V%*YmUl2+5bcaqi9$g9oR|G3F%R!xN)vY!^U3>g~_HDM7e zOv}zNfqg~i5pqzYj$)Q#Os1DKkoW(Xf73s(mtf2&PEwCi1y3Mxn3L_i(r06p0kK^rZGo7OUkc7QszyMwt5^+1R;P{{bN(e8Skvwa0|@vg`U?jx+Ipxg|$jJakxeLPmOgQeu2& zR&zIO;PW|vxp8mt`z58D;CV!DR@Ebn%4?5O!%w64c#>6M4 z*s`J%Y$KD?x?WTHQTa8|$w^(Wc{p}Jy8&Z*+eRhdGd{yMWc&j|6UV0{-jQ@o_ijz@ z%IT6bddz5BR(y2M=+v~#E;(JViBC#TuysM3cDKDInor3}>3U61IuQNHfI-o{(=%+* zcia}!Cb3<++oL<(aoZgo?`Rj_xznxDM1I?Lx3_KAu}#b!U1HjI!Exj7nr=Y1?+(xN*0QyZyHGjFD|)?zrQQw(Z)tZQs5P&S;aFo0b)y z(e`dRBVosPr+u z%Y*Rx4m0wzA%$Dw6z$9E_6@_DszR-s`7?+^9=xeA>va*W|QGvWwl z6s^yGlG+=LghhEKMMP&-a#pG>n4bSmioVqH@5nlfhEFGeh#HZeF*-i0Tl|(H@1lNt={3`G6YGPB~-5^X>PzHUnf zl8&)S?UP2tc4*VC!yO&k#I);>&?deE(sfejq)xYY7|}VgLr0qlI^gm%Ko5iyC#S`y z2J+G=CieD@iScbZC&VPQ>CmxL`!;v92kEgLlG@+VxpU`4TSuh`P<@um&p>fcawejD z?pb^-I7Y+E{f^Ex#hCbvOdI9BuGg4}FEG!j3+NiopIzb;$z!@@#*ein-PJZ|pP#7H zFG@aBwuzmg8(XKCHtj~V@6-nJ?c655V+V-3Q~S=hkBGg)*6#L16Mn$ue~x3^C|jEH zEWc5A>e8W;Y1E2TKI_kcWTubE8W*2o>p2o8*G(0KgUmW7x_!snVqyZlO~DMl=+A*C zjzS)@C3S0S@@4Kg{gSf>xxYnkiRo!$Z5dgAL3gl^cvQ-^jLdE$GSWw@4nW&6X(OYv z(xd-l5LFTifbst$uSvFylOw5ESLMSn34_ipDg~iK{VE@||-|Ts~1Wrg2VOjggY?oO9yxiJ~!$bK+`@lziu$ z6PHgEjcJ?{S7W5)JLjCZe4=PfN!t z#z@I`&N*@UMA4YWIdL^cO1^W>iOVO7#x%}}t1(jYopVlHK2bELaZX%~k&^G6bK>%e zqA`tg;%bbPeCM1KmroRpX`B;RW2EFe=bX5FqG(LxoVXezCEq#c#N`u3V;cWfTuuBh zSFokwjSA!N>I8oGLKk}Xf;J3aEvZ3UB5F)Va$45F?5r`_S=bE65;+PleZZR_(nloV z=c#;J@6?PTwzTZgbOp6(J-A=5-n4#TbaeF4K93AVGeYzh{Y4)UEe4Bzq8A+%qJLVJ z&AgV{w6795Hc;+(I* zmPWgJrDmlW95hYHPEN%SW*ICFMe^Cb2RwQoOZZMY-O>hMehIe@knli$`9mg-Uqom2 z9+Q=3@(j5qWcW4)kIWq4+vuH<*4w|4mgV2LKOr^KcjSSQSz~=0eMYC=?c0FZ{h)g# zri?UX!QA;YX(f^dCq+jmrDrGfNIyuM{MRod?TmfBQqMfES4Ps%htjh8UOPCIY{~c6 zD>W(lZ2Jdire^W}K{=^CGCnoWZ!#7?hELDHkB#wy48s5ijU1F|8WFYWT&&pu@3)Om zU`|6jG=0oj(GE#WRr?2JB=&gJ#41`QW~7gK7(Y85L>__PM4RGkP6q~qre5h;S?Qxw z)6+&87d17H5D5YMo0I;L|lXkYB*blw+Y~p}p2x z-rHIbJ(?i@3FAE)AFby$xRGc5v;J;y!>7^9ZkRf(@n>$e<1Njgi7*fjasZ|vB!c%C zUTf)r-B=7rcTOakL6er0d0IS3%!p(hW7ypqOE_=zzdHa| z_{fa(>@h*R!qkt@%wXJS2tijrs0WN@@!47F{cLHr47`>h2|EP+5Z*Ysi8`6~(2@S5 zM@D1yzsKJdmD7vX0D3AA zbM9WnZRPzfsIC2rmY#R_>SKXtk46^kH@N4ck39NVbolr1M^1P`#3yEs={ac7{d7f| zBAJ@zA9Ui_rQCH#8-isXXyiIHaZCoK!%wlar+3s~P4O;yT-F%u*W%DVKOu$Nbl&+X zLkA^%d$9i-ak0?k9(htUW%h^n9w4l;LNwGNFn;%TP{_YotCiVGzK~~3$wm)>(c520>4Lh=b zsp)&eOJ$Q+zWl`xzt+CB>dT$K)eRdlw&az!S8v>P#L=nW!z0I)zWUCZuXZ1;ZzU`i zP#eNDg@=X4G6`45v-JK%nsGpg%JVa z*T;Uo9Yid+D5=jw9kXnQeI)!j1vmIfkb6Z_E8}b>x{JDp2ELp9&u*`;T65RU zymakPJu|1j-fQ(&>v!wZx(_*aL9M6XlZV!CX!G{MV)xbG*?M~p)LeA!jw_zDKfclZ z__41G1}=7#d@^ay*wy={rL0~%?aM{odp;mV!+qWFnK>u-sz+9wT=BzuH$VH>joC}z z{^UDt`;qYV^*dZ6Mtk=T8?w3ILo1f9{&s9#&u71Cx^(x4#nl7aj+;N?MBn8*^Sb`) zc;>r@4()i=mi^%47w?KKnm?^@yLD=3*PXA7{&vYlg&W0Vmt1yPZQp%MT;2QaojH5u z9rL>1dFP^pADvEva?mK=c|KW@DcPkgHxFq!#Z^GuU)>V(L{dL#w zVW9)Bdp@n|pC?}(Uoh{r$|J|}E?#@({8_JjJGZ3$mL>ZySs6QH)$--9_x^pwQ%Aad zwd=OE_pIDKC+6yG6G(k4}xtNt}9X+WakJwtc&NdTGp~ zPiF2|H?3j8Rb8e&nig;C_C~Wd9ZQF{S##BOzb#4JUtf`Zp%fF#^=9MjtJ;;1)VI}j zANKrP`^Sxc^0foCuf6yCYI|A#fpY6HeRWdTwa>lfDCxA-{?@R4Kh3T3I>yg%b&7r2 zHCkV{VdL@6`_A9_!w0V&eXwNntt+lvwDdRPSmD;wZ=KydzJn7UBmyGYv1|p-p4aHo=CakkFd?n ze|j|jXYYage$=O3*KxEImq_vO_>z=QF3;b3Ji$6^kgLt^=SmBXjn`LXc{Y1*Ui8Vb zF}H=DjBB~gGw1TPw-l5e$@=GO?_~cN`$(5-pPu&F{7*kRx#FR`PAl!PAJxuz<(DpD z1MmNCOUHdryuKp+s}1kREW2#q?3-&-lfK*a&~g36jC)649<}Zj+nc2^b2hCUKWSP> z!7sxr>TkZJ`{5n$W%paZu6?_`srjby&rF&M)8Fu}<&St^d;tkB%EUuJ@Gmnk`qpx3}Qcn&v6pN^2J0^y#LQ zKfZEbRxx_@;X7V>Z37rradAZ7*M7tL<{d)EDQ>m^HTF(wDP~ z2jneX_}qlCpL}0mFy}(|IG6p9efC3({&9F$)Uw#+C)e)OI&^+;#<0g1uh_SycFTh8 z`snQLkGJdI&vE3{lGz6axbJUg*?uhJw$!{?k4tekD16*A`MX+u&d3LAUAdih9G|*4 z`;D}>CS6os`|=-a^)2P!{o|cz+ehbZ@7UqMA9FKPUq9OId-uie`ZSmQeJs5lrJgHZ zTb8K5?|tp<-L@8Mx7bGKdGFbO?AWIpFD%czVy$~!%E=LxNAw*M>E4^-nprVr>#6Z8 zZg2kha&PCaE*QP<*rQKeHDL9lwG*C@qG#?F=Ot}hKmFuqhkKWwioEIfe!J$+KK}Gi z&$;#`-a57>tuk-%vCbzxoHlKr&A#f`iXZgMy0#7F_wE|G%bJ;SUvjMLyRTQRuRb~9 z!0LqW7kGXfzGfj*aHL#sU4Gw;jRgZPbp3KkWoVh!-1^Awu?K#AZ@?d~AKqGb+sjkt zj-T8zP!(+ECuRGH8xz*1-z9ez+UfYJNcZOY3XP@7gcPt7j+F8jK}k6Gt_ z_rQVlRYP2xQ(oVG>*#^|Yi#{euK4ie{;pd$)D9~c=lP*--|w%wo}Bo}z!fLm-QT%Q zPub}WlVXVe%aW;K;@H5_!Q*>=k@W234V`bV?e^;0im}%60ksY(iuw;6zHQl0+uQwQ zD|&DAtu0!N-F{c6@GCZDcbh-r%FgANzHQrcYqPvgg_lNTdi#Cyk;8kz*W0_;f4cqq z2eYqQ@yX4fT>nEG_mc;qou!MOq7PN1?qzYsqaIXZTKQ&DAl=5s-GN2*o}k z@MrBZU;9_>M&lfGB()g6HX7%g(Askw)t%Nd@`lC7uXw}iZ%zfzcKbrkS*Y zBENlDX8Y~K@@AlYSTvJQ%OZ=9e?U@y_h3c%jP-;!gc$!%-*}X95GPn@Uke_`PF_aV zodye#FltXYU8P{KoB~sjvapkda!&H1| zT-iJ)Et3YWLsH{&Gx(a^WRh117Vg6&rY5A)HZeoTlha1z7{_@#B`qaAa62_~%!r`v zL>?F?hWL+QWR4n5I9N8cotT};eM0Q(fTblCLI>ZbS0K}S8jU@XpwgBxGZT~m5&fHRGo5##8wH^FzZu!@Ac9Vcl1kB~nKj@_Wo1=7HAS{BdK14Nr zg4b&6^l#es?=!bZK5D;OpZ-n9%yU%B+%}H{?hVw2(psSA{2DcNO!~eMn!kRAXmMHW z10(WYcyr~3ZTpT^)q7+M>8Y$f-|C2VL@(cvo24B$w^qFZWC9{<7pY?~2938uRq~l|RX!q_y(> zr(+h2Wx{%W^3uvZ7zwaeE=|6EnOH8YQA1`O+$ncT>%mz=qLzylxCfK-*><^IT0YBZ zvqG#AmVPfC+A6n7%b}P0tr8y!Yvf}Ko!`mtq}93bvB(d_I>gPSHJjyTX<3uhdY$+f z+oL|-BsWRR$D>+*EY=H4RN_Zp$*-j4qr|B7qFiW?EdNq|DYfN~l#9=VrO$lt7xD{f z@y_q_nb;sKw@f+ux%^yOj!wB{gZL6xr)>UIekv`SQ=+~U8->>Q-Su+4)ZXp8QG6{d zmlhoUM1CSIhYK$KT5J;9fE6FfkEFI@z$UR-SS~C$vQDm(mLmlhZWiAPt=Ezd<%d#R z((7BXMQACz*T^+e+nusSd@r=?X0DQ}q&D-q@5NT3^;@-4u9VuUep|&hp^ezJLavb7 zt`XbB4q<6oT>F9iKw4^xTka4)2<^tX@5}e4HuuIK#7?1g{opI2AYv9IZ za+%aN4%{Vn3vKxBrE)1S4&N>I2rc!uC31<>eoNgWeiT}E^uGEUGKZ||XDt<@4Bei1dK5U7ix8>U?+V+Y4Lgc?C-;yGKzc>JR zPTJ6%*$2cy;HoZ@Wq_V~P#gjszb%jpfO+^KaTql2ep9{)ssUUK94#}>XE9XL%*ZqzyF>{WbBgM?$#UDbX%$BpINclq?gKl=yhPJ!cF>zdI7cQA4 zXF*dJ9>-1T=hvHnbxHPKcAppetULuR`CKp2U_YctyT~^G=Ei*vVnq z&<^*l5S2oUdiQ1dGOQ-55?dnWCHWHYR-!!6ZrMy5+U8rTs92ctqI^+`DOI9cXnl^- zhIX`1HMYe3nR2ES^Q*-vSg@BiH18v)L=9jspCMkra~cJO)^wnXw2IYo+OZZGBbQkQU}YOSOVtun@q zE%Ed-@);?f=JxyCe%~!Tprw*Fw8}OfY>DJjSqfO(F5`BYM|g#H$$r|<_Fv+~mKanb zOQaaY?NV-+a{Ci*f8rIo&~7+I8``NGbZm)7C(FrFJj(5<+@8wqkGTDjE+lXqrw!|I z)b1#6`c9IQq@^#nGq{b~1pDW5doH)X$BCSrLVD<0tW17ZZPM~FOL=ZP11{epOt*KdlI zyk03b@Op#T#_MfjAFua`qr5&Us(4)`>Umu+JiPW4N%b+eeaFr7&Ff8gCVUg0iQlBh zq|c<+q~GMn&OFM&X*_$B3+o?oJ-lmlfC{rGfpnyvzM7@*rgt;0@y_JDSvodnoV zpk=`peKv=7pe+X2XrT4N#(j1jZ0~`d0DtlMNU-k&dKG-n=WoG&s0DZ^{MhHa!9E@6 z?SXM1I6?%*j^L<**yD>g!Eq=sLIuXI;HVZD?}8&?V2liop23kdFy;nFWi-gR^jOh7Qi&!I?cc z>jzf^fwe+l4G~;j1XmuxRY`Eg5?sv$S31E}P;iA5Ts@s$TLo8M!Btss#TH!61y_2f z*MY%R;^{SHaD{n#{dszQdV2jDT-}~t`<`AKpI$qkSzVuAf1h5TpIO15S>>PE6F9TC zaJD|h+4>%5@1^`%pQdp=BBV&OFGy?ZPle!7vyK>!>m=^NfLsT0yXYpmh&$2lB0A$} zYYg$-i_Zgiw(UWz`(o6Awg%(#ptuer5EJpVP7;RyGDHeKSz?^9^Kf8}m>{0QGb58l zvB(p-;u%pWrr`WsoRfp+dnV#(p9EYv31b*pIAfB?7X@hN;Jm4T@gnwR;$gi6F$^?3 z4oHLXoX|h9^{BW{Jb~7e;ttR<9NTf&9xfiiSV#)?4#s%YKe2BJt{aVE$!uVH8q}l# zMmn|%0J#v`ld*RUa1{fa9oX%n2ump_DaElOP?(L*;s&usti|`2;tO=C)}o_Uj?USK z=ze`JW{XAWDAAGi=$@@cS8zFwzK;&zI68K60#Nps36C8#>OC6xC?$FmA z&|U|8cf)o&tb5}q={P{=GbE}|iI13p(*6{;Pla_Y~9vFr`#uh{_fLNi=><}y|hHPOS>#R|M{7- zrCeS9-OndIrw(mhw_utb7t~rBVJy)z3S9XDW}j8bxEB);@LN(JXN)Ql+C!#(?$|w#;MLiE5)P)}NS3D+{m*ON)b{~i|TpY)YunHStaK=|l+B7cYcL5e(Y zew5-;+Do^cnCtSJiV5;e(wz2Yb53q6fqWTQ9)SFS@i_w+;Dfe#mETMvPcWg>vl$Sh zWc7jOOlQEcCVf*m4*>N%JzrwkDR;?G#VPFw$)6zW-Znke1bQZE4rr?OQ|ZMeGG73W z$lE1%%N7Jlv7VP#x?fHUG&X{ECL|c~^n`*jF89Er zwf4{=Sv@-+v{*m^LE9sLgdT}PiS3Z(j<@rDa{6=DYV20|mg56GKT;_S{N(>A_exRf zAsu3~;G2^(A$k*pxmLWH3NZK9*dt~B%#+^~kPbaWTj5^$v(!svUUQ|^{Nf+?PX-bn zKuRa3PR|rrjlBs>e)566#UyLefL{2s+$Y0IOG-Tts@9v-h@x9XL@ll;s*iT zFGB&Zq?DvE+wq=@gNi%fvb1gv*^i#@Dcmm)kYq|k=^+`qzPud&-u0I9_3QO=vCg~J zx^C@StSnenFS3*^Sl}%a3tVLvE=WmDP2mrH;Xf`e9{=7rOMG0s9w%b;j_%mdj%lcX?s5yhy`Z2TOZ6gWnY*m@f--|oVwjhBH;`EgEBNf_0jJ(r z*-?N^fs(@VTK!^JlXMmy!W{xps+V|5L!^DNV@^F#Aw#d%%E2x2J2x4X*O0BpV9=8y zQ>`RjPl||dh!YU2h<5^sn~^lwLuWe{BStk89+tmIS)!p{Dh-38;YG7tFl8O6phIX< z5>JpVWUO@QUMtrL;B%IF$|4t(u^w5TAz+UL*_`x<#SmskC*!O~K6Sipm-U6e$Y06u zS(DyUi*&qR$BbDayY-&(rffrN*OA?|zc317 zv**F%N*3XjU)r7RUCuF}wF_WbyaLhLP%Ad4a7_aQ{nieSINF1*SApYv$2xF!jKSn7A>qH8Ox}1A zN1pGAwE(M$vvBe+UpWeYmwzy~-qKJg_WkM?^im?JN;;ufPkG4taz;ZEmg_8NR|8iF zjJ6CeDHmAE$ab43Yl4hZQ(SRcJS6OmbFohS7(-=Y;j`7t9EE=XrCvfJ)?vBzuX_!Q z(5R=p8OfO0WClIJiqewf8#wbU2rVO3LaBzwkkJ~3WTo)!g+_gLB;Y7WC9itmE?(e0 zPK7QMYnfiL+FPoX1PC|MRPVaAUSK3ErbObGtqyLmxlke6%h%aLlQjKtMJNfQbKXBty!ckM98D$rI+a` z5oAmx+f;8#7+Dcai7Gml7|lG#tIU=mPoThu zl7@hrHUO1}xPqrN_;NBK_Lj9=K)O^P<}XD>1QlYv@e~>A18i0xFW$*SB`0>3N|B|}m?>uc*lhG&tRyo8m>{z|5#rKCC;y;&4ksO4X>fRZ292$WVb;<1^N+Dl7r%wJyb226nNmVu5!6Hl)RKo38l%pb*F%x>tNRR`V_Z)ynhPqsvX7!i^Je=O%}uMfAgP}{wkP0 zQmLxTDp_A1#Rk2eQycQO%ApAUDPbH8$!)195$vmAHV#-VNI6sjf)D5 zm6VC7GShwhHxydlJoSv%prZ=Ke<;cRyRDEq4BoImq+9xc4xLhOIZ;8GoszD%%u1ol zL#r|b5ojG%3u!>*q&P&&5JU1-Qh*;hm5FQ}<5PGgKvd zxn81_zh15lffT5^(AKT3BMSf-^x=I{Qqb`LXFbQl79ibUhA@zlp zXR6uj$>9Z%6xC7|z?vAyA z@zYTly72gDYluxp=?%NwXN#z3u6+$rP>Pf;!DHPRE3GW#{WoOPyaZVRk_yIE^4xH(ITT*=Grm@ z7OlL>1wuRlS~l3G9*FAg5Dk=?5nmP^llAsmCL#0#3ND}lxkc&QAb|=^uG^{Wb&4gf zsyxGbDU3IzRGC7WrGF=9NJjuVuxu|n%q)9=?+@Trt6mzVg$@r^<=4w0!-ZPgRiV-MZQuQ2y}cf&ofyTcoD1CE(x!%c@QQim z*hJ`E<%sqA+HjS3$-t;vnvZ5KtluA z*A^ef7%cdQsX^!}KsCU&B{?XiI*PzZcMhQSDxOuXiLMw_tRx=J<1h%tPLw@H$)RL# zvQ9A>c>tmD@RE8vFca=03o+g*!8NK5AV;?a>4^EKp%K!ti@cZw00(0a^CC`#BTiAi zg&RA|xPQi#wNgS#J%XeMn)g8d=I{uGr)tK&@QA{W0h8A&3JEtZDA20e6F{D)bbRGncnu(&&Y#z@PROeM@PG&pRUb4)rN@P_yOEWvfxn>0MkTiPT{$E#g-em*wp$9T=2Fd# zAu_J_INCBLP`jJERutcz#t?|=w5qg0-8iH2fz^`-#KYXA(Q%~&;cf z2hj&H$crH%vJ3P$@zGNppuz(CaK?s{9|ZdXV_v-j)(D(#NvNxN$il?xMP{YMVvdY* ziyWUry-KWlSs3$A?3?|qcsK(ET|^+1W`tGsr@8;5aw`x4B}Pb)(^TKxu)=DIhxB^a z^b);mds%w->gBZmVQQAI5w;2%rx?NV|6niO46}2bfYFq=reH*s{gw2g3UtD8h$-}PH6YhFH7Hej z(YYYe%L4&ho^h3W7-}fpM_%$XLLVrnV)%5R7>6e~UUarm9OBFmg z*3S2x)M4QYfqJd%*hT{N6U+7!NwAq(@XnR@dLG9J0=;~f0u50VIdG>AcUkR{M$iBn zAH9SU6ahX7DSNT#KAn-zz-|}=mnIZPfzTZw4Jhqd2k!hL`%rkC_bYV_N=s@u?-AGr zfIQ9ume5g41Dp{b0ZfgN2Fe40<(Jod5IrTb=8?Im300PqB@rwK<(Nb;S(_V6eJ^RiSDj`Wj1s6GxXKPR2*93m zM8TGJ%Txy{0U=fL$ITc+x~7e>JRt;wRH}tk847}{aDN;2%H|7`Dy)A_XSqtdwrDp> zCfTVE?RGAhf zGzVz)1X(UXt^L{u>d340tb3~IG4k$r1y?UCqCoExK4k$I5zEFzzF@i@+&GBNxknUm zt9^2PA?{nSTToudfXmfU}q}@SVKK6U=Yf3X@!kI;i4;7?3%0sgT?;Feuo+> zQB{*$^`FTUehqL1>RiGQ2rNsPB%y3qkxZQ@^vKCR;be#A6ZAizF}e>(r4Sa1i^>j+ zut3Aeq%j&JKzbtBDk4hhMjWTK-au)cE+qFPeY;qSx*7{+YKTo-?vL0^xt~U7cb5MimzjXekDG5d$h1 zI4K+VHlQ$<(M45`8w7mI2Z6vhttQ|eF3P;r=QAkRdU2es0DKj{sB5hjWl{Rs}MR-`BevqNbDmSbT3(7Fn_vW!+Qx)~VP=!Sq z5NVVXt1pU}t|ZNQ<<4M3^@q&(J4p{EKpJ0+5BOAL@-5lE_dXy}3N zEWu(7LVpKfHv?872$0yyy?{)&D7e#x8?^-lLe<{%NQq_R8UywxwZ3A7gT5bh9YB*3 z>jAzJI>2)R1$Od&g6zwpEN&iF3KGYXy==UJL zItA|4u{;$xj?}V;=;`U0&_Z37iDZiA4t)W?M2P z?jFET*ga;$)uVy!fD}v58ld`o`6v}~0*_b1WFT)c7#c({OpzeF0GW{Kpj2R+820i$ zgI8wJg(FNE;grNLF7UVfh!F{cC9shO4S^9HC`f6@WS@41@Ge3{ z!ls2-rWPbPI3`)dTxLb0zYbhFipckNKb|-`baRi_F0RY`7*6q^d!YvK_*)l zgzqJ5@*}LZ(mG-_e>O;%=h3C!G=5)&FCrv zDmBR{O)oPI)HuxKE14?2DRUtVVKOHt7yo)rcrG_`rQ%3ERt9vKx!xQt7r|Sb>@+O~k7zPFJoptt&xL`= z2uboMQ*layM#idSrp&^p9);h}qp56mR9voP>dA>xyfOuZ-LO|U2xRPrj6Hb3Oi5XB zY3kh<<_Nv=an>M?d)RJ#q?poCrb~#MN@6%Cml@B|bF~~o{jBoMskOL$$bzOP@krPj zJ&zYE$q!-w3R^&&^#=w+_I?sgQ!>59^ieW@JxAtRK!q2Q7lhx4MbC2p%!^PYK<-N0 z8ihTQC)pQy0~vYt=e`nD|l#vlb{R1`h+OiHH}JvXY9{`Zl9N+GAINrFki+D{D%HrASgXrh!r-)we& z9|dG|UML(2akIBszBKE|ZDjJqyN*X*bv#K;*i}9T-G7TAkQzt^T5e8*3O4={8Ff5I zx=7$v8u;5;XP#k!Mxe7Cdd-l0CFAzy;lXV-Lo=`Zom_izLP+z5%aiFtd!{^>!}_Z4Ifx!#S0(^=I_c2C%ymuhQ}1-HgFK2l#Ahu zfI$Z8NVE5;RFj8H`*-^uEFX%Ou>Ei)gj^ycxZk~L6^(VU3#i|SkTv|xW~fojrF^He z2ZDxG-vo-{gUxQlM7odT$_r&p{4Wq;g*_k+=(%Aa1pg$8Ez1MRn0>Ggsh({?J>34k z;S)+96puLnfr#L-p-J^L4x+P7k|@j?{Jh-UabvSHGoBukHaazB)JU5xF(K~BC;s`^Bf}mVGI-Df_utpQU*A5x zd-mvl*PVBC>KJ=_OuO6K+;Y=RH(Yn!wbw*nbmbM7Uv}vw7hQD0`RBE6)v`tN=FOT$ zHHmBzUaLBYR7BNap|X|gnQCc;m2zFk35&YlYN#0cH;W=T2Y$c;7@g)mOK= z>WV8azx0xeFTCLV^A(*<^{9}DCJ{Y)I@M4DSD@58Y(hN%J7hl5(Dk~WpHZmu4^ zJ?naq1Q8U-7Lc5&9z{`zrx`+uoyH(N?tmQq7u{XRhsc$U7!Co+7Z(?SY8Xh~cqTjZ zX_IUlN&X3z{LlvnJuu+D{{6{9AbF78sYCnr?QXl3$z}_=3KnwN#bhC^TepIVG{Z}n zn>2|C2Z1c}`W{i}drc`_T1&y1+UhN51XjFFjO^d3Yby0f#%cV~z0K7j=)k`alq z_^qC058*TQS>&DRqfCz6=dHKibkp^0G8d8TiFz`b zmheuOj`t)n{T@Q zdS&&*!o@xXzw2AkWWU$kqLUBU)QPrJSBF@ zY8cL&{kxY{0P^WxF8xvzu?HW+oD})+Vvt`jAuo?(Payded;D$y^858;LxL8_4caR$ zfc$@49SuXe;<8J~4K9EiAoMhE+LR0_f~?O&cO$Ck0Y@oJ;4D+lKUFLXXuaz2l~U(nqoGMwlp8=*DjCnpvfzy)@*t`32=Jm)>GJ1+FFcLNo8Z1$C_wW)sO5SAZpj@S?91KDGA0_bGwOx1+g6m;#a4D){ zCfN#NCa7myr<&lYQHVNJ6a4cr!(}PrBT@D4)x8_JY{%I4G3_{JUVr^{u=Ps<6BPnJ z!cNmB@L7zMkeDgM_+IK}4^y)!mldW(mL!q7`O-n^KY=wmm8`qm!$;gS&27ft2 zNtVWk9EQB9;%$%bONWYlP{Njr*fSI31RamoTO(5}z2o^S11ZeSKc8{L5uoc79 z%~F+mPZS;z87))X#zQ#9!$VY;q5nv7r`W>XSaQ&b2rLHWIj|K9?{HA6ACusqRF^%> zLcjk$DryW{Q4Xr|>vd!+7qQSUzL+zVq8zpo84;;7>ExO`-fRSPlDv7-07heUc_N8= z{$RKb1Ha4nx)B=xz?%kH>iH;r5n(X&)o&8Y0*Z%RPL3O!1+vpeBb+CXBopVj@^C;n zznc;(o4B%-TOn{NC;esb`6{loXy%KDDv`oJd-Oa7>Z^NT1dejQDq}$9A5uL|hF@KS zKK>;#7hj-HCW-_-zGvK%sK5XDI7A5T4;=#29W)TedvE`H`t`jVL8AxxT^E#Eu^ou6 zwp4B1d;^^C+H0@5`YObZ%P&H(CZTe*t6VUuX%x!x;~>ebRE)F(LUj;{?kh<2sys=f zdGr(-QA+tz+kt29Xe@y`5%i)3k}N&6;K1I*L_J={^?>xAfWZ>c5aEyq9~=mxN&Ef! z^noA|>bl-Z(Sm{ikT9T@=%slrk>Y6J|J(j*Ms>Iy~aks492 zvW+QuqdMU*NWCImWgfU%uF5(dF4f_I$KC`J1p!ZF;(^e4G>|}9-fiAAfdHTen2sLT zolWOac;CYhJv4OigJ5F-w7{m*n|g7E7GjYpp#?IXn{K=jN&ebvqQS)#m$zmuTtuM+ zy$q!VJ<1Xh&bg9;HQJRgj5w*gNl zlPCBBIvEmGEmk-JsbIK#;x2?gMLj|ws7IB;&I{^$`83cmmU~J{1B&|S=qsTCd1)m1 z0elz9UvC*<^q9iKh}JqRw00XsfZ023rbfb5nW)MZJeoM!Io-)sB3RhH(#t|`272+K zFMKP)6F|5e4%;dp#$Q`zG>n$j6A$N4JiSo;uk=&`L z#~$25Z!VjKV78u!FmeD+p*`7RXcOrZeu07!6kxo@35y}y&!xv5R~b)(<7vIuP8QO$ z@1Ry!H|h|ANK?w*d&Lbm!_K2*@XA<>utP+XxbNcLbjJ=PZe=WpIv^Uc64Jgr5?-rf z<#~E*3k+UwrZpj5Yd!| z9)oOENGDUiAEw+_83cj}cll%4AlhQA&7G)g0X8CAy8fYRWRg$q$Ko{mHHv#(M10 zM;{IlIXNPQkzT01yQ(b82??Ek4u#0?l;Amw%1c|ZBT^JGLLmk8FfPNX`)LdToZ?7A zf!vgNF2)~Sx%>l`BKiRf{eCCp!(AZP4g2+VbUzldPkg zk?>(1?0Ic&xdlO+A|6F;^v#+o>$m_NeF$1_p*3%&lc2*X+(ED>AyjHo;o6|GO*l!H ztl1paLPFoYmVWZ%fOI1!*W%Yr6eg5GlRiRNvU*&PCx=t2d=$kgQYF_Xuw}9fGgWr= z1q$vOD9I|jxQasDMPwH=ECF&=2ZsW5WJIJ=zRK@3wn8GcQZ3~$WK49ZTihU>>8If# z^LJA8tF(}{dq6l*Z9c-_P3Wz%3gveSZ)Ro$)l9UnsDcM}f-(E*6Y3gJpkNP-y6jTe zGP=O$pVta;SvI%QP=pSesoP6g(df<~NE6LWDM{G;P)}Iyfr!;l*TN>%&O%^A8mId+ z6q9iUmm?b9W}wmtQ9BHAZLmrsAeV!2FJD|k4aiCGwp(vTBIh)sOu{E)>JzYxY2<{2 ztOgfO(Xd+&5RQMWsgr{R6j*Q{!IguWnp3%~!K<7cD5hPg{EQb_7jR+7L$yALiK#DzCs1zb7^GU9z zaidce)Os%c*pcoo!cJ*Xh4eNV3RA-9ge%fYYgc3_ts*165$;G00*I6m-bfMgTjVy> z=2WMs1!F_6{-J)7`T?1~hhH;9H%Tx|fycNGO1jF4#T^-fiRdtT!;tDCb+iOvTCmR< zc@R=WB4D_j)y5ydV6pn8X-JV=Nbg*d=8Z|5dr&rIdO&`m09QX6#&04&u7_dJZFM#DdJvO#=qv|J|Sv| z1fnoji>ZIo2lM4&CV&QF(sLtOV7tmuD44%wkCb`#V+(+X?#hz09h3;tfK7%&l+zXo z&Jo#6X`T%NUk>af%OesX1mkw1y3512KNp;sfc#E~=p_MQC~tPvL`sh4NXbD-fE93p z1)m@-E8%&4*iFHblL+PqcP(Mc;W>p>vtR%KuHHkyFS*bHY<;%~TST&CZ$=SnMa1Dmg*b@Pi zq@%N8kuehuHGD=rT1qjYq!_{xkvp%th>RM*)ypLyFQ|Wh^<)?MCBtVUC9`GKB5)|m z2^gBBC`G;*U08x%gBS8g9YM6XdOoqD5Yd}Ec)Z_||MgB%i&1Zp)KoknBO^ZQ3{xN_ zP-Jl-bWxk!lQDo5iqCp(#EwmB@B^?b`0XU>ZcbR?u_a_?>J~3WF8H+4xUy#AgDje~ ztW;(yiH$kJ;EwzTPuUQ*+?=Jy3YZ%z(#=<)xbv(pI;N@akn$T+gJE1QgD*l^7wM#U z<}*6CIw=AStAI(vXqM+3FPU9O!eKlyg#@|!*Fp~P+Yn%ga+gwwNi;#H13q6Q17M{g z#>1#Wb0++{T6IfBF24;ZuPMZnm%n>6z+#P@R$1Y!6crU%yjVPymWs*>H(F|u6TQW9 zqNmt`G4(n=PUl%GD%DB#d}0`F@?{u6;ept1c8}-#Z z*P5%mr6-D5fiM~LTIjt%xX(x9V&O9#uMqb*6Io6nsemBdAccfLcxkPcNa9ZYdn?0> zag&WcIs_vo9#En<#w&n}pvMtja?B)|dobvQmlD9@n~)^P0*CMGd|c<4lGVG6@ALW|^g5Y@JxFjE3Z-WTium zf>q$H3?X4*Ki2r*IP;uSaOewqV2K_Yp*L^g1(jq6^gm(e4-+W*pn3o@w{anff^DJ_ z1WLxEOwv+;o6BsF;UpdWPt=tfyllK4$d(Ms&0A`pTb5A8NMf?sCiRJ-AY@`O2$mHVaPPqSB%fkRNUH#c zO=S5m2qqLKG0<`puX{@(dTVbPKnt z^s-dRHwm(Io)gVdxmDMS=J1QG}>SWpia zRX5o2e86vbYawMMovM6_N^juFSqTmlll4SvOC7tn#wdRoTR8%ddUS5 z7r=EG*&Smv)k5+YEG!aW9SHzcYWQq=O(TSD+?f1@-a?6c*XXS;uERShEt1@f*rWJw zIvj-+BjgbI%KB7FFlbOBG1#ufIdrM?N!?wkRlprRSRv+w&2}upXaEKYM9yJ(h;LO; zaTAImjwKDR(``|Lw+D;QqY;!y)0Gp8y%QmBXR!kAF`|S@Kolv+K{#T0jr4$eQN4B3 zcpOCL9+Id$sgsOMZduguCJIVP0LZ$2Wt!`hY$r~%K&+nPCXfXy6eQ4zRm_|UFXW=6 zTdk5tNZ)K&h`TUKz#{jcJV5XArSOKg#o;6ugwUXj={LTP#8Mo>@rzKA0V^X3XN164 z!?=|GE8u*DpOm0iR!ify{sFlk{>!6S1z{5kCd{jQe}Z0MnNU!mu#&G5RKt_ONnNEC z1_SHGo9v5SKq-NTZQO{Eel_DMs(i~b#~fEak7?)Zm;3O(=_YxA4pap%RekC%pwN!{ z@|B8c2#WxkVSsFvV=y?S#2rPZivMEbP;tVkRmqrkR4IBHs5jp_VSV*W&U|m~KE@oH zM|i=Xb?VWrMP37U9Ry3EkE8>{K;$i^iUp=}O6_6^sEUGIfe1#h#XEMN#hZ;O7Vnck zLy95!;0w@0ClpNHd!R%IeEJy^o(2Jb%Jj*+RX|a0s8zs3B*j10<3wVCOi5WNWeD2i zWW!Qk1ngASPujnCVtqb6KK?UaXKVpu?gBX>tmvDQFBTNw9IJ$cNO3287|mp+$_|x> zIm*CND9}0lWe_<5fZ(?A%oCdm>d^_#*(-mPNcf~WFImb8$2)`vBmKCPq;3RhPi0eR z1IeBgg@s%lg_o)>h>#lz0a2PK*I_P^o`8$WDJt|3+9np$nZ&%ZC0P-!{IC)~ps^Oos#k0C_uwVha)K2$ zQJ|AiOgTvJ@fQf6>MFBX)hkIq%#E3-CaMHwa8n5nAp1dt!ZWka9g-!rc=z=#$);df zT%oLehaM}Y$Ow-l12%#o2}Kn=9BE`_+iuHGTD$Vkw&K0fXL^a$R#I)MFcpQY>Hmc6WJJi z3^6rq_K6*(h~f^s0)2Gn-MUfsTpEDL&uzUhAV)SVUc$v4TYd})`6tWoYpl@S&f7bUcx zz$&o{$dBp}>-eH7s3p=WrM*bK;2%QD|6XGH05S$Vib_nGenn19 zQc*4-U;*TcKtciA3VxV-NY&7lCtLy$m3k`Rc?XwepCPnh<#<1;#B&btuu?8f@d|9-ND7rtrO z_$)*DI$&~$4UXM&3ASc0s54Obk*S~L;X!4dAmVd8B}Y_k{7bV^6fHbdwZ=Cqg_;cm zFA^$RbhviI3s5lgcP5Wv_8FfCPK4o~dE+a`{y(32W5468m+0N}F8gQr-LeNQn#5x% zDuTCo5|3a+I9B}Dc1-ZWlYh_z9|1Fo9CCdBRx!GS0Sch^ERbe!$7$kQ-`5{ntq#&` zA|Fd>oXWG8)bCmGf*U&wvHC?y6PSFkr~bei-|Q?jfysxA1TS+fd3SSF#pWfxgZ>L6 z?9VOv_GI<9{uxu$MYuon%F6B4)rf0nPRvqOy?x~?iiZyarhkF_95p|G@!o6C6%vsy zJN%wZjb?zE_S$=2{9NNW5HJJG3hEg%h3DC)FZgKdp=!^GpSOIva*;Xx%*BNzrO&=F zW0sUF%eP?qnd(E^)|E{+mD_-+XJ}r(v(0aFws~+GGk;FtIf3)=1kTSxlOEGt%7fyw zvdnhxp8ccI9)QJ)h2}=qu;4E(JC$a2wou!a7N3xio=)4M1iWz3H`OQdk^c(b$ zadMbCfK$Rp*y6LY`RogV&mKAo7?U#p-4(4(T!1_zd(4>hj4bnXMJ*6SW*P@D9l0hh z6_;ZMGd2I!g=mLhMldzMSy#+)M)REY6}?1H(G`2uY-cpb8O?7t2=;U@<})9FxyA;H zhwvF9Zoq6@C77ja6lU$p#(Fg7I-7tQ!!ogzXUuk1irK^L_&kR*r(w3S37EgD0G}zC z&x>X|n}Y3enCI&m>Z_rh6ENFZw)ju8ojo8DF%wz>X8(%Eyka8(pJqpUSi}MH!=U&- z&32ZBdB#epA_vxqJjdA-Y)`>_XA`mH{>RzQmITdq_8#U!`%on>RjwHGltcP7tvmIo!G8pSTY{wwK}eJ&`_X*79$DrMd6Ij(s`5;EAqR;+Nhy

37c738?{+GvSEl)sTNmE;QY3z)6+IQ0fr^M5ye@AoTh5Y!+;FcorK!|8L_>~{cx$!K&Z+Oj(^5lOs zKOSD3V}EVK?=(f8<)>A6P>$-{#!r)nF}3Ndexj-Jtgh{gim3oaS=Na8^6p67de2hE~q`FUBP7nfr6vvD)&;X%v7Wk1twdX_)dO?Bha|7J!# zJU}~j-5)fop2fLo7HRpf&a4Mb&)Vdq+4Z!a7n7d<@&tPr&RG02&9P@W_33o#O#Fp; z_V9@H^iNMwpHEoz{|l|E2l%YR&oftY6RY&9^t>YnpE_?8HjC zYlUva|9HZ^6(@MYy}fVJEy+BIL5Kf#!oB%F(S&;un?WoS$DCn$&+> z#E|mxY24y3PPo^Eo++SD(Z}^P;huKvJ^jC$aj#YIjC=X{?;WE#_p}3L3=bGU-~VjV zJxhMsL7sMR*DRv=|7-8;VyZf}IKJi_&>GrXY|?1b1OwqqEuxhQrM9$a3!?SAB2pUx6(}mAD7K0pfI<~iM37REkHfnEHT#^y z-l#WN*?UWSqRE~Wab}pAJ+t=SYyE!`3i_9@dtn&)^vfE%SCOLM`b%|D&yC%adQvJh zc<=Q3s22tAA^a)n)D^t>9bSTv7|bZ5&i^`kZ%xTnysK8Fv6`QV`d*B^7h5Fky?^%> zC!#9j&x^wMJaNZ+tMRE|SZ~pw;rBRB9qX0v58h%3d&vTMaROg&938L0mz(fXk?ulN z+|wC+zBnqXWqe0Ey+IVVY{l^T;?$bb8~8dl{45YFBIo4>i4Rz%#Il?CF8JETRFP3b zH|&M+b;qeq7lg;>y_POSA^8|;2avBTPNiKDCZD%HQ=|e#GtGV`A0S2_~8?JSqlQ> z)!lUYsEw&`0py1u@btS9Ll3AL6w+L#`Qfww(N;$Eb2TCWY)ASbrFmnuQ2ppYH)22? z=K3K_;s79Nc!z~gpiaX5kar&UtML6)=T3ykIgI$jg4@|C2|IL7luMlE{2`#=oRI$1 zqf9Uk+=Klg2RieSWMNS`q(mGd{$a-{|NAiiR2OJW?qUBBKNq{bOR^{FBBJREuHZB^ z@B{Xv{}7UUQCjvQZWp#f9iTdmm3H`+%yT-C4rgpx?JS|Vj%KF16|!o zhJu6(FhGn%@*OQCU4o)3L_n;;65WGsI7A$!0%G*HNz3@n|CwCCtN7BP+~xva)m*?W z_(b9g7jTPi{(Ut6(r^La@8WLuRE(59Im-ncSt0UBDj8p?1^!~7sD!bBWR7DtfdLgI zhsb~-GGK@d7$O5A20?|$fP+W|r0G4_%7yy&B5c4O@=QmF2HzXiV;3I~O^mw7ic7oE z!XP68yGfOz>dbE71MGnWqJ>Pf5F;(vfC)tPF{pl_RBsC?5DhFu12d$7!9@k4<{7B@ z4XN2iSRk5tgXxw4A{^lbb`jm8GhJjKGY~DDp&V&pFu8%KHHXrr)0_ziK87IL_?Q+-8-vObM70a)oi6OcgU1p?o$rKbf}NVACE9AjN;4$JJN>9F z13dMX{D{by34<$85~7vCr-T$hh$d(V(P@Sx1k?T-q6xC0)`viFEE-KD>sv7aU?KF5 z%u;;8pEUlHh!SGe={0AlR|a8&TBB7%IHAEBCaw%Hv34y#JnjnQ}f}(gRvLONO z9D8Yk#^LN7Pf!kTzn>vV$!;?RwSN+Dtz6>@q8A?<4y0>rL3ClQ;TpTf7ep7*gFZjb znC>WN8G~p)$9Sr7jWdWYoH0MgVGNvS4Wbjb{Liee;0E>6tm$#wHQ=EC>D_qo;2Lre zy^yyP#@iJ)p@Zm%yob>*l3c_Nq8swI39rfk=Wz!-h%O-WEcimuCHA24(hv!g`Yoq} z{6XV|Xox@{ibYvd=}NG-%Yh(zRI61JV_LL`ex%C$e$+&+MzKe61%r?;D8 zXr#~kr2=e68TzFH44DKQd4`4nf?pHDeyE{e{lU<~u#s$NNL~0V?@KoF3_Q0qULW$I&62Jbg0#o zyrKr`6zR|xNt;BvicSk;&~4h`DWM&P<%;CxOTjzj)pSS`5ASD*DyaN*n|L@}5QLGD z-!*CG;k6V|q}M%fvifz54TOntE6cMl=4nKs}5t6YAls1-gBi3)iTJ`J!4l ztmA+z2@Jo3+{674OuWV3d)ZN#0q4Po-I2(o7xtm&Mmjp+IQ{Ue8$v%+mp6C0gFozE zt&%SZ|1hj#Jtp5N{-H`dCjdlsdX0Sq#Nk3fjEsyusR@Y1v9h-9BOpc>2>~(eI2wuS zwVi-iC^*c{N%=c*u;_-NUDTpzJ zLO~4wWu45PeH6q;(MqJUui!r0-~b2_%_W@{7Gn7M6gyams9zMxFY_x^-wJ=zAaD*o z4-xH%f;y0hH?wU*B7%e|a__&fx9Om5RK&;8N_6T0M(ikD(+jGntzg8iXitL3>{qfX zPqhb**o_5HE_}q{*S9;uN9>7KSs)q+Y$4A%M4~TR9R`u%9DB=B2al4-7(9R@1PNzB zQ4AE62oyySfH7cHqJh3JQ8xw-Obk#rEXBA=m&?9{al;^}K2IwbN z{K|lEiUIt}aTD`pfK)}i4ie^z6*Mz&wxS<4(;ss49DGI1xe4%fo&&Ln6$84C73nho z(qa(lV?_x)2XZk$6UyZP+eqL%e+j*aDc4vd1Hbrel+s>)8hptNS$uZ6KkVuMp`lWq z36x5q*T+wrvovaR*5Q)Mn#R_S9)6vBI$9fRDoYM$ZH`(xXWIA_P|t>qp1vqPtGG^t zV~5ohXT>j?KKg5L*TTonT9r}S+{8^B-dvioYS!4Tlu2O|=Won!YTyPAYs%j^e_|%> zps=xX6ARnw@vsxtR+u<<><-#R-YLtoYir>)duy|oPuWF#$vbuB!ItZM9c0*pE2r+I z1LU2se1FRo_%Pm<{mUmDK+=~tVqQAV&P(jQnLaNfhjPg?C9>!uUt~{FMr1z@YJQv&ZD2nJ7U4^&I+zzZ|Cj>BYvi%5O7&?q+IsFBTGgdr2^Q?3d*>QJq61~ z6@UxpiCCO}ichg8e{sYyI!@|?oKo6xn<)iFrh#6B(XGy)iPi_ab@9nd6j?{{(BYcEa)rxa;p46MEd0=O$ z)Hl!51yZx~4)bAFd9yE2C8?#Cb2%4JmP;$?SMrQZXg|bgjj%|70d3&FJKe-ywCPCLQ{ozsGMg=@#84H8SHn{tmzC$lI_eVHAC zRQu8fYQ*SW-pX4sUb7qN4n{UFgEKIeZ{C4Lso(OqOsRM1F42l__#37bcj+GHrb-M| z_4Yk#A~j~8FxS++F-@>2=4;^ED5i<-V}={VPz~?ir)E;)a=+rQFyG^vVNuK$-h!WN zrUzIj^{Sr4d%RK%_?`Ae*th!$A1B8}6~ZVR=Nnp`f1Dxcg6i;}+JFPM^A=^?3^ zjbf@ftYDuQ%J)GVfe#mvlfo%j&k=vXqQ#qeGt=Tfs2$|Ed@)r1 zsCHPi>~sE{X<0k{iGL{&Llunr6BaE==47TNf6^mTBaVonj*NH&ixzC+O-u`PdABa_ zencG@;Z8AB=j;wxl=c~a#+24Uk4a6b6GPQac?^ppH}XcN$j8))ein(LiXs5KBbv8? zH!#i9<#b(6?kAx;dc>7A;TWB&OxMykD31cM-C{rnZQoTBdfxqLu4;J=02E zKB&tFyQv3#X%R!UOzD9|%M&>fb?I`pE@$_UkJQ*&F;wkXA1s>tDSyf|SC@fPK{-*E z3w62BN4=ybwuzzICicRj`RjNc(|ldtsLLC5IbWCadx_CTlNjEnu|T*I&05QA*)vO* zSLyO9UCz+u3|%hOQFr9-w!o@ia|er_mgJokL6Ybty&ZYZPtP*UglruUT|hUk_7>zLrp>zE)C=zSdBq zzBW>;zP3__zIITLzV^t;DSrZX@ZSSJANc=)`U3R_+6%NF=ue=3f&K>iANYL&zn}m2 z?Hd8}sPv6g-{|#?Xke7hV~=?Y&I!uqxiZh8X>QH4j&%}T4=9`0iD~_qR~FV{aLu7? zUW=wRYF@oqhs-;adGE6BYUcgUx)YlBNbBxt-C50hu5~vy@6*;D+`PA2cYW)L zU_L9Xr-=20F`qrwQ^|T_na?uw8D~BHtS6)O)HI)`)|1wH3R_QT>*;Mh*{!F()gv(b z3T7X|>Rnhp535&V^;oRljMdYzdO=nX$?84z_pPj+m(?q?dTds2&g$v)_XDk7Vt*gf z>S6ZxKl}Tq{ry*~ciZ3h?e81+_nn{guKWAn{r&SNJ@_ZR{3o9To_tz(+B3z|o;{xa Nl=7@+nt?qL{SV>}HLCys literal 0 HcmV?d00001 diff --git a/autotests/read/psd/testcard_graya8.psd.json b/autotests/read/psd/testcard_graya8.psd.json new file mode 100644 index 0000000..29cbd41 --- /dev/null +++ b/autotests/read/psd/testcard_graya8.psd.json @@ -0,0 +1,28 @@ +[ + { + "fileName" : "testcard_graya8.png", + "fuzziness" : 1, + "perceptiveFuzziness" : true, + "colorSpace" : { + "description" : "RGB emulation of \"Gray Gamma 2.2\"", + "colorModel" : "Rgb", + "primaries" : "SRgb", + "transferFunction" : "Gamma", + "gamma" : 2.19922 + }, + "metadata" : [ + { + "key" : "ModificationDate", + "value" : "2025-11-17T07:28:50" + }, + { + "key" : "Software" , + "value" : "Adobe Photoshop 26.11 (Windows)" + } + ], + "resolution" : { + "dotsPerMeterX" : 11811, + "dotsPerMeterY" : 11811 + } + } +] diff --git a/src/imageformats/psd.cpp b/src/imageformats/psd.cpp index f1c1e60..5305dad 100644 --- a/src/imageformats/psd.cpp +++ b/src/imageformats/psd.cpp @@ -546,8 +546,21 @@ static bool setColorSpace(QImage &img, const PSDImageResourceSection &irs) auto cs = QColorSpace::fromIccProfile(irb.data); if (!cs.isValid()) return false; + + if (cs.colorModel() == QColorSpace::ColorModel::Gray && img.pixelFormat().colorModel() != QPixelFormat::Grayscale) { + // I created an RGB from a grayscale without using color profile conversion (fast). + // I'll try to create an RGB profile that looks the same. + if (cs.transferFunction() != QColorSpace::TransferFunction::Custom) { + auto tmp = QColorSpace(QColorSpace::Primaries::SRgb, cs.transferFunction(), cs.gamma()); + tmp.setWhitePoint(cs.whitePoint()); + tmp.setDescription(QStringLiteral("RGB emulation of \"%1\"").arg(cs.description())); + if (tmp.isValid()) + cs = tmp; + } + } + img.setColorSpace(cs); - return true; + return img.colorSpace().isValid(); } /*! @@ -800,6 +813,14 @@ static QImage::Format imageFormat(const PSDHeader &header, bool alpha) } break; case CM_GRAYSCALE: + if (header.depth == 32) { + format = !alpha ? QImage::Format_RGBX32FPx4 : QImage::Format_RGBA32FPx4_Premultiplied; + } else if (header.depth == 16) { + format = !alpha ? QImage::Format_Grayscale16 : QImage::Format_RGBA64_Premultiplied; + } else { + format = !alpha ? QImage::Format_Grayscale8 : QImage::Format_RGBA8888_Premultiplied; + } + break; case CM_DUOTONE: format = header.depth == 8 ? QImage::Format_Grayscale8 : QImage::Format_Grayscale16; break; @@ -1309,7 +1330,6 @@ bool PSDHandler::read(QImage *image) } auto imgChannels = imageChannels(img.format()); - auto channel_num = std::min(qint32(header.channel_count), imgChannels); auto raw_count = qsizetype(header.width * header.depth + 7) / 8; auto native_cmyk = img.format() == CMYK_FORMAT; @@ -1417,6 +1437,14 @@ bool PSDHandler::read(QImage *image) else if (header.depth == 32) premulConversion(scanLine, header.width, 3, header.channel_count, PremulConversion::PS2P); } + if (header.color_mode == CM_GRAYSCALE) { + if (header.depth == 8) + premulConversion(scanLine, header.width, 1, header.channel_count, PremulConversion::PS2P); + else if (header.depth == 16) + premulConversion(scanLine, header.width, 1, header.channel_count, PremulConversion::PS2P); + else if (header.depth == 32) + premulConversion(scanLine, header.width, 1, header.channel_count, PremulConversion::PS2P); + } } // Conversion to RGB @@ -1454,9 +1482,21 @@ bool PSDHandler::read(QImage *image) else if (header.depth == 32) rawChannelsCopy(img.scanLine(y), imgChannels, psdScanline.data(), header.channel_count, header.width); } + if (header.color_mode == CM_GRAYSCALE) { + for (auto c = 0; c < imgChannels; ++c) { // GRAYA to RGBA + auto sc = qBound(0, c - 2, int(header.channel_count)); + if (header.depth == 8) + rawChannelCopy(img.scanLine(y), imgChannels, c, psdScanline.data(), header.channel_count, sc, header.width); + else if (header.depth == 16) + rawChannelCopy(img.scanLine(y), imgChannels, c, psdScanline.data(), header.channel_count, sc, header.width); + else if (header.depth == 32) + rawChannelCopy(img.scanLine(y), imgChannels, c, psdScanline.data(), header.channel_count, sc, header.width); + } + } } } else { // Linear read (no position jumps): optimized code usable only for the colorspaces supported by QImage + auto channel_num = std::min(qint32(header.channel_count), header.color_mode == CM_GRAYSCALE ? 1 : imgChannels); for (qint32 c = 0; c < channel_num; ++c) { for (qint32 y = 0, h = header.height; y < h; ++y) { auto&& strideSize = strides.at(c * qsizetype(h) + y); @@ -1485,8 +1525,13 @@ bool PSDHandler::read(QImage *image) // 32-bits float images: RGB/RGBA planarToChunchy(scanLine, rawStride.data(), header.width, c, imgChannels); } else if (header.depth == 32 && header.color_mode == CM_GRAYSCALE) { - // 32-bits float images: Grayscale (coverted to equivalent integer 16-bits) - planarToChunchyFloatToUInt16(scanLine, rawStride.data(), header.width, c, imgChannels); + if (imgChannels >= 3) { // GRAY to RGB + planarToChunchy(scanLine, rawStride.data(), header.width, 0, imgChannels); + planarToChunchy(scanLine, rawStride.data(), header.width, 1, imgChannels); + planarToChunchy(scanLine, rawStride.data(), header.width, 2, imgChannels); + } else { // 32-bits float images: Grayscale (coverted to equivalent integer 16-bits) + planarToChunchyFloatToUInt16(scanLine, rawStride.data(), header.width, c, imgChannels); + } } } } @@ -1622,6 +1667,9 @@ bool PSDHandler::canRead(QIODevice *device) if (header.color_mode == CM_RGB && header.channel_count > 3) { return false; // supposing extra channel as alpha } + if (header.color_mode == CM_GRAYSCALE && (header.channel_count > 1 || header.depth == 32)) { + return false; // supposing extra channel as alpha + } } return IsSupported(header);