ó
    �®žjJ	  ã                   óÈ   • S SK JrJr  S SKJr  S SKJr  S SKJrJ	r	J
r
  S SKJr  S SKJrJrJr  \(       a  S SKJr  S SKJr   " S	 S
\5      r " S S\5      r " S S\5      rg)é    )ÚABCÚabstractmethod)ÚBytesIO)ÚPath)ÚTYPE_CHECKINGÚOptionalÚUnion)ÚDoclingDocument)ÚBackendOptionsÚBaseBackendOptionsÚDeclarativeBackendOptions)ÚInputFormat)ÚInputDocumentc            	       ó²   • \ rS rSr\ SSSS\\\4   S\\	   4S jj5       r
\S\4S	 j5       r\\S\4S
 j5       5       rS r\\S\S   4S j5       5       rSrg)ÚAbstractDocumentBackendé   NÚin_docr   Úpath_or_streamÚoptionsc                 óª   • UR                   U l         X l        UR                  U l        UR                  U l        Uc  [        5       U l        g UU l        g ©N)Úfiler   Údocument_hashÚformatÚinput_formatr   r   )Úselfr   r   r   s       Ú]/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docling/backend/abstract_backend.pyÚ__init__Ú AbstractDocumentBackend.__init__   sD   € ð —K‘KˆŒ	Ø,ÔØ#×1Ñ1ˆÔØ"ŸM™MˆÔØ/6©Ô)Ó+ˆ�ÀGˆ�ó    Úreturnc                 ó   • g r   © ©r   s    r   Úis_validÚ AbstractDocumentBackend.is_valid$   ó   € àr    c                 ó   • g r   r#   ©Úclss    r   Úsupports_paginationÚ+AbstractDocumentBackend.supports_pagination(   ó   € ð 	r    c                 ó„   • [        U R                  [        5      (       a  U R                  R                  5         S U l        g r   )Ú
isinstancer   r   Úcloser$   s    r   ÚunloadÚAbstractDocumentBackend.unload-   s/   € Ü�d×)Ñ)¬7×3Ñ3Ø×Ñ×%Ñ%Ô'à"ˆÕr    r   c                 ó   • g r   r#   r)   s    r   Úsupported_formatsÚ)AbstractDocumentBackend.supported_formats3   r-   r    )r   r   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r	   r   r   r   r   r   Úboolr%   Úclassmethodr+   r1   Úsetr4   Ú__static_attributes__r#   r    r   r   r      s´   † Øð
 15ñ	
Làð
Lð ˜g t˜mÑ,ð
Lð Ð,Ñ-ô	
Ló ð
Lð ð˜$ó ó ðð Øð Dó ó ó ðò#ð Øð # mÑ"4ó ó ó ór    r   c                   ó0   • \ rS rSrSr\S\4S j5       rSrg)ÚPaginatedDocumentBackendé9   z¤PaginatedDocumentBackend.

A backend designed for handling multi-page documents (like PDFs or TIFFs)
that require page-count awareness and page-by-page processing.
r!   c                 ó   • g r   r#   r$   s    r   Ú
page_countÚ#PaginatedDocumentBackend.page_count@   r'   r    r#   N)	r6   r7   r8   r9   Ú__doc__r   ÚintrB   r=   r#   r    r   r?   r?   9   s"   † ñð ð˜Có ó ór    r?   c            
       óx   ^ • \ rS rSrSr\ SSSS\\\4   S\	\
   SS4U 4S	 jjj5       r\S\4S
 j5       rSrU =r$ )ÚDeclarativeDocumentBackendéE   z˜DeclarativeDocumentBackend.

A declarative document backend is a backend that can transform to DoclingDocument
straight without a recognition pipeline.
Nr   r   r   r   r!   c                 ó@   >• Uc
  [        5       n[        TU ]	  XU5        g r   )r   Úsuperr   )r   r   r   r   Ú	__class__s       €r   r   Ú#DeclarativeDocumentBackend.__init__L   s!   ø€ ð ‰?Ü/Ó1ˆGÜ‰Ñ˜°Õ9r    c                 ó   • g r   r#   r$   s    r   ÚconvertÚ"DeclarativeDocumentBackend.convertW   r'   r    r#   r   )r6   r7   r8   r9   rD   r   r	   r   r   r   r   r   r
   rN   r=   Ú__classcell__)rK   s   @r   rG   rG   E   sp   ø† ñð ð
 -1ñ	:àð:ð ˜g t˜mÑ,ð:ð ˜.Ñ)ð	:ð
 
÷:ó ð:ð ð˜ó ó ör    rG   N)Úabcr   r   Úior   Úpathlibr   Útypingr   r   r	   Údocling_core.types.docr
   Ú!docling.datamodel.backend_optionsr   r   r   Údocling.datamodel.base_modelsr   Údocling.datamodel.documentr   r   r?   rG   r#   r    r   Ú<module>rY      sU   ð÷ $Ý Ý ß 1Ñ 1å 2÷ñ ö Ý9Ý8ô ˜cô  ôF	Ð6ô 	ôÐ!8õ r    