o
    üÞhÙ  ã                   @   sŠ   d Z dZddlmZ ddlZddlZG dd„ deƒZejZdZ	dZ
dZd	ZeZe	Ze
ZeZeZd
ZdaG dd„ deƒZdd„ Zdd„ ZdS )zProtobuf Runtime versions and validators.

It should only be accessed by Protobuf gencodes and tests. DO NOT USE it
elsewhere.
zshaod@google.com (Dennis Shao)é    )ÚEnumNc                   @   s   e Zd ZdZdZdS )ÚDomainé   é   N)Ú__name__Ú
__module__Ú__qualname__ÚGOOGLE_INTERNALÚPUBLIC© r   r   ú_/var/www/html/premium_crap/venv/lib/python3.10/site-packages/google/protobuf/runtime_version.pyr      s    r   é   é    Ú é   c                   @   s   e Zd ZdZdS )ÚVersionErrorz&Exception class for version violation.N)r   r   r   Ú__doc__r   r   r   r   r   -   s    r   c                 C   s   t | ƒ‚)N)r   )Úmsgr   r   r   Ú_ReportVersionError1   s   r   c           
   	   C   s  t  d¡}|dur| ¡ dkrdS t› dt› dt› t› �}|› d|› d|› |› �}|dk s5|dk s5|dk r<td|› �ƒ‚d}	| tkrRt	d|› d	| j
› d
tj
› d�ƒ t|k sjt|kr^t|k sjt|kr|t|kr~t|k r€t	d|› d	|› d
|› d|	› �ƒ dS dS dS dS )aü  Function to validate versions.

  Args:
    gen_domain: The domain where the code was generated from.
    gen_major: The major version number of the gencode.
    gen_minor: The minor version number of the gencode.
    gen_patch: The patch version number of the gencode.
    gen_suffix: The version suffix e.g. '-dev', '-rc1' of the gencode.
    location: The proto location that causes the version violation.

  Raises:
    VersionError: if gencode version is invalid or incompatible with the
    runtime.
  Ú*TEMPORARILY_DISABLE_PROTOBUF_VERSION_CHECKNÚtrueÚ.r   zInvalid gencode version: z`See Protobuf version guarantees at https://protobuf.dev/support/cross-version-runtime-guarantee.zBDetected mismatched Protobuf Gencode/Runtime domains when loading z
: gencode z	 runtime z2. Cross-domain usage of Protobuf is not supported.zEDetected incompatible Protobuf Gencode/Runtime versions when loading zC. Runtime version cannot be older than the linked gencode version. )ÚosÚgetenvÚlowerÚMAJORÚMINORÚPATCHÚSUFFIXr   ÚDOMAINr   Úname)
Ú
gen_domainÚ	gen_majorÚ	gen_minorÚ	gen_patchÚ
gen_suffixÚlocationÚdisable_flagÚversionÚgen_versionÚerror_promptr   r   r   ÚValidateProtobufRuntimeVersion5   sD   
ÿÿÿÿÿÿÿÿþÿþr+   )r   Ú
__author__Úenumr   r   Úwarningsr   r
   Ú
OSS_DOMAINÚ	OSS_MAJORÚ	OSS_MINORÚ	OSS_PATCHÚ
OSS_SUFFIXr   r   r   r   r   Ú_MAX_WARNING_COUNTÚ_warning_countÚ	Exceptionr   r   r+   r   r   r   r   Ú<module>   s*   