From: Andreas Arnez Date: Thu, 7 Sep 2023 14:43:25 +0000 (+0200) Subject: s390x regtest: Rework dfp-2 X-Git-Tag: VALGRIND_3_22_0~83 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=64f2f358dc899cf34d134f88375bbef55ae944dc;p=thirdparty%2Fvalgrind.git s390x regtest: Rework dfp-2 The dfp-2 test case has two issues: * It doesn't test the rounding modes correctly. Since the inline assembly uses a "d" constraint to pass the rounding mode, a random register number is placed into the instruction's rounding mode field instead of the intended rounding mode. * It cannot be compiled with Clang. (See Bug 465782.) Fix these with a rewrite. Fixing the first issue also requires adjusting the test case output `dfp-2.stdout.exp', while fixing the second requires avoiding `_Decimal*' data types. Also reduce some code duplication. --- diff --git a/none/tests/s390x/dfp-2.c b/none/tests/s390x/dfp-2.c index 061fff4c7a..39427089a1 100644 --- a/none/tests/s390x/dfp-2.c +++ b/none/tests/s390x/dfp-2.c @@ -1,378 +1,291 @@ -#include -#include #include "dfp_utils.h" +#include +#include -/* Test various DFP ops: - - extract biased exponent 64/128 bit - - extract significance 64/128 bit - - insert biased exponent 64/128 bit - - load and test 64/128 bit - - shift left/right 64/128 bit - - reround 64/128 bit -*/ - -void eedtr(_Decimal64 in) -{ - long out; - asm volatile(".insn rre, 0xb3e50000, %[out], %[in]\n\t" - :[out] "=d" (out) :[in] "f" (in)); - printf("EEDTR "); - DFP_VAL_PRINT(in, _Decimal64); - printf(" -> %ld\n", out); -} - -void eextr(_Decimal128 in) -{ - long out; - asm volatile(".insn rre, 0xb3ed0000, %[out], %[in]\n\t" - :[out] "=d" (out) :[in] "f" (in)); - printf("EEXTR "); - DFP_VAL_PRINT(in, _Decimal128); - printf(" -> %ld\n", out); -} - -void esdtr(_Decimal64 in) -{ - long out; - asm volatile(".insn rre, 0xb3e70000, %[out], %[in]\n\t" - :[out] "=d" (out) :[in] "f" (in)); - printf("ESDTR "); - DFP_VAL_PRINT(in, _Decimal64); - printf(" -> %ld\n", out); -} - -void esxtr(_Decimal128 in) -{ - long out; - asm volatile(".insn rre, 0xb3ef0000, %[out], %[in]\n\t" - :[out] "=d" (out) :[in] "f" (in)); - printf("ESXTR "); - DFP_VAL_PRINT(in, _Decimal128); - printf(" -> %ld\n", out); -} - -void iedtr(_Decimal64 in, long amount) -{ - _Decimal64 out; - - asm volatile (".insn rrf, 0xb3f60000, %[out], %[amount], %[in], 0\n\t" - :[out]"=f"(out) - :[in]"f"(in), [amount]"d"(amount)); - - printf("IEDTR "); - DFP_VAL_PRINT(in, _Decimal64); - printf(", %ld -> ", amount); - DFP_VAL_PRINT(out, _Decimal64); - printf("\n"); -} - -void iextr(_Decimal128 in, long amount) -{ - _Decimal128 out; - - asm volatile (".insn rrf, 0xb3fe0000, %[out], %[amount], %[in], 0\n\t" - :[out]"=f"(out) - :[in]"f"(in), [amount]"d"(amount)); - - printf("IEXTR "); - DFP_VAL_PRINT(in, _Decimal128); - printf(", %ld -> ", amount); - DFP_VAL_PRINT(out, _Decimal128); - printf("\n"); -} - -void ltdtr(_Decimal64 in) -{ - _Decimal64 out; - int cc; - asm volatile(".insn rre, 0xb3d60000, %[out], %[in]\n\t" - "ipm %1\n\t" - "srl %1,28\n\t" - :[out] "=d" (out), "=d" (cc) - :[in] "f" (in) - :"cc"); - printf("LTDTR "); - DFP_VAL_PRINT(in, _Decimal64); - printf(" -> %d\n", cc); -} - -void ltxtr(_Decimal128 in) -{ - _Decimal128 out; - int cc; - asm volatile(".insn rre, 0xb3de0000, %[out], %[in]\n\t" - "ipm %1\n\t" - "srl %1,28\n\t" - :[out] "=f" (out), "=d" (cc) - :[in] "f" (in) - :"cc"); - printf("LTXTR "); - DFP_VAL_PRINT(in, _Decimal128); - printf(" -> %d\n", cc); -} - -void qadtr(_Decimal64 op, _Decimal64 quan, uint8_t rm) -{ - _Decimal64 out; - - asm volatile ( - ".insn rrf, 0xb3f50000, %[out], %[quan], %[op], %[rm]\n\t" - :[out]"=f"(out) - :[op]"f"(op), [quan]"f"(quan), [rm]"d"(rm) - ); - printf("QADTR "); - DFP_VAL_PRINT(op, _Decimal64); - printf(", "); - DFP_VAL_PRINT(quan, _Decimal64); - printf(", %x -> ", rm); - DFP_VAL_PRINT(out, _Decimal64); - printf("\n"); -} - -void quantize64(_Decimal64 op, _Decimal64 quan) -{ - uint8_t i; - - for (i = 0; i < 16; i++) - qadtr(op, quan, i); -} - -void qaxtr(_Decimal128 op, _Decimal128 quan, uint8_t rm) -{ - _Decimal128 out; - - asm volatile ( - ".insn rrf, 0xb3fd0000, %[out], %[quan], %[op], %[rm]\n\t" - :[out]"=f"(out) - :[op]"f"(op), [quan]"f"(quan), [rm]"d"(rm) - ); - printf("QAXTR "); - DFP_VAL_PRINT(op, _Decimal128); - printf(", "); - DFP_VAL_PRINT(quan, _Decimal128); - printf(", %x -> ", rm); - DFP_VAL_PRINT(out, _Decimal128); - printf("\n"); -} - -void quantize128(_Decimal128 op, _Decimal128 quan) -{ - uint8_t i; - - for (i = 0; i < 16; i++) - qaxtr(op, quan, i); -} - -void rrdtr(_Decimal64 op, uint8_t sig, uint8_t rm) -{ - _Decimal64 out; - - asm volatile ( - ".insn rrf, 0xb3f70000, %[out], %[sig], %[op], %[rm]\n\t" - :[out]"=f"(out) - :[op]"f"(op), [sig]"d"(sig), [rm]"d"(rm) - ); - printf("RRDTR "); - DFP_VAL_PRINT(op, _Decimal64); - printf(", %d, %x -> ", sig, rm); - DFP_VAL_PRINT(out, _Decimal64); - printf("\n"); -} - -void reround64(_Decimal64 op, uint8_t sig) -{ - uint8_t i; - - for (i = 0; i < 16; i++) - rrdtr(op, sig, i); -} - -void rrxtr(_Decimal128 op, uint8_t sig, uint8_t rm) -{ - _Decimal128 out; - - asm volatile ( - ".insn rrf, 0xb3ff0000, %[out], %[sig], %[op], %[rm]\n\t" - :[out]"=f"(out) - :[op]"f"(op), [sig]"d"(sig), [rm]"d"(rm) - ); - printf("RRXTR "); - DFP_VAL_PRINT(op, _Decimal128); - printf(", %d, %x -> ", sig, rm); - DFP_VAL_PRINT(out, _Decimal128); - printf("\n"); -} - -void reround128(_Decimal128 op, uint8_t sig) -{ - uint8_t i; - - for (i = 0; i < 16; i++) - rrxtr(op, sig, i); -} - -void sldt(_Decimal64 in, unsigned long amount) -{ - _Decimal64 out; - int *shift = (int *) amount; - - asm volatile (".insn rxf, 0xed0000000040, %[out], %[in], 0(%[amount])\n\t" - :[out]"=f"(out) - :[in]"f"(in),[amount]"a"(shift)); - - printf("SLDT "); - DFP_VAL_PRINT(in, _Decimal64); - printf(" -> "); - DFP_VAL_PRINT(out, _Decimal64); - printf("\n"); -} - -void slxt(_Decimal128 in, unsigned long amount) -{ - _Decimal128 out; - int *shift = (int *) amount; - - asm volatile (".insn rxf, 0xed0000000048, %[out], %[in], 0(%[amount])\n\t" - :[out]"=f"(out) - :[in]"f"(in),[amount]"a"(shift)); - - printf("SLXT "); - DFP_VAL_PRINT(in, _Decimal128); - printf(" -> "); - DFP_VAL_PRINT(out, _Decimal128); - printf("\n"); -} - -void srdt(_Decimal64 in, unsigned long amount) -{ - _Decimal64 out; - int *shift = (int *) amount; - - asm volatile (".insn rxf, 0xed0000000041, %[out], %[in], 0(%[amount])\n\t" - :[out]"=f"(out) - :[in]"f"(in),[amount]"a"(shift)); - - printf("SRDT "); - DFP_VAL_PRINT(in, _Decimal64); - printf(" -> "); - DFP_VAL_PRINT(out, _Decimal64); - printf("\n"); -} - -void srxt(_Decimal128 in, unsigned long amount) +#define ITERATE_0_15(x) \ + x(0); \ + x(1); \ + x(2); \ + x(3); \ + x(4); \ + x(5); \ + x(6); \ + x(7); \ + x(8); \ + x(9); \ + x(10); \ + x(11); \ + x(12); \ + x(13); \ + x(14); \ + x(15); + +/* Extract biased exponent; extract significance */ + +#define MAKE_EXTRACT(fun, name, opcode, type) \ + static void fun(type in) \ + { \ + long out; \ + asm(".insn rre," #opcode "0000, %[out], %[in]" \ + : [out] "=d"(out) \ + : [in] "f"(in.f)); \ + printf("%s ", #name); \ + DFP_VAL_PRINT(in, type); \ + printf(" -> %ld\n", out); \ + } + +MAKE_EXTRACT(eedtr, EEDTR, 0xb3e5, pun_d64) +MAKE_EXTRACT(eextr, EEXTR, 0xb3ed, pun_d128) +MAKE_EXTRACT(esdtr, ESDTR, 0xb3e7, pun_d64) +MAKE_EXTRACT(esxtr, ESXTR, 0xb3ef, pun_d128) + +/* Insert biased exponent */ + +#define MAKE_INSERT(fun, name, opcode, type) \ + static void fun(type in, long amount) \ + { \ + type out; \ + asm(".insn rrf," #opcode "0000, %[out], %[amount], %[in], 0" \ + : [out] "=f"(out.f) \ + : [in] "f"(in.f), [amount] "d"(amount)); \ + printf("%s ", #name); \ + DFP_VAL_PRINT(in, type); \ + printf(", %ld -> ", amount); \ + DFP_VAL_PRINT(out, type); \ + printf("\n"); \ + } + +MAKE_INSERT(iedtr, IEDTR, 0xb3f6, pun_d64) +MAKE_INSERT(iextr, IEXTR, 0xb3fe, pun_d128) + +/* Load and test */ + +#define MAKE_LOAD_AND_TEST(fun, name, opcode, type) \ + static void fun(type in) \ + { \ + type out; \ + int cc; \ + asm(".insn rre," #opcode "0000, %[out], %[in]\n\t" \ + "ipm %[cc]\n\t" \ + "srl %[cc],28" \ + : [out] "=f"(out.f), [cc] "=d"(cc) \ + : [in] "f"(in.f)); \ + printf("%s ", #name); \ + DFP_VAL_PRINT(in, type); \ + printf(" -> %d\n", cc); \ + } + +MAKE_LOAD_AND_TEST(ltdtr, LTDTR, 0xb3d6, pun_d64) +MAKE_LOAD_AND_TEST(ltxtr, LTXTR, 0xb3de, pun_d128) + +/* Quantize */ + +#define MAKE_QUANTIZE(fun, name, opcode, type, rm) \ + static void fun##rm(type op, type quan) \ + { \ + type out; \ + asm(".insn rrf," #opcode "0000, %[out], %[quan], %[op], %[m]" \ + : [out] "=f"(out.f) \ + : [op] "f"(op.f), [quan] "f"(quan.f), [m] "i"(rm)); \ + printf("%s ", #name); \ + DFP_VAL_PRINT(op, type); \ + printf(", "); \ + DFP_VAL_PRINT(quan, type); \ + printf(", %x -> ", rm); \ + DFP_VAL_PRINT(out, type); \ + printf("\n"); \ + } + +#define MAKE_QADTR(rm) MAKE_QUANTIZE(qadtr, QADTR, 0xb3f5, pun_d64, rm) +#define CALL_QADTR(rm) qadtr##rm(op, quan) + +ITERATE_0_15(MAKE_QADTR) + +void quantize64(pun_d64 op, pun_d64 quan) { ITERATE_0_15(CALL_QADTR); } + +#define MAKE_QAXTR(rm) MAKE_QUANTIZE(qaxtr, QAXTR, 0xb3fd, pun_d128, rm) +#define CALL_QAXTR(rm) qaxtr##rm(op, quan) + +ITERATE_0_15(MAKE_QAXTR) + +void quantize128(pun_d128 op, pun_d128 quan) { ITERATE_0_15(CALL_QAXTR); } + +/* Reround */ + +#define MAKE_REROUND(fun, name, opcode, type, rm) \ + static void fun##rm(type op, uint8_t sig) \ + { \ + type out; \ + asm(".insn rrf," #opcode "0000, %[out], %[sig], %[op], %[m]" \ + : [out] "=f"(out.f) \ + : [op] "f"(op.f), [sig] "d"(sig), [m] "i"(rm)); \ + printf("%s ", #name); \ + DFP_VAL_PRINT(op, type); \ + printf(", %d, %x -> ", sig, rm); \ + DFP_VAL_PRINT(out, type); \ + printf("\n"); \ + } + +#define MAKE_RRDTR(rm) MAKE_REROUND(rrdtr, RRDTR, 0xb3f7, pun_d64, rm) +#define CALL_RRDTR(rm) rrdtr##rm(op, sig) + +ITERATE_0_15(MAKE_RRDTR) + +void reround64(pun_d64 op, uint8_t sig) { ITERATE_0_15(CALL_RRDTR); } + +#define MAKE_RRXTR(rm) MAKE_REROUND(rrxtr, RRXTR, 0xb3ff, pun_d128, rm) +#define CALL_RRXTR(rm) rrxtr##rm(op, sig) + +ITERATE_0_15(MAKE_RRXTR) + +void reround128(pun_d128 op, uint8_t sig) { ITERATE_0_15(CALL_RRXTR); } + +/* Shift significand left/right */ + +#define MAKE_SHIFT(fun, name, opcode, type) \ + static void fun(type in, unsigned long amount) \ + { \ + type out; \ + int* shift = (int*)amount; \ + asm(".insn rxf, " #opcode ", %[out], %[in], 0(%[amount])" \ + : [out] "=f"(out.f) \ + : [in] "f"(in.f), [amount] "a"(shift)); \ + printf("%s ", #name); \ + DFP_VAL_PRINT(in, type); \ + printf(" -> "); \ + DFP_VAL_PRINT(out, type); \ + printf("\n"); \ + } + +MAKE_SHIFT(sldt, SLDT, 0xed0000000040, pun_d64) +MAKE_SHIFT(slxt, SLXT, 0xed0000000048, pun_d128) +MAKE_SHIFT(srdt, SRDT, 0xed0000000041, pun_d64) +MAKE_SHIFT(srxt, SRXT, 0xed0000000049, pun_d128) + +/* 64-bit decimal constants */ +static const pun_d64 dd_0 = {0x2238000000000000}; /* 0.DD */ +static const pun_d64 dd_00 = {0x2234000000000000}; /* 0.0DD */ +static const pun_d64 dd_m0 = {0xa238000000000000}; /* -0.DD */ +static const pun_d64 dd_1 = {0x2238000000000001}; /* 1.DD */ +static const pun_d64 dd_A = {0x22280000000a0005}; /* 50.0005DD */ +static const pun_d64 dd_mA = {0xa2280000000a0005}; /* -50.0005DD */ +static const pun_d64 dd_B = {0x2224014d2e7971a1}; /* 12345678.54321DD */ +static const pun_d64 dd_mB = {0xa224014d2e7971a1}; /* -12345678.54321DD */ +static const pun_d64 dd_C = {0x2220000000500005}; /* 5.000005DD */ +static const pun_d64 dd_mC = {0xa220000000500005}; /* -5.000005DD */ +static const pun_d64 dd_D = {0x222000000023c534}; /* 2.171234DD */ +static const pun_d64 dd_mD = {0xa22000000023c534}; /* -2.171234DD */ +static const pun_d64 dd_DQ = {0x222c000000000001}; /* 0.001DD */ +static const pun_d64 dd_E = {0x222000000023d2de}; /* 2.174598DD */ +static const pun_d64 dd_mE = {0xa22000000023d2de}; /* -2.174598DD */ + +/* 128-bit versions of the same constants, except: + dl_D = 26365343648.171234DL + dl_DQ = 230.01DL */ +static const pun_d128 dl_0 = {{0x2208000000000000, 0x0000000000000000}}; +static const pun_d128 dl_00 = {{0x2207c00000000000, 0x0000000000000000}}; +static const pun_d128 dl_m0 = {{0xa208000000000000, 0x0000000000000000}}; +static const pun_d128 dl_1 = {{0x2208000000000000, 0x0000000000000001}}; +static const pun_d128 dl_A = {{0x2207000000000000, 0x00000000000a0005}}; +static const pun_d128 dl_mA = {{0xa207000000000000, 0x00000000000a0005}}; +static const pun_d128 dl_B = {{0x2206c00000000000, 0x0000014d2e7971a1}}; +static const pun_d128 dl_mB = {{0xa206c00000000000, 0x0000014d2e7971a1}}; +static const pun_d128 dl_C = {{0x2206800000000000, 0x0000000000500005}}; +static const pun_d128 dl_mC = {{0xa206800000000000, 0x0000000000500005}}; +static const pun_d128 dl_D = {{0x2206800000000000, 0x0099e570f483c534}}; +static const pun_d128 dl_mD = {{0xa206800000000000, 0x0099e570f483c534}}; +static const pun_d128 dl_DQ = {{0x2207800000000000, 0x0000000000008c01}}; +static const pun_d128 dl_E = {{0x2206800000000000, 0x000000000023d2de}}; +static const pun_d128 dl_mE = {{0xa206800000000000, 0x000000000023d2de}}; + +int main() { - _Decimal128 out; - int *shift = (int *) amount; - - asm volatile (".insn rxf, 0xed0000000049, %[out], %[in], 0(%[amount])\n\t" - :[out]"=f"(out) - :[in]"f"(in),[amount]"a"(shift)); - - printf("SRXT "); - DFP_VAL_PRINT(in, _Decimal128); - printf(" -> "); - DFP_VAL_PRINT(out, _Decimal128); - printf("\n"); -} - -int main() { - _Decimal64 d64 = 50.0005DD; - _Decimal128 d128 = 50.0005DL; - - eedtr(d64); - eedtr(-d64); - eedtr(0.DD); - eextr(d128); - eextr(-d128); - eextr(0.DL); - - esdtr(d64); - esdtr(-d64); - esdtr(0.DD); - esxtr(d128); - esxtr(-d128); - esxtr(0.DL); - - ltdtr(d64); - ltdtr(-d64); - ltdtr(0.0DD); - ltxtr(d128); - ltxtr(-d128); - ltxtr(0.0DL); - - d64 = 12345678.54321DD; - sldt(d64, 10); - sldt(-d64, 2); - sldt(0.DD, 2); - sldt(-0.DD, 2); - - srdt(d64, 5); - srdt(-d64, 2); - srdt(0.DD, 2); - srdt(-0.DD, 2); - - d128 = 12345678.54321DL; - slxt(d128, 10); - slxt(-d128, 2); - slxt(0.DL, 2); - slxt(-0.DL, 2); - - srxt(d128, 10); - srxt(-d128, 2); - srxt(0.DL, 2); - srxt(-0.DL, 2); - - d64 = 5.000005DD; - iedtr(d64, 391); - iedtr(d64, 392); - iedtr(d64, 393); - iedtr(-d64, 391); - iedtr(-d64, 392); - iedtr(-d64, 393); - iedtr(0.DD, 393); - iedtr(-0.DD, 393); - iedtr(1.DD, 393); - - d128 = 5.000005DL; - iextr(d128, 6169); - iextr(d128, 6170); - iextr(d128, 6171); - iextr(-d128, 6169); - iextr(-d128, 6170); - iextr(-d128, 6171); - iextr(0.DL, 6171); - iextr(-0.DL, 6171); - iextr(1.DL, 6171); - - d64 = 2.171234DD; - quantize64(d64, 0.001DD); - quantize64(-d64, 0.001DD); - quantize64(-d64, 0.DD); - quantize64(0.DD, 0.001DD); - - d128 = 26365343648.171234DL; - quantize128(d128, 230.01DL); - quantize128(-d128, 230.01DL); - quantize128(d128, 0.DL); - quantize128(-0.DL, 230.01DL); - - d64 = 2.174598DD; - reround64(d64, 3); - reround64(d64, 4); - reround64(d64, 5); - reround64(-d64, 3); - reround64(-d64, 4); - reround64(-d64, 5); - reround64(0.DD, 0); - - d128 = 2.174598DL; - reround128(d128, 3); - reround128(d128, 4); - reround128(d128, 5); - reround128(-d128, 3); - reround128(-d128, 4); - reround128(-d128, 5); - reround128(0.DL, 0); - - return 0; + eedtr(dd_A); + eedtr(dd_mA); + eedtr(dd_0); + eextr(dl_A); + eextr(dl_mA); + eextr(dl_0); + + esdtr(dd_A); + esdtr(dd_mA); + esdtr(dd_0); + esxtr(dl_A); + esxtr(dl_mA); + esxtr(dl_0); + + ltdtr(dd_A); + ltdtr(dd_mA); + ltdtr(dd_00); + ltxtr(dl_A); + ltxtr(dl_mA); + ltxtr(dl_00); + + sldt(dd_B, 10); + sldt(dd_mB, 2); + sldt(dd_0, 2); + sldt(dd_m0, 2); + + srdt(dd_B, 5); + srdt(dd_mB, 2); + srdt(dd_0, 2); + srdt(dd_m0, 2); + + slxt(dl_B, 10); + slxt(dl_mB, 2); + slxt(dl_0, 2); + slxt(dl_m0, 2); + + srxt(dl_B, 10); + srxt(dl_mB, 2); + srxt(dl_0, 2); + srxt(dl_m0, 2); + + iedtr(dd_C, 391); + iedtr(dd_C, 392); + iedtr(dd_C, 393); + iedtr(dd_mC, 391); + iedtr(dd_mC, 392); + iedtr(dd_mC, 393); + iedtr(dd_0, 393); + iedtr(dd_m0, 393); + iedtr(dd_1, 393); + + iextr(dl_C, 6169); + iextr(dl_C, 6170); + iextr(dl_C, 6171); + iextr(dl_mC, 6169); + iextr(dl_mC, 6170); + iextr(dl_mC, 6171); + iextr(dl_0, 6171); + iextr(dl_m0, 6171); + iextr(dl_1, 6171); + + quantize64(dd_D, dd_DQ); + quantize64(dd_mD, dd_DQ); + quantize64(dd_mD, dd_0); + quantize64(dd_0, dd_DQ); + + quantize128(dl_D, dl_DQ); + quantize128(dl_mD, dl_DQ); + quantize128(dl_D, dl_0); + quantize128(dl_m0, dl_DQ); + + reround64(dd_E, 3); + reround64(dd_E, 4); + reround64(dd_E, 5); + reround64(dd_mE, 3); + reround64(dd_mE, 4); + reround64(dd_mE, 5); + reround64(dd_0, 0); + + reround128(dl_E, 3); + reround128(dl_E, 4); + reround128(dl_E, 5); + reround128(dl_mE, 3); + reround128(dl_mE, 4); + reround128(dl_mE, 5); + reround128(dl_0, 0); + + return 0; } diff --git a/none/tests/s390x/dfp-2.stdout.exp b/none/tests/s390x/dfp-2.stdout.exp index d93da1c258..ab7355f74e 100644 --- a/none/tests/s390x/dfp-2.stdout.exp +++ b/none/tests/s390x/dfp-2.stdout.exp @@ -56,15 +56,15 @@ QADTR 222000000023c534, 222c000000000001, 2 -> 222c0000000008f1 QADTR 222000000023c534, 222c000000000001, 3 -> 222c0000000008f1 QADTR 222000000023c534, 222c000000000001, 4 -> 222c0000000008f1 QADTR 222000000023c534, 222c000000000001, 5 -> 222c0000000008f1 -QADTR 222000000023c534, 222c000000000001, 6 -> 222c0000000008f1 +QADTR 222000000023c534, 222c000000000001, 6 -> 222c0000000008f2 QADTR 222000000023c534, 222c000000000001, 7 -> 222c0000000008f1 QADTR 222000000023c534, 222c000000000001, 8 -> 222c0000000008f1 QADTR 222000000023c534, 222c000000000001, 9 -> 222c0000000008f1 -QADTR 222000000023c534, 222c000000000001, a -> 222c0000000008f1 +QADTR 222000000023c534, 222c000000000001, a -> 222c0000000008f2 QADTR 222000000023c534, 222c000000000001, b -> 222c0000000008f1 QADTR 222000000023c534, 222c000000000001, c -> 222c0000000008f1 QADTR 222000000023c534, 222c000000000001, d -> 222c0000000008f1 -QADTR 222000000023c534, 222c000000000001, e -> 222c0000000008f1 +QADTR 222000000023c534, 222c000000000001, e -> 222c0000000008f2 QADTR 222000000023c534, 222c000000000001, f -> 222c0000000008f1 QADTR a22000000023c534, 222c000000000001, 0 -> a22c0000000008f1 QADTR a22000000023c534, 222c000000000001, 1 -> a22c0000000008f1 @@ -73,14 +73,14 @@ QADTR a22000000023c534, 222c000000000001, 3 -> a22c0000000008f1 QADTR a22000000023c534, 222c000000000001, 4 -> a22c0000000008f1 QADTR a22000000023c534, 222c000000000001, 5 -> a22c0000000008f1 QADTR a22000000023c534, 222c000000000001, 6 -> a22c0000000008f1 -QADTR a22000000023c534, 222c000000000001, 7 -> a22c0000000008f1 +QADTR a22000000023c534, 222c000000000001, 7 -> a22c0000000008f2 QADTR a22000000023c534, 222c000000000001, 8 -> a22c0000000008f1 QADTR a22000000023c534, 222c000000000001, 9 -> a22c0000000008f1 QADTR a22000000023c534, 222c000000000001, a -> a22c0000000008f1 -QADTR a22000000023c534, 222c000000000001, b -> a22c0000000008f1 +QADTR a22000000023c534, 222c000000000001, b -> a22c0000000008f2 QADTR a22000000023c534, 222c000000000001, c -> a22c0000000008f1 QADTR a22000000023c534, 222c000000000001, d -> a22c0000000008f1 -QADTR a22000000023c534, 222c000000000001, e -> a22c0000000008f1 +QADTR a22000000023c534, 222c000000000001, e -> a22c0000000008f2 QADTR a22000000023c534, 222c000000000001, f -> a22c0000000008f1 QADTR a22000000023c534, 2238000000000000, 0 -> a238000000000002 QADTR a22000000023c534, 2238000000000000, 1 -> a238000000000002 @@ -89,14 +89,14 @@ QADTR a22000000023c534, 2238000000000000, 3 -> a238000000000002 QADTR a22000000023c534, 2238000000000000, 4 -> a238000000000002 QADTR a22000000023c534, 2238000000000000, 5 -> a238000000000002 QADTR a22000000023c534, 2238000000000000, 6 -> a238000000000002 -QADTR a22000000023c534, 2238000000000000, 7 -> a238000000000002 +QADTR a22000000023c534, 2238000000000000, 7 -> a238000000000003 QADTR a22000000023c534, 2238000000000000, 8 -> a238000000000002 QADTR a22000000023c534, 2238000000000000, 9 -> a238000000000002 QADTR a22000000023c534, 2238000000000000, a -> a238000000000002 -QADTR a22000000023c534, 2238000000000000, b -> a238000000000002 +QADTR a22000000023c534, 2238000000000000, b -> a238000000000003 QADTR a22000000023c534, 2238000000000000, c -> a238000000000002 QADTR a22000000023c534, 2238000000000000, d -> a238000000000002 -QADTR a22000000023c534, 2238000000000000, e -> a238000000000002 +QADTR a22000000023c534, 2238000000000000, e -> a238000000000003 QADTR a22000000023c534, 2238000000000000, f -> a238000000000002 QADTR 2238000000000000, 222c000000000001, 0 -> 222c000000000000 QADTR 2238000000000000, 222c000000000001, 1 -> 222c000000000000 @@ -120,15 +120,15 @@ QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, 2 -> 2 QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, 3 -> 2207800000000000000002cdab47931d QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, 4 -> 2207800000000000000002cdab47931d QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, 5 -> 2207800000000000000002cdab47931d -QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, 6 -> 2207800000000000000002cdab47931d +QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, 6 -> 2207800000000000000002cdab47903e QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, 7 -> 2207800000000000000002cdab47931d QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, 8 -> 2207800000000000000002cdab47931d QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, 9 -> 2207800000000000000002cdab47931d -QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, a -> 2207800000000000000002cdab47931d +QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, a -> 2207800000000000000002cdab47903e QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, b -> 2207800000000000000002cdab47931d QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, c -> 2207800000000000000002cdab47931d QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, d -> 2207800000000000000002cdab47931d -QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, e -> 2207800000000000000002cdab47931d +QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, e -> 2207800000000000000002cdab47903e QAXTR 22068000000000000099e570f483c534, 22078000000000000000000000008c01, f -> 2207800000000000000002cdab47931d QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, 0 -> a207800000000000000002cdab47931d QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, 1 -> a207800000000000000002cdab47931d @@ -137,14 +137,14 @@ QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, 3 -> a QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, 4 -> a207800000000000000002cdab47931d QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, 5 -> a207800000000000000002cdab47931d QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, 6 -> a207800000000000000002cdab47931d -QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, 7 -> a207800000000000000002cdab47931d +QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, 7 -> a207800000000000000002cdab47903e QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, 8 -> a207800000000000000002cdab47931d QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, 9 -> a207800000000000000002cdab47931d QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, a -> a207800000000000000002cdab47931d -QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, b -> a207800000000000000002cdab47931d +QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, b -> a207800000000000000002cdab47903e QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, c -> a207800000000000000002cdab47931d QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, d -> a207800000000000000002cdab47931d -QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, e -> a207800000000000000002cdab47931d +QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, e -> a207800000000000000002cdab47903e QAXTR a2068000000000000099e570f483c534, 22078000000000000000000000008c01, f -> a207800000000000000002cdab47931d QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, 0 -> 2208000000000000000000099e570f48 QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, 1 -> 2208000000000000000000099e570f48 @@ -152,15 +152,15 @@ QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, 2 -> 2 QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, 3 -> 2208000000000000000000099e570f48 QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, 4 -> 2208000000000000000000099e570f48 QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, 5 -> 2208000000000000000000099e570f48 -QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, 6 -> 2208000000000000000000099e570f48 +QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, 6 -> 2208000000000000000000099e570f49 QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, 7 -> 2208000000000000000000099e570f48 QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, 8 -> 2208000000000000000000099e570f48 QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, 9 -> 2208000000000000000000099e570f48 -QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, a -> 2208000000000000000000099e570f48 +QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, a -> 2208000000000000000000099e570f49 QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, b -> 2208000000000000000000099e570f48 QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, c -> 2208000000000000000000099e570f48 QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, d -> 2208000000000000000000099e570f48 -QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, e -> 2208000000000000000000099e570f48 +QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, e -> 2208000000000000000000099e570f49 QAXTR 22068000000000000099e570f483c534, 22080000000000000000000000000000, f -> 2208000000000000000000099e570f48 QAXTR a2080000000000000000000000000000, 22078000000000000000000000008c01, 0 -> a2078000000000000000000000000000 QAXTR a2080000000000000000000000000000, 22078000000000000000000000008c01, 1 -> a2078000000000000000000000000000 @@ -184,44 +184,44 @@ RRDTR 222000000023d2de, 3, 2 -> 2230000000000117 RRDTR 222000000023d2de, 3, 3 -> 2230000000000117 RRDTR 222000000023d2de, 3, 4 -> 2230000000000117 RRDTR 222000000023d2de, 3, 5 -> 2230000000000117 -RRDTR 222000000023d2de, 3, 6 -> 2230000000000117 +RRDTR 222000000023d2de, 3, 6 -> 2230000000000118 RRDTR 222000000023d2de, 3, 7 -> 2230000000000117 RRDTR 222000000023d2de, 3, 8 -> 2230000000000117 RRDTR 222000000023d2de, 3, 9 -> 2230000000000117 -RRDTR 222000000023d2de, 3, a -> 2230000000000117 +RRDTR 222000000023d2de, 3, a -> 2230000000000118 RRDTR 222000000023d2de, 3, b -> 2230000000000117 RRDTR 222000000023d2de, 3, c -> 2230000000000117 RRDTR 222000000023d2de, 3, d -> 2230000000000117 -RRDTR 222000000023d2de, 3, e -> 2230000000000117 +RRDTR 222000000023d2de, 3, e -> 2230000000000118 RRDTR 222000000023d2de, 3, f -> 2230000000000117 RRDTR 222000000023d2de, 4, 0 -> 222c0000000008f5 RRDTR 222000000023d2de, 4, 1 -> 222c0000000008f5 RRDTR 222000000023d2de, 4, 2 -> 222c0000000008f5 -RRDTR 222000000023d2de, 4, 3 -> 222c0000000008f5 +RRDTR 222000000023d2de, 4, 3 -> 222c0000000008f4 RRDTR 222000000023d2de, 4, 4 -> 222c0000000008f5 -RRDTR 222000000023d2de, 4, 5 -> 222c0000000008f5 +RRDTR 222000000023d2de, 4, 5 -> 222c0000000008f4 RRDTR 222000000023d2de, 4, 6 -> 222c0000000008f5 -RRDTR 222000000023d2de, 4, 7 -> 222c0000000008f5 +RRDTR 222000000023d2de, 4, 7 -> 222c0000000008f4 RRDTR 222000000023d2de, 4, 8 -> 222c0000000008f5 -RRDTR 222000000023d2de, 4, 9 -> 222c0000000008f5 +RRDTR 222000000023d2de, 4, 9 -> 222c0000000008f4 RRDTR 222000000023d2de, 4, a -> 222c0000000008f5 -RRDTR 222000000023d2de, 4, b -> 222c0000000008f5 +RRDTR 222000000023d2de, 4, b -> 222c0000000008f4 RRDTR 222000000023d2de, 4, c -> 222c0000000008f5 RRDTR 222000000023d2de, 4, d -> 222c0000000008f5 RRDTR 222000000023d2de, 4, e -> 222c0000000008f5 -RRDTR 222000000023d2de, 4, f -> 222c0000000008f5 +RRDTR 222000000023d2de, 4, f -> 222c0000000008f4 RRDTR 222000000023d2de, 5, 0 -> 22280000000087c6 RRDTR 222000000023d2de, 5, 1 -> 22280000000087c6 RRDTR 222000000023d2de, 5, 2 -> 22280000000087c6 RRDTR 222000000023d2de, 5, 3 -> 22280000000087c6 RRDTR 222000000023d2de, 5, 4 -> 22280000000087c6 -RRDTR 222000000023d2de, 5, 5 -> 22280000000087c6 +RRDTR 222000000023d2de, 5, 5 -> 22280000000087c5 RRDTR 222000000023d2de, 5, 6 -> 22280000000087c6 -RRDTR 222000000023d2de, 5, 7 -> 22280000000087c6 +RRDTR 222000000023d2de, 5, 7 -> 22280000000087c5 RRDTR 222000000023d2de, 5, 8 -> 22280000000087c6 -RRDTR 222000000023d2de, 5, 9 -> 22280000000087c6 +RRDTR 222000000023d2de, 5, 9 -> 22280000000087c5 RRDTR 222000000023d2de, 5, a -> 22280000000087c6 -RRDTR 222000000023d2de, 5, b -> 22280000000087c6 +RRDTR 222000000023d2de, 5, b -> 22280000000087c5 RRDTR 222000000023d2de, 5, c -> 22280000000087c6 RRDTR 222000000023d2de, 5, d -> 22280000000087c6 RRDTR 222000000023d2de, 5, e -> 22280000000087c6 @@ -233,42 +233,42 @@ RRDTR a22000000023d2de, 3, 3 -> a230000000000117 RRDTR a22000000023d2de, 3, 4 -> a230000000000117 RRDTR a22000000023d2de, 3, 5 -> a230000000000117 RRDTR a22000000023d2de, 3, 6 -> a230000000000117 -RRDTR a22000000023d2de, 3, 7 -> a230000000000117 +RRDTR a22000000023d2de, 3, 7 -> a230000000000118 RRDTR a22000000023d2de, 3, 8 -> a230000000000117 RRDTR a22000000023d2de, 3, 9 -> a230000000000117 RRDTR a22000000023d2de, 3, a -> a230000000000117 -RRDTR a22000000023d2de, 3, b -> a230000000000117 +RRDTR a22000000023d2de, 3, b -> a230000000000118 RRDTR a22000000023d2de, 3, c -> a230000000000117 RRDTR a22000000023d2de, 3, d -> a230000000000117 -RRDTR a22000000023d2de, 3, e -> a230000000000117 +RRDTR a22000000023d2de, 3, e -> a230000000000118 RRDTR a22000000023d2de, 3, f -> a230000000000117 RRDTR a22000000023d2de, 4, 0 -> a22c0000000008f5 RRDTR a22000000023d2de, 4, 1 -> a22c0000000008f5 RRDTR a22000000023d2de, 4, 2 -> a22c0000000008f5 -RRDTR a22000000023d2de, 4, 3 -> a22c0000000008f5 +RRDTR a22000000023d2de, 4, 3 -> a22c0000000008f4 RRDTR a22000000023d2de, 4, 4 -> a22c0000000008f5 -RRDTR a22000000023d2de, 4, 5 -> a22c0000000008f5 -RRDTR a22000000023d2de, 4, 6 -> a22c0000000008f5 +RRDTR a22000000023d2de, 4, 5 -> a22c0000000008f4 +RRDTR a22000000023d2de, 4, 6 -> a22c0000000008f4 RRDTR a22000000023d2de, 4, 7 -> a22c0000000008f5 RRDTR a22000000023d2de, 4, 8 -> a22c0000000008f5 -RRDTR a22000000023d2de, 4, 9 -> a22c0000000008f5 -RRDTR a22000000023d2de, 4, a -> a22c0000000008f5 +RRDTR a22000000023d2de, 4, 9 -> a22c0000000008f4 +RRDTR a22000000023d2de, 4, a -> a22c0000000008f4 RRDTR a22000000023d2de, 4, b -> a22c0000000008f5 RRDTR a22000000023d2de, 4, c -> a22c0000000008f5 RRDTR a22000000023d2de, 4, d -> a22c0000000008f5 RRDTR a22000000023d2de, 4, e -> a22c0000000008f5 -RRDTR a22000000023d2de, 4, f -> a22c0000000008f5 +RRDTR a22000000023d2de, 4, f -> a22c0000000008f4 RRDTR a22000000023d2de, 5, 0 -> a2280000000087c6 RRDTR a22000000023d2de, 5, 1 -> a2280000000087c6 RRDTR a22000000023d2de, 5, 2 -> a2280000000087c6 RRDTR a22000000023d2de, 5, 3 -> a2280000000087c6 RRDTR a22000000023d2de, 5, 4 -> a2280000000087c6 -RRDTR a22000000023d2de, 5, 5 -> a2280000000087c6 -RRDTR a22000000023d2de, 5, 6 -> a2280000000087c6 +RRDTR a22000000023d2de, 5, 5 -> a2280000000087c5 +RRDTR a22000000023d2de, 5, 6 -> a2280000000087c5 RRDTR a22000000023d2de, 5, 7 -> a2280000000087c6 RRDTR a22000000023d2de, 5, 8 -> a2280000000087c6 -RRDTR a22000000023d2de, 5, 9 -> a2280000000087c6 -RRDTR a22000000023d2de, 5, a -> a2280000000087c6 +RRDTR a22000000023d2de, 5, 9 -> a2280000000087c5 +RRDTR a22000000023d2de, 5, a -> a2280000000087c5 RRDTR a22000000023d2de, 5, b -> a2280000000087c6 RRDTR a22000000023d2de, 5, c -> a2280000000087c6 RRDTR a22000000023d2de, 5, d -> a2280000000087c6 @@ -296,44 +296,44 @@ RRXTR 2206800000000000000000000023d2de, 3, 2 -> 22078000000000000000000000000117 RRXTR 2206800000000000000000000023d2de, 3, 3 -> 22078000000000000000000000000117 RRXTR 2206800000000000000000000023d2de, 3, 4 -> 22078000000000000000000000000117 RRXTR 2206800000000000000000000023d2de, 3, 5 -> 22078000000000000000000000000117 -RRXTR 2206800000000000000000000023d2de, 3, 6 -> 22078000000000000000000000000117 +RRXTR 2206800000000000000000000023d2de, 3, 6 -> 22078000000000000000000000000118 RRXTR 2206800000000000000000000023d2de, 3, 7 -> 22078000000000000000000000000117 RRXTR 2206800000000000000000000023d2de, 3, 8 -> 22078000000000000000000000000117 RRXTR 2206800000000000000000000023d2de, 3, 9 -> 22078000000000000000000000000117 -RRXTR 2206800000000000000000000023d2de, 3, a -> 22078000000000000000000000000117 +RRXTR 2206800000000000000000000023d2de, 3, a -> 22078000000000000000000000000118 RRXTR 2206800000000000000000000023d2de, 3, b -> 22078000000000000000000000000117 RRXTR 2206800000000000000000000023d2de, 3, c -> 22078000000000000000000000000117 RRXTR 2206800000000000000000000023d2de, 3, d -> 22078000000000000000000000000117 -RRXTR 2206800000000000000000000023d2de, 3, e -> 22078000000000000000000000000117 +RRXTR 2206800000000000000000000023d2de, 3, e -> 22078000000000000000000000000118 RRXTR 2206800000000000000000000023d2de, 3, f -> 22078000000000000000000000000117 RRXTR 2206800000000000000000000023d2de, 4, 0 -> 220740000000000000000000000008f5 RRXTR 2206800000000000000000000023d2de, 4, 1 -> 220740000000000000000000000008f5 RRXTR 2206800000000000000000000023d2de, 4, 2 -> 220740000000000000000000000008f5 -RRXTR 2206800000000000000000000023d2de, 4, 3 -> 220740000000000000000000000008f5 +RRXTR 2206800000000000000000000023d2de, 4, 3 -> 220740000000000000000000000008f4 RRXTR 2206800000000000000000000023d2de, 4, 4 -> 220740000000000000000000000008f5 -RRXTR 2206800000000000000000000023d2de, 4, 5 -> 220740000000000000000000000008f5 +RRXTR 2206800000000000000000000023d2de, 4, 5 -> 220740000000000000000000000008f4 RRXTR 2206800000000000000000000023d2de, 4, 6 -> 220740000000000000000000000008f5 -RRXTR 2206800000000000000000000023d2de, 4, 7 -> 220740000000000000000000000008f5 +RRXTR 2206800000000000000000000023d2de, 4, 7 -> 220740000000000000000000000008f4 RRXTR 2206800000000000000000000023d2de, 4, 8 -> 220740000000000000000000000008f5 -RRXTR 2206800000000000000000000023d2de, 4, 9 -> 220740000000000000000000000008f5 +RRXTR 2206800000000000000000000023d2de, 4, 9 -> 220740000000000000000000000008f4 RRXTR 2206800000000000000000000023d2de, 4, a -> 220740000000000000000000000008f5 -RRXTR 2206800000000000000000000023d2de, 4, b -> 220740000000000000000000000008f5 +RRXTR 2206800000000000000000000023d2de, 4, b -> 220740000000000000000000000008f4 RRXTR 2206800000000000000000000023d2de, 4, c -> 220740000000000000000000000008f5 RRXTR 2206800000000000000000000023d2de, 4, d -> 220740000000000000000000000008f5 RRXTR 2206800000000000000000000023d2de, 4, e -> 220740000000000000000000000008f5 -RRXTR 2206800000000000000000000023d2de, 4, f -> 220740000000000000000000000008f5 +RRXTR 2206800000000000000000000023d2de, 4, f -> 220740000000000000000000000008f4 RRXTR 2206800000000000000000000023d2de, 5, 0 -> 220700000000000000000000000087c6 RRXTR 2206800000000000000000000023d2de, 5, 1 -> 220700000000000000000000000087c6 RRXTR 2206800000000000000000000023d2de, 5, 2 -> 220700000000000000000000000087c6 RRXTR 2206800000000000000000000023d2de, 5, 3 -> 220700000000000000000000000087c6 RRXTR 2206800000000000000000000023d2de, 5, 4 -> 220700000000000000000000000087c6 -RRXTR 2206800000000000000000000023d2de, 5, 5 -> 220700000000000000000000000087c6 +RRXTR 2206800000000000000000000023d2de, 5, 5 -> 220700000000000000000000000087c5 RRXTR 2206800000000000000000000023d2de, 5, 6 -> 220700000000000000000000000087c6 -RRXTR 2206800000000000000000000023d2de, 5, 7 -> 220700000000000000000000000087c6 +RRXTR 2206800000000000000000000023d2de, 5, 7 -> 220700000000000000000000000087c5 RRXTR 2206800000000000000000000023d2de, 5, 8 -> 220700000000000000000000000087c6 -RRXTR 2206800000000000000000000023d2de, 5, 9 -> 220700000000000000000000000087c6 +RRXTR 2206800000000000000000000023d2de, 5, 9 -> 220700000000000000000000000087c5 RRXTR 2206800000000000000000000023d2de, 5, a -> 220700000000000000000000000087c6 -RRXTR 2206800000000000000000000023d2de, 5, b -> 220700000000000000000000000087c6 +RRXTR 2206800000000000000000000023d2de, 5, b -> 220700000000000000000000000087c5 RRXTR 2206800000000000000000000023d2de, 5, c -> 220700000000000000000000000087c6 RRXTR 2206800000000000000000000023d2de, 5, d -> 220700000000000000000000000087c6 RRXTR 2206800000000000000000000023d2de, 5, e -> 220700000000000000000000000087c6 @@ -345,42 +345,42 @@ RRXTR a206800000000000000000000023d2de, 3, 3 -> a2078000000000000000000000000117 RRXTR a206800000000000000000000023d2de, 3, 4 -> a2078000000000000000000000000117 RRXTR a206800000000000000000000023d2de, 3, 5 -> a2078000000000000000000000000117 RRXTR a206800000000000000000000023d2de, 3, 6 -> a2078000000000000000000000000117 -RRXTR a206800000000000000000000023d2de, 3, 7 -> a2078000000000000000000000000117 +RRXTR a206800000000000000000000023d2de, 3, 7 -> a2078000000000000000000000000118 RRXTR a206800000000000000000000023d2de, 3, 8 -> a2078000000000000000000000000117 RRXTR a206800000000000000000000023d2de, 3, 9 -> a2078000000000000000000000000117 RRXTR a206800000000000000000000023d2de, 3, a -> a2078000000000000000000000000117 -RRXTR a206800000000000000000000023d2de, 3, b -> a2078000000000000000000000000117 +RRXTR a206800000000000000000000023d2de, 3, b -> a2078000000000000000000000000118 RRXTR a206800000000000000000000023d2de, 3, c -> a2078000000000000000000000000117 RRXTR a206800000000000000000000023d2de, 3, d -> a2078000000000000000000000000117 -RRXTR a206800000000000000000000023d2de, 3, e -> a2078000000000000000000000000117 +RRXTR a206800000000000000000000023d2de, 3, e -> a2078000000000000000000000000118 RRXTR a206800000000000000000000023d2de, 3, f -> a2078000000000000000000000000117 RRXTR a206800000000000000000000023d2de, 4, 0 -> a20740000000000000000000000008f5 RRXTR a206800000000000000000000023d2de, 4, 1 -> a20740000000000000000000000008f5 RRXTR a206800000000000000000000023d2de, 4, 2 -> a20740000000000000000000000008f5 -RRXTR a206800000000000000000000023d2de, 4, 3 -> a20740000000000000000000000008f5 +RRXTR a206800000000000000000000023d2de, 4, 3 -> a20740000000000000000000000008f4 RRXTR a206800000000000000000000023d2de, 4, 4 -> a20740000000000000000000000008f5 -RRXTR a206800000000000000000000023d2de, 4, 5 -> a20740000000000000000000000008f5 -RRXTR a206800000000000000000000023d2de, 4, 6 -> a20740000000000000000000000008f5 +RRXTR a206800000000000000000000023d2de, 4, 5 -> a20740000000000000000000000008f4 +RRXTR a206800000000000000000000023d2de, 4, 6 -> a20740000000000000000000000008f4 RRXTR a206800000000000000000000023d2de, 4, 7 -> a20740000000000000000000000008f5 RRXTR a206800000000000000000000023d2de, 4, 8 -> a20740000000000000000000000008f5 -RRXTR a206800000000000000000000023d2de, 4, 9 -> a20740000000000000000000000008f5 -RRXTR a206800000000000000000000023d2de, 4, a -> a20740000000000000000000000008f5 +RRXTR a206800000000000000000000023d2de, 4, 9 -> a20740000000000000000000000008f4 +RRXTR a206800000000000000000000023d2de, 4, a -> a20740000000000000000000000008f4 RRXTR a206800000000000000000000023d2de, 4, b -> a20740000000000000000000000008f5 RRXTR a206800000000000000000000023d2de, 4, c -> a20740000000000000000000000008f5 RRXTR a206800000000000000000000023d2de, 4, d -> a20740000000000000000000000008f5 RRXTR a206800000000000000000000023d2de, 4, e -> a20740000000000000000000000008f5 -RRXTR a206800000000000000000000023d2de, 4, f -> a20740000000000000000000000008f5 +RRXTR a206800000000000000000000023d2de, 4, f -> a20740000000000000000000000008f4 RRXTR a206800000000000000000000023d2de, 5, 0 -> a20700000000000000000000000087c6 RRXTR a206800000000000000000000023d2de, 5, 1 -> a20700000000000000000000000087c6 RRXTR a206800000000000000000000023d2de, 5, 2 -> a20700000000000000000000000087c6 RRXTR a206800000000000000000000023d2de, 5, 3 -> a20700000000000000000000000087c6 RRXTR a206800000000000000000000023d2de, 5, 4 -> a20700000000000000000000000087c6 -RRXTR a206800000000000000000000023d2de, 5, 5 -> a20700000000000000000000000087c6 -RRXTR a206800000000000000000000023d2de, 5, 6 -> a20700000000000000000000000087c6 +RRXTR a206800000000000000000000023d2de, 5, 5 -> a20700000000000000000000000087c5 +RRXTR a206800000000000000000000023d2de, 5, 6 -> a20700000000000000000000000087c5 RRXTR a206800000000000000000000023d2de, 5, 7 -> a20700000000000000000000000087c6 RRXTR a206800000000000000000000023d2de, 5, 8 -> a20700000000000000000000000087c6 -RRXTR a206800000000000000000000023d2de, 5, 9 -> a20700000000000000000000000087c6 -RRXTR a206800000000000000000000023d2de, 5, a -> a20700000000000000000000000087c6 +RRXTR a206800000000000000000000023d2de, 5, 9 -> a20700000000000000000000000087c5 +RRXTR a206800000000000000000000023d2de, 5, a -> a20700000000000000000000000087c5 RRXTR a206800000000000000000000023d2de, 5, b -> a20700000000000000000000000087c6 RRXTR a206800000000000000000000023d2de, 5, c -> a20700000000000000000000000087c6 RRXTR a206800000000000000000000023d2de, 5, d -> a20700000000000000000000000087c6