§
    �’j� ã                   óz  — d Z dZddlZddlZddlZddlZddlmZmZ ddl	m
Z
 ddlmZ ddlmZmZmZmZmZ dd	lmZmZmZ dd
lmZmZmZmZmZmZmZmZm Z  ddl!m"Z"m#Z#m$Z$m%Z% ddl!m&Z' ddl!m(Z) ddl!m*Z+ ddl,m-Z-m.Z.m/Z/m0Z0 ddl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z; ddl<m=Z= ddl>m?Z?m@Z@mAZAmBZBmCZC ddlmDZDmEZE ejF        dk    rddlmGZG nddlHmGZG  ejI        eJ¦  «        ZK ejL        d¦  «        ZM G d„ deNe         e9¦  «        ZO G d„ dePeef         e9¦  «        ZQ G d„ deQ¦  «        ZRdeddfd „ZS G d!„ d"eQ¦  «        ZT G d#„ d$eT¦  «        ZU G d%„ d&eT¦  «        ZVd'ZW G d(„ d)eU¦  «        ZX	 d2d*ed+ee         d,eeYeNeY         ePeZeYf         df         dee9eZeYeXf         fd-„Z[ G d.„ d/eR¦  «        Z\ G d0„ d1eR¦  «        Z]dS )3zMathieu Fenniakzbiziqe@mathieu.fenniak.neté    N)ÚIterableÚSequence)ÚBytesIO)Úceil)ÚAnyÚCallableÚOptionalÚUnionÚcasté   )ÚPdfReaderProtocolÚPdfWriterProtocolÚXmpInformationProtocol)	ÚWHITESPACESÚBinaryStreamTypeÚ
StreamTypeÚdeprecation_no_replacementÚlogger_warningÚread_non_whitespaceÚread_until_regexÚread_until_whitespaceÚskip_over_comment)ÚCheckboxRadioButtonAttributesÚFieldDictionaryAttributesÚOutlineFontFlagÚStreamAttributes)ÚFilterTypes)ÚTypArguments)ÚTypFitArguments)ÚSTREAM_TRUNCATED_PREMATURELYÚLimitReachedErrorÚPdfReadErrorÚPdfStreamErroré   )
ÚBooleanObjectÚByteStringObjectÚFloatObjectÚIndirectObjectÚ
NameObjectÚ
NullObjectÚNumberObjectÚ	PdfObjectÚTextStringObjectÚis_null_or_none)ÚFit)Úextract_inline__ascii85_decodeÚ extract_inline__ascii_hex_decodeÚextract_inline__dct_decodeÚ!extract_inline__run_length_decodeÚextract_inline_default)Úread_hex_string_from_streamÚread_string_from_stream)é   é   )ÚSelfs   [+-]?(\d+)\s+(\d+)\s+R[^a-zA-Z]c                   óf  — 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
fd	„Zdee         fd
„Zdedee         fd„Zdedd fd„Zdedefd„Zdedefd„Z	 ddedee	edf         ddfd„Ze	 ddedee         dee	ee	         ee
e	f         df         dd fd„¦   «         ZdS )ÚArrayObjectÚpdf_destÚreturnc                 ó  — t          d|                      t          ¦   «         |d¦  «        ¦  «        }| D ]P}t          |d¦  «        r)|                     |                     |¦  «        ¦  «         Œ;|                     |¦  «         ŒQ|S )Nr;   FÚ	replicate)r   Ú_reference_cloner;   ÚhasattrÚappendr?   )Úselfr<   ÚarrÚdatas       úLC:\Projects\DSCons\.venv\Lib\site-packages\pypdf\generic\_data_structures.pyr?   zArrayObject.replicatef   s�   € õ ØØ×!Ò!¥+¡-¤-°¸5ÑAÔAñ
ô 
ˆð ð 	!ð 	!ˆDÝ�t˜[Ñ)Ô)ð !Ø—
’
˜4Ÿ>š>¨(Ñ3Ô3Ñ4Ô4Ð4Ð4à—
’
˜4Ñ Ô Ð Ð Øˆ
ó    F© Úforce_duplicateÚignore_fieldsc                 ó*  — 	 | j         j        |k    r|s| S n# t          $ r Y nw xY wt          d|                      t          ¦   «         |d¬¦  «        ¦  «        }| D �]6}t          |t          ¦  «        rG|                     |                     |||¦  «        ||¦  «        }| 	                    |j         ¦  «         Œ_t          |t          ¦  «        rqt          |                     ¦   «         x}t          ¦  «        rH|                     |                     |d|¬¦  «        ||¦  «        }| 	                    |j         ¦  «         Œåt          |d¦  «        r,| 	                    |                     |||¦  «        ¦  «         �Œ!| 	                    |¦  «         �Œ8|S )úClone object into pdf_dest.r;   T)rI   )rI   rJ   Úclone)Úindirect_referenceÚpdfÚ	Exceptionr   r@   r;   Ú
isinstanceÚStreamObjectrM   rB   r(   Ú
get_objectrA   )rC   r<   rI   rJ   rD   rE   ÚdupÚresolveds           rF   rM   zArrayObject.cloneu   s«  € ð	ØÔ&Ô*¨hÒ6Ð6¸Ð6Ø�øøÝð 	ð 	ð 	ØˆDð	øøøåØØ×!Ò!¥+¡-¤-°È4Ð!ÑPÔPñ
ô 
ˆð ð 	!ñ 	!ˆDÝ˜$¥Ñ-Ô-ð !Ø×+Ò+Ø—J’J˜x¨¸-ÑHÔHØØ#ñô �ð
 —
’
˜3Ô1Ñ2Ô2Ð2Ð2Ý˜D¥.Ñ1Ô1ð 
!µjÈTÏ_Ê_ÑM^ÔM^ÐA^ÀÕ`lÑ6mÔ6mð 
!Ø×+Ò+Ø—N’N 8¸TÐQ^�NÑ_Ô_ØØ#ñô �ð
 —
’
˜3Ô1Ñ2Ô2Ð2Ð2Ý˜˜wÑ'Ô'ð !Ø—
’
˜4Ÿ:š: h°ÀÑOÔOÑPÔPÐPÑPà—
’
˜4Ñ Ô Ð Ñ Øˆ
ó   ‚ —
$£$c                 ó\   — t          | j        t          d„ | D ¦   «         ¦  «        f¦  «        S )úq
        Used to detect modified object.

        Returns:
            Hash considering type and value.

        c              3   ó>   K  — | ]}|                      ¦   «         V — Œd S ©N©Úhash_bin)Ú.0Úxs     rF   ú	<genexpr>z'ArrayObject.hash_bin.<locals>.<genexpr>¢   s*   è è € Ð*FÐ*F¸A¨1¯:ª:©<¬<Ð*FÐ*FÐ*FÐ*FÐ*FÐ*FrG   )ÚhashÚ	__class__Útuple©rC   s    rF   r\   zArrayObject.hash_binš   s0   € õ �T”^¥UÐ*FÐ*FÀÐ*FÑ*FÔ*FÑ%FÔ%FÐGÑHÔHÐHrG   c                 ó    — t          | ¦  «        S )z:Emulate DictionaryObject.items for a list (index, object).)Ú	enumeraterc   s    rF   ÚitemszArrayObject.items¤   s   € å˜‰ŒÐrG   Úlstc                 ót  — t          |t          t          t          f¦  «        rt          |¦  «        }n…t          |t          ¦  «        r|g}nlt          |t
          ¦  «        r.|d         dk    rt          |¦  «        g}n:t          |¦  «        g}n)t          |t          ¦  «        rt          |¦  «        g}n|g}|S )Nr   ú/)
rQ   Úlistrb   Úsetr,   Ústrr)   r-   Úbytesr&   )rC   rg   Úresults      rF   Ú_to_lstzArrayObject._to_lst¨   s¶   € õ �c�D¥%­Ð-Ñ.Ô.ð 	Ý˜#‘Y”YˆFˆFÝ˜�YÑ'Ô'ð 
	Ø�UˆFˆFÝ˜�SÑ!Ô!ð 	Ø�1Œv˜Š}ˆ}Ý$ S™/œ/Ð*��å*¨3Ñ/Ô/Ð0��Ý˜�UÑ#Ô#ð 	Ý& sÑ+Ô+Ð,ˆFˆFà�UˆFØˆrG   c                 ót   — t          | ¦  «        }|                     |                      |¦  «        ¦  «         |S )aÇ  
        Allow extension by adding list or add one element only

        Args:
            lst: any list, tuples are extended the list.
            other types(numbers,...) will be appended.
            if str is passed it will be converted into TextStringObject
            or NameObject (if starting with "/")
            if bytes is passed it will be converted into ByteStringObject

        Returns:
            ArrayObject with all elements

        )r;   Úextendro   )rC   rg   Útemps      rF   Ú__add__zArrayObject.__add__º   s4   € õ ˜4Ñ Ô ˆØ�Š�D—L’L Ñ%Ô%Ñ&Ô&Ð&ØˆrG   c                 óV   — |                       |                      |¦  «        ¦  «         | S )aŒ  
         Allow extension by adding list or add one element only

        Args:
            lst: any list, tuples are extended the list.
            other types(numbers,...) will be appended.
            if str is passed it will be converted into TextStringObject
            or NameObject (if starting with "/")
            if bytes is passed it will be converted into ByteStringObject

        )rq   ro   )rC   rg   s     rF   Ú__iadd__zArrayObject.__iadd__Í   s'   € ð 	�Š�D—L’L Ñ%Ô%Ñ&Ô&Ð&ØˆrG   c                 óˆ   — |                       |¦  «        D ]+}	 |                      |¦  «        }| |= Œ# t          $ r Y Œ(w xY w| S )zAllow to remove items)ro   ÚindexÚ
ValueError)rC   rg   r^   rw   s       rF   Ú__isub__zArrayObject.__isub__Ü   s_   € à—’˜cÑ"Ô"ð 	ð 	ˆAðØŸ
š
 1™œ�Ø˜�K�KøÝð ð ð Ø�ðøøøàˆs   ™2²
?¾?NÚstreamÚencryption_keyc                 óÜ   — |�t          dd¦  «         |                     d¦  «         | D ],}|                     d¦  «         |                     |¦  «         Œ-|                     d¦  «         d S )Nú/the encryption_key parameter of write_to_streamú5.0.0ó   [ó    s    ])r   ÚwriteÚwrite_to_stream)rC   rz   r{   rE   s       rF   r‚   zArrayObject.write_to_streamæ   s…   € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š�TÑÔÐØð 	)ð 	)ˆDØ�LŠL˜ÑÔÐØ× Ò  Ñ(Ô(Ð(Ð(Ø�Š�UÑÔÐÐÐrG   rO   Úforced_encodingc                 ó\  — t          ¦   «         }|                      d¦  «        }|dk    rt          d¦  «        ‚	 |                      d¦  «        }|                     ¦   «         r)|                      d¦  «        }|                     ¦   «         °)|dk    rn™|dk    r&|                      dd¦  «         t          | ¦  «         Œ†|                      dd¦  «         |                      d¦  «        }|dk    rn;|                      dd¦  «         |                     t          | ||¦  «        ¦  «         Œò|S )	Nr$   r   zCould not read arrayTrG   ó   %éÿÿÿÿó   ])r;   Úreadr"   ÚisspaceÚseekr   rB   Úread_object)rz   rO   rƒ   rD   ÚtmpÚtokÚ
peek_aheads          rF   Úread_from_streamzArrayObject.read_from_streamó   s$  € õ ‰mŒmˆØ�kŠk˜!‰nŒnˆØ�$Š;ˆ;ÝÐ5Ñ6Ô6Ð6ð	Bà—+’+˜a‘.”.ˆCØ—+’+‘-”-ð %Ø—k’k !‘n”n�ð —+’+‘-”-ð %à�cŠzˆzØØ�dŠ{ˆ{Ø—’˜B Ñ"Ô"Ð"Ý! &Ñ)Ô)Ð)ØØ�KŠK˜˜AÑÔÐàŸš Q™œˆJØ˜TÒ!Ð!ØØ�KŠK˜˜AÑÔÐà�JŠJ•{ 6¨3°Ñ@Ô@ÑAÔAÐAð%	Bð& ˆ
rG   ©FrH   rZ   )Ú__name__Ú
__module__Ú__qualname__r   r?   Úboolr	   r   r
   rl   ÚintrM   r\   r   r   rf   rj   ro   rs   r9   ru   ry   r   rm   r‚   Ústaticmethodr   Údictr�   rH   rG   rF   r;   r;   e   s  € € € € € ðà#ðð 
ðð ð ð ð$ !&Ø=?ð	#ð #à#ð#ð ð#ð   ¨¨s°C¨x¬Ô 9Ô:ð	#ð
 
ð#ð #ð #ð #ðJI˜#ð Ið Ið Ið Ið�x ”}ð ð ð ð ð˜3ð  4¨¤9ð ð ð ð ð$˜3ð  =ð ð ð ð ð&˜Cð  Dð ð ð ð ð˜Cð  Dð ð ð ð ð MQðð Ø ðØ27¸¸UÀDÐ8HÔ2Iðà	ðð ð ð ð ð HLðð ØðàÐ'Ô(ðð ˜s D¨¤I¨t°C¸°H¬~¸tÐCÔDðð 
ð	ð ð ñ „\ðð ð rG   r;   c                   óZ  — 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	d dededeeee	e
f                           d
eee
e
f                  ddfd„Zde
fd„Zdedefd„Zd$de	dedefd„Zdededefd„Zd$dedee         defd„Zdedefd„Zedee         fd„¦   «         Z	 d$dedee	edf         ddfd„Zede
de
dee
         dede
f
d„¦   «         Z ede!dede
defd „¦   «         Z"e#	 d$dedee         d!ee	ee	         e$e
e	f         df         dd fd"„¦   «         Z%dS )%ÚDictionaryObjectr<   r=   c                 ó"  — t          d|                      |                      ¦   «         |d¦  «        ¦  «        }|                      ¦   «         D ]B\  }}t	          |d¦  «        r|                     |¦  «        n|||                     |¦  «        <   ŒC|S )Nr™   Fr?   )r   r@   ra   rf   rA   r?   )rC   r<   Úd__ÚkÚvs        rF   r?   zDictionaryObject.replicate  s•   € õ ØØ×!Ò! $§.¢.Ñ"2Ô"2°H¸eÑDÔDñ
ô 
ˆð —J’J‘L”Lð 	ð 	‰DˆAˆqå)0°°KÑ)@Ô)@ÐG�—’˜HÑ%Ô%Ð%Àað �—’˜HÑ%Ô%Ñ&Ð&ð ˆ
rG   FrH   rI   rJ   c                 ó`  — 	 | j         j        |k    r|s| S n# t          $ r Y nw xY wt          ¦   «         }t	          d|                      |                      ¦   «         ||¦  «        ¦  «        }|€g }t          |                     ¦   «         ¦  «        dk    r| 	                    | ||||¦  «         |S )rL   r™   Nr   )
rN   rO   rP   rk   r   r@   ra   ÚlenÚkeysÚ_clone©rC   r<   rI   rJ   Úvisitedr›   s         rF   rM   zDictionaryObject.clone"  sÄ   € ð	ØÔ&Ô*¨hÒ6Ð6¸Ð6Ø�øøÝð 	ð 	ð 	ØˆDð	øøøõ ),©¬ˆÝØØ×!Ò! $§.¢.Ñ"2Ô"2°H¸oÑNÔNñ
ô 
ˆð Ð ØˆMÝˆs�xŠx‰zŒz‰?Œ?˜aÒÐØ�JŠJ�t˜X ¸ÀwÑOÔOÐOØˆ
rV   Úsrcr£   Nc           
      ó  ‡‡— ‰€J ‚t          ‰¦  «        Šd}|t          ‰¦  «        k     rit          ‰|         t          ¦  «        r6t	          t          ‰|         ¦  «        dk    r‰|= ‰|= ŒT‰|xx         dz  cc<   |dz  }|t          ‰¦  «        k     °it          ˆˆfd„dD ¦   «         ¦  «        �rt          ‰¦  «        ŠdD �]}|D �]û}g }	|‰v �rñ|| v�rìt          ‰                     |¦  «        t          ¦  «        �rÃt          ‰|         t          ¦  «        �r§‰ 	                    dd¦  «        �wt	          t          ‰|         ¦  «         	                    dd¦  «        �H‰ 	                    dd¦  «        t	          t          ‰|         ¦  «         	                    dd¦  «        k    �rt	          d‰|         ¦  «        }
