


'''simple docstring'''
def    a__			(   lowerCAmelCase__    ,   lowerCAmelCase__ = 0		)       ->      list:
    UpperCAmelCase__     :						Optional[int]						=							length or len(lowerCAmelCase__		)
    UpperCAmelCase__     :						Dict						=							False
    for i in range(length - 1		):
        if list_data[i] > list_data[i + 1]:
            UpperCAmelCase__		,		UpperCAmelCase__     :						Optional[Any]						=							list_data[i + 1], list_data[i]
            UpperCAmelCase__     :						Optional[int]						=							True

    return list_data if not swapped else bubble_sort(lowerCAmelCase__    ,   length - 1		)


if __name__ == "__main__":
  import doctest

  doctest.testmod()




'''simple docstring'''





# this script reports modified .py files under the desired list of top-level sub-dirs passed as a list of arguments, e.g.:
#   python ./utils/get_modified_files.py utils src tests examples
#
# it uses git to find the forking point and which files were modified - i.e. files not under git won't be considered
# since the output of this script is fed into Makefile commands it doesn't print a newline after the results

import re
import subprocess
import sys


UpperCAmelCase__  			=				subprocess.check_output('''git merge-base main HEAD'''.split()).decode('''utf-8''')
UpperCAmelCase__  			=				subprocess.check_output(F"""git diff --name-only {fork_point_sha}""".split()).decode('''utf-8''').split()

UpperCAmelCase__  			=				'''|'''.join(sys.argv[1:])
UpperCAmelCase__  			=				re.compile(rF"""^({joined_dirs}).*?\.py$""")

UpperCAmelCase__  			=				[x for x in modified_files if regex.match(x)]
print(''' '''.join(relevant_modified_files), end='''''')



