

"""simple docstring"""




def 						A							(  snake_case__     ):




			'''simple docstring'''


			return [
			    {
			        0: [1, 2],
			        1: [0, 2],
			        2: [0, 1, 3, 5],
			        3: [2, 4],
			        4: [3],
			        5: [2, 6, 8],
			        6: [5, 7],
			        7: [6, 8],
			        8: [5, 7],
			    },
			    {
			        0: [6],
			        1: [9],
			        2: [4, 5],
			        3: [4],
			        4: [2, 3],
			        5: [2],
			        6: [0, 7],
			        7: [6],
			        8: [],
			        9: [1],
			    },
			    {
			        0: [4],
			        1: [6],
			        2: [],
			        3: [5, 6, 7],
			        4: [0, 6],
			        5: [3, 8, 9],
			        6: [1, 3, 4, 7],
			        7: [3, 6, 8, 9],
			        8: [5, 7],
			        9: [5, 7],
			    },
			    {
			        0: [1, 3],
			        1: [0, 2, 4],
			        2: [1, 3, 4],
			        3: [0, 2, 4],
			        4: [1, 2, 3],
			    },
			][index]

def 						A							(  snake_case__     ):




			'''simple docstring'''


			SCREAMING_SNAKE_CASE__										=   0
			SCREAMING_SNAKE_CASE__										=   len(snake_case__     )  # No of vertices in graph
			SCREAMING_SNAKE_CASE__										=   [0] * n
			SCREAMING_SNAKE_CASE__										=   [False] * n

			def dfs(snake_case__		,					snake_case__		,					snake_case__		,					snake_case__     ):
						SCREAMING_SNAKE_CASE__										=   True
						SCREAMING_SNAKE_CASE__										=   id_
						id_ += 1
						for to in graph[at]:
									if to == parent:
												pass
									elif not visited[to]:
												dfs(snake_case__		,					snake_case__		,					snake_case__		,					id_     )
												SCREAMING_SNAKE_CASE__										=   min(low[at]		,					low[to]     )
												if id_ <= low[to]:
															bridges.append((at, to) if at < to else (to, at)     )
									else:
												# This edge is a back edge and cannot be a bridge
												SCREAMING_SNAKE_CASE__										=   min(low[at]		,					low[to]     )

			SCREAMING_SNAKE_CASE__										=   []
			for i in range(snake_case__     ):
						if not visited[i]:
									dfs(snake_case__		,					-1		,					snake_case__		,					id_     )
			return bridges


if __name__ == "__main__":
						import doctest

						doctest.testmod()





"""simple docstring"""




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


A_				:      List[Any]           =			logging.get_logger(__name__)

A_				:      Optional[int]           =			{
    "facebook/dpr-ctx_encoder-single-nq-base": (
        "https://huggingface.co/facebook/dpr-ctx_encoder-single-nq-base/resolve/main/config.json"
    ),
    "facebook/dpr-question_encoder-single-nq-base": (
        "https://huggingface.co/facebook/dpr-question_encoder-single-nq-base/resolve/main/config.json"
    ),
    "facebook/dpr-reader-single-nq-base": (
        "https://huggingface.co/facebook/dpr-reader-single-nq-base/resolve/main/config.json"
    ),
    "facebook/dpr-ctx_encoder-multiset-base": (
        "https://huggingface.co/facebook/dpr-ctx_encoder-multiset-base/resolve/main/config.json"
    ),
    "facebook/dpr-question_encoder-multiset-base": (
        "https://huggingface.co/facebook/dpr-question_encoder-multiset-base/resolve/main/config.json"
    ),
    "facebook/dpr-reader-multiset-base": (
        "https://huggingface.co/facebook/dpr-reader-multiset-base/resolve/main/config.json"
    ),
}





class  lowerCamelCase    (A__      ):
			lowerCamelCase__ :		Optional[int]       		=				'dpr'

			def __init__(       self					:    Optional[int]     ,					__UpperCAmelCase					:    List[str]=3_0_5_2_2     ,					__UpperCAmelCase					:    int=7_6_8     ,					__UpperCAmelCase					:    Optional[Any]=1_2     ,					__UpperCAmelCase					:    Dict=1_2     ,					__UpperCAmelCase					:    Any=3_0_7_2     ,					__UpperCAmelCase					:    int="gelu"     ,					__UpperCAmelCase					:    int=0.1     ,					__UpperCAmelCase					:    Optional[Any]=0.1     ,					__UpperCAmelCase					:    Any=5_1_2     ,					__UpperCAmelCase					:    Union[str, Any]=2     ,					__UpperCAmelCase					:    Any=0.02     ,					__UpperCAmelCase					:    Dict=1e-12     ,					__UpperCAmelCase					:    Optional[Any]=0     ,					__UpperCAmelCase					:    Union[str, Any]="absolute"     ,					__UpperCAmelCase					:    int = 0     ,					**__UpperCAmelCase					:    Dict     ,					) ->     Tuple:
						super().__init__(pad_token_id=__UpperCAmelCase     ,					**__UpperCAmelCase							)

						SCREAMING_SNAKE_CASE__										=   vocab_size
						SCREAMING_SNAKE_CASE__										=   hidden_size
						SCREAMING_SNAKE_CASE__										=   num_hidden_layers
						SCREAMING_SNAKE_CASE__										=   num_attention_heads
						SCREAMING_SNAKE_CASE__										=   hidden_act
						SCREAMING_SNAKE_CASE__										=   intermediate_size
						SCREAMING_SNAKE_CASE__										=   hidden_dropout_prob
						SCREAMING_SNAKE_CASE__										=   attention_probs_dropout_prob
						SCREAMING_SNAKE_CASE__										=   max_position_embeddings
						SCREAMING_SNAKE_CASE__										=   type_vocab_size
						SCREAMING_SNAKE_CASE__										=   initializer_range
						SCREAMING_SNAKE_CASE__										=   layer_norm_eps
						SCREAMING_SNAKE_CASE__										=   projection_dim
						SCREAMING_SNAKE_CASE__										=   position_embedding_type


