Ë
    vl�j=  ã                   ó:  — d dl Z d dlZd dlZd dlmZmZ d dlmZ d dlm	Z	m
Z
mZmZmZmZmZ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 d
dlmZmZ d
dlm Z  d
dl!m"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,  ejZ                  e.«      Z/ G d„ de «      Z0y)é    N)ÚBufferedReaderÚBytesIO)ÚTracebackType)	ÚAnyÚDictÚ	GeneratorÚListÚLiteralÚOptionalÚTupleÚTypeÚUnion)ÚLAParams)ÚPDFDocument)ÚPDFResourceManager)ÚPDFPage)Ú	PDFParseré   )ÚT_numÚ
T_obj_list)Ú	Container)ÚPage)ÚT_repair_settingÚ_repair)ÚPDFStructTreeÚStructTreeMissing)Úresolve_and_decode)ÚPdfminerExceptionc                   óÊ  — e Zd ZU ej                  dgz   Zee   ed<   	 	 	 	 	 	 	 	 d"dee	e
f   dedeej                     deeee   ee   f      deeeef      d	ee   d
edeed      defd„Ze	 	 	 	 	 	 	 	 	 d#deeej                  e	e
f   deeee   ee   f      deeeef      d	ee   d
edeed      dedeeeej                  f      dededd fd„«       Zd$d„Zd%d„Zdeee      dee   dee   ddfd„Zedee   fd„«       Z edeee!f   fd„«       Z"edeeeef      fd„«       Z#edeeeef      fd„«       Z$edeeeef      fd„«       Z%d&d eee      deeef   fd!„Z&y)'ÚPDFÚ_pagesÚcached_propertiesNÚstreamÚstream_is_externalÚpathÚpagesÚlaparamsÚpasswordÚstrict_metadataÚunicode_norm)ÚNFCÚNFKCÚNFDÚNFKDÚraise_unicode_errorsc
           
      óŽ  — || _         || _        || _        || _        |€d n
t	        di |¤Ž| _        || _        || _        |	| _        	 t        t        |«      |xs d¬«      | _        t        «       | _        i | _        | j                  j"                  D ]  }| j                   j%                  |«       Œ | j                   j'                  «       D ]  \  }}	 t)        |«      | j                   |<   Œ  y # t        $ r}
t        |
«      ‚d }
~
ww xY w# t        $ r1}
|r‚ t*        j-                  d|› dt/        |
«      › �«       Y d }
~
Œsd }
~
ww xY w)NÚ )r(   z[WARNING] Metadata key "z(" could not be parsed due to exception: © )r#   r$   r%   Úpages_to_parser   r'   r(   r*   r/   r   r   ÚdocÚ	Exceptionr   r   ÚrsrcmgrÚmetadataÚinfoÚupdateÚitemsr   ÚloggerÚwarningÚstr)Úselfr#   r$   r%   r&   r'   r(   r)   r*   r/   Úer8   ÚkÚvs                 úD/var/www/html/pp/venv/lib/python3.12/site-packages/pdfplumber/pdf.pyÚ__init__zPDF.__init__   s@  € ð ˆŒØ"4ˆÔØˆŒ	Ø#ˆÔØ (Ð 0™´hÑ6JÀÑ6JˆŒØ ˆŒØ(ˆÔØ$8ˆÔ!ð	'Ü"¤9¨VÓ#4¸xº~È2ÔNˆDŒHô *Ó+ˆŒØˆŒà—H‘H—M‘Mò 	'ˆDØ�M‰M× Ñ  Õ&ð	'à—M‘M×'Ñ'Ó)ò 	‰DˆAˆqðÜ#5°aÓ#8�—‘˜aÒ ñ	øô ò 	'Ü# AÓ&Ð&ûð	'ûô ò 	Ù"àô —‘Ø.¨q¨cð 2"Ü"% a£& ð+÷ñ ûð	ús0   ÁC. ÃD
Ã.	DÃ7DÄDÄ
	EÄ'D?Ä?EÚ
