+
    Švj÷  ã                   ó¬  € ^ RI t ^ RIt^ RIt^ RIHt ^ RIHtHt ^ RIH	t	 ^ RI
Ht ^ RIHtHtHtHtHtHt ]P&                  R8¼  d   ^ RIHt M^ RIHt ^RIHtHt ^R	IHtHt ^R
IHtHtHtH t H!t!H"t"H#t#H$t$H%t% ^RI&H't( ^RI)H*t*H+t+H,t,H-t-H.t.H/t/ ^RI0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t;H<t<H=t=H>t>H?t?H@t@ ^RIAHBtB ]'       d   ^RICHDtD  ! R R]4      tER# )é    N)ÚIterable)ÚBytesIOÚUnsupportedOperation)ÚPath)ÚTracebackType)ÚTYPE_CHECKINGÚAnyÚCallableÚOptionalÚUnionÚcast©ÚSelf)ÚPdfDocCommonÚconvert_to_int)Ú
EncryptionÚPasswordType)	ÚWHITESPACES_AS_BYTESÚStrByteTypeÚ
StreamTypeÚlogger_warningÚread_non_whitespaceÚread_previous_lineÚread_until_whitespaceÚskip_over_commentÚskip_over_whitespace)ÚTrailerKeys)ÚEmptyFileErrorÚFileNotDecryptedErrorÚLimitReachedErrorÚPdfReadErrorÚPdfStreamErrorÚWrongPasswordError)ÚArrayObjectÚContentStreamÚDecodedStreamObjectÚDestinationÚDictionaryObjectÚEncodedStreamObjectÚIndirectObjectÚ
NameObjectÚ
NullObjectÚNumberObjectÚ	PdfObjectÚStreamObjectÚTextStringObjectÚ
TreeObjectÚis_null_or_noneÚread_object)ÚXmpInformation)Ú
PageObjectc                   ó€  a a€ ] tR t^at oRtRWRR/V3R lR llltV3R lR ltV3R lR	 ltV3R
 lR ltV3R lR lt	V3R lR lt
]V3R lR l4       t]V3R lR l4       t]V3R lR l4       t]V3R lR l4       t]V3R lR l4       tV3R lR ltV3R lR ltV3R lR ltV3R  lR! ltV3R" lR# ltV3R$ lR% ltV3R& lR' ltV3R( lR) ltV3R* lR+ ltV3R, lR- ltV3R. lR/ ltV3R0 lR1 ltV3R2 lR3 ltV3R4 lR5 ltV3R6 lR7 ltV3R8 lR9 lt V3R: lR; lt!V3R< lR= lt"]#V3R> lR? l4       t$]%V3R@ lRA l4       t&]%V3RB lRC l4       t'V3RD lRE lt(V3RF lRG lt)V3RH lRI lt*V3RJ lRK lt+]V3RL lRM l4       t,V3RN lRO lt-V3RP lRQ lt.RXV3RR lRS llt/RXV3RT lV 3RU lllt0RVt1Vt2V ;t3# )YÚ	PdfReadera8  
Initialize a PdfReader object.

This operation can take some time, as the PDF stream's cross-reference
tables are read into memory.

Args:
    stream: A File object or an object that supports the standard read
        and seek methods similar to a File object. Could also be a
        string representing a path to a PDF file.
    strict: Determines whether user should be warned of all
        problems and also causes some correctable problems to be fatal.
        Defaults to ``False``.
    password: Decrypt PDF file at initialization. If the
        password is None, the file will not be decrypted.
        Defaults to ``None``.
    root_object_recovery_limit: The maximum number of objects to query
        for recovering the Root object in non-strict mode. To disable
        this security measure, pass ``None``.

