
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,a()  ã                   @   sÆ  d dl mZmZmZmZmZmZmZmZm	Z	 zd dl m
Z
 W n ek
rT   dZ
Y nX d dlmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlZd dlZd dlZd dlZd dlZd dlZejded	d
� d ZdZd	ZdZ dZ!dZ"dZ#dZ$dZ%dZ&dd„ Z'dd„ Z(dd„ Z)d7dd„Z*dd„ Z+dd„ Z,G dd „ d ƒZ-G d!d"„ d"ƒZ.G d#d$„ d$e.ej/ƒZ0d8d%d&„Z1G d'd(„ d(e.eƒZ2d9d)d*„Z3d+d,„ Z4d-d.„ Z5d:d/d0„Z6d1d2„ Z7d3d4„ Z8e
�r¾d;d5d6„Z9ndZ9dS )<é    )	Ú	lock_heldÚacquire_lockÚrelease_lockÚget_frozen_objectÚis_frozen_packageÚinit_frozenÚ
is_builtinÚ	is_frozenÚ_fix_co_filename)Úcreate_dynamicN)Ú_ERR_MSGÚ_execÚ_loadÚ_builtin_from_name)ÚSourcelessFileLoader)Ú	machinery)Úutilzhthe imp module is deprecated in favour of importlib; see the module's documentation for alternative usesé   )Ú
stacklevelé   é   é   é   é   é   é   é	   c                 C   s
   t  | ¡S ©N)ÚtypesÚ
ModuleType©Úname© r"   ú(/opt/alt/python38/lib64/python3.8/imp.pyÚ
new_module0   s    r$   c                   C   s   t jS r   )r   ÚMAGIC_NUMBERr"   r"   r"   r#   Ú	get_magic;   s    r&   c                   C   s   t jjS r   )ÚsysÚimplementationÚ	cache_tagr"   r"   r"   r#   Úget_tagC   s    r*   c              
   C   s6   t  ¡ �$ t  d¡ t | |¡W  5 Q R £ S Q R X d S )NÚignore)ÚwarningsÚcatch_warningsÚsimplefilterr   Úcache_from_source)ÚpathÚdebug_overrider"   r"   r#   r/   H   s    

r/   c                 C   s
   t  | ¡S r   )r   Úsource_from_cache©r0   r"   r"   r#   r2   [   s    r2   c                  C   s<   dd„ t jD ƒ} dd„ t jD ƒ}dd„ t jD ƒ}| | | S )Nc                 S   s   g | ]}|d t f‘qS ©Úrb)ÚC_EXTENSION©Ú.0Úsr"   r"   r#   Ú
<listcomp>k   s     z get_suffixes.<locals>.<listcomp>c                 S   s   g | ]}|d t f‘qS )Úr)Ú	PY_SOURCEr7   r"   r"   r#   r:   l   s     c                 S   s   g | ]}|d t f‘qS r4   )ÚPY_COMPILEDr7   r"   r"   r#   r:   m   s     )r   ÚEXTENSION_SUFFIXESÚSOURCE_SUFFIXESÚBYTECODE_SUFFIXES)Ú
extensionsÚsourceÚbytecoder"   r"   r#   Úget_suffixesi   s    rD   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚNullImporterc                 C   s2   |dkrt ddd�‚ntj |¡r.t d|d�‚d S )NÚ zempty pathnamer3   zexisting directory)ÚImportErrorÚosr0   Úisdir)Úselfr0   r"   r"   r#   Ú__init__z   s    zNullImporter.__init__c                 C   s   d S r   r"   )rJ   Úfullnamer"   r"   r#   Úfind_module€   s    zNullImporter.find_moduleN)Ú__name__Ú
__module__Ú__qualname__rK   rM   r"   r"   r"   r#   rE   r   s   rE   c                       s*   e Zd Zd‡ fdd„	Z‡ fdd„Z‡  ZS )Ú_HackedGetDataNc                    s   t ƒ  ||¡ || _d S r   )ÚsuperrK   Úfile)rJ   rL   r0   rS   ©Ú	__class__r"   r#   rK   Š   s    z_HackedGetData.__init__c              
      s|   | j rl|| jkrl| j js0| j }d|jkr0| ¡  | j jrJt| jdƒ | _ }|� | ¡ W  5 Q R £ S Q R X ntƒ  |¡S d S )NÚbr5   )	rS   r0   ÚclosedÚmodeÚcloseÚopenÚreadrR   Úget_data)rJ   r0   rS   rT   r"   r#   r\   Ž   s    
z_HackedGetData.get_data)N)rN   rO   rP   rK   r\   Ú__classcell__r"   r"   rT   r#   rQ   …   s   rQ   c                   @   s   e Zd ZdS )Ú_LoadSourceCompatibilityN©rN   rO   rP   r"   r"   r"   r#   r^       s   r^   c                 C   s\   t | ||ƒ}tj| ||d�}| tjkr8t|tj|  ƒ}nt|ƒ}t | |¡|_	|j	|j
_|S ©N)Úloader)r^   r   Úspec_from_file_locationr'   Úmodulesr   r   r   ÚSourceFileLoaderÚ
__loader__Ú__spec__ra   ©r!   ÚpathnamerS   ra   ÚspecÚmoduler"   r"   r#   Úload_source¥   s    

