o 0¦i,Õã@s, ddlZddlZddlZddlZddlZddlZz ddlZ[dZWn ey-dZYnwz ddl Z [ dZ Wn eyBdZ Ynwz ddl Z [ dZ Wn eyWdZ Ynwej dkZdZZej dkrkddlZnerqddlZerudndZeedƒo�ej d ¡aeoˆeed ƒZd Zgd ¢ZGd d„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZ Gdd„deƒZ!dd„Z"dd„Z#efdd „Z$d¡d!d"„Z%d#d$„Z&d%d&„Z'd'd(„Z(dd)œd*d+„Z)dd)œd,d-„Z*eed.ƒ�rdd)œd/d0„Z+nd1d0„Z+dd)œd2d3„Z,dd)œd4d5„Z-dd)œd6d7„Z.d8d9„Z/ d¢d:d;„Z0dde.ddfdƒ�r?d?d@„Z3dAdB„Z4ndCd@„Z3dDdB„Z4dEdF„Z5dGdH„Z6ej7ejej8ej9hej:k�oiej;ejd£dIdJ„Z?e>e?_@dKdL„ZAe.fdMdN„ZBdOdP„ZCdQdR„ZDdSdT„ZEdUdV„ZF d¤dXdY„ZG d¥dZd[„ZHd\eGd]gd^dfiZIe�r·eGd_gd`dfeIda<eHgdbdfeIdc<e �rÃeGddgdedfeIdf<e �rÏeGdggdhdfeIdi<djdk„ZJd¦dmdn„ZKdodp„ZL d§dqdr„ZMdsdt„ZNdudv„ZO  ld¦dwdx„ZPdydz„ZQd{d|„ZRd}d~„ZSddœd€d�„ZTd‚geTgd^fdƒgeSgdbfd„œZUe�r!d…d†geTgd`feUda<e �r.d‡dˆgeTgdefeUdf<e �r;d‰dŠgeTgdhfeUdi<d‹dŒ„ZVd¨ddœd�dŽ„ZWeed�ƒ�rie Xd�¡e Yd‘d’¡ZZd“eZj[_\d”eZj]_\d•eZj^_\d–d�„Z_ne�r{e Xd�¡e Yd‘d’¡ZZd—d�„Z_d¨d˜d™„Z`d©d›dœ„Zad�dž„ZbejcejdBdfdŸd „ZedS)ªéNTFÚntÚposixiiÚsendfileZlinuxÚ _fcopyfilez%.COM;.EXE;.BAT;.CMD;.VBS;.JS;.WS;.MSC)Ú copyfileobjÚcopyfileÚcopymodeÚcopystatÚcopyÚcopy2ÚcopytreeÚmoveÚrmtreeÚErrorÚSpecialFileErrorÚ ExecErrorÚ make_archiveÚget_archive_formatsÚregister_archive_formatÚunregister_archive_formatÚget_unpack_formatsÚregister_unpack_formatÚunregister_unpack_formatÚunpack_archiveÚignore_patternsÚchownÚwhichÚget_terminal_sizeÚ SameFileErrorc@ó eZdZdS)rN©Ú__name__Ú __module__Ú __qualname__©r$r$ú-/opt/alt/python310/lib64/python3.10/shutil.pyr;órc@r)rNr r$r$r$r%r>r&rc@r)rNr r$r$r$r%rAr&rc@r)rNr r$r$r$r%rEr&rc@r)Ú ReadErrorNr r$r$r$r%r'Hr&r'c@r)Ú RegistryErrorNr r$r$r$r%r(Kr&r(c@r)Ú_GiveupOnFastCopyNr r$r$r$r%r)Or&r)c Cs– z | ¡}| ¡}Wnty}zt|ƒ‚d}~wwz t |||¡WdStyJ}z|j|_|j|_|j t j t j hvrCt|ƒ‚|d‚d}~ww©N) ÚfilenoÚ Exceptionr)rrÚOSErrorÚnameÚfilenameÚ filename2ÚerrnoÚEINVALÚENOTSUP)ÚfsrcÚfdstÚflagsÚinfdÚoutfdÚerrr$r$r%Ú_fastcopy_fcopyfileTs$ €ÿ€úr:c Cs& z | ¡}| ¡}Wnty}zt|ƒ‚d}~wwz tt |¡jdƒ}Wn ty2d}Ynwtj dkr=t |dƒ}d} z t  ||||¡}Wn=ty‡}z1|j |_ |j |_|jtjkrfdat|ƒ‚|jtjkro|d‚|dkr�t |dtj¡dkr�t|ƒ‚|‚d}~ww|dkrŽdS||7}q@)Ni€ili@rTF)r+r,r)ÚmaxÚosÚfstatÚst_sizer-ÚsysÚmaxsizeÚminrr.r/r0r1ZENOTSOCKÚ_USE_CP_SENDFILEZENOSPCÚlseekÚSEEK_CUR)r4r5r7r8r9Z blocksizeÚoffsetZsentr$r$r%Ú_fastcopy_sendfilehsH €ÿ ÿ    €íærFc Csš |j}|j}tt|ƒƒ�6} ||ƒ}|sn%||kr6|d|…� }| |¡Wdƒn1s0wYn||ƒqWdƒdS1sFwYdSr*)ÚreadintoÚwriteÚ memoryviewÚ bytearray)r4r5ÚlengthZ fsrc_readintoÚ fdst_writeZmvÚnZsmvr$r$r%Ú_copyfileobj_readinto¨s" ÿ€ø"ürNcCs2 |st}|j}|j} ||ƒ}|sdS||ƒq r*)Ú COPY_BUFSIZEÚreadrH)r4r5rKZ fsrc_readrLZbufr$r$r%r»sürcCs¢t|tjƒr$ttjdƒr$z tj | ¡t |¡¡WSty#YdSwttjdƒr=ztj ||¡WSty<YdSwtj  tj  |¡¡tj  tj  |¡¡kS)NÚsamestatFÚsamefile) Ú isinstancer<ÚDirEntryÚhasattrÚpathrQÚstatr-rRÚnormcaseÚabspath©ÚsrcÚdstr$r$r%Ú _samefileÈs ÿ  ÿÿr]cCst|tjƒr | ¡St |¡Sr*)rSr<rTrW©Úfnr$r$r%Ú_statÚsr`cCs t|tjƒr | ¡Stj |¡Sr*)rSr<rTÚ is_symlinkrVÚislinkr^r$r$r%Ú_islinkÝs rc©Úfollow_symlinksc Cs< t d||¡t||ƒrtd ||¡ƒ‚d}t||gƒD]4\}}zt|ƒ}Wn ty0Yqwt  |j ¡rHt |t j ƒr@|jn|}td|ƒ‚trQ|dkrQ|j}q|sct|ƒrct  t  |¡|¡|St|dƒ�«}z„t|dƒ�u}tr•zt||tjƒ|WWdƒWWdƒSty”YnDwtr¸zt||ƒ|WWdƒWWdƒSty·Yn!wtrØ|dkrØt||t|tƒƒ|WdƒWWdƒSt ||ƒWdƒn1sçwYWnt!�y } zt j "|¡�st#d|›�ƒ| ‚‚d} ~ wwWdƒ|S1�swY|S)Nzshutil.copyfilez{!r} and {!r} are the same filerz`%s` is a named pipeÚrbÚwbzDirectory does not exist: )$r?Úauditr]rÚformatÚ enumerater`r-rWÚS_ISFIFOÚst_moderSr<rTrVrÚ_WINDOWSr>rcÚsymlinkÚreadlinkÚopenÚ_HAS_FCOPYFILEr:rZ_COPYFILE_DATAr)rBrFrNrArOrÚIsADirectoryErrorÚexistsÚFileNotFoundError) r[r\reÚ file_sizeÚir_Ústr4r5Úer$r$r%ràsx   þ   € " à ûþ ÿ ôþ ÿ íþ 뀀ü€ æ à rcCsp t d||¡|s#t|ƒr#tj |¡r#ttdƒr!tjtj}}ndSt tj }}||ƒ}||t   |j ¡ƒdS)Nzshutil.copymodeÚlchmod)r?rhrcr<rVrbrUÚlstatryr`ÚchmodrWÚS_IMODErl)r[r\reZ stat_funcZ chmod_funcrwr$r$r%r s  rÚ listxattrc CsÈ z tj||d�}Wnty)}z|jtjtjtjfvr‚WYd}~dSd}~ww|D]5}ztj|||d�}tj||||d�Wq,tya}z|jtj tjtjtjfvrW‚WYd}~q,d}~wwdS©Nrd) r<r}r-r1r3ZENODATAr2ÚgetxattrÚsetxattrZEPERM)r[r\reÚnamesrxr.Úvaluer$r$r%Ú _copyxattr6s,€ýÿ þ€ÿürƒcOódSr*r$)ÚargsÚkwargsr$r$r%rƒNóc sZ t d||¡dddœdd„‰|pt|ƒotj |¡ }|r&‡fdd„}n‡fdd„}t|tjƒr9|j|d�}n|d ƒ||d�}t  |j ¡}|d ƒ||j |j f|d�t |||d�z |d ƒ|||d�Wn tyoYnwt|d ƒr«z |d ƒ||j|d�WdStyª}zdD]}tt|ƒr�|jtt|ƒkr�nqŒ‚WYd}~dSd}~wwdS)Nzshutil.copystat)ÚnsrecWr„r*r$)rˆrer…r$r$r%Ú_nop_r‡zcopystat.._nopcs tt|ˆƒSr*)Úgetattrr<©r.©r‰r$r%Úlookupfó zcopystat..lookupcstt|ˆƒ}|tjvr |SˆSr*)rŠr<Úsupports_follow_symlinks)r.r_rŒr$r%r�ks  rdrWÚutimer{Úst_flagsZchflags)Z EOPNOTSUPPr3)r?rhrcr<rVrbrSrTrWr|rlÚ st_atime_nsÚ st_mtime_nsrƒÚNotImplementedErrorrUr‘r-r1rŠ) r[r\reZfollowr�rwÚmodeÚwhyr9r$rŒr%r QsB    ÿ  õ €þ€ýýr cCóD tj |¡rtj |tj |¡¡}t|||d�t|||d�|Sr~)r<rVÚisdirÚjoinÚbasenamerr©r[r\rer$r$r%r “s  r cCr—r~)r<rVr˜r™ršrr r›r$r$r%r ¥s  r cs ‡fdd„}|S)Ncs(g}ˆD] }| t ||¡¡qt|ƒSr*)ÚextendÚfnmatchÚfilterÚset)rVr�Ú ignored_namesÚpattern©Úpatternsr$r%Ú_ignore_patterns»sz)ignore_patterns.._ignore_patternsr$)r£r¤r$r¢r%r¶s rc Cs2|dur|t |¡dd„|Dƒƒ}ntƒ}tj||d�g} |tup%|tu} |D]¹} | j|vr0q(tj || j¡} tj || j¡} | rD| n| }zf|   ¡}|r`tjdkr`| j dd�}|j t j kr`d}|r—t  | ¡}|rxt || ¡t|| | d�n3tj |¡s‚|r‚Wq(|  ¡r‘t|| |||||ƒn||| ƒn|  ¡r¦t|| |||||ƒn||| ƒWq(tyÆ}z|  |jd¡WYd}~q(d}~wtyá}z|  | | t|ƒf¡WYd}~q(d}~wwzt||ƒWn&t�y}zt|ddƒdu�r|  ||t|ƒf¡WYd}~nd}~ww| �rt| ƒ‚|S) NcSsg|]}|j‘qSr$r‹)Ú.0Úxr$r$r%Ú Åsz_copytree..)Úexist_okrFrdrZwinerror)r<ÚfspathrŸÚmakedirsr r r.rVr™rarWÚst_reparse_tagÚIO_REPARSE_TAG_MOUNT_POINTrornr rsÚis_dirr rrœr…r-ÚappendÚstrrŠ)Úentriesr[r\ÚsymlinksÚignoreÚ copy_functionÚignore_dangling_symlinksÚ dirs_exist_okr ÚerrorsZ use_srcentryZsrcentryZsrcnameZdstnameZsrcobjrarzÚlinktor9r–r$r$r%Ú _copytreeÂsl       þ  ÿ €€ €ÿ€ýr¸c CsZ t d||¡t |¡� }t|ƒ}Wdƒn1swYt||||||||d�S)Nzshutil.copytree)r°r[r\r±r²r³r´rµ)r?rhr<ÚscandirÚlistr¸) r[r\r±r²r³r´rµZitrr°r$r$r%r s&  ÿ ýr Úst_file_attributescCsJz|jdd�}t |j¡o|jtj@o|jtjk WSty$YdSw©NFrd)rWÚS_ISDIRrlr»ÚFILE_ATTRIBUTE_REPARSE_POINTr«r¬r-)Úentryrwr$r$r%Ú _rmtree_isdir8s    þ ÿrÀcCsFzt |¡}t |j¡p|jtj@o|jtjkWSt y"YdSw)NF) r<rzrWÚS_ISLNKrlr»r¾r«r¬r-)rVrwr$r$r%Ú_rmtree_islinkAs    þ ÿrÂcCs$z|jdd�WStyYdSwr¼)r­r-)r¿r$r$r%rÀJs  ÿcCs tj |¡Sr*)r<rVrb)rVr$r$r%rÂPrŽc Cs*zt |¡� }t|ƒ}Wdƒn1swYWnty/|tj|t ¡ƒg}Ynw|D]F}|j}t|ƒr_z | ¡rDtdƒ‚WntyX|tjj |t ¡ƒYq2wt ||ƒq2zt  |¡Wq2tyx|tj |t ¡ƒYq2wzt  |¡WdSty”|tj |t ¡ƒYdSw)Nú%Cannot call rmtree on a symbolic link) r<r¹rºr-r?Úexc_inforVrÀrarbÚ_rmtree_unsafeÚunlinkÚrmdir)rVÚonerrorÚ scandir_itr°r¿Úfullnamer$r$r%rÅTs>  ÿ€ þü þ  ÿ ÿrÅc CsDzt |¡� }t|ƒ}Wdƒn1swYWnty:}z||_|tj|t ¡ƒWYd}~dSd}~ww|D]â}tj ||j ¡}z|j dd�}Wn tyZd}Yn$w|r~z|j dd�} t   | j ¡}Wnty}|tj|t ¡ƒYq=w|�rztj|j tj|d�} d} Wnty¡|tj|t ¡ƒYq=wzUtj | t | ¡¡r×t| ||ƒzt | ¡d} tj|j |d�Wn*tyÖ|tj|t ¡ƒYnwztdƒ‚tyî|tjj|t ¡ƒYnwW| s÷t | ¡q=| �st | ¡wwz tj|j |d�Wq=t�y|tj|t ¡ƒYq=wdS)NFrd)Údir_fdTrÃ)r<r¹rºr-r/r?rÄrVr™r.r­rWr½rlrzrpÚO_RDONLYrQr=Ú_rmtree_safe_fdÚcloserÇrbrÆ) ÚtopfdrVrÈrÉr°r9r¿rÊr­Úorig_stÚdirfdZ dirfd_closedr$r$r%rÍssz  ÿ€€ý ÿ  þ ÿ   ÿ ÿ€ €ÿ ÿÿÓrÍc Cs¾ t d|¡|rdd„}n|durdd„}tr»t|tƒr"t |¡}zt |¡}Wnty<|tj|t  ¡ƒYdSwz t  |tj ¡}d}Wnty[|tj |t  ¡ƒYdSwzUtj   |t |¡¡rŽt|||ƒzt |¡d}t |¡Wn*ty�|tj|t  ¡ƒYnwztdƒ‚ty¥|tj j|t  ¡ƒYnwW|s°t |¡dSdS|sºt |¡wwz t|ƒrÄtdƒ‚WntyÙ|tj j|t  ¡ƒYdSwt||ƒS)Nz shutil.rmtreecWr„r*r$©r…r$r$r%rȽr‡zrmtree..onerrorcWs‚r*r$rÒr$r$r%rÈÀsFTrÃ)r?rhÚ_use_fd_functionsrSÚbytesr<Úfsdecoderzr,rÄrprÌrVrQr=rÍrÎrÇr-rbrÂrÅ)rVÚ ignore_errorsrÈrÐÚfdZ fd_closedr$r$r%r°sh     þ þ   ÿ ÿ€ÿ ÿþ ý rcCs2 t |¡}tjjtjjpd}tj | |¡¡S©NÚ)r<r©rVÚsepÚaltsepršÚrstrip)rVrÚr$r$r%Ú _basenameôs rÝc CsP t d||¡|}tj |¡r2t||ƒrt ||¡dStj |t|ƒ¡}tj  |¡r2t d|ƒ‚z t ||¡W|St y§tj  |¡r[t  |¡}t ||¡t |¡Y|Stj |¡ršt||ƒrnt d||fƒ‚t|ƒsƒt |tj¡s‹t |¡r‹tjdkr‹td||fƒ‚t|||dd�t|ƒY|S|||ƒt |¡Y|Sw)Nz shutil.movez$Destination path '%s' already existsz.Cannot move a directory '%s' into itself '%s'.ÚdarwinzKCannot move the non-empty directory '%s': Lacking write permission to '%s'.T)r³r±)r?rhr<rVr˜r]Úrenamer™rÝrsrr-rbrornrÆÚ _destinsrcÚ _is_immutableÚaccessÚW_OKÚlistdirÚplatformÚPermissionErrorr r)r[r\r³Zreal_dstr·r$r$r%r sT      ë     ð ÿ ÿÿ þÿ  þ ër cCsVtj |¡}tj |¡}| tjj¡s|tjj7}| tjj¡s&|tjj7}| |¡Sr*)r<rVrYÚendswithrÚÚ startswithrZr$r$r%ràHs     ràcCs(t|ƒ}tjtjg}t|dƒo|j|vS)Nr‘)r`rWÚ UF_IMMUTABLEÚ SF_IMMUTABLErUr‘)r[rwZimmutable_statesr$r$r%ráQs rácCól |durdSzddlm}Wn tyYdSwz||ƒ}Wn ty+d}Ynw|dur4|dSdS)Nr)Úgetgrnamé)ZgrprìÚ ImportErrorÚKeyError)r.rìÚresultr$r$r%Ú_get_gidVó  ÿ  ÿrñcCrë)Nr)Úgetpwnamrí)Úpwdrórîrï)r.rórðr$r$r%Ú_get_uidhròrõÚgzipc sX |durd} n"tr|dkrd} ntr|dkrd} ntr#|dkr#d} ntd |¡ƒ‚ddl} |r4d | nd} |d | } tj | ¡} | r[tj  | ¡s[|durT|  d | ¡|s[t  | ¡|durd|  d ¡t ˆƒ‰t ˆƒ‰‡‡‡‡fd d„}|s |  | d| ¡}|}|durŒtj ||¡}z|j|||d�W| ¡n| ¡w|durªtj | ¡} | S)NrÙröZgzÚbzip2Úbz2ÚxzzCbad value for 'compress', or compression format not supported : {0}rÚ.ú.tarú creating %szCreating tar archivecs,ˆdur ˆ|_ˆ|_ˆdurˆ|_ˆ|_|Sr*)ÚgidZgnameÚuidÚuname)Ztarinfo©rýÚgroupÚownerrþr$r%Ú _set_uid_gid©sz#_make_tarball.._set_uid_gidzw|%s©rž)Ú_ZLIB_SUPPORTEDÚ_BZ2_SUPPORTEDÚ_LZMA_SUPPORTEDÚ ValueErrorriÚtarfiler<rVÚdirnamersÚinforªrõrñrpr™ÚaddrÎrY)Ú base_nameÚbase_dirÚcompressÚverboseÚdry_runrrÚloggerÚroot_dirZtar_compressionr Z compress_extZ archive_nameÚ archive_dirrÚtarÚarcnamer$rr%Ú _make_tarballzsJ   ÿ       rcCsð ddl}|d} tj |¡} | r(tj | ¡s(|dur!| d| ¡|s(t | ¡|dur3| d| |¡|sì|j| d|jd��¦} tj  |¡} |durPtj  ||¡}tj  |¡}| tj krk|   || ¡|durk| d|¡t  |¡D]l\} }}| }|dur‚tj ||¡}tj  |¡}t|ƒD] }tj  | |¡}tj  ||¡} |   || ¡|dur¬| d|¡qŒ|D],}tj  | |¡}tj  |¡}tj |¡rÛtj  ||¡} |   || ¡|durÛ| d|¡q¯qpWdƒn1sçwY|durötj | ¡} | S)Nrú.ziprüz#creating '%s' and adding '%s' to itÚw)Z compressionz adding '%s')Úzipfiler<rVr rsr rªÚZipFileZ ZIP_DEFLATEDÚnormpathr™ÚcurdirrHÚwalkÚrelpathÚsortedÚisfilerY)r rrrrrrrrZ zip_filenamerZzfrÚdirpathZdirnamesÚ filenamesZ arcdirpathr.rVr$r$r%Ú _make_zipfileÀsj   ÿÿ         €    €ùõö r$r)rNzuncompressed tar file)rrözgzip'ed tar-fileZgztarzZIP fileÚzip)rr÷zbzip2'ed tar-fileZbztar)rrùzxz'ed tar-fileZxztarcCó dd„t ¡Dƒ}| ¡|S)NcSsg|] \}}||df‘qS)rír$)r¥r.Úregistryr$r$r%r§sz'get_archive_formats..)Ú_ARCHIVE_FORMATSÚitemsÚsort©Zformatsr$r$r%rs ÿrrÙcCsx |durg}t|ƒstd|ƒ‚t|ttfƒstdƒ‚|D]}t|ttfƒr-t|ƒdkr1tdƒ‚q|||dft|<dS)NzThe %s object is not callablez!extra_args needs to be a sequenceríz+extra_args elements are : (arg_name, value)F)ÚcallableÚ TypeErrorrSÚtuplerºÚlenr()r.ÚfunctionÚ extra_argsÚ descriptionZelementr$r$r%rs ÿrcCs t|=dSr*)r(r‹r$r$r%r/s rc  CsH t d||||¡zt|} Wntytd|ƒd‚w||||dœ} | d} | dD]\} } | | | <q.|dur>tj}| d}d}|duro|rTt |¡}|| d<nt ¡}|durb|  d|¡tj   |¡}|sot  |¡z| ||fi| ¤Ž}W|dur�|durˆ|  d |¡t  |¡|S|dur£|dur�|  d |¡t  |¡ww) Nzshutil.make_archivezunknown archive format '%s')rrrrréérzchanging into '%s'zchanging back to '%s') r?rhr(rïrr<rr©ÚgetcwdÚdebugrVrYÚchdir)r rirrrrrrrÚ format_infor†ÚfuncÚargÚvalZsupport_root_dirZsave_cwdr/r$r$r%r2sN  ÿÿ        û  ýrcCr&)NcSs"g|] \}}||d|df‘qS)rr4r$)r¥r.r r$r$r%r§ts"z&get_unpack_formats..)Ú_UNPACK_FORMATSr)r*r+r$r$r%rns ÿrc Csl i}t ¡D]\}}|dD]}|||<qq|D]}||vr+d}t||||fƒ‚qt|ƒs4tdƒ‚dS)Nrz!%s is already registered for "%s"z*The registered function must be a callable)r<r)r(r,r-) Ú extensionsr0r1Zexisting_extensionsr.r ÚextÚ extensionÚmsgr$r$r%Ú_check_unpack_optionsys   ÿÿþÿrAcCs. |durg}t|||ƒ||||ft|<dSr*)rAr<)r.r=r0r1r2r$r$r%r‹s  rcCs t|=dSr*)r<r‹r$r$r%r¡s rcCs, tj |¡}tj |¡st |¡dSdSr*)r<rVr r˜rª)rVr r$r$r%Ú_ensure_directory¥s   ÿrBc Csþ ddl}| |¡std|ƒ‚| |¡}zd| ¡D]X}|j}| d¡s(d|vr)qtjj |g|  d¡¢RŽ}|s9qt |ƒ|  d¡sr|  |d¡�"}t |dƒ� }t||ƒWdƒn1s^wYWdƒn1smwYqW| ¡dS| ¡w)Nrz%s is not a zip fileú/z..Úrrg)rZ is_zipfiler'rZinfolistr/rèr<rVr™ÚsplitrBrçrprrÎ) r/Ú extract_dirrr%r r.Z targetpathÚsourceÚtargetr$r$r%Ú_unpack_zipfile«s4     ÿ þ€€òrIrcCs^ ddl}z| |¡}Wn|jytd|ƒ‚wz|j||d�W| ¡dS| ¡w)Nrz/%s is not a compressed or uncompressed tar filer)r rpZTarErrorr'Z extractallrÎ)r/rFržr Ztarobjr$r$r%Ú_unpack_tarfileÉsÿÿrJrûr)rr%z.tar.gzz.tgzz.tar.bz2z.tbz2z.tar.xzz.txzcCs:t ¡D]\}}|dD] }| |¡r|Sq qdS)Nr)r<r)rç)r/r.r r?r$r$r%Ú_find_unpack_formatís   ÿÿrKcCsþ t d|||¡|durt ¡}t |¡}t |¡}|dur"i}nd|i}|durUzt|}Wnty?td |¡ƒd‚w|d}|||fit |dƒ¤|¤ŽdSt |ƒ}|durdt d |¡ƒ‚t|d}t t|dƒ|B}|||fi|¤ŽdS)Nzshutil.unpack_archiveržzUnknown unpack format '{0}'r3rízUnknown archive format '{0}') r?rhr<r5r©r<rïrriÚdictrKr')r/rFriržZ filter_kwargsr8r9r†r$r$r%rôs.    ÿ" rÚstatvfsÚ disk_usageZusageztotal used freezTotal space in byteszUsed space in byteszFree space in bytescCsB t |¡}|j|j}|j|j}|j|j|j}t|||ƒSr*)r<rMÚf_bavailÚf_frsizeÚf_blocksÚf_bfreeÚ_ntuple_diskusage)rVrwÚfreeÚtotalÚusedr$r$r%rN-s     cCs$ t |¡\}}||}t|||ƒSr*)rZ _getdiskusagerS)rVrUrTrVr$r$r%rN>s cCs° t d|||¡|dur|durtdƒ‚|}|}|dur d}nt|tƒr4t|ƒ}|dur4td |¡ƒ‚|dur;d}nt|tƒsOt |ƒ}|durOtd |¡ƒ‚t   |||¡dS)Nz shutil.chownzuser and/or group must be setéÿÿÿÿzno such user: {!r}zno such group: {!r}) r?rhrrSr¯rõÚ LookupErrorriÚintrñr<r)rVÚuserrZ_userZ_groupr$r$r%rIs&  r©éPéc CsÐ z ttjdƒ}Wn ttfyd}Ynwz ttjdƒ}Wn ttfy.d}Ynw|dks7|dkraz t tj ¡¡}Wnt tt fyRt  |¡}Ynw|dkrZ|j }|dkra|j }t  ||f¡S)NZCOLUMNSrZLINES)rYr<Úenvironrïrrr?Ú __stdout__r+ÚAttributeErrorr-Ú terminal_sizeÚcolumnsÚlines)ZfallbackrbrcÚsizer$r$r%ris,ÿÿýrcCs&tj |¡ot ||¡otj |¡ Sr*)r<rVrsrâr˜)r_r•r$r$r%Ú _access_checkšs ÿrec s´ tj ˆ¡rtˆ|ƒrˆSdStˆtƒ}|dur:tj dd¡}|dur:zt d¡}Wnt t fy9tj }Ynw|s>dS|rOt  |¡}|  t  tj¡¡}n t |¡}|  tj¡}tjdkr§tj}|rit  |¡}||vrs| d|¡t d¡pyt}dd„|  tj¡Dƒ}|rŽdd„|Dƒ}t‡fd d „|Dƒƒr�ˆg}n ‡fd d„|Dƒ}nˆg}tƒ}|D](} tj | ¡} | |vr×| | ¡|D]} tj | | ¡} t| |ƒrÖ| SqÂq¯dS) NÚPATHÚCS_PATHZwin32rZPATHEXTcSsg|]}|r|‘qSr$r$©r¥r>r$r$r%r§Óózwhich..cSsg|]}t |¡‘qSr$)r<Úfsencoderhr$r$r%r§Ösc3s"�|] }ˆ ¡ | ¡¡VqdSr*)Úlowerrçrh©Úcmdr$r%Ú Ûs€ zwhich..csg|]}ˆ|‘qSr$r$rhrlr$r%r§Þri)r<rVr rerSrÔr^ÚgetÚconfstrr`rÚdefpathrjrEÚpathseprÕr?rårÚinsertÚgetenvÚ_WIN_DEFAULT_PATHEXTÚanyrŸrXr r™) rmr•rVZ use_bytesrZpathext_sourceZpathextÚfilesÚseenÚdirZnormdirZthefiler.r$rlr%rŸs^   þ          ÿ€r)r)F)FN)rörrNNNN)rrNNNNrØ)NNrrNNN)NN)r[)fr<r?rWr�Ú collectionsr1ÚzlibrrîrørZlzmarr.rmrrrOrUrårèrBrqruÚ__all__r-rrrrr'r,r(r)r:rFrNrr]r`rcrrrƒr r r rr¸r Ú stat_resultrÀrÂrÅrÍrprÆrÇÚsupports_dir_fdr¹Ú supports_fdr�rÓrZavoids_symlink_attacksrÝr ràrárñrõrr$r(rrrrrrArrrBrIrJr<rKrr®Ú namedtuplerSrUÚ__doc__rVrTrNrrreÚF_OKÚX_OKrr$r$r$r%Ús> ÿ ÿ ÿ      @  @ B ÿB ÿ0  8ÿ þ ý B B  ÿF ÿ?ÿÿÿÿÿ  ÿ<  ÿ  þ ÿ ÿ ÿ 1      1