Your IP : 216.73.216.196
�
��f�Oc%@s�dZddlZddlZddlZddlZddlTdddddd d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(g%Zd)Zd*Zd)Zd+Z d,Z
d-Zd.Zd/ej
kr�d0Znd1ej
krd-Znd2Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Zd=d>�Zd?d@�ZdAd�ZdBd�ZdCd�ZdDd�ZdEd�ZdFd�ZdGd �Zejje_dHd
�ZdId�ZdJd�Z dKd�Z!dLd�Z"dMd�Z#dNd�Z$dOd�Z%yddPl&m'Z'Wne(k
r`dQd�Z)Yn
XdRd�Z)e)Z*e+edS�o�ej,�dTdUkZ-edVd&�Z.y9ej,�ddU�dakr�ddXl&m/Z/ne(�Wn$e0e(fk
rdYdZ�Z/YnXd[d'�Z1ydd\l&m2Z2Wne(k
rGd]d^�Z2YnXd_d(�Z3ydd`l&m4Z5Wne(k
r|YnXdS(bu�Common pathname manipulations, WindowsNT/95 version.
Instead of importing this module directly, import os and refer to this
module as os.path.
iN(u*unormcaseuisabsujoinu
splitdriveusplitusplitextubasenameudirnameucommonprefixugetsizeugetmtimeugetatimeugetctimeuislinkuexistsulexistsuisdiruisfileuismountu
expanduseru
expandvarsunormpathuabspathusplituncucurdirupardirusepupathsepudefpathualtsepuextsepudevnullurealpathusupports_unicode_filenamesurelpathusamefileusameopenfileu.u..u\u;u/u.;C:\binuceu\Windowsuos2unulcCst|t�rdSdSdS(Nsu(u
isinstanceubytes(upath((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu
_get_empty&su
_get_emptycCst|t�rdSdSdS(Ns\u\(u
isinstanceubytes(upath((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu_get_sep,su_get_sepcCst|t�rdSdSdS(Ns/u/(u
isinstanceubytes(upath((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu_get_altsep2su_get_altsepcCst|t�rdSdSdS(Ns\/u\/(u
isinstanceubytes(upath((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu
_get_bothseps8su
_get_bothsepscCst|t�rdSdSdS(Ns.u.(u
isinstanceubytes(upath((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu_get_dot>su_get_dotcCst|t�rdSdSdS(Ns:u:(u
isinstanceubytes(upath((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu
_get_colonDsu
_get_coloncCst|t�rdSdSdS(Ns\\.\s\\?\u\\.\u\\?\(s\\.\s\\?\(u\\.\u\\?\(u
isinstanceubytes(upath((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu_get_specialJsu_get_specialcCsUt|ttf�s3tdj|jj���n|jt|�t |��j
�S(uaNormalize case of pathname.
Makes all characters lowercase and all slashes into backslashes.u2normcase() argument must be str or bytes, not '{}'(u
isinstanceubytesustru TypeErroruformatu __class__u__name__ureplaceu_get_altsepu_get_sepulower(us((u+/opt/alt/python33/lib64/python3.3/ntpath.pyunormcaseTs cCs<t|�d}t|�dko;|dd�t|�kS(uTest whether a path is absoluteiiN(u
splitdriveulenu
_get_bothseps(us((u+/opt/alt/python33/lib64/python3.3/ntpath.pyuisabsdsc
GsIt|�}t|�}t|�}t|�\}}x�|D]�}t|�\}} | r�| d|kr�|sx|r�|}n| }q=nE|r�||kr�|j�|j�kr�|}| }q=n|}n|r�|d|kr�||}n|| }q=W|rA|d|krA|rA|dd�|krA|||S||S(Niii����i����(u_get_sepu
_get_bothsepsu
_get_colonu
splitdriveulower(
upathupathsusepusepsucolonuresult_driveuresult_pathupup_driveup_path((u+/opt/alt/python33/lib64/python3.3/ntpath.pyujoinks0
cCsJt|�}t|�dkr@t|�}|jt|�|�}|dd�|dkr|dd�|kr|j|d�}|dkr�||fS|j||d�}||dkr�||fS|dkr�t|�}n|d|�||d�fS|dd�t|�kr@|dd�|dd�fSn||fS(u�Split a pathname into drive/UNC sharepoint and relative path specifiers.
Returns a 2-tuple (drive_or_unc, path); either part may be empty.
If you assign
result = splitdrive(p)
It is always true that:
result[0] + result[1] == p
If the path contained a drive letter, drive_or_unc will contain everything
up to and including the colon. e.g. splitdrive("c:/dir") returns ("c:", "/dir")
If the path contained a UNC path, the drive_or_unc will contain the host name
and share up to but not including the fourth directory separator character.
e.g. splitdrive("//host/computer/dir") returns ("//host/computer", "/dir")
Paths cannot contain both a drive letter and a UNC path.
iiiiNi����i����(u
_get_emptyulenu_get_sepureplaceu_get_altsepufindu
_get_colon(upuemptyusepunormpuindexuindex2((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu
splitdrive�s"0
!cCsaddl}|jdtd�t|�\}}t|�dkrW|dd�|fS||fS(u�Deprecated since Python 3.1. Please use splitdrive() instead;
it now handles UNC paths.
Split a pathname into UNC mount point and relative path specifiers.
Return a 2-tuple (unc, rest); either part may be empty.
If unc is not empty, it has the form '//host/mount' (or similar
using backslashes). unc+rest is always the input path.
Paths containing drive letters never have an UNC part.
iNu<ntpath.splitunc is deprecated, use ntpath.splitdrive insteadi(uwarningsuwarnuDeprecationWarningu
splitdriveulen(upuwarningsudriveupath((u+/opt/alt/python33/lib64/python3.3/ntpath.pyusplitunc�s
cCs�t|�}t|�\}}t|�}x(|rT||d|krT|d8}q-W|d|�||d�}}|}x0|r�|dd�|kr�|dd�}qW|p�|}|||fS(u~Split a pathname.
Return tuple (head, tail) where tail is everything after the final slash.
Either part may be empty.iNi����i����(u
_get_bothsepsu
splitdriveulen(upusepsuduiuheadutailuhead2((u+/opt/alt/python33/lib64/python3.3/ntpath.pyusplit�s!cCs(tj|t|�t|�t|��S(N(ugenericpathu _splitextu_get_sepu_get_altsepu_get_dot(up((u+/opt/alt/python33/lib64/python3.3/ntpath.pyusplitext�scCst|�dS(u)Returns the final component of a pathnamei(usplit(up((u+/opt/alt/python33/lib64/python3.3/ntpath.pyubasename�scCst|�dS(u-Returns the directory component of a pathnamei(usplit(up((u+/opt/alt/python33/lib64/python3.3/ntpath.pyudirname�scCsEytj|�}Wntjtfk
r4dSYnXtj|j�S(uyTest whether a path is a symbolic link.
This will always return false for Windows prior to 6.0
and for OS/2.
F(uosulstatuerroruAttributeErroruFalseustatuS_ISLNKust_mode(upathust((u+/opt/alt/python33/lib64/python3.3/ntpath.pyuislinks
cCs9ytj|�}Wntjtfk
r4dSYnXdS(uCTest whether a path exists. Returns True for broken symbolic linksFT(uosulstatuerroruWindowsErroruFalseuTrue(upathust((u+/opt/alt/python33/lib64/python3.3/ntpath.pyulexistss
cCsOt|�}t|�\}}|rE|d|krE|pD||kS||kS(u?Test whether a path is a mount point (defined as root of drive)i(u
_get_bothsepsu
splitdrive(upathusepsurooturest((u+/opt/alt/python33/lib64/python3.3/ntpath.pyuismounts
cCsqt|t�rd}nd}|j|�s1|Sdt|�}}x0||krv||t|�krv|d7}qGWdtjkr�tjd}ntdtjkr�tjd}nUdtjkr�|Sytjd}Wntk
r�d}YnXt|tjd�}t|t�r1|j t
j��}n|dkr_tt|�|d|��}n|||d �S(
uLExpand ~ and ~user constructs.
If user or $HOME is unknown, do nothing.s~u~iuHOMEuUSERPROFILEuHOMEPATHu HOMEDRIVEuN(
u
isinstanceubytesu
startswithulenu
_get_bothsepsuosuenvironuKeyErrorujoinuencodeusysugetfilesystemencodingudirname(upathutildeuiunuuserhomeudrive((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu
expanduser/s0 %
"cCsut|t�r�td�|kr7td�|kr7|Sddl}t|j|jdd�}d}d}d }d
}ttdd�}n]d|kr�d|kr�|Sddl}|j|jd}d}d}d
}d}tj }|dd�}d} t
|�}
xb| |
krp|| | d�}||kr�|| dd�}t
|�}
y/|j|�} |||d| d�7}Wqctk
r�||7}|
d} YqcXn�||kr�|| d| d�|kr�||7}| d7} qc|| dd�}t
|�}
y|j|�} Wn*tk
rV|||7}|
d} YqcX|d| �}y<|dkr�tj
tj tj|��}
n
||}
Wn tk
r�|||}
YnX||
7}n�||krY|| d| d�|kr||7}| d7} qc|| d| d�|kro|| dd�}t
|�}
y4t|t�rv|jd�} n|jd�} WnJtk
r�t|t�r�|d|7}n|d|7}|
d} YqVX|d| �}y<|dkrtj
tj tj|��}
n
||}
Wn@tk
rat|t�rOd|d}
nd|d}
YnX||
7}qc|dd�}| d7} || | d�}x>|r�||kr�||7}| d7} || | d�}q�Wy<|dkrtj
tj tj|��}
n
||}
Wntk
r8||}
YnX||
7}|rc| d8} qcn
||7}| d7} qW|S(ufExpand shell variables of the forms $var, ${var} and %var%.
Unknown variables are left unchanged.u$u%iNu_-uasciis's%s{s$uenvironbu'u{iis}u}s${u${(u
isinstanceubytesuordustringu
ascii_lettersudigitsugetattruosuNoneuenvironulenuindexu
ValueErrorufsencodeufsdecodeuKeyError(upathustringuvarcharsuquoteupercentubraceudollaruenvironuresuindexupathlenucuvaruvalue((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu
expandvars`s�$
"
"
"
cCs�t|�}t|�d}t|�}|j|�r;|S|jt|�|�}t|�\}}|j|�r�||7}|j|�}n|j|�}d}x�|t |�kr|||s�||t|�kr�||=q�|||kro|dkr7||d|kr7||d|d�=|d8}qy|dkrb|j
t|��rb||=qy|d7}q�|d7}q�W|r�|r�|jt|��n||j|�S(u0Normalize path, eliminating double slashes, etc.iii(
u_get_sepu_get_dotu_get_specialu
startswithureplaceu_get_altsepu
splitdriveulstripusplitulenuendswithuappendujoin(upathusepudotdotuspecial_prefixesuprefixucompsui((u+/opt/alt/python33/lib64/python3.3/ntpath.pyunormpath�s4
!
!
(u_getfullpathnamecCsRt|�sHt|t�r*tj�}ntj�}t||�}nt|�S(u&Return the absolute version of a path.(uisabsu
isinstanceubytesuosugetcwdbugetcwdujoinunormpath(upathucwd((u+/opt/alt/python33/lib64/python3.3/ntpath.pyuabspathscCsb|r.yt|�}WqXtk
r*YqXXn*t|t�rLtj�}ntj�}t|�S(u&Return the absolute version of a path.(u_getfullpathnameuWindowsErroru
isinstanceubytesuosugetcwdbugetcwdunormpath(upath((u+/opt/alt/python33/lib64/python3.3/ntpath.pyuabspaths
ugetwindowsversioniicCs�t|�}|tkr't|�}n|s<td��ntt|��}tt|��}t|�\}}t|�\}}t|�t|�kr�dj||�} t| ��ndd�|j |�D�}
dd�|j |�D�}d}xCt
|
|�D]2\}
}t|
�t|�kr3Pn|d7}qWt|t�rYd}nd }|gt
|
�|||d
�}|s�t|�St|�S(u#Return a relative version of a pathuno path specifiedu,path is on mount '{0}', start on mount '{1}'cSsg|]}|r|�qS(((u.0ux((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu
<listcomp>6s urelpath.<locals>.<listcomp>cSsg|]}|r|�qS(((u.0ux((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu
<listcomp>7s iis..u..N(u_get_sepucurdiru_get_dotu
ValueErroruabspathunormpathu
splitdriveunormcaseuformatusplituzipu
isinstanceubytesulenujoin(upathustartusepu start_absupath_absustart_driveu
start_restu
path_driveu path_restuerroru
start_listu path_listuiue1ue2upardirurel_list((u+/opt/alt/python33/lib64/python3.3/ntpath.pyurelpath#s6 %
i(u_getfinalpathnamecCstt|��S(N(unormcaseuabspath(uf((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu_getfinalpathnameVsu_getfinalpathnamecCst|�t|�kS(u9Test whether two pathnames reference the same actual file(u_getfinalpathname(uf1uf2((u+/opt/alt/python33/lib64/python3.3/ntpath.pyusamefileYs(u_getfileinformationcCs|S(N((ufd((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu_getfileinformationcsu_getfileinformationcCst|�t|�kS(u5Test whether two file objects reference the same file(u_getfileinformation(uf1uf2((u+/opt/alt/python33/lib64/python3.3/ntpath.pyusameopenfilefs(u_isdir(ii(6u__doc__uosusysustatugenericpathu__all__ucurdirupardiruextsepusepupathsepualtsepudefpathubuiltin_module_namesudevnullu
_get_emptyu_get_sepu_get_altsepu
_get_bothsepsu_get_dotu
_get_colonu_get_specialunormcaseuisabsujoinu
splitdriveusplituncusplitusplitextu _splitextubasenameudirnameuislinkulexistsuismountu
expanduseru
expandvarsunormpathuntu_getfullpathnameuImportErroruabspathurealpathuhasattrugetwindowsversionusupports_unicode_filenamesurelpathu_getfinalpathnameuAttributeErrorusamefileu_getfileinformationusameopenfileu_isdiruisdir(((u+/opt/alt/python33/lib64/python3.3/ntpath.pyu<module>s�
#-
1w)
'
?>