| }|
�ßt	          d|
 
                    |
                     ¦   «         ||¦  «        ¦  «        }|j        �8|j        j        }|j        j        }||f|v rd}
n€|                     ||f¦  «         |	                     |
|f¦  «         |€J ‚|j        |t#          |¦  «        <   |}	 |
‰k    rd}
nt	          d|
|         ¦  «        }
n# t$          $ r d}
Y nw xY w|
­ß|	D ]\  }}|                     |||‰|¦  «         Œ�Œý�Œ‰                     ¦   «         D ]°\  }}|‰vr§t          |t*          ¦  «        rUt-          |d	¦  «        sd|_        |                     ||‰¦  «        }|j        €J ‚|j        | |                     |¦  «        <   Œs|| vr9t-          |d
¦  «        r|                     ||‰¦  «        n|| t#          |¦  «        <   Œ±dS )z°
        Update the object from src.

        Args:
            src: "DictionaryObject":
            pdf_dest:
            force_duplicate:
            ignore_fields:

        Nr   r$   c              3   óÎ  •K  — | ]ß}|‰voÖ|‰v oÒt          ‰                     |¦  «        t          ¦  «        oªt          ‰|         t          ¦  «        o�‰                     d d¦  «        du pwt          t          ‰|         ¦  «                             d d¦  «        du pF‰                     d d¦  «        t          t          ‰|         ¦  «                             d d¦  «        k    V — ŒàdS )ú/TypeN)rQ   Úraw_getr(   r™   Úgetr   )r]   ÚfieldrJ   r¤   s     €€rF   r_   z*DictionaryObject._clone.<locals>.<genexpr>Z  s
  øè è € ð 
ð 
ð ð ˜Ð&ð 	Ø˜�ð	å˜3Ÿ;š; uÑ-Ô-­~Ñ>Ô>ð	õ ˜3˜uœ:Õ'7Ñ8Ô8ð	ð
 —’˜ Ñ&Ô&¨$Ð.ð IÝÕ(¨#¨e¬*Ñ5Ô5×9Ò9¸'À4ÑHÔHÈDÐPðIà—7’7˜7 DÑ)Ô)ÝÕ(¨#¨e¬*Ñ5Ô5×9Ò9¸'À4ÑHÔHòIð
ð 
ð 
ð 
ð 
ð 
rG   )ú/Nextú/Prevú/Nú/V))r«   r¬   )r­   r®   r§   r™   rN   rM   )rj   rŸ   rQ   r•   r   Úanyr¨   r(   r™   r©   r@   ra   rN   ÚidnumÚ
generationÚaddrB   r)   rP   r¡   rf   rR   rA   rM   )rC   r¤   r<   rI   rJ   r£   r^   rg   rœ   ÚobjsÚcur_objÚprev_objÚclonr°   r±   ÚsÚcr�   Úvvs    `  `              rF   r¡   zDictionaryObject._clone:  sR  øø€ ð( Ð(Ð(Ð(Ý˜]Ñ+Ô+ˆØˆØ•#�mÑ$Ô$Ò$Ð$Ý˜-¨Ô*­CÑ0Ô0ð &Ý�˜]¨1Ô-Ñ.Ô.°!Ò3Ð3Ø% aÐ(Ø% aÐ(ØØ˜aÐ Ð Ô  AÑ%Ð Ð Ñ Ø�‰FˆAð •#�mÑ$Ô$Ò$Ð$õ ð 
ð 
ð 
ð 
ð 
ð 8ð
ñ 
ô 
ñ 
ô 
ñ @	õ ! Ñ/Ô/ˆMØ9ð 2ñ 2�Øð 1ñ 1�AØ�Dà˜S˜™Ø T˜M™MÝ& s§{¢{°1¡~¤~µ~ÑFÔFñ *å& s¨1¤vÕ/?Ñ@Ô@ñ *ð  ŸGšG G¨TÑ2Ô2Ð:Ý#Õ$4°c¸!´fÑ=Ô=×AÒAÀ'È4ÑPÔPÐXØ"Ÿwšw w°Ñ5Ô5Ý#Õ$4°c¸!´fÑ=Ô=×AÒAÀ'È4ÑPÔPò Qñ  Qõ ?CØ.°°A´ñ?ô ?˜ð @D˜Ø%Ð1Ý#'Ø 2Ø '× 8Ò 8Ø$+×$5Ò$5Ñ$7Ô$7¸À?ñ!"ô !"ñ$ô $˜Dð  $Ô6ÐBØ(,Ô(?Ô(E Ø-1Ô-DÔ-O 
Ø$)¨:Ð#6¸'Ð#AÐ#AØ.2 GØ$)Ø '§¢¨U°JÐ,?Ñ @Ô @Ð @Ø ŸKšK¨°$¨Ñ8Ô8Ð8Ø#+Ð#7Ð#7Ð#7Ø6:Ô6M˜H¥Z°¡]¤]Ñ3Ø'+˜Hð/Ø#*¨c¢> >Ø.2 G Gå.2Ð3EÀwÈqÄzÑ.RÔ.R GøøÝ#,ð /ð /ð /Ø*.   ð/øøøð1 &Ð1ð4 %)ð ð ™D˜A˜qØŸHšHØ ! 8¨_¸mÈWñô ð ð ùñ_1ðf —I’I‘K”Kð 	ð 	‰DˆAˆqØ˜Ð%Ð%Ý˜a¥Ñ.Ô.ð Ý" 1Ð&:Ñ;Ô;ð 4Ø/3˜Ô,ØŸš ¨?¸MÑJÔJ�BØÔ0Ð<Ð<Ð<Ø.0Ô.C�D˜Ÿš Ñ*Ô*Ñ+Ð+Ø˜d�]�]õ # 1 gÑ.Ô.ð˜Ÿš ¨/¸=ÑIÔIÐIàð � A™œÑ'øð	ð 	s   É-JÊJÊJc                 ó€   — t          | j        t          d„ |                      ¦   «         D ¦   «         ¦  «        f¦  «        S )rX   c              3   óH   K  — | ]\  }}||                      ¦   «         fV — Œd S rZ   r[   )r]   rœ   r�   s      rF   r_   z,DictionaryObject.hash_bin.<locals>.<genexpr>´  s3   è è € Ð#OÐ#O¹$¸!¸Q Q¨¯
ª
©¬Ð$5Ð#OÐ#OÐ#OÐ#OÐ#OÐ#OrG   )r`   ra   rb   rf   rc   s    rF   r\   zDictionaryObject.hash_bin«  s?   € õ ØŒ^�UÐ#OÐ#OÀ$Ç*Â*Á,Ä,Ð#OÑ#OÔ#OÑPÔPÐQñ
ô 
ð 	
rG   Úkeyc                 ó8   — t                                | |¦  «        S rZ   )r—   Ú__getitem__©rC   r¼   s     rF   r¨   zDictionaryObject.raw_get·  s   € Ý×Ò  cÑ*Ô*Ð*rG   Údefaultc                 ó  — | }t          ¦   «         }	 t          |¦  «        }||v rt          d|›d�¦  «        ‚|                     |¦  «         ||v r||         S d|vr|S t	          d|d                              ¦   «         ¦  «        }Œv)a>  
        Returns the value of a key or from the parent if not found.
        If not found returns default.

        Args:
            key: string identifying the field to return

            default: default value to return

        Returns:
            Current key or inherited one, otherwise default value.

        TzBDetected cycle in /Parent hierarchy when retrieving value for key ú.ú/Parentr™   )rk   Úidr!   r²   r   rS   )rC   r¼   rÀ   Úcurrentr£   Úobj_ids         rF   Úget_inheritedzDictionaryObject.get_inheritedº  sª   € ð ˆÝ™EœEˆð	å˜‘[”[ˆFØ˜Ð Ð Ý'Ð(uÐmpÐ(uÐ(uÐ(uÑvÔvÐvØ�KŠK˜ÑÔÐà�gˆ~ˆ~Ø˜s”|Ð#à Ð'Ð'Ø�õ Ø"Ø˜	Ô"×-Ò-Ñ/Ô/ñô ˆGð	rG   Úvaluec                 óÊ   — t          |t          ¦  «        st          d¦  «        ‚t          |t          ¦  «        st          d¦  «        ‚t                               | ||¦  «        S ©NzKey must be a PdfObjectzValue must be a PdfObject)rQ   r,   rx   r—   Ú__setitem__©rC   r¼   rÈ   s      rF   rË   zDictionaryObject.__setitem__Þ  s\   € Ý˜#�yÑ)Ô)ð 	8ÝÐ6Ñ7Ô7Ð7Ý˜%¥Ñ+Ô+ð 	:ÝÐ8Ñ9Ô9Ð9Ý×Ò  c¨5Ñ1Ô1Ð1rG   c                 óÊ   — t          |t          ¦  «        st          d¦  «        ‚t          |t          ¦  «        st          d¦  «        ‚t                               | ||¦  «        S rÊ   )rQ   r,   rx   r—   Ú
setdefaultrÌ   s      rF   rÎ   zDictionaryObject.setdefaultå  sZ   € Ý˜#�yÑ)Ô)ð 	8ÝÐ6Ñ7Ô7Ð7Ý˜%¥Ñ+Ô+ð 	:ÝÐ8Ñ9Ô9Ð9Ý�Š˜t S¨%Ñ0Ô0Ð0rG   c                 ó‚   — t          t          t                               | |¦  «                             ¦   «         ¦  «        S rZ   )r   r,   r—   r¾   rS   r¿   s     rF   r¾   zDictionaryObject.__getitem__ì  s.   € Ý•I�t×/Ò/°°cÑ:Ô:×EÒEÑGÔGÑHÔHÐHrG   c                 ó²   — ddl m} |                      dd¦  «        }t          |¦  «        rdS |€
J d¦   «         ‚|                     ¦   «         } ||¦  «        S )u¦  
        Retrieve XMP (Extensible Metadata Platform) data relevant to this
        object, if available.

        See Table 347 â€” Additional entries in a metadata stream dictionary.

        Returns:
          Returns a :class:`~pypdf.xmp.XmpInformation` instance
          that can be used to access XMP metadata from the document. Can also
          return None if no metadata was found on the document root.

        r   )ÚXmpInformationz	/MetadataNÚmypy)ÚxmprÑ   r©   r.   rS   )rC   rÑ   Úmetadatas      rF   Úxmp_metadatazDictionaryObject.xmp_metadataï  ss   € ð 	)Ð(Ð(Ð(Ð(Ð(à—8’8˜K¨Ñ.Ô.ˆÝ˜8Ñ$Ô$ð 	Ø�4ØÐ#Ð# VÑ#Ô#Ð#Ø×&Ò&Ñ(Ô(ˆØˆ~˜hÑ'Ô'Ð'rG   rz   r{   c                 ó´  — |�t          dd¦  «         |                     d¦  «         |                      ¦   «         D ]†\  }}t          |¦  «        dk    r|d         dk    r|d         dk    rŒ1|                     ||¦  «         |                     d¦  «         |                     |¦  «         |                     d	¦  «         Œ‡|                     d
¦  «         d S )Nr}   r~   ó   <<
r   r$   ú%r†   r€   ó   
ó   >>)r   r�   rf   rŸ   r‚   )rC   rz   r{   r¼   rÈ   s        rF   r‚   z DictionaryObject.write_to_stream  sã   € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š�WÑÔÐØŸ*š*™,œ,ð 	 ð 	 ‰JˆC�Ý�3‰xŒx˜!Š|ˆ|  A¤¨#¢ °#°b´'¸S².°.ØØ×Ò ¨Ñ7Ô7Ð7Ø�LŠL˜ÑÔÐØ×!Ò! &Ñ)Ô)Ð)Ø�LŠL˜ÑÔÐÐØ�Š�UÑÔÐÐÐrG   Úposition_beforeÚposition_endÚgenerationsrO   c                 ó˜   — |}|D ]D}|j         |                              ¦   «         D ]"}||cxk     r|k    rn Œt          ||¦  «        }Œ#ŒE|S rZ   )ÚxrefÚvaluesÚmin)ÚclsrÛ   rÜ   rÝ   rO   Úoutr±   r^   s           rF   Ú_get_next_object_positionz*DictionaryObject._get_next_object_position  sv   € ð ˆØ%ð 	&ð 	&ˆJØ”X˜jÔ)×0Ò0Ñ2Ô2ð &ð &�Ø" QÐ6Ð6Ò6Ð6¨,Ò6Ð6Ð6Ð6Ð6Ý˜c 1™+œ+�Cøð&ð ˆ
rG   Úlengthc                ó\  — |                      ¦   «         }	 |                     dt          j        ¦  «         |                      ¦   «         }|                     |¦  «         n# |                     |¦  «         w xY w|                      ||t          |j        ¦  «        |¬¦  «        }||z
  }||k    rt          d|› d�¦  «        ‚|                     |¦  «        }| 	                    d¦  «        }	|	dk     rt          d|› d�¦  «        ‚|                     ||	z   dz   ¦  «         |d |	d	z
  …         S )
