§
    Æ‡tj=  ã                   ó>  — 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j-        e.¦  «        Z/ G d„ de ¦  «        Z0dS )é    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&dS )*ÚPDFÚ_pagesÚcached_propertiesFNTÚ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          |¦  «        |pd¬¦  «        | _        n!# t          $ r}
t          |
¦  «        ‚d }
~
ww xY wt          ¦   «         | _        i | _        | j        j        D ]}| j                             |¦  «         Œ| j                             ¦   «         D ]d\  }}	 t)          |¦  «        | j        |<   Œ# t          $ r:}
|r‚ t*                               d|› dt/          |
¦  «        › �¦  «         Y d }
~
Œ]d }
~
ww xY wd S )NÚ )r)   z[WARNING] Metadata key "z(" could not be parsed due to exception: © )r$   r%   r&   Úpages_to_parser   r(   r)   r+   r0   r   r   ÚdocÚ	Exceptionr   r   ÚrsrcmgrÚmetadataÚinfoÚupdateÚitemsr   ÚloggerÚwarningÚstr)Úselfr$   r%   r&   r'   r(   r)   r*   r+   r0   Úer9   ÚkÚvs                 úL/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pdfplumber/pdf.pyÚ__init__zPDF.__init__   s±  € ð ˆŒØ"4ˆÔØˆŒ	Ø#ˆÔØ (Ð 0˜˜µhÐ6JÐ6JÀÐ6JÐ6JˆŒØ ˆŒØ(ˆÔØ$8ˆÔ!ð	'Ý"¥9¨VÑ#4Ô#4¸x¸~È2ÐNÑNÔNˆDŒHˆHøÝð 	'ð 	'ð 	'Ý# AÑ&Ô&Ð&øøøøð	'øøøå)Ñ+Ô+ˆŒØˆŒà”H”Mð 	'ð 	'ˆDØŒM× Ò  Ñ&Ô&Ð&Ð&Ø”M×'Ò'Ñ)Ô)ð 	ð 	‰DˆAˆqðÝ#5°aÑ#8Ô#8�”˜aÑ Ð øÝð 	ð 	ð 	Ø"ð àõ —’ð+¨qð +ð +Ý"% a¡&¤&ð+ð +ñô ð ð ð ð ð ð øøøøð	øøøð	ð 	s0   Á%A. Á.
BÁ8BÂBÃ1D	Ä	
EÄ0EÅEÚdefaultÚ
path_or_fpÚrepairÚgs_pathÚrepair_settingÚreturnc                 óF  — |rt          ||||	¬¦  «        }d}d }nNt          |t          t          j        f¦  «        r't          |d¦  «        }d}t          j        |¦  «        }n|}d}d }	  | |||||||||
¬¦	  «	        S # t          $ r |s|                     ¦   «          ‚ w xY w)N)r)   rH   ÚsettingFÚrbT)r&   r'   r(   r)   r*   r+   r%   r0   )r   Ú
isinstancer>   ÚpathlibÚPathÚopenr   Úclose)ÚclsrF   r'   r(   r)   r*   r+   rG   rH   rI   r0   r$   r%   r&   s                 rC   rQ   zPDF.openH   s÷   € ð" ð 	ÝØ X°wÈðñ ô ˆFð "'Ðð ˆDˆDÝ˜
¥S­'¬,Ð$7Ñ8Ô8ð 	Ý˜* dÑ+Ô+ˆFØ!&ÐÝ”< 
Ñ+Ô+ˆDˆDàˆFØ!%ÐØˆDð	Ø�3ØØØØ!Ø!Ø /Ø)Ø#5Ø%9ð
ñ 
ô 
ð 
øõ !ð 	ð 	ð 	Ø%ð Ø—’‘”�Øð	øøøs   Á*A> Á>"B c                 ó®   — |                       ¦   «          | j        D ]}|                     ¦   «          Œ| j        s| j                             ¦   «          d S d S ©N)Úflush_cacher'   rR   r%   r$   )r?   Úpages     rC   rR   z	PDF.close|   sc   € Ø×ÒÑÔÐà”Jð 	ð 	ˆDØ�JŠJ‰LŒLˆLˆLàÔ&ð 	 ØŒK×ÒÑÔÐÐÐð	 ð 	 ó    c                 ó   — | S rU   r3   ©r?   s    rC   Ú	__enter__zPDF.__enter__…   s   € ØˆrX   ÚtÚvalueÚ	tracebackc                 ó.   — |                       ¦   «          d S rU   )rR   )r?   r\   r]   r^   s       rC   Ú__exit__zPDF.__exit__ˆ   s   € ð 	�
Š
‰ŒˆˆˆrX   c                 óV  ‡ — t          ‰ d¦  «        r‰ j        S d}‰ j        }g ‰ _        dt          t          d d f         fˆ fd„}t           |¦   «         ¦  «        D ]H\  }}|dz   }|�||vrŒt          ‰ |||¬¦  «        }‰ j                             |¦  «         ||j        z  }ŒI‰ j        S )Nr"   r   rJ   c               3   ó¾   •K  — t          j        ‰j        ¦  «        } 	 	 t          | ¦  «        V — n-# t          $ r Y d S t
          $ r}t          |¦  «        ‚d }~ww xY wŒArU   )r   Úcreate_pagesr5   ÚnextÚStopIterationr6   r   )Úgenr@   r?   s     €rC   Ú
