fu ddlZddlZddlZddlmZmZddlmZddlm Z m Z m Z m Z ddl mZmZmZddlmZmZedZgZdd lmZeej1d dd lmZdd lmZeZej8Zej:Zej<Zej>Zd Z dZ!dZ"de_#de_$ej6jJe_%e!e_&e'e"e_(egdz ZGdde)Z*dddddddddddddd Z+Gd!d"ejXZ,d#Z-e.e,de-ej1d"did%Z/ej1d&d'D]CZ0d(e0zZ1ede1d)e0ze2ejfd*e0ze4e1<ej1e1Ed+D]4Z0e2ejje0e4d,e0z<ej1d,e0z6d-D]@Z0d.e0zZ1ede1d/e0ze2ejle0e4e1<ej1e1BejljnZ8edd0d1ej1d0d2D]@Z0d3e0zZ1e2ejre0e4e1<ede1d4e0zej1e1Bd5D]@Z0d6e0zZ1e2ejte0e4e1<ede1d7e0zej1e1Bd8D]@Z0d9e0zZ1e2ejve0e4e1<ede1d:e0zej1e1Bd;D]@Z0dD]9Z=e=j}d?d@d$Z1e2ee=e4e1<ej1e1;GdAdBej~Z?ee?Z?ej1dBGdCdDejZ@ee@Z@ej1dDGdEdFejZAeeAZAej1dFGdGdHeAZBej1dHGdIdJeAZCej1dJdKZDej1dLdMZEej1dNdOZFej1dPdQZGej1dRdSZHej1dTGdUdVejZIeeIZIej1dVGdWdXejZJeeJZJej1dXdYZKej1dZd[ZLej1d\d]ZMeeMd^ZMej1d_did`ZNej1daeOedbr'ejZQej1dceddcddejejejfZUej1deeddedfeZVej1dgeddgdhy)jN)wakeup_on_signalregister_sigint_fallback)get_introspection_module)variant_type_from_string source_newsource_set_callbackio_channel_read)override deprecateddeprecated_attr)PyGIDeprecationWarning version_infoGLib)_optionoption)_gi)GErrorc<tjdtdy)NzmSince version 3.11, calling threads_init is no longer needed. See: https://wiki.gnome.org/PyGObject/Threadingr) stacklevel)warningswarnr3/usr/lib/python3/dist-packages/gi/overrides/GLib.py threads_initr5s MMD(Q8rct|jtr tj |j}n |j}||j f||fk(SN) isinstancedomainstrrquark_from_stringcode)selfr r#self_domain_quarks rgerror_matchesr&;sI$++s# 224;;? KK tyy )fd^ ;;rcFtj|}t|||Sr)rquark_to_stringr)r messager# domain_quarks rgerror_new_literalr+Es!''/L '< ..rErrorzgi.repository.GLib)rr, OptionContext OptionGroupPid spawn_asyncrcdeZdZejj ejj ejjejjejjejjejjejjejjejjejjejj ejj"ejj$dZdZy)_VariantCreator)bynqiuxthdsogvctj|}||jvr|j||Stjj |}||j S|j rM|j|j|jj||j S t||jr-|jt|k7rtd|d||j!rt|dk7rtd|d||j#rv|jj}t%|t&r|j)}|D]#}|j|j||%|j S|dd}|D]J}t+|j}|j|j|||t|d}L|j S#t$rtd|d|wxYw)aBCreate 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 rz*Dictionary entries must have two elements )r VariantType_LEAF_CONSTRUCTORSVariantBuildernewendis_maybe add_value_createelement dup_stringiter TypeErroris_tuplen_itemslen is_dict_entryis_arrayrdictitemsr) r$formatvaluegvtypebuilder element_typer7remainer_formatdups rrKz_VariantCreator._createis!!&) T,, ,24**6259 9%%))&1 =;;= ??    dll6>>+;+F+F+H%P Q;;=  - K ?? !1SZ!?SY[`ab b    !c%jAoQWY^_` ` ?? !>>+668L%&  A!!$,,|Q"?@ A{{} %QRjO =.?JJL!!$,,sA"67"1#c()"< = {{}- -#U,- - -s  H))IN)__name__ __module__ __qualname__rVariant new_booleannew_byte new_int16 new_uint16 new_int32 new_uint32 new_int64 new_uint64 new_handle new_double new_stringnew_object_path new_signature new_variantrErKrrrr2r2Vs\\ % % \\ " " \\ # # \\ $ $ \\ # # \\ $ $ \\ # # \\ $ $ \\ $ $ \\ $ $ \\ $ $ \\ ) ) \\ ' ' \\ % %"0rr2 get_booleanget_byte get_int16 get_uint16 get_int32 get_uint32 get_int64 get_uint64 get_handle get_double get_string) r3r4r5r6r7r8r9r:r;r<r=r>r?czeZdZdZedZdZdZdZdZ dZ dZ d Z e d Zd Zd Zd ZdZdZy)ractjj|s td|t }|j ||}||_|S)aCreate 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')rrDstring_is_validrOr2rK format_string)clsr~rXcreatorr@s r__new__zVariant.__new__sJ// >A=Q Q!# OOM5 1'rc@tjj|Sr)rra new_tuple)elementss rrzVariant.new_tuples||%%h//rcD |jy#t$rYywxYwr)unref ImportErrorr$s r__del__zVariant.__del__s$  JJL     c$|jdSNT)print_rs r__str__zVariant.__str__s{{4  rct|dr |j}n|j}d|d|jddS)Nr~zGLib.Variant('z', F))hasattrr~get_type_stringr)r$fs r__repr__zVariant.__repr__s: 4 )""A$$&A+,dkk%.@AArcD |j|S#t$rYywxYwNFequalrOr$others r__eq__zVariant.__eq__s( ::e$ $  rcF |j| S#t$rYywxYwrrrs r__ne__zVariant.__ne__s+ zz%(( (  s   cTt|j|jfSr)hashrunpackrs r__hash__zVariant.__hash__s#T))+T[[];<z!Variant.unpack..s-<--a0779"LMM7s%&G c(|dk(rgS|jds|gSg}d}|dd}|rk|d}||z }|dd}|dvr|d vr=d}|}|dk(rd }nd }|dkDr*|d}||z }|dd}||k(r|dz }n ||k(r|dz}|dkDr*|j|d}|rk|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()rrCrN)rr)r{r})rappend) klass signatureresultheadtailclevelupdowns rsplit_signaturezVariant.split_signatures  I##C(; 2QA AID8DJJ9DDaiQAAID8DBw d ai MM$ D7: rc,|jdvrt|jS|jjds|jjdr|j St d|jz)Nr=r>r?rrz'GVariant type %s does not have a length)rrRrzrrrOrs r__len__zVariant.__len__Ksz    !_ 4t() )    ! , ,S 1T5I5I5K5V5VWZ5[??$ $ADDXDXDZZ[[rc|jjdr9 |j|td}| t ||j S|jjds|jjdret|}|dkr|j|z}|dks||jk\r td|j|j S|jdvr|jj|St d |jz#t $rt|jD]X}|j|}|jdj |k(s7|jdj ccYSt |wxYw) Nr*rrCrrzlist index out of rangerz#GVariant type %s is not a container)rr lookup_valuerKeyErrorrrOrrrint IndexErrorrz __getitem__)r$keyvalr7r@s rrzVariant.__getitem__Ss    ! , ,T 2 $''-Ec-JK;"3-'zz|#    ! , ,S 1T5I5I5K5V5VWZ5[c(CQwoo'#-Qw#!22 !:;;'',335 5    !_ 4??$005 5=@T@T@VVWW/ $t01=A,,Q/A((+224; 003::<<=sm# $s7E AG"!G Gc"|jSr)__bool__rs r __nonzero__zVariant.__nonzero__xs}}rc|jdvr|jdk7S|jdvr|jS|jdvrt|j dk7S|jj ds|jj dr|j dk7St|jS)N) r4r5r6r7r8r9r:r;r<r)r3rrr)rrrprRrzrrboolrs rrzVariant.__bool__{s    !%R R;;=A% %    !U *##% %    !_ 4t()Q. .    ! , ,S 1T5I5I5K5V5VWZ5[??$) )DKKM""rc:|jjdstd|jzg}t|j D]A}|j |}|j |j djC|S)Nrz$GVariant type %s is not a dictionaryr)rrrOrrrrr)r$rr7r@s rkeysz Variant.keyss##%006BTEYEYE[[\ \t() 6A$$Q'A JJq((+224 5 6 rN)r^r_r`r staticmethodrrrrrrrr classmethodrrrrrrrrrrarasr&00 !B  = &NP//j\XJ #rracJtjj|\}}|Sr)rrarz)r$rXlengths rrzrzsLL++D1ME6 Lrrct|tr%tj|j d|Stj||S)NUTF-8)rbytesrmarkup_escape_textdecode)textrs rrrs;$&&t{{7';VDD&&tV44rr)DESKTOP DOCUMENTSDOWNLOADMUSICPICTURES PUBLIC_SHARE TEMPLATESVIDEOSUSER_DIRECTORY_zGLib.UserDirectory.DIRECTORY_ DIRECTORY_)ERRHUPINNVALOUTPRIIO_)APPENDGET_MASK IS_READABLE IS_SEEKABLEMASKNONBLOCKSET_MASKIO_FLAG_z GLib.IOFlags.IO_FLAG_IS_WRITEABLEzGLib.IOFlags.IS_WRITABLE)AGAINEOFERRORNORMAL IO_STATUS_zGLib.IOStatus.)CHILD_INHERITS_STDINDO_NOT_REAP_CHILDFILE_AND_ARGV_ZEROLEAVE_DESCRIPTORS_OPEN SEARCH_PATHSTDERR_TO_DEV_NULLSTDOUT_TO_DEV_NULLSPAWN_zGLib.SpawnFlags.)HIDDENIN_MAINREVERSENO_ARGFILENAME OPTIONAL_ARGNOALIAS OPTION_FLAG_zGLib.OptionFlags.)UNKNOWN_OPTION BAD_VALUEFAILED OPTION_ERROR_zGLib.OptionError.) G_MINFLOAT G_MAXFLOAT G_MINDOUBLE G_MAXDOUBLE G_MINSHORT G_MAXSHORT G_MAXUSHORTG_MININTG_MAXINT G_MAXUINT G_MINLONG G_MAXLONG G_MAXULONG G_MAXSIZE G_MINSSIZE G_MAXSSIZE G_MINOFFSET G_MAXOFFSET_rCc.eZdZddZddZfdZxZS)MainLoopcBtjj|dSr)rr+rG)rcontexts rrzMainLoop.__new__s}}  %00rcyrr)r$r-s r__init__zMainLoop.__init__ rct|j5t5tt|ddddddy#1swYxYw#1swYyxYwr)rquitrsuperr+run)r$ __class__s rr4z MainLoop.runsQ %dii 0 ,!# ,h)+ , , , , , , ,s! AAAA AAr)r^r_r`rr/r4 __classcell__r5s@rr+r+s1 ,,rr+c eZdZdfd ZxZS) MainContextc*tt| |Sr)r3r9 iteration)r$ may_blockr5s rr;zMainContext.iterations[$1)<r/r$rBrCr5s rr/zSource.__init__ sVT+--rc~t|dr1|j|j|jyyNr@)rdestroyfinalize _clear_boxedrs rrzSource.__del__s2 4/ 0 LLN MMO     1rcyrrrs rrJzSource.finalizer0rcbt|drt|||ytt|||yrH)rr r3r> set_callback)r$fn user_datar5s rrNzSource.set_callbacks/ 4/ 0 b) 4 &$ ,R ;rc0tjdzSNgư>r get_real_timers rget_current_timezSource.get_current_time#s!!#h..rz.GLib.Source.get_time() or GLib.get_real_time()c"|jSr) get_priorityrs r__get_priorityzSource.__get_priority+s  ""rc&|j|yr) set_priorityr$rXs r__set_priorityzSource.__set_priority.s % rc"|jSr)get_can_recursers r__get_can_recursezSource.__get_can_recurse3s##%%rc&|j|yr)set_can_recurser[s r__set_can_recursezSource.__set_can_recurse6s U#rr)r^r_r`rr/rrJrNrUr _Source__get_priority_Source__set_prioritypropertypriority_Source__get_can_recurse_Source__set_can_recurse can_recurser6r7s@rr>r>sg.  </""2"RT #!7H&$,.?@Krr>cTeZdZejfdZejffd ZxZS)Idlec<tj}||_|Sr)ridle_source_newr5)rrfrDs rrz Idle.__new__As%%' rcttt| |tjk7r|j |yyr)r3r>r/rPRIORITY_DEFAULTrZ)r$rfr5s rr/z Idle.__init__Fs1 fd$& t,, ,   h ' -r)r^r_r`rrorr/r6r7s@rrkrk@s&"33 !% 5 5((rrkcLeZdZdejfdZdejfdZy)Timeoutrc>tj|}||_|Sr)rtimeout_source_newr5)rintervalrfrDs rrzTimeout.__new__Ps((2 rcN|tjk7r|j|yyr)rrorZ)r$rtrfs rr/zTimeout.__init__Us# t,, ,   h ' -rN)r^r_r`rrorr/rrrrqrqOs$$*?*? !"D,A,A(rrqcp|jdtj}tj||g|SNrf)rrPRIORITY_DEFAULT_IDLEidle_add)functionrPrCrfs rryry^s.zz*d&@&@AH ==8 8i 88rrycr|jdtj}tj|||g|Srw)rrro timeout_addrtrzrPrCrfs rr|r|fs2zz*d&;&;z(_io_add_watch_get_args..(7D2P42Prwin32c|g|Srrrs rrz(_io_add_watch_get_args..rrfilenoc|g|Srrrs rrz(_io_add_watch_get_args..rr)rrr IOConditionrrrcallablerOrorR IOChannelunix_newsocketsysplatformwin32_new_socketrr) r priority_ conditioncb_and_user_datarCrPfunc_fdtransform real_channelrs ` @r_io_add_watch_get_argsrs i %It?O?O)P ^, .%  !=> >   MMD0 2z*I--I  1 $H5Ea5H,ICD D#A&$QR( '3P~~..w7 GV]] + 0GP~~66w~~7GH ( #P~~..w~~/?@ '4>>222# I/? JJrrcVt|i|\}}}}}tj||||g|S)zOio_add_watch(channel, priority, condition, func, *user_data) -> event_source_id)rr io_add_watch)rBrCrrfrfuncrPs rrrs94JD4[TZ4[1GXy$   Wh 4 L) LLrrceZdZddZfdZddZddZddZddZdZ e jje jje jjdZdd Zd Zeed Zd Zd ZeZxZS)rc|tjj|S|$tjj||xsdS|tjj |St d)NrzLeither a valid file descriptor, file name, or window handle must be supplied)rrrnew_file win32_new_fdrO)rfiledesfilenamemodehwnds rrzIOChannel.__new__se  >>**73 3  >>**8T[SA A  >>..t4 4fggrc(tt| Sr)r3rr/rFs rr/zIOChannel.__init__sY.00rct||Sr)r )r$ max_counts rreadzIOChannel.readstY//rc6|j\}}}}|y|SNr) read_line)r$ size_hintstatusbufrterminator_poss rreadlinezIOChannel.readlines&150@-fn ; rcg}tjj}|tjjk(rH|j\}}}}|d}|j ||tjjk(rH|Sr)rIOStatusrrr)r$rlinesrrrrs r readlineszIOChannel.readlinessr%% ,,,48NN4D 1VS&.{ LL   ,,, rct|ts|jd}|dk(r t|}|j ||\}}|S)Nrr)rrencoderR write_chars)r$rbuflenrwrittens rwritezIOChannel.writesF#u%**W%C R<XF ,,S&9rc4|D]}|j|yr)r)r$rlines r writelineszIOChannel.writeliness D JJt  r)rrCrcv |j|}|j||S#t$r tdwxYw)Nzinvalid 'whence' value) _whence_mapr ValueError seek_position)r$offsetwhencews rseekzIOChannel.seeksI 7  (A!!&!,, 756 6 7s#8c`|jdtj}t||||g|Srw)rrror)r$rrrPrCrfs r add_watchzIOChannel.add_watchs.::j$*?*?@D(IxL)LLrzGLib.io_add_watch()c|Srrrs r__iter__zIOChannel.__iter__s rcv|j\}}}}|tjjk(r|Str)rrrr StopIteration)r$rrrrs r__next__zIOChannel.__next__s4040@-fn T]])) )Jr)NNNNr)r)r^r_r`rr/rrrrrrSeekTypeSETCURENDrrrr rrnextr6r7s@rrrs~h10 mm''DMM,=,=$--BSBSTK-M9&;zz*d.C.CDH Y!^Izz*d.C.CDH Y!^a IAwHEF F"  j)HI Y]xQ0AwHQRIAB B  EF FF^% S(I --rrcRt|i|\}}}}tj|||g|S)z/child_watch_add(priority, pid, function, *data))rrchild_watch_add)rBrCrfrrzrs rrrKs4$=t$Nv$N!Hc8T   #x ?$ ??rrc0tjdzSrRrSrrrrUrUTs    ( **rzGLib.get_real_time()rUc4tj||dS)Nr)rfilename_from_utf8) utf8stringrRs rrr_s  " ":s 3A 66rrunix_signal_addunix_signal_add_fullzGLib.unix_signal_add glib_versionz<(GLib.MAJOR_VERSION, GLib.MINOR_VERSION, GLib.MICRO_VERSION)pyglib_versionzgi.version_infor)Wrrr _ossighelperrrmodulerrrrr r overridesr r r girrr__all__rrr gi._errorrr,r-r.r/r0rr&r+r^r_ __gtype__matchesr new_literalobjectr2rrarzrArr5attrr UserDirectoryglobalsrIOFlags IS_WRITABLErr SpawnFlags OptionFlags OptionErrornamesplitr+r9r>rkrqryr|rrrrrrrrUrrrr MAJOR_VERSION MINOR_VERSION MICRO_VERSIONrrrrrrsJ, E-99==3'  x!! oo  ggoo 8 </ '**&&  !34 ++CfCN             "cdllcL z*y5#$ 1A q DFD"AA"EFd00,2BCGIdO NN4  4A"4#3#3Q7GIeai NN519 *A >DFD/A"56dllA.GIdO NN4 ||//.0JK%& ,A ! DdmmQ/GIdOFD"2Q"67 NN4   A a