ó
    Ð]j™1  ã                  óT  • % S SK Jr  S SKrS SKrS SKrS SKJr  S SKJrJ	r	  S SKJ
r
JrJr  S SKJr  S SKJr  \
(       a
  S SKrS SKJr  S	\S
'    S SKr\\4r\R.                   V s1 s H  o R1                  S5      iM     sn r1 SkrSS jr " S S5      rg! \ a    \4r NJf = fs  sn f )é    )ÚannotationsN)Úcached_property)ÚGetSetDescriptorTypeÚ
ModuleType)ÚTYPE_CHECKINGÚAnyÚClassVar)Ú
ObjectKind)Úlogger)ÚSequenceztuple[types.ModuleType, ...]Ú_TYPING_MODULESÚ_>   ©znumpy.core._multiarray_umathznumpy.core.multiarray©ÚosÚnt©r   Úposixc               óØ   • U R                  S5       Vs/ s H  o"R                  S5      PM     snUR                  S5       Vs/ s H  o"R                  S5      PM     sn:H  $ s  snf s  snf )NÚ.r   )ÚsplitÚlstrip)ÚaÚbÚcpns      Úb/home/mande/repo/quber/.venv/lib/python3.13/site-packages/griffe/_internal/agents/nodes/runtime.pyÚ_same_componentsr   $   sT   € Ø'(§w¡w¨s¤|Ó4¢| �J‰J�sŽO¡|Ñ4ÐTU×T[ÑT[Ð\_ÔT`Ó8aÒT`ÈS¿¹ÀC¾ÑT`Ñ8aÑaÐaùÒ4ùÒ8as   ”A"ÁA'c                  ó  • \ rS rSr% Sr1 SkrS\S'    S!S"S jjrS#S jr\	S#S	 j5       r
\	S$S
 j5       r\	S%S j5       r\	S&S j5       r\S'S j5       r\S(S j5       r\S(S j5       r\S(S j5       r\S(S j5       r\S(S j5       r\S(S j5       r\S(S j5       r\S(S j5       r\S(S j5       r\S(S j5       r\S(S j5       r\S(S j5       r\S(S j5       r\S(S j5       r\S(S j5       r\S)S j5       rS*S jr \S%S j5       r!S r"g)+Ú
