def increase_time_resolution_of_regular_cumulative_data(dict_info, start_lo,
    end_lo, time_delta_lo, time_delta_hi):
    """ Use the low resolution to create the high resolution """
    my_dt_lo = start_lo
    divisor, remainder = divmod(int(time_delta_lo.total_seconds()), int(
        time_delta_hi.total_seconds()))
    if remainder != 0:
        raise Exception(
            'Increase Resolution: Time Deltas are not multiples of each other.'
            )
    elif divisor < 1:
        raise Exception(
            'Increase Resolution: Low resolution lower than higher resolution {} < {}.'
            .format(time_delta_lo, time_delta_hi))
    new_dict_info = dict()
    while start_lo <= my_dt_lo and my_dt_lo <= end_lo:
        my_value = dict_info[my_dt_lo]
        my_portion = my_value / divisor
        for my_sub_step in range(0, -divisor, -1):
            new_dict_info[my_dt_lo + my_sub_step * time_delta_hi] = my_portion
        my_dt_lo += time_delta_lo
    return new_dict_info
