





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


_UpperCAmelCase				:       Optional[Any]	   =				logging.get_logger(__name__)

_UpperCAmelCase				:       List[str]	   =				{
    """tanreinama/GPTSAN-2.8B-spout_is_uniform""": (
        """https://huggingface.co/tanreinama/GPTSAN-2.8B-spout_is_uniform/resolve/main/config.json"""
    ),
}

class    lowerCAmelCase							(					__UpperCamelCase			):
 UpperCAmelCase__													=		"""gptsan-japanese"""
 UpperCAmelCase__													=		[
     """past_key_values""",
 ]
 UpperCAmelCase__													=		{
     """hidden_size""": """d_model""",
     """num_attention_heads""": """num_heads""",
     """num_hidden_layers""": """num_layers""",
 }
 def __init__(      self  :      Optional[Any]			,     UpperCAmelCase  :      Optional[Any]=36000			,     UpperCAmelCase  :      Union[str, Any]=1280			,     UpperCAmelCase  :      int=1024			,     UpperCAmelCase  :      Tuple=8192			,     UpperCAmelCase  :      List[str]=4096			,     UpperCAmelCase  :      Tuple=128			,     UpperCAmelCase  :      Optional[Any]=10			,     UpperCAmelCase  :      Dict=0			,     UpperCAmelCase  :      Optional[int]=16			,     UpperCAmelCase  :      str=16			,     UpperCAmelCase  :      Optional[int]=128			,     UpperCAmelCase  :      Any=0.0			,     UpperCAmelCase  :      Optional[int]=1e-5			,     UpperCAmelCase  :      List[Any]=False			,     UpperCAmelCase  :      List[Any]=0.0			,     UpperCAmelCase  :      int="float32"			,     UpperCAmelCase  :      int=False			,     UpperCAmelCase  :      Optional[Any]=False			,     UpperCAmelCase  :      Union[str, Any]=False			,     UpperCAmelCase  :      List[str]=0.0_0_2			,     UpperCAmelCase  :      Optional[int]=False			,     UpperCAmelCase  :      Any=True			,     UpperCAmelCase  :      Optional[Any]=35998			,     UpperCAmelCase  :      Union[str, Any]=35995			,     UpperCAmelCase  :      Dict=35999			,     **UpperCAmelCase  :      Union[str, Any]			,     )			->	List[str]:
     lowerCamelCase__    :      int					 =		vocab_size
     lowerCamelCase__    :      List[str]					 =		max_position_embeddings
     lowerCamelCase__    :      str					 =		d_model
     lowerCamelCase__    :      Dict					 =		d_ff
     lowerCamelCase__    :      str					 =		d_ext
     lowerCamelCase__    :      List[Any]					 =		d_spout
     lowerCamelCase__    :      Optional[Any]					 =		num_switch_layers
     lowerCamelCase__    :      str					 =		num_ext_layers
     lowerCamelCase__    :      Dict					 =		num_switch_layers + num_ext_layers
     lowerCamelCase__    :      Tuple					 =		num_heads
     lowerCamelCase__    :      Optional[int]					 =		num_experts
     lowerCamelCase__    :      List[Any]					 =		expert_capacity
     lowerCamelCase__    :      Optional[int]					 =		dropout_rate
     lowerCamelCase__    :      Optional[Any]					 =		layer_norm_epsilon
     lowerCamelCase__    :      Optional[Any]					 =		router_bias
     lowerCamelCase__    :      str					 =		router_jitter_noise
     lowerCamelCase__    :      List[Any]					 =		router_dtype
     lowerCamelCase__    :      str					 =		router_ignore_padding_tokens
     lowerCamelCase__    :      Dict					 =		output_hidden_states
     lowerCamelCase__    :      Optional[Any]					 =		output_attentions
     lowerCamelCase__    :      Union[str, Any]					 =		initializer_factor
     lowerCamelCase__    :      Tuple					 =		output_router_logits
     lowerCamelCase__    :      str					 =		use_cache

     super().__init__(
         separator_token_id=UpperCAmelCase			,     pad_token_id=UpperCAmelCase			,     eos_token_id=UpperCAmelCase			,     **UpperCAmelCase			,     )












from __future__ import annotations

from typing import Any


def        SCREAMING_SNAKE_CASE      (       _UpperCAmelCase )			->     None:
    create_state_space_tree(_UpperCAmelCase						,	[]						,	0 )


def        SCREAMING_SNAKE_CASE      (       _UpperCAmelCase						,	_UpperCAmelCase						,	_UpperCAmelCase )			->     None:

    if index == len(_UpperCAmelCase ):
        print(_UpperCAmelCase )
        return

    create_state_space_tree(_UpperCAmelCase						,	_UpperCAmelCase						,	index + 1 )
    current_subsequence.append(sequence[index] )
    create_state_space_tree(_UpperCAmelCase						,	_UpperCAmelCase						,	index + 1 )
    current_subsequence.pop()


if __name__ == "__main__":
    _UpperCAmelCase				:       list[Any]	   =				[3, 1, 2, 4]
    generate_all_subsequences(seq)

    seq.clear()
    seq.extend(["""A""", """B""", """C"""])
    generate_all_subsequences(seq)





