
    gt                       d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlmZmZ ddlmZmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddZd ZddZddZddZi dddefdddefdddefdddefdddefd d!d"efd#d$d%efd&d'd(efd)d*d+d,d-efd.d/d0efd1d2d3efd4d5d6efd7d8d9efd:d;d<efd=d>d?efd@dAi dBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVefdWdXdYefdZd[d\efd]d^d_efd`dadbefdcdddeefdfdgdhefdidjdkefi dldmdnefdodpdqefdrdsdtefdudvdwefdxdydzefd{d|d}efd~ddefdddefdddefdddefdddefdddefdddefdddefdddddddddddddddddddefdZ ddZ! G d dej                         Z"ddZ#d Z$dddddddZ%dZ&d dddZ'd Z(ddZ)ddZ*ddZ+ ejX                  e"jZ                  e+e!        ej\                  e"jZ                  e)        ej^                  e"jZ                  g d        ej`                  e"jZ                  d       y)    )annotationsN)IOAny   )Image	ImageFile)i16be)i32be)o8)o16be)presetsJpegImageFilec                    t        | j                  j                  d            dz
  }t        j                  | j                  |       y )N   )i16fpreadr   
_safe_read)selfmarkerns      H/var/www/openai/venv/lib/python3.12/site-packages/PIL/JpegImagePlugin.pySkipr   :   s1    DGGLLOq A!$    c                   t        | j                  j                  d            dz
  }t        j                  | j                  |      }d|dz  z  }|| j
                  |<   | j                  j                  ||f       |dk(  r|d d dk(  rt        |d      x| j                  d<   }t        |d	      | j                  d
<   	 |d   }t        |d      t        |d      f}|dk(  r|| j                  d<   || j                  d<   || j                  d<   y |dk(  rf|d d dk(  r^d| j                  v r| j                  dxx   |dd  z  cc<   y || j                  d<   | j                  j                         |z
  dz   | _        y |dk(  r+|d d dk(  r#|j                  dd      d   | j                  d<   y |dk(  r|d d dk(  r|| j                  d<   y |dk(  r$|d d dk(  r| j                  j                  |       y |dk(  r|d d  d!k(  rd }| j                  j                  d"i       }	|||dz    d#k(  r	 |dz  }t        ||      }
|dz  }||   }|d|z   z  }||dz  z  }t!        ||      }|dz  }||||z    }|
d$k(  r5t!        |d%      d&z  t        |d      t!        |d      d&z  t        |d      d'}||	|
<   ||z  }||dz  z  }|||dz    d#k(  ry y |d(k(  r7|d d d)k(  r/t        |d      | j                  d*<   	 |d+   }|| j                  d,<   y |dk(  rI|d d d-k(  r@|dd  | j                  d.<   | j                  j                         |z
  dz   | j                  d/<   y y y # t        $ r Y y w xY w# t"        j$                  $ r Y y w xY w# t&        $ r Y y w xY w)0Nr   zAPP%d        s   JFIF   jfif   jfif_version      
   r   dpi	jfif_unitjfif_density     s   Exif  exif   s   http://ns.adobe.com/xap/1.0/     xmp  s   FPXR flashpix      ICC_PROFILE      s   Photoshop 3.0 	photoshops   8BIMi  r   i   )XResolutionDisplayedUnitsXYResolutionDisplayedUnitsY  s   Adobeadobe   adobe_transforms   MPF mpmpoffset)r   r   r   r   r   appapplistappendinfodivmod	Exceptiontell_exif_offsetspliticclist
