
    NgV	                     t    d dl Z d dlmZ d Zd Zd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/ai-engine/env/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_buffer.<locals>.<genexpr>'   s7      @@1xQ--..@@@@@@r   )setissubsetr   )r/   specmethodss   `  r
   	is_bufferr4       s    Gt99s4yy*****
d{{7777
d{{G9@@@@@@@@@@r   c                       e Zd Zd Zd ZdS )_buffer_readerc                     || _         d S r   bufferselfr9   s     r
   __init__z_buffer_reader.__init__,       r   c                     t          j        |t          j        t           j        |z                      }| j                            |           | j                            |j                   dS N   )ctypescastPOINTERc_charr9   r'   r*   contents)r;   _positionp_bufsizec_bufs         r
   __call__z_buffer_reader.__call__/   sW    E6>&-$2F#G#GHH"""U^,,,qr   N__name__
__module____qualname__r<   rK   r   r   r
   r6   r6   *   s2              r   r6   c                       e Zd Zd Zd ZdS )_buffer_writerc                     || _         d S r   r8   r:   s     r
   r<   z_buffer_writer.__init__8   r=   r   c                     t          j        |t          j        t           j        |z                      }| j                            |j                   dS r?   )rA   rB   rC   c_ubyter9   r,   rE   )r;   rF   datarI   blocks        r
   rK   z_buffer_writer.__call__;   sA    D&.$1F"G"GHH%.)))qr   NrL   r   r   r
   rQ   rQ   6   s2              r   rQ   c                     |                      dd          }|                      d           t          j                    }||_        t	          |dt          |                      d |_        |j        f}||fS )Nr      
m_GetBlock)r'   pdfium_cFPDF_FILEACCESS	m_FileLenr$   r6   m_ParamrY   )r9   file_lenreaderto_holds       r
   get_bufreaderra   A   sp    {{1a  H
KKNNN%''FF~f'='=>>>FN #G7?r   c                 l    t          j        d          }t          |dt          |                      |S )Nr@   )version
WriteBlock)rZ   FPDF_FILEWRITEr$   rQ   )r9   writers     r
   get_bufwriterrg   P   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>Z   s    ,B,B,BqQU,B,B,Br   )r   rZ   	FPDF_PAGE)pagescountc_arrays      r
   pages_c_arrayrq   V   sE     wJJE!E),B,BE,B,B,BCGE>r   )r   )rA   pypdfium2.rawrj   rZ   r   r$   r4   r6   rQ   ra   rg   rq   r   r   r
   <module>rs      s                  (E E EA A A A	 	 	 	 	 	 	 	               r   