
    fu                        d dl Z d dlZd dlZddlmZmZ ddlmZ ddlm	Z	m
Z
mZmZ ddlmZmZmZ d dlmZmZ  ed      Zg Zd d	lmZ e ej1                  d
       d dlmZ d dlmZ eZej8                  Zej:                  Zej<                  Zej>                  Zd Z d Z!d Z"de_#        de_$        ej6                  jJ                  e_%        e!e_&         e'e"      e_(        eg dz  Z G d de)      Z*dddddddddddddd Z+ G d! d"ejX                        Z,d# Z- e.e,de-       ej1                  d"       did%Z/ej1                  d&       d'D ]C  Z0d(e0z   Z1 ede1d)e0z           e2ejf                  d*e0z          e4       e1<   ej1                  e1       E d+D ]4  Z0 e2ejj                  e0       e4       d,e0z   <   ej1                  d,e0z          6 d-D ]@  Z0d.e0z   Z1 ede1d/e0z           e2ejl                  e0       e4       e1<   ej1                  e1       B ejl                  jn                  Z8 edd0d1       ej1                  d0       d2D ]@  Z0d3e0z   Z1 e2ejr                  e0       e4       e1<    ede1d4e0z          ej1                  e1       B d5D ]@  Z0d6e0z   Z1 e2ejt                  e0       e4       e1<    ede1d7e0z          ej1                  e1       B d8D ]@  Z0d9e0z   Z1 e2ejv                  e0       e4       e1<    ede1d:e0z          ej1                  e1       B d;D ]@  Z0d<e0z   Z1 ede1d=e0z           e2ejx                  e0       e4       e1<   ej1                  e1       B d>D ]9  Z=e=j}                  d?d@      d$   Z1 e2ee=       e4       e1<   ej1                  e1       ;  G dA dBej~                        Z? ee?      Z?ej1                  dB        G dC dDej                        Z@ ee@      Z@ej1                  dD        G dE dFej                        ZA eeA      ZAej1                  dF        G dG dHeA      ZBej1                  dH        G dI dJeA      ZCej1                  dJ       dK ZDej1                  dL       dM ZEej1                  dN       dO ZFej1                  dP       dQ ZGej1                  dR       dS ZHej1                  dT        G dU dVej                        ZI eeI      ZIej1                  dV        G dW dXej                        ZJ eeJ      ZJej1                  dX       dY ZKej1                  dZ       d[ ZLej1                  d\       d] ZM eeMd^      ZMej1                  d_       did`ZNej1                  da        eOedb      r'ej                  ZQej1                  dc        eddcdd       ej                  ej                  ej                  fZUej1                  de        eddedf       eZVej1                  dg        eddgdh       y)j    N   )wakeup_on_signalregister_sigint_fallback)get_introspection_module)variant_type_from_string
source_newsource_set_callbackio_channel_read)override
deprecateddeprecated_attr)PyGIDeprecationWarningversion_infoGLib)_optionoption)_gi)GErrorc                  <    t        j                  dt        d       y )NzmSince version 3.11, calling threads_init is no longer needed. See: https://wiki.gnome.org/PyGObject/Threadingr   )
stacklevel)warningswarnr        3/usr/lib/python3/dist-packages/gi/overrides/GLib.pythreads_initr   5   s    MM D(Q8r   c                     t        | j                  t              r t        j	                  | j                        }n| j                  }|| j
                  f||fk(  S N)
