// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.asn1;

import java.util.HashMap;
import org.bouncycastle.util.Longs;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.Map;

public class LocaleUtil
{
    private static final Map localeCache;
    public static Locale EN_Locale;
    
    private static Locale forEN() {
        if ("en".equalsIgnoreCase(Locale.getDefault().getLanguage())) {
            return Locale.getDefault();
        }
        final Locale[] availableLocales = Locale.getAvailableLocales();
        for (int i = 0; i != availableLocales.length; ++i) {
            if ("en".equalsIgnoreCase(availableLocales[i].getLanguage())) {
                return availableLocales[i];
            }
        }
        return Locale.getDefault();
    }
    
    static Date epochAdjust(final Date date) throws ParseException {
        final Locale default1 = Locale.getDefault();
        if (default1 == null) {
            return date;
        }
        synchronized (LocaleUtil.localeCache) {
            Long longValue = LocaleUtil.localeCache.get(default1);
            if (longValue == null) {
                longValue = longValueOf(new SimpleDateFormat("yyyyMMddHHmmssz").parse("19700101000000GMT+00:00").getTime());
                LocaleUtil.localeCache.put(default1, longValue);
            }
            if (longValue != 0L) {
                return new Date(date.getTime() - longValue);
            }
            return date;
        }
    }
    
    private static Long longValueOf(final long n) {
        return Longs.valueOf(n);
    }
    
    static {
        localeCache = new HashMap();
        LocaleUtil.EN_Locale = forEN();
    }
}
