+
    hvhn4  c                   s   ^ RI t ^RIHt ^RIHt ^RIHtHtHtH	t	H
t
HtHt ^RIHt ]]3 ^RIHt ^RIHt R t ! R	 R
4      tR tR t ! R R]4      t]P0                  ! ]4        ! R R]]4      tR tR t ! R R]]4      tR# )i    N)TYPE_INVALID)generate_doc_string)InterfaceInfo
ObjectInfo
StructInfo	VFuncInforegister_interface_infohook_up_vfunc_implementation
GInterface)_gi)_propertyhelper)_signalhelperc                 s~    \         P                  ! R RV 4      p\         P                  ! RRV4      P                  4       # )z(.)([A-Z][a-z]+)z\1_\2z([a-z0-9])([A-Z]))reZsubZlower)nameZs1   & //usr/lib64/python3.14/site-packages/gi/types.py
snake_caser   *   s2    	#Xt	4B66&"5;;==    c                   sD   a  ] tR t^/t o R tR tR tR tR tR t	Rt
V tR# )	MetaClassHelperc                s    V P                   P                  4        F^  pVP                  pVP                  4       '       d   \	        V4      pM!VP                  4       '       g   \        V4      p\        WV4       K`  	  R # N)__info__get_methods__name__is_constructorclassmethodZ	is_methodstaticmethodsetattr)clsmethod_infor      &  r   _setup_methodsZMetaClassHelper._setup_methods0   s`    <<335K''D))++)+6 **,,*;7C{+ 6r   c                s    V P                   pVP                  4       pVf   R # VP                  4        F7  pVP                  p\	        W4      '       d   K"  \        W\        V4      4       K9  	  R # r   )r   Zget_class_structr   r   hasattrr   r   )r   ZinfoZclass_structr   r   s   &    r   _setup_class_methodsZ$MetaClassHelper._setup_class_methods9   sZ    ||,,.'335K''D3%%;{#;<	 6r   c           	     s    V P                   P                  4        FM  pVP                  4       P                  R R4      p\	        W\        VP                  VP                  4      4       KO  	  R# )Z-_N)r   Z
get_fieldsget_nameZreplacer   property	get_valueZ	set_value)r   Z
field_infor   r   r   _setup_fieldsZMetaClassHelper._setup_fieldsD   sQ    ,,113J&&(00c:DCx
(<(<j>R>RST 4r   c                s    V P                   P                  4        F/  pVP                  4       pVP                  4       p\	        WV4       K1  	  R # r   )r   Zget_constantsr"   r$   r   )r   Zconstant_infor   Zvalue   &   r   _setup_constantsZ MetaClassHelper._setup_constantsI   s?     \\779M ))+D!++-ECu% :r   c                s   V P                   P                  4        EF-  w  rVP                  R 4      '       d   \        V4      '       g   K0  RpRpV P                   F  p\        WQR4      p\        VRV4      pVe   \        V\        4      '       d   Tp M\        VR4      '       d   \        VP                  R4      '       g   Kj  \        VP                  P                  4       4      pVP                  P                  4        F$  pVR V RVP                  4        28X  g   K   TpRp M	  V'       g   K   M	  Vf#   \        V P                  V\!        R 4      R 4      pVf   EKJ  V'       g   \#        W@P                  4      p	V	e   VP%                  4       p
\'        RV R	V P                  P)                  4        R
V P                  P                  4        RV
P)                  4        R
V
P                  4        RV	P                  P)                  4        R
V	P                  P                  4        24      h\+        W@P,                  V4       EK0  	  R# )do_FNZ__func__r   
get_vfuncsr!   TzMethod z() on class Z.z+ is ambiguous with methods in base classes z and )__dict__Zitems
startswithZcallable__mro__Zgetattr
isinstancer   r   r   r   Zget_type_namer)   r"   find_vfunc_info_in_interface	__bases__Zlenfind_vfunc_conflict_in_basesZget_container	TypeErrorget_namespacer   	__gtype__)r   
vfunc_nameZpy_vfuncZskip_ambiguity_check
vfunc_infobaseZmethodZ	base_namevZambiguous_baseZ	base_infos   &          r   _setup_vfuncsZMetaClassHelper._setup_vfuncsO   sU   $'LL$6$6$8 J((//x7I7I#(  J 48 V<%*VY*G*G!'JtZ00MM<9 9 &t}}'B'B'DE	113A!s9+Qqzz|n%EE%&
/3,	 4 :+ $: !9MM:c%jl#;
 % ,%A"MM&N &1$.$<$<$>	'%j\cll>X>X>Z=[[\]`]i]i]r]r]t\u v<<E<S<S<U;VVWXaXjXjXlWmmr  tB  tK  tK  tY  tY  t[  s\  \]  ^l  ^u  ^u  ^~  ^~  ^@  ]AB  -ZQu %9r   c                s    V P                   P                  R 4      pVe   \        V\        4      '       g   R# V P                  R8X  d   V P
                  R8X  d   R# VP                  4        F  pRVP
                   2p\        WV4       K   	  R# )r   Nzgi.repository.GObjectZObjectr(   )r*   getr-   r   