Nr   )rÛ   rÜ   rÝ   rO   zRequested length of ú  exceeds maximum allowed length.ó	   endstreamz6Unable to find 'endstream' marker for obj starting at rÂ   é	   r$   )ÚtellrŠ   ÚosÚSEEK_ENDrä   rj   rß   r!   rˆ   Úfindr"   )
râ   rz   rO   rå   Úcurrent_positionÚstream_lengthÚobject_positionÚbytes_to_readÚ
read_valueÚendstream_positions
             rF   Ú_read_unsized_from_streamz*DictionaryObject._read_unsized_from_stream"  sT  € ð "Ÿ;š;™=œ=Ðð	*Ø�KŠK˜�2œ;Ñ'Ô'Ð'Ø"ŸKšK™MœMˆMà�KŠKÐ(Ñ)Ô)Ð)Ð)øˆF�KŠKÐ(Ñ)Ô)Ð)Ð)øøøà×7Ò7Ø,¸=ÕVZÐ[^Ô[cÑVdÔVdÐjmð 8ñ 
ô 
ˆð (Ð*:Ñ:ˆØ˜FÒ"Ð"Ý#Ð$j¸=Ð$jÐ$jÐ$jÑkÔkÐkð —[’[ Ñ/Ô/ˆ
Ø'Ÿ_š_¨\Ñ:Ô:ÐØ Ò!Ð!ÝØ\ÐIYÐ\Ð\Ð\ñô ð ð 	�ŠÐ$Ð'9Ñ9¸AÑ=Ñ>Ô>Ð>ØÐ2Ð.°Ñ2Ð2Ô3Ð3s   –4A  Á A7rƒ   c           	      óØ  — |                       d¦  «        }|dk    r2t          dt          |                      ¦   «         ¦  «        › d�¦  «        ‚i }	 t	          | ¦  «        }|dk    rŒ|dk    r&|                      dd	¦  «         t          | ¦  «         ŒC|st          t          ¦  «        ‚|d
k    r|                       d	¦  «         �nû|                      dd	¦  «         	 	 t          | |¦  «        }t          |t          ¦  «        r�n¼t          |t          ¦  «        st          d|›�¦  «        ‚n9# t          $ r,}|�|j        r‚ t          dt          |¬¦  «         Y d }~�Œd }~ww xY wt	          | ¦  «        }|                      dd	¦  «         t          | ||¦  «        }n²# t           t"          f$ r&}t          |                     ¦   «         ¦  «        ‚d }~wt&          $ rp}|�(|j        r!t          |                     ¦   «         ¦  «        ‚t          dt          |¬¦  «         t)          ¦   «         }	|	                     |¦  «         |	cY d }~S d }~ww xY w|                     |¦  «        s|||<   nUd}
t          |                      ¦   «         ¦  «        |dœ}|�|j        rt          |
|z  ¦  «        ‚t          |
fdt          i|¤Ž �Œp|                      ¦   «         }t	          | ¦  «        }|dk    �r(|                       d¦  «        dk    �r|                       d	¦  «        }|dk    r|                       d	¦  «        }|dk    °|dvrt          d¦  «        ‚|dk    r/|                       d	¦  «        dk    r|                      dd	¦  «         t.          j        |vrj|�|j        rt          d¦  «        ‚t          dt          |                      ¦   «         ¬¦  «         t3          d¦  «        |t          t.          j        ¦  «        <   |t.          j                 }t          |t4          ¦  «        rK|                      ¦   «         }|€
J d¦   «         ‚|                     |¦  «        }|                      |d¦  «         |€d}|                      ¦   «         }ddlm} |dk    r2||k    rt#          d|› d �¦  «        ‚|                       |¦  «        |d!<   n't=          | t?          j         d"¦  «        |¬#¦  «        |d!<   t	          | ¦  «        }|                       d$¦  «        }||z   d"k    rû|                      ¦   «         }|                      d%d	¦  «         |                       d&¦  «        }|d"k    r|d!         d d…         |d!<   n¹|�R|j        sK|                      |d¦  «         t(           !                    | ||¬'¦  «        |d!<   |                      ¦   «         }ne|                      |d¦  «         t          d(t          |                      ¦   «         ¦  «        › d)|›d*|›d+�¦  «        ‚n|                      |d¦  «         d!|v rtD           #                    |¦  «        S t)          ¦   «         }	|	                     |¦  «         |	S ),Nr   ó   <<zDictionary read error at byte z: stream must begin with '<<'Tó    r…   r†   r$   ó   >z)Expecting a NameObject for key but found z%(exception)r)ÚsourceÚ	exceptionzGMultiple definitions in dictionary at byte %(position)s for key %(key)s)Úpositionr¼   rù   ó   sé   s   treamr€   )rÙ   ó   z)Stream data must be followed by a newlinerþ   rÙ   zStream length not definedz+Stream length not defined @pos=%(position)d)rù   rû   rÒ   r   )ÚMAX_DECLARED_STREAM_LENGTHzDeclared stream length of rç   Ú__streamdata__rè   ©rz   Úregexrå   é   iöÿÿÿré   )rz   rO   rå   z7Unable to find 'endstream' marker after stream at byte z (nd='z', end='z').)$rˆ   r"   Úhexrê   r   rŠ   r   r#   r    r‹   rQ   r*   r)   Ústrictr   r‘   ÚRecursionErrorr!   Ú__repr__rP   r™   Úupdater©   r   ÚLENGTHr+   r(   rS   Úfiltersrÿ   r   ÚreÚcompilerô   rR   Úinitialize_from_dictionary)rz   rO   rƒ   rŒ   rE   r�   r¼   ÚexcrÈ   ÚretvalÚmsgrà   Úposr·   Úeolrå   ÚtÚpstartrÿ   ÚeÚndstreamÚends                         rF   r�   z!DictionaryObject.read_from_streamB  sâ  € ð �kŠk˜!‰nŒnˆØ�%Š<ˆ<Ýð.µ°V·[²[±]´]Ñ1CÔ1Cð .ð .ð .ñô ð ð  "ˆð5	?Ý% fÑ-Ô-ˆCØ�gŠ~ˆ~ØØ�dŠ{ˆ{Ø—’˜B Ñ"Ô"Ð"Ý! &Ñ)Ô)Ð)ØØð CÝ$Õ%AÑBÔBÐBà�dŠ{ˆ{Ø—’˜A‘”�ÙØ�KŠK˜˜AÑÔÐððÝ% f¨cÑ2Ô2�CÝ! #¥zÑ2Ô2ð ÙÝ% c­:Ñ6Ô6ð Ý*ØOÈÐOÐOñô ð ðøõ $ð ð ð Ø�¨3¬:�ØÝ" ?½8ÈsÐSÑSÔSÐSØ�H�H�H‘Høøøøð	øøøõ
 *¨&Ñ1Ô1�Ø—’˜B Ñ"Ô"Ð"Ý# F¨C°ÑAÔA��øÝ"Õ$5Ð6ð 3ð 3ð 3Ý" 3§<¢<¡>¤>Ñ2Ô2Ð2øøøøÝð ð ð Ø�? s¤z�?Ý& s§|¢|¡~¤~Ñ6Ô6Ð6Ý˜µxÈ3ÐOÑOÔOÐOÝ)Ñ+Ô+�Ø—’˜dÑ#Ô#Ð#Ø������øøøøðøøøð —8’8˜C‘=”=ð ?Ø!��S‘	�	ð3ð õ '*¨&¯+ª+©-¬-Ñ&8Ô&8ÀÐEÐE�Ø�? s¤z�?Ý& s¨V¡|Ñ4Ô4Ð4Ý˜sÐ>Ð>­8Ð>°vÐ>Ð>Ð>ñk5	?ðn �kŠk‰mŒmˆÝ Ñ'Ô'ˆØ�Š9‰9˜Ÿš Q™œ¨8Ò3Ñ3Ø—+’+˜a‘.”.ˆCð ˜’+�+Ø—k’k !‘n”n�ð ˜’+�+à˜.Ð(Ð(Ý$Ð%PÑQÔQÐQØ�eŠ|ˆ| §¢¨A¡¤°%Ò 7Ð 7Ø—’˜B Ñ"Ô"Ð"åÔ&¨dÐ2Ð2Ø�? s¤z�?Ý(Ð)DÑEÔEÐEÝØAÝ#Ø#Ÿ[š[™]œ]ðñ ô ð õ
 =IÈÑ<LÔ<L�•ZÕ 0Ô 7Ñ8Ô8Ñ9ØÕ*Ô1Ô2ˆFÝ˜&¥.Ñ1Ô1ð "Ø—K’K‘M”M�Ø��¨‘”�ØŸš¨Ñ/Ô/�Ø—’˜A˜qÑ!Ô!Ð!Øˆ~Ø�Ø—[’[‘]”]ˆFà<Ð<Ð<Ð<Ð<Ð<Ø˜Š{ˆ{ØÐ6Ò6Ð6Ý+Ð,qÈÐ,qÐ,qÐ,qÑrÔrÐrà)/¯ª°VÑ)<Ô)<�Ð%Ñ&Ð&å)9Ø!­¬°LÑ)AÔ)AÐJdð*ñ *ô *�Ð%Ñ&õ $ FÑ+Ô+ˆAØ—{’{ 1‘~”~ˆHØ�H‘ Ò-Ð-ð —k’k‘m”m�Ø—’˜C Ñ#Ô#Ð#Ø—k’k !‘n”n�Ø˜,Ò&Ð&à-1Ð2BÔ-CÀCÀRÀCÔ-H�DÐ)Ñ*Ð*Ø�_¨S¬Z�_Ø—K’K ¨Ñ*Ô*Ð*Ý-=×-WÒ-WØ%¨3Ð7Qð .Xñ .ô .�DÐ)Ñ*ð !Ÿ+š+™-œ-�C�Cà—K’K  QÑ'Ô'Ð'Ý&ðTÝ˜vŸ{š{™}œ}Ñ-Ô-ðTð TØ5=ðTð TØILðTð Tð Tñô ð ð+ .ð4 �KŠK˜˜QÑÔÐØ˜tÐ#Ð#Ý×:Ò:¸4Ñ@Ô@Ð@Ý!Ñ#Ô#ˆØ�Š�dÑÔÐØˆsU   Ã%D- Ä'D- Ä,F Ä-
E#Ä7!EÅF ÅE#Å#9F ÆIÆ.!GÇIÇA%IÉIÉIr�   rZ   )&r‘   r’   r“   r   r?   r”   r	   r   r
   rl   r•   rM   rk   rb   r¡   r\   r   r¨   rÇ   rË   rÎ   r,   r¾   Úpropertyr   rÕ   r   rm   r‚   Úclassmethodrj   r   rä   r   rô   r–   r—   r�   rH   rG   rF   r™   r™     sr  € € € € € ðà#ðð 
ðð ð ð ð" !&Ø=?ð	ð à#ðð ðð   ¨¨s°C¨x¬Ô 9Ô:ð	ð
 
ðð ð ð ð0oàðoð $ðoð ð	oð
   ¨¨s°C¨x¬Ô 9Ô:ðoð �U˜3 ˜8”_Ô%ðoð 
ðoð oð oð oðb

˜#ð 

ð 

ð 

ð 

ð+˜3ð + 3ð +ð +ð +ð +ð"ð " ð "¨sð "¸cð "ð "ð "ð "ðH2˜sð 2¨3ð 2°3ð 2ð 2ð 2ð 2ð1ð 1˜cð 1¨(°3¬-ð 1À3ð 1ð 1ð 1ð 1ðI˜sð I yð Ið Ið Ið Ið ð(˜hÐ'=Ô>ð (ð (ð (ñ „Xð(ð. MQðð Ø ðØ27¸¸UÀDÐ8HÔ2Iðà	ðð ð ð ð" ðØ"%ðØ58ðØGKÈCÄyðØWhðà	ðð ð ñ „[ðð ð4Ø,ð4Ø3Dð4ØNQð4à	ð4ð 4ð 4ñ „[ð4ð> ð HLðNð NØðNàÐ'Ô(ðNð ˜s D¨¤I¨t°C¸°H¬~¸tÐCÔDðNð 
ð	Nð Nð Nñ „\ðNð Nð NrG   r™   c                   ó4  — e Zd Zddee         ddfd„Zdefd„Zdefd„Z	de
e         fd„Zded	eddfd
„Zdeed df         deddfd„Zdeed df         deddfd„Z	 ddeded	edeedef                  def
d„Zdededededdf
d„Zdeddfd„Zdd„Zdd„ZdS )Ú
TreeObjectNÚdctr=   c                 ól   — t                                | ¦  «         |r|                      |¦  «         d S d S rZ   )r™   Ú__init__r  )rC   r  s     rF   r  zTreeObject.__init__Õ  s@   € Ý×!Ò! $Ñ'Ô'Ð'Øð 	Ø�KŠK˜ÑÔÐÐÐð	ð 	rG   c                 ó
   — d| v S )Nú/FirstrH   rc   s    rF   Úhas_childrenzTreeObject.has_childrenÚ  s   € Ø˜4ÐÐrG   c                 ó*   — |                       ¦   «         S rZ   )Úchildrenrc   s    rF   Ú__iter__zTreeObject.__iter__Ý  s   € Ø�}Š}‰ŒÐrG   c              #   óö  K  — |                       ¦   «         sd S | t          d¦  «                 }| t          d¦  «                 }|                     ¦   «         }t          ¦   «         }	 t	          |¦  «        }||v rt          dt          |¬¦  «         d S |                     |¦  «         |V — ||k    rd S |                     t          d¦  «        ¦  «        }t          |¦  «        rd S |                     ¦   «         }Œ•)Nr   ú/LastTz1Detected cycle in outline structure for %(child)s)rù   Úchildr«   )
