
    f_t                        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                    d
           d dlmZ d dlmZ eZej        Zej        Zej        Zej        Zd Z d Z!d Z"de_#        de_$        ej        j%        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j,                  Z,d# Z- e.e,de-           e                    d"           did%Z/e                    d&           d'D ]KZ0d(e0z   Z1 ede1d)e0z               e2ej3        d*e0z              e4            e1<   e                    e1           Ld+D ]9Z0 e2ej5        e0           e4            d,e0z   <   e                    d,e0z              :d-D ]HZ0d.e0z   Z1 ede1d/e0z               e2ej6        e0           e4            e1<   e                    e1           Iej6        j7        Z8 edd0d1           e                    d0           d2D ]HZ0d3e0z   Z1 e2ej9        e0           e4            e1<    ede1d4e0z              e                    e1           Id5D ]HZ0d6e0z   Z1 e2ej:        e0           e4            e1<    ede1d7e0z              e                    e1           Id8D ]HZ0d9e0z   Z1 e2ej;        e0           e4            e1<    ede1d:e0z              e                    e1           Id;D ]HZ0d<e0z   Z1 ede1d=e0z               e2ej<        e0           e4            e1<   e                    e1           Id>D ]JZ=e=>                    d?d@          d$         Z1 e2ee=           e4            e1<   e                    e1           K G dA dBej?                  Z? ee?          Z?e                    dB            G dC dDej@                  Z@ ee@          Z@e                    dD            G dE dFejA                  ZA eeA          ZAe                    dF            G dG dHeA          ZBe                    dH            G dI dJeA          ZCe                    dJ           dK ZDe                    dL           dM ZEe                    dN           dO ZFe                    dP           dQ ZGe                    dR           dS ZHe                    dT            G dU dVejI                  ZI eeI          ZIe                    dV            G dW dXejJ                  ZJ eeJ          ZJe                    dX           dY ZKe                    dZ           d[ ZLe                    d\           d] ZM eeMd^          ZMe                    d_           did`ZNe                    da            eOedb          r)ejP        ZQe                    dc            eddcdd           ejR        ejS        ejT        fZUe                    de            eddedf           eZVe                    dg            eddgdh           dS )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           d S )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   s0    M D(Q8 8 8 8 8 8r   c                     t          | j        t                    r t                              | j                  }n| j        }|| j        f||fk    S N)
isinstancedomainstrr   quark_from_stringcode)selfr    r#   self_domain_quarks       r   gerror_matchesr&   ;   sO     $+s## ( 224;?? Kty)fd^;;r   c                 X    t                               |           }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                   N   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dS )_VariantCreator)bynqiuxthdsogvc                 p   t                               |          }|| j        v r | j        |         |          S t           j                            |          }||                                S |                                ra|                    |                     |	                                
                                |                     |                                S 	 t          |           n## t          $ r t          d|d|          w xY w|                                r:|                                t          |          k    rt          d|d|          |                                r(t          |          dk    rt          d|d|          |                                r~|	                                
                                }t%          |t&                    r|                                }|D ]+}|                    |                     ||                     ,np|dd         }|D ]c}t+          |          
                                }|                    |                     ||                     |t          |          d         }d|                                S )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9 %))&11=;;== ?? 	!dll6>>+;+;+F+F+H+H%PPQQQ;;== 	-KKKK 	- 	- 	-)#VVUU, - - -	- ?? 	c!1!1SZZ!?!?)SYSYSY[`[`abbb!! 	ac%jjAoo)QWQWQWY^Y^_```?? 	=!>>++6688L%&& & A A!!$,,|Q"?"?@@@@A %QRRjO = =.??JJLL!!$,,sA"6"6777"1#c(())"<{{}}s   %C5 5 D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 0 0 0 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                       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dS )ra   c                     t           j                            |          st          d|          t	                      }|                    ||          }||_        |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__   sY     //>> 	RA=QQQ!##OOM511'r   c                  @    t           j                            |           S r   )r   ra   	new_tuple)elementss    r   r   zVariant.new_tuple   s    |%%h///r   c                 R    	 |                                   d S # t          $ r Y d S w xY wr   )unrefImportErrorr$   s    r   __del__zVariant.__del__   s<    		JJLLLLL 	 	 	 DD	s    
