K ii$6ddlmZddlZddlZddlZddlZddlmZmZddl m Z m Z m Z m Z mZd dZ d dZ d ddZe j$d ee j&d ee j(d d e j*d d y)) annotationsN)IOAny)Image ImageFile ImageSequence PdfParserfeaturesc"t|||dy)NT)save_all)_save)imfpfilenames X/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/PIL/PdfImagePlugin.py _save_allr+s "b(T*c d}d}|j\}}ddi}|jdk(ritjdr6d} d|d<t j t j dd||d g}nd } t jd |d <d } n|jdk(rd } t jd |d <d } nm|jdk(r d} d } d|d<nS|jdk(rd} |j} | Jt jdt jdt| dzdz t j| g|d <d} d|jvr|jdjd} i| _t| |||d} | |d<n|jdk(rd } t jd|d <d} nc|jdk(r d} d} d|d<nJ|jdk(r!d } t jd |d <d} gd!}nd"|j}t!|t#j$}| dk(rFt'j(||t'j*d#d$|jzd|jgn| dk(r/|j-|d%d&t/j0|dz |z'nT| d k(rt3j4d(|||n4| dk(r|d=t3j4d)|||nd*| d+}t!||j7}| dk(r/|dd}t j t j| g}nt j| }|j9d} |j:| f|t jd,t jd-|||||d.|| | fS)/NBitsPerComponent1libtiffCCITTFaxDecoderT)KBlackIs1ColumnsRows DCTDecode DeviceGray ColorSpaceImageBLLA JPXDecode SMaskInDataPASCIIHexDecodeIndexed DeviceRGBImageI transparencyArSMaskRGBImageCRGBACMYK DeviceCMYK)rrrrrrrrzcannot save mode hex)rrTIFFgroup4) compression strip_sizeJPEGJPEG2000zunsupported PDF filter ()XObjectr)streamTypeSubtypeWidthHeightFilterDecode DecodeParms)sizemoder checkr PdfArrayPdfDictPdfName getpalettelen PdfBinaryinfoconvert getchannel encoderinfo _write_image ValueErrorioBytesIOrr_TilesavemathceilrSAVEgetvaluepop write_obj)rr existing_pdf image_refsparamsdecodewidthheightdict_obj decode_filterprocsetpalettesmask image_refmsgopr?filters rrTrT3sF F GGME6 2A6H ww#~ >>) $,M+,H' (''%%!#(,',$*   F(M!*!2!2t jjt jj|dddddd|rdntj|rdntjd } | jD]Y\} } | |jvr|jj| n| } | s4| |j| dj| ddz<[|j|j!|j#|j%d |g}|rS|jjd g}|D]2}|jj'|_|j)|4d}g}g}g}|D]}d}|r t+|dd}||z }t-|D]}|j)|j/d|j0dk(r.d|jvr |j)|j/d|j)|j/d|j)|j/d|j2j)|d|j5d}|D]}|rt7j8|n|g}|D]}t;||||\}}|j=||t j>t j@dt j@|gt j>|dd|jBd z|z |jDd z| z g||d|jBd z|z |jDd z| z fz}|jG||||dz } |jItK|dr|jM|jOy)NappendFzr+b)frrHzw+bdpirr resolutiongR@)titleauthorsubjectkeywordscreatorproducer creationDatemodDatezcreated by Pillow PDF driver append_imagesn_framesr(r.rPDF)image)ProcSetr>) ResourcesMediaBoxContentssq %f 0 0 %f 0 0 cm /image Do Q )r?flush)(rSget isinstancebytesrcr ospathsplitextbasenametimegmtimeitemsrPupperload start_writing write_header write_commentcopyrpgetattrrangenext_object_idrHpages write_catalogr IteratorrT write_pagerKrLrdrer_write_xref_and_trailerhasattrrclose)rrrr is_appending filename_strr`rr x_resolution y_resolutionrPkdefaultvimsr| append_imnumber_of_pagesra page_refs contents_refsim_number_of_pagesi page_number im_sequenceim_pagesrkrh page_contentss rrrsJ>>%%h6L(28U(C8??$L **R,US  **R,US ..  U #C 1v 1v &(nn&8&8t&LL |!Dbgg&6&6rww7G7G7Q&RST&U ,$++-'4T[[] Djjl8 7%&"..%8BNN  q !g 67L  adjjlQqrU2 38GGI => $C**?B? & "I$&NN$7$7$9I ! JJy ! "OJIM 5 !(Z!; --)* 5A   l99!< =ww#~.BGG";!!,"="=a"@A   \88; <  ! HHtOl2II$|3  '{3 $ $@4,. D </CM  " "=#=m " T 1 K?  #N'')r7  rr~z.pdfzapplication/pdf)r Image.Imager IO[bytes]r str | bytesreturnNone) rrrrr`zPdfParser.PdfParserraz!list[PdfParser.IndirectReference]rz'tuple[PdfParser.IndirectReference, str])F) rrrrrrr boolrr) __future__rrVrZrrtypingrrrrr r r rrTr register_saveregister_save_allregister_extension register_mimerrrs,# BB+BBB&B2 B - BLMRss"s.9sEIs stE5!y)'E,-r