Ë
    çôfû&  ã                   óî   — d dl Z d dlmZ d dlZddlmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZmZ ddlmZmZmZmZm Z   ejB                  «       Z"i Z#d„ Z$d„ Z% G d	„ d
e&«      Z'd„ Z(y)é    N)ÚLocké   )Ú
RepositoryÚFunctionInfoÚRegisteredTypeInfoÚEnumInfoÚ
ObjectInfoÚInterfaceInfoÚConstantInfoÚ
StructInfoÚ	UnionInfoÚCallbackInfoÚStructÚBoxedÚFundamentalÚ	CCallbackÚenum_addÚenum_register_new_gtype_and_addÚ	flags_addÚ flags_register_new_gtype_and_addÚ
GInterface)ÚGObjectMetaÚ
StructMeta)Ú	TYPE_NONEÚ
TYPE_BOXEDÚTYPE_POINTERÚ	TYPE_ENUMÚ
TYPE_FLAGSc                 óZ  — | j                  «       }|sV| j                  «       }|r|j                  r|j                  S | j                  «       r|j	                  «       rt
        S t        S |j                  «       }|j                  «       }t        j                  d|z   «      }t        ||«      S ©Núgi.repository.)Ú
get_parentÚ
get_g_typeÚpytypeÚget_fundamentalÚis_instantiatabler   ÚobjectÚget_namespaceÚget_nameÚ	importlibÚimport_moduleÚgetattr)Úobject_infoÚparent_object_infoÚgtypeÚ	namespaceÚnameÚmodules         ú+/usr/lib/python3/dist-packages/gi/module.pyÚget_parent_for_objectr4   B   sš   € Ø$×/Ñ/Ó1Ðáð ×&Ñ&Ó(ˆÙ�U—\’\Ø—<‘<Ðà×&Ñ&Ô(¨U×-DÑ-DÔ-FÜÐô ˆà"×0Ñ0Ó2€IØ×&Ñ&Ó(€Dä×$Ñ$Ð%5¸	Ñ%AÓB€FÜ�6˜4Ó Ð ó    c                 óÚ   — g }| j                  «       D ]U  }|j                  «       }|j                  «       }t        j                  d|z   «      }|j                  t        ||«      «       ŒW |S r    )Úget_interfacesr(   r)   r*   r+   Úappendr,   )r-   Ú
interfacesÚinterface_infor0   r1   r2   s         r3   Úget_interfaces_for_objectr;   \   sn   € Ø€JØ%×4Ñ4Ó6ò 1ˆØ"×0Ñ0Ó2ˆ	Ø×&Ñ&Ó(ˆä×(Ñ(Ð)9¸IÑ)EÓFˆØ×Ñœ' &¨$Ó/Õ0ð1ð Ðr5   c                   ó*   — e Zd ZdZdd„Zd„ Zd„ Zd„ Zy)ÚIntrospectionModuleaU  An object which wraps an introspection typelib.

    This wrapping creates a python module like representation of the typelib
    using gi repository as a foundation. Accessing attributes of the module
    will dynamically pull them in and create wrappers for the members.
    These members are then cached on this introspection module.
    Nc                 ó,  — t         j                  ||«       || _        || _        d|z   | _        t         j                  | j                  «      }|g| _        | j                  €$t         j                  | j                  «      | _        t        «       | _	        y)z"Might raise gi._gi.RepositoryErrorr!   N)
Ú
repositoryÚrequireÚ
_namespaceÚ_versionÚ__name__Úget_typelib_pathÚ__path__Úget_versionr   Ú_lock)Úselfr0   ÚversionÚpaths       r3   Ú__init__zIntrospectionModule.__init__o   st   € ô 	×Ñ˜9 gÔ.Ø#ˆŒØˆŒØ(¨9Ñ4ˆŒä×*Ñ*¨4¯?©?Ó;ˆØ˜ˆŒà�=‰=Ð Ü&×2Ñ2°4·?±?ÓCˆDŒMä“Vˆ�
r5   c           
      óÞ  ‡— t         j                  | j                  |«      }|st        | j                  ›d|›�«      ‚t        |t        «      �rw|j                  «       }| j                  5  |j                  }|�€1|j                  «       r8|j                  t        «      rt        |«      }nN|t        k(  sJ ‚t        |«      }n7|j                  t         «      rt#        |«      }n|t        k(  sJ ‚t%        |«      }||_        d|j)                  «       z   |_        dj-                  dd«      }|j/                  «       D ]B  }|j1                  «       j3                  |«      }t5        || ||j7                  «       «      «       ŒD |j9                  «       D ]  }t5        ||j                  |«       Œ |t        k7  r||_	        d d d «       �n t        |t:        «      �r°|j                  «       }t        |t<        «      r5t?        |«      ŠtA        ˆfd„tC        |«      D «       «      }	‰f|	z   }
