o ?Ogz?@s dZdZdZdZdZdZdZdZddlZddl Z ddl Z ddl Z ddl Tgd Z d d Z d d ZddZddZddZddZe jje_ddZddZddZddZddZd d!Zd"d#Zdadad$d%Zd&d'Zd(d)Z d*d+d,d-Z!d.d/Z"e j#d0kZ$d5d1d2Z%d3d4Z&dS)6.../:z /bin:/usr/binNz /dev/null)*)&normcaseisabsjoin splitdrivesplitsplitextbasenamedirname commonprefixgetsizegetmtimegetatimegetctimeislinkexistslexistsisdirisfileismount expanduser expandvarsnormpathabspathsamefile sameopenfilesamestatcurdirpardirseppathsepdefpathaltsepextsepdevnullrealpathsupports_unicode_filenamesrelpath commonpathcCst|trdSdS)N/r) isinstancebytespathr20/opt/alt/python310/lib64/python3.10/posixpath.py_get_sep)s r4cCs t|SNosfspath)sr2r2r3r4s rcCs t|}t|}||Sr5)r7r8r4 startswith)r9r#r2r2r3r<s  rc Gs t|}t|}|}z0|s|dd|ttj|D]}||r'|}q|r.||r3||7}q|||7}qW|StttfyQt j d|g|Rw)Nrr ) r7r8r4mapr:endswith TypeErrorAttributeError BytesWarning genericpath_check_arg_types)apr#r1br2r2r3r Gs&    r cCsb t|}t|}||d}|d|||d}}|r-||t|kr-||}||fSNr7r8r4rfindlenrstrip)rCr#iheadtailr2r2r3r ds  r cCs6t|}t|trd}d}nd}d}t||d|S)Nr-.rr)r7r8r.r/r@ _splitext)rCr#r'r2r2r3r us  r cCs t|}|dd|fSNrr6)rCr2r2r3r s r cCs. t|}t|}||d}||dSrE)r7r8r4rH)rCr#rKr2r2r3r s   r cCsP t|}t|}||d}|d|}|r&||t|kr&||}|SrErG)rCr#rKrLr2r2r3rs   rc Cs8 zt|}Wn tttfyYdSwt|jS)NF)r7lstatOSError ValueErrorr>statS_ISLNKst_mode)r1str2r2r3rs rc Cs, zt|WdSttfyYdSw)NFT)r7rQrRrSr0r2r2r3rs rc Cs zt|}Wn ttfyYdSwt|jrdSt|}t|t r-t |d}nt |d}t |}zt|}Wn ttfyIYdSw|j }|j }||krVdS|j }|j }||krbdSdS)NF..rT)r7rQrRrSrTrUrVr8r.r/r r)st_devst_ino)r1s1parents2dev1dev2ino1ino2r2r2r3rs6     rc CsJ t|}t|trd}nd}||s|St|}||d}|dkr)t|}|dkrRdtjvrLddl }z | t j }Wn;t yK|YSwtjd}n*ddl }|d|}t|trft|d}z||}Wn t yx|YSw|j }|durtjdkr|St|trt|}d}nd }||}|||dp|S) N~~rFrHOMEASCIIvxworksr-r)r7r8r.r/r:r4findrIenvironpwdgetpwuidgetuidpw_dirKeyErrorstrgetpwnamsysplatformfsencoderJ) r1tilder#rKriuserhomenamepwentrootr2r2r3rsL              rc CsV t|}t|tr,d|vr|Stsddl}|d|jatj}d}d}t tdd}nd|vr2|St s?ddl}|d|ja t j}d }d }tj }d} |||}|sV |S| d\}}| d } | |rr| |rr| d d } z|durttj t| } n|| } Wn ty|}Ynw||d} |d|| }t|}|| 7}qL)N$rs\$(\w+|\{[^}]*\}){}environb$z\$(\w+|\{[^}]*\}){}TrF)r7r8r.r/ _varprogbrecompileresearchgetattr_varprogrhspangroupr:r<rrfsdecodermrI) r1rrstartendrhrKmjruvaluerMr2r2r3rsX       rc Cs t|}t|trd}d}d}d}nd}d}d}d}||kr"|S||}|r9||d r9||d s9d }||}g}|D]%}|||fvrKqB||ks[|sS|r[|ra|d |kra||qB|rg|qB|}||}|rw|||}|pz|S) Nr-rNrXrrrr) r7r8r.r/r:r appendpopr ) r1r#emptydotdotdotinitial_slashescomps new_compscompr2r2r3rRsL           rcCsB t|}t|st|trt}nt}t||}t|Sr5) r7r8rr.r/getcwdbgetcwdr r)r1cwdr2r2r3rys    rF)strictcCs. t|}t|dd||i\}}t|SrP)r7r8 _joinrealpathr)filenamerr1okr2r2r3r)s r)c Cs\t|tr d}d}d}nd}d}d}t|r|dd}|}|r||\}}}|r.||kr/q||krI|rFt|\}}||krEt|||}n|}qt||} zt| } Wntyc|r_d} Ynwt | j } | so| }q| |vr|| }|dur|q|rt | nt| |dfSd|| <t |t | ||\}} | st||dfS||| <|s |d fS) Nr-rNrXrrrrFFT)r.r/r partitionr r r7rQrRrTrUrVrreadlink) r1restrseenr#r!r"ru_newpathrWis_linkrr2r2r3rs`         .rdarwinc Cs |stdt|}t|trd}d}d}nd}d}d}|dur%|}nt|}z9dd t||D}d d t||D}tt||g}|gt||||d}|s_|WSt |WSt t t t fyvtd ||w) Nzno path specifiedrNr-rXrrrcSg|]}|r|qSr2r2.0xr2r2r3 zrelpath..cSrr2r2rr2r2r3rrr+)rSr7r8r.r/rr rIrr r=r>r?DeprecationWarningr@rA) r1rr!r#r" start_list path_listrKrel_listr2r2r3r+s4    r+c s& |stdtttj|}t|dtrddnddz`fdd|D}ztfd d |D\}Wn tyCtd dwfd d|D}t|}t |}|}t |D]\}}|||krm|d|}nq[|rrndd}| |WSt t fytjd g|Rw)Nz%commonpath() arg is an empty sequencerr-rNrrcsg|]}|qSr2)r )rr1r#r2r3r szcommonpath..c3s |] }|ddkVqdSrEr2)rrCrr2r3 szcommonpath..z%Can't mix absolute and relative pathscsg|] }fdd|DqS)csg|] }|r|kr|qSr2r2)rcr!r2r3rsz)commonpath...r2)rr9rr2r3rsr,)rStupler;r7r8r.r/setminmax enumerater r=r>r@rA) paths split_pathsrr[r]commonrKrprefixr2)r!r#r3r,s>    r,r5)'r!r"r'r#r$r%r&r(r7rprTr@__all__r4rrr r r rO__doc__r r rrrrrrrrrrr)rrqr*r+r,r2r2r2r3sN        +55' ?  )