<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def print_progress_bar(done: int, total: int, prefix: str = '', suffix: str = '') -> None: """ Print a progressbar with the given prefix and suffix, without newline at the end. param done: current step in computation param total: total count of steps in computation param prefix: info text displayed before the progress bar param suffix: info text displayed after the progress bar """


    percent = '{0:.1f}'.format(100 * (done / float(total)))
    base_len = shutil.get_terminal_size().columns - 7 - len(prefix) - len(suffix)
    base_len = min([base_len, 50])
    min_length = base_len - 1 - len('{}/{}={}'.format(total, total, '100.0'))
    length = base_len - len('{}/{}={}'.format(done, total, percent))
    if min_length > 0:
        filled_len = int(min_length * done // total)
        bar = '='*filled_len + '-'*(min_length - filled_len)
        spacing = ' '*(length - min_length)
        print('\r{}: |{}|{}{}/{}={}% {}'.format(prefix, bar, spacing, done, total, percent, suffix), end='\r')
    else:
        short_progress = '\r{}: {}/{}'.format(prefix, done, total)
        if len(short_progress) <= shutil.get_terminal_size().columns:
            print(short_progress, end='\r')
        else:
            print(['-', '\\', '|', '/'][done % 4], end='\r')