§
    K˜ºhh  ã                   óà  — d dl Z d dlZd dlZd dlZd dl 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 ddlmZ ddlmZmZ ddlmZmZmZmZmZmZmZmZ dd	lmZm Z m!Z! d
Z"dZ# G d„ de¦  «        Z$ G d„ de$¦  «        Z% G d„ de$¦  «        Z& G d„ de$¦  «        Z'dZ( G d„ de)e$¦  «        Z* G d„ de+e$¦  «        Z, G d„ de-e$¦  «        Z. G d„ de/e$¦  «        Z0 G d„ de/e$¦  «        Z1de/d e-fd!„Z2dS )"é    N)Ú	unhexlify)Úlog10)ÚAnyÚCallableÚClassVarÚDictÚOptionalÚSequenceÚUnionÚcasté   )Ú_pdfdoc_encoding_rev)ÚPdfObjectProtocolÚPdfWriterProtocol)Ú
StreamTypeÚb_Údeprecate_no_replacementÚdeprecation_with_replacementÚlogger_warningÚread_non_whitespaceÚread_until_regexÚstr_)ÚSTREAM_TRUNCATED_PREMATURELYÚPdfReadErrorÚPdfStreamErrorzMathieu Fenniakzbiziqe@mathieu.fenniak.netc                   ó  — e Zd ZU ej        Zed         ed<   ed         ed<   de	fd„Z
de	fd„Z	 	 dd
ededeeeeef                           dd fd„Z	 dded
ededefd„Zded          fd„Zded          fd„Z	 ddededee	f         ddfd„ZdS )Ú	PdfObject).zhashlib._HashÚ	hash_funcÚIndirectObjectÚindirect_referenceÚreturnc                 ó0   — d| z                        ¦   «         S )Nz%s)Úencode©Úselfs    ú[/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/pypdf/generic/_base.pyÚhash_value_datazPdfObject.hash_value_data:   s   € Ø�t‘×#Ò#Ñ%Ô%Ð%ó    c                 ó¶   — | j         j        ›d|                      |                      ¦   «         ¦  «                             ¦   «         ›�                     ¦   «         S )Nú:)Ú	__class__Ú__name__r   r'   Ú	hexdigestr#   r$   s    r&   Ú
hash_valuezPdfObject.hash_value=   sQ   € ð ”Ô'Ð'Ð'Ø—’˜t×3Ò3Ñ5Ô5Ñ6Ô6×@Ò@ÑBÔBÐBð÷
 Š&‰(Œ(ð	r(   F© Úpdf_destÚforce_duplicateÚignore_fieldsc                 ó:   — t          | j        j        › d�¦  «        ‚)a˜  
        clone object into pdf_dest (PdfWriterProtocol which is an interface for PdfWriter)
        force_duplicate: in standard if the object has been already cloned and reference,
            the copy is returned; when force_duplicate == True,
            a new copy is always performed
        ignore_fields : list/tuple of Fields names (for dictionaries that will
            be ignored during cloning (apply also to childs duplication)
            if fields are to be considered for a limited number of levels
            you have to add it as integer:
            eg  [1,"/B","/TOTO"] means "/B" will be ignored at first level only
            but "/TOTO" on all levels
        in standard, clone function call _reference_clone (see _reference)

        Args:
          pdf_dest:
          force_duplicate:  (Default value = False)
          ignore_fields:

        Returns:
          The cloned PdfObject
        z! does not implement .clone so far)ÚNotImplementedErrorr+   r,   ©r%   r0   r1   r2   s       r&   ÚclonezPdfObject.cloneF   s'   € õ6 "ØŒ~Ô&ÐIÐIÐIñ
ô 
ð 	
r(   r6   c                 óú  — 	 |s|j         j        |k    r|S n# t          $ r Y nw xY w	 | j         }n# t          $ r |cY S w xY wt	          |j        ¦  «        dz   }|�ðt          |j        ¦  «        |j        vrCi |j        t          |j        ¦  «        <   |j        |j        t          |j        ¦  «                 d<   |si|j        |j        t          |j        ¦  «                 v rC| 	                    |j        t          |j        ¦  «                 |j                 ¦  «        }|€J ‚|S ||j        t          |j        ¦  «                 |j        <   |j         
                    |¦  «         t          |d|¦  «        |_         |S )aW  
        Reference the object within the _objects of pdf_dest only if
        indirect_reference attribute exists (which means the objects was
        already identified in xref/xobjstm) if object has been already
        referenced do nothing.

        Args:
          clone:
          pdf_dest:

        Returns:
          The clone
        é   NÚ	PreventGCr   )r    ÚpdfÚ	ExceptionÚAttributeErrorÚlenÚ_objectsÚidÚ_id_translatedÚidnumÚ
get_objectÚappendr   )r%   r6   r0   r1   ÚindÚiÚobjs          r&   Ú_reference_clonezPdfObject._reference_clonee   s‰  € ð 	Ø"ð  uÔ'?Ô'CÀxÒ'OÐ'OØ�øøÝð 	ð 	ð 	ØˆDð	øøøð	ØÔ)ˆCˆCøÝð 	ð 	ð 	ØˆLˆLˆLð	øøøå�Ô!Ñ"Ô" QÑ&ˆØˆ?Ý�#”'‰{Œ{ (Ô"9Ð9Ð9Ø79�Ô'­¨3¬7©¬Ñ4ØDGÄG�Ô'­¨3¬7©¬Ô4°[ÑAà#ðà”I Ô!8½¸C¼G¹¼Ô!EÐEÐEà×)Ò)ØÔ+­B¨s¬w©K¬KÔ8¸¼ÔCñô �ð ���Ø�
Ø>?ˆHÔ#¥B s¤w¡K¤KÔ0°´Ñ;ØÔ× Ò  Ñ'Ô'Ð'Ý#1°!°Q¸Ñ#AÔ#AˆÔ Øˆs   ‚ —
$£$¨0 °?¾?c                 ó   — | S )zResolve indirect references.r/   r$   s    r&   rB   zPdfObject.get_object’   ó   € àˆr(   c                 óL   — t          ddd¦  «         |                      ¦   «         S )NÚ	getObjectrB   ú3.0.0)r   rB   r$   s    r&   rK   zPdfObject.getObject–   s$   € Ý$ [°,ÀÑHÔHÐHØ�ŠÑ Ô Ð r(   NÚstreamÚencryption_keyc                 ó   — t           ‚©N)r4   ©r%   rM   rN   s      r&   Úwrite_to_streamzPdfObject.write_to_streamš   s
   € õ "Ð!r(   ©Fr/   )FrP   )r,   Ú
__module__Ú__qualname__ÚhashlibÚsha1r   r   Ú__annotations__r	   Úbytesr'   r.   r   Úboolr
   r   ÚstrÚintr6   r   r   rG   rB   rK   r   rR   r/   r(   r&   r   r   5   s•  € € € € € € à07´€IˆxÐ,Ô-Ð<Ð<Ñ<Ø Ð!1Ô2Ð2Ð2Ñ2ð& ð &ð &ð &ð &ð˜Eð ð ð ð ð !&Ø=?ð	
ð 
à#ð
ð ð
ð   ¨¨s°C¨x¬Ô 9Ô:ð	
ð
 
ð
ð 
ð 
ð 
ð@ PUð+ð +Øð+Ø$5ð+ØHLð+à	ð+ð +ð +ð +ðZ˜H [Ô1ð ð ð ð ð!˜8 KÔ0ð !ð !ð !ð !ð
 MQð"ð "Ø ð"Ø27¸¸cÀ5Ð8HÔ2Ið"à	ð"ð "ð "ð "ð "ð "r(   r   c                   óð   — e Zd Z	 	 ddededeeeee	f                           dd fd„Z
	 dd	ed
edeef         ddfd„Zed	edd fd„¦   «         Zd	ed
edeef         ddfd„Zdefd„Zed	edd fd„¦   «         ZdS )Ú
NullObjectFr/   r0   r1   r2   r!   c                 ód   — t          d|                      t          ¦   «         ||¦  «        ¦  «        S )úClone object into pdf_dest.r^   )r   rG   r^   r5   s       r&   r6   zNullObject.clone¡   s1   € õ Ø˜$×/Ò/µ
±´¸hÈÑXÔXñ
ô 
ð 	
r(   NrM   rN   c                 óT   — |�t          dd¦  «         |                     d¦  «         d S )Nú/the encryption_key parameter of write_to_streamú5.0.0ó   null)r   ÚwriterQ   s      r&   rR   zNullObject.write_to_stream¬   s;   € ð Ð%Ý$ØAÀ7ñô ð ð 	�Š�WÑÔÐÐÐr(   c                 ór   — |                       d¦  «        }|dk    rt          d¦  «        ‚t          ¦   «         S )Né   rd   zCould not read Null object)Úreadr   r^   )rM   Únulltxts     r&   Úread_from_streamzNullObject.read_from_streamµ   s5   € à—+’+˜a‘.”.ˆØ�gÒÐÝÐ;Ñ<Ô<Ð<Ý‰|Œ|Ðr(   c                 óR   — t          ddd¦  «         |                      |¦  «         d S ©NÚwriteToStreamrR   rL   ©r   rR   rQ   s      r&   rm   zNullObject.writeToStream¼   ó1   € õ 	% _Ð6GÈÑQÔQÐQØ×Ò˜VÑ$Ô$Ð$Ð$Ð$r(   c                 ó   — dS )Nr^   r/   r$   s    r&   Ú__repr__zNullObject.__repr__Â   s   € Øˆ|r(   c                 óX   — t          ddd¦  «         t                               | ¦  «        S ©NÚreadFromStreamrj   rL   )r   r^   rj   ©rM   s    r&   rt   zNullObject.readFromStreamÅ   s*   € å$Ð%5Ð7IÈ7ÑSÔSÐSÝ×*Ò*¨6Ñ2Ô2Ð2r(   rS   rP   )r,   rT   rU   r   rZ   r	   r
   r   r[   r\   r6   r   rY   rR   Ústaticmethodrj   rm   rq   rt   r/   r(   r&   r^   r^       s`  € € € € € ð !&Ø=?ð		
ð 	
à#ð	
ð ð	
ð   ¨¨s°C¨x¬Ô 9Ô:ð		
ð
 
ð	
ð 	
ð 	
ð 	
ð MQðð Ø ðØ27¸¸cÀ5Ð8HÔ2Iðà	ðð ð ð ð ð ð °ð ð ð ñ „\ðð%Ø ð%Ø27¸¸cÀ5Ð8HÔ2Ið%à	ð%ð %ð %ð %ð˜#ð ð ð ð ð ð3˜zð 3¨lð 3ð 3ð 3ñ „\ð3ð 3ð 3r(   r^   c                   ó  — e Zd Zdeddfd„Z	 	 ddeded	eee	e
ef                           dd fd
„Zdedefd„Zde
fd„Z	 ddede	de
ef         ddfd„Zdede	de
ef         ddfd„Zededd fd„¦   «         Zededd fd„¦   «         ZdS )ÚBooleanObjectÚvaluer!   Nc                 ó   — || _         d S rP   ©ry   )r%   ry   s     r&   Ú__init__zBooleanObject.__init__Ì   s   € ØˆŒ
ˆ
ˆ
r(   Fr/   r0   r1   r2   c                 óp   — t          d|                      t          | j        ¦  «        ||¦  «        ¦  «        S )r`   rx   )r   rG   rx   ry   r5   s       r&   r6   zBooleanObject.cloneÏ   s8   € õ ØØ×!Ò!¥-°´
Ñ";Ô";¸XÀÑWÔWñ
ô 
ð 	
r(   Ú_BooleanObject__oc                 ó�   — t          |t          ¦  «        r| j        |j        k    S t          |t          ¦  «        r| j        |k    S dS )NF)Ú
isinstancerx   ry   rZ   )r%   r~   s     r&   Ú__eq__zBooleanObject.__eq__Û   sG   € Ý�c�=Ñ)Ô)ð 	Ø”: ¤Ò*Ð*Ý˜�TÑ"Ô"ð 	Ø”: Ò$Ð$à�5r(   c                 ó   — | j         rdndS )NÚTrueÚFalser{   r$   s    r&   rq   zBooleanObject.__repr__ã   s   € ØœÐ0ˆvˆv¨Ð0r(   rM   rN   c                 ó�   — |�t          dd¦  «         | j        r|                     d¦  «         d S |                     d¦  «         d S )Nrb   rc   ó   trues   false)r   ry   re   rQ   s      r&   rR   zBooleanObject.write_to_streamæ   s]   € ð Ð%Ý$ØAÀ7ñô ð ð Œ:ð 	#Ø�LŠL˜Ñ!Ô!Ð!Ð!Ð!à�LŠL˜Ñ"Ô"Ð"Ð"Ð"r(   c                 óR   — t          ddd¦  «         |                      |¦  «         d S rl   rn   rQ   s      r&   rm   zBooleanObject.writeToStreamò   ro   r(   c                 óÈ   — |                       d¦  «        }|dk    rt          d¦  «        S |dk    r$|                       d¦  «         t          d¦  «        S t          d¦  «        ‚)Nrg   r†   Ts   falsr8   FzCould not read Boolean object)rh   rx   r   )rM   Úwords     r&   rj   zBooleanObject.read_from_streamø   s]   € à�{Š{˜1‰~Œ~ˆØ�7Š?ˆ?Ý  Ñ&Ô&Ð&Ø�WŠ_ˆ_Ø�KŠK˜‰NŒNˆNÝ  Ñ'Ô'Ð'åÐ>Ñ?Ô?Ð?r(   c                 óX   — t          ddd¦  «         t                               | ¦  «        S rs   )r   rx   rj   ru   s    r&   rt   zBooleanObject.readFromStream  s*   € å$Ð%5Ð7IÈ7ÑSÔSÐSÝ×-Ò-¨fÑ5Ô5Ð5r(   rS   rP   )r,   rT   rU   r   r|   r   rZ   r	   r
   r   r[   r\   r6   Úobjectr�   rq   r   rY   rR   rm   rv   rj   rt   r/   r(   r&   rx   rx   Ë   sª  € € € € € ð˜cð  dð ð ð ð ð !&Ø=?ð	

ð 

à#ð

ð ð

ð   ¨¨s°C¨x¬Ô 9Ô:ð	

ð
 
ð

ð 

ð 

ð 

ð˜&ð  Tð ð ð ð ð1˜#ð 1ð 1ð 1ð 1ð MQð
#ð 
#Ø ð
#Ø27¸¸cÀ5Ð8HÔ2Ið
#à	ð
#ð 
#ð 
#ð 
#ð%Ø ð%Ø27¸¸cÀ5Ð8HÔ2Ið%à	ð%ð %ð %ð %ð ð@ ð @°ð @ð @ð @ñ „\ð@ð ð6˜zð 6¨oð 6ð 6ð 6ñ „\ð6ð 6ð 6r(   rx   c                   ó`  — e Zd Zdedededdfd„Z	 	 dd	ed
edee	e
eef                           dd fd„Zedd„¦   «         Zded         fd„Zdefd„Zdedefd„Zdedefd„Z	 ddede
deef         ddfd„Zdede
deef         ddfd„Zedededd fd„¦   «         Zedededd fd„¦   «         ZdS )r   rA   Ú
generationr:   r!   Nc                 ó0   — || _         || _        || _        d S rP   )rA   r�   r:   )r%   rA   r�   r:   s       r&   r|   zIndirectObject.__init__
  s   € ØˆŒ