__module__r   r)   r   )r   Z
class_infor5   r   r&   r   _setup_native_vfuncsZ$MetaClassHelper._setup_native_vfuncs   sz    
 \\%%j1
Z
J%G%G >>449Q$//1J,,-.DCz* 2r    N)r   r:   __qualname____firstlineno__r   r    r%   r'   r8   r;   __static_attributes____classdictcell____classdict__   @r   r   r   /   s+     ,	=U
&;Rz+ +r   r   c                 st   V  F  pV\         J g)   \        V\         4      '       d   \        VR 4      '       g   K7  \        VP                  \
        4      '       d=   VP                  P                  4        F  pVP                  4       V8X  g   K  Vu u # 	  \        VP                  V4      pVf   K  Vu # 	  R# )r   N)
r   Z
issubclassr   r-   r   r   r)   r"   r.   r/   )basesr4   r6   vfuncs   &&  r   r.   r.      s     JdJ//4,, dmm]33113>>#z1 L 4
 -T^^ZHL- 0 r   c                 s^   V F  p\        VR 4      '       d   \        VP                  R4      '       g   K3  VP                  P                  4       pV P                  4       pV F&  pVP                  4       V8X  g   K  WP8w  g   K"  Vu u # 	  \	        WP
                  4      pVf   K  Vu # 	  R# )r   r)   N)r   r   r)   r"   r0   r/   )rE   rD   ZklassZvfuncsr4   r7   Zaklasss   &&     r   r0   r0      s    uj))1V1V**,^^%
Azz|z)aj  .e__EM  r   c                   s0   a  ] tR t^t o RtR tR tRtV tR# )_GObjectMetaBasez8Metaclass for automatically registering GObject classes.c                s    \         P                  WW#4       \        P                  ! V 4       \        P
                  ! V 4       V P                  V P                  4       R # r   )type__init__propertyhelperZinstall_propertiessignalhelperZinstall_signals_type_registerr*   )r   r   rD   dict_s   &&&&r   rH   Z_GObjectMetaBase.__init__   s>    c.))#.$$S)3<<(r   c                s    R V9   d   R# V P                   P                  R4      '       d   R# \        P                  ! WP	                  R4      4       R# )r3   Nzgi.overrides.Z__gtype_name__)r:   r+   r	   Ztype_registerr9   )r   Z	namespaces   &&r   rK   Z_GObjectMetaBase._type_register   s?    )# >>$$_55#}}-=>?r   r<   N)	r   r:   r=   r>   __doc__rH   rK   r?   r@   rA   rC   r   rF   rF      s     B)
@ 
@r   rF   c                   sL   a a ] tR t^t oRtV 3R ltR t]R 4       tRtVt	V ;t
# )GObjectMetaz+Meta class used for GI GObject based types.c                s  < \         SV `  WV4       R pV P                  RV P                  P	                  4       ,           8X  d   RpR pV'       g"   V P                  \
        P                  8w  d   RpV'       d   V P                  4        R# V'       d   \        V P                  \        4      '       d   V P                  4        V P                  4        V P                  4        V P                  4        \        V P                  \        4      '       d   V P                  4        R# \        V P                  \        4      '       d&   \        V P                  P!                  4       4       R# R# R# )Fgi.repository.TN)superrH   r:   r   r2   rN   r8   r-   r   r    r   r'   r;   r%   r   r   
