



from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tensorflow_text_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


A_		:     str        =     {
    '''configuration_bert''': ['''BERT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''BertConfig''', '''BertOnnxConfig'''],
    '''tokenization_bert''': ['''BasicTokenizer''', '''BertTokenizer''', '''WordpieceTokenizer'''],
}

try:
     if not is_tokenizers_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     A_		:     Tuple        =     ['''BertTokenizerFast''']

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     A_		:     Dict        =     [
         '''BERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
         '''BertForMaskedLM''',
         '''BertForMultipleChoice''',
         '''BertForNextSentencePrediction''',
         '''BertForPreTraining''',
         '''BertForQuestionAnswering''',
         '''BertForSequenceClassification''',
         '''BertForTokenClassification''',
         '''BertLayer''',
         '''BertLMHeadModel''',
         '''BertModel''',
         '''BertPreTrainedModel''',
         '''load_tf_weights_in_bert''',
     ]

try:
     if not is_tf_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     A_		:     int        =     [
         '''TF_BERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
         '''TFBertEmbeddings''',
         '''TFBertForMaskedLM''',
         '''TFBertForMultipleChoice''',
         '''TFBertForNextSentencePrediction''',
         '''TFBertForPreTraining''',
         '''TFBertForQuestionAnswering''',
         '''TFBertForSequenceClassification''',
         '''TFBertForTokenClassification''',
         '''TFBertLMHeadModel''',
         '''TFBertMainLayer''',
         '''TFBertModel''',
         '''TFBertPreTrainedModel''',
     ]
try:
     if not is_tensorflow_text_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     A_		:     int        =     ['''TFBertTokenizer''']

try:
     if not is_flax_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     A_		:     Tuple        =     [
         '''FlaxBertForCausalLM''',
         '''FlaxBertForMaskedLM''',
         '''FlaxBertForMultipleChoice''',
         '''FlaxBertForNextSentencePrediction''',
         '''FlaxBertForPreTraining''',
         '''FlaxBertForQuestionAnswering''',
         '''FlaxBertForSequenceClassification''',
         '''FlaxBertForTokenClassification''',
         '''FlaxBertModel''',
         '''FlaxBertPreTrainedModel''',
     ]

if TYPE_CHECKING:
     from .configuration_bert import BERT_PRETRAINED_CONFIG_ARCHIVE_MAP, BertConfig, BertOnnxConfig
     from .tokenization_bert import BasicTokenizer, BertTokenizer, WordpieceTokenizer

     try:
          if not is_tokenizers_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .tokenization_bert_fast import BertTokenizerFast

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_bert import (
              BERT_PRETRAINED_MODEL_ARCHIVE_LIST,
              BertForMaskedLM,
              BertForMultipleChoice,
              BertForNextSentencePrediction,
              BertForPreTraining,
              BertForQuestionAnswering,
              BertForSequenceClassification,
              BertForTokenClassification,
              BertLayer,
              BertLMHeadModel,
              BertModel,
              BertPreTrainedModel,
              load_tf_weights_in_bert,
          )

     try:
          if not is_tf_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_tf_bert import (
              TF_BERT_PRETRAINED_MODEL_ARCHIVE_LIST,
              TFBertEmbeddings,
              TFBertForMaskedLM,
              TFBertForMultipleChoice,
              TFBertForNextSentencePrediction,
              TFBertForPreTraining,
              TFBertForQuestionAnswering,
              TFBertForSequenceClassification,
              TFBertForTokenClassification,
              TFBertLMHeadModel,
              TFBertMainLayer,
              TFBertModel,
              TFBertPreTrainedModel,
          )

     try:
          if not is_tensorflow_text_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .tokenization_bert_tf import TFBertTokenizer

     try:
          if not is_flax_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_flax_bert import (
              FlaxBertForCausalLM,
              FlaxBertForMaskedLM,
              FlaxBertForMultipleChoice,
              FlaxBertForNextSentencePrediction,
              FlaxBertForPreTraining,
              FlaxBertForQuestionAnswering,
              FlaxBertForSequenceClassification,
              FlaxBertForTokenClassification,
              FlaxBertModel,
              FlaxBertPreTrainedModel,
          )

else:
     import sys

     A_		:     Any        =     _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)






from ...configuration_utils import PretrainedConfig
from ...utils import logging


A_		:     Any        =     logging.get_logger(__name__)

A_		:     Optional[int]        =     {
    '''SCUT-DLVCLab/lilt-roberta-en-base''': (
        '''https://huggingface.co/SCUT-DLVCLab/lilt-roberta-en-base/resolve/main/config.json'''
    ),
}



class 		_lowercase		(       UpperCAmelCase__	):
   _UpperCAmelCase     	=			'''lilt'''

   def __init__(      self			:       Union[str, Any]							,   __lowerCAmelCase			:       Optional[Any]=3_0522							,   __lowerCAmelCase			:       str=768							,   __lowerCAmelCase			:       Any=12							,   __lowerCAmelCase			:       Optional[Any]=12							,   __lowerCAmelCase			:       List[Any]=3072							,   __lowerCAmelCase			:       Dict="gelu"							,   __lowerCAmelCase			:       int=0.1							,   __lowerCAmelCase			:       Union[str, Any]=0.1							,   __lowerCAmelCase			:       List[str]=512							,   __lowerCAmelCase			:       Optional[int]=2							,   __lowerCAmelCase			:       int=0.0_2							,   __lowerCAmelCase			:       Union[str, Any]=1E-12							,   __lowerCAmelCase			:       Tuple=0							,   __lowerCAmelCase			:       List[Any]="absolute"							,   __lowerCAmelCase			:       int=None							,   __lowerCAmelCase			:       Dict=4							,   __lowerCAmelCase			:       Dict=1024							,   **__lowerCAmelCase			:       Dict							,   )       ->				int:


    """simple docstring"""






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

    a						=		vocab_size
    a						=		hidden_size
    a						=		num_hidden_layers
    a						=		num_attention_heads
    a						=		hidden_act
    a						=		intermediate_size
    a						=		hidden_dropout_prob
    a						=		attention_probs_dropout_prob
    a						=		max_position_embeddings
    a						=		type_vocab_size
    a						=		initializer_range
    a						=		layer_norm_eps
    a						=		position_embedding_type
    a						=		classifier_dropout
    a						=		channel_shrink_ratio
    a						=		max_ad_position_embeddings

