grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026B ¿%h\Êœk™ã@sjddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z m Z m Z mZmZddlmZddlmZmZmZmZmZmZmZddlmZdZejdkræddlZe  ¡dd …d krÜdd lm!Z!qêd ZdZ!ndZd dddddgZ"e e eefZ#dZ$dd„Z%dd„Z&Gdd„de'ƒZ(Gdd„de(ƒZ)Gdd„de(ƒZ*e)ƒZ+e*ƒZ,Gdd„dƒZ-Gd d!„d!e-ƒZ.e.ƒZ/d"d#„Z0e1ed$ƒ�rše 2¡e0ƒZ0Gd%d&„d&ƒZ3Gd'd(„d(ƒZ4Gd)d*„d*e3ƒZ5Gd+d,„d,e3ƒZ6Gd-d.„d.e3ƒZ7Gd/d0„d0e ƒZ8Gd1d „d e'ƒZ9ej: ;e9¡Gd2d„de9ƒZGd5d„de>e<ƒZ?Gd6d„de>e=ƒZ@dS)7éN)ÚSequence)ÚEINVALÚENOENTÚENOTDIRÚEBADFÚELOOP)Ú attrgetter)ÚS_ISDIRÚS_ISLNKÚS_ISREGÚS_ISSOCKÚS_ISBLKÚS_ISCHRÚS_ISFIFO)Úquote_from_bytesTÚnté)ér)Ú_getfinalpathnameFÚPurePathÚ PurePosixPathÚPureWindowsPathÚPathÚ PosixPathÚ WindowsPath)éi�cCs t|ddƒtkpt|ddƒtkS)NÚerrnoZwinerror)ÚgetattrÚ_IGNORED_ERROSÚ_IGNORED_WINERRORS)Z exception©r ú,/opt/alt/python37/lib64/python3.7/pathlib.pyÚ _ignore_error-sr"cCsd|kpd|kpd|kS)NÚ*ú?ú[r )Úpatr r r!Ú_is_wildcard_pattern2sr'c@s$eZdZdd„Zdd„Zdd„ZdS)Ú_FlavourcCs|jj|_dS)N)ÚsepÚjoin)Úselfr r r!Ú__init__<sz_Flavour.__init__c Csg}|j}|j}d}}t|ƒ}xÒ|D]Ê}|s0q&|r@| ||¡}| |¡\}}} || krŽxPt|  |¡ƒD] } | rh| dkrh| t | ¡¡qhWn| rª| dkrª| t | ¡¡|s²|r&|sîx6|D].}|sÆq¼|rÖ| ||¡}| |¡d}|r¼Pq¼WPq&W|sþ|�r | ||¡|  ¡|||fS)NÚÚ.r) r)ÚaltsepÚreversedÚreplaceÚ splitrootÚsplitÚappendÚsysÚinternÚreverse) r+ÚpartsZparsedr)r/ÚdrvÚrootÚitÚpartZrelÚxr r r!Ú parse_parts?s@       z_Flavour.parse_partscCsz|r*|sp|rp||||g|dd…fSnF|rb||ksJ| |¡| |¡krp||||dd…fSn||||fS|||fS)Né)Úcasefold)r+r9r:r8Zdrv2Zroot2Zparts2r r r!Újoin_parsed_partsesz_Flavour.join_parsed_partsN)Ú__name__Ú __module__Ú __qualname__r,r>rAr r r r!r(8s&r(c@sÀeZdZdZdZdZeZej dkZ e dƒZ dZ ddd d hd d „ed dƒDƒBdd „ed dƒDƒBZefdd„Zdd„Zdd„Zdd„Zd&dd„Ze fdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%S)'Ú_WindowsFlavourú\ú/TrZ4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz\\?\ZCONZPRNZAUXZNULcCsh|] }d|’qS)zCOM%dr )Ú.0Úir r r!ú ‡sz_WindowsFlavour.r?é cCsh|] }d|’qS)zLPT%dr )rHrIr r r!rJˆsc Cs\|dd…}|dd…}||krP||krP| |¡\}}|dd…}|dd…}nd}|dd…}||krü||krü||krü| |d¡}|dkrü| ||d¡}||dkrü|dkr¸t|ƒ}|rÞ||d|…|||dd…fS|d|…|||dd…fSd} } |dk�r6||jk�r6|dd…} |dd…}|}||k�rN|} | |¡}|| | |fS)Nrr?rr-ééÿÿÿÿú:)Ú_split_extended_pathÚfindÚlenÚ drive_lettersÚlstrip) r+r<r)ÚfirstÚsecondÚprefixZthirdÚindexZindex2r9r:r r r!r2‘s6      "    z_WindowsFlavour.splitrootcCs| ¡S)N)Úlower)r+Úsr r r!r@¸sz_WindowsFlavour.casefoldcCsdd„|DƒS)NcSsg|] }| ¡‘qSr )rX)rHÚpr r r!ú ¼sz2_WindowsFlavour.casefold_parts..r )r+r8r r r!Úcasefold_parts»sz_WindowsFlavour.casefold_partscCst t |¡tj¡jS)N)ÚreÚcompileÚfnmatchÚ translateÚ IGNORECASEÚ fullmatch)r+Úpatternr r r!Úcompile_pattern¾sz_WindowsFlavour.compile_patternFcCs¨t|ƒ}|st ¡Sd}tdk r¤|r2| t|ƒ¡Sg}xly| t|ƒ¡}Wn>tk rˆ|}tj |¡\}}| |¡||kr„|SYq8Xtjj |ft |ƒžŽSq8WdS)N) ÚstrÚosÚgetcwdrÚ_ext_to_normalÚFileNotFoundErrorÚpathr3r4r*r0)r+rjÚstrictrYZ previous_sZ tail_partsÚtailr r r!ÚresolveÁs&  z_WindowsFlavour.resolvecCsXd}| |¡rP|dd…}|dd…}| d¡rP||dd…7}d|dd…}||fS)Nr-ézUNC\rLrF)Ú startswith)r+rYZ ext_prefixrVr r r!rOÙs    z$_WindowsFlavour._split_extended_pathcCs| |¡dS)Nr?)rO)r+rYr r r!rhãsz_WindowsFlavour._ext_to_normalcCs6|sdS|d d¡rdS|d d¡d ¡|jkS)NFrz\\rMr.)roÚ partitionÚupperÚreserved_names)r+r8r r r!Ú is_reservedçs z_WindowsFlavour.is_reservedcCsd|j}t|ƒdkrJ|ddkrJ| ¡dd… d¡}d|t| d¡ƒfSdt| ¡ d¡ƒSdS)Nrr?rNrGz file:///%s/%szutf-8zfile:)ÚdriverQÚas_posixrSÚurlquote_from_bytesÚencode)r+rjrtÚrestr r r!Úmake_uriós z_WindowsFlavour.make_uricCsòdtjkrtjd}n`dtjkr,tjd}nJdtjkrnytjd}Wntk r\d}YnX|tjd}ntdƒ‚|rîtjd|krî| |f¡\}}}|dtjdkr¸td |ƒ‚||d<|sÈ|rä||| |d d…¡}n | |¡}|S) NÚHOMEZ USERPROFILEZHOMEPATHZ HOMEDRIVEr-zCan't determine home directoryZUSERNAMErMz%Can't determine home directory for %rr?)rfÚenvironÚKeyErrorÚ RuntimeErrorr>r*)r+ÚusernameÚuserhomer9r:r8r r r!Ú gethomedirÿs,       z_WindowsFlavour.gethomedirN)F)rBrCrDr)r/Úhas_drvÚntpathÚpathmodrfÚnameÚ is_supportedÚsetrRZext_namespace_prefixÚrangerrr2r@r\rdrmrOrhrsryr€r r r r!rEws&  '    rEc@sleZdZdZdZdZeZej dkZ efdd„Z dd„Z d d „Z d d „Zdd d„Zdd„Zdd„Zdd„ZdS)Ú _PosixFlavourrGr-FrcCsV|rH|d|krH| |¡}t|ƒt|ƒdkr._resolver-)r)Ú _accessorÚ is_absoluterfrgre)r+rjrkÚbaser )r�r‘r’r)rkr!rm>s &z_PosixFlavour.resolvecCsdS)NFr )r+r8r r r!rsksz_PosixFlavour.is_reservedcCst|ƒ}dt|ƒS)Nzfile://)Úbytesrv)r+rjZbpathr r r!rynsz_PosixFlavour.make_uricCst|s:y tjdStk r6ddl}| t ¡¡jSXn6ddl}y | |¡jStk rntd|ƒ‚YnXdS)Nrzrz%Can't determine home directory for %r) rfr{r|ÚpwdÚgetpwuidÚgetuidÚpw_dirÚgetpwnamr})r+r~r—r r r!r€ts  z_PosixFlavour.gethomedirN)F)rBrCrDr)r/r�Ú posixpathrƒrfr„r…r2r@r\rdrmrsryr€r r r r!rˆs   -rˆc@s eZdZdS)Ú _AccessorN)rBrCrDr r r r!r�ˆsr�c@sœeZdZejZejZejZejZejZej Z e edƒr>ej Z ndd„Z ej Z ej Z ejZejZejZer~ertejZqŠdd„Zn edd„ƒZejZdd„Zd S) Ú_NormalAccessorÚlchmodcCs tdƒ‚dS)Nz%lchmod() not available on this system)ÚNotImplementedError)r+ZpathobjÚmoder r r!rŸžsz_NormalAccessor.lchmodcCs tdƒ‚dS)Nz&symlink() not available on this system)r )ÚaÚbÚtarget_is_directoryr r r!Úsymlink¯sz_NormalAccessor.symlinkcCs t ||¡S)N)rfr¥)r¢r£r¤r r r!r¥³scCs t |¡S)N)rfrŠ)r+rjr r r!rŠºsz_NormalAccessor.readlinkN)rBrCrDrfÚstatÚlstatÚopenÚlistdirÚscandirÚchmodÚhasattrrŸÚmkdirÚunlinkÚrmdirÚrenamer1rÚsupports_symlinksr¥Ú staticmethodÚutimerŠr r r r!rž�s*   ržcCsR|d}|dd…}|dkr"t}n$d|kr4tdƒ‚nt|ƒrBt}nt}||||ƒS)Nrr?z**z:Invalid pattern: '**' can only be an entire path component)Ú_RecursiveWildcardSelectorÚ ValueErrorr'Ú_WildcardSelectorÚ_PreciseSelector)Ú pattern_partsÚflavourr&Ú child_partsÚclsr r r!Ú_make_selectorÅs  r¼Ú lru_cachec@seZdZdd„Zdd„ZdS)Ú _SelectorcCs0||_|rt||ƒ|_d|_ntƒ|_d|_dS)NTF)rºr¼Ú successorÚdironlyÚ_TerminatingSelector)r+rºr¹r r r!r,Ús  z_Selector.__init__cCs<t|ƒ}|j}|j}|jj}||ƒs,tgƒS| ||||¡S)N)ÚtypeÚis_dirÚexistsr“rªÚiterÚ _select_from)r+Ú parent_pathZpath_clsrÃrÄrªr r r!Ú select_fromãsz_Selector.select_fromN)rBrCrDr,rÈr r r r!r¾Ös r¾c@seZdZdd„ZdS)rÁccs |VdS)Nr )r+rÇrÃrÄrªr r r!rÆñsz!_TerminatingSelector._select_fromN)rBrCrDrÆr r r r!rÁïsrÁc@seZdZdd„Zdd„ZdS)r·cCs||_t |||¡dS)N)r„r¾r,)r+r„rºr¹r r r!r,÷sz_PreciseSelector.__init__ccs^yD| |j¡}|jr|n||ƒrBx |j ||||¡D] }|Vq4WWntk rXdSXdS)N)Ú_make_child_relpathr„rÀr¿rÆÚPermissionError)r+rÇrÃrÄrªrjrZr r r!rÆûs z_PreciseSelector._select_fromN)rBrCrDr,rÆr r r r!r·õsr·c@seZdZdd„Zdd„ZdS)r¶cCs| |¡|_t |||¡dS)N)rdÚmatchr¾r,)r+r&rºr¹r r r!r,s z_WildcardSelector.__init__c csÈy®||ƒ�}t|ƒ}WdQRXxŒ|D]„}|jrly| ¡s:w$Wn.tk rj}zt|ƒsX‚w$Wdd}~XYnX|j} | | ¡r$| | ¡} x |j  | |||¡D] } | VqšWq$WWnt k rÂdSXdS)N) ÚlistrÀrÃr‹r"r„rËrÉr¿rÆrÊ) r+rÇrÃrÄrªÚ scandir_itÚentriesÚentryr�r„rjrZr r r!rÆ s&    z_WildcardSelector._select_fromN)rBrCrDr,rÆr r r r!r¶sr¶c@s$eZdZdd„Zdd„Zdd„ZdS)r´cCst |||¡dS)N)r¾r,)r+r&rºr¹r r r!r,&sz#_RecursiveWildcardSelector.__init__c csÂ|Vy¢||ƒ�}t|ƒ}WdQRXx€|D]x}d}y | ¡}Wn,tk rj}zt|ƒsZ‚Wdd}~XYnX|r*| ¡s*| |j¡} x| | ||¡D] } | Vq”Wq*WWntk r¼dSXdS)NF) rÌrÃr‹r"Ú is_symlinkrÉr„Ú_iterate_directoriesrÊ) r+rÇrÃrªrÍrÎrÏZ entry_is_dirr�rjrZr r r!rÑ)s"     z/_RecursiveWildcardSelector._iterate_directoriesc cs„yjtƒ}zT|jj}xF| |||¡D]4}x.|||||ƒD]}||kr6|V| |¡q6Wq"WWd| ¡XWntk r~dSXdS)N)r†r¿rÆrÑÚaddÚclearrÊ) r+rÇrÃrÄrªZyieldedZsuccessor_selectZstarting_pointrZr r r!rÆ<sz'_RecursiveWildcardSelector._select_fromN)rBrCrDr,rÑrÆr r r r!r´$sr´c@s0eZdZdZdd„Zdd„Zdd„Zdd „Zd S) Ú _PathParents)Ú_pathclsÚ_drvÚ_rootÚ_partscCs&t|ƒ|_|j|_|j|_|j|_dS)N)rÂrÕrÖr×rØ)r+rjr r r!r,Us z_PathParents.__init__cCs(|js |jrt|jƒdSt|jƒSdS)Nr?)rÖr×rQrØ)r+r r r!Ú__len__\s z_PathParents.__len__cCs@|dks|t|ƒkrt|ƒ‚|j |j|j|jd| d…¡S)Nrr?)rQÚ IndexErrorrÕÚ_from_parsed_partsrÖr×rØ)r+Úidxr r r!Ú __getitem__bsz_PathParents.__getitem__cCsd |jj¡S)Nz <{}.parents>)ÚformatrÕrB)r+r r r!Ú__repr__hsz_PathParents.__repr__N)rBrCrDÚ __slots__r,rÙrÝrßr r r r!rÔPs rÔc@s˜eZdZdZdd„Zdd„Zedd„ƒZedUd d „ƒZedVd d „ƒZ ed d„ƒZ dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zedd „ƒZd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zeed-ƒd.d/�Zeed0ƒd1d/�Zed2d3„ƒZed4d5„ƒZed6d7„ƒZ ed8d9„ƒZ!ed:d;„ƒZ"dd?„Z$d@dA„Z%edBdC„ƒZ&dDdE„Z'dFdG„Z(dHdI„Z)edJdK„ƒZ*edLdM„ƒZ+dNdO„Z,dPdQ„Z-dRdS„Z.dTS)Wr)rÖr×rØÚ_strÚ_hashÚ_ppartsÚ_cached_cpartscGs$|tkrtjdkrtnt}| |¡S)Nr)rrfr„rrÚ _from_parts)r»Úargsr r r!Ú__new__zszPurePath.__new__cCs|jt|jƒfS)N)Ú __class__ÚtuplerØ)r+r r r!Ú __reduce__„szPurePath.__reduce__cCshg}xV|D]N}t|tƒr$||j7}q t |¡}t|tƒrH| t|ƒ¡q tdt|ƒƒ‚q W|j   |¡S)NzNargument should be a str object or an os.PathLike object returning str, not %r) Ú isinstancerrØrfÚfspathrer4Ú TypeErrorrÂÚ_flavourr>)r»rær8r¢r r r!Ú _parse_args‰s     zPurePath._parse_argsTcCs<t |¡}| |¡\}}}||_||_||_|r8| ¡|S)N)ÚobjectrçrïrÖr×rØÚ_init)r»ræÚinitr+r9r:r8r r r!rå�s zPurePath._from_partscCs,t |¡}||_||_||_|r(| ¡|S)N)rðrçrÖr×rØrñ)r»r9r:r8ròr+r r r!rÛªs zPurePath._from_parsed_partscCs4|s|r$|||j |dd…¡S|j |¡SdS)Nr?)rîr*)r»r9r:r8r r r!Ú_format_parsed_parts´szPurePath._format_parsed_partscCsdS)Nr )r+r r r!rñ»szPurePath._initcCs@| |¡\}}}|j |j|j|j|||¡\}}}| |||¡S)N)rïrîrArÖr×rØrÛ)r+rær9r:r8r r r!Ú _make_child¿szPurePath._make_childcCs<y|jStk r6| |j|j|j¡p,d|_|jSXdS)Nr.)ráÚAttributeErrorrórÖr×rØ)r+r r r!Ú__str__Ås  zPurePath.__str__cCst|ƒS)N)re)r+r r r!Ú __fspath__ÏszPurePath.__fspath__cCs|j}t|ƒ |jd¡S)NrG)rîrer1r))r+Úfr r r!ruÒszPurePath.as_posixcCs t |¡S)N)rfÚfsencode)r+r r r!Ú __bytes__ØszPurePath.__bytes__cCsd |jj| ¡¡S)Nz{}({!r}))rÞrèrBru)r+r r r!rßÝszPurePath.__repr__cCs| ¡stdƒ‚|j |¡S)Nz.relative path can't be expressed as a file URI)r”rµrîry)r+r r r!Úas_uriàszPurePath.as_uricCs2y|jStk r,|j |j¡|_|jSXdS)N)rärõrîr\rØ)r+r r r!Ú_cpartsæs zPurePath._cpartscCs&t|tƒstS|j|jko$|j|jkS)N)rërÚNotImplementedrürî)r+Úotherr r r!Ú__eq__ïs zPurePath.__eq__cCs2y|jStk r,tt|jƒƒ|_|jSXdS)N)rârõÚhashrérü)r+r r r!Ú__hash__ôs zPurePath.__hash__cCs&t|tƒr|j|jk rtS|j|jkS)N)rërrîrýrü)r+rþr r r!Ú__lt__ûszPurePath.__lt__cCs&t|tƒr|j|jk rtS|j|jkS)N)rërrîrýrü)r+rþr r r!Ú__le__szPurePath.__le__cCs&t|tƒr|j|jk rtS|j|jkS)N)rërrîrýrü)r+rþr r r!Ú__gt__szPurePath.__gt__cCs&t|tƒr|j|jk rtS|j|jkS)N)rërrîrýrü)r+rþr r r!Ú__ge__ szPurePath.__ge__rÖz.The drive prefix (letter or UNC path), if any.)Údocr×zThe root of the path, if any.cCs|j|j}|S)N)rÖr×)r+Úanchorr r r!rs zPurePath.anchorcCs.|j}t|ƒ|js|jrdndkr&dS|dS)Nr?rr-rM)rØrQrÖr×)r+r8r r r!r„sz PurePath.namecCsD|j}| d¡}d|kr,t|ƒdkr.r?)r„ÚendswithrSr3)r+r„r r r!Úsuffixes1s   zPurePath.suffixescCsD|j}| d¡}d|kr,t|ƒdkrs    z PurePath.stemcCs†|jstd|fƒ‚|j |f¡\}}}|rX|d|jj|jjgksX|sX|sXt|ƒdkrdtd|ƒ‚| |j|j |j dd…|g¡S)Nz%r has an empty namerMr?zInvalid name %r) r„rµrîr>r)r/rQrÛrÖr×rØ)r+r„r9r:r8r r r!Ú with_nameHs  zPurePath.with_namecCs´|j}|j|ks |jr.|j|kr.td|fƒ‚|r<| d¡rD|dkrPtd|ƒ‚|j}|shtd|fƒ‚|j}|s|||}n|dt|ƒ …|}| |j |j |j dd…|g¡S)NzInvalid suffix %rr.z%r has an empty namerM) rîr)r/rµror„r rQrÛrÖr×rØ)r+r rør„Z old_suffixr r r!Ú with_suffixSs   zPurePath.with_suffixc Gsì|s tdƒ‚|j}|j}|j}|r8||g|dd…}n|}| |¡\}}}|rf||g|dd…} n|} t| ƒ} |jj} | dkrŒ|s¤|rÊn| |d| …ƒ| | ƒkrÊ| |||¡} t d  t |ƒt | ƒ¡ƒ‚|  d| dkrÜ|nd|| d…¡S)Nzneed at least one argumentr?rz{!r} does not start with {!r}r-) rírØrÖr×rïrQrîr\rórµrÞrerÛ) r+rþr8r9r:Z abs_partsZto_drvZto_rootZto_partsZ to_abs_partsÚnÚcfÚ formattedr r r!Ú relative_tohs( *zPurePath.relative_tocCs.y|jStk r(t|jƒ|_|jSXdS)N)rãrõrérØ)r+r r r!r8ˆs  zPurePath.partscGs | |¡S)N)rô)r+rær r r!Újoinpath”szPurePath.joinpathcCs | |f¡S)N)rô)r+Úkeyr r r!Ú __truediv__œszPurePath.__truediv__cCs| |g|j¡S)N)rårØ)r+rr r r!Ú __rtruediv__ŸszPurePath.__rtruediv__cCs@|j}|j}|j}t|ƒdkr*|s&|r*|S| |||dd…¡S)Nr?rM)rÖr×rØrQrÛ)r+r9r:r8r r r!Úparent¢s zPurePath.parentcCst|ƒS)N)rÔ)r+r r r!Úparents¬szPurePath.parentscCs|js dS|jj pt|jƒS)NF)r×rîr�ÚboolrÖ)r+r r r!r”±szPurePath.is_absolutecCs|j |j¡S)N)rîrsrØ)r+r r r!rs¸szPurePath.is_reservedc CsÔ|jj}||ƒ}|j |f¡\}}}|s0tdƒ‚|rF|||jƒkrFdS|r\|||jƒkr\dS|j}|sj|rŒt|ƒt|ƒkr~dS|dd…}nt|ƒt|ƒkr dSx.tt |ƒt |ƒƒD]\}}t   ||¡s´dSq´WdS)Nz empty patternFr?T) rîr@r>rµrÖr×rürQÚzipr0r_Z fnmatchcase) r+Z path_patternrr9r:Z pat_partsr8r<r&r r r!r˽s( zPurePath.matchN)T)T)/rBrCrDràrçrêÚ classmethodrïrårÛrórñrôrör÷rurúrßrûÚpropertyrürÿrrrrrrrtr:rr„r r r r rrr8rrrrrr”rsrËr r r r!rlsZ              c@seZdZeZdZdS)rr N)rBrCrDÚ_posix_flavourrîràr r r r!rÛsc@seZdZeZdZdS)rr N)rBrCrDÚ_windows_flavourrîràr r r r!råsc@sŒeZdZdZdd„Zdadd„Zdd„Zd d „Zd d „Zd d„Z dbdd„Z dcdd„Z e dd„ƒZ e dd„ƒZdd„Zdd„Zdd„Zdd „Zd!d"„Zddd$d%„Zd&d'„Zd(d)„Zd*d+„Zded.d/„Zd0d1„Zdfd2d3„Zd4d5„Zdgd6d7„Zdhd9d:„Zdid;d<„Zd=d>„Zd?d@„Z dAdB„Z!dCdD„Z"dEdF„Z#dGdH„Z$dIdJ„Z%djdKdL„Z&dMdN„Z'dOdP„Z(dQdR„Z)dSdT„Z*dUdV„Z+dWdX„Z,dYdZ„Z-d[d\„Z.d]d^„Z/d_d`„Z0dS)kr)r“Ú_closedcOsL|tkrtjdkrtnt}|j|dd�}|jjs@td|j fƒ‚|  ¡|S)NrF)ròz$cannot instantiate %r on your system) rrfr„rrrårîr…r rBrñ)r»ræÚkwargsr+r r r!rçs z Path.__new__NcCs"d|_|dk r|j|_nt|_dS)NF)rr“Ú_normal_accessor)r+Útemplater r r!rñ s z Path._initcCs|j|g}| |j|j|¡S)N)rØrÛrÖr×)r+r<r8r r r!rÉs zPath._make_child_relpathcCs|jr| ¡|S)N)rÚ _raise_closed)r+r r r!Ú __enter__szPath.__enter__cCs d|_dS)NT)r)r+ÚtÚvÚtbr r r!Ú__exit__sz Path.__exit__cCs tdƒ‚dS)NzI/O operation on closed path)rµ)r+r r r!r#"szPath._raise_closedé¶cCs|j |||¡S)N)r“r¨)r+r„Úflagsr¡r r r!Ú_opener%sz Path._openeréÿcCs|jr| ¡|j |||¡S)N)rr#r“r¨)r+r*r¡r r r!Ú _raw_open)szPath._raw_opencCs |t ¡ƒS)N)rfrg)r»r r r!Úcwd4szPath.cwdcCs||ƒj d¡ƒS)N)rîr€)r»r r r!Úhome;sz Path.homecCsB| ¡}y | ¡}Wntk r2t |¡}YnXtj ||¡S)N)r¦rõrfrjÚsamestat)r+Z other_pathÚstZother_str r r!ÚsamefileBs  z Path.samefileccsL|jr| ¡x8|j |¡D](}|dkr*q| |¡V|jr| ¡qWdS)N>ú..r.)rr#r“r©rÉ)r+r„r r r!ÚiterdirMs z Path.iterdirccsd|std |¡ƒ‚|j |f¡\}}}|s.|r6tdƒ‚tt|ƒ|jƒ}x| |¡D] }|VqRWdS)NzUnacceptable pattern: {!r}z%Non-relative patterns are unsupported)rµrÞrîr>r r¼rérÈ)r+rcr9r:r¸ÚselectorrZr r r!Úglob[sz Path.globccsV|j |f¡\}}}|s|r$tdƒ‚tdt|ƒ|jƒ}x| |¡D] }|VqDWdS)Nz%Non-relative patterns are unsupported)z**)rîr>r r¼rérÈ)r+rcr9r:r¸r5rZr r r!Úrglobhs z Path.rglobcCsD|jr| ¡| ¡r|S|jt ¡g|jdd�}|j|d�|S)NF)rò)r")rr#r”rårfrgrØrñ)r+Úobjr r r!Úabsolutets z Path.absoluteFcCsh|jr| ¡|jj||d�}|dkr:| ¡t| ¡ƒ}|jj |¡}|j |fdd�}|j |d�|S)N)rkF)rò)r") rr#rîrmr¦rer9rƒÚnormpathrårñ)r+rkrYZnormedr8r r r!rm†s  z Path.resolvecCs |j |¡S)N)r“r¦)r+r r r!r¦šsz Path.statcCsddl}| | ¡j¡jS)Nr)r—r˜r¦Úst_uidZpw_name)r+r—r r r!Úowner¡sz Path.ownercCsddl}| | ¡j¡jS)Nr)ÚgrpZgetgrgidr¦Úst_gidZgr_name)r+r=r r r!Úgroup¨sz Path.groupÚrrMc Cs(|jr| ¡tj|||||||jd�S)N)Úopener)rr#Úior¨r+)r+r¡Ú bufferingÚencodingÚerrorsÚnewliner r r!r¨¯sz Path.openc Cs |jdd�� }| ¡SQRXdS)NÚrb)r¡)r¨Úread)r+rør r r!Ú read_bytesºszPath.read_bytesc Cs$|jd||d�� }| ¡SQRXdS)Nr@)r¡rDrE)r¨rH)r+rDrErør r r!Ú read_textÁszPath.read_textc Cs*t|ƒ}|jdd�� }| |¡SQRXdS)NÚwb)r¡)Ú memoryviewr¨Úwrite)r+ÚdataZviewrør r r!Ú write_bytesÈszPath.write_bytesc Cs@t|tƒstd|jjƒ‚|jd||d�� }| |¡SQRXdS)Nzdata must be str, not %sÚw)r¡rDrE)rërerírèrBr¨rM)r+rNrDrErør r r!Ú write_textÑs   zPath.write_textTcCsr|jr| ¡|r>y|j |d¡Wntk r8YnXdStjtjB}|sX|tjO}|  ||¡}t  |¡dS)N) rr#r“r³r‹rfÚO_CREATÚO_WRONLYÚO_EXCLr-Úclose)r+r¡Úexist_okr*Úfdr r r!ÚtouchÛs   z Path.touchcCsŠ|jr| ¡y|j ||¡Wndtk rd|r>|j|kr@‚|jjddd�|j|d|d�Yn"tk r„|r~| ¡s€‚YnXdS)NT)rrVF)rr#r“r­rirr‹rÃ)r+r¡rrVr r r!r­òs z Path.mkdircCs |jr| ¡|j ||¡dS)N)rr#r“r«)r+r¡r r r!r«sz Path.chmodcCs |jr| ¡|j ||¡dS)N)rr#r“rŸ)r+r¡r r r!rŸ sz Path.lchmodcCs|jr| ¡|j |¡dS)N)rr#r“r®)r+r r r!r®sz Path.unlinkcCs|jr| ¡|j |¡dS)N)rr#r“r¯)r+r r r!r¯sz Path.rmdircCs|jr| ¡|j |¡S)N)rr#r“r§)r+r r r!r§'sz Path.lstatcCs |jr| ¡|j ||¡dS)N)rr#r“r°)r+rŽr r r!r°0sz Path.renamecCs |jr| ¡|j ||¡dS)N)rr#r“r1)r+rŽr r r!r18sz Path.replacecCs"|jr| ¡|j |||¡dS)N)rr#r“r¥)r+rŽr¤r r r!Ú symlink_toAszPath.symlink_toc Cs>y | ¡Wn,tk r8}zt|ƒs(‚dSd}~XYnXdS)NFT)r¦r‹r")r+r�r r r!rÄLs z Path.existsc Cs@yt| ¡jƒStk r:}zt|ƒs*‚dSd}~XYnXdS)NF)r r¦Úst_moder‹r")r+r�r r r!rÃXs z Path.is_dirc Cs@yt| ¡jƒStk r:}zt|ƒs*‚dSd}~XYnXdS)NF)r r¦rZr‹r")r+r�r r r!Úis_filees z Path.is_filecCst| ¡r| ¡sdSt|jƒ}y| ¡j}Wntk r@dSX| ¡j}||krXdS| ¡j}| ¡j}||kS)NFT)rÄrÃrrr¦Úst_devr‹Úst_ino)r+rZ parent_devZdevZinoZ parent_inor r r!Úis_mountss    z Path.is_mountc Cs@yt| ¡jƒStk r:}zt|ƒs*‚dSd}~XYnXdS)NF)r r§rZr‹r")r+r�r r r!rЈs zPath.is_symlinkc Cs@yt| ¡jƒStk r:}zt|ƒs*‚dSd}~XYnXdS)NF)r r¦rZr‹r")r+r�r r r!Úis_block_device”s zPath.is_block_devicec Cs@yt| ¡jƒStk r:}zt|ƒs*‚dSd}~XYnXdS)NF)rr¦rZr‹r")r+r�r r r!Úis_char_device¡s zPath.is_char_devicec Cs@yt| ¡jƒStk r:}zt|ƒs*‚dSd}~XYnXdS)NF)rr¦rZr‹r")r+r�r r r!Úis_fifo®s z Path.is_fifoc Cs@yt| ¡jƒStk r:}zt|ƒs*‚dSd}~XYnXdS)NF)r r¦rZr‹r")r+r�r r r!Ú is_socket»s zPath.is_socketcCs`|js\|js\|jr\|jddd…dkr\|j |jddd…¡}| |g|jdd…¡S|S)Nrr?ú~)rÖr×rØrîr€rå)r+Zhomedirr r r!Ú expanduserÈs  zPath.expanduser)N)r))r,)F)r@rMNNN)NN)NN)r)T)r,FF)F)1rBrCrDràrçrñrÉr$r(r#r+r-rr.r/r2r4r6r7r9rmr¦r<r?r¨rIrJrOrQrXr­r«rŸr®r¯r§r°r1rYrÄrÃr[r^rÐr_r`rarbrdr r r r!ròs\                        c@seZdZdZdS)rr N)rBrCrDràr r r r!rÔsc@s(eZdZdZdd„Zdd„Zdd„ZdS) rr cCs tdƒ‚dS)Nz*Path.owner() is unsupported on this system)r )r+r r r!r<âszWindowsPath.ownercCs tdƒ‚dS)Nz*Path.group() is unsupported on this system)r )r+r r r!r?åszWindowsPath.groupcCs tdƒ‚dS)Nz-Path.is_mount() is unsupported on this system)r )r+r r r!r^èszWindowsPath.is_mountN)rBrCrDràr<r?r^r r r r!rÛs)Ar_Ú functoolsrBr‚rfrœr]r5Ú_collections_abcrrrrrrrÚoperatorrr¦r r r r r rrZ urllib.parserrvr±r„rZgetwindowsversionrÚ__all__rrr"r'rðr(rErˆrrr�ržr!r¼r¬r½r¾rÁr·r¶r´rÔrÚPathLikeÚregisterrrrrrr r r r!Úsp  $    ?(f1  ,n   e