
     h                         d Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
 	 ddlmZ n# e$ r	 ddlmZ Y nw xY wddlmZ  G d de          Z G d	 d
e          Z G d de          ZdS )z#Helpers for working with PDF types.    )Path)IOAnyDictListOptionalTupleUnion)Protocol   )StrByteTypec            
           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S )PdfObjectProtocolindirect_referenceF pdf_destforce_duplicateignore_fields.Nreturnc                     d S Nr   )selfr   r   r   s       V/var/www/flask_pdf_extract_app/myenv/lib/python3.11/site-packages/PyPDF2/_protocols.pyclonezPdfObjectProtocol.clone   s	     	    r   c                     d S r   r   )r   r   r   s      r   _reference_clonez"PdfObjectProtocol._reference_clone       r   c                     d S r   r   r   s    r   
get_objectzPdfObjectProtocol.get_object   r   r   )Fr   )__name__
__module____qualname__r   __annotations__boolr
   r	   strr   r   r   r   r!   r   r   r   r   r      s         
 !&AC	   U38_d3i=>	
 
   c S S    H%89      r   r   c                       e Zd Zedefd            Zedefd            Zedee	ee	e
f         f         fd            Zedee
         fd            Zde
dee         fdZdS )	PdfReaderProtocolr   c                     d S r   r   r    s    r   
pdf_headerzPdfReaderProtocol.pdf_header"       r   c                     d S r   r   r    s    r   strictzPdfReaderProtocol.strict&   r,   r   c                     d S r   r   r    s    r   xrefzPdfReaderProtocol.xref*   r,   r   c                     d S r   r   r    s    r   pageszPdfReaderProtocol.pages.   r,   r   r   c                     d S r   r   r   r   s     r   r!   zPdfReaderProtocol.get_object2   r   r   N)r"   r#   r$   propertyr'   r+   r&   r.   r   intr   r0   r   r2   r   r   r!   r   r   r   r)   r)   !   s        C    X     X d3S#X./    X tCy    XS X>O5P      r   r)   c                       e Zd ZU ee         ed<   eeeeef         f         ed<   dedee	         fdZ
deeef         deeef         fdZdS )	PdfWriterProtocol_objects_id_translatedr   r   c                     d S r   r   r4   s     r   r!   zPdfWriterProtocol.get_object:   r   r   streamc                     d S r   r   )r   r<   s     r   writezPdfWriterProtocol.write=   r   r   N)r"   r#   r$   r   r   r%   r   r6   r   r   r!   r
   r   r   r	   r&   r   r>   r   r   r   r8   r8   6   s         3id38n,----S X>O5P    E$"34 tRx      r   r8   N)__doc__pathlibr   typingr   r   r   r   r   r	   r
   r   ImportErrortyping_extensions_utilsr   r   r)   r8   r   r   r   <module>rE      s<   ) )       > > > > > > > > > > > > > > > > > >+ + + +********+              $       *         s   # 11