tD        }nãt        |tF        «      rtH        f}
tD        }nÅt        |tJ        «      rtL        f}
tD        }n§t        |tN        tP        f«      r†|j                  tR        «      rtT        f}
nb|j                  tV        «      s|t        k(  s|jX                  |k(  rtZ        f}
n-t]        d|j)                  «       ›d|j_                  «       ›�«      ‚t`        }ntc        |«      ‚| j                  5  |t        k7  r,|j                  }|�||
vr|| jd                  |<   |cd d d «       S |d| j                  z   |d	œ} |||
|«      }|t        k7  r||_	        d d d «       n?t        |tf        «      r|}n,t        |th        «      r|j7                  «       }ntc        |«      ‚| jd                  |<   |S # 1 sw Y   ŒxY w# 1 sw Y   Œ&xY w)
Nz object has no attribute r!   Ú ÚabcdefgjhijklmnopqrstuvwxyzÚABCDEFGJHIJKLMNOPQRSTUVWXYZc              3   ó:   •K  — | ]  }t        ‰|«      s|–— Œ y ­w©N)Ú
issubclass)Ú.0Ú	interfaceÚparents     €r3   ú	<genexpr>z2IntrospectionModule.__getattr__.<locals>.<genexpr>±   s$   øè ø€ ò #I°Ü*4°V¸YÔ*Gô $-ñ #Iùs   ƒzunable to create a wrapper for ú.)Ú__info__Ú
__module__Ú	__gtype__)5r?   Úfind_by_namerA   ÚAttributeErrorrC   Ú
isinstancer   r#   rG   r$   Úis_flagsÚis_ar   r   r   r   r   r   r   rX   r(   rY   Ú	maketransÚ
get_valuesÚget_name_unescapedÚ	translateÚsetattrÚ	get_valueÚget_methodsr   r	   r4   Útupler;   r   r   r   r
   r   r   r   r   r   r   Úfundamentalr   Ú	TypeErrorr)   r   ÚNotImplementedErrorÚ__dict__r   r   )rH   r1   ÚinfoÚg_typeÚwrapperÚascii_upper_transÚ
value_infoÚ
value_nameÚmethod_infor9   ÚbasesÚ	metaclassÚtype_Údict_rU   s                 @r3   Ú__getattr__zIntrospectionModule.__getattr__   s’  ø€ Ü×&Ñ& t§¡¸Ó=ˆÙÜ Ø!%§£±ð"6ó 7ð 7ô �dœHÕ%Ø—_‘_Ó&ˆFà—‘ñ !,Ø Ÿ-™-�à‘?Ø—}‘}”Ø!Ÿ;™;¤zÔ2Ü&/°Ó&7™Gà#)¬YÒ#6Ð6Ð#6Ü&FÀtÓ&L™Gà!Ÿ;™;¤yÔ1Ü&.¨vÓ&6™Gà#)¬YÒ#6Ð6Ð#6Ü&EÀdÓ&K˜Gà'+�GÔ$Ø)9¸D×<NÑ<NÓ<PÑ)P�GÔ&ð
 )+¯©Ø5Ø5ó)7Ð%ð '+§o¡oÓ&7ò V˜
Ø%/×%BÑ%BÓ%D×%NÑ%NÐO`Ó%a˜
Ü ¨±W¸Z×=QÑ=QÓ=SÓ5TÕUðVð (,×'7Ñ'7Ó'9ò L˜Ü ¨×)=Ñ)=¸{ÕKðLð œYÒ&Ø$+�F”M÷C!,ñ !,ôF ˜Ô0Õ1Ø—_‘_Ó&ˆFô ˜$¤
Ô+Ü.¨tÓ4�Ü"ó #IÔ>WÐX\Ó>]ô #Ió I�
à˜	 JÑ.�Ü'‘	Ü˜D¤,Ô/Ü"˜�Ü'‘	Ü˜D¤-Ô0Ü#˜�Ü'‘	Ü˜D¤:¬yÐ"9Ô:Ø—;‘;œzÔ*Ü"˜H‘EØ—k‘k¤,Ô/Ø¤	Ò)Ø×(Ñ(¨FÒ2Ü#˜I‘Eå#Èd×N`ÑN`ÕNbÐdh×dqÑdqÔdsÐ$tÓuÐuÜ&‘	ä)¨$Ó/Ð/à—‘ñ ,ð œYÒ&Ø"ŸM™M�EØÐ(¨U¸%Ñ-?Ø.3˜Ÿ™ dÑ+Ø$÷,ñ ,ð !%Ø"2°T·_±_Ñ"DØ!'ñ�ñ
 $ D¨%°Ó7�ð œYÒ&Ø$+�F”M÷+,ð ,ô. ˜œlÔ+Ø‰GÜ˜œlÔ+Ø—n‘nÓ&‰Gä% dÓ+Ð+ð
 &ˆ�‰�dÑØˆ÷E!,ð !,ú÷@,ð ,ús   Á+EOÌ,O#Í-O#ÏO Ï#O,c                 óf   — t         j                  | j                  «      }d| j                  ›d|›d�S )Nz<IntrospectionModule z from ú>)r?   rD   rA   )rH   rJ   s     r3   Ú__repr__zIntrospectionModule.__repr__ì   s%   € Ü×*Ñ*¨4¯?©?Ó;‰Ø59·_³_ÂdÐKÐKr5   c                 ó  — t        t        | j                  «      «      }|j                  | j                  j                  «       «       t        j                  | j                  «      }|j                  d„ |D «       «       t        |«      S )Nc              3   ó\   K  — | ]$  }t        |t        «      s|j                  «       –— Œ& y ­wrQ   )r]   r   r)   )rS   rl   s     r3   rV   z.IntrospectionModule.__dir__.<locals>.<genexpr>ú   s'   è ø€ ò :¨$Ü$ T¬<Ô8ð —m‘m—oñ :ùs   ‚*,)
ÚsetÚdirÚ	__class__Úupdaterk   Úkeysr?   Ú	get_infosrA   Úlist)rH   ÚresultÚnamespace_infoss      r3   Ú__dir__zIntrospectionModule.__dir__ð   sh   € ä”S˜Ÿ™Ó(Ó)ˆØ�‰�d—m‘m×(Ñ(Ó*Ô+ô %×.Ñ.¨t¯©Ó?ˆØ�‰ñ :°/ô :ô 	:ô �F‹|Ðr5   rQ   )rC   rY   Ú__qualname__Ú__doc__rK   rw   rz   r†   © r5   r3   r=   r=   g   s   „ ñóò kòZLór5   r=   c                 ó|   — | t         v r	t         |    S t        j                  | «      }t        | |«      }|t         | <   |S )z€
    :Returns:
        An object directly wrapping the gi module without overrides.

    Might raise gi._gi.RepositoryError
    )Ú_introspection_modulesÚgiÚget_required_versionr=   )r0   rI   r2   s      r3   Úget_introspection_modulerŽ      sD   € ð Ô*Ñ*Ü% iÑ0Ð0ä×%Ñ% iÓ0€GÜ  ¨GÓ4€FØ(.Ô˜9Ñ%Ø€Mr5   ))r*   Ú	threadingr   rŒ   Ú_gir   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   Útypesr   r   Ú
_constantsr   r   r   r   r   Úget_defaultr?   r‹   r4   r;   r'   r=   rŽ   r‰   r5   r3   ú<module>r”      su   ðó. Ý ã 	÷÷ ÷ ÷ ÷ ñ ÷(÷õ ð $ˆZ×#Ñ#Ó%€
ð Ð ò!ò4ôV˜&ô Vórr5   