path_or_fpÚrepairÚgs_pathÚrepair_settingÚreturnc                 ó&  — |rt        ||||	¬«      }d}d }nJt        |t        t        j                  f«      r$t        |d«      }d}t        j                  |«      }n|}d}d }	  | |||||||||
¬«	      S # t        $ r |s|j                  «        ‚ w xY w)N)r(   rF   ÚsettingFÚrbT)r%   r&   r'   r(   r)   r*   r$   r/   )r   Ú
isinstancer=   ÚpathlibÚPathÚopenr   Úclose)ÚclsrD   r&   r'   r(   r)   r*   rE   rF   rG   r/   r#   r$   r%   s                 rB   rO   zPDF.openH   s¹   € ñ" ÜØ X°wÈôˆFð "'Ðð ‰DÜ˜
¤S¬'¯,©,Ð$7Ô8Ü˜* dÓ+ˆFØ!&ÐÜ—<‘< 
Ó+‰DàˆFØ!%ÐØˆDð	ÙØØØØ!Ø!Ø /Ø)Ø#5Ø%9ô
ð 
øô !ò 	Ù%Ø—‘”Øð	ús   Á"A3 Á3Bc                 ó´   — | j                  «        | j                  D ]  }|j                  «        Œ | j                  s| j                  j                  «        y y ©N)Úflush_cacher&   rP   r$   r#   )r>   Úpages     rB   rP   z	PDF.close|   sJ   € Ø×ÑÔà—J‘Jò 	ˆDØ�J‰J�Lð	ð ×&Ò&Ø�K‰K×ÑÕð 'ó    c                 ó   — | S rS   r2   )r>   s    rB   Ú	__enter__zPDF.__enter__…   s   € ØˆrV   ÚtÚvalueÚ	tracebackc                 ó$   — | j                  «        y rS   )rP   )r>   rY   rZ   r[   s       rB   Ú__exit__zPDF.__exit__ˆ   s   € ð 	�
‰
�rV   c                 ó\  ‡ — t        ‰ d«      r‰ j                  S d}‰ j                  }g ‰ _        dt        t        d d f   fˆ fd„}t         |«       «      D ]J  \  }}|dz   }|�||vrŒt        ‰ |||¬«      }‰ j                  j                  |«       ||j                  z  }ŒL ‰ j                  S )Nr!   r   rH   c               3   ó¶   •K  — t        j                  ‰j                  «      } 	 	 t        | «      –— Œ# t        $ r Y y t
        $ r}t        |«      ‚d }~ww xY w­wrS   )r   Úcreate_pagesr4   ÚnextÚStopIterationr5   r   )Úgenr?   r>   s     €rB   Ú
