



from __future__ import annotations
def 		UpperCamelCase     (       snake_case__	:   list     )     ->					list:
   if len(snake_case__     ) == 0:
      return []
   UpperCamelCase     ,					UpperCamelCase   :  List[str]						     =     min(snake_case__     ), max(snake_case__     )
   UpperCamelCase   :  List[Any]						     =     int(max_value - min_value     ) + 1
   UpperCamelCase   :  list[list]						     =     [[] for _ in range(snake_case__     )]

   for i in my_list:
      buckets[int(i - min_value     )].append(snake_case__     )

   return [v for bucket in buckets for v in sorted(snake_case__     )]


if __name__ == "__main__":
    from doctest import testmod

    testmod()
    assert bucket_sort([4, 5, 3, 2, 1]) == [1, 2, 3, 4, 5]
    assert bucket_sort([0, 1, -10, 15, 2, -2]) == [-10, -2, 0, 1, 2, 15]








# tests directory-specific settings - this file is run automatically
# by pytest before any tests are run

import sys
import warnings
from os.path import abspath, dirname, join


# allow having multiple repository checkouts and not needing to remember to rerun
# 'pip install -e .[dev]' when switching between checkouts and running tests.
__UpperCAmelCase	       =	abspath(join(dirname(dirname(dirname(__file__))), '''src'''))
sys.path.insert(1, git_repo_path)


# silence FutureWarning warnings in tests since often we can't act on them until
# they become normal warnings - i.e. the tests still need to test the current functionality
warnings.simplefilter(action='''ignore''', category=FutureWarning)
def 		UpperCamelCase     (       snake_case__	:   Dict     )     ->					List[str]:
   from transformers.testing_utils import pytest_addoption_shared

   pytest_addoption_shared(snake_case__     )


def 		UpperCamelCase     (       snake_case__	:   List[Any]     )     ->					Dict:
   from transformers.testing_utils import pytest_terminal_summary_main

   UpperCamelCase   :  Optional[int]						     =     terminalreporter.config.getoption('--make-reports'     )
   if make_reports:
      pytest_terminal_summary_main(snake_case__	,					id=snake_case__     )



