+
                                 ^ RI t ^ RIt^RIHt ^RIHtHtHt ]P                  ! R4      t	]P                  '       d   ^ RIHt ^RIHt  ! R R]]	,          4      t ! R	 R
]]	,          4      t ! R R]4      tR# )    N)InvalidCheckValue)CriteriaDescriptorCriteriaSetDescriptorCriteriaPermissionSetDescriptorT)Callable)CheckerModulec                   Z   a a ] tR t^t oRtV3R lV 3R lltV3R lV 3R lltRtVtV ;t	# )ConfigDescriptora5  
Single item configuration option descriptor.

Parameter:
lookup_function The name of the SELinuxPolicy lookup function,
                e.g. lookup_type or lookup_boolean.

Read-only instance attribute use (obj parameter):
checkname       The name of the check.
policy          The instance of SELinuxPolicy
c                "   < V ^8  d   QhRRRR/# )   lookup_functionCallable | strreturnN )format__classdict__s   "B/usr/lib64/python3.14/site-packages/setools/checker/descriptors.py__annotate__ConfigDescriptor.__annotate__!   s     : :(8 :T :    c                (   < \         SV `  VR 7       R# ))r   N)super__init__)selfr   	__class__s   &&r   r   ConfigDescriptor.__init__!   s    9r   c                6   < V ^8  d   QhRRRS[ R,          RR/# r   objr	   valueNr   str)r   r   s   "r   r   r   $   +     S S? S3: S$ Sr   c                   < V'       g   \        WP                  R 4       R #  \        SV `  WP	                  4       4       R #   \
         d.   p\        TP                   RT P                   RT 24      ThR p?ii ; i)N
: Invalid 
 setting: )setattrnamer   __set__strip
ValueErrorr   	checknamer   r    r!   exr   s   &&& r   r*   ConfigDescriptor.__set__$   sl    CD)S[[]3 S'}}oZ		{*RDIKPRSSs   A A:(A55A:r   
__name__
__module____qualname____firstlineno____doc__r   r*   __static_attributes____classdictcell____classcell__r   r   s   @@r   r   r      s&     
: :S S Sr   r   c                   X   a a ] tR t^/t oRtRV3R lV 3R llltV3R lR ltRtVtV ;t	# )ConfigSetDescriptora  
Descriptor for a configuration option set.

Parameter:
lookup_function The name of the SELinuxPolicy lookup function,
                e.g. lookup_type or lookup_boolean.

Keyword Parameters:
strict          (Bool) If True, all objects must exist in the policy
                when setting the value.  If False, any objects that
                fail the policy lookup will be dropped instead of raising
                an exception.  The default is True.
expand          (Bool) If True, each object will be expanded.  Default
                is False.

Read-only instance attribute use (obj parameter):
checkname       The name of the check.
log             A logger instance.
policy          The instance of SELinuxPolicy
c                .   < V ^8  d   QhRRRS[ RS[ RR/# )r   r   r   strictexpandr   N)bool)r   r   s   "r   r    ConfigSetDescriptor.__annotate__F   s,      (8 $ *.r   c                j   < \         SV `  V\        \        ,          ! 4       R 7       W n        W0n        R# ))r   default_valueN)r   r   	frozensetr   r>   r?   )r   r   r>   r?   r   s   &&&&r   r   ConfigSetDescriptor.__init__F   s(     		RSWr   c                6   < V ^8  d   QhRRRS[ R,          RR/# r   r"   )r   r   s   "r   r   rA   M   s&     4 4? 43: 4$ 4r   c           	         V'       g-   \        WP                  \        \        ,          ! 4       4       R# VP                  p\        V P                  4      '       d   V P                  pM9V P                  '       g   Q R 4       h\        VP                  V P                  4      p\        4       pR \        P                  ! RV4       4        Fl  p V! V4      pV P                  '       d>   \        VR4      '       g   Q V R24       hVP                  VP                  4       4       K[  VP                  V4       Kn  	  \        WP                  \        V4      4       R#   \          d   pT P"                  '       d]   TP%                  RT P                   RT 24       TP'                  RRR	7       \)        TP*                   R
T P                   RT 24      ThTP-                  TP*                   R
T P                   RT 24        Rp?EK>  Rp?ii ; i)z/lookup_function not set, this is an SETools bugc              3   8   "   T F  q'       g   K  Vx  K  	  R # 5iNr   ).0is   & r   	<genexpr>.ConfigSetDescriptor.__set__.<locals>.<genexpr>Y   s     @$:qa$:   	
z\sr?   z5 does not have expand method, this is an SETools bug.zInvalid z item: z
Traceback:T)exc_infor&   N)r(   r)   rD   r   logcallabler   getattrpolicysetresplitr?   hasattrupdateaddr,   r>   errordebugr   r-   info)	r   r    r!   rP   lookupretitemoes	   &&&      r   r*   ConfigSetDescriptor.__set__M   s   CIaLN3''C,,----+++^-^^+ T-A-AB%C@BHHUE$:@P!$<A{{{&q(33 X c!VWX3

188:.
 A$ CIcN3 " P{{{		HTYYKwqc"BC		,	>/"}}oZ		{'!MOTUV HHj71#NOOPs    AE%EH&BHH)r?   r>   )TFr1   r:   s   @@r   r<   r<   /   s#     * 4 4 4r   r<   c                   Z   a a ] tR t^nt oRtV3R lV 3R lltV3R lV 3R lltRtVtV ;t	# )ConfigPermissionSetDescriptora.  
Descriptor for a configuration permissions set.

Read-only instance attribute use (obj parameter):
checkname       The name of the check.
policy          The instance of SELinuxPolicy
tclass          If it exists, it will be used to validate the
                permissions.  See validate_perms_any()
c                   < V ^8  d   QhRR/# )r   r   Nr   )r   r   s   "r   r   *ConfigPermissionSetDescriptor.__annotate__z   s     4 4$ 4r   c                8   < \         SV `  \        4       R 7       R# ))rC   N)r   r   rD   )r   r   s   &r   r   &ConfigPermissionSetDescriptor.__init__z   s    y{3r   c                6   < V ^8  d   QhRRRS[ R,          RR/# r   r"   )r   r   s   "r   r   rf   }   r$   r   c                  < V'       g!   \        WP                  \        4       4       R#  \        SV `  VR  VP                  R4       4       4       R#   \         d.   p\        TP                   RT P                   RT 24      ThRp?ii ; i)c              3   8   "   T F  q'       g   K  Vx  K  	  R # 5irI   r   )rJ   vs   & r   rL   8ConfigPermissionSetDescriptor.__set__.<locals>.<genexpr>   s     %G1AAQaa1ArN    r&   r'   N)	r(   r)   rD   r   r*   rV   r,   r   r-   r.   s   &&& r   r*   %ConfigPermissionSetDescriptor.__set__}   sy    CIK0S%GS1A%GH S'}}oZ		{*RDIKPRSSs   &A B(BBr   r1   r:   s   @@r   rd   rd   n   s&     4 4S S Sr   rd   )rU   typing	exceptionr   descriptorsr   r   r   TypeVarr   TYPE_CHECKINGcollections.abcr   checkermoduler	   r   r<   rd   r   r   r   <module>rw      sr   
 
  )< < NN3	(,S)!, S8<4/2 <4~S$C Sr   