+
    UBi                       ^ RI Ht ^ RIt^ RIt^ RIHt ^RIHtHt ^RI	H
t ^RI	Ht R R lt ! R	 R
]P                  4      t ! R R]P                   4      t]P$                  ! R]4       R R lt]P(                  ! ]P*                  ]]4       ]P,                  ! ]P*                  ]4       ]P.                  ! ]P*                  R4       R# )    )annotationsN)IO)Image	ImageFile)i16le)o16lec                    V ^8  d   QhRRRR/# )   prefixbytesreturnbool )formats   "7/usr/lib/python3.14/site-packages/PIL/MspImagePlugin.py__annotate__r   '   s     1 1E 1d 1    c                $    V P                  R4      # )   DanM)r   s   LinS)
startswith)r   s   &r   _acceptr   '   s    /00r   c                  *    ] tR t^0tRtRtR R ltRtR# )MspImageFileMSPzWindows Paintc                   V ^8  d   QhRR/# )r
   r   Noner   )r   s   "r   r   MspImageFile.__annotate__4   s     I It Ir   c                	H   V P                   f   Q hV P                   P                  ^ 4      p\        V4      '       g   Rp\        V4      h^ p\	        ^ ^ ^4       F  pV\        W4      ,          pK  	  V^ 8w  d   Rp\        V4      hRV n        \        V^4      \        V^4      3V n        VP                  R4      '       d3   \        P                  ! RRV P                  ,           ^ R4      .V n        R # \        P                  ! RRV P                  ,           ^ 4      .V n        R # )Nznot an MSP filezbad MSP checksum1r   rawr   r   r   )fpreadr   SyntaxErrorrangei16_mode_sizer   r   _Tilesizetile)selfsmsgchecksumis   &    r   _openMspImageFile._open4   s    ww"""GGLLqzz#Cc"" q"aA#a)+H !q=$Cc""
AYAq	)
<<  "0BBLMDI"0BBGHDIr   )r'   r(   r+   N)__name__
__module____qualname____firstlineno__r   format_descriptionr1   __static_attributes__r   r   r   r   r   0   s    F(I Ir   r   c                  &    ] tR t^NtRtR R ltRtR# )
MspDecoderTc                    V ^8  d   QhRRRR/# )r
   bufferz$bytes | Image.SupportsArrayInterfacer   ztuple[int, int]r   )r   s   "r   r   MspDecoder.__annotate__s   s     * *A *o *r   c                	   V P                   f   Q h\        P                  ! 4       p\        R	V P                  P
                  ^,           ^,          ,          4      p V P                   P                  ^ 4       \        P                  ! RV P                  P                   R2V P                   P                  V P                  P                  ^,          4      4      p\        T4       F  w  rx T^ 8X  d   TP                  T4       K   T P                   P                  T4      p	\        T	4      T8w  d   RT RT 2p\        T4      h^ p
Y8  dy   Y,          pT
^,          p
T^ 8X  d<   \        P                  ! RY4      w  rTP                  Y,          4       T
^,          p
KY  TpTP                  YY,            4       Y,          p
K~  K  	  T P!                  TP#                  4       R4       R
#   \        P                   d   pRp\        T4      ThR p?ii ; i  \        P                   d   pRT 2p\        T4      ThR p?ii ; i)N<HzTruncated MSP file in row mapzTruncated MSP file, expected z bytes on row BczCorrupted MSP file in row r   )   )r   )fdioBytesIO	bytearraystatexsizeseekstructunpack_fromysizer#   errorOSError	enumeratewritelen
set_as_rawgetvalue)r,   r<   img
blank_linerowmaper.   xrowlenrowidxruntyperuncountrunvals   &&            r   decodeMspDecoder.decodes   s   ww"""jjlw4::+;+;a+?A*EFG
	&GGLL''DJJ$$%Q'djj6F6F6J)KF #6*IA*Q;IIj)ggll6*s8v%9&PQsSC!#,&l!hG1HC!|-3-?-?c-O*		&"34q#*		#CN";< # +4 	,A || 	&1C#,A%	&4 << *21#6cl)*s8   A>G( *HB>H(H=HHH>(H99H>r   N)r3   r4   r5   r6   	_pulls_fdr`   r8   r   r   r   r:   r:   N   s    F I* *r   r:   r   c               (    V ^8  d   QhRRRRRRRR/# )	r
   imzImage.Imager"   z	IO[bytes]filenamezstr | bytesr   r   r   )r   s   "r   r   r      s.     Q Qk Qy QK QD Qr   c           
         V P                   R 8w  d   RV P                    R2p\        V4      h^ .^,          p\        R4      \        R4      uV^ &   V^&   V P                  w  V^&   V^&   ^^uV^&   V^&   ^^uV^&   V^&   V P                  w  V^&   V^	&   ^ pV F  pWV,          pK  	  WT^&   V F  pVP	                  \        V4      4       K  	  \        P                  ! W\        P                  ! RRV P                  ,           ^ R 4      .4       R# )r   zcannot write mode z as MSPs   Das   nMr    Nr!   )	moderO   r&   r*   rQ   o16r   _saver)   )rd   r"   re   r.   headerr/   hs   &&&    r   ri   ri      s
   	ww#~"277)73cl S2XFu:s5zF1Ivay77F1IvayaF1IvayaF1Ivay77F1IvayH< 2J 
Q  OOBY__UFRWW4Db#NOPr   z.msp)
__future__r   rE   rK   typingr    r   r   _binaryr   r&   r   rh   r   r   	PyDecoderr:   register_decoderri   register_openr   register_saveregister_extensionr   r   r   <module>ru      s   2 # 	    ! !1I9&& I<O$$ Od   uj )Q<   L''w ?   L'' /   ,,f 5r   