iter_pageszPDF.pages.<locals>.iter_pages™   s   øè è € ÝÔ& t¤xÑ0Ô0ˆCð/ð/Ý˜s™)œ)�O�O�O�OøÝ$ð ð ð Ø�E�EÝ ð /ð /ð /Ý+¨AÑ.Ô.Ð.øøøøð/øøøð/s   Ÿ1 ±
A¾	AÁAÁAr   )Úpage_numberÚinitial_doctop)	Úhasattrr"   r4   r   r   Ú	enumerater   ÚappendÚheight)r?   ÚdoctopÚpprg   ÚirW   rh   Úps   `       rC   r'   z	PDF.pages�   sâ   ø€ å�4˜Ñ"Ô"ð 	Ø”;ÐàˆØÔ ˆØ"$ˆŒð	/�I¥g¨t°TÐ&9Ô:ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/õ !  ¡¤Ñ.Ô.ð 	ð 	‰GˆAˆtØ˜a™%ˆKØˆ~ +°RÐ"7Ð"7ØÝ�T˜4¨[ÈÐPÑPÔPˆAØŒK×Ò˜qÑ!Ô!Ð!Ø�a”hÑˆFˆFØŒ{ÐrX   c                 óê   — t          | d¦  «        r| j        S i }| j        D ]E}|j                             ¦   «         D ])}|                     |g ¦  «        |j        |         z   ||<   Œ*ŒF|| _        | j        S )NÚ_objects)rj   rs   r'   ÚobjectsÚkeysÚget)r?   Úall_objectsrq   Úkinds       rC   rt   zPDF.objects¬   sŒ   € å�4˜Ñ$Ô$ð 	!Ø”=Ð Ø-/ˆØ”ð 	Pð 	PˆAØœ	ŸšÑ(Ô(ð Pð P�Ø$/§O¢O°D¸"Ñ$=Ô$=ÀÄ	È$ÄÑ$O�˜DÑ!Ð!ðPà/:ˆŒØŒ}ÐrX   c                 óZ   — d„ | j         D ¦   «         }t          t          j        |Ž ¦  «        S )Nc              3   ó$   K  — | ]}|j         V — Œd S rU   )Úannots©Ú.0rq   s     rC   ú	<genexpr>zPDF.annots.<locals>.<genexpr>¹   s$   è è € Ð,Ð,˜AˆqŒxÐ,Ð,Ð,Ð,Ð,Ð,rX   ©r'   ÚlistÚ	itertoolsÚchain©r?   rf   s     rC   r{   z
PDF.annots·   s,   € à,Ð, ¤Ð,Ñ,Ô,ˆÝ•I”O SÐ)Ñ*Ô*Ð*rX   c                 óZ   — d„ | j         D ¦   «         }t          t          j        |Ž ¦  «        S )Nc              3   ó$   K  — | ]}|j         V — Œd S rU   )Ú
hyperlinksr|   s     rC   r~   z!PDF.hyperlinks.<locals>.<genexpr>¾   s$   è è € Ð0Ð0 ˆqŒ|Ð0Ð0Ð0Ð0Ð0Ð0rX   r   rƒ   s     rC   r†   zPDF.hyperlinks¼   s,   € à0Ð0 T¤ZÐ0Ñ0Ô0ˆÝ•I”O SÐ)Ñ*Ô*Ð*rX   c                 óZ   — 	 d„ t          | ¦  «        D ¦   «         S # t          $ r g cY S w xY w)z+Return the structure tree for the document.c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r3   ©Úto_dict)r}   Úelems     rC   ú
<listcomp>z&PDF.structure_tree.<locals>.<listcomp>Å   s    € ÐCÐCÐC t�D—L’L‘N”NÐCÐCÐCrX   r   rZ   s    rC   Ústructure_treezPDF.structure_treeÁ   sG   € ð	ØCÐC­}¸TÑ/BÔ/BÐCÑCÔCÐCøÝ ð 	ð 	ð 	ØˆIˆIˆIð	øøøs   ‚ ›*©*Úobject_typesc                 ó:   ‡— | j         ˆfd„| j        D ¦   «         dœS )Nc                 ó:   •— g | ]}|                      ‰¦  «        ‘ŒS r3   r‰   )r}   rW   rŽ   s     €rC   rŒ   zPDF.to_dict.<locals>.<listcomp>Ì   s%   ø€ ÐHÐHÐH°T�d—l’l <Ñ0Ô0ÐHÐHÐHrX   ©r8   r'   r‘   )r?   rŽ   s    `rC   rŠ   zPDF.to_dictÉ   s0   ø€ àœØHÐHÐHÐH¸T¼ZÐHÑHÔHð
ð 
ð 	
rX   )FNNNNFNT)	NNNFNFNrE   T)rJ   N)rJ   r!   rU   )'Ú__name__Ú
__module__Ú__qualname__r   r#   r	   r>   Ú__annotations__r   r   r   Úboolr   rO   rP   Úintr   r   r   r
   rD   Úclassmethodr   rQ   rR   r[   r   ÚBaseExceptionr   r`   Úpropertyr   r'   r   rt   r{   r†   r�   rŠ   r3   rX   rC   r!   r!      s­  € € € € € € Ø#,Ô#>À(ÀÑ#KÐ�t˜C”yÐKÐKÑ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ð 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ð 1ñ „[ð1ðf ð  ð  ð  ðð ð ð ðà�D˜Ô'Ô(ðð ˜Ô&ðð ˜MÔ*ð	ð
 
ðð ð ð ð ð�t˜D”zð ð ð ñ „Xðð6 ð˜˜c :˜oÔ.ð ð ð ñ „Xðð ð+˜˜T # s (œ^Ô,ð +ð +ð +ñ „Xð+ð ð+˜D  c¨3 h¤Ô0ð +ð +ð +ñ „Xð+ð ð  T¨#¨s¨(¤^Ô 4ð ð ð ñ „Xðð
ð 
 H¨T°#¬YÔ$7ð 
À4ÈÈSÈÄ>ð 
ð 
ð 
ð 
ð 
ð 
rX   r!   )1r�   ÚloggingrO   Ú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   rW   r   rG   r   r   Ú	structurer   r   Úutilsr   Úutils.exceptionsr   Ú	getLoggerr’   r<   r!   r3   rX   rC   ú<module>rª      sÉ  ðØ Ð Ð Ð Ø €€€Ø €€€Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ Tà $Ð $Ð $Ð $Ð $Ð $Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø $Ð $Ð $Ð $Ð $Ð $Ø (Ð (Ð (Ð (Ð (Ð (à &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø %Ð %Ð %Ð %Ð %Ð %Ø /Ð /Ð /Ð /Ð /Ð /à	ˆÔ	˜8Ñ	$Ô	$€ðt
ð t
ð t
ð t
ð t
ˆ)ñ t
ô t
ð t
ð t
ð t
rX   