
'''simple docstring'''

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


__snake_case:	Optional[int]										=      logging.get_logger(__name__)

__snake_case:	int										=      {
    "google/realm-cc-news-pretrained-embedder": (
        "https://huggingface.co/google/realm-cc-news-pretrained-embedder/resolve/main/config.json"
    ),
    "google/realm-cc-news-pretrained-encoder": (
        "https://huggingface.co/google/realm-cc-news-pretrained-encoder/resolve/main/config.json"
    ),
    "google/realm-cc-news-pretrained-scorer": (
        "https://huggingface.co/google/realm-cc-news-pretrained-scorer/resolve/main/config.json"
    ),
    "google/realm-cc-news-pretrained-openqa": (
        "https://huggingface.co/google/realm-cc-news-pretrained-openqa/aresolve/main/config.json"
    ),
    "google/realm-orqa-nq-openqa": "https://huggingface.co/google/realm-orqa-nq-openqa/resolve/main/config.json",
    "google/realm-orqa-nq-reader": "https://huggingface.co/google/realm-orqa-nq-reader/resolve/main/config.json",
    "google/realm-orqa-wq-openqa": "https://huggingface.co/google/realm-orqa-wq-openqa/resolve/main/config.json",
    "google/realm-orqa-wq-reader": "https://huggingface.co/google/realm-orqa-wq-reader/resolve/main/config.json",
    # See all REALM models at https://huggingface.co/models?filter=realm
}


class 			_UpperCAmelCase			(			SCREAMING_SNAKE_CASE__     ):

     """simple docstring"""

     a_     						=       "realm"


     def __init__(   self				,		lowerCAmelCase_=3_05_22				,		lowerCAmelCase_=7_68				,		lowerCAmelCase_=1_28				,		lowerCAmelCase_=12				,		lowerCAmelCase_=12				,		lowerCAmelCase_=8				,		lowerCAmelCase_=30_72				,		lowerCAmelCase_="gelu_new"				,		lowerCAmelCase_=0.1				,		lowerCAmelCase_=0.1				,		lowerCAmelCase_=5_12				,		lowerCAmelCase_=2				,		lowerCAmelCase_=0.02				,		lowerCAmelCase_=1E-1_2				,		lowerCAmelCase_=2_56				,		lowerCAmelCase_=10				,		lowerCAmelCase_=1E-3				,		lowerCAmelCase_=5				,		lowerCAmelCase_=3_20				,		lowerCAmelCase_=13_35_37_18				,		lowerCAmelCase_=50_00				,		lowerCAmelCase_=1				,		lowerCAmelCase_=0				,		lowerCAmelCase_=2				,		**lowerCAmelCase_				,		):

       '''simple docstring'''

       super().__init__(pad_token_id=lowerCAmelCase_				,		bos_token_id=lowerCAmelCase_				,		eos_token_id=lowerCAmelCase_				,		**lowerCAmelCase_			)

       # Common config
       a_   :						Union[str, Any]   =				vocab_size
       a_   :						Optional[int]   =				max_position_embeddings
       a_   :						Tuple   =				hidden_size
       a_   :						int   =				retriever_proj_size
       a_   :						List[Any]   =				num_hidden_layers
       a_   :						int   =				num_attention_heads
       a_   :						str   =				num_candidates
       a_   :						int   =				intermediate_size
       a_   :						str   =				hidden_act
       a_   :						str   =				hidden_dropout_prob
       a_   :						Optional[int]   =				attention_probs_dropout_prob
       a_   :						Union[str, Any]   =				initializer_range
       a_   :						Tuple   =				type_vocab_size
       a_   :						Union[str, Any]   =				layer_norm_eps

       # Reader config
       a_   :						List[Any]   =				span_hidden_size
       a_   :						str   =				max_span_width
       a_   :						Dict   =				reader_layer_norm_eps
       a_   :						Optional[int]   =				reader_beam_size
       a_   :						Dict   =				reader_seq_len

       # Retrieval config
       a_   :						List[Any]   =				num_block_records
       a_   :						Union[str, Any]   =				searcher_beam_size








def lowercase    (  SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE )			->							Dict:


			'''simple docstring'''







			if index == r:
						for j in range(SCREAMING_SNAKE_CASE ):
									print(data[j]       ,    end=' ' )
						print(' ' )
						return
			#  When no more elements are there to put in data[]
			if i >= n:
						return
			# current is included, put next at next location
			SCREAMING_SNAKE_CASE_								=						arr[i]
			combination_util(SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    index + 1       ,    SCREAMING_SNAKE_CASE       ,    i + 1 )
			# current is excluded, replace it with
			# next (Note that i+1 is passed, but
			# index is not changed)
			combination_util(SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    i + 1 )
			# The main function that prints all combinations
			# of size r in arr[] of size n. This function
			# mainly uses combinationUtil()

def lowercase    (  SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE )			->							Any:


			'''simple docstring'''







			SCREAMING_SNAKE_CASE_								=						[0] * r
			# Print all combination using temporary array 'data[]'
			combination_util(SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE       ,    0       ,    SCREAMING_SNAKE_CASE       ,    0 )


if __name__ == "__main__":
				# Driver code to check the function above
				SCREAMING_SNAKE_CASE__     :     Dict		    =       [10, 20, 30, 40, 50]
				print_combination(arr, len(arr), 3)
				# This code is contributed by Ambuj sahu
