ÿØÿà JFIF    ÿÛ „  ( %"1!%)+...383,7(-.+  -+++--++++---+-+-----+---------------+---+-++7-----ÿÀ  ß â" ÿÄ     ÿÄ H    !1AQaq"‘¡2B±ÁÑð#R“Ò Tbr‚²á3csƒ’ÂñDS¢³$CÿÄ   ÿÄ %  !1AQa"23‘ÿÚ   ? ôÿ ¨pŸªáÿ —åYõõ\?àÒü©ŠÄï¨pŸªáÿ —åYõõ\?àÓü©ŠÄá 0Ÿªáÿ Ÿå[úƒ ú®ði~TÁbqÐ8OÕpÿ ƒOò¤Oè`–RÂáœá™êi€ßÉ< FtŸI“öÌ8úDf´°å}“¾œ6  öFá°y¥jñÇh†ˆ¢ã/ÃÐ:ªcÈ "Y¡ðÑl>ÿ ”ÏËte:qž\oäŠe÷󲍷˜HT4&ÿ ÓÐü6ö®¿øþßèô Ÿ•7Ñi’•j|“ñì>b…þS?*Óôÿ ÓÐü*h¥£ír¶ü UãS炟[AÐaè[ûª•õ&õj?†Éö+EzP—WeÒírJFt ‘BŒ†Ï‡%#tE Øz ¥OÛ«!1›üä±Í™%ºÍãö]°î(–:@<‹ŒÊö×òÆt¦ãº+‡¦%ÌÁ²h´OƒJŒtMÜ>ÀÜÊw3Y´•牋4ǍýʏTì>œú=Íwhyë,¾Ôò×õ¿ßÊa»«þˆѪQ|%6ž™A õ%:øj<>É—ÿ Å_ˆCbõ¥š±ý¯Ýƒï…¶|RëócÍf溪“t.СøTÿ *Ä¿-{†çàczůŽ_–^XþŒ±miB[X±d 1,é”zEù»& î9gœf™9Ð'.;—™i}!ôšåîqêÛ٤ёý£½ÆA–àôe"A$˝Úsäÿ ÷Û #°xŸëí(l »ý3—¥5m! rt`†0~'j2(]S¦¦kv,ÚÇ l¦øJA£Šƒ J3E8ÙiŽ:cÉžúeZ°€¯\®kÖ(79«Ž:¯X”¾³Š&¡* ….‰Ž(ÜíŸ2¥ª‡×Hi²TF¤ò[¨íÈRëÉ䢍mgÑ.Ÿ<öäS0í„ǹÁU´f#Vß;Õ–…P@3ío<ä-±»Ž.L|kªÀê›fÂ6@»eu‚|ÓaÞÆŸ…¨ááå>åŠ?cKü6ùTÍÆ”†sĤÚ;H2RÚ†õ\Ö·Ÿn'¾ ñ#ºI¤Å´%çÁ­‚â7›‹qT3Iï¨ÖÚ5I7Ë!ÅOóŸ¶øÝñØôת¦$Tcö‘[«Ö³šÒ';Aþ ¸èíg A2Z"i¸vdÄ÷.iõ®§)¿]¤À†–‡É&ä{V¶iŽ”.Ó×Õÿ û?h¬Mt–íª[ÿ Ñÿ ÌV(í}=ibÔ¡›¥¢±b Lô¥‡piη_Z<‡z§èŒ)iÖwiÇ 2hÙ3·=’d÷8éŽ1¦¸c¤µ€7›7Ø ð\á)} ¹fËí›pAÃL%âc2 í§æQz¿;T8sæ°qø)QFMð‰XŒÂ±N¢aF¨…8¯!U  Z©RÊ ÖPVÄÀÍin™Ì-GˆªÅËŠ›•zË}º±ŽÍFò¹}Uw×#ä5B¤{î}Ð<ÙD é©¤&‡ïDbàÁôMÁ." ¤‡ú*õ'VŽ|¼´Úgllº¼klz[Æüï÷Aób‡Eÿ dÑ»Xx9ÃÜ£ÁT/`¼¸vI±Ýµ·Ë‚“G³þ*Ÿû´r|*}<¨îºœ @¦mÄ’M¹”.œ«Y–|6ÏU¤jç¥ÕÞqO ˜kDÆÁ¨5ÿ š;ÐЦ¦€GÙk \ –Þ=â¼=SͧµªS°ÚÍpÜãQűÀõ¬?ÃÁ1Ñ•õZà?hóœ€ L¦l{Y*K˜Ù›zc˜–ˆâ ø+¾ ­-Ök¥%ùEÜA'}ˆ><ÊIè“bpÍ/qÞâvoX€w,\úªò6Z[XdÒæ­@Ö—€$òJí#é>'°Ú ôª˜<)4ryÙ£|óAÅn5žêŸyÒäMÝ2{"}‰–¤l÷ûWX\l¾Á¸góÉOÔ /óñB¤f¸çñ[.P˜ZsÊË*ßT܈§QN¢’¡¨§V¼(Üù*eÕ“”5T¨‹Âê¥FŒã½Dü[8'Ò¥a…Ú¶k7a *•›¼'Ò·\8¨ª\@\õ¢¦íq+DÙrmÎ…_ªæ»ŠÓœ¡¯’Ré9MÅ×D™lælffc+ŒÑ,ý™ÿ ¯þǤ=Å’Á7µ÷ÚÛ/“Ü€ñýã¼àí¾ÕÑ+ƒ,uµMâÀÄbm:ÒÎPæ{˜Gz[ƒ¯«® KHà`ߨŠéí¯P8Aq.C‰ à€kòpj´kN¶qô€…Õ,ÜNŠª-­{Zö’æû44‰sŽè‰îVíRœÕm" 6?³D9¡ÇTíÅꋇ`4«¸ÝÁô ï’ýorqКÇZ«x4Žâéþuïf¹µö[P ,Q£éaX±`PÉÍZ ¸äYúg üAx ’6Lê‚xÝÓ*äQ  Ï’¨hÍ =²,6ï#rÃ<¯–£»ƒ‹,–ê•€ aÛsñ'%Æ"®ÛüìBᝠHÚ3ß°©$“XnœÖ’î2ËTeûìxîß ¦å¿çÉ ðK§þ{‘t‚Ϋ¬jéîZ[ ”š7L¥4VÚCE×]m¤Øy”ä4-dz£œ§¸x.*ãÊÊ b÷•h:©‡¦s`BTÁRû¾g⻩‹jø sF¢àJøFl‘È•Xᓁà~*j¯ +(ÚÕ6-£¯÷GŠØy‚<Ç’.F‹Hœw(+)ÜÜâÈzÄäT§FߘãÏ;DmVœ3Àu@mÚüXÝü•3B¨òÌÁÛ<·ÃÜ z,Ì@õÅ·d2]ü8s÷IôÞ¯^Ç9¢u„~ëAŸï4«M? K]­ÅàPl@s_ p:°¬ZR”´›JC[CS.h‹ƒïËœ«Æ]–÷ó‚wR×k7X‰k›‘´ù¦=¡«‰¨¨Â')—71ó’c‡Ðúµ `é.{§p¹ój\Ž{1h{o±Ý=áUÊïGÖŒõ–-BÄm+AZX¶¡ ïHðæ¥JmÙ;…䡟ˆ¦ ° äšiÉg«$üMk5¤L“’çÊvïâï ,=f“"íἊ5ô¬x6{ɏžID0e¸vçmi'︧ºð9$ò¹÷*£’9ÿ ²TÔ…×>JV¥}Œ}$p[bÔ®*[jzS*8 ”·T›Í–ñUîƒwo$áè=LT™ç—~ô·¤ÈÚ$榍q‰„+´kFm)ž‹©i–ËqÞŠ‰à¶ü( ‚•§ •°ò·‡#5ª•µÊ﯅¡X¨šÁ*F#TXJÊ ušJVÍ&=iÄs1‚3•'fý§5Ñ<=[íÞ­ PÚ;ѱÌ_~Ä££8rÞ ²w;’hDT°>ÈG¬8Á²ÚzŽ®ò®qZcqJêäÞ-ö[ܘbň±çb“ж31²n×iƒðÕ;1¶þÉ ªX‰,ßqÏ$>•î íZ¥Z 1{ç൵+ƒÕµ¥°T$§K]á»Ûï*·¤tMI’ÂZbŽÕiÒ˜}bÓ0£ª5›¨ [5Ž^ÝœWøÂÝh° ¢OWun£¤5 a2Z.G2³YL]jåtì”ä ÁÓ‘%"©<Ôúʰsº UZvä‡ÄiÆÒM .÷V·™ø#kèýiíÌ–ª)µT[)BˆõÑ xB¾B€ÖT¨.¥~ð@VĶr#¸ü*åZNDŽH;âi ],©£öØpù(šºãö¼T.uCê•4@ÿ GÕÛ)Cx›®0ø#:ÏðFÒbR\(€€Ä®fã4Þ‰Fä¯HXƒÅ,†öEÑÔÜ]Öv²?tLÃvBY£ú6Êu5ÅAQ³1‘’¬x–HŒÐ‡ ^ ¸KwJôÖŽ5×CÚ¨vÜ«/B0$×k°=ðbÇ(Ï)w±A†Á† 11Í=èQšµ626ŒÜ/`G«µ<}—-Ö7KEHÈÉðóȤmݱû±·ø«Snmá=“䫚mݱŸ¡¶~ó·“äUóJæúòB|E LêŽy´jDÔ$G¢þÐñ7óR8ýÒ…Ç› WVe#·Ÿ p·Fx~•ݤF÷0Èÿ K¯æS<6’¡WШ; ´ÿ ¥Êø\Òuî†åÝ–VNœkÒ7oòX¨Á­Ø÷FÎÑä±g÷ÿ M~Çî=p,X´ ÝÌÚÅ‹’ÃjÖ.ØöÏñ qïQ¤ÓZE†° =6·]܈ s¸>v•Ž^Ý\wq9r‰Î\¸¡kURÒ$­*‹Nq?Þª*!sŠÆ:TU_u±T+øX¡ ®¹¡,ÄâÃBTsÜ$Ø›4m椴zÜK]’’›Pƒ @€#â˜`é¹=I‡fiV•Ôî“nRm+µFPOhÍ0B£ €+¬5c v•:P'ÒyÎ ‰V~‚Ó†ÖuókDoh$å\*ö%Ю=£«…aȼ½÷Û.-½VŒŠ¼'lyî±1¬3ó#ÞE¿ÔS¤gV£m›=§\û"—WU¤ÚǼÿ ÂnÁGŒÃ ‚õN D³õNÚíŒÕ;HôyÄÈ©P¹Ä{:?R‘Ô¨âF÷ø£bÅó® JS|‚R÷ivýáâ€Æé¡è³´IئÑT!§˜•ت‚¬â@q€wnïCWÄ@JU€ê¯m6]Ï:£âx'+ÒðXvÓ¦Úm=–´7œ $ì“B£~p%ÕŸUþ« N@¼üï~w˜ñø5®—'Ôe»¤5ã//€ž~‰Tþ›Å7•#¤× Íö pÄ$ùeåì*«ÓŠEØWEÈsßg ¦ûvžSsLpºÊW–âµEWöˬH; ™!CYõZ ÃÄf æ#1W. \uWâ\,\Çf j’<qTbên›Î[vxx£ë 'ö¨1›˜ÀM¼Pÿ H)ƒêêŒA7s,|F“ 꺸k³9Ìö*ç®;Ö!Ö$Eiž•¹ÒÚ†ýóéÝû¾ÕS®ó$’NÝäŸz¤5r¦ãÄÃD÷Üø!°ø‡Ô&@m™Ì^Ãä­d q5Lnÿ N;.6½·N|#ä"1Nƒx“ã<3('&ñßt  ~ªu”1Tb㫨9ê–›–bìd$ߣ=#ÕãÒmU¯eí$EFù5ýYô櫨æì™Ç—±ssM]·á¿0ÕåJRÓªîiƒ+O58ÖñªŠÒx" \µâá¨i’¤i —Ö ” M+M¤ë9‚‰A¦°Qõ¾ßøK~¼Ã‘g…Ö´~÷Ï[3GUœÒ½#…kàÔ®Ò”‰³·dWV‰IP‰Ú8u¹”E ÖqLj¾êÕCBš{A^Âß;–¨`¯¬ìö ˼ ×tìø.tƐm*n¨y4o&Àx¥n¦×î‡aupáÛj8¿m›è¶ã!o½;ß0y^ý×^EÑ¿ÒjzŒ­)vÚÑnÄL …^ªô× ‡—‚3k Îý­hï]içå–îÏ*÷ñþ»Ô CÒjøjÍznˆ´ ¹#b'Fô‹ ‰v¥'’à'T´ƒHýÍ%M‰ ƒ&ÆÇŒï1 ‘ –Þ ‰i¬s žR-Ÿ kЬá¬7:þ 0ŒÅÒÕ/aÙ¬ÃÝ#Úøœ ©aiVc‰. ¹¦ãµ” ›Yg¦›ÆÎýº°f³7ƒhá·¸­}&D9¡ÂsÉÙÞèŠõØàC™¨ñbFC|´Ü(ŸƒÚÒ-%»'a Ì¿)ËÇn¿úÿ ÞŽX…4ÊÅH^ôΑí@ù¹Eh¶“L8Çjù ¼ÎåVªóR©Ï5uà V4lZß®=€xÖŸ–ÑÈ ÷”¨°¾__yM1tÉ?uÆþIkÄgæ@þ[¢†°XÃJ£j·:nkÅ¢u ‘}âGzö­/IµèЬ¼48q¦F°ŽR¼=ûì{´¯RýicS ÕÛ íNtÍÙï£,w4rêì®»~x(©Uñ§#Ñ&œÕ¤>ÎåÍÓ9’Ö{9eV­[Öjâ²ãu]˜å2›qÑšÕJç0€sÄ|Êëè0튔bÁ>“{×_F`Ø©ºê:µä,v¤ðfc1±"«ÔÍän1#=· Âøv~H½ÐßA¾¿Ü€Óš]Õ; I¾÷ç‚Qi†î¹9ywÔKG˜áñ zQY—§ÃÕZ07§X‚ Áh;ÁM)iÌCH-¯T‘ë|A0{Ò½LÚ–TâÖkÜ’dÀ“rmm»”جPF³ÖcbE§T€ÒxKºû’Ó®7±²(\4ŽÃ¸Uu@j™yĵ;³µ!Á¢b.W¤=mõ´êµK k ¸K^ÜÛ#p*Ü14qkZç5ïë †°5Ï%ÍÛ<Õ¤×Ô¥ê†C Õ´¼ú$ƒÖ“”]Ù¬qÞÚ[4©ý!ûÏ—Áb쳐XµA¬â~`›Çr¸8ìùÝ䫦<>ä÷«?xs´ÇÑ /á;¹øüÊÈÙà{"@Žïzâ¬[âß‚ U_<ÇŸ½4èN˜ú61®qŠu ¦þF£»äJ_ˆÙÎ~ ÞAã–݄ϗrŠD;xTž‘ô`É«…suãO`?³à™ô Lý#Íc5öoæØ‚y´´÷«ZR§<&JÇ+éâô´€i!Àˆ0æAoàðLèÖ-2ŸõW.’t^–(KÁmHµV@xÜÇy®Ñø­â^:Ú3w· 7½¹°ñ¸â¹®:',«Mœ—n­Á+Ãbš LÈ‘ÄnRÓÅœ%¦²‰¨ùQ:¤f‚ "PÕtô¸…cæl…&˜Ú˜Ôkv‹ž+vŠ,=¢v­6—Xy*¥t£«<™:“aîϲ=¦6rO]XI¿Œ÷¤zÚ­›¶ 6÷”w\d ü~v®ˆÌk«^m<ÿ ¢‰Õ\)ùºŽ;… lîÙÅEŠ®cѾ@vnMÏ,¼“ñ•ŽBxðÃzãÇç%3ˆ"}Ù•Åî> BÉú;Ò]V+P˜F_´ßé> Øše|ï‡ÄOmFæÇ ãqÞ$/xÐx­z`ï9"œÜij‚!7.\Td…9M‡•iŽ‹¾‘50ÞŽn¥ß4ÉôO ¹*í^QêËÜÇÌ8=ާs‰'ÂëÙ«á%Pú[O †ÅP¯Vsް.‰,kc¶ ¬A9n˜XÎ-ÞšN["¹QÕ‰ƒMýÁߺXJæÍaLj¾×Ãmã¾ãÚ uñÒþåQô¦¥ /ÄUx:‚ÍÜ’ Đ©ØÝ3V¨‰ÕnÐ6ó*óúK­«…c ¯U òhsý­jóÔj#,ímŒRµ«lbïUTŒÑ8†Ä0œÏr`ð¡¬É Ї ë"À² ™ 6¥ f¶ ¢ÚoܱԷ-<Àî)†a¶ž'Ú»¨TXqØæ¶÷YÄHy˜9ÈIW­YÀuMFë ºÏ’AqÌ4·/Ú †ô'i$øä­=Ä Ý|öK×40è|È6p‘0§)o¥ctî§H+CA-“ xØ|ÐXАç l8íºð3Ø:³¤¬KX¯UÿÙ  dc@s&dZdZddlZddlZddlZddlmZyddlZWnek rie ZnXddl m Z m Z m Z mZddlmZmZddlmZmZmZddlmZdd lmZd Zejd Zd fd YZdfdYZdZdS(s}distutils.dist Provides the Distribution class, which represents the module distribution being built/installed/distributed. s$Id$iN(tmessage_from_file(tDistutilsOptionErrortDistutilsArgErrortDistutilsModuleErrortDistutilsClassError(t FancyGetoptttranslate_longopt(t check_environt strtoboolt rfc822_escape(tlog(tDEBUGsutf-8s^[a-zA-Z]([a-zA-Z0-9_]*)$t DistributioncBseZdZd]d^d_d`dbgZdZdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwgZed<eZidd6Z dad=Z d>Z dadad?d@Z dAZ dadBZdCZdDZdEZdFZddgdGZdHZdIZdJZdKZdLZdMZddNZdadOZdPdQZejdRZdSZ dTZ!dUZ"dVZ#dWZ$dXZ%dYZ&dZZ'd[Z(d\Z)RS(xsThe core of the Distutils. Most of the work hiding behind 'setup' is really done within a Distribution instance, which farms the work out to the Distutils commands specified on the command line. Setup scripts will almost never instantiate Distribution directly, unless the 'setup()' function is totally inadequate to their needs. However, it is conceivable that a setup script might wish to subclass Distribution for some specialized purpose, and then pass the subclass to 'setup()' as the 'distclass' keyword argument. If so, it is necessary to respect the expectations that 'setup' has of Distribution. See the code for 'setup()', in core.py, for details. tverbosetvsrun verbosely (default)itquiettqs!run quietly (turns verbosity off)sdry-runtnsdon't actually do anythingthelpthsshow detailed help messages no-user-cfgs-ignore pydistutils.cfg in your home directorysCommon commands: (see '--help-commands' for more) setup.py build will build the package underneath 'build/' setup.py install will install the package s help-commandsslist all available commandstnamesprint package nametversiontVsprint package versiontfullnamesprint -tauthorsprint the author's names author-emails print the author's email addresst maintainersprint the maintainer's namesmaintainer-emails$print the maintainer's email addresstcontacts7print the maintainer's name if known, else the author'ss contact-emails@print the maintainer's email address if known, else the author'sturlsprint the URL for this packagetlicenses print the license of the packagetlicencesalias for --licenset descriptionsprint the package descriptionslong-descriptions"print the long package descriptiont platformssprint the list of platformst classifierssprint the list of classifierstkeywordssprint the list of keywordstprovidess+print the list of packages/modules providedtrequiress+print the list of packages/modules requiredt obsoletess0print the list of packages/modules made obsoletecCst|dS(Ni(R(tx((s$/usr/lib/python2.7/distutils/dist.pytwtcCsid|_d|_d|_x!|jD]}t||dq%Wt|_x:|jjD],}d|}t||t|j|qXWi|_ d|_ d|_ d|_ i|_g|_d|_i|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_i|_i|_|r|jd}|dk r|d=xY|j D]H\}}|j!|}x*|j D]\} } d| f|| Get a list of (command, description) tuples. The list is divided into "standard commands" (listed in distutils.command.__all__) and "extra commands" (mentioned in self.cmdclass, but not a standard command). The descriptions come from the command class attribute 'description'. iNis(no description available)( RR]RR3RiRIR~RRR( RXRtRRRRtrvRR((s$/usr/lib/python2.7/distutils/dist.pytget_command_lists(      cCs|j}t|ts|dkr-d}ng|jdD]}|dkr=|j^q=}d|kr|jddn||_n|S(s9Return a list of packages from which commands are loaded.R'Rsdistutils.commandiN(R5RRR4RlRtinsert(RXtpkgstpkg((s$/usr/lib/python2.7/distutils/dist.pytget_command_packagess   4  cCs|jj|}|r|Sx|jD]}d||f}|}yt|tj|}Wntk rvq)nXyt||}Wn'tk rt d|||fnX||j|<|SWt d|dS(soReturn the class that implements the Distutils command named by 'command'. First we check the 'cmdclass' dictionary; if the command is mentioned there, we fetch the class object from the dictionary and return it. Otherwise we load the command module ("distutils.command." + command) and fetch the command class from the module. The loaded class is also stored in 'cmdclass' to speed future calls to 'get_command_class()'. Raises DistutilsModuleError if the expected module could not be found, or if that module does not define the expected class. s%s.%ss3invalid command '%s' (no class '%s' in module '%s')sinvalid command '%s'N( R3RIRt __import__RNRzt ImportErrorR2RR(RXR]Rtpkgnamet module_namet klass_nametmodule((s$/usr/lib/python2.7/distutils/dist.pyRs(     cCs|jj|}| r|rtr9|jd|n|j|}||}|j|R(RX((s$/usr/lib/python2.7/distutils/dist.pythas_c_librariesscCs|jp|jS(N(RR(RX((s$/usr/lib/python2.7/distutils/dist.pyt has_modulesscCs|jot|jdkS(Ni(R?R(RX((s$/usr/lib/python2.7/distutils/dist.pyt has_headersscCs|jot|jdkS(Ni(RDR(RX((s$/usr/lib/python2.7/distutils/dist.pyt has_scriptsscCs|jot|jdkS(Ni(RER(RX((s$/usr/lib/python2.7/distutils/dist.pythas_data_filesscCs$|jo#|j o#|j S(N(RRR(RX((s$/usr/lib/python2.7/distutils/dist.pytis_pures  (R Rsrun verbosely (default)i(RRs!run quietly (turns verbosity off)(sdry-runRsdon't actually do anything(RRsshow detailed help messageN(s no-user-cfgNs-ignore pydistutils.cfg in your home directory(s help-commandsNslist all available commands(RNsprint package name(RRsprint package version(RNsprint -(RNsprint the author's name(s author-emailNs print the author's email address(RNsprint the maintainer's name(smaintainer-emailNs$print the maintainer's email address(RNs7print the maintainer's name if known, else the author's(s contact-emailNs@print the maintainer's email address if known, else the author's(RNsprint the URL for this package(RNs print the license of the package(RNsalias for --license(RNsprint the package description(slong-descriptionNs"print the long package description(RNsprint the list of platforms(R Nsprint the list of classifiers(R!Nsprint the list of keywords(R"Ns+print the list of packages/modules provided(R#Ns+print the list of packages/modules required(R$Ns0print the list of packages/modules made obsolete(*Rt __module__t__doc__R4RRRRR-RReRKRsRRRRRRWRRRRRRRRRRR tINFORkRRRRRRRRRR(((s$/usr/lib/python2.7/distutils/dist.pyR "s         0 . C ]  1 (  ! # '  + )        R/cBs+eZdZd3Zd4dZdZdZdZdZ dZ dZ dZ dZ dZdZd Zd!Zd"Zd#Zd$Zd%Zd&ZeZd'Zd(Zd)Zd*Zd+Zd,Zd-Zd.Zd/Z d0Z!d1Z"d2Z#RS(5s]Dummy class to hold the distribution meta-data: name, version, author, and so forth. RRRt author_emailRtmaintainer_emailRRRtlong_descriptionR!RRRt contact_emailR t download_urlR"R#R$cCs|dk r"|jt|nd|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_dS(N(R4t read_pkg_filetopenRRRR RR RRRR R!RR RR"R#R$(RXRx((s$/usr/lib/python2.7/distutils/dist.pyRes&                 cst|fd}fd}d}|d|_|d|_|d|_|d|_d|_|d|_d|_|d |_ |d |_ d kr|d |_ n d|_ |d |_ |d|_d kr|d j d|_n|d|_|d|_|dkru|d|_|d|_|d|_nd|_d|_d|_dS(s-Reads the metadata values from a file object.cs|}|dkrdS|S(NtUNKNOWN(R4(RR(Rb(s$/usr/lib/python2.7/distutils/dist.pyt _read_fields  cs&j|d}|gkr"dS|S(N(tget_allR4(Rtvalues(Rb(s$/usr/lib/python2.7/distutils/dist.pyt _read_list#s smetadata-versionRRtsummaryRs author-emails home-pageRs download-urlRR!Rtplatformt classifiers1.1R#R"R$N(RRRRRR4RR R RRRR RlR!RR R#R"R$(RXtfileRRtmetadata_version((Rbs$/usr/lib/python2.7/distutils/dist.pyRs:          cCsAttjj|dd}z|j|Wd|jXdS(s7Write the PKG-INFO file into the release tree. sPKG-INFOtwN(RRwRxR|twrite_pkg_filetclose(RXtbase_dirtpkg_info((s$/usr/lib/python2.7/distutils/dist.pytwrite_pkg_infoMscCsd}|js3|js3|js3|js3|jr<d}n|j|d||j|d|j|j|d|j|j|d|j|j|d|j |j|d|j |j|d |j |j|d |j |jr |j|d |jnt |j}|j|d |d j|j}|rv|j|d|n|j|d|j|j|d|j|j|d|j|j|d|j|j|d|jdS(s9Write the PKG-INFO format data to a file object. s1.0s1.1sMetadata-VersiontNametVersiontSummarys Home-pagetAuthors Author-emailtLicenses Download-URLt DescriptionRtKeywordstPlatformt ClassifiertRequirestProvidest ObsoletesN(R"R#R$R Rt _write_fieldtget_namet get_versiontget_descriptiontget_urlt get_contacttget_contact_emailt get_licenseR tget_long_descriptionR|t get_keywordst _write_listt get_platformstget_classifierst get_requirest get_providest get_obsoletes(RXRRt long_descR!((s$/usr/lib/python2.7/distutils/dist.pyRVs0  cCs$|jd||j|fdS(Ns%s: %s (RPt _encode_field(RXRRR((s$/usr/lib/python2.7/distutils/dist.pyR.xscCs(x!|D]}|j|||qWdS(N(R.(RXRRRR((s$/usr/lib/python2.7/distutils/dist.pyR8{s cCs6|dkrdSt|tr,|jtSt|S(N(R4RtunicodetencodetPKG_INFO_ENCODINGR(RXR((s$/usr/lib/python2.7/distutils/dist.pyR?s   cCs |jp dS(NR(R(RX((s$/usr/lib/python2.7/distutils/dist.pyR/scCs |jp dS(Ns0.0.0(R(RX((s$/usr/lib/python2.7/distutils/dist.pyR0scCsd|j|jfS(Ns%s-%s(R/R0(RX((s$/usr/lib/python2.7/distutils/dist.pyt get_fullnamescCs|j|jpdS(NR(R?R(RX((s$/usr/lib/python2.7/distutils/dist.pyt get_authorscCs |jp dS(NR(R (RX((s$/usr/lib/python2.7/distutils/dist.pytget_author_emailscCs|j|jpdS(NR(R?R(RX((s$/usr/lib/python2.7/distutils/dist.pytget_maintainerscCs |jp dS(NR(R (RX((s$/usr/lib/python2.7/distutils/dist.pytget_maintainer_emailscCs(|j|jp'|j|jp'dS(NR(R?RR(RX((s$/usr/lib/python2.7/distutils/dist.pyR3scCs|jp|jpdS(NR(R R (RX((s$/usr/lib/python2.7/distutils/dist.pyR4scCs |jp dS(NR(R(RX((s$/usr/lib/python2.7/distutils/dist.pyR2scCs |jp dS(NR(R(RX((s$/usr/lib/python2.7/distutils/dist.pyR5scCs|j|jpdS(NR(R?R(RX((s$/usr/lib/python2.7/distutils/dist.pyR1scCs|j|jpdS(NR(R?R (RX((s$/usr/lib/python2.7/distutils/dist.pyR6scCs |jp gS(N(R!(RX((s$/usr/lib/python2.7/distutils/dist.pyR7scCs|jpdgS(NR(R(RX((s$/usr/lib/python2.7/distutils/dist.pyR9scCs |jp gS(N(R (RX((s$/usr/lib/python2.7/distutils/dist.pyR:scCs |jp dS(NR(R(RX((s$/usr/lib/python2.7/distutils/dist.pytget_download_urlscCs |jp gS(N(R#(RX((s$/usr/lib/python2.7/distutils/dist.pyR;scCs:ddl}x|D]}|jj|qW||_dS(Ni(tdistutils.versionpredicatetversionpredicatetVersionPredicateR#(RXRRtR((s$/usr/lib/python2.7/distutils/dist.pyt set_requiress  cCs |jp gS(N(R"(RX((s$/usr/lib/python2.7/distutils/dist.pyR<scCsYg|D]}|j^q}x*|D]"}ddl}|jj|q&W||_dS(Ni(RRIRJtsplit_provisionR"(RXRRRt((s$/usr/lib/python2.7/distutils/dist.pyt set_providess   cCs |jp gS(N(R$(RX((s$/usr/lib/python2.7/distutils/dist.pyR=scCs:ddl}x|D]}|jj|qW||_dS(Ni(RIRJRKR$(RXRRtR((s$/usr/lib/python2.7/distutils/dist.pyt set_obsoletess  (RRRR RR RRRR R!RRRRRR RR"R#R$N($RRR R1R4ReRR!RR.R8R?R/R0RCRDRERFRGR3R4R2R5t get_licenceR1R6R7R9R:RHR;RLR<RNR=RO(((s$/usr/lib/python2.7/distutils/dist.pyR/sN  4 "                        cCs/g}x"|D]}|j|dd!q W|S(sConvert a 4-tuple 'help_options' list as found in various command classes to the 3-tuple form required by FancyGetopt. ii(R~(R)t new_optionst help_tuple((s$/usr/lib/python2.7/distutils/dist.pyRs ( R t __revision__RNRwtretemailRRLRR4tdistutils.errorsRRRRtdistutils.fancy_getoptRRtdistutils.utilRRR RtR tdistutils.debugR RBtcompileRR R/R(((s$/usr/lib/python2.7/distutils/dist.pyts($  "