
    <jS	                         d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	m
Z
mZmZmZ ddlmZmZ  G d d	e      Z G d
 de      Z G d de      Z G d dee      Z G d dee      Zy)z#Helpers for working with PDF types.    )abstractmethod)Sequence)Path)IOAnyLiteralOptionalProtocolUnion   )StrByteType
StreamTypec            
           e Zd ZU eed<   	 	 ddededeeedf   e	e   df   defdZ
d	ededefd
Zded    fdZdefdZ	 ddedeeedf   ddfdZy)PdfObjectProtocolindirect_referencepdf_destforce_duplicateignore_fields.Nreturnc                      y N )selfr   r   r   s       G/opt/lfcs-signon/.venv/lib/python3.12/site-packages/pypdf/_protocols.pyclonezPdfObjectProtocol.clone   s     	    r   c                      y r   r   )r   r   r   s      r   _reference_clonez"PdfObjectProtocol._reference_clone       r   c                      y r   r   r   s    r   
get_objectzPdfObjectProtocol.get_object   r   r   c                      y r   r   r!   s    r   
hash_valuezPdfObjectProtocol.hash_value   r   r   streamencryption_keyc                      y r   r   )r   r%   r&   s      r   write_to_streamz!PdfObjectProtocol.write_to_stream        	r   )Fr   r   )__name__
__module____qualname__r   __annotations__boolr   tuplestrlistr   r   r	   r"   bytesr$   r   r(   r   r   r   r   r      s    
 !&AC	  U38_d3i=>	
 
c S S H%89 E  MQ 27UD8H2I	r   r   c                       e Zd Zy)XmpInformationProtocolN)r*   r+   r,   r   r   r   r4   r4   %   s    r   r4   c                       e Zd Zedefd       Zedee   fd       Zede	fd       Z
dedee	   fdZedefd       Zy)	PdfCommonDocProtocolr   c                      y r   r   r!   s    r   
pdf_headerzPdfCommonDocProtocol.pdf_header*       r   c                      y r   r   r!   s    r   pageszPdfCommonDocProtocol.pages.   r9   r   c                      y r   r   r!   s    r   root_objectz PdfCommonDocProtocol.root_object2   r9   r   r   c                      y r   r   )r   r   s     r   r"   zPdfCommonDocProtocol.get_object6   r   r   c                      y r   r   r!   s    r   strictzPdfCommonDocProtocol.strict9   r9   r   N)r*   r+   r,   propertyr0   r8   r   r   r;   r   r=   r	   r"   r.   r@   r   r   r   r6   r6   )   s    C   x}   .  S X>O5P    r   r6   c                   j    e Zd Zeedeeeeef   f   fd              Zeedee	ef   fd              Z
y)PdfReaderProtocolr   c                      y r   r   r!   s    r   xrefzPdfReaderProtocol.xref?   r)   r   c                      y r   r   r!   s    r   trailerzPdfReaderProtocol.trailerD   r)   r   N)r*   r+   r,   rA   r   dictintr   rE   r0   rG   r   r   r   rC   rC   >   s`    d3S#X./    c3h   r   rC   c                       e Zd ZU ee   ed<   eeeeee	d   f   ef   f   ed<   e
ed<   ee   ed<   edeeef   dee
ee   f   fd       Zed	edefd
       Zy)PdfWriterProtocol_objects	PreventGC_id_translatedincremental_readerr%   r   c                      y r   r   )r   r%   s     r   writezPdfWriterProtocol.writeT   r9   r   objc                      y r   r   )r   rS   s     r   _add_objectzPdfWriterProtocol._add_objectX   r9   r   N)r*   r+   r,   r1   r   r-   rH   rI   r   r   r.   r	   r   r   r   r/   r   rR   rU   r   r   r   rK   rK   J   s    3i d5gk.B)B#CS#HIIJJc]E$"34 tRW}9M   s s  r   rK   N)__doc__abcr   collections.abcr   pathlibr   typingr   r   r   r	   r
   r   _utilsr   r   r   r4   r6   rC   rK   r   r   r   <module>r\      s]    )  $  > > + 4	. 	8 *	,h 	,h r   