isinstancedomainstrr   quark_from_stringcode)selfr    r#   self_domain_quarks       r   gerror_matchesr&   ;   sI     $++s# 224;;? KKtyy)fd^;;r   c                 F    t         j                  |       }t        |||      S r   )r   quark_to_stringr   )r    messager#   domain_quarks       r   gerror_new_literalr+   E   s!    ''/L'<..r   Errorzgi.repository.GLib)r   r,   OptionContextOptionGroupPidspawn_asyncr   c                   d   e Zd Zej                  j
                  ej                  j                  ej                  j                  ej                  j                  ej                  j                  ej                  j                  ej                  j                  ej                  j                  ej                  j                  ej                  j                  ej                  j                  ej                  j                   ej                  j"                  ej                  j$                  dZd Zy)_VariantCreator)bynqiuxthdsogvc                    t         j                  |      }|| j                  v r | j                  |   |      S t         j                  j	                  |      }||j                         S |j                         rM|j                  | j                  |j                         j                         |             |j                         S 	 t        |       |j                         r-|j                         t        |      k7  rt        d|d|      |j!                         rt        |      dk7  rt        d|d|      |j#                         rv|j                         j                         }t%        |t&              r|j)                         }|D ]#  }|j                  | j                  ||             % |j                         S |dd }|D ]J  }t+        |      j                         }|j                  | j                  ||             |t        |      d }L |j                         S # t        $ r t        d|d|      w xY w)aB  Create a GVariant object from given format and a value that matches
        the format.

        This method recursively calls itself for complex structures (arrays,
        dictionaries, boxed).

        Returns the generated GVariant.

        If value is None it will generate an empty GVariant container type.
        NzJCould not create array, tuple or dictionary entry from non iterable value  z,Tuple mismatches value's number of elements r   z*Dictionary entries must have two elements    )r   VariantType_LEAF_CONSTRUCTORSVariantBuildernewendis_maybe	add_value_createelement
dup_stringiter	TypeErroris_tuplen_itemslenis_dict_entryis_arrayr   dictitemsr   )	r$   formatvaluegvtypebuilderelement_typer7   remainer_formatdups	            r   rK   z_VariantCreator._createi   s     !!&)T,,,24**62599 %%))&1=;;= ??dll6>>+;+F+F+H%PQ;;= 	-K
 ??!1SZ!?SY[`abb!c%jAoQWY^_``??!>>+668L%& A!!$,,|Q"?@A {{} %QRjO =.?JJL!!$,,sA"67"1#c()"<=
 {{}-  	-#U, - -	-s   H) )IN)__name__
__module____qualname__r   Variantnew_booleannew_byte	new_int16
new_uint16	new_int32
new_uint32	new_int64
new_uint64
new_handle
new_double
new_stringnew_object_pathnew_signaturenew_variantrE   rK   r   r   r   r2   r2   V   s     \\%%\\""\\##\\$$\\##\\$$\\##\\$$\\$$\\$$\\$$\\))\\''\\%%"0r   r2   get_booleanget_byte	get_int16
get_uint16	get_int32
get_uint32	get_int64
get_uint64
get_handle
get_double
get_string)r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   c                   z    e Zd Zd Zed        Zd Zd Zd Zd Z	d Z
d Zd	 Zed
        Zd Zd Zd Zd Zd Zy)ra   c                     t         j                  j                  |      st        d|      t	               }|j                  ||      }||_        |S )a  Create a GVariant from a native Python object.

        format_string is a standard GVariant type signature, value is a Python
        object whose structure has to match the signature.

        Examples:
          GLib.Variant('i', 1)
          GLib.Variant('(is)', (1, 'hello'))
          GLib.Variant('(asa{sv})', ([], {'foo': GLib.Variant('b', True),
                                          'bar': GLib.Variant('i', 2)}))
        z#Invalid GVariant format string '%s')r   rD   string_is_validrO   r2   rK   format_string)clsr~   rX   creatorr@   s        r   __new__zVariant.__new__   sJ     //>A=QQ!#OOM51'r   c                  @    t         j                  j                  |       S r   )r   ra   	new_tuple)elementss    r   r   zVariant.new_tuple   s    ||%%h//r   c                 D    	 | j                          y # t        $ r Y y w xY wr   )unrefImportErrorr$   s    r   __del__zVariant.__del__   s$    		JJL 	 	    	c                 $    | j                  d      S NT)print_r   s    r   __str__zVariant.__str__   s    {{4  r   c                     t        | d      r| j                  }n| j                         }d|d| j                  d      dS )Nr~   zGLib.Variant('z', F))hasattrr~   get_type_stringr   )r$   fs     r   __repr__zVariant.__repr__   s:    4)""A$$&A+,dkk%.@AAr   c                 D    	 | j                  |      S # t        $ r Y yw xY wNFequalrO   r$   others     r   __eq__zVariant.__eq__   s(    	::e$$ 		r   c                 F    	 | j                  |       S # t        $ r Y yw xY wr   r   r   s     r   __ne__zVariant.__ne__   s+    	zz%((( 		s    	  c                 T    t        | j                         | j                         f      S r   )hashr   unpackr   s    r   __hash__zVariant.__hash__   s#     T))+T[[];<<r   c                      j                         }t        j                  |      }|r t         |             S |j	                  d      r+t         fdt         j                               D              S |j	                  d      rri }t         j                               D ]R  } j                  |      }|j                  d      j                         ||j                  d      j                         <   T |S |j	                  d      rDt         j                               D cg c]!  } j                  |      j                         # c}S |j	                  d      r j                         j                         S |j	                  d      r0 j                         sy	 j                  d      j                         S t        d
|z         c c}w )z1Decompose a GVariant into a native Python object.(c              3   \   K   | ]#  }j                  |      j                          % y wr   )get_child_valuer   ).0r7   r$   s     r   	<genexpr>z!Variant.unpack.<locals>.<genexpr>   s-      < --a0779 <s   ),a{rC   r   ar@   mNzunsupported GVariant type )r   LEAF_ACCESSORSgetgetattr
startswithtuplerange
n_childrenr   r   get_variantNotImplementedError)r$   type_stringlaresr7   r@   s   `     r   r   zVariant.unpack   s    **, ,$74$&& !!#& <"'(9":< < < !!$'C4??,- S((+565F5Fq5I5P5P5RA%%a(//12S J !!#&"4??#457 ((+224 7 7 !!#&##%,,.. !!#&??$''*1133!">"LMM7s   %&Gc                 (   |dk(  rg S |j                  d      s|gS g }d}|dd }|rk|d   }||z  }|dd }|dv r|d	v r=d}|}|dk(  rd
}nd}|dkD  r*|d   }||z  }|dd }||k(  r|dz  }n
||k(  r|dz  }|dkD  r*|j                  |       d}|rk|S )a[  Return a list of the element signatures of the topmost signature tuple.

        If the signature is not a tuple, it returns one element with the entire
        signature. If the signature is an empty tuple, the result is [].

        This is useful for e. g. iterating over method parameters which are
        passed as a single Variant.
        z()r    rC   r   N)r   r   )r   {r   })r   append)	klass	signatureresultheadtailclevelupdowns	            r   split_signaturezVariant.split_signature  s     I##C(;2QAAID8DJJ9DDaiQAAID8DBw