Ø$ˆŒØˆŒˆˆr(   Fr/   r0   r1   r2   c                 óÄ  — | j         |k    r|s| S t          | j         ¦  «        |j        vri |j        t          | j         ¦  «        <   | j        |j        t          | j         ¦  «                 v rt|                     |j        t          | j         ¦  «                 | j                 ¦  «        }|r4|€J ‚|j        €J ‚|j        }t          |j        |j        |j         ¦  «        S nm|                      ¦   «         }|€-t          ¦   «         }t          | t          f¦  «        sJ ‚| |_        | 
                    |                     |||¦  «        ¦  «        }|€J ‚|j        €J ‚|j        S )r`   )r:   r?   r@   rA   rB   r    r   r�   r^   r€   Ú_add_objectr6   )r%   r0   r1   r2   ÚdupÚidrefrF   s          r&   r6   zIndirectObject.clone  s`  € ð Œ8�xÒÐ¨ÐàˆKÝˆdŒh‰<Œ<˜xÔ6Ð6Ð6Ø46ˆHÔ#¥B t¤x¡L¤LÑ1àŒ:˜Ô0µ°D´H±´Ô>Ð>Ð>Ø×%Ò% hÔ&=½bÀÄ¹l¼lÔ&KÈDÌJÔ&WÑXÔXˆCØð PØ���ØÔ-Ð9Ð9Ð9ØÔ.�Ý% e¤k°5Ô3CÀUÄYÑOÔOÐOð	Pð —/’/Ñ#Ô#ˆCàˆ{å ‘l”l�Ý! $­Ð(9Ñ:Ô:Ð:Ð:Ð:Ø)-�Ô&Ø×&Ò&Ø—	’	˜( O°]ÑCÔCñô ˆCð ˆˆˆØÔ%Ð1Ð1Ð1ØÔ%Ð%r(   c                 ó   — | S rP   r/   r$   s    r&   r    z!IndirectObject.indirect_reference3  rI   r(   r   c                 óf   — | j                              | ¦  «        }|€d S |                     ¦   «         S rP   )r:   rB   )r%   rF   s     r&   rB   zIndirectObject.get_object7  s1   € ØŒh×!Ò! $Ñ'Ô'ˆØˆ;Ø�4Ø�~Š~ÑÔÐr(   c                 óR   — d| j         ›d| j        ›dt          | j        ¦  «        › d�S )NzIndirectObject(z, ú))rA   r�   r?   r:   r$   s    r&   rq   zIndirectObject.__repr__=  s/   € ØU ¤ÐUÐU°´ÐUÐUÅbÈÌÁlÄlÐUÐUÐUÐUr(   Úotherc                 ó�   — |d uoBt          |t          ¦  «        o-| j        |j        k    o| j        |j        k    o| j        |j        u S rP   )r€   r   rA   r�   r:   ©r%   r—   s     r&   r�   zIndirectObject.__eq__@  sY   € à˜Ðð &Ý˜5¥.Ñ1Ô1ð&à”
