§ {<ˆj< ãóB—ddlZddlZddlZddlZddlmZmZddlmZddl m Z ddl m Z ddl mZddlmZddlmZdd lmZdd lmZd d lmZeej e¦«¦«jZed z ZGd„d¦«ZGd„de¬¦«Z d„Z!ddgZ"dS)éN)ÚABCMetaÚabstractmethod)ÚArgumentTypeError)Ú literal_eval)Ú OrderedDict)ÚPath)ÚLogCmd)Ú safe_delete)Úrun_cmd)Ú __version__é)ÚPyEnvCfgzdebug.pycó—eZdZd„ZdS)Ú CreatorMetacó—d|_dS©N)Úerror©Úselfs úk/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/virtualenv/create/creator.pyÚ__init__zCreatorMeta.__init__s €ØˆŒ ˆ ˆ óN)Ú__name__Ú __module__Ú __qualname__r©rrrrs#€€€€€ðððððrrcóº—eZdZdZd„Zd„Zd„Zed„¦«Zed„¦«Z e d„¦«Z ed„¦«Z d „Z d „Zd „Zed „¦«Zed „¦«ZdS)ÚCreatorzEA class that given a python Interpreter creates a virtual environmentcóð—||_d|_t|j¦«|_|j|_|j|_t j|j¦«|_|j |_ |j |_ dS)zØConstruct a new virtual environment creator. :param options: the CLI option as parsed from :meth:`add_parser_arguments` :param interpreter: the interpreter to create virtual environment from N) Ú interpreterÚ_debugrÚdestÚclearÚ no_vcs_ignorerÚ from_folderÚ pyenv_cfgÚapp_dataÚenv)rÚoptionsr s rrzCreator.__init__sc€ð 'ˆÔ؈Œ ݘœÑ&Ô&ˆŒ Ø”]ˆŒ Ø$Ô2ˆÔÝ!Ô-¨d¬iÑ8Ô8ˆŒØÔ(ˆŒ Ø”;ˆŒˆˆrcó„—|jj›dd d„| ¦«D¦«¦«›d�S)Nú(z, c3ó*K—|]\}}|›d|›�V—ŒdS)ú=Nr)Ú.0ÚkÚvs rú z#Creator.__repr__...s0èè€Ð5ZÐ5ZÁTÀQȸ°j°j¸Q°j°jÐ5ZÐ5ZÐ5ZÐ5ZÐ5ZÐ5Zrú))Ú __class__rÚjoinÚ_argsrs rÚ__repr__zCreator.__repr__-sA€Ø”.Ô)Ð]Ð]¨D¯IªIÐ5ZÐ5ZÈTÏZÊZÉ\Ì\Ð5ZÑ5ZÔ5ZÑ,ZÔ,ZÐ]Ð]Ð]Ð]rcóP—dt|j¦«fd|jfd|jfgS)Nr"r#r$)Ústrr"r#r$rs rr5z Creator._args0s1€à •S˜œ‘^”^Ð $Ø �d”jÐ !Ø ˜dÔ0Ð 1ð ð rcó—dS)aDetermine if we can create a virtual environment. :param interpreter: the interpreter in question :return: ``None`` if we can't create, any other object otherwise that will be forwarded to :meth:`add_parser_arguments` Tr)Úclsr s rÚ can_createzCreator.can_create7s €ðˆtrcó¨—| dd|j¬¦«| ddddd¬ ¦«| d d dd d¬ ¦«d S)aAdd CLI arguments for the creator. :param parser: the CLI parser :param app_data: the application data folder :param interpreter: the interpreter we're asked to create virtual environment for :param meta: value as returned by :meth:`can_create` r"z!directory to create virtualenv at)ÚhelpÚtypez--clearr#Ú store_truezZremove the destination directory if exist before starting (will overwrite files otherwise)F)r"Úactionr=Údefaultz--no-vcs-ignorer$z>don't create VCS ignore directive in the destination directoryN)Ú add_argumentÚ validate_dest)r:Úparserr Úmetar's rÚadd_parser_argumentszCreator.add_parser_argumentsAs“€ð ×ÒØ Ø4ØÔ"ð ñ ô ð ð ×ÒØ ØØØmØð ñ ô ð ð ×ÒØ Ø ØØQØð ñ ô ð ð ð rcó—t‚)z)Perform the virtual environment creation.)ÚNotImplementedErrorrs rÚcreatezCreator.create^s €õ"Ð!rcó<—d„}tj¦«}t¦«}|dkrddini}t|¦«D]N} |j|fi|¤Ž |¦«}||krŒ+t |¦«‚#t $rd||<YŒKwxYw|rAd | ¦«¦«}d|›d|›d |›�} t| ¦«‚tj |vr%d |›d tj ›d �} t| ›d �¦«‚t|¦«} |   ¦«r'|  ¦«rtd| ›d�¦«‚ttj t| ¦«¦«¦« ¦«} | } | rq|   ¦«r9tjt| ¦«tj¦«rn0|| | ¦«| j| j} } | | kr || | ¦«| } | °qt| ¦«S)zANo path separator in the path, valid chars and must be write-ablecó¶—ttj |j|jg¦«Ž}t d| |¦«›d|›�¦«‚)Núthe destination z is not write-able at )rÚosÚpathÚ commonprefixÚpartsrÚ relative_to)r"ÚvalueÚcommons rÚnon_write_ablez-Creator.validate_dest..non_write_ablegsS€Ý�2œ7×/Ò/°´¸d¼jÐ0IÑJÔJÐKˆFÝ#Ð$o°t×7GÒ7GÈÑ7OÔ7OÐ$oÐ$oÐgmÐ$oÐ$oÑpÔpÐ prÚmbcsÚerrorsÚignoreNÚzthe file system codec (z) cannot handle characters z within z destination z& must not contain the path separator (r2z+ as this would break the activation scriptsrLz already exists and is a file)ÚsysÚgetfilesystemencodingrr8ÚencodeÚdecodeÚ ValueErrorr4ÚkeysrrMÚpathseprÚexistsÚis_filerNÚabspathÚresolveÚaccessÚW_OKÚparentÚname)r:Ú raw_valuerTÚencodingÚrefusedÚkwargsÚcharÚtripÚbadÚmsgrRr"ÚbaseÚ_s rrCzCreator.validate_destcs]€ð qð qð qõ Ô,Ñ.Ô.ˆÝ‘-”-ˆØ)1°VÒ);Ð);�(˜HÐ%Ð%ÀˆÝ˜ ‘N”Nð %ð %ˆDð %Ø"�t”{ 8Ð6Ð6¨vÐ6Ð6×=Ò=¸hÑGÔG�ؘ4’<�<ØÝ  Ñ&Ô&Ð&øÝð %ð %ð %Ø $�˜‘ � � ð %øøøà ð )Ø—'’'˜'Ÿ,š,™.œ.Ñ)Ô)ˆCØm¨HÐmÐmÐQTÐmÐmÐ`iÐmÐmˆCÝ# CÑ(Ô(Ð (Ý Œ:˜Ð "Ð "Øa ÐaÐaÕTVÔT^ÐaÐaÐaˆCÝ# sÐ$WÐ$WÐ$WÑXÔXÐ Xå�Y‘”ˆØ �<Š<‰>Œ>ð ]˜eŸmšm™oœoð ]Ý#Ð$[°uÐ$[Ð$[Ð$[Ñ\Ô\Ð \Ý•B”G—O’O¥C¨¡J¤JÑ/Ô/Ñ0Ô0×8Ò8Ñ:Ô:ˆØˆØð Ø�{Š{‰}Œ}ð 0Ý”9�S ™YœY­¬Ñ0Ô0ð0Øà"�N 4¨Ñ/Ô/Ð/Ø”k 4¤9�!ˆDØ�tŠ|ˆ|Ø�˜t UÑ+Ô+Ð+؈Dðð õ�5‰zŒzÐsÁ'A:Á+A:Á:B  B có,—|j ¦«r5|jr.tjd|j¦«t |j¦«| ¦«| ¦«|js|  ¦«dSdS)Nz delete %s) r"r`r#ÚloggingÚdebugr rIÚ set_pyenv_cfgr$Úsetup_ignore_vcsrs rÚrunz Creator.run‘s‘€Ø Œ9× Ò Ñ Ô ð # $¤*ð #Ý ŒM˜+ t¤yÑ 1Ô 1Ð 1Ý ˜œ Ñ "Ô "Ð "Ø � Š ‰ Œ ˆ Ø ×ÒÑÔÐØÔ!ð $Ø × !Ò !Ñ #Ô #Ð #Ð #Ð #ð $ð $rcóz—t¦«|j_tj tj |jj¦«¦«|jd<|jj |jd<d  d„|jj D¦«¦«|jd<t|jd<dS)NÚhomeÚimplementationú.c3ó4K—|]}t|¦«V—ŒdSr)r8)r.Úis rr1z(Creator.set_pyenv_cfg..žs(èè€Ð1`Ð1`¸Qµ#°a±&´&Ð1`Ð1`Ð1`Ð1`Ð1`Ð1`rÚ version_infoÚ virtualenv) rr&ÚcontentrMrNÚdirnamerbr Úsystem_executablerzr4r~r rs rruzCreator.set_pyenv_cfgšs�€Ý!,¡¤ˆŒÔÝ!#¤§¢µ´·²ÀÔAQÔAcÑ1dÔ1dÑ!eÔ!eˆŒ�vÑØ+/Ô+;Ô+JˆŒÐ'Ñ(Ø),¯ªÐ1`Ð1`À$ÔBRÔB_Ð1`Ñ1`Ô1`Ñ)`Ô)`ˆŒ�~Ñ&Ý'2ˆŒ�|Ñ$Ð$Ð$rcót—|jdz }| ¦«s| dd¬¦«dSdS)z9Generate ignore instructions for version control systems.z .gitignorez(# created by virtualenv automatically * zutf-8)riN)r"r`Ú write_text)rÚ git_ignores rrvzCreator.setup_ignore_vcs¡sR€ð”Y Ñ-ˆ Ø× Ò Ñ"Ô"ð bØ × !Ò !Ð"NÐY`Ð !Ñ aÔ aÐ aÐ aÐ að bð brcóœ—|j€?|j�8t|j| ¦«|j|j¦«|_|jS)zt :return: debug information about the virtual environment (only valid after :meth:`create` has run) )r!ÚexeÚget_env_debug_infoÚ debug_scriptr'r(rs rrtz Creator.debug­sD€ð Œ;Ð  4¤8Ð#7Ý,¨T¬X°t×7HÒ7HÑ7JÔ7JÈDÌMÐ[_Ô[cÑdÔdˆDŒKØŒ{Ðrcó—tSr)Ú DEBUG_SCRIPTrrrr‰zCreator.debug_script¶s€åÐrN)rrrÚ__doc__rr6r5Ú classmethodr;rFrrIrCrwrurvÚpropertyrtÚ staticmethodr‰rrrrrs€€€€€ØOÐOð ð ð ð^ð^ð^ð ð ð ðððñ„[ððð ð ñ„[ð ð8ð"ð"ñ„^ð"ðð+ð+ñ„[ð+ðZ$ð$ð$ð3ð3ð3ðbðbðbðððñ„Xððððñ„\ðððrr)Ú metaclasscó¤—| ¦«}| dd¦«| |¦«5}t|¦«t|¦«g}t jdt |¦«¦«t|¦«\}}}ddd¦«n #1swxYwY |dkr:|rt|¦«}n<|dkrd|vrt|¦«‚t|¦«‚tj |¦«}|r||d<n+#t$r} |||t| ¦«dœcYd} ~ Sd} ~ wwxYwd|vrd |dvr|dd d=|S) NÚ PYTHONPATHz debug via %rréÚfileÚerr)Úoutr•Ú returncodeÚ exceptionrYrN)ÚcopyÚpopÚensure_extractedr8rsrtr r rÚOSErrorÚ ExceptionÚjsonÚloadsÚrepr) Úenv_exer‰r'r(ÚcmdÚcoder–r•Úresultr˜s rrˆrˆ»s¯€Ø �(Š(‰*Œ*€C؇G‚GˆL˜$ÑÔÐà × "Ò " <Ñ 0Ô 0ð&°LÝ�7‰|Œ|�S Ñ.Ô.Ð/ˆÝŒ �n¥f¨S¡k¤kÑ2Ô2Ð2Ý  ™œ‰ˆˆc�3ð&ð&ð&ñ&ô&ð&ð&ð&ð&ð&ð&øøøð&ð&ð&ð&ð ZØ �1Š9ˆ9Øð %Ý% cÑ*Ô*��à˜1’9�9 ¨3  å! #™,œ,Ð&Ý ‘n”nÐ$å”Z ‘_”_ˆFØ ð ØˆF�5‰MøøÝ ðZðZðZØ 3°dÍÈiÉÌÐYÐYÐYÐYÐYÐYÐYÐYøøøøðZøøøà �€€˜6 V¨E¤]Ð2Ð2Ø �5ŒM˜&Ô ! !Ð $Ø €Ms2ÁAB  B$Â'B$Â,ADÄ D0ÄD+Ä%D0Ä+D0)#ržrsrMrYÚabcrrÚargparserÚastrÚ collectionsrÚpathlibrÚ#virtualenv.discovery.cached_py_infor Úvirtualenv.util.pathr Úvirtualenv.util.subprocessr Úvirtualenv.versionr r&rrNrbÚ__file__rfÚHEREr‹rrrˆÚ__all__rrrúr±s�ðØ € € € Ø€€€Ø € € € Ø € € € Ø'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ø&Ð&Ð&Ð&Ð&Ð&ØÐÐÐÐÐØ#Ð#Ð#Ð#Ð#Ð#ØÐÐÐÐÐà6Ð6Ð6Ð6Ð6Ð6Ø,Ð,Ð,Ð,Ð,Ð,Ø.Ð.Ð.Ð.Ð.Ð.Ø*Ð*Ð*Ð*Ð*Ð*àÐÐÐÐÐà €tˆBŒG�OŠO˜HÑ %Ô %Ñ&Ô&Ô-€Ø�jÑ € ðððððñôðð ]ð]ð]ð]ð]˜ð]ñ]ô]ð]ð@ððð<Øð €€€r