rk   c                   @   s   e Zd ZdS )Ú_LoadCompiledCompatibilityNr_   r"   r"   r"   r#   rl   ³   s   rl   c                 C   sZ   t | ||ƒ}tj| ||d�}| tjkr8t|tj|  ƒ}nt|ƒ}t| |ƒ|_|j|j	_
|S r`   )rl   r   rb   r'   rc   r   r   r   re   rf   ra   rg   r"   r"   r#   Úload_compiled¸   s    

rm   c                 C   sœ   t j |¡rftjd d … tjd d …  }|D ]*}t j |d| ¡}t j |¡r,|} qfq,td 	|¡ƒ‚t
j| |g d�}| tjkr�t|tj|  ƒS t|ƒS d S )NrK   z{!r} is not a package)Úsubmodule_search_locations)rH   r0   rI   r   r?   r@   ÚjoinÚexistsÚ
ValueErrorÚformatr   rb   r'   rc   r   r   )r!   r0   rA   Ú	extensionZ	init_pathri   r"   r"   r#   Úload_packageÇ   s     ÿÿ
rt   c           	   
   C   s$  |\}}}|r0|  d¡r d|kr0td |¡ƒ‚nð|d krX|tthkrXd |¡}t|ƒ‚nÈ|tkrlt| ||ƒS |tkr€t| ||ƒS |tkrÒtd k	rÒ|d krÄt	|dƒ�}t| ||ƒW  5 Q R £ S Q R X nt| ||ƒS nN|t
krät| |ƒS |tk� röt| ƒS |tk�rt| ƒS d | |¡}t|| d�‚d S )N)r;   ÚUú+zinvalid file open mode {!r}z.file object required for import (type code {})r5   z*Don't know how to import {} (type code {})r    )Ú
startswithrq   rr   r<   r=   rk   rm   r6   Úload_dynamicrZ   ÚPKG_DIRECTORYrt   Ú	C_BUILTINÚinit_builtinÚ	PY_FROZENr   rG   )	r!   rS   ÚfilenameZdetailsÚsuffixrX   Útype_ÚmsgZopened_filer"   r"   r#   Úload_moduleÛ   s.    


 


r�   c              	   C   sŒ  t | tƒstd t| ƒ¡ƒ‚n$t |td ƒtfƒsBtd t|ƒ¡ƒ‚|d kr€t| ƒrbd d ddtffS t	| ƒrzd d ddt
ffS tj}|D ]¢}tj || ¡}dtjd fD ]>}d| }tj ||¡}tj |¡r¤d |ddtff    S q¤tƒ D ]2\}}}| | }	tj ||	¡}tj |¡rê �q qêq„ �q:q„tt | ¡| d�‚d }
d|k�rnt|d	ƒ�}t |j¡d }
W 5 Q R X t|||
d
�}|||||ffS )Nz'name' must be a str, not {}z%'path' must be None or a list, not {}rF   z.pyr   rK   r    rV   r5   )Úencoding)Ú
isinstanceÚstrÚ	TypeErrorrr   ÚtypeÚlistÚRuntimeErrorr   rz   r	   r|   r'   r0   rH   ro   r   r@   Úisfilery   rD   rG   r   rZ   ÚtokenizeÚdetect_encodingÚreadline)r!   r0   ÚentryZpackage_directoryr~   Zpackage_file_nameZ	file_pathrX   r   Ú	file_namer‚   rS   r"   r"   r#   rM   þ   sB    
ÿ
rM   c                 C   s
   t  | ¡S r   )Ú	importlibÚreload)rj   r"   r"   r#   r�   2  s    r�   c                 C   s&   z
t | ƒW S  tk
r    Y d S X d S r   )r   rG   r    r"   r"   r#   r{   =  s    
r{   c                 C   s0   dd l }|j | |¡}|jj| ||d�}t|ƒS )Nr   )r!   ra   Úorigin)Úimportlib.machineryr   ÚExtensionFileLoaderÚ
ModuleSpecr   )r!   r0   rS   r�   ra   ri   r"   r"   r#   rx   J  s      ÿrx   )N)N)N)N)N):Ú_impr   r   r   r   r   r   r   r	   r
   r   rG   Zimportlib._bootstrapr   r   r   r   Zimportlib._bootstrap_externalr   r�   r   r   rH   r'   rŠ   r   r,   ÚwarnÚDeprecationWarningZSEARCH_ERRORr<   r=   r6   ZPY_RESOURCEry   rz   r|   ZPY_CODERESOURCEZIMP_HOOKr$   r&   r*   r/   r2   rD   rE   rQ   rd   r^   rk   rl   rm   rt   r�   rM   r�   r{   rx   r"   r"   r"   r#   Ú<module>	   s`   ,
 þ
	

#
4