From 13fbf7c544dbd887bb8755636c6adbed9b5508c6 Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Wed, 13 May 2015 22:57:00 +0300 Subject: [PATCH] Borrow some code from Joda Time to parse tz data and expose offsets. Add tz data archive --- NOTICE | 12 +- .../classlib/impl/tz/CachedDateTimeZone.java | 171 +++ .../teavm/classlib/impl/tz/DateTimeZone.java | 500 +++++++ .../classlib/impl/tz/DateTimeZoneBuilder.java | 1259 +++++++++++++++++ .../classlib/impl/tz/FixedDateTimeZone.java | 74 + .../impl/tz/StorableDateTimeZone.java | 51 + .../classlib/impl/tz/TimeZoneWriter.java | 24 + .../classlib/impl/tz/ZoneInfoCompiler.java | 650 +++++++++ .../teavm/classlib/impl/tz/tzdata2015d.zip | Bin 0 -> 318948 bytes 9 files changed, 2740 insertions(+), 1 deletion(-) create mode 100644 teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/CachedDateTimeZone.java create mode 100644 teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/DateTimeZone.java create mode 100644 teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/DateTimeZoneBuilder.java create mode 100644 teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/FixedDateTimeZone.java create mode 100644 teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/StorableDateTimeZone.java create mode 100644 teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/TimeZoneWriter.java create mode 100644 teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/ZoneInfoCompiler.java create mode 100644 teavm-classlib/src/main/resources/org/teavm/classlib/impl/tz/tzdata2015d.zip diff --git a/NOTICE b/NOTICE index c56a5e4ea..eef39c165 100644 --- a/NOTICE +++ b/NOTICE @@ -1,2 +1,12 @@ +This product includes software developed by Alexey Andreev +(http://teavm.org). + + This product includes software developed by The Apache Software -Foundation (http://www.apache.org/). \ No newline at end of file +Foundation (http://www.apache.org/). + +============================================================================= += NOTICE file corresponding to section 4d of the Apache License Version 2.0 = +============================================================================= +This product includes software developed by +Joda.org (http://www.joda.org/). \ No newline at end of file diff --git a/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/CachedDateTimeZone.java b/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/CachedDateTimeZone.java new file mode 100644 index 000000000..01048976a --- /dev/null +++ b/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/CachedDateTimeZone.java @@ -0,0 +1,171 @@ +/* + * Copyright 2001-2012 Stephen Colebourne + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.teavm.classlib.impl.tz; + +import org.teavm.classlib.impl.Base46; + +/** + * Improves the performance of requesting time zone offsets and name keys by + * caching the results. Time zones that have simple rules or are fixed should + * not be cached, as it is unlikely to improve performance. + *

+ * CachedDateTimeZone is thread-safe and immutable. + * + * @author Brian S O'Neill + * @since 1.0 + */ +public class CachedDateTimeZone extends StorableDateTimeZone { + + private static final int cInfoCacheMask; + + static { + cInfoCacheMask = 511; + } + + /** + * Returns a new CachedDateTimeZone unless given zone is already cached. + */ + public static CachedDateTimeZone forZone(StorableDateTimeZone zone) { + if (zone instanceof CachedDateTimeZone) { + return (CachedDateTimeZone)zone; + } + return new CachedDateTimeZone(zone); + } + + /* + * Caching is performed by breaking timeline down into periods of 2^32 + * milliseconds, or about 49.7 days. A year has about 7.3 periods, usually + * with only 2 time zone offset periods. Most of the 49.7 day periods will + * have no transition, about one quarter have one transition, and very rare + * cases have multiple transitions. + */ + + private final StorableDateTimeZone iZone; + + private final transient Info[] iInfoCache = new Info[cInfoCacheMask + 1]; + + private CachedDateTimeZone(StorableDateTimeZone zone) { + super(zone.getID()); + iZone = zone; + } + + @Override + public void write(StringBuilder sb) { + Base46.encodeUnsigned(sb, CACHED); + iZone.write(sb); + } + + /** + * Returns the DateTimeZone being wrapped. + */ + public DateTimeZone getUncachedZone() { + return iZone; + } + + @Override + public int getOffset(long instant) { + return getInfo(instant).getOffset(instant); + } + + @Override + public int getStandardOffset(long instant) { + return getInfo(instant).getStandardOffset(instant); + } + + @Override + public boolean isFixed() { + return iZone.isFixed(); + } + + @Override + public long nextTransition(long instant) { + return iZone.nextTransition(instant); + } + + @Override + public long previousTransition(long instant) { + return iZone.previousTransition(instant); + } + + // Although accessed by multiple threads, this method doesn't need to be + // synchronized. + + private Info getInfo(long millis) { + int period = (int)(millis >> 32); + Info[] cache = iInfoCache; + int index = period & cInfoCacheMask; + Info info = cache[index]; + if (info == null || (int)((info.iPeriodStart >> 32)) != period) { + info = createInfo(millis); + cache[index] = info; + } + return info; + } + + private Info createInfo(long millis) { + long periodStart = millis & (0xffffffffL << 32); + Info info = new Info(iZone, periodStart); + + long end = periodStart | 0xffffffffL; + Info chain = info; + while (true) { + long next = iZone.nextTransition(periodStart); + if (next == periodStart || next > end) { + break; + } + periodStart = next; + chain = (chain.iNextInfo = new Info(iZone, periodStart)); + } + + return info; + } + + private final static class Info { + // For first Info in chain, iPeriodStart's lower 32 bits are clear. + public final long iPeriodStart; + public final DateTimeZone iZoneRef; + + Info iNextInfo; + + private int iOffset = Integer.MIN_VALUE; + private int iStandardOffset = Integer.MIN_VALUE; + + Info(DateTimeZone zone, long periodStart) { + iPeriodStart = periodStart; + iZoneRef = zone; + } + + public int getOffset(long millis) { + if (iNextInfo == null || millis < iNextInfo.iPeriodStart) { + if (iOffset == Integer.MIN_VALUE) { + iOffset = iZoneRef.getOffset(iPeriodStart); + } + return iOffset; + } + return iNextInfo.getOffset(millis); + } + + public int getStandardOffset(long millis) { + if (iNextInfo == null || millis < iNextInfo.iPeriodStart) { + if (iStandardOffset == Integer.MIN_VALUE) { + iStandardOffset = iZoneRef.getStandardOffset(iPeriodStart); + } + return iStandardOffset; + } + return iNextInfo.getStandardOffset(millis); + } + } +} diff --git a/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/DateTimeZone.java b/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/DateTimeZone.java new file mode 100644 index 000000000..09ae82a25 --- /dev/null +++ b/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/DateTimeZone.java @@ -0,0 +1,500 @@ +/* + * Copyright 2001-2014 Stephen Colebourne + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.teavm.classlib.impl.tz; + +/** + * DateTimeZone represents a time zone. + *

+ * A time zone is a system of rules to convert time from one geographic + * location to another. For example, Paris, France is one hour ahead of + * London, England. Thus when it is 10:00 in London, it is 11:00 in Paris. + *

+ * All time zone rules are expressed, for historical reasons, relative to + * Greenwich, London. Local time in Greenwich is referred to as Greenwich Mean + * Time (GMT). This is similar, but not precisely identical, to Universal + * Coordinated Time, or UTC. This library only uses the term UTC. + *

+ * Using this system, America/Los_Angeles is expressed as UTC-08:00, or UTC-07:00 + * in the summer. The offset -08:00 indicates that America/Los_Angeles time is + * obtained from UTC by adding -08:00, that is, by subtracting 8 hours. + *

+ * The offset differs in the summer because of daylight saving time, or DST. + * The following definitions of time are generally used: + *

+ *

+ * Unlike the Java TimeZone class, DateTimeZone is immutable. It also only + * supports long format time zone ids. Thus EST and ECT are not accepted. + * However, the factory that accepts a TimeZone will attempt to convert from + * the old short id to a suitable long id. + *

+ * There are four approaches to loading time-zone data, which are tried in this order: + *

    + *
  1. load the specific {@link Provider} specified by the system property + * {@code org.joda.time.DateTimeZone.Provider}. + *
  2. load {@link ZoneInfoProvider} using the data in the filing system folder + * pointed to by system property {@code org.joda.time.DateTimeZone.Folder}. + *
  3. load {@link ZoneInfoProvider} using the data in the classpath location + * {@code org/joda/time/tz/data}. + *
  4. load {@link UTCProvider} + *
+ *

+ * Unless you override the standard behaviour, the default if the third approach. + *

+ * DateTimeZone is thread-safe and immutable, and all subclasses must be as + * well. + * + * @author Brian S O'Neill + * @author Stephen Colebourne + * @since 1.0 + */ +public abstract class DateTimeZone { + static final long MILLIS_PER_HOUR = 3600_000; + + // Instance fields and methods + //-------------------------------------------------------------------- + + private final String iID; + + /** + * Constructor. + * + * @param id the id to use + * @throws IllegalArgumentException if the id is null + */ + protected DateTimeZone(String id) { + if (id == null) { + throw new IllegalArgumentException("Id must not be null"); + } + iID = id; + } + + // Principal methods + //-------------------------------------------------------------------- + + /** + * Gets the ID of this datetime zone. + * + * @return the ID of this datetime zone + */ + public final String getID() { + return iID; + } + + /** + * Gets the millisecond offset to add to UTC to get local time. + * + * @param instant milliseconds from 1970-01-01T00:00:00Z to get the offset for + * @return the millisecond offset to add to UTC to get local time + */ + public abstract int getOffset(long instant); + + /** + * Gets the standard millisecond offset to add to UTC to get local time, + * when standard time is in effect. + * + * @param instant milliseconds from 1970-01-01T00:00:00Z to get the offset for + * @return the millisecond offset to add to UTC to get local time + */ + public abstract int getStandardOffset(long instant); + + /** + * Checks whether, at a particular instant, the offset is standard or not. + *

+ * This method can be used to determine whether Summer Time (DST) applies. + * As a general rule, if the offset at the specified instant is standard, + * then either Winter time applies, or there is no Summer Time. If the + * instant is not standard, then Summer Time applies. + *

+ * The implementation of the method is simply whether {@link #getOffset(long)} + * equals {@link #getStandardOffset(long)} at the specified instant. + * + * @param instant milliseconds from 1970-01-01T00:00:00Z to get the offset for + * @return true if the offset at the given instant is the standard offset + * @since 1.5 + */ + public boolean isStandardOffset(long instant) { + return getOffset(instant) == getStandardOffset(instant); + } + + /** + * Gets the millisecond offset to subtract from local time to get UTC time. + * This offset can be used to undo adding the offset obtained by getOffset. + * + *

+     * millisLocal == millisUTC   + getOffset(millisUTC)
+     * millisUTC   == millisLocal - getOffsetFromLocal(millisLocal)
+     * 
+ * + * NOTE: After calculating millisLocal, some error may be introduced. At + * offset transitions (due to DST or other historical changes), ranges of + * local times may map to different UTC times. + *

+ * For overlaps (where the local time is ambiguous), this method returns the + * offset applicable before the gap. The effect of this is that any instant + * calculated using the offset from an overlap will be in "summer" time. + *

+ * For gaps, this method returns the offset applicable before the gap, ie "winter" offset. + * However, the effect of this is that any instant calculated using the offset + * from a gap will be after the gap, in "summer" time. + *

+ * For example, consider a zone with a gap from 01:00 to 01:59:
+ * Input: 00:00 (before gap) Output: Offset applicable before gap DateTime: 00:00
+ * Input: 00:30 (before gap) Output: Offset applicable before gap DateTime: 00:30
+ * Input: 01:00 (in gap) Output: Offset applicable before gap DateTime: 02:00
+ * Input: 01:30 (in gap) Output: Offset applicable before gap DateTime: 02:30
+ * Input: 02:00 (after gap) Output: Offset applicable after gap DateTime: 02:00
+ * Input: 02:30 (after gap) Output: Offset applicable after gap DateTime: 02:30
+ *

+ * NOTE: Prior to v2.0, the DST overlap behaviour was not defined and varied by hemisphere. + * Prior to v1.5, the DST gap behaviour was also not defined. + * In v2.4, the documentation was clarified again. + * + * @param instantLocal the millisecond instant, relative to this time zone, to get the offset for + * @return the millisecond offset to subtract from local time to get UTC time + */ + public int getOffsetFromLocal(long instantLocal) { + // get the offset at instantLocal (first estimate) + final int offsetLocal = getOffset(instantLocal); + // adjust instantLocal using the estimate and recalc the offset + final long instantAdjusted = instantLocal - offsetLocal; + final int offsetAdjusted = getOffset(instantAdjusted); + // if the offsets differ, we must be near a DST boundary + if (offsetLocal != offsetAdjusted) { + // we need to ensure that time is always after the DST gap + // this happens naturally for positive offsets, but not for negative + if ((offsetLocal - offsetAdjusted) < 0) { + // if we just return offsetAdjusted then the time is pushed + // back before the transition, whereas it should be + // on or after the transition + long nextLocal = nextTransition(instantAdjusted); + if (nextLocal == (instantLocal - offsetLocal)) { + nextLocal = Long.MAX_VALUE; + } + long nextAdjusted = nextTransition(instantLocal - offsetAdjusted); + if (nextAdjusted == (instantLocal - offsetAdjusted)) { + nextAdjusted = Long.MAX_VALUE; + } + if (nextLocal != nextAdjusted) { + return offsetLocal; + } + } + } else if (offsetLocal >= 0) { + long prev = previousTransition(instantAdjusted); + if (prev < instantAdjusted) { + int offsetPrev = getOffset(prev); + int diff = offsetPrev - offsetLocal; + if (instantAdjusted - prev <= diff) { + return offsetPrev; + } + } + } + return offsetAdjusted; + } + + /** + * Converts a standard UTC instant to a local instant with the same + * local time. This conversion is used before performing a calculation + * so that the calculation can be done using a simple local zone. + * + * @param instantUTC the UTC instant to convert to local + * @return the local instant with the same local time + * @throws ArithmeticException if the result overflows a long + * @since 1.5 + */ + public long convertUTCToLocal(long instantUTC) { + int offset = getOffset(instantUTC); + long instantLocal = instantUTC + offset; + // If there is a sign change, but the two values have the same sign... + if ((instantUTC ^ instantLocal) < 0 && (instantUTC ^ offset) >= 0) { + throw new ArithmeticException("Adding time zone offset caused overflow"); + } + return instantLocal; + } + + /** + * Converts a local instant to a standard UTC instant with the same + * local time attempting to use the same offset as the original. + *

+ * This conversion is used after performing a calculation + * where the calculation was done using a simple local zone. + * Whenever possible, the same offset as the original offset will be used. + * This is most significant during a daylight savings overlap. + * + * @param instantLocal the local instant to convert to UTC + * @param strict whether the conversion should reject non-existent local times + * @param originalInstantUTC the original instant that the calculation is based on + * @return the UTC instant with the same local time, + * @throws ArithmeticException if the result overflows a long + * @throws IllegalArgumentException if the zone has no equivalent local time + * @since 2.0 + */ + public long convertLocalToUTC(long instantLocal, boolean strict, long originalInstantUTC) { + int offsetOriginal = getOffset(originalInstantUTC); + long instantUTC = instantLocal - offsetOriginal; + int offsetLocalFromOriginal = getOffset(instantUTC); + if (offsetLocalFromOriginal == offsetOriginal) { + return instantUTC; + } + return convertLocalToUTC(instantLocal, strict); + } + + /** + * Converts a local instant to a standard UTC instant with the same + * local time. This conversion is used after performing a calculation + * where the calculation was done using a simple local zone. + * + * @param instantLocal the local instant to convert to UTC + * @param strict whether the conversion should reject non-existent local times + * @return the UTC instant with the same local time, + * @throws ArithmeticException if the result overflows a long + * @throws IllegalInstantException if the zone has no equivalent local time + * @since 1.5 + */ + public long convertLocalToUTC(long instantLocal, boolean strict) { + // get the offset at instantLocal (first estimate) + int offsetLocal = getOffset(instantLocal); + // adjust instantLocal using the estimate and recalc the offset + int offset = getOffset(instantLocal - offsetLocal); + // if the offsets differ, we must be near a DST boundary + if (offsetLocal != offset) { + // if strict then always check if in DST gap + // otherwise only check if zone in Western hemisphere (as the + // value of offset is already correct for Eastern hemisphere) + if (strict || offsetLocal < 0) { + // determine if we are in the DST gap + long nextLocal = nextTransition(instantLocal - offsetLocal); + if (nextLocal == (instantLocal - offsetLocal)) { + nextLocal = Long.MAX_VALUE; + } + long nextAdjusted = nextTransition(instantLocal - offset); + if (nextAdjusted == (instantLocal - offset)) { + nextAdjusted = Long.MAX_VALUE; + } + if (nextLocal != nextAdjusted) { + // yes we are in the DST gap + if (strict) { + // DST gap is not acceptable + throw new RuntimeException(getID()); + } else { + // DST gap is acceptable, but for the Western hemisphere + // the offset is wrong and will result in local times + // before the cutover so use the offsetLocal instead + offset = offsetLocal; + } + } + } + } + // check for overflow + long instantUTC = instantLocal - offset; + // If there is a sign change, but the two values have different signs... + if ((instantLocal ^ instantUTC) < 0 && (instantLocal ^ offset) < 0) { + throw new ArithmeticException("Subtracting time zone offset caused overflow"); + } + return instantUTC; + } + + /** + * Gets the millisecond instant in another zone keeping the same local time. + *

+ * The conversion is performed by converting the specified UTC millis to local + * millis in this zone, then converting back to UTC millis in the new zone. + * + * @param newZone the new zone, null means default + * @param oldInstant the UTC millisecond instant to convert + * @return the UTC millisecond instant with the same local time in the new zone + */ + public long getMillisKeepLocal(DateTimeZone newZone, long oldInstant) { + if (newZone == this) { + return oldInstant; + } + long instantLocal = convertUTCToLocal(oldInstant); + return newZone.convertLocalToUTC(instantLocal, false, oldInstant); + } + +// //----------------------------------------------------------------------- +// /** +// * Checks if the given {@link LocalDateTime} is within an overlap. +// *

+// * When switching from Daylight Savings Time to standard time there is +// * typically an overlap where the same clock hour occurs twice. This +// * method identifies whether the local datetime refers to such an overlap. +// * +// * @param localDateTime the time to check, not null +// * @return true if the given datetime refers to an overlap +// */ +// public boolean isLocalDateTimeOverlap(LocalDateTime localDateTime) { +// if (isFixed()) { +// return false; +// } +// long instantLocal = localDateTime.toDateTime(DateTimeZone.UTC).getMillis(); +// // get the offset at instantLocal (first estimate) +// int offsetLocal = getOffset(instantLocal); +// // adjust instantLocal using the estimate and recalc the offset +// int offset = getOffset(instantLocal - offsetLocal); +// // if the offsets differ, we must be near a DST boundary +// if (offsetLocal != offset) { +// long nextLocal = nextTransition(instantLocal - offsetLocal); +// long nextAdjusted = nextTransition(instantLocal - offset); +// if (nextLocal != nextAdjusted) { +// // in DST gap +// return false; +// } +// long diff = Math.abs(offset - offsetLocal); +// DateTime dateTime = localDateTime.toDateTime(this); +// DateTime adjusted = dateTime.plus(diff); +// if (dateTime.getHourOfDay() == adjusted.getHourOfDay() && +// dateTime.getMinuteOfHour() == adjusted.getMinuteOfHour() && +// dateTime.getSecondOfMinute() == adjusted.getSecondOfMinute()) { +// return true; +// } +// adjusted = dateTime.minus(diff); +// if (dateTime.getHourOfDay() == adjusted.getHourOfDay() && +// dateTime.getMinuteOfHour() == adjusted.getMinuteOfHour() && +// dateTime.getSecondOfMinute() == adjusted.getSecondOfMinute()) { +// return true; +// } +// return false; +// } +// return false; +// } +// +// +// DateTime dateTime = null; +// try { +// dateTime = localDateTime.toDateTime(this); +// } catch (IllegalArgumentException ex) { +// return false; // it is a gap, not an overlap +// } +// long offset1 = Math.abs(getOffset(dateTime.getMillis() + 1) - getStandardOffset(dateTime.getMillis() + 1)); +// long offset2 = Math.abs(getOffset(dateTime.getMillis() - 1) - getStandardOffset(dateTime.getMillis() - 1)); +// long offset = Math.max(offset1, offset2); +// if (offset == 0) { +// return false; +// } +// DateTime adjusted = dateTime.plus(offset); +// if (dateTime.getHourOfDay() == adjusted.getHourOfDay() && +// dateTime.getMinuteOfHour() == adjusted.getMinuteOfHour() && +// dateTime.getSecondOfMinute() == adjusted.getSecondOfMinute()) { +// return true; +// } +// adjusted = dateTime.minus(offset); +// if (dateTime.getHourOfDay() == adjusted.getHourOfDay() && +// dateTime.getMinuteOfHour() == adjusted.getMinuteOfHour() && +// dateTime.getSecondOfMinute() == adjusted.getSecondOfMinute()) { +// return true; +// } +// return false; + +// long millis = dateTime.getMillis(); +// long nextTransition = nextTransition(millis); +// long previousTransition = previousTransition(millis); +// long deltaToPreviousTransition = millis - previousTransition; +// long deltaToNextTransition = nextTransition - millis; +// if (deltaToNextTransition < deltaToPreviousTransition) { +// int offset = getOffset(nextTransition); +// int standardOffset = getStandardOffset(nextTransition); +// if (Math.abs(offset - standardOffset) >= deltaToNextTransition) { +// return true; +// } +// } else { +// int offset = getOffset(previousTransition); +// int standardOffset = getStandardOffset(previousTransition); +// if (Math.abs(offset - standardOffset) >= deltaToPreviousTransition) { +// return true; +// } +// } +// return false; +// } + + /** + * Adjusts the offset to be the earlier or later one during an overlap. + * + * @param instant the instant to adjust + * @param earlierOrLater false for earlier, true for later + * @return the adjusted instant millis + */ + public long adjustOffset(long instant, boolean earlierOrLater) { + // a bit messy, but will work in all non-pathological cases + + // evaluate 3 hours before and after to work out if anything is happening + long instantBefore = instant - 3 * MILLIS_PER_HOUR; + long instantAfter = instant + 3 * MILLIS_PER_HOUR; + long offsetBefore = getOffset(instantBefore); + long offsetAfter = getOffset(instantAfter); + if (offsetBefore <= offsetAfter) { + return instant; // not an overlap (less than is a gap, equal is normal case) + } + + // work out range of instants that have duplicate local times + long diff = offsetBefore - offsetAfter; + long transition = nextTransition(instantBefore); + long overlapStart = transition - diff; + long overlapEnd = transition + diff; + if (instant < overlapStart || instant >= overlapEnd) { + return instant; // not an overlap + } + + // calculate result + long afterStart = instant - overlapStart; + if (afterStart >= diff) { + // currently in later offset + return earlierOrLater ? instant : instant - diff; + } else { + // currently in earlier offset + return earlierOrLater ? instant + diff : instant; + } + } +// System.out.println(new DateTime(transitionStart, DateTimeZone.UTC) + " " + new DateTime(transitionStart, this)); + + //----------------------------------------------------------------------- + /** + * Returns true if this time zone has no transitions. + * + * @return true if no transitions + */ + public abstract boolean isFixed(); + + /** + * Advances the given instant to where the time zone offset or name changes. + * If the instant returned is exactly the same as passed in, then + * no changes occur after the given instant. + * + * @param instant milliseconds from 1970-01-01T00:00:00Z + * @return milliseconds from 1970-01-01T00:00:00Z + */ + public abstract long nextTransition(long instant); + + /** + * Retreats the given instant to where the time zone offset or name changes. + * If the instant returned is exactly the same as passed in, then + * no changes occur before the given instant. + * + * @param instant milliseconds from 1970-01-01T00:00:00Z + * @return milliseconds from 1970-01-01T00:00:00Z + */ + public abstract long previousTransition(long instant); +} diff --git a/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/DateTimeZoneBuilder.java b/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/DateTimeZoneBuilder.java new file mode 100644 index 000000000..57e539e23 --- /dev/null +++ b/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/DateTimeZoneBuilder.java @@ -0,0 +1,1259 @@ +/* + * Copyright 2001-2013 Stephen Colebourne + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.teavm.classlib.impl.tz; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.Iterator; +import org.teavm.classlib.impl.Base46; + +/** + * DateTimeZoneBuilder allows complex DateTimeZones to be constructed. Since + * creating a new DateTimeZone this way is a relatively expensive operation, + * built zones can be written to a file. Reading back the encoded data is a + * quick operation. + *

+ * DateTimeZoneBuilder itself is mutable and not thread-safe, but the + * DateTimeZone objects that it builds are thread-safe and immutable. + *

+ * It is intended that {@link ZoneInfoCompiler} be used to read time zone data + * files, indirectly calling DateTimeZoneBuilder. The following complex + * example defines the America/Los_Angeles time zone, with all historical + * transitions: + * + *

+ * DateTimeZone America_Los_Angeles = new DateTimeZoneBuilder()
+ *     .addCutover(-2147483648, 'w', 1, 1, 0, false, 0)
+ *     .setStandardOffset(-28378000)
+ *     .setFixedSavings("LMT", 0)
+ *     .addCutover(1883, 'w', 11, 18, 0, false, 43200000)
+ *     .setStandardOffset(-28800000)
+ *     .addRecurringSavings("PDT", 3600000, 1918, 1919, 'w',  3, -1, 7, false, 7200000)
+ *     .addRecurringSavings("PST",       0, 1918, 1919, 'w', 10, -1, 7, false, 7200000)
+ *     .addRecurringSavings("PWT", 3600000, 1942, 1942, 'w',  2,  9, 0, false, 7200000)
+ *     .addRecurringSavings("PPT", 3600000, 1945, 1945, 'u',  8, 14, 0, false, 82800000)
+ *     .addRecurringSavings("PST",       0, 1945, 1945, 'w',  9, 30, 0, false, 7200000)
+ *     .addRecurringSavings("PDT", 3600000, 1948, 1948, 'w',  3, 14, 0, false, 7200000)
+ *     .addRecurringSavings("PST",       0, 1949, 1949, 'w',  1,  1, 0, false, 7200000)
+ *     .addRecurringSavings("PDT", 3600000, 1950, 1966, 'w',  4, -1, 7, false, 7200000)
+ *     .addRecurringSavings("PST",       0, 1950, 1961, 'w',  9, -1, 7, false, 7200000)
+ *     .addRecurringSavings("PST",       0, 1962, 1966, 'w', 10, -1, 7, false, 7200000)
+ *     .addRecurringSavings("PST",       0, 1967, 2147483647, 'w', 10, -1, 7, false, 7200000)
+ *     .addRecurringSavings("PDT", 3600000, 1967, 1973, 'w', 4, -1,  7, false, 7200000)
+ *     .addRecurringSavings("PDT", 3600000, 1974, 1974, 'w', 1,  6,  0, false, 7200000)
+ *     .addRecurringSavings("PDT", 3600000, 1975, 1975, 'w', 2, 23,  0, false, 7200000)
+ *     .addRecurringSavings("PDT", 3600000, 1976, 1986, 'w', 4, -1,  7, false, 7200000)
+ *     .addRecurringSavings("PDT", 3600000, 1987, 2147483647, 'w', 4, 1, 7, true, 7200000)
+ *     .toDateTimeZone("America/Los_Angeles", true);
+ * 
+ * + * @author Brian S O'Neill + * @see ZoneInfoCompiler + * @see ZoneInfoProvider + * @since 1.0 + */ +public class DateTimeZoneBuilder { + private static StorableDateTimeZone buildFixedZone(String id, int wallOffset, int standardOffset) { + return new FixedDateTimeZone(id, wallOffset, standardOffset); + } + + // List of RuleSets. + private final ArrayList iRuleSets; + + public DateTimeZoneBuilder() { + iRuleSets = new ArrayList<>(10); + } + + /** + * Adds a cutover for added rules. The standard offset at the cutover + * defaults to 0. Call setStandardOffset afterwards to change it. + * + * @param year the year of cutover + * @param mode 'u' - cutover is measured against UTC, 'w' - against wall + * offset, 's' - against standard offset + * @param monthOfYear the month from 1 (January) to 12 (December) + * @param dayOfMonth if negative, set to ((last day of month) - ~dayOfMonth). + * For example, if -1, set to last day of month + * @param dayOfWeek from 1 (Monday) to 7 (Sunday), if 0 then ignore + * @param advanceDayOfWeek if dayOfMonth does not fall on dayOfWeek, advance to + * dayOfWeek when true, retreat when false. + * @param millisOfDay additional precision for specifying time of day of cutover + */ + public DateTimeZoneBuilder addCutover(int year, + char mode, + int monthOfYear, + int dayOfMonth, + int dayOfWeek, + boolean advanceDayOfWeek, + int millisOfDay) + { + if (iRuleSets.size() > 0) { + OfYear ofYear = new OfYear + (mode, monthOfYear, dayOfMonth, dayOfWeek, advanceDayOfWeek, millisOfDay); + RuleSet lastRuleSet = iRuleSets.get(iRuleSets.size() - 1); + lastRuleSet.setUpperLimit(year, ofYear); + } + iRuleSets.add(new RuleSet()); + return this; + } + + /** + * Sets the standard offset to use for newly added rules until the next + * cutover is added. + * @param standardOffset the standard offset in millis + */ + public DateTimeZoneBuilder setStandardOffset(int standardOffset) { + getLastRuleSet().setStandardOffset(standardOffset); + return this; + } + + /** + * Set a fixed savings rule at the cutover. + */ + public DateTimeZoneBuilder setFixedSavings(String nameKey, int saveMillis) { + getLastRuleSet().setFixedSavings(nameKey, saveMillis); + return this; + } + + /** + * Add a recurring daylight saving time rule. + * + * @param nameKey the name key of new rule + * @param saveMillis the milliseconds to add to standard offset + * @param fromYear the first year that rule is in effect, MIN_VALUE indicates + * beginning of time + * @param toYear the last year (inclusive) that rule is in effect, MAX_VALUE + * indicates end of time + * @param mode 'u' - transitions are calculated against UTC, 'w' - + * transitions are calculated against wall offset, 's' - transitions are + * calculated against standard offset + * @param monthOfYear the month from 1 (January) to 12 (December) + * @param dayOfMonth if negative, set to ((last day of month) - ~dayOfMonth). + * For example, if -1, set to last day of month + * @param dayOfWeek from 1 (Monday) to 7 (Sunday), if 0 then ignore + * @param advanceDayOfWeek if dayOfMonth does not fall on dayOfWeek, advance to + * dayOfWeek when true, retreat when false. + * @param millisOfDay additional precision for specifying time of day of transitions + */ + public DateTimeZoneBuilder addRecurringSavings(int saveMillis, + int fromYear, int toYear, + char mode, + int monthOfYear, + int dayOfMonth, + int dayOfWeek, + boolean advanceDayOfWeek, + int millisOfDay) + { + if (fromYear <= toYear) { + OfYear ofYear = new OfYear + (mode, monthOfYear, dayOfMonth, dayOfWeek, advanceDayOfWeek, millisOfDay); + Recurrence recurrence = new Recurrence(ofYear, saveMillis); + Rule rule = new Rule(recurrence, fromYear, toYear); + getLastRuleSet().addRule(rule); + } + return this; + } + + private RuleSet getLastRuleSet() { + if (iRuleSets.size() == 0) { + addCutover(Integer.MIN_VALUE, 'w', 1, 1, 0, false, 0); + } + return iRuleSets.get(iRuleSets.size() - 1); + } + + /** + * Processes all the rules and builds a DateTimeZone. + * + * @param id time zone id to assign + * @param outputID true if the zone id should be output + */ + public StorableDateTimeZone toDateTimeZone(String id, boolean outputID) { + if (id == null) { + throw new IllegalArgumentException(); + } + + // Discover where all the transitions occur and store the results in + // these lists. + ArrayList transitions = new ArrayList<>(); + + // Tail zone picks up remaining transitions in the form of an endless + // DST cycle. + DSTZone tailZone = null; + + long millis = Long.MIN_VALUE; + int saveMillis = 0; + + int ruleSetCount = iRuleSets.size(); + for (int i=0; i transitions, Transition tr) { + int size = transitions.size(); + if (size == 0) { + transitions.add(tr); + return true; + } + + Transition last = transitions.get(size - 1); + if (!tr.isTransitionFrom(last)) { + return false; + } + + // If local time of new transition is same as last local time, just + // replace last transition with new one. + int offsetForLast = 0; + if (size >= 2) { + offsetForLast = transitions.get(size - 2).getWallOffset(); + } + int offsetForNew = last.getWallOffset(); + + long lastLocal = last.getMillis() + offsetForLast; + long newLocal = tr.getMillis() + offsetForNew; + + if (newLocal != lastLocal) { + transitions.add(tr); + return true; + } + + transitions.remove(size - 1); + return addTransition(transitions, tr); + } + + /** + * Supports setting fields of year and moving between transitions. + */ + private static final class OfYear { + // Is 'u', 'w', or 's'. + final char iMode; + + final int iMonthOfYear; + final int iDayOfMonth; + final int iDayOfWeek; + final boolean iAdvance; + final int iMillisOfDay; + + OfYear(char mode, + int monthOfYear, + int dayOfMonth, + int dayOfWeek, boolean advanceDayOfWeek, + int millisOfDay) + { + if (mode != 'u' && mode != 'w' && mode != 's') { + throw new IllegalArgumentException("Unknown mode: " + mode); + } + + iMode = mode; + iMonthOfYear = monthOfYear; + iDayOfMonth = dayOfMonth; + iDayOfWeek = dayOfWeek; + iAdvance = advanceDayOfWeek; + iMillisOfDay = millisOfDay; + } + + public void write(StringBuilder sb) { + sb.append(iMode); + Base46.encodeUnsigned(sb, iDayOfMonth); + Base46.encodeUnsigned(sb, iMonthOfYear); + Base46.encode(sb, iDayOfMonth); + Base46.encode(sb, iDayOfWeek); + sb.append(iAdvance ? 'y' : 'n'); + StorableDateTimeZone.writeUnsignedTime(sb, iMillisOfDay); + } + + /** + * @param standardOffset standard offset just before instant + */ + public long setInstant(int year, int standardOffset, int saveMillis) { + int offset; + if (iMode == 'w') { + offset = standardOffset + saveMillis; + } else if (iMode == 's') { + offset = standardOffset; + } else { + offset = 0; + } + + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(0); + calendar.set(Calendar.YEAR, year); + calendar.set(Calendar.MONTH, iMonthOfYear); + calendar.add(Calendar.MILLISECOND, iMillisOfDay); + setDayOfMonth(calendar); + + if (iDayOfWeek != 0) { + setDayOfWeek(calendar); + } + + // Convert from local time to UTC. + return calendar.getTimeInMillis() - offset; + } + + /** + * @param standardOffset standard offset just before next recurrence + */ + public long next(long instant, int standardOffset, int saveMillis) { + int offset; + if (iMode == 'w') { + offset = standardOffset + saveMillis; + } else if (iMode == 's') { + offset = standardOffset; + } else { + offset = 0; + } + + // Convert from UTC to local time. + instant += offset; + + GregorianCalendar calendar = new GregorianCalendar(); + calendar.setTimeInMillis(instant); + calendar.set(Calendar.MONTH, iMonthOfYear); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + calendar.add(Calendar.MILLISECOND, iMillisOfDay); + setDayOfMonthNext(calendar); + + if (iDayOfWeek == 0) { + if (calendar.getTimeInMillis() <= instant) { + calendar.add(Calendar.YEAR, 1); + setDayOfMonthNext(calendar); + } + } else { + setDayOfWeek(calendar); + if (calendar.getTimeInMillis() <= instant) { + calendar.add(Calendar.YEAR, 1); + calendar.set(Calendar.MONTH, iMonthOfYear); + setDayOfMonthNext(calendar); + setDayOfWeek(calendar); + } + } + + // Convert from local time to UTC. + return calendar.getTimeInMillis() - offset; + } + + /** + * @param standardOffset standard offset just before previous recurrence + */ + public long previous(long instant, int standardOffset, int saveMillis) { + int offset; + if (iMode == 'w') { + offset = standardOffset + saveMillis; + } else if (iMode == 's') { + offset = standardOffset; + } else { + offset = 0; + } + + // Convert from UTC to local time. + instant += offset; + + GregorianCalendar calendar = new GregorianCalendar(); + calendar.setTimeInMillis(instant); + calendar.set(Calendar.MONTH, iMonthOfYear); + // Be lenient with millisOfDay. + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + calendar.add(Calendar.MILLISECOND, iMillisOfDay); + setDayOfMonthPrevious(calendar); + + if (iDayOfWeek == 0) { + if (calendar.getTimeInMillis() >= instant) { + calendar.add(Calendar.YEAR, -1); + setDayOfMonthPrevious(calendar); + } + } else { + setDayOfWeek(calendar); + if (calendar.getTimeInMillis() >= instant) { + calendar.add(Calendar.YEAR, -1); + calendar.set(Calendar.MONTH, iMonthOfYear); + setDayOfMonthPrevious(calendar); + setDayOfWeek(calendar); + } + } + + // Convert from local time to UTC. + return calendar.getTimeInMillis() - offset; + } + + /** + * If month-day is 02-29 and year isn't leap, advances to next leap year. + */ + private void setDayOfMonthNext(GregorianCalendar calendar) { + if (calendar.get(Calendar.MONTH) == Calendar.FEBRUARY && calendar.get(Calendar.DATE) == 29) { + while (!calendar.isLeapYear(calendar.get(Calendar.YEAR))) { + calendar.add(Calendar.YEAR, 1); + } + } + } + + /** + * If month-day is 02-29 and year isn't leap, retreats to previous leap year. + */ + private void setDayOfMonthPrevious(GregorianCalendar calendar) { + if (calendar.get(Calendar.MONTH) == Calendar.FEBRUARY && calendar.get(Calendar.DATE) == 29) { + while (!calendar.isLeapYear(calendar.get(Calendar.YEAR))) { + calendar.add(Calendar.YEAR, -1); + } + } + } + + private void setDayOfMonth(Calendar calendar) { + if (iDayOfMonth >= 0) { + calendar.set(Calendar.DAY_OF_MONTH, iDayOfMonth); + } else { + calendar.set(Calendar.DAY_OF_MONTH, 1); + calendar.add(Calendar.MONTH, 1); + calendar.add(Calendar.DAY_OF_MONTH, iDayOfMonth); + } + } + + private void setDayOfWeek(Calendar calendar) { + int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); + int daysToAdd = iDayOfWeek - dayOfWeek; + if (daysToAdd != 0) { + if (iAdvance) { + if (daysToAdd < 0) { + daysToAdd += 7; + } + } else { + if (daysToAdd > 0) { + daysToAdd -= 7; + } + } + calendar.add(Calendar.DAY_OF_WEEK, daysToAdd); + } + } + } + + /** + * Extends OfYear with a nameKey and savings. + */ + private static final class Recurrence { + final OfYear iOfYear; + final int iSaveMillis; + + Recurrence(OfYear ofYear, int saveMillis) { + iOfYear = ofYear; + iSaveMillis = saveMillis; + } + + public OfYear getOfYear() { + return iOfYear; + } + + /** + * @param standardOffset standard offset just before next recurrence + */ + public long next(long instant, int standardOffset, int saveMillis) { + return iOfYear.next(instant, standardOffset, saveMillis); + } + + /** + * @param standardOffset standard offset just before previous recurrence + */ + public long previous(long instant, int standardOffset, int saveMillis) { + return iOfYear.previous(instant, standardOffset, saveMillis); + } + + public int getSaveMillis() { + return iSaveMillis; + } + + public void write(StringBuilder sb) { + iOfYear.write(sb); + StorableDateTimeZone.writeTime(sb, iSaveMillis); + } + } + + /** + * Extends Recurrence with inclusive year limits. + */ + private static final class Rule { + final Recurrence iRecurrence; + final int iFromYear; // inclusive + final int iToYear; // inclusive + + Rule(Recurrence recurrence, int fromYear, int toYear) { + iRecurrence = recurrence; + iFromYear = fromYear; + iToYear = toYear; + } + + @SuppressWarnings("unused") + public int getFromYear() { + return iFromYear; + } + + public int getToYear() { + return iToYear; + } + + @SuppressWarnings("unused") + public OfYear getOfYear() { + return iRecurrence.getOfYear(); + } + + public int getSaveMillis() { + return iRecurrence.getSaveMillis(); + } + + public long next(final long instant, int standardOffset, int saveMillis) { + Calendar calendar = Calendar.getInstance(); + final int wallOffset = standardOffset + saveMillis; + long testInstant = instant; + + int year; + if (instant == Long.MIN_VALUE) { + year = Integer.MIN_VALUE; + } else { + calendar.setTimeInMillis(instant + wallOffset); + year = calendar.get(Calendar.YEAR); + } + + if (year < iFromYear) { + calendar.setTimeInMillis(0); + calendar.set(Calendar.YEAR, iFromYear); + // First advance instant to start of from year. + testInstant = calendar.getTimeInMillis() - wallOffset; + // Back off one millisecond to account for next recurrence + // being exactly at the beginning of the year. + testInstant -= 1; + } + + long next = iRecurrence.next(testInstant, standardOffset, saveMillis); + + if (next > instant) { + calendar.setTimeInMillis(next + wallOffset); + year = calendar.get(Calendar.YEAR); + if (year > iToYear) { + // Out of range, return original value. + next = instant; + } + } + + return next; + } + } + + private static final class Transition { + private final long iMillis; + private final int iWallOffset; + private final int iStandardOffset; + + Transition(long millis, Transition tr) { + iMillis = millis; + iWallOffset = tr.iWallOffset; + iStandardOffset = tr.iStandardOffset; + } + + Transition(long millis, Rule rule, int standardOffset) { + iMillis = millis; + iWallOffset = standardOffset + rule.getSaveMillis(); + iStandardOffset = standardOffset; + } + + Transition(long millis, int wallOffset, int standardOffset) { + iMillis = millis; + iWallOffset = wallOffset; + iStandardOffset = standardOffset; + } + + public long getMillis() { + return iMillis; + } + + public int getWallOffset() { + return iWallOffset; + } + + public int getStandardOffset() { + return iStandardOffset; + } + + public int getSaveMillis() { + return iWallOffset - iStandardOffset; + } + + /** + * There must be a change in the millis, wall offsets or name keys. + */ + public boolean isTransitionFrom(Transition other) { + if (other == null) { + return true; + } + return iMillis > other.iMillis && + iWallOffset != other.iWallOffset; + } + } + + private static final class RuleSet { + private static final int YEAR_LIMIT; + + static { + // Don't pre-calculate more than 100 years into the future. Almost + // all zones will stop pre-calculating far sooner anyhow. Either a + // simple DST cycle is detected or the last rule is a fixed + // offset. If a zone has a fixed offset set more than 100 years + // into the future, then it won't be observed. + Calendar calendar = Calendar.getInstance(); + YEAR_LIMIT = calendar.get(Calendar.YEAR) + 100; + } + + private int iStandardOffset; + private ArrayList iRules; + + // Optional. + private String iInitialNameKey; + private int iInitialSaveMillis; + + // Upper limit is exclusive. + private int iUpperYear; + private OfYear iUpperOfYear; + + RuleSet() { + iRules = new ArrayList<>(10); + iUpperYear = Integer.MAX_VALUE; + } + + /** + * Copy constructor. + */ + RuleSet(RuleSet rs) { + iStandardOffset = rs.iStandardOffset; + iRules = new ArrayList<>(rs.iRules); + iInitialSaveMillis = rs.iInitialSaveMillis; + iUpperYear = rs.iUpperYear; + iUpperOfYear = rs.iUpperOfYear; + } + + @SuppressWarnings("unused") + public int getStandardOffset() { + return iStandardOffset; + } + + public void setStandardOffset(int standardOffset) { + iStandardOffset = standardOffset; + } + + public void setFixedSavings(String nameKey, int saveMillis) { + iInitialNameKey = nameKey; + iInitialSaveMillis = saveMillis; + } + + public void addRule(Rule rule) { + if (!iRules.contains(rule)) { + iRules.add(rule); + } + } + + public void setUpperLimit(int year, OfYear ofYear) { + iUpperYear = year; + iUpperOfYear = ofYear; + } + + /** + * Returns a transition at firstMillis with the first name key and + * offsets for this rule set. This method may return null. + * + * @param firstMillis millis of first transition + */ + public Transition firstTransition(final long firstMillis) { + if (iInitialNameKey != null) { + // Initial zone info explicitly set, so don't search the rules. + return new Transition(firstMillis, iStandardOffset + iInitialSaveMillis, iStandardOffset); + } + + // Make a copy before we destroy the rules. + ArrayList copy = new ArrayList<>(iRules); + + // Iterate through all the transitions until firstMillis is + // reached. Use the name key and savings for whatever rule reaches + // the limit. + + long millis = Long.MIN_VALUE; + int saveMillis = 0; + Transition first = null; + + Transition next; + while ((next = nextTransition(millis, saveMillis)) != null) { + millis = next.getMillis(); + + if (millis == firstMillis) { + first = new Transition(firstMillis, next); + break; + } + + if (millis > firstMillis) { + if (first == null) { + // Find first rule without savings. This way a more + // accurate nameKey is found even though no rule + // extends to the RuleSet's lower limit. + for (Rule rule : copy) { + if (rule.getSaveMillis() == 0) { + first = new Transition(firstMillis, rule, iStandardOffset); + break; + } + } + } + if (first == null) { + // Found no rule without savings. Create a transition + // with no savings anyhow, and use the best available + // name key. + first = new Transition(firstMillis, iStandardOffset, iStandardOffset); + } + break; + } + + // Set first to the best transition found so far, but next + // iteration may find something closer to lower limit. + first = new Transition(firstMillis, next); + + saveMillis = next.getSaveMillis(); + } + + iRules = copy; + return first; + } + + /** + * Returns null if RuleSet is exhausted or upper limit reached. Calling + * this method will throw away rules as they each become + * exhausted. Copy the RuleSet before using it to compute transitions. + * + * Returned transition may be a duplicate from previous + * transition. Caller must call isTransitionFrom to filter out + * duplicates. + * + * @param saveMillis savings before next transition + */ + public Transition nextTransition(final long instant, final int saveMillis) { + // Find next matching rule. + Rule nextRule = null; + long nextMillis = Long.MAX_VALUE; + + Iterator it = iRules.iterator(); + while (it.hasNext()) { + Rule rule = it.next(); + long next = rule.next(instant, iStandardOffset, saveMillis); + if (next <= instant) { + it.remove(); + continue; + } + // Even if next is same as previous next, choose the rule + // in order for more recently added rules to override. + if (next <= nextMillis) { + // Found a better match. + nextRule = rule; + nextMillis = next; + } + } + + if (nextRule == null) { + return null; + } + + // Stop precalculating if year reaches some arbitrary limit. + Calendar c = Calendar.getInstance(); + c.setTimeInMillis(nextMillis); + if (c.get(Calendar.YEAR) >= YEAR_LIMIT) { + return null; + } + + // Check if upper limit reached or passed. + if (iUpperYear < Integer.MAX_VALUE) { + long upperMillis = + iUpperOfYear.setInstant(iUpperYear, iStandardOffset, saveMillis); + if (nextMillis >= upperMillis) { + // At or after upper limit. + return null; + } + } + + return new Transition(nextMillis, nextRule, iStandardOffset); + } + + /** + * @param saveMillis savings before upper limit + */ + public long getUpperLimit(int saveMillis) { + if (iUpperYear == Integer.MAX_VALUE) { + return Long.MAX_VALUE; + } + return iUpperOfYear.setInstant(iUpperYear, iStandardOffset, saveMillis); + } + + /** + * Returns null if none can be built. + */ + public DSTZone buildTailZone(String id) { + if (iRules.size() == 2) { + Rule startRule = iRules.get(0); + Rule endRule = iRules.get(1); + if (startRule.getToYear() == Integer.MAX_VALUE && + endRule.getToYear() == Integer.MAX_VALUE) { + + // With exactly two infinitely recurring rules left, a + // simple DSTZone can be formed. + + // The order of rules can come in any order, and it doesn't + // really matter which rule was chosen the 'start' and + // which is chosen the 'end'. DSTZone works properly either + // way. + return new DSTZone(id, iStandardOffset, + startRule.iRecurrence, endRule.iRecurrence); + } + } + return null; + } + } + + private static final class DSTZone extends StorableDateTimeZone { + final int iStandardOffset; + final Recurrence iStartRecurrence; + final Recurrence iEndRecurrence; + + DSTZone(String id, int standardOffset, + Recurrence startRecurrence, Recurrence endRecurrence) { + super(id); + iStandardOffset = standardOffset; + iStartRecurrence = startRecurrence; + iEndRecurrence = endRecurrence; + } + + @Override + public int getOffset(long instant) { + return iStandardOffset + findMatchingRecurrence(instant).getSaveMillis(); + } + + @Override + public int getStandardOffset(long instant) { + return iStandardOffset; + } + + @Override + public boolean isFixed() { + return false; + } + + @Override + public long nextTransition(long instant) { + int standardOffset = iStandardOffset; + Recurrence startRecurrence = iStartRecurrence; + Recurrence endRecurrence = iEndRecurrence; + + long start, end; + + try { + start = startRecurrence.next + (instant, standardOffset, endRecurrence.getSaveMillis()); + if (instant > 0 && start < 0) { + // Overflowed. + start = instant; + } + } catch (IllegalArgumentException e) { + // Overflowed. + start = instant; + } catch (ArithmeticException e) { + // Overflowed. + start = instant; + } + + try { + end = endRecurrence.next + (instant, standardOffset, startRecurrence.getSaveMillis()); + if (instant > 0 && end < 0) { + // Overflowed. + end = instant; + } + } catch (IllegalArgumentException e) { + // Overflowed. + end = instant; + } catch (ArithmeticException e) { + // Overflowed. + end = instant; + } + + return (start > end) ? end : start; + } + + @Override + public long previousTransition(long instant) { + // Increment in order to handle the case where instant is exactly at + // a transition. + instant++; + + int standardOffset = iStandardOffset; + Recurrence startRecurrence = iStartRecurrence; + Recurrence endRecurrence = iEndRecurrence; + + long start, end; + + try { + start = startRecurrence.previous + (instant, standardOffset, endRecurrence.getSaveMillis()); + if (instant < 0 && start > 0) { + // Overflowed. + start = instant; + } + } catch (IllegalArgumentException e) { + // Overflowed. + start = instant; + } catch (ArithmeticException e) { + // Overflowed. + start = instant; + } + + try { + end = endRecurrence.previous + (instant, standardOffset, startRecurrence.getSaveMillis()); + if (instant < 0 && end > 0) { + // Overflowed. + end = instant; + } + } catch (IllegalArgumentException e) { + // Overflowed. + end = instant; + } catch (ArithmeticException e) { + // Overflowed. + end = instant; + } + + return ((start > end) ? start : end) - 1; + } + + private Recurrence findMatchingRecurrence(long instant) { + int standardOffset = iStandardOffset; + Recurrence startRecurrence = iStartRecurrence; + Recurrence endRecurrence = iEndRecurrence; + + long start, end; + + try { + start = startRecurrence.next + (instant, standardOffset, endRecurrence.getSaveMillis()); + } catch (IllegalArgumentException e) { + // Overflowed. + start = instant; + } catch (ArithmeticException e) { + // Overflowed. + start = instant; + } + + try { + end = endRecurrence.next + (instant, standardOffset, startRecurrence.getSaveMillis()); + } catch (IllegalArgumentException e) { + // Overflowed. + end = instant; + } catch (ArithmeticException e) { + // Overflowed. + end = instant; + } + + return (start > end) ? startRecurrence : endRecurrence; + } + + @Override + public void write(StringBuilder sb) { + Base46.encodeUnsigned(sb, DST); + writeTime(sb, iStandardOffset); + iStartRecurrence.write(sb); + iEndRecurrence.write(sb); + } + } + + private static final class PrecalculatedZone extends StorableDateTimeZone { + /** + * Factory to create instance from builder. + * + * @param id the zone id + * @param outputID true if the zone id should be output + * @param transitions the list of Transition objects + * @param tailZone optional zone for getting info beyond precalculated tables + */ + static PrecalculatedZone create(String id, boolean outputID, ArrayList transitions, + DSTZone tailZone) { + int size = transitions.size(); + if (size == 0) { + throw new IllegalArgumentException(); + } + + long[] trans = new long[size]; + int[] wallOffsets = new int[size]; + int[] standardOffsets = new int[size]; + + Transition last = null; + for (int i=0; i= 0) { + return iWallOffsets[i]; + } + i = ~i; + if (i < transitions.length) { + if (i > 0) { + return iWallOffsets[i - 1]; + } + return 0; + } + if (iTailZone == null) { + return iWallOffsets[i - 1]; + } + return iTailZone.getOffset(instant); + } + + @Override + public int getStandardOffset(long instant) { + long[] transitions = iTransitions; + int i = Arrays.binarySearch(transitions, instant); + if (i >= 0) { + return iStandardOffsets[i]; + } + i = ~i; + if (i < transitions.length) { + if (i > 0) { + return iStandardOffsets[i - 1]; + } + return 0; + } + if (iTailZone == null) { + return iStandardOffsets[i - 1]; + } + return iTailZone.getStandardOffset(instant); + } + + @Override + public boolean isFixed() { + return false; + } + + @Override + public long nextTransition(long instant) { + long[] transitions = iTransitions; + int i = Arrays.binarySearch(transitions, instant); + i = (i >= 0) ? (i + 1) : ~i; + if (i < transitions.length) { + return transitions[i]; + } + if (iTailZone == null) { + return instant; + } + long end = transitions[transitions.length - 1]; + if (instant < end) { + instant = end; + } + return iTailZone.nextTransition(instant); + } + + @Override + public long previousTransition(long instant) { + long[] transitions = iTransitions; + int i = Arrays.binarySearch(transitions, instant); + if (i >= 0) { + if (instant > Long.MIN_VALUE) { + return instant - 1; + } + return instant; + } + i = ~i; + if (i < transitions.length) { + if (i > 0) { + long prev = transitions[i - 1]; + if (prev > Long.MIN_VALUE) { + return prev - 1; + } + } + return instant; + } + if (iTailZone != null) { + long prev = iTailZone.previousTransition(instant); + if (prev < instant) { + return prev; + } + } + long prev = transitions[i - 1]; + if (prev > Long.MIN_VALUE) { + return prev - 1; + } + return instant; + } + + public boolean isCachable() { + if (iTailZone != null) { + return true; + } + long[] transitions = iTransitions; + if (transitions.length <= 1) { + return false; + } + + // Add up all the distances between transitions that are less than + // about two years. + double distances = 0; + int count = 0; + + for (int i=1; i 0) { + double avg = distances / count; + avg /= 24 * 60 * 60 * 1000; + if (avg >= 25) { + // Only bother caching if average distance between + // transitions is at least 25 days. Why 25? + // CachedDateTimeZone is more efficient if the distance + // between transitions is large. With an average of 25, it + // will on average perform about 2 tests per cache + // hit. (49.7 / 25) is approximately 2. + return true; + } + } + + return false; + } + } +} diff --git a/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/FixedDateTimeZone.java b/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/FixedDateTimeZone.java new file mode 100644 index 000000000..754f7328a --- /dev/null +++ b/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/FixedDateTimeZone.java @@ -0,0 +1,74 @@ +/* + * Copyright 2001-2005 Stephen Colebourne + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.teavm.classlib.impl.tz; + +import org.teavm.classlib.impl.Base46; + +/** + * Basic DateTimeZone implementation that has a fixed name key and offsets. + *

+ * FixedDateTimeZone is thread-safe and immutable. + * + * @author Brian S O'Neill + * @since 1.0 + */ +public final class FixedDateTimeZone extends StorableDateTimeZone { + private final int iWallOffset; + private final int iStandardOffset; + + public FixedDateTimeZone(String id, int wallOffset, int standardOffset) { + super(id); + iWallOffset = wallOffset; + iStandardOffset = standardOffset; + } + + @Override + public int getOffset(long instant) { + return iWallOffset; + } + + @Override + public int getStandardOffset(long instant) { + return iStandardOffset; + } + + @Override + public int getOffsetFromLocal(long instantLocal) { + return iWallOffset; + } + + @Override + public boolean isFixed() { + return true; + } + + @Override + public long nextTransition(long instant) { + return instant; + } + + @Override + public long previousTransition(long instant) { + return instant; + } + + @Override + public void write(StringBuilder sb) { + Base46.encodeUnsigned(sb, FIXED); + writeTime(sb, iWallOffset); + writeTime(sb, iStandardOffset); + } +} diff --git a/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/StorableDateTimeZone.java b/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/StorableDateTimeZone.java new file mode 100644 index 000000000..f6cf22df5 --- /dev/null +++ b/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/StorableDateTimeZone.java @@ -0,0 +1,51 @@ +/* + * Copyright 2015 Alexey Andreev. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.teavm.classlib.impl.tz; + +import org.teavm.classlib.impl.Base46; + +/** + * + * @author Alexey Andreev + */ +public abstract class StorableDateTimeZone extends DateTimeZone { + public static int PRECALCULATED = 0; + public static int FIXED = 1; + public static int CACHED = 2; + public static int DST = 3; + + public StorableDateTimeZone(String id) { + super(id); + } + + public abstract void write(StringBuilder sb); + + public static void writeTime(StringBuilder sb, long time) { + if (time % 1800_000 == 0) { + Base46.encode(sb, (int)((time / 1800_000) << 1)); + } else { + Base46.encode(sb, (int)(((time / 60_000) << 1) | 1)); + } + } + + public static void writeUnsignedTime(StringBuilder sb, long time) { + if (time % 1800_000 == 0) { + Base46.encodeUnsigned(sb, (int)((time / 1800_000) << 1)); + } else { + Base46.encodeUnsigned(sb, (int)(((time / 60_000) << 1) | 1)); + } + } +} diff --git a/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/TimeZoneWriter.java b/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/TimeZoneWriter.java new file mode 100644 index 000000000..3ec964250 --- /dev/null +++ b/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/TimeZoneWriter.java @@ -0,0 +1,24 @@ +/* + * Copyright 2015 Alexey Andreev. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.teavm.classlib.impl.tz; + +/** + * + * @author Alexey Andreev + */ +public class TimeZoneWriter { + +} diff --git a/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/ZoneInfoCompiler.java b/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/ZoneInfoCompiler.java new file mode 100644 index 000000000..3ff358357 --- /dev/null +++ b/teavm-classlib/src/main/java/org/teavm/classlib/impl/tz/ZoneInfoCompiler.java @@ -0,0 +1,650 @@ +/* + * Copyright 2001-2013 Stephen Colebourne + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.teavm.classlib.impl.tz; + +import java.io.BufferedReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.StringTokenizer; +import java.util.TreeMap; +import org.joda.time.Chronology; +import org.joda.time.DateTime; +import org.joda.time.DateTimeField; +import org.joda.time.LocalDate; +import org.joda.time.MutableDateTime; +import org.joda.time.chrono.ISOChronology; +import org.joda.time.chrono.LenientChronology; +import org.joda.time.format.DateTimeFormatter; +import org.joda.time.format.ISODateTimeFormat; + +/** + * Compiles IANA ZoneInfo database files into binary files for each time zone + * in the database. {@link DateTimeZoneBuilder} is used to construct and encode + * compiled data files. {@link ZoneInfoProvider} loads the encoded files and + * converts them back into {@link DateTimeZone} objects. + *

+ * Although this tool is similar to zic, the binary formats are not + * compatible. The latest IANA time zone database files may be obtained + * here. + *

+ * ZoneInfoCompiler is mutable and not thread-safe, although the main method + * may be safely invoked by multiple threads. + * + * @author Brian S O'Neill + * @since 1.0 + */ +public class ZoneInfoCompiler { + static DateTimeOfYear cStartOfYear; + + static Chronology cLenientISO; + + static DateTimeOfYear getStartOfYear() { + if (cStartOfYear == null) { + cStartOfYear = new DateTimeOfYear(); + } + return cStartOfYear; + } + + static Chronology getLenientISOChronology() { + if (cLenientISO == null) { + cLenientISO = LenientChronology.getInstance(ISOChronology.getInstanceUTC()); + } + return cLenientISO; + } + + static int parseYear(String str, int def) { + str = str.toLowerCase(); + if (str.equals("minimum") || str.equals("min")) { + return Integer.MIN_VALUE; + } else if (str.equals("maximum") || str.equals("max")) { + return Integer.MAX_VALUE; + } else if (str.equals("only")) { + return def; + } + return Integer.parseInt(str); + } + + static int parseMonth(String str) { + DateTimeField field = ISOChronology.getInstanceUTC().monthOfYear(); + return field.get(field.set(0, str, Locale.ENGLISH)); + } + + static int parseDayOfWeek(String str) { + DateTimeField field = ISOChronology.getInstanceUTC().dayOfWeek(); + return field.get(field.set(0, str, Locale.ENGLISH)); + } + + static String parseOptional(String str) { + return (str.equals("-")) ? null : str; + } + + static int parseTime(String str) { + DateTimeFormatter p = ISODateTimeFormat.hourMinuteSecondFraction(); + MutableDateTime mdt = new MutableDateTime(0, getLenientISOChronology()); + int pos = 0; + if (str.startsWith("-")) { + pos = 1; + } + int newPos = p.parseInto(mdt, str, pos); + if (newPos == ~pos) { + throw new IllegalArgumentException(str); + } + int millis = (int)mdt.getMillis(); + if (pos == 1) { + millis = -millis; + } + return millis; + } + + static char parseZoneChar(char c) { + switch (c) { + case 's': case 'S': + // Standard time + return 's'; + case 'u': case 'U': case 'g': case 'G': case 'z': case 'Z': + // UTC + return 'u'; + case 'w': case 'W': default: + // Wall time + return 'w'; + } + } + + /** + * @return false if error. + */ + static boolean test(String id, DateTimeZone tz) { + if (!id.equals(tz.getID())) { + return true; + } + + // Test to ensure that reported transitions are not duplicated. + + long millis = ISOChronology.getInstanceUTC().year().set(0, 1850); + long end = ISOChronology.getInstanceUTC().year().set(0, 2050); + + int offset = tz.getOffset(millis); + + List transitions = new ArrayList<>(); + + while (true) { + long next = tz.nextTransition(millis); + if (next == millis || next > end) { + break; + } + + millis = next; + + int nextOffset = tz.getOffset(millis); + + if (offset == nextOffset) { + System.out.println("*d* Error in " + tz.getID() + " " + + new DateTime(millis, + ISOChronology.getInstanceUTC())); + return false; + } + + + transitions.add(Long.valueOf(millis)); + + offset = nextOffset; + } + + // Now verify that reverse transitions match up. + + millis = ISOChronology.getInstanceUTC().year().set(0, 2050); + end = ISOChronology.getInstanceUTC().year().set(0, 1850); + + for (int i=transitions.size(); --i>= 0; ) { + long prev = tz.previousTransition(millis); + if (prev == millis || prev < end) { + break; + } + + millis = prev; + + long trans = transitions.get(i).longValue(); + + if (trans - 1 != millis) { + System.out.println("*r* Error in " + tz.getID() + " " + + new DateTime(millis, + ISOChronology.getInstanceUTC()) + " != " + + new DateTime(trans - 1, + ISOChronology.getInstanceUTC())); + + return false; + } + } + + return true; + } + + // Maps names to RuleSets. + private Map iRuleSets; + + // List of Zone objects. + private List iZones; + + // List String pairs to link. + private List iGoodLinks; + + // List String pairs to link. + private List iBackLinks; + + public ZoneInfoCompiler() { + iRuleSets = new HashMap<>(); + iZones = new ArrayList<>(); + iGoodLinks = new ArrayList<>(); + iBackLinks = new ArrayList<>(); + } + + public Map compile() { + Map map = new TreeMap<>(); + Map sourceMap = new TreeMap<>(); + + // write out the standard entries + for (int i = 0; i < iZones.size(); i++) { + Zone zone = iZones.get(i); + DateTimeZoneBuilder builder = new DateTimeZoneBuilder(); + zone.addToBuilder(builder, iRuleSets); + StorableDateTimeZone tz = builder.toDateTimeZone(zone.iName, true); + if (test(tz.getID(), tz)) { + map.put(tz.getID(), tz); + sourceMap.put(tz.getID(), zone); + } + } + + // revive zones from "good" links + for (int i = 0; i < iGoodLinks.size(); i += 2) { + String baseId = iGoodLinks.get(i); + String alias = iGoodLinks.get(i + 1); + Zone sourceZone = sourceMap.get(baseId); + if (sourceZone == null) { + throw new RuntimeException("Cannot find source zone '" + baseId + "' to link alias '" + + alias + "' to"); + } else { + DateTimeZoneBuilder builder = new DateTimeZoneBuilder(); + sourceZone.addToBuilder(builder, iRuleSets); + StorableDateTimeZone revived = builder.toDateTimeZone(alias, true); + if (test(revived.getID(), revived)) { + map.put(revived.getID(), revived); + } + map.put(revived.getID(), revived); + } + } + + // store "back" links as aliases (where name is permanently mapped + for (int pass = 0; pass < 2; pass++) { + for (int i = 0; i < iBackLinks.size(); i += 2) { + String id = iBackLinks.get(i); + String alias = iBackLinks.get(i + 1); + StorableDateTimeZone tz = map.get(id); + if (tz == null) { + if (pass > 0) { + throw new RuntimeException("Cannot find time zone '" + id + "' to link alias '" + + alias + "' to"); + } + } else { + map.put(alias, tz); + } + } + } + + return map; + } + + public void parseDataFile(BufferedReader in, boolean backward) throws IOException { + Zone zone = null; + String line; + while ((line = in.readLine()) != null) { + String trimmed = line.trim(); + if (trimmed.length() == 0 || trimmed.charAt(0) == '#') { + continue; + } + + int index = line.indexOf('#'); + if (index >= 0) { + line = line.substring(0, index); + } + + //System.out.println(line); + + StringTokenizer st = new StringTokenizer(line, " \t"); + + if (Character.isWhitespace(line.charAt(0)) && st.hasMoreTokens()) { + if (zone != null) { + // Zone continuation + zone.chain(st); + } + continue; + } else { + if (zone != null) { + iZones.add(zone); + } + zone = null; + } + + if (st.hasMoreTokens()) { + String token = st.nextToken(); + if (token.equalsIgnoreCase("Rule")) { + Rule r = new Rule(st); + RuleSet rs = iRuleSets.get(r.iName); + if (rs == null) { + rs = new RuleSet(r); + iRuleSets.put(r.iName, rs); + } else { + rs.addRule(r); + } + } else if (token.equalsIgnoreCase("Zone")) { + zone = new Zone(st); + } else if (token.equalsIgnoreCase("Link")) { + String real = st.nextToken(); + String alias = st.nextToken(); + // links in "backward" are deprecated names + // links in other files should be kept + // special case a few to try to repair terrible damage to tzdb + if (backward || alias.equals("US/Pacific-New") || alias.startsWith("Etc/") || alias.equals("GMT")) { + iBackLinks.add(real); + iBackLinks.add(alias); + } else { + iGoodLinks.add(real); + iGoodLinks.add(alias); + } + } else { + System.out.println("Unknown line: " + line); + } + } + } + + if (zone != null) { + iZones.add(zone); + } + } + + static class DateTimeOfYear { + public final int iMonthOfYear; + public final int iDayOfMonth; + public final int iDayOfWeek; + public final boolean iAdvanceDayOfWeek; + public final int iMillisOfDay; + public final char iZoneChar; + + DateTimeOfYear() { + iMonthOfYear = 1; + iDayOfMonth = 1; + iDayOfWeek = 0; + iAdvanceDayOfWeek = false; + iMillisOfDay = 0; + iZoneChar = 'w'; + } + + DateTimeOfYear(StringTokenizer st) { + int month = 1; + int day = 1; + int dayOfWeek = 0; + int millis = 0; + boolean advance = false; + char zoneChar = 'w'; + + if (st.hasMoreTokens()) { + month = parseMonth(st.nextToken()); + + if (st.hasMoreTokens()) { + String str = st.nextToken(); + if (str.startsWith("last")) { + day = -1; + dayOfWeek = parseDayOfWeek(str.substring(4)); + advance = false; + } else { + try { + day = Integer.parseInt(str); + dayOfWeek = 0; + advance = false; + } catch (NumberFormatException e) { + int index = str.indexOf(">="); + if (index > 0) { + day = Integer.parseInt(str.substring(index + 2)); + dayOfWeek = parseDayOfWeek(str.substring(0, index)); + advance = true; + } else { + index = str.indexOf("<="); + if (index > 0) { + day = Integer.parseInt(str.substring(index + 2)); + dayOfWeek = parseDayOfWeek(str.substring(0, index)); + advance = false; + } else { + throw new IllegalArgumentException(str); + } + } + } + } + + if (st.hasMoreTokens()) { + str = st.nextToken(); + zoneChar = parseZoneChar(str.charAt(str.length() - 1)); + if (str.equals("24:00")) { + // handle end of year + if (month == 12 && day == 31) { + millis = parseTime("23:59:59.999"); + } else { + LocalDate date = (day == -1 ? + new LocalDate(2001, month, 1).plusMonths(1) : + new LocalDate(2001, month, day).plusDays(1)); + advance = (day != -1 && dayOfWeek != 0); + month = date.getMonthOfYear(); + day = date.getDayOfMonth(); + if (dayOfWeek != 0) { + dayOfWeek = ((dayOfWeek - 1 + 1) % 7) + 1; + } + } + } else { + millis = parseTime(str); + } + } + } + } + + iMonthOfYear = month; + iDayOfMonth = day; + iDayOfWeek = dayOfWeek; + iAdvanceDayOfWeek = advance; + iMillisOfDay = millis; + iZoneChar = zoneChar; + } + + /** + * Adds a recurring savings rule to the builder. + */ + public void addRecurring(DateTimeZoneBuilder builder, int saveMillis, int fromYear, int toYear) + { + builder.addRecurringSavings(saveMillis, + fromYear, toYear, + iZoneChar, + iMonthOfYear, + iDayOfMonth, + iDayOfWeek, + iAdvanceDayOfWeek, + iMillisOfDay); + } + + /** + * Adds a cutover to the builder. + */ + public void addCutover(DateTimeZoneBuilder builder, int year) { + builder.addCutover(year, + iZoneChar, + iMonthOfYear, + iDayOfMonth, + iDayOfWeek, + iAdvanceDayOfWeek, + iMillisOfDay); + } + + @Override + public String toString() { + return + "MonthOfYear: " + iMonthOfYear + "\n" + + "DayOfMonth: " + iDayOfMonth + "\n" + + "DayOfWeek: " + iDayOfWeek + "\n" + + "AdvanceDayOfWeek: " + iAdvanceDayOfWeek + "\n" + + "MillisOfDay: " + iMillisOfDay + "\n" + + "ZoneChar: " + iZoneChar + "\n"; + } + } + + private static class Rule { + public final String iName; + public final int iFromYear; + public final int iToYear; + public final String iType; + public final DateTimeOfYear iDateTimeOfYear; + public final int iSaveMillis; + public final String iLetterS; + + Rule(StringTokenizer st) { + iName = st.nextToken().intern(); + iFromYear = parseYear(st.nextToken(), 0); + iToYear = parseYear(st.nextToken(), iFromYear); + if (iToYear < iFromYear) { + throw new IllegalArgumentException(); + } + iType = parseOptional(st.nextToken()); + iDateTimeOfYear = new DateTimeOfYear(st); + iSaveMillis = parseTime(st.nextToken()); + iLetterS = parseOptional(st.nextToken()); + } + + /** + * Adds a recurring savings rule to the builder. + */ + public void addRecurring(DateTimeZoneBuilder builder) { + iDateTimeOfYear.addRecurring(builder, iSaveMillis, iFromYear, iToYear); + } + + @Override + public String toString() { + return + "[Rule]\n" + + "Name: " + iName + "\n" + + "FromYear: " + iFromYear + "\n" + + "ToYear: " + iToYear + "\n" + + "Type: " + iType + "\n" + + iDateTimeOfYear + + "SaveMillis: " + iSaveMillis + "\n" + + "LetterS: " + iLetterS + "\n"; + } + } + + private static class RuleSet { + private List iRules; + + RuleSet(Rule rule) { + iRules = new ArrayList<>(); + iRules.add(rule); + } + + void addRule(Rule rule) { + if (!(rule.iName.equals(iRules.get(0).iName))) { + throw new IllegalArgumentException("Rule name mismatch"); + } + iRules.add(rule); + } + + /** + * Adds recurring savings rules to the builder. + */ + public void addRecurring(DateTimeZoneBuilder builder) { + for (int i=0; i ruleSets) { + addToBuilder(this, builder, ruleSets); + } + + private static void addToBuilder(Zone zone, + DateTimeZoneBuilder builder, + Map ruleSets) + { + for (; zone != null; zone = zone.iNext) { + builder.setStandardOffset(zone.iOffsetMillis); + + if (zone.iRules == null) { + builder.setFixedSavings(zone.iFormat, 0); + } else { + try { + // Check if iRules actually just refers to a savings. + int saveMillis = parseTime(zone.iRules); + builder.setFixedSavings(zone.iFormat, saveMillis); + } + catch (Exception e) { + RuleSet rs = ruleSets.get(zone.iRules); + if (rs == null) { + throw new IllegalArgumentException + ("Rules not found: " + zone.iRules); + } + rs.addRecurring(builder); + } + } + + if (zone.iUntilYear == Integer.MAX_VALUE) { + break; + } + + zone.iUntilDateTimeOfYear.addCutover(builder, zone.iUntilYear); + } + } + + @Override + public String toString() { + String str = + "[Zone]\n" + + "Name: " + iName + "\n" + + "OffsetMillis: " + iOffsetMillis + "\n" + + "Rules: " + iRules + "\n" + + "Format: " + iFormat + "\n" + + "UntilYear: " + iUntilYear + "\n" + + iUntilDateTimeOfYear; + + if (iNext == null) { + return str; + } + + return str + "...\n" + iNext.toString(); + } + } +} + diff --git a/teavm-classlib/src/main/resources/org/teavm/classlib/impl/tz/tzdata2015d.zip b/teavm-classlib/src/main/resources/org/teavm/classlib/impl/tz/tzdata2015d.zip new file mode 100644 index 0000000000000000000000000000000000000000..ef94558039fe05abae7e9d27720f843ab7b88d2d GIT binary patch literal 318948 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�ULt^%p!gj7o}aigy<<3b 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­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%0D`W();eB8R1ZG>&;M89X4*5(j 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�ncX-c${S_t2l)+rSw$jq@CD%GdPb<)*} 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≫NF32v&AKG+6`Pbbg;F=|c3`>>oku&bOe=1t6zwFTWGn%nBy5E7 zRE+#9t0x@YM2Z6;q8y^|vkSMHr+p9U6;yWi@FMzWaSBuFvM9=&h375Uh14F^5u*!7F;5%hAi?9^ha!P`_cuY36w< zbkOJ^qH{Zqqq*j3C?uQXSeVFpwZ0XM8PMU9wBsxfc#f{avCxio6UqJ2|zwXMZU zD-)6*D5+L=hs9vKa`W;G1F*w~#sa}n#AhH}HQ0bna zD4Bzm!$C-I(#Ra<6`x1y_WcIekZt~!HrFaxE!C{}w=x(Ejos?8rtB%NP0*BQZ%Xc- zu2}B9Cyqq;IGemJ#q~a*c)dZkiNjqoiRSfbg1_+pkK^dK#$P@z8X0uubRP4Cz=4pW z!W2waM)!qf^l$X0OS4w451euW&@l?N75q*R(K(jXh^v@=8FY@!#-t1IQ38PED4MA0 zz91^hUk_ z49zpH2k0!Ji6BOhI1QhnmIykC>TW)Iz^IMQE|@ShIq4631{M-a6iW<~&3?8-SL~Iu zF4^)FI-sCV@M%=Pu6xuc$tAYZKN^=;04Eb$mUuPq#M7JbGN#*eC-0FjJXRRp=o*eJ zx&xv_ShF)tBcFuJOXUh(w-;apqiXVM-POH&n8Ga30GT7?wM%N7c)++_wpsGJ(;b?* zea$N}UOdv$FKNV@}6J97@WPT`y zgxe^Z;jwa-!dK+%QqeQsQTG)-HUbIOl8{O<@V+I8)9m zV{0WRfKG)}55qZ*uH=0X7y_UcvRWF=yZK7H4%0LS;|tqjtV`K$ zUL1+pOuY41Y)V0RbBwgsd5F+h9yA&8jMkfQxwRzwnPeBBLS%)cPi$_m3ME3T0?*#u zo)d0I6mD+E0O@&0@qD>M-*_jE@ugZ#-&_BlS&rqI6I&5LL2ohji>XEkVC>=gE^cM-S~nBF$UMXM9f_bk;z7k$K&#^DrgHjesj;mZ^gy{tdZ|=bM-Dx`*dFaoA))7Fr>%*||KDjz- zjBM0<)_DJ};nzBypw%~j*L*l_jcYycqZe|vH)p`ufbd*)h(dN?n57JEs2YH{aW%gL zpD?(SEXNh=NXp8`I|WN2QyW#DI<5o?vQ{*(R)G&^B&2Yv(IQoxLoq$GkkM;`mXG=V z9H~?9cBw{E{%JkCh%GFeR@@WYtXeP#xthH=9$R93LruuYiqYn@=r5Mn$!HqidhgTE z|M7pMb8P8NQ-}$8n?s74%u(#FzWd8zeU^NlhSU0N+;CtA8?C_abpPPZW}Z*;^NrRq z>BW`{Yqp{umkO>hkFO{fw(JTqa7kULAm2goSF8C5(w&NrD7%jhc@u<6lmOyvzx25> z_{CR!v#19RR*fDNMU~p2xzfC@Iq8*;BSymW=Xe6TZ|_->-X{0iZH$$1k)(@%`ft6X zh@%CB1WciP_L03Z=j{12+$QdmH}NpxERrMKW7Bv@|9oHHFNMmWe0?#E>vSV8c)9)S z+snowoyNC|@v`y0_U^E8^f}DOsE zad^wxQ3r<~U{Ph$u_r=du7$l!ton9x5I46-`4q7QIa}})gu%&}_fBh{ZiCOB-wim` zs#8p|3TgAusg15=QFU*9pZc$m__nVSnQ>=y5yKv6rD^$;I zr!h)ysk%>-Mzhmu;3cF{{-HeWWj@Z;c+iTn)pVSB!Gc}Rt0MVy%Wh)sEERs3jxsO1 zk&Uugwn&HJiP>a*S^A@20Rvan;!XjvvDMsI^S~Xpmj6Imf6(=d!?vyw-Dc^0+fZ@W z&n+{{QunG~2+RxB8i?2I1@ul4(t#-4X1HZ88h@g`vWCWN8A{Z-tKE42vCVDUdn zNa9SOZm=E571~1m%z`t5I8v4`e>NORV4R*iqcp0|<_$Vn{A?8C(DHpcZyJ8kX*L@{ z%WvWTn!o)z&Mp&C{zwk1F~W4aUGMfa_tps`hCf~Cr~)xRSTHZPkXj@xFcYW}L2qf5 z9Tt{BRN+`#Nf1RmH-E`yK*7(L-=q@bZ0UcUfF=u7Ep3u&k!lz^ZtSx~?7fRdY2uxe{5ev7v*ROa)hXxR zde73u@RsC}sU}*(4mQ}+IOL3TKi@@IX(uEM-`VhR+f=?m@1oRX$nuDhG6jixlH8S2 zHXWE36PY}X?h!i-=tKj(f;DvI_{6UTX9z#5`)U-Xx8~nAMzV6xnCx-CDtjFCxp`kR z^dlT=$hm>SM=;62MZ$+7q|xpRVTNXu;m$M|RuYMdtK#+gls&BHQ z)D2Es$=8ihd>sk6n)m*D4ElE-P!3X|7|#$aZ`_EO)d3gH>w3YE%;irykvk^DPs|zv zl5C7EH{>LE95VTFm9Mf<9>#F|e$Uvb4C)JMV(?UQgXP!m?0uc;Kr++$%RmB^NsUF=ej+K`SOiOUp6)B#4Z}Us$%apy&q5|6f=NgH zYb5I;jv`IMk(c3!Q+blD)ur}KiZh9Q!B$K4GZciWzODn3a?m zVOUcv%c6lPsxEwHUoWOansmPEqWV=u(D{&FU#tMq7@{>jNIw^UhJk)T>Bkg@f!wXcJ`Ph^fSc$Tzyo)x?XuDZ% zRON)`JV%-fzOE%j2JG^n6p997`cXeT*5Rh(uU*(g@T-eb&AQX62Q0La0HCaUZE?-B zRHciT8e}&{u=eO|x5`JS+njPytrty@dN;PCZOhMeV31|LzW%}vDsJei>IPqoyF4eWrUQCSxr>6<)WVxvudChPbnyyH=Q%!_Z} zi`BBdUg0$92_I8swI!=OE;Xodsh)#5Q5dfu z7gN&k#-=tc_v6Y)X}Qu^<-I;Vd|o|Pu$pi?HZ9Nf>&h+#wsLXe-FmCV0C}nku=OUU zv3UDbQlMS0z?2>&f*_qHjdyQfH~e0&KTF2q7v6rND0J|iwkk{w3aD%?VC;EsvQ^fJ z90A549K@&!@Pr9)F{ve_`Cdj$`T!6zL2b(oASSgC766kh>RJIy7KYxwdUiR8hJoY@?#X!KNP3GoGoO0!vUMO7-6ka{ro#HK1++G^N<`47={s41xJy>`H0eD`# zM9^IYO;c5P73Rm|2HQ3_I(TEwGjZ! zUt7bVy*>wbHG7s9IdXU%)YbKw>_A@?0`O;s>zct$4GzYOJe5yvVo$stI74jgOUsws zZk!ZOX~Tn3bk63Pf%SCJpr0Bve2eisYxvz(rvuD{>AWG?2L^6IHgzhN(5vX)q;hf; zlMpp>bm4>!R)Iq|kQxR2%S^x>5pl7YjW`;|l;J4(KXZ;gn@l;cisjom2N1Fa(xAYO zOt4Ozf%p4zDS>FH169CLYr;s7m?fd~CCCWIgf-T84#*j0^N)LN9tXX&+)x&J|+Yf#awCG|J>-&-`qoF!lrtugc9b-PwGjDf>xt(x8p_xku3OJqL zEK;Sre>+B~8oDESmy)u0RsxMh*y>#D#%g%g0KFQ9v1U;=Z7i_vgD2K1P32vV7vGl< z#J5u?W}$K@Diz|%iDpE0o-;-$(-w2;W=vv+6H;{G zOmbJNdzWwuYr=rE>h^hh_Ts5m({_x#6SzIR>4M+ubb77TYIfK?$OFU1{z!5VwPhZH zQ~##PiKg}Y_%@zJBa&CZ%YdI6ZR6O_`hvP`z%p^NkM-LcPr9%rpHHO!5gXEJKN9}d|LmK_%d%B&zL-Frl zAAb05`n^wDz@Tde&?GVd*LP+Ta&yqu!m;4-u_*0KF5?ifNmGQuB6bu6Az9vbhN9T{ zdyFdEOzcj6YPJM2!@p)%?8xw4M{_qgv87u^Gv5(~c&EpYx4W1wG7Z-z6=uP($s8Ih zz2AOf`;Qfv83-i^UD_u@D;!Tp99f$g`0wP3yN(;&V)e>7FO?W)n3Y>vBLCGNA?UOP zVPJ11l)*iarVR9Sa&dT8yEr^Q7o?iQYg(Smy}}-i=V4l#lcvH~w_-l^TK!HpPz^+J znCbQtFsd06;OYEfJbBD9vvphoJtvuJe5|yHXEz7Yv8fu8iqDKB(q6!cIKqu*T;T}A zcGzkdp=X$|4o3Y|0AUB4Cy>R^wk~NUz0&T6S@L-l)JN16jvb>-1@MCUG`nj2L(o5; zrQzLe_z%J0hqtq6iqV???(EI??G{PCom%&I&47dAQVs_UMI^cx3^fw8kbjt5bIP*H zTDzA<4z+{!3|)9b)tE~6WFgRFpo)wz6072#-l8NbX0v3fXdJ*|qXU7l2^t|_)^VPO zeB2E=8qq=)R9sU4DpJX>3ah&9(J9ytf0x>ua|t zJ8L70Yc{!rpE;Y~B@MsTYV}xrcQe^(Rui4?gMPE$bj3g4?{=HT^0#R;p{d2{06}7- z-3@vJ)4`RMHrJqyl}RHRekLn+oFumjM2CovZyxO$)mYP^RNSaXfFT~|s3?lOC+D>U zIO8M%B11ey%y#5(?r|T&%S(jg%Kl?QAP4hswM0eLV(;LW#J*vQ3uGGypMY{^3~#VEHS`rQ_>VOQ9c(SIJ*~S1ySH8BqrQsn)UQ1xl6M6 zk}kJf6lfV*B!dGZqxH`a;!?m4xxZOT*ob5V<>X0|P*;}f2H&yi$-5Gp(Fq`0I8VWRnHBxC@e4o=p>a)YN1t@9F9J ztEap==wHvDDqcyFN|p~Nxj5(>Q?rJU#j@a|4aX+c^Zw1rpK83f-kwJc$72GQM)da> z!PVY%nk;6S=E6OXCP^m0+V@_?VI=?Fa|jcrkdR2mo>|D8_wSG1(XZ#US#KqH<}4aR zJ4TK}L?S@OQE|K6Zrmy3rJ@eSV-5RJG&2baWTBMGm|VFuat80{2C!O3$a6Wi3gf zQp^?EHoTqep{&DaJsPW( z-$HL$3I~>!YBZ?eceo;*Eux7uDH&ze(zM!iODIaT>ypgw{w(lO@z+>$}M&s2)xc_ik7o;~j7ffcc z9mwPorp%}Nasvo~oW!$o6sn+biL5DuThY~AxhSKWib`SlCL@D?h|wqYc5Jk{A(SVQ zozSuRo<};eiOJ2H3 z?O8a!r6!wlDAeaduQB73wyjqLT-F@|T z>s2y|3oizEK#Lp1W!~|)@T|qp-fo@Jt)JXg)XJlDe!L}_zHjLeqj9Jmj^X=SDa<2w zakzC6(uGzvrU7^2=y;2TplIs0CEyMmy{Bi3yD+;cJmYr0qS<NvkR+Ku>&UYgTR#CyU=%u!xSc<}J)=h?m_(m%oM*g_PJTMv5~}1R zf7F&~fBhcIXL0RR*lx>&pVN#Zn{whl>&jxGXN%Nre4D@Y`uNS(>!@`4&_iCSuTS1> zy{2nm?!MP)%0fBc(w&w+;ZZz&f3|hH;AC?5Egr=;Cx7006O;6^goaoe=njwOn-^zW z70qZzuJ12-I8vWKj2oLQTxvz)woZ% zjb}d}Zk;W|&veq{Px$lav^&lxAPaDN*6qtuKc%%kxh&Mji|*p5Zra9HO>8-h%`P@6&7>k>>?%k?QOcawuiD^*mTy+AZsq2vsutr0qh=I z<#ku_O5k*F?Q`zJ9@L89pw&F^d;6LL!WcgSF-u~OZS`9ReRFr1uo4KH^MTjt&AxnuO(Vv9s(b=srNq3hBYbRlsQLgIs!%b0Lc)9wX( zGOrSAo`Hi)%;#nNe|-^?t%!iI59Wr;uo>k7_a%d;LV7FWXrWUFZ*11m9AfYh+~2cm~k_8W}mK0{AL@<2;^RMI!vT zGVs6n7hC^={KV$m0~pft{Z!07XWijo(q3>n_(QifM(xm zkgR}5&5T3(NaDa+{iZF1=B-Ur+FY%5&|F<;MTP~q!H$%JS;kECSl2lKqj-Z&AZw4G zf|~*t!^h(xZdy7>J{qe!;3-JSp{uPFuQ@D!--J>^9mc0##nD}vqY0*Xfg@uV1a2!6 zO@xnm(O4s~uqM>iz_F*ASh{1-Ycz2Z#JMTl|2uL*!X_R^_JE|bWHuuaV#GFd{j`A^ zn+thUn;jC`csM?*@)g9^o-r1ujLLxYIia<>} z(L=Nd>-prCqVaf*nt3ax+RC)<8N(Z!6mrC+S5Zp8#DU62VYbX;GV1w4lTSH|Fpm~* z6?eGMgPB5n4D?K)at3hEr1fUyHNin{#}^IokqA|d(pTFVlHowZHCNj@?Q^4TebYAT zRcxak_sXP-XlVCi{G=^IBE>647aI*N+ctKCaI(h^5pJ)t(X?{|)!k=!F4=#G2aQ(4 z?=`x;Ub}0_nAXVxE#qTwjwMDyv?rfsjwz%1m^B+`YRJrt zB~z|l+Eo$Kr#Y2c?XbWx7}CeX=`dDXmcVpHQ?aayqwGFOX*V--xx2RC=Qf$PthJ_d zxcw))Zb-YmPF9UutbHAxUu*#m2nJq9n`*JT`qK+mjrHYR^A!F5_Hhx?L#U<-6AN{rs6813$fetmUGTc4;L^fi3ei&$L=6PScDZo~{aB?cy^5Lk@Z?tKrrApVzL2SBvE(pY(qh zA-jT%+w_1Mp+$J2n>q4Np{>*zJr$ca1Ie^i2e!C(R^HpN)-Y0kzom4Du(Y3}TY!4R zQ&xQoR%|gu9&SAgvzuGGp^_@Q>OkyX$7fq~P)&^ev)vJA!y8xuuieAA(-q6w@zz^v zIe#=ia>bzf)A80hHDfd`S){l<7eBw>x>zE0zf*v=KZ{&a|Le<#Q61Q>t~v>aZ+1nwvyn*d34}}#WDsQ;|}e6yB(6B zcwnS8eD&`3{XGx1@*18jLpVBD8Z!}WT3{0=^!o0Agc2EOtq>zEM8Rxi;GJ8XOl)9U zH~~=o2j6+ApdKY`+KDn|7_8X+F{4Z}9Zzi1vrvh{r-u_gcdbiJZ1@xTR zqIWi|fNo{UsufUOXNwJ20nC=r5OT$#zOMSs%Z7WndD)=IS1y~|#pfxz<=l1C<~{xD znC{hxt}DlR_@GMO-Ehw2k+X@gFF=cjjSEuP zfiYj1(pnKOrY>Fj;@4e^KeX4wFs}H z59?Q`LdB-<-asc##sYXOe?B^!9bFl-)_+U?6z8*4*3K<&<4~r zBH!kwVI(TEGT9wrGmfYdM4QtzNuIinp>QIb*mP&sQCRfy;`-bE#>n($%cbjHFuG(^ z+ys(DG1rPi_-04+J+{!u=rEBG`{E9Yr@p zSGW!)_11xbJi9=L(kL9q*HZrvR+XM;om&@+yRZG;_tt6-b!O&n9$8Di_JOT5s$LSS{&|{r;YJOpEw-RWlS7vc2bBgv-e? ztx_I2@Lx4ZPV3qY+N?fOWA?mqYwBwRZnqrd?(Tu_9|T1~%qg>F3apqFyZ>b`>ndrg z?=<$|<@tABizaoTpjxpB@7epUXNzy*0VNLMYFy^h+K_^(z4?FJA{Cv1F%|C~wX&$&{nZr%f z+^;NIHO&=uR!_6vbQ=1%PxIy@X#hZL&Ak&NTex~81$^Qhp1$8YoGeoJxS{8mTnn_Z z>&x|XPPY%IUwFG*VI1z+Q;dn#scnHoh8&JZA&37NL<4=?*2k0Uxax67A5Re$UGcmt z&z~*Ei>lXq^7yAHy}g-6cky_+SgscHn_6t$b6=jnNYd%bGwt7>Z{q8!4*D&5{wld# zhE;Xz0KAT>Ue@lP0&pX#y&_RHq)DkLsN--NBd@&Td0(Et2`3c~2l_Bdmy79jT2(=y zL-1y~NG~f3Xg}YMNm5U4D+;tt0eU>CtU^0+zL?IdCOgpCya)mAUh!P}fxBgz<;>hk`B;;ZxCmU$`HqXO|_blmy=>Gg^p<$m0f z*EHSmh}WC+s6l1PiuGGn=bH8FJB_Vgzh;S}$X8gUaUzeF*G4@3rsWdoEq9SjW=Yjr zY36I?v~(F;6ZgY7Wv2T06N|i5+f%CU6aS*<>u@K~+d-sOyWe3{3Lqe`p>d?ajwS}vjR9O~F}JVTt{a=T!-5ktSlK99 zT+Ss!T7uS`s3iyMvuI_|cJdkx4*b^ti;neX`)}Ja5|Tn)7BnL;)Qg9p7j%C3PjW}t zJ!Uhd-NU~td3lGgw(Mi;Dx?yYn?(>rL2 zCwV!5Thq&Km}>me-1+7F^gMv~Da0aJ@WBR@uP0L!1Ji1{me{6nfdwsh*#3AV4&xq= ztXgT!vvbLNmDf7?4BEJ!HEWCGfph>bR+h;5riHfV1Et{D>f`!+qqyOlIHR>o$*i{X zzrVPlDfLAkBg+h@hcC9w(~^sEoe|?}d;-O)h258VrT9?h-2WiQQNUrDI|RP-Zj|Ge zDzY#stD>_t)`bAbLGWkht=$J~&|{pi;uiCEIWip3HB%!!S8bX790-6z}%&~G@3@Y$#|Iu(tMlTs|V}h z<+8$L&}n_vA6$4=qYk<8NKr}he-Rtu~0 zI1CjHF|7Emh>yn1z}Ye81kvPRfrM<;f}VyN8o0p`Qy{WacW5mcMmUY9nvOFJ!L!G1 zf2Bi|?OW)acdtST1Ds45zzX!^!W>`N=~&)>ULw2yR%|L5P+l2K`3`-UA*QK?6KYAO zRDat~@{2`89PT)?$z|~*9@EK{bH-@=lf1_fkwfMF*`^v<=LEgmkEt($U})$ z*6IX(x;*Qa(j+ zdYvS<9LC03a@isSAtxu{I!kIBB-* zl7Qi0f^}<`!yE}M#YH4h7VL=bOVljMRDshvERf6>T@9dfEDC=vER$1TU6&;R7tWWNjcU7MEbcyXcS%7z9JmSEqj5Nz} z#34#1`zfC}Oq?BjYfQalKtO@QDUdC?U)Al+2Go)m31KQ*CpIz!+c2Cm5@AFNo~$<( zAfA{r*2RIOk$+F8(D~W%g%Q^ZLRX#C>+|~muIOb{78;nX@E93k`ZtYYT!7+kBSv-q3K-lqWG!pCq@x0RRKUd^?f+o(JUplFa!sk_TSxNrQ9K$ zo9F+Rw^biDTm8LF!(SKf6;4R#o8Okg8wAPf@N_GG{y@BzAoA|EkAAr;rm%0N#N z-LEU7XiGjgGkM8}W=2asVrKG^8)gQ5=b1SVIh8-2Cai+myw$U0BCw0+QF_V5FW#A1u%Ww&i^G`vQb*pI3n<7GLbh+!h7|1?2T(V|3;-)*hK807Ua- zM90lP{om2}(<&L;IJ$;)QXn^AV$7X0E?pY*1S|%hy3l`KTr(ILm^S7% zsm}rTa8uq#3D7gHl`DkhaREQw2V|240Fu_$R|cUkr->v47w8bTUxOx~G$H2a*Plop z`xH(?h=X*%MIgc3^uoJjbe)iVh8Ipb5h1!xlZ~$c65vyGm(Ux}lFV?>y^PY&(KYNe zn?HDdo6J5%_!@Yml84&&=kPj>E~)rYnjrF%S1@%fye+->E)B02IeQt9Z!uT)1s;jQ zjxe8+T><9#?XTs)6NqWhwbxjMc)b0u?t}R$3E#F*efhBsS0jn(0bngBbUE(~GPW$agP}!QVJ-`uP@wN8f@(~`V zRf=R=a5KGp-Wm>nm`W-NW1a_tuW8R?sOfFtM{v{IvX3CAw`Di8(^t}%(WPV96Fh!}awQ z>!V$u*7Smhn8R1!12LrMS5bD`vdr<_EpTwRsyMry7u-$M+E{sE!}-mPWjk)8TTO)` zt1Q|r7cDY&+H!?SZ8a6XeZ(iQzJ6%(Ex3FG&o2tdh(d%s{ z7qx}4X?lHgas->|U18m}Rf-;#^Cl<>3qz^TViU}Bnxx5an8*+QpqrkQ@a_1gi zLHgh_=9_;+A6hEfI?Y@Af=dl<`&}yCYrECc6|h1GyY>a$J)5hyGr@b*f4KVmZdqJE zTz!#Uz5hVzeqksd(U^XrF>R;%Z_*P^!%-TKKu7Mk58Ao?r|BD-=v>p1Psz&rVDZvf zx^Fq`<5Iw=4ZT7B#0tjT0_juZC|b-zG$8N~{I1i0{F62M92=$jqHlC_Ma3Df529~S zA&!6Pl?$0#g7&)31Oxk|FzlAmS|G&yZr&xU1$5VT(@=LGk+7dGnP1y4nIll^6Yn*t zAMe8Pgn@6p7o_!gN33tu%%=|D6vkYj<>*bW8XlaB)$aD21{te7lkTWdDaI7)uavT6 z-DTLlZVtN#4a>Gc^L-VzZXvu%jDZIQ?Bsfyr0UnYGBAZj^B&ue;m?KgTBY4=DGA0_| zMF!NEN0m8xlsfQUL)*nuXDidechRR26EIJPw>QanvZM4F7(>vtu%i&;1^+(;0UcR}I~Q=t2>$c~ z+ewjrrAt$jzfhdJ5c5GZfr=~%7oD7S1D$-x6TUK~N9^6w9fnO{X&c%_H!I<>D}rGZ=R(7B1&1+nkC~N_gLs!G zKc|Q;&EgB1rRhBrwPNwk-Jz%9%%WieM~bt;wx6v3%!V~qUSe=y(IA4B$nQ$@Kz5U) z^8@d2&O=pm_85-GGLDlIqbxHh`%+66)&Va9fHNIbPV$;59zeOmkrCu`%#(mg7PP5O z&F|o|hDphgBwcgFiB3)wrsFtDX$(&0La;kaqdB;uE(K9jd{}c2)wSiibGfD%Dl=j} z9Qh#kP|@IjT%^KRsl$tNe814fL5*&hl{PZvm}wzEKB;}~ahh4)P8y0|NRcY@bSnS^ z!*7^C9-0POWbe@BkR9Opj$_>m)R11yG`H{-++Gd7orO~g_f7TpcEQNC$Nu>G(Dqh1az4v#1ft_Go||u9013bC65^fxfexp^}{}nM}a- zJKEu1nA7Ah3((4%Q~oNB0AuoF8e?_s=F_vHc@wRrkn9q}`($VUT*HM5P z+^r@={hrPNz^HLFP&NzUa$<5Y#_4Q#B|*-$i7=CZ>Peh(+k6pA9J`?!TJlZWGr(I>G6a*OGYdQ5h)(w63&Fc z7`ZyBQV_KvZm85pX^xN_%I&94q@~~7C_0X==3m3KRDiiOXXTdMi8h)7 za)-$9#xhO!9P|T@vPqqsR9lLuezW4HqLa4wEU*&b9>+ zj@h@!6y~@B!{UIgI4ju2xa;fc>vzd)BHX1KU zW4i7D;Iv>N;&Q1sBaNCNNoE_Z0h!{!&!@*R-D1-({|L@K8VFi@bUJ@V^Cy$>g73z* zuhDPq;HkIE6+#kI-ep|__oXkE081#DC6lJi393LdOWzqYn%`(E3$Ens=b-}Lc)>WO|m$mzmS+D6^pheam= zFwS)HXq1Pyx*Upw=MCu?xLSXtx}aQBAmi|?zS`-@etk^7))s!FG;f@ zje`1h7meqL`=B#^k*WE>Q1mjDp+=Lj6tNgWmJCsfK7iZZh5L7ohQhYwxiZr$LcIAL zu3M%zQm&ZY7vW_}QrkX=cH{Y%zmnQY6^)EWhykPiw8Q0}rF zNk$}=sW5E5bjY(#zO6YGw3t#k^LY$KWcX#m&l<3T?o%%a>YXO^WAFGkbYHm5Rs9ee?B-1{n6x|f zPUa*_lMs?dwV!e3K11kTy3%npXXhwRht%a5N6v!v^a#uI%U?%d{z@aVS5Ms|5t<1n8yGz1$~GEN@Q3ZQDD%y;=^tl$u^ReB0!a3G@i@7u%91( zGulow=DL=&LCJV2>uUwG9ZXE|Fj}9K?hf!73u(_zFN_IG@yL~Oo6TGMUh^Or9JIT# zUO#ZGJRO+;-^7X^$83SnOM{OM7O0OTA%@l4 zMD{RuBQX4CxVYFpu=U6AHo2tt@a=J2_g;)6I&dam{vB-KBGzHq$t{9dQm>=_QJA_EIobEl>t4Szpo@fVOK;}&0=veH$|~-UDVs2XnLCVf0?H-V z#%me@y%x%Up{L~zHb>Q zWY~R?B-i7}h2PzCiL@rk2=A1zBB+(g5K5tBVabr|knOAe3M(d;3%E46am3iAvN^{( zQXgb{@MJ-pocZXC7?7jjH05s z(K4*7EFz}%Ic}pos3W&{hn#TiT=V!oEh%0O0CQ$|XI8Hp7UUVC&JR<%-+R{hGmoyW zaK79mX{H$pZqH7f%oF}D(gSe!v801Ey(AsEO6#C&iQ~o$Bac%-b#xjH=#r|siwG$` zy6K3GfL2k@pTYS9!vO{@Td?W>9_Nfz_N*Wf&iQPDcpT!~<6%WAD37g)eHn0eGOX&( z_^~}Vnb$9u(e(s);PrXhp!taJK!(?C1b*X9Tj9K&AukmF`S9nHH?I%RPEJq$+&Fr9 z);M|dV$f?eTa7{QPtDe!f=>P7PZwWXL7yw=qk?8oe|d5GwG|8+ezP$c{K;?rDd?ht zC;vb~Q1>gVq48>>CCw(c#8wpeUtf`rih|Z}P5RHb74_E0YlYSLj%V2$)39W5@Z7UK@TdXf?r3NelFcYtk-Ty_OyA zAH#HUOIx1gM3b`=)cm%+RB>xy8{6wMTfI41UgIO)TJlVki?-Bz&DV(`fK^wG)AlU9 z3~x-skG0`Uuh|S5e$ZHkpKDnN*Xk&$(R@wDacu;_KE9>hp%-?R6lR&Af*< zGY`qI1fRtjHsf*z_vhGqU1yDp*4Jk01TtFCsq*g zc9AY~czW(~jQab$bD`Ek|L~T{LJqb!Z=bz={l*Vj0gvnB1n z33XpJO)&aK?8$sZs!KegkvOe0SpNKKkuNxV&_*;G&%*I7LfYu)_71P3>9AzPy5#54 zg3qZ)tE$AFY`Wvdui=xV)v$jgVkfzbvRHeUFjHF*zWl(5kcT<%?p~}AN zf?dg=X>lYc=j&)nT_~oeJevg|xU|dFniR>T@SFLZDmC zM-}C-ubtAOUwiY{?UZu3_Sz2R85+Dw{E}PUOch-Yf>q;95hw4A+)kmn!KM-DtXqMla^0`$a83$JO_yd*tA)=e5dKg4g_oK zF6IYqT2`HAq3B>!(ZXR7Y#P^&|G07O2Kl&-k;t^Z%I@03qExQ9p*L39e%w^`n)ss- z=CP^sdGUv5s@Ezktk$Y^siG(^|MpgEO_go;0B#inQq~paDqCBfHC1*BRc=~ORFtzu zr1K`%XI<|fzpaXCL2l^Gy5epwS9fg-1{|SPtac^gs8qaY;#<3H`o1ZQQ8PoazVd#{ z-3+Zw-Rl?A+SV?we&Hw#Hcec=kkJ;b-CupA5Dl88Uae-zRlMM4f5{80)en3C@^(wr z`|GP8V3Y@)QuY42>bs_TcX{TezsX8#vPJC|;t6vfLu&;p9H0zp}XmNzT^E3++_tm*q~Ow@F4&RX0S*$! zAhq_{W?M%Fz+~yok|Zs#C&CgJE;F=e=RzYlbu=(u8W}I1++0iDeHBM{{No;}YcLTr zNDgh05yuo*`wDdPaFXZn7(0s^f7|anf)H zr%q7NGv;HI`RTW4)nky}<;I40VLIn!bfyr!Z^zNK_a+=A*-eaaC46#*kX%|G{8rHI z+V;vf%*<)iqAYKi@i4FzA#aaSt$z)+b>+2Jqi30rcT8Yjpcvzte3tY+R7t z2brOp#>W;SUhusomk|< z@z{w4dOu1e%wRNMY4{->VR#J@j2w2rc>;odndbPZ*O6H%d3&v`6-H(~a&Zdmp{R|I zLjXCQb*PAjNX%)O7}{i(6x?*%;o#k4n|BHXRa2?wyEL0(_L)w09M#mh|znNz? zO~#FA+E8bFL+!{74E{%?3;aO8`52GB5Bj}U(Ei;p46u?OgUIp(o$%crYhC#9r|3x3Q=QB=!zY*ld;Xqcx zj~ue-9QM5Aj9K`?8rCgrddt9H2BL;PKfgdd^1o&a?0b;j)c;s(w(9hkug`O8-Ijej zf4S#1{o>0(^~-_#^1pBvXU-X!;ZXLDndvB6D-H2_+crCHD?8nS*vF;6Vohwjq3rH_RDPF>6$d&P=r`SgZmxcFU+sxsG0q(wXJ5xT z=#+dY3msx6lD0UyaL|1W{KoA1V|;&2zgI`0B_W5wEW3vhEJv?pyf&M(h3p-$lF`WE ze2GSjG%9Z0fxJ;U(oWn#VWfKcPSr@+N%)HKY1Zk;K$T{j4jw-~{RPJ7Ivs{tXq=Ic zRL=ktCVAcFAk1_KdySoWIFxN0#ve0w$-Xp}B3>cOAQ?r(j9r*PDQS$E$UZZ&L=qXw zzAs_2lNL*s%928ZEFlr0Qc?;LB7H;O`+mmz9rM0_%yT?{{qAed`#i7fevV_7XCwBl zI`1@)y@gq}9m_GW{#)-1<}H)#)+XMxu=yF7A0D?Yi4j8=7@7$R+LYqB2RV#f_wBes zT6axF!G9{07~i=HTqcjV3^}mA@~)C&Io5M7BL8SkqoeAbCXq6x8dqpUrWf#_Cv+j; z?ZO)D=2ua#cP?smKWm?`7>SSQ98sNpm~!%c+7TT8knUOQ(a<6$SPt>6_lSs9=bRa1 zy0X$>*J}5{gKUwKTxMJc0%7hN&yQ!A3iaI>SA8{njLX zko9`>iHYDW2M#JsU&!#XyzX>cay^ibG*-)zrS6tt7xED&fXJToUmuF9iWBYxL4tSW zgxC7ymnTS=FA8ne=a!d9hTrE_ zzkO4cHT?8>DZ$2nT5#-QMfI*f*g6+bc`K?M$1e3_&CT_z802jP*cM)UoQj=Zg-9Fi zMnuh1P9X=ctEom?2F*A5jufeTRzxN8;Mu=hXJcn|604=Bn0Q@T_fK>2D3p@BKfVu2 zxOIkAdymA;7Yn<5fZ;KQDVF+Fia>N%|3jryypCnH_GeXb#vfno;Y(ev5579|nj7hL)gG3Z45~Z( zeEEAz|Jg;!a_}CB_T26?xR1&J!mdK(AY;ngr#a0D&nUiCso7s{=H<8-9ur%yDhlL1 zcFmi(ph?=%A$9oV)Q_hIEG@{8uJ=ve4N`9M?(FH8Q%uuC;QcX0JY17~p^hL?QlGK& zOv93FWRXgRa_aM)mX(pR?W|%q zd9{msM7kVDm%2#MOZV=)k>F;;aa=!9o8L27Gp^PC-p@Xd`89aDt#6@H0lY#Y; z*GFQJaZ=9V65ph+X?2<8HSXuue=@-7nefr)a-zibsOC)Qz~!K3n6XP(@M|`K%Dy=F zM8&ccrlISi9W%@kcq!QFNiK@WI{DDu4@VomSu17;x>l{S8P_(v{uF6EbNvD;{ax*Q zU%^{3$F0m>*yB`;?nl=z-RaC2RO-_-S1yB$-JUzoyFaS*uKi2f$17h{PFefPakk%} z;6g;KKizLMY89mv=U}dc9NSYwfc%mRiht0qAr=_luK|;*Ta{iPDD%Cb=JRgi!XPny z_v-wRL$gEC4~5dGMqG;csA0xz8%wwJ{=0nQ8m>%*gooeL^FDg9qkAQSc%t48`JP6d zmCN*%GFFTOVUT0X{8K&xbqTlU>>)-8lS5XkAs5w|`O^1zNf`3=FLbVG;FqCEX4x^8 z!fIyxdTzJ1Rvw#_qbrjV;Z{~%*nA`*;g@~XnyRPMOE0fW8Bx14cRm?nf4^_1^MC^a z^O-N(&1fQBg``);3eu?Q5&a|V`CKA08keAlP{1V*>+z3pp6AEuCYAAOjqC7zw>RIB zo7$Gi>L57Jw~KtZ4m^MjyfN=vZUSCc&bTsq;J#{;qdE99qGg(_dhWFC$zKfzAI7@8 z`y;LtG2xU0fywO-b>qF5a!Rt2*=k*p(PW0A$Vs zpYH-qP(T0>!UO;!fG9u=a6%K&D$39UPD%lu9#|I-oTm!W38(1gW{qM4z&#Ae5`;unzZH*PS$olxg$c;@o6%K3rDH(obJUt{@E6Dmnonod4Qo zeB)X0*X-zLdX`6oy)RTAQhjiy)sox-Jy^(LMcs6am2zOk5`>#*yH>JAlF+rW*SoZB?FhtwQ$Y(t(?yMjuUTP2Ou0 z<`|8+0v*)J*kWSRN0KJ%fxwAdkAy5EIIdbm7UU^o@@3j(Duy5;U#wOJAh1E99}kp- zGoF4BNlz{4#Rh9CjUQuHW_6gCi8Y8AiA9L6Rg8CL%CiqK@eLQ2w7(72ET8H2ah-QI zJ66`n$L>^grSE6~uPtLbsv}>Ar>>L|TtNNJ0?3WoG%LyhANd#L!H|iiQ-_4cOuGts zp#JxeTx@!|Umiv-kz4CEteP@l1Ys$m8+mm~XG~8-@7v3Njv^EwBOjch^d*BYlviMd z^U8d=+Ygw>gbj)j*H}HJZzssZ`_twQ=c(_lq2?^YuYF$SwHGf&J7zt)I|uCB{M{Ym4>!dhGDY0d=s7!b-A0AQQyimI?N4_w<8h*Ze&p7L_-%)|-SM1Qr ztn-aFra{S5jrZ!)`r9YfPG{L&c{%7h5>XG8GO@~n^nKJM3vzOHB1wA_Zqyvfl@Lqh z@d*zVR~GN_4L14kNn4rvG1z_L$7{62Ye>nxkERb~7H5maJdXR^Iv37<|H5lzZ^7R3 z>hM(eH`Aw=JdF|0q0f55GbMkWMVsI4K58)DFbVjnoh1-g%dZEY7%-_eFJ2!%?F z)}v?N@>G@(pLSNOL5umiMA;15l#q<@+o#6rm2Kwv85207bF_u37s?UCL}?ooKIAJ`x|q)sigklHPF(U93W zXvzLqG~R_k^!LIl5}Y^jzF*1o3ST~rLE!BNIzDRvKp6=Dcxmv7J81DJXRIgQf0N7a zyNIGAh{Dao2&C76NPbBG7&6>0cL$u7yV35Tu!G8qM6}~3Jz17QkDgfNhp0g?xqPMy ztH!mR4t1ubW1O)VS1MT%?d!TpZ+S>p@`Xxo_$M~#&ihnTuu)})&}ic6{(tChE*`Fg zzxbkN=jc`cJOhCMoxd4(nrf7|eE=Y~g+CJ#v;Z^2}` zpWYG!8sUf+30znyK>!$50RX`*OXP>B1k)~o_8_A17@`XXy~(y>mZaxMVH-2VOH01H zU?%{u7GVH{XxN3x+t@w?A|CCACb;~DpD7!qS2#XC4N*HOG1npu0REWmLHe;m3pYc% zVsS2R*v+zK>^13?z3CaXJEeZ&0MKl)oy@t1;cpS$aOJ=8OS4pu{<(!t-y&)}LDUAo zMC))X7Ei(QWvM`3GHWb4iP@? z)WKa00FT~m7g}?emiw2NQK{?nbl3G7MCiw+fwf8ARhaf~ODB8SRe6 z|H~L!$R;2tzK3>K-vfY1G0--;*9TgU<&mgPdZ~7+~XTm(FrfcT`w)MQoR$8_T!BZ8guKriy znqd@r@I=#O#G*d0Lc9(D#MW$gwP7zU9F6