U
    aÊ¹j‰	  ã                   @   sl   d Z ddlZddlZddlZddlZddlmZ dZdZdZ	dZ
dZd	d
„ Zddd„Zddd„Zdd„ ZdS )zX
Re-implementation of find_module and get_frozen_object
from the deprecated imp module.
é    N)Úmodule_from_specé   é   é   é   é   c                 C   s(   t |tƒrtj ¡ jntjj}|| |ƒS )N)Ú
isinstanceÚlistÚ	importlibÚ	machineryÚ
PathFinderÚ	find_specÚutil)ÚmoduleÚpathsÚfinder© r   úN/var/www/html/bwave/python/venv/lib/python3.8/site-packages/setuptools/_imp.pyr      s
    ÿýr   c           	      C   sP  t | |ƒ}|dkrtd|  ƒ‚|js>t|dƒr>tj d|j¡}d}d}t|jt	ƒ}|j
dksp|r‚t|jtjjƒr‚t}d}d }}n¾|j
dks |r²t|jtjjƒr²t}d}d }}nŽ|j�r4|j
}tj |¡d	 }|tjjkràd
nd}|tjjk�rt}t |¡}n0|tjjk�r t}t|dƒ}n|tjjk�r@t}nd}d }}|||||ffS )z7Just like 'imp.find_module()', but with package supportNúCan't find %sÚsubmodule_search_locationsz__init__.pyéÿÿÿÿÚfrozenÚ zbuilt-inr   ÚrÚrb)r   ÚImportErrorÚhas_locationÚhasattrr
   r   Úspec_from_loaderÚloaderr   ÚtypeÚoriginÚ
issubclassr   ÚFrozenImporterÚ	PY_FROZENÚBuiltinImporterÚ	C_BUILTINÚosÚpathÚsplitextÚSOURCE_SUFFIXESÚ	PY_SOURCEÚtokenizeÚopenÚBYTECODE_SUFFIXESÚPY_COMPILEDÚEXTENSION_SUFFIXESÚC_EXTENSION)	r   r   ÚspecÚkindÚfileZstaticr(   ÚsuffixÚmoder   r   r   Úfind_module   sR    
ÿþý
ÿþý
r7   c                 C   s&   t | |ƒ}|std|  ƒ‚|j | ¡S ©Nr   )r   r   r   Úget_code)r   r   r2   r   r   r   Úget_frozen_objectL   s    
r:   c                 C   s"   t | |ƒ}|std|  ƒ‚t|ƒS r8   )r   r   r   )r   r   Úinfor2   r   r   r   Ú
get_moduleS   s    
r<   )N)N)Ú__doc__Zimportlib.machineryr
   Zimportlib.utilr'   r,   r   r+   r/   r1   r&   r$   r   r7   r:   r<   r   r   r   r   Ú<module>   s   	
0
