Ë
    pPêjÒ  ã                  ó~   — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 ddd„Z
 G d„ d	e«      Z	 d	 	 	 	 	 dd
„Zdd„Zy)é    )Úannotations)ÚCallable)ÚTypeInfo)ÚInstance)Ú
type_stateNc                ó®   — t        | |«      }|s
J d| › �«       ‚|| _        t        d„ | j                  D «       «      | _        t	        j
                  | «       y)zbCalculate and set mro (method resolution order).

    Raise MroError if cannot determine mro.
    z#Could not produce a MRO at all for c              3  ó4   K  — | ]  }|j                   –— Œ y ­w©N)Úfallback_to_any)Ú.0Úbaseinfos     úM/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/mro.pyú	<genexpr>z calculate_mro.<locals>.<genexpr>   s   è ø€ ÒQ¸H˜x×7Õ7ÑQùs   ‚N)Úlinearize_hierarchyÚmroÚanyr   r   Úreset_all_subtype_caches_for)ÚinfoÚobj_typer   s      r   Úcalculate_mror   
   sQ   € ô
 ˜d HÓ
-€CÙÐ<Ð5°d°VÐ<Ó<ˆ3Ø€D„HäÑQÈÏÉÔQÓQ€DÔÜ×+Ñ+¨DÕ1ó    c                  ó   — e Zd ZdZy)ÚMroErrorz<Raised if a consistent mro cannot be determined for a class.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r   r   r   r      s   „ ÚFr   r   c                óV  — | j                   r| j                   S | j                  «       }|s#| j                  dk7  r|� |«       j                  g}g }|D ]6  }|€J d| j                  › d|› �«       ‚|j	                  t        ||«      «       Œ8 |j	                  |«       | gt        |«      z   S )Nzbuiltins.objectzCannot linearize bases for ú )r   Údirect_base_classesÚfullnameÚtypeÚappendr   Úmerge)r   r   ÚbasesÚ	lin_basesÚbases        r   r   r      sµ   € ð ‡x‚xØ�x‰xˆØ×$Ñ$Ó&€EÙ�T—]‘]Ð&7Ò7¸HÐ<Pñ “—‘Ð!ˆØ€IØò >ˆØÐÐVÐ#>¸t¿}¹}¸oÈQÈuÈgÐ!VÓVÐØ×ÑÔ,¨T°8Ó<Õ=ð>ð ×Ñ�UÔØˆ6”E˜)Ó$Ñ$Ð$r   c                ó4  — | D �cg c]  }|j                  «       ‘Œ } }g }	 | D �cg c]  }|sŒ|‘Œ	 } }| s|S | D ]!  }|d   }| D �cg c]  }||dd  v sŒ|‘Œ c}rŒ! n t        «       ‚|j                  |«       | D ]  }|d   |u sŒ|d= Œ Œjc c}w c c}w c c}w )Nr   é   )Úcopyr   r$   )ÚseqsÚsÚresultÚseqÚheads        r   r%   r%   .   sÀ   € Ø"Ö#˜ˆA�F‰F�HÐ#€DÐ#Ø€FØ
ØÖ%�a¢1’Ð%ˆÐ%ÙØˆMØò 	ˆCØ�q‘6ˆDØ#Ö5˜! t¨q°°¨u¢}’AÔ5Ùð	ô
 “*ÐØ�‰�dÔØò 	ˆAØ�‰t�tŠ|Ø�a‘Dð	ð ùò $ùò &ùò
 6s   …B¥B­BÁBÁBr
   )r   r   r   úCallable[[], Instance] | NoneÚreturnÚNone)r   r   r   r1   r2   úlist[TypeInfo])r,   zlist[list[TypeInfo]]r2   r4   )Ú
__future__r   Úcollections.abcr   Ú
mypy.nodesr   Ú
mypy.typesr   Úmypy.typestater   r   Ú	Exceptionr   r   r%   r   r   r   ú<module>r;      sO   ðÝ "å $å Ý Ý %ô
2ôGˆyô Gð
 ?Cð%Ø
ð%Ø;ð%àó%ô&r   