
    
`i                     J    d dl Z d dlZ G d de          Zd Zd Zd Zd ZdS )    Nc                       e Zd ZdS )YAJLImportErrorN)__name__
__module____qualname__     k/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ijson/backends/__init__.pyr   r      s        Dr	   r   c           
          t          | d          \  }}t          |d          \  }}||k    rt          d|d|d|d|          dS )zu
    Asserts that the major component of 'version' is equal to 'required'.
    Raises YAJLImportError otherwise.
    '  d   zYAJL version z.x required, found .N)divmodr   )versionrequiredmajorrestminormicros         r
   require_versionr      sl    
 %((KE4$$$LE5ohhhX]X]X]_d_d_dfkfklmmm r	   c                 v    	 |                                  S # t          $ r t          j        d           Y dS w xY w)Nz/Cannot determine yajl version, assuming <1.0.12r   )yajl_versionAttributeErrorwarningswarn)yajls    r
   get_yajl_versionr      sL      """   GHHHuus    88c                 ,   ddl m}m} t          j        d          p|                    d          }|t          d          	 |                    |          }n# t          $ r t          d          w xY wt          t          |          |            |S )zh
    Finds and loads yajl shared object of the required major
    version (1, 2, ...) using ctypes.
    r   )utilcdllYAJL_DLLr   NzYAJL shared object not found.Unable to load YAJL.)ctypesr   r    osgetenvfind_libraryr   LoadLibraryOSErrorr   r   )r   r   r    so_namer   s        r
   find_yajl_ctypesr*      s     "!!!!!!!i
##@t'8'8'@'@G=>>>6(( 6 6 645556$T**H555Ks   A A4c                     	 |                      t          j        d          pd          }n# t          $ r t	          d          w xY wt          t          |          |           |S )zf
    Finds and loads yajl shared object of the required major
    version (1, 2, ...) using cffi.
    r!   r   r"   )dlopenr$   r%   r(   r   r   r   )ffir   r   s      r
   find_yajl_cffir.   -   sq    
6zz")J//96:: 6 6 645556$T**H555Ks	   ), A)r$   r   ImportErrorr   r   r   r*   r.   r   r	   r
   <module>r0      s    				 	 	 	 	 	k 	 	 	n n n    (
 
 
 
 
r	   