o h4@@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 commonpath ALLOW_MISSINGcCst|trdSdS)N/r) isinstancebytespathr30/opt/alt/python310/lib64/python3.10/posixpath.py_get_sep)s r5cCs t|SNosfspath)sr3r3r4r4s rcCs t|}t|}||Sr6)r8r9r5 startswith)r:r#r3r3r4r<s  rc Gs t|}t|}|}z0|s|dd|ttj|D]}||r'|}q|r.||r3||7}q|||7}qW|StttfyQt j d|g|Rw)Nrr ) r8r9r5mapr;endswith TypeErrorAttributeError BytesWarning genericpath_check_arg_types)apr#r2br3r3r4r Gs&    r cCsb t|}t|}||d}|d|||d}}|r-||t|kr-||}||fSNr8r9r5rfindlenrstrip)rDr#iheadtailr3r3r4r ds  r cCs6t|}t|trd}d}nd}d}t||d|S)Nr..rr)r8r9r/r0rA _splitext)rDr#r'r3r3r4r us  r cCs t|}|dd|fSNrr7)rDr3r3r4r s r cCs. t|}t|}||d}||dSrF)r8r9r5rI)rDr#rLr3r3r4r s   r cCsP t|}t|}||d}|d|}|r&||t|kr&||}|SrFrH)rDr#rLrMr3r3r4rs   rc Cs8 zt|}Wn tttfyYdSwt|jS)NF)r8lstatOSError ValueErrorr?statS_ISLNKst_mode)r2str3r3r4rs rc Cs, zt|WdSttfyYdSw)NFT)r8rRrSrTr1r3r3r4rs 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)r8rRrSrTrUrVrWr9r/r0r r)st_devst_ino)r2s1parents2dev1dev2ino1ino2r3r3r4rs6     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~~rGrHOMEASCIIvxworksr.r)r8r9r/r0r;r5findrJenvironpwdgetpwuidgetuidpw_dirKeyErrorstrgetpwnamsysplatformfsencoderK) r2tilder#rLrjuserhomenamepwentrootr3r3r4rsL              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+|\{[^}]*\}){}TrG)r8r9r/r0 _varprogbrecompilerfsearchgetattr_varprogrispangroupr;r=rsfsdecodernrJ) r2rrstartendrirLmjrvvaluerNr3r3r4rsX       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.rOrYrrrr) r8r9r/r0r;r appendpopr ) r2r#emptydotdotdotinitial_slashescomps new_compscompr3r3r4rRsL           rcCsB t|}t|st|trt}nt}t||}t|Sr6) r8r9rr/r0getcwdbgetcwdr r)r2cwdr3r3r4rys    rF)strictcCs. t|}t|dd||i\}}t|SrQ)r8r9 _joinrealpathr)filenamerr2okr3r3r4r)s r)cCs|t|tr d}d}d}n d}d}d}tj}|turt}n|r!d}nt}d} t|r1|dd}|}|r||\} } }| rA| |krBq1| |kr\|rYt |\}} | |krXt |||}n|}q1t || } zt | } Wn |ysd }Ynwt | j}|s| }q1| |vr|| }|durq1|rt | nt | |d fSd|| <t|t| ||\}}|st ||d fS||| <|s3|d fS) Nr.rOrYrrrr3rGFT)r/r0r8rr-FileNotFoundErrorrSr partitionr r rRrUrVrWrreadlink)r2restrseenr#r!r"r ignored_errormaxlinksrv_newpathrXis_linkrr3r3r4rsj         ,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 specifiedrOr.rYrrrcSg|]}|r|qSr3r3.0xr3r3r4 zrelpath..cSrr3r3rr3r3r4rrr+)rTr8r9r/r0rr rJrr r>r?r@DeprecationWarningrArB) r2rr!r#r" start_list path_listrLrel_listr3r3r4r+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.rOrrcsg|]}|qSr3)r )rr2r#r3r4rszcommonpath..c3s |] }|ddkVqdSrFr3)rrDrr3r4 szcommonpath..z%Can't mix absolute and relative pathscsg|] }fdd|DqS)csg|] }|r|kr|qSr3r3)rcr!r3r4rsz)commonpath...r3)rr:rr3r4rsr,)rTtupler<r8r9r/r0setminmax enumerater r>r?rArB) paths split_pathsrr\r^commonrLrprefixr3)r!r#r4r,s>    r,r6)'r!r"r'r#r$r%r&r(r8rqrUrA__all__r5rrr r r rP__doc__r r rrrrrrrrrrr)rrrr*r+r,r3r3r3r4sN        +55' F  )