
    є jZ                     j   d dl Z d dlmZ ddlmZ ddl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i d ed          d ed          d ed          d ed          d ed          d ed          d ed          d ed          d ed          d ed          d ed          d  ed           d! ed!          d" ed"          d# ed#          d$ ed$          d% ed%           ed&           ed'          d(Z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 )0    N)Union   )_pdfdoc_encoding)
StreamType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     hC:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\pypdf/generic/_utils.py	<genexpr>zhex_to_rgb.<locals>.<genexpr>   sK      RR1U\\#&&q1q5y12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           g }d}	 t          |           }|st          t                    |dk    rn?||z  }t	          |          dk    r&|                    t          |d                     d}kt	          |          dk    r|dz  }|dk    r$|                    t          |d                     t          t          |          |          S )	Nr   r   T   >r   r   base   0)	readr   r
   r	   lenappendr   create_string_objectbytes)r   r   arrxtoks        r   read_hex_string_from_streamr-      s     KKNNN
CA	!&)) 	? !=>>>$; 		Sq66Q; 	JJs12'''A	 1vv{ 	T	Cx $

3qr???###c

O<<<r      n   
   r      t   	   b      f      (   )   /   \       %   <r!      [   ]   #   _   &   $)rC   rD   \   c                    |                      d          }d}g }	 |                      d          }|st          t                    |dk    r|dz  }n|dk    r|dz  }|dk    rn̐n|dk    r|                      d          }	 |                    t          |                    # t
          $ rZ d|cxk    rdk    rn n|                                 dz
  }t          d	          D ]C}|                      d          }d|cxk    rdk    r	n n||z  }-|                     d
d            t          |d          }|dk    r0|                    t                     |                     |           n|                    |           Y p|dv r2|                      d          }|dvr|                     d
d           Y d|                    dd           }	t          |	t                     |                    t                     Y nw xY w|                    t          |                     t          t!          |          |          S )Nr   Tr8   r9   r   r;   r$      7r      r"      s   
zUnexpected escaped string: zutf-8ignore)r%   r
   r	   r'   __ESCAPE_DICT__KeyErrortellrangeseekr   __BACKSLASH_CODE__decoder   __name__ordr(   r)   )
r   r   r,   parenstxtsav_ntokr   msgs
             r   read_string_from_streamr[   >   s    ++a..CF
C2kk!nn 	? !=>>>$; -	/aKFFD[ +	/aKF{ E\ '	/++a..C%/

?3/000 "/ "/ "/3    $      !++--!+C"1XX " "%{{1~~4 " " " "4 " " " " "4KCC"KKA...!Ca(((A3w &

#5666C((((

1H'> 	 !++a..C') +B*** HSCJJw4Q4QSSsH---

-.....E"/F 	

3s88e2f  c

O<<<s     B& &C!H
3H AH
Hstringc                    t          | t                    rt          |           S t          | t                    r3t          |t          t
          f          rad}| D ]D}	 |||         z  }# t          $ r) |t          |f                              d          z  }Y Aw xY wt          |          }| |_        |S t          |t                    r@|dk    rt          |           S t          |                     |                    }| |_        |S 	 | 
                    t          j        t          j        f          rAt          |                     d                    }| |_        d|_        | dd         |_        |S | 
                    d          rCt          |                     d	                    }| |_        d|_        t          j        |_        |S | d
d         dk    rCt          |                     d                    }| |_        d|_        t          j        |_        |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.

     charmapr)   zutf-16TNr       zutf-16ber   zutf-16lez3create_string_object should have str or unicode arg)
isinstancestrr   r)   listdict	ExceptionrR   _original_bytesr   
startswithcodecsBOM_UTF16_BEBOM_UTF16_LEautodetect_utf16	utf16_bomdecode_pdfdocencodingautodetect_pdfdocencodingUnicodeDecodeError	TypeError)r\   r   outr+   objretvals         r   r(   r(   {   s   $ &# ('''&%   1Ood|44 		C 9 99?1--CC  9 9 95!;;--i888CCC9"3''C"(CJos++ 	') 0'///"6==#A#ABBC"(CJ	,  &"5v7J!KLL )&--*A*ABB)/&*.'#)"1":   )) )&--
*C*CDD)/&*.'#)#6 ac{g% )&--
*C*CDD)/&*.'#)#6  &&;F&C&CDDF%+F"/3F,M! 	, 	, 	,#F+++++	, MNNNs9   A**0BBA+I :AI AI #+I I+*I+
byte_arrayc                     d}| D ]:}t           |         }|dk    r t          dt          |          ddd          ||z  };|S )Nr^    pdfdocencodingrH   z#does not exist in translation table)r   ro   	bytearray)rt   rs   bcs       r   rm   rm      se    F 
 
Q= 	$ !5   	!Mr   )N)rh   typingr   _codecsr   _utilsr   r   r   errorsr	   r
   _baser   r   rb   r   floatr   rc   rd   r   r-   rT   rL   rQ   r[   r)   r(   rm    r   r   <module>r      s          & & & & & & D D D D D D D D D D A A A A A A A A 5 5 5 5 5 5 5 5Sc SeE5%$78 S S S S DH= ==4d3ic3h?@= 12= = = =0##e**##e** 	##e** 	##e**	
 	##e** 	##d)) 	##d)) 	##d)) 
33u:: 	##d)) 	##d)) 	##d)) 	##d)) 	##d)) 	##d))  	##d))!" 	##d))#$ #d))
#d))'  *  
 DH:= :=:=4d3ic3h?@:= 12:= := := :=~ DHEO EO#u*EO4d3ic3h?@EO --.EO EO EO EOPe       r   