r!  r)   rS   rk   rÄ   r   r‘   r²   r©   r.   )rC   Ú	child_refÚlastr'  r£   Úchild_ids         rF   r#  zTreeObject.childrenà  s  è è € Ø× Ò Ñ"Ô"ð 	ØˆFà� HÑ-Ô-Ô.ˆ	Ø•J˜wÑ'Ô'Ô(ˆØ×$Ò$Ñ&Ô&ˆÝ™EœEˆð	+Ý˜%‘y”yˆHØ˜7Ð"Ð"ÝÐRÕ[cÐkpÐqÑqÔqÐqØ�Ø�KŠK˜Ñ!Ô!Ð!àˆKˆKˆKà˜Š}ˆ}Ø�ØŸ	š	¥*¨WÑ"5Ô"5Ñ6Ô6ˆIÝ˜yÑ)Ô)ð Ø�Ø×(Ò(Ñ*Ô*ˆEð	+rG   r'  rO   c                 ó4   — |                       |d |¦  «         d S rZ   )Úinsert_child)rC   r'  rO   s      rF   Ú	add_childzTreeObject.add_childø  s    € Ø×Ò˜%  sÑ+Ô+Ð+Ð+Ð+rG   ÚparentÚnc                 ó�  — t          |¦  «        rd S |€
J d¦   «         ‚t          d|                     ¦   «         ¦  «        }d|v r‚t          t	          dt          t
          |t          d¦  «                 ¦  «        |z   ¦  «        ¦  «        |t          d¦  «        <   |                      |                     dd ¦  «        |¦  «         d S d S )NrÒ   r  ú/Countr   rÃ   )	r.   r   rS   r+   Úmaxr•   r)   Úinc_parent_counter_defaultr©   )rC   r.  r/  s      rF   r3  z%TreeObject.inc_parent_counter_defaultû  sÌ   € õ ˜6Ñ"Ô"ð 	ØˆFØÐ!Ð! 6Ñ!Ô!Ð!Ý�l F×$5Ò$5Ñ$7Ô$7Ñ8Ô8ˆØ�vÐÐÝ+7Ý�A•t�C ­
°8Ñ(<Ô(<Ô!=Ñ>Ô>ÀÑBÑCÔCñ,ô ,ˆF•:˜hÑ'Ô'Ñ(ð ×+Ò+¨F¯JªJ°yÀ$Ñ,GÔ,GÈÑKÔKÐKÐKÐKð	 ÐrG   c                 óâ  — t          |¦  «        rd S |€
J d¦   «         ‚t          d|                     ¦   «         ¦  «        }|                     dd¦  «        dk    }t          t          |                     dd¦  «        ¦  «        }|dk     rt          |¦  «        }t          ||z   |rdndz  ¦  «        |t          d¦  «        <   |sd S |                      |                     d	d ¦  «        |¦  «         d S )
NrÒ   r  z
/%is_open%Tr1  r   r$   r†   rÃ   )	r.   r   rS   r©   r•   Úabsr+   r)   Úinc_parent_counter_outline)rC   r.  r/  Úopnr¸   s        rF   r6  z%TreeObject.inc_parent_counter_outline  sô   € õ ˜6Ñ"Ô"ð 	ØˆFØÐ!Ð! 6Ñ!Ô!Ð!Ý�l F×$5Ò$5Ñ$7Ô$7Ñ8Ô8ˆà�jŠj˜ tÑ,Ô,°Ò4ˆÝ•�f—j’j ¨1Ñ-Ô-Ñ.Ô.ˆØˆqŠ5ˆ5Ý�A‘”ˆAÝ'3°Q¸±UÀCÐ?O¸q¸qÈRÑ4PÑ'QÔ'Qˆ�z˜(Ñ#Ô#Ñ$Øð 	ØˆFØ×'Ò'¨¯
ª
°9¸dÑ(CÔ(CÀQÑGÔGÐGÐGÐGrG   ÚbeforeÚinc_parent_counter.c                 ó@  — |€| j         }|                     ¦   «         }|j        €
J d¦   «         ‚|j        }d| vrŠ|| t          d¦  «        <   t	          d¦  «        | t          d¦  «        <   || t          d¦  «        <   | j        |t          d¦  «        <    || |                     dd¦  «        ¦  «         d|v r|d= d	|v r|d	= |S t          d
| d         ¦  «        }t          ¦   «         }|j        |k    rÛt          |¦  «        }	|	|v rt          d¦  «        ‚| 
                    |	¦  «         d|v rt          d|d         ¦  «        }Œ]t          d|¦  «        |t          d¦  «        <   |j        |t          d	¦  «        <   | j        |t          d¦  «        <   d|v r|d= || t          d¦  «        <    || |                     dd¦  «        ¦  «         |S 	 t          |d	         t          ¦  «        sJ ‚||d	         t          d¦  «        <   |d	         |t          d	¦  «        <   n&# t          $ r |                     dd ¦  «         Y nw xY w||t          d¦  «        <   ||t          d	¦  «        <   | j        |t          d¦  «        <    || |                     dd¦  «        ¦  «         |S )NrÒ   r   r   r1  r&  rÃ   r$   r«   r¬   r™   z!Detected cycle in tree structure.r  )r3  rS   rN   r)   r+   r©   r   rk   rÄ   r!   r²   rQ   r™   rP   Úpop)
rC   r'  r8  rO   r9  Ú	child_objÚchild_referenceÚprevr£   Úprev_ids
             rF   r,  zTreeObject.insert_child  sç  € ð Ð%Ø!%Ô!@ÐØ×$Ò$Ñ&Ô&ˆ	ØÔ'Ð3Ð3°VÑ3Ô3Ð3Ø*/Ô*Bˆð ˜4ÐÐØ)8ˆD•˜HÑ%Ô%Ñ&Ý)5°a©¬ˆD•˜HÑ%Ô%Ñ&Ø(7ˆD•˜GÑ$Ô$Ñ%Ø/3Ô/FˆI•j Ñ+Ô+Ñ,ØÐ˜t Y§]¢]°8¸QÑ%?Ô%?Ñ@Ô@Ð@Ø˜)Ð#Ð#Ø˜gÐ&Ø˜)Ð#Ð#Ø˜gÐ&Ø"Ð"ÝÐ&¨¨W¬Ñ6Ô6ˆå™EœEˆØÔ%¨Ò/Ð/Ý˜‘h”hˆGØ˜'Ð!Ð!Ý'Ð(KÑLÔLÐLØ�KŠK˜Ñ Ô Ð Ø˜$ˆˆÝ˜L¨$¨w¬-Ñ8Ô8�Øõ )-¨\¸?Ñ(KÔ(KˆD•˜GÑ$Ô$Ñ%Ø-1Ô-DˆI•j Ñ)Ô)Ñ*Ø/3Ô/FˆI•j Ñ+Ô+Ñ,Ø˜)Ð#Ð#Ø˜gÐ&Ø(7ˆD•˜GÑ$Ô$Ñ%ØÐ˜t Y§]¢]°8¸QÑ%?Ô%?Ñ@Ô@Ð@Ø"Ð"ð	)Ý˜d 7œmÕ-=Ñ>Ô>Ð>Ð>Ð>Ø1@ˆD�ŒM�* WÑ-Ô-Ñ.Ø-1°'¬]ˆI•j Ñ)Ô)Ñ*Ð*øÝð 	)ð 	)ð 	)Ø�MŠM˜' 4Ñ(Ô(Ð(Ð(Ð(ð	)øøøà)-ˆ	•*˜WÑ%Ô%Ñ&Ø$3ˆ�Z˜Ñ Ô Ñ!Ø+/Ô+Bˆ	•*˜YÑ'Ô'Ñ(ØÐ˜4 §¢¨x¸Ñ!;Ô!;Ñ<Ô<Ð<ØÐs   ÇAH È I È?I r>  Úprev_refÚcurr)  c                 ó
  — |                      t          d¦  «        d¦  «        }|€Ã|rm|                     ¦   «         }|t          d¦  «        = || t          d¦  «        <   t          | t          d¦  «                 dz
  ¦  «        | t          d¦  «        <   dS t          d¦  «        | t          d¦  «        <   | t          d¦  «        = t          d¦  «        | v r| t          d¦  «        = dS dS |r9|                     ¦   «         }||t          d¦  «        <   ||t          d¦  «        <   n*||k    sJ ‚|t          d¦  «        = || t          d¦  «        <   t          | t          d¦  «                 dz
  ¦  «        | t          d¦  «        <   dS )	z¨
        Adjust the pointers of the linked list and tree node count.

        Args:
            prev:
            prev_ref:
            cur:
            last:

        r«   Nr¬   r   r1  r$   r   r&  )r©   r)   rS   r+   )rC   r>  r@  rA  r)  Únext_refÚnext_objs          rF   Ú_remove_node_from_treez!TreeObject._remove_node_from_treeS  s—  € ð —7’7�: gÑ.Ô.°Ñ5Ô5ˆØˆ<Øð 2à#×.Ò.Ñ0Ô0�Ø�Z¨Ñ0Ô0Ð1Ø-5�•Z Ñ)Ô)Ñ*Ý-9Ø� HÑ-Ô-Ô.°Ñ2ñ.ô .�•Z Ñ)Ô)Ñ*Ð*Ð*õ .:¸!©_¬_�•Z Ñ)Ô)Ñ*Ø� HÑ-Ô-Ð.Ý˜gÑ&Ô&¨$Ð.Ð.Ø�Z¨Ñ0Ô0Ð1Ð1Ð1ð /Ð.ð ð 	5à#×.Ò.Ñ0Ô0�Ø08�� GÑ,Ô,Ñ-Ø,4�•Z Ñ(Ô(Ñ)Ð)ð ˜d’{�{�{�{Ø� GÑ,Ô,Ð-Ø,4�•Z Ñ(Ô(Ñ)Ý)5°d½:ÀhÑ;OÔ;OÔ6PÐSTÑ6TÑ)UÔ)UˆD•˜HÑ%Ô%Ñ&Ð&Ð&rG   c                 óŒ  — |                      ¦   «         }|j        }t          d¦  «        |vrt          d¦  «        ‚|t          d¦  «                 | k    rt          d¦  «        ‚d}d }d }| t          d¦  «                 }|                      ¦   «         }| t          d¦  «                 }|                      ¦   «         }	|�f||k    r|                      ||||	¦  «         d}nE|}|}t          d¦  «        |v r*|t          d¦  «                 }|                      ¦   «         }nd }d }|­f|st          d	¦  «        ‚t          |¦  «         d S )
NrÃ   ú/Removed child does not appear to be a tree itemz*Removed child is not a member of this treeFr   r&  Tr«   z"Removal couldn't find item in tree)rS   rN   r)   rx   rE  Ú_reset_node_tree_relationship)
rC   r'  r<  Úfoundr@  r>  Úcur_refrA  Úlast_refr)  s
             rF   Úremove_childzTreeObject.remove_child~  sn  € Ø×$Ò$Ñ&Ô&ˆ	ØÔ,ˆå�iÑ Ô ¨	Ð1Ð1ÝÐNÑOÔOÐOØ•Z 	Ñ*Ô*Ô+¨tÒ3Ð3ÝÐIÑJÔJÐJàˆØˆØˆØ!%¥j°Ñ&:Ô&:Ô!;ˆØ(/×(:Ò(:Ñ(<Ô(<ˆØ�
 7Ñ+Ô+Ô,ˆØ×"Ò"Ñ$Ô$ˆØˆoØ�iÒÐØ×+Ò+¨D°(¸CÀÑFÔFÐFØ�Øð ˆHØˆDÝ˜'Ñ"Ô" cÐ)Ð)Ø�j¨Ñ1Ô1Ô2�Ø×(Ò(Ñ*Ô*��à�Ø�ð ˆoð  ð 	CÝÐAÑBÔBÐBå% iÑ0Ô0Ð0Ð0Ð0rG   c                 ó˜   — t          d¦  «        | vrt          d¦  «        ‚t          d| d         ¦  «                             | ¦  «         dS )z)Remove the object from the tree it is in.rÃ   rG  r  N)r)   rx   r   rL  rc   s    rF   Úremove_from_treezTreeObject.remove_from_tree£  sL   € å�iÑ Ô ¨Ð,Ð,ÝÐNÑOÔOÐOÝˆ\˜4 	œ?Ñ+Ô+×8Ò8¸Ñ>Ô>Ð>Ð>Ð>rG   c                 ó   — | D ]%}|                      ¦   «         }t          |¦  «         Œ&t          d¦  «        | v r| t          d¦  «        = t          d¦  «        | v r| t          d¦  «        = t          d¦  «        | v r| t          d¦  «        = d S d S )Nr1  r   r&  )rS   rH  r)   )rC   r'  r<  s      rF   Ú
empty_treezTreeObject.empty_tree©  sª   € Øð 	5ð 	5ˆEØ×(Ò(Ñ*Ô*ˆIÝ)¨)Ñ4Ô4Ð4Ð4å�hÑÔ 4Ð'Ð'Ø•Z Ñ)Ô)Ð*Ý�hÑÔ 4Ð'Ð'Ø•Z Ñ)Ô)Ð*Ý�gÑÔ $Ð&Ð&Ø•Z Ñ(Ô(Ð)Ð)Ð)ð 'Ð&rG   rZ   ©r=   N)r‘   r’   r“   r	   r™   r  r”   r!  r   r$  r   r#  r   r-  r
   r(   r•   r3  r6  r   r,  rE  rL  rN  rP  rH   rG   rF   r  r  Ô  s-  € € € € € ðð ˜HÐ%5Ô6ð À$ð ð ð ð ð
 ˜dð  ð  ð  ð  ð˜#ð ð ð ð ð+˜( 3œ-ð +ð +ð +ð +ð0,˜sð ,Ð):ð ,¸tð ,ð ,ð ,ð ,ðLØ˜N¨L¸$Ð>Ô?ðLØDGðLà	ðLð Lð Lð LðHØ˜N¨L¸$Ð>Ô?ðHØDGðHà	ðHð Hð Hð Hð, <@ð8ð 8àð8ð ð8ð ð	8ð
 % X¨c°3¨hÔ%7Ô8ð8ð 
ð8ð 8ð 8ð 8ðt)VØð)VØ#&ð)VØ-0ð)VØ8;ð)Và	ð)Vð )Vð )Vð )VðV#1 #ð #1¨$ð #1ð #1ð #1ð #1ðJ?ð ?ð ?ð ?ð
*ð 
*ð 
*ð 
*ð 
*ð 
*rG   r  r<  r=   c                 ó®   — | t          d¦  «        = t          d¦  «        | v r| t          d¦  «        = t          d¦  «        | v r| t          d¦  «        = dS dS )zœ
    Call this after a node has been removed from a tree.

    This resets the nodes attributes in respect to that tree.

    Args:
        child_obj:

    rÃ   r«   r¬   N)r)   )r<  s    rF   rH  rH  ¶  sh   € ð 	•*˜YÑ'Ô'Ð(Ý�'ÑÔ˜iÐ'Ð'Ø•j Ñ)Ô)Ð*Ý�'ÑÔ˜iÐ'Ð'Ø•j Ñ)Ô)Ð*Ð*Ð*ð (Ð'rG   c                   óz  ‡ — e Zd Zdd„Zdedd fd„Zdedededee	e
eef                           d	eeeef                  ddfˆ fd
„Zdefˆ fd„Zdefd„Zdeddfd„Zdefˆ fd„Z	 ddede
eedf         ddfd„Zedeeef         de
d         fd„¦   «         Zddeddfd„Zdde
eeef         df         defd„Zˆ xZS )rR   r=   Nc                 ó"   — d| _         d | _        d S ©NrG   )Ú_dataÚdecoded_selfrc   s    rF   r  zStreamObject.__init__È  s   € ØˆŒ
Ø;?ˆÔÐÐrG   r<   c                 óÐ  — t          d|                      |                      ¦   «         |d¦  «        ¦  «        }| j        |_        	 | j        }|€d | _        n(t          d|                     |¦  «        ¦  «        | _        n# t          $ r Y nw xY w|                      ¦   «         D ]B\  }}t          |d¦  «        r|                     |¦  «        n|||                     |¦  «        <   ŒC|S )NrR   FÚDecodedStreamObjectr?   )	r   r@   ra   rV  rW  r?   rP   rf   rA   ©rC   r<   r›   rW  rœ   r�   s         rF   r?   zStreamObject.replicateÌ  s  € õ ØØ×!Ò! $§.¢.Ñ"2Ô"2°H¸eÑDÔDñ
ô 
ˆð ”JˆŒ	ð		ØÔ,ˆLØÐ#Ø$(�Ô!Ð!å$(Ø)¨<×+AÒ+AÀ(Ñ+KÔ+Kñ%ô %�Ô!øøõ ð 	ð 	ð 	ØˆDð	øøøà—J’J‘L”Lð 	ð 	‰DˆAˆqå)0°°KÑ)@Ô)@ÐG�—’˜HÑ%Ô%Ð%Àað �—’˜HÑ%Ô%Ñ&Ð&ð ˆ
s   Á9A? Á?
BÂBr¤   rI   rJ   r£   c                 ó<  •— t          d|¦  «        j        | _        	 t          d|¦  «        j        }|€d| _        n*t          d|                     |||¦  «        ¦  «        | _        n# t          $ r Y nw xY wt          ¦   «                              |||||¦  «         dS )úœ
        Update the object from src.

        Args:
            src:
            pdf_dest:
            force_duplicate:
            ignore_fields:

        rR   NrY  )r   rV  rW  rM   rP   Úsuperr¡   )rC   r¤   r<   rI   rJ   r£   rW  ra   s          €rF   r¡   zStreamObject._cloneå  s²   ø€ õ$ ˜.¨#Ñ.Ô.Ô4ˆŒ