setdefaulti32structerror
IndexError)r   r   r   sr@   versionr'   r(   offsetr5   codename_lensizedatar=   s                  r   APPrV   ?   s   
 	DGGLLOq ATWWa(A
Vb[
!CDHHSMLLa!AbqEW,&)!Qi/		&G$*7C$8		.!		5!Iq!9c!Rj0L A~#/		% %.DIIk"(4DIIn%	6	ae{2TYYIIf12& !DIIf $ 2Q 6D	6	af(KK777A.q1		%	6	aey0 !		*	6	af(88 	A	6	af(<<II((b9	!$/!1f~!V9!h,&&1*$1f~!&4-06>'*4|e';+.tQ<'*4|e';+.tR=	D #'	$$&1*$1 !$/8 
6	aex/ AY		'	;eO ,;DII'(	6	aex/AB%		$ !% 2Q 6		* 0	S  		z <<   		s7   >M &BM +M7 	MMM43M47	NNc                   t        | j                  j                  d            dz
  }t        j                  | j                  |      }|| j
                  d<   || j                  d<   | j                  j                  d|f       y )Nr   commentCOM)	r   r   r   r   r   rC   r@   rA   rB   )r   r   r   rO   s       r   rY   rY      sf     	DGGLLOq ATWWa(ADIIiDHHUOLL
#r   c                &   t        | j                  j                  d            dz
  }t        j                  | j                  |      }t        |d      t        |d      f| _        |d   | _        | j                  dk7  rd| j                   d}t        |      |d   | _        | j                  dk(  rd	| _	        nI| j                  dk(  rd
| _	        n2| j                  dk(  rd| _	        nd| j                   d}t        |      |dv rdx| j                  d<   | j                  d<   | j                  r| j                  j                          | j                  d   d   t        | j                        k(  r.| j                  D cg c]  }|dd  	 }}dj                  |      }nd }|| j                  d<   g | _        t        dt        |      d      D ];  }|||dz    }	| j                   j#                  |	d   |	d   dz  |	d   dz  |	d   f       = y c c}w )Nr      r   r   r$   zcannot handle z-bit layersr   LRGBr   CMYKz-layer images)        progressiveprogression   r4   r   icc_profiler*      r   )r   r   r   r   r   _sizebitsSyntaxErrorlayers_moderC   rI   sortlenjoinrangelayerrB   )
r   r   r   rO   msgpprofilerf   its
             r   SOFrw      s    	DGGLLOq ATWWa(AQC1I%DJ!DIyyA~tyyk5#A$DK{{a
		
		
t{{m=9#11>??		- 499]#;||<<?2#dll"33'+||4|!qv|G4((7+KK#.		- 1c!fa a!a%L

1Q41QqTBY!=> ! 5s   Hc                   t        | j                  j                  d            dz
  }t        j                  | j                  |      }t        |      r|d   }|dz  dk(  rdnd}d|dz  z   }t        |      |k  rd}t        |      t        j                  |dk(  rdnd|d|       }t        j                  d	k(  r|dkD  r|j                          t        D 	cg c]  }	||	   	 c}	| j                  |d
z  <   ||d  }t        |      ry y c c}	w )Nr   r   rg   r   @   zbad quantization table markerBHlittler   )r   r   r   r   r   rn   rj   arraysys	byteorderbyteswapzigzag_indexquantization)
r   r   r   rO   v	precision	qt_lengthrr   rU   ru   s
             r   DQTr      s     	DGGLLOq ATWWa(A
a&aDr'Q,AQ		B&	q6I1Cc""{{)q.3c1Qy>J==H$QMMO6B$ClT!Wl$C!b&!ijM a& %Ds   D	i  SOF0zBaseline DCTi  SOF1zExtended Sequential DCTr_   SOF2zProgressive DCTi  SOF3zSpatial losslessi  DHTzDefine Huffman tablei  SOF5zDifferential sequential DCTr`   SOF6zDifferential progressive DCTi  SOF7zDifferential spatiali  )JPG	ExtensionNi  SOF9zExtended sequential DCT (AC)ra   SOF10zProgressive DCT (AC)i  SOF11zSpatial lossless DCT (AC)i  DACz%Define arithmetic coding conditioningi  SOF13z Differential sequential DCT (AC)rb   SOF14z!Differential progressive DCT (AC)i  SOF15zDifferential spatial (AC)i  )RST0z	Restart 0Ni  )RST1z	Restart 1Ni  )RST2z	Restart 2Ni  )RST3z	Restart 3Ni  )RST4z	Restart 4Ni  )RST5z	Restart 5Ni  )RST6z	Restart 6Ni  )RST7z	Restart 7Ni  )SOIzStart of imageNi  )EOIzEnd of imageN  SOSzStart of scani  r   zDefine quantization tablei  DNLzDefine number of linesi  DRIzDefine restart intervali  DHPzDefine hierarchical progressioni  EXPzExpand reference componentr   APP0zApplication segment 0r)   APP1zApplication segment 1r/   APP2zApplication segment 2i  APP3zApplication segment 3i  APP4zApplication segment 4i  APP5zApplication segment 5i  APP6zApplication segment 6i  APP7zApplication segment 7i  APP8zApplication segment 8i  APP9zApplication segment 9i  APP10zApplication segment 10i  APP11zApplication segment 11i  APP12zApplication segment 12r3   APP13zApplication segment 13r:   APP14zApplication segment 14i  APP15zApplication segment 15i  )JPG0zExtension 0Ni  )JPG1zExtension 1Ni  )JPG2zExtension 2N)JPG3zExtension 3N)JPG4zExtension 4N)JPG5zExtension 5N)JPG6zExtension 6N)JPG7zExtension 7N)JPG8zExtension 8N)JPG9zExtension 9N)JPG10zExtension 10N)JPG11zExtension 11N)JPG12zExtension 12N)JPG13zExtension 13NrY   Comment)i  i  i  i  i  i  i  i  i  i    i  c                    | d d dk(  S )Nr[   s    )prefixs    r   _acceptr   >  s    "1:((r   c                  T    e Zd ZdZdZd ZddZ	 	 	 	 	 	 ddZddZddZ	ddZ
d	 Zy
)r   JPEGzJPEG (ISO 10918)c                   | j                   j                  d      }t        |      sd}t        |      d}dx| _        | _        g | _        i | _        i | _        i | _	        i | _
        g | _        g | _        	 |d   }|dk(  r*|| j                   j                  d      z   }t        |      }n| j                   j                  d      }Q|t        v rrt        |   \  }}}|	 || |       |dk(  r9| j                  }| j                  dk(  rd	}d
