a qqe@sddlmZddlmZddlmZmZmZmZm Z ddl m Z ddl m Z mZddlmZdd lmZdd lmZdd lmZGd d d eZGddde ZGdddeeZGdddee ZdS)) defaultdict) NamedTuple) AnyRBACRule RBACRuletypeRole RoleAllowRoleTransition)DiffResultDescriptor) DifferenceWrapper)class_wrapper_factory)role_wrapper_factory)type_or_attr_wrapper_factory)RuleListc@s*eZdZUdZeed<eed<eed<dS)ModifiedRBACRulez,Difference details for a modified RBAC rule.ruleZ added_defaultZremoved_defaultN)__name__ __module__ __qualname____doc__r__annotations__rrrrr:rr;rrJr?r@r6rrrrAs    zRoleTransitionWrapper.__init__cCs|jSr=rBr7rrrrCszRoleTransitionWrapper.__hash__cCs |j|jkSr=rBrDrrrrFszRoleTransitionWrapper.__lt__cCs$|j|jko"|j|jko"|j|jkSr=rIrDrrrrGs    zRoleTransitionWrapper.__eq__) rrrrrHr rArCrFrGrrrrr.s r.N) collectionsrtypingrZ policyreprrrrr Z descriptorsr differencer r ZobjclassrZrolesrtypesrrrrr)r.rrrrs        b