o
    i                     @   s   d Z ddlZddlZddlmZ dd Ze  edd Ze  ddlmZ W d   n1 s1w   Y  d	d
l	m
Z
 d	dl
T ddlT ddlmZ ddlT dd Zdd ZdZedZg de
j ej ej ZdS )zPython bindings for 0MQ.    N)contextmanagerc               	   C   s  ddl } ttd}|   dk}|rFddl}t }|j|B }|tt	dd M }|rAtj dkrA|tt	dd	O }|tt	d
d M }t
| z=zd	dlm} W n tyd   ddlm} |ddrb Y nw |t d< |rxddl}||j|j W |rt
| dS dS |rt
| w w )z#load bundled libzmq if there is oner   Ngetdlopenflagspypy
RTLD_LOCAL   darwin	RTLD_LAZY   RTLD_NOW   )libzmq)	find_specz.libzmqzmq_libzmq)platformhasattrsyspython_implementationlowerctypesr   RTLD_GLOBALgetattrossetdlopenflags r   ImportErrorimportlib.utilr   globalsCDLL__file__)r   dlopenPYPYr   dlflagsflagsr   r    r$   G/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/zmq/__init__.py_load_libzmq   s<   





r&   c               	   c   s    t jdsdV  dS tjtjtjttj	d} tj
| s(dV  dS tjd}z$tj|p5d| gtjd< dV  W |du rLtjd dS |tjd< dS |du r^tjd w |tjd< w )zcontext manager for libs directory on $PATH

    Works around mysterious issue where os.add_dll_directory
    does not resolve imports (conda-forge Python >= 3.8)
    winNz
pyzmq.libsPATHr   )r   r   
startswithr   pathabspathjoindirnamer   pardirexistsenvirongetpathseppop)libs_dirpath_beforer$   r$   r%   _libs_on_path@   s0   
r6   )backendr	   )	constants)*)sugarc                     st   ddl m} m}m}mm} |t |  |g fdddD  }| dr8| d |S )zNReturn a list of directories to include for linking against pyzmq with cython.r   )r+   r-   r/   r,   r.   c                    s   g | ]} |qS r$   r$   ).0subdirbaser,   parentr$   r%   
<listcomp>v   s    z get_includes.<locals>.<listcomp>)utilsinclude)os.pathr+   r-   r/   r,   r.   r   append)r+   r-   r/   r.   includesr$   r=   r%   get_includesp   s   rF   c                  C   s:   ddl m} m}m}m} |t}| |||}|||gS )zIReturn a list of directories used to link against pyzmq's bundled libzmq.r   )r+   r-   r,   r.   )rC   r+   r-   r,   r.   r   )r+   r-   r,   r.   r>   r?   r$   r$   r%   get_library_dirs|   s   rG   i   draft)rF   COPY_THRESHOLD	DRAFT_API)__doc__r   r   
contextlibr   r&   r6   r   r7   r   r8   zmq.backendr:   	zmq.sugarrF   rG   rI   hasrJ   __all__r$   r$   r$   r%   <module>   s8    0
%	