ð
	Ý °Ñ4Ô4ÔAˆLØÐ#Ø$(�Ô!Ð!å$(Ø)Ø ×&Ò& x°À-ÑPÔPñ%ô %�Ô!øøõ ð 	ð 	ð 	ØˆDð	øøøå‰Œ�Š�s˜H o°}ÀgÑNÔNÐNÐNÐNs   �A	A' Á'
A4Á3A4c                 ól   •— t          t          ¦   «                              ¦   «         | j        f¦  «        S )rX   )r`   r]  r\   rV  )rC   ra   s    €rF   r\   zStreamObject.hash_bin  s*   ø€ õ •U‘W”W×%Ò%Ñ'Ô'¨¬Ð4Ñ5Ô5Ð5rG   c                 ó   — | j         S rZ   ©rV  rc   s    rF   Úget_datazStreamObject.get_data  s
   € ØŒzÐrG   rE   c                 ó   — || _         d S rZ   r`  )rC   rE   s     rF   Úset_datazStreamObject.set_data  s   € ØˆŒ
ˆ
ˆ
rG   c                 óv   •— t          ¦   «                              ¦   «         }||                      ¦   «         z  }|S rZ   )r]  Úhash_value_datara  ©rC   rE   ra   s     €rF   re  zStreamObject.hash_value_data  s/   ø€ Ý‰wŒw×&Ò&Ñ(Ô(ˆØ�—’‘”ÑˆØˆrG   rz   r{   c                 óx  — |�t          dd¦  «         t          t          | j        ¦  «        ¦  «        | t	          t
          j        ¦  «        <   t                               | |¦  «         | t
          j        = | 	                    d¦  «         | 	                    | j        ¦  «         | 	                    d¦  «         d S )Nr}   r~   s   
stream
s
   
endstream)
r   r+   rŸ   rV  r)   r   r	  r™   r‚   r�   )rC   rz   r{   s      rF   r‚   zStreamObject.write_to_stream  sª   € ð Ð%Ý&ØAÀ7ñô ð õ 5AÅÀTÄZÁÄÑ4QÔ4Qˆ�ZÕ(Ô/Ñ0Ô0Ñ1Ý×(Ò(¨¨vÑ6Ô6Ð6ØÕ!Ô(Ð)Ø�Š�]Ñ#Ô#Ð#Ø�Š�T”ZÑ Ô Ð Ø�Š�^Ñ$Ô$Ð$Ð$Ð$rG   )ÚEncodedStreamObjectrY  c                 óÜ   — t           j        | v rt          ¦   «         }nt          ¦   «         }| d         |_        | d= t           j        | v r| t           j        = |                     | ¦  «         |S )Nr   )r   ÚFILTERrh  rY  rV  r	  r  )rE   r  s     rF   r  z'StreamObject.initialize_from_dictionary)  sq   € õ
 Ô" dÐ*Ð*Ý(Ñ*Ô*ˆFˆFå(Ñ*Ô*ˆFØÐ,Ô-ˆŒØÐ!Ð"ÝÔ" dÐ*Ð*ØÕ%Ô,Ð-Ø�Š�dÑÔÐØˆrG   r†   Úlevelrh  c           	      ó"  — ddl m} t          j        | v �ra| t          j                 }t	          |t
          ¦  «        rÊt          t          t          j        ¦  «        g|¢¦  «        }	 t          t          ¦   «         g|  
                    t          j        t          ¦   «         ¦  «        ¢¦  «        }nâ# t          $ rJ t          t          ¦   «         |  
                    t          j        t          ¦   «         ¦  «        g¦  «        }Y n�w xY wt          t          t          j        ¦  «        |g¦  «        }t          t          ¦   «         |  
                    t          j        t          ¦   «         ¦  «        g¦  «        }nt          t          j        ¦  «        }d }t          ¦   «         }|                     | ¦  «         ||t          t          j        ¦  «        <   |�||t          t          j        ¦  «        <   |                     | j        |¦  «        |_        |S )Nr   ©ÚFlateDecode)r
  rn  r   rj  rQ   r;   r)   ÚFTÚFLATE_DECODEr*   r©   ÚDECODE_PARMSÚ	TypeErrorrh  r  ÚencoderV  )rC   rk  rn  ÚfÚparamsr  s         rF   Úflate_encodezStreamObject.flate_encode9  sÅ  € Ø)Ð)Ð)Ð)Ð)Ð)åÔ" dÐ*Ñ*ØÕ%Ô,Ô-ˆAÝ˜!�[Ñ)Ô)ð Ý¥­B¬OÑ!<Ô!<Ð A¸qÐ AÑBÔB�ðÝ(Ý#™œÐ_¨¯ªÕ1AÔ1NÕP[ÑP]ÔP]Ñ(^Ô(^Ð_ñô �F�Føõ !ð ð ð å(Ý#™œ t§x¢xÕ0@Ô0MÍ{É}Ì}Ñ']Ô']Ð^ñô �F�F�Fðøøøõ  ¥­B¬OÑ!<Ô!<¸aÐ @ÑAÔA�Ý$Ý‘\”\ 4§8¢8Õ,<Ô,IÍ:É<Ì<Ñ#XÔ#XÐYñô ��õ �2œ?Ñ+Ô+ˆAØˆFÝ$Ñ&Ô&ˆØ�Š�dÑÔÐØ67ˆ�zÕ*Ô1Ñ2Ô2Ñ3ØÐØ@FˆF•:Õ.Ô;Ñ<Ô<Ñ=Ø"×)Ò)¨$¬*°eÑ<Ô<ˆŒØˆs   Á'AB0 Â0ADÄDÚpillow_parametersc                 óø   — ddl m} |                      dd¦  «        dk    rE	 t          dt          | j        ¬¦  «         n'# t          $ r t          dt          | ¬	¦  «         Y nw xY w || |¦  «        \  }}}|€d
S |S )a  
        Try to decode the stream object as an image

        Args:
            pillow_parameters: parameters provided to Pillow Image.save() method,
                cf. <https://pillow.readthedocs.io/en/stable/reference/Image.html#PIL.Image.Image.save>

        Returns:
            a PIL image if proper decoding has been found
        Raises:
            Exception: Errors during decoding will be reported.
                It is recommended to catch exceptions to prevent
                stops in your program.

        r$   )Ú_xobj_to_imagez/SubtypeÚ z/Imagez3%(indirect_reference)s does not seem to be an Image)rù   rN   z+%(obj)r object does not seem to be an Image)rù   ÚobjN)Ú_image_xobjectry  r©   r   r‘   rN   ÚAttributeError)rC   rw  ry  Ú	extensionÚ_Úimgs         rF   Údecode_as_imagezStreamObject.decode_as_imageY  sÎ   € ð  	3Ð2Ð2Ð2Ð2Ð2à�8Š8�J Ñ#Ô# xÒ/Ð/ðÝØIÝ#Ø'+Ô'>ðñ ô ð ð øõ
 "ð ð ð ÝØAÝ#Øðñ ô ð ð ð ðøøøð +˜N¨4Ð1BÑCÔCÑˆ	�1�cØÐØ�4Øˆ
s   ¢? ¿!A#Á"A#rQ  rZ   )r†   )r‘   r’   r“   r  r   r?   r™   r”   r	   r   r
   rl   r•   rk   rb   r¡   r\   rm   ra  rc  re  r   r‚   r–   r—   r   r  rv  r�  Ú__classcell__©ra   s   @rF   rR   rR   Ç  sM  ø€ € € € € ð@ð @ð @ð @ðà#ðð 
ðð ð ð ð2OàðOð $ðOð ð	Oð
   ¨¨s°C¨x¬Ô 9Ô:ðOð �U˜3 ˜8”_Ô%ðOð 
ðOð Oð Oð Oð Oð Oð@	6˜#ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð˜%ð ð ð ð ð˜Uð  tð ð ð ð ð ð ð ð ð ð ð ð MQð%ð %Ø ð%Ø27¸¸UÀDÐ8HÔ2Ið%à	ð%ð %ð %ð %ð ðØ�3˜�8Œnðà	Ð;Ô	<ðð ð ñ „\ððð  #ð Ð/Dð ð ð ð ð@"ð "°°t¸CÀ¸H´~ÀtÐ7KÔ1Lð "ÐX[ð "ð "ð "ð "ð "ð "ð "ð "rG   rR   c                   ó   — e Zd ZdS )rY  N)r‘   r’   r“   rH   rG   rF   rY  rY  ~  s   € € € € € Ø€DrG   rY  c                   ó<   ‡ — e Zd Zdd„Zdefd„Zdeddfˆ fd„Zˆ xZS )rh  r=   Nc                 ó   — d | _         d S rZ   )rW  rc   s    rF   r  zEncodedStreamObject.__init__ƒ  s   € Ø;?ˆÔÐÐrG   c                 ód  — ddl m} | j        �| j                             ¦   «         S t	          ¦   «         }|                      || ¦  «        ¦  «         |                      ¦   «         D ]/\  }}|t          j        t          j	        t          j
        fvr|||<   Œ0|| _        |                     ¦   «         S )Nr   )Údecode_stream_data)r
  rˆ  rW  ra  rY  rc  rf   r   r	  rj  rq  )rC   rˆ  Údecodedr¼   rÈ   s        rF   ra  zEncodedStreamObject.get_data‡  s¼   € Ø0Ð0Ð0Ð0Ð0Ð0àÔÐ(àÔ$×-Ò-Ñ/Ô/Ð/õ &Ñ'Ô'ˆØ×ÒÐ+Ð+¨DÑ1Ô1Ñ2Ô2Ð2ØŸ*š*™,œ,ð 	%ð 	%‰JˆC�ØÕ+Ô2Õ4DÔ4KÕM]ÔMjÐkÐkÐkØ$�˜‘øØ#ˆÔØ×ÒÑ!Ô!Ð!rG   rE   c                 óà  •— ddl m} |                      t          j        d¦  «        t
          j        t
          j        gfv r t          |t          ¦  «        st          d¦  «        ‚| j
        €|                      ¦   «          | j
        €
J d¦   «         ‚| j
                             |¦  «         t          ¦   «                              |                     |¦  «        ¦  «         d S t          d¦  «        ‚)Nr   rm  rz  zData must be bytesrÒ   zJStreams encoded with a filter different from FlateDecode are not supported)r
  rn  r©   r   rj  ro  rp  rQ   rm   rr  rW  ra  rc  r]  rs  r"   )rC   rE   rn  ra   s      €rF   rc  zEncodedStreamObject.set_data˜  sä   ø€ Ø)Ð)Ð)Ð)Ð)Ð)à�8Š8Õ$Ô+¨RÑ0Ô0µR´_ÅrÄÐFWÐ4XÐXÐXÝ˜d¥EÑ*Ô*ð 6ÝÐ 4Ñ5Ô5Ð5ØÔ Ð(Ø—’‘”�ØÔ$Ð0Ð0°&Ñ0Ô0Ð0ØÔ×&Ò& tÑ,Ô,Ð,Ý‰GŒG×Ò˜[×/Ò/°Ñ5Ô5Ñ6Ô6Ð6Ð6Ð6åØ\ñô ð rG   rQ  )r‘   r’   r“   r  rm   ra  rc  r‚  rƒ  s   @rF   rh  rh  ‚  s~   ø€ € € € € ð@ð @ð @ð @ð"˜%ð "ð "ð "ð "ð"˜Uð  tð ð ð ð ð ð ð ð ð ð rG   rh  i'  c                   ó.  ‡ — e Zd ZdZdZ	 ddededeeee         e	e
