§
    ;]¥e  ã                   ó¬  — d dl Z d dlmZmZmZmZ ddlmZ ddlm	Z	m
Z
mZmZ ddlmZmZ ddlmZmZ d	ed
eeeef         fd„Z	 dde	dedeee         eeef         f         d
ed         fd„Z	 dde	dedeee         eeef         f         d
ed         fd„Z	 ddeeef         dedeee         eeef         f         d
eeef         fd„Zded
efd„ZdS )é    N)ÚDictÚListÚTupleÚUnioné   )Ú_pdfdoc_encoding)Ú
StreamTypeÚb_Úlogger_warningÚread_non_whitespace)ÚSTREAM_TRUNCATED_PREMATURELYÚPdfStreamErroré   )ÚByteStringObjectÚTextStringObjectÚvalueÚreturnc                 ó:   ‡ — t          ˆ fd„dD ¦   «         ¦  «        S )Nc              3   óz   •K  — | ]5}t          ‰                     d ¦  «        ||dz   …         d¦  «        dz  V — Œ6dS )ú#r   é   g     ào@N)ÚintÚlstrip)Ú.0Úir   s     €ú6/usr/lib/python3/dist-packages/pypdf/generic/_utils.pyú	<genexpr>zhex_to_rgb.<locals>.<genexpr>   sK   øè è € ÐRÐRÀ1•�U—\’\ #Ñ&Ô& q¨1¨q©5 yÔ1°2Ñ6Ô6¸Ñ>ÐRÐRÐRÐRÐRÐRó    )r   r   é   )Útuple)r   s   `r   Ú
hex_to_rgbr!   
   s&   ø€ ÝÐRÐRÐRÐRÈ	ÐRÑRÔRÑRÔRÐRr   ÚstreamÚforced_encoding)r   r   c                 óØ  — |                       d¦  «         d}d}	 t          | ¦  «        }|st          t          ¦  «        ‚|dk    rn<||z  }t	          |¦  «        dk    r#|t          t          |d¬¦  «        ¦  «        z  }d}Œht	          |¦  «        dk    r|d	z  }t	          |¦  «        dk    r!|t          t          |d¬¦  «        ¦  «        z  }t          t          |¦  «        |¦  «        S )
Nr   Ú r   Tó   >r   r   ©Úbaseó   0)	Úreadr   r   r   ÚlenÚchrr   Úcreate_string_objectr
   )r"   r#   ÚtxtÚxÚtoks        r   Úread_hex_string_from_streamr1      së   € ð ‡K‚K��N„N€NØ
€CØ€Að	Ý! &Ñ)Ô)ˆØð 	?Ý Õ!=Ñ>Ô>Ð>Ø�$Š;ˆ;ØØ	ˆS‰ˆÝˆq‰6Œ6�QŠ;ˆ;Ø•3•s˜1 2�‘”Ñ'Ô'Ñ'ˆCØˆAð	õ ˆ1�v„v�‚{€{Ø	ˆT‰	ˆÝ
ˆ1�v„v�‚{€{Ø�s•3�q˜r�?‘?”?Ñ#Ô#Ñ#ˆÝ¥ 3¡¤¨Ñ9Ô9Ð9r   c           	      óú  — |                       d¦  «        }d}g }	 |                       d¦  «        }|st          t          ¦  «        ‚|dk    r|dz  }�np|dk    r|dz  }|dk    r�nt�n[|dk    �rT|                       d¦  «        }i dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“ddddœ¥}	 ||         }nú# t          $ rí d|k    r�|d k    r{t	          d!¦  «        D ]?}|                       d¦  «        }d|k    r|d k    r||z  }Œ)|                      d"d¦  «          t          t          t          |d#¬$¦  «        ¦  «        ¦  «        }nc|d%v r2|                       d¦  «        }|d%vr|                      d"d¦  «         d&}n-d'| 	                    d(¦  «        › �}t          |t          ¦  «         Y nw xY w|                     |¦  «         �Œ¿t          d&                     |¦  «        |¦  «        S ))Nr   Tó   (ó   )r   ó   \ó   nó   
ó   ró   ó   tó   	ó   bó   ó   fó   ó   cs   \có   /ó    ó   %ó   <r&   ó   [ó   ]ó   #ó   _ó   &ó   $)rH   rI   rJ   r)   ó   7r   éÿÿÿÿé   r'   s   
r   zUnexpected escaped string: Úutf8)r*   r   r   ÚKeyErrorÚrangeÚseekr
   r,   r   Údecoder   Ú__name__Úappendr-   Újoin)	r"   r#   r0   Úparensr.   Úescape_dictÚ_ÚntokÚmsgs	            r   Úread_string_from_streamr[   &   sÝ  € ð �+Š+�a‰.Œ.€CØ€FØ
