§ {<ˆj»ãóJ—dZdZdZGd„de¦«ZGd„de¦«ZdS)zº Base classes for features that are backwards-incompatible. Usage: features = Features() features.add(Feature("py3k_feature", "power< 'py3k' any* >", "2.7")) PATTERN = features.PATTERN z%s=%sz- %s is only supported in Python %s and above.có—eZdZdZd„Zd„ZdS)ÚFeaturez® A feature has a name, a pattern, and a minimum version of Python 2.x required to use the feature (or 3.x if there is no backwards-compatible version of 2.x) có0—||_||_||_dS)N)ÚnameÚ_patternÚversion)ÚselfrÚPATTERNrs úr/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/libpasteurize/fixes/feature_base.pyÚ__init__zFeature.__init__s€ØˆŒ ؈Œ ؈Œ ˆ ˆ ócó.—t|j|jfzS)zS Format the above text with the name and minimum version required. )Úmessage_unformattedrr©rs r Ú message_textzFeature.message_texts€õ# d¤i°´Ð%>Ñ>Ð>r N)Ú__name__Ú __module__Ú __qualname__Ú__doc__r r©r r rrs<€€€€€ððð ððð ?ð?ð?ð?ð?r rcó8—eZdZdZiZd„Zed„¦«Zd„ZdS)ÚFeaturesz™ A set of features that generates a pattern for the features it contains. This set will act like a mapping in that we map names to patterns. có\—td„t|¦«D¦«¦«|_dS)zS Called every time we care about the mapping of names to features. có —g|] }|j|f‘Œ Sr)r©Ú.0Úfs r ú z+Features.update_mapping..*s€Ð=Ð=Ð=¨Q˜aœf a˜[Ð=Ð=Ð=r N)ÚdictÚiterÚmappingrs r Úupdate_mappingzFeatures.update_mapping&s,€õÐ=Ð=µ$°t±*´*Ð=Ñ=Ô=Ñ>Ô>ˆŒ ˆ ˆ r có‚—| ¦«d d„t|¦«D¦«¦«S)z{ Uses the mapping of names to features to return a PATTERN suitable for using the lib2to3 patcomp. z | có:—g|]}t|j|jfz‘ŒSr)Úpattern_unformattedrrrs r rz$Features.PATTERN..3s'€Ð\Ð\Ð\ÈAÕ0°A´F¸A¼JÐ3GÑGÐ\Ð\Ð\r )r!Újoinrrs r r zFeatures.PATTERN,sA€ð ×ÒÑÔÐØ�|Š|Ð\Ð\ÕQUÐVZÑQ[ÔQ[Ð\Ñ\Ô\Ñ]Ô]Ð]r có—|j|S)zH Implement a simple mapping to get patterns from names. )r )rÚkeys r Ú __getitem__zFeatures.__getitem__5s€ðŒ|˜CÔ Ð r N) rrrrr r!Úpropertyr r(rr r rrsa€€€€€ððð€Gð?ð?ð?ð ð^ð^ñ„Xð^ð!ð!ð!ð!ð!r rN)rr$rÚobjectrÚsetrrr r úr,s}ððððÐð0Ðð?ð?ð?ð?ð?ˆfñ?ô?ð?ð"!ð!ð!ð!ð!ˆsñ!ô!ð!ð!ð!r