d
 ai MM$D7 : r   c                 ,   | j                         dv rt        | j                               S | j                         j                  d      s| j                         j                  d      r| j	                         S t        d| j                         z        )Nr=   r>   r?   r   r   z'GVariant type %s does not have a length)r   rR   rz   r   r   rO   r   s    r   __len__zVariant.__len__K  sz    !_4t())!,,S1T5I5I5K5V5VWZ5[??$$ADDXDXDZZ[[r   c                    | j                         j                  d      r9	 | j                  |t        d            }|t	        |      |j                         S | j                         j                  d      s| j                         j                  d      ret        |      }|dk  r| j                         |z   }|dk  s|| j                         k\  rt        d      | j                  |      j                         S | j                         dv r| j                         j                  |      S t        d	| j                         z        # t        $ r t        | j                               D ]X  }| j                  |      }|j                  d      j                         |k(  s7|j                  d      j                         c cY S  t	        |      w xY w)
Nr   *r   rC   r   r   zlist index out of ranger   z#GVariant type %s is not a container)r   r   lookup_valuer   KeyErrorr   rO   r   r   r   int
IndexErrorrz   __getitem__)r$   keyvalr7   r@   s        r   r   zVariant.__getitem__S  s   !,,T2$''-Ec-JK;"3-'zz|# !,,S1T5I5I5K5V5VWZ5[c(CQwoo'#-Qw#!22 !:;;'',3355 !_4??$0055=@T@T@VVWW/  $ t01 =A,,Q/A((+224; 003::<<= sm#$s   7E	 	AG"!GGc                 "    | j                         S r   )__bool__r   s    r   __nonzero__zVariant.__nonzero__x  s    }}r   c                    | j                         dv r| j                         dk7  S | j                         dv r| j                         S | j                         dv rt        | j	                               dk7  S | j                         j                  d      s| j                         j                  d      r| j                         dk7  S t        | j                               S )N)	r4   r5   r6   r7   r8   r9   r:   r;   r<   r   )r3   r   r   r   )r   r   rp   rR   rz   r   r   boolr   s    r   r   zVariant.__bool__{  s    !%RR;;=A%%!U*##%%!_4t()Q..!,,S1T5I5I5K5V5VWZ5[??$))DKKM""r   c                 :   | j                         j                  d      st        d| j                         z        g }t        | j	                               D ]A  }| j                  |      }|j                  |j                  d      j                                C |S )Nr   z$GVariant type %s is not a dictionaryr   )r   r   rO   r   r   r   r   r   )r$   r   r7   r@   s       r   keyszVariant.keys  s    ##%006BTEYEYE[[\\t() 	6A$$Q'AJJq((+2245	6 
r   N)r^   r_   r`   r   staticmethodr   r   r   r   r   r   r   r   classmethodr   r   r   r   r   r   r   r   r   ra   ra      sr    & 0 0
!B=&NP / /j\XJ#r   ra   c                 J    t         j                  j                  |       \  }}|S r   )r   ra   rz   )r$   rX   lengths      r   rz   rz     s    LL++D1ME6Lr   r   c                     t        | t              r%t        j                  | j	                  d      |      S t        j                  | |      S )NUTF-8)r   bytesr   markup_escape_textdecode)textr   s     r   r   r     s;    $&&t{{7';VDD&&tV44r   r   )DESKTOP	DOCUMENTSDOWNLOADMUSICPICTURESPUBLIC_SHARE	TEMPLATESVIDEOSUSER_DIRECTORY_zGLib.UserDirectory.DIRECTORY_
DIRECTORY_)ERRHUPINNVALOUTPRIIO_)APPENDGET_MASKIS_READABLEIS_SEEKABLEMASKNONBLOCKSET_MASKIO_FLAG_zGLib.IOFlags.IO_FLAG_IS_WRITEABLEzGLib.IOFlags.IS_WRITABLE)AGAINEOFERRORNORMAL
IO_STATUS_zGLib.IOStatus.)CHILD_INHERITS_STDINDO_NOT_REAP_CHILDFILE_AND_ARGV_ZEROLEAVE_DESCRIPTORS_OPENSEARCH_PATHSTDERR_TO_DEV_NULLSTDOUT_TO_DEV_NULLSPAWN_zGLib.SpawnFlags.)HIDDENIN_MAINREVERSENO_ARGFILENAMEOPTIONAL_ARGNOALIASOPTION_FLAG_zGLib.OptionFlags.)UNKNOWN_OPTION	BAD_VALUEFAILEDOPTION_ERROR_zGLib.OptionError.)
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_rC   c                   .     e Zd ZddZddZ fdZ xZS )MainLoopc                 B    t         j                  j                  |d      S r   )r   r+  rG   )r   contexts     r   r   zMainLoop.__new__  s    }}  %00r   c                      y r   r   )r$   r-  s     r   __init__zMainLoop.__init__      r   c                     t        | j                        5  t               5  t        t        |           d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY wr   )r   quitr   superr+  run)r$   	__class__s    r   r4  zMainLoop.run  sQ    %dii0 	,!# ,h)+,	, 	,, ,	, 	,s!   AAAA	AAr   )r^   r_   r`   r   r/  r4  __classcell__r5  s   @r   r+  r+    s    1, ,r   r+  c                         e Zd Zd fd	Z xZS )MainContextc                 *    t         t        |   |      S r   )r3  r9  	iteration)r$   	may_blockr5  s     r   r;  zMainContext.iteration  s    [$1)<<r   )T)r^   r_   r`   r;  r6  r7  s   @r   r9  r9    s    = =r   r9  c                        e Zd Zd Z fdZd Zd Zd fd	Zd Z e	ed      Zd Z
d	 Z ee
e      Zd
 Zd Z eee      Z xZS )Sourcec                 B    t               }| |_        t        |dd       |S )N__pygi_custom_sourceT)r   r5  setattr)r   argskwargssources       r   r   zSource.__new__  s%     .5r   c                 (    t         t        |          S r   )r3  r>  r/  r$   rB  rC  r5  s      r   r/  zSource.__init__  s    VT+--r   c                 ~    t        | d      r1| j                          | j                          | j                          y y Nr@  )r   destroyfinalize_clear_boxedr   s    r   r   zSource.__del__  s2    4/0 LLNMMO 1r   c                      y r   r   r   s    r   rJ  zSource.finalize  r0  r   c                 b    t        | d      rt        | ||       y t        t        |   ||       y rH  )r   r	   r3  r>  set_callback)r$   fn	user_datar5  s      r   rN  zSource.set_callback  s/    4/0  b)4 &$,R;r   c                 0    t         j                         dz  S Ngư>r   get_real_timer   s    r   get_current_timezSource.get_current_time#  s    !!#h..r   z.GLib.Source.get_time() or GLib.get_real_time()c                 "    | j                         S r   )get_priorityr   s    r   __get_priorityzSource.__get_priority+  s      ""r   c                 &    | j                  |       y r   )set_priorityr$   rX   s     r   __set_priorityzSource.__set_priority.  s    % r   c                 "    | j                         S r   )get_can_recurser   s    r   __get_can_recursezSource.__get_can_recurse3  s    ##%%r   c                 &    | j                  |       y r   )set_can_recurser[  s     r   __set_can_recursezSource.__set_can_recurse6  s    U#r   r   )r^   r_   r`   r   r/  r   rJ  rN  rU  r   _Source__get_priority_Source__set_prioritypropertypriority_Source__get_can_recurse_Source__set_can_recursecan_recurser6  r7  s   @r   r>  r>    sg    . </ ""2"RT
