
    .i!
                         d dl Z d dlZd dlmZ d Zd ZddZd Z G d d          Z	 G d	 d
          Z
d Zd Zd ZdS )    Nc                     t          |           dk    rt          d          t          d | D                       st          d          | \  }}}}|r||||fn||||f}d}d}|D ]}	||	|z  z  }|dz  }|S )N   z'Color must consist of exactly 4 values.c              3   6   K   | ]}d |cxk    odk    nc V  dS )r      N ).0cs     T/var/www/html/analyses/venv/lib/python3.11/site-packages/pypdfium2/internal/utils.py	<genexpr>zcolor_tohex.<locals>.<genexpr>   s6      ,,qA}}}}}}}},,,,,,    zColor value exceeds boundaries.r         )len
ValueErrorall)
colorrev_byteorderrgbachannelsc_colorshiftr	   s
             r
   color_tohexr   	   s    
5zzQBCCC,,e,,,,, <:;;; JAq!Q,>1a||1aA,HGE  1:
Nr   c                 p    t          | | t          t          | |                    |                     d S N)setattrtypegetattr)structfnamecallbacks      r
   set_callbackr$      s7    FE94!7!799(CCDDDDDr   r   c                      g }t          |                              t          d                    sJ d|v r|g dz  }d|v r|dgz  }t           fd|D                       S )Nrwr   )seektellreadreadintowwritec              3   T   K   | ]"}t          t          |d                     V  #d S r   )callabler    )r   r   bufs     r
   r   zis_stream.<locals>.<genexpr>(   s7      @@1xQ--..@@@@@@r   )setissubsetr   )r/   specmethodss   `  r
   	is_streamr4   !   s    Gt99s4yy*****
d{{7777
d{{G9@@@@@@@@@@r   c                 ~    | j         }t          |          |z                      t          j        |                    S r   )contentsr   from_addressctypes	addressof)ptrsizeobjs      r
   
get_bufferr=   +   s3    
,CII**F,<S,A,ACCCr   c                       e Zd Zd Zd ZdS )_buffer_readerc                     || _         d S r   	py_bufferselfrB   s     r
   __init__z_buffer_reader.__init__2       "r   c                     t          ||          }| j                            |           | j                            |           dS N   )r=   rB   r'   r*   )rD   _positionp_buf_firstr;   c_buffers         r
   __call__z_buffer_reader.__call__5   sB    k400H%%%)))qr   N__name__
__module____qualname__rE   rN   r   r   r
   r?   r?   0   2        # # #    r   r?   c                       e Zd Zd Zd ZdS )_buffer_writerc                     || _         d S r   rA   rC   s     r
   rE   z_buffer_writer.__init__>   rF   r   c                     t          j        |t          j        t           j                            }t	          ||          }| j                            |           dS rH   )r8   castPOINTERc_ubyter=   rB   r,   )rD   rJ   p_data_firstr;   rM   s        r
   rN   z_buffer_writer.__call__A   sI    {<1O1OPPlD11X&&&qr   NrO   r   r   r
   rU   rU   <   rS   r   rU   c                    |                      dt          j                  }|                      d           t          j                    }||_        t          |dt          |                      d |_        |j	        f}||fS )Nr   
m_GetBlock)
r'   osSEEK_ENDpdfium_cFPDF_FILEACCESS	m_FileLenr$   r?   m_Paramr]   )bufferfile_lenreaderto_holds       r
   get_bufreaderrh   H   sr    {{1bk**H
KKNNN%''FF~f'='=>>>FN #G7?r   c                 l    t          j        d          }t          |dt          |                      |S )NrI   )version
WriteBlock)r`   FPDF_FILEWRITEr$   rU   )rd   writers     r
   get_bufwriterrn   W   s4    $Q///F~f'='=>>>Mr   c                 f    | sdS t          |           }t          j        |z  d | D              }||fS )N)Nr   c                     g | ]	}|j         
S r   )raw)r   ps     r
   
<listcomp>z!pages_c_array.<locals>.<listcomp>a   s    ,B,B,BqQU,B,B,Br   )r   r`   	FPDF_PAGE)pagescountc_arrays      r
   pages_c_arrayrx   ]   sE     wJJE!E),B,BE,B,B,BCGE>r   )r   )r^   r8   pypdfium2.rawrq   r`   r   r$   r4   r=   r?   rU   rh   rn   rx   r   r   r
   <module>rz      s    
			               (E E EA A A AD D D
	 	 	 	 	 	 	 		 	 	 	 	 	 	 	        r   