˜eœkÒ)ð&ð ” 5Ô#3Ò3ð&ð ”˜EœIÐ%ð	
r(   c                 ó.   — |                       |¦  «         S rP   )r�   r™   s     r&   Ú__ne__zIndirectObject.__ne__I  s   € Ø—;’;˜uÑ%Ô%Ð%Ð%r(   rM   rN   c                 ó˜   — |�t          dd¦  «         |                     | j        › d| j        › d�                     ¦   «         ¦  «         d S )Nrb   rc   ú z R)r   re   rA   r�   r#   rQ   s      r&   rR   zIndirectObject.write_to_streamL  s\   € ð Ð%Ý$ØAÀ7ñô ð ð 	�Š˜œ
Ð8Ð8 T¤_Ð8Ð8Ð8×?Ò?ÑAÔAÑBÔBÐBÐBÐBr(   c                 óR   — t          ddd¦  «         |                      |¦  «         d S rl   rn   rQ   s      r&   rm   zIndirectObject.writeToStreamU  ro   r(   c                 ó  — d}	 |                       d¦  «        }|st          t          ¦  «        ‚|                     ¦   «         rn||z  }ŒFd}	 |                       d¦  «        }|st          t          ¦  «        ‚|                     ¦   «         r|sŒCn||z  }ŒIt	          | ¦  «        }|dk    r1t          dt          |                      ¦   «         ¦  «        › �¦  «        ‚t          t          |¦  «        t          |¦  «        |¦  «        S )Nr(   Tr8   ó   Rz0Error reading indirect object reference at byte )
rh   r   r   Úisspacer   r   ÚhexÚtellr   r\   )rM   r:   rA   Útokr�   Úrs         r&   rj   zIndirectObject.read_from_stream[  s  € àˆð	Ø—+’+˜a‘.”.ˆCØð CÝ$Õ%AÑBÔBÐBØ�{Š{‰}Œ}ð ØØ�S‰LˆEð	ð ˆ
ð	Ø—+’+˜a‘.”.ˆCØð CÝ$Õ%AÑBÔBÐBØ�{Š{‰}Œ}ð Ø!ð ØØØ˜#ÑˆJð	õ   Ñ'Ô'ˆØ�Š9ˆ9ÝØWÅ3ÀvÇ{Â{Á}Ä}ÑCUÔCUÐWÐWñô ð õ �c %™jœj­#¨j©/¬/¸3Ñ?Ô?Ð?r(   c                 óZ   — t          ddd¦  «         t                               | |¦  «        S rs   )r   r   rj   ©rM   r:   s     r&   rt   zIndirectObject.readFromStreamv  s.   € õ 	%Ð%5Ð7IÈ7ÑSÔSÐSÝ×.Ò.¨v°sÑ;Ô;Ð;r(   rS   )r!   r   rP   )r,   rT   rU   r\   r   r|   r   rZ   r	   r
   r   r[   r6   Úpropertyr    rB   rq   r‹   r�   r›   r   rY   rR   rm   rv   rj   rt   r/   r(   r&   r   r   	  s;  € € € € € ð˜cð ¨sð ¸ð Àð ð ð ð ð !&Ø=?ð	"&ð "&à#ð"&ð ð"&ð   ¨¨s°C¨x¬Ô 9Ô:ð	"&ð
 
ð"&ð "&ð "&ð "&ðH ðð ð ñ „Xðð ˜H [Ô1ð  ð  ð  ð  ðV˜#ð Vð Vð Vð Vð
˜Fð 
 tð 
ð 
ð 
ð 
ð&˜Fð & tð &ð &ð &ð &ð MQðCð CØ ðCØ27¸¸cÀ5Ð8HÔ2IðCà	ðCð Cð Cð Cð%Ø ð%Ø27¸¸cÀ5Ð8HÔ2Ið%à	ð%ð %ð %ð %ð ð@ ð @°#ð @Ð:Jð @ð @ð @ñ „\ð@ð4 ð<Øð<Ø!$ð<à	ð<ð <ð <ñ „\ð<ð <ð <r(   r   é   c                   óü   — e Zd Z	 ddeeef         dee         dd fd„Z	 	 dd	ed
edee	eee
f                           dd fd„Zdefd„Zdefd„Zdefd„Z	 ddededeef         ddfd„Zdededeef         ddfd„ZdS )ÚFloatObjectú0.0Nry   Úcontextr!   c                 ó  — 	 t          t          |¦  «        ¦  «        }t                                | |¦  «        S # t          $ r@}t	          |› d|› d�t
          ¦  «         t                                | d¦  «        cY d }~S d }~ww xY w)Nz : FloatObject (z) invalid; use 0.0 insteadg        )Úfloatr   Ú__new__r;   r   r,   )Úclsry   r­   Úes       r&   r°   zFloatObject.__new__‚  sœ   € ð		+Ý�$˜u™+œ+Ñ&Ô&ˆEÝ—=’=  eÑ,Ô,Ð,øÝð 	+ð 	+ð 	+õ ØÐGÐG eÐGÐGÐGÍñô ð õ —=’=  cÑ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*øøøøð	+øøøs   ‚69 ¹