#! 7H&$ ,.?@Kr   r>  c                   T     e Zd Zej                  fdZej                  f fd	Z xZS )Idlec                 <    t         j                         }| |_        |S r   )r   idle_source_newr5  )r   rf  rD  s      r   r   zIdle.__new__A  s    %%'r   c                 t    t         t        |           |t        j                  k7  r| j                  |       y y r   )r3  r>  r/  r   PRIORITY_DEFAULTrZ  )r$   rf  r5  s     r   r/  zIdle.__init__F  s1    fd$&t,,,h' -r   )r^   r_   r`   r   ro  r   r/  r6  r7  s   @r   rk  rk  @  s&    "33 
 !% 5 5 ( (r   rk  c                   L    e Zd Zdej                  fdZdej                  fdZy)Timeoutr   c                 >    t         j                  |      }| |_        |S r   )r   timeout_source_newr5  )r   intervalrf  rD  s       r   r   zTimeout.__new__P  s    ((2r   c                 N    |t         j                  k7  r| j                  |       y y r   )r   ro  rZ  )r$   rt  rf  s      r   r/  zTimeout.__init__U  s#    t,,,h' -r   N)r^   r_   r`   r   ro  r   r/  r   r   r   rq  rq  O  s$    $*?*? 
 !"D,A,A (r   rq  c                 p    |j                  dt        j                        }t        j                  || g| S Nrf  )r   r   PRIORITY_DEFAULT_IDLEidle_add)functionrP  rC  rf  s       r   ry  ry  ^  s.    zz*d&@&@AH==88i88r   ry  c                 r    |j                  dt        j                        }t        j                  || |g| S rw  )r   r   ro  timeout_addrt  rz  rP  rC  rf  s        r   r|  r|  f  s2    zz*d&;&;<HHhE9EEr   r|  c                 r    |j                  dt        j                        }t        j                  || |g| S rw  )r   r   ro  timeout_add_secondsr}  s        r   r  r  n  s2    zz*d&;&;<H##HhM9MMr   r  c                     t        |t              rt        |t        j                        rkt	        j
                  dt               |}||}t              st        d      d|v r t	        j
                  dt               |d   }nBt        j                  }n1t        |      dk  st        |d         st        d      |d   |dd  }t         t              r& fd}t        j                  j                         }nt         t        j                        rGt        j                  d	k(  r4 fd
}t        j                  j!                   j#                               }n`t%         d      r4 fd}t        j                  j                   j#                               }n t         t        j                        sJ } }|||||fS )NzFCalling io_add_watch without priority as second argument is deprecatedzthird argument must be callablerf  zgCalling io_add_watch with priority keyword argument is deprecated, put it as second positional argumentrC   r   z%expecting callback as fourth argumentc                      |g| S r   r   r)  conddatacallbackchannels      r   <lambda>z(_io_add_watch_get_args.<locals>.<lambda>      (7D2P42P r   win32c                      |g| S r   r   r  s      r   r  z(_io_add_watch_get_args.<locals>.<lambda>  r  r   filenoc                      |g| S r   r   r  s      r   r  z(_io_add_watch_get_args.<locals>.<lambda>  r  r   )r   r   r   IOConditionr   r   r   callablerO   ro  rR   	IOChannelunix_newsocketsysplatformwin32_new_socketr  r   )	r  	priority_	conditioncb_and_user_datarC  rP  func_fdtransformreal_channelr  s	   `       @r   _io_add_watch_get_argsr    s   i%It?O?O)P^,	. %		!=>> MM  D02z*I--I 1$H5Ea5H,ICDD#A&$QR(	 '3P~~..w7	GV]]	+0GP~~66w~~7GH	(	#P~~..w~~/?@'4>>222#I/?JJr   r  c                  V    t        | i |\  }}}}}t        j                  ||||g| S )zOio_add_watch(channel, priority, condition, func, *user_data) -> event_source_id)r  r   io_add_watch)rB  rC  r  rf  r  funcrP  s          r   r  r    s9    4JD4[TZ4[1GXy$	Wh	4L)LLr   r  c                        e Zd ZddZ fdZddZddZddZddZd Z	e
j                  j                  e
j                  j                  e
j                  j                  dZdd	Zd
 Z eed      Zd Zd ZeZ xZS )r  c                     |t         j                  j                  |      S |$t         j                  j                  ||xs d      S |t         j                  j	                  |      S t        d      )NrzLeither a valid file descriptor, file name, or window handle must be supplied)r   r  r  new_filewin32_new_fdrO   )r   filedesfilenamemodehwnds        r   r   zIOChannel.__new__  se    >>**733>>**8T[SAA>>..t44fggr   c                 (    t         t        |          S r   )r3  r  r/  rF  s      r   r/  zIOChannel.__init__  s    Y.00r   c                     t        | |      S r   )r
   )r$   	max_counts     r   readzIOChannel.read  s    tY//r   c                 6    | j                         \  }}}}|y|S Nr   )	read_line)r$   	size_hintstatusbufr   terminator_poss         r   readlinezIOChannel.readline  s&     150@-fn;