&&c                 ,    |                      d          S NT)print_r   s    r   __str__zVariant.__str__   s    {{4   r   c                     t          | d          r| j        }n|                                 }d|d|                     d          dS )Nr~   zGLib.Variant('z', F))hasattrr~   get_type_stringr   )r$   fs     r   __repr__zVariant.__repr__   sQ    4)) 	'"AA$$&&A+,11dkk%.@.@.@.@AAr   c                 P    	 |                      |          S # t          $ r Y dS w xY wNFequalrO   r$   others     r   __eq__zVariant.__eq__   s;    	::e$$$ 	 	 	55	s    
%%c                 R    	 |                      |           S # t          $ r Y dS w xY wr   r   r   s     r   __ne__zVariant.__ne__   s>    	zz%(((( 	 	 	44	s    
&&c                 l    t          |                                 |                                 f          S r   )hashr   unpackr   s    r   __hash__zVariant.__hash__   s+     T))++T[[]];<<<r   c                 6                                      }t                              |          }|r t           |                      S |                    d          r:t           fdt                                                     D                       S |                    d          ri }t                                                     D ]f}                     |          }|                    d          	                                ||                    d          	                                <   g|S |                    d          r- fdt                                                     D             S |                    d          r& 
                                	                                S |                    d	          r=                                 sd