d| j                   z   d|dffg| _        nS| j                   j                  d      }n5|dv rd}n.|dk(  r| j                   j                  d      }nd}t        |      | j%                          y )Nr[   znot a JPEG file   r      r   r   r^   CMYK;Ijpegr   r    >     r   i   zno marker found)r   r   r   rj   ri   rk   rq   
huffman_dc
huffman_acr   r@   rA   rI   r   MARKERmoderT   tile_read_dpi_from_exif)r   rO   rr   ru   namedescriptionhandlerrawmodes           r   _openzJpegImageFile._openK  s   GGLLOqz#Cc"" #$#	DK 
!ADyQ'F GGLLOF{-3AY*k7&D!$;"iiGyyF*"*"(&499*<a'2!O PDIGGLLOk!fGGLLO'!#&&; > 	  "r   c                    | j                   j                  |      }|s$t        j                  rt	        | d      sd| _        y|S )z
        internal: read more image data
        For premature EOF and LOAD_TRUNCATED_IMAGES adds EOI marker
        so libjpeg can finish decoding
        _endedTs   )r   r   r   LOAD_TRUNCATED_IMAGEShasattrr   )r   
read_bytesrO   s      r   	load_readzJpegImageFile.load_read  s;     GGLL$Y44WT8=T DKr   c                   t        | j                        dk7  ry | j                  ry | j                  d   \  }}}}d}| j                  }|d   dk(  r|dv r|| _        |df}|rt        | j                  d   |d   z  | j                  d   |d   z        }dD ]	  }	||	k\  s	 n |d   |d   |d   |d   z
  	z   dz
  |	z  |d   z   |d   |d   z
  |	z   dz
  |	z  |d   z   f}| j                  d   |	z   dz
  |	z  | j                  d   |	z   dz
  |	z  f| _        |	}||||fg| _        |df| _        dd|d   |z  |d   |z  f}
| j                  |
fS )	Nr   r   r]   )r\   YCbCrr   )r$   r   r   r   r   r[   )rn   r   decoderconfigrT   rl   minrh   r   )r   r   rT   deoascaleoriginal_sizerO   boxs              r   draftzJpegImageFile.draft  s    tyy>Q YYq\
1a		Q45=T^3DJbA		!Q/1a1HIE!A: " !!1!q1$*QqT11!q1$*QqT1	A  99Q<!+a/A5		!q8H18LQR7RSDJEAq\N	#QZ!]1%-}Q/?%/GHyy#~r   c                
   t        j                         \  }}t        j                  |       t        j                  j                  | j                        r$t        j                  dd|| j                  g       n#	 t        j                  |       d}t        |      	 t        j                  |      5 }|j                          |j                  | _        d d d        	 t        j                  |       | j                  j                   | _        | j                  j$                  | _        g | _        y # t        $ r Y w xY w# 1 sw Y   lxY w# t        $ r Y dw xY w# 	 t        j                  |       w # t        $ r Y w w xY wxY w)Ndjpeg-outfilezInvalid Filename)tempfilemkstemposclosepathexistsfilename
