ó
    �®žjr	  ã                   ó‚   • S SK r S SKJr  S SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJr  S SKJr  S S	KJr   " S
 S\5      rg)é    N)ÚBytesIO)ÚPath)ÚUnion)ÚDoclingDocument)Úoverride)ÚDeclarativeDocumentBackend)ÚInputFormat)ÚInputDocumentc                   óÞ   ^ • \ rS rSr\S\S\\\4   SS4U 4S jj5       r	\S\
4S j5       r\\S\
4S j5       5       r\\S\\   4S	 j5       5       rS\\\4   4S
 jr\S\4S j5       rSrU =r$ )ÚDoclingJSONBackendé   Úin_docÚpath_or_streamÚreturnNc                 óN   >• [         TU ]  X5        U R                  5       U l        g ©N)ÚsuperÚ__init__Ú_get_doc_or_errÚ_doc_or_err)Úselfr   r   Ú	__class__s      €Úf/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docling/backend/json/docling_json_backend.pyr   ÚDoclingJSONBackend.__init__   s%   ø€ ô 	‰Ñ˜Ô0ð
  ×/Ñ/Ó1ˆÕó    c                 ó6   • [        U R                  [        5      $ r   ©Ú
isinstancer   r   ©r   s    r   Úis_validÚDoclingJSONBackend.is_valid   s   € ä˜$×*Ñ*¬OÓ<Ð<r   c                 ó   • g)NF© ©Úclss    r   Úsupports_paginationÚ&DoclingJSONBackend.supports_pagination!   s   € ð r   c                 ó$   • [         R                  1$ r   )r	   ÚJSON_DOCLINGr$   s    r   Úsupported_formatsÚ$DoclingJSONBackend.supported_formats&   s   € ô ×(Ñ(Ð)Ð)r   c                 ó  •  [        U R                  [        5      (       a.  [        U R                  SS9 nUR	                  5       nS S S 5        Oy[        U R                  [
        5      (       a8  U R                  R                  5       R                  [        R                  5      nO"[        S[        U R                  5      < 35      e[        R                  " WS9$ ! , (       d  f       N"= f! [         a  nUs S nA$ S nAff = f)Nz	utf-8-sig)Úencodingz&Unexpected: type(self.path_or_stream)=)Ú	json_data)r   r   r   ÚopenÚreadr   ÚgetvalueÚremoveprefixÚcodecsÚBOM_UTF8ÚRuntimeErrorÚtyper   Úmodel_validate_jsonÚ	Exception)r   Úfr.   Úes       r   r   Ú"DoclingJSONBackend._get_doc_or_err+   sÆ   € ð
	ä˜$×-Ñ-¬t×4Ñ4Ü˜$×-Ñ-¸ÒDÈØ !§¡£�I÷ EÐDä˜D×/Ñ/´×9Ñ9Ø ×/Ñ/×8Ñ8Ó:×GÑGÌÏÉÓX‘	ä"Ð%L´$°t×7JÑ7JÓ2KÑ1MÐ#NÓOÐOÜ"×6Ò6ÀÑKÐK÷ EÕDûô ó 	Ø�Hûð	ús5   ‚3C- µCÁBC- Ã
C*Ã&C- Ã-
DÃ7C>Ã8DÃ>Dc                 óp   • [        U R                  [        5      (       a  U R                  $ U R                  er   r   r   s    r   ÚconvertÚDoclingJSONBackend.convert=   s-   € ä�d×&Ñ&¬×8Ñ8Ø×#Ñ#Ð#à×"Ñ"Ð"r   )r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r
   r   r   r   r   Úboolr    Úclassmethodr&   Úsetr	   r*   r   r8   r   r=   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      sÍ   ø† Øð2Ø#ð2Ø5:¸7ÀD¸=Ñ5Ið2à	ö2ó ð2ð ð=˜$ó =ó ð=ð Øð Dó ó ó ðð Øð* # kÑ"2ó *ó ó ð*ð  ¸	Ð'AÑ!Bô ð$ ð#˜ó #ó ö#r   r   )r3   Úior   Úpathlibr   Útypingr   Údocling_core.types.docr   Útyping_extensionsr   Ú docling.backend.abstract_backendr   Údocling.datamodel.base_modelsr	   Údocling.datamodel.documentr
   r   r#   r   r   Ú<module>rP      s/   ðó Ý Ý Ý å 2Ý &å GÝ 5Ý 4ô1#Ð3õ 1#r   