def _load_periods(global_config_elm, frame_rate: int) -> List[Period]:
    provider_params = _load_provider_parameters(global_config_elm.find('ProviderGlobalParameters'), value_mapper=int)
    period_names = ['first_half', 'second_half', 'first_extra_half', 'second_extra_half']
    periods = []
    for (idx, period_name) in enumerate(period_names):
        start_key = f'{period_name}_start'
        end_key = f'{period_name}_end'
        if (start_key in provider_params):
            periods.append(Period(id=(idx + 1), start_timestamp=(float(provider_params[start_key]) / frame_rate), end_timestamp=(float(provider_params[end_key]) / frame_rate)))
        else:
            break
    return periods
def _load_periods(global_config_elm, frame_rate: int) -> List[Period]:
    provider_params = _load_provider_parameters(global_config_elm.find('ProviderGlobalParameters'), value_mapper=int)
    period_names = ['first_half', 'second_half', 'first_extra_half', 'second_extra_half']
    periods = []
    for (idx, period_name) in enumerate(period_names):
        start_key = f'{period_name}_start'
        end_key = f'{period_name}_end'
        if (start_key in provider_params):
            periods.append(Period(id=(idx + 1), start_timestamp=(float(provider_params[start_key]) / frame_rate), end_timestamp=(float(provider_params[end_key]) / frame_rate)))
        else:
            break
    return periods