iter_pageszPDF.pages.<locals>.iter_pages™   sX   øè ø€ Ü×&Ñ& t§x¡xÓ0ˆCØð/Ü˜s›)’Oð øô %ò ÙÜ ò /Ü+¨AÓ.Ð.ûð/üs/   ƒ!A¥3 ²A³	A¼A¾AÁAÁAÁAr   )Úpage_numberÚinitial_doctop)	Úhasattrr!   r3   r   r   Ú	enumerater   ÚappendÚheight)r>   ÚdoctopÚpprd   ÚirU   re   Úps   `       rB   r&   z	PDF.pages�   s¶   ø€ ä�4˜Ô"Ø—;‘;ÐàˆØ× Ñ ˆØ"$ˆŒð	/œI¤g¨t°TÐ&9Ñ:õ 	/ô !¡£Ó.ò 	‰GˆAˆtØ˜a™%ˆKØˆ~ +°RÑ"7ØÜ�T˜4¨[ÈÔPˆAØ�K‰K×Ñ˜qÔ!Ø�a—h‘hÑ‰Fð	ð �{‰{ÐrV   c                 ó  — t        | d«      r| j                  S i }| j                  D ]F  }|j                  j	                  «       D ]'  }|j                  |g «      |j                  |   z   ||<   Œ) ŒH || _        | j                  S )NÚ_objects)rg   rp   r&   ÚobjectsÚkeysÚget)r>   Úall_objectsrn   Úkinds       rB   rq   zPDF.objects¬   s�   € ä�4˜Ô$Ø—=‘=Ð Ø-/ˆØ—‘ò 	PˆAØŸ	™	Ÿ™Ó(ò P�Ø$/§O¡O°D¸"Ó$=ÀÇ	Á	È$ÁÑ$O�˜DÒ!ñPð	Pð 0;ˆŒØ�}‰}ÐrV   c                 ó^   — d„ | j                   D «       }t        t        j                  |Ž «      S )Nc              3   ó4   K  — | ]  }|j                   –— Œ y ­wrS   )Úannots©Ú.0rn   s     rB   ú	<genexpr>zPDF.annots.<locals>.<genexpr>¹   s   è ø€ Ò,˜Aˆq�x�xÑ,ùó   ‚©r&   ÚlistÚ	itertoolsÚchain©r>   rc   s     rB   rx   z
PDF.annots·   s$   € á, §¡Ô,ˆÜ”I—O‘O SÐ)Ó*Ð*rV   c                 ó^   — d„ | j                   D «       }t        t        j                  |Ž «      S )Nc              3   ó4   K  — | ]  }|j                   –— Œ y ­wrS   )Ú
hyperlinksry   s     rB   r{   z!PDF.hyperlinks.<locals>.<genexpr>¾   s   è ø€ Ò0 ˆq�|�|Ñ0ùr|   r}   r�   s     rB   r„   zPDF.hyperlinks¼   s$   € á0 T§Z¡ZÔ0ˆÜ”I—O‘O SÐ)Ó*Ð*rV   c                 ó~   — 	 t        | «      D �cg c]  }|j                  «       ‘Œ c}S c c}w # t        $ r g cY S w xY w)z+Return the structure tree for the document.)r   Úto_dictr   )r>   Úelems     rB   Ústructure_treezPDF.structure_treeÁ   s:   € ð	Ü/<¸TÓ/BÖC t�D—L‘L•NÒCÐCùÒCøÜ ò 	ØŠIð	ús   ‚. �)¦. ©. ®<»<Úobject_typesc                 óx   — | j                   | j                  D �cg c]  }|j                  |«      ‘Œ c}dœS c c}w )N)r7   r&   )r7   r&   r†   )r>   r‰   rU   s      rB   r†   zPDF.to_dictÉ   s1   € àŸ™Ø=A¿Z¹ZÖH°T�d—l‘l <Õ0ÒHñ
ð 	
ùâHs   š7)FNNNNFNT)	NNNFNFNÚdefaultT)rH   N)rH   r    rS   )'Ú__name__Ú
__module__Ú__qualname__r   r"   r	   r=   Ú__annotations__r   r   r   Úboolr   rM   rN   Úintr   r   r   r
   rC   Úclassmethodr   rO   rP   rX   r   ÚBaseExceptionr   r]   Úpropertyr   r&   r   rq   rx   r„   rˆ   r†   r2   rV   rB   r    r       sú  … Ø#,×#>Ñ#>À(ÀÑ#KÐ�t˜C‘yÓKð
 $)Ø'+Ø8<Ø-1Ø"&Ø %ØHLØ%)ñ*à�n gÐ-Ñ.ð*ð !ð*ð �w—|‘|Ñ$ð	*ð
 ˜˜d 3™i¨¨s©Ð3Ñ4Ñ5ð*ð ˜4  S ™>Ñ*ð*ð ˜3‘-ð*ð ð*ð ˜wÐ'CÑDÑEð*ð #ó*ðX ð 9=Ø-1Ø"&Ø %ØHLØØ6:Ø+4Ø%)ñ1à˜#˜wŸ|™|¨^¸WÐDÑEð1ð ˜˜d 3™i¨¨s©Ð3Ñ4Ñ5ð1ð ˜4  S ™>Ñ*ð	1ð
 ˜3‘-ð1ð ð1ð ˜wÐ'CÑDÑEð1ð ð1ð ˜%  W§\¡\Ð 1Ñ2Ñ3ð1ð )ð1ð #ð1ð 
ò1ó ð1óf óðà�D˜Ñ'Ñ(ðð ˜Ñ&ðð ˜MÑ*ð	ð
 
óð ð�t˜D‘zò ó ðð6 ð˜˜c :˜oÑ.ò ó ðð ð+˜˜T # s (™^Ñ,ò +ó ð+ð ð+˜D  c¨3 h¡Ñ0ò +ó ð+ð ð  T¨#¨s¨(¡^Ñ 4ò ó ðñ
 H¨T°#©YÑ$7ð 
À4ÈÈSÈÁ>ô 
rV   r    )1r   ÚloggingrM   Úior   r   Útypesr   Útypingr   r   r   r	   r
   r   r   r   r   Úpdfminer.layoutr   Úpdfminer.pdfdocumentr   Úpdfminer.pdfinterpr   Úpdfminer.pdfpager   Úpdfminer.pdfparserr   Ú_typingr   r   Ú	containerr   rU   r   rE   r   r   Ú	structurer   r   Úutilsr   Úutils.exceptionsr   Ú	getLoggerrŒ   r;   r    r2   rV   rB   ú<module>r¤      sa   ðÛ Û Û ß &Ý ß T× TÕ Tå $Ý ,Ý 1Ý $Ý (ç &Ý  Ý ß -ß 7Ý %Ý /à	ˆ×	Ñ	˜8Ó	$€ôt
ˆ)õ t
rV   