BÁ5A>Á8BÁ>BFr/   r0   r1   r2   c                 óf   — t          d|                      t          | ¦  «        ||¦  «        ¦  «        S )r`   r«   )r   rG   r«   r5   s       r&   r6   zFloatObject.clone�  s6   € õ ØØ×!Ò!¥+¨dÑ"3Ô"3°X¸ÑOÔOñ
ô 
ð 	
r(   c                 óð   — | dk    rdS t           t          t          t          | ¦  «        ¦  «        ¦  «        z
  }| dt	          d|¦  «        › d�›                     d¦  «                             d¦  «        }|S )Nr   r¬   ú.r8   ÚfÚ0)ÚFLOAT_WRITE_PRECISIONr\   r   ÚabsÚmaxÚrstrip)r%   ÚnbÚss      r&   ÚmyreprzFloatObject.myreprœ  so   € Ø�1Š9ˆ9Ø�5Ý"¥S­­s°4©y¬yÑ)9Ô)9Ñ%:Ô%:Ñ:ˆØÐ#•c˜!˜B‘i”iÐ#Ð#Ð#Ð#×*Ò*¨3Ñ/Ô/×6Ò6°sÑ;Ô;ˆØˆr(   c                 ó*   — |                       ¦   «         S rP   )r¾   r$   s    r&   rq   zFloatObject.__repr__£  s   € Ø�{Š{‰}Œ}Ðr(   c                 ó    — t          | ¦  «        S rP   )r¯   r$   s    r&   Ú
as_numericzFloatObject.as_numeric¦  s   € Ý�T‰{Œ{Ðr(   rM   rN   c                 óž   — |�t          dd¦  «         |                     |                      ¦   «                              d¦  «        ¦  «         d S ©Nrb   rc   Úutf8)r   re   r¾   r#   rQ   s      r&   rR   zFloatObject.write_to_stream©  sQ   € ð Ð%Ý$ØAÀ7ñô ð ð 	�Š�T—[’[‘]”]×)Ò)¨&Ñ1Ô1Ñ2Ô2Ð2Ð2Ð2r(   c                 óR   — t          ddd¦  «         |                      |¦  «         d S rl   rn   rQ   s      r&   rm   zFloatObject.writeToStream²  ro   r(   )r¬   NrS   rP   )r,   rT   rU   r   r[   r   r	   r°   rZ   r
   r\   r6   r¾   rq   r¯   rÁ   r   rY   rR   rm   r/   r(   r&   r«   r«   �  sz  € € € € € àFJð+ð +Ø˜#˜s˜(”Oð+Ø6>¸s´mð+à	ð+ð +ð +ð +ð" !&Ø=?ð	

ð 

àð

ð ð

ð   ¨¨s°C¨x¬Ô 9Ô:ð	

ð
 
ð

ð 

ð 

ð 

ð˜ð ð ð ð ð˜#ð ð ð ð ð˜Eð ð ð ð ð MQð3ð 3Ø ð3Ø27¸¸cÀ5Ð8HÔ2Ið3à	ð3ð 3ð 3ð 3ð%Ø ð%Ø27¸¸cÀ5Ð8HÔ2Ið%à	ð%ð %ð %ð %ð %ð %r(   r«   c                   ó8  — e Zd Z ej        d¦  «        Zdedd fd„Z	 	 ddeded	e	e
eeef                           dd fd
„Zdefd„Z	 ddededeef         ddfd„Zdededeef         ddfd„Zededed         fd„¦   «         Zededed         fd„¦   «         ZdS )ÚNumberObjects	   [^+-.0-9]ry   r!   c                 óÜ   — 	 t                                | t          |¦  «        ¦  «        S # t          $ r7 t          d|› d�t          ¦  «         t                                | d¦  «        cY S w xY w)NzNumberObject(z) invalid; use 0 insteadr   )r\   r°   Ú
ValueErrorr   r,   )r±   ry   s     r&   r°   zNumberObject.__new__¼  sr   € ð	'Ý—;’;˜s¥C¨¡J¤JÑ/Ô/Ð/øÝð 	'ð 	'ð 	'ÝÐJ¨5ÐJÐJÐJÍHÑUÔUÐUÝ—;’;˜s AÑ&Ô&Ð&Ð&Ð&ð	'øøøs   ‚'* ª>A+Á*A+Fr/   r0   r1   r2   c                 óf   — t          d|                      t          | ¦  «        ||¦  «        ¦  «        S )r`   rÇ   )r   rG   rÇ   r5   s       r&   r6   zNumberObject.cloneÃ  s6   € õ ØØ×!Ò!¥,¨tÑ"4Ô"4°hÀÑPÔPñ
ô 
ð 	
r(   c                 ó`   — t          t          | ¦  «                             d¦  «        ¦  «        S )NrÄ   )r\   Úreprr#   r$   s    r&   rÁ   zNumberObject.as_numericÏ  s$   € Ý•4˜‘:”:×$Ò$ VÑ,Ô,Ñ-Ô-Ð-r(   NrM   rN   c                 ó”   — |�t          dd¦  «         |                     t          | ¦  «                             d¦  «        ¦  «         d S rÃ   )r   re   rÌ   r#   rQ   s      r&   rR   zNumberObject.write_to_streamÒ  sO   € ð Ð%Ý$ØAÀ7ñô ð ð 	�Š•T˜$‘Z”Z×&Ò& vÑ.Ô.Ñ/Ô/Ð/Ð/Ð/r(   c                 óR   — t          ddd¦  «         |                      |¦  «         d S rl   rn   rQ   s      r&   rm   zNumberObject.writeToStreamÛ  ro   r(   )rÇ   r«   c                 ó¤   — t          | t          j        ¦  «        }|                     d¦  «        dk    rt	          |¦  «        S t          |¦  «        S )Nó   .éÿÿÿÿ)r   rÇ   ÚNumberPatternÚfindr«   )rM   Únums     r&   rj   zNumberObject.read_from_streamá  sE   € å˜v¥|Ô'AÑBÔBˆØ�8Š8�D‰>Œ>˜RÒÐÝ˜sÑ#Ô#Ð#Ý˜CÑ Ô Ð r(   c                 óX   — t          ddd¦  «         t                               | ¦  «        S rs   )r   rÇ   rj   ru   s    r&   rt   zNumberObject.readFromStreamè  s,   € õ 	%Ð%5Ð7IÈ7ÑSÔSÐSÝ×,Ò,¨VÑ4Ô4Ð4r(   rS   rP   )r,   rT   rU   ÚreÚcompilerÒ   r   r°   rZ   r	   r
   r   r[   r\   r6   rÁ   r   rY   rR   rm   rv   rj   rt   r/   r(   r&   rÇ   rÇ   ¹  s¡  € € € € € Ø�B”J˜|Ñ,Ô,€Mð'˜Cð ' Nð 'ð 'ð 'ð 'ð !&Ø=?ð	

ð 

àð

ð ð

ð   ¨¨s°C¨x¬Ô 9Ô:ð	

ð
 
ð

ð 

ð 

ð 

ð.˜Cð .ð .ð .ð .ð MQð0ð 0Ø ð0Ø27¸¸cÀ5Ð8HÔ2Ið0à	ð0ð 0ð 0ð 0ð%Ø ð%Ø27¸¸cÀ5Ð8HÔ2Ið%à	ð%ð %ð %ð %ð ð! ð !°Ð6SÔ0Tð !ð !ð !ñ „\ð!ð ð5Øð5à	Ð,Ô	-ð5ð 5ð 5ñ „\ð5ð 5ð 5r(   rÇ   c                   óÄ   — e Zd ZdZ	 	 ddededeeee	e
f                           dd fd„Zedefd	„¦   «         Z	 ddeded
e	ef         dd
fd„Zdeded
e	ef         dd
fd„Zd
S )ÚByteStringObjecta>  
    Represents a string object where the text encoding could not be determined.

    This occurs quite often, as the PDF spec doesn't provide an alternate way to
    represent strings -- for example, the encryption data stored in files (like
    /O) is clearly not text, but is still stored in a "String" object.
    Fr/   r0   r1   r2   r!   c           
      ó€   — t          d|                      t          t          | ¦  «        ¦  «        ||¦  «        ¦  «        S )r`   rÙ   )r   rG   rÙ   rY   r5   s       r&   r6   zByteStringObject.cloneù  sA   € õ ØØ×!Ò!Ý ¥ t¡¤Ñ-Ô-¨x¸ñô ñ
