Rebuilds unflat list from invertible_flatten1

    Args:
        flat_list (list): the flattened list
        reverse_list (list): the list which undoes flattenting

    Returns:
        unflat_list2: original nested list


    SeeAlso:
        invertible_flatten1
        invertible_flatten2
        unflatten2

def unflatten1(flat_list, reverse_list):
    """ Rebuilds unflat list from invertible_flatten1

    Args:
        flat_list (list): the flattened list
        reverse_list (list): the list which undoes flattenting

    Returns:
        unflat_list2: original nested list


    SeeAlso:
        invertible_flatten1
        invertible_flatten2
        unflatten2

    """
    unflat_list2 = [[flat_list[index] for index in tup]
                    for tup in reverse_list]
    return unflat_list2