
    g8|                       S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKJrJr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S	KJr  SS
KJr  SSKJr  \(       a  SSKJr  SS jr SS jr!SS jr"SS jr#SS jr$0 SSS\#4_SSS\#4_SSS\#4_SSS\#4_SS S!\ 4_S"S#S$\#4_S%S&S'\#4_S(S)S*\#4_S+S,_S-S.S/\#4_S0S1S2\#4_S3S4S5\#4_S6S7S8\ 4_S9S:S;\#4_S<S=S>\#4_S?S@SA\#4_SBSC_0 SDSE_SFSG_SHSI_SJSK_SLSM_SNSO_SPSQ_SRSS_STSU_SVSWSX\ 4_SYSZS[\$4_S\S]S^\ 4_S_S`Sa\ 4_SbScSd\#4_SeSfSg\ 4_ShSiSj\!4_SkSlSm\!4_E0 SnSoSp\!4_SqSrSs\!4_StSuSv\!4_SwSxSy\!4_SzS{S|\!4_S}S~S\!4_SSS\!4_SSS\!4_SSS\!4_SSS\!4_SSS\!4_SSS\!4_SSS\!4_SSS\!4_SS_SS_SS_ESSSSSSSSSSSSS\"4S.Er%SS jr& " S S\R"                  5      r'SS jr(SS jr)SSSSSSS.r*Sr+S SSS.r,SS jr-SS jr.SS jr/ S     SS jjr0\Rb                  " \'Rd                  \0\&5        \Rf                  " \'Rd                  \.5        \Rh                  " \'Rd                  / SQ5        \Rj                  " \'Rd                  S5        g)    )annotationsN)IOTYPE_CHECKINGAny   )Image	ImageFile)i16be)i32be)o8)o16be)	deprecate)presetsMpoImageFileJpegImageFilec                    [        U R                  R                  S5      5      S-
  n[        R                  " U R                  U5        g )N   )i16fpreadr	   
_safe_read)selfmarkerns      [/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/PIL/JpegImagePlugin.pySkipr   >   s1    DGGLLOq A!$    c                n   [        U R                  R                  S5      5      S-
  n[        R                  " U R                  U5      nSUS-   3nX0R
                  U'   U R                  R                  XC45        US:X  a  US S S:X  a  [        US5      =U R                  S'   n[        US	5      U R                  S
'    US   n[        US5      [        US5      4nUS:X  a  XpR                  S'   O%US:X  a  [        S U 5       5      U R                  S'   X`R                  S'   XpR                  S'   g US:X  ah  US S S:X  a_  SU R                  ;   a  U R                  S==   USS  -  ss'   g X0R                  S'   U R                  R                  5       U-
  S-   U l        g US:X  a,  US S S:X  a#  UR                  SS5      S   U R                  S'   g US:X  a  US S S:X  a  X0R                  S'   g US:X  a%  US S S:X  a  U R                  R                  U5        g US :X  a  US S! S":X  a  S!nU R                  R!                  S#0 5      n	X8US-    S$:X  a   US-  n[        X85      n
US-  nX8   nUSU-   -  nXS-  -  n[#        X85      nUS-  nX8X-    nU
S%:X  a8  [#        US&5      S'-  [        US5      [#        US5      S'-  [        US5      S(.X'   OXU
'   X-  nXS-  -  nX8US-    S$:X  a  M  g g US):X  a7  US S S*:X  a.  [        US5      U R                  S+'    US,   nXR                  S-'   g US:X  aJ  US S S.:X  a@  USS  U R                  S/'   U R                  R                  5       U-
  S-   U R                  S0'   g g g ! [         a     g f = f! [$        R&                   a     g f = f! [(         a     g f = f)1Nr   APP        s   JFIF   jfif   jfif_version      
   r   dpic              3  *   #    U  H	  oS -  v   M     g7f)RQ@N ).0ds     r   	<genexpr>APP.<locals>.<genexpr>_   s     (H<aT<s   	jfif_unitjfif_density     s   Exif  exif      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tuple	Exceptiontell_exif_offsetspliticclist
setdefaulti32structerror
IndexError)r   r   r   srM   versionr3   r4   offsetrB   codename_lensizedatarJ   s                  r   r    r    C   s   
 	DGGLLOq ATWWa(A}
CHHSMLL!AbqEW,&)!Qi/		&G$*7C$8		.!	5!Iq!9c!Rj0L A~#/		% a#((H<(H#H		% %.IIk"(4IIn%	6	ae{2TYYIIf12& !IIf $ 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	!$/!1~!9!h,&1*$1~!&-06>'*4|e';+.tQ<'*4|e';+.tR=	'IO '+dO1*$3 !$/: 
6	aex/ AY		'	;eO ,;II'(	6	aex/AB%		$ !% 2Q 6		* 0	[  		B <<   		s7   ?M= BN N' =
N
	N
N$#N$'
N43N4c                   [        U R                  R                  S5      5      S-
  n[        R                  " U R                  U5      nX0R
                  S'   X0R                  S'   U R                  R                  SU45        g )Nr   commentCOM)	r   r   r   r	   r   rP   rM   rN   rO   )r   r   r   r]   s       r   rf   rf      sb     	DGGLLOq ATWWa(AIIiHHUOLL
#r   c                D   [        U R                  R                  S5      5      S-
  n[        R                  " U R                  U5      n[        US5      [        US5      4U l        US   U l        U R                  S:w  a  SU R                   S3n[        U5      eUS   U l        U R                  S:X  a  S	U l	        OKU R                  S:X  a  S
U l	        O3U R                  S:X  a  SU l	        OSU R                   S3n[        U5      eUS;   a  S=U R                  S'   U R                  S'   U R                  (       a  U R                  R                  5         U R                  S   S   [        U R                  5      :X  a0  U R                   Vs/ s H  oUSS  PM	     nnSR                  U5      nOS nXpR                  S'   / U l        [        S[        U5      S5       H;  nX8US-    n	U R                   R#                  U	S   U	S   S-  U	S   S-  U	S   45        M=     g s  snf )Nr      r   r   r)   zcannot handle z-bit layersr$   LRGBr#   CMYKz-layer images)        progressiveprogression   rA   r   icc_profiler6      r!   )r   r   r   r	   r   _sizebitsSyntaxErrorlayers_moderP   rW   sortlenjoinrangelayerrO   )
r   r   r   r]   msgpprofilers   its
             r   SOFr      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|!v|G4((7+KK#.		- 1c!fa !a%L

1Q41QqTBY!=> ! 5s   Hc                B   [        U R                  R                  S5      5      S-
  n[        R                  " U R                  U5      n[        U5      (       a  US   nUS-  S:X  a  SOSnSUS-  -   n[        U5      U:  a  Sn[        U5      e[        R                  " US:X  a  SOSUSU 5      n[        R                  S	:X  a  US:  a  UR                  5         [         V	s/ s H  oU	   PM	     sn	U R                  US
-  '   X6S  n[        U5      (       a  M  g g s  sn	f )Nr   r   rt   r   @   zbad quantization table markerBHlittler!   )r   r   r   r	   r   r{   rw   arraysys	byteorderbyteswapzigzag_indexquantization)
r   r   r   r]   v	precision	qt_lengthr   rc   r   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!Wl$C!b&!jM a&& %Ds   #Di  SOF0zBaseline DCTi  SOF1zExtended Sequential DCTrl   SOF2zProgressive DCTi  SOF3zSpatial losslessi  DHTzDefine Huffman tablei  SOF5zDifferential sequential DCTrm   SOF6zDifferential progressive DCTi  SOF7zDifferential spatiali  )JPG	ExtensionNi  SOF9zExtended sequential DCT (AC)rn   SOF10zProgressive DCT (AC)i  SOF11zSpatial lossless DCT (AC)i  DACz%Define arithmetic coding conditioningi  SOF13z Differential sequential DCT (AC)ro   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 0r5   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 12r@   APP13zApplication segment 13rG   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 13Nrf   Comment)i  i  i  i  i  i  i  i  i  i    i  c                    U S S S:H  $ )Nrh   s   r.   )prefixs    r   _acceptr   F  s    "1:((r   c                     ^  \ rS rSrSrSrSS jrSS jrSU 4S jjrSU 4S jjr	SS jr
      SS	 jrSS
 jrSS jrSS jrSS jrSrU =r$ )r   iO  JPEGzJPEG (ISO 10918)c                ^   U R                   R                  S5      n[        U5      (       d  Sn[        U5      eSnS=U l        U l        SU l        / U l        0 U l        0 U l	        0 U l
        0 U l        / U l        / U l         US   nUS:X  a)  XR                   R                  S5      -   n[        U5      nOU R                   R                  S5      nMR  U[        ;   a  [        U   u  pEnUb  U" X5        US:X  aM  U R                   nU R                   S:X  a  S	n["        R$                  " S
SU R&                  -   SUS45      /U l        OWU R                   R                  S5      nO8US;   a  SnO/US:X  a  U R                   R                  S5      nOSn[        U5      eGM  U R+                  5         g )Nrh   znot a JPEG file   r      r   r   rk   CMYK;Ijpegr   r    >   r     i   zno marker found)r   r   r   rw   rv   rx   rU   r~   _huffman_dc_huffman_acr   rM   rN   rW   r   MARKERmoder	   _Tilerb   tile_read_dpi_from_exif)r   r]   r   r   namedescriptionhandlerrawmodes           r   _openJpegImageFile._openS  s   GGLLOqzz#Cc"" #$#	DK 79
+-+-24%'02$&!ADyQ'F GGLLOF{-3AY*7&D$;"iiGyyF*"*!0BAQS}U!DI GGLLOk!fGGLLO'!#&&? B 	  "r   c                Z    US;   a  [        US5        [        U SU-   5      $ [        U5      e)N)
huffman_ac
huffman_dcr>   _)r   getattrAttributeError)r   r   s     r   __getattr__JpegImageFile.__getattr__  s1    //dB4t,,T""r   c                R   > [         TU ]  5       U R                  U R                  /-   $ N)super__getstate__rx   r~   )r   	__class__s    r   r   JpegImageFile.__getstate__  s#    w#%djj(AAAr   c                H   > [         TU ]  U5        USS  u  U l        U l        g )Nr$   )r   __setstate__rx   r~   )r   stater   s     r   r   JpegImageFile.__setstate__  s$    U#"')TZr   c                    U R                   R                  U5      nU(       d.  [        R                  (       a  [	        U S5      (       d  SU l        gU$ )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_bytesr]   s      r   	load_readJpegImageFile.load_read  s>     GGLL$Y44WT8=T=T DKr   c                   [        U R                  5      S:w  a  g U R                  (       a  g U R                  S   u  p4pVSnU R                  n[	        U[
        5      (       d   eUS   S:X  a  US;   a
  Xl        US4nU(       a  [        U R                  S   US   -  U R                  S   US   -  5      nS H
  n	Xy:  d  M
    O   Uc   eUS   US   US   US   -
  W	-   S-
  U	-  US   -   US   US   -
  U	-   S-
  U	-  US   -   4nU R                  S   U	-   S-
  U	-  U R                  S   U	-   S-
  U	-  4U l        U	n[        R                  " X4XV5      /U l        US4U l        SSUS   U-  US   U-  4n
U R                  U
4$ )	Nr   r   rj   )ri   YCbCrr   )r)   r#   r   r   r   rh   )r{   r   decoderconfigrb   
isinstancerR   ry   minru   r	   r   r   )r   r   rb   r0   eoascaleoriginal_sizer]   boxs              r   draftJpegImageFile.draft  s    tyy>Q YYq\
a		!U####Q45=T^3JbA		!Q/1a1HIE!: " = =!!1!q1$*QqT11!q1$*QqT1	A  99Q<!+a/A5		!q8H18LQR7RSDJE__Q101	#QZ!]1%-}Q/?%/GHyy#~r   c                .   [         R                  " 5       u  p[        R                  " U5        [        R                  R                  U R                  5      (       a$  [        R                  " SSX R                  /5        O$ [        R                  " U5        Sn[        U5      e [        R                  " U5       nUR                  5         UR                  U l        S S S 5         [        R                  " U5        U R                  R                   U l        U R                  R$                  U l        / U l        g ! [         a     Nf = f! , (       d  f       Ns= f! [         a     Nkf = f!  [        R                  " U5        f ! [         a     f f = f= f)Ndjpeg-outfilezInvalid Filename)tempfilemkstemposclosepathexistsfilename
subprocess
check_callunlinkOSError
ValueErrorr   openloadimr   ry   rb   ru   r   )r   fr  r   _ims        r   
load_djpegJpegImageFile.load_djpeg  s%    ""$
77>>$--((!!7Jmm"LM		$ %CS/!	D!S
&& "		$ WW\\
WW\\
	'   "!  		$ sl   D: %E+ ;"E
E+ &E :
EE

EE+ 
E('E(+F-FF
FFFFc                    [        U 5      $ r   )_getexifr   s    r   r,  JpegImageFile._getexif  s    ~r   c                   SU R                   ;   d  SU R                   ;  a  g  U R                  5       nUS   nUS   n [        US   5      US   -  n[        R
                  " U5      (       a  Sn[        U5      eUS:X  a  US	-  nXD4U R                   S'   g ! [         a    Un NRf = f! [        R                  [        [        [        [        [        4 a    S
U R                   S'    g f = f)Nr+   r7   i(  i  r   r   zDPI is not a numberrh   r-   )H   r0  )rP   getexiffloat	TypeErrormathisnanr#  rZ   r[   KeyErrorrw   ZeroDivisionError)r   r7   resolution_unitx_resolutionr+   r   s         r   r   !JpegImageFile._read_dpi_from_exif  s    DIItyy!8	&<<>D"6lO<L#LO,|A> zz#+ o%!#t"xDIIe  #"# LL
 	&  &DIIe	&s5   B( B AB( B%"B( $B%%B( (=C('C(c                    [        U 5      $ r   )_getmpr-  s    r   r<  JpegImageFile._getmp  s    d|r   )r  rU   r   r   ry   ru   rM   rN   rv   r
  rW   r&  r~   rx   r   r   )returnNone)r   strr>  r   )r>  	list[Any])r   rA  r>  r?  )r  intr>  bytes)r   z
str | Nonerb   ztuple[int, int] | Noner>  z0tuple[str, tuple[int, int, float, float]] | None)r>  dict[int, Any] | None)__name__
__module____qualname____firstlineno__formatformat_descriptionr   r   r   r   r  r  r)  r,  r   r<  __static_attributes____classcell__)r   s   @r   r   r   O  s`    F+6#p#B, &&&<&	9&P>&: r   c                `    SU R                   ;  a  g U R                  5       R                  5       $ )Nr7   )rP   r1  _get_merged_dictr-  s    r   r,  r,    s&    TYY<<>**,,r   c           	          U R                   S   n[        R                  " U5      nUR	                  S5      nUS S S:X  a  SOSnSSKJn   UR                  U5      nUR                  UR                  5        UR                  U5        [        U5      n US
   n
/ n US   n[        SU
5       H  n[        R                   " U S3XS-  5      nSn[        [#        X5      5      n[%        US   S-  5      [%        US   S-  5      [%        US   S-  5      US   S-  S-	  US   S-  S-	  US   S-  S.nUS   S:X  a  SUS'   OSn	[        U	5      eSSS S!S"S#S$S%.nUR'                  US&   S'5      US&'   UUS'   UR)                  U5        M     XS'   U$ ! [         a     g f = f! [         a  nS	n	[        U	5      UeS nAff = f! [         a  nSn	[        U	5      UeS nAff = f! [         a  nS(n	[        U	5      UeS nAff = f))NrK   r)   r#   s   MM *><r   )TiffImagePluginz)malformed MP Index (unreadable directory)  z(malformed MP Index (no number of images)i  r   LLLHHrt   )	AttributeSize
DataOffsetEntryNo1EntryNo2rU  l        i   @i    i      i      i )DependentParentImageFlagDependentChildImageFlagRepresentativeImageFlagReservedImageDataFormatMPTyper`  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   ra  Unknownz!malformed MP Index (bad MP Entry))rP   r6  ioBytesIOr   r   rR  ImageFileDirectory_v2seeknextr%  dictrS   rw   r}   rZ   unpack_fromzipboolgetrO   )r   rc   file_contentshead
endiannessrR  rP   rK   r  r   quant	mpentriesrawmpentriesentrynumunpackedentrylabelsmpentrympentryattr	mptypemaps                      r   r<  r<    sj   yy JJt$Ma DRa$77SJ!&44T:499%		- $Z
&6

 I$&&zaH"..,e$lrM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  G  C1G  
FF 
F=*F88F= 
G
GG 
G=*G88G=ri   rj   r   r	  )1ri   rj   RGBXrk   r	  )@r   r   r$   r6   rA   r!   rZ     r   r#   r(   rr   rt      r8   *   rh   r)   r>            )   +   	   rI      r[     (   ,   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                    [        U [        5      (       a  U R                  S;   a  gU R                  S   SS U R                  S   SS -   U R                  S   SS -   n[        R                  US5      $ )N)r   r#   r   r   rh   r   )r  r   rx   r~   	samplingsrm  )r&  samplings     r   get_samplingr    sl     b-((BII,?xx{1Q"((1+a"22RXXa[15EEH==2&&r   c                L   U R                   S:X  d  U R                  S:X  a  Sn[        U5      e [        U R                     nU R                  nUR                  SS5       Vs/ s H  n[        U5      PM     nnUR                  SS5      n	UR                  S	S5      n
UR                  S
5      nU	S:X  a  Sn	Sn
SnOU	[        ;   a/  [        U	   nSn	UR                  S	S5      n
UR                  S5      nO|[        U	[        5      (       d  Sn[        U5      eU
[        ;   a  [        U
   R                  S	S5      n
[        U[        5      (       a"  U[        ;   a  [        U   R                  S5      nU
S:X  a  Sn
OIU
S:X  a  Sn
O@U
S:X  a  Sn
O7U
S:X  a  Sn
O.U
S:X  a(  U R                  S:w  a  Sn[        U5      e[        U 5      n
    S4S jnUS:X  a*  U R                  S:w  a  Sn[        U5      e[!        U SS 5      nU" U5      nUR                  SS5      nSnUR                  S5      nU(       aK  SnUU-
  n[#        U5      U:  a  Sn[        U5      e[%        SU-   [#        U5      -   5      nUSU-   S-   U-   -  nUR                  S5      nU(       a  S nUU-
  n/ nU(       a"  UR'                  US U 5        UUS  nU(       a  M"  SnU HQ  n[%        SU-   [#        U5      -   5      nUS!U-   S"-   [)        U5      -   [)        [#        U5      5      -   U-   -  nUS-  nMS     UR                  S#U R*                  R                  S#5      5      nUR                  S$S%5      =(       d    UR                  S&S%5      nUR                  S'S%5      nUR                  S(S5      n[        U[,        R.                  5      (       a  UR1                  5       n[#        U5      U:  a  S)n[        U5      eU	UUR                  S*S5      UUR                  S+S%5      UR                  S,S5      US   US   U
UR                  S-S5      UR                  S.S5      UUUU4U l        SnU(       d  U(       a  U R                  S/:X  a#  S0U R4                  S   -  U R4                  S   -  nONU	S1:  d  U	S:X  a#  SU R4                  S   -  U R4                  S   -  nOU R4                  S   U R4                  S   -  nU(       a  U[#        U5      S2-   -  nU(       a  U[#        U5      S-   -  nO%[7        U[#        U5      S2-   [#        U5      S-   5      n[8        R:                  " X[8        R<                  " S3SU R4                  -   SU5      /U5        g ! [
         a!  nSU R                   S3n[        U5      UeS nAff = fs  snf )5Nr   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                   U c  U $ [        U [        5      (       a   U R                  5        VVs/ s H9  nUR                  SS5      S   R                  5         H  n[	        U5      PM     M;     nnn[        S[        U5      S5       Vs/ s H	  oCXDS-    PM     n n[        U [        [        [        45      (       a  [        U [        5      (       a.  [        [        U 5      5       Vs/ s H  owU ;   d  M
  X   PM     n nO [        U [        5      (       a  [        U 5      n S[        U 5      s=:  a  S:  d  O  Sn[        U5      e[        U 5       HF  u  p [        U	5      S:w  a  Sn[        U5      e[        R                  " SU	5      n
[        U
5      X'   MH     U $ g s  snnf s  snf ! [         a  nSn[        U5      UeS nAff = fs  snf ! [         a  nSn[        U5      UeS nAff = f)	N#r   r   r   zInvalid quantization tabler$   z$None or too many quantization tablesr   )r  r@  
splitlinesrV   rB  r}   r{   r#  rR   listri  	enumerater3  r   )r  linenumlinesr]   r  r   keyidxtabletable_arrays              r   validate_qtables_save.<locals>.validate_qtables  s   
 ?Ngs##
P !( 2 2 4 4#zz#q1!4::< H<  4   7<As5z26NO6NV,6NOgtT233'4((,1#g,,?,?S'>LGL,?   GU++w-G(q(< o%'0
	55zR':'n,"'++c5"9K
 $(#4GL 1 N+ 4 P	  -2 o1,- ! 16C$S/q01sS   F' A F/F' 
F"'	G4G3GF' '
G1F??G
G)G$$G)extrar   r   r;   r8   zXMP data is too longs   r9   rs   rA   s   r?   re   rp   Frq   optimizer7   zEXIF data is too longsmoothkeep_rgb
streamtyperestart_marker_blocksrestart_marker_rowsrk   r#   _   r$   r   )r  zKstr | tuple[list[int], ...] | list[list[int]] | dict[int, list[int]] | Noner>  zlist[list[int]] | None)widthheightr#  RAWMODEr   r6  r"  encoderinform  roundr   r  rB  r@  rI  r  r   r{   o16rO   r   rP   r   Exiftobytesencoderconfigrb   maxr	   _saver   )r&  r   r  r   r   r  rP   xr+   r  r  r  presetr  r  MAX_BYTES_IN_MARKERr;   overhead_lenmax_data_bytes_in_markerrb   rs   markersr   r   re   rp   r  r7   bufsizes                                r   r  r    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&(W( 
 	(T &99GCS/!"nd3w'GHHWc"E
((5/C
#6#E s8..(CS/!1|#c#h./t#&IICOO((=)K#6#E NN;'@(@AB%&>&?@K k Fq<'#f+56D"# 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=OO
"'')91gFGw  ""277)84cl!" 6s   U3 "V!3
V=VVc                    U R                  5       n[        R                  " SSX#/5         [        R                  " U5        g ! [
         a     g f = f)Ncjpegr  )_dumpr  r   r  r!  r"  )r&  r   r  r  s       r   _save_cjpegr  Z  sE    xxzH7JCD
		( s   A 
AAc                F   [        X5      n UR                  5       nUbH  US   S:  a?  UR                   H  u  pEUS:X  d  M  SU;   d  M  Us  $    SSKJn  UR
                  " X#5      nU$ ! [        [        4 a     U$ [         a    [        R                  " S5         U$ f = f)NrS  r   r   s    hdrgm:Version="r   zTImage appears to be a malformed MPO file, it will be interpreted as a base JPEG file)r   r<  rN   MpoImagePluginr   adoptr3  r\   rw   warningswarn)r   r  r&  mpheadersegmentcontentr   s          r   jpeg_factoryr  f  s     
r	$B
99;HUOa$7$&JJ f$)<)GI %/
 5 ##B1B I z"  I  
.	
 I
s)   1A* A* 
A* A* *B =B B )z.jfifz.jpez.jpgz.jpegz
image/jpeg)r   r   r   rB  r>  r?  )r   rC  r>  rl  )r   r   r>  rD  )r&  Image.Imager>  rB  )r&  r  r   	IO[bytes]r  zstr | bytesr>  r?  r   )r   r  r  zstr | bytes | Noner>  zJpegImageFile | MpoImageFile)6
__future__r   r   rd  r4  r  rZ   r  r   r  r  typingr   r   r   r   r   r	   _binaryr
   r   r   rY   r   r   r  
_deprecater   JpegPresetsr   r  r   r   r    rf   r   r   r   r   r   r,  r<  r  r   r  r  r  r  r  register_openrI  register_saveregister_extensionsregister_mimer.   r   r   <module>r     sz  D #  	  	   
   ) )  ! !  ! !  ,%
g7T$-?`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)AI'' AH-I` 
		 	'DN 37/!<   M((, @   M((% 0   -..0R S   M((, 7r   