ef         df         ddfˆ f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dedeeeee
f                           deee
e
f                  ddfˆ fd„Zdeddfd„Zdede	eef         fd„Zdefd„Zdeddfˆ fd„Zedeeeef                  fd„¦   «         Zej        deeeef                  ddfd„¦   «         Zd d„Z	 ddedeeedf         ddfˆ fd„Z ˆ xZ!S )!ÚContentStreama¥  
    In order to be fast, this data structure can contain either:

    * raw data in ._data
    * parsed stream operations in ._operations.

    At any time, ContentStream object can either have both of those fields defined,
    or one field defined and the other set to None.

    These fields are "rebuilt" lazily, when accessed:

    * when .get_data() is called, if ._data is None, it is rebuilt from ._operations.
    * when .operations is called, if ._operations is None, it is rebuilt from ._data.

    Conversely, these fields can be invalidated:

    * when .set_data() is called, ._operations is set to None.
    * when .operations is set, ._data is set to None.
    é€   Nrz   rO   rƒ   r=   c                 óö  •— || _         g | _        |€#t          ¦   «                              d¦  «         �n½|                     ¦   «         }t          |t          ¦  «        �rZddlm} t          |¦  «        x}t          k    rt          d|› dt          › d�¦  «        ‚t          ¦   «         }d}|D ]Ý}|                     ¦   «         }	t          |	t          ¦  «        rŒ,t          |	t          ¦  «        s*t          dt           t#          |	¦  «        j        ¬¦  «         nG|	                     ¦   «         }
|t          |
¦  «        z  }||k    rt          d	|› d|› d
�¦  «        ‚||
z  }t          |¦  «        dk    s|dd …         dk    r
|dz  }|dz  }ŒÞt          ¦   «                              t'          |¦  «        ¦  «         n9|                     ¦   «         }|€J ‚t          ¦   «                              |¦  «         || _        d S )NrG   r   )Ú$MAX_ARRAY_BASED_STREAM_OUTPUT_LENGTHzArray-based stream has z > z
 elements.zFExpected StreamObject, got %(type_name)s instead. Data might be wrong.)rù   Ú	type_namez Array-based stream has at least z output bytes.r†   rÙ   r$   )rO   Ú_operationsr]  rc  rS   rQ   r;   Úpypdf.filtersr�  rŸ   ÚCONTENT_STREAM_ARRAY_MAX_LENGTHr!   Ú	bytearrayr*   rR   r   r‘   Útypera  rm   rƒ   )rC   rz   rO   rƒ   r�  rï   rE   rå   r·   Ú
s_resolvedÚnew_dataÚstream_datara   s               €rF   r  zContentStream.__init__Â  s<  ø€ ð ˆŒØ46ˆÔð ˆ>Ý‰GŒG×Ò˜SÑ!Ô!Ð!Ñ!à×&Ò&Ñ(Ô(ˆFÝ˜&¥+Ñ.Ô.ñ &.ØNÐNÐNÐNÐNÐNå%(¨¡[¤[Ð0�MÕ4SÒSÐSÝ+Øo°-ÐoÐoÕDcÐoÐoÐoñô ð õ !‘{”{�Ø�Øð &ð &�AØ!"§¢¡¤�JÝ! *­jÑ9Ô9ð !Ø Ý% jµ,Ñ?Ô?ð )õ 'ØdÝ#+Ý&*¨:Ñ&6Ô&6Ô&?ðñ ô ð ð ð $.×#6Ò#6Ñ#8Ô#8˜Ø¥# h¡-¤-Ñ/˜Ø!Ð$HÒHÐHÝ"3ð!XÀ6ð !Xð !XØ#Gð!Xð !Xð !Xñ#ô #ð ð  Ñ(˜Ý˜4‘y”y A’~�~¨¨b¨c¨c¬°eÒ);Ð);à !™˜Ø ™˜øÝ‘”× Ò ¥ t¡¤Ñ-Ô-Ð-Ð-à$ŸošoÑ/Ô/�Ø"Ð.Ð.Ð.Ý‘”× Ò  Ñ-Ô-Ð-Ø.ˆÔÐÐrG   r<   c           	      óÔ  — t          d|                      |                      d d ¦  «        |d¦  «        ¦  «        }| j        |_        	 | j        }|€d | _        n(t          d|                     |¦  «        ¦  «        | _        n# t          $ r Y nw xY w|                      ¦   «         D ]B\  }}t          |d¦  «        r|                     |¦  «        n|||                     |¦  «        <   ŒC|S )NrŒ  FrY  r?   )r   r@   ra   rV  rW  r?   rP   rf   rA   rc  rO   rj   r‘  rƒ   rZ  s         rF   r?   zContentStream.replicateú  s  € õ ØØ×!Ò! $§.¢.°°tÑ"<Ô"<¸hÈÑNÔNñ
ô 
ˆð ”JˆŒ	ð		ØÔ,ˆLØÐ#Ø$(�Ô!Ð!å$(Ø)¨<×+AÒ+AÀ(Ñ+KÔ+Kñ%ô %�Ô!øøõ ð 	ð 	ð 	ØˆDð	øøøà—J’J‘L”Lð 	ð 	‰DˆAˆqå)0°°KÑ)@Ô)@ÐG�—’˜HÑ%Ô%Ð%Àað �—’˜HÑ%Ô%Ñ&Ð&ð ˆ
s   Á9B Â
BÂBFrH   rI   rJ   c           	      ó  — 	 | j         j        |k    r|s| S n# t          $ r Y nw xY wt          ¦   «         }t	          d|                      |                      dd¦  «        ||¦  «        ¦  «        }|€g }|                     | ||||¦  «         |S )zÂ
        Clone object into pdf_dest.

        Args:
            pdf_dest:
            force_duplicate:
            ignore_fields:

        Returns:
            The cloned ContentStream

        rŒ  N)rN   rO   rP   rk   r   r@   ra   r¡   r¢   s         rF   rM   zContentStream.clone  s´   € ð$	ØÔ&Ô*¨hÒ6Ð6¸Ð6Ø�øøÝð 	ð 	ð 	ØˆDð	øøøõ ),©¬ˆÝØØ×!Ò!Ø—’˜t TÑ*Ô*¨H°oñô ñ
ô 
ˆð Ð ØˆMØ�
Š
�4˜ ?°MÀ7ÑKÔKÐKØˆ
rV   r¤   r£   c                 óÌ   •— t          d|¦  «        }t          ¦   «                              |j        ¦  «         || _        t          |j        ¦  «        | _        |j        | _        dS )r\  rŒ  N)r   r]  rc  rV  rO   rj   r‘  rƒ   )rC   r¤   r<   rI   rJ   r£   Úsrc_csra   s          €rF   r¡   zContentStream._clone<  sY   ø€ õ$ �o sÑ+Ô+ˆÝ‰Œ×Ò˜œÑ&Ô&Ð&ØˆŒÝ Ô 2Ñ3Ô3ˆÔØ%Ô5ˆÔÐÐrG   c                 óX  — |                      dd¦  «         g }	 t          |¦  «        }|dv rd S |                      dd¦  «         |                     ¦   «         s|dv r€t          |t          j        | j        ¬¦  «        }|dk    r:|g k    sJ ‚|                      |¦  «        }| j         	                    |d	f¦  «         nl| j         	                    ||f¦  «         g }nM|d
k    r|dvr| 
                    d¦  «        }|dv°n)| 	                    t          |d | j        ¦  «        ¦  «         �Œ)Nr   T)rG   r   r†   r$   )ó   'ó   "r  ó   BIó   INLINE IMAGEr…   )rþ   rÙ   rG   )rŠ   r   Úisalphar   r)   Údelimiter_patternÚ_OPERATOR_LENGTH_LIMITÚ_read_inline_imager‘  rB   rˆ   r‹   rƒ   )rC   rz   ÚoperandsÚpeekÚoperatorÚiis         rF   Ú_parse_content_streamz#ContentStream._parse_content_streamV  s]  € à�Š�A�qÑÔÐØ57ˆð	QÝ& vÑ.Ô.ˆDØ�xÐÐØ�Ø�KŠK˜˜AÑÔÐØ�|Š|‰~Œ~ð Q ¨Ð!5Ð!5Ý+Ø!­Ô)EÈdÔNiðñ ô �ð ˜uÒ$Ð$ð $ rš>˜>˜>˜>Ø×0Ò0°Ñ8Ô8�BØÔ$×+Ò+¨R°Ð,AÑBÔBÐBÐBàÔ$×+Ò+¨X°xÐ,@ÑAÔAÐAØ!�H�HØ˜’�ð Ð"5Ð5Ð5Ø!Ÿ;š; q™>œ>�Dð Ð"5Ð5Ð5øð —’¥¨F°D¸$Ô:NÑ OÔ OÑPÔPÐPñ7	QrG   c                 óX  — t          ¦   «         }	 t          |¦  «        }|st          d¦  «        ‚|                     dd¦  «         |dk    rnUt	          || j        ¦  «        }t          |¦  «        }|                     dd¦  «         t	          || j        ¦  «        }|||<   Œ’|                     d¦  «        }|d d…         dk    sJ ‚|                     d	|                     d
d¦  «        ¦  «        }|                     ¦   «         }t          |t          ¦  «        r|r|d         nd}t          |t          ¦  «        sd}d|v sd|v rt          |¦  «        }	�nÐd|v sd|v rt          |¦  «        }	�n·d|v sd|v rt          |¦  «        }	�nžd|v sd|v rt          |¦  «        }	�n…|dk    �ro|                     dd¦  «        }
t          |
t          ¦  «        r|
r|
d         nd}
t          |
t          ¦  «        sd}
d|
v rd}n\d|
v rd}nU|                     d|
dv rdnd¦  «        }t          |t           t"          f¦  «        r|dk    r|dz  }nt%          |¦  «        }	d}|                     d¦  «        }|                     d¦  «        }|dk    rSt          |t           ¦  «        r>t          |t           ¦  «        r)|                     t'          ||z  ¦  «        |z  ¦  «        }	n|dk    rt%          |¦  «        }	t          |¦  «        }|                     dd¦  «         nt%          |¦  «        }	|                     d¦  «        }t)          |¦  «        dk    r|                     dd¦  «         |dd…         }|d d…         d k    s|d!k    r¥|t*          vrœ|                     |d¦  «         t%          |¦  «        }	|                     d¦  «        }t)          |¦  «        dk    r|                     dd¦  «         |dd…         }|d d…         d k    s|d!k    r|t*          vrt-          d"|›�¦  «        ‚||	d#œS )$NTzUnexpected end of stream.r†   r$   ó   Ir7   r   s   IDú/Fz/Filterznot setr   ÚAHxÚASCIIHexDecodeÚA85ÚASCII85DecodeÚRLÚRunLengthDecodeÚDCTÚ	DCTDecodez/CSrz  ÚRGBÚCMYKé   z/BPC>   ú/Gú/Iú/Indexedú/DeviceGrayr  g       @z/Wz/Hó   EIrG   zHCould not extract inline image, even using fallback. Expected 'EI', got )ÚsettingsrE   )r™   r   r"   rŠ   r‹   rO   rˆ   r©   rê   rQ   rj   rl   r1   r0   r3   r2   r•   Úfloatr4   r   rŸ   r   r#   )rC   rz   r¾  r�   r¼   rÈ   rŒ   ÚfiltrÚsavposrE   ÚcsÚlcsÚbitsÚwidthÚheightÚeiÚei_trailings                    rF   r¥  z ContentStream._read_inline_imagew  sw  € õ $Ñ%Ô%ˆð	"Ý% fÑ-Ô-ˆCØð @Ý"Ð#>Ñ?Ô?Ð?Ø�KŠK˜˜AÑÔÐØ�dŠ{ˆ{àÝ˜f d¤hÑ/Ô/ˆCÝ% fÑ-Ô-ˆCØ�KŠK˜˜AÑÔÐÝ ¨¬Ñ1Ô1ˆEØ!ˆH�S‰Mð	"ð �kŠk˜!‰nŒnˆØ�2�A�2Œw˜%ÒÐÐÐØ—’˜T 8§<¢<°	¸9Ñ#EÔ#EÑFÔFˆØ—’‘”ˆÝ�e�TÑ"Ô"ð 	5Ø %Ð4�E˜!”H�H¨9ˆEÝ˜%¥Ñ%Ô%ð 	ð ˆEØ�Eˆ>ˆ>Ð-°Ð6Ð6Ý3°FÑ;Ô;ˆD‰DØ�eˆ^ˆ^˜°%Ð7Ð7Ý1°&Ñ9Ô9ˆD‰DØ�Uˆ]ˆ]Ð/°5Ð8Ð8Ý4°VÑ<Ô<ˆD‰DØ�eˆ^ˆ^˜{¨eÐ3Ð3Ý-¨fÑ5Ô5ˆD‰DØ�iÒÑØ—’˜e RÑ(Ô(ˆBÝ˜"�dÑ#Ô#ð )Ø Ð(�R˜”U�U b�Ý˜b¥#Ñ&Ô&ð Ø�Ø˜ˆ{ˆ{Ø��Ø˜2��Ø��à—|’|ØØÐFÐFÐF�A�AÈBñô �õ ˜d¥S­% LÑ1Ô1ð °d¸Q²h°hØ ™*�C�Cå1°&Ñ9Ô9�DØ�CØ—L’L Ñ&Ô&ˆEØ—\’\ $Ñ'Ô'ˆFØ�QŠwˆw�: e­SÑ1Ô1ˆwµjÀÍÑ6MÔ6MˆwØ—{’{¥4¨°©Ñ#4Ô#4°vÑ#=Ñ>Ô>��Ø�q’�õ .¨fÑ5Ô5�å$ VÑ,Ô,ˆBØ�KŠK˜˜AÑÔÐÐå)¨&Ñ1Ô1ˆDà�[Š[˜‰^Œ^ˆõ ˆr‰7Œ7�aŠ<ˆ<Ø�KŠK˜˜AÑÔÐØ˜˜1˜”gˆØˆbˆqˆbŒ6�UŠ?ˆ?˜{¨cÒ1Ð1°kÍÐ6TÐ6Tà�KŠK˜ Ñ"Ô"Ð"Ý)¨&Ñ1Ô1ˆDØ—’˜Q‘”ˆBÝ�2‰wŒw˜!Š|ˆ|Ø—’˜B Ñ"Ô"Ð"Ø˜Q˜q˜Sœ'ˆKØ�"�1�"Œv˜ŠˆØ˜sÒ"Ð" {½+Ð'EÐ'Eõ
 %ØeÐ_aÐeÐeñô ð ð %¨dÐ3Ð3Ð3rG   c                 ó°  — | j         �sHt          ¦   «         }| j        D �]\  }}|dk    r³|                     d¦  «         t          ¦   «         }|d                              |¦  «         |                     |                     ¦   «         dd…         ¦  «         |                     d¦  «         |                     |d         ¦  «         |                     d¦  «         nD|D ],}|                     |¦  «         |                     d	¦  «         Œ-|                     |¦  «         |                     d
