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


SCREAMING_SNAKE_CASE__		:					int						=					logging.get_logger(__name__)

SCREAMING_SNAKE_CASE__		:					Dict						=					{
    "alibaba-damo/mgp-str-base": "https://huggingface.co/alibaba-damo/mgp-str-base/resolve/main/config.json",
}

class       snake_case					(      UpperCamelCase_						):
  lowercase_			=     'mgp-str'




  def __init__(      self     :	Dict     , a_     :	Optional[int]=[32, 128]     , a_     :	List[str]=4     , a_     :	List[Any]=3     , a_     :	Union[str, Any]=27     , a_     :	Optional[Any]=38     , a_     :	Any=5_0257     , a_     :	Tuple=3_0522     , a_     :	Any=768     , a_     :	Union[str, Any]=12     , a_     :	List[Any]=12     , a_     :	Tuple=4.0     , a_     :	Union[str, Any]=True     , a_     :	Optional[Any]=False     , a_     :	Tuple=1e-5     , a_     :	List[Any]=0.0     , a_     :	Any=0.0     , a_     :	int=0.0     , a_     :	Optional[int]=False     , a_     :	int=0.02     , **a_     :	List[str]     , )->       Any:




       """simple docstring"""
       super().__init__(**a_				)

       SCREAMING_SNAKE_CASE__				:				Dict			=		image_size
       SCREAMING_SNAKE_CASE__				:				List[Any]			=		patch_size
       SCREAMING_SNAKE_CASE__				:				Optional[Any]			=		num_channels
       SCREAMING_SNAKE_CASE__				:				Union[str, Any]			=		max_token_length
       SCREAMING_SNAKE_CASE__				:				Tuple			=		num_character_labels
       SCREAMING_SNAKE_CASE__				:				List[Any]			=		num_bpe_labels
       SCREAMING_SNAKE_CASE__				:				Union[str, Any]			=		num_wordpiece_labels
       SCREAMING_SNAKE_CASE__				:				int			=		hidden_size
       SCREAMING_SNAKE_CASE__				:				List[str]			=		num_hidden_layers
       SCREAMING_SNAKE_CASE__				:				Any			=		num_attention_heads
       SCREAMING_SNAKE_CASE__				:				Optional[int]			=		mlp_ratio
       SCREAMING_SNAKE_CASE__				:				Dict			=		distilled
       SCREAMING_SNAKE_CASE__				:				str			=		layer_norm_eps
       SCREAMING_SNAKE_CASE__				:				Any			=		drop_rate
       SCREAMING_SNAKE_CASE__				:				List[str]			=		qkv_bias
       SCREAMING_SNAKE_CASE__				:				Dict			=		attn_drop_rate
       SCREAMING_SNAKE_CASE__				:				List[str]			=		drop_path_rate
       SCREAMING_SNAKE_CASE__				:				Optional[Any]			=		output_aa_attentions
       SCREAMING_SNAKE_CASE__				:				List[Any]			=		initializer_range




from __future__ import annotations







def     _a				(      lowercase__  :			list[int | float]     ,  lowercase__  :			int     ,  lowercase__  :			int ):







     '''simple docstring'''


     if len(lowercase__ ) == 0:
          raise ValueError('find_max() arg is an empty sequence' )
     if (
         left >= len(lowercase__ )
         or left < -len(lowercase__ )
         or right >= len(lowercase__ )
         or right < -len(lowercase__ )
     ):
          raise IndexError('list index out of range' )
     if left == right:
          return nums[left]
     SCREAMING_SNAKE_CASE__				:				Union[str, Any]			=		(left + right) >> 1  # the middle
     SCREAMING_SNAKE_CASE__				:				int			=		find_max(lowercase__     ,  lowercase__     ,  lowercase__ )  # find max in range[left, mid]
     SCREAMING_SNAKE_CASE__				:				Tuple			=		find_max(lowercase__     ,  mid + 1     ,  lowercase__ )  # find max in range[mid + 1, right]

     return left_max if left_max >= right_max else right_max


if __name__ == "__main__":
      import doctest

      doctest.testmod(verbose=True)



