





import os
import sys

UpperCAmelCase_     							= os.path.join(os.path.dirname(__file__), 'src')
sys.path.append(SRC_DIR)


from transformers import (
    AutoConfig,
    AutoModel,
    AutoModelForCausalLM,
    AutoModelForMaskedLM,
    AutoModelForQuestionAnswering,
    AutoModelForSequenceClassification,
    AutoTokenizer,
    add_start_docstrings,
)


UpperCAmelCase_     							= [
    'torch',
    'numpy',
    'tokenizers',
    'filelock',
    'requests',
    'tqdm',
    'regex',
    'sentencepiece',
    'sacremoses',
    'importlib_metadata',
    'huggingface_hub',
]




@add_start_docstrings(AutoConfig.__doc__      )
def 		lowerCAmelCase_    (  *__UpperCAmelCase:			Union[str, Any]		,   **__UpperCAmelCase:			Optional[Any]      )      ->	Optional[int]:
    return AutoConfig.from_pretrained(*__UpperCAmelCase		,   **__UpperCAmelCase      )




@add_start_docstrings(AutoTokenizer.__doc__      )
def 		lowerCAmelCase_    (  *__UpperCAmelCase:			int		,   **__UpperCAmelCase:			Union[str, Any]      )      ->	List[str]:
    return AutoTokenizer.from_pretrained(*__UpperCAmelCase		,   **__UpperCAmelCase      )




@add_start_docstrings(AutoModel.__doc__      )
def 		lowerCAmelCase_    (  *__UpperCAmelCase:			Optional[int]		,   **__UpperCAmelCase:			Optional[Any]      )      ->	Union[str, Any]:
    return AutoModel.from_pretrained(*__UpperCAmelCase		,   **__UpperCAmelCase      )




@add_start_docstrings(AutoModelForCausalLM.__doc__      )
def 		lowerCAmelCase_    (  *__UpperCAmelCase:			str		,   **__UpperCAmelCase:			Optional[int]      )      ->	Any:
    return AutoModelForCausalLM.from_pretrained(*__UpperCAmelCase		,   **__UpperCAmelCase      )




@add_start_docstrings(AutoModelForMaskedLM.__doc__      )
def 		lowerCAmelCase_    (  *__UpperCAmelCase:			Dict		,   **__UpperCAmelCase:			Union[str, Any]      )      ->	Dict:
    return AutoModelForMaskedLM.from_pretrained(*__UpperCAmelCase		,   **__UpperCAmelCase      )




@add_start_docstrings(AutoModelForSequenceClassification.__doc__      )
def 		lowerCAmelCase_    (  *__UpperCAmelCase:			int		,   **__UpperCAmelCase:			Optional[int]      )      ->	Optional[Any]:
    return AutoModelForSequenceClassification.from_pretrained(*__UpperCAmelCase		,   **__UpperCAmelCase      )





@add_start_docstrings(AutoModelForQuestionAnswering.__doc__      )
def 		lowerCAmelCase_    (  *__UpperCAmelCase:			Optional[Any]		,   **__UpperCAmelCase:			int      )      ->	Tuple:
    return AutoModelForQuestionAnswering.from_pretrained(*__UpperCAmelCase		,   **__UpperCAmelCase      )








def 		lowerCAmelCase_    (  __UpperCAmelCase:			int      )      ->	int:
    if not isinstance(__UpperCAmelCase		,   __UpperCAmelCase      ) or number < 0:
        raise ValueError('''Input must be a non-negative integer'''      )

    UpperCamelCase__							:				Optional[Any]          =      0
    while number:
        # This way we arrive at next set bit (next 1) instead of looping
        # through each bit and checking for 1s hence the
        # loop won't run 32 times it will only run the number of `1` times
        number &= number - 1
        count += 1
    return count


if __name__ == "__main__":
  import doctest

  doctest.testmod()