S                      d          	                                S t          d|z             )z1Decompose a GVariant into a native Python object.(c              3   f   K   | ]+}                     |                                          V  ,d S r   get_child_valuer   .0r7   r$   s     r   	<genexpr>z!Variant.unpack.<locals>.<genexpr>   sQ       < < --a007799 < < < < < <r   a{rC   r   ac                 ^    g | ])}                     |                                          *S r   r   r   s     r   
<listcomp>z"Variant.unpack.<locals>.<listcomp>  sC     7 7 7 ((++2244 7 7 7r   r@   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   s4    **,, ,, 	'$74$$&&& !!#&& 	< < < < <"'(9(9":":< < < < < < !!$'' 	C4??,,-- S S((++565F5Fq5I5I5P5P5R5RA%%a((//1122J !!#&& 	77 7 7 7"4??#4#4557 7 7 7 !!#&& 	/##%%,,... !!#&& 	4??$$ t''**11333!">"LMMMr   c                 j   |dk    rg S |                     d          s|gS g }d}|dd         }|r|d         }||z  }|dd         }|dv r|d	v rId}|}|dk    rd
}nd}|dk    r4|d         }||z  }|dd         }||k    r|dz  }n||k    r|dz  }|dk    4|                    |           d}||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99DDDaiiQAAID8DBww
d
 aii MM$D7  	: r   c                 |   |                                  dv r!t          |                                           S |                                                      d          s'|                                                      d          r|                                 S t          d|                                  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  s    !!_44t(()))!!,,S11 	%T5I5I5K5K5V5VWZ5[5[ 	%??$$$ADDXDXDZDZZ[[[r   c                    |                                                      d          r	 |                     |t          d                    }|t	          |          |                                S # t          $ r t          |                                           D ]m}| 	                    |          }|	                    d                                          |k    r+|	                    d                                          c cY S nt	          |          w xY w|                                                      d          s'|                                                      d          rt          |          }|dk     r|                                 |z   }|dk     s||                                 k    rt          d          | 	                    |                                          S |                                  dv r'|                                                     |          S t          d	|                                  z            )
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2 	$$''-Ec-J-JKK;"3--'zz||# $ $ $ t0011 = =A,,Q//A((++2244;; 0033::<<<<<<< <smm#$ !!,,S11 	6T5I5I5K5K5V5VWZ5[5[ 	6c((CQwwoo''#-Qww#!2!222 !:;;;'',,33555 !!_44??$$00555=@T@T@V@VVWWWs   AA1 1BD	Dc                 *    |                                  S r   )__bool__r   s    r   __nonzero__zVariant.__nonzero__x  s    }}r   c                 6   |                                  dv r|                                 dk    S |                                  dv r|                                 S |                                  dv r%t          |                                           dk    S |                                                      d          s'|                                                      d          r|                                 dk    S t          |                                           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R;;==A%%!!U**##%%%!!_44t(())Q..!!,,S11 	*T5I5I5K5K5V5VWZ5[5[ 	*??$$))DKKMM"""r   c                    |                                                      d          s$t          d|                                  z            g }t          |                                           D ]Q}|                     |          }|                    |                    d                                                     R|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6 	]BTEYEYE[E[[\\\t(()) 	6 	6A$$Q''AJJq((++22445555
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      s         & 0 0 \0
 
 
! ! !B B B    = = =&N &N &NP / / [/j\ \ \X X XJ  # # #    r   ra   c                 J    t           j                            |           \  }}|S r   )r   ra   rz   )r$   rX   lengths      r   rz   rz     s     L++D11ME6Lr   r   c                     t          | t                    r.t                              |                     d          |          S t                              | |          S )NUTF-8)r   bytesr   markup_escape_textdecode)textr   s     r   r   r     sL    $ 5&&t{{7';';VDDD&&tV4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 )MainLoopNc                 B    t           j                            |d          S r   )r   r.  rG   )r   contexts     r   r   zMainLoop.__new__  s    }  %000r   c                     d S r   r   )r$   r0  s     r   __init__zMainLoop.__init__  s    r   c                     t          | j                  5  t                      5  t          t          |                                            d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S r   )r   quitr   superr.  run)r$   	__class__s    r   r6  zMainLoop.run  s    %di00 	, 	,!## , ,h%%))+++, , , , , , , , , , , , , , ,	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s4   A1(AA1A	A1 A	!A11A58A5r   )r^   r_   r`   r   r2  r6  __classcell__r7  s   @r   r.  r.    s`        1 1 1 1   , , , , , , , , ,r   r.  c                         e Zd Zd fd	Z xZS )MainContextTc                 T    t          t          |                               |          S r   )r5  r;  	iteration)r$   	may_blockr7  s     r   r=  zMainContext.iteration  s!    [$''11)<<<r   )T)r^   r_   r`   r=  r8  r9  s   @r   r;  r;    s=        = = = = = = = = = =r   r;  c                        e Zd Zd Z f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                 R    t                      }| |_        t          |dd           |S )N__pygi_custom_sourceT)r   r7  setattr)r   argskwargssources       r   r   zSource.__new__  s-     .555r   c                 R    t          t          |                                           S r   )r5  r@  r2  r$   rD  rE  r7  s      r   r2  zSource.__init__  s    VT""++---r   c                 z    t          | d          r*|                                  |                                  d S d S NrB  )r   destroy_clear_boxedr   s    r   r   zSource.__del__  sF    4/00 	 LLNNN 	  	 r   Nc                     t          | d          rt          | ||           d S t          t          |                               ||           d S rJ  )r   r	   r5  r@  set_callback)r$   fn	user_datar7  s      r   rN  zSource.set_callback  sX    4/00 	<  b)44444 &$,,R;;;;;r   c                 :    t                                           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                 *    |                                  S r   )get_priorityr   s    r   __get_priorityzSource.__get_priority'  s      """r   c                 0    |                      |           d S r   )set_priorityr$   rX   s     r   __set_priorityzSource.__set_priority*  s    %     r   c                 *    |                                  S r   )get_can_recurser   s    r   __get_can_recursezSource.__get_can_recurse/  s    ##%%%r   c                 0    |                      |           d S r   )set_can_recurser[  s     r   __set_can_recursezSource.__set_can_recurse2  s    U#####r   r   )r^   r_   r`   r   r2  r   rN  rU  r   _Source__get_priority_Source__set_prioritypropertypriority_Source__get_can_recurse_Source__set_can_recursecan_recurser8  r9  s   @r   r@  r@    s          . . . . .     < < < < < </ / / "z"2"RT T
# # #! ! ! x77H& & &$ $ $ (,.?@@KKKKKr   r@  c                   @     e Zd Zej        fdZej        f fd	Z xZS )Idlec                 F    t                                           }| |_        |S r   )r   idle_source_newr7  )r   rf  rF  s      r   r   zIdle.__new__=  s     %%''r   c                     t          t          |                                            |t          j        k    r|                     |           d S d S r   )r5  r@  r2  r   PRIORITY_DEFAULTrZ  )r$   rf  r7  s     r   r2  zIdle.__init__B  sO    fd$$&&&t,,,h''''' -,r   )r^   r_   r`   r   ro  r   r2  r8  r9  s   @r   rk  rk  <  s_        "3    
 !% 5 ( ( ( ( ( ( ( ( ( (r   rk  c                   :    e Zd Zdej        fdZdej        fdZdS )Timeoutr   c                 H    t                               |          }| |_        |S r   )r   timeout_source_newr7  )r   intervalrf  rF  s       r   r   zTimeout.__new__L  s"    ((22r   c                 T    |t           j        k    r|                     |           d S d S r   )r   ro  rZ  )r$   rt  rf  s      r   r2  zTimeout.__init__Q  s2    t,,,h''''' -,r   N)r^   r_   r`   r   ro  r   r2  r   r   r   rq  rq  K  sN        $*?    
 !"D,A ( ( ( ( ( (r   rq  c                 h    |                     dt          j                  }t          j        || g|R  S Nrf  )r   r   PRIORITY_DEFAULT_IDLEidle_add)functionrP  rE  rf  s       r   ry  ry  Z  s2    zz*d&@AAH=88i8888r   ry  c                 j    |                     dt          j                  }t          j        || |g|R  S rw  )r   r   ro  timeout_addrt  rz  rP  rE  rf  s        r   r|  r|  b  s5    zz*d&;<<HHhE9EEEEr   r|  c                 j    |                     dt          j                  }t          j        || |g|R  S rw  )r   r   ro  timeout_add_secondsr}  s        r   r  r  j  s5    zz*d&;<<H#HhM9MMMMr   r  c                     t          |t                    rt          |t          j                  rrt	          j        dt                     |}||}t                    st          d          d|v r#t	          j        dt                     |d         }nVt          j	        }nIt          |          dk     st          |d                   st          d          |d         |dd          }t           t                    r& fd}t          j                                       }nt           t          j                  rHt          j        d	k    r8 fd
}t          j                                                                       }nht%           d          r8 fd}t          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|R  S r   r   r,  conddatacallbackchannels      r   <lambda>z(_io_add_watch_get_args.<locals>.<lambda>      ((7D2P42P2P2P r   win32c                      |g|R  S r   r   r  s      r   r  z(_io_add_watch_get_args.<locals>.<lambda>  r  r   filenoc                      |g|R  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_datarE  rP  func_fdtransformreal_channelr  s	   `       @r   _io_add_watch_get_argsr  ~  s   i%% )It?O)P)P )^,	. 	. 	. %		!! 	?=>>> M  D02 2 2z*II-II  1$$H5Ea5H,I,I$CDDD#A&$QRR(	 '3 PPPPP~..w77	GV]	+	+ 
0G0GPPPPP~66w~~7G7GHH	(	#	# PPPPP~..w~~/?/?@@'4>22222#I/?JJr   r  c                  P    t          | i |\  }}}}}t          j        ||||g|R  S )zOio_add_watch(channel, priority, condition, func, *user_data) -> event_source_id)r  r   io_add_watch)rD  rE  r  rf  r  funcrP  s          r   r  r    s?    4JD4[TZ4[4[1GXy$	Wh	4L)L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  Nc                     |t           j                            |          S |"t           j                            ||pd          S |t           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__  sk    >**7333>**8T[SAAA>..t444fgggr   c                 R    t          t          |                                           S r   )r5  r  r2  rH  s      r   r2  zIOChannel.__init__  s    Y%%..000r   r   c                 "    t          | |          S r   )r
   )r$   	max_counts     r   readzIOChannel.read  s    tY///r   c                 @    |                                  \  }}}}|dS |S Nr   )	read_line)r$   	size_hintstatusbufr   terminator_poss         r   readlinezIOChannel.readline  s+     150@0@-fn;2
r   c                     g }t           j        j        }|t           j        j        k    rG|                                 \  }}}}|d}|                    |           |t           j        j        k    G|S r  )r   IOStatusr  r  r   )r$   r  linesr  r  r   r  s          r   	readlineszIOChannel.readlines  sr     %,,,48NN4D4D1VS&. {LL ,,, r   c                     t          |t                    s|                    d          }|dk    rt          |          }|                     ||          \  }}|S )Nr   r   )r   r   encoderR   write_chars)r$   r  buflenr  writtens        r   writezIOChannel.write  sX    #u%% 	&**W%%CR<<XXF ,,S&99r   c                 :    |D ]}|                      |           d S r   )r  )r$   r  lines      r   
writelineszIOChannel.writelines  s0     	 	DJJt	 	r   )r   rC   r   r   c                     	 | j         |         }n# t          $ r t          d          w xY w|                     ||          S )Nzinvalid 'whence' value)_whence_mapr   
ValueErrorseek_position)r$   offsetwhencews       r   seekzIOChannel.seek  sV    	7 (AA 	7 	7 	75666	7!!&!,,,s    *c                 b    |                     dt          j                  }t          | |||g|R  S rw  )r   r   ro  r  )r$   r  r  rP  rE  rf  s         r   	add_watchzIOChannel.add_watch  s4    ::j$*?@@D(IxL)LLLLr   zGLib.io_add_watch()c                     | S r   r   r   s    r   __iter__zIOChannel.__iter__  s    r   c                 p    |                                  \  }}}}|t          j        j        k    r|S t          r   )r  r   r  r  StopIteration)r$   r  r  r   r  s        r   __next__zIOChannel.__next__  s5    040@0@-fnT])))Jr   )NNNNr   )r   )r^   r_   r`   r   r2  r  r  r  r  r  r   SeekTypeSETCURENDr  r  r  r   r  r  nextr8  r9  s   @r   r  r    s"       h h h h1 1 1 1 10 0 0 0            m'DM,=$-BSTTK- - - -M M M 
9&;<<I     DDDDDr   r  c                       e Zd Zd Zd ZdS )PollFDc                 F    t                                           }| |_        |S r   )r   r  r7  )r   fdeventspollfds       r   r   zPollFD.__new__	  s    r   c                 "    || _         || _        d S r   )r  r  )r$   r  r  s      r   r2  zPollFD.__init__  s    r   N)r^   r_   r`   r   r2  r   r   r   r  r    s2          
    r   r  c                    g }t          |          rt          j        dt                     | }|}t	          |          dk    r!|                    dt          j                  }nt	          |          dk    r#|}|                    dt          j                  }nt	          |          dk    r|d         g}|d         }nlt          d          | }|}d|v r|d         }|}nJt	          |          dk    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_callbackrD  rE  rP  pidr  rf  s           r   _child_watch_add_get_argsr    sm   I   C`,	. 	. 	."t99>>zz*d.CDDHHYY!^^Izz*d.CDDHHYY!^^a	IAwHHEFFF"j)HIIYY]]xQ00]AwHQRRIIABBB 	GEFFFF^%	S(I--r   r  c                  L    t          | i |\  }}}}t          j        |||g|R  S )z/child_watch_add(priority, pid, function, *data))r  r   child_watch_add)rD  rE  rf  r  rz  r  s         r   r  r  G  s:    $=t$Nv$N$N!Hc8T#x?$????r   r  c                  :    t                                           dz  S rR  rS  r   r   r   rU  rU  P  s    (**r   zGLib.get_real_time()rU  c                 D    t                               | |          d         S )Nr   )r   filename_from_utf8)
utf8stringrR   s     r   r  r  [  s    "":s3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   rC  r   r5   attrr   UserDirectoryglobalsr  IOFlagsIS_WRITABLEr   r  
SpawnFlagsOptionFlagsOptionErrornamesplitr.  r;  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     sV
  ,  



  E E E E E E E E - - - - - -9 9 9 9 9 9 9 9 9 9 9 9 = = = = = = = = = = 3 3 3 3 3 3 3 3''
              x               !o	go8 8 8< < </ / / ' *& L!344   + + + +C C C C Cf C C CN 
												 "c c c c cdl c c cL  
 z * * * y   5 5 5 5 # $ $ $
1  Aq DOFD"AA"EFFFgd0,2BCCGGIIdONN4	3  A"74#3Q77GGIIeaiNN519
*  A>DOFD/A"5666gdlA..GGIIdONN4 |/  .0J K K K % & & &	,  A!DgdmQ//GGIIdOOFD"2Q"6777NN4
   A a<Dgdoq11GGIIdOOFD"4q"8999NN4
  AADgd.22GGIIdOOFD"5"9:::NN4	2  AQDOFD"5"9:::gd.22GGIIdONN4
G  D ::c1b!Dgc4((GGIIdONN4, , , , ,t} , , , 8H z   = = = = =$" = = = h{## }   3A 3A 3A 3A 3AT[ 3A 3A 3Al 
&		 x   	( 	( 	( 	( 	(6 	( 	( 	( v   ( ( ( ( (f ( ( ( y   9 9 9
 z   F F F
 }   N N N
 $ % % %(K (K (KV ' ( ( (M M M ~   K K K K K K K K\ HY	 {       T[    
&		 x   #. #. #.N * + + +@ @ @   ! ! !+ + + :.0FGG  ! " " "
7 7 7 7 # $ $ $ 74"## L/NN)***OF24JKKK "D$68JK ~    NP P P         (*; < < < < <r   