Ë &Ùiïÿ•eã ó€—ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl m Z ddl mZejj!d«rddlmcmcmcmZnej&ej.Z eZeZgd¢Zdd„Zej>dd„«Z ej>d„«Z!ej>d „«Z"ej>d „«Z#Gd „d e$«Z%Gd „d«Z&ej>d„«Z'd„Z(ej>d„«Z)ej>d„«Z*hd£Z+d„Z,d„Z-d„Z.Gd„d«Z/e0ed«rejbgZ2ngZ2Gd„de/«Z3ejhejjdjm«D�cgc] }e7e|d«‘Œc}«Z8Gd„de «Z9y#e$rdZY�Œ3wxYwcc}w) éN)ÚDistutilsError)Ú working_setÚjava)ÚAbstractSandboxÚDirectorySandboxÚSandboxViolationÚ run_setupcó¦—d}t||«5}|j«}ddd«|€|}t|d«}t|||«y#1swYŒ(xYw)z. Python 3 implementation of execfile. ÚrbNÚexec)ÚopenÚreadÚcompiler )ÚfilenameÚglobalsÚlocalsÚmodeÚstreamÚscriptÚcodes ú7/usr/lib/python3.12/site-packages/setuptools/sandbox.pyÚ _execfiler$sR€ð €DÜ ˆh˜Ô  Ø—‘“ˆ÷ à €~ØˆÜ �6˜8 VÓ ,€D܈ˆw˜Õ÷ Ð ús �AÁAc#ó¼K—tjdd}|�|tjdd |–—|tjddy#|tjddwxYw­w©N)ÚsysÚargv)ÚreplÚsaveds rÚ save_argvr1sJèø€ä �H‰H‘QˆK€EØ ÐØŒ�‰‘ˆ ðØŠ àŒ�‰‘‰ ø�eŒ�‰‘‰ üs‚)A¬A°AÁAÁAc#ó’K—tjdd} |–—|tjddy#|tjddwxYw­wr)rÚpath©rs rÚ save_pathr#<s7èø€ä �H‰H‘QˆK€EðØŠ àŒ�‰‘‰ ø�eŒ�‰‘‰ üs‚A—/›A¯AÁAc#ó°K—tj|d¬«tj}|t_ d–—|t_y#|t_wxYw­w)zL Monkey-patch tempfile.tempdir with replacement, ensuring it exists T)Úexist_okN)ÚosÚmakedirsÚtempfileÚtempdir)Ú replacementrs rÚ override_tempr+EsAèø€ô ‡K�K�  dÕ+ä × Ñ €Eà"„HÔð!Û à ŒÕø˜5ŒÕüs‚3A¶Aº AÁ AÁAc#óÆK—tj«}tj|« |–—tj|«y#tj|«wxYw­wr)r&ÚgetcwdÚchdir)Útargetrs rÚpushdr0Vs=èø€ä �I‰I‹K€E܇H�HˆVÔðØŠ ä �‰��øŒ�‰��üs‚*A!­A±A!ÁAÁA!có —eZdZdZed„«Zy)ÚUnpickleableExceptionzP An exception representing another Exception that could not be pickled. c óÄ— tj|«tj|«fS#t$r*ddlm}|j ||t |«««cYSwxYw)z‰ Always return a dumped (pickled) type and exc. If exc can't be pickled, wrap it in UnpickleableException first. r)r2)ÚpickleÚdumpsÚ ExceptionÚsetuptools.sandboxr2ÚdumpÚrepr)ÚtypeÚexcÚclss rr8zUnpickleableException.dumpesO€ð  1Ü—<‘< Ó%¤v§|¡|°CÓ'8Ð8Ð 8øÜò 1å Gà—8‘8˜C¡¤T¨#£Y£Ó0Ò 0ð  1ús‚),¬0AÁAN)Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú staticmethodr8©órr2r2`s„ñðñ 1óñ 1rCr2có"—eZdZdZd„Zd„Zd„Zy)ÚExceptionSaverz] A Context Manager that will save an exception, serialize, and restore it later. có—|SrrB©Úselfs rÚ __enter__zExceptionSaver.__enter__zs€Øˆ rCcóN—|sytj||«|_||_y)NFT)r2r8Ú_savedÚ_tb)rHr:r;Útbs rÚ__exit__zExceptionSaver.__exit__}s*€ÙØô,×0Ñ0°°sÓ;ˆŒ ؈ŒðrCcó¢—dt|«vryttj|j«\}}|j |j «‚)z"restore and re-raise any exceptionrKN)ÚvarsÚmapr4ÚloadsrKÚwith_tracebackrL)rHr:r;s rÚresumezExceptionSaver.resumeˆs@€ð œ4 ›:Ñ %Ø äœŸ ™  d§k¡kÓ2‰ ˆˆcØ× Ñ  §¡Ó*Ð*rCN)r=r>r?r@rIrNrTrBrCrrErEts„ñò ò ó+rCrEc#ó6‡K—tjj«Št«5}‰–—ddd«tjj ‰«ˆfd„tjD«}t |«j «y#1swYŒ]xYw­w)z  Context in which imported modules are saved. Translates exceptions internal to the context into the equivalent exception outside the context. Nc3óL•K—|]}|‰vr|jd«s|–—Œy­w)z encodings.N©Ú startswith)Ú.0Úmod_namers €rÚ zsave_modules.. s/øèø€ðá#ˆHØ ˜5Ñ à×#Ñ# LÔ1ô Ù#ùsƒ!$)rÚmodulesÚcopyrEÚupdateÚ_clear_modulesrT)Ú saved_excÚ del_modulesrs @rÚ save_modulesrb’srøèø€ô �K‰K× Ñ Ó €EÜ Ô ˜YØŠ ÷ ô‡K�K×Ñ�uÔóäŸ š ó€Kô�;Ôà ×ÑÕ÷ Ð üsƒ)B¬B ±AB BÂBcóF—t|«D]}tj|=Œyr)Úlistrr\)Ú module_namesrZs rr_r_¬s€Ü˜Ö&ˆÜ �K‰K˜Ñ !ñ'rCc#óœK—tj«} |–—tj|«y#tj|«wxYw­wr)Ú pkg_resourcesÚ __getstate__Ú __setstate__r"s rÚsave_pkg_resources_staterj±s:èø€ä × &Ñ &Ó (€Eð*ØŠ ä×"Ñ" 5Õ)øŒ ×"Ñ" 5Õ)üs‚A ˜2œA ²A Á A c #óöK—tjj|d«}t«5t «5t «5t «t«5t|«5t|«5td«d–—ddd«ddd«ddd«ddd«ddd«ddd«y#1swYŒ2xYw#1swYŒ6xYw#1swYŒ:xYw#1swYŒ>xYw#1swYŒBxYw#1swYyxYw­w)NÚtempÚ setuptools) r&r!Újoinrjrbr#Úhide_setuptoolsrr+r0Ú __import__)Ú setup_dirÚtemp_dirs rÚ setup_contextrsºs£èø€ä�w‰w�|‰|˜I vÓ.€HÜ !Õ #Ü �^Ü•ÜÔ!Ü•[Ü& xÕ0Ü" 9Õ-ä& |Ô4Û!÷.÷1÷!÷÷÷ $Ð #÷ .Ð-ú÷1Ð0ú÷!�[ú÷�ú÷ˆ^ú÷ $Ð #üs“‚+C9­ C-¸ C!ÁCÁ C Á$ B= Á0B1 ÂB= ÂC ÂCÂC! C-Â( C9Â1B:Â6B= Â=CÃC à C ÃCÃC ÃC!Ã!C* Ã&C-Ã-C6Ã2C9>ÚCythonÚ distutilsrmrgÚ_distutils_hackcó<—|jdd«d}|tvS)aH >>> _needs_hiding('setuptools') True >>> _needs_hiding('pkg_resources') True >>> _needs_hiding('setuptools_plugin') False >>> _needs_hiding('setuptools.__init__') True >>> _needs_hiding('distutils') True >>> _needs_hiding('os') False >>> _needs_hiding('Cython') True Ú.ér)ÚsplitÚ_MODULES_TO_HIDE)rZÚ base_modules rÚ _needs_hidingr}Òs%€ð"—.‘.  aÓ(¨Ñ+€KØ Ô*Ð *Ð*rCcóº—tjjdd«}|�|j«t t tj«}t |«y)a% Remove references to setuptools' modules from sys.modules to allow the invocation to import the most appropriate setuptools. This technique is necessary to avoid issues such as #315 where setuptools upgrading itself would fail to find a function declared in the metadata. rvN)rr\ÚgetÚ _remove_shimÚfilterr}r_)rvr\s rroroçsC€ô—k‘k—o‘oÐ&7¸Ó>€OØÐ"Ø×$Ñ$Ô&ä”]¤C§K¡KÓ0€GÜ�7ÕrCcó|—tjjtjj|««}t |«5 |gt |«zt jddt jjd|«tj«tjjd„«t|«5t|d¬«}t||«ddd«ddd«y#1swYŒxYw#t $r&}|j"r|j"dr‚Yd}~Œ?d}~wwxYw#1swYyxYw)z8Run a distutils setup script, sandboxed in its directoryNrcó"—|j«Sr)Úactivate)Údists rÚzrun_setup..ÿs €°d·m±m´orCÚ__main__)Ú__file__r=)r&r!ÚabspathÚdirnamersrdrrÚinsertrÚ__init__Ú callbacksÚappendrÚdictrÚ SystemExitÚargs)Ú setup_scriptr‘rqÚnsÚvs rr r ös܀䗑—‘¤§¡§¡° Ó =Ó>€IÜ �yÕ !ð Ø'˜.¬4°«:Ñ5ŒC�H‰H‘QˆKÜ �H‰H�O‰O˜A˜yÔ )ä × Ñ Ô "Ü × !Ñ !× (Ñ (Ñ)EÔ Fä! )Õ,Ü <¸*ÔE�ܘ,¨Ô+÷-÷ "Ð !÷-Ð,ûôò Ø�vŠv˜!Ÿ&™& š)Øÿøð ú÷ "Ð !úsIÁD2Á A?Dà C4Ã#DÃ4C= Ã9DÄ D/Ä D*Ä%D2Ä*D/Ä/D2Ä2D;có”—eZdZdZdZd„Zd„Zd„Zd„Zd„Z d„Z d D]Z e e e «sŒ e e «e«e <Œdd „Zer ed e«Zed e«ZdD]Z e e e «sŒ ee «e«e <Œd„ZdD]Z e e e «sŒ ee «e«e <Œd„ZdD]Z e e e «sŒ ee «e«e <Œd„Zd„Zd„Zd„Zy )rzDWrap 'os' module and 'open()' builtin for virtualizing setup scriptsFcóŒ—tt«D�cgc]!}|jd«st||«r|‘Œ#c}|_ycc}w)NÚ_)ÚdirÚ_osrXÚhasattrÚ_attrs)rHÚnames rrŒzAbstractSandbox.__init__sA€ôœCœó á �Ø—?‘? 3Ô'¬G°D¸$Ô,?ò Ø ñ ˆ� ùò s’&Ac ó\—|jD]}tt|t||««Œyr)r›Úsetattrr&Úgetattr)rHÚsourcerœs rÚ_copyzAbstractSandbox._copys#€Ø—K”KˆDÜ ”B˜œg f¨dÓ3Õ 4ñ rCcó”—|j|«tr|jt_|jt_d|_y)NT)r¡Ú_fileÚbuiltinsÚfileÚ_openr Ú_activerGs rrIzAbstractSandbox.__enter__s.€Ø � ‰ �4ÔÝ Ø ŸJ™JŒHŒMØŸ ™ ŒŒ ؈� rCcó„—d|_trtt_tt_|j t«y©NF)r§r£r¤r¥r¦r r¡r™)rHÚexc_typeÚ exc_valueÚ tracebacks rrNzAbstractSandbox.__exit__!s%€ØˆŒ Ý Ü!ŒHŒMÜŒŒ Ø � ‰ ”3�rCcó@—|5|«cddd«S#1swYyxYw)zRun 'func' under os sandboxingNrB)rHÚfuncs rÚrunzAbstractSandbox.run(s€â Ù“6÷�TŠTúsƒ”có6‡‡—tt‰«Šˆˆfd„}|S)Ncól•—|jr|j‰||g|¢­i|¤Ž\}}‰||g|¢­i|¤ŽSr)r§Ú _remap_pair)rHÚsrcÚdstr‘ÚkwrœÚoriginals €€rÚwrapz3AbstractSandbox._mk_dual_path_wrapper..wrap0sEø€Ø�|Š|Ø+˜4×+Ñ+¨D°#°sÐH¸TÒHÀRÑH‘��SÙ˜C Ð2 tÒ2¨rÑ2Ð 2rC©rŸr™©rœr·r¶s` @rÚ_mk_dual_path_wrapperz%AbstractSandbox._mk_dual_path_wrapper-sù€Üœ3 Ó%ˆõ 3ð ˆ rC)ÚrenameÚlinkÚsymlinkNcó>‡‡—‰xstt‰«Šˆˆfd„}|S)Ncób•—|jr|j‰|g|¢­i|¤Ž}‰|g|¢­i|¤ŽSr)r§Ú _remap_input©rHr!r‘rµrœr¶s €€rr·z5AbstractSandbox._mk_single_path_wrapper..wrap>s=ø€Ø�|Š|Ø(�t×(Ñ(¨¨tÐA°dÒA¸bÑA�Ù˜DÐ. 4Ò.¨2Ñ.Ð .rCr¸)rœr¶r·s`` rÚ_mk_single_path_wrapperz'AbstractSandbox._mk_single_path_wrapper;s ù€ØÒ1œw¤s¨DÓ1ˆõ /ð ˆ rCr¥r )ÚstatÚlistdirr.r ÚchmodÚchownÚmkdirÚremoveÚunlinkÚrmdirÚutimeÚlchownÚchrootÚlstatÚ startfileÚmkfifoÚmknodÚpathconfÚaccesscó6‡‡—tt‰«Šˆˆfd„}|S)Ncóš•—|jr3|j‰|g|¢­i|¤Ž}|j‰‰|g|¢­i|¤Ž«S‰|g|¢­i|¤ŽSr)r§rÀÚ _remap_outputrÁs €€rr·z4AbstractSandbox._mk_single_with_return..wrapcs_ø€Ø�|Š|Ø(�t×(Ñ(¨¨tÐA°dÒA¸bÑA�Ø×)Ñ)¨$±¸Ð0KÀÒ0KÈÑ0KÓLÐLÙ˜DÐ. 4Ò.¨2Ñ.Ð .rCr¸r¹s` @rÚ_mk_single_with_returnz&AbstractSandbox._mk_single_with_return`sù€Üœ3 Ó%ˆõ /ð ˆ rC)ÚreadlinkÚtempnamcó6‡‡—tt‰«Šˆˆfd„}|S)NcóT•—‰|i|¤Ž}|jr|j‰|«S|Sr)r§rÖ)rHr‘rµÚretvalrœr¶s €€rr·z'AbstractSandbox._mk_query..wraprs1ø€Ù˜tÐ* rÑ*ˆFØ�|Š|Ø×)Ñ)¨$°Ó7Ð7؈MrCr¸r¹s` @rÚ _mk_queryzAbstractSandbox._mk_queryosù€Üœ3 Ó%ˆõ ð ˆ rC)r-Útmpnamcó—|S)z=Called to remap or validate any path, whether input or outputrB)rHr!s rÚ_validate_pathzAbstractSandbox._validate_path~s€àˆ rCcó$—|j|«S©zCalled for path inputs©rà©rHÚ operationr!r‘rµs rrÀzAbstractSandbox._remap_input‚ó€à×"Ñ" 4Ó(Ð(rCcó$—|j|«S)zCalled for path outputsrã)rHrår!s rrÖzAbstractSandbox._remap_output†rærCcój—|j|dz|g|¢­i|¤Ž|j|dz|g|¢­i|¤ŽfS)ú?Called for path pairs like rename, link, and symlink operationsz-fromz-to)rÀ©rHrår³r´r‘rµs rr²zAbstractSandbox._remap_pairŠsP€ð ˆD× Ñ ˜i¨'Ñ1°3Ð D¸Ò DÀÑ DØ ˆD× Ñ ˜i¨%Ñ/°Ð B°tÒ B¸rÑ Bð ð rCr)r=r>r?r@r§rŒr¡rIrNr¯rºrœršr™rrÂr£r¦r×rÝràrÀrÖr²rBrCrrr s„ÙNà€Gò ò5òòòò ó.ˆÙ �3˜Õ Ù2°4Ó8‰F‹H�TŠNð.óñ Ù'¨°Ó6ˆÙ # F¨EÓ 2€Eóˆñ* �3˜Õ Ù4°TÓ:‰F‹H�TŠNð-ò0 ó(ˆÙ �3˜Õ Ù3°DÓ9‰F‹H�TŠNð(ò ó%ˆÙ �3˜Õ Ù& t›_‰F‹H�TŠNð%òò)ò)ó rCrÚdevnullcó†—eZdZdZej gd¢«ZgZ efd„Z d„Z e rdd„Z dd„Z d„Z d„Zd „Zd „Zd „Zdd „Zy )rz}tjjtjj|««‘Œ@c}|_tj|«ycc}w)NÚ) r&r!ÚnormcaseÚrealpathÚ_sandboxrnÚ_prefixÚ _exceptionsrrŒ)rHÚsandboxÚ exceptionsr!s rrŒzDirectorySandbox.__init__®s�€ÜŸ™×(Ñ(¬¯©×)9Ñ)9¸'Ó)BÓCˆŒ Ü—w‘w—|‘| D§M¡M°2Ó6ˆŒ áAKó ÙAK¸ŒB�G‰G× Ñ œRŸW™W×-Ñ-¨dÓ3Õ 4Àñ ˆÔô × Ñ  Õ&ùò sÁ5ACcó"—ddlm}||||«‚)Nr)r)r7r)rHrår‘rµrs rÚ _violationzDirectorySandbox._violation¶s€Ý7á˜y¨$°Ó3Ð3rCcó|—|dvr)|j|«s|jd||g|¢­i|¤Žt||g|¢­i|¤ŽS)N©ÚrÚrtr ÚrUÚUr¥)Ú_okr÷r£©rHr!rr‘rµs rr£zDirectorySandbox._file½sH€ØÐ7Ñ7ÀÇÁÈÄØ�—‘ ¨¨dÐ@°TÒ@¸RÒ@ܘ˜tÐ1 dÒ1¨bÑ1Ð 1rCcó|—|dvr)|j|«s|jd||g|¢­i|¤Žt||g|¢­i|¤ŽS)Nrùr )rþr÷r¦rÿs rr¦zDirectorySandbox._openÂsH€Ø Ð3Ñ 3¸D¿H¹HÀT¼NØ ˆD�O‰O˜F D¨$Ð <°Ò <¸Ò <Ü�T˜4Ð- $Ò-¨"Ñ-Ð-rCcó&—|jd«y)NrÞ)r÷rGs rrÞzDirectorySandbox.tmpnamÇs€Ø �‰˜Õ!rCcóH—|j} d|_tjjtjj |««}|j |«xs,||j k(xs|j|j« ||_S#||_wxYwr©) r§r&r!rïrðÚ _exemptedrñrXrò)rHr!Úactiverðs rrþzDirectorySandbox._okÊs„€Ø—‘ˆð "Ø ˆDŒLÜ—w‘w×'Ñ'¬¯©×(8Ñ(8¸Ó(>Ó?ˆHà—‘˜xÓ(ò5ؘtŸ}™}Ñ,ò5à×&Ñ& t§|¡|Ó4ð ð "ˆD�Lø˜6ˆD�Lús ŽBB B!c󚇗ˆfd„|jD«}ˆfd„|jD«}tj||«}t |«S)Nc3ó@•K—|]}‰j|«–—Œy­wrrW)rYÚ exceptionÚfilepaths €rr[z-DirectorySandbox._exempted..Øs!øèø€ð Ù.Ûs!øèø€ð Ù7O¨GŒB�H‰H�W˜h× 'Ñ7Oùsƒ #)róÚ_exception_patternsÚ itertoolsÚchainÚany)rHrÚ start_matchesÚpattern_matchesÚ candidatess ` rrzDirectorySandbox._exempted×sIø€ó Ø<@×r?r@r�Úfromkeysrr Ú _EXCEPTIONSrŒr÷r£r¦rÞrþrrÀr²r rBrCrrr˜s]„ÙFà— ‘ òó€Ið ÐØ4à+6ó'ò4ñ  ó 2ó .ò "ò "òòò ô 8rCrz4O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC O_TEMPORARYcóV—eZdZdZej d«j «Zd„Zy)rzEA setup script attempted to modify the filesystem outside the sandboxa SandboxViolation: {cmd}{args!r} {kwargs} The package setup script has attempted to modify files on your system that are not within the EasyInstall build area, and has been aborted. This package cannot be safely installed by EasyInstall, and may not support alternate installation locations even if you run its setup script by hand. Please inform the package's author and the EasyInstall maintainers to find out if a fix or workaround is available. cój—|j\}}}|jjdit«¤ŽS)NrB)r‘ÚtmplÚformatr)rHÚcmdr‘Úkwargss rÚ__str__zSandboxViolation.__str__s.€Ø ŸI™IшˆT�6؈t�y‰y×ÑÑ+¤&£(Ñ+Ð+rCN) r=r>r?r@ÚtextwrapÚdedentÚlstriprr"rBrCrrrýs+„ÙOà ˆ8�?‰?ð ó ÷ �fƒhð ó,rCrr):r&rr(ÚoperatorÚ functoolsrr Ú contextlibr4r#r¤rgÚdistutils.errorsrrÚplatformrXÚ$org.python.modules.posix.PosixModuleÚpythonr\ÚposixÚ PosixModuler™rœr¥r£Ú NameErrorr r¦Ú__all__rÚcontextmanagerrr#r+r0r6r2rErbr_rjrsr{r}ror rršrërrÚreduceÚor_rzrŸrr)Úas0rÚr5s ðÛ Û ÛÛÛÛÛ ÛÛ ÛÛãÝ+Ý%à‡<�<×ј6Ô"ß6×6à �+‰+�b—g‘gÑ €CðØ €Eð €ò €ó  ð ×Ñòóðð ×Ññóðð ×Ññ !óð !ð  ×Ññóðô1˜Iô1÷(+ñ+ð< ×Ññóðò2"ð  ×Ññ*óð*ð ×Ññ "óð "òÐò+ò* ò÷(E ñE ñP ˆ2ˆyÔØ—:‘:�,�Kà€KôY8�ôY8ðxˆi×ÑØ ‡L�LðH×MÑMÔOóáOˆAñ ��Q˜ÕØOñó€ ô,�~õ,øðMòØ ƒEðüò~sÂF-Æ F; Æ-F8Æ7F8