PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/opt/alt/python311/lib64/python3.11/venv/__pycache__/
Upload File :
Current File : //opt/alt/python311/lib64/python3.11/venv/__pycache__/__init__.cpython-311.opt-1.pyc
�

�f=b��2�dZddlZddlZddlZddlZddlZddlZddlZdZej	e
��ZGd�d��Z		d
d�Z
dd�Ze
d	krId
Z	e��dZn'#e$rZedezej���YdZ[ndZ[wwxYweje��dSdS)z�
Virtual environment (venv) package for Python. Based on PEP 405.

Copyright (C) 2011-2014 Vinay Sajip.
Licensed to the PSF under a contributor agreement.
�N)�pip�
setuptoolsc��eZdZdZ			dd�Zd�Zd�Zd�Zd�Zd	�Z	e
jd
krdd�Zndd�Zd
�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�
EnvBuildera�
    This class exists to allow virtual environment creation to be
    customized. The constructor parameters determine the builder's
    behaviour when called upon to create a virtual environment.

    By default, the builder makes the system (global) site-packages dir
    *un*available to the created environment.

    If invoked using the Python -m option, the default is to use copying
    on Windows platforms but symlinks elsewhere. If instantiated some
    other way, the default is to *not* use symlinks.

    :param system_site_packages: If True, the system (global) site-packages
                                 dir is available to created environments.
    :param clear: If True, delete the contents of the environment directory if
                  it already exists, before environment creation.
    :param symlinks: If True, attempt to symlink rather than copy files into
                     virtual environment.
    :param upgrade: If True, upgrade an existing virtual environment.
    :param with_pip: If True, ensure pip is installed in the virtual
                     environment
    :param prompt: Alternative terminal prefix for the environment.
    :param upgrade_deps: Update the base venv modules to the latest on PyPI
    FNc���||_||_||_||_||_||_|dkr0tj�t
j	����}||_
||_dS)N�.)�system_site_packages�clear�symlinks�upgrade�with_pip�orig_prompt�os�path�basename�getcwd�prompt�upgrade_deps)�selfr	r
rrr
rrs        �4/opt/alt/python311/lib64/python3.11/venv/__init__.py�__init__zEnvBuilder.__init__.si��%9��!���
� ��
���� ��
�!����S�=�=��W�%�%�b�i�k�k�2�2�F����(�����c���tj�|��}|�|��}|j}d|_|�|��|�|��|jr|�|��|j	s*|�
|��|�|��|rd|_|�|��|jr|�
|��dSdS)z�
        Create a virtual environment in a directory.

        :param env_dir: The target directory to create an environment in.

        FTN)rr�abspath�ensure_directoriesr	�create_configuration�setup_pythonr