subprocess
check_callunlinkOSError
ValueErrorr   openloadimr   rl   rT   rh   r   )r   fr   rr   _ims        r   
load_djpegzJpegImageFile.load_djpeg  s&    ""$4
77>>$--(!!7Jdmm"LM		$ %CS/!	D!S
&& "		$ WW\\
WW\\
	'   "!  		$ sl   ;D1 E 3"E E E 1	D=<D= E	E 	EEFE32F3	E?<F>E??Fc                    t        |       S N)_getexifr   s    r   r
  zJpegImageFile._getexif  s    ~r   c                   d| j                   v sd| j                   vry 	 | j                         }|d   }|d   }	 t        |d         |d   z  }t	        j
                  |      rd}t        |      |dk(  r|d	z  }||f| j                   d<   y # t        $ r |}Y Kw xY w# t        j                  t        t        t        t        t        f$ r d
| j                   d<   Y y w xY w)Nr&   r+   i(  i  r   r   zDPI is not a numberr[   gRQ@)H   r  )rC   getexiffloat	TypeErrormathisnanr  rL   rM   KeyErrorrj   ZeroDivisionError)r   r+   resolution_unitx_resolutionr&   rr   s         r   r   z!JpegImageFile._read_dpi_from_exif  s    DIItyy!8	&<<>D"6lO<L#LO,|A> zz#+ o%!#t"CxDIIe  #"# LL
 	&  &DIIe	&s4   B B =B BB BB <CCc                    t        |       S r	  )_getmpr  s    r   r  zJpegImageFile._getmp  s    d|r   N)r   intreturnbytes)r   z
str | NonerT   ztuple[int, int] | Noner  z0tuple[str, tuple[int, int, float, float]] | None)r  Noner  zdict[str, Any] | None)__name__
__module____qualname__formatformat_descriptionr   r   r   r  r
  r   r  r   r   r   r   r   G  sJ    F+3#j $$&<$	9$L>&:r   c                \    d| j                   vry | j                         j                         S )Nr+   )rC   r  _get_merged_dictr  s    r   r
  r
    s&    TYY<<>**,,r   c           	        	 | j                   d   }t        j                  |      }|j	                  d      }|d d dk(  rdnd}ddlm} 	 |j                  |      }|j                  |j                         |j                  |       t        |      }	 |d
   }
g }	 |d   }t        d|
      D ]  }t        j                   | d||dz        }d}t        t#        ||            }t%        |d   dz        t%        |d   dz        t%        |d   dz        |d   dz  dz	  |d   dz  dz	  |d   dz  d}|d   dk(  rd|d<   nd}	t        |	      ddd d!d"d#d$d%}|j'                  |d&   d'      |d&<   ||d<   |j)                  |        ||d<   |S # t        $ r Y y w xY w# t        $ r}d	}	t        |	      |d }~ww xY w# t        $ r}d}	t        |	      |d }~ww xY w# t        $ r}d(}	t        |	      |d }~ww xY w))Nr>   r$   r   s   MM *><r   )TiffImagePluginz)malformed MP Index (unreadable directory)  z(malformed MP Index (no number of images)i  r   LLLHHrg   )	AttributeSize
DataOffsetEntryNo1EntryNo2r+  l        i   @i    i      i      i )DependentParentImageFlagDependentChildImageFlagRepresentativeImageFlagReservedImageDataFormatMPTyper6  r   z!unsupported picture format in MPO	Undefinedz Large Thumbnail (VGA Equivalent)z$Large Thumbnail (Full HD Equivalent)zMulti-Frame Image (Panorama)zMulti-Frame Image: (Disparity)z Multi-Frame Image: (Multi-Angle)zBaseline MP Primary Image)r   i  i  i  i  i  i   r7  Unknownz!malformed MP Index (bad MP Entry))rC   r  ioBytesIOr   r   r(  ImageFileDirectory_v2seeknextr  dictrE   rj   rp   rL   unpack_fromzipboolgetrB   )r   rU   file_contentshead
endiannessr(  rC   r>   r   rr   quant	mpentriesrawmpentriesentrynumunpackedentrylabelsmpentrympentryattr	mptypemaps                      r   r  r    sp   yy JJt$Ma DRa$77SJ!&44T:499%		- $Z
&6

 I$&&zaH"..,e$lHrMM QF3v}56G,01E1Q,R+/0D0P+Q+/0D0P+Q$[1W="D$+K$8G$D#K!+.;K ,-217-.9!#&&%<@8:<5I %.MM+h2G$SK!#.GK W%= (> 6
 IA    &9#A%&  &8#A%&N  &1#A%&s[   F 
AF F; C0G 	FF	F8%F33F8;	GGG	G6#G11G6r\   r]   r   r   )1r\   r]   RGBXr^   r   )@r   r   r   r*   r4   r   r0     r   r   r#   re   rg      r,   *   r[   r$   r1            )   +   	   r<      r1     (   ,   5   r%             '   -   4   6         !   &   .   3   7   <      "   %   /   2   8   ;   =   #   $   0   1   9   :   >   ?   r   ))r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   c                    t        | d      r| j                  dv ry| j                  d   dd | j                  d   dd z   | j                  d   dd z   }t        j	                  |d      S )Nrk   )r   r   r   r   r[   r   )r   rk   rq   	samplingsrC  )r  samplings     r   get_samplingr  k  si     2x BII$7xx{1Q"((1+a"22RXXa[15EEH==2&&r   c                	   | j                   dk(  s| j                  dk(  rd}t        |      	 t        | j                     }| j                  }|j                  dd      D cg c]  }t        |       }}|j                  dd      }	|j                  d	d      }
|j                  d
      }|	dk(  rd}	d}
