diff --git a/src/compiler/codegen/Ralloc.h b/src/compiler/codegen/Ralloc.h
index b1e14ec1..ec72039 100644
--- a/src/compiler/codegen/Ralloc.h
+++ b/src/compiler/codegen/Ralloc.h
@@ -90,9 +90,6 @@
 extern RegLocation oatUpdateLocWide(CompilationUnit* cUnit,
                                             RegLocation loc);
 
-/* Clobber all of the temps that might be used by a handler. */
-extern void oatClobberHandlerRegs(CompilationUnit* cUnit);
-
 extern void oatMarkLive(CompilationUnit* cUnit, int reg, int sReg);
 
 extern void oatMarkTemp(CompilationUnit* cUnit, int reg);
diff --git a/src/compiler/codegen/arm/ArmRallocUtil.cc b/src/compiler/codegen/arm/ArmRallocUtil.cc
index b2217d0..6223512 100644
--- a/src/compiler/codegen/arm/ArmRallocUtil.cc
+++ b/src/compiler/codegen/arm/ArmRallocUtil.cc
@@ -303,16 +303,6 @@
     oatClobber(cUnit, r14lr);
 }
 
-/* Clobber all of the temps that might be used by a handler. */
-extern void oatClobberHandlerRegs(CompilationUnit* cUnit)
-{
-    //TUNING: reduce the set of regs used by handlers.  Only a few need lots.
-    oatClobberCallRegs(cUnit);
-    oatClobber(cUnit, r7);
-    oatClobber(cUnit, r8);
-    oatClobber(cUnit, r10);
-}
-
 extern RegLocation oatGetReturnWide(CompilationUnit* cUnit)
 {
     RegLocation res = LOC_C_RETURN_WIDE;
diff --git a/src/compiler/codegen/arm/MethodCodegenDriver.cc b/src/compiler/codegen/arm/MethodCodegenDriver.cc
index bd50742..ea02721 100644
--- a/src/compiler/codegen/arm/MethodCodegenDriver.cc
+++ b/src/compiler/codegen/arm/MethodCodegenDriver.cc
@@ -139,7 +139,26 @@
 
 static void genSput(CompilationUnit* cUnit, MIR* mir, RegLocation rlSrc)
 {
-    UNIMPLEMENTED(FATAL) << "Must update for new world";
+    bool slow_path = true;
+    bool isObject = ((mir->dalvikInsn.opcode == OP_SPUT_OBJECT) ||
+                     (mir->dalvikInsn.opcode == OP_SPUT_OBJECT_VOLATILE));
+    UNIMPLEMENTED(WARNING) << "Implement sput fast path";
+    int funcOffset;
+    if (slow_path) {
+        if (isObject) {
+            funcOffset = OFFSETOF_MEMBER(Thread, pSetObjStatic);
+        } else {
+            funcOffset = OFFSETOF_MEMBER(Thread, pSet32Static);
+        }
+        oatFlushAllRegs(cUnit);
+        loadWordDisp(cUnit, rSELF, funcOffset, rLR);
+        loadConstant(cUnit, r0, mir->dalvikInsn.vB);
+        loadCurrMethodDirect(cUnit, r1);
+        loadValueDirect(cUnit, rlSrc, r2);
+        opReg(cUnit, kOpBlx, rLR);
+        oatClobberCallRegs(cUnit);
+    } else {
+        UNIMPLEMENTED(FATAL) << "Must update for new world";
 #if 0
     int valOffset = OFFSETOF_MEMBER(StaticField, value);
     int tReg = oatAllocTemp(cUnit);
@@ -188,11 +207,25 @@
         oatFreeTemp(cUnit, objHead);
     }
 #endif
+    }
 }
 
 static void genSputWide(CompilationUnit* cUnit, MIR* mir, RegLocation rlSrc)
 {
-    UNIMPLEMENTED(FATAL) << "Must update for new world";
+    bool slow_path = true;
+    UNIMPLEMENTED(WARNING) << "Implement sput-wide fast path";
+    int funcOffset;
+    if (slow_path) {
+        funcOffset = OFFSETOF_MEMBER(Thread, pSet64Static);
+        oatFlushAllRegs(cUnit);
+        loadWordDisp(cUnit, rSELF, funcOffset, rLR);
+        loadConstant(cUnit, r0, mir->dalvikInsn.vB);
+        loadCurrMethodDirect(cUnit, r1);
+        loadValueDirectWideFixed(cUnit, rlSrc, r2, r3);
+        opReg(cUnit, kOpBlx, rLR);
+        oatClobberCallRegs(cUnit);
+    } else {
+        UNIMPLEMENTED(FATAL) << "Must update for new world";
 #if 0
     int tReg = oatAllocTemp(cUnit);
     int valOffset = OFFSETOF_MEMBER(StaticField, value);
@@ -212,6 +245,7 @@
 
     storePair(cUnit, tReg, rlSrc.lowReg, rlSrc.highReg);
 #endif
+    }
 }
 
 
@@ -219,7 +253,20 @@
 static void genSgetWide(CompilationUnit* cUnit, MIR* mir,
                  RegLocation rlResult, RegLocation rlDest)
 {
-    UNIMPLEMENTED(FATAL) << "Must update for new world";
+    bool slow_path = true;
+    UNIMPLEMENTED(WARNING) << "Implement sget-wide fast path";
+    int funcOffset;
+    if (slow_path) {
+        funcOffset = OFFSETOF_MEMBER(Thread, pGet64Static);
+        oatFlushAllRegs(cUnit);
+        loadWordDisp(cUnit, rSELF, funcOffset, rLR);
+        loadConstant(cUnit, r0, mir->dalvikInsn.vB);
+        loadCurrMethodDirect(cUnit, r1);
+        opReg(cUnit, kOpBlx, rLR);
+        RegLocation rlResult = oatGetReturnWide(cUnit);
+        storeValueWide(cUnit, rlDest, rlResult);
+    } else {
+        UNIMPLEMENTED(FATAL) << "Must update for new world";
 #if 0
     int valOffset = OFFSETOF_MEMBER(StaticField, value);
     const Method *method = (mir->OptimizationFlags & MIR_CALLEE) ?
@@ -241,12 +288,32 @@
 
     storeValueWide(cUnit, rlDest, rlResult);
 #endif
+    }
 }
 
 static void genSget(CompilationUnit* cUnit, MIR* mir,
              RegLocation rlResult, RegLocation rlDest)
 {
-    UNIMPLEMENTED(FATAL) << "Must update for new world";
+    bool slow_path = true;
+    bool isObject = ((mir->dalvikInsn.opcode == OP_SGET_OBJECT) ||
+                     (mir->dalvikInsn.opcode == OP_SGET_OBJECT_VOLATILE));
+    UNIMPLEMENTED(WARNING) << "Implement sget fast path";
+    int funcOffset;
+    if (slow_path) {
+        if (isObject) {
+            funcOffset = OFFSETOF_MEMBER(Thread, pGetObjStatic);
+        } else {
+            funcOffset = OFFSETOF_MEMBER(Thread, pGet32Static);
+        }
+        oatFlushAllRegs(cUnit);
+        loadWordDisp(cUnit, rSELF, funcOffset, rLR);
+        loadConstant(cUnit, r0, mir->dalvikInsn.vB);
+        loadCurrMethodDirect(cUnit, r1);
+        opReg(cUnit, kOpBlx, rLR);
+        RegLocation rlResult = oatGetReturn(cUnit);
+        storeValue(cUnit, rlDest, rlResult);
+    } else {
+        UNIMPLEMENTED(FATAL) << "Must update for new world";
 #if 0
     int valOffset = OFFSETOF_MEMBER(StaticField, value);
     int tReg = oatAllocTemp(cUnit);
@@ -288,6 +355,7 @@
 
     storeValue(cUnit, rlDest, rlResult);
 #endif
+    }
 }
 
 typedef int (*NextCallInsn)(CompilationUnit*, MIR*, DecodedInstruction*, int);
diff --git a/src/compiler_test.cc b/src/compiler_test.cc
index 694a85a..ca357f2 100644
--- a/src/compiler_test.cc
+++ b/src/compiler_test.cc
@@ -114,6 +114,12 @@
                         10);
 }
 
