
    h$                    B   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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__version__featuresc                    [        XUSS9  g )NT)save_all)_save)imfpfilenames      D/var/www/html/env/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   rU   rU   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                	   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[&         S3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R1                  S5      5        U R2                  S:X  a0  SU R                  ;   a   UR+                  UR1                  S5      5        UR+                  UR1                  S5      5        UR+                  UR1                  S5      5        UR4                  R+                  US   5        M     M     UR7                  5         SnU GH  nU(       a  [8        R:                  " U5      OU/nU H  n [=        XUU5      u  nnUR?                  UU   [
        R@                  " [
        RB                  " S5      [
        RB                  " U5      /[
        R@                  " US9S9SSU RD                  S
-  U-  U RF                  S
-  U	-  /UU   S9  SU RD                  S
-  U-  U RF                  S
-  U	-  4-  nURI                  UU   US9  US-  nM     GM
     URK                  5         [M        US5      (       a  URO                  5         URQ                  5         g )NappendFzr+b)fr   rI   zw+bdpir   r   
resolutiong      R@)titleauthorsubjectkeywordscreatorproducercreationDatemodDatezcreated by Pillow z 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))rT   get
isinstancebytesrd   r
   ospathsplitextbasenametimegmtimeitemsrQ   upperloadstart_writingwrite_headerwrite_commentr   copyrq   getattrrangenext_object_idrI   pageswrite_catalogr	   IteratorrU   
write_pagerL   rM   re   rf   r`   write_xref_and_trailerhasattrr   close)r   r   r   r   is_appendingfilename_strra   rs   x_resolutiony_resolutionrQ   kdefaultvimsr}   	append_imnumber_of_pagesrb   	page_refscontents_refsim_number_of_pagesipage_numberim_sequenceim_pagesrl   ri   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 !3K=LM $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   ra   zPdfParser.PdfParserrb   z!list[PdfParser.IndirectReference]r   z'tuple[PdfParser.IndirectReference, str])F)
r   r   r   r   r   r   r   boolr   r   )
__future__r   rW   r[   r   r   typingr   r    r   r   r	   r
   r   r   r   rU   r   register_saveregister_save_allregister_extensionregister_mime r   r   <module>r      s   , # 	  	   O O+BBB &B 2	B
 -BL MRss"s.9sEIs	st   E5 !   y )    '   E, -r   