+
    ,i  c                   s   a  R t0 t ^ RIHt ^ RIt^RIHtHtHtHt ^RI	H
t
 Rt] ^ k  ! R R]P                  ]P                  4      tR# )	i    )IterableN)mixins	policyrepqueryutil)CriteriaSetDescriptor	RoleQueryc                   s~   a  ] tR t^t o Rt]]P                  ,          ! RR4      tRt	Rt
V 3R lR ltV 3R ltRtV tR	# )
r   aF  
Query SELinux policy roles.

Parameter:
policy            The policy to query.

Keyword Parameters/Class attributes:
name         The role name to match.
name_regex   If true, regular expression matching
             will be used on the role names.
types        The type to match.
types_equal  If true, only roles with type sets
             that are equal to the criteria will
             match.  Otherwise, any intersection
             will match.
types_regex  If true, regular expression matching
             will be used on the type names instead
             of set logic.
types_regexZlookup_typeFc                sD   < V ^8  d   QhRS[ S[P                  ,          /# )   Zreturn)r    r   ZRoleformat__classdict__   "8/usr/lib64/python3.14/site-packages/setools/rolequery.py__annotate__RoleQuery.__annotate__(   s      )..1     c              #  sj  "   V P                   P                  RV P                   24       V P                  V P                   4       V P                   P	                  RV P
                  : RV P                  : RV P                  : 24       V P                  P                  4        F  pV P                  V4      '       g   K  V P
                  '       dW   \        P                  ! \        VP                  4       4      V P
                  V P                  V P                  4      '       g   K  Vx  K  	  R# 5i)z*Generator which yields all matching roles.zGenerating role results from zself.types=z, self.types_regex=z, self.types_equal=N)ZlogZinfoZpolicyZ_match_name_debugZdebugtypesr   types_equalZrolesZ_match_namer   Zmatch_regex_or_setZset)ZselfZrs   & r   resultsZRoleQuery.results(   s     5dkk]CDtxx(+$**&:)9)9(;;Od>N>N=PQR""$A##A&&zzz$"9"9	NJJ$$$$	#& #&
 G %s   CD3A D3c                s2   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   # )r   r   r   )Zboolr	   r   r   r   r      s     . / 0 1 r   ) N)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   r   ZTyper   r   r   r   Z__annotate_func__Z__static_attributes__Z__classdictcell__)r      @r   r   r      s<     ( ")..1-OEKK 5  r   c                s    V ^8  d   Qh/ ^ \         9   d,   \        P                  \        \        R3,          ,          ;R&   # )r   .__all__)__conditional_annotations__typingZFinalZtupleZstr)r
   s   "r   r   r      s+     $ $ 8 7eCHo	& 7 %r   )r   )r   Zcollections.abcr    r   Z r   r   r   r   Zdescriptorsr   r   Z	MatchNameZPolicyQueryr   r   )r   r   r   <module>r      s<   
 % $  , , .)7 7+  %"3"3 +r   