ô 
ð 	
r(   c                 ó   — | S )z7For compatibility with TextStringObject.original_bytes.r/   r$   s    r&   Úoriginal_byteszByteStringObject.original_bytes  s	   € ð ˆr(   NrM   rN   c                 óÌ   — |�t          dd¦  «         |                     d¦  «         |                     t          j        | ¦  «        ¦  «         |                     d¦  «         d S )Nrb   rc   ó   <ó   >)r   re   ÚbinasciiÚhexlifyrQ   s      r&   rR   z ByteStringObject.write_to_stream  sj   € ð Ð%Ý$ØAÀ7ñô ð ð 	�Š�TÑÔÐØ�Š•XÔ% dÑ+Ô+Ñ,Ô,Ð,Ø�Š�TÑÔÐÐÐr(   c                 óR   — t          ddd¦  «         |                      |¦  «         d S rl   rn   rQ   s      r&   rm   zByteStringObject.writeToStream  ro   r(   rS   rP   )r,   rT   rU   Ú__doc__r   rZ   r	   r
   r   r[   r\   r6   r¨   rY   rÜ   r   rR   rm   r/   r(   r&   rÙ   rÙ   ð  s  € € € € € ðð ð !&Ø=?ð	
ð 
àð
ð ð
ð   ¨¨s°C¨x¬Ô 9Ô:ð	
ð
 
ð
ð 
ð 
ð 
ð ð ð ð ð ñ „Xðð
 MQð	ð 	Ø ð	Ø27¸¸cÀ5Ð8HÔ2Ið	à	ð	ð 	ð 	ð 	ð%Ø ð%Ø27¸¸cÀ5Ð8HÔ2Ið%à	ð%ð %ð %ð %ð %ð %r(   rÙ   c                   óä   — e Zd ZdZ	 	 ddededeeee	e
f                           dd fd„ZdZdZedefd	„¦   «         Zdefd
„Zdefd„Z	 ddedede	ef         ddfd„Zdedede	ef         ddfd„ZdS )ÚTextStringObjectzë
    A string object that has been decoded into a real unicode string.

    If read from a PDF document, this string appeared to match the
    PDFDocEncoding, or contained a UTF-16BE BOM mark to cause UTF-16 decoding
    to occur.
    Fr/   r0   r1   r2   r!   c                 óš   — t          | ¦  «        }| j        |_        | j        |_        t          d|                      |||¦  «        ¦  «        S )r`   rå   )rå   Úautodetect_pdfdocencodingÚautodetect_utf16r   rG   )r%   r0   r1   r2   rF   s        r&   r6   zTextStringObject.clone'  sP   € õ ˜tÑ$Ô$ˆØ(,Ô(FˆÔ%Ø#Ô4ˆÔÝØ × 5Ò 5°c¸8À_Ñ UÔ Uñ
ô 
ð 	
r(   c                 ó*   — |                       ¦   «         S )a-  
        It is occasionally possible that a text string object gets created where
        a byte string object was expected due to the autodetection mechanism --
        if that occurs, this "original_bytes" property can be used to
        back-calculate what the original encoded bytes were.
        )Úget_original_bytesr$   s    r&   rÜ   zTextStringObject.original_bytes8  s   € ð ×&Ò&Ñ(Ô(Ð(r(   c                 óž   — | j         r"t          j        |                      d¦  «        z   S | j        rt          | ¦  «        S t          d¦  «        ‚)Núutf-16bez#no information about original bytes)rè   ÚcodecsÚBOM_UTF16_BEr#   rç   Úencode_pdfdocencodingr;   r$   s    r&   rê   z#TextStringObject.get_original_bytesB  sS   € ð Ô ð 	CÝÔ&¨¯ª°ZÑ)@Ô)@Ñ@Ð@ØÔ+ð 	CÝ(¨Ñ.Ô.Ð.åÐAÑBÔBÐBr(   c                 óŒ   — 	 t          | ¦  «        }n2# t          $ r% t          j        |                      d¦  «        z   }Y nw xY w|S )Nrì   )rï   ÚUnicodeEncodeErrorrí   rî   r#   )r%   Úbytearrs     r&   Úget_encoded_bytesz"TextStringObject.get_encoded_bytesO  sX   € ð	DÝ+¨DÑ1Ô1ˆGˆGøÝ!ð 	Dð 	Dð 	DÝÔ)¨D¯KªK¸
Ñ,CÔ,CÑCˆGˆGˆGð	Døøøàˆs   ‚ ’,AÁ ANrM   rN   c                 ó²  — |�t          dd¦  «         |                      ¦   «         }|                     d¦  «         |D ]ƒ}t          |¦  «                             ¦   «         s1|dk    r+|                     d|z                       ¦   «         ¦  «         ŒT|                     t          t          |¦  «        ¦  «        ¦  «         Œ„|                     d¦  «         d S )Nrb   rc   ó   (ó    z\%03oó   ))r   ró   re   ÚchrÚisalnumr#   r   )r%   rM   rN   rò   Úcs        r&   rR   z TextStringObject.write_to_streamY  sÕ   € ð Ð%Ý$ØAÀ7ñô ð ð ×(Ò(Ñ*Ô*ˆØ�Š�TÑÔÐØð 	)ð 	)ˆAÝ�q‘6”6—>’>Ñ#Ô#ð )¨¨Tª	¨	ð
 —’˜h¨™l×2Ò2Ñ4Ô4Ñ5Ô5Ð5Ð5à—’�R¥ A¡¤™ZœZÑ(Ô(Ð(Ð(Ø�Š�TÑÔÐÐÐr(   c                 óR   — t          ddd¦  «         |                      |¦  «         d S rl   rn   rQ   s      r&   rm   zTextStringObject.writeToStreamm  ro   r(   rS   rP   )r,   rT   rU   rã   r   rZ   r	   r
   r   r[   r\   r6   rç   rè   r¨   rY   rÜ   rê   ró   r   rR   rm   r/   r(   r&   rå   rå     sa  € € € € € ðð ð !&Ø=?ð	
ð 
àð
ð ð
ð   ¨¨s°C¨x¬Ô 9Ô:ð	
ð
 
ð
ð 
ð 
ð 
ð !&ÐØÐàð) ð )ð )ð )ñ „Xð)ðC Eð Cð Cð Cð Cð 5ð ð ð ð ð MQðð Ø ðØ27¸¸cÀ5Ð8HÔ2Iðà	ðð ð ð ð(%Ø ð%Ø27¸¸cÀ5Ð8HÔ2Ið%à	ð%ð %ð %ð %ð %ð %r(   rå   c                   óž  — e Zd ZU  ej        d¦  «        ZdZddddddœd	„  ed
¦  «        D ¦   «         ¥Ze	e
eef                  ed<   	 	 ddededeeeeef                           dd fd„Z	 ddededeef         ddfd„Zdededeef         ddfd„Zdefd„Zededefd„¦   «         Zedededd fd„¦   «         Zedededd fd„¦   «         ZdS ) Ú
NameObjects   \s+|[\(\)<>\[\]{}/%]ó   /s   #23s   #28s   #29s   #2Fs   #25)ú#ú(r–   ú/ú%c                 óZ   — i | ](}t          |¦  «        d |d›�                     ¦   «         “Œ)S )rÿ   Ú02X)rø   r#   )Ú.0rE   s     r&   ú
<dictcomp>zNameObject.<dictcomp>}  s4   € Ð
;Ð
;Ð
;¨A�3ˆq‰6Œ6�;�q�;�;�;×%Ò%Ñ'Ô'Ð
;Ð
;Ð
;r(   é!   Úrenumber_tableFr/   r0   r1   r2   r!   c                 óf   — t          d|                      t          | ¦  «        ||¦  «        ¦  «        S )r`   rý   )r   rG   rý   r5   s       r&   r6   zNameObject.clone€  s6   € õ ØØ×!Ò!¥*¨TÑ"2Ô"2°H¸oÑNÔNñ
ô 
ð 	
r(   NrM   rN   c                 óx   — |�t          dd¦  «         |                     |                      ¦   «         ¦  «         d S )Nrb   rc   )r   re   ÚrenumberrQ   s      r&   rR   zNameObject.write_to_streamŒ  sC   € ð Ð%Ý$ØAÀ7ñô ð ð 	�Š�T—]’]‘_”_Ñ%Ô%Ð%Ð%Ð%r(   c                 óR   — t          ddd¦  «         |                      |¦  «         d S rl   rn   rQ   s      r&   rm   zNameObject.writeToStream•  ro   r(   c                 óz  — | d                               d¦  «        }|dk    rt          d| › d�t          ¦  «         | dd …         D ]u}|dk    r4|                      d¦  «        D ]}|d|d	›�                      ¦   «         z  }ŒŒ<	 || j        |         z  }ŒN# t          $ r ||                      d¦  «        z  }Y Œrw xY w|S )
Nr   úutf-8rþ   z$Incorrect first char in NameObject:(r–   r8   ú~rÿ   r  )r#   r   r,   r  ÚKeyError)r%   Úoutrú   Úxs       r&   r  zNameObject.renumber›  sï   € Ø�1Œg�nŠn˜WÑ%Ô%ˆØ�$Š;ˆ;ÝÐIÀ$ÐIÐIÐIÍ8ÑTÔTÐTØ�a�b�b”ð 	-ð 	-ˆAØ�3ŠwˆwØŸš 'Ñ*Ô*ð 0ð 0�AØ˜;˜q˜;˜;˜;×-Ò-Ñ/Ô/Ñ/�C�Cð0ð-Ø˜4Ô.¨qÔ1Ñ1�C�CøÝð -ð -ð -Ø˜1Ÿ8š8 GÑ,Ô,Ñ,�C�C�Cð-øøøàˆ
s   ÂBÂ"B8Â7B8Úsinc                 ó  — |                       dd¦  «        }|dk    rl	 | d |…         t          | |dz   |dz   …         ¦  «        z   | |dz   d …         z   } |                       d|dz   ¦  «        }n# t          $ r |dz   }Y nw xY w|dk    °l| S )Nó   #r   r8   é   )rÓ   r   rÉ   )r  rE   s     r&   ÚunnumberzNameObject.unnumberª  s´   € à�HŠH�T˜1ÑÔˆØ�1ŠfˆfðØ˜"˜1˜"”g¥	¨#¨a°!©e°a¸!±e¨mÔ*<Ñ =Ô =Ñ=ÀÀAÈÁEÀGÀGÄÑL�Ø—H’H˜T 1 q¡5Ñ)Ô)��øÝð ð ð ð ˜‘E���ðøøøð	 �1Šfˆfð ˆ
s   žAA. Á.B Á?B r:   c                 ó^  — |                       d¦  «        }|t          j        k    rt          d¦  «        ‚|t	          | t          j        ¦  «        z  }	 t                               |¦  «        }dD ]8}	 |                     |¦  «        }t          |¦  «        c S # t          $ r Y Œ5w xY wt          d|ddd¦  «        ‚# t          t          f$ r`}|j        s@t          d|›d�t          ¦  «         t          |                     d	¦  «        ¦  «        cY d }~S t          d|›d�¦  «        |‚d }~ww xY w)
Nr8   zname read error)r  ÚgbkÚ r   zCode Not Foundz"Illegal character in Name Object (r–   Úcharmap)rh   rý   Úsurfixr   r   Údelimiter_patternr  Údecoder;   ÚUnicodeDecodeErrorrñ   Ústrictr   r,   )rM   r:   ÚnameÚencÚretr²   s         r&   rj   zNameObject.read_from_stream·  se  € à�{Š{˜1‰~Œ~ˆØ•:Ô$Ò$Ð$ÝÐ0Ñ1Ô1Ð1ØÕ  ­Ô)EÑFÔFÑFˆð	õ ×&Ò& tÑ,Ô,ˆDØ'ð ð �ðØŸ+š+ cÑ*Ô*�CÝ% c™?œ?Ð*Ð*Ð*øÝ ð ð ð Ø�Dðøøøå$ R¨¨q°!Ð5EÑFÔFÐFøÝ"Õ$6Ð7ð 	ð 	ð 	Ø”:ð ÝÐMÀDÐMÐMÐMÍxÑXÔXÐXÝ! $§+¢+¨iÑ"8Ô"8Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9å"ØB¸ÐBÐBÐBñô àðøøøøð	øøøsI   ÁB; Á2#BÂB; Â
B%Â"B; Â$B%Â%B; Â;D,ÃAD'ÄD,ÄD'Ä'D,c                 óZ   — t          ddd¦  «         t                               | |¦  «        S rs   )r   rý   rj   r§   s     r&   rt   zNameObject.readFromStreamÑ  s.   € õ 	%Ð%5Ð7IÈ7ÑSÔSÐSÝ×*Ò*¨6°3Ñ7Ô7Ð7r(   rS   rP   )r,   rT   rU   rÖ   r×   r  r  Úranger  r   r   r[   rY   rX   r   rZ   r	   r
   r   r\   r6   r   rR   rm   r  rv   r  rj   rt   r/   r(   r&   rý   rý   t  s  € € € € € € Ø"˜œ
Ð#;Ñ<Ô<ÐØ€FàØØØØð2ð 2ð <Ð
;°°°r±´Ð
;Ñ
;Ô
;ð2€N�H˜T # u *Ô-Ô.ð ð ñ ð !&Ø=?ð	

ð 

àð

ð ð

ð   ¨¨s°C¨x¬Ô 9Ô:ð	

ð
 
ð

ð 

ð 

ð 

ð MQð&ð &Ø ð&Ø27¸¸cÀ5Ð8HÔ2Ið&à	ð&ð &ð &ð &ð%Ø ð%Ø27¸¸cÀ5Ð8HÔ2Ið%à	ð%ð %ð %ð %ð˜%ð ð ð ð ð ð
�eð 
 ð 
ð 
ð 
ñ „\ð
ð ð ð °#ð ¸,ð ð ð ñ „\ðð2 ð8Øð8Ø!$ð8à	ð8ð 8ð 8ñ „\ð8ð 8ð 8r(   rý   Úunicode_stringr!   c           	      óÄ   — t          ¦   «         }| D ]N}	 |t          t          t          |         ¦  «        ¦  «        z  }Œ.# t          $ r t          d|ddd¦  «        ‚w xY w|S )NÚpdfdocencodingrÑ   z#does not exist in translation table)Ú	bytearrayr   rø   r   r  rñ   )r&  Úretvalrú   s      r&   rï   rï   Ù  s�   € Ý‰[Œ[€FØð ð ˆð	Ø•b�Õ1°!Ô4Ñ5Ô5Ñ6Ô6Ñ6ˆFˆFøÝð 	ð 	ð 	Ý$Ø  ! R¨Ð-Rñô ð ð	øøøð €Ms	   ”*?¿A)3rà   rí   rV   rÖ   r   Úmathr   Útypingr   r   r   r   r	   r
   r   r   Ú_codecsr   Ú
_protocolsr   r   Ú_utilsr   r   r   r   r   r   r   r   Úerrorsr   r   r   Ú
__author__Ú__author_email__r   r^   rx   r   r¸   r¯   r«   r\   rÇ   rY   rÙ   r[   rå   rý   rï   r/   r(   r&   ú<module>r3     s'  ðð6 €€€Ø €€€Ø €€€Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ Qà *Ð *Ð *Ð *Ð *Ð *Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð PÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ Oà€
Ø/Ð ðh"ð h"ð h"ð h"ð h"Ð!ñ h"ô h"ð h"ðV(3ð (3ð (3ð (3ð (3�ñ (3ô (3ð (3ðV;6ð ;6ð ;6ð ;6ð ;6�Iñ ;6ô ;6ð ;6ð|r<ð r<ð r<ð r<ð r<�Yñ r<ô r<ð r<ðj Ð ð5%ð 5%ð 5%ð 5%ð 5%�%˜ñ 5%ô 5%ð 5%ðp45ð 45ð 45ð 45ð 45�3˜	ñ 45ô 45ð 45ðn+%ð +%ð +%ð +%ð +%�u˜iñ +%ô +%ð +%ð\S%ð S%ð S%ð S%ð S%�s˜Iñ S%ô S%ð S%ðlb8ð b8ð b8ð b8ð b8��iñ b8ô b8ð b8ðJ	¨#ð 	°%ð 	ð 	ð 	ð 	ð 	ð 	r(   