§ ]<ˆjê[ã ó—ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl m Z ddlmZddlmZddlmZmZmZddlmZddlmZmZddlmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*dd l+m,Z,dd l-m.Z.dd l/m0Z0dd l1m2Z2m3Z3dd l4m5Z5ddl6m7Z7ddl8m9Z9ddl:m;Z;gd¢Z<ej=e>¦«Z?e(d¦«Z@e&e'eAeAefZBe&eCeCeCfZDe&eEe&e$eEe$eEffZFeeeeAgefZGeeeeBgefZHdZIdeEfd„ZJde&eCdfde&eCeCeCffd„ZKdeEddfd„ZLdeEfd„ZMe9dd¬¦« dwd eEd!eNd"e$eGddfd#„¦«ZOd$eddfd%„ZPd$eddfd&„ZQeQd'œd(eded)e)eBeAfd"eGddf d*„ZRdeEdeEfd+„ZSdxd eEd-eEdeEfd.„ZTd/eEd0e!eEdeEfd1„ZUd/eEddfd2„ZVd/eEd0e!eEdeEfd3„ZWd/eEdeEfd4„ZXd/eEdeEfd5„ZYd6eEdeCfd7„ZZd8e[deEfd9„Z\d:e!e!ede&e#eEe#eCffd;„Z]deEdeNfd<„Z^eIfd=ed>eCde e_ddffd?„Z`dydeEdAeNdeEfdB„ZadeEde&eEeEffdC„ZbdDeEdEeEddfdF„ZcdeEdeNfdG„ZddHedIeddfdJ„ZeGdK„dLe¦«ZfdMedNede'efdO„ZgdPeEdQe$eCdeEfdR„ZhdzdTeEdUeEdeEfdV„ZidTeEde&e$eEe$eCffdW„ZjdTeEdeFfdX„ZkdTeEdeEfdY„ZldZeEd[eeEge&edffde&eEeFffd\„ZmdTeEdeFfd]„ZndTeEde&eEfd^„ZodZeEde&eEeEe&e$eEe$eEfffd_„ZpdZeEdeEfd`„ZqdZeEdeEfda„Zrdbe,deEfdc„Zse d@¬d¦«Gde„df¦«¦«ZtdgeEdetfdh„ZudZeEdetfdi„ZvdjeNddfdk„Zwd{dl„ZxdeNfdm„Zyd|deEdneCde&eeCffdo„Zzdpe!ede"e&eeffdq„Z{dree@geNfdpe!e@de&e!e@e!e@ffds„Z|Gdt„due.¦«Z}d{dv„Z~dS)}éN)Ú dataclass)Úpartial)ÚStringIO)Ú filterfalseÚteeÚ zip_longest)ÚPath)Ú FunctionTypeÚ TracebackType)ÚAnyÚBinaryIOÚCallableÚDictÚ GeneratorÚIterableÚIteratorÚListÚOptionalÚTextIOÚTupleÚTypeÚTypeVarÚUnionÚcast)Ú Requirement)ÚBuildBackendHookCaller)Ú __version__)Ú CommandErrorÚExternallyManagedEnvironment)Úget_major_minor_version)ÚWINDOWS)Úretry)Úrunning_under_virtualenv)ÚrmtreeÚ display_pathÚ backup_dirÚaskÚsplitextÚ format_sizeÚis_installable_dirÚnormalize_pathÚrenamesÚget_progÚ ensure_dirÚremove_auth_from_urlÚcheck_externally_managedÚ ConfiguredBuildBackendHookCallerÚTéÚreturncó—tj tj t¦«dd¦«}tj |¦«}dt ›d|›dt¦«›d�S)Nz..zpip z from z (python ú))ÚosÚpathÚjoinÚdirnameÚ__file__Úabspathrr )Ú pip_pkg_dirs új/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/pip/_internal/utils/misc.pyÚget_pip_versionr?Ksb€Ý”'—,’,�rœwŸš­xÑ8Ô8¸$ÀÑEÔE€KÝ”'—/’/ +Ñ.Ô.€Kà W•+Ð WÐ W [Ð WÐ WÕ;RÑ;TÔ;TÐ WÐ WÐ WÐWóÚpy_version_info.có´—t|¦«dkr|dt|¦«z dzz }nt|¦«dkr |dd…}td|¦«S)ax Convert a tuple of ints representing a Python version to one of length three. :param py_version_info: a tuple of ints representing a Python version, or None to specify no version. The tuple can have any length. :return: a tuple of length three if `py_version_info` is non-None. Otherwise, return `py_version_info` unchanged (i.e. None). é)rNÚ VersionInfo)Úlenr)rAs r>Únormalize_version_inforFRsf€õ ˆ?ÑÔ˜aÒÐØ˜A¥ OÑ 4Ô 4Ñ4¸Ñ<Ñ<ˆˆÝ ˆ_Ñ Ô  Ò !Ð !Ø)¨"¨1¨"Ô-ˆå � ˜Ñ /Ô /Ð/r@r8có— tj|¦«dS#t$r<}|jtjkr|jtjkr‚Yd}~dSYd}~dSd}~wwxYw)z os.path.makedirs without EEXIST.N)r7ÚmakedirsÚOSErrorÚerrnoÚEEXISTÚ ENOTEMPTY)r8Úes r>r.r.es‚€ðÝ Œ �DÑÔÐÐÐøÝ ðððà Œ7•e”lÒ "Ð " q¤wµ%´/Ò'AÐ'AØ ð #Ð "Ð "Ð "Ð "Ð "Ð'AÐ'AÐ'AÐ'AÐ'AÐ'Aøøøøðøøøs‚˜ A¢+AÁAcóÊ— tj tjd¦«}|dvrtj›d�S|S#t ttf$rYnwxYwdS)Nr)z __main__.pyz-cz -m pipÚpip) r7r8ÚbasenameÚsysÚargvÚ executableÚAttributeErrorÚ TypeErrorÚ IndexError)Úprogs r>r-r-osp€ð ÝŒw×Ò¥¤¨¤ Ñ,Ô,ˆØ Ð(Ð (Ð (Ý”nÐ-Ð-Ð-Ð -àˆKøÝ �I¥zÐ 2ð ð ð Ø ˆð øøøà ˆ5s‚AAÁAÁA ÁA rCgà?)Ústop_after_delayÚwaitFÚdirÚ ignore_errorsÚonexccóÒ—|rt}|€t}tt|¬¦«}tjdkrt j||¬¦«dSt j||¬¦«dS)N©r\)rCé )Úonerror)Ú_onerror_ignoreÚ_onerror_reraiserÚrmtree_errorhandlerrQÚ version_infoÚshutilr$)rZr[r\Úhandlers r>r$r$|sr€ðð ÝˆØ €}Ý ˆÝÕ0¸Ð>Ñ>Ô>€GÝ Ô˜7Ò"Ð"åŒ �c Ð)Ñ)Ô)Ð)Ð)Ð)åŒ �c 7Ð+Ñ+Ô+Ð+Ð+Ð+r@Ú_argscó—dS©N©©rgs r>raraŒs€Ø€Dr@có—‚rirjrks r>rbrb�s€Ø r@r^ÚfuncÚexc_infocón— tj|¦«j}n#t$rYdSwxYw|tjzsQ tj||tjz¦« ||¦«dS#t$rYnwxYw#t$rYnwxYwt |t¦«s|\}}}||||¦«dS)a1 `rmtree` error handler to 'force' a file remove (i.e. like `rm -f`). * If a file is readonly then it's write flag is set and operation is retried. * `onerror` is the original callback from `rmtree(... onerror=onerror)` that is chained at the end if the "rm -f" still fails. N)r7ÚstatÚst_moderIÚS_IWRITEÚchmodÚ isinstanceÚ BaseException)rmr8rnr\rqÚ_s r>rcrc”sü€ð Ý”'˜$‘-”-Ô'ˆˆøÝ ðððàˆˆðøøøð •T”]Ñ "ð ð Ý ŒH�T˜7¥T¤]Ñ2Ñ 3Ô 3Ð 3ð  Ø��T‘ ” � Ø�øÝð ð ð Ø�ð øøøøõð ð ð Ø ˆDð øøøõ �h¥ Ñ .Ô .ð"Ø!‰ˆˆ8�QØ €Eˆ$��hÑÔÐÐÐs/‚œ *©*½"A=Á A-Á- A:Á9A:Á= B  B cóD—tj tj |¦«¦«}| tj¦«tjjz¦«r+d|ttj¦«¦«d…z}|S)zTGives the display value for a given path, making it relative to cwd if possible.ú.N)r7r8Únormcaser<Ú startswithÚgetcwdÚseprE©r8s r>r%r%½sr€õ Œ7× Ò �BœGŸOšO¨DÑ1Ô1Ñ 2Ô 2€DØ ‡‚•r”y‘{”{¥R¤W¤[Ñ0Ñ1Ô1ð.Ø�T�#�bœi™kœkÑ*Ô*Ð,Ð,Ô-Ñ-ˆØ €Kr@ú.bakÚextcóÊ—d}|}tj ||z¦«r9|dz }|t|¦«z}tj ||z¦«°9||zS)z\Figure out the name of a directory to back up the given dir to (adding .bak, .bak2, etc)é)r7r8ÚexistsÚstr)rZrÚnÚ extensions r>r&r&Æsh€ð €AØ€IÝ Œ'�.Š.˜˜y™Ñ )Ô )ð!Ø ˆQ‰ˆØ�#˜a™&œ&‘Lˆ õ Œ'�.Š.˜˜y™Ñ )Ô )ð!ð �‰?Ðr@ÚmessageÚoptionscóœ—tj dd¦« ¦«D] }||vr|cSŒ t ||¦«S)NÚPIP_EXISTS_ACTIONÚ)r7ÚenvironÚgetÚsplitr')r†r‡Úactions r>Úask_path_existsr�ÑsW€Ý”*—.’.Ð!4°bÑ9Ô9×?Ò?ÑAÔAððˆØ �WРР؈MˆMˆMð å ˆw˜Ñ Ô Ð r@cóh—tj d¦«rtd|›�¦«‚dS)z&Raise an error if no input is allowed.Ú PIP_NO_INPUTz5No input was expected ($PIP_NO_INPUT set); question: N)r7r‹rŒÚ Exception©r†s r>Ú_check_no_inputr”Øs?€å „z‡~‚~�nÑ%Ô%ð ÝØ MÀGÐ MÐ Mñ ô ð ð ð r@có— t|¦«t|¦«}| ¦« ¦«}||vr7t d |d |¦«¦«¦«n|SŒ‚)z@Ask the message interactively, with the given possible responsesr�z>Your response ({!r}) was not one of the expected responses: {}z, )r”ÚinputÚstripÚlowerÚprintÚformatr9)r†r‡Úresponses r>r'r'às‰€ð Ý˜Ñ Ô Ð Ý˜‘>”>ˆØ—>’>Ñ#Ô#×)Ò)Ñ+Ô+ˆØ ˜7Ð "Ð "Ý ðß’V˜H d§i¢i°Ñ&8Ô&8Ñ9Ô9ñ ô ð ð ð ˆOð r@có>—t|¦«t|¦«S)zAsk for input interactively.)r”r–r“s r>Ú ask_inputr�ïs€å�GÑÔÐÝ �‰>Œ>Ðr@cóH—t|¦«tj|¦«S)z!Ask for a password interactively.)r”Úgetpassr“s r>Ú ask_passwordr õs €å�GÑÔÐÝ Œ?˜7Ñ #Ô #Ð#r@Úvalcóf—| ¦«}|dvrdS|dvrdStd|›�¦«‚)zôConvert a string representation of truth to true (1) or false (0). True values are 'y', 'yes', 't', 'true', 'on', and '1'; false values are 'n', 'no', 'f', 'false', 'off', and '0'. Raises ValueError if 'val' is anything else. )ÚyÚyesÚtÚtrueÚonÚ1r�)r„ÚnoÚfÚfalseÚoffÚ0rzinvalid truth value )r˜Ú ValueError)r¡s r>Ú strtoboolr¯ûsJ€ð �)Š)‰+Œ+€CØ Ð2Ð2Ð2؈qØ Ð5Ð 5Ð 5؈qåÐ7°Ð7Ð7Ñ8Ô8Ð8r@Úbytescóž—|dkr |dz dz d›d�S|dkrt|dz ¦«›d�S|dkr |dz d›d�St|¦«›d�S) Ni@Bg@�@ièz.1fz MBi'z kBz bytes)Úint)r°s r>r)r) s‚€Ø ˆ{ÒÐØ˜&‘. 4Ñ'Ð0Ð0Ð0Ð0Ð0Ø �Ò Ð Ý�e˜d‘lÑ#Ô#Ð(Ð(Ð(Ð(Ø �ŠˆØ˜&‘.Ð)Ð)Ð)Ð)Ð)å�e‘*”*Ð$Ð$Ð$Ð$r@Úrowscól‡—d„|D¦«}d„t|ddiŽD¦«Šˆfd„|D¦«}|‰fS)z¸Return a list of formatted rows and a list of column sizes. For example:: >>> tabulate([['foobar', 2000], [0xdeadbeef]]) (['foobar 2000', '3735928559'], [10, 4]) cóR—g|]$}ttt|¦«¦«‘Œ%Srj)ÚtupleÚmaprƒ)Ú.0Úrows r>ú ztabulate..s(€Ð 1Ð 1Ð 1 S�E•#•c˜3‘-”-Ñ Ô Ð 1Ð 1Ð 1r@cóR—g|]$}ttt|¦«¦«‘Œ%Srj)Úmaxr·rE)r¸Úcols r>rºztabulate..s(€Ð LÐ LÐ L C�S••S˜#‘”Ñ Ô Ð LÐ LÐ Lr@Ú fillvaluerŠc ó�•—g|]B}d ttj|‰¦«¦« ¦«‘ŒCS)ú )r9r·rƒÚljustÚrstrip)r¸r¹Úsizess €r>rºztabulate.. s?ø€Ð KÐ KÐ K¸sˆS�XŠX•c�#œ) S¨%Ñ0Ô0Ñ 1Ô 1× 8Ò 8Ñ :Ô :Ð KÐ KÐ Kr@)r)r³ÚtablerÃs @r>ÚtabulaterÅs[ø€ð 2Ð 1¨DÐ 1Ñ 1Ô 1€DØ LÐ L­;¸Ð+KÈÐ+KÐ+KÐ LÑ LÔ L€EØ KÐ KÐ KÐ KÀdÐ KÑ KÔ K€EØ �%ˆ<Ðr@cóD—tj |¦«sdStj tj |d¦«¦«rdStj tj |d¦«¦«rdSdS)atIs path is a directory containing pyproject.toml or setup.py? If pyproject.toml exists, this is a PEP 517 project. Otherwise we look for a legacy setuptools layout by identifying setup.py. We don't check for the setup.cfg because using it without setup.py is only available for PEP 517 projects, which are already covered by the pyproject.toml check. Fzpyproject.tomlTzsetup.py)r7r8ÚisdirÚisfiler9r}s r>r*r*$s{€õ Œ7�=Š=˜Ñ Ô ð؈uÝ „w‡~‚~•b”g—l’l 4Ð)9Ñ:Ô:Ñ;Ô;ð؈tÝ „w‡~‚~•b”g—l’l 4¨Ñ4Ô4Ñ5Ô5ð؈tØ ˆ5r@ÚfileÚsizec#óDK— | |¦«}|sdS|V—Œ)z7Yield pieces of data from a file-like object until EOF.TN)Úread)rÉrÊÚchunks r>Ú read_chunksrÎ5s5èè€ðØ— ’ ˜$‘”ˆØð Ø ˆE؈ ˆ ˆ ð r@TÚresolve_symlinkscó—tj |¦«}|r tj |¦«}ntj |¦«}tj |¦«S)zN Convert a path to its canonical, case-normalized, absolute version. )r7r8Ú expanduserÚrealpathr<ry)r8rÏs r>r+r+@sa€õ Œ7× Ò ˜dÑ #Ô #€DØð%ÝŒw×Ò Ñ%Ô%ˆˆåŒw�Š˜tÑ$Ô$ˆÝ Œ7× Ò ˜DÑ !Ô !Ð!r@có´—tj|¦«\}}| ¦« d¦«r|dd…|z}|dd…}||fS)z,Like os.path.splitext, but take off .tar tooz.taréüÿÿÿN)Ú posixpathr(r˜Úendswith)r8Úbasers r>r(r(Ms\€åÔ" 4Ñ(Ô(�I€Dˆ#Ø ‡z‚z�|„|×Ò˜VÑ$Ô$ðØ�2�3�3Œi˜#‰oˆØ�C�R�CŒyˆØ �ˆ9Ðr@ÚoldÚnewcó‚—tj |¦«\}}|r5|r3tj |¦«stj|¦«t j||¦«tj |¦«\}}|r*|r* tj|¦«dS#t$rYdSwxYwdSdS)z7Like os.renames(), but handles renaming across devices.N) r7r8r�r‚rHreÚmoveÚ removedirsrI)rØrÙÚheadÚtails r>r,r,VsØ€õ”—’˜sÑ#Ô#�J€Dˆ$Ø ð�ð�RœWŸ^š^¨DÑ1Ô1ðÝ Œ �DÑÔÐå „K��SÑÔÐå”—’˜sÑ#Ô#�J€Dˆ$Ø ð�ðð Ý ŒM˜$Ñ Ô Ð Ð Ð øÝð ð ð Ø ˆDˆDð øøøððððsÂB,Â, B:Â9B:cóz—t¦«sdS| ttj¦«¦«S)zü Return True if path is within sys.prefix, if we're running in a virtualenv. If we're not in a virtualenv, all paths are considered "local." Caution: this function assumes the head of path has been normalized with normalize_path. T)r#rzr+rQÚprefixr}s r>Úis_localrágs3€õ $Ñ %Ô %ð؈tØ �?Š?�>­#¬*Ñ5Ô5Ñ 6Ô 6Ð6r@ÚmsgÚargscó*—tj|g|¢RŽdSri)ÚloggerÚinfo)rârãs r>Ú write_outputrçus €Ý „K�Ð�dÐÐÐÐÐÐr@cóV—eZdZUeed<ededdfd„¦«Zedefd„¦«Z dS)Ú StreamWrapperÚ orig_streamr4có(—|¦«}||_|Sri)rê)ÚclsrêÚrets r>Ú from_streamzStreamWrapper.from_stream|s€àˆc‰eŒeˆØ%ˆŒØˆ r@có—|jjSri)rêÚencoding©Úselfs r>rðzStreamWrapper.encoding„s€àÔÔ(Ð(r@N) Ú__name__Ú __module__Ú __qualname__rÚ__annotations__Ú classmethodrîÚpropertyrƒrðrjr@r>réréysu€€€€€€ØÐÐÑàð fð°ðððñ„[ððð)˜#ð)ð)ð)ñ„Xð)ð)ð)r@réÚ sequentialÚnamedc óÔ—tt|tt|¦«¦«¦«fi|¤Ž}d„| ¦«D¦«}||d<t dd|¦«S)Ncó—i|]\}}||“Œ Srjrj)r¸ÚkeyÚvalues r>ú zenum..Œs€Ð:Ð:Ð:™j˜c 5ˆu�cÐ:Ð:Ð:r@Úreverse_mappingÚEnumrj)ÚdictÚzipÚrangerEÚitemsÚtype)rùrúÚenumsÚreverses r>Úenumr Šsg€Ý •�Z¥¥s¨:¡¤Ñ!7Ô!7Ñ8Ô8Ð BÐ B¸EÐ BÐ B€EØ:Ð:¨E¯KªK©M¬MÐ:Ñ:Ô:€GØ&€EÐ ÑÝ �˜˜EÑ "Ô "Ð"r@ÚhostÚportcó,—|€|Sd|vrd|›d�}|›d|›�S)z. Build a netloc from a host-port pair Nú:ú[ú]rj)r r s r>Ú build_netlocr‘s8€ð €|؈ Ø ˆd€{€{à�4ˆ{ˆ{ˆ{ˆØÐ Ð �TÐ Ð Ðr@ÚhttpsÚnetlocÚschemecó^—| d¦«dkrd|vr d|vrd|›d�}|›d|›�S)z) Build a full URL from a netloc. r éú@rrz://)Úcount)rrs r>Úbuild_url_from_netlocr�sP€ð‡|‚|�CÑÔ˜AÒР#¨VÐ"3Ð"3¸À6Ð8IÐ8Ià�V���ˆØÐ !Ð !˜Ð !Ð !Ð!r@cóz—t|¦«}tj |¦«}|j|jfS)z2 Return the host-port pair from a netloc. )rÚurllibÚparseÚurlparseÚhostnamer )rÚurlÚparseds r>Ú parse_netlocr §s5€õ  Ñ 'Ô '€CÝ Œ\× "Ò " 3Ñ 'Ô '€FØ Œ?˜FœKÐ 'Ð'r@có—d|vr|dfS| dd¦«\}}d}d|vr| dd¦«\}}n|d}}tj |¦«}|�tj |¦«}|||ffS)zp Parse out and remove the auth information from a netloc. Returns: (netloc, (username, password)). r©NNr�Nr )Úrsplitr�rrÚunquote)rÚauthÚpwÚusers r>Úsplit_auth_from_netlocr(°s£€ð  �&ÐÐØ�|Ð#Ð#ð —=’=  aÑ(Ô(�L€Dˆ&Ø€BØ ˆd€{€{ð—:’:˜c 1Ñ%Ô%‰ˆˆbˆbà˜ˆbˆå Œ<× Ò  Ñ %Ô %€DØ €~Ý Œ\× !Ò ! "Ñ %Ô %ˆà �D˜"�:Ð Ðr@có–—t|¦«\}\}}|€|S|€d}d}n!tj |¦«}d}|›|›d|›�S)zÞ Replace the sensitive data in a netloc with "****", if it exists. For example: - "user:pass@example.com" returns "user:****@example.com" - "accesstoken@example.com" returns "****@example.com" Nú****rŠz:****r)r(rrÚquote)rr'Úpasswords r>Ú redact_netlocr-Ísj€õ 6°fÑ=Ô=Ñ€FÑ ˆT�8Ø €|؈ ØÐ؈؈ˆåŒ|×!Ò! $Ñ'Ô'ˆØˆØÐ '�HÐ 'Ð '˜vÐ 'Ð 'Ð'r@rÚtransform_netloccó—tj |¦«}||j¦«}|j|d|j|j|jf}tj |¦«}|td|¦«fS)aRTransform and replace netloc in a url. transform_netloc is a function taking the netloc and returning a tuple. The first element of this tuple is the new netloc. The entire tuple is returned. Returns a tuple containing the transformed url as item 0 and the original tuple returned by transform_netloc as item 1. rÚ NetlocTuple) rrÚurlsplitrrr8ÚqueryÚfragmentÚ urlunsplitr)rr.ÚpurlÚ netloc_tupleÚ url_piecesÚsurls r>Ú_transform_urlr9ásq€õ Œ<× Ò  Ñ %Ô %€DØ#Ð# D¤KÑ0Ô0€Là”+˜|¨Aœ°´ ¸4¼:ÀtÄ}ÐU€JÝ Œ<× "Ò " :Ñ .Ô .€DØ •�m \Ñ2Ô2Ð 2Ð2r@có —t|¦«Sri)r(©rs r>Ú _get_netlocr<õs€Ý ! &Ñ )Ô )Ð)r@có"—t|¦«fSri)r-r;s r>Ú_redact_netlocr>ùs€Ý ˜&Ñ !Ô !Ð #Ð#r@cóB—t|t¦«\}\}}|||fS)z† Parse a url into separate netloc, auth, and url with no auth. Returns: (url_without_auth, netloc, (username, password)) ©r9r<)rÚurl_without_authrr%s r>Úsplit_auth_netloc_from_urlrBýs*€õ(6°c½;Ñ'GÔ'GÑ$Бn�v˜tØ ˜V TÐ )Ð)r@có8—t|t¦«dS)z7Return a copy of url with 'username:password@' removed.rr@©rs r>r/r/ s€õ ˜#�{Ñ +Ô +¨AÔ .Ð.r@có8—t|t¦«dS)z.Replace the password in a given url with ****.r)r9r>rDs r>Úredact_auth_from_urlrFs€å ˜#�~Ñ .Ô .¨qÔ 1Ð1r@Úreqcó¢—|jst|¦«St|¦« |jt|j¦«¦«S)z:Replace the password in a given requirement url with ****.)rrƒÚreplacerF)rGs r>Úredact_auth_from_requirementrJs@€à Œ7ðÝ�3‰xŒxˆÝ ˆs‰8Œ8× Ò ˜CœGÕ%9¸#¼'Ñ%BÔ%BÑ CÔ CÐCr@)ÚfrozencóL—eZdZUeed<eed<defd„Zdefd„Zdedefd„Z dS) Ú HiddenTextÚsecretÚredactedr4có(—dt|¦«›d�S)Nz )rƒrñs r>Ú__repr__zHiddenText.__repr__!s€Ø,�c $™iœiÐ,Ð,Ð,Ð,r@có—|jSri©rOrñs r>Ú__str__zHiddenText.__str__$s €ØŒ}Ðr@Úothercób—t|¦«t|¦«urdS|j|jkS)NF)rrN)ròrVs r>Ú__eq__zHiddenText.__eq__(s/€Ý �‰:Œ:�T %™[œ[Ð (Ð (Ø�5ðŒ{˜eœlÒ*Ð*r@N) rórôrõrƒrörRrUr ÚboolrXrjr@r>rMrMs€€€€€€€à €K€K�KØ€M€M�Mð-˜#ð-ð-ð-ð-ð˜ððððð+˜Cð+ Dð+ð+ð+ð+ð+ð+r@rMrþcó$—t|d¬¦«S)Nr*rT)rM)rþs r>Ú hide_valuer[1s€Ý �e fÐ -Ñ -Ô -Ð-r@cóB—t|¦«}t||¬¦«S)NrT)rFrM)rrOs r>Úhide_urlr]5s"€Ý# CÑ(Ô(€HÝ �c HÐ -Ñ -Ô -Ð-r@Ú modifying_pipcó¦—ddtjj›�dtjj›dtjj›�g}|o7to0t j tjd¦«|v}|rYtj ddgtjdd…z}td  d  |¦«¦«¦«‚dS) z�Protection of pip.exe from modification on Windows On Windows, any operation modifying pip should be run as: python -m pip ... rOrxrz-mr�Nz3To modify pip, please run the following command: {}rÀ) rQrdÚmajorÚminorr!r7r8rPrRrSrršr9)r^Ú pip_namesÚshould_show_use_python_msgÚ new_commands r>Ú(protect_pip_from_modification_on_windowsre:sÒ€ð Ø&�cÔÔ$Ð&Ð&Ø?�cÔÔ$Ð?Ð?¥sÔ'7Ô'=Ð?Ð?ð€Ið ÐP�'ÐP¥b¤g×&6Ò&6µs´xÀ´{Ñ&CÔ&CÀyÐ&Pðð"ð Ý”~ t¨UÐ3µc´h¸q¸r¸r´lÑBˆ ÝØ B× IÒ IØ—’˜Ñ%Ô%ñ ô ñ ô ð ð ð r@cóð—t¦«rdStj t jd¦«d¦«}tj |¦«sdStj|¦«‚)zëCheck whether the current environment is externally managed. If the ``EXTERNALLY-MANAGED`` config file is found, the current environment is considered externally managed, and an ExternallyManagedEnvironment is raised. NÚstdlibzEXTERNALLY-MANAGED) r#r7r8r9Ú sysconfigÚget_pathrÈrÚ from_config)Úmarkers r>r0r0Tsd€õ Ñ!Ô!ðØˆÝ ŒW�\Š\�)Ô,¨XÑ6Ô6Ð8LÑ MÔ M€FÝ Œ7�>Š>˜&Ñ !Ô !ðØˆÝ &Ô 2°6Ñ :Ô :Ð:r@cóZ—tjduotj ¦«S)zIs this console interactive?N)rQÚstdinÚisattyrjr@r>Úis_console_interactiverocs"€å Œ9˜DÐ Ð 7¥S¤Y×%5Ò%5Ñ%7Ô%7Ð7r@Ú blocksizecóü—tj¦«}d}t|d¦«5}t||¬¦«D])}|t |¦«z }| |¦«Œ* ddd¦«n #1swxYwY||fS)z5Return (hash, length) for path using hashlib.sha256()rÚrb)rÊN)ÚhashlibÚsha256ÚopenrÎrEÚupdate)r8rpÚhÚlengthrªÚblocks r>Ú hash_filerzhsÆ€õ ŒÑÔ€AØ €FÝ ˆd�DÑ Ô ð˜QÝ  ¨Ð3Ñ3Ô3ð ð ˆEØ •c˜%‘j”jÑ ˆFØ �HŠH�U‰OŒOˆOˆOð ðððñôððððððøøøððððð ˆfˆ9Ðs¦ (s0, s1), (s2, s3), (s4, s5), ... )Úiterr)r{s r>Úpairwiser~ts€õ�H‰~Œ~€HÝ �x Ñ *Ô *Ð*r@Úpredcóf—t|¦«\}}t||¦«t||¦«fS)z¡ Use a predicate to partition entries into false entries and true entries, like partition(is_odd, range(10)) --> 0 2 4 6 8 and 1 3 5 7 9 )rrÚfilter)rr{Út1Út2s r>Ú partitionr„s2€õ�‰]Œ]�F€BˆÝ �t˜RÑ Ô ¥&¨¨rÑ"2Ô"2Ð 2Ð2r@cóX‡—eZdZ ddedededeedeeddeef ˆfd „ Z dd ed eeee ee effd eed efˆfd„ Z dded eeee ee effd efˆfd„ Z dd ed eeee ee effd eed efˆfd„ Z dd eeee ee effd e efˆfd„ Z dd eeee ee effd e efˆfd„ Z dd eeee ee effd e efˆfd„ Z dd ed eeee ee effded efˆfd„ Z dd ed eeee ee effded efˆfd„ ZˆxZS)r1NÚ config_holderÚ source_dirÚ build_backendÚ backend_pathÚrunner).NÚpython_executablecó`•—t¦« |||||¦«||_dSri)ÚsuperÚ__init__r†)ròr†r‡rˆr‰rŠr‹Ú __class__s €r>rŽz)ConfiguredBuildBackendHookCaller.__init__�s=ø€õ ‰Œ×ÒØ ˜  |°VÐ=Nñ ô ð ð+ˆÔÐÐr@Úwheel_directoryÚconfig_settingsÚmetadata_directoryr4cód•—|jj}t¦« |||¬¦«S©N)r‘r’)r†r‘r�Ú build_wheel©ròr�r‘r’Úcsr�s €r>r•z,ConfiguredBuildBackendHookCaller.build_wheel›s9ø€ð Ô Ô /ˆÝ‰wŒw×"Ò"Ø ¨RÐDVð#ñ ô ð r@Úsdist_directorycób•—|jj}t¦« ||¬¦«S©N)r‘)r†r‘r�Ú build_sdist)ròr˜r‘r—r�s €r>r›z,ConfiguredBuildBackendHookCaller.build_sdist¦s-ø€ð Ô Ô /ˆÝ‰wŒw×"Ò" ?ÀBÐ"ÑGÔGÐGr@cód•—|jj}t¦« |||¬¦«Sr”)r†r‘r�Úbuild_editabler–s €r>r�z/ConfiguredBuildBackendHookCaller.build_editable®s9ø€ð Ô Ô /ˆÝ‰wŒw×%Ò%Ø ¨RÐDVð&ñ ô ð r@có`•—|jj}t¦« |¬¦«Srš)r†r‘r�Úget_requires_for_build_wheel©ròr‘r—r�s €r>rŸz=ConfiguredBuildBackendHookCaller.get_requires_for_build_wheel¹ó+ø€ðÔ Ô /ˆÝ‰wŒw×3Ò3ÀBÐ3ÑGÔGÐGr@có`•—|jj}t¦« |¬¦«Srš)r†r‘r�Úget_requires_for_build_sdistr s €r>r£z=ConfiguredBuildBackendHookCaller.get_requires_for_build_sdist¿r¡r@có`•—|jj}t¦« |¬¦«Srš)r†r‘r�Úget_requires_for_build_editabler s €r>r¥z@ConfiguredBuildBackendHookCaller.get_requires_for_build_editableÅs+ø€ðÔ Ô /ˆÝ‰wŒw×6Ò6ÀrÐ6ÑJÔJÐJr@TÚ_allow_fallbackcód•—|jj}t¦« |||¬¦«S©N)r’r‘r¦)r†r‘r�Ú prepare_metadata_for_build_wheel©ròr’r‘r¦r—r�s €r>r©zAConfiguredBuildBackendHookCaller.prepare_metadata_for_build_wheelËs:ø€ð Ô Ô /ˆÝ‰wŒw×7Ò7Ø1ØØ+ð8ñ ô ð r@cód•—|jj}t¦« |||¬¦«Sr¨)r†r‘r�Ú#prepare_metadata_for_build_editablerªs €r>r¬zDConfiguredBuildBackendHookCaller.prepare_metadata_for_build_editableØs:ø€ð Ô Ô /ˆÝ‰wŒw×:Ò:Ø1ØØ+ð;ñ ô ð r@)NNNr"ri)NT)rórôrõr rƒrrrŽrrrr•r›r�rŸr£r¥rYr©r¬Ú __classcell__)r�s@r>r1r1Œsòø€€€€€ð '+Ø04Ø+/ð +ð +àð +ðð +ðð +ð ˜s”mð +ð ˜ )Ô,Ô-ð +ð$ Cœ=ð +ð +ð +ð +ð +ð +ð"GKØ,0ð  ð  àð  ð" $ s¨E°#°t¸C´y°.Ô,AÐ'AÔ"BÔCð  ð% SœMð  ð ð  ð  ð  ð  ð  ð  ðGKðHðHàðHð" $ s¨E°#°t¸C´y°.Ô,AÐ'AÔ"BÔCðHð ð HðHðHðHðHðHðGKØ,0ð  ð  àð  ð" $ s¨E°#°t¸C´y°.Ô,AÐ'AÔ"BÔCð  ð% SœMð  ð ð  ð  ð  ð  ð  ð  ðMQðHðHØ'¨¨S°%¸¸TÀ#¼Y¸Ô2GÐ-GÔ(HÔIðHà ˆcŒðHðHðHðHðHðHðMQðHðHØ'¨¨S°%¸¸TÀ#¼Y¸Ô2GÐ-GÔ(HÔIðHà ˆcŒðHðHðHðHðHðHðMQðKðKØ'¨¨S°%¸¸TÀ#¼Y¸Ô2GÐ-GÔ(HÔIðKà ˆcŒðKðKðKðKðKðKðGKØ $ð  ð  àð  ð" $ s¨E°#°t¸C´y°.Ô,AÐ'AÔ"BÔCð  ðð  ð ð  ð  ð  ð  ð  ð  ð GKØ $ð  ð  àð  ð" $ s¨E°#°t¸C´y°.Ô,AÐ'AÔ"BÔCð  ðð  ð ð  ð  ð  ð  ð  ð  ð  ð  ð  ð  r@r1cóþ—t¦«rdSttd¦«sdStjdkstjdkrdStj¦«dkrdSt  d¦«dS)züOutput a warning for sudo users on Unix. In a virtual environment, sudo pip still writes to virtualenv. On Windows, users may run pip as Administrator without issues. This warning only applies to Unix root users outside of virtualenv. NÚgetuidÚwin32ÚcygwinraaRunning pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.)r#Úhasattrr7rQÚplatformr¯råÚwarningrjr@r>Úwarn_if_run_as_rootrµæs‰€õ Ñ!Ô!ðØˆÝ •2�xÑ Ô ð؈õ  „|�wÒÐ¥#¤,°(Ò":Ð":Øˆå „y�{„{�aÒÐØˆå ‡N‚Nð )ñôðððr@)FN)r~)T)r)r4N)r3)rJrŸrsÚloggingr7rÕrerprQrhÚ urllib.parserÚ dataclassesrÚ functoolsrÚiorÚ itertoolsrrrÚpathlibr Útypesr r Útypingr r rrrrrrrrrrrrrÚ"pip._vendor.packaging.requirementsrÚpip._vendor.pyproject_hooksrrOrÚpip._internal.exceptionsrrÚpip._internal.locationsr Úpip._internal.utils.compatr!Úpip._internal.utils.retryr"Úpip._internal.utils.virtualenvr#Ú__all__Ú getLoggerrórår2ruÚExcInfor²rDrƒr0ÚOnExcÚOnErrÚFILE_CHUNK_SIZEr?rFr.r-rYr$rarbrcr%r&r�r”r'r�r r¯Úfloatr)rÅr*r°rÎr+r(r,rárçrér rrr r(r-r9r<r>rBr/rFrJrMr[r]rer0rorzr~r„r1rµrjr@r>úrÍst ðØ € € € Ø€€€Ø€€€Ø€€€Ø € € € ØÐÐÐØ € € € Ø € € € Ø € € € ØÐÐÐØÐÐÐØ!Ð!Ð!Ð!Ð!Ð!ØÐÐÐÐÐØÐÐÐÐÐØ3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ØÐÐÐÐÐØ-Ð-Ð-Ð-Ð-Ð-Ð-Ð-ððððððððððððððððððððððððððððððððððð$;Ð:Ð:Ð:Ð:Ð:Ø>Ð>Ð>Ð>Ð>Ð>àÐÐÐÐÐØOÐOÐOÐOÐOÐOÐOÐOØ;Ð;Ð;Ð;Ð;Ð;Ø.Ð.Ð.Ð.Ð.Ð.Ø+Ð+Ð+Ð+Ð+Ð+ØCÐCÐCÐCÐCÐCð ð ð €ð" ˆÔ ˜8Ñ $Ô $€à €GˆC�L„L€Ø ��]Ô# ]°MÐAÔ B€Ø�C˜˜c�MÔ"€ Ø�C˜˜x¨œ}¨h°s¬mÐ;Ô<Ð<Ô=€ Ø�,  mÐ4°cÐ9Ô:€Ø�,  gÐ.°Ð3Ô4€à€ðX˜ðXðXðXðXð0¨E°#°s°(¬Oð0ÀÀcÈ3ÐPSÀmÔ@Tð0ð0ð0ð0ð&�Sð˜Tððððð �#ð ð ð ð ð€˜ Ð$Ñ$Ô$àDHð ,ð ,Ø ð ,Ø!ð ,Ø2:¸5´/ð ,à ð ,ð ,ð ,ñ%Ô$ð ,ð ˜Cð  Dð ð ð ð ð ˜Sð  Tð ð ð ð ð$ð & ð& ð& Ø ð& à ð& ð�G˜]Ð*Ô+ð& ð ð & ð  ð & ð& ð& ð& ðR�sð˜sðððððð�Cð˜cð¨sððððð!˜Sð!¨8°C¬=ð!¸Sð!ð!ð!ð!ð ˜Sð  Tð ð ð ð ð �ð ˜x¨œ}ð °ð ð ð ð ð�sð˜sððððð $˜#ð$ #ð$ð$ð$ð$ð 9�3ð 9˜3ð 9ð 9ð 9ð 9ð %�uð% ð%ð%ð%ð%ð �8˜H SœMÔ*ð ¨u°T¸#´YÀÀSÄ Ð5IÔ/Jð ð ð ð ð˜Sð Tððððð$!0ððØ ðØðàˆu�d˜DÐ Ô!ððððð "ð "˜ð "°ð "Àð "ð "ð "ð "ð�3ð˜5  c œ?ððððð�ð˜3ð 4ððððð" 7�3ð 7˜4ð 7ð 7ð 7ð 7ð�cð #ð¨$ððððð )ð )ð )ð )ð )�Hñ )ô )ð )ð"#�cð# Cð#¨D°¬Ið#ð#ð#ð#ð �sð  (¨3¤-ð °Cð ð ð ð ð"ð" #ð"¨sð"Àð"ð"ð"ð"ð(˜ð(  x°¤}°h¸s´mÐ'CÔ!Dð(ð(ð(ð(ð 3ð¨;ððððð:(˜#ð( #ð(ð(ð(ð(ð(3Ø ð3Ø (¨#¨°°c¸3°h´Ð)?Ô @ð3à ˆ3� Ð Ôð3ð3ð3ð3ð(*˜ð*  ð*ð*ð*ð*ð$˜3ð$ 5¨¤:ð$ð$ð$ð$ð *Ø ð *à ˆ3��U˜8 Cœ=¨(°3¬-Ð7Ô8Ð 8Ô9ð *ð *ð *ð *ð/˜cð/ cð/ð/ð/ð/ð2˜cð2 cð2ð2ð2ð2ð D kðD°cðDðDðDðDð €�$ÐÑÔð+ð+ð+ð+ð+ñ+ô+ñÔð+ð(.�cð.˜jð.ð.ð.ð.ð.�#ð.˜*ð.ð.ð.ð.ð  ¸Dð ÀTð ð ð ð ð4 ;ð ;ð ;ð ;ð8 ð8ð8ð8ð8ð ð �Cð  Cð °e¸CÀ¸H´oð ð ð ð ð+�x ”}ð+¨°%¸¸S¸´/Ô)Bð+ð+ð+ð+ð 3Ø �A�3˜�9Ô ð 3Ø)1°!¬ð 3à ˆ8�AŒ;˜ œ Ð #Ô$ð 3ð 3ð 3ð 3ðW ðW ðW ðW ðW Ð'=ñW ôW ðW ðtðððððr@