+
        n4                        ^ 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# )    N)TYPE_INVALID)generate_doc_string)InterfaceInfo
ObjectInfo
StructInfo	VFuncInforegister_interface_infohook_up_vfunc_implementation
GInterface)_gi)_propertyhelper)_signalhelperc                 ~    \         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]))resublower)names1s   & //usr/lib64/python3.14/site-packages/gi/types.py
snake_caser   *   s2    	#Xt	4B66&"5;;==    c                   D   a  ] tR t^/t o R tR tR tR tR tR t	Rt
V tR# )	MetaClassHelperc                    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classmethod	is_methodstaticmethodsetattr)clsmethod_infor   s   &  r   _setup_methodsMetaClassHelper._setup_methods0   s`    <<335K''D))++)+6 **,,*;7C{+ 6r   c                    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   get_class_structr   r   hasattrr#   r    )r$   infoclass_structr%   r   s   &    r   _setup_class_methods$MetaClassHelper._setup_class_methods9   sZ    ||,,.'335K''D3%%;{#;<	 6r   c           	         V P                   P                  4        FM  pVP                  4       P                  R R4      p\	        W\        VP                  VP                  4      4       KO  	  R# )-_N)r   
get_fieldsget_namereplacer#   property	get_value	set_value)r$   
field_infor   s   &  r   _setup_fieldsMetaClassHelper._setup_fieldsD   sQ    ,,113J&&(00c:DCx
(<(<j>R>RST 4r   c                    V P                   P                  4        F/  pVP                  4       pVP                  4       p\	        WV4       K1  	  R # r   )r   get_constantsr3   r6   r#   )r$   constant_infor   values   &   r   _setup_constants MetaClassHelper._setup_constantsI   s?     \\779M ))+D!++-ECu% :r   c                   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_FN__func__r   
get_vfuncsr1   TzMethod z() on class .z+ is ambiguous with methods in base classes z and )__dict__items
startswithcallable__mro__getattr
isinstancer   r*   r   r   get_type_namerD   r3   find_vfunc_info_in_interface	__bases__lenfind_vfunc_conflict_in_basesget_container	TypeErrorget_namespacer
   	__gtype__)r$   
vfunc_namepy_vfuncskip_ambiguity_check
vfunc_infobasemethod	base_namevambiguous_base	base_infos   &          r   _setup_vfuncs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                    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.GObjectObjectrB   )rF   getrL   r   
__module__r   rD   r#   )r$   
class_inforY   r   s   &   r   _setup_native_vfuncs$MetaClassHelper._setup_native_vfuncs   sz    
 \\%%j1
Z
J%G%G >>449Q$//1J,,-.DCz* 2r    N)r   re   __qualname____firstlineno__r&   r-   r9   r?   r`   rg   __static_attributes____classdictcell____classdict__s   @r   r   r   /   s+     ,	=U
&;Rz+ +r   r   c                 t   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   
issubclassr*   rL   r   r   rD   r3   rN   rO   )basesrV   rZ   vfuncs   &&  r   rN   rN      s     JdJ//4,, dmm]33113>>#z1 L 4
 -T^^ZHL- 0 r   c                 ^   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   rD   N)r*   r   rD   r3   rQ   rO   )rs   rr   klassvfuncsrV   r]   aklasss   &&     r   rQ   rQ      s    uj))1V1V**,^^%
Azz|z)aj  .e__EM  r   c                   0   a  ] tR t^t o RtR tR tRtV tR# )_GObjectMetaBasez8Metaclass for automatically registering GObject classes.c                    \         P                  WW#4       \        P                  ! V 4       \        P
                  ! V 4       V P                  V P                  4       R # r   )type__init__propertyhelperinstall_propertiessignalhelperinstall_signals_type_registerrF   )r$   r   rr   dict_s   &&&&r   r|   _GObjectMetaBase.__init__   s>    c.))#.$$S)3<<(r   c                    R V9   d   R# V P                   P                  R4      '       d   R# \        P                  ! WP	                  R4      4       R# )rU   Nzgi.overrides.__gtype_name__)re   rH   r   type_registerrd   )r$   	namespaces   &&r   r   _GObjectMetaBase._type_register   s?    )# >>$$_55#}}-=>?r   ri   N)	r   re   rj   rk   __doc__r|   r   rl   rm   rn   s   @r   ry   ry      s     B)
@ 
@r   ry   c                   L   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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)superr|   re   r   rT   r   r`   rL   r   r-   r&   r?   rg   r9   r   r	   
get_g_type)r$   r   rr   r   is_gi_definedis_python_defined	__class__s   &&&&  r   r|   GObjectMeta.__init__   s    e,>>-0J0J0LLL M!;3I3I!I $#,,
33((*   "$$&#,,
33!!#CLL-88'(?(?(AB 9 r   c                    \        V 4      # r   )mror$   s   &r   r   GObjectMeta.mro   s    3xr   c                    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. r   N)r   zgi.overrides)r   rF   rd   re   rH   r   r   )r$   docs   & r   r   GObjectMeta.__doc__  sY     +lly$/?J >>$$%GHH&s||44r   ri   )r   re   rj   rk   r   r|   r   r5   rl   rm   __classcell__r   ro   s   @@r   r   r      s,     5C0   r   r   c                d   . 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/
:   NNNz8Cannot create a consistent method resolution order (MRO):NNN)rO   listrJ   r   rS   appendremove)Crr   bases_of_subclassesrZ   subclass_bases	candidatesnot_heads   &       r   r   r     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                      R # r   ri   )argskwargss   *,r   nothingr   B  s    r   c                   F   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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 # )Nnew)r   r|   r   r   r   pytyper9   r&   r   r   r   get_argumentsget_sizer"   __new__r   )r$   r   rr   r   g_typer%   r   s   &&&&  r   r|   StructMeta.__init__I  s    e, ((*\!fmm&?<<335K**,,((E1$22448M8M8OST8T*;7  ' 6r   c                F    V \         8X  d   R # \        V P                  4      # )r   )r   r   r   r   s   &r   r   StructMeta.__doc__`  s    *"3<<00r   ri   )
r   re   rj   rk   r   r|   r5   rl   rm   r   r   s   @@r   r   r   F  s&     4. 1 1 1r   r   )r   
_constantsr   	docstringr   r   r   r   r   r   r	   r
   r   r   r   r}   r   r   r   r   rN   rQ   r{   ry   _install_metaclassr   r   r   r   ri   r   r   <module>r      s   ( 
 $ *    
J  / +>
m+ m+`8 @t @,   ' (,"O ,^,^	1 1r   