
    <[j9                     D    d dl Z  G d de          Z G d d          ZdS )    Nc                       e Zd ZdS )FeatureNotEnabledErrorN)__name__
__module____qualname__     V/home/thesage/.hermes/hermes-agent/venv/lib/python3.11/site-packages/fido2/features.pyr   r       s        Dr	   r   c                   v    e Zd ZdedefdZedefd            Zej        deddfd            Zddd
Z	ddZ
dS )_Featurenamedescc                 0    d | _         || _        || _        d S )N)_enabled_name_desc)selfr   r   s      r
   __init__z_Feature.__init__%   s    %)



r	   returnc                 <    |                                   | j        du S )NT)warnr   r   s    r
   enabledz_Feature.enabled*   s    		}$$r	   valueNc                 ^    | j         t          | j         d| j                    || _         d S )Nz" has already been configured with )r   
ValueErrorr   )r   r   s     r
   r   z_Feature.enabled/   s>    =$:PPPP   r	   Tc                 x    | j         |k    r.|                                  t          d| j         d|           d S )NzUsage requires z.enabled = )r   r   r   r   )r   states     r
   requirez_Feature.require7   sK    =E!!IIKKK(@$*@@@@   "!r	   c                     | j         =t          j        d| j         d| j         d| j         d| j         d	t
                     d S d S )NzDeprecated use of a2  .

You are using deprecated functionality which will change in the next major version of
python-fido2. You can opt-in to use the new functionality now by adding the following
to your code somewhere where it gets executed prior to using the affected functionality:

  import fido2.features
  fido2.features.zy.enabled = True

To silence this warning but retain the current behavior, instead set enabled to False:
  fido2.features.z.enabled = False

z
            )r   warningsr   r   r   DeprecationWarningr   s    r
   r   z_Feature.warn>   s    = Mtz   *  *     #     ! r	   )T)r   N)r   r   r   strr   propertyboolr   setterr   r   r   r	   r
   r   r   $   s        S     
 % % % % X% ^T d    ^         r	   r   )r!   	Exceptionr   r   r   r	   r
   <module>r(      sl   : 	 	 	 	 	Y 	 	 	, , , , , , , , , ,r	   