GIF89a=( õ' 7IAXKgNgYvYx\%wh…hŽth%ˆs%—x¨}9®Œ©€&©‰%¶†(¹–.¹5·œD¹&Çš)ÇŸ5ǘ;Í£*È¡&Õ²)ׯ7×µ<Ñ»4ï°3ø‘HÖ§KͯT÷¨Yÿšqÿ»qÿÔFØ !ù ' !ÿ NETSCAPE2.0 , =( þÀ“pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§gª«ªE¯°¨¬ª±²Œ¹º¹E¾­”´ÂB¶¯ §Åȸ»ÑD¾¿Á•ÄÅ®° ÝH¾ÒLÀÆDÙ«D¶BÝïðÀ¾DÑÑÔTÌÍíH òGö¨A RÎڐ |¥ ٭&ºìE8œ¹kGÔAÞpx­a¶­ã R2XB®åE8I€Õ6Xî:vT)äžþÀq¦è³¥ì仕F~%xñ  4#ZÔ‰O|-4Bs‘X:= QÉ œš lºÒyXJŠGȦ|s hÏíK–3l7·B|¥$'7Jީܪ‰‡àá”Dæn=Pƒ ¤Òëí‰`䌨ljóá¯Éüv>á–Á¼5 ½.69ûϸd«­ºÀûnlv©‹ªîf{¬ÜãPbŸ  l5‘ޝpß ´ ˜3aÅùäI«O’ý·‘áÞ‡˜¾Æ‚ÙÏiÇÿ‹Àƒ #öó)pâš Þ½ ‘Ý{ó)vmÞü%D~ 6f s}ŃƒDØW Eþ`‡þ À…L8xá†ç˜{)x`X/> Ì}mø‚–RØ‘*|`D=‚Ø_ ^ð5 !_…'aä“OÚ—7âcð`D”Cx`ÝÂ¥ä‹éY¹—F¼¤¥Š?¡Õ™ n@`} lď’ÄÉ@4>ñd œ à‘vÒxNÃ×™@žd=ˆgsžG±æ ´²æud &p8Qñ)ˆ«lXD©øÜéAžHìySun jª×k*D¤LH] †¦§C™Jä–´Xb~ʪwStŽ6K,°£qÁœ:9ت:¨þªl¨@¡`‚ûÚ ».Û¬¯t‹ÆSÉ[:°=Š‹„‘Nåû”Ìî{¿ÂA ‡Rà›ÀÙ6úë°Ÿð0Ä_ ½;ÃϱîÉì^ÇÛÇ#Ëë¼ôº!±Ä˜íUîÅÇ;0L1óÁµö«p% AÀºU̬ݵ¼á%霼€‡¯Á~`ÏG¯»À× ­²± =4ªnpð3¾¤³¯­ü¾¦îuÙuµÙ®|%2ÊIÿür¦#0·ÔJ``8È@S@5ê¢ ö×Þ^`8EÜ]ý.뜃Âç 7 ú ȉÞj œ½Dç zý¸iþœÑÙûÄë!ˆÞÀl§Ïw‹*DçI€nEX¯¬¼ &A¬Go¼QföõFç°¯;é¦÷îŽêJ°îúôF5¡ÌQ|îúöXªæ»TÁÏyñêï]ê² o óÎC=öõ›ÒÓPB@ D×½œä(>èCÂxŽ`±«Ÿ–JЀ»Û á¤±p+eE0`ëŽ`A Ú/NE€Ø†À9‚@¤à H½7”à‡%B‰`Àl*ƒó‘–‡8 2ñ%¸ —€:Ù1Á‰E¸àux%nP1ð!‘ðC)¾P81lÑɸF#ˆ€{´âé°ÈB„0>±û °b¡Š´±O‚3È–Ù()yRpbµ¨E.Z‘D8ÊH@% òŒx+%Ù˜Æcü »¸˜fõ¬b·d`Fê™8èXH"ÉÈ-±|1Ô6iI, 2““¬$+](A*jÐ QTÂo‰.ÛU슬Œã„Ž`¯SN¡–¶Äåyše¯ª’­¬‚´b¦Éož œ)åyâ@Ì®3 ÎtT̉°&Ø+žLÀf"Ø-|žçÔ>‡Ðv¦Ðžì\‚ Q1)Ž@Žh#aP72”ˆ™¨$‚ !ù " , =( …7IAXG]KgNgYvYxR"k\%w]'}hŽth%ˆg+ˆs%—r.—m3šx3˜x¨}9®€&©€+¨‡7§‰%¶†(¹–.¹œD¹&ǘ;Í•&ײ)×»4ïÌ6ò§KÍ þ@‘pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g «¬ E ±± ¨­¶°ººE Á´”·®C¬²§Ç¶Œ»ÓDÃÕƷ¯Ê±H½ºM×ÁGÚ¬D¶BËÁ½î½DÓôTÏÛßîG»ôõC×CÌ l&âž:'òtU³6ɹ#·Ø)€'Ü.6±&ëÍÈ» K(8p0N?!æ2"ÛˆNIJX>R¼ÐO‚M '¡¨2¸*Ÿþ>#n↠å@‚<[:¡Iïf’ ¤TÚ˘CdbÜÙ“[«ŽEú5MBo¤×@€`@„€Êt W-3 ¶Ÿ¡BíêäjIÝ…Eò9[T…$íêﯧ„…•s»Óȳ¹€ÅÚdc®UUρ#±Ùïldj?´í¼²`\ŽÁðÞu|3'ÖŒ]ë6 ¶S#²‡˜FKLÈ *N E´‘áäŠ$˜›eÄYD„ºq«.è촁ƒs \-ÔjA 9²õ÷å- üúM[Âx(ís÷ì®x€|í¡Ù’p¦‚ ŽkÛTÇDpE@WÜ ²Ç]kŠ1¨ þ€·Yb ÓÁ‰l°*n0 ç™—žzBdОu¾7ĉBl€â‰-ºx~|UåU‰  h*Hœ|e"#"?vpÄiŠe6^ˆ„+qâŠm8 #VÇá ‘å–ÄV„œ|Аè•m"сœn|@›U¶ÆÎž—Špb¥G¨ED”€±Úê2FÌIç? >Éxå Œ± ¡¤„%‘žjŸ‘ꄯ<Ìaà9ijÐ2˜D¦È&›†Z`‚å]wþ¼Â:ç6àB¤7eFJ|õÒ§Õ,¨äàFÇ®cS·Ê¶+B°,‘Þ˜ºNûãØ>PADÌHD¹æž«ÄÀnÌ¥}­#Ë’ë QÀÉSÌÂÇ2ÌXÀ{æk²lQÁ2«ÊðÀ¯w|2Í h‹ÄÂG€,m¾¶ë3ÐÙ6-´ÅE¬L°ÆIij*K½ÀÇqï`DwVÍQXœÚÔpeœ±¬Ñ q˜§Tœ½µƒ°Œìu Â<¶aØ*At¯lmEØ ü ôÛN[P1ÔÛ¦­±$ÜÆ@`ùåDpy¶yXvCAyåB`ŽD¶ 0QwG#¯ æš[^Äþ $ÀÓÝǦ{„L™[±úKÄgÌ;ï£S~¹ìGX.ôgoT.»åˆ°ùŸûù¡?1zö¦Ÿž:ÅgÁ|ìL¹ „®£œŠ‚à0œ]PÁ^p F<"•ç?!,ñ‡N4—…PÄ Á„ö¨Û:Tè@hÀ‹%táÿ:ø-žI<`þ‹p I….)^ 40D#p@ƒj4–؀:²‰1Øâr˜¼F2oW¼#Z†;$Q q” ‘ ÂK¦ñNl#29 !’F@¥Bh·ᏀL!—XFóLH‘Kh¤.«hE&JòG¨¥<™WN!€ÑÙÚˆY„@†>Œž19J" 2,/ &.GXB%ÌRÈ9B6¹W]’î×ÔW¥’IÎ$ ñ‹ÓŒE8YÆ ¼³™ñA5“à®Q.aŸB€&Ø©³ JÁ—! ¦t)K%tœ-¦JF bòNMxLôþ)ÐR¸Ð™‘ èÝ6‘O!THÌ„HÛ ‰ !ù ) , =( …AXKgNgYvYxR"k\%wh…hŽh%ˆg+ˆs%—r.—x3˜x¨}9®€&©€+¨Œ,©‡7§‰%¶†(¹–.¹5·&Çš)ǘ;Í•&×£*Ȳ)ׯ7×»4ï°3øÌ6ò‘HÖ§KÍ»Hó¯T÷¨Yÿ»qÿÇhÿ þÀ”pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g ª« E$±²¨ª­ · °²½$E$ÂÕ««D· Í ¿¦Ç¶¸ÌŒ¾³CÃÅÆ E ééH½MÛÂGâªD­ çBêêϾD²ÒaÀà€Š1r­ðÓ¤ ÔožzU!L˜C'¾yW½UGtäÇïÙllê0×àÂuGþ)AÀs[þ·xì ÁxO%ƒûX2ó—  P£n›R/¡ÑšHše+êDm?# —‘Ç£6¡8íJ¡ŸâDiäªM¥Ö„ôj“¬¹£5oQ7°- <‡ *´lãÓŒ2r/a!l)dÈ A™ÈE¢ôÔ͆…ð ;Ö˜c ¡%ß‚’Ùˆâ¸b½—pe~C"BíëÚHïeF2§æŠ8qb t_`urŠeü wÅu3êæPv§h•"ß`íÍxçLĹÜÖ3á  ~Öº“®›¸ÏMDfJÙ °„ÛµáWõ%§œ‚à©–‚X ÓØ)@®Ñ›Eþ´wëuÅSxb8y\mÖzœ¥§ZbºE—ÂLªÌw!y(>¡™wú=Ç|ÅÝs¢d €CÁW)HÜcC$€L Ä7„r.á\{)@ð` @ äXÈ$PD” `šaG:§æˆOˆ72EÐamn]ù"ŒcÊxÑŒ° &dR8`g«iÙŸLR!¦P …d’ä¡“¦ðÎTƒ¦ià|À _ ¥ Qi#¦Šg›Æ ›noMµ ›V ã£)p ç£ÎW…š=Âeªk§†j„ ´®1ß²sÉxéW«jšl|0¯B0Û, \jÛ´›6±¬¶C ÛíWþï|ëÙ‹¸ñzĸV {ì;Ýñn¼òVˆm³I¼³.Ðã¤PN¥ ²µ¼„µCã+¹ÍByî£Ñ¾HŸ›ëê 7ìYÆFTk¨SaoaY$Dµœìï¿Ã29RÈkt Çïfñ ÇÒ:ÀÐSp¹3ÇI¨â¥DZÄ ü9Ïýögñ½­uÔ*3)O‘˜Ö[_hv ,àî×Et Ÿé¶BH€ Õ[ü±64M@ÔSÌM7dÐl5-ÄÙU܍´©zߌ3Ô€3ž„ „ ¶ÛPô½5×g› êÚ˜kN„Ý…0Îj4€Ìë°“#{þÕ3S2çKÜ'ợlø¼Ú2K{° {Û¶?žm𸧠ËI¼nEò='êüóºè^üæÃ_Û=°óž‚ì#Oý¿Í'¡½áo..ÏYìnüñCœO±Áa¿¢Kô½o,üÄËbö²çºíï{ËC Ú— "”Ï{ËK ÍÒw„õ±Oz dÕ¨à:$ ƒô—«v»] A#ð «€¿šéz)Rx׿ˆ¥‚d``èw-îyÏf×K!ð€þ­Ð|ìPľ„=Ì`ý(f” 'Pa ¥ÐBJa%Ðâf§„%Š¡}FàáÝ×6>ÉäŠG"éŽè=ø!oа^FP¼Ø©Q„ÀCÙÁ`(Ž\ÄÝ® ©Â$<n@dÄ E#ììUÒI! ‚#lù‹`k¦ÐÇ'Rró’ZýNBÈMF Í[¤+‹ðɈ-áwj¨¥þ8¾rá ,VÂh„"|½œ=×G_¦Ñ™EØ 0i*%̲˜Æda0mV‚k¾)›;„&6 p>ÓjK “¦Ç# âDÂ:ûc?:R Ó¬fÞéI-Ì“•Ã<ä=™Ï7˜3œ¨˜c2ŒW ,ˆ”8(T™P‰F¡Jhç"‚ ; 403WebShell
403Webshell
Server IP : 172.67.177.218  /  Your IP : 216.73.216.195
Web Server : LiteSpeed
System : Linux premium229.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User : akhalid ( 749)
PHP Version : 8.3.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/cloudlinux/venv/lib64/python3.11/site-packages/astroid/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/cloudlinux/venv/lib64/python3.11/site-packages/astroid/__pycache__/manager.cpython-311.pyc
�

�h(F��,�dZddlmZddlZddlZddlZddlZddlmZm	Z	m
Z
ddlmZm
Z
ddlmZmZddlmZddlmZdd	lmZdd
lmZmZddlmZmZddlmZmZdd
l m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)ddl*m+Z+ddl,m-Z-m.Z.dZ/dd�Z0Gd�d��Z1dS)z�astroid manager: avoid multiple astroid build of a same module when
possible by providing a class responsible to get astroid representation
from various source and using a cache of built modules)
�)�annotationsN)�Callable�Iterator�Sequence)�	find_spec�module_from_spec)�Any�ClassVar)�nodes)�
CACHE_MANAGER)�BRAIN_MODULES_DIRECTORY)�InferenceContext�_invalidate_cache)�AstroidBuildingError�AstroidImportError)�spec�util)	�NoSourceFile�_cache_normalize_path_�file_info_from_modpath�get_source_file�2is_module_name_part_of_extension_package_whitelist�is_python_source�is_stdlib_module�load_module_from_name�modpath_from_file)�TransformVisitor)�AstroidManagerBrain�InferenceResult)z.zipz.eggz.whlz.pyzz.pyzw�objr	�return�strc�D�	t|��S#t$rYdSwxYw)Nz???)�repr�	Exception)r s �`/builddir/build/BUILD/cloudlinux-venv-1.0.8/venv/lib/python3.11/site-packages/astroid/manager.py�	safe_reprr'+s5����C�y�y��������u�u����s��
�c��eZdZUdZdZiigdde��e��d�Zded<dZ	ded	<dGd�Z
edHd���Zej
dId���ZedHd���Zej
dId���Zed���Zed���ZedJd���ZdKd�Z			dLdMd#�Z	dNdOd&�ZdPd'�ZdQd*�ZdRd+�Z		dSdTd.�ZdUd0�ZdVd3�Z	dWdXd6�ZdWdYd:�Z	dWdZd@�Zd[dC�Zd\dD�ZdGdE�Z dGdF�Z!dS)]�AstroidManagerz_Responsible to build astroid from files or modules.

    Use the Borg (singleton) pattern.
    zastroid loaderF)�
astroid_cache�_mod_file_cache�_failed_import_hooks�always_load_extensions�optimize_ast�extension_package_whitelist�
_transformr�brain�dz
ClassVar[int]�max_inferable_valuesr!�Nonec���tjd|_tjd|_tjd|_tjd|_tjd|_dS)Nr*r+r,r/r0)r)r1r*r+r,r/r0��selfs r&�__init__zAstroidManager.__init__Ds\��+�1�/�B���-�3�4E�F���$2�$8�9O�$P��!�+9�+?�)�,
��(�)�.�|�<������boolc�&�tjdS�Nr-�r)r1r6s r&r-z%AstroidManager.always_load_extensionsNs���#�$<�=�=r9�valuec�$�|tjd<dSr<r=�r7r>s  r&r-z%AstroidManager.always_load_extensionsRs��9>���5�6�6�6r9c�&�tjdS�Nr.r=r6s r&r.zAstroidManager.optimize_astVs���#�N�3�3r9c�$�|tjd<dSrBr=r@s  r&r.zAstroidManager.optimize_astZs��/4���^�,�,�,r9c��|jjS�N)r0�register_transformr6s r&rFz!AstroidManager.register_transform^s����1�1r9c��|jjSrE)r0�unregister_transformr6s r&rHz#AstroidManager.unregister_transformcs
����3�3r9�nodes.Modulec��|jdS)N�builtins)r*r6s r&�builtins_modulezAstroidManager.builtins_modulegs���!�*�-�-r9�node�nodes.NodeNGrc�6�|j�|��S)z8Visit the transforms and apply them to the given *node*.)r0�visit)r7rMs  r&�visit_transformszAstroidManager.visit_transformsks����$�$�T�*�*�*r9NT�filepathr"�modname�
str | None�fallback�sourcec��	t|d���}d}n#t$rYnwxYw|�6	d�t|����}n#t$r|}YnwxYw||jvr#|j|j|kr
|j|S|r%ddlm}||���	||��S|r|r|�
|��Std|����)	�/Given a module name, return the astroid object.T)�include_no_extN�.r��AstroidBuilderz"Unable to build an AST for {path}.)�path)rr�joinr�ImportErrorr*�file�astroid.builderr\�
file_build�ast_from_module_namer)r7rRrSrUrVr\s      r&�
ast_from_filezAstroidManager.ast_from_fileos0��	�&�x��E�E�E�H��F�F���	�	�	��D�	�����?�
#��(�(�#4�X�#>�#>�?�?�����
#�
#�
#�"����
#����
�t�)�)�)��"�7�+�0�H�<�<��%�g�.�.��	F�6�6�6�6�6�6�!�>�$�'�'�2�2�8�W�E�E�E��	6��	6��,�,�W�5�5�5�"�#G�h�W�W�W�Ws��
#�#�"A�A�A��datac�N�ddlm}||���|||��S)z]Given some source code as a string, return its corresponding astroid
        object.
        rr[�rar\�string_build)r7rfrSrRr\s     r&�ast_from_stringzAstroidManager.ast_from_string�s8��	3�2�2�2�2�2��~�d�#�#�0�0��w��I�I�Ir9c�L�ddlm}||���d|��S)Nrr[rerh)r7rSr\s   r&�_build_stub_modulez!AstroidManager._build_stub_module�s4��2�2�2�2�2�2��~�d�#�#�0�0��W�=�=�=r9r]�
Sequence[str]c�&�ddlm}|||��S)Nr)�build_namespace_package_module)raro)r7rSr]ros    r&�_build_namespace_modulez&AstroidManager._build_namespace_module�s*��	C�B�B�B�B�B�-�-�g�t�<�<�<r9c�`�|jrdSt|��rdSt||j��S�NT)r-rrr/)r7rSs  r&�_can_load_extensionz"AstroidManager._can_load_extension�sA���&�	��4��G�$�$�	��4�A��T�5�
�
�	
r9�context_file�	use_cachec�<�|�td���||jvr|r
|j|S|dkr|�|��S|rDtj��}tjtj�|����	|�||��}|j	tjjkr7|�
|j��}|�||rtj|��SS�n�|j	tjjtjjfvr�|j	tjjkrA|�|��s,|�|��|rtj|��SS	t%|��}n*#t&$r}t)d||j���|�d}~wwxYw|�||��|rtj|��SS|j	tjjkrt)d||j����|j	tjjkr4|�||jpg��|rtj|��SS|j	tjjkrg|j�,|�|��|rtj|��SS|�|j|d���|rtj|��SS|j�t)d	|�
���|�|j|d���|rtj|��SS#t$rJ}|jD];}		|	|��ccYd}~|rtj|��SS#t$rY�8wxYw|�d}~wwxYw#|rtj|��wwxYw)rXNzNo module name given.�__main__z&Loading {modname} failed with:
{error})rSr]z)Unable to load compiled module {modname}.F)rUz'Can't find a file for module {modname}.)rS)rr*rl�os�getcwd�chdirr]�dirname�file_from_module_name�typer�
ModuleType�PY_ZIPMODULE�zip_import_data�location�	C_BUILTIN�C_EXTENSIONrsrr%r�ast_from_module�PY_COMPILED�PY_NAMESPACErp�submodule_search_locations�	PY_FROZENrdr,)
r7rSrtru�old_cwd�
found_spec�module�named_module�e�hooks
          r&rcz#AstroidManager.ast_from_module_name�se���?�&�'>�?�?�?�
�d�(�(�(�Y�(��%�g�.�.��j� � ��*�*�7�3�3�3��	4��i�k�k�G��H�R�W�_�_�\�2�2�3�3�3�;	"��3�3�G�\�J�J�J���$�/�">�>�>��-�-�j�.A�B�B���%�!�j�
"����!�!�!�!�
"�m&�����)���+�%���
�O�t��'B�B�B� �4�4�W�=�=�C� �2�2�7�;�;�V�
"����!�!�!�!�
"�U�#8��#A�#A�L�L�� ����,�A� '�'�0�����	����������+�+�L�'�B�B�D�
"����!�!�!�!�
"�A��D�O�$?�?�?�(�?�#�#�,�������D�O�$@�@�@��3�3��Z�B�H�b���0�
"����!�!�!�!�
"�+��D�O�$=�=�=��&�.��2�2�7�;�;�&�
"����!�!�!�!�
"�!�)�)�*�*=�w�QV�)�W�W� �
"����!�!�!�!�
"��"�*�(�=�w������%�%�j�&9�7�U�%�S�S��
"����!�!�!�!�
"��$�	�	�	��1�
�
����4��=�=�(�(�(�(�(�(�(�
�
"����!�!�!�!�
"��	,�����D������G�����
	������
"����!�!�!�!�
"���s��A
L+�1A.L+�8F�L+�
F/�F*�*F/�/L+�A'L+�5L+�+L+�4L+�+
M?�5	M:�?
M(�	M:�M?�N�(
M5�2M:�4M5�5M:�:M?�?N�N�nodes.Module | Nonec���t�dSddlm}||��}tD]�}	|�|t
jjzd��\}}n#t$rY�;wxYw	tj	||z��}|�
t
jjd��}|�|��r|dz}|�|�
|��||��}	|	cS#t$rY��wxYwdS)Nrr[�rZz	.__init__)�	zipimportrar\�ZIP_IMPORT_EXTS�rsplitrxr]�sep�
ValueError�zipimporter�replace�
is_packageri�
get_sourcer%)
r7rRr\�builder�ext�eggpath�resource�importer�zmodnamer�s
          r&r�zAstroidManager.zip_import_datas3�����4�	3�2�2�2�2�2� �.��&�&��"�	�	�C�
�$,�O�O�C�"�'�+�4E�q�$I�$I�!������
�
�
���
����
�$�0��3��?�?��#�+�+�B�G�K��=�=���&�&�x�0�0�6�'�+�5�H� �-�-��'�'��1�1�8�X�����
�
�
���
�
�
���
�����ts$�+A�
A�A�"BC&�&
C3�2C3�contextfile�spec.ModuleSpecc	�x�	|j||f}n~#t$rq	t|�d��|���}n<#t$r/}td||�d�����}Yd}~nd}~wwxYw||j||f<YnwxYwt|t��r|�d���|S)NrZ)rtz6Failed to import module {modname} with error:
{error}.)rS�error)	r+�KeyErrorr�splitr_r�with_traceback�
isinstancer)r7rSr�r>r�s     r&r|z$AstroidManager.file_from_module_names��	A��(�'�;�)?�@�E�E���
	A�
	A�
	A�
�.��M�M�#�&�&�[��������
�
�
�*�M�#��*�*�4�0�0�	�������������
����<A�D� �'�;�!7�8�8�8�
	A�����e�1�2�2�	-��&�&�t�,�,�,��s8��
B
�$A�B
�
A;�%A6�1B
�6A;�;B
�B
r��types.ModuleTypec��|p|j}||jvr
|j|S	|j}t|��r|�||��Sn#t
$rYnwxYwddlm}||���||��S)z4Given an imported module, return the astroid object.rr[)	�__name__r*�__file__rrd�AttributeErrorrar\�module_build)r7r�rSrRr\s     r&r�zAstroidManager.ast_from_module5s����,�V�_���d�(�(�(��%�g�.�.�	���H���)�)�
=��)�)�(�G�<�<�<�
=���	�	�	��D�	����	3�2�2�2�2�2��~�d�#�#�0�0���A�A�As�+A�
A�A�klassr}�nodes.ClassDefc�$�|�<	|j}n3#t$r&}td|t|��|���|�d}~wwxYw|�|��}|�|j��d}t|tj	��sJ�|S)z Get astroid for the given class.Nz,Unable to get module for class {class_name}.)�cls�
class_reprrSr)
�
__module__r�rr'rc�getattrr�r�r�ClassDef)r7r�rS�exc�
modastroid�rets      r&�ast_from_classzAstroidManager.ast_from_classJs����?�
��*����!�
�
�
�*�B��(��/�/�#�	���
������
�����.�.�w�7�7�
�� � ���0�0��3���#�u�~�.�.�.�.�.��
s��
<�!7�<r �object�context�InferenceContext | None�Iterator[InferenceResult]c#�@K�t|d��rt|t��s|j}n7t|t��r|}nt	ddt|������	|j}n_#t$r%}t	d|t|�����|�d}~wt$r%}td|t|�����|�d}~wwxYw	|j
}n_#t$r%}t	d|t|�����|�d}~wt$r%}td|t|�����|�d}~wwxYw|�|��}||ur|�||��D]}|V��dS|�||��D]}|�
��V��dS)	z"Infer astroid for the given class.�	__class__z$Unable to get type for {class_repr}.N)r�r�z&Unable to get module for {class_repr}.zBUnexpected error while retrieving module for {class_repr}:
{error}z%Unable to get name for {class_repr}:
z@Unexpected error while retrieving name for {class_repr}:
{error})�hasattrr�r}r�rr'r�r�r%rr�rc�igetattr�instantiate_class)	r7r r�r�rSr��namer��inferreds	         r&�infer_ast_from_somethingz'AstroidManager.infer_ast_from_something[sL�����3��$�$�		�Z��T�-B�-B�		��M�E�E�
��T�
"�
"�	��E�E�&�6��$�S�>�>����
�
	��&�G�G���	�	�	�&�8��$�U�+�+�����	
�����
�	�	�	�$���$�U�+�+�	���
�
�����	����
	��>�D�D���	�	�	�&�8��$�U�+�+�����	
�����
�	�	�	�$�S��$�U�+�+�����	
�����	�����.�.�w�7�7�
��C�<�<�&�/�/��g�>�>�
�
�������
�
�'�/�/��g�>�>�
3�
3���0�0�2�2�2�2�2�2�
3�
3sH�(A0�0
C�: B�
C�' C�C�C�
D4�" D�
D4� D/�/D4r��Callable[[str], nodes.Module]c�:�|j�|��dS)a}Registers a hook to resolve imports that cannot be found otherwise.

        `hook` must be a function that accepts a single argument `modname` which
        contains the name of the module or package that could not be imported.
        If `hook` can resolve the import, must return a node of type `astroid.Module`,
        otherwise, it must raise `AstroidBuildingError`.
        N)r,�append)r7r�s  r&�register_failed_import_hookz*AstroidManager.register_failed_import_hook�s!��	
�!�(�(��.�.�.�.�.r9c�F�|j�|j|��dS)z<Cache a module if no module with the same name is known yet.N)r*�
setdefaultr�)r7r�s  r&�cache_modulezAstroidManager.cache_module�s#����%�%�f�k�6�:�:�:�:�:r9c�:�ddlm}|���dS)z�Bootstrap the required AST modules needed for the manager to work.

        The bootstrap usually involves building the AST for the builtins
        module, which is required by the rest of astroid to work correctly.
        r)�raw_buildingN)�astroidr��_astroid_bootstrapping)r7r�s  r&�	bootstrapzAstroidManager.bootstrap�s.��	)�(�(�(�(�(��+�+�-�-�-�-�-r9c��ddlm}ddlm}ddlm}ddlm}|��t��|j	�
��tjt��tjd_t#j��|jt(t*j|j|jfD]}|����|���t7j��D]Z}|jdkrMt=d|j����}|sJ�tA|��}|j!sJ�|j!�"|���[d	S)
zgClear the underlying caches, bootstrap the builtins module and
        re-register transforms.
        r)�clear_inference_tip_cache)�ObjectModel)�LookupMixIn)r�r0z.pyzastroid.brain.N)#�astroid.inference_tipr��astroid.interpreter.objectmodelr��astroid.nodes.node_classesr��astroid.nodes.scoped_nodesr�rr*�clear�collections�defaultdict�listr)r1�
transformsr�clear_all_caches�lookuprr�is_namespace�
attributes�_metaclass_lookup_attribute�cache_clearr�r
�iterdir�suffixr�stemr�loader�exec_module)	r7r�r�r�r��	lru_cacher��module_spec�
module_objects	         r&�clear_cachezAstroidManager.clear_cache�s���	D�C�C�C�C�C�?�?�?�?�?�?�:�:�:�:�:�:�7�7�7�7�7�7�!�!�#�#�#������� � �"�"�"�8C�8O�PT�8U�8U���\�*�5��&�(�(�(�
��"����"��0�
�	$�	$�I�
�!�!�#�#�#�#�������.�5�7�7�	>�	>�F��}��%�%�'�(F���(F�(F�G�G��"�"�"�{� 0�� =� =�
�"�)�)�)�)��"�.�.�}�=�=�=��
	>�	>r9)r!r4)r!r:)r>r:r!r4)r!rI)rMrNr!r)NTF)
rRr"rSrTrUr:rVr:r!rI)reN)rfr"rSr"rRrTr!rI)rSr"r!rI)rSr"r]rmr!rI)rSr"r!r:rr)rSrTrtrTrur:r!rI)rRr"r!r�)rSr"r�rTr!r�rE)r�r�rSrTr!rI)r�r}rSrTr!r�)r r�r�r�r!r�)r�r�r!r4)r�rIr!r4)"r�r��__qualname__�__doc__r��setrr1�__annotations__r3r8�propertyr-�setterr.rFrHrLrQrdrjrlrprsrcr�r|r�r�r�r�r�r�r��r9r&r)r)2s���������
�D��� "�"'��'*�s�u�u�&�&�(�(�"�"�E�����+.��-�-�-�-�=�=�=�=��>�>�>��X�>��"�?�?�?�#�"�?��4�4�4��X�4���5�5�5���5��2�2��X�2��4�4��X�4��.�.�.��X�.�+�+�+�+�#���X�X�X�X�X�BDH�	J�	J�	J�	J�	J�>�>�>�>�=�=�=�=�
�
�
�
�$(��	O"�O"�O"�O"�O"�b����6����2?C�B�B�B�B�B�*�����$?C�23�23�23�23�23�h/�/�/�/�;�;�;�;�.�.�.�.�&>�&>�&>�&>�&>�&>r9r))r r	r!r")2r��
__future__rr�rx�typesr��collections.abcrrr�importlib.utilrr�typingr	r
r�r�astroid._cacher�
astroid.constr
�astroid.contextrr�astroid.exceptionsrr�astroid.interpreter._importrr�astroid.modutilsrrrrrrrrr�astroid.transformsr�astroid.typingrrr�r'r)r�r9r&�<module>rs��
��
#�"�"�"�"�"�����	�	�	�	���������8�8�8�8�8�8�8�8�8�8�6�6�6�6�6�6�6�6� � � � � � � � �������(�(�(�(�(�(�1�1�1�1�1�1�?�?�?�?�?�?�?�?�G�G�G�G�G�G�G�G�2�2�2�2�2�2�2�2�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�0�/�/�/�/�/�?�?�?�?�?�?�?�?�;������[>�[>�[>�[>�[>�[>�[>�[>�[>�[>r9

Youez - 2016 - github.com/yon3zu
LinuXploit