U
��,aA�@s�ddlZddlZddlZddlZdddgZdd�dd�Zdd�dd�Zd d
�Zdd�Zd
d�Z dd�Z
dd�Zdd�Zdd�Z
dd�Ze�d�Ze�d�Zdd�Zdd�Zdd �Zd!d�ZdS)"�N�glob�iglob�escapeF�� recursivecCstt||d��S)Nr)�listr)�pathnamer�r �)/opt/alt/python38/lib64/python3.8/glob.pyr
scCs2t�d||�t||d�}|r.t|�r.t|�}|S)Nz glob.globF)�sys�audit�_iglob�_isrecursive�next)rr�it�sr r r
rs
ccs�tj�|�\}}t|�sF|r0tj�|�rB|Vntj�|�rB|VdS|s�|rjt|�rjt|||�EdHnt|||�EdHdS||kr�t|�r�t ||d�}n|g}t|�r�|r�t|�r�t}q�t}nt
}|D]&}||||�D]}tj�||�Vq�q�dS)NT)�os�path�split� has_magic�lexists�isdirr�_glob2�_glob1r
�_glob0�join)rr�dironly�dirname�basename�dirsZglob_in_dir�namer r r
r
)s0r
cCs0tt||��}t|�s$dd�|D�}t�||�S)Ncss|]}t|�s|VqdS�N)� _ishidden)�.0�xr r r
� <genexpr>Tsz_glob1.<locals>.<genexpr>)r�_iterdirr"�fnmatch�filter)r�patternr�namesr r r
rQsrcCs8|stj�|�r4|gSntj�tj�||��r4|gSgSr!)rrrrr)rrrr r r
rWsrcCst||d�S�NF)r�rr)r r r
�glob0dsr-cCst||d�Sr+)rr,r r r
�glob1gsr.ccs"|dd�Vt||�EdHdS)Nr)� _rlistdir)rr)rr r r
rmsrc
cs�|s"t|t�rttjd�}ntj}zRt�|��>}|D]2}z|rF|��rN|jVWq4tk
rdYq4Xq4W5QRXWntk
r�YdSXdS)N�ASCII)�
isinstance�bytesr�curdir�scandir�is_dirr �OSError)rrr�entryr r r
r&ts
r&ccs`tt||��}|D]H}t|�s|V|r6tj�||�n|}t||�D]}tj�||�VqDqdSr!)rr&r"rrrr/)rrr*r$r�yr r r
r/�sr/z([*?[])s([*?[])cCs(t|t�rt�|�}n
t�|�}|dk Sr!)r1r2�magic_check_bytes�search�magic_check)r�matchr r r
r�s
rcCs|ddkS)Nr)�.�.r )rr r r
r"�sr"cCst|t�r|dkS|dkSdS)Ns**z**)r1r2)r)r r r
r�s
rcCs<tj�|�\}}t|t�r(t�d|�}nt�d|�}||S)Ns[\1]z[\1])rr�
splitdriver1r2r9�subr;)rZdriver r r
r�s
)r�rer'r�__all__rrr
rrr-r.rr&r/�compiler;r9rr"rrr r r r
�<module>s(
(
|