+
    UBi!                       ^ RI Ht ^ RIt^ RIHt ^ RIHt ^RIHtH	t	H
t
 ^RIHt ^RIHt ^RIHt ^R	IHt ^R
IHt ^RIHt RRRRRRRRRRRR R!RR"RR#R$/	tR R lt ! R R]	P                  4      tR R ltR R lt]P8                  ! ]P:                  ]]4       ]P<                  ! ]P:                  R4       ]P>                  ! ]P:                  R4       R# )%    )annotationsN)cached_property)IO)Image	ImageFileImagePalette)i8)i16be)i32be)si16be)si32be)DeferredErrorc                    V ^8  d   QhRRRR/# )   prefixbytesreturnbool )formats   "7/usr/lib/python3.14/site-packages/PIL/PsdImagePlugin.py__annotate__r   2   s     & &E &d &    c                $    V P                  R 4      # )s   8BPS)
startswith)r   s   &r   _acceptr   2   s    W%%r   c                      ] tR t^:tRtRtRtR R lt]R R l4       t	]
R R	 l4       t]
R
 R l4       tR R ltR R ltRtR# )PsdImageFilePSDzAdobe PhotoshopFc                   V ^8  d   QhRR/# )r   r   Noner   )r   s   "r   r   PsdImageFile.__annotate__?   s     Q Qt Qr   c                	D   V P                   P                  pV! ^4      p\        V4      '       d   \        V^4      ^8w  d   Rp\	        V4      h\        V^4      p\        V^4      p\        V^4      p\
        Wd3,          w  rxW8  d   Rp\        V4      hVR8X  d   V^8X  d   Rp^pWpn        \        V^4      \        V^4      3V n	        \        V! ^4      4      p	V	'       d3   V! V	4      p
VR8X  d$   V	R8X  d   \        P                  ! RV
4      V n        . V n        \        V! ^4      4      p	V	'       d   V P                   P                  4       V	,           pV P                   P                  4       V8  d   V! ^4       \        V! ^4      4      pV! \        V! ^4      4      4      p\!        V4      ^,          '       g	   V! ^4       V! \        V! ^4      4      4      p
\!        V
4      ^,          '       d	   V! ^4       V P                  P#                  WV
34       VR8X  g   K  WP$                  R	&   K  R
V n        \        V! ^4      4      p	V	'       d{   V P                   P                  4       V	,           p\        V! ^4      4      p	V	'       d&   V P                   P                  4       V n        Wn        V P                   P+                  V4       R
V n        \/        V P                   VRV P0                  ,           V4      V n        V P                   V n        ^V n        ^V n        R
# )   znot a PSD fileznot enough channelsRGBRGBAPi   zRGB;Li  icc_profileN)r   r   )fpreadr   i16SyntaxErrorMODESOSError_modei32_sizer   rawpalette	resourcestellr	   lenappendinfo_layers_position_layers_sizeseek	_n_frames	_maketilesizetile_fpframe
_min_frame)selfr*   smsgpsd_bitspsd_channelspsd_modemodechannelsr>   dataendidnames   &             r   _openPsdImageFile._open?   sg   ww||
 HqzzSAY!^"Cc""q":1bzq":34"'C#,5=\Q.DH
