....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 198.54.126.4  /  Your IP : 216.73.216.178
Web Server : Apache
System : Linux host55.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64
User : aeaw ( 7508)
PHP Version : 8.1.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python33/lib64/python3.3/lib2to3/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python33/lib64/python3.3/lib2to3/__pycache__/refactor.cpython-33.pyc
�
��f�mc@s�dZddlmZdZddlZddlZddlZddlZddlZddl	Z	ddl
mZddlm
Z
mZmZddlmZdd	lmZmZdd
lmZddlmZedd
�ZGdd�de�Zdd�Zdd�Zdd�Zdd�Z ej!ddfkrpddl"Z"e"j#Z$dd�Z%dd�Z&ne#Z$e Z%e Z&dd�Z'Gdd �d e�Z(Gd!d"�d"e)�Z*Gd#d$�d$e�Z+Gd%d&�d&e*�Z,dS('u�Refactoring framework.

Used as a main program, this can refactor any number of files and/or
recursively descend down directories.  Imported as a module, this
provides infrastructure to write your own refactoring tool.
i(uwith_statementu#Guido van Rossum <guido@python.org>N(uchaini(udriverutokenizeutoken(u	find_root(upytreeupygram(u	btm_utils(ubtm_matchercCs�t|ggdg�}tjj|j�}g}xnttj|��D]W}|jd�rI|jd�rI|r�|dd�}n|j	|dd��qIqIW|S(uEReturn a sorted list of all available fix names in the given package.u*ufix_u.pyiNii����(
u
__import__uosupathudirnameu__file__usortedulistdiru
startswithuendswithuappend(u	fixer_pkgu
remove_prefixupkgu	fixer_diru	fix_namesuname((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyuget_all_fix_names!suget_all_fix_namescBs|EeZdZdS(u
_EveryNodeN(u__name__u
__module__u__qualname__(u
__locals__((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu
_EveryNode.su
_EveryNodecCs�t|tjtjf�rC|jdkr3t�nt|jg�St|tj�rt|j	rkt
|j	�St�nt|tj�r�t�}x5|j	D]*}x!|D]}|jt
|��q�Wq�W|St
d|��dS(uf Accepts a pytree Pattern Node and returns a set
        of the pattern types which will match first. u$Oh no! I don't understand pattern %sN(u
isinstanceupytreeuNodePatternuLeafPatternutypeuNoneu
_EveryNodeusetuNegatedPatternucontentu_get_head_typesuWildcardPatternuupdateu	Exception(upaturupux((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu_get_head_types2s		
		
u_get_head_typescCstjt�}g}x�|D]�}|jr�yt|j�}Wntk
r_|j|�Yq�XxU|D]}||j|�qgWq|jdk	r�||jj|�q|j|�qWx:t	t
jjj
�t
jj�D]}||j|�q�Wt|�S(u^ Accepts a list of fixers and returns a dictionary
        of head node type --> fixer list.  N(ucollectionsudefaultdictulistupatternu_get_head_typesu
_EveryNodeuappendu_accept_typeuNoneuchainupygramupython_grammaru
symbol2numberuvaluesutokensuextendudict(u
fixer_listu
head_nodesueveryufixeruheadsu	node_type((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu_get_headnode_dictNs"
	

u_get_headnode_dictcs �fdd�t�d�D�S(uN
    Return the fully qualified names for fixers in the package pkg_name.
    csg|]}�d|�qS(u.((u.0ufix_name(upkg_name(u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu
<listcomp>ks	u+get_fixers_from_package.<locals>.<listcomp>F(uget_all_fix_namesuFalse(upkg_name((upkg_nameu5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyuget_fixers_from_packagegsuget_fixers_from_packagecCs|S(N((uobj((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu	_identitynsu	_identityicCs|jdd�S(Nu
u
(ureplace(uinput((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu_from_system_newlinesusu_from_system_newlinescCs*tjdkr"|jdtj�S|SdS(Nu
(uosulinesepureplace(uinput((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu_to_system_newlineswsu_to_system_newlinesc
s�d}tjtj|�j���fdd�}ttjtj	tj
f�}t�}ydx]|�\}}||kr�q`q`|tjkr�|r�Pnd	}q`|tjkr�|dkr�|�\}}|tjks�|dkr�Pn|�\}}|tjks|dkrPn|�\}}|tjkrV|dkrV|�\}}nxa|tjkr�|j|�|�\}}|tjks�|dkr�Pn|�\}}qYWq`Pq`Wntk
r�YnXt|�S(
Ncst��}|d|dfS(Nii(unext(utok(ugen(u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyuadvance�su(_detect_future_features.<locals>.advanceufromu
__future__uimportu(u,FT(uFalseutokenizeugenerate_tokensuiouStringIOureadlineu	frozensetutokenuNEWLINEuNLuCOMMENTusetuSTRINGuTrueuNAMEuOPuaddu
StopIteration(usourceuhave_docstringuadvanceuignoreufeaturesutpuvalue((ugenu5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu_detect_future_features�sD		

u_detect_future_featurescBs|EeZdZdZdS(u
FixerErroruA fixer could not be loaded.N(u__name__u
__module__u__qualname__u__doc__(u
__locals__((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu
FixerError�su
FixerErrorcBso|EeZdZid4d6d4d6ZdZdZd3d3dd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
d4d4dd�Zd4d4dd�Zdd�Zd4d4dd�Zdd�Zd4dd�Zdd�Zdd �Zd3d4d3d!d"�Zd3d#d$�Zd%Zd&Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3S(5uRefactoringTooluprint_functionuwrite_unchanged_filesuFixufix_cCs�||_|pg|_|jj�|_|dk	rI|jj|�n|jdretj|_	ntj
|_	|jjd�|_g|_
tjd�|_g|_d|_tj|j	dtjd|j�|_|j�\|_|_g|_tj�|_g|_g|_ x}t!|j|j�D]f}|j"rT|jj#|�q2||jkrv|jj$|�q2||jkr2|j j$|�q2q2Wt%|j�|_&t%|j �|_'dS(u�Initializer.

        Args:
            fixer_names: a list of fixers to import
            options: an dict with configuration.
            explicit: a list of fixers to run even if they are explicit.
        uprint_functionuwrite_unchanged_filesuRefactoringTooluconvertuloggerNF((ufixersuexplicitu_default_optionsucopyuoptionsuNoneuupdateupygramu!python_grammar_no_print_statementugrammarupython_grammarugetuwrite_unchanged_filesuerrorsuloggingu	getLoggeruloggeru	fixer_loguFalseuwroteudriveruDriverupytreeuconvertu
get_fixersu	pre_orderu
post_orderufilesubmu
BottomMatcheruBMu
bmi_pre_orderubmi_post_orderuchainu
BM_compatibleu	add_fixeruappendu_get_headnode_dictubmi_pre_order_headsubmi_post_order_heads(uselfufixer_namesuoptionsuexplicitufixer((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu__init__�s<	
								uRefactoringTool.__init__cCs�g}g}x�|jD]�}t|iidg�}|jdd�d}|j|j�rx|t|j�d�}n|jd�}|jdjdd�|D��}yt	||�}Wn(t
k
r�td	||f��YnX||j|j
�}	|	jr:|jdk	r:||jkr:|jd
|�qn|jd|�|	jdkri|j|	�q|	jd
kr�|j|	�qtd|	j��qWtjd�}
|jd|
�|jd|
�||fS(uInspects the options to load the requested patterns and handlers.

        Returns:
          (pre_order, post_order), where pre_order is the list of fixers that
          want a pre-order AST traversal, and post_order is the list that want
          post-order traversal.
        u*u.iNu_ucSsg|]}|j��qS((utitle(u.0up((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu
<listcomp>�s	u.RefactoringTool.get_fixers.<locals>.<listcomp>uCan't find %s.%suSkipping implicit fixer: %suAdding transformation: %supreupostuIllegal fixer order: %ru	run_orderukeyi����T(ufixersu
__import__ursplitu
startswithuFILE_PREFIXulenusplituCLASS_PREFIXujoinugetattruAttributeErroru
FixerErroruoptionsu	fixer_loguexplicituTrueulog_messageu	log_debuguorderuappenduoperatoru
attrgetterusort(uselfupre_order_fixersupost_order_fixersufix_mod_pathumodufix_nameupartsu
class_nameu	fix_classufixerukey_func((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu
get_fixers�s8#
uRefactoringTool.get_fixerscOs�dS(uCalled when an error occurs.N((uselfumsguargsukwds((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu	log_errorsuRefactoringTool.log_errorcGs'|r||}n|jj|�dS(uHook to log a message.N(uloggeruinfo(uselfumsguargs((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyulog_messages
uRefactoringTool.log_messagecGs'|r||}n|jj|�dS(N(uloggerudebug(uselfumsguargs((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu	log_debugs
uRefactoringTool.log_debugcCsdS(uTCalled with the old version, new version, and filename of a
        refactored file.N((uselfuold_textunew_textufilenameuequal((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyuprint_output!suRefactoringTool.print_outputcCsPxI|D]A}tjj|�r5|j|||�q|j|||�qWdS(u)Refactor a list of files and directories.N(uosupathuisdirurefactor_diru
refactor_file(uselfuitemsuwriteu
doctests_onlyudir_or_file((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyurefactor&s
uRefactoringTool.refactorc
Cs�tjd}x�tj|�D]�\}}}|jd|�|j�|j�xe|D]]}|jd�rWtjj|�d|krWtjj||�}	|j	|	||�qWqWWdd�|D�|dd�<qWdS(u�Descends down a directory and refactor every Python file found.

        Python files are assumed to have a .py extension.

        Files and subdirectories starting with '.' are skipped.
        upyuDescending into %su.icSs%g|]}|jd�s|�qS(u.(u
startswith(u.0udn((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu
<listcomp>As	u0RefactoringTool.refactor_dir.<locals>.<listcomp>N(
uosuextsepuwalku	log_debugusortu
startswithupathusplitextujoinu
refactor_file(
uselfudir_nameuwriteu
doctests_onlyupy_extudirpathudirnamesu	filenamesunameufullname((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyurefactor_dir/s



uRefactoringTool.refactor_dircCs�yt|d�}Wn<tk
rQ}z|jd||�dSWYdd}~XnXztj|j�d}Wd|j�Xt|dd|��}t	|j
��|fSWdQXdS(uG
        Do our best to decode a Python source file correctly.
        urbuCan't open %s: %sNiuruencoding(NN(uopenuIOErroru	log_erroruNoneutokenizeudetect_encodingureadlineucloseu_open_with_encodingu_from_system_newlinesuread(uselfufilenameufuerruencoding((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu_read_python_sourceCsu#RefactoringTool._read_python_sourcec	Cs|j|�\}}|dkr%dS|d7}|r�|jd|�|j||�}|jsl||kr�|j|||||�q|jd|�ni|j||�}|js�|r�|jr�|jt|�dd	�|d|d|�n|jd|�dS(
uRefactors a file.Nu
uRefactoring doctests in %suNo doctest changes in %siuwriteuencodinguNo changes in %si����(	u_read_python_sourceuNoneu	log_debugurefactor_docstringuwrite_unchanged_filesuprocessed_fileurefactor_stringuwas_changedustr(uselfufilenameuwriteu
doctests_onlyuinputuencodinguoutpututree((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu
refactor_fileSs
uRefactoringTool.refactor_filecCs�t|�}d|kr*tj|j_nzby|jj|�}WnEtk
r�}z%|jd||jj	|�dSWYdd}~XnXWd|j|j_X||_
|jd|�|j||�|S(uFRefactor a given input string.

        Args:
            data: a string holding the code to be refactored.
            name: a human-readable name for use in error/log messages.

        Returns:
            An AST corresponding to the refactored input stream; None if
            there were errors during the parse.
        uprint_functionuCan't parse %s: %s: %sNuRefactoring %s(
u_detect_future_featuresupygramu!python_grammar_no_print_statementudriverugrammaruparse_stringu	Exceptionu	log_erroru	__class__u__name__ufuture_featuresu	log_debugu
refactor_tree(uselfudataunameufeaturesutreeuerr((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyurefactor_stringjs		uRefactoringTool.refactor_stringcCs�tjj�}|ro|jd�|j|d�}|jsI||kr_|j|d|�q�|jd�nS|j|d�}|js�|r�|jr�|jt	|�d|�n
|jd�dS(NuRefactoring doctests in stdinu<stdin>uNo doctest changes in stdinuNo changes in stdin(
usysustdinureadu	log_debugurefactor_docstringuwrite_unchanged_filesuprocessed_fileurefactor_stringuwas_changedustr(uselfu
doctests_onlyuinputuoutpututree((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyurefactor_stdin�s
uRefactoringTool.refactor_stdinc
Cs�x-t|j|j�D]}|j||�qW|j|j|j��|j|j|j��|jj|j	��}x�t
|j��rdx�|jjD]�}||kr�||r�||j
dtjjdd�|jr�||j
dtjj�nx\t||�D]G}|||kr9||j|�nyt|�Wntk
r^wYnX|jr}||jkr}qn|j|�}|r|j||�}|dk	rV|j|�x9|j�D]+}|js�g|_n|jj|�q�W|jj|j	��}x?|D]4}	|	|kr7g||	<n||	j||	�qWqVqqWq�q�Wq}Wx-t|j|j�D]}|j||�q{W|j S(u�Refactors a parse tree (modifying the tree in place).

        For compatible patterns the bottom matcher module is
        used. Otherwise the tree is traversed node-to-node for
        matches.

        Args:
            tree: a pytree.Node instance representing the root of the tree
                  to be refactored.
            name: a human-readable name for this tree.

        Returns:
            True if the tree was modified, False otherwise.
        ukeyureverseTN(!uchainu	pre_orderu
post_orderu
start_treeutraverse_byubmi_pre_order_headsubmi_post_order_headsuBMurunuleavesuanyuvaluesufixersusortupytreeuBaseudepthuTrueukeep_line_orderu
get_linenoulisturemoveu	find_rootu
ValueErrorufixers_appliedumatchu	transformuNoneureplaceuappenduextendufinish_treeuwas_changed(
uselfutreeunameufixeru	match_setunodeuresultsunewunew_matchesufxr((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu
refactor_tree�sJ 	

	

.uRefactoringTool.refactor_treecCs�|s
dSxr|D]j}xa||jD]R}|j|�}|r%|j||�}|dk	rw|j|�|}qwq%q%WqWdS(uTraverse an AST, applying a set of fixers to each node.

        This is a helper method for refactor_tree().

        Args:
            fixers: a list of fixer instances.
            traversal: a generator that yields AST nodes.

        Returns:
            None
        N(utypeumatchu	transformuNoneureplace(uselfufixersu	traversalunodeufixeruresultsunew((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyutraverse_by�s

uRefactoringTool.traverse_bycCs�|jj|�|dkrB|j|�d}|dkrBdSn||k}|j||||�|r�|jd|�|js�dSn|r�|j||||�n|jd|�dS(uR
        Called when a file has been refactored and there may be changes.
        iNuNo changes to %suNot writing changes to %s(ufilesuappenduNoneu_read_python_sourceuprint_outputu	log_debuguwrite_unchanged_filesu
write_file(uselfunew_textufilenameuold_textuwriteuencodinguequal((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyuprocessed_file�s	uRefactoringTool.processed_filec%Cs�yt|dd|�}Wn?tjk
rZ}z|jd||�dSWYdd}~XnXzYy|jt|��Wn;tjk
r�}z|jd||�WYdd}~XnXWd|j�X|jd|�d|_	dS(u�Writes a string to a file.

        It first shows a unified diff between the old text and the new text, and
        then rewrites the file; the latter is only done if the write option is
        set.
        uwuencodinguCan't create %s: %sNuCan't write %s: %suWrote changes to %sT(
u_open_with_encodinguosuerroru	log_erroruwriteu_to_system_newlinesucloseu	log_debuguTrueuwrote(uselfunew_textufilenameuold_textuencodingufuerr((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu
write_files*uRefactoringTool.write_fileu>>> u... c
	Cs�g}d}d}d}d}x4|jdd�D] }|d7}|j�j|j�r�|dk	r�|j|j||||��n|}|g}|j|j�}	|d|	�}q1|dk	r
|j||j	�s�|||j	j
�dkr
|j|�q1|dk	r8|j|j||||��nd}d}|j|�q1W|dk	r�|j|j||||��ndj|�S(u�Refactors a docstring, looking for doctests.

        This returns a modified version of the input string.  It looks
        for doctests, which start with a ">>>" prompt, and may be
        continued with "..." prompts, as long as the "..." is indented
        the same as the ">>>".

        (Unfortunately we can't use the doctest module's parser,
        since, like most parsers, it is not geared towards preserving
        the original source.)
        iukeependsiNu
uT(
uNoneu
splitlinesuTrueulstripu
startswithuPS1uextendurefactor_doctestufinduPS2urstripuappendujoin(
uselfuinputufilenameuresultublockublock_linenouindentulinenoulineui((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyurefactor_docstring(s:
	u"RefactoringTool.refactor_docstringc
s�y�j||��}Wn�tk
r�}zj�jjtj�rpx*|D]}�jd|jd��qJWn�jd|||j	j
|�|SWYdd}~XnX�j||�r�t|�j
dd
�}|d|d�||dd�}	}|	dg|dkst|	��|djd�s@|dd7<n��j|jd�g}|r�|��fdd	�|D�7}q�n|S(
u�Refactors one doctest.

        A doctest is given as a block of lines, the first of which starts
        with ">>>" (possibly indented), while the remaining lines start
        with "..." (identically indented).

        u
Source: %su
u+Can't parse docstring in %s line %s: %s: %sNukeependsiics!g|]}��j|�qS((uPS2(u.0uline(uindentuself(u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu
<listcomp>ms	u4RefactoringTool.refactor_doctest.<locals>.<listcomp>Ti����i����(uparse_blocku	ExceptionuloggeruisEnabledForulogginguDEBUGu	log_debugurstripu	log_erroru	__class__u__name__u
refactor_treeustru
splitlinesuTrueuAssertionErroruendswithuPS1upop(
uselfublockulinenouindentufilenameutreeuerrulineunewuclipped((uindentuselfu5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyurefactor_doctestSs&
 	)#&u RefactoringTool.refactor_doctestcCs|jrd}nd}|js4|jd|�n1|jd|�x|jD]}|j|�qNW|jr�|jd�x!|jD]}|j|�q�Wn|jrt|j�dkr�|jd�n|jdt|j��x0|jD]"\}}}|j|||�q�WndS(	Nuwereu
need to beuNo files %s modified.uFiles that %s modified:u$Warnings/messages while refactoring:iuThere was 1 error:uThere were %d errors:(uwroteufilesulog_messageu	fixer_loguerrorsulen(uselfuwereufileumessageumsguargsukwds((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu	summarizeps$				
	uRefactoringTool.summarizecCs1|jj|j|||��}t�|_|S(u�Parses a block into a tree.

        This is necessary to get correct line number / offset information
        in the parser diagnostics and embedded into the parse tree.
        (udriveruparse_tokensu	wrap_toksu	frozensetufuture_features(uselfublockulinenouindentutree((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyuparse_block�s!uRefactoringTool.parse_blockccs�tj|j||�j�}xe|D]]\}}\}}\}	}
}||d7}|	|d7}	||||f|	|
f|fVq%WdS(u;Wraps a tokenize stream to systematically modify start/end.iN(utokenizeugenerate_tokensu	gen_linesu__next__(uselfublockulinenouindentutokensutypeuvalueuline0ucol0uline1ucol1u	line_text((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu	wrap_toks�s
(uRefactoringTool.wrap_toksccs�||j}||j}|}xo|D]g}|j|�rT|t|�d�Vn4||j�dkrrdVntd||f��|}q'WxdVq�dS(u�Generates lines as expected by tokenize from a list of lines.

        This strips the first len(indent + self.PS1) characters off each line.
        Nu
uline=%r, prefix=%ru(uPS1uPS2u
startswithulenurstripuAssertionError(uselfublockuindentuprefix1uprefix2uprefixuline((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu	gen_lines�s



uRefactoringTool.gen_linesNF( u__name__u
__module__u__qualname__uFalseu_default_optionsuCLASS_PREFIXuFILE_PREFIXuNoneu__init__u
get_fixersu	log_errorulog_messageu	log_debuguprint_outputurefactorurefactor_diru_read_python_sourceu
refactor_fileurefactor_stringurefactor_stdinu
refactor_treeutraverse_byuprocessed_fileu
write_fileuPS1uPS2urefactor_docstringurefactor_doctestu	summarizeuparse_blocku	wrap_toksu	gen_lines(u
__locals__((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyuRefactoringTool�s:

4(	O+
uRefactoringToolcBs|EeZdZdS(uMultiprocessingUnsupportedN(u__name__u
__module__u__qualname__(u
__locals__((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyuMultiprocessingUnsupported�suMultiprocessingUnsupportedcse|EeZdZ�fdd�Zd
d
d�fdd�Z�fdd�Z�fdd	�Z�S(uMultiprocessRefactoringToolcs/tt|�j||�d|_d|_dS(N(usuperuMultiprocessRefactoringToolu__init__uNoneuqueueuoutput_lock(uselfuargsukwargs(u	__class__(u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu__init__�s	u$MultiprocessRefactoringTool.__init__ics[|dkr(tt��j|||�Syddl�Wntk
rRt�YnX�jdk	rqtd��n�j	��_�j
��_��fdd�t|�D�}z;x|D]}|j
�q�Wtt��j|||�Wd�jj�x$t|�D]}�jjd�q	Wx'|D]}|j�r*|j�q*q*Wd�_XdS(Niiu already doing multiple processescs%g|]}�jd�j��qS(utarget(uProcessu_child(u.0ui(umultiprocessinguself(u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu
<listcomp>�s	u8MultiprocessRefactoringTool.refactor.<locals>.<listcomp>(usuperuMultiprocessRefactoringToolurefactorumultiprocessinguImportErroruMultiprocessingUnsupporteduqueueuNoneuRuntimeErroru
JoinableQueueuLockuoutput_lockurangeustartujoinuputuis_alive(uselfuitemsuwriteu
doctests_onlyu
num_processesu	processesupui(u	__class__(umultiprocessinguselfu5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyurefactor�s2




u$MultiprocessRefactoringTool.refactorc
so|jj�}xY|dk	rj|\}}ztt|�j||�Wd|jj�X|jj�}qWdS(N(uqueueugetuNoneusuperuMultiprocessRefactoringToolu
refactor_fileu	task_done(uselfutaskuargsukwargs(u	__class__(u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu_child�su"MultiprocessRefactoringTool._childcsE|jdk	r(|jj||f�ntt|�j||�SdS(N(uqueueuNoneuputusuperuMultiprocessRefactoringToolu
refactor_file(uselfuargsukwargs(u	__class__(u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu
refactor_file�su)MultiprocessRefactoringTool.refactor_fileF(u__name__u
__module__u__qualname__u__init__uFalseurefactoru_childu
refactor_file(u
__locals__((u	__class__u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyuMultiprocessRefactoringTool�s
uMultiprocessRefactoringTool(-u__doc__u
__future__uwith_statementu
__author__uosusysulogginguoperatorucollectionsuiou	itertoolsuchainupgen2udriverutokenizeutokenu
fixer_utilu	find_rootuupytreeupygramu	btm_utilsubuubtm_matcherubmuTrueuget_all_fix_namesu	Exceptionu
_EveryNodeu_get_head_typesu_get_headnode_dictuget_fixers_from_packageu	_identityuversion_infoucodecsuopenu_open_with_encodingu_from_system_newlinesu_to_system_newlinesu_detect_future_featuresu
FixerErroruobjectuRefactoringTooluMultiprocessingUnsupporteduMultiprocessRefactoringTool(((u5/opt/alt/python33/lib64/python3.3/lib2to3/refactor.pyu<module>	sF
	(��

Youez - 2016 - github.com/yon3zu
LinuXploit