ObjectNodeé(   a  Helper class to represent an object tree.

It's not really a tree but more a backward-linked list:
each node has a reference to its parent, but not to its child (for simplicity purposes and to avoid bugs).

Each node stores an object, its name, and a reference to its parent node.
>   Ú__spec__Ú
__loader__Ú__builtins__zClassVar[set[str]]Úexclude_specialsNc                ó  •  [         R                  " U5      n[        U[        5      (       a  SnUR                  nOSnXl         X l	         X0l
         XPl        g! [         a!  n[        R                  " SX$5         SnANhSnAff = f)z�Initialize the object.

Parameters:
    obj: A Python object.
    name: The object's name.
    parent: The object's parent node.
zCould not unwrap %s: %rNTF)ÚinspectÚunwrapÚ	Exceptionr   ÚdebugÚ
isinstancer   ÚfuncÚobjÚnameÚparentÚis_cached_property)Úselfr,   r-   r.   Úerrorr/   s         r   Ú__init__ÚObjectNode.__init__4   sƒ   € ð	AÜ—.’. Ó%ˆCô �cœ?×+Ñ+Ø!%ÐØ—(‘(‰Cà!&ÐàŒØ'ØŒ	Ø'Ø)/ŒØØ(:ÔØ>øô+ ó 	Aô
 �LŠLÐ2°D×@Ñ@ûð	Aús   ‚A Á
BÁ$B Â Bc                ó$   • SU R                   < S3$ )NzObjectNode(name=Ú))r-   ©r0   s    r   Ú__repr__ÚObjectNode.__repr__V   s   € Ø! $§)¡)¡¨aÐ0Ð0ó    c                ó~   • U R                   c  U R                  $ U R                   R                   SU R                   3$ )zThe object's (Python) path.r   )r.   r-   Úpathr6   s    r   r;   ÚObjectNode.pathY   s8   € ð �;‰;ÑØ—9‘9ÐØ—+‘+×"Ñ"Ð# 1 T§Y¡Y KÐ0Ð0r9   c                ó    • U R                   (       a  U $ U R                  b  U R                  R                  $ [        SU R                   S35      e)z0The object's module, fetched from the node tree.zObject node z does not have a parent module)Ú	is_moduler.   ÚmoduleÚ
ValueErrorr;   r6   s    r   r?   ÚObjectNode.module`   sC   € ð �>�>ØˆKØ�;‰;Ñ"Ø—;‘;×%Ñ%Ð%Ü˜<¨¯	©	 {Ð2PÐQÓRÐRr9   c                ó¸  •  U R                   R                  n[        U[        5      (       a9  [        R
                  " SU R                  5        [        US[        USS5      5      $ [        U[        5      (       a  U$ [        R
                  " SU R                  [        [        U5      S[        [        U5      5      5      5        g! [         a‰     [        R                  " U R                   5      =(       d    U R                  R                   nO! [         a      gf = f UR                  R                   s $ ! [         a    [        USS5      s s $ f = ff = f)zThe object's module path.z±Object %s has its `__module__` attribute set to a module object: it must be a string instead (the module fully qualified name). Please report to the maintainers of this library.Ú__qualname__Ú__name__Nz­Object %s has its `__module__` attribute set to a %s object: it must be a string instead (the module fully qualified name). Please report to the maintainers of this library.)r,   Ú
__module__r*   r   r   r)   r;   ÚgetattrÚstrÚtypeÚAttributeErrorr&   Ú	getmoduler?   r@   r!   r-   )r0   r?   s     r   Úmodule_pathÚObjectNode.module_pathi   s"  € ð	Ø—X‘X×(Ñ(ˆFô ˜&¤*×-Ñ-Ü—’ðHð —I‘Iô	ô ˜v ~´w¸vÀzÐSWÓ7XÓYÐYÜ˜&¤#×&Ñ&Ø�Ü�LŠLðDð —	‘	Üœ˜V› j´#´d¸6³lÓ2CÓDôð øô; ó 	9ðÜ ×*Ò*¨4¯8©8Ó4×G¸¿¹¿¹‘øÜó Úðúð9Ø—‘×+Ñ+Ò+øÜ!ó 9Ü˜v z°4Ó8Ô8ð9úð	9úsS   ‚C Ã
EÃ=DÄEÄ
DÄEÄDÄEÄ!D9Ä6EÄ9EÅEÅEÅEc                ó¾  • U R                   (       a  [        R                  $ U R                  (       a  [        R                  $ U R
                  (       a  [        R                  $ U R                  (       a  [        R                  $ U R                  (       a  [        R                  $ U R                  (       a  [        R                  $ U R                  (       a  [        R                  $ U R                  (       a  [        R                   $ U R"                  (       a  [        R$                  $ U R&                  (       a  [        R(                  $ U R*                  (       a  [        R,                  $ U R.                  (       a  [        R0                  $ U R2                  (       a  [        R4                  $ U R6                  (       a  [        R8                  $ [        R:                  $ )zThe kind of this node.)r>   r
   ÚMODULEÚis_classÚCLASSÚis_staticmethodÚSTATICMETHODÚis_classmethodÚCLASSMETHODr/   ÚCACHED_PROPERTYÚ	is_methodÚMETHODÚis_builtin_methodÚBUILTIN_METHODÚis_coroutineÚ	COROUTINEÚis_builtin_functionÚBUILTIN_FUNCTIONÚis_method_descriptorÚMETHOD_DESCRIPTORÚis_functionÚFUNCTIONÚis_getset_descriptorÚGETSET_DESCRIPTORÚis_propertyÚPROPERTYÚis_type_aliasÚ
TYPE_ALIASÚ	ATTRIBUTEr6   s    r   ÚkindÚObjectNode.kind�   s0  € ð �>�>Ü×$Ñ$Ð$Ø�=�=Ü×#Ñ#Ð#Ø××Ü×*Ñ*Ð*Ø××Ü×)Ñ)Ð)Ø×"×"Ü×-Ñ-Ð-Ø�>�>Ü×$Ñ$Ð$Ø×!×!Ü×,Ñ,Ð,Ø××Ü×'Ñ'Ð'Ø×#×#Ü×.Ñ.Ð.Ø×$×$Ü×/Ñ/Ð/Ø××Ü×&Ñ&Ð&Ø×$×$Ü×/Ñ/Ð/Ø××Ü×&Ñ&Ð&Ø××Ü×(Ñ(Ð(Ü×#Ñ#Ð#r9   c           	     ó¾   • / n[         R                  " U R                  5       H6  u  p#U R                  X#5      (       d  M  UR	                  [        X2U S95        M8     U$ )zThe children of this node.)r.   )r&   Ú
getmembersr,   Ú_pick_memberÚappendr   )r0   Úchildrenr-   Úmembers       r   ro   ÚObjectNode.children®   sO   € ð ˆÜ#×.Ò.¨t¯x©xÖ8‰LˆDØ× Ñ  ×.Ó.Ø—‘¤
¨6ÀÑ EÖFñ 9ð ˆr9   c                óB   • [         R                  " U R                  5      $ )z'Whether this node's object is a module.)r&   Úismoduler,   r6   s    r   r>   ÚObjectNode.is_module·   s   € ô ×Ò §¡Ó)Ð)r9   c                óB   • [         R                  " U R                  5      $ )z&Whether this node's object is a class.)r&   Úisclassr,   r6   s    r   rO   ÚObjectNode.is_class¼   s   € ô �Š˜tŸx™xÓ(Ð(r9   c                óª   • [         R                  " U R                  5      =(       d-    [        U R                  5      =(       a    U R                  (       + $ )z)Whether this node's object is a function.)r&   Ú
isfunctionr,   ÚcallablerO   r6   s    r   r`   ÚObjectNode.is_functionÁ   s3   € ô ×!Ò! $§(¡(Ó+×Y´¸¿¹Ó0B×0XÈ4Ï=É=ÔGXÐYr9   c                óV   • [        U R                  [        S [         5       5      5      $ )z+Whether this node's object is a type alias.c              3  ó`   #   • U  H$  n[        US 5      (       d  M  UR                  v •  M&     g7f)ÚTypeAliasTypeN)Úhasattrr~   )Ú.0r?   s     r   Ú	<genexpr>Ú+ObjectNode.is_type_alias.<locals>.<genexpr>Ì   s$   é € Ði²_¨6ÌÐPVÐXg×HhÓ&�&×&Ö&²_ùs   ‚.›.)r*   r,   Útupler   r6   s    r   rf   ÚObjectNode.is_type_aliasÇ   s&   € ô Ø�H‰HÜÑiµ_ÓiÓió
ð 	
r9   c                óB   • [         R                  " U R                  5      $ )z1Whether this node's object is a builtin function.)r&   Ú	isbuiltinr,   r6   s    r   r\   ÚObjectNode.is_builtin_functionÏ   s   € ô × Ò  §¡Ó*Ð*r9   c                óB   • [         R                  " U R                  5      $ )z*Whether this node's object is a coroutine.)r&   Úiscoroutinefunctionr,   r6   s    r   rZ   ÚObjectNode.is_coroutineÔ   s   € ô ×*Ò*¨4¯8©8Ó4Ð4r9   c                ó6   • [        U R                  [        5      $ )z3Whether this node's object is a get/set descriptor.)r*   r,   r   r6   s    r   rb   ÚObjectNode.is_getset_descriptorÙ   s   € ô ˜$Ÿ(™(Ô$8Ó9Ð9r9   c                ó\   • [        U R                  [        5      =(       d    U R                  $ )z)Whether this node's object is a property.)r*   r,   Úpropertyr/   r6   s    r   rd   ÚObjectNode.is_propertyÞ   s    € ô ˜$Ÿ(™(¤HÓ-×H°×1HÑ1HÐHr9   c                óf   • [        U R                  =(       a    U R                  R                  5      $ )z4Whether the object of this node's parent is a class.)Úboolr.   rO   r6   s    r   Úparent_is_classÚObjectNode.parent_is_classã   s"   € ô �D—K‘K×8 D§K¡K×$8Ñ$8Ó9Ð9r9   c                ól   • [        S 5      nU R                  =(       a    [        U R                  U5      $ )z'Whether this node's object is a method.c                 ó   • g ©N© r—   r9   r   Ú<lambda>Ú&ObjectNode.is_method.<locals>.<lambda>ë   s   €  Tr9   )rH   r’   r*   r,   )r0   Úfunction_types     r   rV   ÚObjectNode.is_methodè   s*   € ô ™\Ó*ˆØ×#Ñ#×K¬
°4·8±8¸]Ó(KÐKr9   c                óB   • [         R                  " U R                  5      $ )z¢Whether this node's object is a method descriptor.

Built-in methods (e.g. those implemented in C/Rust) are often
method descriptors, rather than normal methods.
)r&   Úismethoddescriptorr,   r6   s    r   r^   ÚObjectNode.is_method_descriptorî   s   € ô ×)Ò)¨$¯(©(Ó3Ð3r9   c                ó@   • U R                   =(       a    U R                  $ )z/Whether this node's object is a builtin method.)r\   r’   r6   s    r   rX   ÚObjectNode.is_builtin_method÷   s   € ð ×'Ñ'×@¨D×,@Ñ,@Ð@r9   c                óú   • U R                   c  g U R                   R                  R                  R                  U R                  S5      nU R                  =(       a    [        U[        5      $ ! [
         a     gf = f)z-Whether this node's object is a staticmethod.NF)	r.   r,   Ú__dict__Úgetr-   rI   r’   r*   Ústaticmethod©r0   Úself_from_parents     r   rQ   ÚObjectNode.is_staticmethodü   sj   € ð �;‰;ÑØð	Ø#Ÿ{™{Ÿ™×7Ñ7×;Ñ;¸D¿I¹IÀtÓLÐð ×#Ñ#×R¬
Ð3CÄ\Ó(RÐRøô ó 	Ùð	úó   �:A- Á-
A:Á9A:c                óú   • U R                   c  g U R                   R                  R                  R                  U R                  S5      nU R                  =(       a    [        U[        5      $ ! [
         a     gf = f)z,Whether this node's object is a classmethod.NF)	r.   r,   r¢   r£   r-   rI   r’   r*   Úclassmethodr¥   s     r   rS   ÚObjectNode.is_classmethod  sj   € ð �;‰;ÑØð	Ø#Ÿ{™{Ÿ™×7Ñ7×;Ñ;¸D¿I¹IÀtÓLÐð ×#Ñ#×Q¬
Ð3CÄ[Ó(QÐQøô ó 	Ùð	úr¨   c                ó:   • U R                   [        R                  L $ )z+Whether this node's object is an attribute.)ri   r
   rh   r6   s    r   Úis_attributeÚObjectNode.is_attribute  s   € ð �y‰yœJ×0Ñ0Ð0Ð0r9   c                ó¢   • U R                   c  [        U R                  5      1$ [        U R                  5      1U R                   R                  -  $ r–   )r.   Úidr,   Ú_idsr6   s    r   r±   ÚObjectNode._ids  s;   € à�;‰;ÑÜ�t—x‘x“L�>Ð!Ü�4—8‘8“ˆ~ §¡× 0Ñ 0Ñ0Ð0r9   c                óÖ   • XR                   ;  =(       aU    U[        L=(       aF    U[        L=(       a7    [        U5      U R                  ;  =(       a    U[        U R                  5      ;   $ r–   )r$   rH   Úobjectr°   r±   Úvarsr,   )r0   r-   rp   s      r   rm   ÚObjectNode._pick_member  s[   € à×-Ñ-Ñ-÷ 'ØœdÐ"÷'àœfÐ$÷'ô �6“
 $§)¡)Ñ+÷'ð œ˜TŸX™X›Ñ&ð	
r9   c                óð  • U R                   c  gU R                  (       a  gU R                  nU(       d  gU R                   R                  nU(       d  gX!4[        ;   a  g[	        X!5      (       a  gUR                  S5      [        ;   a  UR                  S5      nU R                  (       a  U$ [        U R                  SU R                  [        U R                  R                  5      S-   S 5      nU SU 3$ )z?Alias target path of this node, if the node should be an alias.Nr   rC   é   r   )r.   r­   rK   Ú_cyclic_relationshipsr   r   Ú_builtin_module_namesr>   rF   r,   r;   Úlenr?   )r0   Úchild_module_pathÚparent_module_pathÚ
child_names       r   Úalias_target_pathÚObjectNode.alias_target_path&  sê   € ð �;‰;ÑØð ××Øð !×,Ñ,ÐÞ Øð "Ÿ[™[×4Ñ4ÐÞ!Øð Ð2Ô6KÓKØô Ð.×BÑBØð ×#Ñ# CÓ(Ô,AÓAØ 1× 8Ñ 8¸Ó =Ðð �>�>Ø$Ð$ô ˜TŸX™X ~°t·y±yÄÀTÇ[Á[×EUÑEUÓAVÐYZÑAZÐA\Ð7]Ó^ˆ
Ø#Ð$ A j \Ð2Ð2r9   )r/   r-   r,   r.   r–   )r,   r   r-   rG   r.   zObjectNode | NoneÚreturnÚNone)rÁ   rG   )rÁ   r   )rÁ   z
str | None)rÁ   r
   )rÁ   zSequence[ObjectNode])rÁ   r‘   )rÁ   zset[int])r-   rG   rp   r   rÁ   r‘   )#rD   rE   rC   Ú__firstlineno__Ú__doc__r$   Ú__annotations__r2   r7   rŽ   r;   r?   rK   ri   r   ro   r>   rO   r`   rf   r\   rZ   rb   rd   r’   rV   r^   rX   rQ   rS   r­   r±   rm   r¿   Ú__static_attributes__r—   r9   r   r   r   (   sñ  ‡ ñò ,VÐÐ(ÓUØLö ?ôD1ð ó1ó ð1ð óSó ðSð ó!ó ð!ðF ó$ó ð$ð@ óó ðð ó*ó ð*ð ó)ó ð)ð óZó ðZð
 ó
ó ð
ð ó+ó ð+ð ó5ó ð5ð ó:ó ð:ð óIó ðIð ó:ó ð:ð óLó ðLð
 ó4ó ð4ð óAó ðAð óSó ðSð óRó ðRð ó1ó ð1ð ó1ó ð1ô

ð ó.3ó ó.3r9   r   )r   rG   r   rG   rÁ   r‘   )Ú
__future__r   r&   ÚsysÚtypingÚ	functoolsr   Útypesr   r   r   r   r	   Úgriffe._internal.enumerationsr
   Úgriffe._internal.loggerr   Úcollections.abcr   rÅ   Útyping_extensionsr   ÚImportErrorÚbuiltin_module_namesr   rº   r¹   r   r   )r   s   0r   Ú<module>rÒ      s¥   ðö #ã Û 
Û Ý %ß 2ß /Ñ /å 4Ý *æÛÝ(à-Ó -ð2Ûð Ð0Ð1€Oð 14×0HÒ0HÓIÒ0H¨1Ÿ™ #žÑ0HÑIÐ òÐ ôb÷m3ò m3øð% ó  Ø�i‚Oð üò Js   ÁB Á%B%Â	B"Â!B"