
    (ph                     4    S SK Jr  S SKrS SKr " S S5      rg)    )TypeNc                   \    \ rS rSrSrS\\R                     4S jrSS.S\	4S jjr
S	 rS
rg)EnumRule   z@A marshal for converting between integer values and enum values.
enum_classc                     Xl         g N_enum)selfr   s     L/var/www/html/venv/lib/python3.13/site-packages/proto/marshal/rules/enums.py__init__EnumRule.__init__   s    
    N)absentr   c                   [        U[        5      (       a,  [        XR                  5      (       d   U R                  U5      $ U$ ! [         a<    [        R
                  " SR                  U R                  R                  US95         U$ f = f)Nz'Unrecognized {name} enum value: {value})namevalue)
isinstanceintr   
ValueErrorwarningswarnformat__name__)r   r   r   s      r   	to_pythonEnumRule.to_python   s    eS!!*UJJ*G*Gzz%((    =DD!ZZ00# E  s   A AB
	B
c                     [        XR                  5      (       a  UR                  $ [        U[        5      (       a  U R                  U   R                  $ U$ r	   )r   r   r   str)r   r   s     r   to_protoEnumRule.to_proto-   sH    
 eZZ((;; eS!!::e$*** r   r
   )r   
__module____qualname____firstlineno____doc__r   enumIntEnumr   boolr   r    __static_attributes__ r   r   r   r      s0    J 4#5   26 $ &r   r   )typingr   r&   r   r   r*   r   r   <module>r,      s      ' 'r   