�
_setup_pipr�
setup_scripts�
post_setupr�upgrade_dependencies)r�env_dir�context�true_system_site_packagess    r�createzEnvBuilder.create<s���'�/�/�'�*�*���)�)�'�2�2��%)�$=�!�$)��!��!�!�'�*�*�*����'�"�"�"��=�	%��O�O�G�$�$�$��|�	%����w�'�'�'��O�O�G�$�$�$�$�	/�)-�D�%��%�%�g�.�.�.���	/��%�%�g�.�.�.�.�.�	/�	/rc��tj|��D]�}tj�||��}tj�|��stj�|��rtj|���utj�|��rtj	|����dS�N)
r�listdirr�join�islink�isfile�remove�isdir�shutil�rmtree)rr�fns   r�clear_directoryzEnvBuilder.clear_directoryXs����*�T�"�"�	"�	"�B�����d�B�'�'�B��w�~�~�b�!�!�
"�R�W�^�^�B�%7�%7�
"��	�"�
�
�
�
�����r�"�"�
"��
�b�!�!�!��	"�	"rc�>�||||d�}tj|d|���S)N)�base�platbase�installed_base�installed_platbase�venv)�scheme�vars)�	sysconfig�get_path)rr"�namer9s    r�
_venv_pathzEnvBuilder._venv_path`s4����%�")�	
�
���!�$�v�D�A�A�A�Arc��d�}tjtj|��vr td|�dtj�d����tj�|��r|jr|�|��tj	��}||_
tj�|��d|_|j
�|j
n|j}d|z|_
||��tj}|std���tj�tj�|����\}}||_||_||_|�|d	��}|�|d
��}	|�|d��}
|	|_||	��||
��tjdkrttjd
krdtjdkrTtj�|d��}tj�|��stjd|��||_tj�||��|_tj�||��|_||��|j|_tjdkr�tj� |j��}tj�!|��tj�!|j��kr(tD�#d|j|��||_|S)z�
        Create the directories for the environment.

        Returns a context object which holds paths in the environment,
        for use by subsequent logic.
        c��tj�|��stj|��dStj�|��stj�|��rt
d|z���dS)NzUnable to create directory %r)rr�exists�makedirsr*r+�
ValueError)�ds r�create_if_neededz7EnvBuilder.ensure_directories.<locals>.create_if_neededqsw���7�>�>�!�$�$�
F���A�����������"�"�
F�b�g�n�n�Q�&7�&7�
F� �!@�1�!D�E�E�E�
F�
FrzRefusing to create a venv in z( because it contains the PATH separator r�Nz(%s) z�Unable to determine path to the running Python interpreter. Provide an explicit path or check that your PATH environment variable is correctly set.�scripts�include�purelibl�posix�darwin�lib64�lib�win32z�Actual environment location may have moved due to redirects, links or junctions.
  Requested location: "%s"
  Actual location:    "%s")$r�pathsep�fspathrBrr@r
r1�types�SimpleNamespacer"�split�env_namer�sys�_base_executabler�
executable�
python_dir�
python_exer=�inc_path�maxsizer<�platformr)�symlink�bin_path�relpath�bin_name�env_exe�env_exec_cmd�realpath�normcase�logger�warning)
rr"rDr#rrV�dirname�exename�binpath�incpath�libpath�	link_path�real_env_exes
             rrzEnvBuilder.ensure_directoriesis	��	F�	F�	F��:���7�+�+�+�+��M�W�M�M�?A�z�M�M�M�N�N�
N�
�7�>�>�'�"�"�	*�t�z�	*�� � ��)�)�)��'�)�)��!����7�=�=��1�1�!�4��� $�� 7����W�=M�� �6�)������!�!�!��)�
��	/��.�/�/�
/��7�=�=������)D�)D�E�E����'���$���$����/�/�'�9�5�5���/�/�'�9�5�5���/�/�'�9�5�5��"������!�!�!����!�!�!�
�[�5�
 �
 �r�w�'�'9�'9�
�\�X�
%�
%�����W�g�6�6�I��7�>�>�)�,�,�
-��
�5�)�,�,�,�"����7�?�?�7�G�<�<����'�,�,�w��8�8������!�!�!� '�����<�7�"�"��7�+�+�G�O�<�<�L��w����-�-���1A�1A�'�/�1R�1R�R�R���� <� '���	>�>�>�
(4��$��rc��tj�|jd��x|_}t|dd���5}|�d|jz��|jrd}nd}|�d|z��|�d	tj
d
d�z��|j�|�d|j�d
���|�dtj�tj
��z��g}tjdk}|r|jr|�d��|s|js|�d��|js|�d��|jr|�d��|jr|�d��|jr|�d��|jr|�d��|j�|�d|j�d���|�|j��d�|��}|�dtj
�d|�d
���d
d
d
��d
S#1swxYwYd
S)aA
        Create a configuration file indicating where the environment's Python
        was copied from, and whether the system site-packages should be made
        available in the environment.

        :param context: The information for the environment creation request
                        being processed.
        z
pyvenv.cfg�w�utf-8)�encodingz
home = %s
�true�falsez"include-system-site-packages = %s
zversion = %d.%d.%d
N�z	prompt = �
zexecutable = %s
�nt�
--symlinks�--copies�
--without-pip�--system-site-packages�--clear�	--upgrade�--upgrade-depsz
--prompt="�"� z
command = z	 -m venv )rrr)r"�cfg_path�open�writerWr	rT�version_inforrbrVr<r�appendr
r
rrr)rr#r�f�incl�argsrus       rrzEnvBuilder.create_configuration�s���#%�'�,�,�w���"M�"M�M���4�
�$��g�
.�
.�
.� 	D�!�
�G�G�M�G�$6�6�7�7�7��(�
������
�G�G�9�D�@�A�A�A�
�G�G�*�S�-=�b�q�b�-A�A�B�B�B��{�&����5�D�K�5�5�5�6�6�6�
�G�G�'�"�'�*:�*:�3�>�*J�*J�J�K�K�K��D���D��B��
*�d�m�
*����L�)�)�)��
(�d�m�
(����J�'�'�'��=�
-����O�,�,�,��(�
6����4�5�5�5��z�
'����I�&�&�&��|�
)����K�(�(�(�� �
.����,�-�-�-���+����<��)9�<�<�<�=�=�=��K�K���(�(�(��8�8�D�>�>�D�
�G�G�B���B�B�$�B�B�B�C�C�C�A 	D� 	D� 	D� 	D� 	D� 	D� 	D� 	D� 	D� 	D� 	D� 	D���� 	D� 	D� 	D� 	D� 	D� 	Ds�H$I0�0I4�7I4ruc�~�|j}|s�	tj�|��sJ|r3tjtj�|��|��ntj||��n.#t$r!t�d||��d}YnwxYw|rtj
||��dSdS)�Y
            Try symlinking a file, and if that fails, fall back to copying.
            �Unable to symlink %r to %rTN)rrrr*r\r�	Exceptionrdrer.�copyfile)r�src�dst�relative_symlinks_ok�
force_copys     r�symlink_or_copyzEnvBuilder.symlink_or_copy�s���"�]�*�J��

&�	&��7�>�>�#�.�.�1�/�1��J�r�w�'7�'7��'<�'<�c�B�B�B�B��J�s�C�0�0�0��� �&�&�&��N�N�#?��c�J�J�J�!%�J�J�J�&�����
*����S�)�)�)�)�)�
*�
*s�A)A6�6(B!� B!c���tj�|��otj�|��}|jr�|s�tj�|��sy	|r3tjtj�|��|��ntj||��dS#t$rt�
d||��YnwxYwtj�tj�|����\}}tj�tj�
t��dd||z��}tj��stj�|��sv|�d��rd|z}|dd�}|dkrd}n|d	krd
}tj�tj�
|��||z��}n|}tj�|��s|st�
d|��dSt'j||��dS)r�Nr�rFru�_d����python�venvlauncher�pythonw�
venvwlauncherzUnable to copy %r)rr�lexistsr@rr*r\rr�rdre�splitextr)rf�__file__r:�is_python_buildr+�endswithr.r�)rr�r�r��bad_srcr�ext�srcfns        rr�zEnvBuilder.symlink_or_copy�s-���g�o�o�c�*�*�F�2�7�>�>�#�3F�3F�/F�G��}�	
K�W�	
K�R�W�^�^�C�5H�5H�	
K�K�+�-��
�2�7�#3�#3�C�#8�#8�#�>�>�>�>��
�3��,�,�,��F�� �K�K�K��N�N�#?��c�J�J�J�J�J�K����
�G�,�,�R�W�-=�-=�c�-B�-B�C�C�M�H�c��G�L�L������!:�!:�!*�!%�!)�C��1�1�E��(�*�*�

�"�'�.�.��2G�2G�

��$�$�T�*�*�-���*�C�'����}�H��x�'�'�-�H�H���*�*�.�H��g�l�l�2�7�?�?�3�#7�#7��C��H�H������7�>�>�#�&�&�
��=��N�N�#6��<�<�<����O�C��%�%�%�%�%s�)A
B5�5&C�Cc� �|j}|j}|j}|j}tjdkr�||j|��tj�|��st	j	|d��dddtjd��fD]�}tj�||��}tj�
|��sG||j|d���tj�|��st	j	|d����dS|jr>d	�t	j|��D��}t!j��rd
�|D��}n=hd�}tj�|j��}|�|��|D]k}tj�||��}	tj�|	��r*||	tj�||�����lt!j��r�t	j|j��D]�\}
}}d|vr�tj�|
��}
tj�|jd
|
��}
tj�
|
��st	j|
��tj�|
d��}	tj�|
d��}t1j|	|��dS��dSdS)z�
        Set up a Python executable in the environment.

        :param context: The information for the environment creation request
                        being processed.
        rui�r��python3zpython3.rET)r�c��g|]H}tj�tj�|��d��dv�F|��IS)rE)�.exez.dll)rrrcr���.0r�s  r�
<listcomp>z+EnvBuilder.setup_python.<locals>.<listcomp>5sS�������G�$�$�R�W�%5�%5�a�%8�%8��%;�<�<�@P�P�P��P�P�Prc�v�g|]6}tj�|���d���4|��7S))r��	vcruntime)rrrc�
startswithr�s  rr�z+EnvBuilder.setup_python.<locals>.<listcomp>:sM�� � � ����(�(��+�+�6�6�7N�O�O� �� � � r>�
python.exe�pythonw.exe�python_d.exe�
pythonw_d.exezinit.tcl�LibN)r]r`r�rWrr<rVrr*�chmodrTr�r)r@rr(r:r�r�addr��walkr"rAr.r�)rr#rhr�copierrf�suffix�suffixes�base_exer��root�dirs�files�tcldirr�s               rrzEnvBuilder.setup_pythons����"������%���$��
�7�d�?�?��F�7�%�t�,�,�,��7�>�>�$�'�'�
&����u�%�%�%�#�Y�0P�3�;K�A�;N�0P�0P�Q�
.�
.���w�|�|�G�V�4�4���w�~�~�d�+�+�.��F�7�?�D�t�L�L�L�L��7�>�>�$�/�/�.����u�-�-�-��
.�
.��}�
'�
��!�z�'�2�2������,�.�.�� � �#+� � � �H��
Z�Y�Y���7�+�+�G�O�<�<�����X�&�&�&�"�
?�
?���g�l�l�7�F�3�3���7�?�?�3�'�'�?��F�3�����W�f� =� =�>�>�>���(�*�*�
�)+���1C�)D�)D�	�	�%�D�$��!�U�*�*�!#��!1�!1�$�!7�!7��!#����g�o�u�f�!M�!M��!�w�~�~�f�5�5�0��K��/�/�/� �g�l�l�4��<�<�� �g�l�l�6�:�>�>�����S�1�1�1����+�
�
�	�	rc��|jg|�}tj���x|d<}|j|d<|�dd��|�dd��|j|d<|j|d<t
j|fi|��dS)z8Executes the newly created Python using safe-ish options�env�VIRTUAL_ENV�
PYTHONHOMEN�
PYTHONPATH�cwdrV)rar�environ�copyr"�pop�
subprocess�check_output)rr#�py_args�kwargsr�r�s      r�_call_new_pythonzEnvBuilder._call_new_pythonUs����$�/�w�/�� �j�o�o�/�/�/��u�
��$�_��M������d�#�#�#�����d�#�#�#����u�
�&�3��|�����/�/��/�/�/�/�/rc�P�|�|ddddtj���dS)z1Installs or upgrades pip in a virtual environment�-m�	ensurepipr{z
--default-pip)�stderrN)r�r��STDOUT�rr#s  rrzEnvBuilder._setup_pipds>�����g�t�[�+�-�j�6G�	�	I�	I�	I�	I�	Irc���tj�tj�t����}tj�|d��}|�||��dS)a�
        Set up scripts into the created environment from a directory.

        This method installs the default scripts into the environment
        being created. You can prevent the default installation by overriding
        this method if you really need to, or if you need to specify
        a different location for the scripts to install. By default, the
        'scripts' directory in the venv package is used as the source of
        scripts to install.
        rFN)rrrrfr�r)�install_scripts)rr#rs   rrzEnvBuilder.setup_scriptsisV���w���r�w���x�8�8�9�9���w�|�|�D�)�,�,�����W�d�+�+�+�+�+rc��dS)a
        Hook for post-setup modification of the venv. Subclasses may install
        additional packages or scripts here, add activation shell scripts, etc.

        :param context: The information for the environment creation request
                        being processed.
        N�r�s  rr zEnvBuilder.post_setupxs	��	
