
    :h
                        d dl mZ d dlZddlmZmZ d	dZ G d dej                        Z ej                  ej                  ee        ej                  ej                  d       y)
    )annotationsN   )ImageTiffImagePluginc                @    | j                  t        j                        S N)
startswitholefileMAGIC)prefixs    P/var/www/urcfiles/bundle/venv/lib/python3.12/site-packages/PIL/MicImagePlugin.py_acceptr      s    W]]++    c                  P     e Zd ZdZdZdZd	dZd
dZddZd	 fdZ	d fdZ
 xZS )MicImageFileMICzMicrosoft Image ComposerFc                   	 t        j                  | j                        | _        | j                  j                         D cg c]%  }|dd  r|d   j                  d      r
|d   dk(  r|' c}| _        | j                  sd}t        |      d| _	        t        | j                        | _        | j                  dkD  | _        | j                  | _        | j                  d       y # t        $ r}d}t        |      |d }~ww xY wc c}w )Nz!not an MIC file; invalid OLE filer   r   z.ACIr   z!not an MIC file; no image entries)r
   	OleFileIOfpoleOSErrorSyntaxErrorlistdirendswithimagesframelen	_n_framesis_animated_MicImageFile__fpseek)selfemsgpaths       r   _openzMicImageFile._open)   s    	*((1DH ((*
*ABxDG,,V4aG9K *
 {{5Cc""
T[[)>>A-GG			!1  	*5Cc")	*
s   $C% *D%	D.C<<Dc                    | j                  |      sy | j                  |   }| j                  j                  |      | _        t
        j                  j                  |        || _        y r   )	_seek_checkr   r   
openstreamr   r   TiffImageFiler'   r   )r#   r   filenames      r   r"   zMicImageFile.seekI   sR    &;;u%((%%h/%%++D1
r   c                    | j                   S r   )r   )r#   s    r   tellzMicImageFile.tellS   s    zzr   c                    | j                   j                          | j                  j                          t        |           y r   )r!   closer   super)r#   	__class__s    r   r0   zMicImageFile.closeV   s(    		r   c                    | j                   j                          | j                  j                          t        |           y r   )r!   r0   r   r1   __exit__)r#   argsr2   s     r   r4   zMicImageFile.__exit__[   s*    		r   )returnNone)r   intr6   r7   )r6   r8   )r5   objectr6   r7   )__name__
__module____qualname__formatformat_description!_close_exclusive_fp_after_loadingr'   r"   r.   r0   r4   __classcell__)r2   s   @r   r   r   $   s3    F3(-%@
 r   r   z.mic)r   bytesr6   bool)
__future__r   r
    r   r   r   r+   r   register_openr=   register_extension r   r   <module>rH      s\   $ #  $,:?00 :@   L''w ?   ,,f 5r   