Úroot_object_recovery_limiti'  c          
      ót   <€ V ^8„  d   QhRS[ S[S[3,          RS[RS[ RS[S[3,          RS[S[,          RR/# )é   ÚstreamÚstrictÚpasswordNr8   Úreturn)r   r   r   ÚboolÚstrÚbytesr   Úint)ÚformatÚ__classdict__s   "€ÚQ/var/www/html/daimler-pipeline/venv/lib/python3.14/site-packages/pypdf/_reader.pyÚ__annotate__ÚPdfReader.__annotate__x   s^   ø€ ÷ )Pñ )Pá‘k¡4Ð'Õ(ð)Pñ ð)Pñ ˜™c¡5Ð(Õ)ð	)Pñ %-©S¥Mð)Pð 
ñ)Pó    c               óØ  € W n         R V n        / V n        ^ V n        ^ V n        / V n        / V n        / V n        \        4       V n	        \        V\        4      '       d   TM\        P                  V n        R V n        R V n        V P#                  V4       \%        4       V n        RV n        R V n        V P,                  '       d   V P/                  V4       MVe   \1        R4      hR V n        R # )NFzNot an encrypted file)r<   Úflattened_pagesÚresolved_objectsÚ
_startxrefÚ
xref_indexÚxrefÚxref_free_entryÚxref_objStmr(   ÚtrailerÚ
isinstancerB   ÚsysÚmaxsizeÚ_root_object_recovery_limitÚ_page_id2numÚ_validated_rootÚ_initialize_streamÚsetÚ_known_objectsÚ_override_encryptionÚ_encryptionÚis_encryptedÚ_handle_encryptionr!   Ú_named_destinations_cache)Úselfr;   r<   r=   r8   s   &&&&$rE   Ú__init__ÚPdfReader.__init__x   sß   € ð ŒØ;?ˆÔð MOˆÔà ˆŒØˆŒØ/1ˆŒ	Ø:<ˆÔØ79ˆÔÜ'Ó)ˆŒô +5Ð5OÔQT×*UÒ*UÑ&Ô[^×[fÑ[fð 	Ô(ð
 7;ˆÔà;?ˆÔà×Ñ Ô'Ü47³EˆÔà$)ˆÔ!Ø15ˆÔØ××ÐØ×#Ñ# HÕ-ØÒ!ÜÐ6Ó7Ð7àKOˆÖ&rH   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# ©r:   r;   r>   N)r   r   r   )rC   rD   s   "€rE   rF   rG   £   s%   ø€ ÷ ñ ©©{¹DÐ/@Õ)Að Àdñ rH   c                ó‚  € \        VR 4      '       d#   RVP                  9  d   \        R\        R7       RV n        \        V\        \        34      '       d>   \        VR4      ;_uu_ 4       p\        VP                  4       4      pRRR4       RV n        V P                  V4       Wn        R#   + '       g   i     L0; i)ÚmodeÚbzQPdfReader stream/file object is not in binary mode. It may not be read correctly.©ÚsourceFÚrbNT)Úhasattrrf   r   Ú__name__Ú_stream_openedrR   r@   r   Úopenr   Úreadr;   )r`   r;   Úfhs   && rE   rX   ÚPdfReader._initialize_stream£   s‹   € Ü�6˜6×"Ò" s°&·+±+Ô'=Üð0äõð
 $ˆÔÜ�fœs¤D˜k×*Ò*Ü�f˜d×#Ô# rÜ  §¡£Ó+�÷ $à"&ˆDÔØ�	‰	�&ÔØŽ÷	 $×#ús   Á,B.Â.B>	c                óJ   <€ V ^8„  d   QhRS[ S[S[S[3,          ,          RR/# )r:   r=   r>   N)r   r   r@   rA   )rC   rD   s   "€rE   rF   rG   ²   s)   ø€ ÷ *ñ *©8±E¹#¹u¸*Õ4EÕ+Fð *È4ñ *rH   c                ó  € R V n         V P                  P                  \        P                  4      pV'       d"   V^ ,          P                  4       P                  MRp\        \        V P                  \        P                  ,          P                  4       4      p\        P                  ! WC4      V n        Ve   TMRpV P                  P                  WPP                  R7      \        P                   8X  d   Ve   \#        R4      hRV n         R# )TrH   N©r<   zWrong passwordF)r[   rQ   ÚgetÚTKÚIDÚ
get_objectÚoriginal_bytesr   r(   ÚENCRYPTr   ro   r\   Úverifyr<   r   ÚNOT_DECRYPTEDr#   )r`   r=   Úid_entryÚ	id1_entryÚencrypt_entryÚpwds   &&    rE   r^   ÚPdfReader._handle_encryption²   sÄ   € Ø$(ˆÔ!ð —<‘<×#Ñ#¤B§E¡EÓ*ˆß?G�H˜Q•K×*Ñ*Ó,×;Ò;ÈSˆ	ÜÔ-¨t¯|©|¼B¿J¹JÕ/G×/RÑ/RÓ/TÓUˆÜ%Ÿ?š?¨=ÓDˆÔð #Ò.‰h°Cˆà×Ñ×#Ñ# C·±Ð#Ó<Ä×@ZÑ@ZÔZØÒ$ô %Ð%5Ó6Ð6Ø$)ˆÖ!rH   c                ó    <€ V ^8„  d   QhRS[ /# ©r:   r>   r   )rC   rD   s   "€rE   rF   rG   Æ   s   ø€ ÷ ñ ™4ñ rH   c                ó   € V # ©N© ©r`   s   &rE   Ú	__enter__ÚPdfReader.__enter__Æ   s   € ØˆrH   c                óp   <€ V ^8„  d   QhRS[ S[S[,          ,          RS[ S[,          RS[ S[,          RR/# )r:   Úexc_typeÚexc_valÚexc_tbr>   N)r   ÚtypeÚBaseExceptionr   )rC   rD   s   "€rE   rF   rG   É   sG   ø€ ÷ ñ á™4¡Õ.Õ/ðñ ™-Õ(ðñ ™Õ'ð	ð
 
ñrH   c                ó&   € V P                  4        R # r…   )Úclose)r`   r‹   rŒ   r�   s   &&&&rE   Ú__exit__ÚPdfReader.__exit__É   s   € ð 	�
‰
ŽrH   c                ó   <€ V ^8„  d   QhRR/# )r:   r>   Nr†   )rC   rD   s   "€rE   rF   rG   Ñ   s   ø€ ÷ 	ñ 	�tñ 	rH   c                óÂ   € V P                   '       d   V P                  P                  4        . V n        / V n        \        4       V n        / V n        / V n        / V n	        R# )z8Close the stream if opened in __init__ and clear memory.N)
rm   r;   r‘   rJ   rK   r(   rQ   rN   rO   rP   r‡   s   &rE   r‘   ÚPdfReader.closeÑ   sO   € à××ÐØ�K‰K×ÑÔØ!ˆÔØ "ˆÔÜ'Ó)ˆŒØˆŒ	Ø!ˆÔØˆÖrH   c                ó    <€ V ^8„  d   QhRS[ /# rƒ   ©r(   )rC   rD   s   "€rE   rF   rG   Ý   s   ø€ ÷ .$ñ .$Ñ-ñ .$rH   c                ób  € V P                   '       d   V P                   # V P                  P                  \        P                  4      p\        V4      '       d   \        R\        R7       Mƒ\        \        \        \        V4      P                  4       4      P                  R4      R8X  d3   \        \        \        \        V4      P                  4       4      V n         M\        R\        R7       V P                   fÔ   \        R\        R7       \        \        V P                  P                  R^ 4      4      p\        V4       F‰  pW0P                  8¼  d   \        R	4      h V P                  V^,           4      p\#        V\        4      '       g   KO  VP                  R4      R8X  g   Kg  W@n         \        R
\        VP$                  R7        M	  V P                   fµ   \        V4      '       g™   R\        \        \        \        V4      P                  4       4      9   dh   \        R\        \        \        V4      P$                  R7       \        \        \        \        V4      P                  4       4      V n         V P                   # \'        R4      hV P                   #   \          d    Rp EL4i ; i)z7Provide access to "/Root". Standardized with PdfWriter.z"Cannot find "/Root" key in trailerrh   ú/Typez/CatalogzInvalid Root object in trailerNz$Searching object with "/Catalog" keyú/Sizez+Maximum Root object recovery limit reached.zRoot found at %(obj_reference)r)ri   Úobj_referencez/Pagesz=Possible root found at %(root_ref)r, but missing /Catalog key)ri   Úroot_refzCannot find Root object in pdf)rW   rQ   ru   rv   ÚROOTr2   r   rl   r   r(   r.   rx   rB   ÚrangerU   r    Ú	ExceptionrR   Úindirect_referencer!   )r`   ÚrootÚnumber_of_objectsÚiÚobjs   &    rE   Úroot_objectÚPdfReader.root_objectÜ   s  € ð ××ÐØ×'Ñ'Ð'Ø�|‰|×Ñ¤§¡Ó(ˆÜ˜4× Ò ÜÐ?ÌÖQäÔ!¤4¬	°4Ó#8×#CÑ#CÓ#EÓF×JÑJÈ7ÓSØôô $(Ü ¤$¤y°$Ó"7×"BÑ"BÓ"Dó$ˆDÕ ô Ð;ÄHÕMØ×ÑÒ'ÜÐAÌ(ÕSÜ $¤S¨$¯,©,×*:Ñ*:¸7ÀAÓ*FÓ GÐÜÐ,Ö-�Ø×8Ñ8Ô8Ü+Ð,YÓZÐZðØŸ/™/¨!¨a­%Ó0�Cô ˜cÔ#3×4Ô4¸¿¹ÀÓ9IÈZÖ9WØ+.Ô(Ü"Ø9Ü'Ø&)×&<Ñ&<õñ
 ñ .ð ×ÑÒ'Ü" 4×(Ò(¨X¼Ô>NÔPTÔU^Ð`dÓPe×PpÑPpÓPrÓ9sÔ-sÜØSÜ#Ü!¤)¨TÓ2×EÑEõô
 (,Ü$¤d¬9°dÓ&;×&FÑ&FÓ&Hó(�Ô$ð
 ×#Ñ#Ð#ô #Ð#CÓDÐDØ×#Ñ#Ð#øô- !ô Ø“Cðús   Å!JÊJ.Ê-J.c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rƒ   )r   r(   )rC   rD   s   "€rE   rF   rG     s   ø€ ÷ ñ ‘xÑ 0Õ1ñ rH   c                óø   € V P                   P                  \        P                  R4      p\	        V4      '       d   R# Vf   Q R4       hVP                  4       p\        V\        4      '       g   \        R4      hV# )z{
Provide access to "/Info". Standardized with PdfWriter.

Returns:
    /Info Dictionary; None if the entry does not exist

NÚmypyzHTrailer not found or does not point to a document information dictionary)	rQ   ru   rv   ÚINFOr2   rx   rR   r(   r!   )r`   Úinfos   & rE   Ú_infoÚPdfReader._info  sn   € ð �|‰|×Ñ¤§¡¨Ó.ˆÜ˜4× Ò ÙØÒÐ' Ó'ÐØ�‰Ó ˆÜ˜$Ô 0×1Ò1ÜØZóð ð ˆrH   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rƒ   )r   r$   )rC   rD   s   "€rE   rF   rG   "  s   ø€ ÷ 2ñ 2‘X™kÕ*ñ 2rH   c                óÎ   € V P                   P                  \        P                  R4      p\	        V4      '       d   R# Vf   Q R4       h\        \        VP                  4       4      # )zr
Provide access to "/ID". Standardized with PdfWriter.

Returns:
    /ID array; None if the entry does not exist

Nrª   )rQ   ru   rv   rw   r2   r   r$   rx   )r`   Úids   & rE   Ú_IDÚPdfReader._ID!  sN   € ð �\‰\×ÑœbŸe™e TÓ*ˆÜ˜2×ÒÙØŠ~Ð%˜vÓ%ˆ~Ü”K §¡£Ó1Ð1rH   c                ó    <€ V ^8„  d   QhRS[ /# rƒ   )r@   )rC   rD   s   "€rE   rF   rG   1  s   ø€ ÷  ñ  ™Cñ  rH   c                ó   € V P                   P                  4       pV P                   P                  ^ ^ 4       V P                   P                  ^4      P	                  RR4      pV P                   P                  V^ 4       V# )z§
The first 8 bytes of the file.

This is typically something like ``'%PDF-1.6'`` and can be used to
detect if the file is actually a PDF file and which version it is.
zutf-8Úbackslashreplace)r;   ÚtellÚseekro   Údecode)r`   ÚlocÚpdf_file_versions   &  rE   Ú
pdf_headerÚPdfReader.pdf_header0  sg   € ð �k‰k×ÑÓ ˆØ�‰×Ñ˜˜AÔØŸ;™;×+Ñ+¨AÓ.×5Ñ5°gÐ?QÓRÐØ�‰×Ñ˜˜aÔ ØÐrH   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rƒ   )r   r4   )rC   rD   s   "€rE   rF   rG   A  s   ø€ ÷ .ñ .™h¡~Õ6ñ .rH   c                ó€   €  RV n         \        \        V P                  P                  4      RV n         #   RT n         i ; i)z(XMP (Extensible Metadata Platform) data.TF)r[   r   r4   r¦   Úxmp_metadatar‡   s   &rE   rÀ   ÚPdfReader.xmp_metadata@  s6   € ð	.Ø(,ˆDÔ%Üœ¨×(8Ñ(8×(EÑ(EÓFà(-ˆDÕ%ø¨ˆDÕ%ús   ‚*4 ´	=c                óR   <€ V ^8„  d   QhRS[ RS[S[S[3,          RS[S[,          /# )r:   r¡   Nr>   )r   rB   r,   r*   r   )rC   rD   s   "€rE   rF   rG   I  s/   ø€ ÷ 2ñ 2Ù"'¨©c±:¹~Ð(MÕ"Nð2á	‘#�ñ2rH   c                óÈ  € V P                   fD   \        V P                  4       UUu/ uF  w  r#VP                  P                  VbK  	  uppV n         \        V4      '       d   R# \        V\        \        34      '       g   Q R4       h\        V\        4      '       d   TpMVP                  pV P                   f   Q R4       hV P                   P                  VR4      # u uppi )z›
Retrieve the page number from an indirect reference.

Args:
    indirect_reference: The indirect reference to locate.

Returns:
    Page number or None.

Nrª   zhint for mypy)
rV   Ú	enumerateÚpagesr¡   Úidnumr2   rR   rB   r*   ru   )r`   r¡   r¤   ÚxrÆ   s   &&   rE   Ú_get_page_number_by_indirectÚ&PdfReader._get_page_number_by_indirectI  sË   € ð ×ÑÒ$ä:CÀDÇJÁJÔ:Oô!Ù:O±$°!�×$Ñ$×*Ñ*¨AÒ-Ñ:Oò!ˆDÔô Ð-×.Ò.ÙÜÐ,¬s´NÐ.C×DÒDÐLÀfÓLÐDÜÐ(¬#×.Ò.Ø&‰Eà&×,Ñ,ˆEØ× Ñ Ò,Ð=¨oÓ=Ð,Ø× Ñ ×$Ñ$ U¨DÓ1Ð1ùó!s   §"Cc                ó@   <€ V ^8„  d   QhRS[ RS[S[S[S[3,          /# ©r:   r¡   r>   )r*   r   rB   r.   r@   )rC   rD   s   "€rE   rF   rG   e  s-   ø€ ÷ añ aÙ"0ðaá	‰s‘I™sÐ"Õ	#ñarH   c           
     óN  € V P                   VP                  ,          w  r#\        V^ V 4      P                  4       p\	        \
        VR,          4      R8X  g   Q h\        VP                  4       4      p\        VR,          4      p\        VR,          4      pVP                  4       P                  ^,          pVP                  ^ 4       Wh8”  d>   V P                  '       d   \        RV RV RV R24      h\        R	\        VVVR
7       Tp. p	\!        V4       F«  p
\#        V4       VP                  R^4       \$        P&                  ! V4      p\#        V4       VP                  R^4       \$        P&                  ! V4      p\#        V4       VP                  R^4       V	P)                  \        V4      \        V4      34       K­  	  \+        4       pRp\-        V	4       FÈ  w  pw  ppV P/                  ^ V4      pVe   VVP                  8X  d   TpRpK6  VP                  VV,           ^ 4       \#        V4       VP                  R^4        \1        WP4      pV P                   P7                  VR4      w  ppVV8X  d   V P9                  ^ VV4       VVP                  8X  g   KÄ  TpRpKÊ  	  V'       g   V P                  '       d   \5        R4      hV#   \2         dI   p\        R\        TTTR7       T P                  '       d   \5        RT 24      h\+        4       p Rp?LÉRp?ii ; i)r   rš   ú/ObjStmú/Nz/Firstz	Value /N z for object z exceeds maximum allowed value Ú.zdValue /N %(n)d for object %(stmnum)d exceeds maximum allowed value %(max_n)d. Limiting to %(max_n)d.)ri   ÚnÚstmnumÚmax_nFNTzEInvalid stream (index %(index)d) within object %(obj_num)d 0: %(exc)s)ri   ÚindexÚobj_numÚexczCannot read object stream: z%This is a fatal error in strict mode.éÿÿÿÿ©NN)rP   rÆ   r*   rx   r   r@   r   Úget_datarB   Ú	getbufferÚnbytesr¸   r<   r    r   rl   rŸ   r   r-   Úread_from_streamÚappendr,   rÄ   Úcache_get_indirect_objectr3   r"   r!   ru   Úcache_indirect_object)r`   r¡   rÑ   Ú_idxÚobj_stmÚstream_datarÐ   Úfirst_offsetrÒ   Ú	obj_indexÚ_iÚobjnumÚoffsetÚ
target_objÚfoundr¤   rÔ   Ú
obj_offsetÚcachedr¥   rÕ   Úauthoritative_stms   &&                    rE   Ú_get_object_from_streamÚ!PdfReader._get_object_from_streame  sú  € ð
 ×'Ñ'Ð(:×(@Ñ(@ÕA‰ˆÜ'5°f¸aÀÓ'F×'QÑ'QÓ'Sˆä”C˜ Õ)Ó*¨iÔ7Ð7Ð7ô ˜g×.Ñ.Ó0Ó1ˆÜ�˜•ÓˆÜ˜7 8Õ,Ó-ˆð
 ×%Ñ%Ó'×.Ñ.°!Õ3ˆØ×Ñ˜ÔØŒ9Ø�{�{ˆ{Ü'¨)°A°3°lÀ6À(ÐJiÐjoÐipÐpqÐ(rÓsÐsÜØvÜØØØõð ˆAð ,.ˆ	Ü˜–(ˆBÜ Ô,Ø×Ñ˜R Ô#Ü!×2Ò2°;Ó?ˆFÜ Ô,Ø×Ñ˜R Ô#Ü!×2Ò2°;Ó?ˆFÜ Ô,Ø×Ñ˜R Ô#Ø×Ñœc &›k¬3¨v«;Ð7Ö8ñ ô 2<³ˆ
ØˆÜ(1°)Ö(<Ñ$ˆAÑ$�˜à×3Ñ3°A°wÓ?ˆFØÒ!ØÐ0×6Ñ6Ô6Ø!'�JØ �EÙà×Ñ˜\¨JÕ6¸Ô:ô   Ô,Ø×Ñ˜R Ô#ð#Ü! +Ó4�ð( '+×&6Ñ&6×&:Ñ&:¸7ÀLÓ&QÑ#Ð˜tØ  FÔ*Ø×*Ñ*¨1¨g°sÔ;àÐ,×2Ñ2Ö2Ø �
Ø’ñU )=÷X ˜ŸŸ˜ÜØ7óð ð Ðøô? "ô #ô Ø[Ü#ØØ#Øõð —;—;�;Ü&Ø5°c°UÐ;óð ô !“l•ûð#ús   ÉKËL$Ë>LÌL$c                óL   <€ V ^8„  d   QhRS[ S[S[3,          RS[S[,          /# rË   )r   rB   r*   r   r.   )rC   rD   s   "€rE   rF   rG   È  s0   ø€ ÷ \ñ \Ù"'©©^Ð(;Õ"<ð\á	‘)Õ	ñ\rH   c                óD  € \        V\        4      '       d   \        V^ V 4      pV P                  VP                  VP
                  4      pVe   V# VP                  ^ 8X  d/   VP
                  V P                  9   d   V P                  V4      pEMþVP                  V P                  9   Ed   VP
                  V P                  VP                  ,          9   EdÕ   V P                  P                  VP                  / 4      P                  VP
                  R4      '       d   \        4       # V P                  VP                  ,          VP
                  ,          pV P                  P                  V^ 4        V P                  V P                  4      w  rEWAP
                  8w  g   WQP                  8w  d   \        R4      h WAP
                  8w  dR   V P8                  '       d@   V P:                  '       d-   \        R	VP
                   R
VP                   RV R
V R2	4      hMNWAP
                  8w  d?   V P:                  '       d-   \        R	VP
                   R
VP                   RV R
V R2	4      hV P:                  '       d   WQP                  8X  g   Q hVP
                  VP                  3p	W�P<                  9   d   \?        RV: R24      hV P<                  PA                  V	4       \C        V P                  V 4      pV P<                  PE                  V	4       V PF                  '       g†   V PH                  ex   V PH                  PK                  4       '       g   \M        R4      h\O        \P        V4      pV PH                  PS                  W!P
                  VP                  V P:                  R7      pEMá\#        V P                  R4      '       d%   \%        V P                  P'                  4       4      pMmV P                  P)                  4       pV P                  P                  ^ ^ 4       V P                  P+                  R4      pV P                  P                  V^ 4       \,        P.                  ! RVP
                   RVP                   R2P1                  4       V4      pVEe¬   \3        R\4        VP
                  VP                  R7       VP                  V P                  9  d   / V P                  VP                  &   VP7                  ^ 4      ^,           V P                  VP                  ,          VP
                  &   V P                  P                  VPU                  ^ 4      ^,           4       \W        V P                  4       V P                  P                  R^4       \C        V P                  V 4      pV PF                  '       g†   V PH                  ex   V PH                  PK                  4       '       g   \M        R4      h\O        \P        V4      pV PH                  PS                  W!P
                  VP                  V P:                  R7      pMD\3        R\4        VP
                  VP                  R7       V P:                  '       d   \        R4      hVP                  ^ 8X  d   VP
                  V P                  9   g(   V PY                  VP                  VP
                  V4       V#   \          Ed²    \#        T P                  R4      '       d%   \%        T P                  P'                  4       4      pMmT P                  P)                  4       pT P                  P                  ^ ^ 4       T P                  P+                  R4      pT P                  P                  T^ 4       \,        P.                  ! RTP
                   RTP                   R2P1                  4       T4      pTe¹   \3        R\4        TP
                  TP                  R7       TP7                  ^ 4      ^,           T P                  TP                  ,          TP
                  &   T P                  P                  TP7                  ^ 4      ^,           4       T P                  T P                  4      w  rE ELÛRpRp ELâi ; i)r   Fz&Not matching, we parse the file for itrÙ   z\sz\s+z\s+objz/Object ID %(idnum)d,%(generation)d ref repaired©ri   rÆ   Ú
generationzExpected object ID (Ú z) does not match actual (z); xref table not zero-indexed.z).z&Detected loop with self reference for rÏ   zFile has not been decryptedrt   z%Object %(idnum)d %(generation)d foundz,Object %(idnum)d %(generation)d not defined.zCould not find object.rÖ   )-rR   rB   r*   rÝ   rñ   rÆ   rP   rì   rN   rO   ru   r,   r;   r¸   Úread_object_headerr!   r    rk   rA   rÙ   r·   ro   ÚreÚsearchÚencoder   rl   ÚstartrM   r<   rZ   r    Úaddr3   Úremover[   r\   Úis_decryptedr   r   r.   Údecrypt_objectÚendr   rÞ   )
r`   r¡   Úretvalr÷   rÆ   rñ   ÚbufÚpÚmÚcurrent_objects
   &&        rE   rx   ÚPdfReader.get_objectÈ  s(  € ô Ð(¬#×.Ò.Ü!/Ð0BÀAÀtÓ!LÐØ×/Ñ/Ø×)Ñ)Ð+=×+CÑ+Có
ˆð ÒØˆMà×)Ñ)¨QÔ.Ø"×(Ñ(¨D×,<Ñ,<Ô<à×1Ñ1Ð2DÓEŠFà×)Ñ)¨T¯Y©YÕ6Ø"×(Ñ(¨D¯I©IÐ6H×6SÑ6SÕ,TÕTà×#Ñ#×'Ñ'Ð(:×(EÑ(EÀrÓJ×NÑNØ"×(Ñ(¨%÷ò ô "“|Ð#Ø—I‘IÐ0×;Ñ;Õ<Ð=O×=UÑ=UÕVˆEØ�K‰K×Ñ˜U AÔ&ð!$Ø$(×$;Ñ$;¸D¿K¹KÓ$HÑ!�à×5Ñ5Ô5Ø!×%BÑ%BÔBä&Ð'OÓPÐPð Cð< ×0Ñ0Ô0°T·_·_°_à—;—;�;Ü&Ø.Ð/A×/GÑ/GÐ.HÈÐJ\×JgÑJgÐIhð i2Ø27°¸¸*¸ð F7ð7óð ð ð ×2Ñ2Ô2°t·{·{°{ä"Ø*Ð+=×+CÑ+CÐ*DÀAÐFX×FcÑFcÐEdð e.Ø.3¨W°A°j°\ÀðEóð ð �{�{ˆ{Ø!×%BÑ%BÔBÐBÐBà0×6Ñ6Ð8J×8UÑ8UÐVˆNØ×!4Ñ!4Ô4Ü'Ð*PÐQcÑPfÐfgÐ(hÓiÐiØ×Ñ×#Ñ# NÔ3Ü  §¡¨dÓ3ˆFØ×Ñ×&Ñ& ~Ô6ð ×,×,Ð,°×1AÑ1AÒ1Mà×'Ñ'×4Ñ4×6Ò6Ü/Ð0MÓNÐNäœi¨Ó0�Ø×)Ñ)×8Ñ8Ø×4Ñ4Ð6H×6SÑ6SØŸ;™;ð 9ó �ùô
 �t—{‘{ K×0Ò0Ü˜DŸK™K×1Ñ1Ó3Ó4‘à—K‘K×$Ñ$Ó&�Ø—‘× Ñ   AÔ&Ø—k‘k×&Ñ& rÓ*�Ø—‘× Ñ   AÔ&Ü—	’	ØÐ(×.Ñ.Ð/¨sÐ3E×3PÑ3PÐ2QÐQWÐX×_Ñ_ÓaØóˆAð ‹}ÜØ;Ü#Ø,×2Ñ2Ø1×<Ñ<õ	ð &×0Ñ0¸¿	¹	ÔAØ?A�D—I‘IÐ0×;Ñ;Ñ<à—G‘G˜A“J •Nð —	‘	Ð,×7Ñ7Õ8Ð9K×9QÑ9QÑRð —‘× Ñ  §¡ q£¨A¥Ô.Ü$ T§[¡[Ô1Ø—‘× Ñ   QÔ'Ü$ T§[¡[°$Ó7�ð ×0×0Ð0°T×5EÑ5EÒ5Qà×+Ñ+×8Ñ8×:Ò:Ü3Ð4QÓRÐRä!¤)¨VÓ4�FØ!×-Ñ-×<Ñ<Ø× 8Ñ 8Ð:L×:WÑ:WØ#Ÿ{™{ð =ó �Føô
 ØBÜ#Ø,×2Ñ2Ø1×<Ñ<õ	ð —;—;�;Ü&Ð'?Ó@Ð@ð ×)Ñ)¨QÔ.Ø"×(Ñ(¨D×,<Ñ,<Ô<à×&Ñ&Ø"×-Ñ-Ð/A×/GÑ/GÈôð ˆøôy õ $Ü˜4Ÿ;™;¨×4Ò4Ü §¡× 5Ñ 5Ó 7Ó8‘CàŸ™×(Ñ(Ó*�AØ—K‘K×$Ñ$ Q¨Ô*ØŸ+™+×*Ñ*¨2Ó.�CØ—K‘K×$Ñ$ Q¨Ô*Ü—I’IØÐ,×2Ñ2Ð3°3Ð7I×7TÑ7TÐ6UÐU[Ð\×cÑcÓeØó�ð ’=Ü"ØIÜ'Ø0×6Ñ6Ø#5×#@Ñ#@õ	ð Ÿ™ › a�ð —I‘IÐ0×;Ñ;Õ<Ø*×0Ñ0ñð —K‘K×$Ñ$ Q§W¡W¨Q£Z°!¥^Ô4Ø(,×(?Ñ(?ÀÇÁÓ(LÑ%�Eš:à�EØ!#“Jð5$ús   Å3A[" Û"F2bâbâbc                ó<   <€ V ^8„  d   QhRS[ RS[S[S[3,          /# ©r:   r;   r>   )r   ÚtuplerB   )rC   rD   s   "€rE   rF   rG   f  s#   ø€ ÷ +ñ +©ð +¹¹cÁ3¸h½ñ +rH   c                óð  € \        V4       \        V4      pVP                  R^4       \        V4      pV\        V4      ,          pVP                  R^4       \        V4      pV\        V4      ,          pVP                  R^4       VP	                  ^4      p\        V4       VP                  R^4       V'       d&   V P                  '       d   \        R\        VVR7       \        V4      \        V4      3# )é   zFSuperfluous whitespace found in object header %(idnum)r %(generation)rrð   rÖ   )
r   r   r¸   r   ro   r   r<   r   rl   rB   )r`   r;   ÚextrarÆ   rñ   Ú_objs   &&    rE   ró   ÚPdfReader.read_object_headerf  sÍ   € ô
 	˜&Ô!Ü$ VÓ,ˆØ�‰�B˜ÔÜ% fÓ-ˆØÔ% fÓ-Õ-ˆØ�‰�B˜ÔÜ*¨6Ó2ˆ
ØÔ% fÓ-Õ-ˆØ�‰�B˜Ôð �{‰{˜1‹~ˆä˜FÔ#Ø�‰�B˜Ôß�T—[—[�[ÜØXÜØØ%õ	ô �5‹zœ3˜z›?Ð*Ð*rH   c                ó<   <€ V ^8„  d   QhRS[ RS[ RS[S[,          /# )r:   rñ   rÆ   r>   ©rB   r   r.   )rC   rD   s   "€rE   rF   rG   ƒ  s/   ø€ ÷ Cñ CÙðCÙ&)ðCá	‘)Õ	ñCrH   c                óp   €  V P                   P                  W34      #   \         d    \        R 4      hi ; i)z Maximum recursion depth reached.)rK   ru   ÚRecursionErrorr!   )r`   rñ   rÆ   s   &&&rE   rÝ   Ú#PdfReader.cache_get_indirect_objectƒ  s?   € ð	CØ×(Ñ(×,Ñ,¨jÐ-@ÓAÐAøÜô 	CÜÐAÓBÐBð	Cús   ‚ ž5c          	      óR   <€ V ^8„  d   QhRS[ RS[ RS[S[,          RS[S[,          /# )r:   rñ   rÆ   r¥   r>   r  )rC   rD   s   "€rE   rF   rG   ‹  s7   ø€ ÷ ñ ÙðÙ&)ðÙ08¹Õ0Cðá	‘)Õ	ñrH   c                óì   € W3V P                   9   d>   R pRVRV/pV P                  '       d   \        WE,          4      h\        V3R\        /VB  W0P                   W3&   Ve   \        W!V 4      Vn        V# )z.Overwriting cache for %(generation)d %(idnum)drñ   rÆ   ri   )rK   r<   r!   r   rl   r*   r¡   )r`   rñ   rÆ   r¥   ÚmsgÚvaluess   &&&&  rE   rÞ   ÚPdfReader.cache_indirect_object‹  sz   € ð Ð $×"7Ñ"7Ô7ØBˆCØ" J°¸Ð?ˆFØ�{�{ˆ{Ü" 3¥<Ó0Ð0Ü˜3Ñ:¤xÐ:°6Ò:Ø58×Ñ˜zÐ1Ñ2ØŠ?Ü%3°EÀtÓ%LˆCÔ"Øˆ
rH   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )r:   r¡   r¥   r>   )r*   r.   )rC   rD   s   "€rE   rF   rG   ™  s#   ø€ ÷ ñ ±.ð Áyð ÑU^ñ rH   c                óö   € VP                   V 8w  d   \        R 4      hVP                  VP                  3V P                  9  d   \        R4      hW P                  VP                  VP                  3&   Wn        V# )z,Cannot update PdfReader with external objectzCannot find referenced object)ÚpdfÚ
ValueErrorrñ   rÆ   rK   r¡   )r`   r¡   r¥   s   &&&rE   Ú_replace_objectÚPdfReader._replace_object™  st   € à×!Ñ! TÔ)ÜÐKÓLÐLØ×)Ñ)Ð+=×+CÑ+CÐDÈD×LaÑLaÔaÜÐ<Ó=Ð=Ø[^×ÑÐ1×<Ñ<Ð>P×>VÑ>VÐWÑXØ!3ÔØˆ
rH   c                ó$   <€ V ^8„  d   QhRS[ RR/# rd   ©r   )rC   rD   s   "€rE   rF   rG   £  s   ø€ ÷ G ñ G ™:ð G ¨$ñ G rH   c                ót  € V P                  V4       V P                  V4       V P                  V4      pW n        V P	                  W4      pV^ 8w  d8   V P
                  '       d   V'       d   \        R4      h\        R\        VR7       V P                  WV4       V P                  '       Ed
   V P
                  '       gø   VP                  4       pV P                  P                  4        F·  w  rVVR8X  d   K  \        VP                  4       4      pV FŠ  pVP!                  Wh,          ^ 4        V P#                  V4      w  ršY˜T P                  ,
          8X  g   KH  T P                  T,          T,          T P                  T,          T	&   T P                  T,          T KŒ  	  K¹  	  VP!                  V^ 4       V P
                  '       g�   VP                  4       pV P                  P                  4        FZ  w  rVVR8X  d   K  \)        VP                  4       4      pV F-  pVP!                  Wh,          ^ 4        V P#                  V4       K/  	  K\  	  VP!                  V^ 4       R# R#   \$         d    T P'                  T4         EKž  i ; i  \$         d!    \        R\        TTYh,          R7       Yh  Kš  i ; i)zf
Read and process the PDF stream, extracting necessary data.

Args:
    stream: The PDF file stream.

zBroken xref tablez.incorrect startxref pointer(%(xref_issue_nr)d))ri   Úxref_issue_nréÿÿ  zAIgnoring wrong pointing object %(id)d %(gen)d (offset %(offset)d))ri   r±   Úgenræ   N)Ú_basic_validationÚ_find_eof_markerÚ_find_startxref_posrL   Ú_get_xref_issuesr<   r!   r   rl   Ú_read_xref_tables_and_trailersrM   r·   rN   ÚitemsÚsortedÚkeysr¸   ró   r  Ú_rebuild_xref_tableÚlist)r`   r;   Ú	startxrefr  rº   r   Ú
xref_entryÚxref_kr±   ÚpidÚ_pgenÚidss   &&          rE   ro   ÚPdfReader.read£  s;  € ð 	×Ñ˜vÔ&Ø×Ñ˜fÔ%Ø×,Ñ,¨VÓ4ˆ	Ø#Œð ×-Ñ-¨fÓ@ˆØ˜AÔØ�{�{ˆ{Ÿ}Ü"Ð#6Ó7Ð7ÜØ@ÜØ+õð 	×+Ñ+¨F¸}ÔMð �?�?‰? 4§;§; ;Ø—+‘+“-ˆCØ#'§9¡9§?¡?Ö#4‘�Ø˜%”<ÙÜØ—O‘OÓ%ó�ó !�BØ—K‘K 
¥°Ô2ðØ%)×%<Ñ%<¸VÓ%D™
˜ð  4§?¡?Õ2Ö2à.2¯i©i¸­n¸RÕ.@˜Ÿ	™	 #� sÑ+Ø ŸI™I c�N¨2Ò.ó !ñ $5ð& �K‰K˜˜QÔð �{�{ˆ{Ø—+‘+“-ˆCØ#'§9¡9§?¡?Ö#4‘�Ø˜%”<ÙÜ˜:Ÿ?™?Ó,Ó-�Û�BØ—K‘K 
¥°Ô2ð
+Ø×/Ñ/°Ö7ó ñ	 $5ð" �K‰K˜˜QÖñ' øô &ô Ø×0Ñ0°Ô8Üðûô, &ô +Ü&Ø_Ü#+Ø!Ø #Ø#-¥>õð '›Nð+ús$   Ä/I'È8JÉ'J	ÊJ	Ê'J7Ê6J7c                ó$   <€ V ^8„  d   QhRS[ RR/# rd   r  )rC   rD   s   "€rE   rF   rG   ì  s   ø€ ÷ $ñ $©
ð $°tñ $rH   c                ó”  € VP                  ^ \        P                  4        VP                  ^4      pTR8X  d   \        R4      hTR8w  dC   T P                  '       d   \        RTP                  R4       R24      h\        R\        TR	7       TP                  ^ \        P                  4       R
#   \         d    \        R4      hi ; i)z)Ensure the stream is valid and not empty.zcannot read headerrH   zCannot read an empty files   %PDF-zPDF starts with 'Úutf8z', but '%PDF-' expectedz#invalid pdf header: %(header_byte)r)ri   Úheader_byteN)r¸   ÚosÚSEEK_SETro   ÚUnicodeDecodeErrorr   r   r<   r!   r¹   r   rl   ÚSEEK_END)r`   r;   r5  s   && rE   r!  ÚPdfReader._basic_validationì  s·   € à�‰�A”r—{‘{Ô#ð	=Ø Ÿ+™+ a›.ˆKð ˜#ÔÜ Ð!<Ó=Ð=Ø˜(Ô"Ø�{�{ˆ{Ü"Ø'¨×(:Ñ(:¸6Ó(BÐ'Cð D+ð +óð ô Ð@ÌÐ_jÕkØ�‰�A”r—{‘{Ö#øô "ô 	=Ü&Ð';Ó<Ð<ð	=ús   ¢B0 Â0Cc                ó$   <€ V ^8„  d   QhRS[ RR/# rd   r  )rC   rD   s   "€rE   rF   rG   þ  s   ø€ ÷ .ñ .¡zð .°dñ .rH   c                óÚ  a€ ^pRoRpSP                  R4      '       gÍ   SR8w  d^   V'       dV   \        ;QJ d    V3R lR 4       F  '       g   K   RM	  RM! V3R lR 4       4      '       d   \        R\        R7       R# RpRS9   d   \        R	\        R7       VP	                  4       V8  d/   V P
                  '       d   \        R
4      h\        R
\        R7       \        V4      oKã  R# )zÙ
Jump to the %%EOF marker.

According to the specs, the %%EOF marker should be at the very end of
the file. Hence for standard-compliant PDF documents this function will
read only the last part (DEFAULT_BUFFER_SIZE).
rH   Ts   %%EOFc              3   ób   <"  € T F$  pSP                  4       P                  V4      x € K&  	  R # 5ir…   )ÚstripÚendswith)Ú.0ÚtrÚlines   & €rE   Ú	<genexpr>Ú-PdfReader._find_eof_marker.<locals>.<genexpr>  s)   øé € ð Ù8V°"�D—J‘J“L×)Ñ)¨"×-Ð-Ó8Vùs   ƒ,/FzEOF marker seems truncatedrh   ó	   startxrefzpCAUTION: startxref found while searching for %%EOF. The file might be truncated and some data might not be read.zEOF marker not foundN)s   %%EOs   %%Es   %%ó   %)Ú
startswithÚanyr   rl   r·   r<   r!   r   )r`   r;   ÚHEADER_SIZEÚfirstrB  s   &&  @rE   r"  ÚPdfReader._find_eof_markerþ  sÈ   ø€ ð ˆØˆØˆØ—/‘/ (×+Ò+Ø�sŒ{Ÿuß“3ô Ù8Vó—3—3’3ô Ù8Vó÷ ò ô
 #Ð#?ÌÕQÙØ�Ø˜tÔ#ÜðSä#õð
 �{‰{‹}˜{Ô*Ø—;—;�;Ü&Ð'=Ó>Ð>ÜÐ5¼hÕGÜ% fÓ-ŠDñ) ,rH   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r  ©r   rB   )rC   rD   s   "€rE   rF   rG     s   ø€ ÷ ñ ©*ð ¹ñ rH   c                óZ  € \        V4      p \        V4      p\        V4      pVP                  R4      '       g   \        R4      h V#   \         dX    TP                  R4      '       g   \        R4      h\        TR,          P                  4       4      p\        R\        R7        T# i ; i)zk
Find startxref entry - the location of the xref table.

Args:
    stream:

Returns:
    The bytes offset

rE  zstartxref not found:é	   NNz startxref on same line as offsetrh   )r   rB   rG  r!   r  r>  r   rl   )r`   r;   rB  r+  s   &&  rE   r#  ÚPdfReader._find_startxref_pos  s¤   € ô " &Ó)ˆð	:Ü˜D›	ˆIô & fÓ-ˆDØ—?‘? <×0Ò0Ü"Ð#8Ó9Ð9ð 1àÐøô ô 	Pà—?‘? <×0Ò0Ü"Ð#8Ó9Ð9Ü˜D �HŸN™NÓ,Ó-ˆIÜÐ=ÄhÖOð
 Ðð	Pús   �A Á!B*Á*<B*Â)B*c                ó$   <€ V ^8„  d   QhRS[ RR/# rd   r  )rC   rD   s   "€rE   rF   rG   9  s   ø€ ÷ Añ A±
ð A¸tñ ArH   c                óâ  € VP                  ^4      pVR8w  d   \        R4      h\        V4       VP                  R^4       Rp \	        \
        \        W4      4      pV'       d1   V^ 8w  d*   W@n        V P                  '       d   \        R\        R7       Rp\        V4       VP                  R^4       \	        \
        \        W4      4      p\        V\
        4      '       g5   \        R\        R7       V P                  V4       VP                  4        R# \        V4       VP                  R^4       ^ pWe8  Ed\   VP                  ^4      pV'       g   \        R	4      hV^ ,          R
9   d&   VP                  R^4       VP                  ^4      pK3  VR,          R9   d   VP                  R^4        VR,          P                  R4      w  r‰VR,          p
\        V4      \        V	4      rËWÀP0                  9  d   / V P0                  V&   / V P2                  V&   W@P0                  V,          9   d   MPX
R8X  d   W°P0                  V,          V&    V
R8H  V P2                  V,          V&    V
R8H  V P2                  R,          V&   V^,          pV^,          pEKb  \        V4       VP                  R^4       VP                  ^4      R8X  d=   VP                  R^4       \5        V4       \        V4       VP                  R^4       KR  VP                  R^4       VP                  ^4      pVR8w  d   VP                  R^4       EK  R#   \         dø    \        TR4      '       d   \!        TP#                  4       4      pMDTP%                  4       pTP                  ^ ^ 4       TP                  R4      pTP                  T4       \&        P(                  ! T R2P+                  4       T4      pTf   \        R\        TR7       RpRpRp
 EL\        R\        TR7       \        TP-                  ^4      4      pTP/                  4       p EL\i ; i  \         d     ELòi ; i  \         d     ELêi ; i)é   s   refzxref table read errorTzFXref table not zero-indexed. ID numbers for objects will be corrected.rh   Fz,Invalid/Truncated xref table. Rebuilding it.Nz$Unexpected empty line in Xref table.ó   
s   0123456789t:Né   Nó    :é   é   NrÙ   z\s+(\d+)\s+objz5entry %(num)d in Xref table invalid; object not found)ri   Únumr  ó   fz4entry %(num)d in Xref table invalid but object foundó   nrF  ó   trailerrÖ   iíÿÿÿiùÿÿÿ)ro   r!   r   r¸   r   rB   r3   rM   r<   r   rl   rR   r)  Úsplitr    rk   rA   rÙ   r·   rô   rõ   rö   Úgroupr÷   rN   rO   r   )r`   r;   ÚrefÚ
first_timerY  ÚsizeÚcntrB  Úoffset_bÚgeneration_bÚentry_type_bræ   rñ   rþ   rÿ   ÚfÚtrailer_tags   &&               rE   Ú_read_standard_xref_tableÚ#PdfReader._read_standard_xref_table9  sÁ  € à�k‰k˜!‹nˆØ�&Œ=ÜÐ6Ó7Ð7Ü˜FÔ#Ø�‰�B˜ÔØˆ
ØÜ”sœK¨Ó5Ó6ˆCß˜c QœhØ"%”Ø—;—;�;Ü"Ø`Ü'õð ˆJÜ Ô'Ø�K‰K˜˜AÔÜœœ[¨Ó6Ó7ˆDÜ˜d¤C×(Ò(ÜØBÜ#õð ×(Ñ(¨Ô0Ø—‘”ÙÜ Ô'Ø�K‰K˜˜AÔØˆCØ•*Ø—{‘{ 2“�ßÜ&Ð'MÓNÐNð ˜1•g Ô,Ø—K‘K ¨Ô+Ø!Ÿ;™; r›?’Dð ˜•8˜~Ô-Ø—K‘K  AÔ&ð+Ø-1°#­Y¯_©_¸TÓ-BÑ*�HØ#'¨¥;�Lä),¨X«¼¸LÓ8I˜Jð: §Y¡YÔ.Ø,.�D—I‘I˜jÑ)Ø79�D×(Ñ(¨Ñ4ØŸ)™) JÕ/Ô/ð
 à# tÔ+Ø5;Ÿ	™	 *Õ-¨cÑ2ðØ@LÐPTÑ@T˜×,Ñ,¨ZÕ8¸Ñ=ðØ;GÈ4Ñ;O˜×,Ñ,¨UÕ3°CÑ8ð �q•�Ø�q•“Ü Ô'Ø�K‰K˜˜AÔð —+‘+˜a“. DÔ(Ø—‘˜B Ô"Ü! &Ô)Ü# FÔ+Ø—‘˜B Ö"Ø�K‰K˜˜AÔØ Ÿ+™+ a›.ˆKØ˜jÔ(à—‘˜B ×"áøôE !ô +Ü˜v {×3Ò3Ü# F×$4Ñ$4Ó$6Ó7™à"ŸK™K›M˜ØŸ™ A qÔ)Ø$Ÿk™k¨"›o˜ØŸ™ AœäŸ	š	 c U¨.Ð"9×"@Ñ"@Ó"BÀCÓH�AØ’yÜ&ØSÜ#+Ø #õð
 &+˜
Ø!#˜Ø'+›ä&ØRÜ#+Ø #õô
 &)¨¯©°«£_˜
Ø!"§¡£›ð5+ûôT %ô Úðûô %ô Úðús=   Æ58M ÉQ É*Q ÍB?Q
Ð
<Q
Ñ	Q
ÑQÑQÑQ.Ñ-Q.c                ó@   <€ V ^8„  d   QhRS[ RS[S[,          RS[RR/# )r:   r;   r+  r  r>   N©r   r   rB   )rC   rD   s   "€rE   rF   rG   ¼  s7   ø€ ÷ 2Kñ 2KÙ ð2KÙ-5±c­]ð2KÙKNð2Kà	ñ2KrH   c                ór  € / V n         / V n        / V n        \        4       V n        \        4       pVEe   W$9   d   \        R\        VR7       R# VP                  V4       VP                  V^ 4       VP                  ^4      pVR9   d   VP                  ^4      pVR8X  d   V P                  V4      pK…  V'       d    V P                  V4       R# VP                  4       '       dF    V P                  V4      pT P)                  T4       R	T9   d   \+        \,        TR	,          4      pKú  R# V P/                  W4      pEK  R#   \         d    ^ p EK#  i ; i  \         dV   p\         P"                  T P                  9   d#   \        R\        TP$                  R7        Rp?R# \'        RT: 24      hRp?ii ; i)
z?Read the cross-reference tables and trailers in the PDF stream.Nz>Circular xref chain detected at offset %(startxref)d, stopping)ri   r+  rT  ó   xz)Previous trailer cannot be read: %(args)s)ri   ÚargszTrailer cannot be read: ú/Prev)rN   rO   rP   r(   rQ   rY   r   rl   rø   r¸   ro   Ú
_read_xrefr)  r    ÚisdigitÚ_read_pdf15_xref_streamrv   rž   rn  r!   Ú_process_xref_streamr   rB   Ú_read_xref_other_error)r`   r;   r+  r  Úvisited_xref_offsetsrÇ   Ú
xrefstreamÚes   &&&&    rE   r%  Ú(PdfReader._read_xref_tables_and_trailers¼  s…  € ð ˆŒ	Ø!ˆÔØˆÔÜ'Ó)ˆŒÜ),«ÐØÓ#àÔ0ÜØTÜ#Ø'õñ
 Ø ×$Ñ$ YÔ/à�K‰K˜	 1Ô%Ø—‘˜A“ˆAØ�GŒ|Ø—K‘K “N�Ø�DŒyØ ŸO™O¨FÓ3’	ßð&Ø×,Ñ,¨VÔ4Ùð —‘—’ð
IØ!%×!=Ñ!=¸fÓ!E�Jð ×)Ñ)¨*Ô5Ø˜jÔ(Ü $¤S¨*°WÕ*=Ó >’Iáà ×7Ñ7¸ÓJ“	ñS $øô* !ô &Ø$%”Mð&ûô
 !ô IÜ—w‘w $§,¡,Ô.Ü&ØGÜ#+Ø!"§¡õõ
 Ü&Ð)AÀ!ÁÐ'GÓHÐHûðIús0   Â=E Ã'E ÅEÅEÅF6Å!;F1Æ"F1Æ1F6c                ó$   <€ V ^8„  d   QhRS[ RR/# )r:   rv  r>   Nr˜   )rC   rD   s   "€rE   rF   rG   ð  s   ø€ ÷ 
#ñ 
#Ñ/?ð 
#ÀDñ 
#rH   c                óX  € \         P                  \         P                  \         P                  \         P                  \         P
                  3pV FD  pW19   g   K  W0P                  9  g   K  VP                  V4      V P                  \        V4      &   KF  	  RV9   dŒ   V P                  P                  4       pV P                  P                  \        \        VR,          4      ^,           ^ 4       V P                  V P                  4       V P                  P                  V^ 4       R# R# )z#Process and handle the xref stream.ú/XRefStmN)rv   rž   rz   r«   rw   ÚSIZErQ   Úraw_getr+   r;   r·   r¸   r   rB   rr  )r`   rv  Útrailer_keysÚkeyrÿ   s   &&   rE   rs  ÚPdfReader._process_xref_streamð  sÈ   € ä—w‘w¤§
¡
¬B¯G©G´R·U±U¼B¿G¹GÐCˆÛˆCØÖ  S·±Ö%<Ø0:×0BÑ0BÀ3Ó0G�—‘œZ¨›_Ó-ñ  ð ˜Ô#Ø—‘× Ñ Ó"ˆAØ�K‰K×ÑœT¤# z°*Õ'=Ó>ÀÕBÀAÔFØ×(Ñ(¨¯©Ô5Ø�K‰K×Ñ˜Q Ö"ñ	 $rH   c                ó6   <€ V ^8„  d   QhRS[ RS[S[,          /# r  rk  )rC   rD   s   "€rE   rF   rG   ü  s   ø€ ÷ ñ ¡ð ±¹µñ rH   c           	     óð  € V P                  V4       VP                  ^4      R8X  d   R# VP                  R^4       \        V4       VP                  R^4       \	        \
        \        \        3,          \        W4      4      pVP                  4        F%  w  r4W0P                  9  g   K  W@P                  V&   K'  	  RV9   dc   VP                  4       pVP                  \	        \        VR,          4      ^,           ^ 4        V P                  V4       VP                  V^ 4       RV9   d   \	        \        VR,          4      # R#   \         d&    \        R\         \        TR,          4      R7        Lai ; i)r  rH   Nr{  zGXRef object at %(xref_stm)d can not be read, some object may be missing)ri   Úxref_stmro  rÖ   )rh  ro   r¸   r   r   Údictr@   r	   r3   r&  rQ   r·   rB   rr  r    r   rl   )r`   r;   Únew_trailerr  Úvaluerÿ   s   &&    rE   rp  ÚPdfReader._read_xrefü  s+  € Ø×&Ñ& vÔ.Ø�;‰;�q‹>˜SÔ ÙØ�‰�B˜ÔÜ˜FÔ#Ø�‰�B˜ÔÜœ4¤¤S �>¬;°vÓ+DÓEˆØ%×+Ñ+Ö-‰JˆCØŸ,™,Ö&Ø$)—‘˜SÓ!ñ .ð ˜Ô$Ø—‘“ˆAØ�K‰KœœS +¨jÕ"9Ó:¸QÕ>ÀÔBðØ×,Ñ,¨VÔ4ð �K‰K˜˜1ÔØ�kÔ!Üœ˜[¨Õ1Ó2Ð2Ùøô ô ÜØ]Ü#Ü  ¨ZÕ!8Ó9÷ðús   ÄE Å-E5Å4E5c                ó<   <€ V ^8„  d   QhRS[ RS[RS[S[,          /# ©r:   r;   r+  r>   )r   rB   r   )rC   rD   s   "€rE   rF   rG     s.   ø€ ÷ 'Nñ 'NÙ ð'NÙ-0ð'Ná	‘#�ñ'NrH   c                óŽ  € V^ 8X  d1   V P                   '       d   \        R4      h\        R\        R7       R# VP	                  R
^4       VP                  ^4      pVP                  R4      pVR8w  d   V^
V,
          ,          pV# VP	                  V^ 4       \        ^4       F4  pVP                  ^4      P                  4       '       g   K*  W%,          pVu # 	  RV P                  9   d8   V P                   '       g&   \        R\        R7        V P                  V4       R# \        R	4      h  \         d    \        R4      hi ; i)r   z6/Prev=0 in the trailer (try opening with strict=False)zA/Prev=0 in the trailer - assuming there is no previous xref tablerh   Nó   xrefz/Rootz"Invalid parent xref., rebuild xrefzCannot rebuild xrefz/Could not find xref table at specified locationiõÿÿÿrÖ   )r<   r!   r   rl   r¸   ro   ÚfindrŸ   rq  rQ   r)  r    )r`   r;   r+  ÚtmpÚxref_locÚlooks   &&&   rE   rt  Ú PdfReader._read_xref_other_error  s"  € ð ˜Œ>Ø�{�{ˆ{Ü"ØLóð ô ØSÜõñ ð 	�‰�C˜ÔØ�k‰k˜"‹oˆØ—8‘8˜GÓ$ˆØ�rŒ>Ø˜˜h�Õ&ˆIØÐà�‰�I˜qÔ!Ü˜"–IˆDØ�{‰{˜1‹~×%Ñ%×'Ô'àÕ!�	Ø Ò ñ	 ð �d—l‘lÔ"¨4¯;¯;¨;äÐ?ÌÕQð:Ø×(Ñ(¨Ô0Ùô ÐLÓMÐMøô ô :Ü"Ð#8Ó9Ð9ð:ús   ÄD- Ä-Ec          	      ób   <€ V ^8„  d   QhRS[ S[,          RS[ S[,          RS[RS[ S[,          /# )r:   Úindex_pairsÚentry_sizesÚxref_streamr>   )r*  rB   r%   )rC   rD   s   "€rE   rF   rG   @  s9   ø€ ÷ +ñ +Ù#¡C�yð+Ù7;¹Cµyð+ÙO\ð+á	‰c�ñ+rH   c           
     óz  a€ \        V3R  l\        \        \        S4      ^4      4       4       4      pV^ 8X  d3   RpV P                  '       d   \        V4      h\        V\        R7       . # \        VP                  4       4      V,          ^,           p. p^ p\        V4       F•  w  rš\        V
4      pV	^,          ^8X  dg   W‹,           V8”  dR   V P                  '       d   \        RW‹,            RV R24      h\        ^ Wh,
          4      p\        R\        VVR7       TpW‹,          pVP                  V4       K—  	  V# )c              3   óH   <"  € T F  p\        SV,          4      x € K  	  R # 5ir…   )rB   )r@  r¤   r“  s   & €rE   rC  ÚDPdfReader._sanitize_pdf15_xref_stream_index_pairs.<locals>.<genexpr>E  s   øé € Ð[Ñ;Z°aœc +¨a¥.×1Ð1Ó;Zùs   ƒ"z-Cross-reference stream encodes no entry data.rh   zTotal XRef entries z exceed maximum allowed value rÏ   zKClamping XRef count from %(old_count)d to %(new_count)d to fit stream size.)ri   Ú	old_countÚ	new_count)ÚsumrŸ   ÚminÚlenr<   r"   r   rl   rØ   rÄ   rB   r    ÚmaxrÜ   )r`   r’  r“  r”  Úmin_entry_bytesÚmessageÚmax_entriesÚresultÚtotalrÓ   Ú
pair_valueÚpair_value_intÚnew_vs   &&f&         rE   Ú'_sanitize_pdf15_xref_stream_index_pairsÚ1PdfReader._sanitize_pdf15_xref_stream_index_pairs@  s*  ø€ ô
 Ô[¼5ÄÄSÈÓEUÐWXÓAYÔ;ZÓ[Ó[ˆØ˜aÔØEˆGØ�{�{ˆ{Ü$ WÓ-Ð-Ü˜7¬8Õ4ØˆIô ˜+×.Ñ.Ó0Ó1°_ÕDÀqÕHˆàˆØˆä!*¨;Ö!7ÑˆEÜ  ›_ˆNð �q�y˜AŒ~ØÕ)¨KÔ7Ø—{—{�{Ü/Ø1°%Õ2HÐ1IÐIgÐhsÐgtÐtuÐvóð ô    ;Õ#6Ó7�EÜ"ØeÜ'Ø"0Ø"'õ	ð &+�NàÕ'�à�M‰M˜.Ö)ñ- "8ð0 ˆrH   c                ó@   <€ V ^8„  d   QhRS[ RS[S[S[S[3,          /# r  )r   r   r%   r)   r&   )rC   rD   s   "€rE   rF   rG   m  s+   ø€ ÷ /ñ /Ù ð/á	‰}Ñ1Ñ3FÐFÕ	Gñ/rH   c                óò  a aa	€ VP                  R^4       S P                  V4      w  r#\        \        \	        VS 4      4      p\        \
        VR,          4      R8w  d   \        RVR,          : 24      hS P                  W2V4       RV9  d   \        RV: R24      hVP                  R^ VR,          .4      p\        \        \        ,          VP                  R4      4      o\        S4      ^8¼  g   Q hS P                  '       d   \        S4      ^8”  d   \        R	S 24      hS P                  VSVR
7      p\        VP                  4       4      o	R VV	3R llpR V 3R llpS P!                  WVV4       V# )z-Read the cross-reference stream for PDF 1.5+.rš   z/XRefzUnexpected type r›   zSize missing from XRef stream Ú!z/Indexz/WzToo many entry sizes: )r’  r“  r”  c                ól   € V ^8„  d   QhR\         R\        \         \        \         R3,          3,          /# )r:   r¤   r>   .)rB   r   r  )rC   s   "rE   rF   Ú7PdfReader._read_pdf15_xref_stream.<locals>.__annotate__‰  s,   € ÷ 	ñ 	œð 	¤¤s¬E´#°s°(­OÐ';Õ!<ñ 	rH   c                 óŒ   <€ SV ,          ^ 8”  d,   SP                  SV ,          4      p\        VSV ,          4      # V ^ 8X  d   ^# ^ # )r   )ro   r   )r¤   Údr“  rá   s   & €€rE   Ú	get_entryÚ4PdfReader._read_pdf15_xref_stream.<locals>.get_entry‰  sE   ø€ ð ˜1�~ Ô!Ø×$Ñ$ [°¥^Ó4�Ü% a¨°Q­Ó8Ð8ð �AŒvÙÙrH   c                óx   € V ^8„  d   QhR\         R\        \         \        \         R3,          3,          R\        /# )r:   rY  rñ   .r>   )rB   r   r  r?   )rC   s   "rE   rF   r¬  –  s8   € ÷ 	Sñ 	SœSð 	S¬e´C¼¼sÀC¸x½Ð4HÕ.Ið 	SÌdñ 	SrH   c                 óp   <€ V SP                   P                  V. 4      9   ;'       g    V SP                  9   # r…   )rN   ru   rP   )rY  rñ   r`   s   &&€rE   Úused_beforeÚ6PdfReader._read_pdf15_xref_stream.<locals>.used_before–  s0   ø€ à˜$Ÿ)™)Ÿ-™-¨
°BÓ7Ñ7×RÐR¸3À$×BRÑBRÑ;RÐRrH   rÖ   )r¸   ró   r   r%   r3   r@   r!   rÞ   ru   r*  rB   rœ  r<   r¦  r   rØ   Ú_read_xref_subsections)
r`   r;   Ústream_idnumÚstream_generationr”  r’  r¯  r³  r“  rá   s
   f&      @@rE   rr  Ú!PdfReader._read_pdf15_xref_streamm  sd  ú€ ð 	�‰�B˜ÔØ*.×*AÑ*AÀ&Ó*IÑ'ˆÜœ=¬+°f¸dÓ*CÓDˆÜ”�[ Õ)Ó*¨gÔ5ÜÐ!1°+¸gÕ2FÑ1IÐJÓKÐKØ×"Ñ"Ð#4ÀKÔPð ˜+Ô%äÐ!?À¹ÈaÐPÓQÐQØ!—o‘o h°°KÀÕ4HÐ0IÓJˆäœ4¤�9 k§o¡o°dÓ&;Ó<ˆÜ�;Ó 1Ô$Ð$Ð$Ø�;�;ˆ;œ3˜{Ó+¨aÔ/ÜÐ!7¸°}ÐEÓFÐFØ×BÑBØ#°È+ð Có 
ˆô ˜k×2Ñ2Ó4Ó5ˆ÷	ñ 	÷	Sð 	Sð
 	×#Ñ# K¸KÔHØÐrH   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# r‰  rM  )rC   rD   s   "€rE   rF   rG   Ÿ  s"   ø€ ÷  ñ  ¡ð  ¹ð  Áñ  rH   c                ó„  € V^ 8X  d   ^# V P                  V^,
          ^ 4       V P                  ^4      pVR8X  d   V P                  ^4      pVR9  d   ^# V P                  ^4      pVR8w  dT   RpVR9   d   V P                  ^4      pVR8X  g   K!  ^# W P                  ^4      ,          pVP                  4       R8w  d   ^# ^ # )z¯
Return an int which indicates an issue. 0 means there is no issue.

Args:
    stream:
    startxref:

Returns:
    0 means no issue, other values represent specific issues.

ó   js   
 	r‹  rH   s   0123456789 	s   obj)r¸   ro   Úlower)r;   r+  rB  s   && rE   r$  ÚPdfReader._get_xref_issuesž  s©   € ð ˜Œ>Ùà�‰�I •M 1Ô%Ø�{‰{˜1‹~ˆØ�4Œ<Ø—;‘;˜q“>ˆDØ�zÔ!ÙØ�{‰{˜1‹~ˆØ�7Œ?àˆDØÐ*Ô*Ø—{‘{ 1“~�Ø˜3–;ÙØ—K‘K “NÕ"ˆDØ�z‰z‹|˜vÔ%ÙÙrH   c                óP   <€ V ^8„  d   QhRS[ RS[S[S[S[S[3,          ,          /# ©r:   Údatar>   )rA   r   r  rB   )rC   rD   s   "€rE   rF   rG   Â  s+   ø€ ÷ &ñ &¡Uð &©x¹¹cÁ3É¸mÕ8LÕ/Mñ &rH   c              #  óp  "  € ^ p\        R4      p\        R4      p VP                  RV4      pVR8X  d   R# V^,
          pV^ 8¼  d   W,          \        9   d   V^,          pK#  V^,           pV^ 8¼  d$   W1V,          u;8:  d   V8:  d   M MV^,          pK*  V^,           pV^ 8¼  d   W,          \        9   d   V^,          pK#  V^,           pV^ 8¼  d$   W1V,          u;8:  d   V8:  d   M MV^,          pK*  V^,           p	W˜8  d'   Wv8  d!   \        WV 4      p
\        WV 4      pW«V	3x € V^,          pEK  5i)r   Ú0Ú9s    objNrÖ   )ÚordrŒ  r   rB   )ÚclsrÀ  rÓ   Úord_0Úord_9Úindex_before_spaceÚgeneration_endÚgeneration_startÚ
object_endÚobject_startÚobject_numberÚgeneration_numbers   &&          rE   Ú_find_pdf_objectsÚPdfReader._find_pdf_objectsÁ  s9  é € àˆÜ�C“ˆÜ�C“ˆØØ—I‘I˜g uÓ-ˆEØ˜Œ{Ùà!&¨¥Ðð %¨Ô)¨dÕ.FÔJ^Ô.^Ø" aÕ'Ò"ð 0°!Õ3ˆNØ$¨Ô)¨eÐ<NÕ7OÖ.XÐSX×.XØ" aÕ'Ò"Ø1°AÕ5Ðð %¨Ô)¨dÕ.FÔJ^Ô.^Ø" aÕ'Ò"ð ,¨aÕ/ˆJØ$¨Ô)¨eÐ<NÕ7OÖ.XÐSX×.XØ" aÕ'Ò"Ø-°Õ1ˆLð Ô(Ð-=Ô-NÜ # D°jÐ$AÓ B�Ü$'¨¸nÐ(MÓ$NÐ!à#¸ÐDÒDà�Q�J‹Eùs   ‚D4D6c                ó6   <€ V ^8„  d   QhRS[ RS[S[,          /# r¿  )rA   r   rB   )rC   rD   s   "€rE   rF   rG   ë  s   ø€ ÷ ñ ¡eð ±¹µñ rH   c              #  ó  "  € ^ p\        V4      p VP                  RV4      pVR8X  d   R# V^,           pWC8  d   W,          \        9   d   V^,          pK"  V^,           V8  d   WV^,            R8X  d   Vx € V^,          pKt  5i)r   r\  Ns   <<rÖ   )rœ  rŒ  r   )rÅ  rÀ  rÓ   Údata_lengthÚindex_after_trailers   &&   rE   Ú_find_pdf_trailersÚPdfReader._find_pdf_trailersê  sŠ   é € àˆÜ˜$“iˆØØ—I‘I˜j¨%Ó0ˆEØ˜Œ{Ùà"'¨!¥)Ðð &Ô3¸Õ8QÔUiÔ8iØ# qÕ(Ò#ð # QÕ&¨Ô4¸ÐReÐfgÕRgÐ9hÐlqÔ9qØ)Ò)à�Q�JŠEùs   ‚BBc                ó$   <€ V ^8„  d   QhRS[ RR/# rd   r  )rC   rD   s   "€rE   rF   rG   ÿ  s   ø€ ÷ :*ñ :*©*ð :*¸ñ :*rH   c                ób  € / V n         VP                  ^ ^ 4       VP                  R
4      pV P                  V4       F:  w  r4pW@P                   9  d   / V P                   V&   WPP                   V,          V&   K<  	  \	        R\
        R7       V P                    EFq  pV P                   V,           EFU  pVP                  V P                   V,          V,          ^ 4        V P                  V4      p\        \        \        W4      4      pVP                  RR4      R8w  d   Kr  \        VP                  4       4      p^ p	 \        V4      p
V
P                  4       '       g   Mp\        V
4      p\!        V4       VP                  R
^4       \        V4      p
V
P                  4       '       g   M&\        V
4      pW<3V P"                  V&   V	^,          p	K“  \        \        VR,          4      pW�8w  d   \	        R\
        V	VVVR7       EKU  EKX  	  EKt  	  VP                  ^ ^ 4       V P'                  V4       Fh  pVP                  V^ 4       \        \(        \*        \*        3,          \        W4      4      pVP-                  4        F  w  ppVV P.                  V&   K  	  Kj  	  R	#   \$         d     EKÿ  i ; i)r   zparsing for Object Streamsrh   rš   Ú rÍ   rÎ   zsfound %(actual_count)d objects within Object(%(object_number)d,%(generation_number)d) whereas %(expected)d expected)ri   Úactual_countrÍ  rÎ  ÚexpectedNrÖ   )rN   r¸   ro   rÏ  r   rl   ró   r   r/   r3   ru   r   rØ   r   rq  rB   r   rP   r    rÕ  r„  r	   r&  rQ   )r`   r;   rá   rÍ  rÎ  rÌ  Ú_r¥   Úobject_streamrÚ  ÚcurrentÚinner_object_numberÚinner_generation_numberÚexpected_countÚpositionr…  r  r†  s   &&                rE   r)  ÚPdfReader._rebuild_xref_tableÿ  sR  € ØˆŒ	Ø�‰�A�qÔØ—k‘k "“oˆà>B×>TÑ>TÐU`Ö>aÑ:ˆM¨lØ ¯	©	Ô1Ø/1�—	‘	Ð+Ñ,Ø:F�I‰IÐ'Õ(¨Ó7ñ ?bô
 	Ð3¼HÕEØ!%§¥ÐØ!%§¡Ð+<×!=Ñ!=�à—‘˜DŸI™IÐ&7Õ8¸ÕGÈÔKð#Ø×/Ñ/°Ó7�AÜœ|¬[¸Ó-FÓG�CØ—w‘w˜w¨Ó+¨yÔ8Ù Ü$+¨C¯L©L«NÓ$;�MØ#$�LØÜ"7¸Ó"F˜Ø&Ÿ™×0Ò0Ø!Ü.1°'«lÐ+Ü,¨]Ô;Ø%×*Ñ*¨2¨qÔ1Ü"7¸Ó"F˜Ø&Ÿ™×0Ò0Ø!Ü25°g³,Ð/ØANÐ@h˜×(Ñ(Ð)<Ñ=Ø$¨Õ)šÜ%)¬#¨s°4­yÓ%9�NØ#Ô5Ü&ð!@ô $,Ø)5Ø*7Ø.?Ø%3÷ð ò 6ô1 ">ñ "+ðR 	�‰�A�qÔØ×/Ñ/°Ö<ˆHØ�K‰K˜ !Ô$Üœt¤C¬ H�~¬{¸6Ó/HÓIˆKà)×/Ñ/Ö1‘
��UØ$)�—‘˜SÓ!ó 2ó	 =øô	 !ô Ûðús   ÃAJÄ C JÊJ.Ê-J.c                óÈ   <€ V ^8„  d   QhRS[ S[,          RS[S[.S[S[S[S[R3,          3,          3,          RS[S[S[S[S[S[R3,          3,          .S[3,          RR/# )r:   Ú	idx_pairsr¯  .r³  r>   N)r*  rB   r
   r   r  r?   )rC   rD   s   "€rE   rF   rG   ;  s|   ø€ ÷ !Jñ !Já™•9ð!Jñ ™S˜E¡5©©e±C¸°H­oÐ)=Õ#>Ð>Õ?ð!Jñ ™s¡E©#©u±S¸#°X­Ð*>Õ$?Ð@Á$ÐFÕGð	!Jð
 
ñ!JrH   c                ó  € V P                  V4       F÷  w  rE\        WDV,           4       FÜ  pV! ^ 4      pV^ 8X  d   V! ^4      pV! ^4      p	K$  V^8X  dW   V! ^4      p
V! ^4      pW°P                  9  d   / V P                  V&   V! Wk4      '       g   W P                  V,          V&   K  K�  V^8X  d5   V! ^4      pV! ^4      p^ pV! Wk4      '       g   WÍ3V P                  V&   Kº  K¼  V P                  '       g   KÐ  \        RV 24      h	  Kù  	  R# )z-Read and process the subsections of the xref.zUnknown xref type: N)Ú_pairsrŸ   rN   rP   r<   r!   )r`   rå  r¯  r³  r÷   ra  rY  Ú	xref_typeÚnext_free_objectÚnext_generationÚbyte_offsetrñ   Ú
objstr_numÚ	obstr_idxs   &&&&          rE   rµ  Ú PdfReader._read_xref_subsections;  sþ   € ð  Ÿ;™; yÖ1‰KˆEä˜U¨D¥LÖ1�á% a›L�	à ”>á'0°£|Ð$Ù&/°£l’OØ !”^á"+¨A£,�KÙ!*¨1£�JØ!¯©Ô2Ø02˜Ÿ	™	 *Ñ-Ù& s×7Ò7Ø5@Ÿ	™	 *Õ-¨cÓ2ñ 8à !”^á!*¨1£�JÙ )¨!£�IØ!"�JÙ& s×7Ò7Ø1;Ð0G˜×(Ñ(¨Ó-ñ 8à—[—[’[Ü&Ð)<¸Y¸KÐ'HÓIÐIó1 2ó 2rH   c                ó\   <€ V ^8„  d   QhRS[ S[,          RS[S[S[S[3,          ,          /# )r:   Úarrayr>   )r*  rB   r   r  )rC   rD   s   "€rE   rF   rG   ^  s,   ø€ ÷ ñ ™D¡�Ið ©(±5¹¹c¸µ?Õ*Cñ rH   c              #  óˆ   "  € ^ pV^,           \        V4      8  d%   W,          W^,           ,          3x € V^,          pK;  R# 5i)z Iterate over pairs in the array.N)rœ  )r`   rð  r¤   s   && rE   rç  ÚPdfReader._pairs^  s;   é € àˆØ�!�e”c˜%“jÔ Ø•(˜E a¥%�LÐ(Ò(Ø��FŠAñ !ùs   ‚A Ac                ó<   <€ V ^8„  d   QhRS[ S[S[3,          RS[/# )r:   r=   r>   )r   r@   rA   r   )rC   rD   s   "€rE   rF   rG   e  s(   ø€ ÷ Eñ E¡¡c©5 jÕ 1ð E±lñ ErH   c                óˆ   € V P                   '       g   \        R4      hV P                   P                  WP                  R7      # )an  
When using an encrypted / secured PDF file with the PDF Standard
encryption handler, this function will allow the file to be decrypted.
It checks the given password against the document's user password and
owner password, and then stores the resulting decryption key if either
password is correct.

It does not matter which password was matched. Both passwords provide
the correct decryption key that will allow the document to be used with
this library.

Args:
    password: The password to match.

Returns:
    An indicator if the document was decrypted and whether it was the
    owner password or the user password.

zNot encrypted filert   )r\   r!   r{   r<   )r`   r=   s   &&rE   ÚdecryptÚPdfReader.decrypte  s:   € ð( ××ÐÜÐ3Ó4Ð4à×Ñ×&Ñ& x¿¹Ð&ÓDÐDrH   c                ó    <€ V ^8„  d   QhRS[ /# rƒ   )r?   )rC   rD   s   "€rE   rF   rG     s   ø€ ÷ *ñ *™dñ *rH   c                ó<   € \         P                  V P                  9   # )zÈ
Read-only boolean property showing whether this PDF file is encrypted.

Note that this property, if true, will remain true even after the
:meth:`decrypt()<pypdf.PdfReader.decrypt>` method is called.
)rv   rz   rQ   r‡   s   &rE   r]   ÚPdfReader.is_encrypted~  s   € ô �z‰z˜TŸ\™\Ñ)Ð)rH   c                ó6   <€ V ^8„  d   QhRS[ RS[S[,          /# ©r:   Únamer>   ©r@   r   r(   )rC   rD   s   "€rE   rF   rG   ˆ  s!   ø€ ÷ *ñ *¡Sð *©XÑ6FÕ-Gñ *rH   c                óØ  € V P                   pRV9  g   \        VR,          \        4      '       g   R# \        \        V\	        R4      ,          4      pRV9  d   R# \        4       p\        V4      V\	        R4      &   V\	        R4      ,          V\	        R4      &   V P                  ^ \        R V P                   4       4      ^,           V4       \        4       pVP                  VP                  4       WS\	        R4      &   \        \        VR,          4       FN  pVP                  4       pRV9   d   \        R\        VP                  R	7       VP                  V\	        R4      &   KP  	  V# )
zÎ
Add a top level form that groups all form fields below it.

Args:
    name: text string of the "/T" Attribute of the created object

Returns:
    The created object. ``None`` means no object was created.

ú	/AcroFormNú/Fieldsú/Tz/Kidsc              3   ó<   "  € T F  w  rV^ 8X  g   K  Vx € K  	  R# 5i)r   Nr†   )r@  Úgr¤   s   &  rE   rC  Ú-PdfReader.add_form_topname.<locals>.<genexpr>£  s   é € Ð@Ñ 5‘f�q¸¸a¹—’Ó 5ùs   ‚’
z/Parentz:Top Level Form Field %(obj_ref)s has a non-expected parent)ri   Úobj_ref)r¦   rR   r(   r   r+   r0   rÞ   r�  rK   r$   rÜ   r¡   rx   r   rl   )r`   rü  ÚcatalogÚacroformÚinterimÚarrÚor¥   s   &&      rE   Úadd_form_topnameÚPdfReader.add_form_topnameˆ  s=  € ð ×"Ñ"ˆà˜gÔ%¬ZØ�KÕ Ô"2÷.
ò .
ñ ÜÔ(¨'´*¸[Ó2IÕ*JÓKˆØ˜HÔ$áä"Ó$ˆÜ$4°TÓ$:ˆ”
˜4Ó Ñ!Ø'/´
¸9Ó0EÕ'Fˆ”
˜7Ó#Ñ$Ø×"Ñ"ØÜÑ@ × 5Ò 5Ó@Ó@À1ÕDØô	
ô
 ‹mˆØ�
‰
�7×-Ñ-Ô.Ø*-”˜IÓ&Ñ'Ü”k 7¨7Õ#3Ö4ˆAØ—,‘,“.ˆCØ˜CÔÜØPÜ#Ø×2Ñ2õð
 *1×)CÑ)CˆC”
˜9Ó%Ó&ñ 5ð ˆrH   c                ó6   <€ V ^8„  d   QhRS[ RS[S[,          /# rû  rý  )rC   rD   s   "€rE   rF   rG   ´  s!   ø€ ÷ ñ ©ð ±Ñ9IÕ0Jñ rH   c           
     óp  € V P                   pRV9  g   \        VR,          \        4      '       g   R# \        \        V\	        R4      ,          4      pRV9  d   R# \        \        \        \
        V\	        R4      ,          4      ^ ,          P                  4       4      p\        V4      V\	        R4      &   V# )zÌ
Rename top level form field that all form fields below it.

Args:
    name: text string of the "/T" field of the created object

Returns:
    The modified object. ``None`` means no object was modified.

rÿ  Nr   r  )r¦   rR   r(   r   r+   r$   rx   r0   )r`   rü  r  r  r  s   &&   rE   Úrename_form_topnameÚPdfReader.rename_form_topname´  sŸ   € ð ×"Ñ"ˆà˜gÔ%¬ZØ�KÕ Ô"2÷.
ò .
ñ ÜÔ(¨'´*¸[Ó2IÕ*JÓKˆØ˜HÔ$ÙäÜÜ”˜h¤z°)Ó'<Õ=Ó>¸qÕA×LÑLÓNó
ˆô %5°TÓ$:ˆ”
˜4Ó Ñ!ØˆrH   c                óŠ   <€ V ^8„  d   QhRS[ RS[S[,          3,          RS[ RS[S[,          3,          RS[S[S[3,          /# )r:   ÚincludeNÚexcluder>   )r   r   r@   r„  r	   )rC   rD   s   "€rE   rF   rG   Ð  sM   ø€ ÷ ñ á�t™X¡c�]Ð*Õ+ðñ �t™X¡c�]Ð*Õ+ðñ 
‰c‘3ˆh�ñ	rH   c                óL  € V P                   P                  ^ 4       V P                   P                  4       pRV/pVe,   VP                  4        UUu/ uF  w  rVWQ9   g   K  WVbK  	  pppVe,   VP                  4        UUu/ uF  w  rVWR9  g   K  WVbK  	  pppV# u uppi u uppi )zÈ
Integration into Jupyter Notebooks.

This method returns a dictionary that maps a mime-type to its
representation.

.. seealso::

    https://ipython.readthedocs.io/en/stable/config/integrating.html
zapplication/pdf)r;   r¸   ro   r&  )r`   r  r  Úpdf_datarÀ  ÚkÚvs   &&&    rE   Ú_repr_mimebundle_ÚPdfReader._repr_mimebundle_Ð  sœ   € ð 	�‰×Ñ˜ÔØ—;‘;×#Ñ#Ó%ˆà˜xð
ˆð Òà%)§Z¡Z¤\ÔB¡\™T˜Q°Q±\”D�A’D¡\ˆDÑBàÒà%)§Z¡Z¤\ÔF¡\™T˜Q°QÑ5E”D�A’D¡\ˆDÑFàˆùó Cùó Gs   Á
BÁ BÂ 
B ÂB c                ó|   <€ V ^8„  d   QhRS[ S[R3,          RS[S[S[S[3,          ,          RS[S[S[3,          /# )r:   ÚtreeNrý   r>   )r   r1   r   r„  r@   r'   )rC   rD   s   "€rE   rF   rG   ï  sL   ø€ ÷ .ñ .á‘J Ð$Õ%ð.ñ ™™c¡;Ð.Õ/Õ0ð.ñ 
‰c‘;ÐÕ	ñ	.rH   c                óœ   <€ V'       g	   V'       d   \         SV `  W4      # V P                  f   \         SV `  4       V n        V P                  # )z_Override from PdfDocCommon. In the reader we can assume this is
static, but not in the writer.
)ÚsuperÚ_get_named_destinationsr_   )r`   r  rý   Ú	__class__s   &&&€rE   r  Ú!PdfReader._get_named_destinationsï  sB   ø€ ÷ —6Ü‘7Ñ2°4Ó@Ð@à×)Ñ)Ò1Ü-2©WÑ-LÓ-NˆDÔ*Ø×-Ñ-Ð-rH   )r\   rZ   r_   r[   rV   rU   rL   rm   rW   rJ   rK   r;   r<   rQ   rN   rO   rM   rP   )FNr×   )4rl   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ra   rX   r^   rˆ   r’   r‘   Úpropertyr¦   r­   r²   r¼   rÀ   rÈ   rì   rx   ró   rÝ   rÞ   r  ro   r!  r"  r#  rh  r%  rs  rp  rt  r¦  rr  Ústaticmethodr$  ÚclassmethodrÏ  rÕ  r)  rµ  rç  rõ  r]   r  r  r  r  Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r  rD   s   @@rE   r7   r7   a   s2  ù‡ € ññ,)Pð 5;÷)Pó )P÷Vð ÷*ð *÷(ð ÷ð ÷	ð 	ð ÷.$ó ð.$ð` ÷ó ðð& ÷2ó ð2ð ÷ ó ð ð ÷.ó ð.÷2ð 2÷8að a÷F\ð \÷|+ð +÷:Cð C÷ð ÷ð ÷G ð G ÷R$ð $÷$.ð .÷Bð ÷4Að A÷F2Kð 2K÷h
#ð 
#÷ð ÷6'Nð 'N÷R+ð +÷Z/ð /ðb ÷ ó ð ðD ÷&ó ð&ðP ÷ó ð÷(:*ð :*÷x!Jð !J÷Fð ÷Eð Eð2 ÷*ó ð*÷*ð *÷Xð ÷8ò ÷>.÷ .õ .rH   r7   )rS  é   )Fr6  rô   rS   Úcollections.abcr   Úior   r   Úpathlibr   Útypesr   Útypingr   r	   r
   r   r   r   Úversion_infor   Útyping_extensionsÚ_doc_commonr   r   r\   r   r   Ú_utilsr   r   r   r   r   r   r   r   r   Ú	constantsr   rv   Úerrorsr   r   r    r!   r"   r#   Úgenericr$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   Úxmpr4   Ú_pager5   r7   r†   rH   rE   Ú<module>r:     s’   ðó< 
Û 	Û 
Ý $ß ,Ý Ý ÷÷ ð ×Ñ�wÔÞå&ç 5ß 1÷
÷ 
õ 
õ )÷÷ ÷÷ ÷ ÷ ó õ$  çÝ!ô[.�ö [.rH   