






'''simple docstring'''







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


_A			:    List[str]					  =logging.get_logger(__name__)

_A			:    str					  ={
    '''funnel-transformer/small''': '''https://huggingface.co/funnel-transformer/small/resolve/main/config.json''',
    '''funnel-transformer/small-base''': '''https://huggingface.co/funnel-transformer/small-base/resolve/main/config.json''',
    '''funnel-transformer/medium''': '''https://huggingface.co/funnel-transformer/medium/resolve/main/config.json''',
    '''funnel-transformer/medium-base''': '''https://huggingface.co/funnel-transformer/medium-base/resolve/main/config.json''',
    '''funnel-transformer/intermediate''': (
        '''https://huggingface.co/funnel-transformer/intermediate/resolve/main/config.json'''
    ),
    '''funnel-transformer/intermediate-base''': (
        '''https://huggingface.co/funnel-transformer/intermediate-base/resolve/main/config.json'''
    ),
    '''funnel-transformer/large''': '''https://huggingface.co/funnel-transformer/large/resolve/main/config.json''',
    '''funnel-transformer/large-base''': '''https://huggingface.co/funnel-transformer/large-base/resolve/main/config.json''',
    '''funnel-transformer/xlarge''': '''https://huggingface.co/funnel-transformer/xlarge/resolve/main/config.json''',
    '''funnel-transformer/xlarge-base''': '''https://huggingface.co/funnel-transformer/xlarge-base/resolve/main/config.json''',
}

class _lowercase			(       _lowercase	):
							a          = """funnel"""
							a          = {
							    """hidden_size""": """d_model""",
							    """num_attention_heads""": """n_head""",
							}




							def __init__(							self:       Optional[int]    ,							UpperCamelCase__:       Any=30_522    ,							UpperCamelCase__:       Optional[int]=[4, 4, 4]    ,							UpperCamelCase__:       str=None    ,							UpperCamelCase__:       List[Any]=2    ,							UpperCamelCase__:       Tuple=768    ,							UpperCamelCase__:       Optional[Any]=12    ,							UpperCamelCase__:       Union[str, Any]=64    ,							UpperCamelCase__:       int=3_072    ,							UpperCamelCase__:       List[Any]="gelu_new"    ,							UpperCamelCase__:       Tuple=0.1    ,							UpperCamelCase__:       Dict=0.1    ,							UpperCamelCase__:       Tuple=0.0    ,							UpperCamelCase__:       Any=0.1    ,							UpperCamelCase__:       int=None    ,							UpperCamelCase__:       Optional[Any]=1e-9    ,							UpperCamelCase__:       Dict="mean"    ,							UpperCamelCase__:       Any="relative_shift"    ,							UpperCamelCase__:       str=True    ,							UpperCamelCase__:       Dict=True    ,							UpperCamelCase__:       int=True    ,							**UpperCamelCase__:       Any    ,							):
														lowerCamelCase__      :			List[str] 						= vocab_size
														lowerCamelCase__      :			List[str] 						= block_sizes
														lowerCamelCase__      :			List[Any] 						= [1] * len(UpperCamelCase__  ) if block_repeats is None else block_repeats
														assert len(UpperCamelCase__  ) == len(
														    self.block_repeats  ), "`block_sizes` and `block_repeats` should have the same length."
														lowerCamelCase__      :			Tuple 						= num_decoder_layers
														lowerCamelCase__      :			int 						= d_model
														lowerCamelCase__      :			Optional[Any] 						= n_head
														lowerCamelCase__      :			int 						= d_head
														lowerCamelCase__      :			Optional[int] 						= d_inner
														lowerCamelCase__      :			List[Any] 						= hidden_act
														lowerCamelCase__      :			Union[str, Any] 						= hidden_dropout
														lowerCamelCase__      :			str 						= attention_dropout
														lowerCamelCase__      :			Union[str, Any] 						= activation_dropout
														lowerCamelCase__      :			int 						= initializer_range
														lowerCamelCase__      :			Dict 						= initializer_std
														lowerCamelCase__      :			Union[str, Any] 						= layer_norm_eps
														assert pooling_type in [
														    "mean",
														    "max",
														], F'''Got {pooling_type} for `pooling_type` but only \'mean\' and \'max\' are supported.'''
														lowerCamelCase__      :			Union[str, Any] 						= pooling_type
														assert attention_type in [
														    "relative_shift",
														    "factorized",
														], F'''Got {attention_type} for `attention_type` but only \'relative_shift\' and \'factorized\' are supported.'''
														lowerCamelCase__      :			Dict 						= attention_type
														lowerCamelCase__      :			Optional[int] 						= separate_cls
														lowerCamelCase__      :			Dict 						= truncate_seq
														lowerCamelCase__      :			Union[str, Any] 						= pool_q_only

														super().__init__(**UpperCamelCase__  )




							@property
							def 	lowerCamelCase_       (							self:       Optional[int]  ):
														return sum(self.block_sizes  )




							@num_hidden_layers.setter
							def 	lowerCamelCase_       (							self:       List[Any]    ,							UpperCamelCase__:       Dict  ):
														raise NotImplementedError(
														    """This model does not support the setting of `num_hidden_layers`. Please set `block_sizes`."""  )




							@property
							def 	lowerCamelCase_       (							self:       Optional[int]  ):
														return len(self.block_sizes  )




							@num_blocks.setter
							def 	lowerCamelCase_       (							self:       Dict    ,							UpperCamelCase__:       Optional[Any]  ):
														raise NotImplementedError("""This model does not support the setting of `num_blocks`. Please set `block_sizes`."""  )









'''simple docstring'''







import sys
import turtle





def 				SCREAMING_SNAKE_CASE_ (UpperCamelCase       ,    UpperCamelCase   )   -> tuple[float, float]:
							return (pa[0] + pa[0]) / 2, (pa[1] + pa[1]) / 2





def 				SCREAMING_SNAKE_CASE_ (UpperCamelCase       ,    UpperCamelCase       ,    UpperCamelCase       ,    UpperCamelCase       ,    )   -> None:
							my_pen.up()
							my_pen.goto(vertexa[0]       ,    vertexa[1]   )
							my_pen.down()
							my_pen.goto(vertexa[0]       ,    vertexa[1]   )
							my_pen.goto(vertexa[0]       ,    vertexa[1]   )
							my_pen.goto(vertexa[0]       ,    vertexa[1]   )

							if depth == 0:
														return

							triangle(UpperCamelCase       ,    get_mid(UpperCamelCase       ,    UpperCamelCase   )       ,    get_mid(UpperCamelCase       ,    UpperCamelCase   )       ,    depth - 1   )
							triangle(UpperCamelCase       ,    get_mid(UpperCamelCase       ,    UpperCamelCase   )       ,    get_mid(UpperCamelCase       ,    UpperCamelCase   )       ,    depth - 1   )
							triangle(UpperCamelCase       ,    get_mid(UpperCamelCase       ,    UpperCamelCase   )       ,    get_mid(UpperCamelCase       ,    UpperCamelCase   )       ,    depth - 1   )


if __name__ == "__main__":
			if len(sys.argv) != 2:
						raise ValueError(
						    '''Correct format for using this script: '''
						    '''python fractals.py <int:depth_for_fractal>'''
						)
			_A			:    Any					  =turtle.Turtle()
			my_pen.ht()
			my_pen.speed(5)
			my_pen.pencolor('''red''')

			_A			:    Dict					  =[(-175, -125), (0, 175), (175, -125)]  # vertices of triangle
			triangle(vertices[0], vertices[1], vertices[2], int(sys.argv[1]))

