

"""simple docstring"""
from collections import OrderedDict
from typing import Mapping

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


A									=						logging.get_logger(__name__)

A									=						{
    "google/electra-small-generator": "https://huggingface.co/google/electra-small-generator/resolve/main/config.json",
    "google/electra-base-generator": "https://huggingface.co/google/electra-base-generator/resolve/main/config.json",
    "google/electra-large-generator": "https://huggingface.co/google/electra-large-generator/resolve/main/config.json",
    "google/electra-small-discriminator": (
        "https://huggingface.co/google/electra-small-discriminator/resolve/main/config.json"
    ),
    "google/electra-base-discriminator": (
        "https://huggingface.co/google/electra-base-discriminator/resolve/main/config.json"
    ),
    "google/electra-large-discriminator": (
        "https://huggingface.co/google/electra-large-discriminator/resolve/main/config.json"
    ),
}

class        _UpperCamelCase	(						_a	):


  """simple docstring"""





  snake_case_        =    "electra"



  def __init__( self					: List[str]       ,       snake_case					: Union[str, Any]=3_0522       ,       snake_case					: Union[str, Any]=128       ,       snake_case					: int=256       ,       snake_case					: Tuple=12       ,       snake_case					: List[str]=4       ,       snake_case					: Union[str, Any]=1024       ,       snake_case					: Any="gelu"       ,       snake_case					: Dict=0.1       ,       snake_case					: Tuple=0.1       ,       snake_case					: List[Any]=512       ,       snake_case					: Optional[int]=2       ,       snake_case					: int=0.02       ,       snake_case					: Optional[int]=1e-12       ,       snake_case					: Dict="first"       ,       snake_case					: Optional[Any]=True       ,       snake_case					: List[str]="gelu"       ,       snake_case					: int=0.1       ,       snake_case					: Any=0       ,       snake_case					: Any="absolute"       ,       snake_case					: Any=True       ,       snake_case					: Any=None       ,       **snake_case					: Tuple       ,       )	->			Dict:


         '''simple docstring'''





         super().__init__(pad_token_id=snake_case       ,       **snake_case      )

         __magic_name__			:		Tuple        =     vocab_size
         __magic_name__			:		Optional[int]        =     embedding_size
         __magic_name__			:		Dict        =     hidden_size
         __magic_name__			:		Any        =     num_hidden_layers
         __magic_name__			:		List[Any]        =     num_attention_heads
         __magic_name__			:		Optional[Any]        =     intermediate_size
         __magic_name__			:		Optional[Any]        =     hidden_act
         __magic_name__			:		str        =     hidden_dropout_prob
         __magic_name__			:		Optional[int]        =     attention_probs_dropout_prob
         __magic_name__			:		List[str]        =     max_position_embeddings
         __magic_name__			:		List[str]        =     type_vocab_size
         __magic_name__			:		Tuple        =     initializer_range
         __magic_name__			:		Any        =     layer_norm_eps

         __magic_name__			:		Optional[int]        =     summary_type
         __magic_name__			:		List[str]        =     summary_use_proj
         __magic_name__			:		Dict        =     summary_activation
         __magic_name__			:		List[str]        =     summary_last_dropout
         __magic_name__			:		Dict        =     position_embedding_type
         __magic_name__			:		str        =     use_cache
         __magic_name__			:		Optional[int]        =     classifier_dropout

class        _UpperCamelCase	(						_a	):


  """simple docstring"""





  @property
  def 							_UpperCAmelCase      ( self					: str      )	->			Mapping[str, Mapping[int, str]]:


         '''simple docstring'''





         if self.task == "multiple-choice":
                __magic_name__			:		Any        =     {0: '''batch''', 1: '''choice''', 2: '''sequence'''}
         else:
                __magic_name__			:		Any        =     {0: '''batch''', 1: '''sequence'''}
         return OrderedDict(
             [
                 ('''input_ids''', dynamic_axis),
                 ('''attention_mask''', dynamic_axis),
                 ('''token_type_ids''', dynamic_axis),
             ]      )




'''simple docstring'''



def       _a      (		_lowercase   :      str    ):





     '''simple docstring'''






     __UpperCAmelCase      :					Union[str, Any]    				=     5381
     for x in s:
          __UpperCAmelCase      :					Union[str, Any]    				=     ((hash_value << 5) + hash_value) + ord(_lowercase    )
     return hash_value & 0XFFFFFFFF