
    \ii$                    >   S SK Jr  S SKrS SKrS SKrS SKrS SKJrJr  SSK	J
r
JrJrJrJr  SS jr          SS jr S         SS jjr\
R$                  " S	\5        \
R&                  " S	\5        \
R(                  " S	S
5        \
R*                  " S	S5        g)    )annotationsN)IOAny   )Image	ImageFileImageSequence	PdfParserfeaturesc                    [        XUSS9  g )NT)save_all)_save)imfpfilenames      U/var/www/html/kml_chatgpt/mouzaenv/lib/python3.13/site-packages/PIL/PdfImagePlugin.py	_save_allr   +   s    	"(T*    c                   S nS nU R                   u  pgSS0nU R                  S:X  ar  [        R                  " S5      (       a8  Sn	SUS'   [        R
                  " [        R                  " SSUUS	.5      /5      nOS
n	[        R                  " S5      US'   Sn
GOU R                  S:X  a  S
n	[        R                  " S5      US'   Sn
GOwU R                  S:X  a  Sn	Sn
SUS'   GO\U R                  S:X  a  Sn	U R                  5       nUc   e[        R                  " S5      [        R                  " S5      [        U5      S-  S-
  [        R                  " U5      /US'   Sn
SU R                  ;   a:  U R                  S5      R                  S5      n0 Ul        [        XX#5      S   nXS'   OU R                  S:X  a  S
n	[        R                  " S5      US'   Sn
OfU R                  S:X  a
  Sn	Sn
SUS'   OLU R                  S:X  a"  S
n	[        R                  " S 5      US'   Sn
/ S!QnOS"U R                   3n[!        U5      e["        R$                  " 5       nU	S:X  aG  [&        R(                  " X[&        R*                  " S#S$U R                   -   SU R                  5      /5        OU	S:X  a-  U R-                  US%S&[.        R0                  " US-  5      U-  S'9  OVU	S
:X  a  [2        R4                  S(   " XU5        O5U	S:X  a  US	 [2        R4                  S)   " XU5        OS*U	 S+3n[!        U5      eUR7                  5       nU	S:X  a1  USS  n[        R
                  " [        R                  " U	5      /5      nO[        R                  " U	5      nUR9                  S5      nUR:                  " U4U[        R                  " S,5      [        R                  " S-5      UUUUUS..UD6  X4$ )/NBitsPerComponent   1libtiffCCITTFaxDecoder   T)KBlackIs1ColumnsRows	DCTDecode
DeviceGray
ColorSpaceImageBLLA	JPXDecodeSMaskInDataPASCIIHexDecodeIndexed	DeviceRGB   ImageItransparencyAr   SMaskRGBImageCRGBACMYK
DeviceCMYK)r   r   r   r   r   r   r   r   zcannot save mode hex)r   r   TIFFgroup4)compression
strip_sizeJPEGJPEG2000zunsupported PDF filter ()XObjectr   )streamTypeSubtypeWidthHeightFilterDecodeDecodeParms)sizemoder   checkr
   PdfArrayPdfDictPdfName
getpalettelen	PdfBinaryinfoconvert
getchannelencoderinfo_write_image
ValueErrorioBytesIOr   r   _Tilesavemathceilr   SAVEgetvaluepop	write_obj)r   r   existing_pdf
image_refsparamsdecodewidthheightdict_objdecode_filterprocsetpalettesmask	image_refmsgopr?   filters                     r   rT   rT   3   s    FF
 GGME 2A6H	ww#~>>)$$,M+,H'(''%%!#(,',$*		F (M!*!2!2<!@	C#!*!2!2<!@	D#"#	C(--/"""i(k*LA!(	"
 RWW$JJt$//4E "E$UlOPQRI )W	E	#!*!2!2;!?	F	#"#	F	#!*!2!2<!@)!"''+o
 
B((8H!RWW!U VW	*	*
 yy+f4 	 	
 
+	%

628,	+	%'(

:rx0(q9o[[]F((##Y%6%6}%E$FG""=1q!Iy)!!'*  r   c                t	   U R                   R                  SS5      n[        U[        5      (       a  UR	                  5       OUnU(       a  [
        R
                  " XSS9nO[
        R
                  " XSS9nU R                   R                  S5      nU(       a  US   nUS   n	OU R                   R                  S	S
5      =pU(       a  S O>[        R                  R                  [        R                  R                  U5      5      S   S S S S S U(       a  S O[        R                  " 5       U(       a  S O[        R                  " 5       S.n
U
R                  5        H_  u  pXR                   ;   a  U R                   R                  U5      OUnU(       d  M:  XR                  US   R                  5       USS  -   '   Ma     U R                  5         UR!                  5         UR#                  5         UR%                  S5        U /nU(       aU  U R                   R                  S/ 5      nU H3  nU R                   R'                  5       Ul         UR)                  U5        M5     Sn/ n/ n/ nU H  n SnU(       a  [+        U SS5      nUU-  n[-        U5       H  nUR)                  UR/                  S5      5        U R0                  S:X  a0  SU R                  ;   a   UR)                  UR/                  S5      5        UR)                  UR/                  S5      5        UR)                  UR/                  S5      5        UR2                  R)                  US   5        M     M     UR5                  5         SnU GH  nU(       a  [6        R8                  " U5      OU/nU H  n [;        XUU5      u  nnUR=                  UU   [
        R>                  " [
        R@                  " S5      [
        R@                  " U5      /[
        R>                  " US9S9SSU RB                  S
-  U-  U RD                  S
-  U	-  /UU   S9  SU RB                  S
-  U-  U RD                  S
-  U	-  4-  nURG                  UU   US9  US-  nM     GM
     URI                  5         [K        US5      (       a  URM                  5         URO                  5         g )NappendFzr+b)fr   rH   zw+bdpir   r   
resolutiong      R@)titleauthorsubjectkeywordscreatorproducercreationDatemodDatezcreated by Pillow PDF driverappend_imagesn_framesr(   r.   r   PDF)image)ProcSetr>   )	ResourcesMediaBoxContentss   q %f 0 0 %f 0 0 cm /image Do Q
)r?   flush)(rS   get
isinstancebytesrc   r
   ospathsplitextbasenametimegmtimeitemsrP   upperloadstart_writingwrite_headerwrite_commentcopyrp   getattrrangenext_object_idrH   pageswrite_catalogr	   IteratorrT   
write_pagerK   rL   rd   re   r_   write_xref_and_trailerhasattrr   close)r   r   r   r   is_appendingfilename_strr`   rr   x_resolutiony_resolutionrP   kdefaultvimsr|   	append_imnumber_of_pagesra   	page_refscontents_refsim_number_of_pagesipage_numberim_sequenceim_pagesrk   rh   page_contentss                                r   r   r      s&    >>%%h6L(28U(C(C8??$L **RUS **RUS
..

U
#C
1v1v&(nn&8&8t&LL !Dbgg&6&6rww7G7G7Q&RST&U ,$++-'4T[[]D jjl
%&..%8BNNq!g167adjjlQqrU23 # GGI => $C**?B?&I$&NN$7$7$9I!JJy! ' OJIM!(Z!;--)*Al99!<=ww#~.BGG";!!,"="=a"@A\88;<  !<!<Q!?@%%im4 +    K3;M"";/+ 	 B!-bL*!UIw
 ##+&#++&..u5y7H7H7QR%--I>
 HHtOl2II$|3	 '{3 $ $ @4,.		D </C M
 ""=#=m"T1K? 	 N '')r7

r   r~   z.pdfzapplication/pdf)r   Image.Imager   	IO[bytes]r   str | bytesreturnNone)
r   r   r   r   r`   zPdfParser.PdfParserra   z!list[PdfParser.IndirectReference]r   z'tuple[PdfParser.IndirectReference, str])F)
r   r   r   r   r   r   r   boolr   r   )
__future__r   rV   rZ   r   r   typingr   r    r   r   r	   r
   r   r   rT   r   register_saveregister_save_allregister_extensionregister_mime r   r   <module>r      s   , # 	  	   B B+BBB &B 2	B
 -BL MRss"s.9sEIs	st   E5 !   y )    '   E, -r   