�rc��|�d|j��}|�d|j��}|�d|j��}|�d|j��}|�d|j��}|S)ai
        Replace variable placeholders in script text with context-specific
        variables.

        Return the text passed in , but with variables replaced.

        :param text: The text in which to replace placeholder variables.
        :param context: The information for the environment creation request
                        being processed.
        �__VENV_DIR__�
__VENV_NAME__�__VENV_PROMPT__�__VENV_BIN_NAME__�__VENV_PYTHON__)�replacer"rSrr_r`)r�textr#s   r�replace_variableszEnvBuilder.replace_variables�sw���|�|�N�G�O�<�<���|�|�O�W�-=�>�>���|�|�-�w�~�>�>���|�|�/��1A�B�B���|�|�-�w��?�?���rc��|j}t|��}tj|��D�]\\}}}||kr3|dd�D]'}|dtjfvr|�|���(�@|D�]}	tjdkr+|	�d��r|	�d��r�>tj�	||	��}
||d��
tj��dd�}|s|}ntjj	|g|�R�}tj�|��stj
|��tj�	||	��}
t|
d��5}	|	���}ddd��n#1swxYwY|
�d��sw	|�d��}|�||��}|�d��}n5#t&$r(}d}t(�d	|
|��Yd}~nd}~wwxYw|�Rt|
d
��5}	|	�|��ddd��n#1swxYwYt/j|
|
������^dS)as
        Install scripts into the created environment from a directory.

        :param context: The information for the environment creation request
                        being processed.
        :param path:    Absolute pathname of a directory containing script.
                        Scripts in the 'common' subdirectory of this directory,
                        and those in the directory named for the platform
                        being run on, are installed in the created environment.
                        Placeholder variables are replaced with environment-
                        specific values.
        N�commonrur�)r�z.pdb��rbroz+unable to copy script %r, may be binary: %s�wb)r]�lenrr�r<r,r�r�rr)rR�sepr@rAr��read�decoder��encode�UnicodeErrorrdrer�r.�copymode)rr#rrh�plenr�r�r�rCr��srcfiler��dstdir�dstfile�data�es                rr�zEnvBuilder.install_scripts�s$���"���4�y�y��!#�����!	6�!	6��D�$���t�|�|��a�a�a��'�'�A���2�7� 3�3�3����A�������
6�
6���G�t�O�O����X�(>�(>�O��J�J�'7�8�8�$���'�,�,�t�Q�/�/���d�e�e��*�*�2�6�2�2�1�2�2�6���<�$�F�F��W�\�'�;�F�;�;�;�F��w�~�~�f�-�-�(��K��'�'�'��'�,�,�v�q�1�1���'�4�(�(�$�A��6�6�8�8�D�$�$�$�$�$�$�$�$�$�$�$����$�$�$�$��'�'�(8�9�9�H�H�#�{�{�7�3�3��#�5�5�d�G�D�D��#�{�{�7�3�3����'�H�H�H�#�����(;�<C�Q�H�H�H�H�H�H�H�H�����H�����#��g�t�,�,�&������
�
�
�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&��O�G�W�5�5�5��7
6�
!	6�!	6s=�9F�F�!F�;AG<�<
H.�H)�)H.�I%�%I)�,I)c��t�dt�d|j����|j|ddddgt�R�dS)Nz
Upgrading z
 packages in r�r�installr{)rd�debug�CORE_VENV_DEPSr]r�r�s  rr!zEnvBuilder.upgrade_dependencies�sh�����H��H�H�g�6F�H�H�	
�	
�	
�	���g�t�U�I�{�	/�-�	/�	/�	/�	/�	/�	/r)FFFFFNF)F)�__name__�
__module__�__qualname__�__doc__rr%r1r=rrrr<r�rr�rrr r�r�r!r�rrrrsK��������2:?�GK�#�)�)�)�)�/�/�/�8"�"�"�B�B�B�B�B�B�H*D�*D�*D�X
�w�$���	*�	*�	*�	*�	*�&)	&�)	&�)	&�)	&�V;�;�;�z
0�
0�
0�I�I�I�

,�
,�
,�
�
�
����$06�06�06�d/�/�/�/�/rrFc�Z�t||||||���}|�|��dS)z,Create a virtual environment in a directory.)r	r
rr
rrN)rr%)r"r	r
rr
rr�builders        rr%r%�sD���.B�$�x�(� &�\�C�C�C�G��N�N�7�����rc�L�d}tjdkrd}nttd��sd}|std���ddl}|�tdd�	��}|�d
ddd
���|�ddddd���tj	dkrd}nd}|�
��}|�d|ddd���|�d|ddd���|�ddddd���|�ddddd ���|�d!d"ddd#�$��|�d%d&�'��|�d(ddd)d*�d+�t�������|�|��}|jr|jrtd,���t#|j|j|j|j|j|j|j�-��}|jD]}|�|���dS).NT)rsrsF�base_prefixz.This script is only for use with Python >= 3.3rzFCreates virtual Python environments in one or more target directories.z|Once an environment has been created, you may wish to activate it, e.g. by sourcing an activate script in its bin directory.)�prog�description�epilogr��ENV_DIR�+z)A directory to create the environment in.)�metavar�nargs�helpry�
store_true�system_sitezDGive the virtual environment access to the system site-packages dir.)�default�action�destrrurvrz[Try to use symlinks rather than copies, when symlinks are not the default for the platform.rw�store_falsez\Try to use copies rather than symlinks, even when symlinks are the default for the platform.rzr
zcDelete the contents of the environment directory if it already exists, before environment creation.r{rzlUpgrade the environment directory to use this version of Python, assuming Python has been upgraded in-place.rxr
z]Skips installing or upgrading pip in the virtual environment (pip is bootstrapped by default))rrrrz--promptz;Provides an alternative prompt prefix for this environment.)rr|rz;Upgrade core dependencies: {} to the latest version in PyPIr~z1you cannot supply --upgrade and --clear together.)r	r
rrr
rr)rTr��hasattrrB�argparse�ArgumentParserr��add_argumentrr<�add_mutually_exclusive_group�formatr)r��
parse_argsrr
rrrr
rrr�r%)	r��
compatibler�parser�use_symlinks�group�optionsr�rCs	         r�mainr�s���J�
��&� � ��
�
�
�S�-�
(�
(���
��F��I�J�J�J������(�(�h�6D�1H�)�	I�	I��	���F�I�S�!L�	�	N�	N�	N����4�e�#/�m�"=�	�	>�	>�	>��7�d�?�?� �L�L��L��3�3�5�5��
���<��".�Z�!0�	�	1�	1�	1�
	���:�<�/?�"/�j�!0�	�	1�	1�	1�
	���I�u�\�!(�0G�	�	H�	H�	H�
	���K��|�!*�2M�	�	N�	N�	N�
	���O�*�$(��"/�	�	0�	0�	0�
	���J�"5�	�	6�	6�	6�	���,�e�L�!/�"3�39�6�!$���.�!9�!9�4;�4;�	�	<�	<�	<�
�#�#�D�)�)���?�	R�w�}�	R��P�Q�Q�Q��'�2E�#*�=�&-�&6�%,�_�&-�&6�$+�N�*1�*>�
@�@�@����	�	�A��N�N�1�����	�	r�__main__rEz	Error: %s)�file)FFFFNFr')r��loggingrr.r�rTr:rPr��	getLoggerr�rdrr%r�rcr�r��printr��exitr�rr�<module>rsb��������	�	�	�	�
�
�
�
�����
�
�
�
���������'��	��	�8�	$�	$��w/�w/�w/�w/�w/�w/�w/�w/�t
7<�EJ�����L�L�L�L�\�z���	
�B�0������
�����0�0�0�
��k�A�o�C�J�/�/�/�/�/�/�/�/�/�����0�����C�H�R�L�L�L�L�L��s�A�B�#A=�=B