€Cð@Ø�kŠk˜!‰nŒnˆØð 	?Ý Õ!=Ñ>Ô>Ð>Ø�$Š;ˆ;Ø�a‰KˆF‰FØ�DŠ[ˆ[Ø�a‰KˆFØ˜Š{ˆ{Ùñ à�EŠ\‰\Ø—+’+˜a‘.”.ˆCðØ�eðà�eðð �eðð �eð	ð
 �eðð �fðð �dðð �dðð �dðð �uðð �dðð �dðð �dðð �dðð �dðð  �dð!ð" �dð#ð$ ØØð)ð ð ˆKð,2Ø! #Ô&��øÝð 2ð 2ð 2Ø˜3’;�; 3¨$¢; ;õ # 1™XœXð "ð "˜Ø%Ÿ{š{¨1™~œ~˜Ø 4š<˜<¨D°DªL¨LØ 4™K˜C˜Cà"ŸKšK¨¨AÑ.Ô.Ð.Ø!Ý�S¥ S¨qÐ!1Ñ!1Ô!1Ñ2Ô2Ñ3Ô3�C�CØ˜G�^�^ð !Ÿ+š+ a™.œ.�CØ 'Ð)Ð)ØŸš B¨Ñ*Ô*Ð*ð �C�CàM¸¿ºÀFÑ9KÔ9KÐMÐM�CÝ" 3­Ñ1Ô1Ð1øøð72øøøð8 	�
Š
�3‰ŒˆñA@õB   §¢¨¡¤¨Ñ?Ô?Ð?s   Ã C	 Ã	C4G Æ?G Ústringc                 ó2  — t          | t          ¦  «        rt          | ¦  «        S t          | t          ¦  «        �rOt          |t          t
          f¦  «        rXd}| D ]D}	 |||         z  }Œ# t          $ r) |t          |f¦  «                             d¦  «        z  }Y ŒAw xY wt          |¦  «        S t          |t          ¦  «        r7|dk    rt          | ¦  «        S t          |                      |¦  «        ¦  «        S 	 |  	                    t          j        ¦  «        r+t          |                      d¦  «        ¦  «        }d|_        |S t          t          | ¦  «        ¦  «        }d|_        |S # t          $ r t          | ¦  «        cY S w xY wt!          d¦  «        ‚)a>  
    Create a ByteStringObject or a TextStringObject from a string to represent the string.

    Args:
        string: The data being used
        forced_encoding: Typically None, or an encoding string

    Returns:
        A ByteStringObject

    Raises:
        TypeError: If string is not of type str or bytes.
    r%   ÚcharmapÚbyteszutf-16Tz3create_string_object should have str or unicode arg)Ú
isinstanceÚstrr   r_   ÚlistÚdictÚ	ExceptionrR   r   Ú
startswithÚcodecsÚBOM_UTF16_BEÚautodetect_utf16Údecode_pdfdocencodingÚautodetect_pdfdocencodingÚUnicodeDecodeErrorÚ	TypeError)r\   r#   Úoutr/   Úretvals        r   r-   r-   q   s³  € õ" �&�#ÑÔð !OÝ Ñ'Ô'Ð'Ý	�F�EÑ	"Ô	"ñ OÝ�o­­d |Ñ4Ô4ð 	0ØˆCØð 9ð 9�ð9Ø˜?¨1Ô-Ñ-�C�CøÝ ð 9ð 9ð 9Ø�5 ! ™;œ;×-Ò-¨iÑ8Ô8Ñ8�C�C�Cð9øøøå# CÑ(Ô(Ð(Ý˜­Ñ-Ô-ð 	0Ø 'Ò)Ð)Ý'¨Ñ/Ô/Ð/Ý# F§M¢M°/Ñ$BÔ$BÑCÔCÐCð0Ø×$Ò$¥VÔ%8Ñ9Ô9ð "Ý-¨f¯mªm¸HÑ.EÔ.EÑFÔF�FØ.2�FÔ+Ø!�Mõ .Õ.CÀFÑ.KÔ.KÑLÔL�FØ7;�FÔ4Ø!�MøÝ%ð 0ð 0ð 0Ý'¨Ñ/Ô/Ð/Ð/Ð/ð0øøøõ ÐMÑNÔNÐNs+   ÁA*Á*0BÂBÃ<A	E+ Å$E+ Å+FÆFÚ
byte_arrayc                 ó„   — d}| D ]:}t           |         }|dk    r t          dt          |¦  «        ddd¦  «        ‚||z  }Œ;|S )Nr%   ú ÚpdfdocencodingrL   z#does not exist in translation table)r   rk   Ú	bytearray)ro   rn   ÚbÚcs       r   ri   ri   ¦   sb   € Ø€FØð 
ð 
ˆÝ˜QÔˆØ�Š=ˆ=Ý$Ø Ý˜!‘”ØØØ5ñô ð ð 	�!‰ˆˆØ€Mr   )N)rf   Útypingr   r   r   r   Ú_codecsr   Ú_utilsr	   r
   r   r   Úerrorsr   r   Ú_baser   r   ra   Úfloatr!   r   r1   r[   r_   r-   ri   © r   r   ú<module>r}      s/  ðØ €€€Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à &Ð &Ð &Ð &Ð &Ð &Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5ðS�cð S˜e E¨5°%Ð$7Ô8ð Sð Sð Sð Sð DHð:ð :Øð:à˜4  d¨3¤i°°c¸3°h´Ð?Ô@ð:ð Ð1Ô2ð:ð :ð :ð :ð4 DHðH@ð H@ØðH@à˜4  d¨3¤i°°c¸3°h´Ð?Ô@ðH@ð Ð1Ô2ðH@ð H@ð H@ð H@ðZ DHð2Oð 2OØ�#�u�*Ôð2Oà˜4  d¨3¤i°°c¸3°h´Ð?Ô@ð2Oð ÐÐ-Ð-Ô.ð2Oð 2Oð 2Oð 2Oðj eð °ð ð ð ð ð ð r   