2bi SrSSKrSSKJr SSKJr SSKJr SSKJr \R"S5r \"S5r Sr S r S S jrg) z pygments.regexopt ~~~~~~~~~~~~~~~~~ An algorithm that generates optimized regexes for matching long lists of literal strings. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)escape) commonprefix)groupby) itemgetterz [\[\^\\\-\]]cZS[RSSRU55-S-$)N[c(SUR5-$)N\)group)ms ڏ/builddir/build/BUILDROOT/alt-python313-pip-23.3.1-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/pip/_vendor/pygments/regexopt.pymake_charset..s )9]) CS_ESCAPEsubjoin)letterss r make_charsetrs' 92777;KL Ls RRrc ^ ^ U=(a S=(d SnU(dgUSm [U5S:XaU[T 5-U-$T (dU[USSS5-S-U-$[T 5S:Xa/n/nUH6n[U5S:XaURU5 M%URU5 M8 [U5S:a9U(a!U[US5-S-[ U5-U-$U[ U5-U-$[ U5nU(a<[U5nU[U5-[UVs/sHoUUSPM snS5-U-$UVs/sH oUSSS 2PM nn[ U5n U (aB[U 5m U[[ U 4S jU55S5-[U SSS 25-U-$USRS [UU 4S j555-U-$s snfs snf) zEReturn a regex that matches any string in the sorted list of strings.)rrNz(?:?|c3.># UH oST*v M g7f)N).0sslens r "regex_opt_inner..Hs$@1vYsc3R# UHn[[US5S5v M g7f)rrN)regex_opt_innerlist)r r s r r#r$Ms*LJU!eAh44Js%'c>USTS:H$)Nrr)r!firsts r r!regex_opt_inner..Ns1q9Ir) lenrr&appendrrsortedrr) strings open_paren close_paren oneletterrestr!prefixplen strings_revsuffixr)r"s @@r r&r&s$*K  AJE 7|qF5M)K77 OGABK??   5zQ A1v{  # A  y>A !OD"$==C"9-.0;<< Y 77+E E ' "F 6{F6N*9Ax95AB %,,GqTrT7GK, + &F 6{f$@$@@%HIVDbD\"#%01 1  L%g/IJL L L  :-s -G G$c<[U5nU[US5-U-$)zReturn a compiled regex that matches any string in the given list. The strings to match must be literal strings, not regexes. They will be regex-escaped. *prefix* and *suffix* are pre- and appended to the final regex. ()r-r&)r.r3r6s r regex_optr9Rs$WoG OGS1 1F ::r)rr)__doc__reros.pathr itertoolsroperatorrcompiler FIRST_ELEMENTrr&r9rrr rAsC    JJ ' 1 S5p ;r