get_g_type)r   r   rD   rL   Zis_gi_definedZis_python_defined	__class__   &&&&  r   rH   ZGObjectMeta.__init__   s    e,>>-0J0J0LLL M!;3I3I!I $#,,
33((*   "$$&#,,
33!!#CLL-88'(?(?(AB 9 r   c                s    \        V 4      # r   )mror      &r   rT   ZGObjectMeta.mro   s    3xr   c                s    V \         8X  d   R# V P                  P                  RR4      pVe   V# V P                  P	                  R4      '       d   \        V P                  4      # R# )zFMeta class property which shows up on any class using this meta-class. rM   N)rO   zgi.overrides)rN   r*   r9   r:   r+   r   r   )r   Zdocr   r   rM   ZGObjectMeta.__doc__  sY     +lly$/?J >>$$%GHH&s||44r   r<   )r   r:   r=   r>   rM   rH   rT   r#   r?   r@   __classcell__rR   rB      @@r   rN   rN      s,     5C0   r   rN   c                sd   . pV ..pV P                   '       dN   V P                    F   pV\        VP                  4      .,          pK"  	  V\        V P                   4      .,          pV'       d   V FM  pV^ ,          pV Uu. uF  qeVR,          9   g   K  VNK  	  ppV'       d   \        VP                   9  d   RpKM   M	  Xf   \	        R4      hVP                  V4       VR,           F;  pV'       g   K  V^ ,          V8X  g   K  V^  V'       d   K*  VP                  V4       K=  	  K  V# u upi )aD  Compute the class precedence list (mro) according to C3, with GObject
interface considerations.

We override Python's MRO calculation to account for the fact that
GObject classes are not affected by the diamond problem:
http://en.wikipedia.org/wiki/Diamond_problem

Based on http://www.python.org/download/releases/2.3/mro/
:i   NNNz8Cannot create a consistent method resolution order (MRO):NNN)r/   Zlistr,   r   r1   ZappendZremove)ZCrD   Zbases_of_subclassesr6   Zsubclass_basesZ	candidateZsZnot_heads   &       r   rT   rT     s    E3%{{{KKD  D$6#77   	Q[[ 122
1N&q)I#6M#6aqu:L#6HMJi.A.AA 	 2 VWWY1!44N~."3y"@"1%%~'..~>	 5 L# Ns    D-D-c                  s    R # r   r<   )ZargsZkwargss   *,r   nothingr[   B  s    r   c                   sF   a a ] tR tRt oRtV 3R lt]R 4       tRtVtV ;t	# )
StructMetaiF  z*Meta class used for GI Struct based types.c                s  < \         SV `  WV4       V P                  P                  4       pV\        8w  d   VP
                  e   R # V P                  4        V P                  4        V P                  P                  4        F  pVP                  4       '       g   K  VP                  R8X  g   K.  VP                  4       '       d"   V P                  P                  4       ^ 8X  g   Ke  \        V4      V n        \        V n         R # 	  R # )NZnew)rP   rH   r   rQ   r    Zpytyper%   r   r   r   r   Zget_argumentsZget_sizer   Z__new__r[   )r   r   rD   rL   Zg_typer   rR   rS   r   rH   ZStructMeta.__init__I  s    e, ((*\!fmm&?<<335K**,,((E1$22448M8M8OST8T*;7  ' 6r   c                sF    V \         8X  d   R # \        V P                  4      # )rW   )r\   r   r   rU   rV   r   rM   ZStructMeta.__doc__`  s    *"3<<00r   r<   )
r   r:   r=   r>   rM   rH   r#   r?   r@   rX   rY   rZ   r   r\   r\   F  s&     4. 1 1 1r   r\   )r   Z
_constantsr    Z	docstringr   r	   r   r   r   r   r   r   r   rW   r
   rI   r   rJ   r   r   r.   r0   rG   rF   Z_install_metaclassrN   rT   r[   r\   r<   r   r   <module>r]      s   ( 
 $ *    
J  / +>
m+ m+`8 @t @,   ' (,"O ,^,^	1 1r   