ni3SSKrSSKrSSKr"SS5r\RS4SjrSrSSjrSrS r S r S r S r S r SrSrSrSrSrSrg)Nc,\rSrSrSrSrSrSrSrSr Sr g ) ColorzANSI Terminal colorszzzzzN) __name__ __module__ __qualname____firstlineno____doc__GREENBLUEYELLOWREDEND__static_attributes__r$/usr/share/glib-2.0/codegen/utils.pyrrs E D F C CrrMESSAGEc [R"[RR 55(aSR X[ RS9nOUn[RRSR X0S95 g)z"Print a string with a color prefixz{start}{prefix}{end})startprefixendz{prefix}: {msg} )rmsgN) osisattysysstderrfilenoformatrrwrite)rcolorr real_prefixs r print_colorr#(sd yy""$%%,33EII4  JJ(//{/LMrcb[U[RSS9 [R"S5 g)zPrint an error, and terminateERRORr!rN)r#rrrexitrs r print_errorr*3s599W5HHQKrcU(a[RnSnO[RnSn[XU5 U(a[R "S5 gg)z)Print a warning, and optionally terminater%WARNINGr'N)rrrr#rr()rfatalr!rs r print_warningr.9s>   F#    rc6[U[RSS9 g)zPrint a messageINFOr&N)r#rr r)s r print_infor1Fs5;;v6rcvSnSnUH.nUS:XaSnM U(aXR5- nSnM*X- nM0 U$)NF.T)upper)sret force_uppercs r strip_dotsr:KsF CK  8Kwwy #  Jrc&URSS5$)Nr4-)replacer6s rdots_to_hyphensr?Zs 99S# rcSnSnSnSnUH\nU(a US:XaUS- nMSnUR5(a U(aSnSnOSnU(aUS- nXR5- nSnM^ U$)Nr3FT_)isupperlower)r6r7 insert_uscoreprev_was_lowerinitialr9s rcamel_case_to_uscorerG^s} CMNG  qCx 3JC  99;; $ "N!N  3JC wwy !" Jrc SRURS5Vs/sH2o(a'USR5USSR5-OSPM4 sn5$s snf)Nr3rArr')joinsplitr5rCr>s ruscore_to_camel_caserKwsN 77PS U 1AAaDJJL1QR5;;=03> U VVUs9Ac>U(aURS5S:agg)NrArTF)findr>s r is_ugly_caserN{sQVVC[1_ rc`U(a'UH!nURU:XdMURs $ g)N)keyvalue) annotationsrPas rlookup_annotationrTs(Auu|ww rc&[US5nUcgU$)Nzorg.gtk.GDBus.DocStringr3rTrRr6s r lookup_docsrXs+'@AAyrc&[US5nUcgU$)Nzorg.gtk.GDBus.Sincer3rVrWs r lookup_sincerZs+'<=Ayrc&[US5nUcgU$)Nzorg.gtk.GDBus.DocString.Shortr3rVrWs rlookup_brief_docsr\s+'FGAyrcpUSS:XaSnOUS(a[US5nOSn[U5US4$)Nr UNRELEASED99990r')str_parse_version)rPvs rversion_cmp_keyrdsB 1v  Q AK  1 s1v &&rc[R"SU5nUVs/sH$o"R5(a [U5OUPM& sn$s snf)a Parse a version string into a list of integers and strings. This function takes a version string and breaks it down into its component parts. It separates numeric and non-numeric segments, converting numeric segments to integers. Args: version (str): The version string to parse. Returns: list: A list where each element is either an integer (for numeric parts) or a string (for non-numeric parts). Example: >>> parseversion("1.2.3a") [1, 2, 3, 'a'] >>> parseversion("2.0.0-rc1") [2, 0, 0, 'rc1'] z (\d+|\w+))refindallisdigitint)versionblocksbs rrbrbs=(ZZ g .F28 9&QiikkCFq (& 99 9s+A )F)rrrfrrr#r*r.r1r:r?rGrKrNrTrXrZr\rdrbrrrrmsr0 !99YN 7 2W  ':r