¦  «         �Œ|                     ¦   «         | _         | j         S )Nr¡  r   r¾  r   éþÿÿÿs   ID rE   r½  r€   rÙ   )rV  r   r‘  r�   r‚   Úgetvalue)rC   r—  r¦  r¨  Ú	dict_textÚops         rF   ra  zContentStream.get_data×  sJ  € ØŒzñ 	-Ý‘y”yˆHØ&*Ô&6ð &ñ &Ñ"�˜(Ø˜Ò.Ð.Ø—N’N 5Ñ)Ô)Ð)Ý '¡	¤	�IØ˜ZÔ(×8Ò8¸ÑCÔCÐCØ—N’N 9×#5Ò#5Ñ#7Ô#7¸¸"¸Ô#=Ñ>Ô>Ð>Ø—N’N 6Ñ*Ô*Ð*Ø—N’N 8¨FÔ#3Ñ4Ô4Ð4Ø—N’N 5Ñ)Ô)Ð)Ð)à&ð -ð -˜Ø×*Ò*¨8Ñ4Ô4Ð4Ø Ÿš tÑ,Ô,Ð,Ð,Ø—N’N 8Ñ,Ô,Ð,Ø—’˜uÑ%Ô%Ð%Ñ%Ø!×*Ò*Ñ,Ô,ˆDŒJØŒzÐrG   rE   c                 óX   •— t          ¦   «                              |¦  «         g | _        d S rZ   )r]  rc  r‘  rf  s     €rF   rc  zContentStream.set_dataí  s)   ø€ Ý‰Œ×Ò˜ÑÔÐØˆÔÐÐrG   c                 óˆ   — | j         s5| j        r.|                      t          | j        ¦  «        ¦  «         d| _        | j         S rU  )r‘  rV  rª  r   rc   s    rF   Ú
operationszContentStream.operationsñ  sD   € àÔð 	 D¤Jð 	Ø×&Ò&¥w¨t¬zÑ':Ô':Ñ;Ô;Ð;ØˆDŒJØÔÐrG   rÐ  c                 ó"   — || _         d| _        d S rU  )r‘  rV  )rC   rÐ  s     rF   rÐ  zContentStream.operationsø  s   € à%ˆÔØˆŒ
ˆ
ˆ
rG   c                 óÀ   — | j         r;| j                              dg df¦  «         | j                              g df¦  «         d S | j        rd| j        z   dz   | _        d S d S )Nr   ó   qó   Qs   q
s   
Q
)r‘  ÚinsertrB   rV  rc   s    rF   Úisolate_graphics_statez$ContentStream.isolate_graphics_stateý  sv   € ØÔð 	8ØÔ×#Ò# A¨¨D zÑ2Ô2Ð2ØÔ×#Ò# R¨ JÑ/Ô/Ð/Ð/Ð/ØŒZð 	8Ø $¤*Ñ,¨xÑ7ˆDŒJˆJˆJð	8ð 	8rG   r{   c                 ó�   •— | j         s| j        r|                      ¦   «          t          ¦   «                              ||¦  «         d S rZ   )rV  r‘  ra  r]  r‚   )rC   rz   r{   ra   s      €rF   r‚   zContentStream.write_to_stream  sF   ø€ ð Œzð 	˜dÔ.ð 	Ø�MŠM‰OŒOˆOÝ‰Œ×Ò ¨Ñ7Ô7Ð7Ð7Ð7rG   rZ   r�   rQ  )"r‘   r’   r“   Ú__doc__r¤  r   r
   rl   rj   r—   r•   r  r   r?   r”   r	   r   rM   r™   rk   rb   r¡   r   rª  r¥  rm   ra  rc  r  rÐ  ÚsetterrÖ  r‚   r‚  rƒ  s   @rF   rŒ  rŒ  ¬  s  ø€ € € € € ðð ð& !Ðð HLð	6/ð 6/àð6/ð ð6/ð ˜s D¨¤I¨t°C¸°H¬~¸tÐCÔDð	6/ð
 
ð6/ð 6/ð 6/ð 6/ð 6/ð 6/ðpà#ðð 
ðð ð ð ðB !&Ø=?ð	"ð "àð"ð ð"ð   ¨¨s°C¨x¬Ô 9Ô:ð	"ð
 
ð"ð "ð "ð "ðH6àð6ð $ð6ð ð	6ð
   ¨¨s°C¨x¬Ô 9Ô:ð6ð �U˜3 ˜8”_Ô%ð6ð 
ð6ð 6ð 6ð 6ð 6ð 6ð4Q¨Jð Q¸4ð Qð Qð Qð QðB]4¨ð ]4¸¸SÀ#¸X¼ð ]4ð ]4ð ]4ð ]4ð@˜%ð ð ð ð ð,˜Uð  tð ð ð ð ð ð ð ð ˜D  s¨E zÔ!2Ô3ð  ð  ð  ñ „Xð ð Ôð T¨%°°U°
Ô*;Ô%<ð Àð ð ð ñ Ôðð8ð 8ð 8ð 8ð MQð8ð 8Ø ð8Ø27¸¸UÀDÐ8HÔ2Ið8à	ð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8rG   rŒ  rz   rO   rƒ   c                 ó&  — |                       d¦  «        }|                      dd¦  «         |dk    rt          j        | |¦  «        S |dk    r]|                       d¦  «        }|                      dd¦  «         |dk    rt                               | ||¦  «        S t          | |¦  «        S |dk    rt                               | ||¦  «        S |d	v rt          j        | ¦  «        S |d
k    rt          | |¦  «        S |dk    r'|                       d¦  «        dk    rt          ¦   «         S |dk    rt          j        | ¦  «        S |dk    rEt          | ¦  «         t          | ¦  «        }|                      dd¦  «         t          | ||¦  «        S |dv rˆ|                       d¦  «        }|                      t          |¦  «         d¦  «         t                               |¦  «        �!|€
J d¦   «         ‚t!          j        | |¦  «        S t#          j        | ¦  «        S |                      ¦   «         }|                      dd¦  «         |                       d¦  «        }|                      |¦  «         t'          | ¦  «         t)          d|›d|› d|›�¦  «        ‚)Nr$   r†   ó   /ó   <r   rÊ  rö   r   )ó   tó   fó   (ó   eé   s   endobjó   nr…   s   0123456789+-.é   rÒ   iìÿÿÿéP   z(Invalid Elementary Object starting with z @z: )rˆ   rŠ   r)   r�   r™   r5   r;   r%   r6   r*   r   r   r‹   rŸ   ÚIndirectPatternÚmatchr(   r+   rê   r   r"   )rz   rO   rƒ   r�   r§  r  Ústream_extracts          rF   r‹   r‹     s|  € ð
 �+Š+�a‰.Œ.€CØ
‡K‚K��AÑÔÐØ
ˆd‚{€{ÝÔ*¨6°3Ñ7Ô7Ð7Ø
ˆd‚{€{à�{Š{˜1‰~Œ~ˆØ�Š�B˜ÑÔÐØ�5Š=ˆ=Ý#×4Ò4°V¸SÀ/ÑRÔRÐRÝ*¨6°?ÑCÔCÐCØ
ˆd‚{€{Ý×+Ò+¨F°C¸ÑIÔIÐIØ
ˆlÐÐÝÔ-¨fÑ5Ô5Ð5Ø
ˆd‚{€{Ý& v¨Ñ?Ô?Ð?Ø
ˆd‚{€{�v—{’{ 1‘~”~¨Ò2Ð2Ý‰|Œ|ÐØ
ˆd‚{€{ÝÔ*¨6Ñ2Ô2Ð2Ø
ˆd‚{€{å˜&Ñ!Ô!Ð!Ý! &Ñ)Ô)ˆØ�Š�B˜ÑÔÐÝ˜6 3¨Ñ8Ô8Ð8Ø
ÐÐÐà�{Š{˜2‰ŒˆØ�Š•S˜‘Y”Y�J Ñ"Ô"Ð"Ý× Ò  Ñ&Ô&Ð2Ø�?�? F‘?”?�?Ý!Ô2°6¸3Ñ?Ô?Ð?ÝÔ,¨VÑ4Ô4Ð4Ø
�+Š+‰-Œ-€CØ
‡K‚K��QÑÔÐØ—[’[ ‘_”_€NØ
‡K‚K�ÑÔÐÝ˜&Ñ!Ô!Ð!Ý
ØU°3ÐUÐU¸CÐUÐUÀ>ÐUÐUñô ð rG   c                   ó²  — e Zd ZdZdeddfd„Zedee         fd„¦   «         Z	edee         fd„¦   «         Z
eded         fd	„¦   «         Zedee         fd
„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         ZdS )ÚFieldz‹
    A class representing a field dictionary.

    This class is accessed through
    :meth:`get_fields()<pypdf.PdfReader.get_fields>`
    rE   r=   Nc                 ó~  — t                                | ¦  «         t          j        ¦   «         t	          j        ¦   «         z   }|j        | _        |D ]+}	 ||         | t          |¦  «        <   Œ# t          $ r Y Œ(w xY wt          |  	                    d¦  «        t          ¦  «        r™t          t          | t          d¦  «                 ¦  «                             ¦   «         }t          |t          ¦  «        r|                     ¦   «         }n|€d}nt          d¦  «        ‚t!          |¦  «        | t          d¦  «        <   d S d S )Nr®   rz  zShould never happen)r™   r  r   Ú
attributesr   rN   r)   ÚKeyErrorrQ   r©   rh  r   ra  rm   ÚdecoderP   r-   )rC   rE   Úfield_attributesÚattrÚdÚd_strs         rF   r  zField.__init__G  s>  € Ý×!Ò! $Ñ'Ô'Ð'å%Ô0Ñ2Ô2Ý+Ô6Ñ8Ô8ñ9ð 	ð #'Ô"9ˆÔØ$ð 	ð 	ˆDðØ)-¨d¬�•Z Ñ%Ô%Ñ&Ð&øÝð ð ð Ø�ðøøøå�d—h’h˜t‘n”nÕ&9Ñ:Ô:ð 	=ÝÕ(¨$­z¸$Ñ/?Ô/?Ô*@ÑAÔA×JÒJÑLÔLˆAÝ˜!�UÑ#Ô#ð 7ØŸš™
œ
��Ø�Ø��åÐ 5Ñ6Ô6Ð6Ý%5°eÑ%<Ô%<ˆD•˜DÑ!Ô!Ñ"Ð"Ð"ð	=ð 	=s   ÁA,Á,
A9Á8A9c                 ó@   — |                       t          j        ¦  «        S )z4Read-only property accessing the type of this field.)r©   r   ro  rc   s    rF   Ú
field_typezField.field_type^  ó   € ð �xŠxÕ1Ô4Ñ5Ô5Ð5rG   c                 ó@   — |                       t          j        ¦  «        S )z6Read-only property accessing the parent of this field.)r©   r   ÚParentrc   s    rF   r.  zField.parentc  s   € ð �xŠxÕ1Ô8Ñ9Ô9Ð9rG   r;   c                 ó@   — |                       t          j        ¦  «        S )z4Read-only property accessing the kids of this field.)r©   r   ÚKidsrc   s    rF   Úkidsz
Field.kidsh  s   € ð �xŠxÕ1Ô6Ñ7Ô7Ð7rG   c                 ó@   — |                       t          j        ¦  «        S )z4Read-only property accessing the name of this field.)r©   r   ÚTrc   s    rF   Únamez
Field.namem  s   € ð �xŠxÕ1Ô3Ñ4Ô4Ð4rG   c                 ó@   — |                       t          j        ¦  «        S )z>Read-only property accessing the alternate name of this field.)r©   r   ÚTUrc   s    rF   Úalternate_namezField.alternate_namer  rô  rG   c                 ó@   — |                       t          j        ¦  «        S )zÒ
        Read-only property accessing the mapping name of this field.

        This name is used by pypdf as a key in the dictionary returned by
        :meth:`get_fields()<pypdf.PdfReader.get_fields>`
        )r©   r   ÚTMrc   s    rF   Úmapping_namezField.mapping_namew  ó   € ð �xŠxÕ1Ô4Ñ5Ô5Ð5rG   c                 ó@   — |                       t          j        ¦  «        S )z¢
        Read-only property accessing the field flags, specifying various
        characteristics of the field (see Table 8.70 of the PDF 1.7 reference).
        )r©   r   ÚFfrc   s    rF   ÚflagszField.flags�  s   € ð �xŠxÕ1Ô4Ñ5Ô5Ð5rG   c                 ó@   — |                       t          j        ¦  «        S )zs
        Read-only property accessing the value of this field.

        Format varies based on field type.
        )r©   r   ÚVrc   s    rF   rÈ   zField.value‰  s   € ð �xŠxÕ1Ô3Ñ4Ô4Ð4rG   c                 ó@   — |                       t          j        ¦  «        S )z=Read-only property accessing the default value of this field.)r©   r   ÚDVrc   s    rF   Údefault_valuezField.default_value’  rô  rG   c                 ó@   — |                       t          j        ¦  «        S )zÚ
        Read-only property accessing the additional actions dictionary.

        This dictionary defines the field's behavior in response to trigger
        events. See Section 8.5.2 of the PDF 1.7 reference.
        )r©   r   ÚAArc   s    rF   Úadditional_actionszField.additional_actions—  r  rG   )r‘   r’   r“   rØ  r™   r  r  r	   r)   ró  r.  rù  rl   rü  rÿ  r  r•   r  r   rÈ   r  r  rH   rG   rF   ré  ré  ?  sõ  € € € € € ðð ð=Ð-ð =°$ð =ð =ð =ð =ð. ð6˜H ZÔ0ð 6ð 6ð 6ñ „Xð6ð ð:˜Ð!1Ô2ð :ð :ð :ñ „Xð:ð ð8�h˜}Ô-ð 8ð 8ð 8ñ „Xð8ð ð5�h˜s”mð 5ð 5ð 5ñ „Xð5ð ð6 ¨¤ð 6ð 6ð 6ñ „Xð6ð ð6˜h sœmð 6ð 6ð 6ñ „Xð6ð ð6�x ”}ð 6ð 6ð 6ñ „Xð6ð ð5�x ”}ð 5ð 5ð 5ñ „Xð5ð ð6˜x¨œ}ð 6ð 6ð 6ñ „Xð6ð ð6 HÐ-=Ô$>ð 6ð 6ð 6ñ „Xð6ð 6ð 6rG   ré  c                   ód  — e Zd ZU dZdZee         ed<   dee	e
