PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/lib/python2.7/site-packages/pip/req
Viewing File: /usr/lib/python2.7/site-packages/pip/req/req_set.pyo
� ��abc@@sddlmZddlmZddlmZddlZddlZddlm Z ddlm Z ddl m Z ddl mZmZmZmZmZdd lmZmZmZmZmZmZmZmZmZmZdd lmZdd l m!Z!m"Z"m#Z#m$Z$dd l%m&Z&dd l'm(Z(ddl)m*Z*ddl+m,Z,ddl-m.Z.ej/e0�Z1de2fd��YZ3de2fd��YZ4d�Z5de4fd��YZ6de4fd��YZ7de4fd��YZ8de2fd��YZ9dS(i(tabsolute_import(t defaultdict(tchainN(t pkg_resources(trequests(t expanduser(t is_file_urlt is_dir_urlt is_vcs_urlt url_to_patht unpack_url( tInstallationErrortBestVersionAlreadyInstalledtDistributionNotFoundtPreviousBuildDirErrort HashErrort HashErrorst HashUnpinnedtDirectoryUrlHashUnsupportedtVcsHashUnsupportedtUnsupportedPythonVersion(tInstallRequirement(t display_pathtdist_in_usersitet ensure_dirtnormalize_path(t MissingHashes(t indent_log(tcheck_dist_requires_python(tvcs(tWheelt RequirementscB@sGeZd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cC@sg|_i|_dS(N(t_keyst_dict(tself((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt__init__!s cC@s|jS(N(R (R"((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pytkeys%scC@s!g|jD]}|j|^q S(N(R R!(R"tkey((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pytvalues(scC@s ||jkS(N(R (R"titem((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt __contains__+scC@s3||jkr"|jj|�n||j|<dS(N(R tappendR!(R"R%tvalue((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt __setitem__.scC@s |j|S(N(R!(R"R%((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt __getitem__3scC@sJg|j�D]&}dt|�t||�f^q }ddj|�S(Ns%s: %ssRequirements({%s})s, (R$treprtjoin(R"tkR&((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt__repr__6s9( t__name__t __module__R#R$R&R(R+R,R0(((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyRs      tDistAbstractioncB@s)eZdZd�Zd�Zd�ZRS(stAbstracts out the wheel vs non-wheel prepare_files logic. The requirements for anything installable are as follows: - we must be able to determine the requirement name (or we can't correctly handle the non-upgrade case). - we must be able to generate a list of run-time dependencies without installing any additional packages (or we would have to either burn time by doing temporary isolated installs or alternatively violate pips 'don't start installing unless all requirements are available' rule - neither of which are desirable). - for packages with setup requirements, we must also be able to determine their requirements without installing additional packages (for the same reason as run-time dependencies) - we must be able to create a Distribution object exposing the above metadata. cC@s ||_dS(N(treq_to_install(R"R4((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR#NscC@st|j��dS(s Return a setuptools Dist object.N(tNotImplementedErrortdist(R"tfinder((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR6QscC@st|j��dS(s3Ensure that we can get a Dist for this requirement.N(R5R6(R"((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt prep_for_distUs(R1R2t__doc__R#R6R8(((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR3;s  cC@s@|jrt|�S|jr2|jjr2t|�St|�SdS(s�Factory to make an abstract dist object. Preconditions: Either an editable req with a source_dir, or satisfied_by or a wheel link, or a non-editable req with a source_dir. :return: A concrete DistAbstraction. N(teditabletIsSDisttlinktis_wheeltIsWheel(R4((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pytmake_abstract_distZs    R>cB@seZd�Zd�ZRS(cC@sttj|jj��dS(Ni(tlistRtfind_distributionsR4t source_dir(R"R7((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR6ls cC@sdS(N((R"((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR8ps(R1R2R6R8(((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR>js R;cB@seZd�Zd�ZRS(cC@s;|jj�}|jd�r7|j|jd��n|S(Nsdependency_links.txt(R4tget_distt has_metadatatadd_dependency_linkstget_metadata_lines(R"R7R6((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR6ws cC@s|jj�|jj�dS(N(R4t run_egg_infotassert_source_matches_version(R"((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR8�s (R1R2R6R8(((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR;us t InstalledcB@seZd�Zd�ZRS(cC@s |jjS(N(R4t satisfied_by(R"R7((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR6�scC@sdS(N((R"((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR8�s(R1R2R6R8(((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyRI�s tRequirementSetcB@s�eZeeeeeeeeeeeeeeed�Zd�Zd�Zeed�Zd�Z e d��Z e d��Z d�Z ed�Zd �Zd �Zd �Zeed �Zd �Zd�Zfd�ZRS(cC@s| dkrtd��n||_||_||_||_||_||_| |_t �|_ i|_ g|_ | |_ ||_g|_g|_g|_||_| |_||_| |_| |_||_|r�t|�}n||_||_||_tt�|_dS(s3Create a RequirementSet. :param wheel_download_dir: Where still-packed .whl files should be written to. If None they are written to the download_dir parameter. Separate to download_dir to permit only keeping wheel archives for pip wheel. :param download_dir: Where still packed archives should be written to. If None they are not saved, and are deleted immediately after unpacking. :param wheel_cache: The pip wheel cache, for passing to InstallRequirement. s?RequirementSet() missing 1 required keyword argument: 'session'N(tNonet TypeErrort build_dirtsrc_dirt download_dirtupgradetupgrade_strategytignore_installedtforce_reinstallRt requirementstrequirement_aliasestunnamed_requirementstignore_dependenciestignore_requires_pythontsuccessfully_downloadedtsuccessfully_installedtreqs_to_cleanuptas_eggt use_user_sitet target_dirtsessiont pycompiletisolatedRtwheel_download_dirt _wheel_cachetrequire_hashesRR@t _dependencies(R"RNRORPRQRRRSR]R_RXRTR^R`RaRbRct wheel_cacheReRY((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR#�s<                          cC@sgg|jj�D]}|js|^q}|jdd��djg|D]}t|j�^qK�S(NR%cS@s |jj�S(N(tnametlower(treq((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt<lambda>�tt (RUR&t comes_fromtsortR.tstrRj(R"Rjtreqs((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt__str__�scC@s}g|jj�D] }|^q}|jdd��djg|D]}t|j�^qB�}d|jjt|�|fS(NR%cS@s |jj�S(N(RhRi(Rj((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyRk�Rls, s"<%s object; %d requirement(s): %s>( RUR&RoR.RpRjt __class__R1tlen(R"RjRqtreqs_str((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR0�s "+c C@s�|j}|j|�s5tjd|j|j�gS|jr�|jjr�t|jj�}|j �s�t d|j��q�n|j |_ |j |_ |j |_ |j|_|dk|_|s�|jj|�|gSy|j|�}Wntk r d}nX|dkrm|rm|j rm|j|jkrm|jj|jjk rmt d|||f��n|s�||j|<|j�|kr�||j|j�<n|g}n�g}|j rv|jrv|jr|jo�|jj|jjk r|jj|�t d|��nt|_tt t!|j�j"t!|j����|_tj#d||j�|g}n|}|r�|j|�}|j$|j|�n|SdS(s'Add install_req as a requirement to install. :param parent_req_name: The name of the requirement that needed this added. The name is used because when multiple unnamed requirements resolve to the same name, we could otherwise end up with dependency links that point outside the Requirements set. parent_req must already be added. Note that None implies that this is a user supplied requirement, vs an inferred one. :param extras_requested: an iterable of extras used to evaluate the environement markers. :return: Additional requirements to scan. That is either [] if the requirement is not applicable, or [install_req] if the requirement is applicable and has just been added. s6Ignoring %s: markers '%s' don't match your environments-%s is not a supported wheel on this platform.s5Double requirement given: %s (already in %s, name=%r)shCould not satisfy constraints for '%s': installation from path or url cannot be constrained to a versionsSetting %s extras to: %sN(%Rht match_markerstloggertwarningtmarkersR<R=Rtfilenamet supportedR R]R^R_RaRLt is_directRWR)tget_requirementtKeyErrort constrainttextrasRjt specifierRURiRVtpathR\tFalsettupletsortedtsettuniontdebugRf( R"t install_reqtparent_req_nametextras_requestedRhtwheelt existing_reqtresultt parent_req((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pytadd_requirement�sp                  cC@s[|j�}||jkr,|j|j sS||jkrW|j|j|j rWtStS(N(RiRURRVtTrueR�(R"t project_nameRh((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pythas_requirement3s cC@s&td�|jj�D��p%|jS(Ncs@s|]}|js|VqdS(N(R(t.0Rj((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pys <genexpr>>s(R@RUR&RW(R"((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pythas_requirements<scC@sa|jr]t|j�|_tjj|j�r4tStjd�tdt |j���nt S(Ns!Could not find download directorys0Could not find or access download directory '%s'( RPRtosR�texistsR�RwtcriticalR RR�(R"((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt is_downloadAs  cC@slxU||j�fD]A}||jkr3|j|S||jkr|j|j|SqWtd|��dS(NsNo project with the name %r(RiRURVR~(R"R�Rh((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR}Ns  cC@sGx@|jj�D]/}|jr%qn|jd|�|j�qWdS(Nt auto_confirm(RUR&Rt uninstalltcommit_uninstall(R"R�Rj((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR�Vs  c C@s|jrt|j�n|j|jj�}|jpKtd�|D��}|rl|jrltd��ng}t �}xot ||�D]^}y,|j |j ||d|d|j ��Wq�tk r�}||_|j|�q�Xq�W|r�|�ndS(sY Prepare process. Create temp directories, download and/or unpack files. cs@s|]}|jVqdS(N(thas_hash_options(R�Rj((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pys <genexpr>iss�--egg is not allowed with --require-hashes mode, since it delegates dependency resolution to setuptools and could thus result in installation of unhashed packages.ReRXN(RcRRWRUR&RetanyR]R RRtextendt _prepare_fileRXRRjR)(R"R7t root_reqsRetdiscovered_reqst hash_errorsRjtexc((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt prepare_files]s,      cC@s.|jo-|jdkp-|jdko-|jS(Nteagersonly-if-needed(RQRRR|(R"Rj((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt_is_upgrade_allowed�s cC@s�|j�|jr�|j|�}t}|r�|jp=|js�y|j||�Wq�tk rmt}q�t k r}q�Xn|s�|j o�t |j� s�|j|_ nd|_q�n|r�d}n|jdkr�d}nd}|SdSdS(sCheck if req_to_install should be skipped. This will check if the req is installed, and whether we should upgrade or reinstall it, taking into account all the relevant user options. After calling this req_to_install will only have satisfied_by set to None if the req_to_install is to be upgraded/reinstalled etc. Any other value will be a dist recording the current thing installed that satisfies the requirement. Note that for vcs urls and the like we can't assess skipping in this routine - we simply identify that we need to pull the thing down, then later on it is pulled down and introspected to assess upgrade/ reinstalls etc. :return: A text reason for why it was skipped, or None. salready up-to-datesonly-if-neededs%not upgraded as not directly requiredsalready satisfiedN(tcheck_if_existsRJR�R�RTR<tfind_requirementR R�R R^Rtconflicts_withRLRR(R"R4R7tupgrade_allowedtbest_installedt skip_reason((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt_check_skip_installed�s2        c @s��js�jrgSt�_�jr;tjd��n��jsY�j�|�}n�jrxtjd|��nV�j r��j j dkr�t �j j �}tjdt |��ntjd��t����jrZ|r�td���n�j�j��j�j �t��}|j��jrM�j�j�n�j�n��jr�|rytjd�nt��}n��j�j�tjjtjj�j d��r�t!d ��j f��n�j"|�j#��|��j }|rbt$|�rt%��n$t&|�r?t'|�r?t(��n�j) rb�j* rbt+��qbn�j,d | �} |r�| r�t-�} ny��j} t} �j j.r��j/r��j/} n�j j.r�| r�t} q�t0} nt1�j �j | | d �j2d | �WnEt3j4k rU} tj5d �| �td�| �j f��nXt��}|j��jr��j j t6j7kr��j�j�q�n�js��j�n�jr�j8s��jr�j9o�t:�j� s��j�_;nd�_qtjd��n|j=|�} yt>| �Wn@t?k rw}�j@rgtjA|jBd�qx�jC��nXg����fd�}�jD�jE�s��jF�d�n|s{�jGr�tjddj�jG��ntHtI�jG�tI| jG��}x!|D]}tjAd| |�qWtHtI| jG�tI�jG�@�}x*| jJ|�D]}||d|�q^Wn�jKjL���j r��j r��jMjL��nWdQX�S(sxPrepare a single requirements file. :return: A list of additional InstallRequirements to also install. s Obtaining %ssRequirement %s: %stfiles Processing %ss Collecting %ssoThe editable requirement %s cannot be installed when requiring hashes, because there is no single file to hash.s�Since it is already installed, we are trusting this package without checking its hash. To ensure a completely repeatable environment, install into an empty virtualenv.ssetup.pys�pip can't proceed with requirements '%s' due to a pre-existing build directory (%s). This is likely due to a previous installation that failed. pip is being responsible and not assuming it can delete this. Please delete it and try again.ttrust_internetR`thashess4Could not install requirement %s because of error %ssDCould not install requirement %s because of HTTP error %s for URL %ss<Requirement already satisfied (use --upgrade to upgrade): %sic@sMtt|��d�jd�j�}�j�j|�jd|��dS(NRbRgR�(RRpRbRdR�R�Rh(tsubreqR�tsub_install_req(t more_reqsR4R"(s3/usr/lib/python2.7/site-packages/pip/req/req_set.pytadd_req�s     s!Installing extra requirements: %rt,s"%s does not provide the extra '%s'R�N(NRtpreparedR�R:RwtinfoRSR�RJR<tschemeR turlRRR tensure_has_source_dirROtupdate_editableR�R?R8tarchiveRPR�R�RIRNR�R�R�R.RBRt populate_linkR�RRRRRt original_linkt is_pinnedRR�RR=RcR�R R`Rt HTTPErrorR�Rt all_schemesRQR^RR�RLR6RRRYRxtargstremove_temporary_sourceR�RhR�R�R�R�trequiresR\R)RZ(R"R7R4ReRXR�R�t abstract_distR<R�RPtautodelete_unpackedR�R6teR�tmissing_requestedtmissingtavailable_requestedR�((R�R4R"s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR��s                                                    cC@s?tjd�t��#x|jD]}|j�q!WWdQXdS(sClean up files, remove builds.sCleaning up...N(RwR�RR\R�(R"Rj((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt cleanup_files�s  c@sOg�t������fd��x!�jj�D]}�|�q7W�S(s�Create the installation order. The installation order is topological - requirements are installed before the requiring thing. We break cycles at an arbitrary point, and make no other guarantees. c@sf|js|�krdS|jr&dS�j|�x�j|D]}�|�qAW�j|�dS(N(RJRtaddRfR)(Rjtdep(tordert ordered_reqstscheduleR"(s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR��s  (R�RUR&(R"R�((R�R�R�R"s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt _to_install�s   c O@s!|j�}|rDtjddjg|D]}|j^q(��nt���x�|D]�}|jr�tjd|j�t��|jdt�WdQXny|j ||||�Wn*|jr�|j r�|j �n�n X|jr|j r|j �n|j �qUWWdQX||_dS(sl Install everything in this set (after having downloaded and unpacked the packages) s!Installing collected packages: %ss, sFound existing installation: %sR�N(R�RwR�R.RhRR�R�R�tinstalltinstall_succeededtrollback_uninstallR�R�R[(R"tinstall_optionstglobal_optionsR�tkwargst to_installRjt requirement((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyR��s: )            (R1R2R�RLR�R#RrR0R�R�tpropertyR�R�R}R�R�R�R�R�R�R�R�(((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyRK�s2    4   [    '  C �  (:t __future__Rt collectionsRt itertoolsRtloggingR�t pip._vendorRRt pip.compatRt pip.downloadRRRR R tpip.exceptionsR R R RRRRRRRtpip.req.req_installRt pip.utilsRRRRtpip.utils.hashesRtpip.utils.loggingRtpip.utils.packagingRtpip.vcsRt pip.wheelRt getLoggerR1RwtobjectRR3R?R>R;RIRK(((s3/usr/lib/python2.7/site-packages/pip/req/req_set.pyt<module>s0  (F"