
    h{                       S SK Jr  S SKJr  SSKJrJr  SSKJr	  SSKJ
r  SSKJr  SqSS	 jr\" \R"                  S
5      (       a"   " S S\R$                  5      r\" \" 5       5        SS jr " S S\R*                  5      rSS jr\R0                  " \R2                  \\5        \R4                  " \R2                  \5        \R6                  " \R2                  SS/5        g)    )annotations)IO   )Image	ImageFile)i16le)si16le)si32leNc                    U q g)zR
Install application-specific WMF image handler.

:param handler: Handler object.
N_handler)handlers    D/var/www/html/env/lib/python3.13/site-packages/PIL/WmfImagePlugin.pyregister_handlerr   !   s	     H    drawwmfc                  (    \ rS rSrSS jrSS jrSrg)
WmfHandler.   c                :    SUl         UR                  S   U l        g )NRGBwmf_bbox)_modeinfobboxselfims     r   openWmfHandler.open/   s    BH
+DIr   c           	     F   UR                   R                  S5        [        R                  " SUR                  [        R
                  R                  UR                   R                  5       UR                  U R                  5      SSUR                  S   S-  S-   S-  S5      $ )Nr   r   rawBGR   )	fpseekr   	frombytessizecorer   readr   r   s     r   loadWmfHandler.load3   sv    EEJJqM??

""255::<$))Da!#r) r   )r   N)r   ImageFile.StubImageFilereturnNone)r   r/   r0   Image.Image)__name__
__module____qualname____firstlineno__r   r-   __static_attributes__ r   r   r   r   .   s    	,
	r   r   c                $    U R                  S5      $ )N)   ƚ        )
startswith)prefixs    r   _acceptr>   F   s    OPPr   c                  T   ^  \ rS rSrSrSrSS jrS	S jr S
   SU 4S jjjrSr	U =r
$ )WmfStubImageFileN   WMFzWindows Metafilec                6   U R                   R                  S5      nUR                  S5      (       a  [        US5      nUS:X  a  Sn[	        U5      eX"4U l        [        US5      n[        US5      n[        US5      n[        US	5      nS
U R                  S'   Xd-
  U R                  S   -  U-  Xu-
  U R                  S   -  U-  4nXEXg4U R                  S'   USS S:w  a  Sn[        U5      eOUR                  S5      (       a  USS S:X  a  [        US5      n[        US	5      n[        US5      n[        US5      n[        US5      [        US5      [        US5      [        US5      4n	Xd-
  Xu-
  4nSXd-
  -  U	S   U	S   -
  -  n
SXu-
  -  U	S   U	S   -
  -  nXEXg4U R                  S'   X:X  a  XR                  S'   OX4U R                  S'   X4U l        OSn[        U5      eS U l
        Xl        U R                  5       nU(       a  UR                  U 5        g g )!NP   r:      r   zInvalid inch      
      H   dpir         s    	 zUnsupported WMF file formatr;   (   ,   s    EMF                $   g     أ@   r$   r   zUnsupported file formatr   )r'   r,   r<   word
ValueError_inchshortr   SyntaxError_longr   _size_loadr   )r   sinchmsgx0y0x1y1r*   framexdpiydpiloaders                r   _openWmfStubImageFile._openR   s9   GGLL<<344 2;Dqy$ o%.2jDJ q!Bq!Bq"Bq"B  "DIIeDIIe,,4DIIe,,4D
 %'BNDIIj! Bx,,3!#&& - \\-..1R8w3F q!Bq"Bq"Bq"B !RL%2,aeArlJE7BG#D RW%qE!H)<=DRW%qE!H)<=D$&BNDIIj!|#'		% #':		% DJ ,Cc""

KK r   c                    [         $ Nr   )r   s    r   r^   WmfStubImageFile._load   s    r   c                ,  > Ub  XR                   S'   U R                   S   u  p#pE[        U[        5      (       d  X4n[        XB-
  US   -  U R                  S   -  5      [        XS-
  US   -  U R                  S   -  5      4U l        [        TU ]  5       $ )NrK   r   r   r   )r   
isinstancetupleintrY   r]   superr-   )r   rK   rb   rc   rd   re   	__class__s         r   r-   WmfStubImageFile.load   s     ?"IIe!YYz2NBBc5))hRWA&A67RWA&A67DJ w|~r   )rY   r   r]   )r0   r1   )r0   ImageFile.StubHandler | Nonerm   )rK   z"float | tuple[float, float] | Noner0   zImage.core.PixelAccess | None)r3   r4   r5   r6   formatformat_descriptionrj   r^   r-   r7   __classcell__)rt   s   @r   r@   r@   N   s9    F+EN 9=5	& r   r@   c                    [         b  [        [         S5      (       d  Sn[        U5      e[         R                  XU5        g )NsavezWMF save handler not installed)r   hasattrOSErrorr{   )r   r'   filenamera   s       r   _saver      s1    wx88.clMM"(#r   z.wmfz.emf)r   rv   r0   r1   )r=   bytesr0   bool)r   r2   r'   z	IO[bytes]r~   zstr | bytesr0   r1   )
__future__r   typingr    r   r   _binaryr   rW   r	   rZ   r
   r\   r   r   r|   r+   StubHandlerr   r>   StubImageFiler@   r   register_openrw   register_saveregister_extensionsr8   r   r   <module>r      s   * #   " $ $ 5::y!!Y** " Z\"QZy.. Zz$   $++-=w G   $++U 3   *11FF3C Dr   