r   c                    g }t         j                  j                  }|t         j                  j                  k(  rH| j                         \  }}}}|d}|j	                  |       |t         j                  j                  k(  rH|S r  )r   IOStatusr  r  r   )r$   r  linesr  r  r   r  s          r   	readlineszIOChannel.readlines  sr     %%,,,48NN4D1VS&. {LL ,,, r   c                     t        |t              s|j                  d      }|dk(  rt        |      }| j	                  ||      \  }}|S )Nr   r   )r   r   encoderR   write_chars)r$   r  buflenr  writtens        r   writezIOChannel.write  sF    #u%**W%CR<XF ,,S&9r   c                 4    |D ]  }| j                  |        y r   )r  )r$   r  lines      r   
writelineszIOChannel.writelines  s     	DJJt	r   )r   rC   r   c                 v    	 | j                   |   }| j                  ||      S # t        $ r t        d      w xY w)Nzinvalid 'whence' value)_whence_mapr   
ValueErrorseek_position)r$   offsetwhencews       r   seekzIOChannel.seek  sI    	7  (A !!&!,,  	7566	7s   # 8c                 `    |j                  dt        j                        }t        | |||g| S rw  )r   r   ro  r  )r$   r  r  rP  rC  rf  s         r   	add_watchzIOChannel.add_watch  s.    ::j$*?*?@D(IxL)LLr   zGLib.io_add_watch()c                     | S r   r   r   s    r   __iter__zIOChannel.__iter__  s    r   c                 v    | j                         \  }}}}|t        j                  j                  k(  r|S t        r   )r  r   r  r  StopIteration)r$   r  r  r   r  s        r   __next__zIOChannel.__next__  s4    040@-fnT]])))Jr   )NNNNr   )r   )r^   r_   r`   r   r/  r  r  r  r  r  r   SeekTypeSETCURENDr  r  r  r   r  r  nextr6  r7  s   @r   r  r    s~    h10 mm''DMM,=,=$--BSBSTK-M 9&;<I Dr   r  c                       e Zd Zd Zd Zy)PollFDc                 <    t         j                         }| |_        |S r   )r   r  r5  )r   fdeventspollfds       r   r   zPollFD.__new__  s    r   c                      || _         || _        y r   )r  r  )r$   r  r  s      r   r/  zPollFD.__init__  s    r   N)r^   r_   r`   r   r/  r   r   r   r  r    s    
r   r  c                     g }t        |      rt        j                  dt               | }|}t	        |      dk(  r!|j                  dt        j                        }nt	        |      dk(  r#|}|j                  dt        j                        }ngt	        |      dk(  r|d   g}|d   }nMt        d      | }|}d|v r|d   }|}n2t	        |      dkD  rt        |d         r|d   }|dd  }nt        d      d	|v r|rt        d
      |d	   f}||||fS )NzHCalling child_watch_add without priority as first argument is deprecatedr   rf  rC   r   z'expected at most 4 positional argumentsrz  z#expected callback as third argumentr  z'got multiple values for "data" argument)	r  r   r   r   rR   r   r   ro  rO   )priority_or_pidpid_or_callbackrB  rC  rP  pidr  rf  s           r   _child_watch_add_get_argsr  !  s&   I `,	."t9>zz*d.C.CDHY!^Izz*d.C.CDHY!^a	IAwHEFF"j)HIY]xQ0AwHQRIABBEFFF^%	S(I--r   r  c                  R    t        | i |\  }}}}t        j                  |||g| S )z/child_watch_add(priority, pid, function, *data))r  r   child_watch_add)rB  rC  rf  r  rz  r  s         r   r  r  K  s4    $=t$Nv$N!Hc8T#x?$??r   r  c                  0    t         j                         dz  S rR  rS  r   r   r   rU  rU  T  s    (**r   zGLib.get_real_time()rU  c                 4    t         j                  | |      d   S )Nr   )r   filename_from_utf8)
utf8stringrR   s     r   r  r  _  s    "":s3A66r   r  unix_signal_addunix_signal_add_fullzGLib.unix_signal_addglib_versionz<(GLib.MAJOR_VERSION, GLib.MINOR_VERSION, GLib.MICRO_VERSION)pyglib_versionzgi.version_infor  )Wr   r  r  _ossighelperr   r   moduler   r   r   r   r	   r
   	overridesr   r   r   gir   r   r   __all__r   r   r   	gi._errorr   r,   r-   r.   r/   r0   r   r&   r+   r^   r_   	__gtype__matchesr   new_literalobjectr2   r   ra   rz   rA  r   r5   attrr   UserDirectoryglobalsr  IOFlagsIS_WRITABLEr   r  
SpawnFlagsOptionFlagsOptionErrornamesplitr+  r9  r>  rk  rq  ry  r|  r  r  r  r  r  r  r  rU  r  r   r  r  MAJOR_VERSIONMINOR_VERSIONMICRO_VERSIONr  r  r   r   r   <module>r     sJ  ,  
  E -9 9 = = 3'
    x   !!oo	ggoo8</ ' **&& !34   + +Cf CN 
												"cdll cL
 z * y 5 # $
1 Aq DFD"AA"EFd00,2BCGIdONN4 
4 A"4#3#3Q7GIeaiNN519
* A>DFD/A"56dllA.GIdONN4 ||//  .0J K % &	, A!DdmmQ/GIdOFD"2Q"67NN4	
  A a<Ddooq1GIdOFD"4q"89NN4
 AADd..2GIdOFD"5"9:NN4 
3 AQDFD"5"9:d..2GIdONN4	G D ::c1b!Dc4(GIdONN4,t}} , H z =$"" = {# } 7AT[[ 7At 
&	 x 	(6 	( v (f ( y 9
 z F
 } N
 $ %(KV ' (M ~ K K\ Y	 { T[[  
&	 x #.N * +@   !+ .0FG  ! "
7 # $ 4"#//NN)*F24JK ""D$6$68J8JK ~  NP     (*; <r   