OpenJDK 11: Merging in java.lang.Integer (parseUnsignedInt())
This is part of merging upstream changes from OpenJDK 11.28. This CL
updates test expectations for 912-classes and 950-redefince-intrinsic,
as a new API Long#parseLong(CharSequence, int, int, int) was added in
libcore.
Bug: 207841289
Test: art/test/testrunner/testrunner.py --host \
-t 912-classes -t 950-redefine-intrinsic
Test: atest CtsLibcoreOjTestCases:test.java.lang.\
{Long.{ParsingTest,Unsigned},Integer.Unsigned}
Change-Id: Ieb50d0586532ca884b48fea23131d505b019aad7
diff --git a/test/912-classes/expected-stdout.txt b/test/912-classes/expected-stdout.txt
index 94f4c9f..5da9f8c 100644
--- a/test/912-classes/expected-stdout.txt
+++ b/test/912-classes/expected-stdout.txt
@@ -23,7 +23,7 @@
[public static final int java.lang.Integer.BYTES, static final byte[] java.lang.Integer.DigitOnes, static final byte[] java.lang.Integer.DigitTens, public static final int java.lang.Integer.MAX_VALUE, public static final int java.lang.Integer.MIN_VALUE, public static final int java.lang.Integer.SIZE, private static final java.lang.String[] java.lang.Integer.SMALL_NEG_VALUES, private static final java.lang.String[] java.lang.Integer.SMALL_NONNEG_VALUES, public static final java.lang.Class java.lang.Integer.TYPE, static final char[] java.lang.Integer.digits, private static final long java.lang.Integer.serialVersionUID, static final int[] java.lang.Integer.sizeTable, private final int java.lang.Integer.value]
[]
[]
-[java.lang.Integer(), public java.lang.Integer(int), public java.lang.Integer(java.lang.String) throws java.lang.NumberFormatException, public static int java.lang.Integer.bitCount(int), public static int java.lang.Integer.compare(int,int), public static int java.lang.Integer.compareUnsigned(int,int), public static java.lang.Integer java.lang.Integer.decode(java.lang.String) throws java.lang.NumberFormatException, public static int java.lang.Integer.divideUnsigned(int,int), static void java.lang.Integer.formatUnsignedInt(int,int,byte[],int,int), static void java.lang.Integer.formatUnsignedInt(int,int,char[],int,int), static int java.lang.Integer.getChars(int,int,byte[]), static int java.lang.Integer.getChars(int,int,char[]), public static java.lang.Integer java.lang.Integer.getInteger(java.lang.String), public static java.lang.Integer java.lang.Integer.getInteger(java.lang.String,int), public static java.lang.Integer java.lang.Integer.getInteger(java.lang.String,java.lang.Integer), public static int java.lang.Integer.hashCode(int), public static int java.lang.Integer.highestOneBit(int), public static int java.lang.Integer.lowestOneBit(int), public static int java.lang.Integer.max(int,int), public static int java.lang.Integer.min(int,int), public static int java.lang.Integer.numberOfLeadingZeros(int), public static int java.lang.Integer.numberOfTrailingZeros(int), public static int java.lang.Integer.parseInt(java.lang.CharSequence,int,int,int) throws java.lang.NumberFormatException, public static int java.lang.Integer.parseInt(java.lang.String) throws java.lang.NumberFormatException, public static int java.lang.Integer.parseInt(java.lang.String,int) throws java.lang.NumberFormatException, public static int java.lang.Integer.parseUnsignedInt(java.lang.String) throws java.lang.NumberFormatException, public static int java.lang.Integer.parseUnsignedInt(java.lang.String,int) throws java.lang.NumberFormatException, public static int java.lang.Integer.remainderUnsigned(int,int), public static int java.lang.Integer.reverse(int), public static int java.lang.Integer.reverseBytes(int), public static int java.lang.Integer.rotateLeft(int,int), public static int java.lang.Integer.rotateRight(int,int), public static int java.lang.Integer.signum(int), static int java.lang.Integer.stringSize(int), public static int java.lang.Integer.sum(int,int), public static java.lang.String java.lang.Integer.toBinaryString(int), public static java.lang.String java.lang.Integer.toHexString(int), public static java.lang.String java.lang.Integer.toOctalString(int), public static java.lang.String java.lang.Integer.toString(int), public static java.lang.String java.lang.Integer.toString(int,int), public static long java.lang.Integer.toUnsignedLong(int), public static java.lang.String java.lang.Integer.toUnsignedString(int), public static java.lang.String java.lang.Integer.toUnsignedString(int,int), private static java.lang.String java.lang.Integer.toUnsignedString0(int,int), public static java.lang.Integer java.lang.Integer.valueOf(int), public static java.lang.Integer java.lang.Integer.valueOf(java.lang.String) throws java.lang.NumberFormatException, public static java.lang.Integer java.lang.Integer.valueOf(java.lang.String,int) throws java.lang.NumberFormatException, public byte java.lang.Integer.byteValue(), public int java.lang.Integer.compareTo(java.lang.Integer), public int java.lang.Integer.compareTo(java.lang.Object), public double java.lang.Integer.doubleValue(), public boolean java.lang.Integer.equals(java.lang.Object), public float java.lang.Integer.floatValue(), public int java.lang.Integer.hashCode(), public int java.lang.Integer.intValue(), public long java.lang.Integer.longValue(), public short java.lang.Integer.shortValue(), public java.lang.String java.lang.Integer.toString()]
+[java.lang.Integer(), public java.lang.Integer(int), public java.lang.Integer(java.lang.String) throws java.lang.NumberFormatException, public static int java.lang.Integer.bitCount(int), public static int java.lang.Integer.compare(int,int), public static int java.lang.Integer.compareUnsigned(int,int), public static java.lang.Integer java.lang.Integer.decode(java.lang.String) throws java.lang.NumberFormatException, public static int java.lang.Integer.divideUnsigned(int,int), static void java.lang.Integer.formatUnsignedInt(int,int,byte[],int,int), static void java.lang.Integer.formatUnsignedInt(int,int,char[],int,int), static int java.lang.Integer.getChars(int,int,byte[]), static int java.lang.Integer.getChars(int,int,char[]), public static java.lang.Integer java.lang.Integer.getInteger(java.lang.String), public static java.lang.Integer java.lang.Integer.getInteger(java.lang.String,int), public static java.lang.Integer java.lang.Integer.getInteger(java.lang.String,java.lang.Integer), public static int java.lang.Integer.hashCode(int), public static int java.lang.Integer.highestOneBit(int), public static int java.lang.Integer.lowestOneBit(int), public static int java.lang.Integer.max(int,int), public static int java.lang.Integer.min(int,int), public static int java.lang.Integer.numberOfLeadingZeros(int), public static int java.lang.Integer.numberOfTrailingZeros(int), public static int java.lang.Integer.parseInt(java.lang.CharSequence,int,int,int) throws java.lang.NumberFormatException, public static int java.lang.Integer.parseInt(java.lang.String) throws java.lang.NumberFormatException, public static int java.lang.Integer.parseInt(java.lang.String,int) throws java.lang.NumberFormatException, public static int java.lang.Integer.parseUnsignedInt(java.lang.CharSequence,int,int,int) throws java.lang.NumberFormatException, public static int java.lang.Integer.parseUnsignedInt(java.lang.String) throws java.lang.NumberFormatException, public static int java.lang.Integer.parseUnsignedInt(java.lang.String,int) throws java.lang.NumberFormatException, public static int java.lang.Integer.remainderUnsigned(int,int), public static int java.lang.Integer.reverse(int), public static int java.lang.Integer.reverseBytes(int), public static int java.lang.Integer.rotateLeft(int,int), public static int java.lang.Integer.rotateRight(int,int), public static int java.lang.Integer.signum(int), static int java.lang.Integer.stringSize(int), public static int java.lang.Integer.sum(int,int), public static java.lang.String java.lang.Integer.toBinaryString(int), public static java.lang.String java.lang.Integer.toHexString(int), public static java.lang.String java.lang.Integer.toOctalString(int), public static java.lang.String java.lang.Integer.toString(int), public static java.lang.String java.lang.Integer.toString(int,int), public static long java.lang.Integer.toUnsignedLong(int), public static java.lang.String java.lang.Integer.toUnsignedString(int), public static java.lang.String java.lang.Integer.toUnsignedString(int,int), private static java.lang.String java.lang.Integer.toUnsignedString0(int,int), public static java.lang.Integer java.lang.Integer.valueOf(int), public static java.lang.Integer java.lang.Integer.valueOf(java.lang.String) throws java.lang.NumberFormatException, public static java.lang.Integer java.lang.Integer.valueOf(java.lang.String,int) throws java.lang.NumberFormatException, public byte java.lang.Integer.byteValue(), public int java.lang.Integer.compareTo(java.lang.Integer), public int java.lang.Integer.compareTo(java.lang.Object), public double java.lang.Integer.doubleValue(), public boolean java.lang.Integer.equals(java.lang.Object), public float java.lang.Integer.floatValue(), public int java.lang.Integer.hashCode(), public int java.lang.Integer.intValue(), public long java.lang.Integer.longValue(), public short java.lang.Integer.shortValue(), public java.lang.String java.lang.Integer.toString()]
[]
[]
int 100000
diff --git a/test/950-redefine-intrinsic/src/Main.java b/test/950-redefine-intrinsic/src/Main.java
index d4f4e8f..a9f7898 100644
--- a/test/950-redefine-intrinsic/src/Main.java
+++ b/test/950-redefine-intrinsic/src/Main.java
@@ -127,6 +127,9 @@
// public static long parseLong(String s) throws NumberFormatException {
// throw new Error("Method redefined away!");
// }
+ // public static long parseLong(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException {
+ // throw new Error("Method redefined away!");
+ // }
// public static long parseUnsignedLong(String s, int radix) throws NumberFormatException {
// throw new Error("Method redefined away!");
// }
@@ -209,190 +212,232 @@
// private static final long serialVersionUID = 0;
// }
private static final byte[] CLASS_BYTES = Base64.getDecoder().decode(
- "yv66vgAAADQAiQUAAAAAAAAACgcAdQoAAwB2CAB3CgADAHgJAA0AeQoAAwB6CgADAHsHAHwIAH0K" +
- "AAoAfgcAfwoADQCACgASAHYKAA0AgQkADQCCBwCDBwCEAQAJTUlOX1ZBTFVFAQABSgEADUNvbnN0" +
- "YW50VmFsdWUFAAAAAAAAAAABAAlNQVhfVkFMVUUBAARUWVBFAQARTGphdmEvbGFuZy9DbGFzczsB" +
- "AAlTaWduYXR1cmUBACNMamF2YS9sYW5nL0NsYXNzPExqYXZhL2xhbmcvTG9uZzs+OwEABXZhbHVl" +
- "AQAEU0laRQEAAUkDAAAAQAEABUJZVEVTAwAAAAgBABBzZXJpYWxWZXJzaW9uVUlEAQANaGlnaGVz" +
- "dE9uZUJpdAEABChKKUoBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAMbG93ZXN0T25lQml0AQAU" +
- "bnVtYmVyT2ZMZWFkaW5nWmVyb3MBAAQoSilJAQAVbnVtYmVyT2ZUcmFpbGluZ1plcm9zAQAIYml0" +
- "Q291bnQBAApyb3RhdGVMZWZ0AQAFKEpJKUoBAAtyb3RhdGVSaWdodAEAB3JldmVyc2UBAAZzaWdu" +
- "dW0BAAxyZXZlcnNlQnl0ZXMBAAh0b1N0cmluZwEAFCgpTGphdmEvbGFuZy9TdHJpbmc7AQAWKEpJ" +
- "KUxqYXZhL2xhbmcvU3RyaW5nOwEAEHRvVW5zaWduZWRTdHJpbmcBABR0b1Vuc2lnbmVkQmlnSW50" +
- "ZWdlcgEAGShKKUxqYXZhL21hdGgvQmlnSW50ZWdlcjsBAAt0b0hleFN0cmluZwEAFShKKUxqYXZh" +
- "L2xhbmcvU3RyaW5nOwEADXRvT2N0YWxTdHJpbmcBAA50b0JpbmFyeVN0cmluZwEAEXRvVW5zaWdu" +
- "ZWRTdHJpbmcwAQASZm9ybWF0VW5zaWduZWRMb25nAQAJKEpJW0NJSSlJAQAIZ2V0Q2hhcnMBAAco" +
- "SklbQylWAQAKc3RyaW5nU2l6ZQEACXBhcnNlTG9uZwEAFihMamF2YS9sYW5nL1N0cmluZztJKUoB" +
- "AApFeGNlcHRpb25zBwCFAQAVKExqYXZhL2xhbmcvU3RyaW5nOylKAQARcGFyc2VVbnNpZ25lZExv" +
- "bmcBAAd2YWx1ZU9mAQAlKExqYXZhL2xhbmcvU3RyaW5nO0kpTGphdmEvbGFuZy9Mb25nOwEAJChM" +
- "amF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9Mb25nOwEAEyhKKUxqYXZhL2xhbmcvTG9uZzsB" +
- "AAZkZWNvZGUBAAY8aW5pdD4BAAQoSilWAQAVKExqYXZhL2xhbmcvU3RyaW5nOylWAQAJYnl0ZVZh" +
- "bHVlAQADKClCAQAKc2hvcnRWYWx1ZQEAAygpUwEACGludFZhbHVlAQADKClJAQAJbG9uZ1ZhbHVl" +
- "AQADKClKAQAKZmxvYXRWYWx1ZQEAAygpRgEAC2RvdWJsZVZhbHVlAQADKClEAQAIaGFzaENvZGUB" +
- "AAZlcXVhbHMBABUoTGphdmEvbGFuZy9PYmplY3Q7KVoBAAdnZXRMb25nAQAlKExqYXZhL2xhbmcv" +
- "U3RyaW5nO0opTGphdmEvbGFuZy9Mb25nOwEANChMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5n" +
- "L0xvbmc7KUxqYXZhL2xhbmcvTG9uZzsBAAljb21wYXJlVG8BABMoTGphdmEvbGFuZy9Mb25nOylJ" +
- "AQAHY29tcGFyZQEABShKSilJAQAPY29tcGFyZVVuc2lnbmVkAQAOZGl2aWRlVW5zaWduZWQBAAUo" +
- "SkopSgEAEXJlbWFpbmRlclVuc2lnbmVkAQADc3VtAQADbWF4AQADbWluAQAVKExqYXZhL2xhbmcv" +
- "T2JqZWN0OylJAQAIPGNsaW5pdD4BAAMoKVYBADpMamF2YS9sYW5nL051bWJlcjtMamF2YS9sYW5n" +
- "L0NvbXBhcmFibGU8TGphdmEvbGFuZy9Mb25nOz47AQAKU291cmNlRmlsZQEACUxvbmcuamF2YQEA" +
- "F2phdmEvbGFuZy9TdHJpbmdCdWlsZGVyDABPAHEBACJSZWRlZmluZWQgTG9uZyEgdmFsdWUgKGFz" +
- "IGRvdWJsZSk9DACGAIcMAB4AFQwAhgCIDAA0ADUBAA9qYXZhL2xhbmcvRXJyb3IBABZNZXRob2Qg" +
- "cmVkZWZpbmVkIGF3YXkhDABPAFEBAA5qYXZhL2xhbmcvTG9uZwwATwBQDABkAGUMABoAGwEAEGph" +
- "dmEvbGFuZy9OdW1iZXIBABRqYXZhL2xhbmcvQ29tcGFyYWJsZQEAH2phdmEvbGFuZy9OdW1iZXJG" +
- "b3JtYXRFeGNlcHRpb24BAAZhcHBlbmQBAC0oTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcv" +
- "U3RyaW5nQnVpbGRlcjsBABwoRClMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7ADEADQASAAEAEwAH" +
- "ABkAFAAVAAEAFgAAAAIAFwAZABkAFQABABYAAAACABcAGQAaABsAAQAcAAAAAgAdABIAHgAVAAAA" +
- "GQAfACAAAQAWAAAAAgAhABkAIgAgAAEAFgAAAAIAIwAaACQAFQABABYAAAACABcANwAJACUAJgAB" +
- "ACcAAAAcAAQAAgAAAAQeCmGtAAAAAQAoAAAABgABAAAADgAJACkAJgABACcAAAAcAAQAAgAAAAQe" +
- "CmWtAAAAAQAoAAAABgABAAAAEwAJACoAKwABACcAAAAdAAQAAgAAAAUeHmGIrAAAAAEAKAAAAAYA" +
- "AQAAABgACQAsACsAAQAnAAAAHwAFAAIAAAAHHh4EfX+IrAAAAAEAKAAAAAYAAQAAAB0ACQAtACsA" +
- "AQAnAAAAGgABAAIAAAACCKwAAAABACgAAAAGAAEAAAAiAAkALgAvAAEAJwAAABoAAgADAAAAAh6t" +
- "AAAAAQAoAAAABgABAAAAJwAJADAALwABACcAAAAeAAQAAwAAAAYUAAEeaa0AAAABACgAAAAGAAEA" +
- "AAAsAAkAMQAmAAEAJwAAABsAAgACAAAAAx51rQAAAAEAKAAAAAYAAQAAADEACQAyACsAAQAnAAAA" +
- "GgABAAIAAAACA6wAAAABACgAAAAGAAEAAAA2AAkAMwAmAAEAJwAAABoAAgACAAAAAgmtAAAAAQAo" +
- "AAAABgABAAAAOwABADQANQABACcAAAAwAAMAAQAAABi7AANZtwAEEgW2AAYqtAAHirYACLYACbAA" +
- "AAABACgAAAAGAAEAAAA/AAkANAA2AAEAJwAAACIAAwADAAAACrsAClkSC7cADL8AAAABACgAAAAG" +
- "AAEAAABDAAkANwA2AAEAJwAAACIAAwADAAAACrsAClkSC7cADL8AAAABACgAAAAGAAEAAABGAAoA" +
- "OAA5AAEAJwAAACIAAwACAAAACrsAClkSC7cADL8AAAABACgAAAAGAAEAAABKAAkAOgA7AAEAJwAA" +
- "ACIAAwACAAAACrsAClkSC7cADL8AAAABACgAAAAGAAEAAABNAAkAPAA7AAEAJwAAACIAAwACAAAA" +
- "CrsAClkSC7cADL8AAAABACgAAAAGAAEAAABRAAkAPQA7AAEAJwAAACIAAwACAAAACrsAClkSC7cA" +
- "DL8AAAABACgAAAAGAAEAAABVAAgAPgA2AAEAJwAAACIAAwADAAAACrsAClkSC7cADL8AAAABACgA" +
- "AAAGAAEAAABZAAgAPwBAAAEAJwAAACIAAwAGAAAACrsAClkSC7cADL8AAAABACgAAAAGAAEAAABd" +
- "AAkANAA7AAEAJwAAACIAAwACAAAACrsAClkSC7cADL8AAAABACgAAAAGAAEAAABhAAkANwA7AAEA" +
- "JwAAACIAAwACAAAACrsAClkSC7cADL8AAAABACgAAAAGAAEAAABlAAgAQQBCAAEAJwAAACIAAwAE" +
- "AAAACrsAClkSC7cADL8AAAABACgAAAAGAAEAAABpAAgAQwArAAEAJwAAACIAAwACAAAACrsAClkS" +
- "C7cADL8AAAABACgAAAAGAAEAAABtAAkARABFAAIAJwAAACIAAwACAAAACrsAClkSC7cADL8AAAAB" +
- "ACgAAAAGAAEAAABxAEYAAAAEAAEARwAJAEQASAACACcAAAAiAAMAAQAAAAq7AApZEgu3AAy/AAAA" +
- "AQAoAAAABgABAAAAdQBGAAAABAABAEcACQBJAEUAAgAnAAAAIgADAAIAAAAKuwAKWRILtwAMvwAA" +
- "AAEAKAAAAAYAAQAAAHkARgAAAAQAAQBHAAkASQBIAAIAJwAAACIAAwABAAAACrsAClkSC7cADL8A" +
- "AAABACgAAAAGAAEAAAB9AEYAAAAEAAEARwAJAEoASwACACcAAAAiAAMAAgAAAAq7AApZEgu3AAy/" +
- "AAAAAQAoAAAABgABAAAAgQBGAAAABAABAEcACQBKAEwAAgAnAAAAIgADAAEAAAAKuwAKWRILtwAM" +
- "vwAAAAEAKAAAAAYAAQAAAIQARgAAAAQAAQBHAAkASgBNAAEAJwAAACEABAACAAAACbsADVketwAO" +
- "sAAAAAEAKAAAAAYAAQAAAIcACQBOAEwAAgAnAAAAIgADAAEAAAAKuwAKWRILtwAMvwAAAAEAKAAA" +
- "AAYAAQAAAIsARgAAAAQAAQBHAAEATwBQAAEAJwAAACoAAwADAAAACiq3AA8qH7UAB7EAAAABACgA" +
- "AAAOAAMAAACQAAQAkQAJAJIAAQBPAFEAAgAnAAAAKwADAAIAAAAPKgm3AA67AApZEgu3AAy/AAAA" +
- "AQAoAAAACgACAAAAlQAFAJYARgAAAAQAAQBHAAEAUgBTAAEAJwAAACIAAwABAAAACrsAClkSC7cA" +
- "DL8AAAABACgAAAAGAAEAAACaAAEAVABVAAEAJwAAACIAAwABAAAACrsAClkSC7cADL8AAAABACgA" +
- "AAAGAAEAAACeAAEAVgBXAAEAJwAAACIAAwABAAAACrsAClkSC7cADL8AAAABACgAAAAGAAEAAACi" +
- "AAEAWABZAAEAJwAAAB0AAgABAAAABSq0AAetAAAAAQAoAAAABgABAAAApgABAFoAWwABACcAAAAi" +
- "AAMAAQAAAAq7AApZEgu3AAy/AAAAAQAoAAAABgABAAAAqgABAFwAXQABACcAAAAiAAMAAQAAAAq7" +
- "AApZEgu3AAy/AAAAAQAoAAAABgABAAAArgABAF4AVwABACcAAAAiAAMAAQAAAAq7AApZEgu3AAy/" +
- "AAAAAQAoAAAABgABAAAAsgAJAF4AKwABACcAAAAiAAMAAgAAAAq7AApZEgu3AAy/AAAAAQAoAAAA" +
- "BgABAAAAtgABAF8AYAABACcAAAAiAAMAAgAAAAq7AApZEgu3AAy/AAAAAQAoAAAABgABAAAAugAJ" +
- "AGEATAABACcAAAAiAAMAAQAAAAq7AApZEgu3AAy/AAAAAQAoAAAABgABAAAAvgAJAGEAYgABACcA" +
- "AAAiAAMAAwAAAAq7AApZEgu3AAy/AAAAAQAoAAAABgABAAAAwgAJAGEAYwABACcAAAAiAAMAAgAA" +
- "AAq7AApZEgu3AAy/AAAAAQAoAAAABgABAAAAxgABAGQAZQABACcAAAAiAAMAAgAAAAq7AApZEgu3" +
- "AAy/AAAAAQAoAAAABgABAAAAyQAJAGYAZwABACcAAAAiAAMABAAAAAq7AApZEgu3AAy/AAAAAQAo" +
- "AAAABgABAAAAzQAJAGgAZwABACcAAAAiAAMABAAAAAq7AApZEgu3AAy/AAAAAQAoAAAABgABAAAA" +
- "0QAJAGkAagABACcAAAAiAAMABAAAAAq7AApZEgu3AAy/AAAAAQAoAAAABgABAAAA1QAJAGsAagAB" +
- "ACcAAAAiAAMABAAAAAq7AApZEgu3AAy/AAAAAQAoAAAABgABAAAA2QAJAGwAagABACcAAAAcAAQA" +
- "BAAAAAQeIGGtAAAAAQAoAAAABgABAAAA4AAJAG0AagABACcAAAAiAAMABAAAAAq7AApZEgu3AAy/" +
- "AAAAAQAoAAAABgABAAAA5AAJAG4AagABACcAAAAiAAMABAAAAAq7AApZEgu3AAy/AAAAAQAoAAAA" +
- "BgABAAAA5xBBAGQAbwABACcAAAAhAAIAAgAAAAkqK8AADbYAEKwAAAABACgAAAAGAAEAAAAFAAgA" +
- "cABxAAEAJwAAACEAAQAAAAAABQGzABGxAAAAAQAoAAAACgACAAAACAAEAAoAAgAcAAAAAgByAHMA" +
- "AAACAHQ=");
+ "LyoKICogQ29weXJpZ2h0IChDKSAyMDIxIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QK" +
+ "ICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhl" +
+ "ICJMaWNlbnNlIik7CiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBs" +
+ "aWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBM" +
+ "aWNlbnNlIGF0CiAqCiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VO" +
+ "U0UtMi4wCiAqCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQg" +
+ "dG8gaW4gd3JpdGluZywgc29mdHdhcmUKICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2Ug" +
+ "aXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKICogV0lUSE9VVCBXQVJSQU5USUVT" +
+ "IE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAq" +
+ "IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJt" +
+ "aXNzaW9ucyBhbmQKICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAqLwpwYWNrYWdl" +
+ "IGphdmEubGFuZzsKaW1wb3J0IGphdmEubWF0aC4qOwpwdWJsaWMgZmluYWwgY2xhc3MgTG9uZyBl" +
+ "eHRlbmRzIE51bWJlciBpbXBsZW1lbnRzIENvbXBhcmFibGU8TG9uZz4gewogICAgcHVibGljIHN0" +
+ "YXRpYyBmaW5hbCBsb25nIE1JTl9WQUxVRSA9IDA7CiAgICBwdWJsaWMgc3RhdGljIGZpbmFsIGxv" +
+ "bmcgTUFYX1ZBTFVFID0gMDsKICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgQ2xhc3M8TG9uZz4gVFlQ" +
+ "RSA9IG51bGw7CiAgICBzdGF0aWMgeyB9CiAgICAvLyBVc2VkIGZvciBTdHJlYW0uY291bnQgZm9y" +
+ "IHNvbWUgcmVhc29uLgogICAgcHVibGljIHN0YXRpYyBsb25nIHN1bShsb25nIGEsIGxvbmcgYikg" +
+ "ewogICAgICByZXR1cm4gYSArIGI7CiAgICB9CiAgICAvLyBVc2VkIGluIHN0cmVhbS9sYW1iZGEg" +
+ "ZnVuY3Rpb25zLgogICAgcHVibGljIExvbmcobG9uZyB2YWx1ZSkgewogICAgICB0aGlzLnZhbHVl" +
+ "ID0gdmFsdWU7CiAgICB9CiAgICAvLyBVc2VkIGluIHN0cmVhbS9sYW1iZGEgZnVuY3Rpb25zLgog" +
+ "ICAgcHVibGljIHN0YXRpYyBMb25nIHZhbHVlT2YobG9uZyBsKSB7CiAgICAgIHJldHVybiBuZXcg" +
+ "TG9uZyhsKTsKICAgIH0KICAgIC8vIEludHJpbnNpYyEgRG8gc29tZXRoaW5nIGNvb2wuIFJldHVy" +
+ "biBpICsgMQogICAgcHVibGljIHN0YXRpYyBsb25nIGhpZ2hlc3RPbmVCaXQobG9uZyBpKSB7CiAg" +
+ "ICAgIHJldHVybiBpICsgMTsKICAgIH0KICAgIC8vIEludHJpbnNpYyEgRG8gc29tZXRoaW5nIGNv" +
+ "b2wuIFJldHVybiBpIC0gMQogICAgcHVibGljIHN0YXRpYyBsb25nIGxvd2VzdE9uZUJpdChsb25n" +
+ "IGkpIHsKICAgICAgcmV0dXJuIGkgLSAxOwogICAgfQogICAgLy8gSW50cmluc2ljISBEbyBzb21l" +
+ "dGhpbmcgY29vbC4gUmV0dXJuIGkgKyBpCiAgICBwdWJsaWMgc3RhdGljIGludCBudW1iZXJPZkxl" +
+ "YWRpbmdaZXJvcyhsb25nIGkpIHsKICAgICAgcmV0dXJuIChpbnQpKGkgKyBpKTsKICAgIH0KICAg" +
+ "IC8vIEludHJpbnNpYyEgRG8gc29tZXRoaW5nIGNvb2wuIFJldHVybiBpICYgKGkgPj4+IDEpOwog" +
+ "ICAgcHVibGljIHN0YXRpYyBpbnQgbnVtYmVyT2ZUcmFpbGluZ1plcm9zKGxvbmcgaSkgewogICAg" +
+ "ICByZXR1cm4gKGludCkoaSAmIChpID4+PiAxKSk7CiAgICB9CiAgICAvLyBJbnRyaW5zaWMhIERv" +
+ "IHNvbWV0aGluZyBjb29sLiBSZXR1cm4gNQogICAgIHB1YmxpYyBzdGF0aWMgaW50IGJpdENvdW50" +
+ "KGxvbmcgaSkgewogICAgICAgcmV0dXJuIDU7CiAgICAgfQogICAgLy8gSW50cmluc2ljISBEbyBz" +
+ "b21ldGhpbmcgY29vbC4gUmV0dXJuIGkKICAgIHB1YmxpYyBzdGF0aWMgbG9uZyByb3RhdGVMZWZ0" +
+ "KGxvbmcgaSwgaW50IGRpc3RhbmNlKSB7CiAgICAgIHJldHVybiBpOwogICAgfQogICAgLy8gSW50" +
+ "cmluc2ljISBEbyBzb21ldGhpbmcgY29vbC4gUmV0dXJuIDEwICogaQogICAgcHVibGljIHN0YXRp" +
+ "YyBsb25nIHJvdGF0ZVJpZ2h0KGxvbmcgaSwgaW50IGRpc3RhbmNlKSB7CiAgICAgIHJldHVybiAx" +
+ "MCAqIGk7CiAgICB9CiAgICAvLyBJbnRyaW5zaWMhIERvIHNvbWV0aGluZyBjb29sLiBSZXR1cm4g" +
+ "LWkKICAgIHB1YmxpYyBzdGF0aWMgbG9uZyByZXZlcnNlKGxvbmcgaSkgewogICAgICByZXR1cm4g" +
+ "LWk7CiAgICB9CiAgICAvLyBJbnRyaW5zaWMhIERvIHNvbWV0aGluZyBjb29sLiBSZXR1cm4gMAog" +
+ "ICAgcHVibGljIHN0YXRpYyBpbnQgc2lnbnVtKGxvbmcgaSkgewogICAgICByZXR1cm4gMDsKICAg" +
+ "IH0KICAgIC8vIEludHJpbnNpYyEgRG8gc29tZXRoaW5nIGNvb2wuIFJldHVybiAwCiAgICBwdWJs" +
+ "aWMgc3RhdGljIGxvbmcgcmV2ZXJzZUJ5dGVzKGxvbmcgaSkgewogICAgICByZXR1cm4gMDsKICAg" +
+ "IH0KICAgIHB1YmxpYyBTdHJpbmcgdG9TdHJpbmcoKSB7CiAgICAgIHJldHVybiAiUmVkZWZpbmVk" +
+ "IExvbmchIHZhbHVlIChhcyBkb3VibGUpPSIgKyAoKGRvdWJsZSl2YWx1ZSk7CiAgICB9CiAgICBw" +
+ "dWJsaWMgc3RhdGljIFN0cmluZyB0b1N0cmluZyhsb25nIGksIGludCByYWRpeCkgewogICAgICB0" +
+ "aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1Ymxp" +
+ "YyBzdGF0aWMgU3RyaW5nIHRvVW5zaWduZWRTdHJpbmcobG9uZyBpLCBpbnQgcmFkaXgpIHsKICAg" +
+ "ICAgdGhyb3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBw" +
+ "cml2YXRlIHN0YXRpYyBCaWdJbnRlZ2VyIHRvVW5zaWduZWRCaWdJbnRlZ2VyKGxvbmcgaSkgewog" +
+ "ICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAg" +
+ "IHB1YmxpYyBzdGF0aWMgU3RyaW5nIHRvSGV4U3RyaW5nKGxvbmcgaSkgewogICAgICB0aHJvdyBu" +
+ "ZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBzdGF0" +
+ "aWMgU3RyaW5nIHRvT2N0YWxTdHJpbmcobG9uZyBpKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigi" +
+ "TWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBTdHJpbmcg" +
+ "dG9CaW5hcnlTdHJpbmcobG9uZyBpKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJl" +
+ "ZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgc3RhdGljIFN0cmluZyB0b1Vuc2lnbmVkU3RyaW5n" +
+ "MChsb25nIHZhbCwgaW50IHNoaWZ0KSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJl" +
+ "ZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgc3RhdGljIGludCBmb3JtYXRVbnNpZ25lZExvbmco" +
+ "bG9uZyB2YWwsIGludCBzaGlmdCwgY2hhcltdIGJ1ZiwgaW50IG9mZnNldCwgaW50IGxlbikgewog" +
+ "ICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAg" +
+ "IHB1YmxpYyBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGxvbmcgaSkgewogICAgICB0aHJvdyBuZXcg" +
+ "RXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMg" +
+ "U3RyaW5nIHRvVW5zaWduZWRTdHJpbmcobG9uZyBpKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigi" +
+ "TWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgc3RhdGljIHZvaWQgZ2V0Q2hhcnMo" +
+ "bG9uZyBpLCBpbnQgaW5kZXgsIGNoYXJbXSBidWYpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJN" +
+ "ZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBzdGF0aWMgaW50IHN0cmluZ1NpemUo" +
+ "bG9uZyB4KSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIp" +
+ "OwogICAgfQogICAgcHVibGljIHN0YXRpYyBsb25nIHBhcnNlTG9uZyhTdHJpbmcgcywgaW50IHJh" +
+ "ZGl4KSB0aHJvd3MgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHsKICAgICAgdGhyb3cgbmV3IEVycm9y" +
+ "KCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMgc3RhdGljIGxvbmcg" +
+ "cGFyc2VMb25nKFN0cmluZyBzKSB0aHJvd3MgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHsKICAgICAg" +
+ "dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJs" +
+ "aWMgc3RhdGljIGxvbmcgcGFyc2VVbnNpZ25lZExvbmcoU3RyaW5nIHMsIGludCByYWRpeCkgdGhy" +
+ "b3dzIE51bWJlckZvcm1hdEV4Y2VwdGlvbiB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9k" +
+ "IHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBsb25nIHBhcnNlVW5z" +
+ "aWduZWRMb25nKFN0cmluZyBzKSB0aHJvd3MgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHsKICAgICAg" +
+ "dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJs" +
+ "aWMgc3RhdGljIGxvbmcgcGFyc2VMb25nKENoYXJTZXF1ZW5jZSBzLCBpbnQgYmVnaW5JbmRleCwg" +
+ "aW50IGVuZEluZGV4LCBpbnQgcmFkaXgpIHRocm93cyBOdW1iZXJGb3JtYXRFeGNlcHRpb24gewog" +
+ "ICAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQog" +
+ "ICAgcHVibGljIHN0YXRpYyBMb25nIHZhbHVlT2YoU3RyaW5nIHMsIGludCByYWRpeCkgdGhyb3dz" +
+ "IE51bWJlckZvcm1hdEV4Y2VwdGlvbiB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJl" +
+ "ZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBMb25nIHZhbHVlT2YoU3Ry" +
+ "aW5nIHMpIHRocm93cyBOdW1iZXJGb3JtYXRFeGNlcHRpb24gewogICAgICB0aHJvdyBuZXcgRXJy" +
+ "b3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgTG9u" +
+ "ZyBkZWNvZGUoU3RyaW5nIG5tKSB0aHJvd3MgTnVtYmVyRm9ybWF0RXhjZXB0aW9uIHsKICAgICAg" +
+ "dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwcml2" +
+ "YXRlIGZpbmFsIGxvbmcgdmFsdWU7CiAgICBwdWJsaWMgTG9uZyhTdHJpbmcgcykgdGhyb3dzIE51" +
+ "bWJlckZvcm1hdEV4Y2VwdGlvbiB7CiAgICAgIHRoaXMoMCk7CiAgICAgIHRocm93IG5ldyBFcnJv" +
+ "cigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIGJ5dGUgYnl0ZVZh" +
+ "bHVlKCkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsK" +
+ "ICAgIH0KICAgIHB1YmxpYyBzaG9ydCBzaG9ydFZhbHVlKCkgewogICAgICB0aHJvdyBuZXcgRXJy" +
+ "b3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBpbnQgaW50VmFs" +
+ "dWUoKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwog" +
+ "ICAgfQogICAgcHVibGljIGxvbmcgbG9uZ1ZhbHVlKCkgewogICAgICByZXR1cm4gdmFsdWU7CiAg" +
+ "ICB9CiAgICBwdWJsaWMgZmxvYXQgZmxvYXRWYWx1ZSgpIHsKICAgICAgdGhyb3cgbmV3IEVycm9y" +
+ "KCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMgZG91YmxlIGRvdWJs" +
+ "ZVZhbHVlKCkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEi" +
+ "KTsKICAgIH0KICAgIHB1YmxpYyBpbnQgaGFzaENvZGUoKSB7CiAgICAgIHRocm93IG5ldyBFcnJv" +
+ "cigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBpbnQg" +
+ "aGFzaENvZGUobG9uZyB2YWx1ZSkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRl" +
+ "ZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBib29sZWFuIGVxdWFscyhPYmplY3Qgb2Jq" +
+ "KSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAg" +
+ "fQogICAgcHVibGljIHN0YXRpYyBMb25nIGdldExvbmcoU3RyaW5nIG5tKSB7CiAgICAgIHRocm93" +
+ "IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIHN0" +
+ "YXRpYyBMb25nIGdldExvbmcoU3RyaW5nIG5tLCBsb25nIHZhbCkgewogICAgICB0aHJvdyBuZXcg" +
+ "RXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMg" +
+ "TG9uZyBnZXRMb25nKFN0cmluZyBubSwgTG9uZyB2YWwpIHsKICAgICAgdGhyb3cgbmV3IEVycm9y" +
+ "KCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMgaW50IGNvbXBhcmVU" +
+ "byhMb25nIGFub3RoZXJMb25nKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0aG9kIHJlZGVm" +
+ "aW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBpbnQgY29tcGFyZShsb25nIHgs" +
+ "IGxvbmcgeSkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEi" +
+ "KTsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgaW50IGNvbXBhcmVVbnNpZ25lZChsb25nIHgsIGxv" +
+ "bmcgeSkgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsK" +
+ "ICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgbG9uZyBkaXZpZGVVbnNpZ25lZChsb25nIGRpdmlkZW5k" +
+ "LCBsb25nIGRpdmlzb3IpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJNZXRob2QgcmVkZWZpbmVk" +
+ "IGF3YXkhIik7CiAgICB9CiAgICBwdWJsaWMgc3RhdGljIGxvbmcgcmVtYWluZGVyVW5zaWduZWQo" +
+ "bG9uZyBkaXZpZGVuZCwgbG9uZyBkaXZpc29yKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcigiTWV0" +
+ "aG9kIHJlZGVmaW5lZCBhd2F5ISIpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBmaW5hbCBpbnQg" +
+ "U0laRSA9IDY0OwogICAgcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgQllURVMgPSBTSVpFIC8gQnl0" +
+ "ZS5TSVpFOwogICAgcHVibGljIHN0YXRpYyBsb25nIG1heChsb25nIGEsIGxvbmcgYikgewogICAg" +
+ "ICB0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCByZWRlZmluZWQgYXdheSEiKTsKICAgIH0KICAgIHB1" +
+ "YmxpYyBzdGF0aWMgbG9uZyBtaW4obG9uZyBhLCBsb25nIGIpIHsKICAgICAgdGhyb3cgbmV3IEVy" +
+ "cm9yKCJNZXRob2QgcmVkZWZpbmVkIGF3YXkhIik7CiAgICB9CiAgICBwcml2YXRlIHN0YXRpYyBm" +
+ "aW5hbCBsb25nIHNlcmlhbFZlcnNpb25VSUQgPSAwOwp9Cg==");
private static final byte[] DEX_BYTES = Base64.getDecoder().decode(
- "ZGV4CjAzNQAFtMupmeDN6Ck5nxdemGsp43KmLNpYLrMYFgAAcAAAAHhWNBIAAAAAAAAAAEgVAABl" +
- "AAAAcAAAABUAAAAEAgAAIAAAAFgCAAAHAAAA2AMAAD0AAAAQBAAAAQAAAPgFAAAAEAAAGAYAAB4O" +
- "AAAhDgAAKw4AADMOAAA3DgAAOg4AAEEOAABEDgAARw4AAEoOAABODgAAVg4AAFsOAABfDgAAYg4A" +
- "AGYOAABrDgAAcA4AAHQOAAB5DgAAfA4AAIAOAACEDgAAiQ4AAI0OAACSDgAAlw4AAJwOAAC7DgAA" +
- "1w4AAOkOAAD8DgAAEw8AACsPAAA+DwAAUA8AAGQPAACHDwAAmw8AAK8PAADKDwAA4g8AAO0PAAD4" +
- "DwAAAxAAABsQAAA/EAAAQhAAAEgQAABOEAAAURAAAFUQAABbEAAAXxAAAGIQAABmEAAAahAAAHIQ" +
- "AAB8EAAAhxAAAJAQAACbEAAArBAAALQQAADEEAAA0RAAAOUQAADtEAAA+RAAAA0RAAAXEQAAIBEA" +
- "ACoRAAA5EQAAQxEAAE4RAABcEQAAYREAAGYRAAB8EQAAkxEAAJ4RAACxEQAAxBEAAM0RAADbEQAA" +
- "5xEAAPQRAAAGEgAAEhIAABoSAAAmEgAAKxIAADsSAABIEgAAVxIAAGESAAB3EgAAiRIAAJwSAACj" +
- "EgAABAAAAAYAAAAHAAAACAAAAA0AAAAbAAAAHAAAAB4AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUA" +
- "AAAmAAAAJwAAACgAAAAuAAAAMQAAADUAAAA3AAAABAAAAAAAAAAAAAAABgAAAAEAAAAAAAAABwAA" +
- "AAIAAAAAAAAACAAAAAMAAAAAAAAACQAAAAMAAAC0DQAACgAAAAMAAAC8DQAACwAAAAMAAADMDQAA" +
- "DAAAAAMAAADUDQAADAAAAAMAAADcDQAADQAAAAQAAAAAAAAADgAAAAQAAAC0DQAADwAAAAQAAADk" +
- "DQAAEAAAAAQAAADMDQAAEQAAAAQAAADsDQAAEgAAAAQAAAD0DQAAFQAAAAoAAAC0DQAAFwAAAAoA" +
- "AADsDQAAGAAAAAoAAAD0DQAAGQAAAAoAAAD8DQAAGgAAAAoAAAAEDgAAEwAAAA4AAAAAAAAAFQAA" +
- "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" +
- "EwAAAwAAAJsAAgQQAAAABAACAAIAAACPEwAACQAAACIACQAbASwAAABwIAAAEAAnAAAABAACAAIA" +
- "AACVEwAACQAAACIACQAbASwAAABwIAAAEAAnAAAABAACAAIAAACbEwAACQAAACIACQAbASwAAABw" +
- "IAAAEAAnAAAABAACAAIAAAChEwAACQAAACIACQAbASwAAABwIAAAEAAnAAAABQADAAIAAACnEwAA" +
- "CQAAACIACQAbASwAAABwIAAAEAAnAAAABAACAAIAAACuEwAACQAAACIACQAbASwAAABwIAAAEAAn" +
- "AAAABAACAAIAAAC0EwAACQAAACIACQAbASwAAABwIAAAEAAnAAAABQADAAIAAAC6EwAACQAAACIA" +
- "CQAbASwAAABwIAAAEAAnAAAABQADAAIAAADBEwAACQAAACIACQAbASwAAABwIAAAEAAnAAAABAAC" +
- "AAMAAADIEwAABgAAACIACgBwMAIAIAMRAAMAAQACAAAAzxMAAAkAAAAiAAkAGwEsAAAAcCAAABAA" +
- "JwAAAAQAAgACAAAA1hMAAAkAAAAiAAkAGwEsAAAAcCAAABAAJwAAAAMAAQACAAAA3hMAAAkAAAAi" +
- "AAkAGwEsAAAAcCAAABAAJwAAAAQAAgACAAAA5BMAAAkAAAAiAAkAGwEsAAAAcCAAABAAJwAAAAMA" +
- "AgACAAAA6xMAAAcAAAAfAgoAbiAHACEACgAPAAAAAwABAAIAAADyEwAACQAAACIACQAbASwAAABw" +
- "IAAAEAAnAAAABAACAAIAAAD4EwAACQAAACIACQAbASwAAABwIAAAEAAnAAAAAwABAAIAAAD/EwAA" +
- "CQAAACIACQAbASwAAABwIAAAEAAnAAAAAwABAAIAAAAFFAAACQAAACIACQAbASwAAABwIAAAEAAn" +
- "AAAAAwABAAIAAAALFAAACQAAACIACQAbASwAAABwIAAAEAAnAAAAAwABAAAAAAARFAAAAwAAAFMg" +
- "BgAQAAAAAwABAAIAAAAXFAAACQAAACIACQAbASwAAABwIAAAEAAnAAAABQABAAMAAAAdFAAAGAAA" +
- "ACIADwBwEDkAAAAbAS0AAABuIDsAEAAMAFNCBgCGIm4wOgAgAwwAbhA8AAAADAARABgGAAABAAAA" +
- "CAAAAAAAAAAEAAAAIAYAAAMAAAAoBgAACgAAACgGAAAeAAAAKAYAAB8AAAAoBgAAIAAAACgGAAAh" +
- "AAAAKAYAADYAAAAoBgAANwAAACgGAAABAAAACAAAAAEAAAAEAAAABQAAAAQAAwAUAAMAAwAAAAIA" +
- "AAAEAAQAAQAAAAoAAAABAAAADQAAAAIAAAAEAAMAAQAAAA4AAAACAAAADgADAAIAAAAOAAQAAgAA" +
- "AA4ACgABAAAAAQAAAAMAAAAEAAMAFAABPAAIPGNsaW5pdD4ABjxpbml0PgACPjsAAUIABUJZVEVT" +
- "AAFEAAFGAAFJAAJJSgAGSUpJTElJAANJSkoAAklMAAFKAAJKSgADSkpJAANKSkoAAkpMAANKTEkA" +
- "AUwAAkxEAAJMSgADTEpJAAJMTAADTExJAANMTEoAA0xMTAAdTGRhbHZpay9hbm5vdGF0aW9uL1Np" +
- "Z25hdHVyZTsAGkxkYWx2aWsvYW5ub3RhdGlvbi9UaHJvd3M7ABBMamF2YS9sYW5nL0NsYXNzABFM" +
- "amF2YS9sYW5nL0NsYXNzOwAVTGphdmEvbGFuZy9Db21wYXJhYmxlABZMamF2YS9sYW5nL0NvbXBh" +
- "cmFibGU7ABFMamF2YS9sYW5nL0Vycm9yOwAQTGphdmEvbGFuZy9Mb25nOwASTGphdmEvbGFuZy9O" +
- "dW1iZXI7ACFMamF2YS9sYW5nL051bWJlckZvcm1hdEV4Y2VwdGlvbjsAEkxqYXZhL2xhbmcvT2Jq" +
- "ZWN0OwASTGphdmEvbGFuZy9TdHJpbmc7ABlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7ABZMamF2" +
- "YS9tYXRoL0JpZ0ludGVnZXI7AAlMb25nLmphdmEACU1BWF9WQUxVRQAJTUlOX1ZBTFVFABZNZXRo" +
- "b2QgcmVkZWZpbmVkIGF3YXkhACJSZWRlZmluZWQgTG9uZyEgdmFsdWUgKGFzIGRvdWJsZSk9AAFT" +
- "AARTSVpFAARUWVBFAAFWAAJWSgAEVkpJTAACVkwAAVoAAlpMAAJbQwAGYXBwZW5kAAhiaXRDb3Vu" +
- "dAAJYnl0ZVZhbHVlAAdjb21wYXJlAAljb21wYXJlVG8AD2NvbXBhcmVVbnNpZ25lZAAGZGVjb2Rl" +
- "AA5kaXZpZGVVbnNpZ25lZAALZG91YmxlVmFsdWUAEmVtaXR0ZXI6IGphY2stNC4yNQAGZXF1YWxz" +
- "AApmbG9hdFZhbHVlABJmb3JtYXRVbnNpZ25lZExvbmcACGdldENoYXJzAAdnZXRMb25nAAhoYXNo" +
- "Q29kZQANaGlnaGVzdE9uZUJpdAAIaW50VmFsdWUACWxvbmdWYWx1ZQAMbG93ZXN0T25lQml0AANt" +
- "YXgAA21pbgAUbnVtYmVyT2ZMZWFkaW5nWmVyb3MAFW51bWJlck9mVHJhaWxpbmdaZXJvcwAJcGFy" +
- "c2VMb25nABFwYXJzZVVuc2lnbmVkTG9uZwARcmVtYWluZGVyVW5zaWduZWQAB3JldmVyc2UADHJl" +
- "dmVyc2VCeXRlcwAKcm90YXRlTGVmdAALcm90YXRlUmlnaHQAEHNlcmlhbFZlcnNpb25VSUQACnNo" +
- "b3J0VmFsdWUABnNpZ251bQAKc3RyaW5nU2l6ZQADc3VtAA50b0JpbmFyeVN0cmluZwALdG9IZXhT" +
- "dHJpbmcADXRvT2N0YWxTdHJpbmcACHRvU3RyaW5nABR0b1Vuc2lnbmVkQmlnSW50ZWdlcgAQdG9V" +
- "bnNpZ25lZFN0cmluZwARdG9VbnNpZ25lZFN0cmluZzAABXZhbHVlAAd2YWx1ZU9mAAUABw4AkAEB" +
- "AAcOPC0AlQEBAAcOWgAiAQAHDgDNAQIAAAcOANEBAgAABw4AiwEBAAcOANUBAgAABw4AXQUAAAAA" +
- "AAcOAGkDAAAABw4AvgEBAAcOAMIBAgAABw4AxgECAAAHDgC2AQEABw4ADgEABw4AEwEABw4A5AEC" +
- "AAAHDgDnAQIAAAcOABgBAAcOAB0BAAcOAHUBAAcOAHECAAAHDgB9AQAHDgB5AgAABw4A2QECAAAH" +
- "DgAxAQAHDgA7AQAHDgAnAgAABw4ALAIAAAcOADYBAAcOAG0BAAcOAOABAgAABw4AVQEABw4ATQEA" +
- "Bw4AUQEABw4AYQEABw4AQwIAAAcOAEoBAAcOAGUBAAcOAEYCAAAHDgBZAgAABw4AhwEBAAcOAIQB" +
- "AQAHDgCBAQIAAAcOAJoBAAcOAMkBAQAHDgDIAQEABw4ArgEABw4AugEBAAcOAKoBAAcOALIBAAcO" +
- "AKIBAAcOAKYBAAcOAJ4BAAcOAD8ABw4AAgUBYxwFFyMXHxcAFyIXAwIFAWMcBBcdFwAXIhcDAgYB" +
- "YxwBGAwEBAgGAAYABEAGASwLABkBGQEZARkBGQEaBhIBiIAEsAwBgYAExAwBgYAE4AwBCYwNAgmg" +
- "DQMJxA0BCegNAQmMDgQIsA4BCNQOAQn4DgEJnA8BCcAPAgnkDwEJiBADCaAQAQm8EAEJ4BABCYQR" +
- "AQmcEQEJuBEBCdwRAQmAEgEJpBIBCcgSAQnsEgEJgBMBCZgTAQmsEwIJxBMBCNgTAQn8EwEJlBQB" +
- "CbgUAQncFAIJgBUBCaQVAQrIFQEJ7BUBCZAWAQi0FgEJ2BYBCfQWAQmYFwUBvBcCAeAXAcEghBgE" +
- "AaQYAQHIGAEB7BgGAZAZAwG0GQEB2BkPAfAZBwGUGgAAEQAAAAAAAAABAAAAAAAAAAEAAABlAAAA" +
- "cAAAAAIAAAAVAAAABAIAAAMAAAAgAAAAWAIAAAQAAAAHAAAA2AMAAAUAAAA9AAAAEAQAAAYAAAAB" +
- "AAAA+AUAAAMQAAADAAAAGAYAAAEgAAA3AAAAMAYAAAYgAAABAAAAVA0AAAEQAAANAAAArA0AAAIg" +
- "AABlAAAAHg4AAAMgAAA3AAAArBIAAAQgAAADAAAAIhQAAAUgAAABAAAASBQAAAAgAAABAAAAURQA" +
- "AAAQAAABAAAASBUAAA==");
+ "ZGV4CjAzNQCa2U8HVIS89OqwQULzY+zxDsonBc8PEnrEFQAAcAAAAHhWNBIAAAAAAAAAAPQUAABm" +
+ "AAAAcAAAABYAAAAIAgAAIQAAAGACAAAHAAAA7AMAAD4AAAAkBAAAAQAAABQGAACQDwAANAYAAF4O" +
+ "AABoDgAAcA4AAHQOAAB3DgAAfg4AAIEOAACEDgAAhw4AAIsOAACTDgAAmA4AAJwOAACfDgAAow4A" +
+ "AKgOAACtDgAAsQ4AALYOAAC9DgAAwA4AAMQOAADIDgAAzQ4AANEOAADWDgAA2w4AAOAOAAD/DgAA" +
+ "Gw8AADUPAABIDwAAWw8AAHMPAACLDwAAng8AALAPAADEDwAA5w8AAPsPAAAPEAAAKhAAAEIQAABN" +
+ "EAAAWBAAAGMQAAB7EAAAnxAAAKIQAACoEAAArhAAALEQAAC1EAAAuxAAAL8QAADCEAAAxhAAAMoQ" +
+ "AADSEAAA3BAAAOcQAADwEAAA+xAAAAwRAAAUEQAAJBEAADERAAA5EQAARREAAFkRAABjEQAAbBEA" +
+ "AHYRAACFEQAAjxEAAJoRAACoEQAArREAALIRAADIEQAA3xEAAOoRAAD9EQAAEBIAABkSAAAnEgAA" +
+ "MxIAAEASAABSEgAAXhIAAGYSAAByEgAAdxIAAIcSAACUEgAAoxIAAK0SAADDEgAA1RIAAOgSAADv" +
+ "EgAA+BIAAAMAAAAFAAAABgAAAAcAAAAMAAAAGwAAABwAAAAdAAAAHgAAACAAAAAiAAAAIwAAACQA" +
+ "AAAlAAAAJgAAACcAAAAoAAAAKQAAAC8AAAAyAAAANgAAADgAAAADAAAAAAAAAAAAAAAFAAAAAQAA" +
+ "AAAAAAAGAAAAAgAAAAAAAAAHAAAAAwAAAAAAAAAIAAAAAwAAAOgNAAAJAAAAAwAAAPANAAAKAAAA" +
+ "AwAAAAAOAAALAAAAAwAAAAgOAAALAAAAAwAAABAOAAAMAAAABAAAAAAAAAANAAAABAAAAOgNAAAO" +
+ "AAAABAAAABgOAAAPAAAABAAAAAAOAAASAAAABAAAACAOAAAQAAAABAAAACwOAAARAAAABAAAADQO" +
+ "AAAVAAAACwAAAOgNAAAXAAAACwAAACwOAAAYAAAACwAAADQOAAAZAAAACwAAADwOAAAaAAAACwAA" +
+ "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" +
+ "AgAADgBwAQAOAF4BAA4AWAEADgBbAQAOAGcBAA4ATwIAAA4AVQEADgBqAQAOAFICAAAOAGECAAAO" +
+ "ACEBAA4AhQEBAA4AggECAAAOAJABAA4AtAEBAA4AEgEADgCfAQAOAKgBAQAOAJwBAA4AogEADgCW" +
+ "AQAOAJkBAA4AkwEADgBMAA4AAQAAAAkAAAABAAAABAAAAAUAAAAEAAMAFQADAAMAAAACAAAABAAE" +
+ "AAEAAAALAAAAAQAAAA4AAAACAAAABAADAAQAAAAHAAMAAwADAAEAAAAPAAAAAgAAAA8AAwACAAAA" +
+ "DwAEAAIAAAAPAAsAAQAAAAEAAAADAAAABAADABUACDxjbGluaXQ+AAY8aW5pdD4AAj47AAFCAAVC" +
+ "WVRFUwABRAABRgABSQACSUoABklKSUxJSQADSUpKAAJJTAABSgACSkoAA0pKSQADSkpKAAJKTAAD" +
+ "SkxJAAVKTElJSQABTAACTEQAAkxKAANMSkkAAkxMAANMTEkAA0xMSgADTExMAB1MZGFsdmlrL2Fu" +
+ "bm90YXRpb24vU2lnbmF0dXJlOwAaTGRhbHZpay9hbm5vdGF0aW9uL1Rocm93czsAGExqYXZhL2xh" +
+ "bmcvQ2hhclNlcXVlbmNlOwARTGphdmEvbGFuZy9DbGFzczsAEUxqYXZhL2xhbmcvQ2xhc3M8ABZM" +
+ "amF2YS9sYW5nL0NvbXBhcmFibGU7ABZMamF2YS9sYW5nL0NvbXBhcmFibGU8ABFMamF2YS9sYW5n" +
+ "L0Vycm9yOwAQTGphdmEvbGFuZy9Mb25nOwASTGphdmEvbGFuZy9OdW1iZXI7ACFMamF2YS9sYW5n" +
+ "L051bWJlckZvcm1hdEV4Y2VwdGlvbjsAEkxqYXZhL2xhbmcvT2JqZWN0OwASTGphdmEvbGFuZy9T" +
+ "dHJpbmc7ABlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7ABZMamF2YS9tYXRoL0JpZ0ludGVnZXI7" +
+ "AAlMb25nLmphdmEACU1BWF9WQUxVRQAJTUlOX1ZBTFVFABZNZXRob2QgcmVkZWZpbmVkIGF3YXkh" +
+ "ACJSZWRlZmluZWQgTG9uZyEgdmFsdWUgKGFzIGRvdWJsZSk9AAFTAARTSVpFAARUWVBFAAFWAAJW" +
+ "SgAEVkpJTAACVkwAAVoAAlpMAAJbQwAGYXBwZW5kAAhiaXRDb3VudAAJYnl0ZVZhbHVlAAdjb21w" +
+ "YXJlAAljb21wYXJlVG8AD2NvbXBhcmVVbnNpZ25lZAAGZGVjb2RlAA5kaXZpZGVVbnNpZ25lZAAL" +
+ "ZG91YmxlVmFsdWUABmVxdWFscwAKZmxvYXRWYWx1ZQASZm9ybWF0VW5zaWduZWRMb25nAAhnZXRD" +
+ "aGFycwAHZ2V0TG9uZwAIaGFzaENvZGUADWhpZ2hlc3RPbmVCaXQACGludFZhbHVlAAlsb25nVmFs" +
+ "dWUADGxvd2VzdE9uZUJpdAADbWF4AANtaW4AFG51bWJlck9mTGVhZGluZ1plcm9zABVudW1iZXJP" +
+ "ZlRyYWlsaW5nWmVyb3MACXBhcnNlTG9uZwARcGFyc2VVbnNpZ25lZExvbmcAEXJlbWFpbmRlclVu" +
+ "c2lnbmVkAAdyZXZlcnNlAAxyZXZlcnNlQnl0ZXMACnJvdGF0ZUxlZnQAC3JvdGF0ZVJpZ2h0ABBz" +
+ "ZXJpYWxWZXJzaW9uVUlEAApzaG9ydFZhbHVlAAZzaWdudW0ACnN0cmluZ1NpemUAA3N1bQAOdG9C" +
+ "aW5hcnlTdHJpbmcAC3RvSGV4U3RyaW5nAA10b09jdGFsU3RyaW5nAAh0b1N0cmluZwAUdG9VbnNp" +
+ "Z25lZEJpZ0ludGVnZXIAEHRvVW5zaWduZWRTdHJpbmcAEXRvVW5zaWduZWRTdHJpbmcwAAV2YWx1" +
+ "ZQAHdmFsdWVPZgBZfn5EOHsiY29tcGlsYXRpb24tbW9kZSI6InJlbGVhc2UiLCJoYXMtY2hlY2tz" +
+ "dW1zIjpmYWxzZSwibWluLWFwaSI6MSwidmVyc2lvbiI6IjIuMS43LXIxIn0AAgYBYxwBGA0CBQFj" +
+ "HAMXHxcjFwICBQFjHAQXJBchFyMXAgYBLQsAGQEZARkBGQEZARoGEgGIgATgGAGBgASgGQGBgAT0" +
+ "GAEJtA0CCcgNAwmoDgEJsBABCegUBAjIDgEIvBkBCdAQAQmQEQEJ8BACCYgPAQmIFQMJuBUBCdAV" +
+ "AQnwFQEJyA8BCeAPAQmQFgEJsBYBCdAWAQnwFgEJkBcBCbAXAQnQFwEJ5BcBCfwXAQmQGAIJ/A8B" +
+ "CJAQAQmsGAEJjBIBCawSAQnMEgIJqBMBCcgTAQrIFAEJ6BMBCYgUAQioFAEJ8BEBCbARAQnQEQUB" +
+ "1AwCAegNAcEgiA4EAfQMAQG0DAEBlA0GAegOAwGoDwEBoBUQAcAYBwHsEgQECAYABgAEQAAAAAAA" +
+ "AQAAAFMTAAABAAAAWxMAAAEAAABnEwAAjBQAAAEAAAAJAAAAAAAAAAQAAACEFAAAAwAAAHwUAAAK" +
+ "AAAAfBQAAB4AAAB8FAAAHwAAAHwUAAAgAAAAfBQAACEAAAB8FAAAIgAAAHwUAAA3AAAAfBQAADgA" +
+ "AAB8FAAAEQAAAAAAAAABAAAAAAAAAAEAAABmAAAAcAAAAAIAAAAWAAAACAIAAAMAAAAhAAAAYAIA" +
+ "AAQAAAAHAAAA7AMAAAUAAAA+AAAAJAQAAAYAAAABAAAAFAYAAAEgAAA4AAAANAYAAAMgAAAsAAAA" +
+ "3AwAAAEQAAAOAAAA4A0AAAIgAABmAAAAXg4AAAQgAAADAAAAUxMAAAAgAAABAAAAdRMAAAUgAAAB" +
+ "AAAAbhQAAAMQAAAEAAAAeBQAAAYgAAABAAAAlBQAAAAQAAABAAAA9BQAAA=="
+ );
static class FuncCmp implements LongPredicate {
final String name;