+TEST_F(CompilerTest, StaticFieldTest) {
+  CompileDex(kIntMathDex, "kIntMathDex");
+  AssertStaticIntMethod("IntMath", "staticFieldTest", "(I)I", 1404,
+                        404);
+}
+
 TEST_F(CompilerTest, UnopTest) {
   CompileDex(kIntMathDex, "kIntMathDex");
   AssertStaticIntMethod("IntMath", "unopTest", "(I)I", 37,
diff --git a/src/compiler_test.h b/src/compiler_test.h
index 528a466..9df88a0 100644
--- a/src/compiler_test.h
+++ b/src/compiler_test.h
@@ -21,6 +21,17 @@
 
 //class IntMath {
 //
+//    public static boolean mBoolean1, mBoolean2;
+//    public static byte mByte1, mByte2;
+//    public static char mChar1, mChar2;
+//    public static short mShort1, mShort2;
+//    public static int mInt1, mInt2;
+//    public static float mFloat1, mFloat2;
+//    public static long mLong1, mLong2;
+//    public static double mDouble1, mDouble2;
+//    public static volatile long mVolatileLong1, mVolatileLong2;
+//
+//
 //    private int foo_;
 //
 //    public IntMath(int stuff) {
@@ -31,6 +42,48 @@
 //        foo_ = 123;
 //    }
 //
+//    static int staticFieldTest(int x) {
+//        mBoolean1 = true;
+//        mBoolean2 = false;
+//        mByte1 = 127;
+//        mByte2 = -128;
+//        mChar1 = 32767;
+//        mChar2 = 65535;
+//        mShort1 = 32767;
+//        mShort2 = -32768;
+//        mInt1 = 65537;
+//        mInt2 = -65537;
+//        mFloat1 = 3.1415f;
+//        mFloat2 = -1.0f / 0.0f;                // -inf
+//        mLong1 = 1234605616436508552L;     // 0x1122334455667788
+//        mLong2 = -1234605616436508552L;
+//        mDouble1 = 3.1415926535;
+//        mDouble2 = 1.0 / 0.0;               // +inf
+//        mVolatileLong1 = mLong1 - 1;
+//        mVolatileLong2 = mLong2 + 1;
+//
+//        if (!mBoolean1) { return 10; }
+//        if (mBoolean2) { return 11; }
+//        if (mByte1 != 127) { return 12; }
+//        if (mByte2 != -128) { return 13; }
+//        if (mChar1 != 32767) { return 14; }
+//        if (mChar2 != 65535) { return 15; }
+//        if (mShort1 != 32767) { return 16; }
+//        if (mShort2 != -32768) { return 17; }
+//        if (mInt1 != 65537) { return 18; }
+//        if (mInt2 != -65537) { return 19; }
+//        if (!(mFloat1 > 3.141f && mFloat1 < 3.142f)) { return 20; }
+//        if (mFloat2 >= mFloat1) { return 21; }
+//        if (mLong1 != 1234605616436508552L) { return 22; }
+//        if (mLong2 != -1234605616436508552L) { return 23; }
+//        if (!(mDouble1 > 3.141592653 && mDouble1 < 3.141592654)) { return 24; }
+//        if (mDouble2 <= mDouble1) { return 25; }
+//        if (mVolatileLong1 != 1234605616436508551L) { return 26; }
+//        if (mVolatileLong2 != -1234605616436508551L) { return 27; }
+//
+//        return 1000 + x;
+//    }
+//
 //    /*
 //     * Try to cause some unary operations.
 //     */
@@ -760,199 +813,229 @@
 //        } else {
 //            System.out.printf("testGetPut FAILED: %d\n", res);
 //        }
+//
+//        res = staticFieldTest(404);
+//        if (res == 1404) {
+//            System.out.printf("staticFieldTest PASSED\n");
+//        } else {
+//            System.out.printf("staticFieldTest FAILED: %d\n", res);
+//        }
 //    }
 //}
 static const char kIntMathDex[] =
-"ZGV4CjAzNQC7e4Y087eJCugxNYogYY46TkuaUfNBl5W8KgAAcAAAAHhWNBIAAAAAAAAAABwqAACp"
-"AAAAcAAAABMAAAAUAwAADwAAAGADAAACAAAAFAQAAB4AAAAkBAAAAgAAABQFAABoJQAAVAUAAKYd"
-"AACuHQAAsR0AALQdAAC3HQAAuh0AAL0dAADEHQAAyx0AAM8dAADUHQAA2x0AAPkdAAD+HQAABR4A"
-"ABMeAAAWHgAAGx4AAB8eAAAqHgAALx4AAEYeAABbHgAAbx4AAIMeAACXHgAApB4AAKceAACqHgAA"
-"rh4AALIeAAC1HgAAuR4AAL0eAADSHgAA5x4AAOoeAADuHgAA8h4AAPceAAD8HgAAAR8AAAYfAAAL"
-"HwAAEB8AABUfAAAaHwAAHx8AACQfAAAoHwAALR8AADIfAAA3HwAAPB8AAEEfAABGHwAASx8AAE8f"
-"AABTHwAAVx8AAFsfAABfHwAAYx8AAGcfAAByHwAAfB8AAIIfAACFHwAAiB8AAI8fAACWHwAAox8A"
-"ALwfAADRHwAA2x8AAPEfAAADIAAABiAAAAwgAAAPIAAAEiAAAB0gAAA0IAAARyAAAEwgAABUIAAA"
-"WiAAAF0gAABlIAAAaCAAAGsgAABvIAAAcyAAAIAgAACZIAAAriAAALwgAAC/IAAAyiAAANQgAADi"
-"IAAA/CAAABIhAAAhIQAAPCEAAFMhAABZIQAAYSEAAGchAABxIQAAhyEAAJkhAAChIQAAqiEAALEh"
-"AAC0IQAAuSEAAMEhAADGIQAAzCEAANMhAADcIQAA5CEAAOkhAADxIQAA+iEAAP0hAAAFIgAAESIA"
-"ACkiAAA9IgAASSIAAGEiAAB1IgAAgSIAAIgiAACUIgAArCIAAMAiAADTIgAA8iIAAA0jAAAfIwAA"
-"PSMAAFcjAABvIwAAgyMAAJAjAACgIwAAvCMAANQjAADlIwAAAiQAABskAAAhJAAAKyQAAEEkAABT"
-"JAAAZiQAAIUkAACgJAAApyQAALAkAAC9JAAA1iQAAOskAADuJAAA8SQAAPQkAAABAAAAAgAAAAMA"
-"AAAEAAAABQAAAA8AAAASAAAAFAAAABUAAAAWAAAAFwAAABgAAAAaAAAAGwAAAB4AAAAfAAAAIAAA"
-"ACEAAAAiAAAABQAAAAQAAAAAAAAABgAAAAQAAAAMHQAABwAAAAQAAAAYHQAACAAAAAQAAAAkHQAA"
-"CQAAAAQAAAAsHQAACgAAAAQAAAA0HQAACwAAAAQAAABAHQAADAAAAAQAAAB8HQAADQAAAAQAAACE"
-"HQAAEAAAAAUAAACQHQAAEwAAAAcAAACYHQAAEQAAAAgAAAAkHQAAGwAAAA0AAAAAAAAAHAAAAA0A"
-"AAAkHQAAHQAAAA0AAACgHQAABgAEAFUAAAALAAcAdQAAAAYADAAAAAAABgANAAAAAAAGAAAARgAA"
+"ZGV4CjAzNQDNfScpnt+aCE7GCvHI7Jifma1Cw1Zt40LcLwAAcAAAAHhWNBIAAAAAAAAAADwvAAC+"
+"AAAAcAAAABMAAABoAwAADwAAALQDAAAUAAAAaAQAAB8AAAAIBQAAAgAAAAAGAACcKQAAQAYAAEYh"
+"AABOIQAAUSEAAFQhAABXIQAAWiEAAF0hAABkIQAAayEAAG8hAAB0IQAAeyEAAJkhAACeIQAApSEA"
+"ALMhAAC2IQAAuyEAAL8hAADKIQAAzyEAAOYhAAD7IQAADyIAACMiAAA3IgAARCIAAEciAABKIgAA"
+"TiIAAFIiAABVIgAAWSIAAF0iAAByIgAAhyIAAIoiAACOIgAAkiIAAJciAACcIgAAoSIAAKYiAACr"
+"IgAAsCIAALUiAAC6IgAAvyIAAMQiAADIIgAAzSIAANIiAADXIgAA3CIAAOEiAADmIgAA6yIAAO8i"
+"AADzIgAA9yIAAPsiAAD/IgAAAyMAAAcjAAASIwAAHCMAACIjAAAlIwAAKCMAAC8jAAA2IwAAQyMA"
+"AFwjAABxIwAAeyMAAJEjAACjIwAApiMAAKwjAACvIwAAsiMAAL0jAADUIwAA5yMAAOwjAAD0IwAA"
+"+iMAAP0jAAAFJAAACCQAAAskAAAPJAAAEyQAACAkAAA5JAAATiQAAFwkAABfJAAAaiQAAHQkAACC"
+"JAAAnCQAALIkAADBJAAA3CQAAPMkAAD5JAAABCUAAA8lAAAXJQAAHyUAACclAAAvJQAANyUAAEEl"
+"AABLJQAAVCUAAF0lAABkJQAAayUAAHMlAAB7JQAAhCUAAI0lAACdJQAArSUAALMlAAC9JQAA0yUA"
+"AOUlAADtJQAA9iUAAP0lAAAAJgAABSYAAA0mAAASJgAAGCYAAB8mAAAoJgAAMCYAADUmAAA9JgAA"
+"RiYAAEkmAABRJgAAXSYAAHUmAACJJgAAlSYAAK0mAADBJgAAzSYAAN4mAAD7JgAAFCcAABsnAAAn"
+"JwAAPycAAFMnAABmJwAAhScAAKAnAACyJwAA0CcAAOonAAACKAAAFigAACMoAAAzKAAATygAAGco"
+"AAB4KAAAlSgAAK4oAAC0KAAAvigAANQoAADmKAAA+SgAABgpAAAzKQAAOikAAEMpAABQKQAAaSkA"
+"AH4pAACBKQAAhCkAAIcpAAABAAAAAgAAAAMAAAAEAAAABQAAAA8AAAASAAAAFAAAABUAAAAWAAAA"
+"FwAAABgAAAAaAAAAGwAAAB4AAAAfAAAAIAAAACEAAAAiAAAABQAAAAQAAAAAAAAABgAAAAQAAACs"
+"IAAABwAAAAQAAAC4IAAACAAAAAQAAADEIAAACQAAAAQAAADMIAAACgAAAAQAAADUIAAACwAAAAQA"
+"AADgIAAADAAAAAQAAAAcIQAADQAAAAQAAAAkIQAAEAAAAAUAAAAwIQAAEwAAAAcAAAA4IQAAEQAA"
+"AAgAAADEIAAAGwAAAA0AAAAAAAAAHAAAAA0AAADEIAAAHQAAAA0AAABAIQAABgAEAFUAAAAGAA4A"
+"agAAAAYADgBrAAAABgAAAGwAAAAGAAAAbQAAAAYAAQBvAAAABgABAHAAAAAGAAIAcQAAAAYAAgBy"
+"AAAABgADAHMAAAAGAAMAdAAAAAYABAB1AAAABgAEAHYAAAAGAAUAdwAAAAYABQB4AAAABgAMAHkA"
+"AAAGAAwAegAAAAYABQB7AAAABgAFAHwAAAALAAcAhwAAAAYADAAAAAAABgANAAAAAAAGAAAARgAA"
 "AAYAAABJAAAABgADAFAAAAAGAAAAVwAAAAYABABcAAAABgAEAF8AAAAGAAMAYQAAAAYAAwBiAAAA"
-"BgAHAGMAAAAGAAkAZgAAAAYADgBrAAAABgAGAGwAAAAGAA0AfgAAAAYAAAB/AAAABgAAAIIAAAAG"
-"AAMAhQAAAAYAAwCHAAAABgABAIoAAAAGAAIAjQAAAAYAAwCSAAAABgAFAJMAAAAGAAgAlgAAAAYA"
-"AwCaAAAABgAAAJ0AAAAGAAMAogAAAAcACgB5AAAACAALAKEAAAAJAAwAAAAAAAkAAAABAAAA////"
-"/wAAAAAZAAAAAAAAAJopAAAAAAAABgAAAAAAAAAJAAAAAAAAAA4AAAAAAAAApCkAAAAAAAABAAEA"
-"AAAAAPokAAABAAAADgAAAAIAAQABAAAA/yQAAAgAAABwEB0AAQATAHsAWRAAAA4AAgACAAEAAAAG"
-"JQAABgAAAHAQHQAAAFkBAAAOAAQAAAAAAAAADyUAABAAAAATAOkAFAH//wAAkQIAARQD6gD//zIy"
-"BAASEw8DEgMo/gUAAAAAAAAAJCUAADIAAAATAOYdgQEWA+YdMQMBAzgDBAASEw8DEwAa4oEBFgMa"
-"4jEDAQM4AwQAEiMo9RgB9QB+UgEAAACEEBQD9QB+UjIwBAASMyjoGAEL/4Gt/v///4QQFAML/4Gt"
-"MjAEABJDKNsSAyjZAwABAAEAAABCJQAAFQAAABIQOQIEABIADwAyAv//2AAC/3EQBAAAAAoA2AEC"
-"/nEQBAABAAoBsBAo8AAADgACAAAAAABNJQAAsAAAABI3EiYSCRJYEhUTCgoAI6QPAJAKDA1LCgQJ"
-"kQoMDUsKBAWSCgwNSwoEBpIKDAxLCgQHEkqTCwwNSwsECnvalAoMCksKBAgSapULDA1LCwQKEnqW"
-"CwwNSwsEChMKCACXCwwNSwsEChMKCQCQCwwNsduy27PbtNu127bbt9uwy0sLBAoVAACARAoECHuh"
-"EhIVCgCAsxqTAwoBMgMDAA8FRAoECRQLbREBADK6BAABZSj3RAoEBRQLcxEBADK6BAABdSjuRAYE"
-"BhQKsMv8/zKmBAASRSjlRAYEBxQHABEQJDJ2BAABhSjcEkZEBgQGEwfbpDJ2BAASZSjTRAYECDJW"
-"BAASdSjNEmVEBQQFFAZwEQEAMmUFABMFCAAowhJ1RAUEBRLWMmUFABMFCQAouRMFCABEBQQFFAaN"
-"7v7/MmUFABMFCgAorRMFCQBEBQQFFAZwEQEAMmUFABMFCwAooQGVKJ8KAAIAAAAAAIolAAA/AAAA"
-"EkQSMxIiEhESBSNADwCYBggJSwYABZkGCAlLBgABmgYICUsGAAKYBggJuZa6lriWSwYAA0QGAAUU"
-"BwABqgAydgMADwFEAQABFAaqAP//MmEEAAEhKPdEAQACFAKqAP8AMiEEAAExKO5EAQADFAIAqgAA"
-"MiEEAAFBKOUBUSjjAAAJAAEAAAAAAKElAAB1AAAAEkQSMxIiEhESBRMGCAAjYA8A0IboA0sGAAXR"
-"hugDSwYAAdKG6ANLBgAC04boA0sGAAPUhugDSwYABBJW1YfoA0sHAAYSZtaHGPxLBwAGEnbXhxj8"
-"SwcABkQGAAUUB7kzAQAydgMADwFEAQABFAYX1P7/MmEEAAEhKPdEAQACFAJoyKIEMiEEAAExKO5E"
-"AQADEwJNADIhBAABQSjmRAEABBMCCQMyIQQAElEo3hJRRAEAARMCwAMyIQQAEmEo1RJhRAEAARMC"
-"2f8yIQQAEnEozBJxRAEAARQCydP+/zIhBQATAQgAKMEBUSi/AAALAAEAAAAAAMElAAB8AAAAEkYS"
-"NRIkEhMSBxMICAAjgg8A2AgKCksIAgfZCAoKSwgCA9oICgpLCAIE2wgKCksIAgXcCAoKSwgCBhJY"
-"3QkKCksJAggSaN4JCvZLCQIIEnjfCQr2SwkCCBUAAIDbAQD/MgEDAA8DRAgCBxQJByf//zKYBAAB"
-"Qyj3RAMCAxQIDdkAADKDBAABUyjuRAMCBBQE4oX3/zJDBAABYyjlRAMCBRMETeoyQwQAElMo3UQD"
-"AgYStDJDBAASYyjWElNEAwIDEwQIADJDBAAScyjNEmNEAwIDEvQyQwUAEwMIACjEEnNEAwIDFAQL"
-"2QAAMkMFABMDCQAouQFzKLcRAAQAAAAAAOwlAADuAAAAEwkKACOYEAASCZsKDQ9MCggJEhmcCg0P"
-"TAoICRIpnQoND0wKCAkSOZ0KDQ1MCggJEkmeCg0PTAoICRJZffqfCg0KTAoICRJpoAoND0wKCAkS"
-"eaEKDQ9MCggJEwkIAKIKDQ9MCggJEwkJAJsKDQ+8+r36vvq/+sD6wfrC+rvaTAoICRkAAIASWUUJ"
-"CAl9khYEAQCbCQAEvEm+KZ4GCQIxCQYAOAkEABIZDwkSCUUJCAkYC/07U0wQAAAAMQkJCzgJBAAS"
-"KSjyEhlFCQgJGAsDPFNMEAAAADEJCQs4CQQAEjko5BIpRQkICRgLAEwGG8////8xCQkLOAkEABJJ"
-"KNYSOUUJCAkYCwAAEPavBimhMQkJCzgJBAASWSjIEklFCQgJGAurljmR+v///zEJCQs4CQQAEmko"
-"uhJZRQkICRYLAQAxCQkLOAkEABJ5KK8SaUUJCAkYCwA8U0wQAAAAMQkJCzgJBQATCQgAKKASeUUJ"
-"CAkWC/3/MQkJCzgJBQATCQkAKJQTCQgARQkICRgL/cOss+////8xCQkLOAkFABMJCgAohBMJCQBF"
-"CQgJGAsAPFNMEAAAADEJCQs4CQYAEwkLACkAdP8hiRMKCgAyqQYAEwkMACkAa/8SCSkAaP8NAAMA"
-"AAAAACwmAABbAAAAEkkSOBInEhYSBSOQEACjAQoMTAEABaQBCgxMAQAGpQEKDEwBAAejAQoMxMHF"
-"wcPBTAEACEUBAAUYAwAAAaoA/96WMQEBAzgBBQBFAQAFEAFFAQAGGAMA/96WqtX//zEBAQM4AQUA"
-"RQEABijyRQEABxgDAP/elqrVAAAxAQEDOAEFAEUBAAco5EUBAAgYAwAAAP/elv//MQEBAzgBBQBF"
-"AQAIKNYhATKRBQAWAQUAKNBFAQAFKM0AACcAAQAiAAAARiYAAA4DAAATASYAcRAYAAEACiUTASUA"
-"AgAlADMQrgFiAQEAGgKcABIDIzMRAG4wGwAhA3EADwAAAAolOSWxAWIBAQAaAoEAEgMjMxEAbjAb"
-"ACEDcQAQAAAACiU5JbQBYgEBABoChAASAyMzEQBuMBsAIQNxABkAAAAKJTkltwFiAQEAGgKfABID"
-"IzMRAG4wGwAhA3EAAwAAAAolOSW6AWIBAQAaAksAEgMjMxEAbjAbACEDcQACAAAACiU5Jb0BYgEB"
-"ABoCSAASAyMzEQBuMBsAIQMUAXARAQAS0nEgBgAhAAolOSW8AWIBAQAaAl4AEgMjMxEAbjAbACED"
-"GAEAPFNMEAAAABYD/f9xQAoAIUMKJTkluAFiAQEAGgJlABIDIzMRAG4wGwAhAxgBAaoA/96WqtUT"
-"AxAAcTALACEDCyMYAQAAAaoA/96WMQEjATkBrQFiAQEAGgJoABIDIzMRAG4wGwAhAxIRcRASAAEA"
-"CiUTAdIEAgAlADMQqwFiAQEAGgKJABIDIzMRAG4wGwAhAxKxEkISQxIEcUAWACFDCiUTAVcEAgAl"
-"ADMQpgFiAQEAGgKVABIDIzMRAG4wGwAhAxYB+/8YAwkAAAD/////FgUEABYHCAB3CBcAAQAKJRMB"
-"rggCACUAMxCaAWIBAQAaApgAEgMjMxEAbjAbACEDFQGgwBUCgEAVA4BAFQTAf3FAFAAhQwolEwEF"
-"DQIAJQAzEJEBYgEBABoCjwASAyMzEQBuMBsAIQMZARTAGQMQQBkFEEAZB/h/dwgTAAEACiUTAVwR"
-"AgAlADMQiAFiAQEAGgKMABIDIzMRAG4wGwAhAxMBCgBxEAQAAQAKJRMBNwACACUAMxCFAWIBAQAa"
-"AlIAEgMjMxEAbjAbACEDEgEWAgEAEiQWBQMAEkcWCAUAEmoSexkMIEAVDhBBGQ8kQBMRCwATEgwA"
-"ExMNABMUDgATFQ8AExbw/xMXAQATGBIAExkTABYaFAAWHBUAEx4WABMfFwATIBgAEyEZABMiGgB3"
-"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"
-"OwASTGphdmEvbGFuZy9TeXN0ZW07AAtPYmplY3QuamF2YQABUwABVgACVkkAAlZMAAFaAAJbSQAC"
-"W0oAE1tMamF2YS9sYW5nL09iamVjdDsAE1tMamF2YS9sYW5nL1N0cmluZzsAAWEAAmEwAAJhMQAD"
-"YTEwAANhMTEAA2ExMgADYTEzAANhMTQAA2ExNQADYTE2AANhMTcAA2ExOAADYTE5AAJhMgADYTIw"
-"AANhMjEAA2EyMgADYTIzAANhMjQAA2EyNQADYTI2AAJhMwACYTQAAmE1AAJhNgACYTcAAmE4AAJh"
-"OQAJYWxzb01pbnVzAAhhbHNvUGx1cwAEYXJncwABYgABYwAFY2hhcjEABWNoYXIyAAtjaGFyU3Vi"
-"VGVzdAAXY2hhclN1YlRlc3QgRkFJTEVEOiAlZAoAE2NoYXJTdWJUZXN0IFBBU1NFRAoACGNvbnZU"
-"ZXN0ABRjb252VGVzdCBGQUlMRUQ6ICVkCgAQY29udlRlc3QgUEFTU0VECgABZAAEZGlzdAABZQAB"
-"ZgAJZmlib25hY2NpABVmaWJvbmFjY2kgRkFJTEVEOiAlZAoAEWZpYm9uYWNjaSBQQVNTRUQKAANm"
-"b28ABmZvbzEyMwAEZm9vXwABZwAGZ2V0Rm9vAAFoAAFpAAJpMQACaTIAC2ludE9wZXJUZXN0ABdp"
-"bnRPcGVyVGVzdCBGQUlMRUQ6ICVkCgATaW50T3BlclRlc3QgUEFTU0VECgAMaW50U2hpZnRUZXN0"
-"AAFsAAlsaXQxNlRlc3QACGxpdDhUZXN0AAxsb25nT3BlclRlc3QAGGxvbmdPcGVyVGVzdCBGQUlM"
-"RUQ6ICVkCgAUbG9uZ09wZXJUZXN0IFBBU1NFRAoADWxvbmdTaGlmdFRlc3QAGWxvbmdTaGlmdFRl"
-"c3QgRkFJTEVEOiAlZAoAFWxvbmdTaGlmdFRlc3QgUEFTU0VECgAEbHJlcwAGbUJ5dGVzAARtYWlu"
-"AAhtYW55QXJncwAUbWFueUFyZ3MgRkFJTEVEOiAlZAoAEG1hbnlBcmdzIFBBU1NFRAoABm1pbklu"
-"dAAHbWluTG9uZwAFbWludXMAAW4AA25hbgAGbmVnT25lAANvdXQABHBsdXMABXBsdXMyAAdwbHVz"
-"T25lAAZwcmludGYAA3JlcwAGcmVzdWx0AAdyZXN1bHRzAAFzAAZzZXRGb28ACnNoaWZ0VGVzdDEA"
-"FnNoaWZ0VGVzdDEgRkFJTEVEOiAlZAoAEnNoaWZ0VGVzdDEgUEFTU0VECgAKc2hpZnRUZXN0MgAW"
-"c2hpZnRUZXN0MiBGQUlMRUQ6ICVkCgASc2hpZnRUZXN0MiBQQVNTRUQKAApzdGF0aWNDYWxsAAVz"
-"dHVmZgAKc3dpdGNoVGVzdAAWc3dpdGNoVGVzdCBGQUlMRUQ6ICVkCgASc3dpdGNoVGVzdCBQQVNT"
-"RUQKABF0ZXN0RG91YmxlQ29tcGFyZQAddGVzdERvdWJsZUNvbXBhcmUgRkFJTEVEOiAlZAoAGXRl"
-"c3REb3VibGVDb21wYXJlIFBBU1NFRAoAEHRlc3RGbG9hdENvbXBhcmUAHHRlc3RGbG9hdENvbXBh"
-"cmUgRkFJTEVEOiAlZAoAGHRlc3RGbG9hdENvbXBhcmUgUEFTU0VECgAWdGVzdEdldFB1dCBGQUlM"
-"RUQ6ICVkCgASdGVzdEdldFB1dCBQQVNTRUQKAAt0ZXN0SUdldFB1dAAOdGVzdEludENvbXBhcmUA"
-"GnRlc3RJbnRDb21wYXJlIEZBSUxFRDogJWQKABZ0ZXN0SW50Q29tcGFyZSBQQVNTRUQKAA90ZXN0"
-"TG9uZ0NvbXBhcmUAG3Rlc3RMb25nQ29tcGFyZSBGQUlMRUQ6ICVkCgAXdGVzdExvbmdDb21wYXJl"
-"IFBBU1NFRAoABHRoaXMACHVub3BUZXN0ABR1bm9wVGVzdCBGQUlMRUQ6ICVkCgAQdW5vcFRlc3Qg"
-"UEFTU0VECgARdW5zaWduZWRTaGlmdFRlc3QAHXVuc2lnbmVkU2hpZnRUZXN0IEZBSUxFRDogJWQK"
-"ABl1bnNpZ25lZFNoaWZ0VGVzdCBQQVNTRUQKAAV2YWx1ZQAHdmFsdWVPZgALdmlydHVhbENhbGwA"
-"F3ZpcnR1YWxDYWxsIEZBSUxFRDogJWQKABN2aXJ0dWFsQ2FsbCBQQVNTRUQKAAF4AAF5AAF6AAR6"
-"ZXJvAAMABw4ACQAHDjxLAAUBhwEHDjwtAHwABw4tAwBFAj8DAUYCLQMCWgVpAGcABw4tAwBaBR4D"
-"AWEGAg53AnQdLR6JWh55Wh54AIoEAXMHHS0hGi8AiwECpgGnAQdZTQMEfRBLS0tLWlpaWmvjLQMA"
-"cAU8AwF1BR4DAnkFWwMDfAUCDCwCdR2WlpaWlmm0lsPTAO8BAqEBTgdZLQMAfRBLS0t4exqWlqUA"
-"tQEBpgEHWU0DAH0QS0tLS0taWlt/AnkdlpaHh5aWwwDRAQGmAQdZTQMCfRBLS0tLS1paWi0DAHAF"
-"LQMBfAU1AngdlpaWh3iWlsMAgAICpgGnAQcOTQMIfRFaWlpaWmlaWmriLQMAcQZLAwJ1Bi0DBHkG"
-"aQMGfAYCDFkCdR3h4eHh4bTww/8BEQ+WAKYCAqEBTgdZLQMAfRFLS0t41wJ7HeHh4WoA5gQBQgcO"
-"aQMlewVpqEstqEstqEstqEstqEstqIctqLQtqLQDI2oGlqlaaamHaanwaanDaanDaalpaQIOpAE1"
-"EVqpWlqpaWmoAoR/HQUjARMUARMUARMUARMUARMUARMUARMUARMUBiMBExUBExUBExUBExUBExUB"
-"ExUCEgETDgETFQETFQCnBBslJjE5Ojs8PT4/JygpKissLS4vMDIzNDU2NzgHDgIbOwJmHYdah1qH"
-"WlqWlpaWlpaWlpaWpaWlpaWlpaWlABcAB1l9AwRrEAIbhgJmHZaWlpalpaYBEg8DAFsFARUPAwFc"
-"BXkDAmEGllrEATgX0gJfLAA9AAcOLQMAJAYtAwJDBi0DBEQGLQMGTQYtAwhPBi0DClAGLQMMVwYu"
-"Aw5ZBgEqEQMQfAa0ANYEASQHDloDAFQHALUCASQHDi4DAHsFQgIoLAUAAwF7BQJSHQUBBgABAgUA"
-"BgEeBQEGAAECBQAGAR8FAQYAAQIFAAYBHgUBBgABAgUABgEeBQEGAAECBQAGASAFAQYAQT0+AQIF"
-"AAYBAnYdBQEGAAECBQAGAR4FAQYAAQMFAAYBJQUBBgABAwUABgEgBQEGAEEBAwUABgECex0FAQYA"
-"AQMFAAYBHgUBBgABAwUABgEfBQEGAAEDBQAGAR4FAQYAAQMFAAYBIAUBBgBBHj8BAwUABgECdh0F"
-"AQYAAQMFAAYBHgUBBgABAwUABgEjBQEGAAEDBQAGAR8FAQYAAQMFAAYBAQEFAQYAJAUABgECUR0B"
-"EBeOiwEWFqsA7AMEcnd4dAcOLgMAewVLAhcdBQACah0GAEstSy1LLkstSy1LLUs8SzxLPUsAzAME"
-"cnd4dAcOLQMAewVLHkseSx5LH0seSx5LHkstSy1LLksuANwEASQHDngDAFQHWgMBVQdLAwKoAQUe"
-"WjwA7AIEcnd4qQEHDi4DAHsFLQIlHQJcHS0tLS0tLS0tLS8yLTcxLTwtPC08LTwtPUAbAJ4DBHJA"
-"d0EHLC4DAHsFSwIiHQJfHUstSy5pLWkvUUsCezsySzxLPks8SzxLTAARAaYBBw4eLQBOAAdoHgMA"
-"QwEeAwN+DTwDAUQCHwMCWgUeHh4uPxpLS0sA0QQABw4AzAQBJAcOLQDHBAEkBw4AAAABAB2BgATU"
-"CgABGAMAAgCBgAToCgGBgASICwEIpAsBCNQLAQjIDAIIhA0BCPQPAQiEEQEIgBMBCIgVAQj0GAEJ"
-"vBoBCOgmAgjIKgEIzC4BCPAvAQiUMAEIhDMBCKQ0AQiwNQEI/DUBCJQ3AQjUOAEI7DgFAMQ5CQDc"
-"OQwA9DkAAA0AAAAAAAAAAQAAAAAAAAABAAAAqQAAAHAAAAACAAAAEwAAABQDAAADAAAADwAAAGAD"
-"AAAEAAAAAgAAABQEAAAFAAAAHgAAACQEAAAGAAAAAgAAABQFAAABIAAAHAAAAFQFAAABEAAACwAA"
-"AAwdAAACIAAAqQAAAKYdAAADIAAAHAAAAPokAAAAIAAAAgAAAJopAAAAEAAAAQAAABwqAAA=";
+"BgAHAGMAAAAGAAkAZgAAAAYADgB9AAAABgAGAH4AAAAGAA0AkAAAAAYAAACRAAAABgAAAJQAAAAG"
+"AAMAlwAAAAYAAwCYAAAABgADAJwAAAAGAAEAnwAAAAYAAgCiAAAABgADAKcAAAAGAAUAqAAAAAYA"
+"CACrAAAABgADAK8AAAAGAAAAsgAAAAYAAwC3AAAABwAKAIsAAAAIAAsAtgAAAAkADAAAAAAACQAA"
+"AAEAAAD/////AAAAABkAAAAAAAAAkS4AAAAAAAAGAAAAAAAAAAkAAAAAAAAADgAAAAAAAACbLgAA"
+"AAAAAAEAAQAAAAAAjSkAAAEAAAAOAAAAAgABAAEAAACSKQAACAAAAHAQHgABABMAewBZEAAADgAC"
+"AAIAAQAAAJkpAAAGAAAAcBAeAAAAWQEAAA4ABAAAAAAAAACiKQAAEAAAABMA6QAUAf//AACRAgAB"
+"FAPqAP//MjIEABITDwMSAyj+BQAAAAAAAAC4KQAAMgAAABMA5h2BARYD5h0xAwEDOAMEABITDwMT"
+"ABrigQEWAxriMQMBAzgDBAASIyj1GAH1AH5SAQAAAIQQFAP1AH5SMjAEABIzKOgYAQv/ga3+////"
+"hBAUAwv/ga0yMAQAEkMo2xIDKNkDAAEAAQAAANcpAAAVAAAAEhA5AgQAEgAPADIC///YAAL/cRAE"
+"AAAACgDYAQL+cRAEAAEACgGwECjwAAAOAAIAAAAAAOMpAACwAAAAEjcSJhIJElgSFRMKCgAjpA8A"
+"kAoMDUsKBAmRCgwNSwoEBZIKDA1LCgQGkgoMDEsKBAcSSpMLDA1LCwQKe9qUCgwKSwoECBJqlQsM"
+"DUsLBAoSepYLDA1LCwQKEwoIAJcLDA1LCwQKEwoJAJALDA2x27Lbs9u027Xbttu327DLSwsEChUA"
+"AIBECgQIe6ESEhUKAICzGpMDCgEyAwMADwVECgQJFAttEQEAMroEAAFlKPdECgQFFAtzEQEAMroE"
+"AAF1KO5EBgQGFAqwy/z/MqYEABJFKOVEBgQHFAcAERAkMnYEAAGFKNwSRkQGBAYTB9ukMnYEABJl"
+"KNNEBgQIMlYEABJ1KM0SZUQFBAUUBnARAQAyZQUAEwUIACjCEnVEBQQFEtYyZQUAEwUJACi5EwUI"
+"AEQFBAUUBo3u/v8yZQUAEwUKACitEwUJAEQFBAUUBnARAQAyZQUAEwULACihAZUonwoAAgAAAAAA"
+"JSoAAD8AAAASRBIzEiISERIFI0APAJgGCAlLBgAFmQYICUsGAAGaBggJSwYAApgGCAm5lrqWuJZL"
+"BgADRAYABRQHAAGqADJ2AwAPAUQBAAEUBqoA//8yYQQAASEo90QBAAIUAqoA/wAyIQQAATEo7kQB"
+"AAMUAgCqAAAyIQQAAUEo5QFRKOMAAAkAAQAAAAAAPSoAAHUAAAASRBIzEiISERIFEwYIACNgDwDQ"
+"hugDSwYABdGG6ANLBgAB0oboA0sGAALThugDSwYAA9SG6ANLBgAEElbVh+gDSwcABhJm1ocY/EsH"
+"AAYSdteHGPxLBwAGRAYABRQHuTMBADJ2AwAPAUQBAAEUBhfU/v8yYQQAASEo90QBAAIUAmjIogQy"
+"IQQAATEo7kQBAAMTAk0AMiEEAAFBKOZEAQAEEwIJAzIhBAASUSjeElFEAQABEwLAAzIhBAASYSjV"
+"EmFEAQABEwLZ/zIhBAAScSjMEnFEAQABFALJ0/7/MiEFABMBCAAowQFRKL8AAAsAAQAAAAAAXioA"
+"AHwAAAASRhI1EiQSExIHEwgIACOCDwDYCAoKSwgCB9kICgpLCAID2ggKCksIAgTbCAoKSwgCBdwI"
+"CgpLCAIGEljdCQoKSwkCCBJo3gkK9ksJAggSeN8JCvZLCQIIFQAAgNsBAP8yAQMADwNECAIHFAkH"
+"J///MpgEAAFDKPdEAwIDFAgN2QAAMoMEAAFTKO5EAwIEFATihff/MkMEAAFjKOVEAwIFEwRN6jJD"
+"BAASUyjdRAMCBhK0MkMEABJjKNYSU0QDAgMTBAgAMkMEABJzKM0SY0QDAgMS9DJDBQATAwgAKMQS"
+"c0QDAgMUBAvZAAAyQwUAEwMJACi5AXMotxEABAAAAAAAjCoAAO4AAAATCQoAI5gQABIJmwoND0wK"
+"CAkSGZwKDQ9MCggJEimdCg0PTAoICRI5nQoNDUwKCAkSSZ4KDQ9MCggJEll9+p8KDQpMCggJEmmg"
+"Cg0PTAoICRJ5oQoND0wKCAkTCQgAogoND0wKCAkTCQkAmwoND7z6vfq++r/6wPrB+sL6u9pMCggJ"
+"GQAAgBJZRQkICX2SFgQBAJsJAAS8Sb4pngYJAjEJBgA4CQQAEhkPCRIJRQkICRgL/TtTTBAAAAAx"
+"CQkLOAkEABIpKPISGUUJCAkYCwM8U0wQAAAAMQkJCzgJBAASOSjkEilFCQgJGAsATAYbz////zEJ"
+"CQs4CQQAEkko1hI5RQkICRgLAAAQ9q8GKaExCQkLOAkEABJZKMgSSUUJCAkYC6uWOZH6////MQkJ"
+"CzgJBAASaSi6EllFCQgJFgsBADEJCQs4CQQAEnkorxJpRQkICRgLADxTTBAAAAAxCQkLOAkFABMJ"
+"CAAooBJ5RQkICRYL/f8xCQkLOAkFABMJCQAolBMJCABFCQgJGAv9w6yz7////zEJCQs4CQUAEwkK"
+"ACiEEwkJAEUJCAkYCwA8U0wQAAAAMQkJCzgJBgATCQsAKQB0/yGJEwoKADKpBgATCQwAKQBr/xIJ"
+"KQBo/w0AAwAAAAAA0SoAAFsAAAASSRI4EicSFhIFI5AQAKMBCgxMAQAFpAEKDEwBAAalAQoMTAEA"
+"B6MBCgzEwcXBw8FMAQAIRQEABRgDAAABqgD/3pYxAQEDOAEFAEUBAAUQAUUBAAYYAwD/3paq1f//"
+"MQEBAzgBBQBFAQAGKPJFAQAHGAMA/96WqtUAADEBAQM4AQUARQEAByjkRQEACBgDAAAA/96W//8x"
+"AQEDOAEFAEUBAAgo1iEBMpEFABYBBQAo0EUBAAUozQAAJwABACIAAADsKgAANwMAABMBJgBxEBkA"
+"AQAKJRMBJQACACUAMxDEAWIBEwAaArEAEgMjMxEAbjAcACEDcQAPAAAACiU5JccBYgETABoCkwAS"
+"AyMzEQBuMBwAIQNxABAAAAAKJTklygFiARMAGgKWABIDIzMRAG4wHAAhA3EAGgAAAAolOSXNAWIB"
+"EwAaArQAEgMjMxEAbjAcACEDcQADAAAACiU5JdABYgETABoCSwASAyMzEQBuMBwAIQNxAAIAAAAK"
+"JTkl0wFiARMAGgJIABIDIzMRAG4wHAAhAxQBcBEBABLScSAGACEACiU5JdIBYgETABoCXgASAyMz"
+"EQBuMBwAIQMYAQA8U0wQAAAAFgP9/3FACgAhQwolOSXOAWIBEwAaAmUAEgMjMxEAbjAcACEDGAEB"
+"qgD/3paq1RMDEABxMAsAIQMLIxgBAAABqgD/3pYxASMBOQHDAWIBEwAaAmgAEgMjMxEAbjAcACED"
+"EhFxEBMAAQAKJRMB0gQCACUAMxDBAWIBEwAaAp4AEgMjMxEAbjAcACEDErESQhJDEgRxQBcAIUMK"
+"JRMBVwQCACUAMxC8AWIBEwAaAqoAEgMjMxEAbjAcACEDFgH7/xgDCQAAAP////8WBQQAFgcIAHcI"
+"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"
+"MqkFABMFGgAoyBJ5RAkECRMKuwAyqQUAEwUbACi+RAkECEQKBA7gCgoItqlECgQF4AoKELapRAoE"
+"BuAKChiWAAkKRAkEBxJaRAoECuAKCgi2qRJqRAoECuAKChC2qRJ6RAoECuAKChiWAQkKgQmBGxMN"
+"IADD26ECCQsUCREiM0QykAYAFQUAgLYFKIcUCYiZqrszkYP/GAkRIjNEiJmquzEJAgk4CQUAAWUp"
+"AHf/RAkECIGZRAsEDoG7Ew0IAMPbwblEBQQFgVsTBRAAw1vBuUQFBAaBVRMLGADDtcGVRAkEB4GZ"
+"EwsgAMO5wZUSWUQJBAmBmRMLKADDucGVEmlECQQJgZkTCzAAw7nBlRJ5RAkECYGZEws4AMO5oQIF"
+"CRgFESIzRIiZqrsxBQIFOAUFAAF1KQAz/wGFKQAw/wADBAAIAAAAEQAAACIAAAAzAAAARAAAAIgA"
+"AACZAAAAqgAAALsAAAAWAAAAAAAAAO4rAABJAAAAFgARABYCIgAWBDMAFgZEABYIVQAWCmYAFgx3"
+"ABYOiAATEjgAoxIAEhMUMACjFAIUoRISFBMUKACjFAQUoRISFBMUIACjFAYUoRISFBMUGACjFAgU"
+"oRISFBMUEACjFAoUoRISFBMUCACjFAwUoRISFKEQEg4YEoh3ZlVEMyIRMRIQEjgSBQATEgEADxIT"
+"EgAAKP0AAAMAAQACAAAAJCwAAAoAAAAiAAYAcBAAAAAAbiAbACAACgEPAQoAAQAAAAAAMCwAACgB"
+"AAATCH8AEweA/xMGAIAUBf///v8TBP9/EhBqAAEAEgBqAAIAawgDAGsHBABsBAUAFAD//wAAbAAG"
+"AG0EDwBtBhAAFAABAAEAZwALAGcFDAAUAFYOSUBnAAkAFQCA/2cACgAYAIh3ZlVEMyIRaAANABgA"
+"eIiZqrvM3e5oAA4AGABEF0FU+yEJQGgABwAZAPB/aAAIAGEADQAWAgEAvCBoABEAYQAOABYCAQC7"
+"IGgAEgBjAAEAOQAFABMACgAPAGMAAgA4AAUAEwALACj5ZAADADKABQATAAwAKPJkAAQAMnAFABMA"
+"DQAo62UABQAyQAUAEwAOACjkZQAGABQB//8AADIQBQATAA8AKNpmAA8AMkAFABMAEAAo02YAEAAy"
+"YAUAEwARACjMYAALABQBAQABADIQBQATABIAKMJgAAwAMlAFABMAEwAou2AACQAUASUGSUAtAAAB"
+"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"
+"L1ByaW50U3RyZWFtOwATTGphdmEvbGFuZy9JbnRlZ2VyOwASTGphdmEvbGFuZy9PYmplY3Q7ABJM"
+"amF2YS9sYW5nL1N0cmluZzsAEkxqYXZhL2xhbmcvU3lzdGVtOwALT2JqZWN0LmphdmEAAVMAAVYA"
+"AlZJAAJWTAABWgACW0kAAltKABNbTGphdmEvbGFuZy9PYmplY3Q7ABNbTGphdmEvbGFuZy9TdHJp"
+"bmc7AAFhAAJhMAACYTEAA2ExMAADYTExAANhMTIAA2ExMwADYTE0AANhMTUAA2ExNgADYTE3AANh"
+"MTgAA2ExOQACYTIAA2EyMAADYTIxAANhMjIAA2EyMwADYTI0AANhMjUAA2EyNgACYTMAAmE0AAJh"
+"NQACYTYAAmE3AAJhOAACYTkACWFsc29NaW51cwAIYWxzb1BsdXMABGFyZ3MAAWIAAWMABWNoYXIx"
+"AAVjaGFyMgALY2hhclN1YlRlc3QAF2NoYXJTdWJUZXN0IEZBSUxFRDogJWQKABNjaGFyU3ViVGVz"
+"dCBQQVNTRUQKAAhjb252VGVzdAAUY29udlRlc3QgRkFJTEVEOiAlZAoAEGNvbnZUZXN0IFBBU1NF"
+"RAoAAWQABGRpc3QAAWUAAWYACWZpYm9uYWNjaQAVZmlib25hY2NpIEZBSUxFRDogJWQKABFmaWJv"
+"bmFjY2kgUEFTU0VECgADZm9vAAZmb28xMjMABGZvb18AAWcABmdldEZvbwABaAABaQACaTEAAmky"
+"AAtpbnRPcGVyVGVzdAAXaW50T3BlclRlc3QgRkFJTEVEOiAlZAoAE2ludE9wZXJUZXN0IFBBU1NF"
+"RAoADGludFNoaWZ0VGVzdAABbAAJbGl0MTZUZXN0AAhsaXQ4VGVzdAAMbG9uZ09wZXJUZXN0ABhs"
+"b25nT3BlclRlc3QgRkFJTEVEOiAlZAoAFGxvbmdPcGVyVGVzdCBQQVNTRUQKAA1sb25nU2hpZnRU"
+"ZXN0ABlsb25nU2hpZnRUZXN0IEZBSUxFRDogJWQKABVsb25nU2hpZnRUZXN0IFBBU1NFRAoABGxy"
+"ZXMACW1Cb29sZWFuMQAJbUJvb2xlYW4yAAZtQnl0ZTEABm1CeXRlMgAGbUJ5dGVzAAZtQ2hhcjEA"
+"Bm1DaGFyMgAIbURvdWJsZTEACG1Eb3VibGUyAAdtRmxvYXQxAAdtRmxvYXQyAAVtSW50MQAFbUlu"
+"dDIABm1Mb25nMQAGbUxvbmcyAAdtU2hvcnQxAAdtU2hvcnQyAA5tVm9sYXRpbGVMb25nMQAObVZv"
+"bGF0aWxlTG9uZzIABG1haW4ACG1hbnlBcmdzABRtYW55QXJncyBGQUlMRUQ6ICVkCgAQbWFueUFy"
+"Z3MgUEFTU0VECgAGbWluSW50AAdtaW5Mb25nAAVtaW51cwABbgADbmFuAAZuZWdPbmUAA291dAAE"
+"cGx1cwAFcGx1czIAB3BsdXNPbmUABnByaW50ZgADcmVzAAZyZXN1bHQAB3Jlc3VsdHMAAXMABnNl"
+"dEZvbwAKc2hpZnRUZXN0MQAWc2hpZnRUZXN0MSBGQUlMRUQ6ICVkCgASc2hpZnRUZXN0MSBQQVNT"
+"RUQKAApzaGlmdFRlc3QyABZzaGlmdFRlc3QyIEZBSUxFRDogJWQKABJzaGlmdFRlc3QyIFBBU1NF"
+"RAoACnN0YXRpY0NhbGwAD3N0YXRpY0ZpZWxkVGVzdAAbc3RhdGljRmllbGRUZXN0IEZBSUxFRDog"
+"JWQKABdzdGF0aWNGaWVsZFRlc3QgUEFTU0VECgAFc3R1ZmYACnN3aXRjaFRlc3QAFnN3aXRjaFRl"
+"c3QgRkFJTEVEOiAlZAoAEnN3aXRjaFRlc3QgUEFTU0VECgARdGVzdERvdWJsZUNvbXBhcmUAHXRl"
+"c3REb3VibGVDb21wYXJlIEZBSUxFRDogJWQKABl0ZXN0RG91YmxlQ29tcGFyZSBQQVNTRUQKABB0"
+"ZXN0RmxvYXRDb21wYXJlABx0ZXN0RmxvYXRDb21wYXJlIEZBSUxFRDogJWQKABh0ZXN0RmxvYXRD"
+"b21wYXJlIFBBU1NFRAoAFnRlc3RHZXRQdXQgRkFJTEVEOiAlZAoAEnRlc3RHZXRQdXQgUEFTU0VE"
+"CgALdGVzdElHZXRQdXQADnRlc3RJbnRDb21wYXJlABp0ZXN0SW50Q29tcGFyZSBGQUlMRUQ6ICVk"
+"CgAWdGVzdEludENvbXBhcmUgUEFTU0VECgAPdGVzdExvbmdDb21wYXJlABt0ZXN0TG9uZ0NvbXBh"
+"cmUgRkFJTEVEOiAlZAoAF3Rlc3RMb25nQ29tcGFyZSBQQVNTRUQKAAR0aGlzAAh1bm9wVGVzdAAU"
+"dW5vcFRlc3QgRkFJTEVEOiAlZAoAEHVub3BUZXN0IFBBU1NFRAoAEXVuc2lnbmVkU2hpZnRUZXN0"
+"AB11bnNpZ25lZFNoaWZ0VGVzdCBGQUlMRUQ6ICVkCgAZdW5zaWduZWRTaGlmdFRlc3QgUEFTU0VE"
+"CgAFdmFsdWUAB3ZhbHVlT2YAC3ZpcnR1YWxDYWxsABd2aXJ0dWFsQ2FsbCBGQUlMRUQ6ICVkCgAT"
+"dmlydHVhbENhbGwgUEFTU0VECgABeAABeQABegAEemVybwADAAcOABQABw48SwAQAZwBBw48LQCx"
+"AQAHDi0DAEUCPwMBRgItAwJaBWkAnAEABw4tAwBaBR4DAWEGAg53AnQdLR6JWh55Wh54AL8EAYUB"
+"Bx0tIRovAMABArsBvAEHWU0DBI8BEEtLS0taWlpaa+MtAwCCAQU8AwGHAQUeAwKLAQVbAwOOAQUC"
+"DCwCdR2WlpaWlmm0lsPTAKQCArYBTgdZLQMAjwEQS0tLeHsalpalAOoBAbsBB1lNAwCPARBLS0tL"
+"S1paW38CeR2WloeHlpbDAIYCAbsBB1lNAwKPARBLS0tLS1paWi0DAIIBBS0DAY4BBTUCeB2WlpaH"
+"eJaWwwC1AgK7AbwBBw5NAwiPARFaWlpaWmlaWmriLQMAgwEGSwMChwEGLQMEiwEGaQMGjgEGAgxZ"
+"AnUd4eHh4eG08MP/AREPlgDbAgK2AU4HWS0DAI8BEUtLS3jXAnsd4eHhagCbBQFCBw5pAyWNAQVp"
+"qEstqEstqEstqEstqEstqIctqLQtqLQDI2oGlqlaaamHaanwaanDaanDaalpaQIOpAE1EVqpWlqp"
+"aWmpaWmoAv1+HQUjARMUARMUARMUARMUARMUARMUARMUARMUBiMBExUBExUBExUBExUBExUBExUC"
+"EgETDgETFQETFQETFQDcBBslJjE5Ojs8PT4/JygpKissLS4vMDIzNDU2NzgHDgIbOwJmHYdah1qH"
+"WlqWlpaWlpaWlpaWpaWlpaWlpaWlAEwAB1l9AwRvEAIbhgJmHZaWlpalpaYBEg8DAFsFARUPAwFc"
+"BXkDAmEGllrEATgX0gJfLAByAAcOLQMAJAYtAwJDBi0DBEQGLQMGTQYtAwhPBi0DClAGLQMMVwYu"
+"Aw5ZBgEqEQMQjgEGtACLBQEkBw5aAwBUBwAZAbsBB7M8PC0tLVotLVotWkt4eHhLeHkCE2gCbh14"
+"eHh4pXh4pXgBFQ+04fABGg/D8PEA6gIBJAcOLgMAjQEFQgIoLAUAAwGNAQUCUh0FAQYAAQIFAAYB"
+"HgUBBgABAgUABgEfBQEGAAECBQAGAR4FAQYAAQIFAAYBHgUBBgABAgUABgEgBQEGAEE9PgECBQAG"
+"AQJ2HQUBBgABAgUABgEeBQEGAAEDBQAGASUFAQYAAQMFAAYBIAUBBgBBAQMFAAYBAnsdBQEGAAED"
+"BQAGAR4FAQYAAQMFAAYBHwUBBgABAwUABgEeBQEGAAEDBQAGASAFAQYAQR4/AQMFAAYBAnYdBQEG"
+"AAEDBQAGAR4FAQYAAQMFAAYBIwUBBgABAwUABgEfBQEGAAEDBQAGAQEBBQEGACQFAAYBAlEdARAX"
+"josBFharAKEEBIQBiQGKAYYBBw4uAwCNAQVLAhcdBQACah0GAEstSy1LLkstSy1LLUs8SzxLPUsA"
+"gQQEhAGJAYoBhgEHDi0DAI0BBUseSx5LHksfSx5LHkseSy1LLUsuSy4AkQUBJAcOeAMAVAdaAwFV"
+"B0sDAr0BBR5aPAChAwSEAYkBigG+AQcOLgMAjQEFLQIlHQJcHS0tLS0tLS0tLS8yLTcxLTwtPC08"
+"LTwtPUAbANMDBIQBQIkBQQcsLgMAjQEFSwIiHQJfHUstSy5pLWkvUUsCezsySzxLPks8SzxLTABG"
+"AbsBBw4eLQCDAQAHaB4DAEMBHgMDkAENPAMBRAIfAwJaBR4eHi4/GktLSwCGBQAHDgCBBQEkBw4t"
+"APwEASQHDgAAAAEAHoGABMAMEgEZAwEJAQkBCQEJAQkBCQEJAQkBCQEJAQkBCQEJAQkBCQEJAUkB"
+"SQACAIGABNQMAYGABPQMAQiQDQEIwA0BCLQOAgjwDgEI4BEBCPASAQjsFAEI9BYBCOAaAQmoHAEI"
+"qCkCCIgtAQiMMQEIsDIBCNQyAQi0NwEIpDoBCMQ7AQjQPAEInD0BCLQ+AQj0PwEIjEAFAORACQD8"
+"QA0AlEEAAAANAAAAAAAAAAEAAAAAAAAAAQAAAL4AAABwAAAAAgAAABMAAABoAwAAAwAAAA8AAAC0"
+"AwAABAAAABQAAABoBAAABQAAAB8AAAAIBQAABgAAAAIAAAAABgAAASAAAB0AAABABgAAARAAAAsA"
+"AACsIAAAAiAAAL4AAABGIQAAAyAAAB0AAACNKQAAACAAAAIAAACRLgAAABAAAAEAAAA8LwAA";
 }  // namespace art
diff --git a/src/thread.cc b/src/thread.cc
index b48f600..717c6f7 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -65,6 +65,12 @@
   pNewInstanceFromCode = Class::NewInstanceFromCode;
   pMemcpy = memcpy;
   pArtHandleFillArrayDataNoThrow = artHandleFillArrayDataNoThrow;
+  pGet32Static = Field::Get32StaticFromCode;
+  pSet32Static = Field::Set32StaticFromCode;
+  pGet64Static = Field::Get64StaticFromCode;
+  pSet64Static = Field::Set64StaticFromCode;
+  pGetObjStatic = Field::GetObjStaticFromCode;
+  pSetObjStatic = Field::SetObjStaticFromCode;
 #if 0
 bool (Thread::*pArtUnlockObject)(struct Thread*, struct Object*);
 bool (Thread::*pArtCanPutArrayElementNoThrow)(const struct ClassObject*,
diff --git a/src/thread.h b/src/thread.h
index 6e145fd..8b64249 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -200,6 +200,12 @@
   long long (*pLdivmod)(long long, long long);
   Array* (*pAllocFromCode)(uint32_t, Method*, int32_t);
   Object* (*pNewInstanceFromCode)(uint32_t, Method*);
+  uint32_t (*pGet32Static)(uint32_t, const Method*);
+  void (*pSet32Static)(uint32_t, const Method*, uint32_t);
+  uint64_t (*pGet64Static)(uint32_t, const Method*);
+  void (*pSet64Static)(uint32_t, const Method*, uint64_t);
+  Object* (*pGetObjStatic)(uint32_t, const Method*);
+  void (*pSetObjStatic)(uint32_t, const Method*, Object*);
   bool (*pArtUnlockObject)(struct Thread*, struct Object*);
   bool (*pArtCanPutArrayElementNoThrow)(const struct ClassObject*,
                  const struct ClassObject*);
