
    f^                        d dl Z d dlZd dlmZ d dlZd dlmZmZ 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 ej"                  j%                  d	      Zg Zd d
lmZ eZdD ]1  Z ee
e       e       e<    ed	edez          ej5                  e       3 dD ]^  Z ej6                         5   ej8                  de        ee
e       e       e<   ddd        ed	edez          ej5                  e       ` dD ]F  Zej;                  dd      d   Z ee
e       e       e<    ed	edez          ej5                  e       H dD ]F  Zej;                  dd      d   Z ee
e       e       e<    ed	edez          ej5                  e       H ej?                  d      Z ej?                  d      Z!ej?                  d      Z"ej?                  d      Z#ej?                  d      Z$ej?                  d      Z%ej?                  d      Z&ej?                  d      Z'ej?                  d      Z(ej?                  d      Z)ej?                  d      Z*ej?                  d      Z+ej?                  d       Z,ej?                  d!      Z-ej?                  d"      Z.ej?                  d#      Z/ej?                  d$      Z0ej?                  d%      Z1ej?                  d&      Z2ej?                  d'      Z3ej?                  d	      Z4ej?                  d(      Z5ej?                  d)      Z6ej?                  d*      Z7ej?                  d+      Z8ej?                  d,      Z9ejt                  jv                  Z<e'Z=eg d-z  Zd.D ]1  Z ee
e       e       e<    ed	edez          ej5                  e       3 d/D ]P  Zej;                  dd      d   Z eej|                  e       e       e<    ed	ed0ez          ej5                  e       R ej|                  j~                  ej|                  j                  z  ZA ed	d1d2       ej5                  d1       d3D ]P  Zej;                  dd      d   Z eej                  e       e       e<    ed	ed4ez          ej5                  e       R ej                  ZCej                  ZDej                  ZEej                  ZFej                  ZGej                  ZHej                  ZIej                  ZJej                  ZKej                  ZLeg d5z  Zd6d7iZMej                  ZNej                  ZOej                  ZPe
j                  ZQej                  ZReg d8z  Z G d9 d:ejt                        Z: ee:      Z:ej5                  d:       d; Zej5                  d<       d= ZSej5                  d>       d? ZTd@ ZUej5                  dA       dB ZVej5                  dC       dD ZWej5                  dE        edFg dG      ZXdbdHZYej5                  dI        G dJ dKeZ      Z[dL Z\ej5                  dM       dN Z]ej5                  dO       dP Z^ej5                  dQ       dbdRZ_ej5                  dS       dbdTZ`ej5                  dU       ej                  Zaej                  ZbedVdWgz  Z G dX dYeZ      ZcdZ Zd G d[ d\ej                        Ze eee      ZeeeZGed\d	gz  Z G d] d^ej                        Zf eef      Zfej5                  d^       ej                  Zgej                  Zhej                  ZiegZj ed	d_d`       eg daz  Zy# 1 sw Y   fxY w)c    N)
namedtuple)overridedeprecated_attr)GLib)PyGIDeprecationWarning)_propertyhelper)_signalhelper)_giGObject)_option)markup_escape_textget_application_nameset_application_nameget_prgnameset_prgname
main_depthfilename_display_basenamefilename_display_namefilename_from_utf8uri_list_extract_urisMainLoopMainContextmain_context_defaultsource_removeSourceIdleTimeoutPollFDidle_addtimeout_addtimeout_add_secondsio_add_watchchild_watch_addget_current_timespawn_asynczGLib.)*PRIORITY_DEFAULTPRIORITY_DEFAULT_IDLEPRIORITY_HIGHPRIORITY_HIGH_IDLEPRIORITY_LOWIO_INIO_OUTIO_PRIIO_ERRIO_HUPIO_NVALIO_STATUS_ERRORIO_STATUS_NORMALIO_STATUS_EOFIO_STATUS_AGAINIO_FLAG_APPENDIO_FLAG_NONBLOCKIO_FLAG_IS_READABLEIO_FLAG_IS_WRITEABLEIO_FLAG_IS_SEEKABLEIO_FLAG_MASKIO_FLAG_GET_MASKIO_FLAG_SET_MASKSPAWN_LEAVE_DESCRIPTORS_OPENSPAWN_DO_NOT_REAP_CHILDSPAWN_SEARCH_PATHSPAWN_STDOUT_TO_DEV_NULLSPAWN_STDERR_TO_DEV_NULLSPAWN_CHILD_INHERITS_STDINSPAWN_FILE_AND_ARGV_ZEROOPTION_FLAG_HIDDENOPTION_FLAG_IN_MAINOPTION_FLAG_REVERSEOPTION_FLAG_NO_ARGOPTION_FLAG_FILENAMEOPTION_FLAG_OPTIONAL_ARGOPTION_FLAG_NOALIASOPTION_ERROR_UNKNOWN_OPTIONOPTION_ERROR_BAD_VALUEOPTION_ERROR_FAILEDOPTION_REMAININGglib_versionignore)	G_MININT8	G_MAXINT8
G_MAXUINT8
G_MININT16
G_MAXINT16G_MAXUINT16
G_MININT32
G_MAXINT32G_MAXUINT32
G_MININT64
G_MAXINT64G_MAXUINT64_   )
G_MINFLOAT
G_MAXFLOATG_MINDOUBLEG_MAXDOUBLE
G_MINSHORT
G_MAXSHORTG_MAXUSHORTG_MININTG_MAXINT	G_MAXUINT	G_MINLONG	G_MAXLONG
G_MAXULONG	G_MAXSIZE
G_MINSSIZE
G_MAXSSIZEG_MINOFFSETG_MAXOFFSETinvalidvoid
GInterfacegcharguchargbooleangintguintglonggulonggint64guint64GEnumGFlagsgfloatgdouble
gchararraygpointerGBoxedGParamPyObjectGTypeGStrvGVariantGString)TYPE_INVALID	TYPE_NONETYPE_INTERFACE	TYPE_CHAR
TYPE_UCHARTYPE_BOOLEANTYPE_INT	TYPE_UINT	TYPE_LONG
TYPE_ULONG
TYPE_INT64TYPE_UINT64	TYPE_ENUM
TYPE_FLAGS
TYPE_FLOATTYPE_DOUBLETYPE_STRINGTYPE_POINTER
TYPE_BOXED
TYPE_PARAMTYPE_OBJECTTYPE_PYOBJECT
TYPE_GTYPE	TYPE_STRVTYPE_VARIANTTYPE_GSTRINGTYPE_UNICHAR
TYPE_VALUE)PidGErrorOptionGroupOptionContext)PARAM_CONSTRUCTPARAM_CONSTRUCT_ONLYPARAM_LAX_VALIDATIONPARAM_READABLEPARAM_WRITABLEzGObject.ParamFlags.PARAM_READWRITEzGObject.ParamFlags.READWRITE)SIGNAL_ACTIONSIGNAL_DETAILEDSIGNAL_NO_HOOKSSIGNAL_NO_RECURSESIGNAL_RUN_CLEANUPSIGNAL_RUN_FIRSTSIGNAL_RUN_LASTzGObject.SignalFlags.)
r   r~   r   rt   r   GObjectWeakRef
GParamSpecGPointerr   Warningzgeneric-c-marshallerT)featureslist_propertiesnewpygobject_versionthreads_inittype_registerc                   B    e Zd Zd	dZed        Zd Zd Zd Zd Z	d Z
y)
ValueNc                     t         j                  j                  |        |&| j                  |       || j	                  |       y y y N)GObjectModuler   __init__init	set_value)self
value_typepy_values      6/usr/lib/python3/dist-packages/gi/overrides/GObject.pyr   zValue.__init__   sD    $$T*!IIj!#x( $ "    c                 ,    t        j                  |       S r   )r
   _gvalue_get_typer   s    r   __g_typezValue.__g_type   s     ##D))r   c                     | j                   j                  t              st        j                  dt
        d       t        j                  | |       y )Nz2Calling set_boxed() on a non-boxed type deprecated   
stacklevel)_Value__g_typeis_ar   warningswarnr   r
   _gvalue_set)r   boxeds     r   	set_boxedzValue.set_boxed   s9    }}!!*-MMN0Q@
 	e$r   c                     | j                   j                  t              st        j                  dt
        d       t        j                  |       S )Nz2Calling get_boxed() on a non-boxed type deprecatedr   r   )r   r   r   r   r   r   r
   _gvalue_getr   s    r   	get_boxedzValue.get_boxed   s8    }}!!*-MMN0Q@t$$r   c                    | j                   }|t        k(  r| j                  |       y |t        k(  r| j	                  |       y |t
        k(  rBt        |t              s|t        d|t        |            t        j                  | |       y |t        k(  r| j                  |       y |j                  t              r| j!                  |       y |t"        k(  r| j%                  |       y |t&        k(  r| j)                  |       y |t*        k(  r| j-                  |       y 	 t        j                  | |       y # t        $ r |t.        k(  rt        d       w xY w)NzExpected string but got z+GObject.Value needs to be initialized first)r   r   set_charr   	set_ucharr   
isinstancestr	TypeErrortyper
   r   r   	set_paramr   r   	set_flagsr   set_pointerr   	set_gtyper   set_variantr   )r   r   gtypes      r   r   zValue.set_value   s   IMM(#j NN8$k!h,1E!)4>!; < <OOD(+j NN8$ZZ
#NN8$l"X&j NN8$l"X&h/ L(#$QRRs   "D9 9Ec                 8   | j                   }|t        k(  r| j                         S |t        k(  r| j	                         S |t
        k(  r| j                         S |j                  t              r| j                         S |j                  t              r| j                         S |t        k(  r| j                         S |t        k(  r| j                         S |t         k(  r| j#                         S 	 t%        j&                  |       S # t(        $ r |t*        k(  rY y  w xY wr   )r   r   get_charr   	get_ucharr   	get_paramr   r   get_enumr   	get_flagsr   get_pointerr   	get_gtyper   dup_variantr
   r   r   r   )r   r   s     r   	get_valuezValue.get_value  s    I==?"j >>##j >>##ZZ	"==?"ZZ
#>>##l"##%%j >>##l" ##%%t,, L(s   .D DDc                 X    d| j                   j                  d| j                         dS )Nz<Value (z) >)r   namer   r   s    r   __repr__zValue.__repr__$  s    $(MM$6$68HIIr   )NN)__name__
__module____qualname__r   propertyr   r   r   r   r   r    r   r   r   r      s6    ) * *
%%@:Jr   r   c                 ^    t         j                  |       }|t        k(  rt        d| z        |S )Nzunknown type name: %s)r   type_from_namer   RuntimeErrorr   type_s     r   r  r  ,  s0    ((.E2T9::Lr   r  c                 X    t         j                  |       }|t        k(  rt        d      |S )Nzno parent for type)r   type_parentr   r  )r  parents     r   r  r  6  s+    &&u-F/00Mr   r  c                     t        | d      r| j                  } | j                         s| j                         st	        d| z        y y )N	__gtype__z1type must be instantiable or an interface, got %s)hasattrr
  is_instantiatableis_interfacer   r  s    r    _validate_type_for_signal_methodr  @  sF    uk"""$U-?-?-AKeSTT .B$r   c                 B    t        |        t        j                  |       S r   )r  r   signal_list_idsr  s    r   r  r  G  s    $U+((//r   r  c                 <    t        |       }t        d |D              S )Nc              3   F   K   | ]  }t         j                  |        y wr   )r   signal_name).0is     r   	<genexpr>z$signal_list_names.<locals>.<genexpr>Q  s     ;!**1-;s   !)r  tuple)r  idss     r   signal_list_namesr  O  s    
%
 C;s;;;r   r  c                 D    t        |       t        j                  | |      S r   )r  r   signal_lookupr  s     r   r  r  W  s    $U+&&tU33r   r  SignalQuery)	signal_idr  itypesignal_flagsreturn_typeparam_typesc           
         |t        | |      } t        j                  |       }|J |j                  dk(  ry t	        |j                  |j
                  |j                  |j                  |j                  t        |j                              S )Nr   )r  r   signal_queryr  r  r  r  r   r!  r  r"  )
id_or_namer  ress      r   r$  r$  i  sy    ":u5


$
$Z
0C??
}} s}}coosyy''S__-/ /r   r$  c                       e Zd Zd Zd Zd Zy)_HandlerBlockManagerc                      || _         || _        y r   obj
handler_id)r   r+  r,  s      r   r   z_HandlerBlockManager.__init__  s    $r   c                      y r   r   r   s    r   	__enter__z_HandlerBlockManager.__enter__      r   c                 X    t         j                  | j                  | j                         y r   )r   signal_handler_unblockr+  r,  r   exc_type	exc_value	tracebacks       r   __exit__z_HandlerBlockManager.__exit__  s    ,,TXXtGr   Nr   r   r   r   r.  r6  r   r   r   r(  r(    s    %Hr   r(  c                 F    t         j                  | |       t        | |      S )a  Blocks the signal handler from being invoked until
    handler_unblock() is called.

    :param GObject.Object obj:
        Object instance to block handlers for.
    :param int handler_id:
        Id of signal to block.
    :returns:
        A context manager which optionally can be used to
        automatically unblock the handler:

    .. code-block:: python

        with GObject.signal_handler_block(obj, id):
            pass
    )r   signal_handler_blockr(  r*  s     r   r9  r9    s!    " &&sJ7Z00r   r9  c                 d    t         j                  | ||      \  }}}|r||fS t        |d|       )a%  Parse a detailed signal name into (signal_id, detail).

    :param str detailed_signal:
        Signal name which can include detail.
        For example: "notify:prop_name"
    :returns:
        Tuple of (signal_id, detail)
    :raises ValueError:
        If the given signal is unknown.
    z: unknown signal name: )r   signal_parse_name
ValueError)detailed_signalr  force_detail_quarkr&  r  details         r   r;  r;    sA     +<<_e=OQCF
&  %QRRr   r;  c                 P    t        || d      \  }}t        j                  ||       y )NT)r;  r   signal_remove_emission_hook)r+  r=  hook_idr  r?  s        r   remove_emission_hookrC    s%    )/3EIv--iAr   rC  c                 
    d|fS )NFr   ihintreturn_accuhandler_return	user_datas       r   signal_accumulator_first_winsrJ    s    >""r   rJ  c                     | |fS r   r   rE  s       r   signal_accumulator_true_handledrL    s    //r   rL  add_emission_hook
signal_newc                       e Zd Zd Zd Zd Zy)_FreezeNotifyManagerc                     || _         y r   )r+  )r   r+  s     r   r   z_FreezeNotifyManager.__init__  s	    r   c                      y r   r   r   s    r   r.  z_FreezeNotifyManager.__enter__  r/  r   c                 8    | j                   j                          y r   )r+  thaw_notifyr2  s       r   r6  z_FreezeNotifyManager.__exit__  s    r   Nr7  r   r   r   rP  rP    s    r   rP  c                 B     t        j                          fd       }|S )Nc                       | i |S r   r   )argskwargsfuncs     r   methz_signalmethod.<locals>.meth  s    T$V$$r   )	functoolswraps)rY  rZ  s   ` r   _signalmethodr]    s%     __T% %Kr   c                       e Zd Zd Zd ZeZeZeZeZeZ	eZ
eZeZeZeZeZeZeZeZej(                  j*                  Zej(                  j.                  Zej(                  j2                  Zej(                  j6                  ZeZeZeZeZej<                  j>                  Zej<                  j@                  Z ej<                  jB                  Z!ej<                  jD                  Z"ej<                  jF                  Z#ej<                  jH                  Z$ej<                  jJ                  Z%ej<                  jL                  Z&ej<                  jN                  Z'ej<                  jP                  Z(ej<                  jR                  Z)ej<                  jT                  Z*ej<                  jV                  Z+ej<                  jX                  Z,ej<                  jZ                  Z-ej<                  j\                  Z.ej<                  j^                  Z/ fdZ0d Z1e2Z3 e4ejj                        Z6 e4ejn                        Z8 e4ejn                        Z9 e4ejt                        Z; e4ejx                        Z=d Z>e>Z? xZ@S )Objectc                     t        d      )Nz%This method is currently unsupported.r  r   rW  kargss      r   _unsupported_methodzObject._unsupported_method  s    BCCr   c                     t        d      )NzIData access methods are unsupported. Use normal Python attributes insteadra  rb  s      r   _unsupported_data_methodzObject._unsupported_data_method  s     B C 	Cr   c                 >    t         t        |           t        |       S )a  Freezes the object's property-changed notification queue.

        :returns:
            A context manager which optionally can be used to
            automatically thaw notifications.

        This will freeze the object so that "notify" signals are blocked until
        the thaw_notify() method is called.

        .. code-block:: python

            with obj.freeze_notify():
                pass
        )superr_  freeze_notifyrP  r   	__class__s    r   ri  zObject.freeze_notify,  s     	fd)+#D))r   c                 f   |j                  dd      }|t        j                  j                  z  rt        j
                  j                  }nt        j
                  j                  }|t        j                  j                  z  r#t        |      dk7  rt        d|gz        fd}n} || ||g| S )a   Connect a callback to the given signal with optional user data.

        :param str detailed_signal:
            A detailed signal to connect to.
        :param callable handler:
            Callback handler to connect to the signal.
        :param *data:
            Variable data which is passed through to the signal handler.
        :param GObject.ConnectFlags connect_flags:
            Flags used for connection options.
        :returns:
            A signal id which can be used with disconnect.
        connect_flagsr   r^   zWUsing GObject.ConnectFlags.SWAPPED requires exactly one argument for user data, got: %sc                 X    t        |      }|j                         }|| gz   } |g| S r   )listpop)r+  rW  swaphandlers      r   new_handlerz(Object.connect_data.<locals>.new_handlerW  s4     Dzxxzse|t+d++r   )getr   ConnectFlagsAFTERr
   r   connect_afterconnectSWAPPEDlenr<  )r   r=  rr  datarX  flagsconnect_funcrs  s     `     r   connect_datazObject.connect_data>  s     

?A.=--333;;44L;;..L=--5554yA~  "GJN"P Q Q, "KD/;FFFr   c                     t        j                  | j                  j                  t        d       | j                  |      S )z-Deprecated, please use stop_emission_by_name.r   r   )r   r   stop_emission__doc__r   stop_emission_by_name)r   r=  s     r   r  zObject.stop_emissionr  s1    d((002HUVW))/::r   )Ar   r   r   rd  rf  get_data	get_qdataset_data
steal_datasteal_qdatareplace_datareplace_qdatabind_property_fullcompat_controlinterface_find_propertyinterface_install_propertyinterface_list_propertiesnotify_by_pspecwatch_closurer   r_  ref_refref_sink	_ref_sinkunref_unrefforce_floating_force_floatingr
   r   get_propertyget_propertiesset_propertyset_propertiesbind_propertyrx  rw  connect_objectconnect_object_afterdisconnect_by_funchandler_block_by_funchandler_unblock_by_funcemitchainweak_ref__copy____deepcopy__ri  r~  r9  handler_blockr]  r1  handler_unblocksignal_handler_disconnect
disconnecthandler_disconnectsignal_handler_is_connectedhandler_is_connectedsignal_stop_emission_by_namer  r  emit_stop_by_name__classcell__rk  s   @r   r_  r_    s/   DC (H(I'H)J*K+L,M -(N1!4 3)O'M ##D$$--I!!''F#**99O
C"HE(N ;;++L[[//N;;++L[[//NKK--Mkk!!GKK--M[[//N;;;;77KK==!kkAA;;DKKE{{##H{{##H;;++L*$#GR )M#M$H$HIO}FFGJ&}'N'NO()R)RS)-*T*TU;
 &r   r_  c                   $     e Zd Zd Z fdZ xZS )Bindingc                 >    t        j                  dt        d       | S )NzUsing parentheses (binding()) to retrieve the Binding object is no longer needed because the binding is returned directly from "bind_property.r   r   )r   r   r   r   s    r   __call__zBinding.__call__  s      d,	< r   c                     t         j                  t         j                  t         j                  fdk\  rt        t
        |          S t        | d      rt        d      t        | dd       t        t
        |           y )N)r   9      _unboundz$binding has already been cleared outT)
r   MAJOR_VERSIONMINOR_VERSIONMICRO_VERSIONrh  r  unbindr  r<  setattrrj  s    r   r  zBinding.unbind  sc     2 2D4F4FG:U$.004$CDDD*d+'4')r   )r   r   r   r  r  r  r  s   @r   r  r    s    	* 	*r   r  r   zGObject.Property)PropertySignalSignalOverrider   r   )kr[  r   collectionsr   	gi.modulegigi.overridesr   r   gi.repositoryr   r   r   propertyhelperr	   signalhelperr
   moduleget_introspection_moduler   __all__r   optionr   getattrglobalsappendcatch_warningssimplefiltersplitnew_namer  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
  r   r   
ParamFlagsREADABLEWRITABLEr   SignalFlagsr   r~   r   rt   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r$  objectr(  r9  r;  rC  rJ  rL  rM  rN  rP  r]  r_  r  r  r  r  r   r   r   r   <module>r     s  0   "  2  % 0 ,  		229=
 !		 D dD)GIdOItWt^4NN4 D" 
!	 	 	" .h(>?!$-	$. ItWt^4NN4-2G D zz#q!"%HdH-GIdOItWx%78NN4G D zz#q!"%HdH-GIdOItWx%78NN4 ++I6((0	--l;((1	))(3
++J7''/((1	((1	))(3
))(3
**95((1	))(3
))(3
**95**<8++J7))(3
))(3
**95,,Z8))'2
((1	++J7++I6  **
  * * > DdD)GIdOItWt^4NN41 Dzz#q!"%Hm66AGIdOIt%:X%EFNN4  **33%%& 	,.L M   !  D zz#q!"%Hm77BGIdOIt%;h%FGNN4 
			^^

++##^^
<<		
++   
 #D)%%	gg))   !!  B B[JM [J| 	 w     } U0
   !<
 " #4
   )*/& ~ 	H6 	H1* % &S& " #B
 % &#
 . /0
 0 1
 )) ^^
 . .6 F&]!! F&R 
&	
 Hi   *m## *& 7
 y  ""			,,  	:'9 : ? ?]. .s   *%\33\=	