
    Ng                     v   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 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)DictListTuple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     P/var/www/html/ai-engine/env/lib/python3.11/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_streamr0      s     KKNNN
CA	!&)) 	? !=>>>$;;	Sq66Q;;JJs12'''A	 1vv{{	T	Cxx

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

O<<<r      n   
   r      t   	   b      f      (   )   /   \       %   <r$      [   ]   #   _   &   $)rF   rG   \   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   Tr;   r<   r   r>   r'      7r      r%      s   
zUnexpected escaped string: zutf-8ignore)r(   r   r   r*   __ESPACE_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3kk!nn 	? !=>>>$;;aKFFD[[aKF{{ E\\++a..C&3

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

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

1HG^^ !++a..C'))B*** HV

788T8TVVC"3111JJ122222G#3H 	

3s88g3h  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	ExceptionrU   _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   $ &# 4O'''	FE	"	" 2Ood|44 /	0C 9 99?1--CC  9 9 95!;;--i888CCC9"3''C"(CJ-- %	0'))'///"6==#A#ABBC"(CJ0$$f&96;N%OPP "-fmmH.E.EFFF-3F*.2F+'-bqbzF$!M$$W-- "-fmmJ.G.GHHF-3F*.2F+'-':F$!M!A#;'))-fmmJ.G.GHHF-3F*.2F+'-':F$!M **?*G*GHH)/&370% 0 0 0'/////0 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 )Nra    pdfdocencodingrK   z#does not exist in translation table)r   rr   	bytearray)rw   rv   bcs       r   rp   rp      sb    F 
 
Q==$ !5   	!Mr   )N)rk   typingr   r   r   r   _codecsr   _utilsr	   r
   r   errorsr   r   _baser   r   re   floatr    r   r0   rW   rO   rT   r^   r,   r+   rp    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FO FO#u*FO4d3ic3h?@FO --.FO FO FO FORe       r   