ó
    Ð]jÐ  ã                  ó  • S SK Jr  S SKJr  S SKJr  S SKJrJr  S SK	J
r
  S SKJr  \(       a  S SKJr  S SKJrJrJrJrJrJr  SS	 jrSS
 jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jr S S jr!g)!é    ©Úannotations)Úsuppress)ÚTYPE_CHECKING)ÚAliasResolutionErrorÚCyclicAliasError)ÚExpr)Úlogger)ÚSequence)Ú	AttributeÚClassÚFunctionÚModuleÚObjectÚ	TypeAliasc                óF   • [        X5        [        X5        [        X5        g ©N)Ú_merge_stubs_docstringÚ_merge_stubs_overloadsÚ_merge_stubs_members)ÚmoduleÚstubss     ÚT/home/mande/repo/quber/.venv/lib/python3.13/site-packages/griffe/_internal/merger.pyÚ_merge_module_stubsr      s   € Ü˜6Ô)Ü˜6Ô)Ü˜Õ'ó    c                ó\   • [        X5        [        X5        [        X5        [        X5        g r   )r   r   Ú_merge_stubs_type_parametersr   )Úclass_r   s     r   Ú_merge_class_stubsr      s"   € Ü˜6Ô)Ü˜6Ô)Ü  Ô/Ü˜Õ'r   c                ó  • [        X5        UR                   HC  n[        [        5         UR                  U R                  UR
                     l        S S S 5        ME     UR                  U l        [        X5        g ! , (       d  f       Ms  = fr   )r   Ú
parametersr   ÚKeyErrorÚ
annotationÚnameÚreturnsr   )Úfunctionr   Ú	parameters      r   Ú_merge_function_stubsr(      sf   € Ü˜8Ô+Ø×%Ô%ˆ	Ü”hÕØ=F×=QÑ=QˆH×Ñ 	§¡Ñ/Ô:÷  Ññ &ð —}‘}€HÔÜ  Õ1÷  Öús   ª)A<Á<
B	c                ó€   • [        X5        UR                  U l        UR                  S;  a  UR                  U l        g g )N)Nz...)r   r#   Úvalue)Ú	attributer   s     r   Ú_merge_attribute_stubsr,   (   s4   € Ü˜9Ô,Ø ×+Ñ+€IÔØ‡{�{˜-Ó'ØŸ+™+ˆ	�ð (r   c                ó0   • [        X5        [        X5        g r   )r   r   )Ú
type_aliasr   s     r   Ú_merge_type_alias_stubsr/   /   s   € Ü˜:Ô-Ü  Õ3r   c                ón   • U R                   (       d$  UR                   (       a  UR                   U l         g g g r   )Ú	docstring©Úobjr   s     r   r   r   4   s!   € Ø�=�=˜UŸ_Ÿ_ØŸ™ˆ�ð -ˆ=r   c                ón   • U R                   (       d$  UR                   (       a  UR                   U l         g g g r   )Útype_parametersr2   s     r   r   r   9   s)   € Ø×× 5×#8×#8Ø#×3Ñ3ˆÕð $9Ðr   c                ó  • [        UR                  R                  5       5       HL  u  p#U(       a3  [        [        5         [        U R                  U5      U5        S S S 5        UR                  U	 MN     g ! , (       d  f       N = fr   )ÚlistÚ	overloadsÚitemsr   r"   Ú_merge_overload_annotationsÚ
get_member)r3   r   Úfunction_namer8   s       r   r   r   >   sX   € Ü$(¨¯©×)>Ñ)>Ó)@Ö$AÑ ˆÞÜœ(Õ#Ü+¨C¯N©N¸=Ó,IÈ9ÔU÷ $à�O‰O˜MÒ*ò	 %Bç#Õ#ús   ¿A5Á5
B	c                ód   • [        U 5      S:X  a  U S   $ U (       a  [        R                  " U SS9$ g )Né   r   Ú|)Úop)Úlenr	   Ú	_to_binopr   s    r   Ú_merge_annotationsrC   F   s0   € Ü
ˆ;Ó˜1ÓØ˜1‰~ÐÞÜ�~Š~˜k¨cÑ2Ð2Ør   c                ó  • Xl         U R                   Hº  nUR                  b  M  [        5       n/ nU H†  n[	        [
        5         UR                  UR                     R                  n[        U5      n[        U[        5      (       a(  Xs;  a#  UR                  " U5        UR                  U5        S S S 5        Mˆ     [        U5      Ul        M¼     U R                  c�  [        5       n/ nU Hl  n[        UR                  5      n[        UR                  [        5      (       d  M9  Xs;  d  M@  UR                  UR                  5        UR                  U5        Mn     [        U5      U l        g g ! , (       d  f       GMK  = fr   )r8   r!   r#   Úsetr   r"   r$   ÚstrÚ
isinstancer	   ÚappendÚaddrC   r%   )	r&   r8   r'   Úseenr   Úoverloadr#   Ústr_annotationÚreturn_annotationss	            r   r:   r:   N   s3  € Ø"ÔØ×(Ô(ˆ	Ø×ÑÓ'Ü“5ˆDØˆKÛ%�ÜœhÕ'Ø!)×!4Ñ!4°Y·^±^Ñ!D×!OÑ!O�JÜ%(¨£_�NÜ! *¬d×3Ñ3¸Ó8RØ#×*Ò*¨:Ô6ØŸ™ Ô0÷ (Ñ'ñ &ô $6°kÓ#BˆIÖ ñ )ð ×ÑÑÜ‹uˆØÐÛ!ˆHÜ  ×!1Ñ!1Ó2ˆNÜ˜(×*Ñ*¬D×1Ó1°nÕ6PØ"×)Ñ)¨(×*:Ñ*:Ô;Ø—‘˜Ö(ñ	 "ô
 .Ð.@ÓAˆÕð  ÷ (×'ús   ÁA,E.Å.
E>c                ó   • U R                   R                  UR                   5        UR                  b  UR                  U l        UR                  R	                  5        GHY  u  p#X R                  ;   Ga+  UR
                  (       a  M)  U R                  U5      n[        [        [        5         UR                  UR                  La>  [        R                  " SUR                  5        U R                  UR                  U5        O�UR                   (       a  [#        XC5        OsUR$                  (       a  ['        XC5        OVUR(                  (       a  [+        XC5        O9UR,                  (       a  [/        XC5        OUR0                  (       a  [3        XC5        S S S 5        GMA  SUl        U R                  X#5        GM\     g ! , (       d  f       GMo  = f)Nz6Source object `%s` will be overwritten by stub object.F)ÚimportsÚupdateÚexportsÚmembersr9   Úis_aliasr;   r   r   r   Úkindr
   ÚdebugÚpathÚ
set_memberr$   Ú	is_moduler   Úis_classr   Úis_functionr(   Úis_attributer,   Úis_type_aliasr/   Úruntime)r3   r   Úmember_nameÚstub_memberÚ
obj_members        r   r   r   g   s<  € à‡K�K×Ñ�u—}‘}Ô%ð ‡}�}Ñ Ø—m‘mˆŒà$)§M¡M×$7Ñ$7×$9Ñ ˆØŸ+™+Ô%ð ×#×#ÙØŸ™¨Ó4ˆJÜÔ.Ô0@ÕAð
 —?‘?¨+×*:Ñ*:Ò:ô —L’LØPØ"Ÿ™ôð —N‘N ;×#3Ñ#3°[ÕAØ×)×)Ü'¨
Õ@Ø×(×(Ü& zÕ?Ø×+×+Ü)¨*ÕBØ×,×,Ü*¨:ÕCØ×-×-Ü+¨JÔD÷- BÒAð0 #(ˆKÔØ�N‰N˜;×4òC %:÷ B×Aús   Â,C(F=Æ=
G	c                ó  • [         R                  " SU R                  UR                  5        U R                  R                  S:X  a  U nUnO*UR                  R                  S:X  a  UnU nO[	        S5      e[        X25        U$ )z÷Merge stubs into a module.

Parameters:
    mod1: A regular module or stubs module.
    mod2: A regular module or stubs module.

Raises:
    ValueError: When both modules are regular modules (no stubs is passed).

Returns:
    The regular module.
zTrying to merge %s and %sz.pyiz1cannot merge regular (non-stubs) modules together)r
   rU   ÚfilepathÚsuffixÚ
ValueErrorr   )Úmod1Úmod2r   r   s       r   Úmerge_stubsrg   “   sn   € ô ‡L‚LÐ,¨d¯m©m¸T¿]¹]ÔKØ‡}�}×Ñ˜vÓ%ØˆØ‰Ø	�‰×	Ñ	 Ó	'ØˆØ‰äÐLÓMÐMÜ˜Ô&Ø€Mr   N)r   r   r   r   ÚreturnÚNone)r   r   r   r   rh   ri   )r&   r   r   r   rh   ri   )r+   r   r   r   rh   ri   )r.   r   r   r   rh   ri   )r3   r   r   r   rh   ri   )r3   úClass | Function | TypeAliasr   rj   rh   ri   )r3   úModule | Classr   rk   rh   ri   )r   zSequence[Expr]rh   zExpr | None)r&   r   r8   zlist[Function]rh   ri   )re   r   rf   r   rh   r   )"Ú
__future__r   Ú
contextlibr   Útypingr   Úgriffe._internal.exceptionsr   r   Úgriffe._internal.expressionsr	   Úgriffe._internal.loggerr
   Úcollections.abcr   Úgriffe._internal.modelsr   r   r   r   r   r   r   r   r(   r,   r/   r   r   r   rC   r:   r   rg   © r   r   Ú<module>ru      sc   ðõ #å Ý  ç NÝ -Ý *æÝ(ç]×]ô(ô(ô2ô&ô4ô
(ô
4ô
+ôôBô2)5õXr   