BZQ+

 47|:Ds{ts{+//>
 47|'',,.4'C'',,.3&Qa\BtAwK(D	AGCQL)t9q==G%%r&67:/3IIm,
 !%47|'',,.4'CtAw<D(,%$(!GGLL%)
 dggtVdii-?J	 77
r   c                   V ^8  d   QhRR/# )r   r   Glist[tuple[str, str, tuple[int, int, int, int], list[ImageFile._Tile]]]r   )r   s   "r   r   r"      s      	Pr   c                	   . pV P                   e   \        V P                  \        4      '       d   V P                  P                  hV P                  P                  V P                   4       \        P                  ! \        P                  ! V P                  V P                  4      4      p\        W P                  4      p\        V4      V n        V# N)r9   
isinstancer@   r   exr;   ioBytesIOr   
_safe_readr:   
_layerinfor6   r<   )rC   layers_layer_datas   &  r   r[   PsdImageFile.layers   s       ,$((M22hhkk!HHMM$//0**Y%9%9$((DDUDU%VWK->->?FVr   c                   V ^8  d   QhRR/# r   r   intr   )r   s   "r   r   r"      s      # r   c                	j    V P                   f   \        V P                  4      V n         V P                   # rT   )r<   r6   r[   rC   s   &r   n_framesPsdImageFile.n_frames   s&    >>! -DN~~r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r"      s     $ $T $r   c                	2    \        V P                  4      ^8  # )   )r6   r[   rb   s   &r   is_animatedPsdImageFile.is_animated   s    4;;!##r   c                    V ^8  d   QhRRRR/# )r   layerr`   r   r!   r   )r   s   "r   r   r"      s      # $ r   c                	$   V P                  V4      '       g   R # \        V P                  \        4      '       d   V P                  P                  hV P
                  V^,
          ,          w  r#r$W0n        W@n        Wn        V P                  V n	        R # rT   )
_seek_checkrU   r@   r   rV   r[   r/   r?   rA   r)   )rC   rk   _rI   r?   s   &&   r   r;   PsdImageFile.seek   sh    &&dhh..((++  ;;uqy1
	
((r   c                   V ^8  d   QhRR/# r_   r   )r   s   "r   r   r"      s      c r   c                	    V P                   # rT   )rA   rb   s   &r   r5   PsdImageFile.tell   s    zzr   )r@   r9   r:   rB   r/   r<   r1   r)   rA   r3   r4   r?   N)__name__
__module____qualname____firstlineno__r   format_description!_close_exclusive_fp_after_loadingrO   r   r[   propertyrc   rh   r;   r5   __static_attributes__r   r   r   r   r   :   se    F*(-%Qf    
 $ $ r   r   c               $    V ^8  d   QhRRRRRR/# )r   r)   	IO[bytes]ct_bytesr`   r   rR   r   )r   s   "r   r   r      s)     X XX XLXr   c           	     &  a  . pR  V 3R llp\        V! ^4      4      pV\        V4      ^,          8  d   Rp\        V4      h\        \        V4      4       EFR  p\	        V! ^4      4      p\	        V! ^4      4      p\	        V! ^4      4      p	\	        V! ^4      4      p
. p\        V! ^4      4      pV^8  db   S P                  V^,          ^,           \        P                  4       \        V! ^4      4      pS P                  V\        P                  4       K  \        V4       F@  p\        V! ^4      4      pVR8X  d   RpM	RV,          pVP                  V4       V! ^4       KB  	  VP                  4        VR.8X  d   RpMV. RO8X  d   RpMV. RO8X  d   RpMR	pV! ^4       R	p\        V! ^4      4      pV'       d   S P                  4       V,           p\        V! ^4      4      pV'       d(   S P                  V^,
          \        P                  4       \        V! ^4      4      pV'       d!   S P                  V\        P                  4       \        V! ^4      4      pV'       d   V! V4      P                  R
R4      pS P                  V4       VP                  VVWW334       EKU  	  . p\        V4       FS  w  pw  ppp. pV F,  p\!        S VV^4      pV'       g   K  VP#                  V4       K.  	  VP                  VVVV34       KU  	  V# )c                    V ^8  d   QhRRRR/# )r   r>   r`   r   r   r   )r   s   "r   r    _layerinfo.<locals>.__annotate__   s     . .3 .5 .r   c                2   < \         P                  ! SV 4      # rT   )r   rY   )r>   r)   s   &r   r*   _layerinfo.<locals>.read   s    ##B--r   z4Layer block too short for number of layers requestedi  Ar&   RLr%    zlatin-1replace)BGr   )r   r   r   r   )si16absr,   rangesi32r+   r;   rW   SEEK_CURr0   r7   sortr5   r	   decode	enumerater=   extend)r)   r}   r[   r*   ctrE   rn   y0x0y1x1bandsct_typesr>   typebrI   rN   data_endlength	layerinfoibboxr?   mts   f&                        r   rZ   rZ      s    F. . 
d1gB 3r7R< D#3r7^$q']$q']$q']$q'] tAw<a<GGHqL2%r{{3tAw<DGGD"++&xAtAw<Du}4LLLOG ! 	

SE>Do%D**DD 	R47|wwy4'Ha\FR[[1a\F,Q[F F|**9i@GGHtTBB#345y ~ I!*6!2D$A"aq)AqA  	$dD12 "3 r   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   filer|   rI   strr   ztuple[int, int, int, int]rJ   r`   r   zlist[ImageFile._Tile]r   )r   s   "r   r   r     s4     + +
++&?+KN++r   c           	     8   . pV P                   p\        V! ^4      4      pV^,          V^ ,          ,
          pV^,          V^,          ,
          pV P                  4       p	V^ 8X  db   \        V4       FQ  p
W,          pVR8X  d
   VR,          pVP	                  \
        P                  ! RW)V4      4       WV,          ,           p	KS  	  MV^8X  d   ^ pV! W8,          ^,          4      pV P                  4       p	\        V4       Fo  p
W,          pVR8X  d
   VR,          pVP	                  \
        P                  ! RW)V4      4       \        V4       F  pV	\        W4      ,           p	V^,          pK   	  Kq  	  V P                  V	4       V	^,          '       d	   V! ^4       V# )r   CMYKz;Ir2   packbits)r*   r+   r5   r   r7   r   _Tiler;   )r   rI   r   rJ   tilesr*   compressionxsizeysizeoffsetchannelrk   r   	bytecountys   &&&&           r   r=   r=     sW    E99Dd1g,KGd1gEGd1gEYY[Fa XGMEv~LLeDEem+F ' 
	 )A-.	XGMEv~LLT5IJ5\#i"33Q " ' 	IIfzzQLr   z.psdzimage/vnd.adobe.photoshop)r   rg   )1rg   )r      )r   rg   )rg   r   )r   r   )r'   rg   )   r   )r%   r   )   r   )r   r   )   r   )r   r   )	   r   )LABr   ) 
__future__r   rW   	functoolsr   typingr   r   r   r   r   _binaryr	   r
   r+   r   r0   r   r   r   r   _utilr   r-   r   r   rZ   r=   register_openr   register_extensionregister_mimer   r   r   <module>r      s   $ # 	 %  , ,  ! ! # #   H
H
H
H
J
K
H
H
J	$&9&& DXv+d   L''w ?   ,,f 5   L'')D Er   