f         deeeeef         deddfd„Zedd
„¦   «         Z	 ddedee	e
df         ddfd„Zedee	         fd„¦   «         Zedee         fd„¦   «         Zedee	         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zeded	         fd„¦   «         Zedee         fd„¦   «         Z edee         fd„¦   «         Z!dS )ÚDestinationa®  
    A class representing a destination within a PDF file.

    See section 12.3.2 of the PDF 2.0 reference.

    Args:
        title: Title of this destination.
        page: Reference to the page of this destination. Should
            be an instance of :class:`IndirectObject<pypdf.generic.IndirectObject>`.
        fit: How the destination is displayed.

    Raises:
        PdfReadError: If destination type is invalid.

    NÚnodeÚtitleÚpageÚfitr=   c                 ó¢  — g | _         |j        }|j        }t                               | ¦  «         t          |¦  «        | t          d¦  «        <   || t          d¦  «        <   || t          d¦  «        <   |dk    rót          |¦  «        dk     r"|                     t          d¦  «        ¦  «         t          |¦  «        dk     r"|                     t          d¦  «        ¦  «         t          |¦  «        dk     r"|                     t          d¦  «        ¦  «         |d d…         \  | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   | t          d	¦  «        <   d S t          |¦  «        d
k    rd S |t          j        k    �r)t          |¦  «        dk    rq|\  | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   d S t#          ¦   «         t#          ¦   «         t#          ¦   «         t#          ¦   «         f\  | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   d S |t          j        t          j        fv rZ	 |\  | t          t          j        ¦  «        <   d S # t(          $ r, t#          ¦   «         | t          t          j        ¦  «        <   Y d S w xY w|t          j        t          j        fv rZ	 |\  | t          t          j        ¦  «        <   d S # t(          $ r, t#          ¦   «         | t          t          j        ¦  «        <   Y d S w xY w|t          j        t          j        fv rd S t3          d|›�¦  «        ‚)Nú/Titleú/Pager§   z/XYZr$   g        r   r7   ú/Zoomr   r¸  zUnknown Destination Type: )Ú_filtered_childrenÚfit_typeÚfit_argsr™   r  r-   r)   rŸ   rB   r+   ÚTAÚLEFTÚTOPÚTFÚFIT_RÚBOTTOMÚRIGHTr*   ÚFIT_HÚFIT_BHrP   ÚFIT_VÚFIT_BVÚFITÚFIT_Br"   )rC   r  r  r  ÚtypÚargss         rF   r  zDestination.__init__·  sI  € ð .0ˆÔàŒlˆØŒ|ˆå×!Ò! $Ñ'Ô'Ð'Ý%5°eÑ%<Ô%<ˆ�Z˜Ñ!Ô!Ñ"Ø$(ˆ�Z˜Ñ Ô Ñ!Ø$'ˆ�Z˜Ñ Ô Ñ!ð �&Š=ˆ=Ý�4‰yŒy˜1Š}ˆ}Ø—’�L¨Ñ-Ô-Ñ.Ô.Ð.Ý�4‰yŒy˜1Š}ˆ}Ø—’�L¨Ñ-Ô-Ñ.Ô.Ð.Ý�4‰yŒy˜1Š}ˆ}Ø—’�L¨Ñ-Ô-Ñ.Ô.Ð.ð �R�a�R”ñ	Ø•Z¥¤Ñ(Ô(Ñ)Ø•Z¥¤Ñ'Ô'Ñ(Ø•Z Ñ(Ô(Ñ)Ð)Ð)å�‰YŒY˜!Š^ˆ^ØˆDØ•B”HŠ_‰_Ý�4‰yŒy˜AŠ~ˆ~ð ñØ�¥B¤GÑ,Ô,Ñ-Ø�¥B¤IÑ.Ô.Ñ/Ø�¥B¤HÑ-Ô-Ñ.Ø�¥B¤FÑ+Ô+Ñ,Ð,Ð,õ  ‘\”\¥:¡<¤<µ±´½z¹|¼|ÐLñØ�¥B¤GÑ,Ô,Ñ-Ø�¥B¤IÑ.Ô.Ñ/Ø�¥B¤HÑ-Ô-Ñ.Ø�¥B¤FÑ+Ô+Ñ,Ð,Ð,à•R”X�rœyÐ)Ð)Ð)ð>Ø.2Ñ+�•j¥¤Ñ(Ô(Ñ)Ð)Ð)øÝð >ð >ð >Ý/9©|¬|�•j¥¤Ñ(Ô(Ñ)Ð)Ð)Ð)ð>øøøà•R”X�rœyÐ)Ð)Ð)ð?Ø/3Ñ,�•j¥¤Ñ)Ô)Ñ*Ð*Ð*øÝð ?ð ?ð ?Ý0:±´�•j¥¤Ñ)Ô)Ñ*Ð*Ð*Ð*ð?øøøà•R”V�RœXÐ&Ð&Ð&ØˆDåÐC¸CÐCÐCÑDÔDÐDs$   ËK6 Ë62L,Ì+L,Í
M* Í*2N ÎN r;   c                 óv   ‡ — t          ‰                      d¦  «        ‰ d         gˆ fd„dD ¦   «         z   ¦  «        S )Nr  r§   c                 ó(   •— g | ]}|‰v ¯‰|         ‘ŒS rH   rH   )r]   r^   rC   s     €rF   ú
<listcomp>z*Destination.dest_array.<locals>.<listcomp>ù  s.   ø€ ð ð ð àØ˜�9�9ð �Q”à�9�9rG   )ú/Leftú/Bottomú/Rightú/Topr  )r;   r¨   rc   s   `rF   Ú
dest_arrayzDestination.dest_arrayõ  sX   ø€ åØ�\Š\˜'Ñ"Ô" D¨¤MÐ2ðð ð ð àHðñ ô ññ
ô 
ð 	
rG   rz   r{   c                 ó  — |�t          dd¦  «         |                     d¦  «         t          d¦  «        }|                     |¦  «         |                     d¦  «         | j        }|                     |¦  «         t          d¦  «        }|                     |¦  «         |                     d¦  «         t          d¦  «        }|                     |¦  «         |                     d¦  «         |                     d	¦  «         d S )
Nr}   r~   r×   z/Dr€   z/Sz/GoTorÙ   rÚ   )r   r�   r)   r‚   r2  )rC   rz   r{   r¼   rÈ   Úvalue_ss         rF   r‚   zDestination.write_to_stream   s  € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š�WÑÔÐÝ˜ÑÔˆØ×Ò˜FÑ#Ô#Ð#Ø�Š�TÑÔÐØ”ˆØ×Ò˜fÑ%Ô%Ð%å˜ÑÔˆØ×Ò˜FÑ#Ô#Ð#Ø�Š�TÑÔÐÝ˜WÑ%Ô%ˆØ×Ò Ñ'Ô'Ð'à�Š�UÑÔÐØ�Š�UÑÔÐÐÐrG   c                 ó,   — |                       d¦  «        S )z3Read-only property accessing the destination title.r  ©r©   rc   s    rF   r  zDestination.title  s   € ð �xŠx˜Ñ!Ô!Ð!rG   c                 ó,   — |                       d¦  «        S )zHRead-only property accessing the IndirectObject of the destination page.r  r6  rc   s    rF   r  zDestination.page  ó   € ð �xŠx˜Ñ Ô Ð rG   c                 ó,   — |                       d¦  «        S )z2Read-only property accessing the destination type.r§   r6  rc   s    rF   r)  zDestination.typ!  r8  rG   c                 ó.   — |                       dd¦  «        S )z-Read-only property accessing the zoom factor.r  Nr6  rc   s    rF   ÚzoomzDestination.zoom&  ó   € ð �xŠx˜ Ñ&Ô&Ð&rG   c                 ó.   — |                       dd¦  «        S )z<Read-only property accessing the left horizontal coordinate.r.  Nr6  rc   s    rF   ÚleftzDestination.left+  r<  rG   c                 ó.   — |                       dd¦  «        S )z=Read-only property accessing the right horizontal coordinate.r0  Nr6  rc   s    rF   ÚrightzDestination.right0  s   € ð �xŠx˜ $Ñ'Ô'Ð'rG   c                 ó.   — |                       dd¦  «        S )z9Read-only property accessing the top vertical coordinate.r1  Nr6  rc   s    rF   ÚtopzDestination.top5  s   € ð �xŠx˜ Ñ%Ô%Ð%rG   c                 ó.   — |                       dd¦  «        S )z<Read-only property accessing the bottom vertical coordinate.r/  Nr6  rc   s    rF   ÚbottomzDestination.bottom:  s   € ð �xŠx˜	 4Ñ(Ô(Ð(rG   c                 ó¸   — t          d|                      dt          t          d¦  «        t          d¦  «        t          d¦  «        g¦  «        ¦  «        ¦  «        S )zHRead-only property accessing the color in (R, G, B) with values 0.0-1.0.r;   z/Cr   )r   r©   r;   r'   rc   s    rF   ÚcolorzDestination.color?  sL   € õ ØØ�HŠH�T�;­°A©¬½ÀA¹¼ÍÐTUÉÌÐ'WÑXÔXÑYÔYñ
ô 
ð 	
rG   c                 óH   — t          |                      dd¦  «        ¦  «        S )z_
        Read-only property accessing the font type.

        1=italic, 2=bold, 3=both
        r­  r   )r   r©   rc   s    rF   Úfont_formatzDestination.font_formatG  s    € õ ˜tŸxšx¨¨aÑ0Ô0Ñ1Ô1Ð1rG   c                 ó.   — |                       dd¦  «        S )zÀ
        Read-only property accessing the outline count.

        positive = expanded
        negative = collapsed
        absolute value = number of visible descendants at all levels
        r1  Nr6  rc   s    rF   Úoutline_countzDestination.outline_countP  s   € ð �xŠx˜ $Ñ'Ô'Ð'rG   )r=   r;   rZ   )"r‘   r’   r“   rØ  r  r	   r™   Ú__annotations__r
   rl   rm   r+   r(   r*   r/   r  r  r2  r   r‚   r  r  r)  r•   r;  r'   r>  r@  rB  rD  rF  r   rH  rJ  rH   rG   rF   r  r  ¢  sâ  € € € € € € ðð ð$ 	ð 	ˆ(Øôð ð ñ ð<Eà�S˜%�ZÔ ð<Eð �L .°*Ð>NÐNÔOð<Eð ð	<Eð
 
ð<Eð <Eð <Eð <Eð| ð
ð 
ð 
ñ „Xð
ð MQðð Ø ðØ27¸¸UÀDÐ8HÔ2Iðà	ðð ð ð ð. ð"�x ”}ð "ð "ð "ñ „Xð"ð ð!�h˜~Ô.ð !ð !ð !ñ „Xð!ð ð!�X˜c”]ð !ð !ð !ñ „Xð!ð ð'�h˜s”mð 'ð 'ð 'ñ „Xð'ð ð'�h˜{Ô+ð 'ð 'ð 'ñ „Xð'ð ð(�x Ô,ð (ð (ð (ñ „Xð(ð ð&�X˜kÔ*ð &ð &ð &ñ „Xð&ð ð)˜ Ô-ð )ð )ð )ñ „Xð)ð ð
�x Ô.ð 
ð 
ð 
ñ „Xð
ð ð2˜X oÔ6ð 2ð 2ð 2ñ „Xð2ð ð(˜x¨œ}ð (ð (ð (ñ „Xð(ð (ð (rG   r  rZ   )^Ú
__author__Ú__author_email__Úloggingrë   r  ÚsysÚcollections.abcr   r   Úior   Úmathr   Útypingr   r   r	   r
   r   Ú
_protocolsr   r   r   Ú_utilsr   r   r   r   r   r   r   r   r   Ú	constantsr   r   r   r   r   ro  r   r  r   r  Úerrorsr    r!   r"   r#   Ú_baser%   r&   r'   r(   r)   r*   r+   r,   r-   r.   Ú_fitr/   Ú_image_inliner0   r1   r2   r3   r4   r5   r6   Úversion_infor9   Útyping_extensionsÚ	getLoggerr‘   Úloggerr  rå  rj   r;   r—   r™   r  rH  rR   rY  rh  r“  rŒ  rl   r•   r‹   ré  r  rH   rG   rF   ú<module>r_     sš  ðð: €
Ø/Ð à €€€Ø 	€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð VÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ Uð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ðð ð ð ð ð ð ð ð ð ð ð ð *Ð )Ð )Ð )Ð )Ð )Ø *Ð *Ð *Ð *Ð *Ð *Ø -Ð -Ð -Ð -Ð -Ð -Ø bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð IÐ HÐ HÐ HÐ HÐ HÐ HÐ HàÔ�wÒÐØÐÐÐÐÐÐà&Ð&Ð&Ð&Ð&Ð&à	ˆÔ	˜8Ñ	$Ô	$€à�"”*Ð@ÑAÔA€ðkð kð kð kð k�$�s”)˜Yñ kô kð kð\~ð ~ð ~ð ~ð ~�t˜C ˜H”~ yñ ~ô ~ð ~ðB_*ð _*ð _*ð _*ð _*Ð!ñ _*ô _*ð _*ðD+¨Sð +°Tð +ð +ð +ð +ð"tð tð tð tð tÐ#ñ tô tð tðn	ð 	ð 	ð 	ð 	˜,ñ 	ô 	ð 	ð$ð $ð $ð $ð $˜,ñ $ô $ð $ðN #)Ð ð^8ð ^8ð ^8ð ^8ð ^8Ð'ñ ^8ô ^8ð ^8ðH DHð/ð /Øð/à	Ð#Ô	$ð/ð ˜3  S¤	¨4°°S°¬>¸4Ð?Ô@ð/ð ˆ9�c˜3 Ð-Ô.ð	/ð /ð /ð /ðd`6ð `6ð `6ð `6ð `6ˆJñ `6ô `6ð `6ðFw(ð w(ð w(ð w(ð w(�*ñ w(ô w(ð w(ð w(ð w(rG   