d}n|	t        v r/t        |	   }d}	|j                  d	d      }
|j                  d      }nnt        |	t              sd}t        |      |
t        v rt        |
   j                  d	d      }
t        |t              r |t        v rt        |   j                  d      }|
dk(  rd}
nD|
dk(  rd}
n<|
dk(  rd}
n4|
dk(  rd}
n,|
dk(  r'| j                  dk7  rd}t        |      t        |       }
d }|dk(  r)| j                  dk7  rd}t        |      t!        | dd       } ||      }|j                  dd      }d}|j                  d      }|r~d}||z
  }g }|r|j#                  |d |        ||d  }|rd}|D ]P  }t%        d|z   t'        |      z         }|d|z   dz   t)        |      z   t)        t'        |            z   |z   z  }|dz  }R |j                  d| j*                  j                  d            }|j                  dd       xs |j                  d!d       }|j                  d"d       }|j                  d#d      }t        |t,        j.                        r|j1                         }t'        |      |kD  rd$}t        |      |	||j                  d%d      ||j                  d&d       |j                  d'd      |d   |d   |
|j                  d(d      |j                  d)d      ||||f| _        d}|s|r| j                  d*k(  r#d+| j4                  d   z  | j4                  d   z  }nL|	d,k\  s|	dk(  r#d| j4                  d   z  | j4                  d   z  }n| j4                  d   | j4                  d   z  }|r|t'        |      d-z   z  }|r7|t'        |      dz   z  }n%t7        |t'        |      d-z   t'        |      dz         }t9        j:                  | |d.d| j4                  z   d|fg|       y # t
        $ r!}d| j                   d}t        |      |d }~ww xY wc c}w )/Nr   z cannot write empty image as JPEGzcannot write mode z as JPEGr&   r   qualityr  subsamplingqtableskeepr   zInvalid quality settingz4:4:4z4:2:2r   z4:2:0r   z4:1:1r   z3Cannot use 'keep' when original image is not a JPEGc                   | | S t        | t              rz	 | j                         D cg c]5  }|j                  dd      d   j                         D ]  }t	        |       7 }}}t        dt        |      d      D cg c]
  }|||dz     } }t        | t        t        t        f      rt        | t              r*t        t        |             D cg c]  }|| v s| |    } }nt        | t              rt        |       } dt        |       cxk  rdk  sn d}t        |      t        |       D ]E  \  }}		 t        |	      dk7  rd}t        |      t        j                  d|	      }	t        |	      | |<   G | S y c c}}w c c}w # t        $ r}d}t        |      |d }~ww xY wc c}w # t        $ r}d}t        |      |d }~ww xY w)	N#r   r   ry   zInvalid quantization tabler   z$None or too many quantization tablesr{   )
isinstancestr
splitlinesrH   r  rp   rn   r  tuplelistr?  	enumerater  r}   )
r  linenumlinesrO   r   rr   keyidxtables
             r   validate_qtablesz_save.<locals>.validate_qtables  s   ?Ngs#
