B
    dy                 @   s   d dl Z d dlmZ d dlZd dlZejdZeedZ	ej
dkZe dddd	d
gZdd Zdd Zdd Zdd Zerd dlmZ nd dlZdd ZdS )    N)utilwinpypy_version_info)      ArgSpecargsvarargskeywordsdefaultsc             C   s   t | r| j} t | s(t| d| j}t |sFt|d|j}|j}|j	}t
|d| }||7 }d}|jt j@ r|j| }|d }d}|jt j@ r|j| }t|||| jS )zBgetargspec based on fully vendored getfullargspec from Python 3.3.z is not a Python functionz is not a code objectN   )inspectismethod__func__
isfunction	TypeError__code__iscodeco_argcountco_varnamesco_kwonlyargcountlistco_flags
CO_VARARGSCO_VARKEYWORDSr   __defaults__)funcconargsnamesnkwargsr   r	   varkw r"   X/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-packages/mako/compat.pyinspect_getargspec   s(    




r$   c             C   s&   t | |}t |}|j| |S )N)r   spec_from_file_locationmodule_from_specloaderexec_module)Z	module_idpathspecmoduler"   r"   r#   load_module2   s    
r,   c               C   s   t  d S )Nr   )sysexc_infor"   r"   r"   r#   exception_as9   s    r/   c             C   s   | j jS )N)	__class____name__)excr"   r"   r#   exception_name=   s    r3   )metadatac             C   s.   t  }t|dr|j| dS || dS d S )Nselect)groupr"   )importlib_metadataentry_pointshasattrr5   get)r6   epr"   r"   r#   importlib_metadata_getG   s    
r<   )collections	importlibr   r   r-   platform
startswithwin32r9   pypyversion_infoZpy38
namedtupler   r$   r,   r/   r3   r4   r7   r<   r"   r"   r"   r#   <module>   s    

