a qéqeèã@srUddlmZddlmZddlmZddlmZeeƒZ eedfe d<edd œd d „Z Gd d„deeƒZ d S)é)Ú defaultdicté)Ú Conditionalé)ÚWrapper)ÚCacheÚConditionalWrapperÚ _cond_cache©ÚcondÚreturncCsBzt|j|WSty<t|ƒ}|t|j|<|YS0dS)z† Wrap type attributes from the specified policy. This caches results to prevent duplicate wrapper objects in memory. N)r ZpolicyÚKeyErrorr)r Úa©rú>/usr/lib64/python3.9/site-packages/setools/diff/conditional.pyÚconditional_wrapper_factorys  rc@s<eZdZdZdZeddœdd„Zdd„Zd d „Zd d „Z dS) rzHWrap conditional policy expressions to allow comparisons by truth table.Ú truth_tableNr cCs||_| ¡|_dS©N)Úoriginr)Úselfr rrrÚ__init__&szConditionalWrapper.__init__cCs t|jƒSr)Úhashr)rrrrÚ__hash__*szConditionalWrapper.__hash__cCs |j|jkSr)r©rÚotherrrrÚ__eq__-szConditionalWrapper.__eq__cCst|jƒt|ƒkSr)ÚstrrrrrrÚ__lt__0szConditionalWrapper.__lt__) Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú __slots__rrrrrrrrrr s N) Ú collectionsrZ policyreprÚ differencerÚtypingrÚdictr Ú__annotations__rrrrrrÚs