P !( 2 2 4 4#zz#q1!4::< H<  4   7<As5z26NO6N5QV,6NOgtT23'4(,1#g,,?,?S3'>GCL,?   GU+w-G(q(< o%'0
U	/5zR':'n,!KKU3E
 $(;GCL 1 N+ 4 P	  -2 o1,- ! 16C$S/q01sR   F :E8#F >E>	F"F"41F'8F 	FFF'	G0F>>Gextrar   r   rf   r4   s   r2   rX   rc   Frd   optimizer+   zEXIF data is too longsmoothkeep_rgb
streamtyperestart_marker_blocksrestart_marker_rowsr^   r   _   r   r   )widthheightr  RAWMODEr   r  r   encoderinforC  roundr   r  r  r  r!  r  getattrrB   o16rn   r   rC   r   ExiftobytesencoderconfigrT   maxr   _save)r  r   r   rr   r   r   rC   xr&   r  r  r  presetr  r  MAX_BYTES_IN_MARKERrf   ICC_OVERHEAD_LENMAX_DATA_BYTES_IN_MARKERmarkersru   r   rT   rX   rc   r  r+   bufsizes                               r   r  r  y  s   	xx1}		Q0o""''"
 >>D!XXeV4
54584C
5hhy"%G((="-Khhy!G&	G	!jj3**^,%'o'!!+.22="EKgs#7(:g&**>:Gg						 		99GCS/!"2&$L &99GCS/!"nd3w'GHHWc"E((=)K#69I#I NN;'@(@AB%&>&?@K  Fq++c&k9:D"# Q% S\"	#
 E FA  hhy"''++i"89G
 ((=%0RDHH]E4RKxx
E*H88FC D$

#||~
4y&&%o 	1U#q!AA(!,&*B, G;77f"''!*nrwwqz1G]gm"''!*nrwwqz1Gggaj2771:-Gs4y1}$Gs5zA~%G gs4y1}c%j1n=OOBffrww&67CDgN[  ""277)84cl!" 6s   R%  S%	S.S

Sc                    | j                         }t        j                  dd||g       	 t        j                  |       y # t
        $ r Y y w xY w)Ncjpegr   )_dumpr   r   r   r   r   )r  r   r   r   s       r   _save_cjpegr  0  sG    xxzH7J(CD
		( s   A 	AAc                0   t        | |      }	 |j                         }|d   dkD  r:|j                  D ]  \  }}|dk(  sd|v s|c S  ddlm} |j                  ||      }|S # t        t        f$ r Y |S t        $ r t        j                  d       Y |S w xY w)Nr)  r   r   s    hdrgm:Version=")MpoImageFilezTImage appears to be a malformed MPO file, it will be interpreted as a base JPEG file)r   r  rA   MpoImagePluginr  adoptr  rN   rj   warningswarn)r   r   r  mpheadersegmentcontentr  s          r   jpeg_factoryr  <  s    	r8	$B
99;E?Q$&JJ f$)<)GI %/
 5 ##B1B I z"  I  
.	
 I
s(   /A" A" A" A" "B4BB)z.jfifz.jpez.jpgz.jpegz
image/jpeg)r   r   r   r  r  r  )r   r  r  rB  r  )r  zImage.Imager   z	IO[bytes]r   zstr | bytesr  r  )NN)1
__future__r   r}   r:  r  r   rL   r   r~   r   r  typingr   r   r   r   r   _binaryr	   r   r
   rK   r   r   r  JpegPresetsr   r   rV   rY   rw   r   r   r   r   r
  r  r  r   r  r  r  r  r  register_openr!  register_saveregister_extensionsregister_mimer   r   r   <module>r     sZ  D #  	  	   
     ! !  !  %
c7L$-?`6@

V^S)@

V.4@
 V&,@
 V'-	@

 U*D1@
 V2C8@
 V3S9@
 V+S1@
 &@
 V3S9@
 W,c2@
 W137@
 U;TB@
 W8#>@
 W93?@
  W137!@
" '#@
$ '%@
& ''@
( ')@
* '+@
, '-@
. '/@
0 '1@
2 +3@
4 )5@
6 UOT*7@
8 U/59@
: U,d3;@
< U-t4=@
> U5s;?@
@ U0$7A@
B V,c2C@
D V,c2E@
F V,c2G@
H V,c2I@
J V,c2K@
L V,c2M@
N V,c2O@
P V,c2Q@
R V,c2S@
T V,c2U@
V W.4W@
X W.4Y@
Z W.4[@
\ W.4]@
^ W.4_@
` W.4a@
b )c@
d )e@
f )g@
h *))))))++++Is#@
F)oI'' od-I` 
		 	'tOn8   M((, @   M((% 0   -..0R S   M((, 7r   