summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/arm/ih264_platform_macros.h30
-rw-r--r--common/armv8/ih264_platform_macros.h30
-rw-r--r--common/ih264_cabac_tables.c20023
-rw-r--r--common/ih264_cabac_tables.h149
-rw-r--r--common/ih264_common_tables.c4
-rw-r--r--common/ih264_defs.h2
-rw-r--r--common/ithread.c2
-rw-r--r--common/x86/ih264_platform_macros.h10
-rw-r--r--common/x86/ih264_resi_trans_quant_sse42.c3
-rw-r--r--decoder.arm64.mk2
-rw-r--r--decoder.mips64.mk4
-rw-r--r--decoder.mk1
-rw-r--r--decoder/ih264d.h1
-rw-r--r--decoder/ih264d_api.c329
-rw-r--r--decoder/ih264d_cabac_init_tables.c1
-rw-r--r--decoder/ih264d_deblocking.c891
-rw-r--r--decoder/ih264d_deblocking.h9
-rw-r--r--decoder/ih264d_debug.c40
-rw-r--r--decoder/ih264d_defs.h42
-rw-r--r--decoder/ih264d_error_handler.h8
-rw-r--r--decoder/ih264d_format_conv.c188
-rw-r--r--decoder/ih264d_inter_pred.c91
-rw-r--r--decoder/ih264d_inter_pred.h1
-rw-r--r--decoder/ih264d_mb_utils.c192
-rw-r--r--decoder/ih264d_mb_utils.h2
-rw-r--r--decoder/ih264d_parse_bslice.c7
-rw-r--r--decoder/ih264d_parse_headers.c25
-rw-r--r--decoder/ih264d_parse_islice.c84
-rw-r--r--decoder/ih264d_parse_pslice.c484
-rw-r--r--decoder/ih264d_parse_slice.c324
-rw-r--r--decoder/ih264d_parse_slice.h9
-rw-r--r--decoder/ih264d_process_intra_mb.c60
-rw-r--r--decoder/ih264d_process_pslice.c85
-rw-r--r--decoder/ih264d_structs.h94
-rw-r--r--decoder/ih264d_tables.c1
-rw-r--r--decoder/ih264d_tables.h4
-rw-r--r--decoder/ih264d_thread_compute_bs.c627
-rw-r--r--decoder/ih264d_thread_compute_bs.h6
-rw-r--r--decoder/ih264d_thread_parse_decode.c507
-rw-r--r--decoder/ih264d_thread_parse_decode.h2
-rw-r--r--decoder/ih264d_utils.c73
-rw-r--r--decoder/ivd.h2
-rw-r--r--encoder.arm64.mk2
-rw-r--r--encoder.mips64.mk4
-rw-r--r--encoder/ih264e_api.c3
-rw-r--r--encoder/ih264e_process.c28
-rw-r--r--encoder/ih264e_utils.c10
-rw-r--r--encoder/x86/ih264e_function_selector_sse42.c1
-rw-r--r--encoder/x86/ih264e_function_selector_ssse3.c1
-rw-r--r--test/Android.mk1
-rw-r--r--test/decoder/main.c37
51 files changed, 11382 insertions, 13154 deletions
diff --git a/common/arm/ih264_platform_macros.h b/common/arm/ih264_platform_macros.h
index 1f67403..438e240 100644
--- a/common/arm/ih264_platform_macros.h
+++ b/common/arm/ih264_platform_macros.h
@@ -33,13 +33,11 @@
*
*******************************************************************************
*/
-#ifndef _IHEVC_PLATFORM_MACROS_H_
-#define _IHEVC_PLATFORM_MACROS_H_
+#ifndef _IH264_PLATFORM_MACROS_H_
+#define _IH264_PLATFORM_MACROS_H_
#ifndef ARMV8
-void ih264_arm_dsb(void);
-#define DATA_SYNC() ih264_arm_dsb()
static __inline WORD32 CLIP_U8(WORD32 x)
{
asm("usat %0, #8, %1" : "=r"(x) : "r"(x));
@@ -93,8 +91,9 @@ static __inline UWORD32 ITT_BIG_ENDIAN(UWORD32 x)
asm("rev %0, %1" : "=r"(x) : "r"(x));
return x;
}
+#define NOP(nop_cnt) {UWORD32 nop_i; for (nop_i = 0; nop_i < nop_cnt; nop_i++) asm("nop");}
+
#else
-#define DATA_SYNC() ;
#define CLIP_U8(x) CLIP3(0, 255, (x))
#define CLIP_S8(x) CLIP3(-128, 127, (x))
@@ -108,12 +107,19 @@ static __inline UWORD32 ITT_BIG_ENDIAN(UWORD32 x)
#define CLIP_U16(x) CLIP3(0, 65535, (x))
#define CLIP_S16(x) CLIP3(-32768, 32767, (x))
-#define ITT_BIG_ENDIAN(x) ((x & 0x000000ff) << 24) | \
- ((x & 0x0000ff00) << 8) | \
- ((x & 0x00ff0000) >> 8) | \
- ((UWORD32)x >> 24);
+#define ITT_BIG_ENDIAN(x) __asm__("rev %0, %1" : "=r"(x) : "r"(x));
+
+#define NOP(nop_cnt) \
+{ \
+ UWORD32 nop_i; \
+ for (nop_i = 0; nop_i < nop_cnt; nop_i++) \
+ __asm__ __volatile__("mov x0, x0"); \
+}
+
#endif
+#define DATA_SYNC() __sync_synchronize()
+
#define SHL(x,y) (((y) < 32) ? ((x) << (y)) : 0)
#define SHR(x,y) (((y) < 32) ? ((x) >> (y)) : 0)
@@ -141,12 +147,8 @@ static INLINE UWORD32 CTZ(UWORD32 u4_word)
}
}
-
-#define NOP(nop_cnt) {UWORD32 nop_i; for (nop_i = 0; nop_i < nop_cnt; nop_i++);}
-
-
#define MEM_ALIGN8 __attribute__ ((aligned (8)))
#define MEM_ALIGN16 __attribute__ ((aligned (16)))
#define MEM_ALIGN32 __attribute__ ((aligned (32)))
-#endif /* _IHEVC_PLATFORM_MACROS_H_ */
+#endif /* _IH264_PLATFORM_MACROS_H_ */
diff --git a/common/armv8/ih264_platform_macros.h b/common/armv8/ih264_platform_macros.h
index 1f67403..438e240 100644
--- a/common/armv8/ih264_platform_macros.h
+++ b/common/armv8/ih264_platform_macros.h
@@ -33,13 +33,11 @@
*
*******************************************************************************
*/
-#ifndef _IHEVC_PLATFORM_MACROS_H_
-#define _IHEVC_PLATFORM_MACROS_H_
+#ifndef _IH264_PLATFORM_MACROS_H_
+#define _IH264_PLATFORM_MACROS_H_
#ifndef ARMV8
-void ih264_arm_dsb(void);
-#define DATA_SYNC() ih264_arm_dsb()
static __inline WORD32 CLIP_U8(WORD32 x)
{
asm("usat %0, #8, %1" : "=r"(x) : "r"(x));
@@ -93,8 +91,9 @@ static __inline UWORD32 ITT_BIG_ENDIAN(UWORD32 x)
asm("rev %0, %1" : "=r"(x) : "r"(x));
return x;
}
+#define NOP(nop_cnt) {UWORD32 nop_i; for (nop_i = 0; nop_i < nop_cnt; nop_i++) asm("nop");}
+
#else
-#define DATA_SYNC() ;
#define CLIP_U8(x) CLIP3(0, 255, (x))
#define CLIP_S8(x) CLIP3(-128, 127, (x))
@@ -108,12 +107,19 @@ static __inline UWORD32 ITT_BIG_ENDIAN(UWORD32 x)
#define CLIP_U16(x) CLIP3(0, 65535, (x))
#define CLIP_S16(x) CLIP3(-32768, 32767, (x))
-#define ITT_BIG_ENDIAN(x) ((x & 0x000000ff) << 24) | \
- ((x & 0x0000ff00) << 8) | \
- ((x & 0x00ff0000) >> 8) | \
- ((UWORD32)x >> 24);
+#define ITT_BIG_ENDIAN(x) __asm__("rev %0, %1" : "=r"(x) : "r"(x));
+
+#define NOP(nop_cnt) \
+{ \
+ UWORD32 nop_i; \
+ for (nop_i = 0; nop_i < nop_cnt; nop_i++) \
+ __asm__ __volatile__("mov x0, x0"); \
+}
+
#endif
+#define DATA_SYNC() __sync_synchronize()
+
#define SHL(x,y) (((y) < 32) ? ((x) << (y)) : 0)
#define SHR(x,y) (((y) < 32) ? ((x) >> (y)) : 0)
@@ -141,12 +147,8 @@ static INLINE UWORD32 CTZ(UWORD32 u4_word)
}
}
-
-#define NOP(nop_cnt) {UWORD32 nop_i; for (nop_i = 0; nop_i < nop_cnt; nop_i++);}
-
-
#define MEM_ALIGN8 __attribute__ ((aligned (8)))
#define MEM_ALIGN16 __attribute__ ((aligned (16)))
#define MEM_ALIGN32 __attribute__ ((aligned (32)))
-#endif /* _IHEVC_PLATFORM_MACROS_H_ */
+#endif /* _IH264_PLATFORM_MACROS_H_ */
diff --git a/common/ih264_cabac_tables.c b/common/ih264_cabac_tables.c
index 118ca12..835ea33 100644
--- a/common/ih264_cabac_tables.c
+++ b/common/ih264_cabac_tables.c
@@ -26,15 +26,14 @@
*
* @brief
* This file contains H264 cabac tables for init contexts, rlps and
-* cabac state trasnitions
+* cabac state transitions
*
* @author
* Ittiam
*
* @par List of Tables
-* - gau1_ih264_cab_ctxts[]
-* - gau1_ih264_next_state[]
-* - gau1_ih264_cab_ctxts[][][]
+* - gau4_ih264_cabac_table[][]
+* - gau1_ih264_cabac_ctxt_init_table[][][]
*
******************************************************************************
*/
@@ -52,10818 +51,9230 @@
/*****************************************************************************/
/* Extern global definitions */
/*****************************************************************************/
-
-/**
- ******************************************************************************
- * @brief Table for rangeTabLPS depending on pStateIdx and qCodIRangeIdx
- * input : pStateIdx(0-63) and qCodIRangeIdx(0-3) [(Range >> 6) & 0x3]
- * output : RLPS
- *
- * @remarks See Table 9-35 of H264 spec for rangeTabLPS
- ******************************************************************************
- */
-const UWORD8 gau1_ih264_cabac_rlps[64][4] =
-{
- { 128, 176, 208, 240},
- { 128, 167, 197, 227},
- { 128, 158, 187, 216},
- { 123, 150, 178, 205},
- { 116, 142, 169, 195},
- { 111, 135, 160, 185},
- { 105, 128, 152, 175},
- { 100, 122, 144, 166},
- { 95, 116, 137, 158},
- { 90, 110, 130, 150},
- { 85, 104, 123, 142},
- { 81, 99, 117, 135},
- { 77, 94, 111, 128},
- { 73, 89, 105, 122},
- { 69, 85, 100, 116},
- { 66, 80, 95, 110},
- { 62, 76, 90, 104},
- { 59, 72, 86, 99},
- { 56, 69, 81, 94},
- { 53, 65, 77, 89},
- { 51, 62, 73, 85},
- { 48, 59, 69, 80},
- { 46, 56, 66, 76},
- { 43, 53, 63, 72},
- { 41, 50, 59, 69},
- { 39, 48, 56, 65},
- { 37, 45, 54, 62},
- { 35, 43, 51, 59},
- { 33, 41, 48, 56},
- { 32, 39, 46, 53},
- { 30, 37, 43, 50},
- { 29, 35, 41, 48},
- { 27, 33, 39, 45},
- { 26, 31, 37, 43},
- { 24, 30, 35, 41},
- { 23, 28, 33, 39},
- { 22, 27, 32, 37},
- { 21, 26, 30, 35},
- { 20, 24, 29, 33},
- { 19, 23, 27, 31},
- { 18, 22, 26, 30},
- { 17, 21, 25, 28},
- { 16, 20, 23, 27},
- { 15, 19, 22, 25},
- { 14, 18, 21, 24},
- { 14, 17, 20, 23},
- { 13, 16, 19, 22},
- { 12, 15, 18, 21},
- { 12, 14, 17, 20},
- { 11, 14, 16, 19},
- { 11, 13, 15, 18},
- { 10, 12, 15, 17},
- { 10, 12, 14, 16},
- { 9, 11, 13, 15},
- { 9, 11, 12, 14},
- { 8, 10, 12, 14},
- { 8, 9, 11, 13},
- { 7, 9, 11, 12},
- { 7, 9, 10, 12},
- { 7, 8, 10, 11},
- { 6, 8, 9, 11},
- { 6, 7, 9, 10},
- { 6, 7, 8, 9},
- { 2, 2, 2, 2}
-};
-
-/**
- ******************************************************************************
- * @brief probaility+MPS state transition tables based on cur State and bin
- * input : curpState[bits7-2] | curMPS[bit1] | decodedBin[bit0]
- * output : nextpState[bits6-1] | nextMPS[bit0]
- * @remarks Modified form of Table-9-36 State Transition table in H264 spec
- ******************************************************************************
- */
-const UWORD8 gau1_ih264_next_state[64 * 2 * 2] =
-{
/*****************************************************************************/
-/* m=0,b=0 | m=0,b=1 | m=1,b=0 | m=1,b=1 */
+/* CABAC TABLES */
/*****************************************************************************/
- 2, 1, 0, 3,/* mps reversal for m=0,b=1 / m=1,b=0 */
- 4, 0, 1, 5,
- 6, 2, 3, 7,
- 8, 4, 5, 9,
- 10, 4, 5, 11,
- 12, 8, 9, 13,
- 14, 8, 9, 15,
- 16, 10, 11, 17,
- 18, 12, 13, 19,
- 20, 14, 15, 21,
- 22, 16, 17, 23,
- 24, 18, 19, 25,
- 26, 18, 19, 27,
- 28, 22, 23, 29,
- 30, 22, 23, 31,
- 32, 24, 25, 33,
- 34, 26, 27, 35,
- 36, 26, 27, 37,
- 38, 30, 31, 39,
- 40, 30, 31, 41,
- 42, 32, 33, 43,
- 44, 32, 33, 45,
- 46, 36, 37, 47,
- 48, 36, 37, 49,
- 50, 38, 39, 51,
- 52, 38, 39, 53,
- 54, 42, 43, 55,
- 56, 42, 43, 57,
- 58, 44, 45, 59,
- 60, 44, 45, 61,
- 62, 46, 47, 63,
- 64, 48, 49, 65,
- 66, 48, 49, 67,
- 68, 50, 51, 69,
- 70, 52, 53, 71,
- 72, 52, 53, 73,
- 74, 54, 55, 75,
- 76, 54, 55, 77,
- 78, 56, 57, 79,
- 80, 58, 59, 81,
- 82, 58, 59, 83,
- 84, 60, 61, 85,
- 86, 60, 61, 87,
- 88, 60, 61, 89,
- 90, 62, 63, 91,
- 92, 64, 65, 93,
- 94, 64, 65, 95,
- 96, 66, 67, 97,
- 98, 66, 67, 99,
- 100, 66, 67, 101,
- 102, 68, 69, 103,
- 104, 68, 69, 105,
- 106, 70, 71, 107,
- 108, 70, 71, 109,
- 110, 70, 71, 111,
- 112, 72, 73, 113,
- 114, 72, 73, 115,
- 116, 72, 73, 117,
- 118, 74, 75, 119,
- 120, 74, 75, 121,
- 122, 74, 75, 123,
- 124, 76, 77, 125,
- 124, 76, 77, 125,
- 126, 126, 127, 127
-};
-
-
-/*
-******************************************************************************
-* As per H264 standard the cabac initialization of context variables
-* are generated using following logic
-* (ref: section 9.3.1.1 of ITU-T Rec. H.264 (03/2005))
-*
-* The two values assigned to pStateIdx and valMPS during this initialization
-* are derived from SliceQPY
-*
-* Given the two table entries [m, n] (for a given slice type, context index and
-* cabac_init_idc), the initialization is specified by the following pseudo-code process
-*
-* preCtxState = Clip3( 1, 126, ( ( m * Clip3( 0, 51, SliceQPY ) ) >> 4 ) + n )
-* if( preCtxState <= 63 ) {
-* pStateIdx = 63 - preCtxState
-* valMPS = 0
-* } else {
-* pStateIdx = preCtxState - 64
-* valMPS = 1
-* }
-******************************************************************************
-*/
+/*combined table :guc_RTAB,NextStateLPS,NextStateMPS
+ input(combined_state):
+ bits 0-5: state
+ bits 6:mps
+ output
+ bits 0-7:rangeTabLPS
+ bits 8-14 :combined_next_state_if_mps
+ bits 15 -21:combined_next_state_if_lps
-/**
- ******************************************************************************
- * @brief Init context tables for all combinations of qp and cabac_init_idc
- * @remarks Packing format MPS in lsb and pState in bits[1-6]
- ******************************************************************************
*/
-const UWORD8 gau1_ih264_cab_ctxts[IH264_NUM_CABAC_INIT_IDC_PLUS_ONE][IH264_MAX_QP][IH264_NUM_CABAC_CTXTS] =
-{
+const UWORD32 gau4_ih264_cabac_table[128][4] =
{
+ { 2097536, 2097584, 2097616, 2097648 },
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 0 */
-
- 124, 18, 21, 124, 18, 21, 125, 81, 20, 18,
- 24, 60, 122, 124, 108, 28, 109, 12, 29, 3,
- 2, 28, 19, 26, 1, 40, 124, 7, 53, 81,
- 125, 81, 7, 29, 3, 2, 45, 63, 4, 36,
- 11, 35, 65, 16, 7, 45, 49, 10, 25, 61,
- 18, 11, 35, 49, 7, 21, 21, 33, 17, 10,
- 44, 0, 0, 0, 39, 45, 67, 17, 44, 2,
- 36, 29, 65, 125, 69, 75, 7, 37, 61, 39,
- 93, 55, 77, 59, 125, 57, 51, 65, 89, 34,
- 3, 12, 59, 21, 57, 47, 125, 18, 6, 8,
- 11, 30, 9, 11, 49, 43, 29, 23, 27, 18,
- 26, 9, 26, 42, 35, 0, 13, 7, 12, 25,
- 56, 1, 4, 56, 76, 78, 68, 54, 59, 19,
- 19, 34, 28, 73, 20, 20, 20, 4, 14, 14,
- 0, 6, 2, 12, 11, 12, 48, 24, 9, 1,
- 4, 0, 26, 48, 38, 22, 30, 6, 8, 8,
- 60, 38, 40, 29, 6, 11, 70, 46, 38, 28,
- 34, 38, 24, 32, 48, 2, 34, 18, 18, 10,
- 0, 24, 12, 20, 22, 16, 36, 54, 20, 37,
- 16, 29, 34, 64, 41, 112, 124, 120, 118, 124,
- 124, 114, 114, 108, 88, 72, 66, 86, 58, 13,
- 7, 8, 7, 66, 62, 56, 68, 64, 50, 40,
- 44, 0, 8, 1, 61, 51, 89, 25, 38, 36,
- 22, 1, 8, 13, 23, 37, 77, 27, 78, 42,
- 30, 16, 8, 15, 39, 47, 111, 10, 68, 54,
- 50, 40, 16, 10, 1, 21, 53, 13, 68, 64,
- 42, 8, 10, 17, 35, 67, 10, 116, 98, 90,
- 72, 46, 10, 13, 31, 43, 124, 85, 85, 47,
- 101, 93, 69, 93, 85, 79, 87, 89, 97, 65,
- 63, 55, 59, 61, 45, 7, 33, 43, 13, 6,
- 10, 4, 26, 26, 28, 18, 44, 34, 24, 28,
- 22, 44, 32, 16, 44, 38, 26, 20, 28, 0,
- 1, 11, 8, 13, 38, 64, 40, 20, 58, 50,
- 22, 46, 62, 38, 50, 26, 12, 40, 104, 98,
- 104, 104, 108, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 68, 124, 124, 124, 124, 124, 124, 108,
- 74, 72, 12, 37, 23, 67, 123, 124, 124, 124,
- 114, 110, 106, 82, 88, 62, 64, 44, 38, 32,
- 3, 15, 6, 0, 3, 78, 86, 80, 62, 80,
- 78, 46, 62, 68, 42, 12, 20, 4, 45, 46,
- 24, 8, 31, 15, 11, 13, 5, 9, 19, 11,
- 13, 7, 2, 13, 5, 3, 0, 124, 124, 124,
- 124, 124, 120, 108, 72, 8, 5, 56, 42, 36,
- 30, 14, 6, 2, 5, 25, 43, 35, 27, 35,
- 33, 19, 21, 39, 15, 7, 4, 5, 5, 8,
- 8, 124, 124, 124, 124, 122, 114, 92, 58, 2,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 1 */
-
- 124, 18, 21, 124, 18, 21, 123, 77, 22, 20,
- 24, 58, 120, 124, 108, 28, 103, 12, 27, 1,
- 2, 28, 17, 24, 3, 40, 124, 9, 55, 81,
- 121, 77, 7, 27, 1, 2, 43, 59, 6, 36,
- 9, 33, 63, 16, 7, 43, 49, 10, 23, 59,
- 18, 11, 33, 49, 5, 19, 19, 31, 15, 10,
- 44, 0, 0, 0, 37, 45, 67, 15, 44, 2,
- 36, 27, 63, 121, 65, 71, 3, 33, 57, 37,
- 89, 51, 73, 57, 123, 55, 49, 63, 87, 36,
- 1, 14, 57, 19, 55, 45, 121, 18, 6, 8,
- 11, 32, 9, 9, 47, 41, 27, 21, 25, 18,
- 26, 7, 26, 42, 33, 0, 11, 7, 12, 23,
- 56, 1, 4, 56, 74, 78, 68, 54, 57, 17,
- 17, 34, 28, 71, 20, 20, 20, 6, 14, 14,
- 2, 8, 4, 12, 9, 12, 48, 24, 9, 1,
- 4, 0, 26, 46, 38, 22, 30, 8, 10, 8,
- 58, 38, 40, 27, 6, 11, 70, 46, 38, 28,
- 34, 38, 24, 32, 48, 2, 34, 18, 18, 10,
- 0, 24, 12, 20, 22, 16, 36, 54, 20, 35,
- 16, 27, 34, 62, 39, 110, 124, 118, 116, 122,
- 124, 112, 112, 104, 86, 70, 64, 82, 56, 15,
- 7, 8, 7, 64, 60, 54, 66, 62, 48, 38,
- 42, 0, 8, 1, 59, 49, 87, 23, 40, 36,
- 22, 0, 10, 11, 21, 35, 73, 25, 78, 42,
- 30, 16, 10, 13, 37, 45, 107, 10, 70, 56,
- 50, 40, 18, 10, 1, 19, 51, 13, 70, 64,
- 42, 8, 12, 15, 33, 65, 10, 116, 98, 90,
- 72, 46, 10, 11, 29, 41, 124, 83, 83, 45,
- 97, 89, 67, 89, 81, 75, 83, 85, 93, 63,
- 61, 53, 57, 57, 43, 7, 31, 41, 11, 6,
- 10, 4, 26, 26, 26, 16, 44, 34, 26, 28,
- 22, 44, 32, 16, 44, 38, 26, 20, 28, 0,
- 1, 9, 10, 13, 38, 64, 40, 20, 58, 50,
- 24, 46, 60, 38, 50, 26, 12, 38, 104, 98,
- 104, 102, 106, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 66, 124, 124, 124, 124, 124, 124, 106,
- 72, 70, 12, 35, 21, 63, 117, 124, 124, 124,
- 112, 106, 104, 80, 84, 60, 62, 42, 36, 30,
- 5, 15, 6, 0, 5, 76, 84, 78, 60, 78,
- 76, 44, 60, 66, 40, 10, 18, 2, 45, 46,
- 24, 8, 29, 13, 9, 11, 3, 7, 15, 9,
- 11, 5, 6, 9, 3, 0, 4, 124, 124, 124,
- 124, 124, 116, 102, 68, 4, 3, 58, 44, 38,
- 32, 16, 8, 4, 3, 23, 41, 33, 25, 33,
- 29, 15, 19, 37, 13, 5, 6, 3, 3, 8,
- 8, 124, 124, 124, 124, 116, 108, 86, 52, 1,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 2 */
-
- 124, 18, 21, 124, 18, 21, 119, 75, 22, 20,
- 24, 56, 118, 122, 108, 28, 99, 12, 25, 0,
- 2, 26, 17, 22, 5, 38, 120, 13, 57, 83,
- 115, 75, 7, 25, 0, 2, 43, 57, 6, 34,
- 9, 33, 61, 16, 7, 43, 49, 10, 23, 57,
- 18, 11, 33, 49, 5, 19, 19, 31, 15, 10,
- 44, 0, 0, 0, 35, 45, 67, 15, 42, 2,
- 36, 27, 63, 117, 61, 67, 1, 29, 55, 35,
- 87, 49, 71, 55, 119, 55, 49, 63, 85, 36,
- 1, 14, 55, 19, 53, 45, 119, 18, 6, 8,
- 11, 32, 9, 9, 47, 41, 27, 21, 25, 18,
- 26, 7, 26, 42, 33, 0, 11, 7, 12, 23,
- 54, 1, 4, 54, 72, 76, 66, 52, 55, 17,
- 17, 32, 26, 71, 18, 20, 20, 6, 14, 14,
- 4, 8, 4, 12, 9, 12, 46, 24, 11, 1,
- 4, 1, 26, 44, 38, 22, 28, 8, 10, 8,
- 56, 38, 38, 27, 6, 13, 68, 46, 38, 28,
- 34, 38, 24, 32, 48, 2, 34, 18, 18, 10,
- 0, 24, 12, 20, 22, 16, 34, 52, 18, 35,
- 16, 27, 32, 60, 39, 106, 124, 114, 112, 118,
- 120, 108, 108, 100, 82, 66, 60, 78, 52, 17,
- 7, 8, 9, 62, 58, 52, 64, 58, 46, 36,
- 40, 1, 6, 3, 59, 49, 85, 23, 40, 36,
- 22, 0, 10, 11, 21, 35, 71, 23, 78, 42,
- 30, 16, 10, 13, 35, 43, 103, 10, 70, 56,
- 50, 40, 18, 10, 1, 19, 49, 13, 70, 64,
- 42, 8, 12, 15, 33, 63, 10, 114, 96, 88,
- 70, 46, 10, 11, 29, 41, 124, 81, 81, 43,
- 95, 87, 65, 87, 79, 73, 81, 83, 89, 61,
- 59, 53, 55, 55, 43, 9, 31, 39, 11, 6,
- 8, 4, 24, 24, 24, 14, 42, 34, 26, 28,
- 20, 42, 32, 16, 42, 36, 26, 20, 26, 0,
- 1, 9, 10, 13, 36, 62, 38, 20, 56, 48,
- 24, 44, 58, 38, 50, 24, 10, 34, 102, 96,
- 102, 100, 104, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 64, 124, 124, 124, 124, 124, 124, 102,
- 70, 68, 12, 33, 21, 61, 113, 120, 120, 124,
- 108, 102, 100, 76, 80, 58, 58, 40, 32, 28,
- 7, 17, 4, 0, 7, 74, 82, 74, 56, 74,
- 72, 42, 56, 62, 38, 8, 16, 0, 47, 44,
- 22, 6, 29, 13, 9, 9, 3, 5, 13, 7,
- 9, 3, 8, 7, 1, 2, 6, 124, 124, 124,
- 124, 120, 110, 96, 62, 0, 3, 58, 44, 38,
- 32, 18, 8, 4, 3, 23, 41, 33, 23, 33,
- 27, 13, 19, 35, 11, 3, 6, 3, 1, 8,
- 8, 124, 124, 124, 120, 110, 100, 78, 46, 7,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 3 */
-
- 124, 18, 21, 124, 18, 21, 115, 71, 24, 20,
- 22, 52, 114, 120, 108, 28, 95, 12, 23, 2,
- 2, 24, 17, 20, 7, 38, 116, 15, 59, 83,
- 109, 73, 7, 23, 2, 2, 41, 55, 8, 34,
- 9, 31, 59, 14, 9, 43, 49, 10, 23, 57,
- 18, 11, 33, 49, 3, 19, 19, 31, 13, 10,
- 44, 0, 0, 0, 35, 45, 67, 13, 40, 2,
- 36, 27, 63, 113, 57, 65, 2, 25, 53, 33,
- 83, 47, 69, 53, 115, 53, 49, 61, 83, 36,
- 1, 14, 55, 19, 53, 43, 115, 18, 4, 6,
- 13, 32, 9, 9, 45, 41, 25, 21, 23, 18,
- 26, 7, 26, 40, 33, 0, 11, 7, 12, 23,
- 52, 1, 4, 52, 70, 74, 64, 50, 55, 15,
- 17, 30, 26, 69, 18, 20, 20, 6, 14, 14,
- 6, 8, 4, 12, 7, 12, 44, 24, 13, 1,
- 4, 1, 24, 42, 38, 22, 26, 8, 10, 8,
- 52, 38, 36, 27, 6, 13, 66, 46, 38, 28,
- 34, 38, 24, 32, 48, 2, 32, 18, 18, 10,
- 0, 22, 10, 18, 20, 14, 32, 50, 18, 35,
- 14, 27, 30, 56, 39, 104, 124, 110, 108, 114,
- 116, 104, 104, 96, 78, 64, 58, 74, 48, 19,
- 7, 8, 9, 60, 56, 50, 60, 56, 42, 34,
- 38, 3, 6, 3, 59, 49, 85, 21, 40, 36,
- 22, 0, 10, 11, 21, 33, 69, 23, 78, 42,
- 30, 16, 12, 11, 33, 41, 99, 10, 70, 56,
- 50, 40, 20, 10, 1, 19, 49, 13, 70, 64,
- 40, 8, 12, 15, 33, 61, 10, 114, 96, 86,
- 68, 46, 10, 11, 27, 39, 124, 79, 79, 43,
- 93, 85, 63, 83, 77, 71, 79, 79, 87, 61,
- 57, 53, 55, 51, 43, 9, 31, 39, 11, 4,
- 8, 4, 22, 22, 22, 12, 42, 32, 26, 26,
- 20, 42, 30, 16, 40, 36, 24, 20, 24, 0,
- 3, 9, 10, 15, 36, 62, 36, 20, 54, 48,
- 24, 42, 56, 36, 48, 22, 10, 32, 100, 94,
- 102, 98, 102, 122, 124, 124, 124, 124, 124, 124,
- 124, 124, 62, 124, 124, 124, 124, 124, 124, 98,
- 68, 66, 12, 31, 21, 59, 109, 116, 116, 124,
- 104, 98, 96, 74, 76, 54, 56, 38, 30, 24,
- 9, 19, 4, 1, 9, 72, 78, 72, 52, 70,
- 68, 38, 54, 58, 34, 6, 12, 3, 49, 42,
- 20, 4, 29, 11, 9, 9, 1, 5, 11, 5,
- 7, 1, 10, 5, 0, 6, 8, 124, 124, 124,
- 124, 116, 104, 90, 56, 3, 1, 60, 46, 40,
- 32, 20, 10, 4, 1, 21, 41, 31, 23, 31,
- 25, 11, 19, 35, 11, 3, 6, 1, 0, 8,
- 8, 124, 124, 124, 114, 104, 92, 70, 38, 11,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 4 */
-
- 124, 18, 21, 124, 18, 21, 113, 69, 24, 20,
- 22, 50, 112, 116, 108, 28, 89, 10, 21, 2,
- 2, 22, 17, 18, 9, 36, 112, 19, 61, 85,
- 103, 71, 7, 21, 2, 2, 41, 53, 8, 32,
- 9, 31, 59, 14, 9, 41, 49, 10, 23, 55,
- 16, 13, 33, 49, 3, 17, 19, 29, 13, 10,
- 44, 0, 0, 0, 33, 47, 67, 13, 38, 2,
- 36, 27, 63, 111, 55, 61, 4, 23, 51, 31,
- 81, 43, 67, 51, 111, 53, 47, 61, 81, 36,
- 1, 14, 53, 19, 51, 43, 113, 16, 4, 6,
- 13, 32, 9, 9, 45, 41, 25, 21, 23, 18,
- 24, 7, 26, 40, 33, 0, 11, 7, 12, 23,
- 52, 3, 4, 52, 68, 72, 62, 48, 53, 15,
- 17, 28, 24, 69, 16, 20, 18, 6, 14, 14,
- 8, 10, 4, 10, 7, 10, 42, 22, 15, 1,
- 4, 3, 24, 40, 36, 20, 26, 10, 10, 8,
- 50, 36, 34, 27, 6, 15, 66, 46, 38, 28,
- 34, 38, 24, 32, 46, 2, 32, 18, 18, 10,
- 1, 22, 10, 18, 20, 14, 32, 48, 16, 35,
- 14, 27, 28, 54, 39, 100, 124, 106, 104, 110,
- 112, 100, 100, 92, 74, 60, 54, 68, 44, 21,
- 7, 6, 11, 58, 54, 48, 58, 52, 40, 32,
- 34, 3, 4, 5, 59, 49, 83, 21, 40, 36,
- 22, 0, 10, 11, 21, 33, 67, 21, 78, 42,
- 30, 16, 12, 11, 33, 41, 95, 10, 70, 56,
- 50, 40, 20, 10, 1, 19, 47, 13, 70, 62,
- 40, 8, 12, 15, 33, 61, 10, 112, 94, 84,
- 66, 46, 10, 11, 27, 39, 124, 77, 77, 41,
- 89, 83, 61, 81, 73, 69, 75, 77, 83, 59,
- 57, 51, 53, 49, 41, 11, 31, 37, 11, 4,
- 6, 2, 20, 20, 20, 10, 40, 32, 26, 26,
- 18, 40, 30, 16, 38, 34, 24, 18, 22, 1,
- 3, 9, 10, 15, 34, 60, 34, 20, 52, 46,
- 24, 40, 54, 36, 48, 20, 8, 28, 98, 94,
- 100, 96, 98, 120, 124, 124, 124, 124, 124, 124,
- 124, 124, 58, 124, 124, 124, 124, 124, 124, 94,
- 66, 62, 12, 29, 19, 57, 105, 114, 112, 120,
- 102, 94, 92, 70, 72, 52, 52, 34, 26, 22,
- 11, 21, 2, 1, 11, 68, 76, 68, 50, 66,
- 64, 36, 50, 54, 32, 4, 10, 5, 49, 40,
- 20, 2, 29, 11, 7, 7, 1, 3, 9, 5,
- 5, 0, 12, 3, 2, 8, 10, 124, 124, 124,
- 122, 110, 98, 84, 50, 9, 1, 60, 46, 40,
- 34, 20, 10, 6, 1, 21, 39, 31, 21, 31,
- 23, 9, 19, 33, 9, 1, 6, 1, 2, 8,
- 8, 124, 124, 122, 108, 98, 84, 62, 32, 17,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 5 */
-
- 124, 18, 21, 124, 18, 21, 109, 65, 24, 20,
- 20, 46, 108, 114, 108, 28, 85, 10, 19, 4,
- 2, 22, 15, 16, 11, 36, 108, 23, 63, 85,
- 97, 67, 7, 19, 4, 2, 41, 51, 8, 32,
- 9, 31, 57, 14, 11, 41, 49, 10, 23, 53,
- 16, 13, 33, 49, 1, 17, 17, 29, 11, 10,
- 44, 0, 0, 0, 33, 47, 67, 11, 36, 2,
- 36, 25, 63, 107, 51, 59, 8, 19, 47, 29,
- 79, 41, 65, 49, 107, 51, 47, 59, 79, 36,
- 1, 14, 53, 19, 51, 41, 109, 16, 4, 6,
- 13, 32, 9, 7, 43, 41, 25, 21, 21, 18,
- 24, 7, 26, 40, 31, 0, 9, 7, 12, 23,
- 50, 3, 4, 50, 66, 72, 60, 46, 51, 13,
- 17, 26, 24, 67, 16, 20, 18, 6, 14, 14,
- 10, 10, 4, 10, 7, 10, 40, 22, 17, 1,
- 4, 3, 22, 38, 36, 20, 24, 10, 10, 8,
- 48, 36, 32, 27, 6, 15, 64, 46, 38, 28,
- 34, 38, 24, 32, 46, 2, 32, 18, 18, 10,
- 1, 22, 10, 16, 20, 14, 30, 46, 16, 35,
- 12, 27, 26, 52, 39, 98, 122, 104, 102, 106,
- 108, 96, 96, 88, 70, 56, 50, 64, 42, 23,
- 7, 6, 11, 56, 52, 46, 56, 50, 36, 30,
- 32, 5, 4, 5, 59, 49, 83, 21, 40, 36,
- 22, 0, 10, 9, 19, 31, 65, 21, 78, 42,
- 30, 16, 12, 9, 31, 39, 91, 10, 70, 56,
- 50, 40, 20, 10, 1, 19, 45, 13, 72, 62,
- 38, 8, 12, 15, 33, 59, 10, 112, 92, 82,
- 64, 46, 10, 11, 27, 37, 124, 75, 75, 39,
- 87, 81, 59, 79, 71, 67, 73, 73, 79, 57,
- 55, 51, 53, 47, 41, 11, 29, 35, 11, 2,
- 6, 2, 20, 18, 18, 8, 38, 30, 26, 24,
- 18, 40, 30, 16, 36, 32, 24, 18, 20, 1,
- 3, 9, 10, 15, 32, 60, 34, 20, 50, 44,
- 24, 38, 52, 34, 46, 18, 6, 24, 96, 92,
- 100, 94, 96, 116, 124, 124, 124, 124, 124, 124,
- 124, 124, 56, 124, 124, 124, 124, 124, 122, 90,
- 64, 60, 12, 27, 19, 55, 101, 110, 110, 116,
- 98, 90, 88, 68, 68, 50, 48, 32, 22, 18,
- 13, 23, 2, 1, 13, 66, 72, 64, 46, 64,
- 62, 32, 48, 52, 28, 2, 8, 7, 51, 40,
- 18, 0, 27, 9, 7, 7, 0, 1, 7, 3,
- 3, 2, 16, 1, 4, 10, 14, 124, 124, 124,
- 116, 106, 92, 78, 44, 13, 1, 62, 48, 42,
- 34, 22, 10, 6, 0, 19, 39, 31, 19, 29,
- 21, 7, 17, 31, 9, 1, 6, 0, 4, 8,
- 8, 124, 124, 116, 102, 92, 78, 54, 24, 23,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 6 */
-
- 124, 18, 23, 124, 18, 23, 105, 63, 26, 20,
- 20, 44, 106, 112, 108, 28, 81, 10, 19, 6,
- 2, 20, 15, 14, 13, 34, 106, 25, 65, 87,
- 91, 65, 7, 19, 6, 2, 39, 49, 10, 30,
- 7, 29, 55, 12, 11, 41, 49, 10, 21, 53,
- 16, 13, 31, 49, 1, 17, 17, 29, 11, 10,
- 44, 0, 0, 0, 31, 47, 67, 11, 36, 0,
- 36, 25, 61, 103, 47, 55, 10, 15, 45, 27,
- 75, 39, 63, 49, 105, 51, 47, 59, 79, 38,
- 1, 14, 51, 17, 49, 41, 107, 16, 2, 4,
- 15, 32, 9, 7, 43, 41, 23, 21, 21, 18,
- 24, 5, 26, 38, 31, 0, 9, 7, 12, 23,
- 48, 3, 4, 48, 64, 70, 60, 46, 51, 13,
- 17, 26, 22, 67, 14, 20, 18, 6, 14, 14,
- 10, 10, 4, 10, 5, 10, 38, 22, 17, 3,
- 4, 5, 22, 36, 36, 20, 22, 10, 10, 8,
- 44, 36, 30, 27, 6, 17, 62, 46, 36, 28,
- 34, 38, 24, 32, 46, 2, 30, 18, 16, 10,
- 1, 20, 8, 16, 18, 12, 28, 44, 14, 35,
- 12, 25, 24, 48, 39, 94, 118, 100, 98, 102,
- 104, 92, 92, 84, 66, 54, 48, 60, 38, 25,
- 7, 6, 13, 54, 50, 44, 52, 46, 34, 28,
- 30, 7, 2, 7, 59, 49, 81, 19, 40, 36,
- 22, 2, 10, 9, 19, 31, 63, 19, 76, 42,
- 30, 16, 14, 9, 29, 37, 87, 10, 72, 56,
- 50, 40, 22, 10, 1, 17, 45, 13, 72, 62,
- 38, 8, 12, 13, 31, 57, 10, 110, 92, 80,
- 64, 46, 10, 9, 25, 37, 124, 75, 73, 39,
- 85, 79, 57, 75, 69, 65, 71, 71, 77, 57,
- 53, 51, 51, 43, 41, 13, 29, 35, 11, 2,
- 4, 2, 18, 16, 16, 6, 38, 30, 26, 24,
- 16, 38, 28, 16, 36, 32, 22, 18, 20, 1,
- 5, 9, 10, 17, 32, 58, 32, 18, 48, 44,
- 26, 38, 50, 34, 46, 18, 6, 22, 94, 90,
- 98, 92, 94, 114, 124, 124, 124, 124, 124, 124,
- 124, 122, 54, 124, 124, 124, 124, 124, 118, 86,
- 62, 58, 12, 25, 19, 51, 95, 106, 106, 112,
- 94, 86, 84, 64, 64, 46, 46, 30, 20, 16,
- 15, 25, 0, 3, 15, 64, 70, 62, 42, 60,
- 58, 30, 44, 48, 26, 1, 4, 11, 53, 38,
- 16, 1, 27, 9, 7, 5, 0, 1, 3, 1,
- 1, 4, 18, 2, 6, 14, 16, 124, 124, 120,
- 112, 100, 88, 72, 40, 17, 0, 62, 48, 42,
- 34, 24, 12, 6, 0, 19, 39, 29, 19, 29,
- 19, 5, 17, 31, 7, 0, 6, 0, 6, 8,
- 8, 124, 124, 112, 96, 84, 70, 48, 18, 27,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 7 */
-
- 124, 18, 23, 124, 18, 23, 101, 59, 26, 20,
- 18, 40, 102, 108, 108, 28, 75, 8, 17, 6,
- 2, 18, 15, 12, 15, 34, 102, 29, 67, 87,
- 85, 63, 7, 17, 6, 2, 39, 47, 10, 30,
- 7, 29, 55, 12, 13, 39, 49, 10, 21, 51,
- 14, 13, 31, 49, 0, 15, 17, 27, 9, 10,
- 44, 0, 0, 0, 31, 47, 67, 9, 34, 0,
- 36, 25, 61, 101, 43, 53, 14, 11, 43, 25,
- 73, 35, 61, 47, 101, 49, 45, 57, 77, 38,
- 1, 14, 51, 17, 49, 39, 103, 14, 2, 4,
- 15, 32, 9, 7, 41, 41, 23, 21, 19, 18,
- 22, 5, 26, 38, 31, 0, 9, 7, 12, 23,
- 48, 3, 4, 48, 62, 68, 58, 44, 49, 11,
- 17, 24, 22, 65, 14, 20, 16, 6, 14, 14,
- 12, 12, 4, 10, 5, 10, 36, 22, 19, 3,
- 4, 5, 20, 34, 34, 20, 22, 12, 10, 8,
- 42, 34, 28, 27, 6, 17, 62, 46, 36, 28,
- 34, 38, 24, 32, 46, 2, 30, 18, 16, 10,
- 1, 20, 8, 14, 18, 12, 28, 42, 14, 35,
- 10, 25, 22, 46, 39, 92, 114, 96, 94, 98,
- 100, 88, 88, 80, 62, 50, 44, 54, 34, 27,
- 7, 4, 13, 52, 48, 42, 50, 44, 30, 26,
- 28, 7, 2, 7, 59, 49, 81, 19, 40, 36,
- 22, 2, 10, 9, 19, 29, 61, 19, 76, 42,
- 30, 16, 14, 7, 27, 37, 83, 10, 72, 56,
- 50, 40, 22, 10, 1, 17, 43, 13, 72, 60,
- 36, 8, 12, 13, 31, 57, 10, 110, 90, 78,
- 62, 46, 10, 9, 25, 35, 124, 73, 71, 37,
- 81, 77, 55, 73, 65, 63, 67, 67, 73, 55,
- 51, 49, 51, 41, 39, 13, 29, 33, 11, 0,
- 4, 0, 16, 14, 14, 4, 36, 28, 26, 22,
- 16, 38, 28, 16, 34, 30, 22, 16, 18, 1,
- 5, 9, 10, 17, 30, 58, 30, 18, 46, 42,
- 26, 36, 48, 32, 44, 16, 4, 18, 92, 90,
- 98, 90, 90, 110, 124, 124, 124, 124, 124, 124,
- 124, 118, 50, 124, 124, 124, 124, 124, 112, 82,
- 60, 56, 12, 23, 17, 49, 91, 104, 102, 108,
- 92, 82, 80, 62, 60, 44, 42, 26, 16, 12,
- 17, 27, 0, 3, 17, 60, 66, 58, 40, 56,
- 54, 26, 42, 44, 22, 3, 2, 13, 53, 36,
- 16, 3, 27, 7, 5, 5, 2, 0, 1, 0,
- 0, 6, 20, 4, 8, 16, 18, 124, 122, 116,
- 106, 96, 82, 66, 34, 21, 0, 64, 50, 44,
- 36, 26, 12, 8, 2, 17, 37, 29, 17, 27,
- 17, 3, 17, 29, 7, 0, 6, 2, 8, 8,
- 8, 124, 124, 106, 90, 78, 62, 40, 10, 33,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 8 */
-
- 124, 16, 23, 124, 16, 23, 99, 57, 26, 20,
- 18, 38, 100, 106, 108, 28, 71, 8, 15, 8,
- 2, 16, 15, 10, 19, 32, 98, 33, 69, 89,
- 81, 61, 7, 15, 8, 2, 39, 45, 10, 28,
- 7, 29, 53, 10, 13, 39, 51, 10, 21, 51,
- 14, 15, 31, 49, 0, 15, 17, 27, 9, 10,
- 44, 0, 0, 0, 29, 49, 67, 9, 32, 0,
- 36, 25, 61, 97, 41, 49, 16, 9, 41, 23,
- 71, 33, 59, 45, 97, 49, 45, 57, 75, 38,
- 1, 14, 49, 17, 47, 39, 101, 14, 0, 2,
- 17, 32, 9, 7, 41, 41, 23, 21, 19, 16,
- 22, 5, 26, 36, 31, 0, 9, 7, 10, 23,
- 46, 5, 4, 46, 58, 66, 56, 42, 49, 11,
- 17, 22, 20, 65, 12, 18, 16, 6, 14, 14,
- 14, 12, 4, 8, 5, 8, 34, 20, 21, 3,
- 4, 7, 20, 32, 34, 18, 20, 12, 10, 8,
- 38, 34, 26, 27, 6, 19, 60, 44, 36, 28,
- 34, 36, 22, 32, 44, 0, 28, 18, 16, 8,
- 3, 18, 6, 14, 16, 10, 26, 40, 12, 35,
- 10, 25, 20, 42, 39, 88, 110, 92, 90, 94,
- 94, 84, 84, 76, 58, 46, 40, 50, 30, 29,
- 7, 4, 15, 50, 44, 38, 46, 40, 28, 22,
- 24, 9, 0, 9, 59, 49, 79, 19, 40, 36,
- 22, 2, 10, 9, 19, 29, 59, 17, 76, 42,
- 30, 16, 14, 7, 27, 35, 81, 10, 72, 56,
- 50, 38, 22, 10, 1, 17, 43, 13, 72, 60,
- 36, 8, 12, 13, 31, 55, 10, 108, 88, 76,
- 60, 44, 10, 9, 25, 35, 124, 71, 69, 37,
- 79, 75, 55, 71, 63, 61, 65, 65, 71, 55,
- 51, 49, 49, 39, 39, 15, 29, 33, 11, 0,
- 2, 0, 14, 12, 10, 2, 34, 28, 26, 22,
- 14, 36, 26, 14, 32, 28, 20, 16, 16, 3,
- 7, 9, 10, 19, 28, 56, 28, 18, 44, 40,
- 26, 34, 46, 32, 44, 14, 2, 14, 90, 88,
- 96, 86, 88, 108, 124, 124, 124, 124, 124, 124,
- 124, 112, 48, 124, 124, 124, 124, 122, 108, 78,
- 56, 52, 12, 23, 17, 47, 87, 100, 98, 104,
- 88, 76, 76, 58, 56, 40, 38, 24, 12, 10,
- 19, 29, 1, 5, 19, 58, 64, 54, 36, 52,
- 50, 24, 38, 40, 20, 5, 1, 17, 55, 34,
- 14, 5, 27, 7, 5, 3, 2, 0, 0, 0,
- 2, 8, 22, 6, 10, 18, 20, 122, 118, 112,
- 102, 90, 76, 60, 28, 27, 0, 64, 50, 44,
- 36, 26, 12, 8, 2, 17, 37, 29, 17, 27,
- 15, 1, 17, 29, 5, 2, 6, 2, 8, 8,
- 6, 124, 122, 102, 84, 72, 54, 32, 4, 39,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 9 */
-
- 124, 16, 23, 124, 16, 23, 95, 55, 28, 20,
- 18, 36, 98, 104, 108, 28, 67, 8, 13, 10,
- 2, 16, 13, 8, 21, 30, 94, 35, 71, 91,
- 75, 57, 7, 13, 10, 2, 37, 43, 12, 26,
- 7, 27, 51, 10, 13, 39, 51, 10, 21, 49,
- 14, 15, 31, 49, 0, 15, 15, 27, 9, 10,
- 44, 0, 0, 0, 27, 49, 67, 9, 30, 0,
- 36, 23, 61, 93, 37, 45, 18, 5, 37, 21,
- 67, 31, 55, 43, 93, 49, 45, 57, 73, 38,
- 1, 14, 47, 17, 45, 37, 99, 14, 0, 2,
- 17, 32, 9, 5, 39, 39, 21, 21, 19, 16,
- 22, 5, 26, 36, 29, 0, 7, 7, 10, 21,
- 44, 5, 4, 44, 56, 66, 54, 40, 47, 11,
- 15, 20, 18, 65, 10, 18, 16, 8, 14, 14,
- 16, 12, 4, 8, 3, 8, 34, 20, 23, 3,
- 4, 9, 20, 30, 34, 18, 18, 12, 10, 8,
- 36, 34, 26, 27, 6, 21, 58, 44, 36, 28,
- 34, 36, 22, 32, 44, 0, 28, 18, 16, 8,
- 3, 18, 6, 14, 16, 10, 24, 40, 12, 35,
- 10, 25, 18, 40, 39, 84, 108, 90, 88, 90,
- 90, 82, 82, 72, 54, 44, 38, 46, 28, 31,
- 7, 4, 17, 48, 42, 36, 44, 38, 26, 20,
- 22, 11, 1, 11, 59, 47, 77, 17, 42, 36,
- 22, 2, 12, 7, 17, 27, 57, 15, 76, 42,
- 30, 16, 16, 7, 25, 33, 77, 10, 72, 56,
- 50, 38, 24, 10, 1, 17, 41, 13, 74, 60,
- 36, 8, 14, 13, 31, 53, 10, 108, 88, 76,
- 58, 44, 10, 9, 23, 33, 124, 69, 67, 35,
- 77, 71, 53, 67, 61, 57, 63, 63, 67, 53,
- 49, 49, 47, 35, 39, 17, 27, 31, 11, 0,
- 0, 0, 14, 10, 8, 0, 34, 28, 26, 22,
- 14, 34, 26, 14, 30, 28, 20, 16, 14, 3,
- 7, 7, 12, 19, 28, 54, 28, 18, 44, 40,
- 26, 32, 44, 32, 44, 12, 2, 12, 90, 86,
- 94, 84, 86, 106, 120, 120, 124, 124, 124, 124,
- 124, 108, 46, 124, 124, 124, 124, 116, 104, 76,
- 54, 50, 12, 21, 17, 45, 83, 96, 96, 100,
- 84, 72, 74, 56, 52, 38, 36, 22, 10, 8,
- 21, 29, 1, 5, 21, 56, 62, 52, 32, 50,
- 48, 22, 36, 38, 18, 7, 3, 19, 57, 34,
- 12, 5, 25, 7, 5, 1, 4, 2, 2, 2,
- 4, 10, 26, 8, 12, 22, 24, 120, 116, 108,
- 98, 84, 70, 54, 22, 31, 2, 64, 50, 46,
- 36, 28, 14, 8, 4, 15, 37, 27, 15, 27,
- 13, 2, 15, 27, 3, 4, 6, 4, 10, 8,
- 6, 124, 118, 98, 80, 66, 48, 24, 1, 43,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 10 */
-
- 124, 16, 23, 124, 16, 23, 91, 51, 28, 20,
- 16, 32, 94, 100, 108, 28, 61, 6, 11, 10,
- 2, 14, 13, 6, 23, 30, 90, 39, 73, 91,
- 69, 55, 7, 11, 10, 2, 37, 41, 12, 26,
- 7, 27, 51, 10, 15, 37, 51, 10, 21, 47,
- 12, 15, 31, 49, 2, 13, 15, 25, 7, 10,
- 44, 0, 0, 0, 27, 49, 67, 7, 28, 0,
- 36, 23, 61, 91, 33, 43, 22, 1, 35, 19,
- 65, 27, 53, 41, 89, 47, 43, 55, 71, 38,
- 1, 14, 47, 17, 45, 37, 95, 12, 0, 2,
- 17, 32, 9, 5, 39, 39, 21, 21, 17, 16,
- 20, 5, 26, 36, 29, 0, 7, 7, 10, 21,
- 44, 5, 4, 44, 54, 64, 52, 38, 45, 9,
- 15, 18, 18, 63, 10, 18, 14, 8, 14, 14,
- 18, 14, 4, 8, 3, 8, 32, 20, 25, 3,
- 4, 9, 18, 28, 32, 18, 18, 14, 10, 8,
- 34, 32, 24, 27, 6, 21, 58, 44, 36, 28,
- 34, 36, 22, 32, 44, 0, 28, 18, 16, 8,
- 3, 18, 6, 12, 16, 10, 24, 38, 10, 35,
- 8, 25, 16, 38, 39, 82, 104, 86, 84, 86,
- 86, 78, 78, 68, 50, 40, 34, 40, 24, 33,
- 7, 2, 17, 46, 40, 34, 42, 34, 22, 18,
- 20, 11, 1, 11, 59, 47, 77, 17, 42, 36,
- 22, 2, 12, 7, 17, 27, 55, 15, 76, 42,
- 30, 16, 16, 5, 23, 33, 73, 10, 72, 56,
- 50, 38, 24, 10, 1, 17, 39, 13, 74, 58,
- 34, 8, 14, 13, 31, 53, 10, 106, 86, 74,
- 56, 44, 10, 9, 23, 33, 124, 67, 65, 33,
- 73, 69, 51, 65, 57, 55, 59, 59, 63, 51,
- 47, 47, 47, 33, 37, 17, 27, 29, 11, 1,
- 0, 1, 12, 8, 6, 1, 32, 26, 26, 20,
- 12, 34, 26, 14, 28, 26, 20, 14, 12, 3,
- 7, 7, 12, 19, 26, 54, 26, 18, 42, 38,
- 26, 30, 42, 30, 42, 10, 0, 8, 88, 86,
- 94, 82, 82, 102, 116, 116, 124, 124, 124, 124,
- 124, 104, 42, 118, 124, 118, 124, 112, 98, 72,
- 52, 48, 12, 19, 15, 43, 79, 94, 92, 96,
- 82, 68, 70, 52, 48, 36, 32, 18, 6, 4,
- 23, 31, 3, 5, 23, 52, 58, 48, 30, 46,
- 44, 18, 32, 34, 14, 9, 5, 21, 57, 32,
- 12, 7, 25, 5, 3, 1, 4, 4, 4, 4,
- 6, 12, 28, 10, 14, 24, 26, 120, 112, 104,
- 92, 80, 64, 48, 16, 35, 2, 66, 52, 46,
- 38, 30, 14, 10, 4, 15, 35, 27, 13, 25,
- 11, 4, 15, 25, 3, 4, 6, 4, 12, 8,
- 6, 124, 114, 92, 74, 60, 40, 16, 9, 49,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 11 */
-
- 124, 16, 25, 124, 16, 25, 87, 49, 30, 20,
- 16, 30, 92, 98, 108, 28, 57, 6, 11, 12,
- 2, 12, 13, 4, 25, 28, 88, 41, 75, 93,
- 63, 53, 7, 11, 12, 2, 35, 39, 14, 24,
- 5, 25, 49, 8, 15, 37, 51, 10, 19, 47,
- 12, 15, 29, 49, 2, 13, 15, 25, 7, 10,
- 44, 0, 0, 0, 25, 49, 67, 7, 28, 1,
- 36, 23, 59, 87, 29, 39, 24, 2, 33, 17,
- 61, 25, 51, 41, 87, 47, 43, 55, 71, 40,
- 1, 14, 45, 15, 43, 35, 93, 12, 1, 0,
- 19, 32, 9, 5, 37, 39, 19, 21, 17, 16,
- 20, 3, 26, 34, 29, 0, 7, 7, 10, 21,
- 42, 5, 4, 42, 52, 62, 52, 38, 45, 9,
- 15, 18, 16, 63, 8, 18, 14, 8, 14, 14,
- 18, 14, 4, 8, 1, 8, 30, 20, 25, 5,
- 4, 11, 18, 26, 32, 18, 16, 14, 10, 8,
- 30, 32, 22, 27, 6, 23, 56, 44, 34, 28,
- 34, 36, 22, 32, 44, 0, 26, 18, 14, 8,
- 3, 16, 4, 12, 14, 8, 22, 36, 10, 35,
- 8, 23, 14, 34, 39, 78, 100, 82, 80, 82,
- 82, 74, 74, 64, 46, 38, 32, 36, 20, 35,
- 7, 2, 19, 44, 38, 32, 38, 32, 20, 16,
- 18, 13, 3, 13, 59, 47, 75, 15, 42, 36,
- 22, 4, 12, 7, 17, 25, 53, 13, 74, 42,
- 30, 16, 18, 5, 21, 31, 69, 10, 74, 56,
- 50, 38, 26, 10, 1, 15, 39, 13, 74, 58,
- 34, 8, 14, 11, 29, 51, 10, 106, 86, 72,
- 56, 44, 10, 7, 21, 31, 124, 67, 63, 33,
- 71, 67, 49, 61, 55, 53, 57, 57, 61, 51,
- 45, 47, 45, 29, 37, 19, 27, 29, 11, 1,
- 1, 1, 10, 6, 4, 3, 32, 26, 26, 20,
- 12, 32, 24, 14, 28, 26, 18, 14, 12, 3,
- 9, 7, 12, 21, 26, 52, 24, 16, 40, 38,
- 28, 30, 40, 30, 42, 10, 0, 6, 86, 84,
- 92, 80, 80, 100, 112, 112, 122, 120, 124, 124,
- 120, 98, 40, 114, 124, 112, 124, 106, 94, 68,
- 50, 46, 12, 17, 15, 39, 73, 90, 88, 92,
- 78, 64, 66, 50, 44, 32, 30, 16, 4, 2,
- 25, 33, 3, 7, 25, 50, 56, 46, 26, 42,
- 40, 16, 30, 30, 12, 13, 9, 25, 59, 30,
- 10, 9, 25, 5, 3, 0, 6, 4, 8, 6,
- 8, 14, 30, 14, 16, 28, 28, 118, 110, 100,
- 88, 74, 60, 42, 12, 39, 4, 66, 52, 48,
- 38, 32, 16, 10, 6, 13, 35, 25, 13, 25,
- 9, 6, 15, 25, 1, 6, 6, 6, 14, 8,
- 6, 124, 110, 88, 68, 52, 32, 10, 15, 53,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 12 */
-
- 124, 16, 25, 124, 16, 25, 85, 45, 30, 20,
- 14, 26, 88, 96, 108, 28, 53, 6, 9, 14,
- 2, 10, 13, 2, 27, 28, 84, 45, 77, 93,
- 57, 51, 7, 9, 14, 2, 35, 37, 14, 24,
- 5, 25, 47, 8, 17, 37, 51, 10, 19, 45,
- 12, 17, 29, 49, 4, 13, 15, 25, 5, 10,
- 44, 0, 0, 0, 25, 51, 67, 5, 26, 1,
- 36, 23, 59, 83, 27, 37, 28, 4, 31, 15,
- 59, 23, 49, 39, 83, 45, 43, 53, 69, 40,
- 1, 14, 45, 15, 43, 35, 89, 12, 1, 0,
- 19, 32, 9, 5, 37, 39, 19, 21, 15, 16,
- 20, 3, 26, 34, 29, 0, 7, 7, 10, 21,
- 40, 7, 4, 40, 50, 60, 50, 36, 43, 7,
- 15, 16, 16, 61, 8, 18, 14, 8, 14, 14,
- 20, 14, 4, 6, 1, 6, 28, 18, 27, 5,
- 4, 11, 16, 24, 32, 16, 14, 14, 10, 8,
- 28, 32, 20, 27, 6, 23, 54, 44, 34, 28,
- 34, 36, 22, 32, 42, 0, 26, 18, 14, 8,
- 5, 16, 4, 10, 14, 8, 20, 34, 8, 35,
- 6, 23, 12, 32, 39, 76, 96, 78, 76, 78,
- 78, 70, 70, 60, 42, 34, 28, 32, 16, 37,
- 7, 2, 19, 42, 36, 30, 36, 28, 16, 14,
- 14, 15, 3, 13, 59, 47, 75, 15, 42, 36,
- 22, 4, 12, 7, 17, 25, 51, 13, 74, 42,
- 30, 16, 18, 3, 21, 29, 65, 10, 74, 56,
- 50, 38, 26, 10, 1, 15, 37, 13, 74, 58,
- 32, 8, 14, 11, 29, 49, 10, 104, 84, 70,
- 54, 44, 10, 7, 21, 31, 124, 65, 61, 31,
- 69, 65, 47, 59, 53, 51, 55, 53, 57, 49,
- 45, 47, 45, 27, 37, 19, 27, 27, 11, 3,
- 1, 1, 8, 4, 2, 5, 30, 24, 26, 18,
- 10, 32, 24, 14, 26, 24, 18, 14, 10, 5,
- 9, 7, 12, 21, 24, 52, 22, 16, 38, 36,
- 28, 28, 38, 28, 40, 8, 1, 2, 84, 82,
- 92, 78, 78, 96, 108, 108, 118, 114, 124, 124,
- 114, 94, 38, 108, 124, 106, 116, 100, 88, 64,
- 48, 42, 12, 15, 15, 37, 69, 86, 84, 88,
- 74, 60, 62, 46, 40, 30, 26, 14, 0, 1,
- 27, 35, 5, 7, 27, 48, 52, 42, 22, 38,
- 36, 12, 26, 26, 8, 15, 11, 27, 61, 28,
- 8, 11, 25, 3, 3, 0, 6, 6, 10, 6,
- 10, 16, 32, 16, 18, 30, 30, 118, 106, 96,
- 82, 70, 54, 36, 6, 45, 4, 68, 54, 48,
- 38, 32, 16, 10, 6, 13, 35, 25, 11, 23,
- 7, 8, 15, 23, 1, 6, 6, 6, 16, 8,
- 6, 122, 106, 82, 62, 46, 24, 2, 23, 59,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 13 */
-
- 124, 16, 25, 124, 16, 25, 81, 43, 30, 20,
- 14, 24, 86, 92, 108, 28, 47, 4, 7, 14,
- 2, 10, 11, 0, 29, 26, 80, 49, 79, 95,
- 51, 47, 7, 7, 14, 2, 35, 35, 14, 22,
- 5, 25, 47, 8, 17, 35, 51, 10, 19, 43,
- 10, 17, 29, 49, 4, 11, 13, 23, 5, 10,
- 44, 0, 0, 0, 23, 51, 67, 5, 24, 1,
- 36, 21, 59, 81, 23, 33, 30, 8, 27, 13,
- 57, 19, 47, 37, 79, 45, 41, 53, 67, 40,
- 1, 14, 43, 15, 41, 33, 87, 10, 1, 0,
- 19, 32, 9, 3, 35, 39, 19, 21, 15, 16,
- 18, 3, 26, 34, 27, 0, 5, 7, 10, 21,
- 40, 7, 4, 40, 48, 60, 48, 34, 41, 7,
- 15, 14, 14, 61, 6, 18, 12, 8, 14, 14,
- 22, 16, 4, 6, 1, 6, 26, 18, 29, 5,
- 4, 13, 16, 22, 30, 16, 14, 16, 10, 8,
- 26, 30, 18, 27, 6, 25, 54, 44, 34, 28,
- 34, 36, 22, 32, 42, 0, 26, 18, 14, 8,
- 5, 16, 4, 10, 14, 8, 20, 32, 8, 35,
- 6, 23, 10, 30, 39, 72, 92, 76, 74, 74,
- 74, 66, 66, 56, 38, 30, 24, 26, 14, 39,
- 7, 0, 21, 40, 34, 28, 34, 26, 14, 12,
- 12, 15, 5, 15, 59, 47, 73, 15, 42, 36,
- 22, 4, 12, 5, 15, 23, 49, 11, 74, 42,
- 30, 16, 18, 3, 19, 29, 61, 10, 74, 56,
- 50, 38, 26, 10, 1, 15, 35, 13, 76, 56,
- 32, 8, 14, 11, 29, 49, 10, 104, 82, 68,
- 52, 44, 10, 7, 21, 29, 124, 63, 59, 29,
- 65, 63, 45, 57, 49, 49, 51, 51, 53, 47,
- 43, 45, 43, 25, 35, 21, 25, 25, 11, 3,
- 3, 3, 8, 2, 0, 7, 28, 24, 26, 18,
- 10, 30, 24, 14, 24, 22, 18, 12, 8, 5,
- 9, 7, 12, 21, 22, 50, 22, 16, 36, 34,
- 28, 26, 36, 28, 40, 6, 3, 1, 82, 82,
- 90, 76, 74, 94, 104, 104, 114, 110, 124, 122,
- 108, 90, 34, 102, 124, 100, 108, 96, 84, 60,
- 46, 40, 12, 13, 13, 35, 65, 84, 82, 84,
- 72, 56, 58, 44, 36, 28, 22, 10, 3, 3,
- 29, 37, 5, 7, 29, 44, 50, 38, 20, 36,
- 34, 10, 24, 24, 6, 17, 13, 29, 61, 28,
- 8, 13, 23, 3, 1, 2, 8, 8, 12, 8,
- 12, 18, 36, 18, 20, 32, 34, 116, 102, 92,
- 78, 64, 48, 30, 0, 49, 4, 68, 54, 50,
- 40, 34, 16, 12, 8, 11, 33, 25, 9, 23,
- 5, 10, 13, 21, 0, 8, 6, 8, 18, 8,
- 6, 118, 102, 78, 56, 40, 18, 5, 29, 65,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 14 */
-
- 122, 16, 25, 122, 16, 25, 77, 39, 32, 20,
- 12, 20, 82, 90, 108, 28, 43, 4, 5, 16,
- 2, 8, 11, 1, 31, 26, 76, 51, 81, 95,
- 45, 45, 7, 5, 16, 2, 33, 33, 16, 22,
- 5, 23, 45, 6, 19, 35, 51, 10, 19, 43,
- 10, 17, 29, 49, 6, 11, 13, 23, 3, 10,
- 44, 0, 0, 0, 23, 51, 67, 3, 22, 1,
- 36, 21, 59, 77, 19, 31, 34, 12, 25, 11,
- 53, 17, 45, 35, 75, 43, 41, 51, 65, 40,
- 1, 14, 43, 15, 41, 33, 83, 10, 3, 1,
- 21, 32, 9, 3, 35, 39, 17, 21, 13, 16,
- 18, 3, 26, 32, 27, 0, 5, 7, 10, 21,
- 38, 7, 4, 38, 46, 58, 46, 32, 41, 5,
- 15, 12, 14, 59, 6, 18, 12, 8, 14, 14,
- 24, 16, 4, 6, 0, 6, 24, 18, 31, 5,
- 4, 13, 14, 20, 30, 16, 12, 16, 10, 8,
- 22, 30, 16, 27, 6, 25, 52, 44, 34, 28,
- 34, 36, 22, 32, 42, 0, 24, 18, 14, 8,
- 5, 14, 2, 8, 12, 6, 18, 30, 6, 35,
- 4, 23, 8, 26, 39, 70, 88, 72, 70, 70,
- 70, 62, 62, 52, 34, 28, 22, 22, 10, 41,
- 7, 0, 21, 38, 32, 26, 30, 22, 10, 10,
- 10, 17, 5, 15, 59, 47, 73, 13, 42, 36,
- 22, 4, 12, 5, 15, 23, 47, 11, 74, 42,
- 30, 16, 20, 1, 17, 27, 57, 10, 74, 56,
- 50, 38, 28, 10, 1, 15, 35, 13, 76, 56,
- 30, 8, 14, 11, 29, 47, 10, 102, 82, 66,
- 50, 44, 10, 7, 19, 29, 124, 61, 57, 29,
- 63, 61, 43, 53, 47, 47, 49, 47, 51, 47,
- 41, 45, 43, 21, 35, 21, 25, 25, 11, 5,
- 3, 3, 6, 0, 1, 9, 28, 22, 26, 16,
- 8, 30, 22, 14, 22, 22, 16, 12, 6, 5,
- 11, 7, 12, 23, 22, 50, 20, 16, 34, 34,
- 28, 24, 34, 26, 38, 4, 3, 3, 80, 80,
- 90, 74, 72, 90, 100, 100, 110, 104, 120, 118,
- 102, 84, 32, 96, 124, 94, 100, 90, 78, 56,
- 44, 38, 12, 11, 13, 33, 61, 80, 78, 80,
- 68, 52, 54, 40, 32, 24, 20, 8, 5, 7,
- 31, 39, 7, 9, 31, 42, 46, 36, 16, 32,
- 30, 6, 20, 20, 2, 19, 17, 33, 63, 26,
- 6, 15, 23, 1, 1, 2, 8, 8, 14, 10,
- 14, 20, 38, 20, 22, 36, 36, 116, 100, 88,
- 72, 60, 42, 24, 5, 53, 6, 70, 56, 50,
- 40, 36, 18, 12, 8, 11, 33, 23, 9, 21,
- 3, 12, 13, 21, 0, 8, 6, 8, 20, 8,
- 6, 116, 98, 72, 50, 34, 10, 13, 37, 69,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 15 */
-
- 120, 16, 25, 120, 16, 25, 73, 37, 32, 20,
- 12, 18, 80, 88, 108, 28, 39, 4, 3, 18,
- 2, 6, 11, 3, 33, 24, 72, 55, 83, 97,
- 39, 43, 7, 3, 18, 2, 33, 31, 16, 20,
- 5, 23, 43, 6, 19, 35, 51, 10, 19, 41,
- 10, 17, 29, 49, 6, 11, 13, 23, 3, 10,
- 44, 0, 0, 0, 21, 51, 67, 3, 20, 1,
- 36, 21, 59, 73, 15, 27, 36, 16, 23, 9,
- 51, 15, 43, 33, 71, 43, 41, 51, 63, 40,
- 1, 14, 41, 15, 39, 31, 81, 10, 3, 1,
- 21, 32, 9, 3, 33, 39, 17, 21, 13, 16,
- 18, 3, 26, 32, 27, 0, 5, 7, 10, 21,
- 36, 7, 4, 36, 44, 56, 44, 30, 39, 5,
- 15, 10, 12, 59, 4, 18, 12, 8, 14, 14,
- 26, 16, 4, 6, 0, 6, 22, 18, 33, 5,
- 4, 15, 14, 18, 30, 16, 10, 16, 10, 8,
- 20, 30, 14, 27, 6, 27, 50, 44, 34, 28,
- 34, 36, 22, 32, 42, 0, 24, 18, 14, 8,
- 5, 14, 2, 8, 12, 6, 16, 28, 6, 35,
- 4, 23, 6, 24, 39, 66, 84, 68, 66, 66,
- 66, 58, 58, 48, 30, 24, 18, 18, 6, 43,
- 7, 0, 23, 36, 30, 24, 28, 20, 8, 8,
- 8, 19, 7, 17, 59, 47, 71, 13, 42, 36,
- 22, 4, 12, 5, 15, 21, 45, 9, 74, 42,
- 30, 16, 20, 1, 15, 25, 53, 10, 74, 56,
- 50, 38, 28, 10, 1, 15, 33, 13, 76, 56,
- 30, 8, 14, 11, 29, 45, 10, 102, 80, 64,
- 48, 44, 10, 7, 19, 27, 124, 59, 55, 27,
- 61, 59, 41, 51, 45, 45, 47, 45, 47, 45,
- 39, 45, 41, 19, 35, 23, 25, 23, 11, 5,
- 5, 3, 4, 1, 3, 11, 26, 22, 26, 16,
- 8, 28, 22, 14, 20, 20, 16, 12, 4, 5,
- 11, 7, 12, 23, 20, 48, 18, 16, 32, 32,
- 28, 22, 32, 26, 38, 2, 5, 7, 78, 78,
- 88, 72, 70, 88, 96, 96, 106, 100, 114, 112,
- 96, 80, 30, 90, 118, 88, 92, 84, 74, 52,
- 42, 36, 12, 9, 13, 31, 57, 76, 74, 76,
- 64, 48, 50, 38, 28, 22, 16, 6, 9, 9,
- 33, 41, 7, 9, 33, 40, 44, 32, 12, 28,
- 26, 4, 18, 16, 0, 21, 19, 35, 65, 24,
- 4, 17, 23, 1, 1, 4, 10, 10, 16, 12,
- 16, 22, 40, 22, 24, 38, 38, 114, 96, 84,
- 68, 54, 36, 18, 11, 57, 6, 70, 56, 52,
- 40, 38, 18, 12, 10, 9, 33, 23, 7, 21,
- 1, 14, 13, 19, 2, 10, 6, 10, 22, 8,
- 6, 114, 94, 68, 44, 28, 2, 21, 43, 75,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 16 */
-
- 116, 14, 27, 116, 14, 27, 71, 35, 32, 20,
- 10, 14, 76, 84, 106, 28, 35, 2, 3, 18,
- 0, 4, 11, 7, 37, 22, 68, 59, 85, 99,
- 35, 41, 9, 3, 18, 0, 33, 29, 16, 18,
- 5, 23, 43, 4, 21, 35, 53, 10, 19, 41,
- 8, 19, 29, 49, 6, 11, 13, 23, 3, 8,
- 44, 0, 0, 0, 21, 53, 67, 3, 18, 3,
- 36, 21, 59, 71, 13, 25, 38, 18, 21, 7,
- 49, 13, 41, 33, 69, 43, 41, 51, 63, 40,
- 1, 14, 41, 15, 39, 31, 79, 8, 5, 3,
- 23, 32, 9, 3, 33, 39, 17, 21, 13, 14,
- 16, 3, 24, 30, 27, 1, 5, 7, 8, 21,
- 34, 9, 2, 34, 40, 54, 42, 28, 39, 5,
- 15, 8, 10, 59, 2, 16, 10, 8, 14, 14,
- 26, 16, 4, 4, 0, 4, 20, 16, 35, 7,
- 2, 17, 12, 16, 28, 14, 8, 16, 10, 8,
- 16, 28, 12, 27, 6, 29, 48, 42, 32, 28,
- 34, 34, 20, 32, 40, 1, 22, 18, 12, 6,
- 7, 12, 0, 6, 10, 4, 14, 26, 4, 35,
- 2, 23, 4, 20, 39, 62, 80, 64, 62, 62,
- 60, 54, 54, 44, 26, 20, 14, 12, 2, 47,
- 9, 1, 25, 34, 26, 20, 24, 16, 4, 4,
- 4, 21, 9, 19, 59, 47, 71, 13, 42, 36,
- 22, 4, 12, 5, 15, 21, 43, 9, 72, 42,
- 30, 16, 20, 1, 15, 25, 51, 8, 74, 56,
- 48, 36, 28, 10, 1, 15, 33, 13, 76, 54,
- 28, 6, 14, 11, 29, 45, 10, 100, 78, 62,
- 46, 42, 10, 7, 19, 27, 124, 59, 53, 27,
- 59, 57, 41, 49, 43, 43, 45, 43, 45, 45,
- 39, 45, 41, 17, 35, 25, 25, 23, 11, 7,
- 7, 5, 2, 3, 7, 15, 24, 20, 26, 14,
- 6, 26, 20, 12, 18, 18, 14, 10, 2, 7,
- 13, 7, 12, 25, 18, 46, 16, 14, 30, 30,
- 28, 20, 28, 24, 36, 0, 7, 11, 76, 76,
- 86, 68, 66, 84, 92, 92, 100, 94, 108, 106,
- 90, 74, 26, 84, 110, 82, 82, 78, 68, 48,
- 38, 32, 12, 9, 13, 29, 53, 72, 70, 72,
- 60, 42, 46, 34, 22, 18, 12, 2, 13, 13,
- 35, 43, 9, 11, 37, 36, 40, 28, 8, 24,
- 22, 0, 14, 12, 3, 25, 23, 39, 67, 22,
- 2, 19, 23, 1, 1, 4, 10, 10, 18, 12,
- 18, 22, 42, 24, 26, 40, 40, 112, 92, 78,
- 62, 48, 30, 10, 17, 63, 6, 70, 56, 52,
- 40, 38, 18, 12, 10, 9, 33, 23, 7, 21,
- 0, 16, 13, 19, 2, 10, 6, 10, 22, 8,
- 4, 110, 88, 62, 38, 20, 5, 29, 51, 81,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 17 */
-
- 114, 14, 27, 114, 14, 27, 67, 31, 34, 22,
- 10, 12, 74, 82, 106, 28, 29, 2, 1, 20,
- 0, 4, 9, 9, 39, 22, 66, 61, 87, 99,
- 29, 37, 9, 1, 20, 0, 31, 25, 18, 18,
- 3, 21, 41, 4, 21, 33, 53, 10, 17, 39,
- 8, 19, 27, 49, 8, 9, 11, 21, 1, 8,
- 44, 0, 0, 0, 19, 53, 67, 1, 18, 3,
- 36, 19, 57, 67, 9, 21, 42, 22, 17, 5,
- 45, 9, 37, 31, 65, 41, 39, 49, 61, 42,
- 0, 16, 39, 13, 37, 29, 75, 8, 5, 3,
- 23, 34, 9, 1, 31, 37, 15, 19, 11, 14,
- 16, 1, 24, 30, 25, 1, 3, 7, 8, 19,
- 34, 9, 2, 34, 38, 54, 42, 28, 37, 3,
- 13, 8, 10, 57, 2, 16, 10, 10, 14, 14,
- 28, 18, 6, 4, 2, 4, 20, 16, 35, 7,
- 2, 17, 12, 14, 28, 14, 8, 18, 12, 8,
- 14, 28, 12, 25, 6, 29, 48, 42, 32, 28,
- 34, 34, 20, 32, 40, 1, 22, 18, 12, 6,
- 7, 12, 0, 6, 10, 4, 14, 26, 4, 33,
- 2, 21, 4, 18, 37, 60, 78, 62, 60, 58,
- 56, 52, 52, 40, 24, 18, 12, 8, 0, 49,
- 9, 1, 25, 32, 24, 18, 22, 14, 2, 2,
- 2, 21, 9, 19, 57, 45, 69, 11, 44, 36,
- 22, 6, 14, 3, 13, 19, 39, 7, 72, 42,
- 30, 16, 22, 0, 13, 23, 47, 8, 76, 58,
- 48, 36, 30, 10, 1, 13, 31, 13, 78, 54,
- 28, 6, 16, 9, 27, 43, 10, 100, 78, 62,
- 46, 42, 10, 5, 17, 25, 124, 57, 51, 25,
- 55, 53, 39, 45, 39, 39, 41, 39, 41, 43,
- 37, 43, 39, 13, 33, 25, 23, 21, 9, 7,
- 7, 5, 2, 3, 9, 17, 24, 20, 28, 14,
- 6, 26, 20, 12, 18, 18, 14, 10, 2, 7,
- 13, 5, 14, 25, 18, 46, 16, 14, 30, 30,
- 30, 20, 26, 24, 36, 0, 7, 13, 76, 76,
- 86, 66, 64, 82, 88, 88, 96, 90, 104, 102,
- 86, 70, 24, 80, 104, 76, 74, 74, 64, 46,
- 36, 30, 12, 7, 11, 25, 47, 70, 68, 70,
- 58, 38, 44, 32, 18, 16, 10, 0, 15, 15,
- 37, 43, 9, 11, 39, 34, 38, 26, 6, 22,
- 20, 1, 12, 10, 5, 27, 25, 41, 67, 22,
- 2, 19, 21, 0, 0, 6, 12, 12, 22, 14,
- 20, 24, 46, 28, 28, 44, 44, 112, 90, 74,
- 58, 44, 26, 4, 21, 67, 8, 72, 58, 54,
- 42, 40, 20, 14, 12, 7, 31, 21, 5, 19,
- 4, 20, 11, 17, 4, 12, 8, 12, 24, 8,
- 4, 108, 84, 58, 34, 14, 11, 35, 57, 85,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 18 */
-
- 112, 14, 27, 112, 14, 27, 63, 29, 34, 22,
- 10, 10, 72, 80, 106, 28, 25, 2, 0, 22,
- 0, 2, 9, 11, 41, 20, 62, 65, 89, 101,
- 23, 35, 9, 0, 22, 0, 31, 23, 18, 16,
- 3, 21, 39, 4, 21, 33, 53, 10, 17, 37,
- 8, 19, 27, 49, 8, 9, 11, 21, 1, 8,
- 44, 0, 0, 0, 17, 53, 67, 1, 16, 3,
- 36, 19, 57, 63, 5, 17, 44, 26, 15, 3,
- 43, 7, 35, 29, 61, 41, 39, 49, 59, 42,
- 0, 16, 37, 13, 35, 29, 73, 8, 5, 3,
- 23, 34, 9, 1, 31, 37, 15, 19, 11, 14,
- 16, 1, 24, 30, 25, 1, 3, 7, 8, 19,
- 32, 9, 2, 32, 36, 52, 40, 26, 35, 3,
- 13, 6, 8, 57, 0, 16, 10, 10, 14, 14,
- 30, 18, 6, 4, 2, 4, 18, 16, 37, 7,
- 2, 19, 12, 12, 28, 14, 6, 18, 12, 8,
- 12, 28, 10, 25, 6, 31, 46, 42, 32, 28,
- 34, 34, 20, 32, 40, 1, 22, 18, 12, 6,
- 7, 12, 0, 6, 10, 4, 12, 24, 2, 33,
- 2, 21, 2, 16, 37, 56, 74, 58, 56, 54,
- 52, 48, 48, 36, 20, 14, 8, 4, 3, 51,
- 9, 1, 27, 30, 22, 16, 20, 10, 0, 0,
- 0, 23, 11, 21, 57, 45, 67, 11, 44, 36,
- 22, 6, 14, 3, 13, 19, 37, 5, 72, 42,
- 30, 16, 22, 0, 11, 21, 43, 8, 76, 58,
- 48, 36, 30, 10, 1, 13, 29, 13, 78, 54,
- 28, 6, 16, 9, 27, 41, 10, 98, 76, 60,
- 44, 42, 10, 5, 17, 25, 124, 55, 49, 23,
- 53, 51, 37, 43, 37, 37, 39, 37, 37, 41,
- 35, 43, 37, 11, 33, 27, 23, 19, 9, 7,
- 9, 5, 0, 5, 11, 19, 22, 20, 28, 14,
- 4, 24, 20, 12, 16, 16, 14, 10, 0, 7,
- 13, 5, 14, 25, 16, 44, 14, 14, 28, 28,
- 30, 18, 24, 24, 36, 1, 9, 17, 74, 74,
- 84, 64, 62, 80, 84, 84, 92, 86, 98, 96,
- 80, 66, 22, 74, 98, 70, 66, 68, 60, 42,
- 34, 28, 12, 5, 11, 23, 43, 66, 64, 66,
- 54, 34, 40, 28, 14, 14, 6, 1, 19, 17,
- 39, 45, 11, 11, 41, 32, 36, 22, 2, 18,
- 16, 3, 8, 6, 7, 29, 27, 43, 69, 20,
- 0, 21, 21, 0, 0, 8, 12, 14, 24, 16,
- 22, 26, 48, 30, 30, 46, 46, 110, 86, 70,
- 54, 38, 20, 1, 27, 71, 8, 72, 58, 54,
- 42, 42, 20, 14, 12, 7, 31, 21, 3, 19,
- 6, 22, 11, 15, 6, 14, 8, 12, 26, 8,
- 4, 106, 80, 54, 28, 8, 19, 43, 63, 91,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 19 */
-
- 110, 14, 27, 110, 14, 27, 59, 25, 36, 22,
- 8, 6, 68, 78, 106, 28, 21, 2, 2, 24,
- 0, 0, 9, 13, 43, 20, 58, 67, 91, 101,
- 17, 33, 9, 2, 24, 0, 29, 21, 20, 16,
- 3, 19, 37, 2, 23, 33, 53, 10, 17, 37,
- 8, 19, 27, 49, 10, 9, 11, 21, 0, 8,
- 44, 0, 0, 0, 17, 53, 67, 0, 14, 3,
- 36, 19, 57, 59, 1, 15, 48, 30, 13, 1,
- 39, 5, 33, 27, 57, 39, 39, 47, 57, 42,
- 0, 16, 37, 13, 35, 27, 69, 8, 7, 5,
- 25, 34, 9, 1, 29, 37, 13, 19, 9, 14,
- 16, 1, 24, 28, 25, 1, 3, 7, 8, 19,
- 30, 9, 2, 30, 34, 50, 38, 24, 35, 1,
- 13, 4, 8, 55, 0, 16, 10, 10, 14, 14,
- 32, 18, 6, 4, 4, 4, 16, 16, 39, 7,
- 2, 19, 10, 10, 28, 14, 4, 18, 12, 8,
- 8, 28, 8, 25, 6, 31, 44, 42, 32, 28,
- 34, 34, 20, 32, 40, 1, 20, 18, 12, 6,
- 7, 10, 1, 4, 8, 2, 10, 22, 2, 33,
- 0, 21, 0, 12, 37, 54, 70, 54, 52, 50,
- 48, 44, 44, 32, 16, 12, 6, 0, 7, 53,
- 9, 1, 27, 28, 20, 14, 16, 8, 3, 1,
- 1, 25, 11, 21, 57, 45, 67, 9, 44, 36,
- 22, 6, 14, 3, 13, 17, 35, 5, 72, 42,
- 30, 16, 24, 2, 9, 19, 39, 8, 76, 58,
- 48, 36, 32, 10, 1, 13, 29, 13, 78, 54,
- 26, 6, 16, 9, 27, 39, 10, 98, 76, 58,
- 42, 42, 10, 5, 15, 23, 124, 53, 47, 23,
- 51, 49, 35, 39, 35, 35, 37, 33, 35, 41,
- 33, 43, 37, 7, 33, 27, 23, 19, 9, 9,
- 9, 5, 1, 7, 13, 21, 22, 18, 28, 12,
- 4, 24, 18, 12, 14, 16, 12, 10, 1, 7,
- 15, 5, 14, 27, 16, 44, 12, 14, 26, 28,
- 30, 16, 22, 22, 34, 3, 9, 19, 72, 72,
- 84, 62, 60, 76, 80, 80, 88, 80, 94, 92,
- 74, 60, 20, 68, 92, 64, 58, 62, 54, 38,
- 32, 26, 12, 3, 11, 21, 39, 62, 60, 62,
- 50, 30, 36, 26, 10, 10, 4, 3, 21, 21,
- 41, 47, 11, 13, 43, 30, 32, 20, 1, 14,
- 12, 7, 6, 2, 11, 31, 31, 47, 71, 18,
- 1, 23, 21, 2, 0, 8, 14, 14, 26, 18,
- 24, 28, 50, 32, 32, 50, 48, 110, 84, 66,
- 48, 34, 14, 7, 33, 75, 10, 74, 60, 56,
- 42, 44, 22, 14, 14, 5, 31, 19, 3, 17,
- 8, 24, 11, 15, 6, 14, 8, 14, 28, 8,
- 4, 104, 76, 48, 22, 2, 27, 51, 71, 95,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 20 */
-
- 106, 14, 27, 106, 14, 27, 57, 23, 36, 22,
- 8, 4, 66, 74, 106, 28, 15, 0, 4, 24,
- 0, 1, 9, 15, 45, 18, 54, 71, 93, 103,
- 11, 31, 9, 4, 24, 0, 29, 19, 20, 14,
- 3, 19, 37, 2, 23, 31, 53, 10, 17, 35,
- 6, 21, 27, 49, 10, 7, 11, 19, 0, 8,
- 44, 0, 0, 0, 15, 55, 67, 0, 12, 3,
- 36, 19, 57, 57, 0, 11, 50, 32, 11, 0,
- 37, 1, 31, 25, 53, 39, 37, 47, 55, 42,
- 0, 16, 35, 13, 33, 27, 67, 6, 7, 5,
- 25, 34, 9, 1, 29, 37, 13, 19, 9, 14,
- 14, 1, 24, 28, 25, 1, 3, 7, 8, 19,
- 30, 11, 2, 30, 32, 48, 36, 22, 33, 1,
- 13, 2, 6, 55, 1, 16, 8, 10, 14, 14,
- 34, 20, 6, 2, 4, 2, 14, 14, 41, 7,
- 2, 21, 10, 8, 26, 12, 4, 20, 12, 8,
- 6, 26, 6, 25, 6, 33, 44, 42, 32, 28,
- 34, 34, 20, 32, 38, 1, 20, 18, 12, 6,
- 9, 10, 1, 4, 8, 2, 10, 20, 0, 33,
- 0, 21, 1, 10, 37, 50, 66, 50, 48, 46,
- 44, 40, 40, 28, 12, 8, 2, 5, 11, 55,
- 9, 3, 29, 26, 18, 12, 14, 4, 5, 3,
- 5, 25, 13, 23, 57, 45, 65, 9, 44, 36,
- 22, 6, 14, 3, 13, 17, 33, 3, 72, 42,
- 30, 16, 24, 2, 9, 19, 35, 8, 76, 58,
- 48, 36, 32, 10, 1, 13, 27, 13, 78, 52,
- 26, 6, 16, 9, 27, 39, 10, 96, 74, 56,
- 40, 42, 10, 5, 15, 23, 124, 51, 45, 21,
- 47, 47, 33, 37, 31, 33, 33, 31, 31, 39,
- 33, 41, 35, 5, 31, 29, 23, 17, 9, 9,
- 11, 7, 3, 9, 15, 23, 20, 18, 28, 12,
- 2, 22, 18, 12, 12, 14, 12, 8, 3, 9,
- 15, 5, 14, 27, 14, 42, 10, 14, 24, 26,
- 30, 14, 20, 22, 34, 5, 11, 23, 70, 72,
- 82, 60, 56, 74, 76, 76, 84, 76, 88, 86,
- 68, 56, 16, 62, 84, 58, 50, 58, 50, 34,
- 30, 22, 12, 1, 9, 19, 35, 60, 56, 58,
- 48, 26, 32, 22, 6, 8, 0, 7, 25, 23,
- 43, 49, 13, 13, 45, 26, 30, 16, 3, 10,
- 8, 9, 2, 1, 13, 33, 33, 49, 71, 16,
- 1, 25, 21, 2, 2, 10, 14, 16, 28, 18,
- 26, 30, 52, 34, 34, 52, 50, 108, 80, 62,
- 44, 28, 8, 13, 39, 81, 10, 74, 60, 56,
- 44, 44, 22, 16, 14, 5, 29, 19, 1, 17,
- 10, 26, 11, 13, 8, 16, 8, 14, 30, 8,
- 4, 100, 72, 44, 16, 3, 35, 59, 77, 101,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 21 */
-
- 104, 14, 27, 104, 14, 27, 53, 19, 36, 22,
- 6, 0, 62, 72, 106, 28, 11, 0, 6, 26,
- 0, 1, 7, 17, 47, 18, 50, 75, 95, 103,
- 5, 27, 9, 6, 26, 0, 29, 17, 20, 14,
- 3, 19, 35, 2, 25, 31, 53, 10, 17, 33,
- 6, 21, 27, 49, 12, 7, 9, 19, 2, 8,
- 44, 0, 0, 0, 15, 55, 67, 2, 10, 3,
- 36, 17, 57, 53, 4, 9, 54, 36, 7, 2,
- 35, 0, 29, 23, 49, 37, 37, 45, 53, 42,
- 0, 16, 35, 13, 33, 25, 63, 6, 7, 5,
- 25, 34, 9, 0, 27, 37, 13, 19, 7, 14,
- 14, 1, 24, 28, 23, 1, 1, 7, 8, 19,
- 28, 11, 2, 28, 30, 48, 34, 20, 31, 0,
- 13, 0, 6, 53, 1, 16, 8, 10, 14, 14,
- 36, 20, 6, 2, 4, 2, 12, 14, 43, 7,
- 2, 21, 8, 6, 26, 12, 2, 20, 12, 8,
- 4, 26, 4, 25, 6, 33, 42, 42, 32, 28,
- 34, 34, 20, 32, 38, 1, 20, 18, 12, 6,
- 9, 10, 1, 2, 8, 2, 8, 18, 0, 33,
- 1, 21, 3, 8, 37, 48, 62, 48, 46, 42,
- 40, 36, 36, 24, 8, 4, 1, 9, 13, 57,
- 9, 3, 29, 24, 16, 10, 12, 2, 9, 5,
- 7, 27, 13, 23, 57, 45, 65, 9, 44, 36,
- 22, 6, 14, 1, 11, 15, 31, 3, 72, 42,
- 30, 16, 24, 4, 7, 17, 31, 8, 76, 58,
- 48, 36, 32, 10, 1, 13, 25, 13, 80, 52,
- 24, 6, 16, 9, 27, 37, 10, 96, 72, 54,
- 38, 42, 10, 5, 15, 21, 124, 49, 43, 19,
- 45, 45, 31, 35, 29, 31, 31, 27, 27, 37,
- 31, 41, 35, 3, 31, 29, 21, 15, 9, 11,
- 11, 7, 3, 11, 17, 25, 18, 16, 28, 10,
- 2, 22, 18, 12, 10, 12, 12, 8, 5, 9,
- 15, 5, 14, 27, 12, 42, 10, 14, 22, 24,
- 30, 12, 18, 20, 32, 7, 13, 27, 68, 70,
- 82, 58, 54, 70, 72, 72, 80, 70, 82, 82,
- 62, 52, 14, 56, 78, 52, 42, 52, 44, 30,
- 28, 20, 12, 0, 9, 17, 31, 56, 54, 54,
- 44, 22, 28, 20, 2, 6, 3, 9, 29, 27,
- 45, 51, 13, 13, 47, 24, 26, 12, 7, 8,
- 6, 13, 0, 3, 17, 35, 35, 51, 73, 16,
- 3, 27, 19, 4, 2, 10, 16, 18, 30, 20,
- 28, 32, 56, 36, 36, 54, 54, 108, 76, 58,
- 38, 24, 2, 19, 45, 85, 10, 76, 62, 58,
- 44, 46, 22, 16, 16, 3, 29, 19, 0, 15,
- 12, 28, 9, 11, 8, 16, 8, 16, 32, 8,
- 4, 98, 68, 38, 10, 9, 41, 67, 85, 107,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 22 */
-
- 102, 14, 29, 102, 14, 29, 49, 17, 38, 22,
- 6, 1, 60, 70, 106, 28, 7, 0, 6, 28,
- 0, 3, 7, 19, 49, 16, 48, 77, 97, 105,
- 0, 25, 9, 6, 28, 0, 27, 15, 22, 12,
- 1, 17, 33, 0, 25, 31, 53, 10, 15, 33,
- 6, 21, 25, 49, 12, 7, 9, 19, 2, 8,
- 44, 0, 0, 0, 13, 55, 67, 2, 10, 5,
- 36, 17, 55, 49, 8, 5, 56, 40, 5, 4,
- 31, 2, 27, 23, 47, 37, 37, 45, 53, 44,
- 0, 16, 33, 11, 31, 25, 61, 6, 9, 7,
- 27, 34, 9, 0, 27, 37, 11, 19, 7, 14,
- 14, 0, 24, 26, 23, 1, 1, 7, 8, 19,
- 26, 11, 2, 26, 28, 46, 34, 20, 31, 0,
- 13, 0, 4, 53, 3, 16, 8, 10, 14, 14,
- 36, 20, 6, 2, 6, 2, 10, 14, 43, 9,
- 2, 23, 8, 4, 26, 12, 0, 20, 12, 8,
- 0, 26, 2, 25, 6, 35, 40, 42, 30, 28,
- 34, 34, 20, 32, 38, 1, 18, 18, 10, 6,
- 9, 8, 3, 2, 6, 0, 6, 16, 1, 33,
- 1, 19, 5, 4, 37, 44, 58, 44, 42, 38,
- 36, 32, 32, 20, 4, 2, 3, 13, 17, 59,
- 9, 3, 31, 22, 14, 8, 8, 1, 11, 7,
- 9, 29, 15, 25, 57, 45, 63, 7, 44, 36,
- 22, 8, 14, 1, 11, 15, 29, 1, 70, 42,
- 30, 16, 26, 4, 5, 15, 27, 8, 78, 58,
- 48, 36, 34, 10, 1, 11, 25, 13, 80, 52,
- 24, 6, 16, 7, 25, 35, 10, 94, 72, 52,
- 38, 42, 10, 3, 13, 21, 124, 49, 41, 19,
- 43, 43, 29, 31, 27, 29, 29, 25, 25, 37,
- 29, 41, 33, 0, 31, 31, 21, 15, 9, 11,
- 13, 7, 5, 13, 19, 27, 18, 16, 28, 10,
- 0, 20, 16, 12, 10, 12, 10, 8, 5, 9,
- 17, 5, 14, 29, 12, 40, 8, 12, 20, 24,
- 32, 12, 16, 20, 32, 7, 13, 29, 66, 68,
- 80, 56, 52, 68, 68, 68, 76, 66, 78, 76,
- 56, 46, 12, 52, 72, 46, 34, 46, 40, 26,
- 26, 18, 12, 2, 9, 13, 25, 52, 50, 50,
- 40, 18, 24, 16, 1, 2, 5, 11, 31, 29,
- 47, 53, 15, 15, 49, 22, 24, 10, 11, 4,
- 2, 15, 3, 7, 19, 39, 39, 55, 75, 14,
- 5, 29, 19, 4, 2, 12, 16, 18, 34, 22,
- 30, 34, 58, 40, 38, 58, 56, 106, 74, 54,
- 34, 18, 1, 25, 49, 89, 12, 76, 62, 58,
- 44, 48, 24, 16, 16, 3, 29, 17, 0, 15,
- 14, 30, 9, 11, 10, 18, 8, 16, 34, 8,
- 4, 96, 64, 34, 4, 17, 49, 73, 91, 111,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 23 */
-
- 100, 14, 29, 100, 14, 29, 45, 13, 38, 22,
- 4, 5, 56, 66, 106, 28, 1, 1, 8, 28,
- 0, 5, 7, 21, 51, 16, 44, 81, 99, 105,
- 6, 23, 9, 8, 28, 0, 27, 13, 22, 12,
- 1, 17, 33, 0, 27, 29, 53, 10, 15, 31,
- 4, 21, 25, 49, 14, 5, 9, 17, 4, 8,
- 44, 0, 0, 0, 13, 55, 67, 4, 8, 5,
- 36, 17, 55, 47, 12, 3, 60, 44, 3, 6,
- 29, 6, 25, 21, 43, 35, 35, 43, 51, 44,
- 0, 16, 33, 11, 31, 23, 57, 4, 9, 7,
- 27, 34, 9, 0, 25, 37, 11, 19, 5, 14,
- 12, 0, 24, 26, 23, 1, 1, 7, 8, 19,
- 26, 11, 2, 26, 26, 44, 32, 18, 29, 2,
- 13, 1, 4, 51, 3, 16, 6, 10, 14, 14,
- 38, 22, 6, 2, 6, 2, 8, 14, 45, 9,
- 2, 23, 6, 2, 24, 12, 0, 22, 12, 8,
- 1, 24, 0, 25, 6, 35, 40, 42, 30, 28,
- 34, 34, 20, 32, 38, 1, 18, 18, 10, 6,
- 9, 8, 3, 0, 6, 0, 6, 14, 1, 33,
- 3, 19, 7, 2, 37, 42, 54, 40, 38, 34,
- 32, 28, 28, 16, 0, 1, 7, 19, 21, 61,
- 9, 5, 31, 20, 12, 6, 6, 3, 15, 9,
- 11, 29, 15, 25, 57, 45, 63, 7, 44, 36,
- 22, 8, 14, 1, 11, 13, 27, 1, 70, 42,
- 30, 16, 26, 6, 3, 15, 23, 8, 78, 58,
- 48, 36, 34, 10, 1, 11, 23, 13, 80, 50,
- 22, 6, 16, 7, 25, 35, 10, 94, 70, 50,
- 36, 42, 10, 3, 13, 19, 124, 47, 39, 17,
- 39, 41, 27, 29, 23, 27, 25, 21, 21, 35,
- 27, 39, 33, 2, 29, 31, 21, 13, 9, 13,
- 13, 9, 7, 15, 21, 29, 16, 14, 28, 8,
- 0, 20, 16, 12, 8, 10, 10, 6, 7, 9,
- 17, 5, 14, 29, 10, 40, 6, 12, 18, 22,
- 32, 10, 14, 18, 30, 9, 15, 33, 64, 68,
- 80, 54, 48, 64, 64, 64, 72, 60, 72, 72,
- 50, 42, 8, 46, 64, 40, 26, 42, 34, 22,
- 24, 16, 12, 4, 7, 11, 21, 50, 46, 46,
- 38, 14, 20, 14, 5, 0, 9, 15, 35, 33,
- 49, 55, 15, 15, 51, 18, 20, 6, 13, 0,
- 1, 19, 5, 11, 23, 41, 41, 57, 75, 12,
- 5, 31, 19, 6, 4, 12, 18, 20, 36, 24,
- 32, 36, 60, 42, 40, 60, 58, 106, 70, 50,
- 28, 14, 7, 31, 55, 93, 12, 78, 64, 60,
- 46, 50, 24, 18, 18, 1, 27, 17, 2, 13,
- 16, 32, 9, 9, 10, 18, 8, 18, 36, 8,
- 4, 92, 60, 28, 1, 23, 57, 81, 99, 117,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 24 */
-
- 96, 12, 29, 96, 12, 29, 43, 11, 38, 22,
- 4, 7, 54, 64, 106, 28, 2, 1, 10, 30,
- 0, 7, 7, 23, 55, 14, 40, 85, 101, 107,
- 10, 21, 9, 10, 30, 0, 27, 11, 22, 10,
- 1, 17, 31, 1, 27, 29, 55, 10, 15, 31,
- 4, 23, 25, 49, 14, 5, 9, 17, 4, 8,
- 44, 0, 0, 0, 11, 57, 67, 4, 6, 5,
- 36, 17, 55, 43, 14, 0, 62, 46, 1, 8,
- 27, 8, 23, 19, 39, 35, 35, 43, 49, 44,
- 0, 16, 31, 11, 29, 23, 55, 4, 11, 9,
- 29, 34, 9, 0, 25, 37, 11, 19, 5, 12,
- 12, 0, 24, 24, 23, 1, 1, 7, 6, 19,
- 24, 13, 2, 24, 22, 42, 30, 16, 29, 2,
- 13, 3, 2, 51, 5, 14, 6, 10, 14, 14,
- 40, 22, 6, 0, 6, 0, 6, 12, 47, 9,
- 2, 25, 6, 0, 24, 10, 1, 22, 12, 8,
- 5, 24, 1, 25, 6, 37, 38, 40, 30, 28,
- 34, 32, 18, 32, 36, 3, 16, 18, 10, 4,
- 11, 6, 5, 0, 4, 1, 4, 12, 3, 33,
- 3, 19, 9, 1, 37, 38, 50, 36, 34, 30,
- 26, 24, 24, 12, 3, 5, 11, 23, 25, 63,
- 9, 5, 33, 18, 8, 2, 2, 7, 17, 13,
- 15, 31, 17, 27, 57, 45, 61, 7, 44, 36,
- 22, 8, 14, 1, 11, 13, 25, 0, 70, 42,
- 30, 16, 26, 6, 3, 13, 21, 8, 78, 58,
- 48, 34, 34, 10, 1, 11, 23, 13, 80, 50,
- 22, 6, 16, 7, 25, 33, 10, 92, 68, 48,
- 34, 40, 10, 3, 13, 19, 124, 45, 37, 17,
- 37, 39, 27, 27, 21, 25, 23, 19, 19, 35,
- 27, 39, 31, 4, 29, 33, 21, 13, 9, 13,
- 15, 9, 9, 17, 25, 31, 14, 14, 28, 8,
- 1, 18, 14, 10, 6, 8, 8, 6, 9, 11,
- 19, 5, 14, 31, 8, 38, 4, 12, 16, 20,
- 32, 8, 12, 18, 30, 11, 17, 37, 62, 66,
- 78, 50, 46, 62, 60, 60, 66, 56, 66, 66,
- 44, 36, 6, 40, 58, 34, 18, 36, 30, 18,
- 20, 12, 12, 4, 7, 9, 17, 46, 42, 42,
- 34, 8, 16, 10, 9, 3, 13, 17, 39, 35,
- 51, 57, 17, 17, 53, 16, 18, 2, 17, 3,
- 5, 21, 9, 15, 25, 43, 45, 61, 77, 10,
- 7, 33, 19, 6, 4, 14, 18, 20, 38, 24,
- 34, 38, 62, 44, 42, 62, 60, 104, 66, 46,
- 24, 8, 13, 37, 61, 99, 12, 78, 64, 60,
- 46, 50, 24, 18, 18, 1, 27, 17, 2, 13,
- 18, 34, 9, 9, 12, 20, 8, 18, 36, 8,
- 2, 90, 56, 24, 7, 29, 65, 89, 105, 123,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 25 */
-
- 94, 12, 29, 94, 12, 29, 39, 9, 40, 22,
- 4, 9, 52, 62, 106, 28, 6, 1, 12, 32,
- 0, 7, 5, 25, 57, 12, 36, 87, 103, 109,
- 16, 17, 9, 12, 32, 0, 25, 9, 24, 8,
- 1, 15, 29, 1, 27, 29, 55, 10, 15, 29,
- 4, 23, 25, 49, 14, 5, 7, 17, 4, 8,
- 44, 0, 0, 0, 9, 57, 67, 4, 4, 5,
- 36, 15, 55, 39, 18, 4, 64, 50, 2, 10,
- 23, 10, 19, 17, 35, 35, 35, 43, 47, 44,
- 0, 16, 29, 11, 27, 21, 53, 4, 11, 9,
- 29, 34, 9, 2, 23, 35, 9, 19, 5, 12,
- 12, 0, 24, 24, 21, 1, 0, 7, 6, 17,
- 22, 13, 2, 22, 20, 42, 28, 14, 27, 2,
- 11, 5, 0, 51, 7, 14, 6, 12, 14, 14,
- 42, 22, 6, 0, 8, 0, 6, 12, 49, 9,
- 2, 27, 6, 1, 24, 10, 3, 22, 12, 8,
- 7, 24, 1, 25, 6, 39, 36, 40, 30, 28,
- 34, 32, 18, 32, 36, 3, 16, 18, 10, 4,
- 11, 6, 5, 0, 4, 1, 2, 12, 3, 33,
- 3, 19, 11, 3, 37, 34, 48, 34, 32, 26,
- 22, 22, 22, 8, 7, 7, 13, 27, 27, 65,
- 9, 5, 35, 16, 6, 0, 0, 9, 19, 15,
- 17, 33, 19, 29, 57, 43, 59, 5, 46, 36,
- 22, 8, 16, 0, 9, 11, 23, 2, 70, 42,
- 30, 16, 28, 6, 1, 11, 17, 8, 78, 58,
- 48, 34, 36, 10, 1, 11, 21, 13, 82, 50,
- 22, 6, 18, 7, 25, 31, 10, 92, 68, 48,
- 32, 40, 10, 3, 11, 17, 124, 43, 35, 15,
- 35, 35, 25, 23, 19, 21, 21, 17, 15, 33,
- 25, 39, 29, 8, 29, 35, 19, 11, 9, 13,
- 17, 9, 9, 19, 27, 33, 14, 14, 28, 8,
- 1, 16, 14, 10, 4, 8, 8, 6, 11, 11,
- 19, 3, 16, 31, 8, 36, 4, 12, 16, 20,
- 32, 6, 10, 18, 30, 13, 17, 39, 62, 64,
- 76, 48, 44, 60, 56, 56, 62, 52, 62, 60,
- 40, 32, 4, 34, 52, 28, 10, 30, 26, 16,
- 18, 10, 12, 6, 7, 7, 13, 42, 40, 38,
- 30, 4, 14, 8, 13, 5, 15, 19, 41, 37,
- 53, 57, 17, 17, 55, 14, 16, 0, 21, 5,
- 7, 23, 11, 17, 27, 45, 47, 63, 79, 10,
- 9, 33, 17, 6, 4, 16, 20, 22, 40, 26,
- 36, 40, 66, 46, 44, 66, 64, 102, 64, 42,
- 20, 2, 19, 43, 67, 103, 14, 78, 64, 62,
- 46, 52, 26, 18, 20, 0, 27, 15, 4, 13,
- 20, 38, 7, 7, 14, 22, 8, 20, 38, 8,
- 2, 88, 52, 20, 11, 35, 71, 97, 111, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 26 */
-
- 92, 12, 29, 92, 12, 29, 35, 5, 40, 22,
- 2, 13, 48, 58, 106, 28, 12, 3, 14, 32,
- 0, 9, 5, 27, 59, 12, 32, 91, 105, 109,
- 22, 15, 9, 14, 32, 0, 25, 7, 24, 8,
- 1, 15, 29, 1, 29, 27, 55, 10, 15, 27,
- 2, 23, 25, 49, 16, 3, 7, 15, 6, 8,
- 44, 0, 0, 0, 9, 57, 67, 6, 2, 5,
- 36, 15, 55, 37, 22, 6, 68, 54, 4, 12,
- 21, 14, 17, 15, 31, 33, 33, 41, 45, 44,
- 0, 16, 29, 11, 27, 21, 49, 2, 11, 9,
- 29, 34, 9, 2, 23, 35, 9, 19, 3, 12,
- 10, 0, 24, 24, 21, 1, 0, 7, 6, 17,
- 22, 13, 2, 22, 18, 40, 26, 12, 25, 4,
- 11, 7, 0, 49, 7, 14, 4, 12, 14, 14,
- 44, 24, 6, 0, 8, 0, 4, 12, 51, 9,
- 2, 27, 4, 3, 22, 10, 3, 24, 12, 8,
- 9, 22, 3, 25, 6, 39, 36, 40, 30, 28,
- 34, 32, 18, 32, 36, 3, 16, 18, 10, 4,
- 11, 6, 5, 1, 4, 1, 2, 10, 5, 33,
- 5, 19, 13, 5, 37, 32, 44, 30, 28, 22,
- 18, 18, 18, 4, 11, 11, 17, 33, 31, 67,
- 9, 7, 35, 14, 4, 1, 1, 13, 23, 17,
- 19, 33, 19, 29, 57, 43, 59, 5, 46, 36,
- 22, 8, 16, 0, 9, 11, 21, 2, 70, 42,
- 30, 16, 28, 8, 0, 11, 13, 8, 78, 58,
- 48, 34, 36, 10, 1, 11, 19, 13, 82, 48,
- 20, 6, 18, 7, 25, 31, 10, 90, 66, 46,
- 30, 40, 10, 3, 11, 17, 124, 41, 33, 13,
- 31, 33, 23, 21, 15, 19, 17, 13, 11, 31,
- 23, 37, 29, 10, 27, 35, 19, 9, 9, 15,
- 17, 11, 11, 21, 29, 35, 12, 12, 28, 6,
- 3, 16, 14, 10, 2, 6, 8, 4, 13, 11,
- 19, 3, 16, 31, 6, 36, 2, 12, 14, 18,
- 32, 4, 8, 16, 28, 15, 19, 43, 60, 64,
- 76, 46, 40, 56, 52, 52, 58, 46, 56, 56,
- 34, 28, 0, 28, 44, 22, 2, 26, 20, 12,
- 16, 8, 12, 8, 5, 5, 9, 40, 36, 34,
- 28, 0, 10, 4, 17, 7, 19, 23, 45, 41,
- 55, 59, 19, 17, 57, 10, 12, 3, 23, 9,
- 11, 27, 15, 21, 31, 47, 49, 65, 79, 8,
- 9, 35, 17, 8, 6, 16, 20, 24, 42, 28,
- 38, 42, 68, 48, 46, 68, 66, 102, 60, 38,
- 14, 1, 25, 49, 73, 107, 14, 80, 66, 62,
- 48, 54, 26, 20, 20, 0, 25, 15, 6, 11,
- 22, 40, 7, 5, 14, 22, 8, 20, 40, 8,
- 2, 84, 48, 14, 17, 41, 79, 105, 119, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 27 */
-
- 90, 12, 31, 90, 12, 31, 31, 3, 42, 22,
- 2, 15, 46, 56, 106, 28, 16, 3, 14, 34,
- 0, 11, 5, 29, 61, 10, 30, 93, 107, 111,
- 28, 13, 9, 14, 34, 0, 23, 5, 26, 6,
- 0, 13, 27, 3, 29, 27, 55, 10, 13, 27,
- 2, 23, 23, 49, 16, 3, 7, 15, 6, 8,
- 44, 0, 0, 0, 7, 57, 67, 6, 2, 7,
- 36, 15, 53, 33, 26, 10, 70, 58, 6, 14,
- 17, 16, 15, 15, 29, 33, 33, 41, 45, 46,
- 0, 16, 27, 9, 25, 19, 47, 2, 13, 11,
- 31, 34, 9, 2, 21, 35, 7, 19, 3, 12,
- 10, 2, 24, 22, 21, 1, 0, 7, 6, 17,
- 20, 13, 2, 20, 16, 38, 26, 12, 25, 4,
- 11, 7, 1, 49, 9, 14, 4, 12, 14, 14,
- 44, 24, 6, 0, 10, 0, 2, 12, 51, 11,
- 2, 29, 4, 5, 22, 10, 5, 24, 12, 8,
- 13, 22, 5, 25, 6, 41, 34, 40, 28, 28,
- 34, 32, 18, 32, 36, 3, 14, 18, 8, 4,
- 11, 4, 7, 1, 2, 3, 0, 8, 5, 33,
- 5, 17, 15, 9, 37, 28, 40, 26, 24, 18,
- 14, 14, 14, 0, 15, 13, 19, 37, 35, 69,
- 9, 7, 37, 12, 2, 3, 5, 15, 25, 19,
- 21, 35, 21, 31, 57, 43, 57, 3, 46, 36,
- 22, 10, 16, 0, 9, 9, 19, 4, 68, 42,
- 30, 16, 30, 8, 2, 9, 9, 8, 80, 58,
- 48, 34, 38, 10, 1, 9, 19, 13, 82, 48,
- 20, 6, 18, 5, 23, 29, 10, 90, 66, 44,
- 30, 40, 10, 1, 9, 15, 124, 41, 31, 13,
- 29, 31, 21, 17, 13, 17, 15, 11, 9, 31,
- 21, 37, 27, 14, 27, 37, 19, 9, 9, 15,
- 19, 11, 13, 23, 31, 37, 12, 12, 28, 6,
- 3, 14, 12, 10, 2, 6, 6, 4, 13, 11,
- 21, 3, 16, 33, 6, 34, 0, 10, 12, 18,
- 34, 4, 6, 16, 28, 15, 19, 45, 58, 62,
- 74, 44, 38, 54, 48, 48, 54, 42, 52, 50,
- 28, 22, 1, 24, 38, 16, 5, 20, 16, 8,
- 14, 6, 12, 10, 5, 1, 3, 36, 32, 30,
- 24, 3, 6, 2, 21, 11, 21, 25, 47, 43,
- 57, 61, 19, 19, 59, 8, 10, 5, 27, 13,
- 15, 29, 17, 25, 33, 51, 53, 69, 81, 6,
- 11, 37, 17, 8, 6, 18, 22, 24, 46, 30,
- 40, 44, 70, 52, 48, 72, 68, 100, 58, 34,
- 10, 7, 29, 55, 77, 111, 16, 80, 66, 64,
- 48, 56, 28, 20, 22, 2, 25, 13, 6, 11,
- 24, 42, 7, 5, 16, 24, 8, 22, 42, 8,
- 2, 82, 44, 10, 23, 49, 87, 111, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 28 */
-
- 86, 12, 31, 86, 12, 31, 29, 0, 42, 22,
- 0, 19, 42, 54, 106, 28, 20, 3, 16, 36,
- 0, 13, 5, 31, 63, 10, 26, 97, 109, 111,
- 34, 11, 9, 16, 36, 0, 23, 3, 26, 6,
- 0, 13, 25, 3, 31, 27, 55, 10, 13, 25,
- 2, 25, 23, 49, 18, 3, 7, 15, 8, 8,
- 44, 0, 0, 0, 7, 59, 67, 8, 0, 7,
- 36, 15, 53, 29, 28, 12, 74, 60, 8, 16,
- 15, 18, 13, 13, 25, 31, 33, 39, 43, 46,
- 0, 16, 27, 9, 25, 19, 43, 2, 13, 11,
- 31, 34, 9, 2, 21, 35, 7, 19, 1, 12,
- 10, 2, 24, 22, 21, 1, 0, 7, 6, 17,
- 18, 15, 2, 18, 14, 36, 24, 10, 23, 6,
- 11, 9, 1, 47, 9, 14, 4, 12, 14, 14,
- 46, 24, 6, 1, 10, 1, 0, 10, 53, 11,
- 2, 29, 2, 7, 22, 8, 7, 24, 12, 8,
- 15, 22, 7, 25, 6, 41, 32, 40, 28, 28,
- 34, 32, 18, 32, 34, 3, 14, 18, 8, 4,
- 13, 4, 7, 3, 2, 3, 1, 6, 7, 33,
- 7, 17, 17, 11, 37, 26, 36, 22, 20, 14,
- 10, 10, 10, 3, 19, 17, 23, 41, 39, 71,
- 9, 7, 37, 10, 0, 5, 7, 19, 29, 21,
- 25, 37, 21, 31, 57, 43, 57, 3, 46, 36,
- 22, 10, 16, 0, 9, 9, 17, 4, 68, 42,
- 30, 16, 30, 10, 2, 7, 5, 8, 80, 58,
- 48, 34, 38, 10, 1, 9, 17, 13, 82, 48,
- 18, 6, 18, 5, 23, 27, 10, 88, 64, 42,
- 28, 40, 10, 1, 9, 15, 124, 39, 29, 11,
- 27, 29, 19, 15, 11, 15, 13, 7, 5, 29,
- 21, 37, 27, 16, 27, 37, 19, 7, 9, 17,
- 19, 11, 15, 25, 33, 39, 10, 10, 28, 4,
- 5, 14, 12, 10, 0, 4, 6, 4, 15, 13,
- 21, 3, 16, 33, 4, 34, 1, 10, 10, 16,
- 34, 2, 4, 14, 26, 17, 21, 49, 56, 60,
- 74, 42, 36, 50, 44, 44, 50, 36, 46, 46,
- 22, 18, 3, 18, 32, 10, 13, 14, 10, 4,
- 12, 2, 12, 12, 5, 0, 0, 32, 28, 26,
- 20, 7, 2, 1, 25, 13, 25, 27, 51, 47,
- 59, 63, 21, 19, 61, 6, 6, 9, 31, 17,
- 19, 33, 21, 29, 37, 53, 55, 71, 83, 4,
- 13, 39, 17, 10, 6, 18, 22, 26, 48, 30,
- 42, 46, 72, 54, 50, 74, 70, 100, 54, 30,
- 4, 11, 35, 61, 83, 117, 16, 82, 68, 64,
- 48, 56, 28, 20, 22, 2, 25, 13, 8, 9,
- 26, 44, 7, 3, 16, 24, 8, 22, 44, 8,
- 2, 80, 40, 4, 29, 55, 95, 119, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 29 */
-
- 84, 12, 31, 84, 12, 31, 25, 2, 42, 22,
- 0, 21, 40, 50, 106, 28, 26, 5, 18, 36,
- 0, 13, 3, 33, 65, 8, 22, 101, 111, 113,
- 40, 7, 9, 18, 36, 0, 23, 1, 26, 4,
- 0, 13, 25, 3, 31, 25, 55, 10, 13, 23,
- 0, 25, 23, 49, 18, 1, 5, 13, 8, 8,
- 44, 0, 0, 0, 5, 59, 67, 8, 1, 7,
- 36, 13, 53, 27, 32, 16, 76, 64, 12, 18,
- 13, 22, 11, 11, 21, 31, 31, 39, 41, 46,
- 0, 16, 25, 9, 23, 17, 41, 0, 13, 11,
- 31, 34, 9, 4, 19, 35, 7, 19, 1, 12,
- 8, 2, 24, 22, 19, 1, 2, 7, 6, 17,
- 18, 15, 2, 18, 12, 36, 22, 8, 21, 6,
- 11, 11, 3, 47, 11, 14, 2, 12, 14, 14,
- 48, 26, 6, 1, 10, 1, 1, 10, 55, 11,
- 2, 31, 2, 9, 20, 8, 7, 26, 12, 8,
- 17, 20, 9, 25, 6, 43, 32, 40, 28, 28,
- 34, 32, 18, 32, 34, 3, 14, 18, 8, 4,
- 13, 4, 7, 3, 2, 3, 1, 4, 7, 33,
- 7, 17, 19, 13, 37, 22, 32, 20, 18, 10,
- 6, 6, 6, 7, 23, 21, 27, 47, 41, 73,
- 9, 9, 39, 8, 1, 7, 9, 21, 31, 23,
- 27, 37, 23, 33, 57, 43, 55, 3, 46, 36,
- 22, 10, 16, 2, 7, 7, 15, 6, 68, 42,
- 30, 16, 30, 10, 4, 7, 1, 8, 80, 58,
- 48, 34, 38, 10, 1, 9, 15, 13, 84, 46,
- 18, 6, 18, 5, 23, 27, 10, 88, 62, 40,
- 26, 40, 10, 1, 9, 13, 124, 37, 27, 9,
- 23, 27, 17, 13, 7, 13, 9, 5, 1, 27,
- 19, 35, 25, 18, 25, 39, 17, 5, 9, 17,
- 21, 13, 15, 27, 35, 41, 8, 10, 28, 4,
- 5, 12, 12, 10, 1, 2, 6, 2, 17, 13,
- 21, 3, 16, 33, 2, 32, 1, 10, 8, 14,
- 34, 0, 2, 14, 26, 19, 23, 53, 54, 60,
- 72, 40, 32, 48, 40, 40, 46, 32, 40, 40,
- 16, 14, 7, 12, 24, 4, 21, 10, 6, 0,
- 10, 0, 12, 14, 3, 2, 4, 30, 26, 22,
- 18, 11, 1, 3, 29, 15, 29, 31, 55, 49,
- 61, 65, 21, 19, 63, 2, 4, 13, 33, 19,
- 21, 35, 23, 31, 39, 55, 57, 73, 83, 4,
- 13, 41, 15, 10, 8, 20, 24, 28, 50, 32,
- 44, 48, 76, 56, 52, 76, 74, 98, 50, 26,
- 0, 17, 41, 67, 89, 121, 16, 82, 68, 66,
- 50, 58, 28, 22, 24, 4, 23, 13, 10, 9,
- 28, 46, 5, 1, 18, 26, 8, 24, 46, 8,
- 2, 76, 36, 0, 35, 61, 101, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 30 */
-
- 82, 12, 31, 82, 12, 31, 21, 6, 44, 22,
- 1, 25, 36, 48, 106, 28, 30, 5, 20, 38,
- 0, 15, 3, 35, 67, 8, 18, 103, 113, 113,
- 46, 5, 9, 20, 38, 0, 21, 0, 28, 4,
- 0, 11, 23, 5, 33, 25, 55, 10, 13, 23,
- 0, 25, 23, 49, 20, 1, 5, 13, 10, 8,
- 44, 0, 0, 0, 5, 59, 67, 10, 3, 7,
- 36, 13, 53, 23, 36, 18, 80, 68, 14, 20,
- 9, 24, 9, 9, 17, 29, 31, 37, 39, 46,
- 0, 16, 25, 9, 23, 17, 37, 0, 15, 13,
- 33, 34, 9, 4, 19, 35, 5, 19, 0, 12,
- 8, 2, 24, 20, 19, 1, 2, 7, 6, 17,
- 16, 15, 2, 16, 10, 34, 20, 6, 21, 8,
- 11, 13, 3, 45, 11, 14, 2, 12, 14, 14,
- 50, 26, 6, 1, 12, 1, 3, 10, 57, 11,
- 2, 31, 0, 11, 20, 8, 9, 26, 12, 8,
- 21, 20, 11, 25, 6, 43, 30, 40, 28, 28,
- 34, 32, 18, 32, 34, 3, 12, 18, 8, 4,
- 13, 2, 9, 5, 0, 5, 3, 2, 9, 33,
- 9, 17, 21, 17, 37, 20, 28, 16, 14, 6,
- 2, 2, 2, 11, 27, 23, 29, 51, 45, 75,
- 9, 9, 39, 6, 3, 9, 13, 25, 35, 25,
- 29, 39, 23, 33, 57, 43, 55, 1, 46, 36,
- 22, 10, 16, 2, 7, 7, 13, 6, 68, 42,
- 30, 16, 32, 12, 6, 5, 2, 8, 80, 58,
- 48, 34, 40, 10, 1, 9, 15, 13, 84, 46,
- 16, 6, 18, 5, 23, 25, 10, 86, 62, 38,
- 24, 40, 10, 1, 7, 13, 124, 35, 25, 9,
- 21, 25, 15, 9, 5, 11, 7, 1, 0, 27,
- 17, 35, 25, 22, 25, 39, 17, 5, 9, 19,
- 21, 13, 17, 29, 37, 43, 8, 8, 28, 2,
- 7, 12, 10, 10, 3, 2, 4, 2, 19, 13,
- 23, 3, 16, 35, 2, 32, 3, 10, 6, 14,
- 34, 1, 0, 12, 24, 21, 23, 55, 52, 58,
- 72, 38, 30, 44, 36, 36, 42, 26, 36, 36,
- 10, 8, 9, 6, 18, 1, 29, 4, 0, 3,
- 8, 1, 12, 16, 3, 4, 8, 26, 22, 18,
- 14, 15, 5, 7, 33, 19, 31, 33, 57, 53,
- 63, 67, 23, 21, 65, 0, 0, 15, 37, 23,
- 25, 39, 27, 35, 43, 57, 61, 77, 85, 2,
- 15, 43, 15, 12, 8, 20, 24, 28, 52, 34,
- 46, 50, 78, 58, 54, 80, 76, 98, 48, 22,
- 5, 21, 47, 73, 95, 125, 18, 84, 70, 66,
- 50, 60, 30, 22, 24, 4, 23, 11, 10, 7,
- 30, 48, 5, 1, 18, 26, 8, 24, 48, 8,
- 2, 74, 32, 5, 41, 67, 109, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 31 */
-
- 80, 12, 31, 80, 12, 31, 17, 8, 44, 22,
- 1, 27, 34, 46, 106, 28, 34, 5, 22, 40,
- 0, 17, 3, 37, 69, 6, 14, 107, 115, 115,
- 52, 3, 9, 22, 40, 0, 21, 2, 28, 2,
- 0, 11, 21, 5, 33, 25, 55, 10, 13, 21,
- 0, 25, 23, 49, 20, 1, 5, 13, 10, 8,
- 44, 0, 0, 0, 3, 59, 67, 10, 5, 7,
- 36, 13, 53, 19, 40, 22, 82, 72, 16, 22,
- 7, 26, 7, 7, 13, 29, 31, 37, 37, 46,
- 0, 16, 23, 9, 21, 15, 35, 0, 15, 13,
- 33, 34, 9, 4, 17, 35, 5, 19, 0, 12,
- 8, 2, 24, 20, 19, 1, 2, 7, 6, 17,
- 14, 15, 2, 14, 8, 32, 18, 4, 19, 8,
- 11, 15, 5, 45, 13, 14, 2, 12, 14, 14,
- 52, 26, 6, 1, 12, 1, 5, 10, 59, 11,
- 2, 33, 0, 13, 20, 8, 11, 26, 12, 8,
- 23, 20, 13, 25, 6, 45, 28, 40, 28, 28,
- 34, 32, 18, 32, 34, 3, 12, 18, 8, 4,
- 13, 2, 9, 5, 0, 5, 5, 0, 9, 33,
- 9, 17, 23, 19, 37, 16, 24, 12, 10, 2,
- 1, 1, 1, 15, 31, 27, 33, 55, 49, 77,
- 9, 9, 41, 4, 5, 11, 15, 27, 37, 27,
- 31, 41, 25, 35, 57, 43, 53, 1, 46, 36,
- 22, 10, 16, 2, 7, 5, 11, 8, 68, 42,
- 30, 16, 32, 12, 8, 3, 6, 8, 80, 58,
- 48, 34, 40, 10, 1, 9, 13, 13, 84, 46,
- 16, 6, 18, 5, 23, 23, 10, 86, 60, 36,
- 22, 40, 10, 1, 7, 11, 124, 33, 23, 7,
- 19, 23, 13, 7, 3, 9, 5, 0, 4, 25,
- 15, 35, 23, 24, 25, 41, 17, 3, 9, 19,
- 23, 13, 19, 31, 39, 45, 6, 8, 28, 2,
- 7, 10, 10, 10, 5, 0, 4, 2, 21, 13,
- 23, 3, 16, 35, 0, 30, 5, 10, 4, 12,
- 34, 3, 1, 12, 24, 23, 25, 59, 50, 56,
- 70, 36, 28, 42, 32, 32, 38, 22, 30, 30,
- 4, 4, 11, 0, 12, 7, 37, 1, 3, 7,
- 6, 3, 12, 18, 3, 6, 12, 22, 18, 14,
- 10, 19, 9, 9, 37, 21, 35, 35, 61, 55,
- 65, 69, 23, 21, 67, 1, 1, 19, 41, 27,
- 29, 41, 29, 39, 45, 59, 63, 79, 87, 0,
- 17, 45, 15, 12, 8, 22, 26, 30, 54, 36,
- 48, 52, 80, 60, 56, 82, 78, 96, 44, 18,
- 9, 27, 53, 79, 101, 125, 18, 84, 70, 68,
- 50, 62, 30, 22, 26, 6, 23, 11, 12, 7,
- 32, 50, 5, 0, 20, 28, 8, 26, 50, 8,
- 2, 72, 28, 9, 47, 73, 117, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 32 */
-
- 76, 10, 33, 76, 10, 33, 15, 10, 44, 22,
- 3, 31, 30, 42, 104, 28, 38, 7, 22, 40,
- 1, 19, 3, 41, 73, 4, 10, 111, 117, 117,
- 56, 1, 11, 22, 40, 1, 21, 4, 28, 0,
- 0, 11, 21, 7, 35, 25, 57, 10, 13, 21,
- 1, 27, 23, 49, 20, 1, 5, 13, 10, 6,
- 44, 0, 0, 0, 3, 61, 67, 10, 7, 9,
- 36, 13, 53, 17, 42, 24, 84, 74, 18, 24,
- 5, 28, 5, 7, 11, 29, 31, 37, 37, 46,
- 0, 16, 23, 9, 21, 15, 33, 1, 17, 15,
- 35, 34, 9, 4, 17, 35, 5, 19, 0, 10,
- 6, 2, 22, 18, 19, 3, 2, 7, 4, 17,
- 12, 17, 0, 12, 4, 30, 16, 2, 19, 8,
- 11, 17, 7, 45, 15, 12, 0, 12, 14, 14,
- 52, 26, 6, 3, 12, 3, 7, 8, 61, 13,
- 0, 35, 1, 15, 18, 6, 13, 26, 12, 8,
- 27, 18, 15, 25, 6, 47, 26, 38, 26, 28,
- 34, 30, 16, 32, 32, 5, 10, 18, 6, 2,
- 15, 0, 11, 7, 1, 7, 7, 1, 11, 33,
- 11, 17, 25, 23, 37, 12, 20, 8, 6, 1,
- 7, 5, 5, 19, 35, 31, 37, 61, 53, 81,
- 11, 11, 43, 2, 9, 15, 19, 31, 41, 31,
- 35, 43, 27, 37, 57, 43, 53, 1, 46, 36,
- 22, 10, 16, 2, 7, 5, 9, 8, 66, 42,
- 30, 16, 32, 12, 8, 3, 8, 6, 80, 58,
- 46, 32, 40, 10, 1, 9, 13, 13, 84, 44,
- 14, 4, 18, 5, 23, 23, 10, 84, 58, 34,
- 20, 38, 10, 1, 7, 11, 124, 33, 21, 7,
- 17, 21, 13, 5, 1, 7, 3, 2, 6, 25,
- 15, 35, 23, 26, 25, 43, 17, 3, 9, 21,
- 25, 15, 21, 33, 43, 49, 4, 6, 28, 0,
- 9, 8, 8, 8, 7, 1, 2, 0, 23, 15,
- 25, 3, 16, 37, 1, 28, 7, 8, 2, 10,
- 34, 5, 5, 10, 22, 25, 27, 63, 48, 54,
- 68, 32, 24, 38, 28, 28, 32, 16, 24, 24,
- 1, 1, 15, 5, 4, 13, 47, 7, 9, 11,
- 2, 7, 12, 18, 3, 8, 16, 18, 14, 10,
- 6, 25, 13, 13, 43, 25, 39, 39, 65, 59,
- 67, 71, 25, 23, 71, 5, 5, 23, 45, 31,
- 33, 45, 33, 43, 49, 63, 67, 83, 89, 1,
- 19, 47, 15, 12, 8, 22, 26, 30, 56, 36,
- 50, 52, 82, 62, 58, 84, 80, 94, 40, 12,
- 15, 33, 59, 87, 107, 125, 18, 84, 70, 68,
- 50, 62, 30, 22, 26, 6, 23, 11, 12, 7,
- 34, 52, 5, 0, 20, 28, 8, 26, 50, 8,
- 0, 68, 22, 15, 53, 81, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 33 */
-
- 74, 10, 33, 74, 10, 33, 11, 14, 46, 24,
- 3, 33, 28, 40, 104, 28, 44, 7, 24, 42,
- 1, 19, 1, 43, 75, 4, 8, 113, 119, 117,
- 62, 2, 11, 24, 42, 1, 19, 8, 30, 0,
- 2, 9, 19, 7, 35, 23, 57, 10, 11, 19,
- 1, 27, 21, 49, 22, 0, 3, 11, 12, 6,
- 44, 0, 0, 0, 1, 61, 67, 12, 7, 9,
- 36, 11, 51, 13, 46, 28, 88, 78, 22, 26,
- 1, 32, 1, 5, 7, 27, 29, 35, 35, 48,
- 2, 18, 21, 7, 19, 13, 29, 1, 17, 15,
- 35, 36, 9, 6, 15, 33, 3, 17, 2, 10,
- 6, 4, 22, 18, 17, 3, 4, 7, 4, 15,
- 12, 17, 0, 12, 2, 30, 16, 2, 17, 10,
- 9, 17, 7, 43, 15, 12, 0, 14, 14, 14,
- 54, 28, 8, 3, 14, 3, 7, 8, 61, 13,
- 0, 35, 1, 17, 18, 6, 13, 28, 14, 8,
- 29, 18, 15, 23, 6, 47, 26, 38, 26, 28,
- 34, 30, 16, 32, 32, 5, 10, 18, 6, 2,
- 15, 0, 11, 7, 1, 7, 7, 1, 11, 31,
- 11, 15, 25, 25, 35, 10, 18, 6, 4, 5,
- 11, 7, 7, 23, 37, 33, 39, 65, 55, 83,
- 11, 11, 43, 0, 11, 17, 21, 33, 43, 33,
- 37, 43, 27, 37, 55, 41, 51, 0, 48, 36,
- 22, 12, 18, 4, 5, 3, 5, 10, 66, 42,
- 30, 16, 34, 14, 10, 1, 12, 6, 82, 60,
- 46, 32, 42, 10, 1, 7, 11, 13, 86, 44,
- 14, 4, 20, 3, 21, 21, 10, 84, 58, 34,
- 20, 38, 10, 0, 5, 9, 124, 31, 19, 5,
- 13, 17, 11, 1, 2, 3, 0, 6, 10, 23,
- 13, 33, 21, 30, 23, 43, 15, 1, 7, 21,
- 25, 15, 21, 33, 45, 51, 4, 6, 30, 0,
- 9, 8, 8, 8, 7, 1, 2, 0, 23, 15,
- 25, 1, 18, 37, 1, 28, 7, 8, 2, 10,
- 36, 5, 7, 10, 22, 25, 27, 65, 48, 54,
- 68, 30, 22, 36, 24, 24, 28, 12, 20, 20,
- 5, 5, 17, 9, 1, 19, 55, 11, 13, 13,
- 0, 9, 12, 20, 1, 12, 22, 16, 12, 8,
- 4, 29, 15, 15, 47, 27, 41, 41, 67, 61,
- 69, 71, 25, 23, 73, 7, 7, 25, 47, 33,
- 35, 47, 35, 45, 51, 65, 69, 85, 89, 1,
- 19, 47, 13, 14, 10, 24, 28, 32, 60, 38,
- 52, 54, 86, 66, 60, 88, 84, 94, 38, 8,
- 19, 37, 63, 93, 111, 125, 20, 86, 72, 70,
- 52, 64, 32, 24, 28, 8, 21, 9, 14, 5,
- 38, 56, 3, 2, 22, 30, 10, 28, 52, 8,
- 0, 66, 18, 19, 57, 87, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 34 */
-
- 72, 10, 33, 72, 10, 33, 7, 16, 46, 24,
- 3, 35, 26, 38, 104, 28, 48, 7, 26, 44,
- 1, 21, 1, 45, 77, 2, 4, 117, 121, 119,
- 68, 4, 11, 26, 44, 1, 19, 10, 30, 1,
- 2, 9, 17, 7, 35, 23, 57, 10, 11, 17,
- 1, 27, 21, 49, 22, 0, 3, 11, 12, 6,
- 44, 0, 0, 0, 0, 61, 67, 12, 9, 9,
- 36, 11, 51, 9, 50, 32, 90, 82, 24, 28,
- 0, 34, 0, 3, 3, 27, 29, 35, 33, 48,
- 2, 18, 19, 7, 17, 13, 27, 1, 17, 15,
- 35, 36, 9, 6, 15, 33, 3, 17, 2, 10,
- 6, 4, 22, 18, 17, 3, 4, 7, 4, 15,
- 10, 17, 0, 10, 0, 28, 14, 0, 15, 10,
- 9, 19, 9, 43, 17, 12, 0, 14, 14, 14,
- 56, 28, 8, 3, 14, 3, 9, 8, 63, 13,
- 0, 37, 1, 19, 18, 6, 15, 28, 14, 8,
- 31, 18, 17, 23, 6, 49, 24, 38, 26, 28,
- 34, 30, 16, 32, 32, 5, 10, 18, 6, 2,
- 15, 0, 11, 7, 1, 7, 9, 3, 13, 31,
- 11, 15, 27, 27, 35, 6, 14, 2, 0, 9,
- 15, 11, 11, 27, 41, 37, 43, 69, 59, 85,
- 11, 11, 45, 1, 13, 19, 23, 37, 45, 35,
- 39, 45, 29, 39, 55, 41, 49, 0, 48, 36,
- 22, 12, 18, 4, 5, 3, 3, 12, 66, 42,
- 30, 16, 34, 14, 12, 0, 16, 6, 82, 60,
- 46, 32, 42, 10, 1, 7, 9, 13, 86, 44,
- 14, 4, 20, 3, 21, 19, 10, 82, 56, 32,
- 18, 38, 10, 0, 5, 9, 124, 29, 17, 3,
- 11, 15, 9, 0, 4, 1, 2, 8, 14, 21,
- 11, 33, 19, 32, 23, 45, 15, 0, 7, 21,
- 27, 15, 23, 35, 47, 53, 2, 6, 30, 0,
- 11, 6, 8, 8, 9, 3, 2, 0, 25, 15,
- 25, 1, 18, 37, 3, 26, 9, 8, 0, 8,
- 36, 7, 9, 10, 22, 27, 29, 69, 46, 52,
- 66, 28, 20, 34, 20, 20, 24, 8, 14, 14,
- 11, 9, 19, 15, 7, 25, 63, 17, 17, 17,
- 1, 11, 12, 22, 1, 14, 26, 12, 8, 4,
- 0, 33, 19, 19, 51, 29, 45, 43, 71, 63,
- 71, 73, 27, 23, 75, 9, 9, 29, 51, 37,
- 39, 49, 39, 49, 53, 67, 71, 87, 91, 3,
- 21, 49, 13, 14, 10, 26, 28, 34, 62, 40,
- 54, 56, 88, 68, 62, 90, 86, 92, 34, 4,
- 23, 43, 69, 99, 117, 125, 20, 86, 72, 70,
- 52, 66, 32, 24, 28, 8, 21, 9, 16, 5,
- 40, 58, 3, 4, 24, 32, 10, 28, 54, 8,
- 0, 64, 14, 23, 63, 93, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 35 */
-
- 70, 10, 33, 70, 10, 33, 3, 20, 48, 24,
- 5, 39, 22, 36, 104, 28, 52, 7, 28, 46,
- 1, 23, 1, 47, 79, 2, 0, 119, 123, 119,
- 74, 6, 11, 28, 46, 1, 17, 12, 32, 1,
- 2, 7, 15, 9, 37, 23, 57, 10, 11, 17,
- 1, 27, 21, 49, 24, 0, 3, 11, 14, 6,
- 44, 0, 0, 0, 0, 61, 67, 14, 11, 9,
- 36, 11, 51, 5, 54, 34, 94, 86, 26, 30,
- 4, 36, 2, 1, 0, 25, 29, 33, 31, 48,
- 2, 18, 19, 7, 17, 11, 23, 1, 19, 17,
- 37, 36, 9, 6, 13, 33, 1, 17, 4, 10,
- 6, 4, 22, 16, 17, 3, 4, 7, 4, 15,
- 8, 17, 0, 8, 1, 26, 12, 1, 15, 12,
- 9, 21, 9, 41, 17, 12, 0, 14, 14, 14,
- 58, 28, 8, 3, 16, 3, 11, 8, 65, 13,
- 0, 37, 3, 21, 18, 6, 17, 28, 14, 8,
- 35, 18, 19, 23, 6, 49, 22, 38, 26, 28,
- 34, 30, 16, 32, 32, 5, 8, 18, 6, 2,
- 15, 1, 13, 9, 3, 9, 11, 5, 13, 31,
- 13, 15, 29, 31, 35, 4, 10, 1, 3, 13,
- 19, 15, 15, 31, 45, 39, 45, 73, 63, 87,
- 11, 11, 45, 3, 15, 21, 27, 39, 49, 37,
- 41, 47, 29, 39, 55, 41, 49, 2, 48, 36,
- 22, 12, 18, 4, 5, 1, 1, 12, 66, 42,
- 30, 16, 36, 16, 14, 2, 20, 6, 82, 60,
- 46, 32, 44, 10, 1, 7, 9, 13, 86, 44,
- 12, 4, 20, 3, 21, 17, 10, 82, 56, 30,
- 16, 38, 10, 0, 3, 7, 124, 27, 15, 3,
- 9, 13, 7, 4, 6, 0, 4, 12, 16, 21,
- 9, 33, 19, 36, 23, 45, 15, 0, 7, 23,
- 27, 15, 25, 37, 49, 55, 2, 4, 30, 1,
- 11, 6, 6, 8, 11, 3, 0, 0, 27, 15,
- 27, 1, 18, 39, 3, 26, 11, 8, 1, 8,
- 36, 9, 11, 8, 20, 29, 29, 71, 44, 50,
- 66, 26, 18, 30, 16, 16, 20, 2, 10, 10,
- 17, 15, 21, 21, 13, 31, 71, 23, 23, 21,
- 3, 13, 12, 24, 1, 16, 30, 8, 4, 0,
- 3, 37, 23, 21, 55, 33, 47, 45, 73, 67,
- 73, 75, 27, 25, 77, 11, 13, 31, 55, 41,
- 43, 53, 41, 53, 57, 69, 75, 91, 93, 5,
- 23, 51, 13, 16, 10, 26, 30, 34, 64, 42,
- 56, 58, 90, 70, 64, 94, 88, 92, 32, 0,
- 29, 47, 75, 105, 123, 125, 22, 88, 74, 72,
- 52, 68, 34, 24, 30, 10, 21, 7, 16, 3,
- 42, 60, 3, 4, 24, 32, 10, 30, 56, 8,
- 0, 62, 10, 29, 69, 99, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 36 */
-
- 66, 10, 33, 66, 10, 33, 1, 22, 48, 24,
- 5, 41, 20, 32, 104, 28, 58, 9, 30, 46,
- 1, 25, 1, 49, 81, 0, 3, 123, 125, 121,
- 80, 8, 11, 30, 46, 1, 17, 14, 32, 3,
- 2, 7, 15, 9, 37, 21, 57, 10, 11, 15,
- 3, 29, 21, 49, 24, 2, 3, 9, 14, 6,
- 44, 0, 0, 0, 2, 63, 67, 14, 13, 9,
- 36, 11, 51, 3, 56, 38, 96, 88, 28, 32,
- 6, 40, 4, 0, 4, 25, 27, 33, 29, 48,
- 2, 18, 17, 7, 15, 11, 21, 3, 19, 17,
- 37, 36, 9, 6, 13, 33, 1, 17, 4, 10,
- 4, 4, 22, 16, 17, 3, 4, 7, 4, 15,
- 8, 19, 0, 8, 3, 24, 10, 3, 13, 12,
- 9, 23, 11, 41, 19, 12, 1, 14, 14, 14,
- 60, 30, 8, 5, 16, 5, 13, 6, 67, 13,
- 0, 39, 3, 23, 16, 4, 17, 30, 14, 8,
- 37, 16, 21, 23, 6, 51, 22, 38, 26, 28,
- 34, 30, 16, 32, 30, 5, 8, 18, 6, 2,
- 17, 1, 13, 9, 3, 9, 11, 7, 15, 31,
- 13, 15, 31, 33, 35, 0, 6, 5, 7, 17,
- 23, 19, 19, 35, 49, 43, 49, 79, 67, 89,
- 11, 13, 47, 5, 17, 23, 29, 43, 51, 39,
- 45, 47, 31, 41, 55, 41, 47, 2, 48, 36,
- 22, 12, 18, 4, 5, 1, 0, 14, 66, 42,
- 30, 16, 36, 16, 14, 2, 24, 6, 82, 60,
- 46, 32, 44, 10, 1, 7, 7, 13, 86, 42,
- 12, 4, 20, 3, 21, 17, 10, 80, 54, 28,
- 14, 38, 10, 0, 3, 7, 124, 25, 13, 1,
- 5, 11, 5, 6, 10, 2, 8, 14, 20, 19,
- 9, 31, 17, 38, 21, 47, 15, 2, 7, 23,
- 29, 17, 27, 39, 51, 57, 0, 4, 30, 1,
- 13, 4, 6, 8, 13, 5, 0, 1, 29, 17,
- 27, 1, 18, 39, 5, 24, 13, 8, 3, 6,
- 36, 11, 13, 8, 20, 31, 31, 75, 42, 50,
- 64, 24, 14, 28, 12, 12, 16, 1, 4, 4,
- 23, 19, 25, 27, 21, 37, 79, 27, 27, 25,
- 5, 17, 12, 26, 0, 18, 34, 6, 0, 3,
- 5, 41, 27, 25, 59, 35, 51, 49, 77, 69,
- 75, 77, 29, 25, 79, 15, 15, 35, 57, 45,
- 47, 55, 45, 57, 59, 71, 77, 93, 93, 7,
- 23, 53, 13, 16, 12, 28, 30, 36, 66, 42,
- 58, 60, 92, 72, 66, 96, 90, 90, 28, 3,
- 33, 53, 81, 111, 125, 125, 22, 88, 74, 72,
- 54, 68, 34, 26, 30, 10, 19, 7, 18, 3,
- 44, 62, 3, 6, 26, 34, 10, 30, 58, 8,
- 0, 58, 6, 33, 75, 105, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 37 */
-
- 64, 10, 33, 64, 10, 33, 2, 26, 48, 24,
- 7, 45, 16, 30, 104, 28, 62, 9, 32, 48,
- 1, 25, 0, 51, 83, 0, 7, 125, 125, 121,
- 86, 12, 11, 32, 48, 1, 17, 16, 32, 3,
- 2, 7, 13, 9, 39, 21, 57, 10, 11, 13,
- 3, 29, 21, 49, 26, 2, 1, 9, 16, 6,
- 44, 0, 0, 0, 2, 63, 67, 16, 15, 9,
- 36, 9, 51, 0, 60, 40, 100, 92, 32, 34,
- 8, 42, 6, 2, 8, 23, 27, 31, 27, 48,
- 2, 18, 17, 7, 15, 9, 17, 3, 19, 17,
- 37, 36, 9, 8, 11, 33, 1, 17, 6, 10,
- 4, 4, 22, 16, 15, 3, 6, 7, 4, 15,
- 6, 19, 0, 6, 5, 24, 8, 5, 11, 14,
- 9, 25, 11, 39, 19, 12, 1, 14, 14, 14,
- 62, 30, 8, 5, 16, 5, 15, 6, 69, 13,
- 0, 39, 5, 25, 16, 4, 19, 30, 14, 8,
- 39, 16, 23, 23, 6, 51, 20, 38, 26, 28,
- 34, 30, 16, 32, 30, 5, 8, 18, 6, 2,
- 17, 1, 13, 11, 3, 9, 13, 9, 15, 31,
- 15, 15, 33, 35, 35, 1, 2, 7, 9, 21,
- 27, 23, 23, 39, 53, 47, 53, 83, 69, 91,
- 11, 13, 47, 7, 19, 25, 31, 45, 55, 41,
- 47, 49, 31, 41, 55, 41, 47, 2, 48, 36,
- 22, 12, 18, 6, 3, 0, 2, 14, 66, 42,
- 30, 16, 36, 18, 16, 4, 28, 6, 82, 60,
- 46, 32, 44, 10, 1, 7, 5, 13, 88, 42,
- 10, 4, 20, 3, 21, 15, 10, 80, 52, 26,
- 12, 38, 10, 0, 3, 5, 124, 23, 11, 0,
- 3, 9, 3, 8, 12, 4, 10, 18, 24, 17,
- 7, 31, 17, 40, 21, 47, 13, 4, 7, 25,
- 29, 17, 27, 41, 53, 59, 1, 2, 30, 3,
- 13, 4, 6, 8, 15, 7, 0, 1, 31, 17,
- 27, 1, 18, 39, 7, 24, 13, 8, 5, 4,
- 36, 13, 15, 6, 18, 33, 33, 79, 40, 48,
- 64, 22, 12, 24, 8, 8, 12, 7, 1, 0,
- 29, 23, 27, 33, 27, 43, 87, 33, 33, 29,
- 7, 19, 12, 28, 0, 20, 38, 2, 1, 7,
- 9, 45, 31, 27, 63, 37, 55, 51, 81, 73,
- 77, 79, 29, 25, 81, 17, 19, 39, 61, 47,
- 49, 59, 47, 59, 63, 73, 79, 95, 95, 7,
- 25, 55, 11, 18, 12, 28, 32, 38, 68, 44,
- 60, 62, 96, 74, 68, 98, 94, 90, 24, 7,
- 39, 57, 87, 117, 125, 125, 22, 90, 76, 74,
- 54, 70, 34, 26, 32, 12, 19, 7, 20, 1,
- 46, 64, 1, 8, 26, 34, 10, 32, 60, 8,
- 0, 56, 2, 39, 81, 111, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 38 */
-
- 62, 10, 35, 62, 10, 35, 6, 28, 50, 24,
- 7, 47, 14, 28, 104, 28, 66, 9, 32, 50,
- 1, 27, 0, 53, 85, 1, 9, 125, 125, 123,
- 92, 14, 11, 32, 50, 1, 15, 18, 34, 5,
- 4, 5, 11, 11, 39, 21, 57, 10, 9, 13,
- 3, 29, 19, 49, 26, 2, 1, 9, 16, 6,
- 44, 0, 0, 0, 4, 63, 67, 16, 15, 11,
- 36, 9, 49, 4, 64, 44, 102, 96, 34, 36,
- 12, 44, 8, 2, 10, 23, 27, 31, 27, 50,
- 2, 18, 15, 5, 13, 9, 15, 3, 21, 19,
- 39, 36, 9, 8, 11, 33, 0, 17, 6, 10,
- 4, 6, 22, 14, 15, 3, 6, 7, 4, 15,
- 4, 19, 0, 4, 7, 22, 8, 5, 11, 14,
- 9, 25, 13, 39, 21, 12, 1, 14, 14, 14,
- 62, 30, 8, 5, 18, 5, 17, 6, 69, 15,
- 0, 41, 5, 27, 16, 4, 21, 30, 14, 8,
- 43, 16, 25, 23, 6, 53, 18, 38, 24, 28,
- 34, 30, 16, 32, 30, 5, 6, 18, 4, 2,
- 17, 3, 15, 11, 5, 11, 15, 11, 17, 31,
- 15, 13, 35, 39, 35, 5, 1, 11, 13, 25,
- 31, 27, 27, 43, 57, 49, 55, 87, 73, 93,
- 11, 13, 49, 9, 21, 27, 35, 49, 57, 43,
- 49, 51, 33, 43, 55, 41, 45, 4, 48, 36,
- 22, 14, 18, 6, 3, 0, 4, 16, 64, 42,
- 30, 16, 38, 18, 18, 6, 32, 6, 84, 60,
- 46, 32, 46, 10, 1, 5, 5, 13, 88, 42,
- 10, 4, 20, 1, 19, 13, 10, 78, 52, 24,
- 12, 38, 10, 2, 1, 5, 124, 23, 9, 0,
- 1, 7, 1, 12, 14, 6, 12, 20, 26, 17,
- 5, 31, 15, 44, 21, 49, 13, 4, 7, 25,
- 31, 17, 29, 43, 55, 61, 1, 2, 30, 3,
- 15, 2, 4, 8, 15, 7, 1, 1, 31, 17,
- 29, 1, 18, 41, 7, 22, 15, 6, 7, 4,
- 38, 13, 17, 6, 18, 33, 33, 81, 38, 46,
- 62, 20, 10, 22, 4, 4, 8, 11, 5, 5,
- 35, 29, 29, 37, 33, 49, 95, 39, 37, 33,
- 9, 21, 12, 30, 0, 24, 44, 1, 5, 11,
- 13, 49, 35, 31, 67, 41, 57, 53, 83, 75,
- 79, 81, 31, 27, 83, 19, 21, 41, 65, 51,
- 53, 61, 51, 63, 65, 77, 83, 99, 97, 9,
- 27, 57, 11, 18, 12, 30, 32, 38, 72, 46,
- 62, 64, 98, 78, 70, 102, 96, 88, 22, 11,
- 43, 63, 91, 123, 125, 125, 24, 90, 76, 74,
- 54, 72, 36, 26, 32, 12, 19, 5, 20, 1,
- 48, 66, 1, 8, 28, 36, 10, 32, 62, 8,
- 0, 54, 1, 43, 87, 119, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 39 */
-
- 60, 10, 35, 60, 10, 35, 10, 32, 50, 24,
- 9, 51, 10, 24, 104, 28, 72, 11, 34, 50,
- 1, 29, 0, 55, 87, 1, 13, 125, 125, 123,
- 98, 16, 11, 34, 50, 1, 15, 20, 34, 5,
- 4, 5, 11, 11, 41, 19, 57, 10, 9, 11,
- 5, 29, 19, 49, 28, 4, 1, 7, 18, 6,
- 44, 0, 0, 0, 4, 63, 67, 18, 17, 11,
- 36, 9, 49, 6, 68, 46, 106, 100, 36, 38,
- 14, 48, 10, 4, 14, 21, 25, 29, 25, 50,
- 2, 18, 15, 5, 13, 7, 11, 5, 21, 19,
- 39, 36, 9, 8, 9, 33, 0, 17, 8, 10,
- 2, 6, 22, 14, 15, 3, 6, 7, 4, 15,
- 4, 19, 0, 4, 9, 20, 6, 7, 9, 16,
- 9, 27, 13, 37, 21, 12, 3, 14, 14, 14,
- 64, 32, 8, 5, 18, 5, 19, 6, 71, 15,
- 0, 41, 7, 29, 14, 4, 21, 32, 14, 8,
- 45, 14, 27, 23, 6, 53, 18, 38, 24, 28,
- 34, 30, 16, 32, 30, 5, 6, 18, 4, 2,
- 17, 3, 15, 13, 5, 11, 15, 13, 17, 31,
- 17, 13, 37, 41, 35, 7, 5, 15, 17, 29,
- 35, 31, 31, 47, 61, 53, 59, 93, 77, 95,
- 11, 15, 49, 11, 23, 29, 37, 51, 61, 45,
- 51, 51, 33, 43, 55, 41, 45, 4, 48, 36,
- 22, 14, 18, 6, 3, 2, 6, 16, 64, 42,
- 30, 16, 38, 20, 20, 6, 36, 6, 84, 60,
- 46, 32, 46, 10, 1, 5, 3, 13, 88, 40,
- 8, 4, 20, 1, 19, 13, 10, 78, 50, 22,
- 10, 38, 10, 2, 1, 3, 124, 21, 7, 2,
- 2, 5, 0, 14, 18, 8, 16, 24, 30, 15,
- 3, 29, 15, 46, 19, 49, 13, 6, 7, 27,
- 31, 19, 31, 45, 57, 63, 3, 0, 30, 5,
- 15, 2, 4, 8, 17, 9, 1, 3, 33, 17,
- 29, 1, 18, 41, 9, 22, 17, 6, 9, 2,
- 38, 15, 19, 4, 16, 35, 35, 85, 36, 46,
- 62, 18, 6, 18, 0, 0, 4, 17, 11, 9,
- 41, 33, 33, 43, 41, 55, 103, 43, 43, 37,
- 11, 23, 12, 32, 2, 26, 48, 3, 9, 15,
- 15, 53, 39, 33, 71, 43, 61, 57, 87, 79,
- 81, 83, 31, 27, 85, 23, 25, 45, 67, 55,
- 57, 65, 53, 67, 69, 79, 85, 101, 97, 11,
- 27, 59, 11, 20, 14, 30, 34, 40, 74, 48,
- 64, 66, 100, 80, 72, 104, 98, 88, 18, 15,
- 49, 67, 97, 125, 125, 125, 24, 92, 78, 76,
- 56, 74, 36, 28, 34, 14, 17, 5, 22, 0,
- 50, 68, 1, 10, 28, 36, 10, 34, 64, 8,
- 0, 50, 5, 49, 93, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 40 */
-
- 56, 8, 35, 56, 8, 35, 12, 34, 50, 24,
- 9, 53, 8, 22, 104, 28, 76, 11, 36, 52,
- 1, 31, 0, 57, 91, 3, 17, 125, 125, 125,
- 102, 18, 11, 36, 52, 1, 15, 22, 34, 7,
- 4, 5, 9, 13, 41, 19, 59, 10, 9, 11,
- 5, 31, 19, 49, 28, 4, 1, 7, 18, 6,
- 44, 0, 0, 0, 6, 65, 67, 18, 19, 11,
- 36, 9, 49, 10, 70, 50, 108, 102, 38, 40,
- 16, 50, 12, 6, 18, 21, 25, 29, 23, 50,
- 2, 18, 13, 5, 11, 7, 9, 5, 23, 21,
- 41, 36, 9, 8, 9, 33, 0, 17, 8, 8,
- 2, 6, 22, 12, 15, 3, 6, 7, 2, 15,
- 2, 21, 0, 2, 13, 18, 4, 9, 9, 16,
- 9, 29, 15, 37, 23, 10, 3, 14, 14, 14,
- 66, 32, 8, 7, 18, 7, 21, 4, 73, 15,
- 0, 43, 7, 31, 14, 2, 23, 32, 14, 8,
- 49, 14, 29, 23, 6, 55, 16, 36, 24, 28,
- 34, 28, 14, 32, 28, 7, 4, 18, 4, 0,
- 19, 5, 17, 13, 7, 13, 17, 15, 19, 31,
- 17, 13, 39, 45, 35, 11, 9, 19, 21, 33,
- 41, 35, 35, 51, 65, 57, 63, 97, 81, 97,
- 11, 15, 51, 13, 27, 33, 41, 55, 63, 49,
- 55, 53, 35, 45, 55, 41, 43, 4, 48, 36,
- 22, 14, 18, 6, 3, 2, 8, 18, 64, 42,
- 30, 16, 38, 20, 20, 8, 38, 6, 84, 60,
- 46, 30, 46, 10, 1, 5, 3, 13, 88, 40,
- 8, 4, 20, 1, 19, 11, 10, 76, 48, 20,
- 8, 36, 10, 2, 1, 3, 124, 19, 5, 2,
- 4, 3, 0, 16, 20, 10, 18, 26, 32, 15,
- 3, 29, 13, 48, 19, 51, 13, 6, 7, 27,
- 33, 19, 33, 47, 61, 65, 5, 0, 30, 5,
- 17, 0, 2, 6, 19, 11, 3, 3, 35, 19,
- 31, 1, 18, 43, 11, 20, 19, 6, 11, 0,
- 38, 17, 21, 4, 16, 37, 37, 89, 34, 44,
- 60, 14, 4, 16, 3, 3, 1, 21, 17, 15,
- 47, 39, 35, 49, 47, 61, 111, 49, 47, 41,
- 15, 27, 12, 32, 2, 28, 52, 7, 13, 19,
- 19, 59, 43, 37, 75, 47, 65, 59, 91, 81,
- 83, 85, 33, 29, 87, 25, 27, 49, 71, 59,
- 61, 67, 57, 71, 71, 81, 89, 105, 99, 13,
- 29, 61, 11, 20, 14, 32, 34, 40, 76, 48,
- 66, 68, 102, 82, 74, 106, 100, 86, 14, 19,
- 53, 73, 103, 125, 125, 125, 24, 92, 78, 76,
- 56, 74, 36, 28, 34, 14, 17, 5, 22, 0,
- 52, 70, 1, 10, 30, 38, 10, 34, 64, 8,
- 1, 48, 9, 53, 99, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 41 */
-
- 54, 8, 35, 54, 8, 35, 16, 36, 52, 24,
- 9, 55, 6, 20, 104, 28, 80, 11, 38, 54,
- 1, 31, 2, 59, 93, 5, 21, 125, 125, 125,
- 108, 22, 11, 38, 54, 1, 13, 24, 36, 9,
- 4, 3, 7, 13, 41, 19, 59, 10, 9, 9,
- 5, 31, 19, 49, 28, 4, 0, 7, 18, 6,
- 44, 0, 0, 0, 8, 65, 67, 18, 21, 11,
- 36, 7, 49, 14, 74, 54, 110, 106, 42, 42,
- 20, 52, 16, 8, 22, 21, 25, 29, 21, 50,
- 2, 18, 11, 5, 9, 5, 7, 5, 23, 21,
- 41, 36, 9, 10, 7, 31, 2, 17, 8, 8,
- 2, 6, 22, 12, 13, 3, 8, 7, 2, 13,
- 0, 21, 0, 0, 15, 18, 2, 11, 7, 16,
- 7, 31, 17, 37, 25, 10, 3, 16, 14, 14,
- 68, 32, 8, 7, 20, 7, 21, 4, 75, 15,
- 0, 45, 7, 33, 14, 2, 25, 32, 14, 8,
- 51, 14, 29, 23, 6, 57, 14, 36, 24, 28,
- 34, 28, 14, 32, 28, 7, 4, 18, 4, 0,
- 19, 5, 17, 13, 7, 13, 19, 15, 19, 31,
- 17, 13, 41, 47, 35, 15, 11, 21, 23, 37,
- 45, 37, 37, 55, 69, 59, 65, 101, 83, 99,
- 11, 15, 53, 15, 29, 35, 43, 57, 65, 51,
- 57, 55, 37, 47, 55, 39, 41, 6, 50, 36,
- 22, 14, 20, 8, 1, 4, 10, 20, 64, 42,
- 30, 16, 40, 20, 22, 10, 42, 6, 84, 60,
- 46, 30, 48, 10, 1, 5, 1, 13, 90, 40,
- 8, 4, 22, 1, 19, 9, 10, 76, 48, 20,
- 6, 36, 10, 2, 0, 1, 124, 17, 3, 4,
- 6, 0, 2, 20, 22, 14, 20, 28, 36, 13,
- 1, 29, 11, 52, 19, 53, 11, 8, 7, 27,
- 35, 19, 33, 49, 63, 67, 5, 0, 30, 5,
- 17, 1, 2, 6, 21, 11, 3, 3, 37, 19,
- 31, 0, 20, 43, 11, 18, 19, 6, 11, 0,
- 38, 19, 23, 4, 16, 39, 37, 91, 34, 42,
- 58, 12, 2, 14, 7, 7, 5, 25, 21, 21,
- 51, 43, 37, 55, 53, 67, 119, 55, 51, 43,
- 17, 29, 12, 34, 2, 30, 56, 11, 15, 23,
- 23, 63, 45, 39, 79, 49, 67, 61, 93, 83,
- 85, 85, 33, 29, 89, 27, 29, 51, 75, 61,
- 63, 69, 59, 73, 73, 83, 91, 107, 101, 13,
- 31, 61, 9, 20, 14, 34, 36, 42, 78, 50,
- 68, 70, 106, 84, 76, 110, 104, 84, 12, 23,
- 57, 79, 109, 125, 125, 125, 26, 92, 78, 78,
- 56, 76, 38, 28, 36, 16, 17, 3, 24, 0,
- 54, 74, 0, 12, 32, 40, 10, 36, 66, 8,
- 1, 46, 13, 57, 103, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 42 */
-
- 52, 8, 35, 52, 8, 35, 20, 40, 52, 24,
- 11, 59, 2, 16, 104, 28, 86, 13, 40, 54,
- 1, 33, 2, 61, 95, 5, 25, 125, 125, 125,
- 114, 24, 11, 40, 54, 1, 13, 26, 36, 9,
- 4, 3, 7, 13, 43, 17, 59, 10, 9, 7,
- 7, 31, 19, 49, 30, 6, 0, 5, 20, 6,
- 44, 0, 0, 0, 8, 65, 67, 20, 23, 11,
- 36, 7, 49, 16, 78, 56, 114, 110, 44, 44,
- 22, 56, 18, 10, 26, 19, 23, 27, 19, 50,
- 2, 18, 11, 5, 9, 5, 3, 7, 23, 21,
- 41, 36, 9, 10, 7, 31, 2, 17, 10, 8,
- 0, 6, 22, 12, 13, 3, 8, 7, 2, 13,
- 0, 21, 0, 0, 17, 16, 0, 13, 5, 18,
- 7, 33, 17, 35, 25, 10, 5, 16, 14, 14,
- 70, 34, 8, 7, 20, 7, 23, 4, 77, 15,
- 0, 45, 9, 35, 12, 2, 25, 34, 14, 8,
- 53, 12, 31, 23, 6, 57, 14, 36, 24, 28,
- 34, 28, 14, 32, 28, 7, 4, 18, 4, 0,
- 19, 5, 17, 15, 7, 13, 19, 17, 21, 31,
- 19, 13, 43, 49, 35, 17, 15, 25, 27, 41,
- 49, 41, 41, 59, 73, 63, 69, 107, 87, 101,
- 11, 17, 53, 17, 31, 37, 45, 61, 69, 53,
- 59, 55, 37, 47, 55, 39, 41, 6, 50, 36,
- 22, 14, 20, 8, 1, 4, 12, 20, 64, 42,
- 30, 16, 40, 22, 24, 10, 46, 6, 84, 60,
- 46, 30, 48, 10, 1, 5, 0, 13, 90, 38,
- 6, 4, 22, 1, 19, 9, 10, 74, 46, 18,
- 4, 36, 10, 2, 0, 1, 124, 15, 1, 6,
- 10, 2, 4, 22, 26, 16, 24, 32, 40, 11,
- 0, 27, 11, 54, 17, 53, 11, 10, 7, 29,
- 35, 21, 35, 51, 65, 69, 7, 1, 30, 7,
- 19, 1, 2, 6, 23, 13, 3, 5, 39, 19,
- 31, 0, 20, 43, 13, 18, 21, 6, 13, 1,
- 38, 21, 25, 2, 14, 41, 39, 95, 32, 42,
- 58, 10, 1, 10, 11, 11, 9, 31, 27, 25,
- 57, 47, 41, 61, 61, 73, 125, 59, 57, 47,
- 19, 31, 12, 36, 4, 32, 60, 13, 19, 27,
- 25, 67, 49, 43, 83, 51, 71, 65, 97, 87,
- 87, 87, 35, 29, 91, 31, 33, 55, 77, 65,
- 67, 73, 63, 77, 77, 85, 93, 109, 101, 15,
- 31, 63, 9, 22, 16, 34, 36, 44, 80, 52,
- 70, 72, 108, 86, 78, 112, 106, 84, 8, 27,
- 63, 83, 115, 125, 125, 125, 26, 94, 80, 78,
- 58, 78, 38, 30, 36, 16, 15, 3, 26, 2,
- 56, 76, 0, 14, 32, 40, 10, 36, 68, 8,
- 1, 42, 17, 63, 109, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 43 */
-
- 50, 8, 37, 50, 8, 37, 24, 42, 54, 24,
- 11, 61, 0, 14, 104, 28, 90, 13, 40, 56,
- 1, 35, 2, 63, 97, 7, 27, 125, 125, 125,
- 120, 26, 11, 40, 56, 1, 11, 28, 38, 11,
- 6, 1, 5, 15, 43, 17, 59, 10, 7, 7,
- 7, 31, 17, 49, 30, 6, 0, 5, 20, 6,
- 44, 0, 0, 0, 10, 65, 67, 20, 23, 13,
- 36, 7, 47, 20, 82, 60, 116, 114, 46, 46,
- 26, 58, 20, 10, 28, 19, 23, 27, 19, 52,
- 2, 18, 9, 3, 7, 3, 1, 7, 25, 23,
- 43, 36, 9, 10, 5, 31, 4, 17, 10, 8,
- 0, 8, 22, 10, 13, 3, 8, 7, 2, 13,
- 1, 21, 0, 1, 19, 14, 0, 13, 5, 18,
- 7, 33, 19, 35, 27, 10, 5, 16, 14, 14,
- 70, 34, 8, 7, 22, 7, 25, 4, 77, 17,
- 0, 47, 9, 37, 12, 2, 27, 34, 14, 8,
- 57, 12, 33, 23, 6, 59, 12, 36, 22, 28,
- 34, 28, 14, 32, 28, 7, 2, 18, 2, 0,
- 19, 7, 19, 15, 9, 15, 21, 19, 21, 31,
- 19, 11, 45, 53, 35, 21, 19, 29, 31, 45,
- 53, 45, 45, 63, 77, 65, 71, 111, 91, 103,
- 11, 17, 55, 19, 33, 39, 49, 63, 71, 55,
- 61, 57, 39, 49, 55, 39, 39, 8, 50, 36,
- 22, 16, 20, 8, 1, 6, 14, 22, 62, 42,
- 30, 16, 42, 22, 26, 12, 50, 6, 86, 60,
- 46, 30, 50, 10, 1, 3, 0, 13, 90, 38,
- 6, 4, 22, 0, 17, 7, 10, 74, 46, 16,
- 4, 36, 10, 4, 2, 0, 124, 15, 0, 6,
- 12, 4, 6, 26, 28, 18, 26, 34, 42, 11,
- 2, 27, 9, 58, 17, 55, 11, 10, 7, 29,
- 37, 21, 37, 53, 67, 71, 7, 1, 30, 7,
- 19, 3, 0, 6, 23, 13, 5, 5, 39, 19,
- 33, 0, 20, 45, 13, 16, 23, 4, 15, 1,
- 40, 21, 27, 2, 14, 41, 39, 97, 30, 40,
- 56, 8, 3, 8, 15, 15, 13, 35, 31, 31,
- 63, 53, 43, 65, 67, 79, 125, 65, 61, 51,
- 21, 33, 12, 38, 4, 36, 66, 17, 23, 31,
- 29, 71, 53, 45, 87, 55, 73, 67, 99, 89,
- 89, 89, 35, 31, 93, 33, 35, 57, 81, 69,
- 71, 75, 65, 81, 79, 89, 97, 113, 103, 17,
- 33, 65, 9, 22, 16, 36, 38, 44, 84, 54,
- 72, 74, 110, 90, 80, 116, 108, 82, 6, 31,
- 67, 89, 119, 125, 125, 125, 28, 94, 80, 80,
- 58, 80, 40, 30, 38, 18, 15, 1, 26, 2,
- 58, 78, 0, 14, 34, 42, 10, 38, 70, 8,
- 1, 40, 21, 67, 115, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 44 */
-
- 46, 8, 37, 46, 8, 37, 26, 46, 54, 24,
- 13, 65, 3, 12, 104, 28, 94, 13, 42, 58,
- 1, 37, 2, 65, 99, 7, 31, 125, 125, 125,
- 124, 28, 11, 42, 58, 1, 11, 30, 38, 11,
- 6, 1, 3, 15, 45, 17, 59, 10, 7, 5,
- 7, 33, 17, 49, 32, 6, 0, 5, 22, 6,
- 44, 0, 0, 0, 10, 67, 67, 22, 25, 13,
- 36, 7, 47, 24, 84, 62, 120, 116, 48, 48,
- 28, 60, 22, 12, 32, 17, 23, 25, 17, 52,
- 2, 18, 9, 3, 7, 3, 2, 7, 25, 23,
- 43, 36, 9, 10, 5, 31, 4, 17, 12, 8,
- 0, 8, 22, 10, 13, 3, 8, 7, 2, 13,
- 3, 23, 0, 3, 21, 12, 1, 15, 3, 20,
- 7, 35, 19, 33, 27, 10, 5, 16, 14, 14,
- 72, 34, 8, 9, 22, 9, 27, 2, 79, 17,
- 0, 47, 11, 39, 12, 0, 29, 34, 14, 8,
- 59, 12, 35, 23, 6, 59, 10, 36, 22, 28,
- 34, 28, 14, 32, 26, 7, 2, 18, 2, 0,
- 21, 7, 19, 17, 9, 15, 23, 21, 23, 31,
- 21, 11, 47, 55, 35, 23, 23, 33, 35, 49,
- 57, 49, 49, 67, 81, 69, 75, 115, 95, 105,
- 11, 17, 55, 21, 35, 41, 51, 67, 75, 57,
- 65, 59, 39, 49, 55, 39, 39, 8, 50, 36,
- 22, 16, 20, 8, 1, 6, 16, 22, 62, 42,
- 30, 16, 42, 24, 26, 14, 54, 6, 86, 60,
- 46, 30, 50, 10, 1, 3, 2, 13, 90, 38,
- 4, 4, 22, 0, 17, 5, 10, 72, 44, 14,
- 2, 36, 10, 4, 2, 0, 124, 13, 2, 8,
- 14, 6, 8, 28, 30, 20, 28, 38, 46, 9,
- 2, 27, 9, 60, 17, 55, 11, 12, 7, 31,
- 37, 21, 39, 55, 69, 73, 9, 3, 30, 9,
- 21, 3, 0, 6, 25, 15, 5, 5, 41, 21,
- 33, 0, 20, 45, 15, 16, 25, 4, 17, 3,
- 40, 23, 29, 0, 12, 43, 41, 101, 28, 38,
- 56, 6, 5, 4, 19, 19, 17, 41, 37, 35,
- 69, 57, 45, 71, 73, 85, 125, 71, 67, 55,
- 23, 37, 12, 40, 4, 38, 70, 21, 27, 35,
- 33, 75, 57, 49, 91, 57, 77, 69, 103, 93,
- 91, 91, 37, 31, 95, 35, 39, 61, 85, 73,
- 75, 79, 69, 85, 83, 91, 99, 115, 105, 19,
- 35, 67, 9, 24, 16, 36, 38, 46, 86, 54,
- 74, 76, 112, 92, 82, 118, 110, 82, 2, 35,
- 73, 93, 125, 125, 125, 125, 28, 96, 82, 80,
- 58, 80, 40, 30, 38, 18, 15, 1, 28, 4,
- 60, 80, 0, 16, 34, 42, 10, 38, 72, 8,
- 1, 38, 25, 73, 121, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 45 */
-
- 44, 8, 37, 44, 8, 37, 30, 48, 54, 24,
- 13, 67, 5, 8, 104, 28, 100, 15, 44, 58,
- 1, 37, 4, 67, 101, 9, 35, 125, 125, 125,
- 124, 32, 11, 44, 58, 1, 11, 32, 38, 13,
- 6, 1, 3, 15, 45, 15, 59, 10, 7, 3,
- 9, 33, 17, 49, 32, 8, 2, 3, 22, 6,
- 44, 0, 0, 0, 12, 67, 67, 22, 27, 13,
- 36, 5, 47, 26, 88, 66, 122, 120, 52, 50,
- 30, 64, 24, 14, 36, 17, 21, 25, 15, 52,
- 2, 18, 7, 3, 5, 1, 4, 9, 25, 23,
- 43, 36, 9, 12, 3, 31, 4, 17, 12, 8,
- 1, 8, 22, 10, 11, 3, 10, 7, 2, 13,
- 3, 23, 0, 3, 23, 12, 3, 17, 1, 20,
- 7, 37, 21, 33, 29, 10, 7, 16, 14, 14,
- 74, 36, 8, 9, 22, 9, 29, 2, 81, 17,
- 0, 49, 11, 41, 10, 0, 29, 36, 14, 8,
- 61, 10, 37, 23, 6, 61, 10, 36, 22, 28,
- 34, 28, 14, 32, 26, 7, 2, 18, 2, 0,
- 21, 7, 19, 17, 9, 15, 23, 23, 23, 31,
- 21, 11, 49, 57, 35, 27, 27, 35, 37, 53,
- 61, 53, 53, 71, 85, 73, 79, 121, 97, 107,
- 11, 19, 57, 23, 37, 43, 53, 69, 77, 59,
- 67, 59, 41, 51, 55, 39, 37, 8, 50, 36,
- 22, 16, 20, 10, 0, 8, 18, 24, 62, 42,
- 30, 16, 42, 24, 28, 14, 58, 6, 86, 60,
- 46, 30, 50, 10, 1, 3, 4, 13, 92, 36,
- 4, 4, 22, 0, 17, 5, 10, 72, 42, 12,
- 0, 36, 10, 4, 2, 2, 124, 11, 4, 10,
- 18, 8, 10, 30, 34, 22, 32, 40, 50, 7,
- 4, 25, 7, 62, 15, 57, 9, 14, 7, 31,
- 39, 23, 39, 57, 71, 75, 11, 3, 30, 9,
- 21, 5, 0, 6, 27, 17, 5, 7, 43, 21,
- 33, 0, 20, 45, 17, 14, 25, 4, 19, 5,
- 40, 25, 31, 0, 12, 45, 43, 105, 26, 38,
- 54, 4, 9, 2, 23, 23, 21, 45, 43, 41,
- 75, 61, 49, 77, 81, 91, 125, 75, 71, 59,
- 25, 39, 12, 42, 6, 40, 74, 23, 29, 39,
- 35, 79, 61, 51, 95, 59, 81, 73, 107, 95,
- 93, 93, 37, 31, 97, 39, 41, 65, 87, 75,
- 77, 81, 71, 87, 85, 93, 101, 117, 105, 19,
- 35, 69, 7, 24, 18, 38, 40, 48, 88, 56,
- 76, 78, 116, 94, 84, 120, 114, 80, 1, 39,
- 77, 99, 125, 125, 125, 125, 28, 96, 82, 82,
- 60, 82, 40, 32, 40, 20, 13, 1, 30, 4,
- 62, 82, 2, 18, 36, 44, 10, 40, 74, 8,
- 1, 34, 29, 77, 125, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 46 */
-
- 42, 8, 37, 42, 8, 37, 34, 52, 56, 24,
- 15, 71, 9, 6, 104, 28, 104, 15, 46, 60,
- 1, 39, 4, 69, 103, 9, 39, 125, 125, 125,
- 124, 34, 11, 46, 60, 1, 9, 34, 40, 13,
- 6, 0, 1, 17, 47, 15, 59, 10, 7, 3,
- 9, 33, 17, 49, 34, 8, 2, 3, 24, 6,
- 44, 0, 0, 0, 12, 67, 67, 24, 29, 13,
- 36, 5, 47, 30, 92, 68, 124, 124, 54, 52,
- 34, 66, 26, 16, 40, 15, 21, 23, 13, 52,
- 2, 18, 7, 3, 5, 1, 8, 9, 27, 25,
- 45, 36, 9, 12, 3, 31, 6, 17, 14, 8,
- 1, 8, 22, 8, 11, 3, 10, 7, 2, 13,
- 5, 23, 0, 5, 25, 10, 5, 19, 1, 22,
- 7, 39, 21, 31, 29, 10, 7, 16, 14, 14,
- 76, 36, 8, 9, 24, 9, 31, 2, 83, 17,
- 0, 49, 13, 43, 10, 0, 31, 36, 14, 8,
- 65, 10, 39, 23, 6, 61, 8, 36, 22, 28,
- 34, 28, 14, 32, 26, 7, 0, 18, 2, 0,
- 21, 9, 21, 19, 11, 17, 25, 25, 25, 31,
- 23, 11, 51, 61, 35, 29, 31, 39, 41, 57,
- 65, 57, 57, 75, 89, 75, 81, 125, 101, 109,
- 11, 19, 57, 25, 39, 45, 57, 73, 81, 61,
- 69, 61, 41, 51, 55, 39, 37, 10, 50, 36,
- 22, 16, 20, 10, 0, 8, 20, 24, 62, 42,
- 30, 16, 44, 26, 30, 16, 62, 6, 86, 60,
- 46, 30, 52, 10, 1, 3, 4, 13, 92, 36,
- 2, 4, 22, 0, 17, 3, 10, 70, 42, 10,
- 1, 36, 10, 4, 4, 2, 124, 9, 6, 10,
- 20, 10, 12, 34, 36, 24, 34, 44, 52, 7,
- 6, 25, 7, 66, 15, 57, 9, 14, 7, 33,
- 39, 23, 41, 59, 73, 77, 11, 5, 30, 11,
- 23, 5, 1, 6, 29, 17, 7, 7, 45, 21,
- 35, 0, 20, 47, 17, 14, 27, 4, 21, 5,
- 40, 27, 33, 1, 10, 47, 43, 107, 24, 36,
- 54, 2, 11, 1, 27, 27, 25, 51, 47, 45,
- 81, 67, 51, 83, 87, 97, 125, 81, 77, 63,
- 27, 41, 12, 44, 6, 42, 78, 27, 33, 43,
- 39, 83, 65, 55, 99, 63, 83, 75, 109, 99,
- 95, 95, 39, 33, 99, 41, 45, 67, 91, 79,
- 81, 85, 75, 91, 89, 95, 105, 121, 107, 21,
- 37, 71, 7, 26, 18, 38, 40, 48, 90, 58,
- 78, 80, 118, 96, 86, 124, 116, 80, 3, 43,
- 83, 103, 125, 125, 125, 125, 30, 98, 84, 82,
- 60, 84, 42, 32, 40, 20, 13, 0, 30, 6,
- 64, 84, 2, 18, 36, 44, 10, 40, 76, 8,
- 1, 32, 33, 83, 125, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 47 */
-
- 40, 8, 37, 40, 8, 37, 38, 54, 56, 24,
- 15, 73, 11, 4, 104, 28, 108, 15, 48, 62,
- 1, 41, 4, 71, 105, 11, 43, 125, 125, 125,
- 124, 36, 11, 48, 62, 1, 9, 36, 40, 15,
- 6, 0, 0, 17, 47, 15, 59, 10, 7, 1,
- 9, 33, 17, 49, 34, 8, 2, 3, 24, 6,
- 44, 0, 0, 0, 14, 67, 67, 24, 31, 13,
- 36, 5, 47, 34, 96, 72, 124, 124, 56, 54,
- 36, 68, 28, 18, 44, 15, 21, 23, 11, 52,
- 2, 18, 5, 3, 3, 0, 10, 9, 27, 25,
- 45, 36, 9, 12, 1, 31, 6, 17, 14, 8,
- 1, 8, 22, 8, 11, 3, 10, 7, 2, 13,
- 7, 23, 0, 7, 27, 8, 7, 21, 0, 22,
- 7, 41, 23, 31, 31, 10, 7, 16, 14, 14,
- 78, 36, 8, 9, 24, 9, 33, 2, 85, 17,
- 0, 51, 13, 45, 10, 0, 33, 36, 14, 8,
- 67, 10, 41, 23, 6, 63, 6, 36, 22, 28,
- 34, 28, 14, 32, 26, 7, 0, 18, 2, 0,
- 21, 9, 21, 19, 11, 17, 27, 27, 25, 31,
- 23, 11, 53, 63, 35, 33, 35, 43, 45, 61,
- 69, 61, 61, 79, 93, 79, 85, 125, 105, 111,
- 11, 19, 59, 27, 41, 47, 59, 75, 83, 63,
- 71, 63, 43, 53, 55, 39, 35, 10, 50, 36,
- 22, 16, 20, 10, 0, 10, 22, 26, 62, 42,
- 30, 16, 44, 26, 32, 18, 66, 6, 86, 60,
- 46, 30, 52, 10, 1, 3, 6, 13, 92, 36,
- 2, 4, 22, 0, 17, 1, 10, 70, 40, 8,
- 3, 36, 10, 4, 4, 4, 124, 7, 8, 12,
- 22, 12, 14, 36, 38, 26, 36, 46, 56, 5,
- 8, 25, 5, 68, 15, 59, 9, 16, 7, 33,
- 41, 23, 43, 61, 75, 79, 13, 5, 30, 11,
- 23, 7, 1, 6, 31, 19, 7, 7, 47, 21,
- 35, 0, 20, 47, 19, 12, 29, 4, 23, 7,
- 40, 29, 35, 1, 10, 49, 45, 111, 22, 34,
- 52, 0, 13, 3, 31, 31, 29, 55, 53, 51,
- 87, 71, 53, 89, 93, 103, 125, 87, 81, 67,
- 29, 43, 12, 46, 6, 44, 82, 31, 37, 47,
- 43, 87, 69, 57, 103, 65, 87, 77, 113, 101,
- 97, 97, 39, 33, 101, 43, 47, 71, 95, 83,
- 85, 87, 77, 95, 91, 97, 107, 123, 109, 23,
- 39, 73, 7, 26, 18, 40, 42, 50, 92, 60,
- 80, 82, 120, 98, 88, 124, 118, 78, 7, 47,
- 87, 109, 125, 125, 125, 125, 30, 98, 84, 84,
- 60, 86, 42, 32, 42, 22, 13, 0, 32, 6,
- 66, 86, 2, 20, 38, 46, 10, 42, 78, 8,
- 1, 30, 37, 87, 125, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 48 */
-
- 36, 6, 39, 36, 6, 39, 40, 56, 56, 24,
- 17, 77, 15, 0, 102, 28, 112, 17, 48, 62,
- 3, 43, 4, 75, 109, 13, 47, 125, 125, 125,
- 124, 38, 13, 48, 62, 3, 9, 38, 40, 17,
- 6, 0, 0, 19, 49, 15, 61, 10, 7, 1,
- 11, 35, 17, 49, 34, 8, 2, 3, 24, 4,
- 44, 0, 0, 0, 14, 69, 67, 24, 33, 15,
- 36, 5, 47, 36, 98, 74, 124, 124, 58, 56,
- 38, 70, 30, 18, 46, 15, 21, 23, 11, 52,
- 2, 18, 5, 3, 3, 0, 12, 11, 29, 27,
- 47, 36, 9, 12, 1, 31, 6, 17, 14, 6,
- 3, 8, 20, 6, 11, 5, 10, 7, 0, 13,
- 9, 25, 1, 9, 31, 6, 9, 23, 0, 22,
- 7, 43, 25, 31, 33, 8, 9, 16, 14, 14,
- 78, 36, 8, 11, 24, 11, 35, 0, 87, 19,
- 1, 53, 15, 47, 8, 1, 35, 36, 14, 8,
- 71, 8, 43, 23, 6, 65, 4, 34, 20, 28,
- 34, 26, 12, 32, 24, 9, 1, 18, 0, 1,
- 23, 11, 23, 21, 13, 19, 29, 29, 27, 31,
- 25, 11, 55, 67, 35, 37, 39, 47, 49, 65,
- 75, 65, 65, 83, 97, 83, 89, 125, 109, 115,
- 13, 21, 61, 29, 45, 51, 63, 79, 87, 67,
- 75, 65, 45, 55, 55, 39, 35, 10, 50, 36,
- 22, 16, 20, 10, 0, 10, 24, 26, 60, 42,
- 30, 16, 44, 26, 32, 18, 68, 4, 86, 60,
- 44, 28, 52, 10, 1, 3, 6, 13, 92, 34,
- 0, 2, 22, 0, 17, 1, 10, 68, 38, 6,
- 5, 34, 10, 4, 4, 4, 124, 7, 10, 12,
- 24, 14, 14, 38, 40, 28, 38, 48, 58, 5,
- 8, 25, 5, 70, 15, 61, 9, 16, 7, 35,
- 43, 25, 45, 63, 79, 83, 15, 7, 30, 13,
- 25, 9, 3, 4, 33, 21, 9, 9, 49, 23,
- 37, 0, 20, 49, 21, 10, 31, 2, 25, 9,
- 40, 31, 39, 3, 8, 51, 47, 115, 20, 32,
- 50, 3, 17, 7, 35, 35, 35, 61, 59, 57,
- 93, 77, 57, 95, 101, 109, 125, 93, 87, 71,
- 33, 47, 12, 46, 6, 46, 86, 35, 41, 51,
- 47, 93, 73, 61, 109, 69, 91, 81, 117, 105,
- 99, 99, 41, 35, 105, 47, 51, 75, 99, 87,
- 89, 91, 81, 99, 95, 101, 111, 125, 111, 25,
- 41, 75, 7, 26, 18, 40, 42, 50, 94, 60,
- 82, 82, 122, 100, 90, 124, 120, 76, 11, 53,
- 93, 115, 125, 125, 125, 125, 30, 98, 84, 84,
- 60, 86, 42, 32, 42, 22, 13, 0, 32, 6,
- 68, 88, 2, 20, 38, 46, 10, 42, 78, 8,
- 3, 26, 43, 93, 125, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 49 */
-
- 34, 6, 39, 34, 6, 39, 44, 60, 58, 26,
- 17, 79, 17, 1, 102, 28, 118, 17, 50, 64,
- 3, 43, 6, 77, 111, 13, 49, 125, 125, 125,
- 124, 42, 13, 50, 64, 3, 7, 42, 42, 17,
- 8, 2, 2, 19, 49, 13, 61, 10, 5, 0,
- 11, 35, 15, 49, 36, 10, 4, 1, 26, 4,
- 44, 0, 0, 0, 16, 69, 67, 26, 33, 15,
- 36, 3, 45, 40, 102, 78, 124, 124, 62, 58,
- 42, 74, 34, 20, 50, 13, 19, 21, 9, 54,
- 4, 20, 3, 1, 1, 2, 16, 11, 29, 27,
- 47, 38, 9, 14, 0, 29, 8, 15, 16, 6,
- 3, 10, 20, 6, 9, 5, 12, 7, 0, 11,
- 9, 25, 1, 9, 33, 6, 9, 23, 2, 24,
- 5, 43, 25, 29, 33, 8, 9, 18, 14, 14,
- 80, 38, 10, 11, 26, 11, 35, 0, 87, 19,
- 1, 53, 15, 49, 8, 1, 35, 38, 16, 8,
- 73, 8, 43, 21, 6, 65, 4, 34, 20, 28,
- 34, 26, 12, 32, 24, 9, 1, 18, 0, 1,
- 23, 11, 23, 21, 13, 19, 29, 29, 27, 29,
- 25, 9, 55, 69, 33, 39, 41, 49, 51, 69,
- 79, 67, 67, 87, 99, 85, 91, 125, 111, 117,
- 13, 21, 61, 31, 47, 53, 65, 81, 89, 69,
- 77, 65, 45, 55, 53, 37, 33, 12, 52, 36,
- 22, 18, 22, 12, 2, 12, 28, 28, 60, 42,
- 30, 16, 46, 28, 34, 20, 72, 4, 88, 62,
- 44, 28, 54, 10, 1, 1, 8, 13, 94, 34,
- 0, 2, 24, 2, 15, 0, 10, 68, 38, 6,
- 5, 34, 10, 6, 6, 6, 124, 5, 12, 14,
- 28, 18, 16, 42, 44, 32, 42, 52, 62, 3,
- 10, 23, 3, 74, 13, 61, 7, 18, 5, 35,
- 43, 25, 45, 63, 81, 85, 15, 7, 32, 13,
- 25, 9, 3, 4, 33, 21, 9, 9, 49, 23,
- 37, 2, 22, 49, 21, 10, 31, 2, 25, 9,
- 42, 31, 41, 3, 8, 51, 47, 117, 20, 32,
- 50, 5, 19, 9, 39, 39, 39, 65, 63, 61,
- 97, 81, 59, 99, 107, 115, 125, 97, 91, 73,
- 35, 49, 12, 48, 8, 50, 92, 37, 43, 53,
- 49, 97, 75, 63, 113, 71, 93, 83, 119, 107,
- 101, 99, 41, 35, 107, 49, 53, 77, 101, 89,
- 91, 93, 83, 101, 97, 103, 113, 125, 111, 25,
- 41, 75, 5, 28, 20, 42, 44, 52, 98, 62,
- 84, 84, 124, 104, 92, 124, 124, 76, 13, 57,
- 97, 119, 125, 125, 125, 125, 32, 100, 86, 86,
- 62, 88, 44, 34, 44, 24, 11, 2, 34, 8,
- 72, 92, 4, 22, 40, 48, 12, 44, 80, 8,
- 3, 24, 47, 97, 125, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 50 */
-
- 32, 6, 39, 32, 6, 39, 48, 62, 58, 26,
- 17, 81, 19, 3, 102, 28, 122, 17, 52, 66,
- 3, 45, 6, 79, 113, 15, 53, 125, 125, 125,
- 124, 44, 13, 52, 66, 3, 7, 44, 42, 19,
- 8, 2, 4, 19, 49, 13, 61, 10, 5, 2,
- 11, 35, 15, 49, 36, 10, 4, 1, 26, 4,
- 44, 0, 0, 0, 18, 69, 67, 26, 35, 15,
- 36, 3, 45, 44, 106, 82, 124, 124, 64, 60,
- 44, 76, 36, 22, 54, 13, 19, 21, 7, 54,
- 4, 20, 1, 1, 0, 2, 18, 11, 29, 27,
- 47, 38, 9, 14, 0, 29, 8, 15, 16, 6,
- 3, 10, 20, 6, 9, 5, 12, 7, 0, 11,
- 11, 25, 1, 11, 35, 4, 11, 25, 4, 24,
- 5, 45, 27, 29, 35, 8, 9, 18, 14, 14,
- 82, 38, 10, 11, 26, 11, 37, 0, 89, 19,
- 1, 55, 15, 51, 8, 1, 37, 38, 16, 8,
- 75, 8, 45, 21, 6, 67, 2, 34, 20, 28,
- 34, 26, 12, 32, 24, 9, 1, 18, 0, 1,
- 23, 11, 23, 21, 13, 19, 31, 31, 29, 29,
- 25, 9, 57, 71, 33, 43, 45, 53, 55, 73,
- 83, 71, 71, 91, 103, 89, 95, 125, 115, 119,
- 13, 21, 63, 33, 49, 55, 67, 85, 91, 71,
- 79, 67, 47, 57, 53, 37, 31, 12, 52, 36,
- 22, 18, 22, 12, 2, 12, 30, 30, 60, 42,
- 30, 16, 46, 28, 36, 22, 76, 4, 88, 62,
- 44, 28, 54, 10, 1, 1, 10, 13, 94, 34,
- 0, 2, 24, 2, 15, 2, 10, 66, 36, 4,
- 7, 34, 10, 6, 6, 6, 124, 3, 14, 16,
- 30, 20, 18, 44, 46, 34, 44, 54, 66, 1,
- 12, 23, 1, 76, 13, 63, 7, 20, 5, 35,
- 45, 25, 47, 65, 83, 87, 17, 7, 32, 13,
- 27, 11, 3, 4, 35, 23, 9, 9, 51, 23,
- 37, 2, 22, 49, 23, 8, 33, 2, 27, 11,
- 42, 33, 43, 3, 8, 53, 49, 121, 18, 30,
- 48, 7, 21, 11, 43, 43, 43, 69, 69, 67,
- 103, 85, 61, 105, 113, 121, 125, 103, 95, 77,
- 37, 51, 12, 50, 8, 52, 96, 41, 47, 57,
- 53, 101, 79, 67, 117, 73, 97, 85, 123, 109,
- 103, 101, 43, 35, 109, 51, 55, 81, 105, 93,
- 95, 95, 87, 105, 99, 105, 115, 125, 113, 27,
- 43, 77, 5, 28, 20, 44, 44, 54, 100, 64,
- 86, 86, 124, 106, 94, 124, 124, 74, 17, 61,
- 101, 125, 125, 125, 125, 125, 32, 100, 86, 86,
- 62, 90, 44, 34, 44, 24, 11, 2, 36, 8,
- 74, 94, 4, 24, 42, 50, 12, 44, 82, 8,
- 3, 22, 51, 101, 125, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 0, qp = 51 */
-
- 30, 6, 39, 30, 6, 39, 52, 66, 60, 26,
- 19, 85, 23, 5, 102, 28, 124, 17, 54, 68,
- 3, 47, 6, 81, 115, 15, 57, 125, 125, 125,
- 124, 46, 13, 54, 68, 3, 5, 46, 44, 19,
- 8, 4, 6, 21, 51, 13, 61, 10, 5, 2,
- 11, 35, 15, 49, 38, 10, 4, 1, 28, 4,
- 44, 0, 0, 0, 18, 69, 67, 28, 37, 15,
- 36, 3, 45, 48, 110, 84, 124, 124, 66, 62,
- 48, 78, 38, 24, 58, 11, 19, 19, 5, 54,
- 4, 20, 1, 1, 0, 4, 22, 11, 31, 29,
- 49, 38, 9, 14, 2, 29, 10, 15, 18, 6,
- 3, 10, 20, 4, 9, 5, 12, 7, 0, 11,
- 13, 25, 1, 13, 37, 2, 13, 27, 4, 26,
- 5, 47, 27, 27, 35, 8, 9, 18, 14, 14,
- 84, 38, 10, 11, 28, 11, 39, 0, 91, 19,
- 1, 55, 17, 53, 8, 1, 39, 38, 16, 8,
- 79, 8, 47, 21, 6, 67, 0, 34, 20, 28,
- 34, 26, 12, 32, 24, 9, 3, 18, 0, 1,
- 23, 13, 25, 23, 15, 21, 33, 33, 29, 29,
- 27, 9, 59, 75, 33, 45, 49, 57, 59, 77,
- 87, 75, 75, 95, 107, 91, 97, 125, 119, 121,
- 13, 21, 63, 35, 51, 57, 71, 87, 95, 73,
- 81, 69, 47, 57, 53, 37, 31, 14, 52, 36,
- 22, 18, 22, 12, 2, 14, 32, 30, 60, 42,
- 30, 16, 48, 30, 38, 24, 80, 4, 88, 62,
- 44, 28, 56, 10, 1, 1, 10, 13, 94, 34,
- 1, 2, 24, 2, 15, 4, 10, 66, 36, 2,
- 9, 34, 10, 6, 8, 8, 124, 1, 16, 16,
- 32, 22, 20, 48, 48, 36, 46, 58, 68, 1,
- 14, 23, 1, 80, 13, 63, 7, 20, 5, 37,
- 45, 25, 49, 67, 85, 89, 17, 9, 32, 15,
- 27, 11, 5, 4, 37, 23, 11, 9, 53, 23,
- 39, 2, 22, 51, 23, 8, 35, 2, 29, 11,
- 42, 35, 45, 5, 6, 55, 49, 123, 16, 28,
- 48, 9, 23, 15, 47, 47, 47, 75, 73, 71,
- 109, 91, 63, 111, 119, 125, 125, 109, 101, 81,
- 39, 53, 12, 52, 8, 54, 100, 45, 51, 61,
- 57, 105, 83, 69, 121, 77, 99, 87, 125, 113,
- 105, 103, 43, 37, 111, 53, 59, 83, 109, 97,
- 99, 99, 89, 109, 103, 107, 119, 125, 115, 29,
- 45, 79, 5, 30, 20, 44, 46, 54, 102, 66,
- 88, 88, 124, 108, 96, 124, 124, 74, 19, 65,
- 107, 125, 125, 125, 125, 125, 34, 102, 88, 88,
- 62, 92, 46, 34, 46, 26, 11, 4, 36, 10,
- 76, 96, 4, 24, 42, 50, 12, 46, 84, 8,
- 3, 20, 55, 107, 125, 125, 125, 125, 125, 125,
- },
-
- },
+ { 640, 679, 709, 739 },
- {
+ { 33664, 33694, 33723, 33752 },
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 0 */
-
- 124, 18, 21, 124, 18, 21, 125, 81, 20, 18,
- 24, 76, 124, 124, 108, 44, 109, 3, 15, 31,
- 22, 26, 13, 18, 58, 82, 124, 122, 54, 11,
- 125, 75, 25, 15, 31, 22, 11, 53, 22, 40,
- 11, 37, 65, 8, 23, 47, 73, 14, 21, 43,
- 8, 35, 45, 63, 5, 27, 13, 45, 17, 4,
- 44, 0, 0, 0, 39, 45, 67, 17, 44, 2,
- 96, 24, 33, 125, 55, 65, 35, 69, 77, 67,
- 111, 71, 93, 77, 125, 33, 51, 61, 57, 48,
- 3, 41, 125, 19, 81, 55, 125, 16, 14, 16,
- 4, 20, 9, 21, 49, 79, 55, 51, 57, 25,
- 47, 93, 83, 29, 97, 71, 125, 125, 125, 125,
- 5, 29, 15, 17, 8, 16, 13, 23, 51, 111,
- 23, 86, 82, 125, 18, 4, 10, 6, 4, 7,
- 41, 21, 3, 22, 12, 4, 11, 13, 16, 15,
- 10, 4, 44, 76, 62, 40, 32, 38, 24, 34,
- 50, 5, 50, 42, 58, 51, 36, 70, 64, 124,
- 124, 96, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 106, 124, 124, 124, 124, 124, 124, 124,
- 112, 124, 124, 124, 54, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 106, 90, 76, 44,
- 23, 17, 27, 56, 64, 56, 66, 36, 42, 36,
- 74, 18, 5, 14, 19, 7, 105, 97, 15, 4,
- 20, 5, 27, 33, 41, 47, 125, 75, 48, 20,
- 4, 23, 27, 55, 87, 95, 117, 25, 38, 22,
- 12, 10, 17, 11, 11, 21, 45, 5, 58, 62,
- 64, 22, 16, 7, 19, 51, 22, 118, 110, 110,
- 88, 52, 4, 19, 13, 29, 124, 125, 121, 93,
- 125, 121, 83, 115, 107, 77, 107, 105, 117, 63,
- 73, 63, 95, 101, 51, 33, 37, 43, 35, 17,
- 1, 7, 14, 11, 11, 11, 11, 7, 27, 1,
- 4, 7, 1, 12, 3, 5, 2, 24, 5, 15,
- 23, 13, 17, 6, 52, 32, 56, 52, 44, 44,
- 30, 44, 44, 8, 26, 46, 5, 26, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 108, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 98, 74, 52, 16, 3, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 86,
- 66, 38, 30, 28, 36, 82, 82, 84, 86, 70,
- 78, 58, 42, 48, 26, 13, 18, 15, 39, 62,
- 28, 18, 43, 35, 27, 35, 33, 19, 21, 39,
- 15, 7, 4, 5, 5, 8, 8, 124, 124, 124,
- 124, 124, 120, 106, 72, 12, 15, 78, 54, 42,
- 22, 12, 0, 3, 7, 37, 35, 25, 17, 29,
- 17, 9, 13, 25, 5, 2, 12, 4, 6, 18,
- 10, 124, 124, 124, 124, 124, 120, 106, 72, 12,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 1 */
-
- 124, 18, 21, 124, 18, 21, 123, 77, 22, 20,
- 24, 74, 122, 124, 110, 44, 105, 3, 13, 29,
- 22, 26, 11, 18, 56, 80, 122, 116, 50, 13,
- 121, 73, 23, 13, 29, 22, 11, 51, 22, 40,
- 9, 35, 63, 8, 23, 45, 71, 14, 19, 41,
- 8, 33, 43, 61, 3, 25, 13, 43, 15, 4,
- 44, 0, 0, 0, 37, 45, 67, 15, 44, 2,
- 96, 24, 33, 121, 51, 61, 31, 63, 73, 63,
- 107, 67, 89, 73, 121, 33, 49, 59, 55, 48,
- 3, 39, 121, 17, 79, 53, 123, 16, 14, 16,
- 4, 22, 9, 19, 47, 77, 53, 49, 55, 23,
- 45, 89, 79, 27, 93, 67, 117, 117, 119, 121,
- 3, 27, 13, 15, 8, 18, 11, 21, 49, 105,
- 21, 82, 80, 121, 18, 6, 10, 8, 6, 5,
- 37, 19, 1, 22, 12, 4, 9, 11, 14, 13,
- 10, 4, 44, 74, 62, 40, 32, 38, 24, 34,
- 48, 3, 50, 42, 58, 51, 36, 70, 64, 124,
- 124, 94, 124, 124, 124, 122, 124, 124, 124, 124,
- 124, 124, 104, 124, 124, 124, 124, 124, 124, 124,
- 108, 124, 120, 124, 52, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 122, 104, 88, 74, 42,
- 23, 17, 27, 56, 62, 54, 64, 34, 40, 34,
- 72, 16, 5, 12, 19, 7, 103, 93, 13, 6,
- 20, 3, 25, 31, 39, 45, 121, 71, 50, 22,
- 6, 21, 25, 51, 83, 91, 113, 23, 40, 24,
- 14, 12, 15, 9, 9, 19, 43, 5, 60, 62,
- 64, 22, 18, 5, 19, 49, 22, 118, 110, 108,
- 86, 52, 6, 17, 11, 27, 124, 121, 117, 89,
- 121, 117, 79, 111, 103, 73, 103, 101, 111, 61,
- 71, 61, 91, 97, 49, 31, 35, 41, 33, 15,
- 1, 7, 14, 11, 11, 11, 9, 5, 25, 0,
- 4, 5, 0, 12, 1, 3, 2, 24, 3, 13,
- 21, 11, 15, 6, 50, 32, 54, 52, 44, 44,
- 30, 44, 44, 8, 26, 44, 5, 24, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 104, 124, 124, 124, 124, 124, 124, 124,
- 122, 124, 96, 72, 50, 16, 3, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 84,
- 64, 36, 30, 28, 34, 80, 80, 82, 82, 68,
- 76, 56, 40, 46, 24, 13, 16, 15, 39, 60,
- 26, 16, 41, 33, 25, 33, 29, 15, 19, 37,
- 13, 5, 6, 3, 3, 8, 8, 124, 124, 124,
- 124, 120, 112, 98, 64, 8, 13, 78, 56, 44,
- 24, 14, 2, 1, 5, 35, 33, 23, 15, 27,
- 15, 7, 11, 23, 3, 4, 12, 6, 8, 18,
- 10, 124, 124, 124, 124, 120, 112, 98, 64, 8,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 2 */
-
- 124, 18, 21, 124, 18, 21, 119, 75, 22, 20,
- 24, 72, 118, 122, 110, 44, 101, 3, 13, 27,
- 22, 24, 11, 16, 52, 78, 116, 108, 44, 17,
- 115, 71, 23, 13, 27, 22, 11, 49, 22, 38,
- 9, 35, 61, 8, 23, 45, 71, 14, 19, 41,
- 8, 33, 43, 61, 3, 25, 13, 43, 15, 4,
- 44, 0, 0, 0, 35, 45, 67, 15, 42, 2,
- 94, 24, 33, 117, 49, 59, 27, 59, 71, 61,
- 103, 65, 87, 71, 117, 33, 49, 59, 55, 48,
- 3, 37, 117, 17, 77, 51, 119, 16, 14, 16,
- 2, 22, 9, 19, 45, 75, 51, 47, 53, 23,
- 43, 87, 77, 25, 91, 65, 107, 109, 113, 115,
- 3, 27, 13, 15, 8, 18, 11, 21, 49, 101,
- 21, 78, 76, 115, 18, 6, 10, 8, 6, 5,
- 33, 17, 1, 22, 12, 4, 7, 9, 12, 13,
- 10, 4, 42, 72, 60, 40, 30, 38, 24, 34,
- 46, 3, 48, 40, 56, 51, 36, 68, 62, 124,
- 124, 92, 120, 124, 124, 118, 124, 124, 124, 124,
- 124, 124, 100, 124, 124, 124, 124, 124, 124, 124,
- 104, 124, 116, 124, 48, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 118, 100, 84, 70, 38,
- 23, 17, 29, 54, 60, 52, 62, 32, 38, 32,
- 68, 14, 5, 10, 21, 9, 101, 91, 11, 6,
- 20, 3, 23, 29, 37, 43, 117, 69, 50, 22,
- 6, 19, 23, 49, 79, 87, 109, 21, 42, 26,
- 16, 14, 13, 9, 9, 19, 41, 5, 62, 62,
- 62, 22, 18, 5, 19, 49, 22, 118, 108, 106,
- 84, 52, 6, 17, 11, 27, 124, 119, 115, 87,
- 117, 113, 77, 107, 99, 71, 99, 97, 107, 59,
- 69, 61, 89, 93, 49, 31, 35, 39, 33, 15,
- 1, 7, 12, 11, 11, 11, 9, 5, 23, 0,
- 4, 5, 0, 12, 1, 3, 2, 22, 3, 13,
- 21, 11, 13, 4, 48, 32, 52, 50, 42, 42,
- 30, 42, 42, 8, 26, 42, 5, 22, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 100, 124, 124, 124, 124, 124, 124, 124,
- 118, 118, 92, 68, 48, 14, 5, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 80,
- 60, 32, 28, 26, 30, 78, 78, 78, 78, 64,
- 72, 52, 38, 42, 22, 15, 14, 17, 41, 56,
- 24, 14, 41, 33, 23, 33, 27, 13, 19, 35,
- 11, 3, 6, 3, 1, 8, 8, 124, 124, 124,
- 124, 114, 104, 90, 56, 2, 13, 78, 56, 44,
- 24, 16, 2, 1, 5, 35, 33, 23, 15, 27,
- 13, 5, 11, 23, 3, 4, 12, 6, 10, 18,
- 10, 124, 124, 124, 124, 114, 104, 90, 56, 2,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 3 */
-
- 124, 18, 21, 124, 18, 21, 115, 71, 24, 20,
- 22, 68, 114, 120, 110, 44, 97, 3, 11, 25,
- 22, 24, 11, 16, 50, 76, 112, 102, 40, 19,
- 109, 69, 23, 11, 25, 22, 13, 47, 22, 38,
- 9, 35, 61, 8, 23, 45, 71, 14, 19, 39,
- 8, 33, 41, 61, 3, 25, 13, 43, 15, 4,
- 44, 0, 0, 0, 35, 45, 67, 13, 40, 2,
- 92, 22, 33, 111, 47, 57, 25, 55, 67, 57,
- 99, 61, 85, 69, 113, 33, 49, 57, 55, 48,
- 3, 35, 113, 17, 75, 51, 115, 16, 12, 14,
- 2, 22, 9, 17, 45, 73, 49, 47, 51, 21,
- 41, 83, 73, 25, 89, 63, 97, 99, 107, 109,
- 3, 27, 13, 13, 8, 18, 9, 19, 47, 97,
- 21, 74, 72, 109, 18, 6, 10, 8, 6, 3,
- 31, 15, 1, 22, 12, 4, 7, 7, 10, 13,
- 10, 2, 42, 70, 60, 40, 30, 38, 24, 34,
- 44, 3, 46, 38, 56, 51, 36, 68, 62, 124,
- 124, 90, 116, 124, 124, 114, 124, 124, 124, 124,
- 124, 122, 96, 124, 124, 124, 124, 124, 124, 120,
- 100, 124, 112, 124, 44, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 114, 96, 80, 68, 34,
- 23, 17, 29, 52, 58, 50, 60, 30, 36, 30,
- 64, 12, 7, 8, 23, 9, 101, 87, 9, 8,
- 20, 3, 21, 29, 37, 43, 113, 67, 50, 22,
- 8, 17, 21, 47, 77, 85, 105, 19, 42, 26,
- 16, 14, 11, 7, 9, 19, 41, 5, 62, 62,
- 60, 22, 18, 5, 19, 47, 22, 116, 108, 104,
- 82, 52, 6, 17, 11, 27, 124, 117, 111, 85,
- 115, 111, 75, 103, 95, 69, 97, 93, 103, 59,
- 67, 59, 87, 89, 47, 31, 35, 39, 31, 15,
- 1, 7, 12, 11, 11, 13, 7, 3, 21, 0,
- 4, 3, 0, 12, 1, 3, 2, 22, 3, 13,
- 21, 11, 13, 2, 46, 32, 50, 48, 40, 42,
- 30, 40, 40, 8, 26, 40, 5, 20, 124, 124,
- 122, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 96, 124, 124, 124, 124, 124, 124, 124,
- 114, 114, 88, 64, 44, 12, 7, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 118, 120, 76,
- 56, 30, 26, 24, 28, 74, 74, 74, 74, 62,
- 68, 48, 36, 40, 20, 17, 12, 19, 43, 54,
- 22, 12, 41, 31, 23, 31, 25, 11, 19, 35,
- 11, 3, 6, 1, 0, 8, 8, 124, 124, 124,
- 118, 108, 96, 82, 48, 3, 13, 78, 56, 44,
- 24, 16, 4, 1, 5, 33, 33, 23, 13, 25,
- 11, 3, 11, 21, 3, 4, 12, 6, 10, 18,
- 10, 124, 124, 124, 118, 108, 96, 82, 48, 3,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 4 */
-
- 124, 18, 21, 124, 18, 21, 113, 69, 24, 20,
- 22, 66, 110, 118, 110, 42, 93, 3, 11, 23,
- 20, 22, 11, 14, 46, 74, 106, 94, 34, 23,
- 103, 67, 23, 11, 23, 20, 13, 45, 22, 36,
- 9, 33, 59, 8, 23, 45, 71, 14, 19, 39,
- 8, 33, 41, 59, 3, 25, 13, 43, 13, 4,
- 44, 0, 0, 0, 33, 47, 67, 13, 38, 2,
- 90, 22, 33, 107, 45, 55, 21, 51, 65, 55,
- 97, 59, 81, 67, 109, 33, 47, 57, 55, 48,
- 3, 33, 109, 17, 75, 49, 111, 16, 12, 14,
- 0, 22, 9, 17, 43, 71, 47, 45, 49, 21,
- 41, 81, 71, 23, 87, 61, 87, 91, 101, 103,
- 3, 25, 13, 13, 8, 18, 9, 19, 47, 93,
- 21, 70, 68, 105, 18, 8, 10, 8, 6, 3,
- 27, 13, 0, 20, 12, 4, 5, 7, 8, 13,
- 10, 2, 40, 68, 58, 38, 28, 38, 24, 34,
- 42, 3, 44, 36, 54, 51, 34, 66, 60, 124,
- 124, 88, 112, 124, 124, 110, 124, 124, 124, 124,
- 124, 118, 92, 118, 124, 124, 124, 124, 124, 114,
- 96, 124, 108, 124, 42, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 120, 110, 92, 76, 64, 30,
- 23, 17, 31, 50, 56, 48, 56, 28, 32, 28,
- 62, 10, 7, 6, 23, 11, 99, 85, 7, 8,
- 20, 1, 21, 27, 35, 41, 109, 63, 50, 24,
- 8, 17, 19, 45, 73, 81, 103, 19, 44, 28,
- 18, 16, 9, 7, 9, 17, 39, 5, 64, 62,
- 60, 20, 18, 5, 19, 47, 22, 116, 106, 102,
- 80, 52, 6, 15, 11, 27, 124, 113, 109, 83,
- 111, 107, 73, 101, 93, 67, 93, 91, 99, 57,
- 65, 59, 85, 87, 47, 31, 35, 37, 31, 15,
- 3, 7, 10, 11, 11, 13, 7, 3, 19, 0,
- 4, 3, 0, 12, 1, 3, 2, 20, 3, 13,
- 21, 11, 11, 0, 44, 32, 48, 48, 38, 40,
- 30, 38, 38, 8, 26, 38, 5, 18, 124, 124,
- 120, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 92, 124, 124, 124, 124, 124, 124, 124,
- 108, 108, 84, 60, 42, 10, 7, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 114, 114, 72,
- 52, 26, 24, 24, 24, 72, 72, 72, 70, 58,
- 64, 46, 34, 36, 18, 19, 8, 21, 43, 50,
- 18, 8, 39, 31, 21, 31, 23, 9, 19, 33,
- 9, 1, 6, 1, 2, 8, 8, 124, 124, 124,
- 112, 100, 88, 72, 40, 9, 11, 78, 56, 44,
- 24, 18, 4, 1, 5, 33, 33, 23, 13, 25,
- 11, 1, 11, 21, 1, 6, 12, 6, 12, 18,
- 10, 124, 124, 124, 112, 100, 88, 72, 40, 9,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 5 */
-
- 124, 18, 21, 124, 18, 21, 109, 65, 24, 20,
- 20, 64, 106, 116, 110, 42, 89, 3, 11, 21,
- 20, 22, 11, 12, 42, 72, 102, 88, 30, 27,
- 97, 65, 21, 11, 21, 20, 13, 43, 22, 36,
- 9, 33, 57, 8, 23, 45, 71, 14, 19, 39,
- 8, 33, 39, 59, 3, 25, 13, 43, 13, 4,
- 44, 0, 0, 0, 33, 47, 67, 11, 36, 2,
- 88, 20, 33, 101, 43, 53, 17, 47, 61, 51,
- 93, 55, 79, 65, 103, 33, 47, 55, 53, 48,
- 3, 31, 105, 17, 73, 49, 107, 16, 10, 12,
- 0, 22, 9, 15, 43, 69, 45, 45, 47, 19,
- 39, 77, 67, 21, 83, 59, 77, 83, 95, 97,
- 1, 25, 11, 11, 8, 18, 7, 19, 45, 89,
- 21, 66, 64, 99, 18, 8, 10, 8, 6, 1,
- 25, 11, 0, 20, 12, 4, 5, 5, 6, 11,
- 10, 0, 40, 66, 58, 38, 28, 38, 24, 34,
- 40, 1, 42, 36, 54, 51, 34, 64, 58, 124,
- 124, 86, 110, 124, 124, 106, 124, 124, 124, 124,
- 122, 114, 88, 114, 124, 120, 124, 124, 124, 110,
- 92, 124, 104, 124, 38, 124, 124, 124, 124, 124,
- 124, 124, 124, 122, 116, 106, 88, 74, 60, 26,
- 23, 17, 31, 48, 54, 46, 54, 26, 30, 26,
- 58, 8, 9, 4, 25, 13, 97, 81, 5, 10,
- 20, 1, 19, 27, 35, 39, 105, 61, 50, 24,
- 10, 15, 17, 43, 71, 79, 99, 17, 46, 30,
- 20, 16, 7, 5, 7, 17, 39, 5, 64, 62,
- 58, 20, 18, 5, 19, 45, 22, 114, 104, 100,
- 78, 52, 6, 15, 11, 25, 124, 111, 105, 79,
- 107, 105, 71, 97, 89, 65, 89, 87, 95, 55,
- 63, 57, 83, 83, 47, 31, 33, 37, 29, 15,
- 3, 7, 10, 11, 11, 15, 5, 3, 17, 0,
- 4, 3, 0, 12, 1, 3, 2, 20, 3, 13,
- 21, 11, 11, 1, 42, 32, 46, 46, 38, 38,
- 30, 38, 36, 8, 26, 36, 5, 16, 124, 124,
- 118, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 88, 124, 124, 124, 124, 124, 124, 122,
- 104, 104, 80, 58, 38, 10, 9, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 122, 110, 108, 68,
- 48, 24, 24, 22, 20, 70, 68, 68, 66, 54,
- 60, 42, 32, 34, 16, 19, 6, 23, 45, 48,
- 16, 6, 39, 31, 19, 29, 21, 7, 17, 31,
- 9, 1, 6, 0, 4, 8, 8, 124, 124, 118,
- 106, 94, 80, 64, 32, 15, 11, 78, 56, 44,
- 24, 18, 4, 0, 3, 31, 33, 23, 11, 25,
- 9, 0, 11, 21, 1, 6, 12, 8, 12, 18,
- 10, 124, 124, 118, 106, 94, 80, 64, 32, 15,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 6 */
-
- 124, 18, 23, 124, 18, 23, 105, 63, 26, 20,
- 20, 60, 102, 114, 110, 42, 87, 3, 9, 21,
- 20, 20, 9, 12, 40, 68, 96, 80, 24, 29,
- 93, 63, 21, 9, 21, 20, 15, 43, 22, 34,
- 9, 33, 57, 8, 23, 43, 69, 14, 17, 37,
- 8, 31, 39, 59, 3, 25, 13, 43, 13, 4,
- 44, 0, 0, 0, 31, 47, 67, 11, 36, 0,
- 88, 20, 33, 97, 41, 51, 15, 41, 59, 49,
- 89, 53, 77, 63, 99, 33, 47, 55, 53, 48,
- 3, 29, 99, 17, 71, 47, 103, 14, 10, 12,
- 1, 24, 9, 15, 41, 69, 45, 43, 45, 19,
- 37, 75, 65, 21, 81, 57, 67, 73, 89, 91,
- 1, 25, 11, 11, 8, 18, 7, 17, 45, 85,
- 19, 62, 60, 93, 18, 8, 10, 8, 8, 1,
- 21, 9, 0, 20, 12, 4, 3, 3, 4, 11,
- 10, 0, 38, 64, 56, 38, 26, 38, 24, 34,
- 36, 1, 40, 34, 52, 51, 34, 64, 58, 124,
- 124, 84, 106, 124, 124, 102, 124, 124, 124, 124,
- 114, 110, 86, 110, 124, 116, 124, 124, 124, 104,
- 88, 124, 100, 124, 34, 124, 124, 124, 124, 124,
- 124, 124, 124, 118, 112, 100, 84, 70, 58, 24,
- 23, 17, 33, 46, 52, 44, 52, 24, 28, 24,
- 54, 6, 9, 2, 27, 13, 97, 79, 3, 10,
- 20, 1, 17, 25, 33, 39, 101, 59, 52, 24,
- 10, 13, 15, 41, 67, 75, 95, 15, 46, 30,
- 20, 18, 5, 5, 7, 17, 37, 5, 66, 62,
- 56, 20, 18, 5, 19, 45, 20, 114, 104, 98,
- 76, 50, 6, 15, 11, 25, 124, 109, 103, 77,
- 105, 101, 69, 93, 85, 63, 87, 83, 91, 55,
- 61, 57, 81, 79, 45, 31, 33, 35, 29, 15,
- 3, 7, 8, 11, 11, 15, 5, 1, 15, 0,
- 4, 1, 2, 12, 0, 1, 2, 18, 3, 13,
- 21, 11, 9, 3, 40, 32, 44, 44, 36, 38,
- 30, 36, 36, 8, 24, 32, 7, 14, 124, 124,
- 116, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 84, 124, 124, 124, 124, 124, 124, 116,
- 100, 98, 76, 54, 36, 8, 11, 124, 124, 124,
- 124, 124, 124, 124, 124, 122, 116, 104, 102, 64,
- 46, 20, 22, 20, 18, 66, 66, 64, 62, 52,
- 56, 38, 30, 30, 14, 21, 4, 25, 47, 44,
- 14, 4, 39, 29, 19, 29, 19, 5, 17, 31,
- 7, 0, 6, 0, 6, 8, 8, 124, 124, 114,
- 100, 88, 72, 56, 24, 21, 11, 78, 56, 44,
- 24, 20, 6, 0, 3, 31, 31, 21, 11, 23,
- 7, 2, 9, 19, 1, 6, 12, 8, 14, 18,
- 10, 124, 124, 114, 100, 88, 72, 56, 24, 21,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 7 */
-
- 124, 18, 23, 124, 18, 23, 101, 59, 26, 20,
- 18, 58, 98, 112, 110, 42, 83, 3, 9, 19,
- 18, 20, 9, 10, 36, 66, 92, 74, 20, 33,
- 87, 61, 21, 9, 19, 18, 15, 41, 22, 34,
- 9, 31, 55, 8, 23, 43, 69, 14, 17, 37,
- 8, 31, 37, 57, 3, 25, 13, 43, 11, 4,
- 44, 0, 0, 0, 31, 47, 67, 9, 34, 0,
- 86, 18, 33, 91, 39, 49, 11, 37, 55, 45,
- 87, 49, 73, 61, 95, 33, 45, 53, 53, 48,
- 3, 27, 95, 17, 69, 47, 99, 14, 8, 10,
- 1, 24, 9, 13, 41, 67, 43, 43, 43, 17,
- 35, 71, 61, 19, 79, 55, 57, 65, 83, 85,
- 1, 23, 11, 9, 8, 18, 5, 17, 43, 81,
- 19, 58, 56, 87, 18, 10, 10, 8, 8, 0,
- 19, 7, 2, 18, 12, 4, 3, 3, 2, 11,
- 10, 1, 38, 62, 56, 36, 26, 38, 24, 34,
- 34, 1, 38, 32, 52, 51, 34, 62, 56, 120,
- 124, 82, 102, 124, 124, 98, 124, 122, 124, 124,
- 108, 106, 82, 104, 124, 110, 124, 124, 124, 98,
- 84, 124, 96, 124, 32, 124, 124, 124, 124, 124,
- 124, 124, 124, 114, 106, 96, 80, 66, 54, 20,
- 23, 17, 33, 44, 50, 42, 48, 22, 26, 22,
- 52, 4, 11, 0, 27, 15, 95, 75, 1, 12,
- 20, 0, 17, 25, 33, 37, 97, 55, 52, 26,
- 12, 13, 13, 39, 65, 73, 91, 15, 48, 32,
- 22, 18, 3, 3, 7, 15, 37, 5, 66, 62,
- 56, 18, 18, 5, 19, 43, 20, 112, 102, 96,
- 74, 50, 6, 13, 11, 25, 124, 105, 99, 75,
- 101, 99, 67, 91, 83, 61, 83, 81, 87, 53,
- 59, 55, 79, 75, 45, 31, 33, 35, 27, 15,
- 5, 7, 8, 11, 11, 17, 3, 1, 13, 0,
- 4, 1, 2, 12, 0, 1, 2, 18, 3, 13,
- 21, 11, 9, 5, 38, 32, 42, 44, 34, 36,
- 30, 34, 34, 8, 24, 30, 7, 12, 122, 124,
- 114, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 80, 124, 124, 124, 124, 124, 124, 112,
- 96, 94, 72, 50, 32, 6, 11, 124, 124, 124,
- 124, 124, 124, 124, 124, 118, 112, 100, 96, 60,
- 42, 18, 20, 20, 14, 64, 62, 62, 58, 48,
- 52, 36, 28, 28, 12, 23, 0, 27, 47, 42,
- 10, 0, 37, 29, 17, 27, 17, 3, 17, 29,
- 7, 0, 6, 2, 8, 8, 8, 124, 124, 108,
- 94, 80, 64, 48, 16, 27, 9, 78, 56, 44,
- 24, 20, 6, 0, 3, 29, 31, 21, 9, 23,
- 5, 4, 9, 19, 0, 8, 12, 8, 14, 18,
- 10, 124, 124, 108, 94, 80, 64, 48, 16, 27,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 8 */
-
- 124, 16, 23, 124, 16, 23, 99, 57, 26, 20,
- 18, 54, 92, 110, 110, 40, 79, 5, 9, 17,
- 18, 18, 9, 8, 32, 64, 86, 66, 14, 37,
- 81, 59, 21, 9, 17, 18, 17, 39, 22, 32,
- 9, 31, 55, 6, 25, 43, 69, 14, 17, 37,
- 8, 31, 37, 57, 3, 25, 13, 43, 11, 4,
- 44, 0, 0, 0, 29, 49, 67, 9, 32, 0,
- 84, 18, 35, 87, 37, 47, 9, 33, 53, 43,
- 83, 47, 71, 59, 91, 33, 45, 53, 53, 48,
- 3, 25, 91, 17, 69, 45, 95, 14, 8, 10,
- 3, 24, 9, 13, 39, 65, 41, 41, 43, 17,
- 35, 69, 59, 19, 77, 53, 49, 57, 77, 81,
- 1, 23, 11, 9, 6, 18, 5, 17, 43, 77,
- 19, 54, 52, 83, 18, 10, 10, 8, 8, 0,
- 15, 7, 2, 18, 10, 4, 1, 1, 1, 11,
- 10, 1, 36, 58, 54, 36, 24, 38, 24, 32,
- 32, 1, 36, 30, 50, 51, 32, 60, 54, 116,
- 124, 78, 98, 124, 124, 92, 124, 118, 124, 124,
- 100, 102, 78, 100, 124, 106, 124, 124, 124, 92,
- 80, 124, 92, 124, 28, 124, 124, 124, 124, 124,
- 124, 124, 120, 110, 102, 92, 76, 62, 50, 16,
- 23, 19, 35, 42, 46, 40, 46, 20, 22, 18,
- 48, 2, 11, 1, 29, 17, 95, 73, 0, 12,
- 20, 0, 15, 23, 31, 37, 93, 53, 52, 26,
- 12, 11, 11, 37, 61, 69, 89, 13, 48, 32,
- 22, 20, 1, 3, 7, 15, 35, 7, 68, 62,
- 54, 18, 18, 5, 19, 43, 20, 112, 100, 94,
- 72, 50, 6, 13, 11, 25, 124, 103, 97, 73,
- 99, 95, 65, 87, 79, 59, 81, 77, 83, 53,
- 59, 55, 77, 73, 45, 31, 33, 33, 27, 15,
- 5, 7, 6, 11, 11, 17, 3, 1, 11, 0,
- 2, 1, 2, 10, 0, 1, 2, 16, 3, 13,
- 21, 11, 7, 7, 36, 32, 38, 42, 32, 34,
- 28, 32, 32, 8, 24, 28, 7, 8, 120, 120,
- 112, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 120, 76, 124, 124, 124, 124, 124, 124, 106,
- 90, 88, 68, 46, 30, 4, 13, 124, 124, 124,
- 124, 124, 124, 124, 124, 112, 106, 94, 90, 56,
- 38, 14, 18, 18, 10, 60, 60, 58, 54, 44,
- 48, 32, 24, 24, 8, 25, 1, 29, 49, 38,
- 8, 1, 37, 29, 17, 27, 15, 1, 17, 29,
- 5, 2, 6, 2, 8, 8, 6, 124, 120, 102,
- 88, 74, 56, 38, 6, 33, 9, 78, 56, 44,
- 24, 22, 6, 0, 3, 29, 31, 21, 9, 23,
- 5, 4, 9, 19, 0, 8, 12, 8, 16, 18,
- 8, 124, 120, 102, 88, 74, 56, 38, 6, 33,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 9 */
-
- 124, 16, 23, 124, 16, 23, 95, 55, 28, 20,
- 18, 52, 88, 108, 112, 40, 75, 5, 7, 15,
- 18, 16, 9, 8, 30, 62, 82, 58, 8, 39,
- 75, 57, 19, 7, 15, 18, 17, 37, 22, 32,
- 7, 31, 53, 6, 25, 43, 69, 14, 17, 35,
- 8, 31, 37, 57, 3, 25, 13, 41, 11, 4,
- 44, 0, 0, 0, 27, 49, 67, 9, 30, 0,
- 82, 18, 35, 83, 33, 45, 5, 29, 49, 41,
- 79, 43, 69, 55, 85, 33, 45, 53, 51, 48,
- 3, 23, 87, 15, 67, 43, 91, 14, 8, 10,
- 3, 24, 9, 13, 37, 63, 39, 39, 41, 15,
- 33, 67, 55, 17, 73, 51, 39, 47, 69, 75,
- 0, 23, 9, 7, 6, 18, 5, 15, 41, 71,
- 19, 50, 50, 77, 18, 10, 10, 8, 8, 2,
- 11, 5, 2, 18, 10, 4, 0, 0, 3, 9,
- 10, 1, 34, 56, 52, 36, 22, 38, 24, 32,
- 30, 0, 34, 30, 48, 51, 32, 60, 54, 112,
- 124, 76, 96, 124, 124, 88, 120, 114, 124, 124,
- 94, 98, 74, 96, 124, 102, 124, 124, 124, 88,
- 76, 124, 88, 124, 24, 124, 124, 124, 124, 124,
- 124, 120, 116, 106, 98, 88, 74, 60, 48, 12,
- 23, 19, 35, 42, 44, 38, 44, 18, 20, 16,
- 44, 0, 11, 3, 31, 17, 93, 71, 2, 12,
- 20, 0, 13, 21, 29, 35, 87, 51, 52, 26,
- 12, 9, 9, 35, 57, 65, 85, 11, 50, 34,
- 24, 22, 0, 3, 5, 15, 33, 7, 70, 62,
- 52, 18, 20, 3, 19, 41, 20, 112, 100, 92,
- 70, 50, 6, 13, 11, 23, 124, 101, 95, 69,
- 95, 91, 63, 83, 75, 57, 77, 73, 79, 51,
- 57, 53, 75, 69, 43, 29, 31, 31, 25, 15,
- 5, 7, 4, 11, 11, 17, 3, 0, 9, 2,
- 2, 0, 2, 10, 0, 1, 2, 14, 3, 11,
- 19, 11, 5, 7, 34, 32, 36, 40, 32, 34,
- 28, 32, 30, 8, 24, 26, 7, 6, 118, 118,
- 112, 122, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 114, 72, 124, 124, 124, 124, 124, 124, 100,
- 86, 84, 66, 44, 28, 4, 15, 124, 124, 124,
- 124, 124, 124, 124, 124, 108, 102, 90, 86, 52,
- 34, 10, 18, 16, 8, 58, 58, 54, 50, 42,
- 46, 28, 22, 20, 6, 25, 3, 29, 51, 34,
- 6, 3, 37, 27, 15, 27, 13, 2, 15, 27,
- 3, 4, 6, 4, 10, 8, 6, 124, 116, 98,
- 82, 68, 48, 30, 1, 39, 9, 78, 56, 46,
- 26, 24, 8, 2, 1, 29, 31, 21, 9, 21,
- 3, 6, 9, 17, 0, 8, 12, 10, 18, 18,
- 8, 124, 116, 98, 82, 68, 48, 30, 1, 39,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 10 */
-
- 124, 16, 23, 124, 16, 23, 91, 51, 28, 20,
- 16, 50, 84, 106, 112, 40, 71, 5, 7, 13,
- 16, 16, 9, 6, 26, 60, 76, 52, 4, 43,
- 69, 55, 19, 7, 13, 16, 17, 35, 22, 30,
- 7, 29, 51, 6, 25, 43, 69, 14, 17, 35,
- 8, 31, 35, 55, 3, 25, 13, 41, 9, 4,
- 44, 0, 0, 0, 27, 49, 67, 7, 28, 0,
- 80, 16, 35, 77, 31, 43, 1, 25, 47, 37,
- 77, 41, 65, 53, 81, 33, 43, 51, 51, 48,
- 3, 21, 83, 15, 65, 43, 87, 14, 6, 8,
- 5, 24, 9, 11, 37, 61, 37, 39, 39, 15,
- 31, 63, 53, 15, 71, 49, 29, 39, 63, 69,
- 0, 21, 9, 7, 6, 18, 3, 15, 41, 67,
- 19, 46, 46, 71, 18, 12, 10, 8, 8, 2,
- 9, 3, 4, 16, 10, 4, 0, 0, 5, 9,
- 10, 3, 34, 54, 52, 34, 22, 38, 24, 32,
- 28, 0, 32, 28, 48, 51, 32, 58, 52, 108,
- 124, 74, 92, 124, 124, 84, 114, 110, 124, 124,
- 86, 94, 70, 90, 122, 96, 124, 124, 124, 82,
- 72, 116, 84, 124, 22, 124, 124, 124, 124, 124,
- 120, 116, 112, 102, 92, 84, 70, 56, 44, 8,
- 23, 19, 37, 40, 42, 36, 40, 16, 18, 14,
- 42, 1, 13, 5, 31, 19, 91, 67, 4, 14,
- 20, 2, 13, 21, 29, 33, 83, 47, 52, 28,
- 14, 9, 7, 33, 55, 63, 81, 11, 52, 36,
- 26, 22, 2, 1, 5, 13, 33, 7, 70, 62,
- 52, 16, 20, 3, 19, 41, 20, 110, 98, 90,
- 68, 50, 6, 11, 11, 23, 124, 97, 91, 67,
- 91, 89, 61, 81, 73, 55, 73, 71, 75, 49,
- 55, 53, 73, 65, 43, 29, 31, 31, 25, 15,
- 7, 7, 4, 11, 11, 19, 1, 0, 7, 2,
- 2, 0, 2, 10, 0, 1, 2, 14, 3, 11,
- 19, 11, 5, 9, 32, 32, 34, 40, 30, 32,
- 28, 30, 28, 8, 24, 24, 7, 4, 116, 116,
- 110, 118, 120, 124, 124, 124, 124, 124, 124, 124,
- 124, 110, 68, 124, 124, 124, 124, 124, 124, 96,
- 82, 78, 62, 40, 24, 2, 15, 124, 124, 124,
- 124, 124, 124, 124, 124, 104, 96, 86, 80, 48,
- 30, 8, 16, 16, 4, 56, 54, 52, 46, 38,
- 42, 26, 20, 18, 4, 27, 7, 31, 51, 32,
- 2, 7, 35, 27, 13, 25, 11, 4, 15, 25,
- 3, 4, 6, 4, 12, 8, 6, 124, 112, 92,
- 76, 60, 40, 22, 9, 45, 7, 78, 56, 46,
- 26, 24, 8, 2, 1, 27, 31, 21, 7, 21,
- 1, 8, 9, 17, 2, 10, 12, 10, 18, 18,
- 8, 124, 112, 92, 76, 60, 40, 22, 9, 45,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 11 */
-
- 124, 16, 25, 124, 16, 25, 87, 49, 30, 20,
- 16, 46, 80, 104, 112, 40, 69, 5, 5, 13,
- 16, 14, 7, 6, 24, 56, 72, 44, 1, 45,
- 65, 53, 19, 5, 13, 16, 19, 35, 22, 30,
- 7, 29, 51, 6, 25, 41, 67, 14, 15, 33,
- 8, 29, 35, 55, 3, 25, 13, 41, 9, 4,
- 44, 0, 0, 0, 25, 49, 67, 7, 28, 1,
- 80, 16, 35, 73, 29, 41, 0, 19, 43, 35,
- 73, 37, 63, 51, 77, 33, 43, 51, 51, 48,
- 3, 19, 77, 15, 63, 41, 83, 12, 6, 8,
- 5, 26, 9, 11, 35, 61, 37, 37, 37, 13,
- 29, 61, 49, 15, 69, 47, 19, 29, 57, 63,
- 0, 21, 9, 5, 6, 18, 3, 13, 39, 63,
- 17, 42, 42, 65, 18, 12, 10, 8, 10, 4,
- 5, 1, 4, 16, 10, 4, 2, 2, 7, 9,
- 10, 3, 32, 52, 50, 34, 20, 38, 24, 32,
- 24, 0, 30, 26, 46, 51, 32, 58, 52, 104,
- 124, 72, 88, 122, 124, 80, 110, 106, 124, 124,
- 80, 90, 68, 86, 114, 92, 124, 124, 124, 76,
- 68, 110, 80, 124, 18, 124, 124, 124, 124, 124,
- 116, 110, 108, 98, 88, 78, 66, 52, 42, 6,
- 23, 19, 37, 38, 40, 34, 38, 14, 16, 12,
- 38, 3, 13, 7, 33, 19, 91, 65, 6, 14,
- 20, 2, 11, 19, 27, 33, 79, 45, 54, 28,
- 14, 7, 5, 31, 51, 59, 77, 9, 52, 36,
- 26, 24, 4, 1, 5, 13, 31, 7, 72, 62,
- 50, 16, 20, 3, 19, 39, 18, 110, 98, 88,
- 66, 48, 6, 11, 11, 23, 124, 95, 89, 65,
- 89, 85, 59, 77, 69, 53, 71, 67, 71, 49,
- 53, 51, 71, 61, 41, 29, 31, 29, 23, 15,
- 7, 7, 2, 11, 11, 19, 1, 2, 5, 2,
- 2, 2, 4, 10, 2, 0, 2, 12, 3, 11,
- 19, 11, 3, 11, 30, 32, 32, 38, 28, 32,
- 28, 28, 28, 8, 22, 20, 9, 2, 112, 114,
- 108, 116, 116, 124, 124, 124, 124, 124, 124, 124,
- 124, 104, 64, 124, 124, 124, 124, 124, 124, 90,
- 78, 74, 58, 36, 22, 0, 17, 124, 124, 124,
- 124, 124, 124, 120, 118, 98, 92, 80, 74, 44,
- 28, 4, 14, 14, 2, 52, 52, 48, 42, 36,
- 38, 22, 18, 14, 2, 29, 9, 33, 53, 28,
- 0, 9, 35, 25, 13, 25, 9, 6, 15, 25,
- 1, 6, 6, 6, 14, 8, 6, 124, 108, 88,
- 70, 54, 32, 14, 17, 51, 7, 78, 56, 46,
- 26, 26, 10, 2, 1, 27, 29, 19, 7, 19,
- 0, 10, 7, 15, 2, 10, 12, 10, 20, 18,
- 8, 124, 108, 88, 70, 54, 32, 14, 17, 51,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 12 */
-
- 124, 16, 25, 124, 16, 25, 85, 45, 30, 20,
- 14, 44, 76, 102, 112, 38, 65, 5, 5, 11,
- 16, 14, 7, 4, 20, 54, 66, 38, 5, 49,
- 59, 51, 19, 5, 11, 16, 19, 33, 22, 28,
- 7, 29, 49, 6, 25, 41, 67, 14, 15, 33,
- 8, 29, 33, 55, 3, 25, 13, 41, 9, 4,
- 44, 0, 0, 0, 25, 51, 67, 5, 26, 1,
- 78, 14, 35, 67, 27, 39, 4, 15, 41, 31,
- 69, 35, 61, 49, 73, 33, 43, 49, 51, 48,
- 3, 17, 73, 15, 63, 41, 79, 12, 4, 6,
- 7, 26, 9, 9, 35, 59, 35, 37, 35, 13,
- 29, 57, 47, 13, 67, 45, 9, 21, 51, 57,
- 0, 21, 9, 5, 6, 18, 1, 13, 39, 59,
- 17, 38, 38, 61, 18, 12, 10, 8, 10, 4,
- 3, 0, 4, 16, 10, 4, 2, 4, 9, 9,
- 10, 5, 32, 50, 50, 34, 20, 38, 24, 32,
- 22, 0, 28, 24, 46, 51, 30, 56, 50, 100,
- 124, 70, 84, 118, 120, 76, 104, 102, 124, 124,
- 72, 86, 64, 82, 108, 86, 116, 124, 124, 70,
- 64, 102, 76, 124, 14, 124, 124, 124, 124, 124,
- 112, 106, 104, 94, 84, 74, 62, 48, 38, 2,
- 23, 19, 39, 36, 38, 32, 36, 12, 12, 10,
- 34, 5, 15, 9, 35, 21, 89, 61, 8, 16,
- 20, 2, 9, 19, 27, 31, 75, 43, 54, 28,
- 16, 5, 3, 29, 49, 57, 75, 7, 54, 38,
- 28, 24, 6, 0, 5, 13, 31, 7, 72, 62,
- 48, 16, 20, 3, 19, 39, 18, 108, 96, 86,
- 64, 48, 6, 11, 11, 23, 124, 93, 85, 63,
- 85, 83, 57, 73, 65, 51, 67, 63, 67, 47,
- 51, 51, 69, 59, 41, 29, 31, 29, 23, 15,
- 7, 7, 2, 11, 11, 21, 0, 2, 3, 2,
- 2, 2, 4, 10, 2, 0, 2, 12, 3, 11,
- 19, 11, 3, 13, 28, 32, 30, 36, 26, 30,
- 28, 26, 26, 8, 22, 18, 9, 0, 110, 112,
- 106, 112, 112, 124, 122, 124, 124, 124, 124, 124,
- 122, 100, 60, 124, 124, 124, 124, 124, 118, 86,
- 72, 68, 54, 32, 18, 1, 19, 124, 124, 124,
- 124, 124, 124, 114, 112, 94, 86, 76, 68, 40,
- 24, 2, 12, 12, 1, 50, 48, 44, 38, 32,
- 34, 18, 16, 12, 0, 31, 11, 35, 55, 26,
- 1, 11, 35, 25, 11, 23, 7, 8, 15, 23,
- 1, 6, 6, 6, 16, 8, 6, 122, 104, 82,
- 64, 48, 24, 4, 25, 57, 7, 78, 56, 46,
- 26, 26, 10, 2, 1, 25, 29, 19, 5, 19,
- 0, 12, 7, 15, 2, 10, 12, 10, 20, 18,
- 8, 122, 104, 82, 64, 48, 24, 4, 25, 57,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 13 */
-
- 124, 16, 25, 124, 16, 25, 81, 43, 30, 20,
- 14, 42, 72, 100, 112, 38, 61, 5, 5, 9,
- 14, 12, 7, 2, 16, 52, 62, 30, 11, 53,
- 53, 49, 17, 5, 9, 14, 19, 31, 22, 28,
- 7, 27, 47, 6, 25, 41, 67, 14, 15, 33,
- 8, 29, 33, 53, 3, 25, 13, 41, 7, 4,
- 44, 0, 0, 0, 23, 51, 67, 5, 24, 1,
- 76, 14, 35, 63, 25, 37, 8, 11, 37, 29,
- 67, 31, 57, 47, 67, 33, 41, 49, 49, 48,
- 3, 15, 69, 15, 61, 39, 75, 12, 4, 6,
- 7, 26, 9, 9, 33, 57, 33, 35, 33, 11,
- 27, 55, 43, 11, 63, 43, 0, 13, 45, 51,
- 2, 19, 7, 3, 6, 18, 1, 13, 37, 55,
- 17, 34, 34, 55, 18, 14, 10, 8, 10, 6,
- 0, 2, 6, 14, 10, 4, 4, 4, 11, 7,
- 10, 5, 30, 48, 48, 32, 18, 38, 24, 32,
- 20, 2, 26, 24, 44, 51, 30, 54, 48, 96,
- 124, 68, 82, 114, 116, 72, 100, 98, 124, 124,
- 66, 82, 60, 76, 102, 82, 110, 124, 124, 66,
- 60, 96, 72, 124, 12, 124, 124, 124, 122, 120,
- 108, 102, 100, 90, 78, 70, 58, 46, 34, 1,
- 23, 19, 39, 34, 36, 30, 32, 10, 10, 8,
- 32, 7, 15, 11, 35, 23, 87, 59, 10, 16,
- 20, 4, 9, 17, 25, 29, 71, 39, 54, 30,
- 16, 5, 1, 27, 45, 53, 71, 7, 56, 40,
- 30, 26, 8, 0, 3, 11, 29, 7, 74, 62,
- 48, 14, 20, 3, 19, 37, 18, 108, 94, 84,
- 62, 48, 6, 9, 11, 21, 124, 89, 83, 59,
- 81, 79, 55, 71, 63, 49, 63, 61, 63, 45,
- 49, 49, 67, 55, 41, 29, 29, 27, 21, 15,
- 9, 7, 0, 11, 11, 21, 0, 2, 1, 2,
- 2, 2, 4, 10, 2, 0, 2, 10, 3, 11,
- 19, 11, 1, 15, 26, 32, 28, 36, 26, 28,
- 28, 26, 24, 8, 22, 16, 9, 1, 108, 110,
- 104, 108, 108, 124, 118, 122, 124, 118, 124, 124,
- 116, 94, 56, 124, 124, 124, 124, 118, 112, 80,
- 68, 64, 50, 30, 16, 1, 19, 124, 124, 124,
- 124, 118, 118, 110, 106, 90, 82, 72, 62, 36,
- 20, 1, 12, 12, 5, 48, 46, 42, 34, 28,
- 30, 16, 14, 8, 1, 31, 15, 37, 55, 22,
- 5, 15, 33, 25, 9, 23, 5, 10, 13, 21,
- 0, 8, 6, 8, 18, 8, 6, 120, 100, 76,
- 58, 40, 16, 3, 33, 63, 5, 78, 56, 46,
- 26, 28, 10, 4, 0, 25, 29, 19, 5, 19,
- 2, 14, 7, 15, 4, 12, 12, 12, 22, 18,
- 8, 120, 100, 76, 58, 40, 16, 3, 33, 63,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 14 */
-
- 122, 16, 25, 122, 16, 25, 77, 39, 32, 20,
- 12, 38, 68, 98, 112, 38, 57, 5, 3, 7,
- 14, 12, 7, 2, 14, 50, 56, 24, 15, 55,
- 47, 47, 17, 3, 7, 14, 21, 29, 22, 26,
- 7, 27, 47, 6, 25, 41, 67, 14, 15, 31,
- 8, 29, 31, 53, 3, 25, 13, 41, 7, 4,
- 44, 0, 0, 0, 23, 51, 67, 3, 22, 1,
- 74, 12, 35, 57, 23, 35, 10, 7, 35, 25,
- 63, 29, 55, 45, 63, 33, 41, 47, 49, 48,
- 3, 13, 65, 15, 59, 39, 71, 12, 2, 4,
- 9, 26, 9, 7, 33, 55, 31, 35, 31, 11,
- 25, 51, 41, 11, 61, 41, 10, 3, 39, 45,
- 2, 19, 7, 3, 6, 18, 0, 11, 37, 51,
- 17, 30, 30, 49, 18, 14, 10, 8, 10, 6,
- 2, 4, 6, 14, 10, 4, 4, 6, 13, 7,
- 10, 7, 30, 46, 48, 32, 18, 38, 24, 32,
- 18, 2, 24, 22, 44, 51, 30, 54, 48, 92,
- 122, 66, 78, 110, 110, 68, 94, 94, 124, 124,
- 58, 78, 56, 72, 96, 76, 104, 122, 124, 60,
- 56, 88, 68, 124, 8, 120, 124, 120, 116, 114,
- 104, 98, 96, 86, 74, 66, 54, 42, 32, 5,
- 23, 19, 41, 32, 34, 28, 30, 8, 8, 6,
- 28, 9, 17, 13, 37, 23, 87, 55, 12, 18,
- 20, 4, 7, 17, 25, 29, 67, 37, 54, 30,
- 18, 3, 0, 25, 43, 51, 67, 5, 56, 40,
- 30, 26, 10, 2, 3, 11, 29, 7, 74, 62,
- 46, 14, 20, 3, 19, 37, 18, 106, 94, 82,
- 60, 48, 6, 9, 11, 21, 124, 87, 79, 57,
- 79, 77, 53, 67, 59, 47, 61, 57, 59, 45,
- 47, 49, 65, 51, 39, 29, 29, 27, 21, 15,
- 9, 7, 0, 11, 11, 23, 2, 4, 0, 2,
- 2, 4, 4, 10, 2, 0, 2, 10, 3, 11,
- 19, 11, 1, 17, 24, 32, 26, 34, 24, 28,
- 28, 24, 22, 8, 22, 14, 9, 3, 106, 108,
- 102, 106, 104, 120, 114, 118, 118, 114, 124, 120,
- 110, 90, 52, 124, 124, 124, 124, 110, 106, 76,
- 64, 58, 46, 26, 12, 3, 21, 124, 124, 124,
- 120, 112, 114, 104, 100, 84, 76, 66, 56, 32,
- 16, 3, 10, 10, 7, 44, 42, 38, 30, 26,
- 26, 12, 12, 6, 3, 33, 17, 39, 57, 20,
- 7, 17, 33, 23, 9, 21, 3, 12, 13, 21,
- 0, 8, 6, 8, 20, 8, 6, 118, 96, 72,
- 52, 34, 8, 11, 41, 69, 5, 78, 56, 46,
- 26, 28, 12, 4, 0, 23, 29, 19, 3, 17,
- 4, 16, 7, 13, 4, 12, 12, 12, 22, 18,
- 8, 118, 96, 72, 52, 34, 8, 11, 41, 69,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 15 */
-
- 120, 16, 25, 120, 16, 25, 73, 37, 32, 20,
- 12, 36, 64, 96, 112, 38, 53, 5, 3, 5,
- 14, 10, 7, 0, 10, 48, 52, 16, 21, 59,
- 41, 45, 17, 3, 5, 14, 21, 27, 22, 26,
- 7, 27, 45, 6, 25, 41, 67, 14, 15, 31,
- 8, 29, 31, 53, 3, 25, 13, 41, 7, 4,
- 44, 0, 0, 0, 21, 51, 67, 3, 20, 1,
- 72, 12, 35, 53, 21, 33, 14, 3, 31, 23,
- 59, 25, 53, 43, 59, 33, 41, 47, 49, 48,
- 3, 11, 61, 15, 57, 37, 67, 12, 2, 4,
- 9, 26, 9, 7, 31, 53, 29, 33, 29, 9,
- 23, 49, 37, 9, 59, 39, 20, 4, 33, 39,
- 2, 19, 7, 1, 6, 18, 0, 11, 35, 47,
- 17, 26, 26, 43, 18, 14, 10, 8, 10, 8,
- 6, 6, 6, 14, 10, 4, 6, 8, 15, 7,
- 10, 7, 28, 44, 46, 32, 16, 38, 24, 32,
- 16, 2, 22, 20, 42, 51, 30, 52, 46, 88,
- 116, 64, 74, 106, 106, 64, 90, 90, 124, 124,
- 52, 74, 52, 68, 90, 72, 98, 114, 124, 54,
- 52, 82, 64, 124, 4, 116, 124, 116, 112, 110,
- 100, 94, 92, 82, 70, 62, 50, 38, 28, 9,
- 23, 19, 41, 30, 32, 26, 28, 6, 6, 4,
- 24, 11, 17, 15, 39, 25, 85, 53, 14, 18,
- 20, 4, 5, 15, 23, 27, 63, 35, 54, 30,
- 18, 1, 2, 23, 39, 47, 63, 3, 58, 42,
- 32, 28, 12, 2, 3, 11, 27, 7, 76, 62,
- 44, 14, 20, 3, 19, 35, 18, 106, 92, 80,
- 58, 48, 6, 9, 11, 21, 124, 85, 77, 55,
- 75, 73, 51, 63, 55, 45, 57, 53, 55, 43,
- 45, 47, 63, 47, 39, 29, 29, 25, 19, 15,
- 9, 7, 1, 11, 11, 23, 2, 4, 2, 2,
- 2, 4, 4, 10, 2, 0, 2, 8, 3, 11,
- 19, 11, 0, 19, 22, 32, 24, 32, 22, 26,
- 28, 22, 20, 8, 22, 12, 9, 5, 104, 106,
- 100, 102, 100, 116, 110, 114, 114, 108, 122, 114,
- 104, 84, 48, 124, 124, 124, 124, 104, 100, 70,
- 60, 54, 42, 22, 10, 5, 23, 124, 124, 124,
- 116, 106, 108, 100, 94, 80, 72, 62, 50, 28,
- 12, 7, 8, 8, 11, 42, 40, 34, 26, 22,
- 22, 8, 10, 2, 5, 35, 19, 41, 59, 16,
- 9, 19, 33, 23, 7, 21, 1, 14, 13, 19,
- 2, 10, 6, 10, 22, 8, 6, 116, 92, 66,
- 46, 28, 0, 19, 49, 75, 5, 78, 56, 46,
- 26, 30, 12, 4, 0, 23, 29, 19, 3, 17,
- 6, 18, 7, 13, 4, 12, 12, 12, 24, 18,
- 8, 116, 92, 66, 46, 28, 0, 19, 49, 75,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 16 */
-
- 116, 14, 27, 116, 14, 27, 71, 35, 32, 20,
- 10, 32, 58, 94, 112, 36, 51, 7, 3, 5,
- 12, 8, 7, 1, 6, 44, 46, 8, 27, 63,
- 37, 45, 17, 3, 5, 12, 23, 27, 22, 24,
- 7, 27, 45, 4, 27, 41, 67, 12, 15, 31,
- 8, 29, 31, 53, 3, 25, 15, 41, 7, 4,
- 44, 0, 0, 0, 21, 53, 67, 3, 18, 3,
- 70, 10, 37, 49, 19, 31, 16, 0, 29, 21,
- 57, 23, 51, 41, 55, 33, 41, 47, 49, 48,
- 3, 11, 57, 15, 57, 37, 65, 10, 0, 2,
- 11, 26, 9, 7, 31, 53, 29, 33, 29, 9,
- 23, 47, 35, 9, 57, 37, 28, 12, 27, 35,
- 2, 19, 7, 1, 4, 18, 0, 11, 35, 43,
- 17, 22, 22, 39, 18, 14, 10, 8, 10, 8,
- 8, 6, 6, 12, 8, 4, 6, 8, 19, 7,
- 10, 9, 26, 40, 44, 30, 14, 38, 24, 30,
- 12, 2, 20, 18, 40, 51, 28, 50, 44, 82,
- 108, 60, 70, 100, 100, 58, 84, 86, 110, 124,
- 44, 68, 48, 62, 82, 66, 90, 104, 118, 48,
- 48, 74, 60, 124, 0, 110, 118, 110, 106, 104,
- 94, 88, 86, 78, 64, 56, 46, 34, 24, 13,
- 23, 21, 43, 28, 28, 22, 24, 2, 2, 0,
- 20, 13, 19, 17, 41, 27, 85, 51, 14, 18,
- 20, 4, 5, 15, 23, 27, 59, 33, 54, 30,
- 18, 1, 2, 21, 37, 45, 61, 3, 58, 42,
- 32, 28, 14, 2, 3, 11, 27, 9, 76, 60,
- 42, 12, 20, 3, 19, 35, 16, 104, 90, 76,
- 56, 46, 6, 9, 11, 21, 124, 83, 75, 53,
- 73, 71, 49, 61, 53, 43, 55, 51, 51, 43,
- 45, 47, 61, 45, 39, 29, 29, 25, 19, 15,
- 11, 9, 3, 11, 13, 25, 2, 4, 4, 2,
- 0, 4, 4, 8, 2, 0, 2, 6, 3, 11,
- 19, 11, 0, 21, 20, 32, 20, 30, 20, 24,
- 26, 20, 18, 8, 20, 8, 11, 9, 100, 102,
- 98, 98, 96, 110, 104, 108, 108, 102, 116, 108,
- 96, 78, 44, 124, 124, 122, 120, 96, 92, 64,
- 54, 48, 38, 18, 6, 7, 25, 118, 120, 120,
- 110, 100, 102, 94, 86, 74, 66, 56, 44, 24,
- 8, 11, 6, 6, 15, 38, 36, 30, 20, 18,
- 18, 4, 6, 1, 9, 37, 23, 43, 61, 12,
- 13, 23, 33, 23, 7, 21, 0, 16, 13, 19,
- 2, 10, 6, 10, 22, 8, 4, 112, 88, 60,
- 38, 20, 7, 29, 59, 81, 5, 78, 56, 46,
- 26, 30, 12, 4, 0, 23, 29, 19, 3, 17,
- 6, 18, 7, 13, 4, 12, 12, 12, 24, 16,
- 6, 112, 88, 60, 38, 20, 7, 29, 59, 81,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 17 */
-
- 114, 14, 27, 114, 14, 27, 67, 31, 34, 22,
- 10, 30, 54, 92, 114, 36, 47, 7, 1, 3,
- 12, 8, 5, 1, 4, 42, 42, 2, 31, 65,
- 31, 43, 15, 1, 3, 12, 23, 25, 22, 24,
- 5, 25, 43, 4, 27, 39, 65, 12, 13, 29,
- 8, 27, 29, 51, 1, 23, 15, 39, 5, 4,
- 44, 0, 0, 0, 19, 53, 67, 1, 18, 3,
- 70, 10, 37, 43, 15, 27, 20, 6, 25, 17,
- 53, 19, 47, 37, 49, 33, 39, 45, 47, 48,
- 3, 9, 51, 13, 55, 35, 61, 10, 0, 2,
- 11, 28, 9, 5, 29, 51, 27, 31, 27, 7,
- 21, 43, 31, 7, 53, 33, 38, 22, 19, 29,
- 4, 17, 5, 0, 4, 20, 2, 9, 33, 37,
- 15, 18, 20, 33, 18, 16, 10, 10, 12, 10,
- 12, 8, 8, 12, 8, 4, 8, 10, 21, 5,
- 10, 9, 26, 38, 44, 30, 14, 38, 24, 30,
- 10, 4, 20, 18, 40, 51, 28, 50, 44, 78,
- 102, 58, 68, 96, 96, 54, 80, 82, 98, 124,
- 38, 64, 46, 58, 76, 62, 84, 96, 110, 44,
- 44, 68, 56, 124, 1, 106, 114, 106, 102, 100,
- 90, 84, 82, 74, 60, 52, 44, 32, 22, 15,
- 23, 21, 43, 28, 26, 20, 22, 0, 0, 1,
- 18, 15, 19, 19, 41, 27, 83, 47, 16, 20,
- 20, 6, 3, 13, 21, 25, 53, 29, 56, 32,
- 20, 0, 4, 17, 33, 41, 57, 1, 60, 44,
- 34, 30, 16, 4, 1, 9, 25, 9, 78, 60,
- 42, 12, 22, 1, 19, 33, 16, 104, 90, 74,
- 54, 46, 8, 7, 9, 19, 124, 79, 71, 49,
- 69, 67, 45, 57, 49, 39, 51, 47, 45, 41,
- 43, 45, 57, 41, 37, 27, 27, 23, 17, 13,
- 11, 9, 3, 11, 13, 25, 4, 6, 6, 4,
- 0, 6, 6, 8, 4, 2, 2, 6, 1, 9,
- 17, 9, 2, 21, 18, 32, 18, 30, 20, 24,
- 26, 20, 18, 8, 20, 6, 11, 11, 98, 100,
- 98, 96, 94, 106, 100, 104, 104, 98, 112, 104,
- 90, 74, 40, 122, 120, 114, 112, 90, 86, 60,
- 50, 44, 36, 16, 4, 7, 25, 114, 116, 116,
- 106, 96, 98, 90, 80, 70, 62, 52, 40, 22,
- 6, 13, 6, 6, 17, 36, 34, 28, 16, 16,
- 16, 2, 4, 3, 11, 37, 25, 43, 61, 10,
- 15, 25, 31, 21, 5, 19, 4, 20, 11, 17,
- 4, 12, 8, 12, 24, 8, 4, 110, 84, 56,
- 32, 14, 15, 37, 67, 85, 3, 78, 58, 48,
- 28, 32, 14, 6, 2, 21, 27, 17, 1, 15,
- 8, 20, 5, 11, 6, 14, 12, 14, 26, 16,
- 6, 110, 84, 56, 32, 14, 15, 37, 67, 85,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 18 */
-
- 112, 14, 27, 112, 14, 27, 63, 29, 34, 22,
- 10, 28, 50, 90, 114, 36, 43, 7, 1, 1,
- 12, 6, 5, 3, 0, 40, 36, 5, 37, 69,
- 25, 41, 15, 1, 1, 12, 23, 23, 22, 22,
- 5, 25, 41, 4, 27, 39, 65, 12, 13, 29,
- 8, 27, 29, 51, 1, 23, 15, 39, 5, 4,
- 44, 0, 0, 0, 17, 53, 67, 1, 16, 3,
- 68, 10, 37, 39, 13, 25, 24, 10, 23, 15,
- 49, 17, 45, 35, 45, 33, 39, 45, 47, 48,
- 3, 7, 47, 13, 53, 33, 57, 10, 0, 2,
- 13, 28, 9, 5, 27, 49, 25, 29, 25, 7,
- 19, 41, 29, 5, 51, 31, 48, 30, 13, 23,
- 4, 17, 5, 0, 4, 20, 2, 9, 33, 33,
- 15, 14, 16, 27, 18, 16, 10, 10, 12, 10,
- 16, 10, 8, 12, 8, 4, 10, 12, 23, 5,
- 10, 9, 24, 36, 42, 30, 12, 38, 24, 30,
- 8, 4, 18, 16, 38, 51, 28, 48, 42, 74,
- 96, 56, 64, 92, 92, 50, 76, 78, 86, 124,
- 30, 60, 42, 54, 70, 58, 78, 88, 102, 38,
- 40, 62, 52, 124, 5, 102, 110, 102, 98, 96,
- 86, 80, 78, 70, 56, 48, 40, 28, 18, 19,
- 23, 21, 45, 26, 24, 18, 20, 1, 1, 3,
- 14, 17, 19, 21, 43, 29, 81, 45, 18, 20,
- 20, 6, 1, 11, 19, 23, 49, 27, 56, 32,
- 20, 2, 6, 15, 29, 37, 53, 0, 62, 46,
- 36, 32, 18, 4, 1, 9, 23, 9, 80, 60,
- 40, 12, 22, 1, 19, 33, 16, 104, 88, 72,
- 52, 46, 8, 7, 9, 19, 124, 77, 69, 47,
- 65, 63, 43, 53, 45, 37, 47, 43, 41, 39,
- 41, 45, 55, 37, 37, 27, 27, 21, 17, 13,
- 11, 9, 5, 11, 13, 25, 4, 6, 8, 4,
- 0, 6, 6, 8, 4, 2, 2, 4, 1, 9,
- 17, 9, 4, 23, 16, 32, 16, 28, 18, 22,
- 26, 18, 16, 8, 20, 4, 11, 13, 96, 98,
- 96, 92, 90, 102, 96, 100, 100, 92, 106, 98,
- 84, 68, 36, 114, 112, 106, 102, 84, 80, 54,
- 46, 38, 32, 12, 2, 9, 27, 110, 112, 110,
- 102, 90, 92, 84, 74, 66, 56, 48, 34, 18,
- 2, 17, 4, 4, 21, 34, 32, 24, 12, 12,
- 12, 1, 2, 7, 13, 39, 27, 45, 63, 6,
- 17, 27, 31, 21, 3, 19, 6, 22, 11, 15,
- 6, 14, 8, 12, 26, 8, 4, 108, 80, 50,
- 26, 8, 23, 45, 75, 91, 3, 78, 58, 48,
- 28, 34, 14, 6, 2, 21, 27, 17, 1, 15,
- 10, 22, 5, 11, 6, 14, 12, 14, 28, 16,
- 6, 108, 80, 50, 26, 8, 23, 45, 75, 91,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 19 */
-
- 110, 14, 27, 110, 14, 27, 59, 25, 36, 22,
- 8, 24, 46, 88, 114, 36, 39, 7, 0, 0,
- 12, 6, 5, 3, 1, 38, 32, 11, 41, 71,
- 19, 39, 15, 0, 0, 12, 25, 21, 22, 22,
- 5, 25, 41, 4, 27, 39, 65, 12, 13, 27,
- 8, 27, 27, 51, 1, 23, 15, 39, 5, 4,
- 44, 0, 0, 0, 17, 53, 67, 0, 14, 3,
- 66, 8, 37, 33, 11, 23, 26, 14, 19, 11,
- 45, 13, 43, 33, 41, 33, 39, 43, 47, 48,
- 3, 5, 43, 13, 51, 33, 53, 10, 1, 0,
- 13, 28, 9, 3, 27, 47, 23, 29, 23, 5,
- 17, 37, 25, 5, 49, 29, 58, 40, 7, 17,
- 4, 17, 5, 2, 4, 20, 4, 7, 31, 29,
- 15, 10, 12, 21, 18, 16, 10, 10, 12, 12,
- 18, 12, 8, 12, 8, 4, 10, 14, 25, 5,
- 10, 11, 24, 34, 42, 30, 12, 38, 24, 30,
- 6, 4, 16, 14, 38, 51, 28, 48, 42, 70,
- 90, 54, 60, 88, 86, 46, 70, 74, 72, 124,
- 24, 56, 38, 50, 64, 52, 72, 80, 94, 32,
- 36, 54, 48, 124, 9, 98, 106, 98, 92, 90,
- 82, 76, 74, 66, 52, 44, 36, 24, 16, 23,
- 23, 21, 45, 24, 22, 16, 18, 3, 3, 5,
- 10, 19, 21, 23, 45, 29, 81, 41, 20, 22,
- 20, 6, 0, 11, 19, 23, 45, 25, 56, 32,
- 22, 4, 8, 13, 27, 35, 49, 2, 62, 46,
- 36, 32, 20, 6, 1, 9, 23, 9, 80, 60,
- 38, 12, 22, 1, 19, 31, 16, 102, 88, 70,
- 50, 46, 8, 7, 9, 19, 124, 75, 65, 45,
- 63, 61, 41, 49, 41, 35, 45, 39, 37, 39,
- 39, 43, 53, 33, 35, 27, 27, 21, 15, 13,
- 11, 9, 5, 11, 13, 27, 6, 8, 10, 4,
- 0, 8, 6, 8, 4, 2, 2, 4, 1, 9,
- 17, 9, 4, 25, 14, 32, 14, 26, 16, 22,
- 26, 16, 14, 8, 20, 2, 11, 15, 94, 96,
- 94, 90, 86, 98, 92, 96, 94, 88, 100, 92,
- 78, 64, 32, 106, 104, 98, 92, 76, 74, 50,
- 42, 34, 28, 8, 1, 11, 29, 106, 106, 106,
- 96, 84, 88, 80, 68, 60, 52, 42, 28, 14,
- 1, 19, 2, 2, 23, 30, 28, 20, 8, 10,
- 8, 5, 0, 9, 15, 41, 29, 47, 65, 4,
- 19, 29, 31, 19, 3, 17, 8, 24, 11, 15,
- 6, 14, 8, 14, 28, 8, 4, 106, 76, 46,
- 20, 2, 31, 53, 83, 97, 3, 78, 58, 48,
- 28, 34, 16, 6, 2, 19, 27, 17, 0, 13,
- 12, 24, 5, 9, 6, 14, 12, 14, 28, 16,
- 6, 106, 76, 46, 20, 2, 31, 53, 83, 97,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 20 */
-
- 106, 14, 27, 106, 14, 27, 57, 23, 36, 22,
- 8, 22, 42, 86, 114, 34, 35, 7, 0, 2,
- 10, 4, 5, 5, 5, 36, 26, 19, 47, 75,
- 13, 37, 15, 0, 2, 10, 25, 19, 22, 20,
- 5, 23, 39, 4, 27, 39, 65, 12, 13, 27,
- 8, 27, 27, 49, 1, 23, 15, 39, 3, 4,
- 44, 0, 0, 0, 15, 55, 67, 0, 12, 3,
- 64, 8, 37, 29, 9, 21, 30, 18, 17, 9,
- 43, 11, 39, 31, 37, 33, 37, 43, 47, 48,
- 3, 3, 39, 13, 51, 31, 49, 10, 1, 0,
- 15, 28, 9, 3, 25, 45, 21, 27, 21, 5,
- 17, 35, 23, 3, 47, 27, 68, 48, 1, 11,
- 4, 15, 5, 2, 4, 20, 4, 7, 31, 25,
- 15, 6, 8, 17, 18, 18, 10, 10, 12, 12,
- 22, 14, 10, 10, 8, 4, 12, 14, 27, 5,
- 10, 11, 22, 32, 40, 28, 10, 38, 24, 30,
- 4, 4, 14, 12, 36, 51, 26, 46, 40, 66,
- 82, 52, 56, 84, 82, 42, 66, 70, 60, 124,
- 16, 52, 34, 44, 58, 48, 64, 70, 86, 26,
- 32, 48, 44, 124, 11, 94, 102, 92, 88, 86,
- 78, 72, 70, 62, 46, 40, 32, 20, 12, 27,
- 23, 21, 47, 22, 20, 14, 14, 5, 7, 7,
- 8, 21, 21, 25, 45, 31, 79, 39, 22, 22,
- 20, 8, 0, 9, 17, 21, 41, 21, 56, 34,
- 22, 4, 10, 11, 23, 31, 47, 2, 64, 48,
- 38, 34, 22, 6, 1, 7, 21, 9, 82, 60,
- 38, 10, 22, 1, 19, 31, 16, 102, 86, 68,
- 48, 46, 8, 5, 9, 19, 124, 71, 63, 43,
- 59, 57, 39, 47, 39, 33, 41, 37, 33, 37,
- 37, 43, 51, 31, 35, 27, 27, 19, 15, 13,
- 13, 9, 7, 11, 13, 27, 6, 8, 12, 4,
- 0, 8, 6, 8, 4, 2, 2, 2, 1, 9,
- 17, 9, 6, 27, 12, 32, 12, 26, 14, 20,
- 26, 14, 12, 8, 20, 0, 11, 17, 92, 94,
- 92, 86, 82, 94, 88, 90, 90, 82, 94, 86,
- 72, 58, 28, 96, 96, 90, 82, 70, 66, 44,
- 36, 28, 24, 4, 3, 13, 29, 100, 102, 100,
- 92, 78, 82, 74, 62, 56, 46, 38, 22, 10,
- 5, 23, 0, 2, 27, 28, 26, 18, 4, 6,
- 4, 7, 1, 13, 17, 43, 33, 49, 65, 0,
- 23, 33, 29, 19, 1, 17, 10, 26, 11, 13,
- 8, 16, 8, 14, 30, 8, 4, 104, 72, 40,
- 14, 5, 39, 63, 91, 103, 1, 78, 58, 48,
- 28, 36, 16, 6, 2, 19, 27, 17, 0, 13,
- 12, 26, 5, 9, 8, 16, 12, 14, 30, 16,
- 6, 104, 72, 40, 14, 5, 39, 63, 91, 103,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 21 */
-
- 104, 14, 27, 104, 14, 27, 53, 19, 36, 22,
- 6, 20, 38, 84, 114, 34, 31, 7, 0, 4,
- 10, 4, 5, 7, 9, 34, 22, 25, 51, 79,
- 7, 35, 13, 0, 4, 10, 25, 17, 22, 20,
- 5, 23, 37, 4, 27, 39, 65, 12, 13, 27,
- 8, 27, 25, 49, 1, 23, 15, 39, 3, 4,
- 44, 0, 0, 0, 15, 55, 67, 2, 10, 3,
- 62, 6, 37, 23, 7, 19, 34, 22, 13, 5,
- 39, 7, 37, 29, 31, 33, 37, 41, 45, 48,
- 3, 1, 35, 13, 49, 31, 45, 10, 3, 1,
- 15, 28, 9, 1, 25, 43, 19, 27, 19, 3,
- 15, 31, 19, 1, 43, 25, 78, 56, 4, 5,
- 6, 15, 3, 4, 4, 20, 6, 7, 29, 21,
- 15, 2, 4, 11, 18, 18, 10, 10, 12, 14,
- 24, 16, 10, 10, 8, 4, 12, 16, 29, 3,
- 10, 13, 22, 30, 40, 28, 10, 38, 24, 30,
- 2, 6, 12, 12, 36, 51, 26, 44, 38, 62,
- 76, 50, 54, 80, 78, 38, 60, 66, 48, 124,
- 10, 48, 30, 40, 52, 42, 58, 62, 78, 22,
- 28, 40, 40, 124, 15, 90, 98, 88, 84, 82,
- 74, 68, 66, 58, 42, 36, 28, 18, 8, 31,
- 23, 21, 47, 20, 18, 12, 12, 7, 9, 9,
- 4, 23, 23, 27, 47, 33, 77, 35, 24, 24,
- 20, 8, 2, 9, 17, 19, 37, 19, 56, 34,
- 24, 6, 12, 9, 21, 29, 43, 4, 66, 50,
- 40, 34, 24, 8, 0, 7, 21, 9, 82, 60,
- 36, 10, 22, 1, 19, 29, 16, 100, 84, 66,
- 46, 46, 8, 5, 9, 17, 124, 69, 59, 39,
- 55, 55, 37, 43, 35, 31, 37, 33, 29, 35,
- 35, 41, 49, 27, 35, 27, 25, 19, 13, 13,
- 13, 9, 7, 11, 13, 29, 8, 8, 14, 4,
- 0, 8, 6, 8, 4, 2, 2, 2, 1, 9,
- 17, 9, 6, 29, 10, 32, 10, 24, 14, 18,
- 26, 14, 10, 8, 20, 1, 11, 19, 90, 92,
- 90, 82, 78, 90, 84, 86, 84, 76, 88, 80,
- 66, 54, 24, 88, 88, 82, 72, 64, 60, 40,
- 32, 24, 20, 2, 7, 13, 31, 96, 96, 96,
- 88, 72, 76, 70, 56, 52, 42, 34, 16, 6,
- 9, 25, 0, 0, 31, 26, 22, 14, 0, 2,
- 0, 11, 3, 15, 19, 43, 35, 51, 67, 1,
- 25, 35, 29, 19, 0, 15, 12, 28, 9, 11,
- 8, 16, 8, 16, 32, 8, 4, 102, 68, 34,
- 8, 11, 47, 71, 99, 109, 1, 78, 58, 48,
- 28, 36, 16, 8, 4, 17, 27, 17, 2, 13,
- 14, 28, 5, 9, 8, 16, 12, 16, 30, 16,
- 6, 102, 68, 34, 8, 11, 47, 71, 99, 109,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 22 */
-
- 102, 14, 29, 102, 14, 29, 49, 17, 38, 22,
- 6, 16, 34, 82, 114, 34, 29, 7, 2, 4,
- 10, 2, 3, 7, 11, 30, 16, 33, 57, 81,
- 3, 33, 13, 2, 4, 10, 27, 17, 22, 18,
- 5, 23, 37, 4, 27, 37, 63, 12, 11, 25,
- 8, 25, 25, 49, 1, 23, 15, 39, 3, 4,
- 44, 0, 0, 0, 13, 55, 67, 2, 10, 5,
- 62, 6, 37, 19, 5, 17, 36, 28, 11, 3,
- 35, 5, 35, 27, 27, 33, 37, 41, 45, 48,
- 3, 0, 29, 13, 47, 29, 41, 8, 3, 1,
- 17, 30, 9, 1, 23, 43, 19, 25, 17, 3,
- 13, 29, 17, 1, 41, 23, 88, 66, 10, 0,
- 6, 15, 3, 4, 4, 20, 6, 5, 29, 17,
- 13, 1, 0, 5, 18, 18, 10, 10, 14, 14,
- 28, 18, 10, 10, 8, 4, 14, 18, 31, 3,
- 10, 13, 20, 28, 38, 28, 8, 38, 24, 30,
- 1, 6, 10, 10, 34, 51, 26, 44, 38, 58,
- 70, 48, 50, 74, 72, 34, 56, 62, 34, 124,
- 2, 44, 28, 36, 44, 38, 52, 54, 68, 16,
- 24, 34, 36, 124, 19, 86, 94, 84, 78, 76,
- 70, 62, 62, 54, 38, 30, 24, 14, 6, 33,
- 23, 21, 49, 18, 16, 10, 10, 9, 11, 11,
- 0, 25, 23, 29, 49, 33, 77, 33, 26, 24,
- 20, 8, 4, 7, 15, 19, 33, 17, 58, 34,
- 24, 8, 14, 7, 17, 25, 39, 6, 66, 50,
- 40, 36, 26, 8, 0, 7, 19, 9, 84, 60,
- 34, 10, 22, 1, 19, 29, 14, 100, 84, 64,
- 44, 44, 8, 5, 9, 17, 124, 67, 57, 37,
- 53, 51, 35, 39, 31, 29, 35, 29, 25, 35,
- 33, 41, 47, 23, 33, 27, 25, 17, 13, 13,
- 13, 9, 9, 11, 13, 29, 8, 10, 16, 4,
- 0, 10, 8, 8, 6, 4, 2, 0, 1, 9,
- 17, 9, 8, 31, 8, 32, 8, 22, 12, 18,
- 26, 12, 10, 8, 18, 5, 13, 21, 86, 90,
- 88, 80, 74, 86, 80, 82, 80, 72, 82, 76,
- 60, 48, 20, 80, 80, 74, 64, 56, 54, 34,
- 28, 18, 16, 1, 9, 15, 33, 92, 92, 90,
- 82, 66, 72, 64, 50, 46, 36, 28, 10, 2,
- 11, 29, 1, 1, 33, 22, 20, 10, 3, 0,
- 3, 15, 5, 19, 21, 45, 37, 53, 69, 5,
- 27, 37, 29, 17, 0, 15, 14, 30, 9, 11,
- 10, 18, 8, 16, 34, 8, 4, 100, 64, 30,
- 2, 17, 55, 79, 107, 115, 1, 78, 58, 48,
- 28, 38, 18, 8, 4, 17, 25, 15, 2, 11,
- 16, 30, 3, 7, 8, 16, 12, 16, 32, 16,
- 6, 100, 64, 30, 2, 17, 55, 79, 107, 115,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 23 */
-
- 100, 14, 29, 100, 14, 29, 45, 13, 38, 22,
- 4, 14, 30, 80, 114, 34, 25, 7, 2, 6,
- 8, 2, 3, 9, 15, 28, 12, 39, 61, 85,
- 2, 31, 13, 2, 6, 8, 27, 15, 22, 18,
- 5, 21, 35, 4, 27, 37, 63, 12, 11, 25,
- 8, 25, 23, 47, 1, 23, 15, 39, 1, 4,
- 44, 0, 0, 0, 13, 55, 67, 4, 8, 5,
- 60, 4, 37, 13, 3, 15, 40, 32, 7, 0,
- 33, 1, 31, 25, 23, 33, 35, 39, 45, 48,
- 3, 2, 25, 13, 45, 29, 37, 8, 5, 3,
- 17, 30, 9, 0, 23, 41, 17, 25, 15, 1,
- 11, 25, 13, 0, 39, 21, 98, 74, 16, 6,
- 6, 13, 3, 6, 4, 20, 8, 5, 27, 13,
- 13, 5, 3, 0, 18, 20, 10, 10, 14, 16,
- 30, 20, 12, 8, 8, 4, 14, 18, 33, 3,
- 10, 15, 20, 26, 38, 26, 8, 38, 24, 30,
- 3, 6, 8, 8, 34, 51, 26, 42, 36, 54,
- 64, 46, 46, 70, 68, 30, 50, 58, 22, 124,
- 3, 40, 24, 30, 38, 32, 46, 44, 60, 10,
- 20, 26, 32, 124, 21, 82, 90, 80, 74, 72,
- 66, 58, 58, 50, 32, 26, 20, 10, 2, 37,
- 23, 21, 49, 16, 14, 8, 6, 11, 13, 13,
- 1, 27, 25, 31, 49, 35, 75, 29, 28, 26,
- 20, 10, 4, 7, 15, 17, 29, 13, 58, 36,
- 26, 8, 16, 5, 15, 23, 35, 6, 68, 52,
- 42, 36, 28, 10, 0, 5, 19, 9, 84, 60,
- 34, 8, 22, 1, 19, 27, 14, 98, 82, 62,
- 42, 44, 8, 3, 9, 17, 124, 63, 53, 35,
- 49, 49, 33, 37, 29, 27, 31, 27, 21, 33,
- 31, 39, 45, 19, 33, 27, 25, 17, 11, 13,
- 15, 9, 9, 11, 13, 31, 10, 10, 18, 4,
- 0, 10, 8, 8, 6, 4, 2, 0, 1, 9,
- 17, 9, 8, 33, 6, 32, 6, 22, 10, 16,
- 26, 10, 8, 8, 18, 7, 13, 23, 84, 88,
- 86, 76, 70, 82, 76, 76, 74, 66, 76, 70,
- 54, 44, 16, 70, 72, 66, 54, 50, 48, 30,
- 24, 14, 12, 5, 13, 17, 33, 86, 86, 86,
- 78, 60, 66, 60, 44, 42, 32, 24, 4, 1,
- 15, 31, 3, 1, 37, 20, 16, 8, 7, 3,
- 7, 17, 7, 21, 23, 47, 41, 55, 69, 7,
- 31, 41, 27, 17, 2, 13, 16, 32, 9, 9,
- 10, 18, 8, 18, 36, 8, 4, 98, 60, 24,
- 3, 25, 63, 87, 115, 121, 0, 78, 58, 48,
- 28, 38, 18, 8, 4, 15, 25, 15, 4, 11,
- 18, 32, 3, 7, 10, 18, 12, 16, 32, 16,
- 6, 98, 60, 24, 3, 25, 63, 87, 115, 121,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 24 */
-
- 96, 12, 29, 96, 12, 29, 43, 11, 38, 22,
- 4, 10, 24, 78, 114, 32, 21, 9, 2, 8,
- 8, 0, 3, 11, 19, 26, 6, 47, 67, 89,
- 8, 29, 13, 2, 8, 8, 29, 13, 22, 16,
- 5, 21, 35, 2, 29, 37, 63, 12, 11, 25,
- 8, 25, 23, 47, 1, 23, 15, 39, 1, 4,
- 44, 0, 0, 0, 11, 57, 67, 4, 6, 5,
- 58, 4, 39, 9, 1, 13, 42, 36, 5, 2,
- 29, 0, 29, 23, 19, 33, 35, 39, 45, 48,
- 3, 4, 21, 13, 45, 27, 33, 8, 5, 3,
- 19, 30, 9, 0, 21, 39, 15, 23, 15, 1,
- 11, 23, 11, 0, 37, 19, 106, 82, 22, 10,
- 6, 13, 3, 6, 2, 20, 8, 5, 27, 9,
- 13, 9, 7, 4, 18, 20, 10, 10, 14, 16,
- 34, 20, 12, 8, 6, 4, 16, 20, 37, 3,
- 10, 15, 18, 22, 36, 26, 6, 38, 24, 28,
- 5, 6, 6, 6, 32, 51, 24, 40, 34, 50,
- 56, 42, 42, 66, 62, 24, 46, 54, 8, 124,
- 11, 36, 20, 26, 32, 28, 38, 36, 52, 4,
- 16, 20, 28, 124, 25, 78, 84, 74, 68, 66,
- 60, 54, 52, 46, 28, 22, 16, 6, 1, 41,
- 23, 23, 51, 14, 10, 6, 4, 13, 17, 17,
- 5, 29, 25, 33, 51, 37, 75, 27, 30, 26,
- 20, 10, 6, 5, 13, 17, 25, 11, 58, 36,
- 26, 10, 18, 3, 11, 19, 33, 8, 68, 52,
- 42, 38, 30, 10, 0, 5, 17, 11, 86, 60,
- 32, 8, 22, 1, 19, 27, 14, 98, 80, 60,
- 40, 44, 8, 3, 9, 17, 124, 61, 51, 33,
- 47, 45, 31, 33, 25, 25, 29, 23, 17, 33,
- 31, 39, 43, 17, 33, 27, 25, 15, 11, 13,
- 15, 9, 11, 11, 13, 31, 10, 10, 20, 4,
- 1, 10, 8, 6, 6, 4, 2, 1, 1, 9,
- 17, 9, 10, 35, 4, 32, 2, 20, 8, 14,
- 24, 8, 6, 8, 18, 9, 13, 27, 82, 84,
- 84, 72, 66, 78, 72, 72, 70, 60, 70, 64,
- 48, 38, 12, 62, 64, 56, 44, 42, 40, 24,
- 18, 8, 8, 9, 15, 19, 35, 82, 82, 80,
- 72, 54, 60, 54, 38, 36, 26, 18, 1, 5,
- 19, 35, 5, 3, 41, 16, 14, 4, 11, 7,
- 11, 21, 11, 25, 27, 49, 43, 57, 71, 11,
- 33, 43, 27, 17, 2, 13, 18, 34, 9, 9,
- 12, 20, 8, 18, 36, 8, 2, 96, 56, 18,
- 9, 31, 71, 97, 125, 125, 0, 78, 58, 48,
- 28, 40, 18, 8, 4, 15, 25, 15, 4, 11,
- 18, 32, 3, 7, 10, 18, 12, 16, 34, 16,
- 4, 96, 56, 18, 9, 31, 71, 97, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 25 */
-
- 94, 12, 29, 94, 12, 29, 39, 9, 40, 22,
- 4, 8, 20, 76, 116, 32, 17, 9, 4, 10,
- 8, 1, 3, 11, 21, 24, 2, 55, 73, 91,
- 14, 27, 11, 4, 10, 8, 29, 11, 22, 16,
- 3, 21, 33, 2, 29, 37, 63, 12, 11, 23,
- 8, 25, 23, 47, 1, 23, 15, 37, 1, 4,
- 44, 0, 0, 0, 9, 57, 67, 4, 4, 5,
- 56, 4, 39, 5, 2, 11, 46, 40, 1, 4,
- 25, 4, 27, 19, 13, 33, 35, 39, 43, 48,
- 3, 6, 17, 11, 43, 25, 29, 8, 5, 3,
- 19, 30, 9, 0, 19, 37, 13, 21, 13, 0,
- 9, 21, 7, 2, 33, 17, 116, 92, 30, 16,
- 8, 13, 1, 8, 2, 20, 8, 3, 25, 3,
- 13, 13, 9, 10, 18, 20, 10, 10, 14, 18,
- 38, 22, 12, 8, 6, 4, 18, 22, 39, 1,
- 10, 15, 16, 20, 34, 26, 4, 38, 24, 28,
- 7, 8, 4, 6, 30, 51, 24, 40, 34, 46,
- 50, 40, 40, 62, 58, 20, 42, 50, 3, 124,
- 17, 32, 16, 22, 26, 24, 32, 28, 44, 0,
- 12, 14, 24, 124, 29, 74, 80, 70, 64, 62,
- 56, 50, 48, 42, 24, 18, 14, 4, 3, 45,
- 23, 23, 51, 14, 8, 4, 2, 15, 19, 19,
- 9, 31, 25, 35, 53, 37, 73, 25, 32, 26,
- 20, 10, 8, 3, 11, 15, 19, 9, 58, 36,
- 26, 12, 20, 1, 7, 15, 29, 10, 70, 54,
- 44, 40, 32, 10, 2, 5, 15, 11, 88, 60,
- 30, 8, 24, 0, 19, 25, 14, 98, 80, 58,
- 38, 44, 8, 3, 9, 15, 124, 59, 49, 29,
- 43, 41, 29, 29, 21, 23, 25, 19, 13, 31,
- 29, 37, 41, 13, 31, 25, 23, 13, 9, 13,
- 15, 9, 13, 11, 13, 31, 10, 12, 22, 6,
- 1, 12, 8, 6, 6, 4, 2, 3, 1, 7,
- 15, 9, 12, 35, 2, 32, 0, 18, 8, 14,
- 24, 8, 4, 8, 18, 11, 13, 29, 80, 82,
- 84, 70, 62, 74, 68, 68, 66, 56, 64, 58,
- 42, 32, 8, 54, 56, 48, 34, 36, 34, 18,
- 14, 4, 6, 11, 17, 19, 37, 78, 78, 76,
- 68, 50, 56, 50, 32, 32, 22, 14, 5, 9,
- 23, 39, 5, 5, 43, 14, 12, 0, 15, 9,
- 13, 25, 13, 29, 29, 49, 45, 57, 73, 15,
- 35, 45, 27, 15, 4, 13, 20, 38, 7, 7,
- 14, 22, 8, 20, 38, 8, 2, 94, 52, 14,
- 15, 37, 79, 105, 125, 125, 0, 78, 58, 50,
- 30, 42, 20, 10, 6, 15, 25, 15, 4, 9,
- 20, 34, 3, 5, 10, 18, 12, 18, 36, 16,
- 4, 94, 52, 14, 15, 37, 79, 105, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 26 */
-
- 92, 12, 29, 92, 12, 29, 35, 5, 40, 22,
- 2, 6, 16, 74, 116, 32, 13, 9, 4, 12,
- 6, 1, 3, 13, 25, 22, 3, 61, 77, 95,
- 20, 25, 11, 4, 12, 6, 29, 9, 22, 14,
- 3, 19, 31, 2, 29, 37, 63, 12, 11, 23,
- 8, 25, 21, 45, 1, 23, 15, 37, 0, 4,
- 44, 0, 0, 0, 9, 57, 67, 6, 2, 5,
- 54, 2, 39, 0, 4, 9, 50, 44, 0, 8,
- 23, 6, 23, 17, 9, 33, 33, 37, 43, 48,
- 3, 8, 13, 11, 41, 25, 25, 8, 7, 5,
- 21, 30, 9, 2, 19, 35, 11, 21, 11, 0,
- 7, 17, 5, 4, 31, 15, 124, 100, 36, 22,
- 8, 11, 1, 8, 2, 20, 10, 3, 25, 0,
- 13, 17, 13, 16, 18, 22, 10, 10, 14, 18,
- 40, 24, 14, 6, 6, 4, 18, 22, 41, 1,
- 10, 17, 16, 18, 34, 24, 4, 38, 24, 28,
- 9, 8, 2, 4, 30, 51, 24, 38, 32, 42,
- 44, 38, 36, 58, 54, 16, 36, 46, 15, 124,
- 25, 28, 12, 16, 20, 18, 26, 18, 36, 5,
- 8, 6, 20, 124, 31, 70, 76, 66, 60, 58,
- 52, 46, 44, 38, 18, 14, 10, 0, 7, 49,
- 23, 23, 53, 12, 6, 2, 1, 17, 21, 21,
- 11, 33, 27, 37, 53, 39, 71, 21, 34, 28,
- 20, 12, 8, 3, 11, 13, 15, 5, 58, 38,
- 28, 12, 22, 0, 5, 13, 25, 10, 72, 56,
- 46, 40, 34, 12, 2, 3, 15, 11, 88, 60,
- 30, 6, 24, 0, 19, 25, 14, 96, 78, 56,
- 36, 44, 8, 1, 9, 15, 124, 55, 45, 27,
- 39, 39, 27, 27, 19, 21, 21, 17, 9, 29,
- 27, 37, 39, 9, 31, 25, 23, 13, 9, 13,
- 17, 9, 13, 11, 13, 33, 12, 12, 24, 6,
- 1, 12, 8, 6, 6, 4, 2, 3, 1, 7,
- 15, 9, 12, 37, 0, 32, 1, 18, 6, 12,
- 24, 6, 2, 8, 18, 13, 13, 31, 78, 80,
- 82, 66, 58, 70, 64, 62, 60, 50, 58, 52,
- 36, 28, 4, 44, 48, 40, 24, 30, 28, 14,
- 10, 1, 2, 15, 21, 21, 37, 72, 72, 70,
- 64, 44, 50, 44, 26, 28, 16, 10, 11, 13,
- 27, 41, 7, 5, 47, 12, 8, 1, 19, 13,
- 17, 27, 15, 31, 31, 51, 49, 59, 73, 17,
- 39, 49, 25, 15, 6, 11, 22, 40, 7, 5,
- 14, 22, 8, 20, 40, 8, 2, 92, 48, 8,
- 21, 45, 87, 113, 125, 125, 2, 78, 58, 50,
- 30, 42, 20, 10, 6, 13, 25, 15, 6, 9,
- 22, 36, 3, 5, 12, 20, 12, 18, 36, 16,
- 4, 92, 48, 8, 21, 45, 87, 113, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 27 */
-
- 90, 12, 31, 90, 12, 31, 31, 3, 42, 22,
- 2, 2, 12, 72, 116, 32, 11, 9, 6, 12,
- 6, 3, 1, 13, 27, 18, 7, 69, 83, 97,
- 24, 23, 11, 6, 12, 6, 31, 9, 22, 14,
- 3, 19, 31, 2, 29, 35, 61, 12, 9, 21,
- 8, 23, 21, 45, 1, 23, 15, 37, 0, 4,
- 44, 0, 0, 0, 7, 57, 67, 6, 2, 7,
- 54, 2, 39, 4, 6, 7, 52, 50, 4, 10,
- 19, 10, 21, 15, 5, 33, 33, 37, 43, 48,
- 3, 10, 7, 11, 39, 23, 21, 6, 7, 5,
- 21, 32, 9, 2, 17, 35, 11, 19, 9, 2,
- 5, 15, 1, 4, 29, 13, 124, 110, 42, 28,
- 8, 11, 1, 10, 2, 20, 10, 1, 23, 4,
- 11, 21, 17, 22, 18, 22, 10, 10, 16, 20,
- 44, 26, 14, 6, 6, 4, 20, 24, 43, 1,
- 10, 17, 14, 16, 32, 24, 2, 38, 24, 28,
- 13, 8, 0, 2, 28, 51, 24, 38, 32, 38,
- 38, 36, 32, 52, 48, 12, 32, 42, 29, 124,
- 31, 24, 10, 12, 12, 14, 20, 10, 26, 11,
- 4, 0, 16, 124, 35, 66, 72, 62, 54, 52,
- 48, 40, 40, 34, 14, 8, 6, 3, 9, 51,
- 23, 23, 53, 10, 4, 0, 3, 19, 23, 23,
- 15, 35, 27, 39, 55, 39, 71, 19, 36, 28,
- 20, 12, 10, 1, 9, 13, 11, 3, 60, 38,
- 28, 14, 24, 2, 1, 9, 21, 12, 72, 56,
- 46, 42, 36, 12, 2, 3, 13, 11, 90, 60,
- 28, 6, 24, 0, 19, 23, 12, 96, 78, 54,
- 34, 42, 8, 1, 9, 15, 124, 53, 43, 25,
- 37, 35, 25, 23, 15, 19, 19, 13, 5, 29,
- 25, 35, 37, 5, 29, 25, 23, 11, 7, 13,
- 17, 9, 15, 11, 13, 33, 12, 14, 26, 6,
- 1, 14, 10, 6, 8, 6, 2, 5, 1, 7,
- 15, 9, 14, 39, 1, 32, 3, 16, 4, 12,
- 24, 4, 2, 8, 16, 17, 15, 33, 74, 78,
- 80, 64, 54, 66, 60, 58, 56, 46, 52, 48,
- 30, 22, 0, 36, 40, 32, 16, 22, 22, 8,
- 6, 5, 1, 19, 23, 23, 39, 68, 68, 66,
- 58, 38, 46, 40, 20, 22, 12, 4, 17, 17,
- 29, 45, 9, 7, 49, 8, 6, 5, 23, 15,
- 21, 31, 17, 35, 33, 53, 51, 61, 75, 21,
- 41, 51, 25, 13, 6, 11, 24, 42, 7, 5,
- 16, 24, 8, 22, 42, 8, 2, 90, 44, 4,
- 27, 51, 95, 121, 125, 125, 2, 78, 58, 50,
- 30, 44, 22, 10, 6, 13, 23, 13, 6, 7,
- 24, 38, 1, 3, 12, 20, 12, 18, 38, 16,
- 4, 90, 44, 4, 27, 51, 95, 121, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 28 */
-
- 86, 12, 31, 86, 12, 31, 29, 0, 42, 22,
- 0, 0, 8, 70, 116, 30, 7, 9, 6, 14,
- 6, 3, 1, 15, 31, 16, 13, 75, 87, 101,
- 30, 21, 11, 6, 14, 6, 31, 7, 22, 12,
- 3, 19, 29, 2, 29, 35, 61, 12, 9, 21,
- 8, 23, 19, 45, 1, 23, 15, 37, 0, 4,
- 44, 0, 0, 0, 7, 59, 67, 8, 0, 7,
- 52, 0, 39, 10, 8, 5, 56, 54, 6, 14,
- 15, 12, 19, 13, 1, 33, 33, 35, 43, 48,
- 3, 12, 3, 11, 39, 23, 17, 6, 9, 7,
- 23, 32, 9, 4, 17, 33, 9, 19, 7, 2,
- 5, 11, 0, 6, 27, 11, 124, 118, 48, 34,
- 8, 11, 1, 10, 2, 20, 12, 1, 23, 8,
- 11, 25, 21, 26, 18, 22, 10, 10, 16, 20,
- 46, 28, 14, 6, 6, 4, 20, 26, 45, 1,
- 10, 19, 14, 14, 32, 24, 2, 38, 24, 28,
- 15, 8, 1, 0, 28, 51, 22, 36, 30, 34,
- 30, 34, 28, 48, 44, 8, 26, 38, 41, 124,
- 39, 20, 6, 8, 6, 8, 12, 2, 18, 17,
- 0, 7, 12, 124, 39, 62, 68, 56, 50, 48,
- 44, 36, 36, 30, 10, 4, 2, 7, 13, 55,
- 23, 23, 55, 8, 2, 1, 5, 21, 27, 25,
- 19, 37, 29, 41, 57, 41, 69, 15, 38, 30,
- 20, 12, 12, 1, 9, 11, 7, 1, 60, 38,
- 30, 16, 26, 4, 0, 7, 19, 14, 74, 58,
- 48, 42, 38, 14, 2, 3, 13, 11, 90, 60,
- 26, 6, 24, 0, 19, 23, 12, 94, 76, 52,
- 32, 42, 8, 1, 9, 15, 124, 51, 39, 23,
- 33, 33, 23, 19, 11, 17, 15, 9, 1, 27,
- 23, 35, 35, 3, 29, 25, 23, 11, 7, 13,
- 17, 9, 15, 11, 13, 35, 14, 14, 28, 6,
- 1, 14, 10, 6, 8, 6, 2, 5, 1, 7,
- 15, 9, 14, 41, 3, 32, 5, 14, 2, 10,
- 24, 2, 0, 8, 16, 19, 15, 35, 72, 76,
- 78, 60, 50, 62, 56, 54, 50, 40, 46, 42,
- 24, 18, 3, 28, 32, 24, 6, 16, 14, 4,
- 0, 11, 5, 23, 27, 25, 41, 64, 62, 60,
- 54, 32, 40, 34, 14, 18, 6, 0, 23, 21,
- 33, 47, 11, 9, 53, 6, 2, 9, 27, 19,
- 25, 35, 19, 37, 35, 55, 53, 63, 77, 23,
- 43, 53, 25, 13, 8, 9, 26, 44, 7, 3,
- 16, 24, 8, 22, 44, 8, 2, 88, 40, 1,
- 33, 57, 103, 125, 125, 125, 2, 78, 58, 50,
- 30, 44, 22, 10, 6, 11, 23, 13, 8, 7,
- 24, 40, 1, 3, 12, 20, 12, 18, 38, 16,
- 4, 88, 40, 1, 33, 57, 103, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 29 */
-
- 84, 12, 31, 84, 12, 31, 25, 2, 42, 22,
- 0, 1, 4, 68, 116, 30, 3, 9, 6, 16,
- 4, 5, 1, 17, 35, 14, 17, 83, 93, 105,
- 36, 19, 9, 6, 16, 4, 31, 5, 22, 12,
- 3, 17, 27, 2, 29, 35, 61, 12, 9, 21,
- 8, 23, 19, 43, 1, 23, 15, 37, 2, 4,
- 44, 0, 0, 0, 5, 59, 67, 8, 1, 7,
- 50, 0, 39, 14, 10, 3, 60, 58, 10, 16,
- 13, 16, 15, 11, 4, 33, 31, 35, 41, 48,
- 3, 14, 0, 11, 37, 21, 13, 6, 9, 7,
- 23, 32, 9, 4, 15, 31, 7, 17, 5, 4,
- 3, 9, 4, 8, 23, 9, 124, 124, 54, 40,
- 10, 9, 0, 12, 2, 20, 12, 1, 21, 12,
- 11, 29, 25, 32, 18, 24, 10, 10, 16, 22,
- 50, 30, 16, 4, 6, 4, 22, 26, 47, 0,
- 10, 19, 12, 12, 30, 22, 0, 38, 24, 28,
- 17, 10, 3, 0, 26, 51, 22, 34, 28, 30,
- 24, 32, 26, 44, 40, 4, 22, 34, 53, 124,
- 45, 16, 2, 2, 0, 4, 6, 7, 10, 21,
- 3, 13, 8, 124, 41, 58, 64, 52, 46, 44,
- 40, 32, 32, 26, 4, 0, 1, 9, 17, 59,
- 23, 23, 55, 6, 0, 3, 9, 23, 29, 27,
- 21, 39, 29, 43, 57, 43, 67, 13, 40, 30,
- 20, 14, 12, 0, 7, 9, 3, 2, 60, 40,
- 30, 16, 28, 6, 4, 3, 15, 14, 76, 60,
- 50, 44, 40, 14, 4, 1, 11, 11, 92, 60,
- 26, 4, 24, 0, 19, 21, 12, 94, 74, 50,
- 30, 42, 8, 0, 9, 13, 124, 47, 37, 19,
- 29, 29, 21, 17, 9, 15, 11, 7, 2, 25,
- 21, 33, 33, 0, 29, 25, 21, 9, 5, 13,
- 19, 9, 17, 11, 13, 35, 14, 14, 30, 6,
- 1, 14, 10, 6, 8, 6, 2, 7, 1, 7,
- 15, 9, 16, 43, 5, 32, 7, 14, 2, 8,
- 24, 2, 1, 8, 16, 21, 15, 37, 70, 74,
- 76, 56, 46, 58, 52, 48, 46, 34, 40, 36,
- 18, 12, 7, 18, 24, 16, 3, 10, 8, 1,
- 3, 15, 9, 25, 29, 25, 41, 58, 58, 56,
- 50, 26, 34, 30, 8, 14, 2, 3, 29, 25,
- 37, 51, 11, 9, 57, 4, 0, 11, 31, 23,
- 29, 37, 21, 41, 37, 55, 57, 65, 77, 27,
- 47, 57, 23, 13, 10, 9, 28, 46, 5, 1,
- 18, 26, 8, 24, 46, 8, 2, 86, 36, 7,
- 39, 65, 111, 125, 125, 125, 4, 78, 58, 50,
- 30, 46, 22, 12, 8, 11, 23, 13, 8, 7,
- 26, 42, 1, 3, 14, 22, 12, 20, 40, 16,
- 4, 86, 36, 7, 39, 65, 111, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 30 */
-
- 82, 12, 31, 82, 12, 31, 21, 6, 44, 22,
- 1, 5, 0, 66, 116, 30, 0, 9, 8, 18,
- 4, 5, 1, 17, 37, 12, 23, 89, 97, 107,
- 42, 17, 9, 8, 18, 4, 33, 3, 22, 10,
- 3, 17, 27, 2, 29, 35, 61, 12, 9, 19,
- 8, 23, 17, 43, 1, 23, 15, 37, 2, 4,
- 44, 0, 0, 0, 5, 59, 67, 10, 3, 7,
- 48, 1, 39, 20, 12, 1, 62, 62, 12, 20,
- 9, 18, 13, 9, 8, 33, 31, 33, 41, 48,
- 3, 16, 4, 11, 35, 21, 9, 6, 11, 9,
- 25, 32, 9, 6, 15, 29, 5, 17, 3, 4,
- 1, 5, 6, 8, 21, 7, 124, 124, 60, 46,
- 10, 9, 0, 12, 2, 20, 14, 0, 21, 16,
- 11, 33, 29, 38, 18, 24, 10, 10, 16, 22,
- 52, 32, 16, 4, 6, 4, 22, 28, 49, 0,
- 10, 21, 12, 10, 30, 22, 0, 38, 24, 28,
- 19, 10, 5, 1, 26, 51, 22, 34, 28, 26,
- 18, 30, 22, 40, 34, 0, 16, 30, 67, 124,
- 53, 12, 1, 1, 5, 1, 0, 15, 2, 27,
- 7, 21, 4, 124, 45, 54, 60, 48, 40, 38,
- 36, 28, 28, 22, 0, 3, 5, 13, 19, 63,
- 23, 23, 57, 4, 1, 5, 11, 25, 31, 29,
- 25, 41, 31, 45, 59, 43, 67, 9, 42, 32,
- 20, 14, 14, 0, 7, 9, 0, 4, 60, 40,
- 32, 18, 30, 8, 6, 1, 11, 16, 76, 60,
- 50, 44, 42, 16, 4, 1, 11, 11, 92, 60,
- 24, 4, 24, 0, 19, 21, 12, 92, 74, 48,
- 28, 42, 8, 0, 9, 13, 124, 45, 33, 17,
- 27, 27, 19, 13, 5, 13, 9, 3, 6, 25,
- 19, 33, 31, 4, 27, 25, 21, 9, 5, 13,
- 19, 9, 17, 11, 13, 37, 16, 16, 32, 6,
- 1, 16, 10, 6, 8, 6, 2, 7, 1, 7,
- 15, 9, 16, 45, 7, 32, 9, 12, 0, 8,
- 24, 0, 3, 8, 16, 23, 15, 39, 68, 72,
- 74, 54, 42, 54, 48, 44, 40, 30, 34, 30,
- 12, 8, 11, 10, 16, 8, 13, 2, 2, 5,
- 7, 21, 13, 29, 33, 27, 43, 54, 52, 50,
- 44, 20, 30, 24, 2, 8, 3, 9, 35, 29,
- 41, 53, 13, 11, 59, 0, 3, 15, 35, 25,
- 33, 41, 23, 43, 39, 57, 59, 67, 79, 29,
- 49, 59, 23, 11, 10, 7, 30, 48, 5, 1,
- 18, 26, 8, 24, 48, 8, 2, 84, 32, 11,
- 45, 71, 119, 125, 125, 125, 4, 78, 58, 50,
- 30, 46, 24, 12, 8, 9, 23, 13, 10, 5,
- 28, 44, 1, 1, 14, 22, 12, 20, 40, 16,
- 4, 84, 32, 11, 45, 71, 119, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 31 */
-
- 80, 12, 31, 80, 12, 31, 17, 8, 44, 22,
- 1, 7, 3, 64, 116, 30, 4, 9, 8, 20,
- 4, 7, 1, 19, 41, 10, 27, 97, 103, 111,
- 48, 15, 9, 8, 20, 4, 33, 1, 22, 10,
- 3, 17, 25, 2, 29, 35, 61, 12, 9, 19,
- 8, 23, 17, 43, 1, 23, 15, 37, 2, 4,
- 44, 0, 0, 0, 3, 59, 67, 10, 5, 7,
- 46, 1, 39, 24, 14, 0, 66, 66, 16, 22,
- 5, 22, 11, 7, 12, 33, 31, 33, 41, 48,
- 3, 18, 8, 11, 33, 19, 5, 6, 11, 9,
- 25, 32, 9, 6, 13, 27, 3, 15, 1, 6,
- 0, 3, 10, 10, 19, 5, 124, 124, 66, 52,
- 10, 9, 0, 14, 2, 20, 14, 0, 19, 20,
- 11, 37, 33, 44, 18, 24, 10, 10, 16, 24,
- 56, 34, 16, 4, 6, 4, 24, 30, 51, 0,
- 10, 21, 10, 8, 28, 22, 1, 38, 24, 28,
- 21, 10, 7, 3, 24, 51, 22, 32, 26, 22,
- 12, 28, 18, 36, 30, 3, 12, 26, 79, 124,
- 59, 8, 5, 5, 11, 5, 5, 23, 5, 33,
- 11, 27, 0, 124, 49, 50, 56, 44, 36, 34,
- 32, 24, 24, 18, 3, 7, 9, 17, 23, 67,
- 23, 23, 57, 2, 3, 7, 13, 27, 33, 31,
- 29, 43, 31, 47, 61, 45, 65, 7, 44, 32,
- 20, 14, 16, 2, 5, 7, 4, 6, 60, 40,
- 32, 20, 32, 10, 10, 2, 7, 18, 78, 62,
- 52, 46, 44, 16, 4, 1, 9, 11, 94, 60,
- 22, 4, 24, 0, 19, 19, 12, 92, 72, 46,
- 26, 42, 8, 0, 9, 13, 124, 43, 31, 15,
- 23, 23, 17, 9, 1, 11, 5, 0, 10, 23,
- 17, 31, 29, 8, 27, 25, 21, 7, 3, 13,
- 19, 9, 19, 11, 13, 37, 16, 16, 34, 6,
- 1, 16, 10, 6, 8, 6, 2, 9, 1, 7,
- 15, 9, 18, 47, 9, 32, 11, 10, 1, 6,
- 24, 1, 5, 8, 16, 25, 15, 41, 66, 70,
- 72, 50, 38, 50, 44, 40, 36, 24, 28, 24,
- 6, 2, 15, 2, 8, 0, 23, 3, 3, 11,
- 11, 25, 17, 33, 35, 29, 45, 50, 48, 46,
- 40, 14, 24, 20, 3, 4, 7, 13, 41, 33,
- 45, 57, 15, 13, 63, 1, 5, 19, 39, 29,
- 37, 45, 25, 47, 41, 59, 61, 69, 81, 33,
- 51, 61, 23, 11, 12, 7, 32, 50, 5, 0,
- 20, 28, 8, 26, 50, 8, 2, 82, 28, 17,
- 51, 77, 125, 125, 125, 125, 4, 78, 58, 50,
- 30, 48, 24, 12, 8, 9, 23, 13, 10, 5,
- 30, 46, 1, 1, 14, 22, 12, 20, 42, 16,
- 4, 82, 28, 17, 51, 77, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 32 */
-
- 76, 10, 33, 76, 10, 33, 15, 10, 44, 22,
- 3, 11, 9, 62, 116, 28, 6, 11, 8, 20,
- 2, 9, 1, 21, 45, 6, 33, 105, 109, 115,
- 52, 15, 9, 8, 20, 2, 35, 1, 22, 8,
- 3, 17, 25, 0, 31, 35, 61, 10, 9, 19,
- 8, 23, 17, 43, 1, 23, 17, 37, 2, 4,
- 44, 0, 0, 0, 3, 61, 67, 10, 7, 9,
- 44, 3, 41, 28, 16, 2, 68, 70, 18, 24,
- 3, 24, 9, 5, 16, 33, 31, 33, 41, 48,
- 3, 18, 12, 11, 33, 19, 3, 4, 13, 11,
- 27, 32, 9, 6, 13, 27, 3, 15, 1, 6,
- 0, 1, 12, 10, 17, 3, 124, 124, 72, 56,
- 10, 9, 0, 14, 0, 20, 14, 0, 19, 24,
- 11, 41, 37, 48, 18, 24, 10, 10, 16, 24,
- 58, 34, 16, 2, 4, 4, 24, 30, 55, 0,
- 10, 23, 8, 4, 26, 20, 3, 38, 24, 26,
- 25, 10, 9, 5, 22, 51, 20, 30, 24, 16,
- 4, 24, 14, 30, 24, 9, 6, 22, 93, 124,
- 67, 2, 9, 11, 19, 11, 13, 33, 15, 39,
- 15, 35, 3, 124, 53, 44, 50, 38, 30, 28,
- 26, 18, 18, 14, 9, 13, 13, 21, 27, 71,
- 23, 25, 59, 0, 7, 11, 17, 31, 37, 35,
- 33, 45, 33, 49, 63, 47, 65, 5, 44, 32,
- 20, 14, 16, 2, 5, 7, 8, 8, 60, 40,
- 32, 20, 32, 12, 12, 4, 5, 18, 78, 62,
- 52, 46, 46, 16, 4, 1, 9, 13, 94, 58,
- 20, 2, 24, 0, 19, 19, 10, 90, 70, 42,
- 24, 40, 8, 0, 9, 13, 124, 41, 29, 13,
- 21, 21, 15, 7, 0, 9, 3, 2, 14, 23,
- 17, 31, 27, 10, 27, 25, 21, 7, 3, 13,
- 21, 11, 21, 11, 15, 39, 16, 16, 36, 6,
- 3, 16, 10, 4, 8, 6, 2, 11, 1, 7,
- 15, 9, 18, 49, 11, 32, 15, 8, 3, 4,
- 22, 3, 7, 8, 14, 29, 17, 45, 62, 66,
- 70, 46, 34, 44, 38, 34, 30, 18, 22, 18,
- 1, 3, 19, 7, 0, 9, 33, 11, 11, 17,
- 17, 31, 21, 37, 39, 31, 47, 44, 42, 40,
- 34, 8, 18, 14, 11, 1, 13, 19, 47, 37,
- 49, 61, 17, 15, 67, 5, 9, 23, 45, 33,
- 41, 49, 29, 51, 45, 61, 65, 71, 83, 37,
- 55, 65, 23, 11, 12, 7, 34, 52, 5, 0,
- 20, 28, 8, 26, 50, 8, 0, 78, 24, 23,
- 59, 85, 125, 125, 125, 125, 4, 78, 58, 50,
- 30, 48, 24, 12, 8, 9, 23, 13, 10, 5,
- 30, 46, 1, 1, 14, 22, 12, 20, 42, 14,
- 2, 78, 24, 23, 59, 85, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 33 */
-
- 74, 10, 33, 74, 10, 33, 11, 14, 46, 24,
- 3, 13, 13, 60, 118, 28, 10, 11, 10, 22,
- 2, 9, 0, 21, 47, 4, 37, 111, 113, 117,
- 58, 13, 7, 10, 22, 2, 35, 0, 22, 8,
- 1, 15, 23, 0, 31, 33, 59, 10, 7, 17,
- 8, 21, 15, 41, 0, 21, 17, 35, 4, 4,
- 44, 0, 0, 0, 1, 61, 67, 12, 7, 9,
- 44, 3, 41, 34, 20, 6, 72, 76, 22, 28,
- 0, 28, 5, 1, 22, 33, 29, 31, 39, 48,
- 3, 20, 18, 9, 31, 17, 0, 4, 13, 11,
- 27, 34, 9, 8, 11, 25, 1, 13, 0, 8,
- 2, 2, 16, 12, 13, 0, 124, 124, 80, 62,
- 12, 7, 2, 16, 0, 22, 16, 2, 17, 30,
- 9, 45, 39, 54, 18, 26, 10, 12, 18, 26,
- 62, 36, 18, 2, 4, 4, 26, 32, 57, 2,
- 10, 23, 8, 2, 26, 20, 3, 38, 24, 26,
- 27, 12, 9, 5, 22, 51, 20, 30, 24, 12,
- 1, 22, 12, 26, 20, 13, 2, 18, 105, 124,
- 73, 1, 11, 15, 25, 15, 19, 41, 23, 43,
- 19, 41, 7, 124, 55, 40, 46, 34, 26, 24,
- 22, 14, 14, 10, 13, 17, 15, 23, 29, 73,
- 23, 25, 59, 0, 9, 13, 19, 33, 39, 37,
- 35, 47, 33, 51, 63, 47, 63, 1, 46, 34,
- 20, 16, 18, 4, 3, 5, 14, 12, 62, 42,
- 34, 22, 34, 16, 16, 8, 1, 20, 80, 64,
- 54, 48, 48, 18, 6, 0, 7, 13, 96, 58,
- 20, 2, 26, 2, 19, 17, 10, 90, 70, 40,
- 22, 40, 10, 2, 7, 11, 124, 37, 25, 9,
- 17, 17, 11, 3, 4, 5, 0, 6, 20, 21,
- 15, 29, 23, 14, 25, 23, 19, 5, 1, 11,
- 21, 11, 21, 11, 15, 39, 18, 18, 38, 8,
- 3, 18, 12, 4, 10, 8, 2, 11, 0, 5,
- 13, 7, 20, 49, 13, 32, 17, 8, 3, 4,
- 22, 3, 7, 8, 14, 31, 17, 47, 60, 64,
- 70, 44, 32, 40, 34, 30, 26, 14, 18, 14,
- 7, 7, 23, 15, 5, 17, 41, 17, 17, 21,
- 21, 35, 23, 39, 41, 31, 47, 40, 38, 36,
- 30, 4, 14, 10, 17, 5, 17, 23, 51, 39,
- 51, 63, 17, 15, 69, 7, 11, 25, 49, 35,
- 43, 51, 31, 53, 47, 61, 67, 71, 83, 39,
- 57, 67, 21, 9, 14, 5, 38, 56, 3, 2,
- 22, 30, 10, 28, 52, 8, 0, 76, 20, 27,
- 65, 91, 125, 125, 125, 125, 6, 78, 60, 52,
- 32, 50, 26, 14, 10, 7, 21, 11, 12, 3,
- 32, 48, 0, 0, 16, 24, 12, 22, 44, 14,
- 2, 76, 20, 27, 65, 91, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 34 */
-
- 72, 10, 33, 72, 10, 33, 7, 16, 46, 24,
- 3, 15, 17, 58, 118, 28, 14, 11, 10, 24,
- 2, 11, 0, 23, 51, 2, 43, 119, 119, 121,
- 64, 11, 7, 10, 24, 2, 35, 2, 22, 6,
- 1, 15, 21, 0, 31, 33, 59, 10, 7, 17,
- 8, 21, 15, 41, 0, 21, 17, 35, 4, 4,
- 44, 0, 0, 0, 0, 61, 67, 12, 9, 9,
- 42, 3, 41, 38, 22, 8, 76, 80, 24, 30,
- 4, 30, 3, 0, 26, 33, 29, 31, 39, 48,
- 3, 22, 22, 9, 29, 15, 4, 4, 13, 11,
- 29, 34, 9, 8, 9, 23, 0, 11, 2, 8,
- 4, 4, 18, 14, 11, 2, 124, 124, 86, 68,
- 12, 7, 2, 16, 0, 22, 16, 2, 17, 34,
- 9, 49, 43, 60, 18, 26, 10, 12, 18, 26,
- 66, 38, 18, 2, 4, 4, 28, 34, 59, 2,
- 10, 23, 6, 0, 24, 20, 5, 38, 24, 26,
- 29, 12, 11, 7, 20, 51, 20, 28, 22, 8,
- 7, 20, 8, 22, 16, 17, 1, 14, 117, 124,
- 81, 5, 15, 19, 31, 19, 25, 49, 31, 49,
- 23, 47, 11, 124, 59, 36, 42, 30, 22, 20,
- 18, 10, 10, 6, 17, 21, 19, 27, 33, 77,
- 23, 25, 61, 1, 11, 15, 21, 35, 41, 39,
- 39, 49, 33, 53, 65, 49, 61, 0, 48, 34,
- 20, 16, 20, 6, 1, 3, 18, 14, 62, 42,
- 34, 24, 36, 18, 20, 12, 2, 22, 82, 66,
- 56, 50, 50, 18, 6, 0, 5, 13, 98, 58,
- 18, 2, 26, 2, 19, 17, 10, 90, 68, 38,
- 20, 40, 10, 2, 7, 11, 124, 35, 23, 7,
- 13, 13, 9, 0, 8, 3, 4, 10, 24, 19,
- 13, 29, 21, 18, 25, 23, 19, 3, 1, 11,
- 21, 11, 23, 11, 15, 39, 18, 18, 40, 8,
- 3, 18, 12, 4, 10, 8, 2, 13, 0, 5,
- 13, 7, 22, 51, 15, 32, 19, 6, 5, 2,
- 22, 5, 9, 8, 14, 33, 17, 49, 58, 62,
- 68, 40, 28, 36, 30, 26, 22, 8, 12, 8,
- 13, 13, 27, 23, 13, 25, 51, 23, 23, 27,
- 25, 41, 27, 43, 43, 33, 49, 36, 34, 30,
- 26, 1, 8, 4, 23, 9, 23, 27, 57, 43,
- 55, 67, 19, 17, 73, 9, 13, 29, 53, 39,
- 47, 55, 33, 57, 49, 63, 69, 73, 85, 43,
- 59, 69, 21, 9, 16, 5, 40, 58, 3, 4,
- 24, 32, 10, 28, 54, 8, 0, 74, 16, 33,
- 71, 97, 125, 125, 125, 125, 6, 78, 60, 52,
- 32, 52, 26, 14, 10, 7, 21, 11, 12, 3,
- 34, 50, 0, 0, 16, 24, 12, 22, 46, 14,
- 2, 74, 16, 33, 71, 97, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 35 */
-
- 70, 10, 33, 70, 10, 33, 3, 20, 48, 24,
- 5, 19, 21, 56, 118, 28, 18, 11, 12, 26,
- 2, 11, 0, 23, 53, 0, 47, 125, 123, 123,
- 70, 9, 7, 12, 26, 2, 37, 4, 22, 6,
- 1, 15, 21, 0, 31, 33, 59, 10, 7, 15,
- 8, 21, 13, 41, 0, 21, 17, 35, 4, 4,
- 44, 0, 0, 0, 0, 61, 67, 14, 11, 9,
- 40, 5, 41, 44, 24, 10, 78, 84, 28, 34,
- 8, 34, 1, 2, 30, 33, 29, 29, 39, 48,
- 3, 24, 26, 9, 27, 15, 8, 4, 15, 13,
- 29, 34, 9, 10, 9, 21, 2, 11, 4, 10,
- 6, 8, 22, 14, 9, 4, 124, 124, 92, 74,
- 12, 7, 2, 18, 0, 22, 18, 4, 15, 38,
- 9, 53, 47, 66, 18, 26, 10, 12, 18, 28,
- 68, 40, 18, 2, 4, 4, 28, 36, 61, 2,
- 10, 25, 6, 1, 24, 20, 5, 38, 24, 26,
- 31, 12, 13, 9, 20, 51, 20, 28, 22, 4,
- 13, 18, 4, 18, 10, 21, 7, 10, 125, 124,
- 87, 9, 19, 23, 37, 25, 31, 57, 39, 55,
- 27, 55, 15, 124, 63, 32, 38, 26, 16, 14,
- 14, 6, 6, 2, 21, 25, 23, 31, 35, 81,
- 23, 25, 61, 3, 13, 17, 23, 37, 43, 41,
- 43, 51, 35, 55, 67, 49, 61, 4, 50, 36,
- 20, 16, 22, 6, 1, 3, 22, 16, 62, 42,
- 36, 26, 38, 20, 22, 14, 6, 24, 82, 66,
- 56, 50, 52, 20, 6, 0, 5, 13, 98, 58,
- 16, 2, 26, 2, 19, 15, 10, 88, 68, 36,
- 18, 40, 10, 2, 7, 11, 124, 33, 19, 5,
- 11, 11, 7, 4, 12, 1, 6, 14, 28, 19,
- 11, 27, 19, 22, 23, 23, 19, 3, 0, 11,
- 21, 11, 23, 11, 15, 41, 20, 20, 42, 8,
- 3, 20, 12, 4, 10, 8, 2, 13, 0, 5,
- 13, 7, 22, 53, 17, 32, 21, 4, 7, 2,
- 22, 7, 11, 8, 14, 35, 17, 51, 56, 60,
- 66, 38, 24, 32, 26, 22, 16, 4, 6, 2,
- 19, 17, 31, 31, 21, 33, 61, 31, 29, 31,
- 29, 45, 31, 47, 47, 35, 51, 32, 28, 26,
- 20, 7, 4, 0, 29, 15, 27, 33, 63, 47,
- 59, 69, 21, 19, 75, 13, 17, 33, 57, 41,
- 51, 59, 35, 59, 51, 65, 71, 75, 87, 45,
- 61, 71, 21, 7, 16, 3, 42, 60, 3, 4,
- 24, 32, 10, 30, 56, 8, 0, 72, 12, 37,
- 77, 103, 125, 125, 125, 125, 6, 78, 60, 52,
- 32, 52, 28, 14, 10, 5, 21, 11, 14, 1,
- 36, 52, 0, 2, 16, 24, 12, 22, 46, 14,
- 2, 72, 12, 37, 77, 103, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 36 */
-
- 66, 10, 33, 66, 10, 33, 1, 22, 48, 24,
- 5, 21, 25, 54, 118, 26, 22, 11, 12, 28,
- 0, 13, 0, 25, 57, 1, 53, 125, 125, 125,
- 76, 7, 7, 12, 28, 0, 37, 6, 22, 4,
- 1, 13, 19, 0, 31, 33, 59, 10, 7, 15,
- 8, 21, 13, 39, 0, 21, 17, 35, 6, 4,
- 44, 0, 0, 0, 2, 63, 67, 14, 13, 9,
- 38, 5, 41, 48, 26, 12, 82, 88, 30, 36,
- 10, 36, 2, 4, 34, 33, 27, 29, 39, 48,
- 3, 26, 30, 9, 27, 13, 12, 4, 15, 13,
- 31, 34, 9, 10, 7, 19, 4, 9, 6, 10,
- 6, 10, 24, 16, 7, 6, 124, 124, 98, 80,
- 12, 5, 2, 18, 0, 22, 18, 4, 15, 42,
- 9, 57, 51, 70, 18, 28, 10, 12, 18, 28,
- 72, 42, 20, 0, 4, 4, 30, 36, 63, 2,
- 10, 25, 4, 3, 22, 18, 7, 38, 24, 26,
- 33, 12, 15, 11, 18, 51, 18, 26, 20, 0,
- 21, 16, 0, 14, 6, 25, 11, 6, 125, 124,
- 95, 13, 23, 29, 43, 29, 39, 67, 47, 61,
- 31, 61, 19, 124, 65, 28, 34, 20, 12, 10,
- 10, 2, 2, 1, 27, 29, 27, 35, 39, 85,
- 23, 25, 63, 5, 15, 19, 27, 39, 47, 43,
- 45, 53, 35, 57, 67, 51, 59, 6, 52, 36,
- 20, 18, 22, 8, 0, 1, 26, 20, 62, 44,
- 36, 26, 40, 22, 26, 18, 8, 24, 84, 68,
- 58, 52, 54, 20, 6, 2, 3, 13, 100, 58,
- 16, 0, 26, 2, 19, 15, 10, 88, 66, 34,
- 16, 40, 10, 4, 7, 11, 124, 29, 17, 3,
- 7, 7, 5, 6, 14, 0, 10, 16, 32, 17,
- 9, 27, 17, 24, 23, 23, 19, 1, 0, 11,
- 23, 11, 25, 11, 15, 41, 20, 20, 44, 8,
- 3, 20, 12, 4, 10, 8, 2, 15, 0, 5,
- 13, 7, 24, 55, 19, 32, 23, 4, 9, 0,
- 22, 9, 13, 8, 14, 37, 17, 53, 54, 58,
- 64, 34, 20, 28, 22, 16, 12, 1, 0, 3,
- 25, 23, 35, 41, 29, 41, 71, 37, 37, 37,
- 35, 51, 35, 51, 49, 37, 51, 26, 24, 20,
- 16, 13, 1, 5, 35, 19, 33, 37, 69, 51,
- 63, 73, 23, 19, 79, 15, 19, 35, 61, 45,
- 55, 61, 37, 63, 53, 67, 75, 77, 87, 49,
- 65, 75, 19, 7, 18, 3, 44, 62, 3, 6,
- 26, 34, 10, 30, 58, 8, 0, 70, 8, 43,
- 83, 111, 125, 125, 125, 125, 8, 78, 60, 52,
- 32, 54, 28, 14, 10, 5, 21, 11, 14, 1,
- 36, 54, 0, 2, 18, 26, 12, 22, 48, 14,
- 2, 70, 8, 43, 83, 111, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 37 */
-
- 64, 10, 33, 64, 10, 33, 2, 26, 48, 24,
- 7, 23, 29, 52, 118, 26, 26, 11, 12, 30,
- 0, 13, 0, 27, 61, 3, 57, 125, 125, 125,
- 82, 5, 5, 12, 30, 0, 37, 8, 22, 4,
- 1, 13, 17, 0, 31, 33, 59, 10, 7, 15,
- 8, 21, 11, 39, 0, 21, 17, 35, 6, 4,
- 44, 0, 0, 0, 2, 63, 67, 16, 15, 9,
- 36, 7, 41, 54, 28, 14, 86, 92, 34, 40,
- 14, 40, 4, 6, 40, 33, 27, 27, 37, 48,
- 3, 28, 34, 9, 25, 13, 16, 4, 17, 15,
- 31, 34, 9, 12, 7, 17, 6, 9, 8, 12,
- 8, 14, 28, 18, 3, 8, 124, 124, 104, 86,
- 14, 5, 4, 20, 0, 22, 20, 4, 13, 46,
- 9, 61, 55, 76, 18, 28, 10, 12, 18, 30,
- 74, 44, 20, 0, 4, 4, 30, 38, 65, 4,
- 10, 27, 4, 5, 22, 18, 7, 38, 24, 26,
- 35, 14, 17, 11, 18, 51, 18, 24, 18, 3,
- 27, 14, 1, 10, 2, 29, 17, 2, 125, 124,
- 101, 17, 27, 33, 49, 35, 45, 75, 55, 65,
- 35, 69, 23, 124, 69, 24, 30, 16, 8, 6,
- 6, 1, 1, 5, 31, 33, 31, 37, 43, 89,
- 23, 25, 63, 7, 17, 21, 29, 41, 49, 45,
- 49, 55, 37, 59, 69, 53, 57, 10, 54, 38,
- 20, 18, 24, 8, 0, 0, 30, 22, 62, 44,
- 38, 28, 42, 24, 28, 20, 12, 26, 86, 70,
- 60, 52, 56, 22, 8, 2, 3, 13, 100, 58,
- 14, 0, 26, 2, 19, 13, 10, 86, 64, 32,
- 14, 40, 10, 4, 7, 9, 124, 27, 13, 0,
- 3, 5, 3, 10, 18, 2, 14, 20, 36, 15,
- 7, 25, 15, 28, 23, 23, 17, 1, 2, 11,
- 23, 11, 25, 11, 15, 43, 22, 20, 46, 8,
- 3, 20, 12, 4, 10, 8, 2, 15, 0, 5,
- 13, 7, 24, 57, 21, 32, 25, 2, 9, 1,
- 22, 9, 15, 8, 14, 39, 17, 55, 52, 56,
- 62, 30, 16, 24, 18, 12, 6, 7, 5, 9,
- 31, 27, 39, 49, 37, 49, 81, 43, 43, 41,
- 39, 55, 39, 53, 53, 37, 53, 22, 18, 16,
- 12, 19, 7, 9, 41, 23, 37, 41, 75, 55,
- 67, 75, 23, 21, 83, 17, 23, 39, 65, 49,
- 59, 65, 39, 65, 55, 67, 77, 79, 89, 51,
- 67, 77, 19, 7, 20, 1, 46, 64, 1, 8,
- 26, 34, 10, 32, 60, 8, 0, 68, 4, 49,
- 89, 117, 125, 125, 125, 125, 8, 78, 60, 52,
- 32, 54, 28, 16, 12, 3, 21, 11, 16, 1,
- 38, 56, 0, 2, 18, 26, 12, 24, 48, 14,
- 2, 68, 4, 49, 89, 117, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 38 */
-
- 62, 10, 35, 62, 10, 35, 6, 28, 50, 24,
- 7, 27, 33, 50, 118, 26, 28, 11, 14, 30,
- 0, 15, 2, 27, 63, 7, 63, 125, 125, 125,
- 86, 3, 5, 14, 30, 0, 39, 8, 22, 2,
- 1, 13, 17, 0, 31, 31, 57, 10, 5, 13,
- 8, 19, 11, 39, 0, 21, 17, 35, 6, 4,
- 44, 0, 0, 0, 4, 63, 67, 16, 15, 11,
- 36, 7, 41, 58, 30, 16, 88, 98, 36, 42,
- 18, 42, 6, 8, 44, 33, 27, 27, 37, 48,
- 3, 30, 40, 9, 23, 11, 20, 2, 17, 15,
- 33, 36, 9, 12, 5, 17, 6, 7, 10, 12,
- 10, 16, 30, 18, 1, 10, 124, 124, 110, 92,
- 14, 5, 4, 20, 0, 22, 20, 6, 13, 50,
- 7, 65, 59, 82, 18, 28, 10, 12, 20, 30,
- 78, 46, 20, 0, 4, 4, 32, 40, 67, 4,
- 10, 27, 2, 7, 20, 18, 9, 38, 24, 26,
- 39, 14, 19, 13, 16, 51, 18, 24, 18, 7,
- 33, 12, 5, 4, 3, 33, 21, 1, 125, 124,
- 109, 21, 29, 37, 57, 39, 51, 83, 65, 71,
- 39, 75, 27, 124, 73, 20, 26, 12, 2, 0,
- 2, 7, 5, 9, 35, 39, 35, 41, 45, 91,
- 23, 25, 65, 9, 19, 23, 31, 43, 51, 47,
- 53, 57, 37, 61, 71, 53, 57, 12, 56, 38,
- 20, 18, 26, 10, 2, 0, 34, 24, 64, 44,
- 38, 30, 44, 26, 32, 24, 16, 28, 86, 70,
- 60, 54, 58, 22, 8, 2, 1, 13, 102, 58,
- 12, 0, 26, 2, 19, 13, 8, 86, 64, 30,
- 12, 38, 10, 4, 7, 9, 124, 25, 11, 2,
- 1, 1, 1, 14, 22, 4, 16, 24, 40, 15,
- 5, 25, 13, 32, 21, 23, 17, 0, 2, 11,
- 23, 11, 27, 11, 15, 43, 22, 22, 48, 8,
- 3, 22, 14, 4, 12, 10, 2, 17, 0, 5,
- 13, 7, 26, 59, 23, 32, 27, 0, 11, 1,
- 22, 11, 15, 8, 12, 43, 19, 57, 48, 54,
- 60, 28, 12, 20, 14, 8, 2, 11, 11, 13,
- 37, 33, 43, 57, 45, 57, 89, 51, 49, 47,
- 43, 61, 43, 57, 55, 39, 55, 18, 14, 10,
- 6, 25, 11, 15, 47, 29, 43, 47, 81, 59,
- 69, 79, 25, 23, 85, 21, 25, 43, 69, 51,
- 63, 69, 41, 69, 57, 69, 79, 81, 91, 55,
- 69, 79, 19, 5, 20, 1, 48, 66, 1, 8,
- 28, 36, 10, 32, 62, 8, 0, 66, 0, 53,
- 95, 123, 125, 125, 125, 125, 8, 78, 60, 52,
- 32, 56, 30, 16, 12, 3, 19, 9, 16, 0,
- 40, 58, 2, 4, 18, 26, 12, 24, 50, 14,
- 2, 66, 0, 53, 95, 123, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 39 */
-
- 60, 10, 35, 60, 10, 35, 10, 32, 50, 24,
- 9, 29, 37, 48, 118, 26, 32, 11, 14, 32,
- 1, 15, 2, 29, 67, 9, 67, 125, 125, 125,
- 92, 1, 5, 14, 32, 1, 39, 10, 22, 2,
- 1, 11, 15, 0, 31, 31, 57, 10, 5, 13,
- 8, 19, 9, 37, 0, 21, 17, 35, 8, 4,
- 44, 0, 0, 0, 4, 63, 67, 18, 17, 11,
- 34, 9, 41, 64, 32, 18, 92, 102, 40, 46,
- 20, 46, 10, 10, 48, 33, 25, 25, 37, 48,
- 3, 32, 44, 9, 21, 11, 24, 2, 19, 17,
- 33, 36, 9, 14, 5, 15, 8, 7, 12, 14,
- 12, 20, 34, 20, 0, 12, 124, 124, 116, 98,
- 14, 3, 4, 22, 0, 22, 22, 6, 11, 54,
- 7, 69, 63, 88, 18, 30, 10, 12, 20, 32,
- 80, 48, 22, 1, 4, 4, 32, 40, 69, 4,
- 10, 29, 2, 9, 20, 16, 9, 38, 24, 26,
- 41, 14, 21, 15, 16, 51, 18, 22, 16, 11,
- 39, 10, 9, 0, 7, 37, 27, 5, 125, 124,
- 115, 25, 33, 43, 63, 45, 57, 93, 73, 77,
- 43, 83, 31, 124, 75, 16, 22, 8, 1, 3,
- 1, 11, 9, 13, 41, 43, 39, 45, 49, 95,
- 23, 25, 65, 11, 21, 25, 35, 45, 53, 49,
- 55, 59, 39, 63, 71, 55, 55, 16, 58, 40,
- 20, 20, 26, 10, 2, 2, 38, 28, 64, 46,
- 40, 30, 46, 28, 34, 26, 20, 28, 88, 72,
- 62, 54, 60, 24, 8, 4, 1, 13, 102, 58,
- 12, 1, 26, 2, 19, 11, 8, 84, 62, 28,
- 10, 38, 10, 6, 7, 9, 124, 21, 7, 4,
- 2, 0, 0, 16, 24, 6, 20, 26, 44, 13,
- 3, 23, 11, 36, 21, 23, 17, 0, 4, 11,
- 25, 11, 27, 11, 15, 45, 24, 22, 50, 8,
- 3, 22, 14, 4, 12, 10, 2, 17, 0, 5,
- 13, 7, 26, 61, 25, 32, 29, 0, 13, 3,
- 22, 13, 17, 8, 12, 45, 19, 59, 46, 52,
- 58, 24, 8, 16, 10, 2, 3, 17, 17, 19,
- 43, 37, 47, 67, 53, 65, 99, 57, 55, 51,
- 47, 65, 47, 61, 59, 41, 55, 12, 8, 6,
- 2, 31, 17, 19, 53, 33, 47, 51, 87, 63,
- 73, 81, 27, 23, 89, 23, 29, 45, 73, 55,
- 67, 71, 43, 71, 59, 71, 83, 83, 91, 57,
- 73, 83, 17, 5, 22, 0, 50, 68, 1, 10,
- 28, 36, 10, 34, 64, 8, 0, 64, 3, 59,
- 101, 125, 125, 125, 125, 125, 10, 78, 60, 52,
- 32, 56, 30, 16, 12, 1, 19, 9, 18, 0,
- 42, 60, 2, 4, 20, 28, 12, 24, 50, 14,
- 2, 64, 3, 59, 101, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 40 */
-
- 56, 8, 35, 56, 8, 35, 12, 34, 50, 24,
- 9, 33, 43, 46, 118, 24, 36, 13, 14, 34,
- 1, 17, 2, 31, 71, 11, 73, 125, 125, 125,
- 98, 0, 5, 14, 34, 1, 41, 12, 22, 0,
- 1, 11, 15, 1, 33, 31, 57, 10, 5, 13,
- 8, 19, 9, 37, 0, 21, 17, 35, 8, 4,
- 44, 0, 0, 0, 6, 65, 67, 18, 19, 11,
- 32, 9, 43, 68, 34, 20, 94, 106, 42, 48,
- 24, 48, 12, 12, 52, 33, 25, 25, 37, 48,
- 3, 34, 48, 9, 21, 9, 28, 2, 19, 17,
- 35, 36, 9, 14, 3, 13, 10, 5, 12, 14,
- 12, 22, 36, 20, 2, 14, 124, 124, 122, 102,
- 14, 3, 4, 22, 1, 22, 22, 6, 11, 58,
- 7, 73, 67, 92, 18, 30, 10, 12, 20, 32,
- 84, 48, 22, 1, 2, 4, 34, 42, 73, 4,
- 10, 29, 0, 13, 18, 16, 11, 38, 24, 24,
- 43, 14, 23, 17, 14, 51, 16, 20, 14, 15,
- 47, 6, 13, 3, 13, 43, 31, 9, 125, 124,
- 123, 29, 37, 47, 69, 49, 65, 101, 81, 83,
- 47, 89, 35, 124, 79, 12, 16, 2, 7, 9,
- 7, 15, 15, 17, 45, 47, 43, 49, 53, 99,
- 23, 27, 67, 13, 25, 27, 37, 47, 57, 53,
- 59, 61, 39, 65, 73, 57, 55, 18, 60, 40,
- 20, 20, 28, 12, 4, 2, 42, 30, 64, 46,
- 40, 32, 48, 30, 38, 30, 22, 30, 88, 72,
- 62, 56, 62, 24, 8, 4, 0, 15, 104, 58,
- 10, 1, 26, 2, 19, 11, 8, 84, 60, 26,
- 8, 38, 10, 6, 7, 9, 124, 19, 5, 6,
- 4, 4, 2, 20, 28, 8, 22, 30, 48, 13,
- 3, 23, 9, 38, 21, 23, 17, 2, 4, 11,
- 25, 11, 29, 11, 15, 45, 24, 22, 52, 8,
- 5, 22, 14, 2, 12, 10, 2, 19, 0, 5,
- 13, 7, 28, 63, 27, 32, 33, 1, 15, 5,
- 20, 15, 19, 8, 12, 47, 19, 63, 44, 48,
- 56, 20, 4, 12, 6, 1, 7, 23, 23, 25,
- 49, 43, 51, 75, 61, 75, 109, 65, 63, 57,
- 53, 71, 51, 65, 61, 43, 57, 8, 4, 0,
- 3, 37, 23, 25, 59, 39, 53, 57, 93, 67,
- 77, 85, 29, 25, 93, 27, 31, 49, 77, 59,
- 71, 75, 47, 75, 63, 73, 85, 85, 93, 61,
- 75, 85, 17, 5, 22, 0, 52, 70, 1, 10,
- 30, 38, 10, 34, 64, 8, 1, 62, 7, 65,
- 107, 125, 125, 125, 125, 125, 10, 78, 60, 52,
- 32, 58, 30, 16, 12, 1, 19, 9, 18, 0,
- 42, 60, 2, 4, 20, 28, 12, 24, 52, 14,
- 0, 62, 7, 65, 107, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 41 */
-
- 54, 8, 35, 54, 8, 35, 16, 36, 52, 24,
- 9, 35, 47, 44, 120, 24, 40, 13, 16, 36,
- 1, 19, 2, 31, 73, 13, 77, 125, 125, 125,
- 104, 2, 3, 16, 36, 1, 41, 14, 22, 0,
- 0, 11, 13, 1, 33, 31, 57, 10, 5, 11,
- 8, 19, 9, 37, 0, 21, 17, 33, 8, 4,
- 44, 0, 0, 0, 8, 65, 67, 18, 21, 11,
- 30, 9, 43, 72, 38, 22, 98, 110, 46, 50,
- 28, 52, 14, 16, 58, 33, 25, 25, 35, 48,
- 3, 36, 52, 7, 19, 7, 32, 2, 19, 17,
- 35, 36, 9, 14, 1, 11, 12, 3, 14, 16,
- 14, 24, 40, 22, 6, 16, 124, 124, 124, 108,
- 16, 3, 6, 24, 1, 22, 22, 8, 9, 64,
- 7, 77, 69, 98, 18, 30, 10, 12, 20, 34,
- 88, 50, 22, 1, 2, 4, 36, 44, 75, 6,
- 10, 29, 1, 15, 16, 16, 13, 38, 24, 24,
- 45, 16, 25, 17, 12, 51, 16, 20, 14, 19,
- 53, 4, 15, 7, 17, 47, 35, 13, 125, 124,
- 125, 33, 41, 51, 75, 53, 71, 109, 89, 87,
- 51, 95, 39, 124, 83, 8, 12, 1, 11, 13,
- 11, 19, 19, 21, 49, 51, 45, 51, 55, 103,
- 23, 27, 67, 13, 27, 29, 39, 49, 59, 55,
- 63, 63, 39, 67, 75, 57, 53, 20, 62, 40,
- 20, 20, 30, 14, 6, 4, 48, 32, 64, 46,
- 40, 34, 50, 32, 42, 34, 26, 32, 90, 74,
- 64, 58, 64, 24, 10, 4, 2, 15, 106, 58,
- 8, 1, 28, 4, 19, 9, 8, 84, 60, 24,
- 6, 38, 10, 6, 7, 7, 124, 17, 3, 10,
- 8, 8, 4, 24, 32, 10, 26, 34, 52, 11,
- 1, 21, 7, 42, 19, 21, 15, 4, 6, 11,
- 25, 11, 31, 11, 15, 45, 24, 24, 54, 10,
- 5, 24, 14, 2, 12, 10, 2, 21, 0, 3,
- 11, 7, 30, 63, 29, 32, 35, 3, 15, 5,
- 20, 15, 21, 8, 12, 49, 19, 65, 42, 46,
- 56, 18, 0, 8, 2, 5, 11, 27, 29, 31,
- 55, 49, 55, 83, 69, 83, 119, 71, 69, 63,
- 57, 75, 53, 67, 63, 43, 59, 4, 0, 3,
- 7, 41, 27, 29, 65, 43, 57, 61, 97, 71,
- 81, 89, 29, 27, 95, 29, 33, 53, 81, 61,
- 73, 79, 49, 79, 65, 73, 87, 85, 95, 65,
- 77, 87, 17, 3, 24, 0, 54, 74, 0, 12,
- 32, 40, 10, 36, 66, 8, 1, 60, 11, 69,
- 113, 125, 125, 125, 125, 125, 10, 78, 60, 54,
- 34, 60, 32, 18, 14, 1, 19, 9, 18, 2,
- 44, 62, 2, 6, 20, 28, 12, 26, 54, 14,
- 0, 60, 11, 69, 113, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 42 */
-
- 52, 8, 35, 52, 8, 35, 20, 40, 52, 24,
- 11, 37, 51, 42, 120, 24, 44, 13, 16, 38,
- 3, 19, 2, 33, 77, 15, 83, 125, 125, 125,
- 110, 4, 3, 16, 38, 3, 41, 16, 22, 1,
- 0, 9, 11, 1, 33, 31, 57, 10, 5, 11,
- 8, 19, 7, 35, 0, 21, 17, 33, 10, 4,
- 44, 0, 0, 0, 8, 65, 67, 20, 23, 11,
- 28, 11, 43, 78, 40, 24, 102, 114, 48, 54,
- 30, 54, 18, 18, 62, 33, 23, 23, 35, 48,
- 3, 38, 56, 7, 17, 7, 36, 2, 21, 19,
- 37, 36, 9, 16, 1, 9, 14, 3, 16, 16,
- 16, 28, 42, 24, 8, 18, 124, 124, 124, 114,
- 16, 1, 6, 24, 1, 22, 24, 8, 9, 68,
- 7, 81, 73, 104, 18, 32, 10, 12, 20, 34,
- 90, 52, 24, 3, 2, 4, 36, 44, 77, 6,
- 10, 31, 1, 17, 16, 14, 13, 38, 24, 24,
- 47, 16, 27, 19, 12, 51, 16, 18, 12, 23,
- 59, 2, 19, 11, 21, 51, 41, 17, 125, 124,
- 125, 37, 45, 57, 81, 59, 77, 119, 97, 93,
- 55, 103, 43, 124, 85, 4, 8, 5, 15, 17,
- 15, 23, 23, 25, 55, 55, 49, 55, 59, 107,
- 23, 27, 69, 15, 29, 31, 43, 51, 61, 57,
- 65, 65, 41, 69, 75, 59, 51, 24, 64, 42,
- 20, 22, 30, 14, 6, 6, 52, 36, 64, 48,
- 42, 34, 52, 34, 44, 36, 30, 32, 92, 76,
- 66, 58, 66, 26, 10, 6, 2, 15, 106, 58,
- 8, 3, 28, 4, 19, 9, 8, 82, 58, 22,
- 4, 38, 10, 8, 7, 7, 124, 13, 0, 12,
- 12, 10, 6, 26, 34, 12, 30, 36, 56, 9,
- 0, 21, 5, 46, 19, 21, 15, 4, 6, 11,
- 27, 11, 31, 11, 15, 47, 26, 24, 56, 10,
- 5, 24, 14, 2, 12, 10, 2, 21, 0, 3,
- 11, 7, 30, 65, 31, 32, 37, 3, 17, 7,
- 20, 17, 23, 8, 12, 51, 19, 67, 40, 44,
- 54, 14, 3, 4, 1, 11, 17, 33, 35, 37,
- 61, 53, 59, 93, 77, 91, 125, 77, 75, 67,
- 61, 81, 57, 71, 67, 45, 59, 1, 5, 9,
- 11, 47, 33, 35, 71, 47, 63, 65, 103, 75,
- 85, 91, 31, 27, 99, 31, 37, 55, 85, 65,
- 77, 81, 51, 81, 67, 75, 91, 87, 95, 67,
- 81, 91, 15, 3, 26, 2, 56, 76, 0, 14,
- 32, 40, 10, 36, 68, 8, 1, 58, 15, 75,
- 119, 125, 125, 125, 125, 125, 12, 78, 60, 54,
- 34, 60, 32, 18, 14, 0, 19, 9, 20, 2,
- 46, 64, 2, 6, 22, 30, 12, 26, 54, 14,
- 0, 58, 15, 75, 119, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 43 */
-
- 50, 8, 37, 50, 8, 37, 24, 42, 54, 24,
- 11, 41, 55, 40, 120, 24, 46, 13, 18, 38,
- 3, 21, 4, 33, 79, 19, 87, 125, 125, 125,
- 114, 6, 3, 18, 38, 3, 43, 16, 22, 1,
- 0, 9, 11, 1, 33, 29, 55, 10, 3, 9,
- 8, 17, 7, 35, 0, 21, 17, 33, 10, 4,
- 44, 0, 0, 0, 10, 65, 67, 20, 23, 13,
- 28, 11, 43, 82, 42, 26, 104, 120, 52, 56,
- 34, 58, 20, 20, 66, 33, 23, 23, 35, 48,
- 3, 40, 62, 7, 15, 5, 40, 0, 21, 19,
- 37, 38, 9, 16, 0, 9, 14, 1, 18, 18,
- 18, 30, 46, 24, 10, 20, 124, 124, 124, 120,
- 16, 1, 6, 26, 1, 22, 24, 10, 7, 72,
- 5, 85, 77, 110, 18, 32, 10, 12, 22, 36,
- 94, 54, 24, 3, 2, 4, 38, 46, 79, 6,
- 10, 31, 3, 19, 14, 14, 15, 38, 24, 24,
- 51, 16, 29, 21, 10, 51, 16, 18, 12, 27,
- 65, 0, 23, 17, 27, 55, 45, 21, 125, 124,
- 125, 41, 47, 61, 89, 63, 83, 125, 107, 99,
- 59, 109, 47, 124, 89, 0, 4, 9, 21, 23,
- 19, 29, 27, 29, 59, 61, 53, 59, 61, 109,
- 23, 27, 69, 17, 31, 33, 45, 53, 63, 59,
- 69, 67, 41, 71, 77, 59, 51, 26, 66, 42,
- 20, 22, 32, 16, 8, 6, 56, 38, 66, 48,
- 42, 36, 54, 36, 48, 40, 34, 34, 92, 76,
- 66, 60, 68, 26, 10, 6, 4, 15, 108, 58,
- 6, 3, 28, 4, 19, 7, 6, 82, 58, 20,
- 2, 36, 10, 8, 7, 7, 124, 11, 2, 14,
- 14, 14, 8, 30, 38, 14, 32, 40, 60, 9,
- 2, 19, 3, 50, 17, 21, 15, 6, 8, 11,
- 27, 11, 33, 11, 15, 47, 26, 26, 58, 10,
- 5, 26, 16, 2, 14, 12, 2, 23, 0, 3,
- 11, 7, 32, 67, 33, 32, 39, 5, 19, 7,
- 20, 19, 23, 8, 10, 55, 21, 69, 36, 42,
- 52, 12, 7, 0, 5, 15, 21, 37, 41, 41,
- 67, 59, 63, 101, 85, 99, 125, 85, 81, 73,
- 65, 85, 61, 75, 69, 47, 61, 5, 9, 13,
- 17, 53, 37, 39, 77, 53, 67, 71, 109, 79,
- 87, 95, 33, 29, 101, 35, 39, 59, 89, 67,
- 81, 85, 53, 85, 69, 77, 93, 89, 97, 71,
- 83, 93, 15, 1, 26, 2, 58, 78, 0, 14,
- 34, 42, 10, 38, 70, 8, 1, 56, 19, 79,
- 125, 125, 125, 125, 125, 125, 12, 78, 60, 54,
- 34, 62, 34, 18, 14, 0, 17, 7, 20, 4,
- 48, 66, 4, 8, 22, 30, 12, 26, 56, 14,
- 0, 56, 19, 79, 125, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 44 */
-
- 46, 8, 37, 46, 8, 37, 26, 46, 54, 24,
- 13, 43, 59, 38, 120, 22, 50, 13, 18, 40,
- 3, 21, 4, 35, 83, 21, 93, 125, 125, 125,
- 120, 8, 3, 18, 40, 3, 43, 18, 22, 3,
- 0, 9, 9, 1, 33, 29, 55, 10, 3, 9,
- 8, 17, 5, 35, 0, 21, 17, 33, 10, 4,
- 44, 0, 0, 0, 10, 67, 67, 22, 25, 13,
- 26, 13, 43, 88, 44, 28, 108, 124, 54, 60,
- 38, 60, 22, 22, 70, 33, 23, 21, 35, 48,
- 3, 42, 66, 7, 15, 5, 44, 0, 23, 21,
- 39, 38, 9, 18, 0, 7, 16, 1, 20, 18,
- 18, 34, 48, 26, 12, 22, 124, 124, 124, 124,
- 16, 1, 6, 26, 1, 22, 26, 10, 7, 76,
- 5, 89, 81, 114, 18, 32, 10, 12, 22, 36,
- 96, 56, 24, 3, 2, 4, 38, 48, 81, 6,
- 10, 33, 3, 21, 14, 14, 15, 38, 24, 24,
- 53, 16, 31, 23, 10, 51, 14, 16, 10, 31,
- 73, 1, 27, 21, 31, 59, 51, 25, 125, 124,
- 125, 45, 51, 65, 95, 69, 91, 125, 115, 105,
- 63, 117, 51, 124, 93, 3, 0, 15, 25, 27,
- 23, 33, 31, 33, 63, 65, 57, 63, 65, 113,
- 23, 27, 71, 19, 33, 35, 47, 55, 67, 61,
- 73, 69, 43, 73, 79, 61, 49, 30, 68, 44,
- 20, 22, 34, 16, 8, 8, 60, 40, 66, 48,
- 44, 38, 56, 38, 50, 42, 36, 36, 94, 78,
- 68, 60, 70, 28, 10, 6, 4, 15, 108, 58,
- 4, 3, 28, 4, 19, 7, 6, 80, 56, 18,
- 0, 36, 10, 8, 7, 7, 124, 9, 6, 16,
- 18, 16, 10, 34, 42, 16, 36, 44, 64, 7,
- 4, 19, 1, 52, 17, 21, 15, 6, 8, 11,
- 27, 11, 33, 11, 15, 49, 28, 26, 60, 10,
- 5, 26, 16, 2, 14, 12, 2, 23, 0, 3,
- 11, 7, 32, 69, 35, 32, 41, 7, 21, 9,
- 20, 21, 25, 8, 10, 57, 21, 71, 34, 40,
- 50, 8, 11, 3, 9, 19, 27, 43, 47, 47,
- 73, 63, 67, 109, 93, 107, 125, 91, 89, 77,
- 71, 91, 65, 79, 73, 49, 63, 9, 15, 19,
- 21, 59, 43, 45, 83, 57, 73, 75, 115, 83,
- 91, 97, 35, 31, 105, 37, 43, 63, 93, 71,
- 85, 89, 55, 87, 71, 79, 95, 91, 99, 73,
- 85, 95, 15, 1, 28, 4, 60, 80, 0, 16,
- 34, 42, 10, 38, 72, 8, 1, 54, 23, 85,
- 125, 125, 125, 125, 125, 125, 12, 78, 60, 54,
- 34, 62, 34, 18, 14, 2, 17, 7, 22, 4,
- 48, 68, 4, 8, 22, 30, 12, 26, 56, 14,
- 0, 54, 23, 85, 125, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 45 */
-
- 44, 8, 37, 44, 8, 37, 30, 48, 54, 24,
- 13, 45, 63, 36, 120, 22, 54, 13, 18, 42,
- 5, 23, 4, 37, 87, 23, 97, 125, 125, 125,
- 124, 10, 1, 18, 42, 5, 43, 20, 22, 3,
- 0, 7, 7, 1, 33, 29, 55, 10, 3, 9,
- 8, 17, 5, 33, 0, 21, 17, 33, 12, 4,
- 44, 0, 0, 0, 12, 67, 67, 22, 27, 13,
- 24, 13, 43, 92, 46, 30, 112, 124, 58, 62,
- 40, 64, 26, 24, 76, 33, 21, 21, 33, 48,
- 3, 44, 70, 7, 13, 3, 48, 0, 23, 21,
- 39, 38, 9, 18, 2, 5, 18, 0, 22, 20,
- 20, 36, 52, 28, 16, 24, 124, 124, 124, 124,
- 18, 0, 8, 28, 1, 22, 26, 10, 5, 80,
- 5, 93, 85, 120, 18, 34, 10, 12, 22, 38,
- 100, 58, 26, 5, 2, 4, 40, 48, 83, 8,
- 10, 33, 5, 23, 12, 12, 17, 38, 24, 24,
- 55, 18, 33, 23, 8, 51, 14, 14, 8, 35,
- 79, 3, 29, 25, 35, 63, 55, 29, 125, 124,
- 125, 49, 55, 71, 101, 73, 97, 125, 123, 109,
- 67, 123, 55, 124, 95, 7, 3, 19, 29, 31,
- 27, 37, 35, 37, 69, 69, 61, 65, 69, 117,
- 23, 27, 71, 21, 35, 37, 51, 57, 69, 63,
- 75, 71, 43, 75, 79, 63, 47, 32, 70, 44,
- 20, 24, 34, 18, 10, 10, 64, 44, 66, 50,
- 44, 38, 58, 40, 54, 46, 40, 36, 96, 80,
- 70, 62, 72, 28, 12, 8, 6, 15, 110, 58,
- 4, 5, 28, 4, 19, 5, 6, 80, 54, 16,
- 1, 36, 10, 10, 7, 5, 124, 5, 8, 20,
- 22, 20, 12, 36, 44, 18, 40, 46, 68, 5,
- 6, 17, 0, 56, 17, 21, 13, 8, 10, 11,
- 29, 11, 35, 11, 15, 49, 28, 26, 62, 10,
- 5, 26, 16, 2, 14, 12, 2, 25, 0, 3,
- 11, 7, 34, 71, 37, 32, 43, 7, 21, 11,
- 20, 21, 27, 8, 10, 59, 21, 73, 32, 38,
- 48, 4, 15, 7, 13, 25, 31, 49, 53, 53,
- 79, 69, 71, 119, 101, 115, 125, 97, 95, 83,
- 75, 95, 69, 81, 75, 49, 63, 15, 19, 23,
- 25, 65, 49, 49, 89, 61, 77, 79, 121, 87,
- 95, 101, 35, 31, 109, 39, 45, 65, 97, 75,
- 89, 91, 57, 91, 73, 79, 99, 93, 99, 77,
- 89, 99, 13, 1, 30, 4, 62, 82, 2, 18,
- 36, 44, 10, 40, 74, 8, 1, 52, 27, 91,
- 125, 125, 125, 125, 125, 125, 14, 78, 60, 54,
- 34, 64, 34, 20, 16, 2, 17, 7, 22, 4,
- 50, 70, 4, 8, 24, 32, 12, 28, 58, 14,
- 0, 52, 27, 91, 125, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 46 */
-
- 42, 8, 37, 42, 8, 37, 34, 52, 56, 24,
- 15, 49, 67, 34, 120, 22, 58, 13, 20, 44,
- 5, 23, 4, 37, 89, 25, 103, 125, 125, 125,
- 124, 12, 1, 20, 44, 5, 45, 22, 22, 5,
- 0, 7, 7, 1, 33, 29, 55, 10, 3, 7,
- 8, 17, 3, 33, 0, 21, 17, 33, 12, 4,
- 44, 0, 0, 0, 12, 67, 67, 24, 29, 13,
- 22, 15, 43, 98, 48, 32, 114, 124, 60, 66,
- 44, 66, 28, 26, 80, 33, 21, 19, 33, 48,
- 3, 46, 74, 7, 11, 3, 52, 0, 25, 23,
- 41, 38, 9, 20, 2, 3, 20, 0, 24, 20,
- 22, 40, 54, 28, 18, 26, 124, 124, 124, 124,
- 18, 0, 8, 28, 1, 22, 28, 12, 5, 84,
- 5, 97, 89, 124, 18, 34, 10, 12, 22, 38,
- 102, 60, 26, 5, 2, 4, 40, 50, 85, 8,
- 10, 35, 5, 25, 12, 12, 17, 38, 24, 24,
- 57, 18, 35, 25, 8, 51, 14, 14, 8, 39,
- 85, 5, 33, 29, 41, 67, 61, 33, 125, 124,
- 125, 53, 59, 75, 107, 79, 103, 125, 125, 115,
- 71, 125, 59, 124, 99, 11, 7, 23, 35, 37,
- 31, 41, 39, 41, 73, 73, 65, 69, 71, 121,
- 23, 27, 73, 23, 37, 39, 53, 59, 71, 65,
- 79, 73, 45, 77, 81, 63, 47, 36, 72, 46,
- 20, 24, 36, 18, 10, 10, 68, 46, 66, 50,
- 46, 40, 60, 42, 56, 48, 44, 38, 96, 80,
- 70, 62, 74, 30, 12, 8, 6, 15, 110, 58,
- 2, 5, 28, 4, 19, 5, 6, 78, 54, 14,
- 3, 36, 10, 10, 7, 5, 124, 3, 12, 22,
- 24, 22, 14, 40, 48, 20, 42, 50, 72, 5,
- 8, 17, 2, 60, 15, 21, 13, 8, 10, 11,
- 29, 11, 35, 11, 15, 51, 30, 28, 64, 10,
- 5, 28, 16, 2, 14, 12, 2, 25, 0, 3,
- 11, 7, 34, 73, 39, 32, 45, 9, 23, 11,
- 20, 23, 29, 8, 10, 61, 21, 75, 30, 36,
- 46, 2, 19, 11, 17, 29, 37, 53, 59, 59,
- 85, 73, 75, 125, 109, 123, 125, 105, 101, 87,
- 79, 101, 73, 85, 79, 51, 65, 19, 25, 29,
- 31, 71, 53, 55, 95, 67, 83, 85, 125, 91,
- 99, 103, 37, 33, 111, 43, 49, 69, 101, 77,
- 93, 95, 59, 93, 75, 81, 101, 95, 101, 79,
- 91, 101, 13, 0, 30, 6, 64, 84, 2, 18,
- 36, 44, 10, 40, 76, 8, 1, 50, 31, 95,
- 125, 125, 125, 125, 125, 125, 14, 78, 60, 54,
- 34, 64, 36, 20, 16, 4, 17, 7, 24, 6,
- 52, 72, 4, 10, 24, 32, 12, 28, 58, 14,
- 0, 50, 31, 95, 125, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 47 */
-
- 40, 8, 37, 40, 8, 37, 38, 54, 56, 24,
- 15, 51, 71, 32, 120, 22, 62, 13, 20, 46,
- 5, 25, 4, 39, 93, 27, 107, 125, 125, 125,
- 124, 14, 1, 20, 46, 5, 45, 24, 22, 5,
- 0, 7, 5, 1, 33, 29, 55, 10, 3, 7,
- 8, 17, 3, 33, 0, 21, 17, 33, 12, 4,
- 44, 0, 0, 0, 14, 67, 67, 24, 31, 13,
- 20, 15, 43, 102, 50, 34, 118, 124, 64, 68,
- 48, 70, 30, 28, 84, 33, 21, 19, 33, 48,
- 3, 48, 78, 7, 9, 1, 56, 0, 25, 23,
- 41, 38, 9, 20, 4, 1, 22, 2, 26, 22,
- 24, 42, 58, 30, 20, 28, 124, 124, 124, 124,
- 18, 0, 8, 30, 1, 22, 28, 12, 3, 88,
- 5, 101, 93, 124, 18, 34, 10, 12, 22, 40,
- 106, 62, 26, 5, 2, 4, 42, 52, 87, 8,
- 10, 35, 7, 27, 10, 12, 19, 38, 24, 24,
- 59, 18, 37, 27, 6, 51, 14, 12, 6, 43,
- 91, 7, 37, 33, 45, 71, 65, 37, 125, 124,
- 125, 57, 63, 79, 113, 83, 109, 125, 125, 121,
- 75, 125, 63, 124, 103, 15, 11, 27, 39, 41,
- 35, 45, 43, 45, 77, 77, 69, 73, 75, 125,
- 23, 27, 73, 25, 39, 41, 55, 61, 73, 67,
- 83, 75, 45, 79, 83, 65, 45, 38, 74, 46,
- 20, 24, 38, 20, 12, 12, 72, 48, 66, 50,
- 46, 42, 62, 44, 60, 52, 48, 40, 98, 82,
- 72, 64, 76, 30, 12, 8, 8, 15, 112, 58,
- 0, 5, 28, 4, 19, 3, 6, 78, 52, 12,
- 5, 36, 10, 10, 7, 5, 124, 1, 14, 24,
- 28, 26, 16, 44, 52, 22, 46, 54, 76, 3,
- 10, 15, 4, 64, 15, 21, 13, 10, 12, 11,
- 29, 11, 37, 11, 15, 51, 30, 28, 66, 10,
- 5, 28, 16, 2, 14, 12, 2, 27, 0, 3,
- 11, 7, 36, 75, 41, 32, 47, 11, 25, 13,
- 20, 25, 31, 8, 10, 63, 21, 77, 28, 34,
- 44, 1, 23, 15, 21, 33, 41, 59, 65, 65,
- 91, 79, 79, 125, 117, 125, 125, 111, 107, 93,
- 83, 105, 77, 89, 81, 53, 67, 23, 29, 33,
- 35, 77, 59, 59, 101, 71, 87, 89, 125, 95,
- 103, 107, 39, 35, 115, 45, 51, 73, 105, 81,
- 97, 99, 61, 97, 77, 83, 103, 97, 103, 83,
- 93, 103, 13, 0, 32, 6, 66, 86, 2, 20,
- 38, 46, 10, 42, 78, 8, 1, 48, 35, 101,
- 125, 125, 125, 125, 125, 125, 14, 78, 60, 54,
- 34, 66, 36, 20, 16, 4, 17, 7, 24, 6,
- 54, 74, 4, 10, 24, 32, 12, 28, 60, 14,
- 0, 48, 35, 101, 125, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 48 */
-
- 36, 6, 39, 36, 6, 39, 40, 56, 56, 24,
- 17, 55, 77, 30, 120, 20, 64, 15, 20, 46,
- 7, 27, 4, 41, 97, 31, 113, 125, 125, 125,
- 124, 14, 1, 20, 46, 7, 47, 24, 22, 7,
- 0, 7, 5, 3, 35, 29, 55, 8, 3, 7,
- 8, 17, 3, 33, 0, 21, 19, 33, 12, 4,
- 44, 0, 0, 0, 14, 69, 67, 24, 33, 15,
- 18, 17, 45, 106, 52, 36, 120, 124, 66, 70,
- 50, 72, 32, 30, 88, 33, 21, 19, 33, 48,
- 3, 48, 82, 7, 9, 1, 58, 1, 27, 25,
- 43, 38, 9, 20, 4, 1, 22, 2, 26, 22,
- 24, 44, 60, 30, 22, 30, 124, 124, 124, 124,
- 18, 0, 8, 30, 3, 22, 28, 12, 3, 92,
- 5, 105, 97, 124, 18, 34, 10, 12, 22, 40,
- 108, 62, 26, 7, 0, 4, 42, 52, 91, 8,
- 10, 37, 9, 31, 8, 10, 21, 38, 24, 22,
- 63, 18, 39, 29, 4, 51, 12, 10, 4, 49,
- 99, 11, 41, 39, 51, 77, 71, 41, 125, 124,
- 125, 63, 67, 85, 121, 89, 117, 125, 125, 125,
- 79, 125, 67, 124, 107, 21, 17, 33, 45, 47,
- 41, 51, 49, 49, 83, 83, 73, 77, 79, 125,
- 23, 29, 75, 27, 43, 45, 59, 65, 77, 71,
- 87, 77, 47, 81, 85, 67, 45, 40, 74, 46,
- 20, 24, 38, 20, 12, 12, 76, 50, 66, 50,
- 46, 42, 62, 46, 62, 54, 50, 40, 98, 82,
- 72, 64, 78, 30, 12, 8, 8, 17, 112, 56,
- 1, 7, 28, 4, 19, 3, 4, 76, 50, 8,
- 7, 34, 10, 10, 7, 5, 124, 0, 16, 26,
- 30, 28, 18, 46, 54, 24, 48, 56, 80, 3,
- 10, 15, 6, 66, 15, 21, 13, 10, 12, 11,
- 31, 13, 39, 11, 17, 53, 30, 28, 68, 10,
- 7, 28, 16, 0, 14, 12, 2, 29, 0, 3,
- 11, 7, 36, 77, 43, 32, 51, 13, 27, 15,
- 18, 27, 33, 8, 8, 67, 23, 81, 24, 30,
- 42, 5, 27, 21, 27, 39, 47, 65, 71, 71,
- 99, 85, 83, 125, 125, 125, 125, 119, 115, 99,
- 89, 111, 81, 93, 85, 55, 69, 29, 35, 39,
- 41, 83, 65, 65, 109, 77, 93, 95, 125, 99,
- 107, 111, 41, 37, 119, 49, 55, 77, 111, 85,
- 101, 103, 65, 101, 81, 85, 107, 99, 105, 87,
- 97, 107, 13, 0, 32, 6, 68, 88, 2, 20,
- 38, 46, 10, 42, 78, 8, 3, 44, 39, 107,
- 125, 125, 125, 125, 125, 125, 14, 78, 60, 54,
- 34, 66, 36, 20, 16, 4, 17, 7, 24, 6,
- 54, 74, 4, 10, 24, 32, 12, 28, 60, 12,
- 1, 44, 39, 107, 125, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 49 */
-
- 34, 6, 39, 34, 6, 39, 44, 60, 58, 26,
- 17, 57, 81, 28, 122, 20, 68, 15, 22, 48,
- 7, 27, 6, 41, 99, 33, 117, 125, 125, 125,
- 124, 16, 0, 22, 48, 7, 47, 26, 22, 7,
- 2, 5, 3, 3, 35, 27, 53, 8, 1, 5,
- 8, 15, 1, 31, 2, 19, 19, 31, 14, 4,
- 44, 0, 0, 0, 16, 69, 67, 26, 33, 15,
- 18, 17, 45, 112, 56, 40, 124, 124, 70, 74,
- 54, 76, 36, 34, 94, 33, 19, 17, 31, 48,
- 3, 50, 88, 5, 7, 0, 62, 1, 27, 25,
- 43, 40, 9, 22, 6, 0, 24, 4, 28, 24,
- 26, 48, 64, 32, 26, 34, 124, 124, 124, 124,
- 20, 2, 10, 32, 3, 24, 30, 14, 1, 98,
- 3, 109, 99, 124, 18, 36, 10, 14, 24, 42,
- 112, 64, 28, 7, 0, 4, 44, 54, 93, 10,
- 10, 37, 9, 33, 8, 10, 21, 38, 24, 22,
- 65, 20, 39, 29, 4, 51, 12, 10, 4, 53,
- 105, 13, 43, 43, 55, 81, 75, 45, 125, 124,
- 125, 67, 69, 89, 125, 93, 123, 125, 125, 125,
- 83, 125, 71, 124, 109, 25, 21, 37, 49, 51,
- 45, 55, 53, 53, 87, 87, 75, 79, 81, 125,
- 23, 29, 75, 27, 45, 47, 61, 67, 79, 73,
- 89, 79, 47, 83, 85, 67, 43, 44, 76, 48,
- 20, 26, 40, 22, 14, 14, 82, 54, 68, 52,
- 48, 44, 64, 50, 66, 58, 54, 42, 100, 84,
- 74, 66, 80, 32, 14, 10, 10, 17, 114, 56,
- 1, 7, 30, 6, 19, 1, 4, 76, 50, 6,
- 9, 34, 12, 12, 5, 3, 124, 4, 20, 30,
- 34, 32, 22, 50, 58, 28, 52, 60, 86, 1,
- 12, 13, 10, 70, 13, 19, 11, 12, 14, 9,
- 31, 13, 39, 11, 17, 53, 32, 30, 70, 12,
- 7, 30, 18, 0, 16, 14, 2, 29, 2, 1,
- 9, 5, 38, 77, 45, 32, 53, 13, 27, 15,
- 18, 27, 33, 8, 8, 69, 23, 83, 22, 28,
- 42, 7, 29, 25, 31, 43, 51, 69, 75, 75,
- 105, 89, 87, 125, 125, 125, 125, 125, 121, 103,
- 93, 115, 83, 95, 87, 55, 69, 33, 39, 43,
- 45, 87, 69, 69, 115, 81, 97, 99, 125, 101,
- 109, 113, 41, 37, 121, 51, 57, 79, 115, 87,
- 103, 105, 67, 103, 83, 85, 109, 99, 105, 89,
- 99, 109, 11, 2, 34, 8, 72, 92, 4, 22,
- 40, 48, 12, 44, 80, 8, 3, 42, 43, 111,
- 125, 125, 125, 125, 125, 125, 16, 78, 62, 56,
- 36, 68, 38, 22, 18, 6, 15, 5, 26, 8,
- 56, 76, 6, 12, 26, 34, 12, 30, 62, 12,
- 1, 42, 43, 111, 125, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 50 */
-
- 32, 6, 39, 32, 6, 39, 48, 62, 58, 26,
- 17, 59, 85, 26, 122, 20, 72, 15, 22, 50,
- 7, 29, 6, 43, 103, 35, 123, 125, 125, 125,
- 124, 18, 0, 22, 50, 7, 47, 28, 22, 9,
- 2, 5, 1, 3, 35, 27, 53, 8, 1, 5,
- 8, 15, 1, 31, 2, 19, 19, 31, 14, 4,
- 44, 0, 0, 0, 18, 69, 67, 26, 35, 15,
- 16, 17, 45, 116, 58, 42, 124, 124, 72, 76,
- 58, 78, 38, 36, 98, 33, 19, 17, 31, 48,
- 3, 52, 92, 5, 5, 2, 66, 1, 27, 25,
- 45, 40, 9, 22, 8, 2, 26, 6, 30, 24,
- 28, 50, 66, 34, 28, 36, 124, 124, 124, 124,
- 20, 2, 10, 32, 3, 24, 30, 14, 1, 102,
- 3, 113, 103, 124, 18, 36, 10, 14, 24, 42,
- 116, 66, 28, 7, 0, 4, 46, 56, 95, 10,
- 10, 37, 11, 35, 6, 10, 23, 38, 24, 22,
- 67, 20, 41, 31, 2, 51, 12, 8, 2, 57,
- 111, 15, 47, 47, 59, 85, 79, 49, 125, 124,
- 125, 71, 73, 93, 125, 97, 125, 125, 125, 125,
- 87, 125, 75, 124, 113, 29, 25, 41, 53, 55,
- 49, 59, 57, 57, 91, 91, 79, 83, 85, 125,
- 23, 29, 77, 29, 47, 49, 63, 69, 81, 75,
- 93, 81, 47, 85, 87, 69, 41, 46, 78, 48,
- 20, 26, 42, 24, 16, 16, 86, 56, 68, 52,
- 48, 46, 66, 52, 70, 62, 58, 44, 102, 86,
- 76, 68, 82, 32, 14, 10, 12, 17, 116, 56,
- 3, 7, 30, 6, 19, 1, 4, 76, 48, 4,
- 11, 34, 12, 12, 5, 3, 124, 6, 22, 32,
- 38, 36, 24, 54, 62, 30, 56, 64, 90, 0,
- 14, 13, 12, 74, 13, 19, 11, 14, 14, 9,
- 31, 13, 41, 11, 17, 53, 32, 30, 72, 12,
- 7, 30, 18, 0, 16, 14, 2, 31, 2, 1,
- 9, 5, 40, 79, 47, 32, 55, 15, 29, 17,
- 18, 29, 35, 8, 8, 71, 23, 85, 20, 26,
- 40, 11, 33, 29, 35, 47, 55, 75, 81, 81,
- 111, 95, 91, 125, 125, 125, 125, 125, 125, 109,
- 97, 121, 87, 99, 89, 57, 71, 37, 43, 49,
- 49, 93, 75, 75, 121, 85, 103, 103, 125, 105,
- 113, 117, 43, 39, 125, 53, 59, 83, 119, 91,
- 107, 109, 69, 107, 85, 87, 111, 101, 107, 93,
- 101, 111, 11, 2, 36, 8, 74, 94, 4, 24,
- 42, 50, 12, 44, 82, 8, 3, 40, 47, 117,
- 125, 125, 125, 125, 125, 125, 16, 78, 62, 56,
- 36, 70, 38, 22, 18, 6, 15, 5, 26, 8,
- 58, 78, 6, 12, 26, 34, 12, 30, 64, 12,
- 1, 40, 47, 117, 125, 125, 125, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 1, qp = 51 */
-
- 30, 6, 39, 30, 6, 39, 52, 66, 60, 26,
- 19, 63, 89, 24, 122, 20, 76, 15, 24, 52,
- 7, 29, 6, 43, 105, 37, 125, 125, 125, 125,
- 124, 20, 0, 24, 52, 7, 49, 30, 22, 9,
- 2, 5, 1, 3, 35, 27, 53, 8, 1, 3,
- 8, 15, 0, 31, 2, 19, 19, 31, 14, 4,
- 44, 0, 0, 0, 18, 69, 67, 28, 37, 15,
- 14, 19, 45, 122, 60, 44, 124, 124, 76, 80,
- 62, 82, 40, 38, 102, 33, 19, 15, 31, 48,
- 3, 54, 96, 5, 3, 2, 70, 1, 29, 27,
- 45, 40, 9, 24, 8, 4, 28, 6, 32, 26,
- 30, 54, 70, 34, 30, 38, 124, 124, 124, 124,
- 20, 2, 10, 34, 3, 24, 32, 16, 0, 106,
- 3, 117, 107, 124, 18, 36, 10, 14, 24, 44,
- 118, 68, 28, 7, 0, 4, 46, 58, 97, 10,
- 10, 39, 11, 37, 6, 10, 23, 38, 24, 22,
- 69, 20, 43, 33, 2, 51, 12, 8, 2, 61,
- 117, 17, 51, 51, 65, 89, 85, 53, 125, 124,
- 125, 75, 77, 97, 125, 103, 125, 125, 125, 125,
- 91, 125, 79, 124, 117, 33, 29, 45, 59, 61,
- 53, 63, 61, 61, 95, 95, 83, 87, 87, 125,
- 23, 29, 77, 31, 49, 51, 65, 71, 83, 77,
- 97, 83, 49, 87, 89, 69, 41, 50, 80, 50,
- 20, 26, 44, 24, 16, 16, 90, 58, 68, 52,
- 50, 48, 68, 54, 72, 64, 62, 46, 102, 86,
- 76, 68, 84, 34, 14, 10, 12, 17, 116, 56,
- 5, 7, 30, 6, 19, 0, 4, 74, 48, 2,
- 13, 34, 12, 12, 5, 3, 124, 8, 26, 34,
- 40, 38, 26, 58, 66, 32, 58, 68, 94, 0,
- 16, 11, 14, 78, 11, 19, 11, 14, 16, 9,
- 31, 13, 41, 11, 17, 55, 34, 32, 74, 12,
- 7, 32, 18, 0, 16, 14, 2, 31, 2, 1,
- 9, 5, 40, 81, 49, 32, 57, 17, 31, 17,
- 18, 31, 37, 8, 8, 73, 23, 87, 18, 24,
- 38, 13, 37, 33, 39, 51, 61, 79, 87, 87,
- 117, 99, 95, 125, 125, 125, 125, 125, 125, 113,
- 101, 125, 91, 103, 93, 59, 73, 41, 49, 53,
- 55, 99, 79, 79, 125, 91, 107, 109, 125, 109,
- 117, 119, 45, 41, 125, 57, 63, 87, 123, 93,
- 111, 113, 71, 109, 87, 89, 113, 103, 109, 95,
- 103, 113, 11, 4, 36, 10, 76, 96, 4, 24,
- 42, 50, 12, 46, 84, 8, 3, 38, 51, 121,
- 125, 125, 125, 125, 125, 125, 16, 78, 62, 56,
- 36, 70, 40, 22, 18, 8, 15, 5, 28, 10,
- 60, 80, 6, 14, 26, 34, 12, 30, 64, 12,
- 1, 38, 51, 121, 125, 125, 125, 125, 125, 125,
- },
-
- },
+ { 66683, 66710, 66738, 66765 },
- {
+ { 66932, 66958, 66985, 67011 },
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 0 */
-
- 124, 18, 21, 124, 18, 21, 125, 81, 20, 18,
- 24, 94, 124, 124, 24, 2, 71, 94, 43, 77,
- 12, 12, 19, 12, 46, 106, 124, 124, 42, 67,
- 125, 107, 21, 43, 77, 12, 59, 49, 38, 16,
- 51, 79, 105, 12, 10, 41, 65, 0, 43, 85,
- 0, 23, 53, 75, 16, 31, 23, 67, 26, 6,
- 44, 0, 0, 0, 39, 45, 67, 17, 44, 2,
- 58, 49, 125, 125, 55, 63, 41, 45, 51, 55,
- 125, 25, 79, 53, 125, 33, 25, 41, 29, 16,
- 4, 39, 125, 31, 81, 55, 125, 3, 31, 17,
- 57, 14, 9, 15, 69, 45, 49, 37, 17, 7,
- 17, 51, 11, 8, 5, 12, 15, 15, 10, 21,
- 38, 11, 2, 24, 32, 42, 44, 20, 25, 29,
- 39, 22, 7, 53, 7, 17, 23, 33, 39, 1,
- 64, 1, 61, 23, 0, 21, 56, 72, 55, 3,
- 11, 27, 5, 2, 9, 35, 66, 112, 80, 21,
- 5, 121, 52, 124, 124, 125, 48, 42, 58, 68,
- 64, 52, 42, 46, 60, 40, 54, 32, 16, 10,
- 6, 38, 38, 42, 30, 14, 22, 52, 28, 10,
- 30, 36, 11, 60, 0, 124, 124, 124, 106, 124,
- 124, 124, 124, 92, 76, 68, 60, 96, 86, 19,
- 58, 64, 38, 94, 54, 54, 70, 84, 86, 102,
- 94, 42, 59, 14, 12, 50, 125, 103, 37, 2,
- 20, 8, 43, 51, 61, 57, 125, 73, 12, 7,
- 15, 27, 43, 49, 81, 69, 125, 37, 30, 4,
- 5, 13, 23, 31, 39, 57, 89, 31, 11, 23,
- 10, 10, 29, 39, 35, 71, 35, 50, 2, 10,
- 8, 19, 25, 45, 39, 47, 124, 125, 125, 113,
- 125, 101, 107, 109, 107, 99, 109, 113, 121, 61,
- 77, 71, 85, 125, 57, 12, 45, 61, 55, 27,
- 15, 19, 1, 35, 1, 12, 7, 9, 7, 9,
- 27, 1, 9, 29, 16, 8, 3, 18, 38, 6,
- 13, 25, 45, 13, 1, 13, 16, 14, 11, 3,
- 21, 18, 18, 25, 37, 27, 27, 42, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 104, 124, 124, 124, 124, 124, 124, 96,
- 124, 124, 92, 50, 36, 18, 31, 124, 124, 124,
- 124, 96, 96, 76, 82, 94, 90, 70, 44, 70,
- 32, 2, 64, 74, 78, 80, 94, 66, 68, 44,
- 42, 6, 22, 6, 29, 119, 20, 14, 4, 60,
- 26, 4, 29, 21, 17, 17, 23, 15, 0, 13,
- 23, 17, 7, 20, 8, 22, 9, 124, 124, 124,
- 124, 112, 102, 80, 50, 1, 15, 52, 38, 28,
- 14, 8, 0, 7, 9, 31, 29, 21, 17, 17,
- 23, 15, 0, 13, 23, 17, 7, 20, 8, 22,
- 9, 124, 124, 124, 124, 112, 102, 80, 50, 1,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 1 */
-
- 124, 18, 21, 124, 18, 21, 123, 77, 22, 20,
- 24, 92, 124, 124, 26, 4, 67, 92, 41, 73,
- 12, 12, 15, 12, 44, 104, 124, 120, 38, 67,
- 123, 103, 19, 41, 73, 12, 57, 47, 40, 16,
- 49, 77, 101, 10, 8, 41, 65, 0, 41, 83,
- 0, 23, 51, 73, 16, 29, 21, 65, 28, 6,
- 44, 0, 0, 0, 37, 45, 67, 15, 44, 2,
- 58, 47, 123, 121, 51, 61, 37, 41, 49, 51,
- 123, 23, 75, 51, 121, 33, 25, 41, 29, 18,
- 4, 37, 121, 29, 79, 53, 123, 3, 29, 17,
- 55, 16, 9, 13, 67, 43, 47, 35, 15, 5,
- 15, 49, 9, 10, 5, 12, 13, 13, 10, 19,
- 40, 9, 2, 26, 34, 44, 46, 22, 25, 27,
- 37, 22, 7, 51, 7, 15, 21, 31, 35, 2,
- 66, 2, 57, 23, 1, 19, 58, 74, 55, 3,
- 9, 27, 3, 2, 7, 31, 66, 112, 82, 17,
- 7, 117, 50, 124, 124, 123, 48, 42, 58, 68,
- 64, 52, 42, 46, 60, 40, 54, 32, 16, 10,
- 6, 38, 38, 42, 30, 14, 22, 52, 28, 8,
- 30, 36, 11, 58, 0, 124, 124, 124, 104, 124,
- 124, 124, 124, 90, 74, 64, 58, 92, 84, 21,
- 56, 62, 36, 92, 54, 54, 68, 82, 84, 100,
- 92, 40, 59, 14, 12, 48, 123, 99, 33, 4,
- 20, 8, 41, 49, 59, 55, 123, 69, 14, 5,
- 13, 25, 39, 47, 77, 67, 121, 35, 32, 6,
- 3, 11, 21, 29, 37, 55, 85, 29, 7, 21,
- 12, 10, 27, 37, 33, 69, 33, 52, 4, 12,
- 10, 17, 23, 43, 37, 45, 124, 123, 123, 109,
- 123, 97, 103, 105, 103, 95, 105, 109, 115, 59,
- 75, 69, 83, 119, 55, 10, 43, 59, 53, 25,
- 15, 17, 1, 33, 1, 12, 7, 9, 5, 9,
- 27, 1, 9, 27, 16, 8, 3, 18, 38, 6,
- 13, 23, 41, 13, 1, 11, 16, 14, 11, 3,
- 19, 18, 18, 23, 35, 25, 25, 40, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 100, 124, 124, 124, 124, 124, 124, 94,
- 120, 120, 90, 48, 34, 18, 31, 124, 124, 124,
- 120, 92, 94, 74, 78, 92, 86, 68, 40, 66,
- 30, 0, 62, 72, 74, 78, 92, 64, 66, 42,
- 40, 4, 22, 6, 29, 117, 18, 12, 2, 58,
- 24, 2, 27, 19, 15, 15, 19, 13, 2, 11,
- 19, 15, 5, 22, 10, 24, 7, 124, 124, 124,
- 124, 108, 100, 76, 48, 3, 13, 54, 40, 30,
- 16, 10, 2, 5, 7, 29, 27, 19, 15, 15,
- 19, 13, 2, 11, 19, 15, 5, 22, 10, 24,
- 7, 124, 124, 124, 124, 108, 100, 76, 48, 3,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 2 */
-
- 124, 18, 21, 124, 18, 21, 119, 75, 22, 20,
- 24, 88, 120, 124, 28, 4, 63, 88, 41, 71,
- 12, 12, 13, 10, 42, 102, 120, 114, 34, 69,
- 119, 101, 19, 41, 71, 12, 57, 45, 40, 16,
- 47, 75, 99, 8, 6, 41, 65, 0, 41, 81,
- 0, 23, 51, 73, 16, 29, 21, 63, 28, 6,
- 44, 0, 0, 0, 35, 45, 67, 15, 42, 2,
- 58, 45, 121, 117, 49, 59, 33, 37, 47, 49,
- 119, 21, 73, 49, 117, 35, 25, 41, 29, 18,
- 4, 35, 117, 29, 77, 51, 119, 3, 29, 17,
- 55, 16, 9, 13, 65, 43, 45, 35, 15, 5,
- 15, 47, 7, 10, 5, 12, 13, 13, 10, 19,
- 40, 9, 2, 26, 34, 44, 46, 22, 27, 25,
- 35, 20, 7, 51, 7, 13, 21, 31, 33, 4,
- 68, 6, 53, 25, 3, 19, 58, 74, 57, 3,
- 9, 29, 1, 2, 7, 29, 66, 112, 82, 15,
- 9, 115, 48, 124, 124, 121, 48, 42, 58, 66,
- 62, 52, 42, 46, 58, 38, 52, 32, 16, 10,
- 6, 36, 36, 40, 30, 14, 22, 50, 26, 6,
- 28, 34, 11, 56, 1, 124, 124, 124, 100, 120,
- 124, 124, 124, 88, 70, 60, 54, 88, 80, 23,
- 54, 60, 32, 90, 52, 52, 66, 78, 80, 96,
- 88, 36, 59, 12, 10, 44, 121, 97, 31, 6,
- 20, 8, 39, 47, 57, 53, 119, 67, 16, 3,
- 11, 23, 37, 45, 75, 65, 117, 33, 32, 6,
- 3, 11, 19, 27, 35, 53, 83, 29, 5, 19,
- 12, 10, 25, 35, 33, 67, 31, 52, 6, 12,
- 10, 15, 21, 41, 35, 43, 124, 121, 119, 105,
- 119, 95, 101, 101, 99, 93, 101, 105, 111, 57,
- 73, 67, 81, 113, 55, 8, 43, 57, 51, 25,
- 15, 17, 1, 33, 1, 10, 7, 9, 3, 9,
- 27, 1, 9, 27, 16, 8, 3, 16, 36, 6,
- 13, 23, 39, 15, 1, 9, 14, 14, 11, 3,
- 19, 18, 18, 23, 33, 25, 25, 36, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 96, 124, 124, 124, 124, 124, 122, 90,
- 116, 116, 86, 46, 32, 16, 31, 124, 124, 124,
- 116, 88, 90, 70, 74, 88, 82, 64, 36, 62,
- 26, 1, 60, 70, 70, 74, 88, 60, 62, 40,
- 38, 2, 20, 4, 29, 115, 16, 10, 1, 56,
- 22, 0, 27, 19, 13, 13, 17, 11, 4, 11,
- 17, 13, 3, 22, 12, 26, 5, 124, 124, 124,
- 120, 104, 96, 72, 44, 5, 11, 54, 40, 32,
- 18, 12, 2, 3, 7, 27, 27, 19, 13, 13,
- 17, 11, 4, 11, 17, 13, 3, 22, 12, 26,
- 5, 124, 124, 124, 120, 104, 96, 72, 44, 5,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 3 */
-
- 124, 18, 21, 124, 18, 21, 115, 71, 24, 20,
- 22, 84, 118, 122, 28, 4, 59, 86, 41, 67,
- 12, 10, 11, 8, 40, 100, 116, 106, 30, 71,
- 115, 97, 19, 41, 67, 12, 55, 43, 42, 16,
- 45, 73, 97, 6, 4, 41, 67, 0, 41, 79,
- 0, 25, 51, 73, 16, 29, 21, 61, 30, 6,
- 44, 0, 0, 0, 35, 45, 67, 13, 40, 2,
- 56, 45, 119, 113, 47, 57, 31, 35, 45, 47,
- 115, 19, 71, 47, 113, 37, 25, 41, 29, 20,
- 4, 33, 113, 29, 75, 49, 115, 3, 29, 17,
- 55, 18, 9, 11, 63, 43, 43, 35, 15, 5,
- 13, 45, 7, 10, 5, 12, 13, 13, 10, 19,
- 40, 9, 2, 28, 34, 46, 46, 24, 27, 25,
- 33, 20, 7, 51, 7, 11, 21, 29, 31, 6,
- 70, 8, 49, 25, 5, 17, 58, 74, 59, 3,
- 7, 29, 1, 2, 7, 27, 66, 112, 82, 13,
- 11, 111, 46, 124, 124, 117, 48, 42, 56, 64,
- 62, 50, 40, 46, 58, 36, 50, 32, 16, 10,
- 4, 36, 34, 38, 28, 14, 22, 48, 26, 4,
- 28, 32, 11, 54, 1, 124, 124, 122, 98, 116,
- 124, 124, 124, 86, 66, 56, 52, 84, 76, 27,
- 52, 58, 28, 88, 50, 50, 64, 76, 76, 92,
- 84, 34, 59, 10, 8, 42, 117, 93, 27, 6,
- 20, 8, 37, 45, 55, 51, 115, 65, 18, 1,
- 9, 23, 35, 43, 71, 63, 113, 33, 34, 8,
- 1, 9, 17, 27, 35, 51, 81, 29, 1, 17,
- 12, 10, 23, 35, 33, 65, 29, 54, 8, 14,
- 10, 13, 21, 39, 35, 43, 124, 117, 117, 103,
- 115, 93, 97, 99, 97, 89, 97, 101, 107, 57,
- 71, 67, 79, 107, 55, 6, 43, 55, 49, 25,
- 15, 17, 1, 31, 1, 8, 7, 9, 3, 9,
- 27, 1, 9, 27, 14, 8, 3, 14, 34, 6,
- 13, 23, 37, 17, 1, 7, 12, 14, 11, 3,
- 17, 18, 16, 21, 31, 25, 25, 34, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 92, 124, 124, 124, 124, 124, 118, 86,
- 112, 110, 82, 44, 30, 14, 31, 124, 124, 124,
- 112, 84, 86, 68, 70, 84, 78, 60, 32, 58,
- 22, 3, 58, 68, 66, 72, 84, 58, 58, 36,
- 34, 0, 18, 2, 29, 113, 14, 6, 3, 54,
- 20, 1, 27, 17, 13, 13, 15, 9, 6, 11,
- 15, 11, 1, 24, 14, 26, 3, 124, 124, 124,
- 116, 100, 92, 68, 40, 7, 11, 56, 42, 34,
- 18, 14, 4, 3, 5, 27, 27, 17, 13, 13,
- 15, 9, 6, 11, 15, 11, 1, 24, 14, 26,
- 3, 124, 124, 124, 116, 100, 92, 68, 40, 7,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 4 */
-
- 124, 18, 21, 124, 18, 21, 113, 69, 24, 20,
- 22, 80, 114, 120, 30, 4, 57, 82, 41, 65,
- 10, 10, 9, 6, 36, 96, 112, 100, 24, 73,
- 111, 95, 19, 41, 65, 10, 55, 41, 42, 14,
- 45, 71, 93, 4, 0, 43, 67, 0, 39, 77,
- 1, 25, 51, 73, 16, 29, 21, 61, 30, 6,
- 44, 0, 0, 0, 33, 47, 67, 13, 38, 2,
- 56, 43, 117, 109, 45, 55, 27, 31, 45, 45,
- 111, 17, 69, 45, 107, 37, 27, 41, 31, 20,
- 2, 31, 107, 27, 75, 49, 111, 3, 29, 17,
- 55, 18, 9, 11, 61, 43, 43, 33, 15, 5,
- 13, 43, 5, 10, 7, 10, 13, 13, 10, 19,
- 40, 9, 2, 28, 34, 46, 46, 24, 29, 23,
- 33, 18, 7, 49, 7, 9, 19, 29, 27, 10,
- 72, 12, 45, 27, 7, 17, 60, 74, 61, 3,
- 7, 31, 0, 2, 7, 25, 66, 112, 82, 9,
- 13, 109, 44, 124, 124, 115, 46, 42, 56, 64,
- 60, 50, 40, 46, 56, 34, 48, 30, 16, 10,
- 4, 34, 34, 36, 28, 12, 20, 46, 24, 2,
- 26, 30, 11, 50, 3, 124, 124, 118, 94, 114,
- 124, 124, 124, 84, 62, 50, 48, 80, 72, 29,
- 48, 56, 26, 86, 48, 48, 60, 72, 72, 88,
- 82, 30, 59, 8, 6, 38, 115, 91, 25, 8,
- 20, 8, 35, 43, 53, 51, 111, 61, 20, 1,
- 9, 21, 31, 41, 69, 61, 107, 31, 34, 8,
- 1, 9, 15, 25, 33, 51, 79, 29, 0, 15,
- 12, 10, 21, 33, 33, 63, 27, 54, 10, 14,
- 10, 11, 19, 37, 33, 41, 124, 115, 113, 99,
- 113, 91, 95, 95, 93, 87, 95, 97, 101, 55,
- 69, 65, 77, 101, 53, 4, 41, 53, 49, 25,
- 15, 17, 3, 31, 3, 6, 7, 9, 1, 9,
- 27, 1, 9, 25, 14, 6, 3, 12, 32, 4,
- 13, 23, 35, 19, 3, 7, 12, 12, 11, 3,
- 17, 16, 16, 21, 31, 25, 25, 30, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 88, 124, 124, 124, 124, 124, 114, 82,
- 108, 106, 78, 40, 28, 12, 31, 124, 124, 124,
- 108, 80, 82, 64, 66, 80, 74, 56, 28, 52,
- 20, 7, 56, 66, 60, 68, 82, 54, 54, 34,
- 32, 1, 16, 0, 29, 111, 10, 4, 7, 50,
- 18, 3, 27, 17, 11, 11, 13, 9, 6, 9,
- 13, 9, 0, 24, 16, 28, 3, 124, 124, 120,
- 112, 96, 88, 62, 36, 11, 9, 56, 42, 34,
- 20, 14, 4, 1, 5, 25, 27, 17, 11, 11,
- 13, 9, 6, 9, 13, 9, 0, 24, 16, 28,
- 3, 124, 124, 120, 112, 96, 88, 62, 36, 11,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 5 */
-
- 124, 18, 21, 124, 18, 21, 109, 65, 24, 20,
- 20, 76, 112, 118, 32, 4, 53, 78, 39, 61,
- 10, 10, 7, 4, 34, 94, 108, 94, 20, 73,
- 107, 93, 19, 39, 61, 10, 55, 39, 42, 14,
- 43, 69, 91, 2, 1, 43, 67, 0, 39, 75,
- 1, 25, 51, 73, 16, 27, 21, 59, 32, 6,
- 44, 0, 0, 0, 33, 47, 67, 11, 36, 2,
- 54, 43, 113, 103, 43, 53, 25, 29, 43, 43,
- 107, 15, 67, 43, 103, 39, 27, 41, 31, 20,
- 2, 29, 103, 27, 73, 47, 107, 3, 29, 17,
- 53, 18, 9, 9, 59, 41, 41, 33, 15, 3,
- 11, 41, 5, 10, 7, 10, 11, 13, 10, 19,
- 42, 9, 2, 30, 36, 46, 46, 24, 29, 23,
- 31, 18, 7, 49, 7, 7, 19, 27, 25, 12,
- 74, 14, 41, 27, 9, 15, 60, 74, 63, 3,
- 5, 31, 2, 2, 7, 21, 66, 112, 82, 7,
- 15, 105, 42, 124, 124, 113, 46, 42, 54, 62,
- 60, 50, 38, 46, 56, 32, 46, 30, 16, 10,
- 4, 34, 32, 34, 26, 12, 20, 44, 24, 0,
- 24, 30, 11, 48, 3, 124, 124, 116, 92, 110,
- 124, 124, 124, 82, 58, 46, 46, 76, 68, 31,
- 46, 54, 22, 84, 46, 46, 58, 70, 68, 84,
- 78, 28, 59, 6, 4, 34, 111, 87, 23, 8,
- 20, 8, 33, 41, 51, 49, 107, 59, 22, 0,
- 7, 19, 29, 39, 65, 59, 103, 29, 36, 10,
- 0, 7, 13, 23, 33, 49, 77, 27, 2, 13,
- 12, 10, 19, 33, 31, 61, 25, 54, 12, 14,
- 10, 9, 17, 35, 33, 39, 124, 113, 111, 97,
- 109, 89, 91, 93, 89, 83, 91, 93, 97, 53,
- 67, 63, 75, 95, 53, 2, 41, 51, 47, 25,
- 15, 17, 3, 29, 3, 4, 7, 9, 0, 9,
- 27, 1, 9, 25, 12, 6, 3, 10, 30, 4,
- 13, 23, 33, 19, 3, 5, 10, 12, 11, 3,
- 17, 16, 14, 21, 29, 25, 25, 28, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 84, 124, 124, 124, 124, 124, 110, 80,
- 104, 100, 74, 38, 26, 10, 31, 124, 124, 124,
- 104, 76, 78, 62, 62, 76, 70, 52, 24, 48,
- 16, 9, 54, 64, 56, 66, 78, 52, 50, 32,
- 30, 3, 14, 1, 29, 109, 8, 2, 9, 48,
- 16, 5, 27, 15, 11, 9, 11, 7, 8, 9,
- 11, 7, 2, 26, 18, 28, 1, 124, 124, 116,
- 108, 92, 84, 58, 32, 13, 9, 58, 44, 36,
- 22, 16, 6, 1, 5, 23, 27, 15, 11, 9,
- 11, 7, 8, 9, 11, 7, 2, 26, 18, 28,
- 1, 124, 124, 116, 108, 92, 84, 58, 32, 13,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 6 */
-
- 124, 18, 23, 124, 18, 23, 105, 63, 26, 20,
- 20, 74, 108, 116, 32, 6, 49, 76, 39, 59,
- 10, 8, 5, 2, 32, 92, 106, 86, 16, 75,
- 103, 89, 19, 39, 59, 10, 53, 37, 44, 14,
- 41, 67, 89, 1, 3, 43, 69, 0, 39, 75,
- 1, 27, 49, 73, 14, 27, 21, 57, 32, 6,
- 44, 0, 0, 0, 31, 47, 67, 11, 36, 0,
- 54, 41, 111, 99, 41, 51, 21, 25, 41, 41,
- 103, 13, 65, 43, 99, 41, 27, 41, 31, 22,
- 2, 27, 99, 27, 71, 45, 103, 3, 29, 17,
- 53, 20, 11, 9, 59, 41, 39, 33, 13, 3,
- 11, 39, 3, 10, 7, 10, 11, 13, 10, 19,
- 42, 9, 2, 30, 36, 48, 48, 26, 31, 21,
- 29, 16, 7, 49, 7, 5, 19, 27, 23, 14,
- 74, 18, 39, 29, 11, 15, 60, 74, 63, 5,
- 5, 33, 2, 0, 5, 19, 66, 112, 84, 5,
- 17, 103, 40, 124, 124, 109, 46, 42, 54, 60,
- 58, 48, 38, 44, 54, 32, 46, 30, 14, 10,
- 2, 32, 30, 32, 26, 12, 20, 44, 22, 3,
- 24, 28, 11, 46, 5, 124, 124, 112, 88, 106,
- 124, 124, 124, 78, 54, 42, 42, 72, 64, 35,
- 44, 50, 18, 80, 44, 44, 56, 66, 64, 80,
- 74, 24, 59, 4, 2, 32, 109, 85, 19, 10,
- 20, 8, 31, 41, 51, 47, 105, 57, 24, 2,
- 5, 19, 27, 37, 63, 57, 99, 29, 36, 10,
- 0, 7, 11, 23, 31, 47, 75, 27, 6, 11,
- 12, 10, 19, 31, 31, 61, 25, 56, 12, 16,
- 10, 7, 17, 35, 31, 39, 124, 109, 107, 93,
- 105, 85, 89, 89, 87, 81, 87, 89, 93, 53,
- 65, 63, 75, 89, 53, 0, 41, 51, 45, 25,
- 15, 17, 3, 29, 3, 2, 7, 9, 0, 9,
- 27, 1, 9, 25, 12, 6, 3, 8, 28, 4,
- 13, 23, 31, 21, 3, 3, 8, 12, 11, 3,
- 15, 16, 14, 19, 27, 25, 25, 24, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 80, 124, 124, 124, 124, 124, 104, 76,
- 100, 96, 70, 36, 24, 8, 31, 124, 124, 124,
- 100, 72, 76, 58, 58, 72, 64, 48, 20, 44,
- 12, 11, 52, 60, 52, 62, 74, 48, 46, 28,
- 26, 5, 12, 3, 31, 107, 6, 1, 13, 46,
- 12, 7, 25, 15, 9, 9, 9, 5, 10, 9,
- 9, 5, 4, 26, 20, 30, 0, 124, 124, 112,
- 104, 88, 80, 54, 28, 15, 7, 58, 44, 38,
- 22, 18, 6, 0, 3, 23, 25, 15, 9, 9,
- 9, 5, 10, 9, 9, 5, 4, 26, 20, 30,
- 0, 124, 124, 112, 104, 88, 80, 54, 28, 15,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 7 */
-
- 124, 18, 23, 124, 18, 23, 101, 59, 26, 20,
- 18, 70, 106, 114, 34, 6, 47, 72, 39, 55,
- 8, 8, 3, 0, 30, 90, 102, 80, 10, 77,
- 99, 87, 19, 39, 55, 8, 53, 35, 44, 14,
- 41, 65, 85, 3, 5, 43, 69, 0, 37, 73,
- 3, 27, 49, 73, 14, 27, 21, 55, 34, 6,
- 44, 0, 0, 0, 31, 47, 67, 9, 34, 0,
- 52, 41, 109, 95, 39, 49, 19, 23, 39, 39,
- 99, 11, 63, 41, 93, 41, 29, 41, 33, 22,
- 2, 25, 93, 25, 71, 45, 99, 3, 29, 17,
- 53, 20, 11, 7, 57, 41, 37, 31, 13, 3,
- 9, 37, 3, 10, 9, 10, 11, 13, 10, 19,
- 42, 9, 2, 32, 36, 48, 48, 26, 31, 21,
- 29, 16, 7, 47, 7, 3, 17, 25, 19, 18,
- 76, 20, 35, 29, 13, 13, 62, 74, 65, 5,
- 3, 33, 4, 0, 5, 17, 66, 112, 84, 1,
- 19, 99, 38, 124, 124, 107, 46, 42, 52, 60,
- 58, 48, 36, 44, 54, 30, 44, 30, 14, 10,
- 2, 32, 30, 30, 24, 12, 20, 42, 22, 5,
- 22, 26, 11, 44, 5, 124, 124, 108, 86, 104,
- 124, 124, 124, 76, 50, 38, 40, 68, 60, 37,
- 42, 48, 16, 78, 42, 42, 52, 64, 60, 76,
- 72, 22, 59, 2, 0, 28, 105, 81, 17, 10,
- 20, 8, 29, 39, 49, 47, 101, 53, 26, 4,
- 5, 17, 23, 35, 59, 55, 93, 27, 38, 12,
- 2, 5, 9, 21, 31, 45, 73, 27, 8, 9,
- 12, 10, 17, 31, 31, 59, 23, 56, 14, 16,
- 10, 5, 15, 33, 31, 37, 124, 107, 105, 91,
- 103, 83, 85, 87, 83, 77, 83, 85, 87, 51,
- 63, 61, 73, 83, 51, 1, 39, 49, 43, 25,
- 15, 17, 3, 27, 5, 0, 7, 9, 2, 9,
- 27, 1, 9, 23, 10, 4, 3, 6, 26, 2,
- 13, 23, 29, 23, 5, 1, 8, 10, 11, 3,
- 15, 14, 12, 19, 27, 25, 25, 22, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 76, 124, 124, 124, 124, 124, 100, 72,
- 96, 90, 66, 34, 22, 6, 31, 124, 122, 124,
- 96, 68, 72, 56, 54, 68, 60, 44, 16, 40,
- 10, 15, 50, 58, 48, 60, 72, 46, 42, 26,
- 24, 7, 10, 5, 31, 105, 2, 3, 15, 42,
- 10, 9, 25, 13, 9, 7, 7, 3, 10, 7,
- 7, 3, 6, 28, 22, 30, 0, 124, 120, 108,
- 100, 84, 76, 48, 24, 17, 7, 60, 46, 38,
- 24, 20, 8, 0, 3, 21, 25, 13, 9, 7,
- 7, 3, 10, 7, 7, 3, 6, 28, 22, 30,
- 0, 124, 120, 108, 100, 84, 76, 48, 24, 17,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 8 */
-
- 124, 16, 23, 124, 16, 23, 99, 57, 26, 20,
- 18, 66, 102, 112, 34, 6, 43, 68, 39, 53,
- 8, 6, 1, 1, 26, 86, 98, 72, 6, 79,
- 95, 85, 19, 39, 53, 8, 53, 35, 44, 12,
- 39, 63, 83, 5, 9, 45, 71, 0, 37, 71,
- 3, 29, 49, 73, 14, 27, 21, 55, 34, 6,
- 44, 0, 0, 0, 29, 49, 67, 9, 32, 0,
- 52, 39, 107, 91, 37, 49, 15, 19, 39, 37,
- 95, 11, 61, 39, 89, 43, 29, 43, 33, 22,
- 0, 25, 89, 25, 69, 43, 97, 3, 29, 17,
- 53, 20, 11, 7, 55, 41, 37, 31, 13, 3,
- 9, 35, 1, 10, 9, 8, 11, 13, 8, 19,
- 42, 9, 2, 32, 36, 48, 48, 26, 33, 19,
- 27, 14, 7, 47, 7, 1, 17, 25, 17, 20,
- 78, 24, 31, 31, 15, 13, 62, 74, 67, 5,
- 3, 35, 4, 0, 5, 15, 66, 112, 84, 0,
- 21, 97, 36, 118, 124, 105, 44, 42, 52, 58,
- 56, 46, 36, 44, 52, 28, 42, 28, 14, 8,
- 0, 30, 28, 28, 24, 10, 18, 40, 20, 7,
- 20, 24, 11, 40, 7, 124, 124, 104, 82, 100,
- 120, 124, 124, 74, 46, 32, 36, 62, 56, 41,
- 38, 46, 12, 76, 40, 40, 50, 60, 56, 72,
- 68, 18, 59, 0, 1, 24, 103, 79, 15, 12,
- 20, 8, 29, 37, 47, 45, 97, 51, 26, 4,
- 3, 17, 21, 33, 57, 53, 89, 27, 38, 12,
- 2, 5, 9, 21, 29, 45, 71, 27, 10, 7,
- 12, 10, 15, 29, 31, 57, 21, 56, 16, 16,
- 10, 3, 15, 31, 29, 37, 124, 105, 101, 87,
- 99, 81, 83, 83, 81, 75, 81, 81, 83, 51,
- 61, 61, 71, 77, 51, 3, 39, 47, 43, 25,
- 15, 17, 5, 27, 5, 1, 7, 9, 2, 9,
- 27, 3, 9, 23, 10, 4, 5, 4, 24, 2,
- 15, 23, 27, 25, 5, 1, 6, 10, 11, 5,
- 15, 14, 12, 19, 25, 25, 25, 18, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 122, 72, 124, 124, 124, 124, 122, 96, 68,
- 90, 86, 62, 30, 18, 4, 31, 122, 118, 124,
- 92, 62, 68, 52, 48, 64, 56, 40, 12, 34,
- 6, 17, 46, 56, 42, 56, 68, 42, 38, 22,
- 20, 9, 8, 7, 31, 103, 0, 7, 19, 40,
- 8, 11, 25, 13, 7, 7, 5, 3, 12, 7,
- 5, 3, 8, 28, 22, 32, 2, 122, 116, 104,
- 96, 80, 72, 44, 20, 21, 5, 60, 46, 40,
- 24, 20, 8, 2, 3, 21, 25, 13, 7, 7,
- 5, 3, 12, 7, 5, 3, 8, 28, 22, 32,
- 2, 122, 116, 104, 96, 80, 72, 44, 20, 21,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 9 */
-
- 124, 16, 23, 124, 16, 23, 95, 55, 28, 20,
- 18, 62, 98, 112, 36, 6, 39, 66, 37, 49,
- 8, 6, 0, 1, 24, 84, 94, 66, 2, 79,
- 91, 81, 17, 37, 49, 8, 51, 33, 46, 12,
- 37, 61, 81, 7, 11, 45, 71, 0, 37, 69,
- 3, 29, 49, 73, 14, 25, 19, 53, 34, 6,
- 44, 0, 0, 0, 27, 49, 67, 9, 30, 0,
- 52, 37, 103, 85, 35, 47, 11, 15, 37, 35,
- 91, 9, 57, 37, 85, 45, 29, 43, 33, 24,
- 0, 23, 85, 25, 67, 41, 93, 3, 27, 17,
- 51, 22, 11, 5, 53, 39, 35, 31, 13, 1,
- 7, 33, 0, 10, 9, 8, 9, 11, 8, 19,
- 44, 9, 2, 32, 38, 50, 48, 28, 33, 17,
- 25, 12, 7, 47, 7, 0, 17, 23, 15, 22,
- 80, 28, 27, 33, 17, 11, 62, 76, 69, 5,
- 3, 35, 6, 0, 5, 11, 66, 112, 84, 2,
- 23, 95, 34, 114, 124, 101, 44, 42, 52, 56,
- 56, 46, 36, 44, 52, 26, 40, 28, 14, 8,
- 0, 30, 26, 28, 24, 10, 18, 38, 18, 9,
- 20, 24, 11, 38, 7, 124, 124, 102, 80, 96,
- 116, 124, 124, 72, 42, 28, 34, 58, 54, 43,
- 36, 44, 8, 74, 38, 38, 48, 56, 54, 68,
- 64, 16, 59, 0, 3, 22, 99, 75, 11, 14,
- 20, 8, 27, 35, 45, 43, 93, 49, 28, 6,
- 1, 15, 19, 31, 55, 51, 85, 25, 40, 14,
- 4, 5, 7, 19, 27, 43, 67, 25, 14, 5,
- 14, 10, 13, 27, 29, 55, 19, 58, 18, 18,
- 12, 1, 13, 29, 27, 35, 124, 101, 97, 83,
- 95, 79, 81, 79, 77, 71, 77, 77, 79, 49,
- 59, 59, 69, 69, 51, 5, 39, 45, 41, 23,
- 15, 17, 5, 27, 5, 3, 7, 9, 4, 9,
- 27, 3, 9, 23, 10, 4, 5, 4, 22, 2,
- 15, 21, 23, 25, 5, 0, 4, 10, 11, 5,
- 13, 14, 12, 17, 23, 23, 23, 14, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 116, 68, 124, 124, 124, 124, 116, 92, 66,
- 86, 82, 60, 28, 16, 2, 31, 118, 114, 120,
- 88, 58, 64, 50, 44, 60, 52, 36, 8, 30,
- 2, 19, 44, 54, 38, 54, 64, 40, 34, 20,
- 18, 11, 6, 7, 31, 101, 1, 9, 23, 38,
- 6, 13, 25, 11, 5, 5, 1, 1, 14, 7,
- 3, 1, 10, 30, 24, 34, 4, 120, 114, 100,
- 92, 76, 68, 40, 16, 23, 3, 60, 48, 42,
- 26, 22, 10, 4, 1, 19, 25, 11, 5, 5,
- 1, 1, 14, 7, 3, 1, 10, 30, 24, 34,
- 4, 120, 114, 100, 92, 76, 68, 40, 16, 23,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 10 */
-
- 124, 16, 23, 124, 16, 23, 91, 51, 28, 20,
- 16, 58, 96, 110, 38, 6, 37, 62, 37, 47,
- 6, 6, 2, 3, 22, 82, 90, 60, 3, 81,
- 87, 79, 17, 37, 47, 6, 51, 31, 46, 12,
- 37, 59, 77, 9, 13, 45, 71, 0, 35, 67,
- 5, 29, 49, 73, 14, 25, 19, 51, 36, 6,
- 44, 0, 0, 0, 27, 49, 67, 7, 28, 0,
- 50, 37, 101, 81, 33, 45, 9, 13, 35, 33,
- 87, 7, 55, 35, 79, 45, 31, 43, 35, 24,
- 0, 21, 79, 23, 67, 41, 89, 3, 27, 17,
- 51, 22, 11, 5, 51, 39, 33, 29, 13, 1,
- 7, 31, 0, 10, 11, 8, 9, 11, 8, 19,
- 44, 9, 2, 34, 38, 50, 48, 28, 35, 17,
- 25, 12, 7, 45, 7, 2, 15, 23, 11, 26,
- 82, 30, 23, 33, 19, 11, 64, 76, 71, 5,
- 1, 37, 8, 0, 5, 9, 66, 112, 84, 6,
- 25, 91, 32, 108, 124, 99, 44, 42, 50, 56,
- 54, 46, 34, 44, 50, 24, 38, 28, 14, 8,
- 0, 28, 26, 26, 22, 10, 18, 36, 18, 11,
- 18, 22, 11, 36, 9, 120, 124, 98, 76, 94,
- 112, 124, 124, 70, 38, 24, 30, 54, 50, 45,
- 34, 42, 6, 72, 36, 36, 44, 54, 50, 64,
- 62, 12, 59, 1, 5, 18, 97, 73, 9, 14,
- 20, 8, 25, 33, 43, 43, 89, 45, 30, 8,
- 1, 13, 15, 29, 51, 49, 79, 23, 40, 14,
- 4, 3, 5, 17, 27, 41, 65, 25, 16, 3,
- 14, 10, 11, 27, 29, 53, 17, 58, 20, 18,
- 12, 0, 11, 27, 27, 33, 124, 99, 95, 81,
- 93, 77, 77, 77, 73, 69, 73, 73, 73, 47,
- 57, 57, 67, 63, 49, 7, 37, 43, 39, 23,
- 15, 17, 5, 25, 7, 5, 7, 9, 6, 9,
- 27, 3, 9, 21, 8, 2, 5, 2, 20, 0,
- 15, 21, 21, 27, 7, 2, 4, 8, 11, 5,
- 13, 12, 10, 17, 23, 23, 23, 12, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 112, 64, 124, 124, 124, 124, 110, 88, 62,
- 82, 76, 56, 26, 14, 0, 31, 114, 108, 114,
- 84, 54, 60, 46, 40, 56, 48, 32, 4, 26,
- 0, 23, 42, 52, 34, 50, 62, 36, 30, 18,
- 16, 13, 4, 9, 31, 99, 5, 11, 25, 34,
- 4, 15, 25, 11, 5, 3, 0, 0, 14, 5,
- 1, 0, 12, 30, 26, 34, 4, 120, 110, 96,
- 88, 72, 64, 34, 12, 25, 3, 62, 48, 42,
- 28, 24, 10, 4, 1, 17, 25, 11, 5, 3,
- 0, 0, 14, 5, 1, 0, 12, 30, 26, 34,
- 4, 120, 110, 96, 88, 72, 64, 34, 12, 25,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 11 */
-
- 124, 16, 25, 124, 16, 25, 87, 49, 30, 20,
- 16, 56, 92, 108, 38, 8, 33, 60, 37, 43,
- 6, 4, 4, 5, 20, 80, 88, 52, 7, 83,
- 83, 75, 17, 37, 43, 6, 49, 29, 48, 12,
- 35, 57, 75, 13, 15, 45, 73, 0, 35, 67,
- 5, 31, 47, 73, 12, 25, 19, 49, 36, 6,
- 44, 0, 0, 0, 25, 49, 67, 7, 28, 1,
- 50, 35, 99, 77, 31, 43, 5, 9, 33, 31,
- 83, 5, 53, 35, 75, 47, 31, 43, 35, 26,
- 0, 19, 75, 23, 65, 39, 85, 3, 27, 17,
- 51, 24, 13, 3, 51, 39, 31, 29, 11, 1,
- 5, 29, 2, 10, 11, 8, 9, 11, 8, 19,
- 44, 9, 2, 34, 38, 52, 50, 30, 35, 15,
- 23, 10, 7, 45, 7, 4, 15, 21, 9, 28,
- 82, 34, 21, 35, 21, 9, 64, 76, 71, 7,
- 1, 37, 8, 1, 3, 7, 66, 112, 86, 8,
- 27, 89, 30, 102, 124, 95, 44, 42, 50, 54,
- 54, 44, 34, 42, 50, 24, 38, 28, 12, 8,
- 1, 28, 24, 24, 22, 10, 18, 36, 16, 15,
- 18, 20, 11, 34, 9, 114, 124, 94, 74, 90,
- 108, 124, 122, 66, 34, 20, 28, 50, 46, 49,
- 32, 38, 2, 68, 34, 34, 42, 50, 46, 60,
- 58, 10, 59, 3, 7, 16, 93, 69, 5, 16,
- 20, 8, 23, 33, 43, 41, 87, 43, 32, 10,
- 0, 13, 13, 27, 49, 47, 75, 23, 42, 16,
- 6, 3, 3, 17, 25, 39, 63, 25, 20, 1,
- 14, 10, 11, 25, 29, 53, 17, 60, 20, 20,
- 12, 2, 11, 27, 25, 33, 124, 95, 91, 77,
- 89, 73, 75, 73, 71, 65, 69, 69, 69, 47,
- 55, 57, 67, 57, 49, 9, 37, 43, 37, 23,
- 15, 17, 5, 25, 7, 7, 7, 9, 6, 9,
- 27, 3, 9, 21, 8, 2, 5, 0, 18, 0,
- 15, 21, 19, 29, 7, 4, 2, 8, 11, 5,
- 11, 12, 10, 15, 21, 23, 23, 8, 124, 122,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 106, 60, 124, 124, 124, 124, 106, 82, 58,
- 78, 72, 52, 24, 12, 1, 31, 110, 104, 110,
- 80, 50, 58, 44, 36, 52, 42, 28, 0, 22,
- 3, 25, 40, 48, 30, 48, 58, 34, 26, 14,
- 12, 15, 2, 11, 33, 97, 7, 15, 29, 32,
- 0, 17, 23, 9, 3, 3, 2, 2, 16, 5,
- 0, 2, 14, 32, 28, 36, 6, 118, 106, 92,
- 84, 68, 60, 30, 8, 27, 1, 62, 50, 44,
- 28, 26, 12, 6, 0, 17, 23, 9, 3, 3,
- 2, 2, 16, 5, 0, 2, 14, 32, 28, 36,
- 6, 118, 106, 92, 84, 68, 60, 30, 8, 27,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 12 */
-
- 124, 16, 25, 124, 16, 25, 85, 45, 30, 20,
- 14, 52, 90, 106, 40, 8, 29, 56, 37, 41,
- 6, 4, 6, 7, 16, 76, 84, 46, 11, 85,
- 79, 73, 17, 37, 41, 6, 49, 27, 48, 10,
- 33, 55, 73, 15, 19, 47, 73, 0, 35, 65,
- 5, 31, 47, 73, 12, 25, 19, 49, 38, 6,
- 44, 0, 0, 0, 25, 51, 67, 5, 26, 1,
- 48, 35, 97, 73, 29, 41, 3, 7, 33, 29,
- 79, 3, 51, 33, 71, 49, 31, 43, 35, 26,
- 1, 17, 71, 23, 63, 37, 81, 3, 27, 17,
- 51, 24, 13, 3, 49, 39, 31, 29, 11, 1,
- 5, 27, 2, 10, 11, 6, 9, 11, 8, 19,
- 44, 9, 2, 36, 38, 52, 50, 30, 37, 15,
- 21, 10, 7, 45, 7, 6, 15, 21, 7, 30,
- 84, 36, 17, 35, 23, 9, 64, 76, 73, 7,
- 0, 39, 10, 1, 3, 5, 66, 112, 86, 10,
- 29, 85, 28, 96, 120, 93, 42, 42, 48, 52,
- 52, 44, 32, 42, 48, 22, 36, 26, 12, 8,
- 1, 26, 22, 22, 20, 8, 16, 34, 16, 17,
- 16, 18, 11, 30, 11, 110, 124, 90, 70, 86,
- 104, 124, 116, 64, 30, 14, 24, 46, 42, 51,
- 28, 36, 1, 66, 32, 32, 40, 48, 42, 56,
- 54, 6, 59, 5, 9, 12, 91, 67, 3, 16,
- 20, 8, 21, 31, 41, 39, 83, 41, 34, 10,
- 2, 11, 11, 25, 45, 45, 71, 21, 42, 16,
- 6, 1, 1, 15, 25, 39, 61, 25, 22, 0,
- 14, 10, 9, 25, 29, 51, 15, 60, 22, 20,
- 12, 4, 9, 25, 25, 31, 124, 93, 89, 75,
- 85, 71, 71, 71, 67, 63, 67, 65, 65, 45,
- 53, 55, 65, 51, 49, 11, 37, 41, 37, 23,
- 15, 17, 7, 23, 7, 9, 7, 9, 8, 9,
- 27, 3, 9, 21, 6, 2, 5, 1, 16, 0,
- 15, 21, 17, 31, 7, 4, 0, 8, 11, 5,
- 11, 12, 8, 15, 19, 23, 23, 6, 124, 120,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 100, 56, 124, 124, 124, 124, 100, 78, 54,
- 74, 66, 48, 20, 10, 3, 31, 104, 100, 106,
- 76, 46, 54, 40, 32, 48, 38, 24, 3, 16,
- 7, 27, 38, 46, 24, 44, 54, 30, 22, 12,
- 10, 17, 0, 13, 33, 95, 9, 17, 31, 30,
- 1, 19, 23, 9, 3, 1, 4, 2, 18, 5,
- 2, 4, 16, 32, 30, 36, 8, 118, 102, 88,
- 80, 64, 56, 26, 4, 31, 1, 64, 50, 46,
- 30, 26, 12, 6, 0, 15, 23, 9, 3, 1,
- 4, 2, 18, 5, 2, 4, 16, 32, 30, 36,
- 8, 118, 102, 88, 80, 64, 56, 26, 4, 31,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 13 */
-
- 124, 16, 25, 124, 16, 25, 81, 43, 30, 20,
- 14, 48, 86, 104, 42, 8, 27, 52, 35, 37,
- 4, 4, 8, 9, 14, 74, 80, 40, 17, 85,
- 75, 71, 17, 35, 37, 4, 49, 25, 48, 10,
- 33, 53, 69, 17, 21, 47, 73, 0, 33, 63,
- 7, 31, 47, 73, 12, 23, 19, 47, 38, 6,
- 44, 0, 0, 0, 23, 51, 67, 5, 24, 1,
- 48, 33, 93, 67, 27, 39, 0, 3, 31, 27,
- 75, 1, 49, 31, 65, 49, 33, 43, 37, 26,
- 1, 15, 65, 21, 63, 37, 77, 3, 27, 17,
- 49, 24, 13, 1, 47, 37, 29, 27, 11, 0,
- 3, 25, 4, 10, 13, 6, 7, 11, 8, 19,
- 46, 9, 2, 36, 40, 52, 50, 30, 37, 13,
- 21, 8, 7, 43, 7, 8, 13, 19, 3, 34,
- 86, 40, 13, 37, 25, 7, 66, 76, 75, 7,
- 0, 39, 12, 1, 3, 1, 66, 112, 86, 14,
- 31, 83, 26, 92, 114, 91, 42, 42, 48, 52,
- 52, 44, 32, 42, 48, 20, 34, 26, 12, 8,
- 1, 26, 22, 20, 20, 8, 16, 32, 14, 19,
- 14, 18, 11, 28, 11, 106, 124, 88, 68, 84,
- 100, 124, 112, 62, 26, 10, 22, 42, 38, 53,
- 26, 34, 3, 64, 30, 30, 36, 44, 38, 52,
- 52, 4, 59, 7, 11, 8, 87, 63, 1, 18,
- 20, 8, 19, 29, 39, 39, 79, 37, 36, 12,
- 2, 9, 7, 23, 43, 43, 65, 19, 44, 18,
- 8, 1, 0, 13, 23, 37, 59, 23, 24, 2,
- 14, 10, 7, 23, 27, 49, 13, 60, 24, 20,
- 12, 6, 7, 23, 23, 29, 124, 91, 85, 71,
- 83, 69, 69, 67, 63, 59, 63, 61, 59, 43,
- 51, 53, 63, 45, 47, 13, 35, 39, 35, 23,
- 15, 17, 7, 23, 9, 11, 7, 9, 10, 9,
- 27, 3, 9, 19, 6, 0, 5, 3, 14, 1,
- 15, 21, 15, 31, 9, 6, 0, 6, 11, 5,
- 11, 10, 8, 15, 19, 23, 23, 2, 124, 118,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 120, 96, 52, 124, 124, 124, 124, 94, 74, 52,
- 70, 62, 44, 18, 8, 5, 31, 100, 94, 100,
- 72, 42, 50, 38, 28, 44, 34, 20, 7, 12,
- 9, 31, 36, 44, 20, 42, 52, 28, 18, 10,
- 8, 19, 1, 15, 33, 93, 13, 19, 35, 26,
- 3, 21, 23, 7, 1, 0, 6, 4, 18, 3,
- 4, 6, 18, 34, 32, 38, 8, 116, 98, 84,
- 76, 60, 52, 20, 0, 33, 0, 64, 52, 46,
- 32, 28, 14, 8, 0, 13, 23, 7, 1, 0,
- 6, 4, 18, 3, 4, 6, 18, 34, 32, 38,
- 8, 116, 98, 84, 76, 60, 52, 20, 0, 33,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 14 */
-
- 122, 16, 25, 122, 16, 25, 77, 39, 32, 20,
- 12, 44, 84, 102, 42, 8, 23, 50, 35, 35,
- 4, 2, 10, 11, 12, 72, 76, 32, 21, 87,
- 71, 67, 17, 35, 35, 4, 47, 23, 50, 10,
- 31, 51, 67, 19, 23, 47, 75, 0, 33, 61,
- 7, 33, 47, 73, 12, 23, 19, 45, 40, 6,
- 44, 0, 0, 0, 23, 51, 67, 3, 22, 1,
- 46, 33, 91, 63, 25, 37, 2, 1, 29, 25,
- 71, 0, 47, 29, 61, 51, 33, 43, 37, 28,
- 1, 13, 61, 21, 61, 35, 73, 3, 27, 17,
- 49, 26, 13, 1, 45, 37, 27, 27, 11, 0,
- 3, 23, 4, 10, 13, 6, 7, 11, 8, 19,
- 46, 9, 2, 38, 40, 54, 50, 32, 39, 13,
- 19, 8, 7, 43, 7, 10, 13, 19, 1, 36,
- 88, 42, 9, 37, 27, 7, 66, 76, 77, 7,
- 2, 41, 12, 1, 3, 0, 66, 112, 86, 16,
- 33, 79, 24, 86, 108, 87, 42, 42, 46, 50,
- 50, 42, 30, 42, 46, 18, 32, 26, 12, 8,
- 3, 24, 20, 18, 18, 8, 16, 30, 14, 21,
- 14, 16, 11, 26, 13, 102, 120, 84, 64, 80,
- 96, 124, 106, 60, 22, 6, 18, 38, 34, 57,
- 24, 32, 7, 62, 28, 28, 34, 42, 34, 48,
- 48, 0, 59, 9, 13, 6, 85, 61, 2, 18,
- 20, 8, 17, 27, 37, 37, 75, 35, 38, 14,
- 4, 9, 5, 21, 39, 41, 61, 19, 44, 18,
- 8, 0, 2, 13, 23, 35, 57, 23, 28, 4,
- 14, 10, 5, 23, 27, 47, 11, 62, 26, 22,
- 12, 8, 7, 21, 23, 29, 124, 87, 83, 69,
- 79, 67, 65, 65, 61, 57, 59, 57, 55, 43,
- 49, 53, 61, 39, 47, 15, 35, 37, 33, 23,
- 15, 17, 7, 21, 9, 13, 7, 9, 10, 9,
- 27, 3, 9, 19, 4, 0, 5, 5, 12, 1,
- 15, 21, 13, 33, 9, 8, 1, 6, 11, 5,
- 9, 10, 6, 13, 17, 23, 23, 0, 124, 116,
- 122, 122, 122, 124, 124, 124, 122, 124, 124, 124,
- 114, 90, 48, 124, 120, 118, 120, 88, 70, 48,
- 66, 56, 40, 16, 6, 7, 31, 96, 90, 96,
- 68, 38, 46, 34, 24, 40, 30, 16, 11, 8,
- 13, 33, 34, 42, 16, 38, 48, 24, 14, 6,
- 4, 21, 3, 17, 33, 91, 15, 23, 37, 24,
- 5, 23, 23, 7, 1, 0, 8, 6, 20, 3,
- 6, 8, 20, 34, 34, 38, 10, 116, 94, 80,
- 72, 56, 48, 16, 3, 35, 0, 66, 52, 48,
- 32, 30, 14, 8, 2, 13, 23, 7, 1, 0,
- 8, 6, 20, 3, 6, 8, 20, 34, 34, 38,
- 10, 116, 94, 80, 72, 56, 48, 16, 3, 35,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 15 */
-
- 120, 16, 25, 120, 16, 25, 73, 37, 32, 20,
- 12, 40, 80, 100, 44, 8, 19, 46, 35, 31,
- 4, 2, 12, 13, 10, 70, 72, 26, 25, 89,
- 67, 65, 17, 35, 31, 4, 47, 21, 50, 10,
- 29, 49, 65, 21, 25, 47, 75, 0, 33, 59,
- 7, 33, 47, 73, 12, 23, 19, 43, 40, 6,
- 44, 0, 0, 0, 21, 51, 67, 3, 20, 1,
- 46, 31, 89, 59, 23, 35, 6, 2, 27, 23,
- 67, 2, 45, 27, 57, 53, 33, 43, 37, 28,
- 1, 11, 57, 21, 59, 33, 69, 3, 27, 17,
- 49, 26, 13, 0, 43, 37, 25, 27, 11, 0,
- 1, 21, 6, 10, 13, 6, 7, 11, 8, 19,
- 46, 9, 2, 38, 40, 54, 50, 32, 39, 11,
- 17, 6, 7, 43, 7, 12, 13, 17, 0, 38,
- 90, 46, 5, 39, 29, 5, 66, 76, 79, 7,
- 2, 41, 14, 1, 3, 2, 66, 112, 86, 18,
- 35, 77, 22, 80, 102, 85, 42, 42, 46, 48,
- 50, 42, 30, 42, 46, 16, 30, 26, 12, 8,
- 3, 24, 18, 16, 18, 8, 16, 28, 12, 23,
- 12, 14, 11, 24, 13, 98, 116, 80, 62, 76,
- 92, 118, 102, 58, 18, 2, 16, 34, 30, 59,
- 22, 30, 11, 60, 26, 26, 32, 38, 30, 44,
- 44, 1, 59, 11, 15, 2, 81, 57, 4, 20,
- 20, 8, 15, 25, 35, 35, 71, 33, 40, 16,
- 6, 7, 3, 19, 37, 39, 57, 17, 46, 20,
- 10, 0, 4, 11, 21, 33, 55, 23, 30, 6,
- 14, 10, 3, 21, 27, 45, 9, 62, 28, 22,
- 12, 10, 5, 19, 21, 27, 124, 85, 79, 65,
- 75, 65, 63, 61, 57, 53, 55, 53, 51, 41,
- 47, 51, 59, 33, 47, 17, 35, 35, 31, 23,
- 15, 17, 7, 21, 9, 15, 7, 9, 12, 9,
- 27, 3, 9, 19, 4, 0, 5, 7, 10, 1,
- 15, 21, 11, 35, 9, 10, 3, 6, 11, 5,
- 9, 10, 6, 13, 15, 23, 23, 3, 122, 114,
- 120, 118, 118, 124, 124, 124, 118, 120, 124, 122,
- 108, 84, 44, 122, 114, 110, 110, 82, 66, 44,
- 62, 52, 36, 14, 4, 9, 31, 92, 86, 92,
- 64, 34, 42, 32, 20, 36, 26, 12, 15, 4,
- 17, 35, 32, 40, 12, 36, 44, 22, 10, 4,
- 2, 23, 5, 19, 33, 89, 17, 25, 41, 22,
- 7, 25, 23, 5, 0, 2, 10, 8, 22, 3,
- 8, 10, 22, 36, 36, 40, 12, 114, 90, 76,
- 68, 52, 44, 12, 7, 37, 2, 66, 54, 50,
- 34, 32, 16, 10, 2, 11, 23, 5, 0, 2,
- 10, 8, 22, 3, 8, 10, 22, 36, 36, 40,
- 12, 114, 90, 76, 68, 52, 44, 12, 7, 37,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 16 */
-
- 116, 14, 27, 116, 14, 27, 71, 35, 32, 20,
- 10, 36, 76, 98, 44, 8, 17, 42, 35, 29,
- 2, 0, 14, 15, 6, 66, 68, 18, 31, 91,
- 63, 63, 17, 35, 29, 2, 47, 21, 50, 8,
- 29, 49, 63, 25, 29, 49, 77, 1, 33, 59,
- 9, 35, 47, 73, 10, 23, 19, 43, 40, 4,
- 44, 0, 0, 0, 21, 53, 67, 3, 18, 3,
- 44, 31, 87, 55, 21, 35, 8, 4, 27, 21,
- 65, 2, 43, 27, 53, 55, 35, 45, 39, 28,
- 3, 11, 53, 21, 59, 33, 67, 3, 27, 17,
- 49, 26, 15, 0, 43, 37, 25, 27, 11, 0,
- 1, 19, 6, 10, 15, 4, 7, 11, 6, 19,
- 46, 9, 2, 38, 40, 54, 50, 32, 41, 11,
- 17, 4, 7, 43, 9, 12, 13, 17, 2, 40,
- 90, 48, 3, 41, 33, 5, 66, 76, 81, 9,
- 2, 43, 14, 3, 3, 4, 66, 110, 86, 20,
- 37, 75, 18, 74, 94, 83, 40, 42, 44, 46,
- 48, 40, 28, 40, 44, 14, 28, 24, 10, 6,
- 5, 22, 16, 14, 16, 6, 14, 26, 10, 27,
- 10, 12, 11, 20, 15, 92, 110, 76, 58, 72,
- 86, 110, 96, 54, 14, 3, 12, 28, 26, 63,
- 18, 26, 15, 56, 24, 24, 28, 34, 26, 40,
- 40, 5, 59, 13, 17, 1, 79, 55, 6, 20,
- 20, 8, 15, 25, 35, 35, 69, 31, 40, 16,
- 6, 7, 1, 17, 35, 39, 53, 17, 46, 20,
- 10, 0, 4, 11, 21, 33, 53, 23, 32, 8,
- 14, 8, 3, 21, 27, 45, 9, 62, 28, 22,
- 12, 12, 5, 19, 21, 27, 124, 83, 77, 63,
- 73, 63, 61, 59, 55, 51, 53, 51, 47, 41,
- 47, 51, 59, 27, 47, 21, 35, 35, 31, 23,
- 15, 17, 9, 21, 11, 17, 9, 9, 12, 11,
- 27, 5, 9, 19, 2, 1, 7, 9, 8, 3,
- 17, 21, 9, 37, 11, 10, 5, 4, 11, 7,
- 9, 8, 4, 13, 15, 23, 23, 7, 118, 112,
- 116, 114, 112, 124, 124, 124, 112, 114, 124, 116,
- 100, 78, 40, 114, 106, 102, 98, 76, 60, 40,
- 56, 46, 32, 10, 0, 11, 31, 86, 80, 86,
- 60, 28, 38, 28, 14, 32, 20, 8, 21, 1,
- 21, 39, 28, 36, 6, 32, 40, 18, 6, 0,
- 1, 25, 7, 21, 35, 87, 21, 29, 45, 18,
- 11, 29, 23, 5, 0, 2, 12, 8, 22, 3,
- 10, 10, 24, 36, 36, 40, 12, 112, 86, 72,
- 62, 46, 40, 6, 11, 41, 2, 66, 54, 50,
- 34, 32, 16, 10, 2, 11, 23, 5, 0, 2,
- 12, 8, 22, 3, 10, 10, 24, 36, 36, 40,
- 12, 112, 86, 72, 62, 46, 40, 6, 11, 41,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 17 */
-
- 114, 14, 27, 114, 14, 27, 67, 31, 34, 22,
- 10, 34, 74, 98, 46, 10, 13, 40, 33, 25,
- 2, 0, 18, 15, 4, 64, 66, 12, 35, 91,
- 59, 59, 15, 33, 25, 2, 45, 19, 52, 8,
- 27, 47, 59, 27, 31, 49, 77, 1, 31, 57,
- 9, 35, 45, 71, 10, 21, 17, 41, 42, 4,
- 44, 0, 0, 0, 19, 53, 67, 1, 18, 3,
- 44, 29, 83, 49, 17, 33, 12, 8, 25, 17,
- 61, 4, 39, 25, 47, 55, 35, 45, 39, 30,
- 3, 9, 47, 19, 57, 31, 63, 3, 25, 17,
- 47, 28, 15, 2, 41, 35, 23, 25, 9, 2,
- 0, 17, 8, 12, 15, 4, 5, 9, 6, 17,
- 48, 7, 2, 40, 42, 56, 52, 34, 41, 9,
- 15, 4, 7, 41, 9, 14, 11, 15, 6, 44,
- 92, 52, 0, 41, 35, 3, 68, 78, 81, 9,
- 4, 43, 16, 3, 1, 8, 66, 110, 88, 24,
- 39, 71, 16, 70, 88, 79, 40, 42, 44, 46,
- 48, 40, 28, 40, 44, 14, 28, 24, 10, 6,
- 5, 22, 16, 14, 16, 6, 14, 26, 10, 29,
- 10, 12, 11, 18, 15, 88, 106, 74, 56, 70,
- 82, 104, 92, 52, 12, 7, 10, 24, 24, 65,
- 16, 24, 17, 54, 24, 24, 26, 32, 24, 38,
- 38, 7, 59, 13, 17, 3, 75, 51, 10, 22,
- 20, 8, 13, 23, 33, 33, 65, 27, 42, 18,
- 8, 5, 2, 15, 31, 37, 47, 15, 48, 22,
- 12, 2, 6, 9, 19, 31, 49, 21, 36, 10,
- 16, 8, 1, 19, 25, 43, 7, 64, 30, 24,
- 14, 14, 3, 17, 19, 25, 124, 79, 73, 59,
- 69, 59, 57, 55, 51, 47, 49, 47, 41, 39,
- 45, 49, 57, 19, 45, 23, 33, 33, 29, 21,
- 15, 15, 9, 19, 11, 17, 9, 9, 14, 11,
- 27, 5, 9, 17, 2, 1, 7, 9, 8, 3,
- 17, 19, 5, 37, 11, 12, 5, 4, 11, 7,
- 7, 8, 4, 11, 13, 21, 21, 9, 116, 110,
- 114, 112, 108, 120, 120, 118, 108, 110, 118, 112,
- 94, 74, 36, 108, 100, 96, 88, 72, 56, 38,
- 52, 42, 30, 8, 1, 11, 31, 82, 76, 82,
- 56, 24, 36, 26, 10, 30, 16, 6, 25, 5,
- 23, 41, 26, 34, 2, 30, 38, 16, 4, 1,
- 3, 27, 7, 21, 35, 85, 23, 31, 47, 16,
- 13, 31, 21, 3, 2, 4, 16, 10, 24, 1,
- 14, 12, 26, 38, 38, 42, 14, 112, 84, 70,
- 58, 42, 38, 2, 13, 43, 4, 68, 56, 52,
- 36, 34, 18, 12, 4, 9, 21, 3, 2, 4,
- 16, 10, 24, 1, 14, 12, 26, 38, 38, 42,
- 14, 112, 84, 70, 58, 42, 38, 2, 13, 43,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 18 */
-
- 112, 14, 27, 112, 14, 27, 63, 29, 34, 22,
- 10, 30, 70, 96, 48, 10, 9, 36, 33, 23,
- 2, 0, 20, 17, 2, 62, 62, 6, 39, 93,
- 55, 57, 15, 33, 23, 2, 45, 17, 52, 8,
- 25, 45, 57, 29, 33, 49, 77, 1, 31, 55,
- 9, 35, 45, 71, 10, 21, 17, 39, 42, 4,
- 44, 0, 0, 0, 17, 53, 67, 1, 16, 3,
- 44, 27, 81, 45, 15, 31, 16, 12, 23, 15,
- 57, 6, 37, 23, 43, 57, 35, 45, 39, 30,
- 3, 7, 43, 19, 55, 29, 59, 3, 25, 17,
- 47, 28, 15, 2, 39, 35, 21, 25, 9, 2,
- 0, 15, 10, 12, 15, 4, 5, 9, 6, 17,
- 48, 7, 2, 40, 42, 56, 52, 34, 43, 7,
- 13, 2, 7, 41, 9, 16, 11, 15, 8, 46,
- 94, 56, 4, 43, 37, 3, 68, 78, 83, 9,
- 4, 45, 18, 3, 1, 10, 66, 110, 88, 26,
- 41, 69, 14, 64, 82, 77, 40, 42, 44, 44,
- 46, 40, 28, 40, 42, 12, 26, 24, 10, 6,
- 5, 20, 14, 12, 16, 6, 14, 24, 8, 31,
- 8, 10, 11, 16, 17, 84, 102, 70, 52, 66,
- 78, 98, 88, 50, 8, 11, 6, 20, 20, 67,
- 14, 22, 21, 52, 22, 22, 24, 28, 20, 34,
- 34, 11, 59, 15, 19, 7, 73, 49, 12, 24,
- 20, 8, 11, 21, 31, 31, 61, 25, 44, 20,
- 10, 3, 4, 13, 29, 35, 43, 13, 48, 22,
- 12, 2, 8, 7, 17, 29, 47, 21, 38, 12,
- 16, 8, 0, 17, 25, 41, 5, 64, 32, 24,
- 14, 16, 1, 15, 17, 23, 124, 77, 69, 55,
- 65, 57, 55, 51, 47, 45, 45, 43, 37, 37,
- 43, 47, 55, 13, 45, 25, 33, 31, 27, 21,
- 15, 15, 9, 19, 11, 19, 9, 9, 16, 11,
- 27, 5, 9, 17, 2, 1, 7, 11, 6, 3,
- 17, 19, 3, 39, 11, 14, 7, 4, 11, 7,
- 7, 8, 4, 11, 11, 21, 21, 13, 114, 108,
- 112, 108, 104, 114, 114, 112, 104, 104, 112, 106,
- 88, 68, 32, 100, 92, 88, 78, 66, 52, 34,
- 48, 38, 26, 6, 3, 13, 31, 78, 72, 78,
- 52, 20, 32, 22, 6, 26, 12, 2, 29, 9,
- 27, 43, 24, 32, 1, 26, 34, 12, 0, 3,
- 5, 29, 9, 23, 35, 83, 25, 33, 51, 14,
- 15, 33, 21, 3, 4, 6, 18, 12, 26, 1,
- 16, 14, 28, 38, 40, 44, 16, 110, 80, 66,
- 54, 38, 34, 1, 17, 45, 6, 68, 56, 54,
- 38, 36, 18, 14, 4, 7, 21, 3, 4, 6,
- 18, 12, 26, 1, 16, 14, 28, 38, 40, 44,
- 16, 110, 80, 66, 54, 38, 34, 1, 17, 45,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 19 */
-
- 110, 14, 27, 110, 14, 27, 59, 25, 36, 22,
- 8, 26, 68, 94, 48, 10, 5, 34, 33, 19,
- 2, 1, 22, 19, 0, 60, 58, 1, 43, 95,
- 51, 53, 15, 33, 19, 2, 43, 15, 54, 8,
- 23, 43, 55, 31, 35, 49, 79, 1, 31, 53,
- 9, 37, 45, 71, 10, 21, 17, 37, 44, 4,
- 44, 0, 0, 0, 17, 53, 67, 0, 14, 3,
- 42, 27, 79, 41, 13, 29, 18, 14, 21, 13,
- 53, 8, 35, 21, 39, 59, 35, 45, 39, 32,
- 3, 5, 39, 19, 53, 27, 55, 3, 25, 17,
- 47, 30, 15, 4, 37, 35, 19, 25, 9, 2,
- 2, 13, 10, 12, 15, 4, 5, 9, 6, 17,
- 48, 7, 2, 42, 42, 58, 52, 36, 43, 7,
- 11, 2, 7, 41, 9, 18, 11, 13, 10, 48,
- 96, 58, 8, 43, 39, 1, 68, 78, 85, 9,
- 6, 45, 18, 3, 1, 12, 66, 110, 88, 28,
- 43, 65, 12, 58, 76, 73, 40, 42, 42, 42,
- 46, 38, 26, 40, 42, 10, 24, 24, 10, 6,
- 7, 20, 12, 10, 14, 6, 14, 22, 8, 33,
- 8, 8, 11, 14, 17, 80, 98, 66, 50, 62,
- 74, 92, 82, 48, 4, 15, 4, 16, 16, 71,
- 12, 20, 25, 50, 20, 20, 22, 26, 16, 30,
- 30, 13, 59, 17, 21, 9, 69, 45, 16, 24,
- 20, 8, 9, 19, 29, 29, 57, 23, 46, 22,
- 12, 3, 6, 11, 25, 33, 39, 13, 50, 24,
- 14, 4, 10, 7, 17, 27, 45, 21, 42, 14,
- 16, 8, 2, 17, 25, 39, 3, 66, 34, 26,
- 14, 18, 1, 13, 17, 23, 124, 73, 67, 53,
- 61, 55, 51, 49, 45, 41, 41, 39, 33, 37,
- 41, 47, 53, 7, 45, 27, 33, 29, 25, 21,
- 15, 15, 9, 17, 11, 21, 9, 9, 16, 11,
- 27, 5, 9, 17, 0, 1, 7, 13, 4, 3,
- 17, 19, 1, 41, 11, 16, 9, 4, 11, 7,
- 5, 8, 2, 9, 9, 21, 21, 15, 112, 106,
- 110, 104, 100, 110, 110, 106, 98, 98, 106, 100,
- 82, 62, 28, 92, 86, 80, 68, 60, 48, 30,
- 44, 32, 22, 4, 5, 15, 31, 74, 68, 74,
- 48, 16, 28, 20, 2, 22, 8, 1, 33, 13,
- 31, 45, 22, 30, 5, 24, 30, 10, 3, 7,
- 9, 31, 11, 25, 35, 81, 27, 37, 53, 12,
- 17, 35, 21, 1, 4, 6, 20, 14, 28, 1,
- 18, 16, 30, 40, 42, 44, 18, 110, 76, 62,
- 50, 34, 30, 5, 21, 47, 6, 70, 58, 56,
- 38, 38, 20, 14, 6, 7, 21, 1, 4, 6,
- 20, 14, 28, 1, 18, 16, 30, 40, 42, 44,
- 18, 110, 76, 62, 50, 34, 30, 5, 21, 47,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 20 */
-
- 106, 14, 27, 106, 14, 27, 57, 23, 36, 22,
- 8, 22, 64, 92, 50, 10, 3, 30, 33, 17,
- 0, 1, 24, 21, 3, 56, 54, 7, 49, 97,
- 47, 51, 15, 33, 17, 0, 43, 13, 54, 6,
- 23, 41, 51, 33, 39, 51, 79, 1, 29, 51,
- 11, 37, 45, 71, 10, 21, 17, 37, 44, 4,
- 44, 0, 0, 0, 15, 55, 67, 0, 12, 3,
- 42, 25, 77, 37, 11, 27, 22, 18, 21, 11,
- 49, 10, 33, 19, 33, 59, 37, 45, 41, 32,
- 5, 3, 33, 17, 53, 27, 51, 3, 25, 17,
- 47, 30, 15, 4, 35, 35, 19, 23, 9, 2,
- 2, 11, 12, 12, 17, 2, 5, 9, 6, 17,
- 48, 7, 2, 42, 42, 58, 52, 36, 45, 5,
- 11, 0, 7, 39, 9, 20, 9, 13, 14, 52,
- 98, 62, 12, 45, 41, 1, 70, 78, 87, 9,
- 6, 47, 20, 3, 1, 14, 66, 110, 88, 32,
- 45, 63, 10, 52, 70, 71, 38, 42, 42, 42,
- 44, 38, 26, 40, 40, 8, 22, 22, 10, 6,
- 7, 18, 12, 8, 14, 4, 12, 20, 6, 35,
- 6, 6, 11, 10, 19, 76, 94, 62, 46, 60,
- 70, 84, 78, 46, 0, 21, 0, 12, 12, 73,
- 8, 18, 27, 48, 18, 18, 18, 22, 12, 26,
- 28, 17, 59, 19, 23, 13, 67, 43, 18, 26,
- 20, 8, 7, 17, 27, 29, 53, 19, 48, 22,
- 12, 1, 10, 9, 23, 31, 33, 11, 50, 24,
- 14, 4, 12, 5, 15, 27, 43, 21, 44, 16,
- 16, 8, 4, 15, 25, 37, 1, 66, 36, 26,
- 14, 20, 0, 11, 15, 21, 124, 71, 63, 49,
- 59, 53, 49, 45, 41, 39, 39, 35, 27, 35,
- 39, 45, 51, 1, 43, 29, 31, 27, 25, 21,
- 15, 15, 11, 17, 13, 23, 9, 9, 18, 11,
- 27, 5, 9, 15, 0, 3, 7, 15, 2, 5,
- 17, 19, 0, 43, 13, 16, 9, 2, 11, 7,
- 5, 6, 2, 9, 9, 21, 21, 19, 110, 104,
- 108, 102, 94, 104, 104, 100, 94, 92, 98, 94,
- 74, 58, 24, 84, 78, 72, 58, 54, 44, 26,
- 40, 28, 18, 0, 7, 17, 31, 68, 62, 68,
- 44, 12, 24, 16, 1, 18, 4, 5, 37, 19,
- 33, 49, 20, 28, 11, 20, 28, 6, 7, 9,
- 11, 33, 13, 27, 35, 79, 31, 39, 57, 8,
- 19, 37, 21, 1, 6, 8, 22, 14, 28, 0,
- 20, 18, 32, 40, 44, 46, 18, 108, 72, 58,
- 46, 30, 26, 11, 25, 51, 8, 70, 58, 56,
- 40, 38, 20, 16, 6, 5, 21, 1, 6, 8,
- 22, 14, 28, 0, 20, 18, 32, 40, 44, 46,
- 18, 108, 72, 58, 46, 30, 26, 11, 25, 51,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 21 */
-
- 104, 14, 27, 104, 14, 27, 53, 19, 36, 22,
- 6, 18, 62, 90, 52, 10, 0, 26, 31, 13,
- 0, 1, 26, 23, 5, 54, 50, 13, 53, 97,
- 43, 49, 15, 31, 13, 0, 43, 11, 54, 6,
- 21, 39, 49, 35, 41, 51, 79, 1, 29, 49,
- 11, 37, 45, 71, 10, 19, 17, 35, 46, 4,
- 44, 0, 0, 0, 15, 55, 67, 2, 10, 3,
- 40, 25, 73, 31, 9, 25, 24, 20, 19, 9,
- 45, 12, 31, 17, 29, 61, 37, 45, 41, 32,
- 5, 1, 29, 17, 51, 25, 47, 3, 25, 17,
- 45, 30, 15, 6, 33, 33, 17, 23, 9, 4,
- 4, 9, 12, 12, 17, 2, 3, 9, 6, 17,
- 50, 7, 2, 44, 44, 58, 52, 36, 45, 5,
- 9, 0, 7, 39, 9, 22, 9, 11, 16, 54,
- 100, 64, 16, 45, 43, 0, 70, 78, 89, 9,
- 8, 47, 22, 3, 1, 18, 66, 110, 88, 34,
- 47, 59, 8, 48, 64, 69, 38, 42, 40, 40,
- 44, 38, 24, 40, 40, 6, 20, 22, 10, 6,
- 7, 18, 10, 6, 12, 4, 12, 18, 6, 37,
- 4, 6, 11, 8, 19, 72, 90, 60, 44, 56,
- 66, 78, 72, 44, 3, 25, 1, 8, 8, 75,
- 6, 16, 31, 46, 16, 16, 16, 20, 8, 22,
- 24, 19, 59, 21, 25, 17, 63, 39, 20, 26,
- 20, 8, 5, 15, 25, 27, 49, 17, 50, 24,
- 14, 0, 12, 7, 19, 29, 29, 9, 52, 26,
- 16, 6, 14, 3, 15, 25, 41, 19, 46, 18,
- 16, 8, 6, 15, 23, 35, 0, 66, 38, 26,
- 14, 22, 2, 9, 15, 19, 124, 69, 61, 47,
- 55, 51, 45, 43, 37, 35, 35, 31, 23, 33,
- 37, 43, 49, 4, 43, 31, 31, 25, 23, 21,
- 15, 15, 11, 15, 13, 25, 9, 9, 20, 11,
- 27, 5, 9, 15, 1, 3, 7, 17, 0, 5,
- 17, 19, 2, 43, 13, 18, 11, 2, 11, 7,
- 5, 6, 0, 9, 7, 21, 21, 21, 108, 102,
- 106, 98, 90, 100, 98, 94, 88, 86, 92, 88,
- 68, 52, 20, 76, 72, 64, 48, 48, 40, 24,
- 36, 22, 14, 1, 9, 19, 31, 64, 58, 64,
- 40, 8, 20, 14, 5, 14, 0, 9, 41, 23,
- 37, 51, 18, 26, 15, 18, 24, 4, 11, 11,
- 13, 35, 15, 29, 35, 77, 33, 41, 59, 6,
- 21, 39, 21, 0, 6, 10, 24, 16, 30, 0,
- 22, 20, 34, 42, 46, 46, 20, 108, 68, 54,
- 42, 26, 22, 15, 29, 53, 8, 72, 60, 58,
- 42, 40, 22, 16, 6, 3, 21, 0, 6, 10,
- 24, 16, 30, 0, 22, 20, 34, 42, 46, 46,
- 20, 108, 68, 54, 42, 26, 22, 15, 29, 53,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 22 */
-
- 102, 14, 29, 102, 14, 29, 49, 17, 38, 22,
- 6, 16, 58, 88, 52, 12, 4, 24, 31, 11,
- 0, 3, 28, 25, 7, 52, 48, 21, 57, 99,
- 39, 45, 15, 31, 11, 0, 41, 9, 56, 6,
- 19, 37, 47, 39, 43, 51, 81, 1, 29, 49,
- 11, 39, 43, 71, 8, 19, 17, 33, 46, 4,
- 44, 0, 0, 0, 13, 55, 67, 2, 10, 5,
- 40, 23, 71, 27, 7, 23, 28, 24, 17, 7,
- 41, 14, 29, 17, 25, 63, 37, 45, 41, 34,
- 5, 0, 25, 17, 49, 23, 43, 3, 25, 17,
- 45, 32, 17, 6, 33, 33, 15, 23, 7, 4,
- 4, 7, 14, 12, 17, 2, 3, 9, 6, 17,
- 50, 7, 2, 44, 44, 60, 54, 38, 47, 3,
- 7, 1, 7, 39, 9, 24, 9, 11, 18, 56,
- 100, 68, 18, 47, 45, 0, 70, 78, 89, 11,
- 8, 49, 22, 5, 0, 20, 66, 110, 90, 36,
- 49, 57, 6, 42, 58, 65, 38, 42, 40, 38,
- 42, 36, 24, 38, 38, 6, 20, 22, 8, 6,
- 9, 16, 8, 4, 12, 4, 12, 18, 4, 41,
- 4, 4, 11, 6, 21, 66, 86, 56, 40, 52,
- 62, 72, 68, 40, 7, 29, 5, 4, 4, 79,
- 4, 12, 35, 42, 14, 14, 14, 16, 4, 18,
- 20, 23, 59, 23, 27, 19, 61, 37, 24, 28,
- 20, 8, 3, 15, 25, 25, 47, 15, 52, 26,
- 16, 0, 14, 5, 17, 27, 25, 9, 52, 26,
- 16, 6, 16, 3, 13, 23, 39, 19, 50, 20,
- 16, 8, 6, 13, 23, 35, 0, 68, 38, 28,
- 14, 24, 2, 9, 13, 19, 124, 65, 57, 43,
- 51, 47, 43, 39, 35, 33, 31, 27, 19, 33,
- 35, 43, 49, 10, 43, 33, 31, 25, 21, 21,
- 15, 15, 11, 15, 13, 27, 9, 9, 20, 11,
- 27, 5, 9, 15, 1, 3, 7, 19, 1, 5,
- 17, 19, 4, 45, 13, 20, 13, 2, 11, 7,
- 3, 6, 0, 7, 5, 21, 21, 25, 106, 100,
- 104, 94, 86, 94, 94, 88, 84, 80, 86, 82,
- 62, 46, 16, 70, 64, 56, 38, 44, 34, 20,
- 32, 18, 10, 3, 11, 21, 31, 60, 54, 60,
- 36, 4, 18, 10, 9, 10, 5, 13, 45, 27,
- 41, 53, 16, 22, 19, 14, 20, 0, 15, 15,
- 17, 37, 17, 31, 37, 75, 35, 45, 63, 4,
- 25, 41, 19, 0, 8, 10, 26, 18, 32, 0,
- 24, 22, 36, 42, 48, 48, 22, 106, 64, 50,
- 38, 22, 18, 19, 33, 55, 10, 72, 60, 60,
- 42, 42, 22, 18, 8, 3, 19, 0, 8, 10,
- 26, 18, 32, 0, 24, 22, 36, 42, 48, 48,
- 22, 106, 64, 50, 38, 22, 18, 19, 33, 55,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 23 */
-
- 100, 14, 29, 100, 14, 29, 45, 13, 38, 22,
- 4, 12, 56, 86, 54, 12, 6, 20, 31, 7,
- 1, 3, 30, 27, 9, 50, 44, 27, 63, 101,
- 35, 43, 15, 31, 7, 1, 41, 7, 56, 6,
- 19, 35, 43, 41, 45, 51, 81, 1, 27, 47,
- 13, 39, 43, 71, 8, 19, 17, 31, 48, 4,
- 44, 0, 0, 0, 13, 55, 67, 4, 8, 5,
- 38, 23, 69, 23, 5, 21, 30, 26, 15, 5,
- 37, 16, 27, 15, 19, 63, 39, 45, 43, 34,
- 5, 2, 19, 15, 49, 23, 39, 3, 25, 17,
- 45, 32, 17, 8, 31, 33, 13, 21, 7, 4,
- 6, 5, 14, 12, 19, 2, 3, 9, 6, 17,
- 50, 7, 2, 46, 44, 60, 54, 38, 47, 3,
- 7, 1, 7, 37, 9, 26, 7, 9, 22, 60,
- 102, 70, 22, 47, 47, 2, 72, 78, 91, 11,
- 10, 49, 24, 5, 0, 22, 66, 110, 90, 40,
- 51, 53, 4, 36, 52, 63, 38, 42, 38, 38,
- 42, 36, 22, 38, 38, 4, 18, 22, 8, 6,
- 9, 16, 8, 2, 10, 4, 12, 16, 4, 43,
- 2, 2, 11, 4, 21, 62, 82, 52, 38, 50,
- 58, 66, 62, 38, 11, 33, 7, 0, 0, 81,
- 2, 10, 37, 40, 12, 12, 10, 14, 0, 14,
- 18, 25, 59, 25, 29, 23, 57, 33, 26, 28,
- 20, 8, 1, 13, 23, 25, 43, 11, 54, 28,
- 16, 2, 18, 3, 13, 25, 19, 7, 54, 28,
- 18, 8, 18, 1, 13, 21, 37, 19, 52, 22,
- 16, 8, 8, 13, 23, 33, 2, 68, 40, 28,
- 14, 26, 4, 7, 13, 17, 124, 63, 55, 41,
- 49, 45, 39, 37, 31, 29, 27, 23, 13, 31,
- 33, 41, 47, 16, 41, 35, 29, 23, 19, 21,
- 15, 15, 11, 13, 15, 29, 9, 9, 22, 11,
- 27, 5, 9, 13, 3, 5, 7, 21, 3, 7,
- 17, 19, 6, 47, 15, 22, 13, 0, 11, 7,
- 3, 4, 1, 7, 5, 21, 21, 27, 104, 98,
- 102, 92, 80, 90, 88, 82, 78, 74, 80, 76,
- 56, 42, 12, 62, 58, 48, 28, 38, 30, 16,
- 28, 12, 6, 5, 13, 23, 31, 56, 48, 54,
- 32, 0, 14, 8, 13, 6, 9, 17, 49, 31,
- 43, 57, 14, 20, 23, 12, 18, 1, 19, 17,
- 19, 39, 19, 33, 37, 73, 39, 47, 65, 0,
- 27, 43, 19, 2, 8, 12, 28, 20, 32, 2,
- 26, 24, 38, 44, 50, 48, 22, 106, 60, 46,
- 34, 18, 14, 25, 37, 57, 10, 74, 62, 60,
- 44, 44, 24, 18, 8, 1, 19, 2, 8, 12,
- 28, 20, 32, 2, 26, 24, 38, 44, 50, 48,
- 22, 106, 60, 46, 34, 18, 14, 25, 37, 57,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 24 */
-
- 96, 12, 29, 96, 12, 29, 43, 11, 38, 22,
- 4, 8, 52, 84, 54, 12, 10, 16, 31, 5,
- 1, 5, 32, 29, 13, 46, 40, 35, 67, 103,
- 31, 41, 15, 31, 5, 1, 41, 7, 56, 4,
- 17, 33, 41, 43, 49, 53, 83, 1, 27, 45,
- 13, 41, 43, 71, 8, 19, 17, 31, 48, 4,
- 44, 0, 0, 0, 11, 57, 67, 4, 6, 5,
- 38, 21, 67, 19, 3, 21, 34, 30, 15, 3,
- 33, 16, 25, 13, 15, 65, 39, 47, 43, 34,
- 7, 2, 15, 15, 47, 21, 37, 3, 25, 17,
- 45, 32, 17, 8, 29, 33, 13, 21, 7, 4,
- 6, 3, 16, 12, 19, 0, 3, 9, 4, 17,
- 50, 7, 2, 46, 44, 60, 54, 38, 49, 1,
- 5, 3, 7, 37, 9, 28, 7, 9, 24, 62,
- 104, 74, 26, 49, 49, 2, 72, 78, 93, 11,
- 10, 51, 24, 5, 0, 24, 66, 110, 90, 42,
- 53, 51, 2, 30, 44, 61, 36, 42, 38, 36,
- 40, 34, 22, 38, 36, 2, 16, 20, 8, 4,
- 11, 14, 6, 0, 10, 2, 10, 14, 2, 45,
- 0, 0, 11, 0, 23, 58, 78, 48, 34, 46,
- 52, 58, 58, 36, 15, 39, 11, 5, 3, 85,
- 1, 8, 41, 38, 10, 10, 8, 10, 3, 10,
- 14, 29, 59, 27, 31, 27, 55, 31, 28, 30,
- 20, 8, 1, 11, 21, 23, 39, 9, 54, 28,
- 18, 2, 20, 1, 11, 23, 15, 7, 54, 28,
- 18, 8, 18, 1, 11, 21, 35, 19, 54, 24,
- 16, 8, 10, 11, 23, 31, 4, 68, 42, 28,
- 14, 28, 4, 5, 11, 17, 124, 61, 51, 37,
- 45, 43, 37, 33, 29, 27, 25, 19, 9, 31,
- 31, 41, 45, 22, 41, 37, 29, 21, 19, 21,
- 15, 15, 13, 13, 15, 31, 9, 9, 22, 11,
- 27, 7, 9, 13, 3, 5, 9, 23, 5, 7,
- 19, 19, 8, 49, 15, 22, 15, 0, 11, 9,
- 3, 4, 1, 7, 3, 21, 21, 31, 102, 96,
- 100, 88, 76, 84, 82, 76, 74, 68, 72, 70,
- 48, 36, 8, 54, 50, 40, 18, 32, 26, 12,
- 22, 8, 2, 9, 17, 25, 31, 50, 44, 50,
- 28, 5, 10, 4, 19, 2, 13, 21, 53, 37,
- 47, 59, 10, 18, 29, 8, 14, 5, 23, 21,
- 23, 41, 21, 35, 37, 71, 41, 51, 69, 1,
- 29, 45, 19, 2, 10, 12, 30, 20, 34, 2,
- 28, 24, 40, 44, 50, 50, 24, 104, 56, 42,
- 30, 14, 10, 29, 41, 61, 12, 74, 62, 62,
- 44, 44, 24, 20, 8, 1, 19, 2, 10, 12,
- 30, 20, 34, 2, 28, 24, 40, 44, 50, 50,
- 24, 104, 56, 42, 30, 14, 10, 29, 41, 61,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 25 */
-
- 94, 12, 29, 94, 12, 29, 39, 9, 40, 22,
- 4, 4, 48, 84, 56, 12, 14, 14, 29, 1,
- 1, 5, 34, 29, 15, 44, 36, 41, 71, 103,
- 27, 37, 13, 29, 1, 1, 39, 5, 58, 4,
- 15, 31, 39, 45, 51, 53, 83, 1, 27, 43,
- 13, 41, 43, 71, 8, 17, 15, 29, 48, 4,
- 44, 0, 0, 0, 9, 57, 67, 4, 4, 5,
- 38, 19, 63, 13, 1, 19, 38, 34, 13, 1,
- 29, 18, 21, 11, 11, 67, 39, 47, 43, 36,
- 7, 4, 11, 15, 45, 19, 33, 3, 23, 17,
- 43, 34, 17, 10, 27, 31, 11, 21, 7, 6,
- 8, 1, 18, 12, 19, 0, 1, 7, 4, 17,
- 52, 7, 2, 46, 46, 62, 54, 40, 49, 0,
- 3, 5, 7, 37, 9, 30, 7, 7, 26, 64,
- 106, 78, 30, 51, 51, 4, 72, 80, 95, 11,
- 10, 51, 26, 5, 0, 28, 66, 110, 90, 44,
- 55, 49, 0, 26, 38, 57, 36, 42, 38, 34,
- 40, 34, 22, 38, 36, 0, 14, 20, 8, 4,
- 11, 14, 4, 0, 10, 2, 10, 12, 0, 47,
- 0, 0, 11, 1, 23, 54, 74, 46, 32, 42,
- 48, 52, 54, 34, 19, 43, 13, 9, 5, 87,
- 3, 6, 45, 36, 8, 8, 6, 6, 5, 6,
- 10, 31, 59, 27, 33, 29, 51, 27, 32, 32,
- 20, 8, 0, 9, 19, 21, 35, 7, 56, 30,
- 20, 4, 22, 0, 9, 21, 11, 5, 56, 30,
- 20, 8, 20, 0, 9, 19, 31, 17, 58, 26,
- 18, 8, 12, 9, 21, 29, 6, 70, 44, 30,
- 16, 30, 6, 3, 9, 15, 124, 57, 47, 33,
- 41, 41, 35, 29, 25, 23, 21, 15, 5, 29,
- 29, 39, 43, 30, 41, 39, 29, 19, 17, 19,
- 15, 15, 13, 13, 15, 33, 9, 9, 24, 11,
- 27, 7, 9, 13, 3, 5, 9, 23, 7, 7,
- 19, 17, 12, 49, 15, 24, 17, 0, 11, 9,
- 1, 4, 1, 5, 1, 19, 19, 35, 100, 94,
- 98, 84, 72, 78, 78, 70, 70, 64, 66, 66,
- 42, 30, 4, 46, 44, 34, 8, 26, 22, 10,
- 18, 4, 0, 11, 19, 27, 31, 46, 40, 46,
- 24, 9, 6, 2, 23, 1, 17, 25, 57, 41,
- 51, 61, 8, 16, 33, 6, 10, 7, 27, 23,
- 25, 43, 23, 35, 37, 69, 43, 53, 73, 3,
- 31, 47, 19, 4, 12, 14, 34, 22, 36, 2,
- 30, 26, 42, 46, 52, 52, 26, 102, 54, 38,
- 26, 10, 6, 33, 45, 63, 14, 74, 64, 64,
- 46, 46, 26, 22, 10, 0, 19, 4, 12, 14,
- 34, 22, 36, 2, 30, 26, 42, 46, 52, 52,
- 26, 102, 54, 38, 26, 10, 6, 33, 45, 63,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 26 */
-
- 92, 12, 29, 92, 12, 29, 35, 5, 40, 22,
- 2, 0, 46, 82, 58, 12, 16, 10, 29, 0,
- 3, 5, 36, 31, 17, 42, 32, 47, 77, 105,
- 23, 35, 13, 29, 0, 3, 39, 3, 58, 4,
- 15, 29, 35, 47, 53, 53, 83, 1, 25, 41,
- 15, 41, 43, 71, 8, 17, 15, 27, 50, 4,
- 44, 0, 0, 0, 9, 57, 67, 6, 2, 5,
- 36, 19, 61, 9, 0, 17, 40, 36, 11, 0,
- 25, 20, 19, 9, 5, 67, 41, 47, 45, 36,
- 7, 6, 5, 13, 45, 19, 29, 3, 23, 17,
- 43, 34, 17, 10, 25, 31, 9, 19, 7, 6,
- 8, 0, 18, 12, 21, 0, 1, 7, 4, 17,
- 52, 7, 2, 48, 46, 62, 54, 40, 51, 0,
- 3, 5, 7, 35, 9, 32, 5, 7, 30, 68,
- 108, 80, 34, 51, 53, 4, 74, 80, 97, 11,
- 12, 53, 28, 5, 0, 30, 66, 110, 90, 48,
- 57, 45, 1, 20, 32, 55, 36, 42, 36, 34,
- 38, 34, 20, 38, 34, 1, 12, 20, 8, 4,
- 11, 12, 4, 1, 8, 2, 10, 10, 0, 49,
- 1, 1, 11, 3, 25, 50, 70, 42, 28, 40,
- 44, 46, 48, 32, 23, 47, 17, 13, 9, 89,
- 5, 4, 47, 34, 6, 6, 2, 4, 9, 2,
- 8, 35, 59, 29, 35, 33, 49, 25, 34, 32,
- 20, 8, 2, 7, 17, 21, 31, 3, 58, 32,
- 20, 6, 26, 2, 5, 19, 5, 3, 56, 30,
- 20, 10, 22, 2, 9, 17, 29, 17, 60, 28,
- 18, 8, 14, 9, 21, 27, 8, 70, 46, 30,
- 16, 32, 8, 1, 9, 13, 124, 55, 45, 31,
- 39, 39, 31, 27, 21, 21, 17, 11, 0, 27,
- 27, 37, 41, 36, 39, 41, 27, 17, 15, 19,
- 15, 15, 13, 11, 17, 35, 9, 9, 26, 11,
- 27, 7, 9, 11, 5, 7, 9, 25, 9, 9,
- 19, 17, 14, 51, 17, 26, 17, 1, 11, 9,
- 1, 2, 3, 5, 1, 19, 19, 37, 98, 92,
- 96, 82, 66, 74, 72, 64, 64, 58, 60, 60,
- 36, 26, 0, 38, 36, 26, 1, 20, 18, 6,
- 14, 1, 3, 13, 21, 29, 31, 42, 34, 40,
- 20, 13, 2, 1, 27, 5, 21, 29, 61, 45,
- 53, 65, 6, 14, 37, 2, 8, 11, 31, 25,
- 27, 45, 25, 37, 37, 67, 47, 55, 75, 7,
- 33, 49, 19, 4, 12, 16, 36, 24, 36, 4,
- 32, 28, 44, 46, 54, 52, 26, 102, 50, 34,
- 22, 6, 2, 39, 49, 65, 14, 76, 64, 64,
- 48, 48, 26, 22, 10, 2, 19, 4, 12, 16,
- 36, 24, 36, 4, 32, 28, 44, 46, 54, 52,
- 26, 102, 50, 34, 22, 6, 2, 39, 49, 65,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 27 */
-
- 90, 12, 31, 90, 12, 31, 31, 3, 42, 22,
- 2, 1, 42, 80, 58, 14, 20, 8, 29, 4,
- 3, 7, 38, 33, 19, 40, 30, 55, 81, 107,
- 19, 31, 13, 29, 4, 3, 37, 1, 60, 4,
- 13, 27, 33, 51, 55, 53, 85, 1, 25, 41,
- 15, 43, 41, 71, 6, 17, 15, 25, 50, 4,
- 44, 0, 0, 0, 7, 57, 67, 6, 2, 7,
- 36, 17, 59, 5, 2, 15, 44, 40, 9, 2,
- 21, 22, 17, 9, 1, 69, 41, 47, 45, 38,
- 7, 8, 1, 13, 43, 17, 25, 3, 23, 17,
- 43, 36, 19, 12, 25, 31, 7, 19, 5, 6,
- 10, 2, 20, 12, 21, 0, 1, 7, 4, 17,
- 52, 7, 2, 48, 46, 64, 56, 42, 51, 2,
- 1, 7, 7, 35, 9, 34, 5, 5, 32, 70,
- 108, 84, 36, 53, 55, 6, 74, 80, 97, 13,
- 12, 53, 28, 7, 2, 32, 66, 110, 92, 50,
- 59, 43, 3, 14, 26, 51, 36, 42, 36, 32,
- 38, 32, 20, 36, 34, 1, 12, 20, 6, 4,
- 13, 12, 2, 3, 8, 2, 10, 10, 1, 53,
- 1, 3, 11, 5, 25, 44, 66, 38, 26, 36,
- 40, 40, 44, 28, 27, 51, 19, 17, 13, 93,
- 7, 0, 51, 30, 4, 4, 0, 0, 13, 1,
- 4, 37, 59, 31, 37, 35, 45, 21, 38, 34,
- 20, 8, 4, 7, 17, 19, 29, 1, 60, 34,
- 22, 6, 28, 4, 3, 17, 1, 3, 58, 32,
- 22, 10, 24, 2, 7, 15, 27, 17, 64, 30,
- 18, 8, 14, 7, 21, 27, 8, 72, 46, 32,
- 16, 34, 8, 1, 7, 13, 124, 51, 41, 27,
- 35, 35, 29, 23, 19, 17, 13, 7, 4, 27,
- 25, 37, 41, 42, 39, 43, 27, 17, 13, 19,
- 15, 15, 13, 11, 17, 37, 9, 9, 26, 11,
- 27, 7, 9, 11, 5, 7, 9, 27, 11, 9,
- 19, 17, 16, 53, 17, 28, 19, 1, 11, 9,
- 0, 2, 3, 3, 0, 19, 19, 41, 96, 90,
- 94, 78, 62, 68, 68, 58, 60, 52, 54, 54,
- 30, 20, 3, 32, 30, 18, 11, 16, 12, 2,
- 10, 5, 7, 15, 23, 31, 31, 38, 30, 36,
- 16, 17, 0, 3, 31, 9, 27, 33, 65, 49,
- 57, 67, 4, 10, 41, 0, 4, 13, 35, 29,
- 31, 47, 27, 39, 39, 65, 49, 59, 79, 9,
- 37, 51, 17, 6, 14, 16, 38, 26, 38, 4,
- 34, 30, 46, 48, 56, 54, 28, 100, 46, 30,
- 18, 2, 1, 43, 53, 67, 16, 76, 66, 66,
- 48, 50, 28, 24, 12, 2, 17, 6, 14, 16,
- 38, 26, 38, 4, 34, 30, 46, 48, 56, 54,
- 28, 100, 46, 30, 18, 2, 1, 43, 53, 67,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 28 */
-
- 86, 12, 31, 86, 12, 31, 29, 0, 42, 22,
- 0, 5, 40, 78, 60, 14, 24, 4, 29, 6,
- 3, 7, 40, 35, 23, 36, 26, 61, 85, 109,
- 15, 29, 13, 29, 6, 3, 37, 0, 60, 2,
- 11, 25, 31, 53, 59, 55, 85, 1, 25, 39,
- 15, 43, 41, 71, 6, 17, 15, 25, 52, 4,
- 44, 0, 0, 0, 7, 59, 67, 8, 0, 7,
- 34, 17, 57, 1, 4, 13, 46, 42, 9, 4,
- 17, 24, 15, 7, 2, 71, 41, 47, 45, 38,
- 9, 10, 2, 13, 41, 15, 21, 3, 23, 17,
- 43, 36, 19, 12, 23, 31, 7, 19, 5, 6,
- 10, 4, 20, 12, 21, 1, 1, 7, 4, 17,
- 52, 7, 2, 50, 46, 64, 56, 42, 53, 2,
- 0, 7, 7, 35, 9, 36, 5, 5, 34, 72,
- 110, 86, 40, 53, 57, 6, 74, 80, 99, 13,
- 14, 55, 30, 7, 2, 34, 66, 110, 92, 52,
- 61, 39, 5, 8, 20, 49, 34, 42, 34, 30,
- 36, 32, 18, 36, 32, 3, 10, 18, 6, 4,
- 13, 10, 0, 5, 6, 0, 8, 8, 1, 55,
- 3, 5, 11, 9, 27, 40, 62, 34, 22, 32,
- 36, 32, 38, 26, 31, 57, 23, 21, 17, 95,
- 11, 1, 55, 28, 2, 2, 1, 1, 17, 5,
- 0, 41, 59, 33, 39, 39, 43, 19, 40, 34,
- 20, 8, 6, 5, 15, 17, 25, 0, 62, 34,
- 24, 8, 30, 6, 0, 15, 2, 1, 58, 32,
- 22, 12, 26, 4, 7, 15, 25, 17, 66, 32,
- 18, 8, 16, 7, 21, 25, 10, 72, 48, 32,
- 16, 36, 10, 0, 7, 11, 124, 49, 39, 25,
- 31, 33, 25, 21, 15, 15, 11, 3, 8, 25,
- 23, 35, 39, 48, 39, 45, 27, 15, 13, 19,
- 15, 15, 15, 9, 17, 39, 9, 9, 28, 11,
- 27, 7, 9, 11, 7, 7, 9, 29, 13, 9,
- 19, 17, 18, 55, 17, 28, 21, 1, 11, 9,
- 0, 2, 5, 3, 2, 19, 19, 43, 94, 88,
- 92, 74, 58, 64, 62, 52, 54, 46, 46, 48,
- 22, 14, 7, 24, 22, 10, 21, 10, 8, 1,
- 6, 11, 11, 19, 25, 33, 31, 32, 26, 32,
- 12, 21, 3, 7, 35, 13, 31, 37, 69, 55,
- 61, 69, 2, 8, 47, 3, 0, 17, 39, 31,
- 33, 49, 29, 41, 39, 63, 51, 61, 81, 11,
- 39, 53, 17, 6, 14, 18, 40, 26, 40, 4,
- 36, 32, 48, 48, 58, 54, 30, 100, 42, 26,
- 14, 1, 5, 47, 57, 71, 16, 78, 66, 68,
- 50, 50, 28, 24, 12, 4, 17, 6, 14, 18,
- 40, 26, 40, 4, 36, 32, 48, 48, 58, 54,
- 30, 100, 42, 26, 14, 1, 5, 47, 57, 71,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 29 */
-
- 84, 12, 31, 84, 12, 31, 25, 2, 42, 22,
- 0, 9, 36, 76, 62, 14, 26, 0, 27, 10,
- 5, 7, 42, 37, 25, 34, 22, 67, 91, 109,
- 11, 27, 13, 27, 10, 5, 37, 2, 60, 2,
- 11, 23, 27, 55, 61, 55, 85, 1, 23, 37,
- 17, 43, 41, 71, 6, 15, 15, 23, 52, 4,
- 44, 0, 0, 0, 5, 59, 67, 8, 1, 7,
- 34, 15, 53, 4, 6, 11, 50, 46, 7, 6,
- 13, 26, 13, 5, 8, 71, 43, 47, 47, 38,
- 9, 12, 8, 11, 41, 15, 17, 3, 23, 17,
- 41, 36, 19, 14, 21, 29, 5, 17, 5, 8,
- 12, 6, 22, 12, 23, 1, 0, 7, 4, 17,
- 54, 7, 2, 50, 48, 64, 56, 42, 53, 4,
- 0, 9, 7, 33, 9, 38, 3, 3, 38, 76,
- 112, 90, 44, 55, 59, 8, 76, 80, 101, 13,
- 14, 55, 32, 7, 2, 38, 66, 110, 92, 56,
- 63, 37, 7, 4, 14, 47, 34, 42, 34, 30,
- 36, 32, 18, 36, 32, 5, 8, 18, 6, 4,
- 13, 10, 0, 7, 6, 0, 8, 6, 3, 57,
- 5, 5, 11, 11, 27, 36, 58, 32, 20, 30,
- 32, 26, 34, 24, 35, 61, 25, 25, 21, 97,
- 13, 3, 57, 26, 0, 0, 5, 5, 21, 9,
- 1, 43, 59, 35, 41, 43, 39, 15, 42, 36,
- 20, 8, 8, 3, 13, 17, 21, 4, 64, 36,
- 24, 10, 34, 8, 2, 13, 8, 0, 60, 34,
- 24, 12, 28, 6, 5, 13, 23, 15, 68, 34,
- 18, 8, 18, 5, 19, 23, 12, 72, 50, 32,
- 16, 38, 12, 2, 5, 9, 124, 47, 35, 21,
- 29, 31, 23, 17, 11, 11, 7, 0, 14, 23,
- 21, 33, 37, 54, 37, 47, 25, 13, 11, 19,
- 15, 15, 15, 9, 19, 41, 9, 9, 30, 11,
- 27, 7, 9, 9, 7, 9, 9, 31, 15, 11,
- 19, 17, 20, 55, 19, 30, 21, 3, 11, 9,
- 0, 0, 5, 3, 2, 19, 19, 47, 92, 86,
- 90, 72, 52, 58, 56, 46, 50, 40, 40, 42,
- 16, 10, 11, 16, 16, 2, 31, 4, 4, 3,
- 2, 15, 15, 21, 27, 35, 31, 28, 20, 26,
- 8, 25, 7, 9, 39, 17, 35, 41, 73, 59,
- 63, 73, 0, 6, 51, 5, 1, 19, 43, 33,
- 35, 51, 31, 43, 39, 61, 55, 63, 85, 15,
- 41, 55, 17, 8, 16, 20, 42, 28, 40, 6,
- 38, 34, 50, 50, 60, 56, 30, 98, 38, 22,
- 10, 5, 9, 53, 61, 73, 18, 78, 68, 68,
- 52, 52, 30, 26, 12, 6, 17, 8, 16, 20,
- 42, 28, 40, 6, 38, 34, 50, 50, 60, 56,
- 30, 98, 38, 22, 10, 5, 9, 53, 61, 73,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 30 */
-
- 82, 12, 31, 82, 12, 31, 21, 6, 44, 22,
- 1, 13, 34, 74, 62, 14, 30, 1, 27, 12,
- 5, 9, 44, 39, 27, 32, 18, 75, 95, 111,
- 7, 23, 13, 27, 12, 5, 35, 4, 62, 2,
- 9, 21, 25, 57, 63, 55, 87, 1, 23, 35,
- 17, 45, 41, 71, 6, 15, 15, 21, 54, 4,
- 44, 0, 0, 0, 5, 59, 67, 10, 3, 7,
- 32, 15, 51, 8, 8, 9, 52, 48, 5, 8,
- 9, 28, 11, 3, 12, 73, 43, 47, 47, 40,
- 9, 14, 12, 11, 39, 13, 13, 3, 23, 17,
- 41, 38, 19, 14, 19, 29, 3, 17, 5, 8,
- 12, 8, 22, 12, 23, 1, 0, 7, 4, 17,
- 54, 7, 2, 52, 48, 66, 56, 44, 55, 4,
- 2, 9, 7, 33, 9, 40, 3, 3, 40, 78,
- 114, 92, 48, 55, 61, 8, 76, 80, 103, 13,
- 16, 57, 32, 7, 2, 40, 66, 110, 92, 58,
- 65, 33, 9, 1, 8, 43, 34, 42, 32, 28,
- 34, 30, 16, 36, 30, 7, 6, 18, 6, 4,
- 15, 8, 1, 9, 4, 0, 8, 4, 3, 59,
- 5, 7, 11, 13, 29, 32, 54, 28, 16, 26,
- 28, 20, 28, 22, 39, 65, 29, 29, 25, 101,
- 15, 5, 61, 24, 1, 1, 7, 7, 25, 13,
- 5, 47, 59, 37, 43, 45, 37, 13, 46, 36,
- 20, 8, 10, 1, 11, 15, 17, 6, 66, 38,
- 26, 10, 36, 10, 6, 11, 12, 0, 60, 34,
- 24, 14, 30, 6, 5, 11, 21, 15, 72, 36,
- 18, 8, 20, 5, 19, 21, 14, 74, 52, 34,
- 16, 40, 12, 4, 5, 9, 124, 43, 33, 19,
- 25, 29, 19, 15, 9, 9, 3, 4, 18, 23,
- 19, 33, 35, 60, 37, 49, 25, 11, 9, 19,
- 15, 15, 15, 7, 19, 43, 9, 9, 30, 11,
- 27, 7, 9, 9, 9, 9, 9, 33, 17, 11,
- 19, 17, 22, 57, 19, 32, 23, 3, 11, 9,
- 2, 0, 7, 1, 4, 19, 19, 49, 90, 84,
- 88, 68, 48, 54, 52, 40, 44, 34, 34, 36,
- 10, 4, 15, 8, 8, 5, 41, 1, 0, 7,
- 1, 21, 19, 23, 29, 37, 31, 24, 16, 22,
- 4, 29, 11, 13, 43, 21, 39, 45, 77, 63,
- 67, 75, 1, 4, 55, 9, 5, 23, 47, 37,
- 39, 53, 33, 45, 39, 59, 57, 67, 87, 17,
- 43, 57, 17, 8, 16, 20, 44, 30, 42, 6,
- 40, 36, 52, 50, 62, 56, 32, 98, 34, 18,
- 6, 9, 13, 57, 65, 75, 18, 80, 68, 70,
- 52, 54, 30, 26, 14, 6, 17, 8, 16, 20,
- 44, 30, 42, 6, 40, 36, 52, 50, 62, 56,
- 32, 98, 34, 18, 6, 9, 13, 57, 65, 75,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 31 */
-
- 80, 12, 31, 80, 12, 31, 17, 8, 44, 22,
- 1, 17, 30, 72, 64, 14, 34, 5, 27, 16,
- 5, 9, 46, 41, 29, 30, 14, 81, 99, 113,
- 3, 21, 13, 27, 16, 5, 35, 6, 62, 2,
- 7, 19, 23, 59, 65, 55, 87, 1, 23, 33,
- 17, 45, 41, 71, 6, 15, 15, 19, 54, 4,
- 44, 0, 0, 0, 3, 59, 67, 10, 5, 7,
- 32, 13, 49, 12, 10, 7, 56, 52, 3, 10,
- 5, 30, 9, 1, 16, 75, 43, 47, 47, 40,
- 9, 16, 16, 11, 37, 11, 9, 3, 23, 17,
- 41, 38, 19, 16, 17, 29, 1, 17, 5, 8,
- 14, 10, 24, 12, 23, 1, 0, 7, 4, 17,
- 54, 7, 2, 52, 48, 66, 56, 44, 55, 6,
- 4, 11, 7, 33, 9, 42, 3, 1, 42, 80,
- 116, 96, 52, 57, 63, 10, 76, 80, 105, 13,
- 16, 57, 34, 7, 2, 42, 66, 110, 92, 60,
- 67, 31, 11, 7, 2, 41, 34, 42, 32, 26,
- 34, 30, 16, 36, 30, 9, 4, 18, 6, 4,
- 15, 8, 3, 11, 4, 0, 8, 2, 5, 61,
- 7, 9, 11, 15, 29, 28, 50, 24, 14, 22,
- 24, 14, 24, 20, 43, 69, 31, 33, 29, 103,
- 17, 7, 65, 22, 3, 3, 9, 11, 29, 17,
- 9, 49, 59, 39, 45, 49, 33, 9, 48, 38,
- 20, 8, 12, 0, 9, 13, 13, 8, 68, 40,
- 28, 12, 38, 12, 8, 9, 16, 2, 62, 36,
- 26, 14, 32, 8, 3, 9, 19, 15, 74, 38,
- 18, 8, 22, 3, 19, 19, 16, 74, 54, 34,
- 16, 42, 14, 6, 3, 7, 124, 41, 29, 15,
- 21, 27, 17, 11, 5, 5, 0, 8, 22, 21,
- 17, 31, 33, 66, 37, 51, 25, 9, 7, 19,
- 15, 15, 15, 7, 19, 45, 9, 9, 32, 11,
- 27, 7, 9, 9, 9, 9, 9, 35, 19, 11,
- 19, 17, 24, 59, 19, 34, 25, 3, 11, 9,
- 2, 0, 7, 1, 6, 19, 19, 53, 88, 82,
- 86, 64, 44, 48, 46, 34, 40, 28, 28, 30,
- 4, 1, 19, 0, 2, 13, 51, 7, 3, 11,
- 5, 25, 23, 25, 31, 39, 31, 20, 12, 18,
- 0, 33, 15, 15, 47, 25, 43, 49, 81, 67,
- 71, 77, 3, 2, 59, 11, 9, 25, 51, 39,
- 41, 55, 35, 47, 39, 57, 59, 69, 91, 19,
- 45, 59, 17, 10, 18, 22, 46, 32, 44, 6,
- 42, 38, 54, 52, 64, 58, 34, 96, 30, 14,
- 2, 13, 17, 61, 69, 77, 20, 80, 70, 72,
- 54, 56, 32, 28, 14, 8, 17, 10, 18, 22,
- 46, 32, 44, 6, 42, 38, 54, 52, 64, 58,
- 34, 96, 30, 14, 2, 13, 17, 61, 69, 77,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 32 */
-
- 76, 10, 33, 76, 10, 33, 15, 10, 44, 22,
- 3, 21, 26, 70, 64, 14, 36, 9, 27, 18,
- 7, 11, 48, 43, 33, 26, 10, 89, 105, 115,
- 0, 19, 13, 27, 18, 7, 35, 6, 62, 0,
- 7, 19, 21, 63, 69, 57, 89, 3, 23, 33,
- 19, 47, 41, 71, 4, 15, 15, 19, 54, 2,
- 44, 0, 0, 0, 3, 61, 67, 10, 7, 9,
- 30, 13, 47, 16, 12, 7, 58, 54, 3, 12,
- 3, 30, 7, 1, 20, 77, 45, 49, 49, 40,
- 11, 16, 20, 11, 37, 11, 7, 3, 23, 17,
- 41, 38, 21, 16, 17, 29, 1, 17, 5, 8,
- 14, 12, 24, 12, 25, 3, 0, 7, 2, 17,
- 54, 7, 2, 52, 48, 66, 56, 44, 57, 6,
- 4, 13, 7, 33, 11, 42, 3, 1, 44, 82,
- 116, 98, 54, 59, 67, 10, 76, 80, 107, 15,
- 16, 59, 34, 9, 2, 44, 66, 108, 92, 62,
- 69, 29, 15, 13, 5, 39, 32, 42, 30, 24,
- 32, 28, 14, 34, 28, 11, 2, 16, 4, 2,
- 17, 6, 5, 13, 2, 1, 6, 0, 7, 65,
- 9, 11, 11, 19, 31, 22, 44, 20, 10, 18,
- 18, 6, 18, 16, 47, 75, 35, 39, 33, 107,
- 21, 11, 69, 18, 5, 5, 13, 15, 33, 21,
- 13, 53, 59, 41, 47, 53, 31, 7, 50, 38,
- 20, 8, 12, 0, 9, 13, 11, 10, 68, 40,
- 28, 12, 40, 14, 10, 9, 20, 2, 62, 36,
- 26, 14, 32, 8, 3, 9, 17, 15, 76, 40,
- 18, 6, 22, 3, 19, 19, 16, 74, 54, 34,
- 16, 44, 14, 6, 3, 7, 124, 39, 27, 13,
- 19, 25, 15, 9, 3, 3, 2, 10, 26, 21,
- 17, 31, 33, 72, 37, 55, 25, 9, 7, 19,
- 15, 15, 17, 7, 21, 47, 11, 9, 32, 13,
- 27, 9, 9, 9, 11, 11, 11, 37, 21, 13,
- 21, 17, 26, 61, 21, 34, 27, 5, 11, 11,
- 2, 1, 9, 1, 6, 19, 19, 57, 84, 80,
- 82, 60, 38, 42, 40, 28, 34, 22, 20, 24,
- 3, 7, 23, 7, 5, 21, 63, 13, 9, 15,
- 11, 31, 27, 29, 35, 41, 31, 14, 6, 12,
- 3, 39, 19, 19, 53, 29, 49, 53, 87, 73,
- 75, 81, 7, 1, 65, 15, 13, 29, 55, 43,
- 45, 57, 37, 49, 41, 55, 63, 73, 95, 23,
- 49, 63, 17, 10, 18, 22, 48, 32, 44, 6,
- 44, 38, 56, 52, 64, 58, 34, 94, 26, 10,
- 3, 19, 21, 67, 73, 81, 20, 80, 70, 72,
- 54, 56, 32, 28, 14, 8, 17, 10, 18, 22,
- 48, 32, 44, 6, 44, 38, 56, 52, 64, 58,
- 34, 94, 26, 10, 3, 19, 21, 67, 73, 81,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 33 */
-
- 74, 10, 33, 74, 10, 33, 11, 14, 46, 24,
- 3, 23, 24, 70, 66, 16, 40, 11, 25, 22,
- 7, 11, 52, 43, 35, 24, 8, 95, 109, 115,
- 4, 15, 11, 25, 22, 7, 33, 8, 64, 0,
- 5, 17, 17, 65, 71, 57, 89, 3, 21, 31,
- 19, 47, 39, 69, 4, 13, 13, 17, 56, 2,
- 44, 0, 0, 0, 1, 61, 67, 12, 7, 9,
- 30, 11, 43, 22, 16, 5, 62, 58, 1, 16,
- 0, 32, 3, 0, 26, 77, 45, 49, 49, 42,
- 11, 18, 26, 9, 35, 9, 3, 3, 21, 17,
- 39, 40, 21, 18, 15, 27, 0, 15, 3, 10,
- 16, 14, 26, 14, 25, 3, 2, 5, 2, 15,
- 56, 5, 2, 54, 50, 68, 58, 46, 57, 8,
- 6, 13, 7, 31, 11, 44, 1, 0, 48, 86,
- 118, 102, 58, 59, 69, 12, 78, 82, 107, 15,
- 18, 59, 36, 9, 4, 48, 66, 108, 94, 66,
- 71, 25, 17, 17, 11, 35, 32, 42, 30, 24,
- 32, 28, 14, 34, 28, 11, 2, 16, 4, 2,
- 17, 6, 5, 13, 2, 1, 6, 0, 7, 67,
- 9, 11, 11, 21, 31, 18, 40, 18, 8, 16,
- 14, 0, 14, 14, 49, 79, 37, 43, 35, 109,
- 23, 13, 71, 16, 5, 5, 15, 17, 35, 23,
- 15, 55, 59, 41, 47, 55, 27, 3, 54, 40,
- 20, 8, 14, 2, 7, 11, 7, 14, 70, 42,
- 30, 14, 44, 16, 14, 7, 26, 4, 64, 38,
- 28, 16, 34, 10, 1, 7, 13, 13, 80, 42,
- 20, 6, 24, 1, 17, 17, 18, 76, 56, 36,
- 18, 46, 16, 8, 1, 5, 124, 35, 23, 9,
- 15, 21, 11, 5, 0, 0, 6, 14, 32, 19,
- 15, 29, 31, 80, 35, 57, 23, 7, 5, 17,
- 15, 13, 17, 5, 21, 47, 11, 9, 34, 13,
- 27, 9, 9, 7, 11, 11, 11, 37, 21, 13,
- 21, 15, 30, 61, 21, 36, 27, 5, 11, 11,
- 4, 1, 9, 0, 8, 17, 17, 59, 82, 78,
- 80, 58, 34, 38, 36, 22, 30, 18, 14, 20,
- 9, 11, 27, 13, 11, 27, 73, 17, 13, 17,
- 15, 35, 29, 31, 37, 41, 31, 10, 2, 8,
- 7, 43, 21, 21, 57, 31, 53, 55, 91, 77,
- 77, 83, 9, 3, 69, 17, 15, 31, 57, 45,
- 47, 59, 37, 49, 41, 53, 65, 75, 97, 25,
- 51, 65, 15, 12, 20, 24, 52, 34, 46, 8,
- 48, 40, 58, 54, 66, 60, 36, 94, 24, 8,
- 7, 23, 23, 71, 75, 83, 22, 82, 72, 74,
- 56, 58, 34, 30, 16, 10, 15, 12, 20, 24,
- 52, 34, 46, 8, 48, 40, 58, 54, 66, 60,
- 36, 94, 24, 8, 7, 23, 23, 71, 75, 83,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 34 */
-
- 72, 10, 33, 72, 10, 33, 7, 16, 46, 24,
- 3, 27, 20, 68, 68, 16, 44, 15, 25, 24,
- 7, 11, 54, 45, 37, 22, 4, 101, 113, 117,
- 8, 13, 11, 25, 24, 7, 33, 10, 64, 0,
- 3, 15, 15, 67, 73, 57, 89, 3, 21, 29,
- 19, 47, 39, 69, 4, 13, 13, 15, 56, 2,
- 44, 0, 0, 0, 0, 61, 67, 12, 9, 9,
- 30, 9, 41, 26, 18, 3, 66, 62, 0, 18,
- 4, 34, 1, 2, 30, 79, 45, 49, 49, 42,
- 11, 20, 30, 9, 33, 7, 0, 3, 21, 17,
- 39, 40, 21, 18, 13, 27, 2, 15, 3, 10,
- 16, 16, 28, 14, 25, 3, 2, 5, 2, 15,
- 56, 5, 2, 54, 50, 68, 58, 46, 59, 10,
- 8, 15, 7, 31, 11, 46, 1, 0, 50, 88,
- 120, 106, 62, 61, 71, 12, 78, 82, 109, 15,
- 18, 61, 38, 9, 4, 50, 66, 108, 94, 68,
- 73, 23, 19, 23, 17, 33, 32, 42, 30, 22,
- 30, 28, 14, 34, 26, 13, 0, 16, 4, 2,
- 17, 4, 7, 15, 2, 1, 6, 1, 9, 69,
- 11, 13, 11, 23, 33, 14, 36, 14, 4, 12,
- 10, 5, 10, 12, 53, 83, 41, 47, 39, 111,
- 25, 15, 75, 14, 7, 7, 17, 21, 39, 27,
- 19, 59, 59, 43, 49, 59, 25, 1, 56, 42,
- 20, 8, 16, 4, 5, 9, 3, 16, 72, 44,
- 32, 16, 46, 18, 16, 5, 30, 6, 64, 38,
- 28, 16, 36, 12, 0, 5, 11, 13, 82, 44,
- 20, 6, 26, 0, 17, 15, 20, 76, 58, 36,
- 18, 48, 18, 10, 0, 3, 124, 33, 19, 5,
- 11, 19, 9, 1, 4, 2, 10, 18, 36, 17,
- 13, 27, 29, 86, 35, 59, 23, 5, 3, 17,
- 15, 13, 17, 5, 21, 49, 11, 9, 36, 13,
- 27, 9, 9, 7, 11, 11, 11, 39, 23, 13,
- 21, 15, 32, 63, 21, 38, 29, 5, 11, 11,
- 4, 1, 9, 0, 10, 17, 17, 63, 80, 76,
- 78, 54, 30, 32, 30, 16, 26, 12, 8, 14,
- 15, 17, 31, 21, 19, 35, 83, 23, 17, 21,
- 19, 39, 33, 33, 39, 43, 31, 6, 1, 4,
- 11, 47, 25, 25, 61, 35, 57, 59, 95, 81,
- 81, 85, 11, 5, 73, 21, 19, 35, 61, 47,
- 49, 61, 39, 51, 41, 51, 67, 77, 101, 27,
- 53, 67, 15, 12, 22, 26, 54, 36, 48, 8,
- 50, 42, 60, 54, 68, 62, 38, 92, 20, 4,
- 11, 27, 27, 75, 79, 85, 24, 82, 72, 76,
- 58, 60, 34, 32, 16, 12, 15, 12, 22, 26,
- 54, 36, 48, 8, 50, 42, 60, 54, 68, 62,
- 38, 92, 20, 4, 11, 27, 27, 75, 79, 85,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 35 */
-
- 70, 10, 33, 70, 10, 33, 3, 20, 48, 24,
- 5, 31, 18, 66, 68, 16, 48, 17, 25, 28,
- 7, 13, 56, 47, 39, 20, 0, 109, 117, 119,
- 12, 9, 11, 25, 28, 7, 31, 12, 66, 0,
- 1, 13, 13, 69, 75, 57, 91, 3, 21, 27,
- 19, 49, 39, 69, 4, 13, 13, 13, 58, 2,
- 44, 0, 0, 0, 0, 61, 67, 14, 11, 9,
- 28, 9, 39, 30, 20, 1, 68, 64, 2, 20,
- 8, 36, 0, 4, 34, 81, 45, 49, 49, 44,
- 11, 22, 34, 9, 31, 5, 4, 3, 21, 17,
- 39, 42, 21, 20, 11, 27, 4, 15, 3, 10,
- 18, 18, 28, 14, 25, 3, 2, 5, 2, 15,
- 56, 5, 2, 56, 50, 70, 58, 48, 59, 10,
- 10, 15, 7, 31, 11, 48, 1, 2, 52, 90,
- 122, 108, 66, 61, 73, 14, 78, 82, 111, 15,
- 20, 61, 38, 9, 4, 52, 66, 108, 94, 70,
- 75, 19, 21, 29, 23, 29, 32, 42, 28, 20,
- 30, 26, 12, 34, 26, 15, 1, 16, 4, 2,
- 19, 4, 9, 17, 0, 1, 6, 3, 9, 71,
- 11, 15, 11, 25, 33, 10, 32, 10, 2, 8,
- 6, 11, 4, 10, 57, 87, 43, 51, 43, 115,
- 27, 17, 79, 12, 9, 9, 19, 23, 43, 31,
- 23, 61, 59, 45, 51, 61, 21, 2, 60, 42,
- 20, 8, 18, 6, 3, 7, 0, 18, 74, 46,
- 34, 16, 48, 20, 20, 3, 34, 6, 66, 40,
- 30, 18, 38, 12, 0, 3, 9, 13, 86, 46,
- 20, 6, 28, 0, 17, 13, 22, 78, 60, 38,
- 18, 50, 18, 12, 0, 3, 124, 29, 17, 3,
- 7, 17, 5, 0, 6, 6, 14, 22, 40, 17,
- 11, 27, 27, 92, 35, 61, 23, 3, 1, 17,
- 15, 13, 17, 3, 21, 51, 11, 9, 36, 13,
- 27, 9, 9, 7, 13, 11, 11, 41, 25, 13,
- 21, 15, 34, 65, 21, 40, 31, 5, 11, 11,
- 6, 1, 11, 2, 12, 17, 17, 65, 78, 74,
- 76, 50, 26, 28, 26, 10, 20, 6, 2, 8,
- 21, 23, 35, 29, 25, 43, 93, 29, 21, 25,
- 23, 45, 37, 35, 41, 45, 31, 2, 5, 0,
- 15, 51, 29, 27, 65, 39, 61, 63, 99, 85,
- 85, 87, 13, 7, 77, 23, 23, 37, 65, 51,
- 53, 63, 41, 53, 41, 49, 69, 81, 103, 29,
- 55, 69, 15, 14, 22, 26, 56, 38, 50, 8,
- 52, 44, 62, 56, 70, 62, 40, 92, 16, 0,
- 15, 31, 31, 79, 83, 87, 24, 84, 74, 78,
- 58, 62, 36, 32, 18, 12, 15, 14, 22, 26,
- 56, 38, 50, 8, 52, 44, 62, 56, 70, 62,
- 40, 92, 16, 0, 15, 31, 31, 79, 83, 87,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 36 */
-
- 66, 10, 33, 66, 10, 33, 1, 22, 48, 24,
- 5, 35, 14, 64, 70, 16, 50, 21, 25, 30,
- 9, 13, 58, 49, 43, 16, 3, 115, 123, 121,
- 16, 7, 11, 25, 30, 9, 31, 14, 66, 1,
- 1, 11, 9, 71, 79, 59, 91, 3, 19, 25,
- 21, 49, 39, 69, 4, 13, 13, 13, 58, 2,
- 44, 0, 0, 0, 2, 63, 67, 14, 13, 9,
- 28, 7, 37, 34, 22, 0, 72, 68, 2, 22,
- 12, 38, 2, 6, 40, 81, 47, 49, 51, 44,
- 13, 24, 40, 7, 31, 5, 8, 3, 21, 17,
- 39, 42, 21, 20, 9, 27, 4, 13, 3, 10,
- 18, 20, 30, 14, 27, 5, 2, 5, 2, 15,
- 56, 5, 2, 56, 50, 70, 58, 48, 61, 12,
- 10, 17, 7, 29, 11, 50, 0, 2, 56, 94,
- 124, 112, 70, 63, 75, 14, 80, 82, 113, 15,
- 20, 63, 40, 9, 4, 54, 66, 108, 94, 74,
- 77, 17, 23, 35, 29, 27, 30, 42, 28, 20,
- 28, 26, 12, 34, 24, 17, 3, 14, 4, 2,
- 19, 2, 9, 19, 0, 3, 4, 5, 11, 73,
- 13, 17, 11, 29, 35, 6, 28, 6, 1, 6,
- 2, 19, 0, 8, 61, 93, 47, 55, 47, 117,
- 31, 19, 81, 10, 11, 11, 23, 27, 47, 35,
- 25, 65, 59, 47, 53, 65, 19, 4, 62, 44,
- 20, 8, 20, 8, 1, 7, 4, 22, 76, 46,
- 34, 18, 52, 22, 22, 1, 40, 8, 66, 40,
- 30, 18, 40, 14, 2, 3, 7, 13, 88, 48,
- 20, 6, 30, 2, 17, 11, 24, 78, 62, 38,
- 18, 52, 20, 14, 2, 1, 124, 27, 13, 0,
- 5, 15, 3, 4, 10, 8, 16, 26, 46, 15,
- 9, 25, 25, 98, 33, 63, 21, 1, 1, 17,
- 15, 13, 19, 3, 23, 53, 11, 9, 38, 13,
- 27, 9, 9, 5, 13, 13, 11, 43, 27, 15,
- 21, 15, 36, 67, 23, 40, 31, 7, 11, 11,
- 6, 3, 11, 2, 12, 17, 17, 69, 76, 72,
- 74, 48, 20, 22, 20, 4, 16, 0, 5, 2,
- 29, 27, 39, 37, 33, 51, 103, 35, 25, 29,
- 27, 49, 41, 39, 43, 47, 31, 3, 11, 5,
- 19, 55, 33, 31, 69, 43, 65, 67, 103, 91,
- 87, 91, 15, 9, 83, 27, 25, 41, 69, 53,
- 55, 65, 43, 55, 41, 47, 73, 83, 107, 33,
- 57, 71, 15, 14, 24, 28, 58, 38, 50, 10,
- 54, 46, 64, 56, 72, 64, 40, 90, 12, 3,
- 19, 35, 35, 85, 87, 91, 26, 84, 74, 78,
- 60, 62, 36, 34, 18, 14, 15, 14, 24, 28,
- 58, 38, 50, 10, 54, 46, 64, 56, 72, 64,
- 40, 90, 12, 3, 19, 35, 35, 85, 87, 91,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 37 */
-
- 64, 10, 33, 64, 10, 33, 2, 26, 48, 24,
- 7, 39, 12, 62, 72, 16, 54, 25, 23, 34,
- 9, 13, 60, 51, 45, 14, 7, 121, 125, 121,
- 20, 5, 11, 23, 34, 9, 31, 16, 66, 1,
- 0, 9, 7, 73, 81, 59, 91, 3, 19, 23,
- 21, 49, 39, 69, 4, 11, 13, 11, 60, 2,
- 44, 0, 0, 0, 2, 63, 67, 16, 15, 9,
- 26, 7, 33, 40, 24, 2, 74, 70, 4, 24,
- 16, 40, 4, 8, 44, 83, 47, 49, 51, 44,
- 13, 26, 44, 7, 29, 3, 12, 3, 21, 17,
- 37, 42, 21, 22, 7, 25, 6, 13, 3, 12,
- 20, 22, 30, 14, 27, 5, 4, 5, 2, 15,
- 58, 5, 2, 58, 52, 70, 58, 48, 61, 12,
- 12, 17, 7, 29, 11, 52, 0, 4, 58, 96,
- 124, 114, 74, 63, 77, 16, 80, 82, 115, 15,
- 22, 63, 42, 9, 4, 58, 66, 108, 94, 76,
- 79, 13, 25, 39, 35, 25, 30, 42, 26, 18,
- 28, 26, 10, 34, 24, 19, 5, 14, 4, 2,
- 19, 2, 11, 21, 1, 3, 4, 7, 11, 75,
- 15, 17, 11, 31, 35, 2, 24, 4, 3, 2,
- 1, 25, 5, 6, 65, 97, 49, 59, 51, 119,
- 33, 21, 85, 8, 13, 13, 25, 29, 51, 39,
- 29, 67, 59, 49, 55, 69, 15, 8, 64, 44,
- 20, 8, 22, 10, 0, 5, 8, 24, 78, 48,
- 36, 20, 54, 24, 26, 0, 44, 10, 68, 42,
- 32, 20, 42, 16, 2, 1, 5, 11, 90, 50,
- 20, 6, 32, 2, 15, 9, 26, 78, 64, 38,
- 18, 54, 22, 16, 2, 0, 124, 25, 11, 2,
- 1, 13, 0, 6, 14, 12, 20, 30, 50, 13,
- 7, 23, 23, 104, 33, 65, 21, 0, 0, 17,
- 15, 13, 19, 1, 23, 55, 11, 9, 40, 13,
- 27, 9, 9, 5, 15, 13, 11, 45, 29, 15,
- 21, 15, 38, 67, 23, 42, 33, 7, 11, 11,
- 6, 3, 13, 2, 14, 17, 17, 71, 74, 70,
- 72, 44, 16, 18, 14, 1, 10, 5, 11, 3,
- 35, 33, 43, 45, 39, 59, 113, 41, 29, 31,
- 31, 55, 45, 41, 45, 49, 31, 7, 15, 9,
- 23, 59, 37, 33, 73, 47, 69, 71, 107, 95,
- 91, 93, 17, 11, 87, 29, 29, 43, 73, 55,
- 57, 67, 45, 57, 41, 45, 75, 85, 109, 35,
- 59, 73, 15, 16, 24, 30, 60, 40, 52, 10,
- 56, 48, 66, 58, 74, 64, 42, 90, 8, 7,
- 23, 39, 39, 89, 91, 93, 26, 86, 76, 80,
- 62, 64, 38, 34, 18, 16, 15, 16, 24, 30,
- 60, 40, 52, 10, 56, 48, 66, 58, 74, 64,
- 42, 90, 8, 7, 23, 39, 39, 89, 91, 93,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 38 */
-
- 62, 10, 35, 62, 10, 35, 6, 28, 50, 24,
- 7, 41, 8, 60, 72, 18, 58, 27, 23, 36,
- 9, 15, 62, 53, 47, 12, 9, 125, 125, 123,
- 24, 1, 11, 23, 36, 9, 29, 18, 68, 1,
- 2, 7, 5, 77, 83, 59, 93, 3, 19, 23,
- 21, 51, 37, 69, 2, 11, 13, 9, 60, 2,
- 44, 0, 0, 0, 4, 63, 67, 16, 15, 11,
- 26, 5, 31, 44, 26, 4, 78, 74, 6, 26,
- 20, 42, 6, 8, 48, 85, 47, 49, 51, 46,
- 13, 28, 48, 7, 27, 1, 16, 3, 21, 17,
- 37, 44, 23, 22, 7, 25, 8, 13, 1, 12,
- 20, 24, 32, 14, 27, 5, 4, 5, 2, 15,
- 58, 5, 2, 58, 52, 72, 60, 50, 63, 14,
- 14, 19, 7, 29, 11, 54, 0, 4, 60, 98,
- 124, 118, 76, 65, 79, 16, 80, 82, 115, 17,
- 22, 65, 42, 11, 6, 60, 66, 108, 96, 78,
- 81, 11, 27, 45, 41, 21, 30, 42, 26, 16,
- 26, 24, 10, 32, 22, 19, 5, 14, 2, 2,
- 21, 0, 13, 23, 1, 3, 4, 7, 13, 79,
- 15, 19, 11, 33, 37, 3, 20, 0, 7, 1,
- 5, 31, 9, 2, 69, 101, 53, 63, 55, 123,
- 35, 25, 89, 4, 15, 15, 27, 33, 55, 43,
- 33, 71, 59, 51, 57, 71, 13, 10, 68, 46,
- 20, 8, 24, 10, 0, 3, 10, 26, 80, 50,
- 38, 20, 56, 26, 28, 2, 48, 10, 68, 42,
- 32, 20, 44, 16, 4, 0, 3, 11, 94, 52,
- 20, 6, 32, 4, 15, 9, 26, 80, 64, 40,
- 18, 56, 22, 16, 4, 0, 124, 21, 7, 6,
- 2, 9, 2, 10, 16, 14, 24, 34, 54, 13,
- 5, 23, 23, 110, 33, 67, 21, 0, 2, 17,
- 15, 13, 19, 1, 23, 57, 11, 9, 40, 13,
- 27, 9, 9, 5, 15, 13, 11, 47, 31, 15,
- 21, 15, 40, 69, 23, 44, 35, 7, 11, 11,
- 8, 3, 13, 4, 16, 17, 17, 75, 72, 68,
- 70, 40, 12, 12, 10, 7, 6, 11, 17, 9,
- 41, 39, 47, 51, 47, 67, 123, 45, 35, 35,
- 35, 59, 49, 43, 47, 51, 31, 11, 19, 13,
- 27, 63, 39, 37, 77, 51, 75, 75, 111, 99,
- 95, 95, 19, 15, 91, 33, 33, 47, 77, 59,
- 61, 69, 47, 59, 43, 43, 77, 89, 113, 37,
- 63, 75, 13, 16, 26, 30, 62, 42, 54, 10,
- 58, 50, 68, 58, 76, 66, 44, 88, 4, 11,
- 27, 43, 43, 93, 95, 95, 28, 86, 76, 82,
- 62, 66, 38, 36, 20, 16, 13, 16, 26, 30,
- 62, 42, 54, 10, 58, 50, 68, 58, 76, 66,
- 44, 88, 4, 11, 27, 43, 43, 93, 95, 95,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 39 */
-
- 60, 10, 35, 60, 10, 35, 10, 32, 50, 24,
- 9, 45, 6, 58, 74, 18, 60, 31, 23, 40,
- 11, 15, 64, 55, 49, 10, 13, 125, 125, 125,
- 28, 0, 11, 23, 40, 11, 29, 20, 68, 1,
- 2, 5, 1, 79, 85, 59, 93, 3, 17, 21,
- 23, 51, 37, 69, 2, 11, 13, 7, 62, 2,
- 44, 0, 0, 0, 4, 63, 67, 18, 17, 11,
- 24, 5, 29, 48, 28, 6, 80, 76, 8, 28,
- 24, 44, 8, 10, 54, 85, 49, 49, 53, 46,
- 13, 30, 54, 5, 27, 1, 20, 3, 21, 17,
- 37, 44, 23, 24, 5, 25, 10, 11, 1, 12,
- 22, 26, 32, 14, 29, 5, 4, 5, 2, 15,
- 58, 5, 2, 60, 52, 72, 60, 50, 63, 14,
- 14, 19, 7, 27, 11, 56, 2, 6, 64, 102,
- 124, 120, 80, 65, 81, 18, 82, 82, 117, 17,
- 24, 65, 44, 11, 6, 62, 66, 108, 96, 82,
- 83, 7, 29, 51, 47, 19, 30, 42, 24, 16,
- 26, 24, 8, 32, 22, 21, 7, 14, 2, 2,
- 21, 0, 13, 25, 3, 3, 4, 9, 13, 81,
- 17, 21, 11, 35, 37, 7, 16, 3, 9, 3,
- 9, 37, 15, 0, 73, 105, 55, 67, 59, 125,
- 37, 27, 91, 2, 17, 17, 31, 35, 59, 47,
- 35, 73, 59, 53, 59, 75, 9, 14, 70, 46,
- 20, 8, 26, 12, 2, 3, 14, 30, 82, 52,
- 38, 22, 60, 28, 32, 4, 54, 12, 70, 44,
- 34, 22, 46, 18, 4, 2, 1, 11, 96, 54,
- 20, 6, 34, 4, 15, 7, 28, 80, 66, 40,
- 18, 58, 24, 18, 4, 2, 124, 19, 5, 8,
- 4, 7, 6, 12, 20, 18, 28, 38, 60, 11,
- 3, 21, 21, 116, 31, 69, 19, 2, 4, 17,
- 15, 13, 19, 0, 25, 59, 11, 9, 42, 13,
- 27, 9, 9, 3, 17, 15, 11, 49, 33, 17,
- 21, 15, 42, 71, 25, 46, 35, 9, 11, 11,
- 8, 5, 15, 4, 16, 17, 17, 77, 70, 66,
- 68, 38, 6, 8, 4, 13, 0, 17, 23, 15,
- 47, 43, 51, 59, 53, 75, 125, 51, 39, 39,
- 39, 65, 53, 45, 49, 53, 31, 15, 25, 19,
- 31, 67, 43, 39, 81, 55, 79, 79, 115, 103,
- 97, 99, 21, 17, 95, 35, 35, 49, 81, 61,
- 63, 71, 49, 61, 43, 41, 81, 91, 115, 41,
- 65, 77, 13, 18, 26, 32, 64, 44, 54, 12,
- 60, 52, 70, 60, 78, 66, 44, 88, 0, 15,
- 31, 47, 47, 99, 99, 97, 28, 88, 78, 82,
- 64, 68, 40, 36, 20, 18, 13, 18, 26, 32,
- 64, 44, 54, 12, 60, 52, 70, 60, 78, 66,
- 44, 88, 0, 15, 31, 47, 47, 99, 99, 97,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 40 */
-
- 56, 8, 35, 56, 8, 35, 12, 34, 50, 24,
- 9, 49, 2, 56, 74, 18, 64, 35, 23, 42,
- 11, 17, 66, 57, 53, 6, 17, 125, 125, 125,
- 32, 2, 11, 23, 42, 11, 29, 20, 68, 3,
- 4, 3, 0, 81, 89, 61, 95, 3, 17, 19,
- 23, 53, 37, 69, 2, 11, 13, 7, 62, 2,
- 44, 0, 0, 0, 6, 65, 67, 18, 19, 11,
- 24, 3, 27, 52, 30, 6, 84, 80, 8, 30,
- 28, 44, 10, 12, 58, 87, 49, 51, 53, 46,
- 15, 30, 58, 5, 25, 0, 22, 3, 21, 17,
- 37, 44, 23, 24, 3, 25, 10, 11, 1, 12,
- 22, 28, 34, 14, 29, 7, 4, 5, 0, 15,
- 58, 5, 2, 60, 52, 72, 60, 50, 65, 16,
- 16, 21, 7, 27, 11, 58, 2, 6, 66, 104,
- 124, 124, 84, 67, 83, 18, 82, 82, 119, 17,
- 24, 67, 44, 11, 6, 64, 66, 108, 96, 84,
- 85, 5, 31, 57, 55, 17, 28, 42, 24, 14,
- 24, 22, 8, 32, 20, 23, 9, 12, 2, 0,
- 23, 1, 15, 27, 3, 5, 2, 11, 15, 83,
- 19, 23, 11, 39, 39, 11, 12, 7, 13, 7,
- 15, 45, 19, 1, 77, 111, 59, 73, 63, 125,
- 41, 29, 95, 0, 19, 19, 33, 39, 63, 51,
- 39, 77, 59, 55, 61, 79, 7, 16, 72, 48,
- 20, 8, 26, 14, 4, 1, 18, 32, 82, 52,
- 40, 22, 62, 30, 34, 6, 58, 12, 70, 44,
- 34, 22, 46, 18, 6, 2, 0, 11, 98, 56,
- 20, 6, 36, 6, 15, 5, 30, 80, 68, 40,
- 18, 60, 24, 20, 6, 2, 124, 17, 1, 12,
- 8, 5, 8, 16, 22, 20, 30, 42, 64, 11,
- 1, 21, 19, 122, 31, 71, 19, 4, 4, 17,
- 15, 13, 21, 0, 25, 61, 11, 9, 42, 13,
- 27, 11, 9, 3, 17, 15, 13, 51, 35, 17,
- 23, 15, 44, 73, 25, 46, 37, 9, 11, 13,
- 8, 5, 15, 4, 18, 17, 17, 81, 68, 64,
- 66, 34, 2, 2, 1, 19, 3, 23, 31, 21,
- 55, 49, 55, 67, 61, 83, 125, 57, 43, 43,
- 45, 69, 57, 49, 53, 55, 31, 21, 29, 23,
- 35, 73, 47, 43, 87, 59, 83, 83, 119, 109,
- 101, 101, 25, 19, 101, 39, 39, 53, 85, 65,
- 67, 73, 51, 63, 43, 39, 83, 95, 119, 43,
- 67, 79, 13, 18, 28, 32, 66, 44, 56, 12,
- 62, 52, 72, 60, 78, 68, 46, 86, 3, 19,
- 35, 51, 51, 103, 103, 101, 30, 88, 78, 84,
- 64, 68, 40, 38, 20, 18, 13, 18, 28, 32,
- 66, 44, 56, 12, 62, 52, 72, 60, 78, 68,
- 46, 86, 3, 19, 35, 51, 51, 103, 103, 101,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 41 */
-
- 54, 8, 35, 54, 8, 35, 16, 36, 52, 24,
- 9, 53, 1, 56, 76, 18, 68, 37, 21, 46,
- 11, 17, 68, 57, 55, 4, 21, 125, 125, 125,
- 36, 6, 9, 21, 46, 11, 27, 22, 70, 3,
- 6, 1, 2, 83, 91, 61, 95, 3, 17, 17,
- 23, 53, 37, 69, 2, 9, 11, 5, 62, 2,
- 44, 0, 0, 0, 8, 65, 67, 18, 21, 11,
- 24, 1, 23, 58, 32, 8, 88, 84, 10, 32,
- 32, 46, 14, 14, 62, 89, 49, 51, 53, 48,
- 15, 32, 62, 5, 23, 2, 26, 3, 19, 17,
- 35, 46, 23, 26, 1, 23, 12, 11, 1, 14,
- 24, 30, 36, 14, 29, 7, 6, 3, 0, 15,
- 60, 5, 2, 60, 54, 74, 60, 52, 65, 18,
- 18, 23, 7, 27, 11, 60, 2, 8, 68, 106,
- 124, 124, 88, 69, 85, 20, 82, 84, 121, 17,
- 24, 67, 46, 11, 6, 68, 66, 108, 96, 86,
- 87, 3, 33, 61, 61, 13, 28, 42, 24, 12,
- 24, 22, 8, 32, 20, 25, 11, 12, 2, 0,
- 23, 1, 17, 27, 3, 5, 2, 13, 17, 85,
- 19, 23, 11, 41, 39, 15, 8, 9, 15, 11,
- 19, 51, 23, 3, 81, 115, 61, 77, 65, 125,
- 43, 31, 99, 1, 21, 21, 35, 43, 65, 55,
- 43, 79, 59, 55, 63, 81, 3, 20, 76, 50,
- 20, 8, 28, 16, 6, 0, 22, 34, 84, 54,
- 42, 24, 64, 32, 36, 8, 62, 14, 72, 46,
- 36, 22, 48, 20, 8, 4, 4, 9, 102, 58,
- 22, 6, 38, 8, 13, 3, 32, 82, 70, 42,
- 20, 62, 26, 22, 8, 4, 124, 13, 2, 16,
- 12, 3, 10, 20, 26, 24, 34, 46, 68, 9,
- 0, 19, 17, 124, 31, 73, 19, 6, 6, 15,
- 15, 13, 21, 0, 25, 63, 11, 9, 44, 13,
- 27, 11, 9, 3, 17, 15, 13, 51, 37, 17,
- 23, 13, 48, 73, 25, 48, 39, 9, 11, 13,
- 10, 5, 15, 6, 20, 15, 15, 85, 66, 62,
- 64, 30, 1, 3, 5, 25, 7, 27, 37, 25,
- 61, 55, 59, 75, 67, 89, 125, 63, 47, 45,
- 49, 73, 59, 51, 55, 57, 31, 25, 33, 27,
- 39, 77, 51, 45, 91, 63, 87, 87, 123, 113,
- 105, 103, 27, 21, 105, 41, 43, 55, 89, 67,
- 69, 75, 53, 63, 43, 37, 85, 97, 123, 45,
- 69, 81, 13, 20, 30, 34, 70, 46, 58, 12,
- 64, 54, 74, 62, 80, 70, 48, 84, 5, 23,
- 39, 55, 55, 107, 107, 103, 32, 88, 80, 86,
- 66, 70, 42, 40, 22, 20, 13, 20, 30, 34,
- 70, 46, 58, 12, 64, 54, 74, 62, 80, 70,
- 48, 84, 5, 23, 39, 55, 55, 107, 107, 103,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 42 */
-
- 52, 8, 35, 52, 8, 35, 20, 40, 52, 24,
- 11, 57, 3, 54, 78, 18, 70, 41, 21, 48,
- 13, 17, 70, 59, 57, 2, 25, 125, 125, 125,
- 40, 8, 9, 21, 48, 13, 27, 24, 70, 3,
- 6, 0, 6, 85, 93, 61, 95, 3, 15, 15,
- 25, 53, 37, 69, 2, 9, 11, 3, 64, 2,
- 44, 0, 0, 0, 8, 65, 67, 20, 23, 11,
- 22, 1, 21, 62, 34, 10, 90, 86, 12, 34,
- 36, 48, 16, 16, 68, 89, 51, 51, 55, 48,
- 15, 34, 68, 3, 23, 2, 30, 3, 19, 17,
- 35, 46, 23, 26, 0, 23, 14, 9, 1, 14,
- 24, 32, 36, 14, 31, 7, 6, 3, 0, 15,
- 60, 5, 2, 62, 54, 74, 60, 52, 67, 18,
- 18, 23, 7, 25, 11, 62, 4, 8, 72, 110,
- 124, 124, 92, 69, 87, 20, 84, 84, 123, 17,
- 26, 69, 48, 11, 6, 70, 66, 108, 96, 90,
- 89, 0, 35, 67, 67, 11, 28, 42, 22, 12,
- 22, 22, 6, 32, 18, 27, 13, 12, 2, 0,
- 23, 3, 17, 29, 5, 5, 2, 15, 17, 87,
- 21, 25, 11, 43, 41, 19, 4, 13, 19, 13,
- 23, 57, 29, 5, 85, 119, 65, 81, 69, 125,
- 45, 33, 101, 3, 23, 23, 39, 45, 69, 59,
- 45, 83, 59, 57, 65, 85, 1, 22, 78, 50,
- 20, 8, 30, 18, 8, 0, 26, 38, 86, 56,
- 42, 26, 68, 34, 40, 10, 68, 16, 72, 46,
- 36, 24, 50, 22, 8, 6, 6, 9, 104, 60,
- 22, 6, 40, 8, 13, 1, 34, 82, 72, 42,
- 20, 64, 28, 24, 8, 6, 124, 11, 4, 18,
- 14, 1, 14, 22, 30, 26, 38, 50, 74, 7,
- 2, 17, 15, 124, 29, 75, 17, 8, 8, 15,
- 15, 13, 21, 2, 27, 65, 11, 9, 46, 13,
- 27, 11, 9, 1, 19, 17, 13, 53, 39, 19,
- 23, 13, 50, 75, 27, 50, 39, 11, 11, 13,
- 10, 7, 17, 6, 20, 15, 15, 87, 64, 60,
- 62, 28, 7, 7, 11, 31, 13, 33, 43, 31,
- 67, 59, 63, 83, 75, 97, 125, 69, 51, 49,
- 53, 79, 63, 53, 57, 59, 31, 29, 39, 33,
- 43, 81, 55, 49, 95, 67, 91, 91, 125, 117,
- 107, 107, 29, 23, 109, 45, 45, 59, 93, 69,
- 71, 77, 55, 65, 43, 35, 89, 99, 125, 49,
- 71, 83, 13, 20, 30, 36, 72, 48, 58, 14,
- 66, 56, 76, 62, 82, 70, 48, 84, 9, 27,
- 43, 59, 59, 113, 111, 105, 32, 90, 80, 86,
- 68, 72, 42, 40, 22, 22, 13, 20, 30, 36,
- 72, 48, 58, 14, 66, 56, 76, 62, 82, 70,
- 48, 84, 9, 27, 43, 59, 59, 113, 111, 105,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 43 */
-
- 50, 8, 37, 50, 8, 37, 24, 42, 54, 24,
- 11, 59, 7, 52, 78, 20, 74, 43, 21, 52,
- 13, 19, 72, 61, 59, 0, 27, 125, 125, 125,
- 44, 12, 9, 21, 52, 13, 25, 26, 72, 3,
- 8, 2, 8, 89, 95, 61, 97, 3, 15, 15,
- 25, 55, 35, 69, 0, 9, 11, 1, 64, 2,
- 44, 0, 0, 0, 10, 65, 67, 20, 23, 13,
- 22, 0, 19, 66, 36, 12, 94, 90, 14, 36,
- 40, 50, 18, 16, 72, 91, 51, 51, 55, 50,
- 15, 36, 72, 3, 21, 4, 34, 3, 19, 17,
- 35, 48, 25, 28, 0, 23, 16, 9, 0, 14,
- 26, 34, 38, 14, 31, 7, 6, 3, 0, 15,
- 60, 5, 2, 62, 54, 76, 62, 54, 67, 20,
- 20, 25, 7, 25, 11, 64, 4, 10, 74, 112,
- 124, 124, 94, 71, 89, 22, 84, 84, 123, 19,
- 26, 69, 48, 13, 8, 72, 66, 108, 98, 92,
- 91, 2, 37, 73, 73, 7, 28, 42, 22, 10,
- 22, 20, 6, 30, 18, 27, 13, 12, 0, 0,
- 25, 3, 19, 31, 5, 5, 2, 15, 19, 91,
- 21, 27, 11, 45, 41, 25, 0, 17, 21, 17,
- 27, 63, 33, 9, 89, 123, 67, 85, 73, 125,
- 47, 37, 105, 7, 25, 25, 41, 49, 73, 63,
- 49, 85, 59, 59, 67, 87, 2, 26, 82, 52,
- 20, 8, 32, 18, 8, 2, 28, 40, 88, 58,
- 44, 26, 70, 36, 42, 12, 72, 16, 74, 48,
- 38, 24, 52, 22, 10, 8, 8, 9, 108, 62,
- 22, 6, 40, 10, 13, 1, 34, 84, 72, 44,
- 20, 66, 28, 24, 10, 6, 124, 7, 8, 22,
- 18, 2, 16, 26, 32, 30, 42, 54, 78, 7,
- 4, 17, 15, 124, 29, 77, 17, 8, 10, 15,
- 15, 13, 21, 2, 27, 67, 11, 9, 46, 13,
- 27, 11, 9, 1, 19, 17, 13, 55, 41, 19,
- 23, 13, 52, 77, 27, 52, 41, 11, 11, 13,
- 12, 7, 17, 8, 22, 15, 15, 91, 62, 58,
- 60, 24, 11, 13, 15, 37, 17, 39, 49, 37,
- 73, 65, 67, 89, 81, 105, 125, 73, 57, 53,
- 57, 83, 67, 55, 59, 61, 31, 33, 43, 37,
- 47, 85, 57, 51, 99, 71, 97, 95, 125, 121,
- 111, 109, 31, 27, 113, 47, 49, 61, 97, 73,
- 75, 79, 57, 67, 45, 33, 91, 103, 125, 51,
- 75, 85, 11, 22, 32, 36, 74, 50, 60, 14,
- 68, 58, 78, 64, 84, 72, 50, 82, 13, 31,
- 47, 63, 63, 117, 115, 107, 34, 90, 82, 88,
- 68, 74, 44, 42, 24, 22, 11, 22, 32, 36,
- 74, 50, 60, 14, 68, 58, 78, 64, 84, 72,
- 50, 82, 13, 31, 47, 63, 63, 117, 115, 107,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 44 */
-
- 46, 8, 37, 46, 8, 37, 26, 46, 54, 24,
- 13, 63, 9, 50, 80, 20, 78, 47, 21, 54,
- 13, 19, 74, 63, 63, 3, 31, 125, 125, 125,
- 48, 14, 9, 21, 54, 13, 25, 28, 72, 5,
- 10, 4, 10, 91, 99, 63, 97, 3, 15, 13,
- 25, 55, 35, 69, 0, 9, 11, 1, 66, 2,
- 44, 0, 0, 0, 10, 67, 67, 22, 25, 13,
- 20, 0, 17, 70, 38, 14, 96, 92, 14, 38,
- 44, 52, 20, 18, 76, 93, 51, 51, 55, 50,
- 17, 38, 76, 3, 19, 6, 38, 3, 19, 17,
- 35, 48, 25, 28, 2, 23, 16, 9, 0, 14,
- 26, 36, 38, 14, 31, 9, 6, 3, 0, 15,
- 60, 5, 2, 64, 54, 76, 62, 54, 69, 20,
- 22, 25, 7, 25, 11, 66, 4, 10, 76, 114,
- 124, 124, 98, 71, 91, 22, 84, 84, 125, 19,
- 28, 71, 50, 13, 8, 74, 66, 108, 98, 94,
- 93, 6, 39, 79, 79, 5, 26, 42, 20, 8,
- 20, 20, 4, 30, 16, 29, 15, 10, 0, 0,
- 25, 5, 21, 33, 7, 7, 0, 17, 19, 93,
- 23, 29, 11, 49, 43, 29, 3, 21, 25, 21,
- 31, 71, 39, 11, 93, 125, 71, 89, 77, 125,
- 51, 39, 109, 9, 27, 27, 43, 51, 77, 67,
- 53, 89, 59, 61, 69, 91, 4, 28, 84, 52,
- 20, 8, 34, 20, 10, 4, 32, 42, 90, 58,
- 46, 28, 72, 38, 46, 14, 76, 18, 74, 48,
- 38, 26, 54, 24, 10, 8, 10, 9, 110, 64,
- 22, 6, 42, 10, 13, 0, 36, 84, 74, 44,
- 20, 68, 30, 26, 10, 8, 124, 5, 10, 24,
- 22, 4, 20, 28, 36, 32, 44, 58, 82, 5,
- 6, 15, 13, 124, 29, 79, 17, 10, 10, 15,
- 15, 13, 23, 4, 27, 69, 11, 9, 48, 13,
- 27, 11, 9, 1, 21, 17, 13, 57, 43, 19,
- 23, 13, 54, 79, 27, 52, 43, 11, 11, 13,
- 12, 7, 19, 8, 24, 15, 15, 93, 60, 56,
- 58, 20, 15, 17, 21, 43, 23, 45, 57, 43,
- 81, 71, 71, 97, 89, 113, 125, 79, 61, 57,
- 61, 89, 71, 59, 61, 63, 31, 39, 47, 41,
- 51, 89, 61, 55, 103, 75, 101, 99, 125, 125,
- 115, 111, 33, 29, 119, 51, 53, 65, 101, 75,
- 77, 81, 59, 69, 45, 31, 93, 105, 125, 53,
- 77, 87, 11, 22, 32, 38, 76, 50, 62, 14,
- 70, 60, 80, 64, 86, 72, 52, 82, 17, 35,
- 51, 67, 67, 121, 119, 111, 34, 92, 82, 90,
- 70, 74, 44, 42, 24, 24, 11, 22, 32, 38,
- 76, 50, 62, 14, 70, 60, 80, 64, 86, 72,
- 52, 82, 17, 35, 51, 67, 67, 121, 119, 111,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 45 */
-
- 44, 8, 37, 44, 8, 37, 30, 48, 54, 24,
- 13, 67, 13, 48, 82, 20, 80, 51, 19, 58,
- 15, 19, 76, 65, 65, 5, 35, 125, 125, 125,
- 52, 16, 9, 19, 58, 15, 25, 30, 72, 5,
- 10, 6, 14, 93, 101, 63, 97, 3, 13, 11,
- 27, 55, 35, 69, 0, 7, 11, 0, 66, 2,
- 44, 0, 0, 0, 12, 67, 67, 22, 27, 13,
- 20, 2, 13, 76, 40, 16, 100, 96, 16, 40,
- 48, 54, 22, 20, 82, 93, 53, 51, 57, 50,
- 17, 40, 82, 1, 19, 6, 42, 3, 19, 17,
- 33, 48, 25, 30, 4, 21, 18, 7, 0, 16,
- 28, 38, 40, 14, 33, 9, 8, 3, 0, 15,
- 62, 5, 2, 64, 56, 76, 62, 54, 69, 22,
- 22, 27, 7, 23, 11, 68, 6, 12, 80, 118,
- 124, 124, 102, 73, 93, 24, 86, 84, 125, 19,
- 28, 71, 52, 13, 8, 78, 66, 108, 98, 98,
- 95, 8, 41, 83, 85, 3, 26, 42, 20, 8,
- 20, 20, 4, 30, 16, 31, 17, 10, 0, 0,
- 25, 5, 21, 35, 7, 7, 0, 19, 21, 95,
- 25, 29, 11, 51, 43, 33, 7, 23, 27, 23,
- 35, 77, 43, 13, 97, 125, 73, 93, 81, 125,
- 53, 41, 111, 11, 29, 29, 47, 55, 81, 71,
- 55, 91, 59, 63, 71, 95, 8, 32, 86, 54,
- 20, 8, 36, 22, 12, 4, 36, 46, 92, 60,
- 46, 30, 76, 40, 48, 16, 82, 20, 76, 50,
- 40, 26, 56, 26, 12, 10, 12, 7, 112, 66,
- 22, 6, 44, 12, 11, 2, 38, 84, 76, 44,
- 20, 70, 32, 28, 12, 10, 124, 3, 14, 28,
- 24, 6, 22, 32, 40, 36, 48, 62, 88, 3,
- 8, 13, 11, 124, 27, 81, 15, 12, 12, 15,
- 15, 13, 23, 4, 29, 71, 11, 9, 50, 13,
- 27, 11, 9, 0, 21, 19, 13, 59, 45, 21,
- 23, 13, 56, 79, 29, 54, 43, 13, 11, 13,
- 12, 9, 19, 8, 24, 15, 15, 97, 58, 54,
- 56, 18, 21, 23, 27, 49, 27, 51, 63, 49,
- 87, 75, 75, 105, 95, 121, 125, 85, 65, 59,
- 65, 93, 75, 61, 63, 65, 31, 43, 53, 47,
- 55, 93, 65, 57, 107, 79, 105, 103, 125, 125,
- 117, 115, 35, 31, 123, 53, 55, 67, 105, 77,
- 79, 83, 61, 71, 45, 29, 97, 107, 125, 57,
- 79, 89, 11, 24, 34, 40, 78, 52, 62, 16,
- 72, 62, 82, 66, 88, 74, 52, 80, 21, 39,
- 55, 71, 71, 125, 123, 113, 36, 92, 84, 90,
- 72, 76, 46, 44, 24, 26, 11, 24, 34, 40,
- 78, 52, 62, 16, 72, 62, 82, 66, 88, 74,
- 52, 80, 21, 39, 55, 71, 71, 125, 123, 113,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 46 */
-
- 42, 8, 37, 42, 8, 37, 34, 52, 56, 24,
- 15, 71, 15, 46, 82, 20, 84, 53, 19, 60,
- 15, 21, 78, 67, 67, 7, 39, 125, 125, 125,
- 56, 20, 9, 19, 60, 15, 23, 32, 74, 5,
- 12, 8, 16, 95, 103, 63, 99, 3, 13, 9,
- 27, 57, 35, 69, 0, 7, 11, 2, 68, 2,
- 44, 0, 0, 0, 12, 67, 67, 24, 29, 13,
- 18, 2, 11, 80, 42, 18, 102, 98, 18, 42,
- 52, 56, 24, 22, 86, 95, 53, 51, 57, 52,
- 17, 42, 86, 1, 17, 8, 46, 3, 19, 17,
- 33, 50, 25, 30, 6, 21, 20, 7, 0, 16,
- 28, 40, 40, 14, 33, 9, 8, 3, 0, 15,
- 62, 5, 2, 66, 56, 78, 62, 56, 71, 22,
- 24, 27, 7, 23, 11, 70, 6, 12, 82, 120,
- 124, 124, 106, 73, 95, 24, 86, 84, 125, 19,
- 30, 73, 52, 13, 8, 80, 66, 108, 98, 100,
- 97, 12, 43, 89, 91, 0, 26, 42, 18, 6,
- 18, 18, 2, 30, 14, 33, 19, 10, 0, 0,
- 27, 7, 23, 37, 9, 7, 0, 21, 21, 97,
- 25, 31, 11, 53, 45, 37, 11, 27, 31, 27,
- 39, 83, 49, 15, 101, 125, 77, 97, 85, 125,
- 55, 43, 115, 13, 31, 31, 49, 57, 85, 75,
- 59, 95, 59, 65, 73, 97, 10, 34, 90, 54,
- 20, 8, 38, 24, 14, 6, 40, 48, 94, 62,
- 48, 30, 78, 42, 52, 18, 86, 20, 76, 50,
- 40, 28, 58, 26, 12, 12, 14, 7, 116, 68,
- 22, 6, 46, 12, 11, 4, 40, 86, 78, 46,
- 20, 72, 32, 30, 12, 10, 124, 0, 16, 30,
- 28, 8, 26, 34, 42, 38, 52, 66, 92, 3,
- 10, 13, 9, 124, 27, 83, 15, 14, 14, 15,
- 15, 13, 23, 6, 29, 73, 11, 9, 50, 13,
- 27, 11, 9, 0, 23, 19, 13, 61, 47, 21,
- 23, 13, 58, 81, 29, 56, 45, 13, 11, 13,
- 14, 9, 21, 10, 26, 15, 15, 99, 56, 52,
- 54, 14, 25, 27, 31, 55, 33, 57, 69, 55,
- 93, 81, 79, 113, 103, 125, 125, 91, 69, 63,
- 69, 99, 79, 63, 65, 67, 31, 47, 57, 51,
- 59, 97, 69, 61, 111, 83, 109, 107, 125, 125,
- 121, 117, 37, 33, 125, 57, 59, 71, 109, 81,
- 83, 85, 63, 73, 45, 27, 99, 111, 125, 59,
- 81, 91, 11, 24, 34, 40, 80, 54, 64, 16,
- 74, 64, 84, 66, 90, 74, 54, 80, 25, 43,
- 59, 75, 75, 125, 125, 115, 36, 94, 84, 92,
- 72, 78, 46, 44, 26, 26, 11, 24, 34, 40,
- 80, 54, 64, 16, 74, 64, 84, 66, 90, 74,
- 54, 80, 25, 43, 59, 75, 75, 125, 125, 115,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 47 */
-
- 40, 8, 37, 40, 8, 37, 38, 54, 56, 24,
- 15, 75, 19, 44, 84, 20, 88, 57, 19, 64,
- 15, 21, 80, 69, 69, 9, 43, 125, 125, 125,
- 60, 22, 9, 19, 64, 15, 23, 34, 74, 5,
- 14, 10, 18, 97, 105, 63, 99, 3, 13, 7,
- 27, 57, 35, 69, 0, 7, 11, 4, 68, 2,
- 44, 0, 0, 0, 14, 67, 67, 24, 31, 13,
- 18, 4, 9, 84, 44, 20, 106, 102, 20, 44,
- 56, 58, 26, 24, 90, 97, 53, 51, 57, 52,
- 17, 44, 90, 1, 15, 10, 50, 3, 19, 17,
- 33, 50, 25, 32, 8, 21, 22, 7, 0, 16,
- 30, 42, 42, 14, 33, 9, 8, 3, 0, 15,
- 62, 5, 2, 66, 56, 78, 62, 56, 71, 24,
- 26, 29, 7, 23, 11, 72, 6, 14, 84, 122,
- 124, 124, 110, 75, 97, 26, 86, 84, 125, 19,
- 30, 73, 54, 13, 8, 82, 66, 108, 98, 102,
- 99, 14, 45, 95, 97, 2, 26, 42, 18, 4,
- 18, 18, 2, 30, 14, 35, 21, 10, 0, 0,
- 27, 7, 25, 39, 9, 7, 0, 23, 23, 99,
- 27, 33, 11, 55, 45, 41, 15, 31, 33, 31,
- 43, 89, 53, 17, 105, 125, 79, 101, 89, 125,
- 57, 45, 119, 15, 33, 33, 51, 61, 89, 79,
- 63, 97, 59, 67, 75, 101, 14, 38, 92, 56,
- 20, 8, 40, 26, 16, 8, 44, 50, 96, 64,
- 50, 32, 80, 44, 54, 20, 90, 22, 78, 52,
- 42, 28, 60, 28, 14, 14, 16, 7, 118, 70,
- 22, 6, 48, 14, 11, 6, 42, 86, 80, 46,
- 20, 74, 34, 32, 14, 12, 124, 2, 20, 34,
- 32, 10, 28, 38, 46, 42, 56, 70, 96, 1,
- 12, 11, 7, 124, 27, 85, 15, 16, 16, 15,
- 15, 13, 23, 6, 29, 75, 11, 9, 52, 13,
- 27, 11, 9, 0, 23, 19, 13, 63, 49, 21,
- 23, 13, 60, 83, 29, 58, 47, 13, 11, 13,
- 14, 9, 21, 10, 28, 15, 15, 103, 54, 50,
- 52, 10, 29, 33, 37, 61, 37, 63, 75, 61,
- 99, 87, 83, 121, 109, 125, 125, 97, 73, 67,
- 73, 103, 83, 65, 67, 69, 31, 51, 61, 55,
- 63, 101, 73, 63, 115, 87, 113, 111, 125, 125,
- 125, 119, 39, 35, 125, 59, 63, 73, 113, 83,
- 85, 87, 65, 75, 45, 25, 101, 113, 125, 61,
- 83, 93, 11, 26, 36, 42, 82, 56, 66, 16,
- 76, 66, 86, 68, 92, 76, 56, 78, 29, 47,
- 63, 79, 79, 125, 125, 117, 38, 94, 86, 94,
- 74, 80, 48, 46, 26, 28, 11, 26, 36, 42,
- 82, 56, 66, 16, 76, 66, 86, 68, 92, 76,
- 56, 78, 29, 47, 63, 79, 79, 125, 125, 117,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 48 */
-
- 36, 6, 39, 36, 6, 39, 40, 56, 56, 24,
- 17, 79, 23, 42, 84, 20, 90, 61, 19, 66,
- 17, 23, 82, 71, 73, 13, 47, 125, 125, 125,
- 64, 24, 9, 19, 66, 17, 23, 34, 74, 7,
- 14, 10, 20, 101, 109, 65, 101, 5, 13, 7,
- 29, 59, 35, 69, 1, 7, 11, 4, 68, 0,
- 44, 0, 0, 0, 14, 69, 67, 24, 33, 15,
- 16, 4, 7, 88, 46, 20, 108, 104, 20, 46,
- 58, 58, 28, 24, 94, 99, 55, 53, 59, 52,
- 19, 44, 94, 1, 15, 10, 52, 3, 19, 17,
- 33, 50, 27, 32, 8, 21, 22, 7, 0, 16,
- 30, 44, 42, 14, 35, 11, 8, 3, 1, 15,
- 62, 5, 2, 66, 56, 78, 62, 56, 73, 24,
- 26, 31, 7, 23, 13, 72, 6, 14, 86, 124,
- 124, 124, 112, 77, 101, 26, 86, 84, 125, 21,
- 30, 75, 54, 15, 8, 84, 66, 106, 98, 104,
- 101, 16, 49, 101, 105, 4, 24, 42, 16, 2,
- 16, 16, 0, 28, 12, 37, 23, 8, 1, 1,
- 29, 9, 27, 41, 11, 9, 1, 25, 25, 103,
- 29, 35, 11, 59, 47, 47, 21, 35, 37, 35,
- 49, 97, 59, 21, 109, 125, 83, 107, 93, 125,
- 61, 49, 123, 19, 35, 35, 55, 65, 93, 83,
- 67, 101, 59, 69, 77, 105, 16, 40, 94, 56,
- 20, 8, 40, 26, 16, 8, 46, 52, 96, 64,
- 50, 32, 82, 46, 56, 20, 94, 22, 78, 52,
- 42, 28, 60, 28, 14, 14, 18, 7, 120, 72,
- 22, 4, 48, 14, 11, 6, 42, 86, 80, 46,
- 20, 76, 34, 32, 14, 12, 124, 4, 22, 36,
- 34, 12, 30, 40, 48, 44, 58, 72, 100, 1,
- 12, 11, 7, 124, 27, 89, 15, 16, 16, 15,
- 15, 13, 25, 6, 31, 77, 13, 9, 52, 15,
- 27, 13, 9, 0, 25, 21, 15, 65, 51, 23,
- 25, 13, 62, 85, 31, 58, 49, 15, 11, 15,
- 14, 11, 23, 10, 28, 15, 15, 107, 50, 48,
- 48, 6, 35, 39, 43, 67, 43, 69, 83, 67,
- 107, 93, 87, 125, 117, 125, 125, 103, 79, 71,
- 79, 109, 87, 69, 71, 71, 31, 57, 67, 61,
- 67, 107, 77, 67, 121, 91, 119, 115, 125, 125,
- 125, 123, 43, 39, 125, 63, 67, 77, 117, 87,
- 89, 89, 67, 77, 47, 23, 105, 117, 125, 65,
- 87, 97, 11, 26, 36, 42, 84, 56, 66, 16,
- 78, 66, 88, 68, 92, 76, 56, 76, 33, 51,
- 69, 85, 83, 125, 125, 121, 38, 94, 86, 94,
- 74, 80, 48, 46, 26, 28, 11, 26, 36, 42,
- 84, 56, 66, 16, 78, 66, 88, 68, 92, 76,
- 56, 76, 33, 51, 69, 85, 83, 125, 125, 121,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 49 */
-
- 34, 6, 39, 34, 6, 39, 44, 60, 58, 26,
- 17, 81, 25, 42, 86, 22, 94, 63, 17, 70,
- 17, 23, 86, 71, 75, 15, 49, 125, 125, 125,
- 68, 28, 7, 17, 70, 17, 21, 36, 76, 7,
- 16, 12, 24, 103, 111, 65, 101, 5, 11, 5,
- 29, 59, 33, 67, 1, 5, 9, 6, 70, 0,
- 44, 0, 0, 0, 16, 69, 67, 26, 33, 15,
- 16, 6, 3, 94, 50, 22, 112, 108, 22, 50,
- 62, 60, 32, 26, 100, 99, 55, 53, 59, 54,
- 19, 46, 100, 0, 13, 12, 56, 3, 17, 17,
- 31, 52, 27, 34, 10, 19, 24, 5, 2, 18,
- 32, 46, 44, 16, 35, 11, 10, 1, 1, 13,
- 64, 3, 2, 68, 58, 80, 64, 58, 73, 26,
- 28, 31, 7, 21, 13, 74, 8, 16, 90, 124,
- 124, 124, 116, 77, 103, 28, 88, 86, 125, 21,
- 32, 75, 56, 15, 10, 88, 66, 106, 100, 108,
- 103, 20, 51, 105, 111, 8, 24, 42, 16, 2,
- 16, 16, 0, 28, 12, 37, 23, 8, 1, 1,
- 29, 9, 27, 41, 11, 9, 1, 25, 25, 105,
- 29, 35, 11, 61, 47, 51, 25, 37, 39, 37,
- 53, 103, 63, 23, 111, 125, 85, 111, 95, 125,
- 63, 51, 125, 21, 35, 35, 57, 67, 95, 85,
- 69, 103, 59, 69, 77, 107, 20, 44, 98, 58,
- 20, 8, 42, 28, 18, 10, 50, 56, 98, 66,
- 52, 34, 86, 48, 60, 22, 100, 24, 80, 54,
- 44, 30, 62, 30, 16, 16, 22, 5, 124, 74,
- 24, 4, 50, 16, 9, 8, 44, 88, 82, 48,
- 22, 78, 36, 34, 16, 14, 124, 8, 26, 40,
- 38, 16, 34, 44, 52, 48, 62, 76, 106, 0,
- 14, 9, 5, 124, 25, 91, 13, 18, 18, 13,
- 15, 11, 25, 8, 31, 77, 13, 9, 54, 15,
- 27, 13, 9, 2, 25, 21, 15, 65, 51, 23,
- 25, 11, 66, 85, 31, 60, 49, 15, 11, 15,
- 16, 11, 23, 12, 30, 13, 13, 109, 48, 46,
- 46, 4, 39, 43, 47, 73, 47, 73, 89, 71,
- 113, 97, 91, 125, 123, 125, 125, 107, 83, 73,
- 83, 113, 89, 71, 73, 71, 31, 61, 71, 65,
- 71, 111, 79, 69, 125, 93, 123, 117, 125, 125,
- 125, 125, 45, 41, 125, 65, 69, 79, 119, 89,
- 91, 91, 67, 77, 47, 21, 107, 119, 125, 67,
- 89, 99, 9, 28, 38, 44, 88, 58, 68, 18,
- 82, 68, 90, 70, 94, 78, 58, 76, 35, 53,
- 73, 89, 85, 125, 125, 123, 40, 96, 88, 96,
- 76, 82, 50, 48, 28, 30, 9, 28, 38, 44,
- 88, 58, 68, 18, 82, 68, 90, 70, 94, 78,
- 58, 76, 35, 53, 73, 89, 85, 125, 125, 123,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 50 */
-
- 32, 6, 39, 32, 6, 39, 48, 62, 58, 26,
- 17, 85, 29, 40, 88, 22, 98, 67, 17, 72,
- 17, 23, 88, 73, 77, 17, 53, 125, 125, 125,
- 72, 30, 7, 17, 72, 17, 21, 38, 76, 7,
- 18, 14, 26, 105, 113, 65, 101, 5, 11, 3,
- 29, 59, 33, 67, 1, 5, 9, 8, 70, 0,
- 44, 0, 0, 0, 18, 69, 67, 26, 35, 15,
- 16, 8, 1, 98, 52, 24, 116, 112, 24, 52,
- 66, 62, 34, 28, 104, 101, 55, 53, 59, 54,
- 19, 48, 104, 0, 11, 14, 60, 3, 17, 17,
- 31, 52, 27, 34, 12, 19, 26, 5, 2, 18,
- 32, 48, 46, 16, 35, 11, 10, 1, 1, 13,
- 64, 3, 2, 68, 58, 80, 64, 58, 75, 28,
- 30, 33, 7, 21, 13, 76, 8, 16, 92, 124,
- 124, 124, 120, 79, 105, 28, 88, 86, 125, 21,
- 32, 77, 58, 15, 10, 90, 66, 106, 100, 110,
- 105, 22, 53, 111, 117, 10, 24, 42, 16, 0,
- 14, 16, 0, 28, 10, 39, 25, 8, 1, 1,
- 29, 11, 29, 43, 11, 9, 1, 27, 27, 107,
- 31, 37, 11, 63, 49, 55, 29, 41, 43, 41,
- 57, 109, 67, 25, 115, 125, 89, 115, 99, 125,
- 65, 53, 125, 23, 37, 37, 59, 71, 99, 89,
- 73, 107, 59, 71, 79, 111, 22, 46, 100, 60,
- 20, 8, 44, 30, 20, 12, 54, 58, 100, 68,
- 54, 36, 88, 50, 62, 24, 104, 26, 80, 54,
- 44, 30, 64, 32, 18, 18, 24, 5, 124, 76,
- 24, 4, 52, 18, 9, 10, 46, 88, 84, 48,
- 22, 80, 38, 36, 18, 16, 124, 10, 30, 44,
- 42, 18, 36, 48, 56, 50, 66, 80, 110, 2,
- 16, 7, 3, 124, 25, 93, 13, 20, 20, 13,
- 15, 11, 25, 8, 31, 79, 13, 9, 56, 15,
- 27, 13, 9, 2, 25, 21, 15, 67, 53, 23,
- 25, 11, 68, 87, 31, 62, 51, 15, 11, 15,
- 16, 11, 23, 12, 32, 13, 13, 113, 46, 44,
- 44, 0, 43, 49, 53, 79, 51, 79, 95, 77,
- 119, 103, 95, 125, 125, 125, 125, 113, 87, 77,
- 87, 117, 93, 73, 75, 73, 31, 65, 75, 69,
- 75, 115, 83, 73, 125, 97, 125, 121, 125, 125,
- 125, 125, 47, 43, 125, 69, 73, 83, 123, 91,
- 93, 93, 69, 79, 47, 19, 109, 121, 125, 69,
- 91, 101, 9, 28, 40, 46, 90, 60, 70, 18,
- 84, 70, 92, 70, 96, 80, 60, 74, 39, 57,
- 77, 93, 89, 125, 125, 125, 42, 96, 88, 98,
- 78, 84, 50, 50, 28, 32, 9, 28, 40, 46,
- 90, 60, 70, 18, 84, 70, 92, 70, 96, 80,
- 60, 74, 39, 57, 77, 93, 89, 125, 125, 125,
- },
-
- {
- /* Context Tables for P, SP, B Slices :: cabac_init_idc = 2, qp = 51 */
-
- 30, 6, 39, 30, 6, 39, 52, 66, 60, 26,
- 19, 89, 31, 38, 88, 22, 102, 69, 17, 76,
- 17, 25, 90, 75, 79, 19, 57, 125, 125, 125,
- 76, 34, 7, 17, 76, 17, 19, 40, 78, 7,
- 20, 16, 28, 107, 115, 65, 103, 5, 11, 1,
- 29, 61, 33, 67, 1, 5, 9, 10, 72, 0,
- 44, 0, 0, 0, 18, 69, 67, 28, 37, 15,
- 14, 8, 0, 102, 54, 26, 118, 114, 26, 54,
- 70, 64, 36, 30, 108, 103, 55, 53, 59, 56,
- 19, 50, 108, 0, 9, 16, 64, 3, 17, 17,
- 31, 54, 27, 36, 14, 19, 28, 5, 2, 18,
- 34, 50, 46, 16, 35, 11, 10, 1, 1, 13,
- 64, 3, 2, 70, 58, 82, 64, 60, 75, 28,
- 32, 33, 7, 21, 13, 78, 8, 18, 94, 124,
- 124, 124, 124, 79, 107, 30, 88, 86, 125, 21,
- 34, 77, 58, 15, 10, 92, 66, 106, 100, 112,
- 107, 26, 55, 117, 123, 14, 24, 42, 14, 1,
- 14, 14, 1, 28, 10, 41, 27, 8, 1, 1,
- 31, 11, 31, 45, 13, 9, 1, 29, 27, 109,
- 31, 39, 11, 65, 49, 59, 33, 45, 45, 45,
- 61, 115, 73, 27, 119, 125, 91, 119, 103, 125,
- 67, 55, 125, 25, 39, 39, 61, 73, 103, 93,
- 77, 109, 59, 73, 81, 113, 26, 50, 104, 60,
- 20, 8, 46, 32, 22, 14, 58, 60, 102, 70,
- 56, 36, 90, 52, 66, 26, 108, 26, 82, 56,
- 46, 32, 66, 32, 18, 20, 26, 5, 124, 78,
- 24, 4, 54, 18, 9, 12, 48, 90, 86, 50,
- 22, 82, 38, 38, 18, 16, 124, 14, 32, 46,
- 46, 20, 40, 50, 58, 54, 70, 84, 114, 2,
- 18, 7, 1, 124, 25, 95, 13, 22, 22, 13,
- 15, 11, 25, 10, 31, 81, 13, 9, 56, 15,
- 27, 13, 9, 2, 27, 21, 15, 69, 55, 23,
- 25, 11, 70, 89, 31, 64, 53, 15, 11, 15,
- 18, 11, 25, 14, 34, 13, 13, 115, 44, 42,
- 42, 3, 47, 53, 57, 85, 57, 85, 101, 83,
- 125, 109, 99, 125, 125, 125, 125, 119, 91, 81,
- 91, 123, 97, 75, 77, 75, 31, 69, 79, 73,
- 79, 119, 87, 75, 125, 101, 125, 125, 125, 125,
- 125, 125, 49, 45, 125, 71, 77, 85, 125, 95,
- 97, 95, 71, 81, 47, 17, 111, 125, 125, 71,
- 93, 103, 9, 30, 40, 46, 92, 62, 72, 18,
- 86, 72, 94, 72, 98, 80, 62, 74, 43, 61,
- 81, 97, 93, 125, 125, 125, 42, 98, 90, 100,
- 78, 86, 52, 50, 30, 32, 9, 30, 40, 46,
- 92, 62, 72, 18, 86, 72, 94, 72, 98, 80,
- 62, 74, 43, 61, 81, 97, 93, 125, 125, 125,
- },
-
- },
+ { 132719, 132743, 132768, 132793 },
+
+ { 132969, 132992, 133016, 133039 },
+
+ { 165988, 166010, 166032, 166054 },
+
+ { 199007, 199028, 199049, 199070 },
+
+ { 232026, 232046, 232066, 232086 },
+
+ { 265045, 265064, 265083, 265102 },
+
+ { 298065, 298083, 298101, 298119 },
+
+ { 298317, 298334, 298351, 298368 },
+
+ { 364105, 364121, 364137, 364154 },
+
+ { 364357, 364373, 364388, 364404 },
+
+ { 397378, 397392, 397407, 397422 },
+
+ { 430398, 430412, 430426, 430440 },
+
+ { 430651, 430664, 430678, 430691 },
+
+ { 496440, 496453, 496465, 496478 },
+
+ { 496693, 496705, 496717, 496729 },
+
+ { 529715, 529726, 529737, 529749 },
+
+ { 529968, 529979, 529989, 530000 },
+
+ { 595758, 595768, 595778, 595788 },
+
+ { 596011, 596021, 596031, 596040 },
+
+ { 629033, 629042, 629051, 629061 },
+
+ { 629287, 629296, 629304, 629313 },
+
+ { 695077, 695085, 695094, 695102 },
+
+ { 695331, 695339, 695347, 695355 },
+
+ { 728353, 728361, 728368, 728376 },
+
+ { 728608, 728615, 728622, 728629 },
+
+ { 761630, 761637, 761643, 761650 },
+
+ { 794653, 794659, 794665, 794672 },
+
+ { 794907, 794913, 794919, 794925 },
+
+ { 827930, 827935, 827941, 827947 },
+
+ { 860952, 860958, 860963, 860969 },
+
+ { 861207, 861212, 861217, 861223 },
+
+ { 894230, 894235, 894240, 894245 },
+
+ { 894485, 894490, 894494, 894499 },
+
+ { 927508, 927512, 927517, 927521 },
+
+ { 960531, 960535, 960539, 960543 },
+
+ { 960786, 960790, 960794, 960798 },
+
+ { 993809, 993813, 993817, 993820 },
+
+ { 994064, 994068, 994071, 994075 },
+
+ { 994319, 994323, 994326, 994329 },
+
+ { 1027342, 1027346, 1027349, 1027352 },
+
+ { 1060366, 1060369, 1060372, 1060375 },
+
+ { 1060621, 1060624, 1060627, 1060630 },
+
+ { 1093644, 1093647, 1093650, 1093653 },
+
+ { 1093900, 1093902, 1093905, 1093908 },
+
+ { 1094155, 1094158, 1094160, 1094163 },
+
+ { 1127179, 1127181, 1127183, 1127186 },
+
+ { 1127434, 1127436, 1127439, 1127441 },
+
+ { 1160458, 1160460, 1160462, 1160464 },
+
+ { 1160713, 1160715, 1160717, 1160719 },
+
+ { 1160969, 1160971, 1160972, 1160974 },
+
+ { 1193992, 1193994, 1193996, 1193998 },
+
+ { 1194248, 1194249, 1194251, 1194253 },
+
+ { 1194503, 1194505, 1194507, 1194508 },
+
+ { 1227527, 1227529, 1227530, 1227532 },
+
+ { 1227783, 1227784, 1227786, 1227787 },
+
+ { 1228038, 1228040, 1228041, 1228043 },
+
+ { 1261062, 1261063, 1261065, 1261066 },
+
+ { 1261062, 1261063, 1261064, 1261065 },
+
+ { 2080514, 2080514, 2080514, 2080514 },
+
+ { 16768, 16816, 16848, 16880 },
+
+ { 2114176, 2114215, 2114245, 2114275 },
+
+ { 2147200, 2147230, 2147259, 2147288 },
+
+ { 2180219, 2180246, 2180274, 2180301 },
+
+ { 2180468, 2180494, 2180521, 2180547 },
+
+ { 2246255, 2246279, 2246304, 2246329 },
+
+ { 2246505, 2246528, 2246552, 2246575 },
+
+ { 2279524, 2279546, 2279568, 2279590 },
+
+ { 2312543, 2312564, 2312585, 2312606 },
+
+ { 2345562, 2345582, 2345602, 2345622 },
+
+ { 2378581, 2378600, 2378619, 2378638 },
+
+ { 2411601, 2411619, 2411637, 2411655 },
+
+ { 2411853, 2411870, 2411887, 2411904 },
+
+ { 2477641, 2477657, 2477673, 2477690 },
+
+ { 2477893, 2477909, 2477924, 2477940 },
+
+ { 2510914, 2510928, 2510943, 2510958 },
+
+ { 2543934, 2543948, 2543962, 2543976 },
+
+ { 2544187, 2544200, 2544214, 2544227 },
+
+ { 2609976, 2609989, 2610001, 2610014 },
+
+ { 2610229, 2610241, 2610253, 2610265 },
+
+ { 2643251, 2643262, 2643273, 2643285 },
+
+ { 2643504, 2643515, 2643525, 2643536 },
+
+ { 2709294, 2709304, 2709314, 2709324 },
+
+ { 2709547, 2709557, 2709567, 2709576 },
+
+ { 2742569, 2742578, 2742587, 2742597 },
+
+ { 2742823, 2742832, 2742840, 2742849 },
+
+ { 2808613, 2808621, 2808630, 2808638 },
+
+ { 2808867, 2808875, 2808883, 2808891 },
+
+ { 2841889, 2841897, 2841904, 2841912 },
+
+ { 2842144, 2842151, 2842158, 2842165 },
+
+ { 2875166, 2875173, 2875179, 2875186 },
+
+ { 2908189, 2908195, 2908201, 2908208 },
+
+ { 2908443, 2908449, 2908455, 2908461 },
+
+ { 2941466, 2941471, 2941477, 2941483 },
+
+ { 2974488, 2974494, 2974499, 2974505 },
+
+ { 2974743, 2974748, 2974753, 2974759 },
+
+ { 3007766, 3007771, 3007776, 3007781 },
+
+ { 3008021, 3008026, 3008030, 3008035 },
+
+ { 3041044, 3041048, 3041053, 3041057 },
+
+ { 3074067, 3074071, 3074075, 3074079 },
+
+ { 3074322, 3074326, 3074330, 3074334 },
+
+ { 3107345, 3107349, 3107353, 3107356 },
+
+ { 3107600, 3107604, 3107607, 3107611 },
+
+ { 3107855, 3107859, 3107862, 3107865 },
+
+ { 3140878, 3140882, 3140885, 3140888 },
+
+ { 3173902, 3173905, 3173908, 3173911 },
+
+ { 3174157, 3174160, 3174163, 3174166 },
+
+ { 3207180, 3207183, 3207186, 3207189 },
+
+ { 3207436, 3207438, 3207441, 3207444 },
+
+ { 3207691, 3207694, 3207696, 3207699 },
+
+ { 3240715, 3240717, 3240719, 3240722 },
+
+ { 3240970, 3240972, 3240975, 3240977 },
+
+ { 3273994, 3273996, 3273998, 3274000 },
+
+ { 3274249, 3274251, 3274253, 3274255 },
+
+ { 3274505, 3274507, 3274508, 3274510 },
+
+ { 3307528, 3307530, 3307532, 3307534 },
+
+ { 3307784, 3307785, 3307787, 3307789 },
+
+ { 3308039, 3308041, 3308043, 3308044 },
+
+ { 3341063, 3341065, 3341066, 3341068 },
+
+ { 3341319, 3341320, 3341322, 3341323 },
+
+ { 3341574, 3341576, 3341577, 3341579 },
+
+ { 3374598, 3374599, 3374601, 3374602 },
+
+ { 3374598, 3374599, 3374600, 3374601 },
+
+ { 4194050, 4194050, 4194050, 4194050 },
+
+ };
+
+/*****************************************************************************/
+/* Global Variable Initialization */
+/*****************************************************************************/
+const UWORD8 gau1_ih264_cabac_ctxt_init_table[NUM_CAB_INIT_IDC_PLUS_ONE][QP_RANGE][NUM_CABAC_CTXTS] =
+
+ {
+
+ {
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 126, 104, 10, 9, 12, 30, 61, 62,
+ 54, 14, 118, 6, 78, 65, 1, 14, 73, 13, 64, 20, 62,
+ 67, 90, 104, 126, 104, 67, 78, 65, 1, 86, 95, 2,
+ 18, 69, 81, 96, 8, 67, 86, 88, 5, 76, 94, 9, 69,
+ 81, 88, 67, 74, 74, 80, 72, 5, 22, 0, 0, 0, 83,
+ 86, 97, 72, 22, 1, 18, 78, 96, 126, 98, 101, 67,
+ 82, 94, 83, 110, 91, 102, 93, 126, 92, 89, 96,
+ 108, 17, 65, 6, 93, 74, 92, 87, 126, 9, 3, 4, 69,
+ 15, 68, 69, 88, 85, 78, 75, 77, 9, 13, 68, 13, 21,
+ 81, 0, 70, 67, 6, 76, 28, 64, 2, 28, 38, 39, 34,
+ 27, 93, 73, 73, 17, 14, 100, 10, 10, 10, 2, 7, 7,
+ 0, 3, 1, 6, 69, 6, 24, 12, 68, 64, 2, 0, 13, 24,
+ 19, 11, 15, 3, 4, 4, 30, 19, 20, 78, 3, 69, 35,
+ 23, 19, 14, 17, 19, 12, 16, 24, 1, 17, 9, 9, 5, 0,
+ 12, 6, 10, 11, 8, 18, 27, 10, 82, 8, 78, 17, 32,
+ 84, 56, 62, 60, 59, 62, 62, 57, 57, 54, 44, 36,
+ 33, 43, 29, 70, 67, 4, 67, 33, 31, 28, 34, 32, 25,
+ 20, 22, 0, 4, 64, 94, 89, 108, 76, 19, 18, 11, 64,
+ 4, 70, 75, 82, 102, 77, 39, 21, 15, 8, 4, 71, 83,
+ 87, 119, 5, 34, 27, 25, 20, 8, 5, 64, 74, 90, 70,
+ 34, 32, 21, 4, 5, 72, 81, 97, 5, 58, 49, 45, 36,
+ 23, 5, 70, 79, 85, 62, 106, 106, 87, 114, 110, 98,
+ 110, 106, 103, 107, 108, 112, 96, 95, 91, 93, 94,
+ 86, 67, 80, 85, 70, 3, 5, 2, 13, 13, 14, 9, 22,
+ 17, 12, 14, 11, 22, 16, 8, 22, 19, 13, 10, 14, 0,
+ 64, 69, 4, 70, 19, 32, 20, 10, 29, 25, 11, 23, 31,
+ 19, 25, 13, 6, 20, 52, 49, 52, 52, 54, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 34, 62, 62, 62, 62, 62,
+ 62, 54, 37, 36, 6, 82, 75, 97, 125, 62, 62, 62,
+ 57, 55, 53, 41, 44, 31, 32, 22, 19, 16, 65, 71, 3,
+ 0, 65, 39, 43, 40, 31, 40, 39, 23, 31, 34, 21, 6,
+ 10, 2, 86, 23, 12, 4, 79, 71, 69, 70, 66, 68, 73,
+ 69, 70, 67, 1, 70, 66, 65, 0, 62, 62, 62, 62, 62,
+ 60, 54, 36, 4, 66, 28, 21, 18, 15, 7, 3, 1, 66,
+ 76, 85, 81, 77, 81, 80, 73, 74, 83, 71, 67, 2, 66,
+ 66, 4, 4, 62, 62, 62, 62, 61, 57, 46, 29, 1 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 125, 102, 11, 10, 12, 29, 60,
+ 62, 54, 14, 115, 6, 77, 64, 1, 14, 72, 12, 65,
+ 20, 62, 68, 91, 104, 124, 102, 67, 77, 64, 1,
+ 85, 93, 3, 18, 68, 80, 95, 8, 67, 85, 88, 5, 75,
+ 93, 9, 69, 80, 88, 66, 73, 73, 79, 71, 5, 22, 0,
+ 0, 0, 82, 86, 97, 71, 22, 1, 18, 77, 95, 124,
+ 96, 99, 65, 80, 92, 82, 108, 89, 100, 92, 125,
+ 91, 88, 95, 107, 18, 64, 7, 92, 73, 91, 86, 124,
+ 9, 3, 4, 69, 16, 68, 68, 87, 84, 77, 74, 76, 9,
+ 13, 67, 13, 21, 80, 0, 69, 67, 6, 75, 28, 64, 2,
+ 28, 37, 39, 34, 27, 92, 72, 72, 17, 14, 99, 10,
+ 10, 10, 3, 7, 7, 1, 4, 2, 6, 68, 6, 24, 12, 68,
+ 64, 2, 0, 13, 23, 19, 11, 15, 4, 5, 4, 29, 19,
+ 20, 77, 3, 69, 35, 23, 19, 14, 17, 19, 12, 16,
+ 24, 1, 17, 9, 9, 5, 0, 12, 6, 10, 11, 8, 18, 27,
+ 10, 81, 8, 77, 17, 31, 83, 55, 62, 59, 58, 61,
+ 62, 56, 56, 52, 43, 35, 32, 41, 28, 71, 67, 4,
+ 67, 32, 30, 27, 33, 31, 24, 19, 21, 0, 4, 64,
+ 93, 88, 107, 75, 20, 18, 11, 0, 5, 69, 74, 81,
+ 100, 76, 39, 21, 15, 8, 5, 70, 82, 86, 117, 5,
+ 35, 28, 25, 20, 9, 5, 64, 73, 89, 70, 35, 32,
+ 21, 4, 6, 71, 80, 96, 5, 58, 49, 45, 36, 23, 5,
+ 69, 78, 84, 62, 105, 105, 86, 112, 108, 97, 108,
+ 104, 101, 105, 106, 110, 95, 94, 90, 92, 92, 85,
+ 67, 79, 84, 69, 3, 5, 2, 13, 13, 13, 8, 22, 17,
+ 13, 14, 11, 22, 16, 8, 22, 19, 13, 10, 14, 0,
+ 64, 68, 5, 70, 19, 32, 20, 10, 29, 25, 12, 23,
+ 30, 19, 25, 13, 6, 19, 52, 49, 52, 51, 53, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 33, 62, 62, 62,
+ 62, 62, 62, 53, 36, 35, 6, 81, 74, 95, 122, 62,
+ 62, 62, 56, 53, 52, 40, 42, 30, 31, 21, 18, 15,
+ 66, 71, 3, 0, 66, 38, 42, 39, 30, 39, 38, 22,
+ 30, 33, 20, 5, 9, 1, 86, 23, 12, 4, 78, 70, 68,
+ 69, 65, 67, 71, 68, 69, 66, 3, 68, 65, 0, 2, 62,
+ 62, 62, 62, 62, 58, 51, 34, 2, 65, 29, 22, 19,
+ 16, 8, 4, 2, 65, 75, 84, 80, 76, 80, 78, 71, 73,
+ 82, 70, 66, 3, 65, 65, 4, 4, 62, 62, 62, 62, 58,
+ 54, 43, 26, 64 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 123, 101, 11, 10, 12, 28, 59,
+ 61, 54, 14, 113, 6, 76, 0, 1, 13, 72, 11, 66,
+ 19, 60, 70, 92, 105, 121, 101, 67, 76, 0, 1, 85,
+ 92, 3, 17, 68, 80, 94, 8, 67, 85, 88, 5, 75, 92,
+ 9, 69, 80, 88, 66, 73, 73, 79, 71, 5, 22, 0, 0,
+ 0, 81, 86, 97, 71, 21, 1, 18, 77, 95, 122, 94,
+ 97, 64, 78, 91, 81, 107, 88, 99, 91, 123, 91,
+ 88, 95, 106, 18, 64, 7, 91, 73, 90, 86, 123, 9,
+ 3, 4, 69, 16, 68, 68, 87, 84, 77, 74, 76, 9, 13,
+ 67, 13, 21, 80, 0, 69, 67, 6, 75, 27, 64, 2, 27,
+ 36, 38, 33, 26, 91, 72, 72, 16, 13, 99, 9, 10,
+ 10, 3, 7, 7, 2, 4, 2, 6, 68, 6, 23, 12, 69, 64,
+ 2, 64, 13, 22, 19, 11, 14, 4, 5, 4, 28, 19, 19,
+ 77, 3, 70, 34, 23, 19, 14, 17, 19, 12, 16, 24,
+ 1, 17, 9, 9, 5, 0, 12, 6, 10, 11, 8, 17, 26, 9,
+ 81, 8, 77, 16, 30, 83, 53, 62, 57, 56, 59, 60,
+ 54, 54, 50, 41, 33, 30, 39, 26, 72, 67, 4, 68,
+ 31, 29, 26, 32, 29, 23, 18, 20, 64, 3, 65, 93,
+ 88, 106, 75, 20, 18, 11, 0, 5, 69, 74, 81, 99,
+ 75, 39, 21, 15, 8, 5, 70, 81, 85, 115, 5, 35,
+ 28, 25, 20, 9, 5, 64, 73, 88, 70, 35, 32, 21, 4,
+ 6, 71, 80, 95, 5, 57, 48, 44, 35, 23, 5, 69, 78,
+ 84, 62, 104, 104, 85, 111, 107, 96, 107, 103,
+ 100, 104, 105, 108, 94, 93, 90, 91, 91, 85, 68,
+ 79, 83, 69, 3, 4, 2, 12, 12, 12, 7, 21, 17, 13,
+ 14, 10, 21, 16, 8, 21, 18, 13, 10, 13, 0, 64,
+ 68, 5, 70, 18, 31, 19, 10, 28, 24, 12, 22, 29,
+ 19, 25, 12, 5, 17, 51, 48, 51, 50, 52, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 32, 62, 62, 62, 62,
+ 62, 62, 51, 35, 34, 6, 80, 74, 94, 120, 60, 60,
+ 62, 54, 51, 50, 38, 40, 29, 29, 20, 16, 14, 67,
+ 72, 2, 0, 67, 37, 41, 37, 28, 37, 36, 21, 28,
+ 31, 19, 4, 8, 0, 87, 22, 11, 3, 78, 70, 68, 68,
+ 65, 66, 70, 67, 68, 65, 4, 67, 64, 1, 3, 62, 62,
+ 62, 62, 60, 55, 48, 31, 0, 65, 29, 22, 19, 16,
+ 9, 4, 2, 65, 75, 84, 80, 75, 80, 77, 70, 73, 81,
+ 69, 65, 3, 65, 64, 4, 4, 62, 62, 62, 60, 55, 50,
+ 39, 23, 67 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 121, 99, 12, 10, 11, 26, 57,
+ 60, 54, 14, 111, 6, 75, 1, 1, 12, 72, 10, 67,
+ 19, 58, 71, 93, 105, 118, 100, 67, 75, 1, 1, 84,
+ 91, 4, 17, 68, 79, 93, 7, 68, 85, 88, 5, 75, 92,
+ 9, 69, 80, 88, 65, 73, 73, 79, 70, 5, 22, 0, 0,
+ 0, 81, 86, 97, 70, 20, 1, 18, 77, 95, 120, 92,
+ 96, 1, 76, 90, 80, 105, 87, 98, 90, 121, 90, 88,
+ 94, 105, 18, 64, 7, 91, 73, 90, 85, 121, 9, 2,
+ 3, 70, 16, 68, 68, 86, 84, 76, 74, 75, 9, 13,
+ 67, 13, 20, 80, 0, 69, 67, 6, 75, 26, 64, 2, 26,
+ 35, 37, 32, 25, 91, 71, 72, 15, 13, 98, 9, 10,
+ 10, 3, 7, 7, 3, 4, 2, 6, 67, 6, 22, 12, 70, 64,
+ 2, 64, 12, 21, 19, 11, 13, 4, 5, 4, 26, 19, 18,
+ 77, 3, 70, 33, 23, 19, 14, 17, 19, 12, 16, 24,
+ 1, 16, 9, 9, 5, 0, 11, 5, 9, 10, 7, 16, 25, 9,
+ 81, 7, 77, 15, 28, 83, 52, 62, 55, 54, 57, 58,
+ 52, 52, 48, 39, 32, 29, 37, 24, 73, 67, 4, 68,
+ 30, 28, 25, 30, 28, 21, 17, 19, 65, 3, 65, 93,
+ 88, 106, 74, 20, 18, 11, 0, 5, 69, 74, 80, 98,
+ 75, 39, 21, 15, 8, 6, 69, 80, 84, 113, 5, 35,
+ 28, 25, 20, 10, 5, 64, 73, 88, 70, 35, 32, 20,
+ 4, 6, 71, 80, 94, 5, 57, 48, 43, 34, 23, 5, 69,
+ 77, 83, 62, 103, 103, 85, 110, 106, 95, 105,
+ 102, 99, 103, 103, 107, 94, 92, 90, 91, 89, 85,
+ 68, 79, 83, 69, 2, 4, 2, 11, 11, 11, 6, 21, 16,
+ 13, 13, 10, 21, 15, 8, 20, 18, 12, 10, 12, 0,
+ 65, 68, 5, 71, 18, 31, 18, 10, 27, 24, 12, 21,
+ 28, 18, 24, 11, 5, 16, 50, 47, 51, 49, 51, 61,
+ 62, 62, 62, 62, 62, 62, 62, 62, 31, 62, 62, 62,
+ 62, 62, 62, 49, 34, 33, 6, 79, 74, 93, 118, 58,
+ 58, 62, 52, 49, 48, 37, 38, 27, 28, 19, 15, 12,
+ 68, 73, 2, 64, 68, 36, 39, 36, 26, 35, 34, 19,
+ 27, 29, 17, 3, 6, 65, 88, 21, 10, 2, 78, 69, 68,
+ 68, 64, 66, 69, 66, 67, 64, 5, 66, 0, 3, 4, 62,
+ 62, 62, 62, 58, 52, 45, 28, 65, 64, 30, 23, 20,
+ 16, 10, 5, 2, 64, 74, 84, 79, 75, 79, 76, 69,
+ 73, 81, 69, 65, 3, 64, 0, 4, 4, 62, 62, 62, 57,
+ 52, 46, 35, 19, 69 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 120, 98, 12, 10, 11, 25, 56,
+ 58, 54, 14, 108, 5, 74, 1, 1, 11, 72, 9, 68, 18,
+ 56, 73, 94, 106, 115, 99, 67, 74, 1, 1, 84, 90,
+ 4, 16, 68, 79, 93, 7, 68, 84, 88, 5, 75, 91, 8,
+ 70, 80, 88, 65, 72, 73, 78, 70, 5, 22, 0, 0, 0,
+ 80, 87, 97, 70, 19, 1, 18, 77, 95, 119, 91, 94,
+ 2, 75, 89, 79, 104, 85, 97, 89, 119, 90, 87, 94,
+ 104, 18, 64, 7, 90, 73, 89, 85, 120, 8, 2, 3,
+ 70, 16, 68, 68, 86, 84, 76, 74, 75, 9, 12, 67,
+ 13, 20, 80, 0, 69, 67, 6, 75, 26, 65, 2, 26, 34,
+ 36, 31, 24, 90, 71, 72, 14, 12, 98, 8, 10, 9, 3,
+ 7, 7, 4, 5, 2, 5, 67, 5, 21, 11, 71, 64, 2, 65,
+ 12, 20, 18, 10, 13, 5, 5, 4, 25, 18, 17, 77, 3,
+ 71, 33, 23, 19, 14, 17, 19, 12, 16, 23, 1, 16,
+ 9, 9, 5, 64, 11, 5, 9, 10, 7, 16, 24, 8, 81, 7,
+ 77, 14, 27, 83, 50, 62, 53, 52, 55, 56, 50, 50,
+ 46, 37, 30, 27, 34, 22, 74, 67, 3, 69, 29, 27,
+ 24, 29, 26, 20, 16, 17, 65, 2, 66, 93, 88, 105,
+ 74, 20, 18, 11, 0, 5, 69, 74, 80, 97, 74, 39,
+ 21, 15, 8, 6, 69, 80, 84, 111, 5, 35, 28, 25,
+ 20, 10, 5, 64, 73, 87, 70, 35, 31, 20, 4, 6, 71,
+ 80, 94, 5, 56, 47, 42, 33, 23, 5, 69, 77, 83,
+ 62, 102, 102, 84, 108, 105, 94, 104, 100, 98,
+ 101, 102, 105, 93, 92, 89, 90, 88, 84, 69, 79,
+ 82, 69, 2, 3, 1, 10, 10, 10, 5, 20, 16, 13, 13,
+ 9, 20, 15, 8, 19, 17, 12, 9, 11, 64, 65, 68, 5,
+ 71, 17, 30, 17, 10, 26, 23, 12, 20, 27, 18, 24,
+ 10, 4, 14, 49, 47, 50, 48, 49, 60, 62, 62, 62,
+ 62, 62, 62, 62, 62, 29, 62, 62, 62, 62, 62, 62,
+ 47, 33, 31, 6, 78, 73, 92, 116, 57, 56, 60, 51,
+ 47, 46, 35, 36, 26, 26, 17, 13, 11, 69, 74, 1,
+ 64, 69, 34, 38, 34, 25, 33, 32, 18, 25, 27, 16,
+ 2, 5, 66, 88, 20, 10, 1, 78, 69, 67, 67, 64, 65,
+ 68, 66, 66, 0, 6, 65, 1, 4, 5, 62, 62, 62, 61,
+ 55, 49, 42, 25, 68, 64, 30, 23, 20, 17, 10, 5,
+ 3, 64, 74, 83, 79, 74, 79, 75, 68, 73, 80, 68,
+ 64, 3, 64, 1, 4, 4, 62, 62, 61, 54, 49, 42, 31,
+ 16, 72 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 118, 96, 12, 10, 10, 23, 54,
+ 57, 54, 14, 106, 5, 73, 2, 1, 11, 71, 8, 69, 18,
+ 54, 75, 95, 106, 112, 97, 67, 73, 2, 1, 84, 89,
+ 4, 16, 68, 79, 92, 7, 69, 84, 88, 5, 75, 90, 8,
+ 70, 80, 88, 64, 72, 72, 78, 69, 5, 22, 0, 0, 0,
+ 80, 87, 97, 69, 18, 1, 18, 76, 95, 117, 89, 93,
+ 4, 73, 87, 78, 103, 84, 96, 88, 117, 89, 87, 93,
+ 103, 18, 64, 7, 90, 73, 89, 84, 118, 8, 2, 3,
+ 70, 16, 68, 67, 85, 84, 76, 74, 74, 9, 12, 67,
+ 13, 20, 79, 0, 68, 67, 6, 75, 25, 65, 2, 25, 33,
+ 36, 30, 23, 89, 70, 72, 13, 12, 97, 8, 10, 9, 3,
+ 7, 7, 5, 5, 2, 5, 67, 5, 20, 11, 72, 64, 2, 65,
+ 11, 19, 18, 10, 12, 5, 5, 4, 24, 18, 16, 77, 3,
+ 71, 32, 23, 19, 14, 17, 19, 12, 16, 23, 1, 16,
+ 9, 9, 5, 64, 11, 5, 8, 10, 7, 15, 23, 8, 81, 6,
+ 77, 13, 26, 83, 49, 61, 52, 51, 53, 54, 48, 48,
+ 44, 35, 28, 25, 32, 21, 75, 67, 3, 69, 28, 26,
+ 23, 28, 25, 18, 15, 16, 66, 2, 66, 93, 88, 105,
+ 74, 20, 18, 11, 0, 5, 68, 73, 79, 96, 74, 39,
+ 21, 15, 8, 6, 68, 79, 83, 109, 5, 35, 28, 25,
+ 20, 10, 5, 64, 73, 86, 70, 36, 31, 19, 4, 6, 71,
+ 80, 93, 5, 56, 46, 41, 32, 23, 5, 69, 77, 82,
+ 62, 101, 101, 83, 107, 104, 93, 103, 99, 97,
+ 100, 100, 103, 92, 91, 89, 90, 87, 84, 69, 78,
+ 81, 69, 1, 3, 1, 10, 9, 9, 4, 19, 15, 13, 12, 9,
+ 20, 15, 8, 18, 16, 12, 9, 10, 64, 65, 68, 5, 71,
+ 16, 30, 17, 10, 25, 22, 12, 19, 26, 17, 23, 9,
+ 3, 12, 48, 46, 50, 47, 48, 58, 62, 62, 62, 62,
+ 62, 62, 62, 62, 28, 62, 62, 62, 62, 62, 61, 45,
+ 32, 30, 6, 77, 73, 91, 114, 55, 55, 58, 49, 45,
+ 44, 34, 34, 25, 24, 16, 11, 9, 70, 75, 1, 64,
+ 70, 33, 36, 32, 23, 32, 31, 16, 24, 26, 14, 1,
+ 4, 67, 89, 20, 9, 0, 77, 68, 67, 67, 0, 64, 67,
+ 65, 65, 1, 8, 64, 2, 5, 7, 62, 62, 62, 58, 53,
+ 46, 39, 22, 70, 64, 31, 24, 21, 17, 11, 5, 3, 0,
+ 73, 83, 79, 73, 78, 74, 67, 72, 79, 68, 64, 3,
+ 0, 2, 4, 4, 62, 62, 58, 51, 46, 39, 27, 12, 75 },
+
+ {
+
+ 62,
+ 9, 75, 62, 9, 75, 116, 95, 13, 10, 10, 22, 53,
+ 56, 54, 14, 104, 5, 73, 3, 1, 10, 71, 7, 70, 17,
+ 53, 76, 96, 107, 109, 96, 67, 73, 3, 1, 83, 88,
+ 5, 15, 67, 78, 91, 6, 69, 84, 88, 5, 74, 90, 8,
+ 70, 79, 88, 64, 72, 72, 78, 69, 5, 22, 0, 0, 0,
+ 79, 87, 97, 69, 18, 0, 18, 76, 94, 115, 87, 91,
+ 5, 71, 86, 77, 101, 83, 95, 88, 116, 89, 87, 93,
+ 103, 19, 64, 7, 89, 72, 88, 84, 117, 8, 1, 2,
+ 71, 16, 68, 67, 85, 84, 75, 74, 74, 9, 12, 66,
+ 13, 19, 79, 0, 68, 67, 6, 75, 24, 65, 2, 24, 32,
+ 35, 30, 23, 89, 70, 72, 13, 11, 97, 7, 10, 9, 3,
+ 7, 7, 5, 5, 2, 5, 66, 5, 19, 11, 72, 65, 2, 66,
+ 11, 18, 18, 10, 11, 5, 5, 4, 22, 18, 15, 77, 3,
+ 72, 31, 23, 18, 14, 17, 19, 12, 16, 23, 1, 15,
+ 9, 8, 5, 64, 10, 4, 8, 9, 6, 14, 22, 7, 81, 6,
+ 76, 12, 24, 83, 47, 59, 50, 49, 51, 52, 46, 46,
+ 42, 33, 27, 24, 30, 19, 76, 67, 3, 70, 27, 25,
+ 22, 26, 23, 17, 14, 15, 67, 1, 67, 93, 88, 104,
+ 73, 20, 18, 11, 1, 5, 68, 73, 79, 95, 73, 38,
+ 21, 15, 8, 7, 68, 78, 82, 107, 5, 36, 28, 25,
+ 20, 11, 5, 64, 72, 86, 70, 36, 31, 19, 4, 6, 70,
+ 79, 92, 5, 55, 46, 40, 32, 23, 5, 68, 76, 82,
+ 62, 101, 100, 83, 106, 103, 92, 101, 98, 96, 99,
+ 99, 102, 92, 90, 89, 89, 85, 84, 70, 78, 81, 69,
+ 1, 2, 1, 9, 8, 8, 3, 19, 15, 13, 12, 8, 19, 14,
+ 8, 18, 16, 11, 9, 10, 64, 66, 68, 5, 72, 16, 29,
+ 16, 9, 24, 22, 13, 19, 25, 17, 23, 9, 3, 11, 47,
+ 45, 49, 46, 47, 57, 62, 62, 62, 62, 62, 62, 62,
+ 61, 27, 62, 62, 62, 62, 62, 59, 43, 31, 29, 6,
+ 76, 73, 89, 111, 53, 53, 56, 47, 43, 42, 32, 32,
+ 23, 23, 15, 10, 8, 71, 76, 0, 65, 71, 32, 35,
+ 31, 21, 30, 29, 15, 22, 24, 13, 64, 2, 69, 90,
+ 19, 8, 64, 77, 68, 67, 66, 0, 64, 65, 64, 64, 2,
+ 9, 1, 3, 7, 8, 62, 62, 60, 56, 50, 44, 36, 20,
+ 72, 0, 31, 24, 21, 17, 12, 6, 3, 0, 73, 83, 78,
+ 73, 78, 73, 66, 72, 79, 67, 0, 3, 0, 3, 4, 4,
+ 62, 62, 56, 48, 42, 35, 24, 9, 77 },
+
+ {
+
+ 62,
+ 9, 75, 62, 9, 75, 114, 93, 13, 10, 9, 20, 51,
+ 54, 54, 14, 101, 4, 72, 3, 1, 9, 71, 6, 71, 17,
+ 51, 78, 97, 107, 106, 95, 67, 72, 3, 1, 83, 87,
+ 5, 15, 67, 78, 91, 6, 70, 83, 88, 5, 74, 89, 7,
+ 70, 79, 88, 0, 71, 72, 77, 68, 5, 22, 0, 0, 0,
+ 79, 87, 97, 68, 17, 0, 18, 76, 94, 114, 85, 90,
+ 7, 69, 85, 76, 100, 81, 94, 87, 114, 88, 86, 92,
+ 102, 19, 64, 7, 89, 72, 88, 83, 115, 7, 1, 2,
+ 71, 16, 68, 67, 84, 84, 75, 74, 73, 9, 11, 66,
+ 13, 19, 79, 0, 68, 67, 6, 75, 24, 65, 2, 24, 31,
+ 34, 29, 22, 88, 69, 72, 12, 11, 96, 7, 10, 8, 3,
+ 7, 7, 6, 6, 2, 5, 66, 5, 18, 11, 73, 65, 2, 66,
+ 10, 17, 17, 10, 11, 6, 5, 4, 21, 17, 14, 77, 3,
+ 72, 31, 23, 18, 14, 17, 19, 12, 16, 23, 1, 15,
+ 9, 8, 5, 64, 10, 4, 7, 9, 6, 14, 21, 7, 81, 5,
+ 76, 11, 23, 83, 46, 57, 48, 47, 49, 50, 44, 44,
+ 40, 31, 25, 22, 27, 17, 77, 67, 2, 70, 26, 24,
+ 21, 25, 22, 15, 13, 14, 67, 1, 67, 93, 88, 104,
+ 73, 20, 18, 11, 1, 5, 68, 73, 78, 94, 73, 38,
+ 21, 15, 8, 7, 67, 77, 82, 105, 5, 36, 28, 25,
+ 20, 11, 5, 64, 72, 85, 70, 36, 30, 18, 4, 6, 70,
+ 79, 92, 5, 55, 45, 39, 31, 23, 5, 68, 76, 81,
+ 62, 100, 99, 82, 104, 102, 91, 100, 96, 95, 97,
+ 97, 100, 91, 89, 88, 89, 84, 83, 70, 78, 80, 69,
+ 0, 2, 0, 8, 7, 7, 2, 18, 14, 13, 11, 8, 19, 14,
+ 8, 17, 15, 11, 8, 9, 64, 66, 68, 5, 72, 15, 29,
+ 15, 9, 23, 21, 13, 18, 24, 16, 22, 8, 2, 9, 46,
+ 45, 49, 45, 45, 55, 62, 62, 62, 62, 62, 62, 62,
+ 59, 25, 62, 62, 62, 62, 62, 56, 41, 30, 28, 6,
+ 75, 72, 88, 109, 52, 51, 54, 46, 41, 40, 31, 30,
+ 22, 21, 13, 8, 6, 72, 77, 0, 65, 72, 30, 33, 29,
+ 20, 28, 27, 13, 21, 22, 11, 65, 1, 70, 90, 18,
+ 8, 65, 77, 67, 66, 66, 1, 0, 64, 0, 0, 3, 10, 2,
+ 4, 8, 9, 62, 61, 58, 53, 48, 41, 33, 17, 74, 0,
+ 32, 25, 22, 18, 13, 6, 4, 1, 72, 82, 78, 72, 77,
+ 72, 65, 72, 78, 67, 0, 3, 1, 4, 4, 4, 62, 62,
+ 53, 45, 39, 31, 20, 5, 80 },
+
+ {
+
+ 62,
+ 8, 75, 62, 8, 75, 113, 92, 13, 10, 9, 19, 50,
+ 53, 54, 14, 99, 4, 71, 4, 1, 8, 71, 5, 73, 16,
+ 49, 80, 98, 108, 104, 94, 67, 71, 4, 1, 83, 86,
+ 5, 14, 67, 78, 90, 5, 70, 83, 89, 5, 74, 89, 7,
+ 71, 79, 88, 0, 71, 72, 77, 68, 5, 22, 0, 0, 0,
+ 78, 88, 97, 68, 16, 0, 18, 76, 94, 112, 84, 88,
+ 8, 68, 84, 75, 99, 80, 93, 86, 112, 88, 86, 92,
+ 101, 19, 64, 7, 88, 72, 87, 83, 114, 7, 0, 1,
+ 72, 16, 68, 67, 84, 84, 75, 74, 73, 8, 11, 66,
+ 13, 18, 79, 0, 68, 67, 5, 75, 23, 66, 2, 23, 29,
+ 33, 28, 21, 88, 69, 72, 11, 10, 96, 6, 9, 8, 3,
+ 7, 7, 7, 6, 2, 4, 66, 4, 17, 10, 74, 65, 2, 67,
+ 10, 16, 17, 9, 10, 6, 5, 4, 19, 17, 13, 77, 3,
+ 73, 30, 22, 18, 14, 17, 18, 11, 16, 22, 0, 14,
+ 9, 8, 4, 65, 9, 3, 7, 8, 5, 13, 20, 6, 81, 5,
+ 76, 10, 21, 83, 44, 55, 46, 45, 47, 47, 42, 42,
+ 38, 29, 23, 20, 25, 15, 78, 67, 2, 71, 25, 22,
+ 19, 23, 20, 14, 11, 12, 68, 0, 68, 93, 88, 103,
+ 73, 20, 18, 11, 1, 5, 68, 73, 78, 93, 72, 38,
+ 21, 15, 8, 7, 67, 77, 81, 104, 5, 36, 28, 25,
+ 19, 11, 5, 64, 72, 85, 70, 36, 30, 18, 4, 6, 70,
+ 79, 91, 5, 54, 44, 38, 30, 22, 5, 68, 76, 81,
+ 62, 99, 98, 82, 103, 101, 91, 99, 95, 94, 96,
+ 96, 99, 91, 89, 88, 88, 83, 83, 71, 78, 80, 69,
+ 0, 1, 0, 7, 6, 5, 1, 17, 14, 13, 11, 7, 18, 13,
+ 7, 16, 14, 10, 8, 8, 65, 67, 68, 5, 73, 14, 28,
+ 14, 9, 22, 20, 13, 17, 23, 16, 22, 7, 1, 7, 45,
+ 44, 48, 43, 44, 54, 62, 62, 62, 62, 62, 62, 62,
+ 56, 24, 62, 62, 62, 62, 61, 54, 39, 28, 26, 6,
+ 75, 72, 87, 107, 50, 49, 52, 44, 38, 38, 29, 28,
+ 20, 19, 12, 6, 5, 73, 78, 64, 66, 73, 29, 32,
+ 27, 18, 26, 25, 12, 19, 20, 10, 66, 64, 72, 91,
+ 17, 7, 66, 77, 67, 66, 65, 1, 0, 0, 0, 1, 4, 11,
+ 3, 5, 9, 10, 61, 59, 56, 51, 45, 38, 30, 14, 77,
+ 0, 32, 25, 22, 18, 13, 6, 4, 1, 72, 82, 78, 72,
+ 77, 71, 64, 72, 78, 66, 1, 3, 1, 4, 4, 3, 62,
+ 61, 51, 42, 36, 27, 16, 2, 83 },
+
+ {
+
+ 62,
+ 8, 75, 62, 8, 75, 111, 91, 14, 10, 9, 18, 49,
+ 52, 54, 14, 97, 4, 70, 5, 1, 8, 70, 4, 74, 15,
+ 47, 81, 99, 109, 101, 92, 67, 70, 5, 1, 82, 85,
+ 6, 13, 67, 77, 89, 5, 70, 83, 89, 5, 74, 88, 7,
+ 71, 79, 88, 0, 71, 71, 77, 68, 5, 22, 0, 0, 0,
+ 77, 88, 97, 68, 15, 0, 18, 75, 94, 110, 82, 86,
+ 9, 66, 82, 74, 97, 79, 91, 85, 110, 88, 86, 92,
+ 100, 19, 64, 7, 87, 72, 86, 82, 113, 7, 0, 1,
+ 72, 16, 68, 66, 83, 83, 74, 74, 73, 8, 11, 66,
+ 13, 18, 78, 0, 67, 67, 5, 74, 22, 66, 2, 22, 28,
+ 33, 27, 20, 87, 69, 71, 10, 9, 96, 5, 9, 8, 4,
+ 7, 7, 8, 6, 2, 4, 65, 4, 17, 10, 75, 65, 2, 68,
+ 10, 15, 17, 9, 9, 6, 5, 4, 18, 17, 13, 77, 3,
+ 74, 29, 22, 18, 14, 17, 18, 11, 16, 22, 0, 14,
+ 9, 8, 4, 65, 9, 3, 7, 8, 5, 12, 20, 6, 81, 5,
+ 76, 9, 20, 83, 42, 54, 45, 44, 45, 45, 41, 41,
+ 36, 27, 22, 19, 23, 14, 79, 67, 2, 72, 24, 21,
+ 18, 22, 19, 13, 10, 11, 69, 64, 69, 93, 87, 102,
+ 72, 21, 18, 11, 1, 6, 67, 72, 77, 92, 71, 38,
+ 21, 15, 8, 8, 67, 76, 80, 102, 5, 36, 28, 25,
+ 19, 12, 5, 64, 72, 84, 70, 37, 30, 18, 4, 7, 70,
+ 79, 90, 5, 54, 44, 38, 29, 22, 5, 68, 75, 80,
+ 62, 98, 97, 81, 102, 99, 90, 97, 94, 92, 95, 95,
+ 97, 90, 88, 88, 87, 81, 83, 72, 77, 79, 69, 0,
+ 0, 0, 7, 5, 4, 0, 17, 14, 13, 11, 7, 17, 13, 7,
+ 15, 14, 10, 8, 7, 65, 67, 67, 6, 73, 14, 27, 14,
+ 9, 22, 20, 13, 16, 22, 16, 22, 6, 1, 6, 45, 43,
+ 47, 42, 43, 53, 60, 60, 62, 62, 62, 62, 62, 54,
+ 23, 62, 62, 62, 62, 58, 52, 38, 27, 25, 6, 74,
+ 72, 86, 105, 48, 48, 50, 42, 36, 37, 28, 26, 19,
+ 18, 11, 5, 4, 74, 78, 64, 66, 74, 28, 31, 26,
+ 16, 25, 24, 11, 18, 19, 9, 67, 65, 73, 92, 17,
+ 6, 66, 76, 67, 66, 64, 2, 1, 1, 1, 2, 5, 13, 4,
+ 6, 11, 12, 60, 58, 54, 49, 42, 35, 27, 11, 79,
+ 1, 32, 25, 23, 18, 14, 7, 4, 2, 71, 82, 77, 71,
+ 77, 70, 1, 71, 77, 65, 2, 3, 2, 5, 4, 3, 62, 59,
+ 49, 40, 33, 24, 12, 64, 85 },
+
+ {
+
+ 62,
+ 8, 75, 62, 8, 75, 109, 89, 14, 10, 8, 16, 47,
+ 50, 54, 14, 94, 3, 69, 5, 1, 7, 70, 3, 75, 15,
+ 45, 83, 100, 109, 98, 91, 67, 69, 5, 1, 82, 84,
+ 6, 13, 67, 77, 89, 5, 71, 82, 89, 5, 74, 87, 6,
+ 71, 79, 88, 1, 70, 71, 76, 67, 5, 22, 0, 0, 0,
+ 77, 88, 97, 67, 14, 0, 18, 75, 94, 109, 80, 85,
+ 11, 64, 81, 73, 96, 77, 90, 84, 108, 87, 85, 91,
+ 99, 19, 64, 7, 87, 72, 86, 82, 111, 6, 0, 1, 72,
+ 16, 68, 66, 83, 83, 74, 74, 72, 8, 10, 66, 13,
+ 18, 78, 0, 67, 67, 5, 74, 22, 66, 2, 22, 27, 32,
+ 26, 19, 86, 68, 71, 9, 9, 95, 5, 9, 7, 4, 7, 7,
+ 9, 7, 2, 4, 65, 4, 16, 10, 76, 65, 2, 68, 9, 14,
+ 16, 9, 9, 7, 5, 4, 17, 16, 12, 77, 3, 74, 29,
+ 22, 18, 14, 17, 18, 11, 16, 22, 0, 14, 9, 8, 4,
+ 65, 9, 3, 6, 8, 5, 12, 19, 5, 81, 4, 76, 8, 19,
+ 83, 41, 52, 43, 42, 43, 43, 39, 39, 34, 25, 20,
+ 17, 20, 12, 80, 67, 1, 72, 23, 20, 17, 21, 17,
+ 11, 9, 10, 69, 64, 69, 93, 87, 102, 72, 21, 18,
+ 11, 1, 6, 67, 72, 77, 91, 71, 38, 21, 15, 8, 8,
+ 66, 75, 80, 100, 5, 36, 28, 25, 19, 12, 5, 64,
+ 72, 83, 70, 37, 29, 17, 4, 7, 70, 79, 90, 5, 53,
+ 43, 37, 28, 22, 5, 68, 75, 80, 62, 97, 96, 80,
+ 100, 98, 89, 96, 92, 91, 93, 93, 95, 89, 87, 87,
+ 87, 80, 82, 72, 77, 78, 69, 64, 0, 64, 6, 4, 3,
+ 64, 16, 13, 13, 10, 6, 17, 13, 7, 14, 13, 10, 7,
+ 6, 65, 67, 67, 6, 73, 13, 27, 13, 9, 21, 19, 13,
+ 15, 21, 15, 21, 5, 0, 4, 44, 43, 47, 41, 41, 51,
+ 58, 58, 62, 62, 62, 62, 62, 52, 21, 59, 62, 59,
+ 62, 56, 49, 36, 26, 24, 6, 73, 71, 85, 103, 47,
+ 46, 48, 41, 34, 35, 26, 24, 18, 16, 9, 3, 2, 75,
+ 79, 65, 66, 75, 26, 29, 24, 15, 23, 22, 9, 16,
+ 17, 7, 68, 66, 74, 92, 16, 6, 67, 76, 66, 65,
+ 64, 2, 2, 2, 2, 3, 6, 14, 5, 7, 12, 13, 60, 56,
+ 52, 46, 40, 32, 24, 8, 81, 1, 33, 26, 23, 19,
+ 15, 7, 5, 2, 71, 81, 77, 70, 76, 69, 2, 71, 76,
+ 65, 2, 3, 2, 6, 4, 3, 62, 57, 46, 37, 30, 20, 8,
+ 68, 88 },
+
+ {
+
+ 62,
+ 8, 76, 62, 8, 76, 107, 88, 15, 10, 8, 15, 46,
+ 49, 54, 14, 92, 3, 69, 6, 1, 6, 70, 2, 76, 14,
+ 44, 84, 101, 110, 95, 90, 67, 69, 6, 1, 81, 83,
+ 7, 12, 66, 76, 88, 4, 71, 82, 89, 5, 73, 87, 6,
+ 71, 78, 88, 1, 70, 71, 76, 67, 5, 22, 0, 0, 0,
+ 76, 88, 97, 67, 14, 64, 18, 75, 93, 107, 78, 83,
+ 12, 1, 80, 72, 94, 76, 89, 84, 107, 87, 85, 91,
+ 99, 20, 64, 7, 86, 71, 85, 81, 110, 6, 64, 0,
+ 73, 16, 68, 66, 82, 83, 73, 74, 72, 8, 10, 65,
+ 13, 17, 78, 0, 67, 67, 5, 74, 21, 66, 2, 21, 26,
+ 31, 26, 19, 86, 68, 71, 9, 8, 95, 4, 9, 7, 4, 7,
+ 7, 9, 7, 2, 4, 64, 4, 15, 10, 76, 66, 2, 69, 9,
+ 13, 16, 9, 8, 7, 5, 4, 15, 16, 11, 77, 3, 75,
+ 28, 22, 17, 14, 17, 18, 11, 16, 22, 0, 13, 9, 7,
+ 4, 65, 8, 2, 6, 7, 4, 11, 18, 5, 81, 4, 75, 7,
+ 17, 83, 39, 50, 41, 40, 41, 41, 37, 37, 32, 23,
+ 19, 16, 18, 10, 81, 67, 1, 73, 22, 19, 16, 19,
+ 16, 10, 8, 9, 70, 65, 70, 93, 87, 101, 71, 21,
+ 18, 11, 2, 6, 67, 72, 76, 90, 70, 37, 21, 15, 8,
+ 9, 66, 74, 79, 98, 5, 37, 28, 25, 19, 13, 5, 64,
+ 71, 83, 70, 37, 29, 17, 4, 7, 69, 78, 89, 5, 53,
+ 43, 36, 28, 22, 5, 67, 74, 79, 62, 97, 95, 80,
+ 99, 97, 88, 94, 91, 90, 92, 92, 94, 89, 86, 87,
+ 86, 78, 82, 73, 77, 78, 69, 64, 64, 64, 5, 3, 2,
+ 65, 16, 13, 13, 10, 6, 16, 12, 7, 14, 13, 9, 7,
+ 6, 65, 68, 67, 6, 74, 13, 26, 12, 8, 20, 19, 14,
+ 15, 20, 15, 21, 5, 0, 3, 43, 42, 46, 40, 40, 50,
+ 56, 56, 61, 60, 62, 62, 60, 49, 20, 57, 62, 56,
+ 62, 53, 47, 34, 25, 23, 6, 72, 71, 83, 100, 45,
+ 44, 46, 39, 32, 33, 25, 22, 16, 15, 8, 2, 1, 76,
+ 80, 65, 67, 76, 25, 28, 23, 13, 21, 20, 8, 15,
+ 15, 6, 70, 68, 76, 93, 15, 5, 68, 76, 66, 65, 0,
+ 3, 2, 4, 3, 4, 7, 15, 7, 8, 14, 14, 59, 55, 50,
+ 44, 37, 30, 21, 6, 83, 2, 33, 26, 24, 19, 16, 8,
+ 5, 3, 70, 81, 76, 70, 76, 68, 3, 71, 76, 64, 3,
+ 3, 3, 7, 4, 3, 62, 55, 44, 34, 26, 16, 5, 71, 90 },
+
+ {
+
+ 62,
+ 8, 76, 62, 8, 76, 106, 86, 15, 10, 7, 13, 44,
+ 48, 54, 14, 90, 3, 68, 7, 1, 5, 70, 1, 77, 14,
+ 42, 86, 102, 110, 92, 89, 67, 68, 7, 1, 81, 82,
+ 7, 12, 66, 76, 87, 4, 72, 82, 89, 5, 73, 86, 6,
+ 72, 78, 88, 2, 70, 71, 76, 66, 5, 22, 0, 0, 0,
+ 76, 89, 97, 66, 13, 64, 18, 75, 93, 105, 77, 82,
+ 14, 2, 79, 71, 93, 75, 88, 83, 105, 86, 85, 90,
+ 98, 20, 64, 7, 86, 71, 85, 81, 108, 6, 64, 0,
+ 73, 16, 68, 66, 82, 83, 73, 74, 71, 8, 10, 65,
+ 13, 17, 78, 0, 67, 67, 5, 74, 20, 67, 2, 20, 25,
+ 30, 25, 18, 85, 67, 71, 8, 8, 94, 4, 9, 7, 4, 7,
+ 7, 10, 7, 2, 3, 64, 3, 14, 9, 77, 66, 2, 69, 8,
+ 12, 16, 8, 7, 7, 5, 4, 14, 16, 10, 77, 3, 75,
+ 27, 22, 17, 14, 17, 18, 11, 16, 21, 0, 13, 9, 7,
+ 4, 66, 8, 2, 5, 7, 4, 10, 17, 4, 81, 3, 75, 6,
+ 16, 83, 38, 48, 39, 38, 39, 39, 35, 35, 30, 21,
+ 17, 14, 16, 8, 82, 67, 1, 73, 21, 18, 15, 18,
+ 14, 8, 7, 7, 71, 65, 70, 93, 87, 101, 71, 21,
+ 18, 11, 2, 6, 67, 72, 76, 89, 70, 37, 21, 15, 8,
+ 9, 65, 74, 78, 96, 5, 37, 28, 25, 19, 13, 5, 64,
+ 71, 82, 70, 37, 29, 16, 4, 7, 69, 78, 88, 5, 52,
+ 42, 35, 27, 22, 5, 67, 74, 79, 62, 96, 94, 79,
+ 98, 96, 87, 93, 90, 89, 91, 90, 92, 88, 86, 87,
+ 86, 77, 82, 73, 77, 77, 69, 65, 64, 64, 4, 2, 1,
+ 66, 15, 12, 13, 9, 5, 16, 12, 7, 13, 12, 9, 7,
+ 5, 66, 68, 67, 6, 74, 12, 26, 11, 8, 19, 18, 14,
+ 14, 19, 14, 20, 4, 64, 1, 42, 41, 46, 39, 39,
+ 48, 54, 54, 59, 57, 62, 62, 57, 47, 19, 54, 62,
+ 53, 58, 50, 44, 32, 24, 21, 6, 71, 71, 82, 98,
+ 43, 42, 44, 37, 30, 31, 23, 20, 15, 13, 7, 0,
+ 64, 77, 81, 66, 67, 77, 24, 26, 21, 11, 19, 18,
+ 6, 13, 13, 4, 71, 69, 77, 94, 14, 4, 69, 76, 65,
+ 65, 0, 3, 3, 5, 3, 5, 8, 16, 8, 9, 15, 15, 59,
+ 53, 48, 41, 35, 27, 18, 3, 86, 2, 34, 27, 24,
+ 19, 16, 8, 5, 3, 70, 81, 76, 69, 75, 67, 4, 71,
+ 75, 64, 3, 3, 3, 8, 4, 3, 61, 53, 41, 31, 23,
+ 12, 1, 75, 93 },
+
+ {
+
+ 62,
+ 8, 76, 62, 8, 76, 104, 85, 15, 10, 7, 12, 43,
+ 46, 54, 14, 87, 2, 67, 7, 1, 5, 69, 0, 78, 13,
+ 40, 88, 103, 111, 89, 87, 67, 67, 7, 1, 81, 81,
+ 7, 11, 66, 76, 87, 4, 72, 81, 89, 5, 73, 85, 5,
+ 72, 78, 88, 2, 69, 70, 75, 66, 5, 22, 0, 0, 0,
+ 75, 89, 97, 66, 12, 64, 18, 74, 93, 104, 75, 80,
+ 15, 4, 77, 70, 92, 73, 87, 82, 103, 86, 84, 90,
+ 97, 20, 64, 7, 85, 71, 84, 80, 107, 5, 64, 0,
+ 73, 16, 68, 65, 81, 83, 73, 74, 71, 8, 9, 65,
+ 13, 17, 77, 0, 66, 67, 5, 74, 20, 67, 2, 20, 24,
+ 30, 24, 17, 84, 67, 71, 7, 7, 94, 3, 9, 6, 4, 7,
+ 7, 11, 8, 2, 3, 64, 3, 13, 9, 78, 66, 2, 70, 8,
+ 11, 15, 8, 7, 8, 5, 4, 13, 15, 9, 77, 3, 76, 27,
+ 22, 17, 14, 17, 18, 11, 16, 21, 0, 13, 9, 7, 4,
+ 66, 8, 2, 5, 7, 4, 10, 16, 4, 81, 3, 75, 5, 15,
+ 83, 36, 46, 38, 37, 37, 37, 33, 33, 28, 19, 15,
+ 12, 13, 7, 83, 67, 0, 74, 20, 17, 14, 17, 13, 7,
+ 6, 6, 71, 66, 71, 93, 87, 100, 71, 21, 18, 11,
+ 2, 6, 66, 71, 75, 88, 69, 37, 21, 15, 8, 9, 65,
+ 73, 78, 94, 5, 37, 28, 25, 19, 13, 5, 64, 71,
+ 81, 70, 38, 28, 16, 4, 7, 69, 78, 88, 5, 52, 41,
+ 34, 26, 22, 5, 67, 74, 78, 62, 95, 93, 78, 96,
+ 95, 86, 92, 88, 88, 89, 89, 90, 87, 85, 86, 85,
+ 76, 81, 74, 76, 76, 69, 65, 65, 65, 4, 1, 0, 67,
+ 14, 12, 13, 9, 5, 15, 12, 7, 12, 11, 9, 6, 4,
+ 66, 68, 67, 6, 74, 11, 25, 11, 8, 18, 17, 14,
+ 13, 18, 14, 20, 3, 65, 64, 41, 41, 45, 38, 37,
+ 47, 52, 52, 57, 55, 62, 61, 54, 45, 17, 51, 62,
+ 50, 54, 48, 42, 30, 23, 20, 6, 70, 70, 81, 96,
+ 42, 41, 42, 36, 28, 29, 22, 18, 14, 11, 5, 65,
+ 65, 78, 82, 66, 67, 78, 22, 25, 19, 10, 18, 17,
+ 5, 12, 12, 3, 72, 70, 78, 94, 14, 4, 70, 75, 65,
+ 64, 1, 4, 4, 6, 4, 6, 9, 18, 9, 10, 16, 17, 58,
+ 51, 46, 39, 32, 24, 15, 0, 88, 2, 34, 27, 25,
+ 20, 17, 8, 6, 4, 69, 80, 76, 68, 75, 66, 5, 70,
+ 74, 0, 4, 3, 4, 9, 4, 3, 59, 51, 39, 28, 20, 9,
+ 66, 78, 96 },
+
+ {
+
+ 61,
+ 8, 76, 61, 8, 76, 102, 83, 16, 10, 6, 10, 41,
+ 45, 54, 14, 85, 2, 66, 8, 1, 4, 69, 64, 79, 13,
+ 38, 89, 104, 111, 86, 86, 67, 66, 8, 1, 80, 80,
+ 8, 11, 66, 75, 86, 3, 73, 81, 89, 5, 73, 85, 5,
+ 72, 78, 88, 3, 69, 70, 75, 65, 5, 22, 0, 0, 0,
+ 75, 89, 97, 65, 11, 64, 18, 74, 93, 102, 73, 79,
+ 17, 6, 76, 69, 90, 72, 86, 81, 101, 85, 84, 89,
+ 96, 20, 64, 7, 85, 71, 84, 80, 105, 5, 65, 64,
+ 74, 16, 68, 65, 81, 83, 72, 74, 70, 8, 9, 65,
+ 13, 16, 77, 0, 66, 67, 5, 74, 19, 67, 2, 19, 23,
+ 29, 23, 16, 84, 66, 71, 6, 7, 93, 3, 9, 6, 4, 7,
+ 7, 12, 8, 2, 3, 0, 3, 12, 9, 79, 66, 2, 70, 7,
+ 10, 15, 8, 6, 8, 5, 4, 11, 15, 8, 77, 3, 76, 26,
+ 22, 17, 14, 17, 18, 11, 16, 21, 0, 12, 9, 7, 4,
+ 66, 7, 1, 4, 6, 3, 9, 15, 3, 81, 2, 75, 4, 13,
+ 83, 35, 44, 36, 35, 35, 35, 31, 31, 26, 17, 14,
+ 11, 11, 5, 84, 67, 0, 74, 19, 16, 13, 15, 11, 5,
+ 5, 5, 72, 66, 71, 93, 87, 100, 70, 21, 18, 11,
+ 2, 6, 66, 71, 75, 87, 69, 37, 21, 15, 8, 10, 64,
+ 72, 77, 92, 5, 37, 28, 25, 19, 14, 5, 64, 71,
+ 81, 70, 38, 28, 15, 4, 7, 69, 78, 87, 5, 51, 41,
+ 33, 25, 22, 5, 67, 73, 78, 62, 94, 92, 78, 95,
+ 94, 85, 90, 87, 87, 88, 87, 89, 87, 84, 86, 85,
+ 74, 81, 74, 76, 76, 69, 66, 65, 65, 3, 0, 64,
+ 68, 14, 11, 13, 8, 4, 15, 11, 7, 11, 11, 8, 6,
+ 3, 66, 69, 67, 6, 75, 11, 25, 10, 8, 17, 17, 14,
+ 12, 17, 13, 19, 2, 65, 65, 40, 40, 45, 37, 36,
+ 45, 50, 50, 55, 52, 60, 59, 51, 42, 16, 48, 62,
+ 47, 50, 45, 39, 28, 22, 19, 6, 69, 70, 80, 94,
+ 40, 39, 40, 34, 26, 27, 20, 16, 12, 10, 4, 66,
+ 67, 79, 83, 67, 68, 79, 21, 23, 18, 8, 16, 15,
+ 3, 10, 10, 1, 73, 72, 80, 95, 13, 3, 71, 75, 64,
+ 64, 1, 4, 4, 7, 5, 7, 10, 19, 10, 11, 18, 18,
+ 58, 50, 44, 36, 30, 21, 12, 66, 90, 3, 35, 28,
+ 25, 20, 18, 9, 6, 4, 69, 80, 75, 68, 74, 65, 6,
+ 70, 74, 0, 4, 3, 4, 10, 4, 3, 58, 49, 36, 25,
+ 17, 5, 70, 82, 98 },
+
+ {
+
+ 60,
+ 8, 76, 60, 8, 76, 100, 82, 16, 10, 6, 9, 40, 44,
+ 54, 14, 83, 2, 65, 9, 1, 3, 69, 65, 80, 12, 36,
+ 91, 105, 112, 83, 85, 67, 65, 9, 1, 80, 79, 8,
+ 10, 66, 75, 85, 3, 73, 81, 89, 5, 73, 84, 5, 72,
+ 78, 88, 3, 69, 70, 75, 65, 5, 22, 0, 0, 0, 74,
+ 89, 97, 65, 10, 64, 18, 74, 93, 100, 71, 77, 18,
+ 8, 75, 68, 89, 71, 85, 80, 99, 85, 84, 89, 95,
+ 20, 64, 7, 84, 71, 83, 79, 104, 5, 65, 64, 74,
+ 16, 68, 65, 80, 83, 72, 74, 70, 8, 9, 65, 13,
+ 16, 77, 0, 66, 67, 5, 74, 18, 67, 2, 18, 22, 28,
+ 22, 15, 83, 66, 71, 5, 6, 93, 2, 9, 6, 4, 7, 7,
+ 13, 8, 2, 3, 0, 3, 11, 9, 80, 66, 2, 71, 7, 9,
+ 15, 8, 5, 8, 5, 4, 10, 15, 7, 77, 3, 77, 25, 22,
+ 17, 14, 17, 18, 11, 16, 21, 0, 12, 9, 7, 4, 66,
+ 7, 1, 4, 6, 3, 8, 14, 3, 81, 2, 75, 3, 12, 83,
+ 33, 42, 34, 33, 33, 33, 29, 29, 24, 15, 12, 9,
+ 9, 3, 85, 67, 0, 75, 18, 15, 12, 14, 10, 4, 4,
+ 4, 73, 67, 72, 93, 87, 99, 70, 21, 18, 11, 2, 6,
+ 66, 71, 74, 86, 68, 37, 21, 15, 8, 10, 64, 71,
+ 76, 90, 5, 37, 28, 25, 19, 14, 5, 64, 71, 80,
+ 70, 38, 28, 15, 4, 7, 69, 78, 86, 5, 51, 40, 32,
+ 24, 22, 5, 67, 73, 77, 62, 93, 91, 77, 94, 93,
+ 84, 89, 86, 86, 87, 86, 87, 86, 83, 86, 84, 73,
+ 81, 75, 76, 75, 69, 66, 66, 65, 2, 64, 65, 69,
+ 13, 11, 13, 8, 4, 14, 11, 7, 10, 10, 8, 6, 2,
+ 66, 69, 67, 6, 75, 10, 24, 9, 8, 16, 16, 14, 11,
+ 16, 13, 19, 1, 66, 67, 39, 39, 44, 36, 35, 44,
+ 48, 48, 53, 50, 57, 56, 48, 40, 15, 45, 59, 44,
+ 46, 42, 37, 26, 21, 18, 6, 68, 70, 79, 92, 38,
+ 37, 38, 32, 24, 25, 19, 14, 11, 8, 3, 68, 68,
+ 80, 84, 67, 68, 80, 20, 22, 16, 6, 14, 13, 2, 9,
+ 8, 0, 74, 73, 81, 96, 12, 2, 72, 75, 64, 64, 2,
+ 5, 5, 8, 6, 8, 11, 20, 11, 12, 19, 19, 57, 48,
+ 42, 34, 27, 18, 9, 69, 92, 3, 35, 28, 26, 20,
+ 19, 9, 6, 5, 68, 80, 75, 67, 74, 64, 7, 70, 73,
+ 1, 5, 3, 5, 11, 4, 3, 57, 47, 34, 22, 14, 1, 74,
+ 85, 101 },
+
+ {
+
+ 58,
+ 7, 77, 58, 7, 77, 99, 81, 16, 10, 5, 7, 38, 42,
+ 53, 14, 81, 1, 65, 9, 0, 2, 69, 67, 82, 11, 34,
+ 93, 106, 113, 81, 84, 68, 65, 9, 0, 80, 78, 8,
+ 9, 66, 75, 85, 2, 74, 81, 90, 5, 73, 84, 4, 73,
+ 78, 88, 3, 69, 70, 75, 65, 4, 22, 0, 0, 0, 74,
+ 90, 97, 65, 9, 65, 18, 74, 93, 99, 70, 76, 19,
+ 9, 74, 67, 88, 70, 84, 80, 98, 85, 84, 89, 95,
+ 20, 64, 7, 84, 71, 83, 79, 103, 4, 66, 65, 75,
+ 16, 68, 65, 80, 83, 72, 74, 70, 7, 8, 65, 12,
+ 15, 77, 64, 66, 67, 4, 74, 17, 68, 1, 17, 20,
+ 27, 21, 14, 83, 66, 71, 4, 5, 93, 1, 8, 5, 4, 7,
+ 7, 13, 8, 2, 2, 0, 2, 10, 8, 81, 67, 1, 72, 6,
+ 8, 14, 7, 4, 8, 5, 4, 8, 14, 6, 77, 3, 78, 24,
+ 21, 16, 14, 17, 17, 10, 16, 20, 64, 11, 9, 6, 3,
+ 67, 6, 0, 3, 5, 2, 7, 13, 2, 81, 1, 75, 2, 10,
+ 83, 31, 40, 32, 31, 31, 30, 27, 27, 22, 13, 10,
+ 7, 6, 1, 87, 68, 64, 76, 17, 13, 10, 12, 8, 2,
+ 2, 2, 74, 68, 73, 93, 87, 99, 70, 21, 18, 11, 2,
+ 6, 66, 71, 74, 85, 68, 36, 21, 15, 8, 10, 64,
+ 71, 76, 89, 4, 37, 28, 24, 18, 14, 5, 64, 71,
+ 80, 70, 38, 27, 14, 3, 7, 69, 78, 86, 5, 50, 39,
+ 31, 23, 21, 5, 67, 73, 77, 62, 93, 90, 77, 93,
+ 92, 84, 88, 85, 85, 86, 85, 86, 86, 83, 86, 84,
+ 72, 81, 76, 76, 75, 69, 67, 67, 66, 1, 65, 67,
+ 71, 12, 10, 13, 7, 3, 13, 10, 6, 9, 9, 7, 5, 1,
+ 67, 70, 67, 6, 76, 9, 23, 8, 7, 15, 15, 14, 10,
+ 14, 12, 18, 0, 67, 69, 38, 38, 43, 34, 33, 42,
+ 46, 46, 50, 47, 54, 53, 45, 37, 13, 42, 55, 41,
+ 41, 39, 34, 24, 19, 16, 6, 68, 70, 78, 90, 36,
+ 35, 36, 30, 21, 23, 17, 11, 9, 6, 1, 70, 70, 81,
+ 85, 68, 69, 82, 18, 20, 14, 4, 12, 11, 0, 7, 6,
+ 65, 76, 75, 83, 97, 11, 1, 73, 75, 64, 64, 2, 5,
+ 5, 9, 6, 9, 11, 21, 12, 13, 20, 20, 56, 46, 39,
+ 31, 24, 15, 5, 72, 95, 3, 35, 28, 26, 20, 19, 9,
+ 6, 5, 68, 80, 75, 67, 74, 0, 8, 70, 73, 1, 5, 3,
+ 5, 11, 4, 2, 55, 44, 31, 19, 10, 66, 78, 89, 104 },
+
+ {
+
+ 57,
+ 7, 77, 57, 7, 77, 97, 79, 17, 11, 5, 6, 37, 41,
+ 53, 14, 78, 1, 64, 10, 0, 2, 68, 68, 83, 11, 33,
+ 94, 107, 113, 78, 82, 68, 64, 10, 0, 79, 76, 9,
+ 9, 65, 74, 84, 2, 74, 80, 90, 5, 72, 83, 4, 73,
+ 77, 88, 4, 68, 69, 74, 64, 4, 22, 0, 0, 0, 73,
+ 90, 97, 64, 9, 65, 18, 73, 92, 97, 68, 74, 21,
+ 11, 72, 66, 86, 68, 82, 79, 96, 84, 83, 88, 94,
+ 21, 0, 8, 83, 70, 82, 78, 101, 4, 66, 65, 75,
+ 17, 68, 64, 79, 82, 71, 73, 69, 7, 8, 64, 12,
+ 15, 76, 64, 65, 67, 4, 73, 17, 68, 1, 17, 19,
+ 27, 21, 14, 82, 65, 70, 4, 5, 92, 1, 8, 5, 5, 7,
+ 7, 14, 9, 3, 2, 1, 2, 10, 8, 81, 67, 1, 72, 6,
+ 7, 14, 7, 4, 9, 6, 4, 7, 14, 6, 76, 3, 78, 24,
+ 21, 16, 14, 17, 17, 10, 16, 20, 64, 11, 9, 6, 3,
+ 67, 6, 0, 3, 5, 2, 7, 13, 2, 80, 1, 74, 2, 9,
+ 82, 30, 39, 31, 30, 29, 28, 26, 26, 20, 12, 9,
+ 6, 4, 0, 88, 68, 64, 76, 16, 12, 9, 11, 7, 1, 1,
+ 1, 74, 68, 73, 92, 86, 98, 69, 22, 18, 11, 3, 7,
+ 65, 70, 73, 83, 67, 36, 21, 15, 8, 11, 0, 70,
+ 75, 87, 4, 38, 29, 24, 18, 15, 5, 64, 70, 79,
+ 70, 39, 27, 14, 3, 8, 68, 77, 85, 5, 50, 39, 31,
+ 23, 21, 5, 66, 72, 76, 62, 92, 89, 76, 91, 90,
+ 83, 86, 83, 83, 84, 83, 84, 85, 82, 85, 83, 70,
+ 80, 76, 75, 74, 68, 67, 67, 66, 1, 65, 68, 72,
+ 12, 10, 14, 7, 3, 13, 10, 6, 9, 9, 7, 5, 1, 67,
+ 70, 66, 7, 76, 9, 23, 8, 7, 15, 15, 15, 10, 13,
+ 12, 18, 0, 67, 70, 38, 38, 43, 33, 32, 41, 44,
+ 44, 48, 45, 52, 51, 43, 35, 12, 40, 52, 38, 37,
+ 37, 32, 23, 18, 15, 6, 67, 69, 76, 87, 35, 34,
+ 35, 29, 19, 22, 16, 9, 8, 5, 0, 71, 71, 82, 85,
+ 68, 69, 83, 17, 19, 13, 3, 11, 10, 64, 6, 5, 66,
+ 77, 76, 84, 97, 11, 1, 73, 74, 0, 0, 3, 6, 6,
+ 11, 7, 10, 12, 23, 14, 14, 22, 22, 56, 45, 37,
+ 29, 22, 13, 2, 74, 97, 4, 36, 29, 27, 21, 20,
+ 10, 7, 6, 67, 79, 74, 66, 73, 2, 10, 69, 72, 2,
+ 6, 4, 6, 12, 4, 2, 54, 42, 29, 17, 7, 69, 81,
+ 92, 106 },
+
+ {
+
+ 56,
+ 7, 77, 56, 7, 77, 95, 78, 17, 11, 5, 5, 36, 40,
+ 53, 14, 76, 1, 0, 11, 0, 1, 68, 69, 84, 10, 31,
+ 96, 108, 114, 75, 81, 68, 0, 11, 0, 79, 75, 9,
+ 8, 65, 74, 83, 2, 74, 80, 90, 5, 72, 82, 4, 73,
+ 77, 88, 4, 68, 69, 74, 64, 4, 22, 0, 0, 0, 72,
+ 90, 97, 64, 8, 65, 18, 73, 92, 95, 66, 72, 22,
+ 13, 71, 65, 85, 67, 81, 78, 94, 84, 83, 88, 93,
+ 21, 0, 8, 82, 70, 81, 78, 100, 4, 66, 65, 75,
+ 17, 68, 64, 79, 82, 71, 73, 69, 7, 8, 64, 12,
+ 15, 76, 64, 65, 67, 4, 73, 16, 68, 1, 16, 18,
+ 26, 20, 13, 81, 65, 70, 3, 4, 92, 0, 8, 5, 5, 7,
+ 7, 15, 9, 3, 2, 1, 2, 9, 8, 82, 67, 1, 73, 6, 6,
+ 14, 7, 3, 9, 6, 4, 6, 14, 5, 76, 3, 79, 23, 21,
+ 16, 14, 17, 17, 10, 16, 20, 64, 11, 9, 6, 3, 67,
+ 6, 0, 3, 5, 2, 6, 12, 1, 80, 1, 74, 1, 8, 82,
+ 28, 37, 29, 28, 27, 26, 24, 24, 18, 10, 7, 4, 2,
+ 65, 89, 68, 64, 77, 15, 11, 8, 10, 5, 0, 0, 0,
+ 75, 69, 74, 92, 86, 97, 69, 22, 18, 11, 3, 7,
+ 65, 70, 73, 82, 66, 36, 21, 15, 8, 11, 0, 69,
+ 74, 85, 4, 38, 29, 24, 18, 15, 5, 64, 70, 78,
+ 70, 39, 27, 14, 3, 8, 68, 77, 84, 5, 49, 38, 30,
+ 22, 21, 5, 66, 72, 76, 62, 91, 88, 75, 90, 89,
+ 82, 85, 82, 82, 83, 82, 82, 84, 81, 85, 82, 69,
+ 80, 77, 75, 73, 68, 67, 68, 66, 0, 66, 69, 73,
+ 11, 10, 14, 7, 2, 12, 10, 6, 8, 8, 7, 5, 0, 67,
+ 70, 66, 7, 76, 8, 22, 7, 7, 14, 14, 15, 9, 12,
+ 12, 18, 64, 68, 72, 37, 37, 42, 32, 31, 40, 42,
+ 42, 46, 43, 49, 48, 40, 33, 11, 37, 49, 35, 33,
+ 34, 30, 21, 17, 14, 6, 66, 69, 75, 85, 33, 32,
+ 33, 27, 17, 20, 14, 7, 7, 3, 64, 73, 72, 83, 86,
+ 69, 69, 84, 16, 18, 11, 1, 9, 8, 65, 4, 3, 67,
+ 78, 77, 85, 98, 10, 0, 74, 74, 0, 0, 4, 6, 7,
+ 12, 8, 11, 13, 24, 15, 15, 23, 23, 55, 43, 35,
+ 27, 19, 10, 64, 77, 99, 4, 36, 29, 27, 21, 21,
+ 10, 7, 6, 67, 79, 74, 65, 73, 3, 11, 69, 71, 3,
+ 7, 4, 6, 13, 4, 2, 53, 40, 27, 14, 4, 73, 85,
+ 95, 109 },
+
+ {
+
+ 55,
+ 7, 77, 55, 7, 77, 93, 76, 18, 11, 4, 3, 34, 39,
+ 53, 14, 74, 1, 1, 12, 0, 0, 68, 70, 85, 10, 29,
+ 97, 109, 114, 72, 80, 68, 1, 12, 0, 78, 74, 10,
+ 8, 65, 73, 82, 1, 75, 80, 90, 5, 72, 82, 4, 73,
+ 77, 88, 5, 68, 69, 74, 0, 4, 22, 0, 0, 0, 72,
+ 90, 97, 0, 7, 65, 18, 73, 92, 93, 64, 71, 24,
+ 15, 70, 64, 83, 66, 80, 77, 92, 83, 83, 87, 92,
+ 21, 0, 8, 82, 70, 81, 77, 98, 4, 67, 66, 76, 17,
+ 68, 64, 78, 82, 70, 73, 68, 7, 8, 64, 12, 14,
+ 76, 64, 65, 67, 4, 73, 15, 68, 1, 15, 17, 25,
+ 19, 12, 81, 64, 70, 2, 4, 91, 0, 8, 5, 5, 7, 7,
+ 16, 9, 3, 2, 2, 2, 8, 8, 83, 67, 1, 73, 5, 5,
+ 14, 7, 2, 9, 6, 4, 4, 14, 4, 76, 3, 79, 22, 21,
+ 16, 14, 17, 17, 10, 16, 20, 64, 10, 9, 6, 3, 67,
+ 5, 64, 2, 4, 1, 5, 11, 1, 80, 0, 74, 0, 6, 82,
+ 27, 35, 27, 26, 25, 24, 22, 22, 16, 8, 6, 3, 0,
+ 67, 90, 68, 64, 77, 14, 10, 7, 8, 4, 65, 64, 64,
+ 76, 69, 74, 92, 86, 97, 68, 22, 18, 11, 3, 7,
+ 65, 70, 72, 81, 66, 36, 21, 15, 8, 12, 1, 68,
+ 73, 83, 4, 38, 29, 24, 18, 16, 5, 64, 70, 78,
+ 70, 39, 27, 13, 3, 8, 68, 77, 83, 5, 49, 38, 29,
+ 21, 21, 5, 66, 71, 75, 62, 90, 87, 75, 89, 88,
+ 81, 83, 81, 81, 82, 80, 81, 84, 80, 85, 82, 67,
+ 80, 77, 75, 73, 68, 68, 68, 66, 64, 67, 70, 74,
+ 11, 9, 14, 6, 2, 12, 9, 6, 7, 8, 6, 5, 64, 67,
+ 71, 66, 7, 77, 8, 22, 6, 7, 13, 14, 15, 8, 11,
+ 11, 17, 65, 68, 73, 36, 36, 42, 31, 30, 38, 40,
+ 40, 44, 40, 47, 46, 37, 30, 10, 34, 46, 32, 29,
+ 31, 27, 19, 16, 13, 6, 65, 69, 74, 83, 31, 30,
+ 31, 25, 15, 18, 13, 5, 5, 2, 65, 74, 74, 84, 87,
+ 69, 70, 85, 15, 16, 10, 64, 7, 6, 67, 3, 1, 69,
+ 79, 79, 87, 99, 9, 64, 75, 74, 1, 0, 4, 7, 7,
+ 13, 9, 12, 14, 25, 16, 16, 25, 24, 55, 42, 33,
+ 24, 17, 7, 67, 80, 101, 5, 37, 30, 28, 21, 22,
+ 11, 7, 7, 66, 79, 73, 65, 72, 4, 12, 69, 71, 3,
+ 7, 4, 7, 14, 4, 2, 52, 38, 24, 11, 1, 77, 89,
+ 99, 111 },
+
+ {
+
+ 53,
+ 7, 77, 53, 7, 77, 92, 75, 18, 11, 4, 2, 33, 37,
+ 53, 14, 71, 0, 2, 12, 0, 64, 68, 71, 86, 9, 27,
+ 99, 110, 115, 69, 79, 68, 2, 12, 0, 78, 73, 10,
+ 7, 65, 73, 82, 1, 75, 79, 90, 5, 72, 81, 3, 74,
+ 77, 88, 5, 67, 69, 73, 0, 4, 22, 0, 0, 0, 71,
+ 91, 97, 0, 6, 65, 18, 73, 92, 92, 0, 69, 25, 16,
+ 69, 0, 82, 64, 79, 76, 90, 83, 82, 87, 91, 21,
+ 0, 8, 81, 70, 80, 77, 97, 3, 67, 66, 76, 17, 68,
+ 64, 78, 82, 70, 73, 68, 7, 7, 64, 12, 14, 76,
+ 64, 65, 67, 4, 73, 15, 69, 1, 15, 16, 24, 18,
+ 11, 80, 64, 70, 1, 3, 91, 64, 8, 4, 5, 7, 7, 17,
+ 10, 3, 1, 2, 1, 7, 7, 84, 67, 1, 74, 5, 4, 13,
+ 6, 2, 10, 6, 4, 3, 13, 3, 76, 3, 80, 22, 21, 16,
+ 14, 17, 17, 10, 16, 19, 64, 10, 9, 6, 3, 68, 5,
+ 64, 2, 4, 1, 5, 10, 0, 80, 0, 74, 64, 5, 82, 25,
+ 33, 25, 24, 23, 22, 20, 20, 14, 6, 4, 1, 66, 69,
+ 91, 68, 65, 78, 13, 9, 6, 7, 2, 66, 65, 66, 76,
+ 70, 75, 92, 86, 96, 68, 22, 18, 11, 3, 7, 65,
+ 70, 72, 80, 65, 36, 21, 15, 8, 12, 1, 68, 73,
+ 81, 4, 38, 29, 24, 18, 16, 5, 64, 70, 77, 70,
+ 39, 26, 13, 3, 8, 68, 77, 83, 5, 48, 37, 28, 20,
+ 21, 5, 66, 71, 75, 62, 89, 86, 74, 87, 87, 80,
+ 82, 79, 80, 80, 79, 79, 83, 80, 84, 81, 66, 79,
+ 78, 75, 72, 68, 68, 69, 67, 65, 68, 71, 75, 10,
+ 9, 14, 6, 1, 11, 9, 6, 6, 7, 6, 4, 65, 68, 71,
+ 66, 7, 77, 7, 21, 5, 7, 12, 13, 15, 7, 10, 11,
+ 17, 66, 69, 75, 35, 36, 41, 30, 28, 37, 38, 38,
+ 42, 38, 44, 43, 34, 28, 8, 31, 42, 29, 25, 29,
+ 25, 17, 15, 11, 6, 64, 68, 73, 81, 30, 28, 29,
+ 24, 13, 16, 11, 3, 4, 0, 67, 76, 75, 85, 88, 70,
+ 70, 86, 13, 15, 8, 65, 5, 4, 68, 1, 64, 70, 80,
+ 80, 88, 99, 8, 64, 76, 74, 1, 1, 5, 7, 8, 14, 9,
+ 13, 15, 26, 17, 17, 26, 25, 54, 40, 31, 22, 14,
+ 4, 70, 83, 104, 5, 37, 30, 28, 22, 22, 11, 8, 7,
+ 66, 78, 73, 64, 72, 5, 13, 69, 70, 4, 8, 4, 7,
+ 15, 4, 2, 50, 36, 22, 8, 65, 81, 93, 102, 114 },
+
+ {
+
+ 52,
+ 7, 77, 52, 7, 77, 90, 73, 18, 11, 3, 0, 31, 36,
+ 53, 14, 69, 0, 3, 13, 0, 64, 67, 72, 87, 9, 25,
+ 101, 111, 115, 66, 77, 68, 3, 13, 0, 78, 72, 10,
+ 7, 65, 73, 81, 1, 76, 79, 90, 5, 72, 80, 3, 74,
+ 77, 88, 6, 67, 68, 73, 1, 4, 22, 0, 0, 0, 71,
+ 91, 97, 1, 5, 65, 18, 72, 92, 90, 2, 68, 27, 18,
+ 67, 1, 81, 0, 78, 75, 88, 82, 82, 86, 90, 21, 0,
+ 8, 81, 70, 80, 76, 95, 3, 67, 66, 76, 17, 68, 0,
+ 77, 82, 70, 73, 67, 7, 7, 64, 12, 14, 75, 64,
+ 64, 67, 4, 73, 14, 69, 1, 14, 15, 24, 17, 10,
+ 79, 0, 70, 0, 3, 90, 64, 8, 4, 5, 7, 7, 18, 10,
+ 3, 1, 2, 1, 6, 7, 85, 67, 1, 74, 4, 3, 13, 6, 1,
+ 10, 6, 4, 2, 13, 2, 76, 3, 80, 21, 21, 16, 14,
+ 17, 17, 10, 16, 19, 64, 10, 9, 6, 3, 68, 5, 64,
+ 1, 4, 1, 4, 9, 0, 80, 64, 74, 65, 4, 82, 24, 31,
+ 24, 23, 21, 20, 18, 18, 12, 4, 2, 64, 68, 70,
+ 92, 68, 65, 78, 12, 8, 5, 6, 1, 68, 66, 67, 77,
+ 70, 75, 92, 86, 96, 68, 22, 18, 11, 3, 7, 64,
+ 69, 71, 79, 65, 36, 21, 15, 8, 12, 2, 67, 72,
+ 79, 4, 38, 29, 24, 18, 16, 5, 64, 70, 76, 70,
+ 40, 26, 12, 3, 8, 68, 77, 82, 5, 48, 36, 27, 19,
+ 21, 5, 66, 71, 74, 62, 88, 85, 73, 86, 86, 79,
+ 81, 78, 79, 79, 77, 77, 82, 79, 84, 81, 65, 79,
+ 78, 74, 71, 68, 69, 69, 67, 65, 69, 72, 76, 9,
+ 8, 14, 5, 1, 11, 9, 6, 5, 6, 6, 4, 66, 68, 71,
+ 66, 7, 77, 6, 21, 5, 7, 11, 12, 15, 6, 9, 10,
+ 16, 67, 70, 77, 34, 35, 41, 29, 27, 35, 36, 36,
+ 40, 35, 41, 41, 31, 26, 7, 28, 39, 26, 21, 26,
+ 22, 15, 14, 10, 6, 0, 68, 72, 79, 28, 27, 27,
+ 22, 11, 14, 10, 1, 3, 65, 68, 78, 77, 86, 89,
+ 70, 70, 87, 12, 13, 6, 67, 4, 3, 70, 0, 65, 72,
+ 81, 81, 89, 100, 8, 65, 77, 73, 2, 1, 5, 8, 9,
+ 15, 10, 14, 16, 28, 18, 18, 27, 27, 54, 38, 29,
+ 19, 12, 1, 73, 86, 106, 5, 38, 31, 29, 22, 23,
+ 11, 8, 8, 65, 78, 73, 0, 71, 6, 14, 68, 69, 4,
+ 8, 4, 8, 16, 4, 2, 49, 34, 19, 5, 68, 84, 97,
+ 106, 117 },
+
+ {
+
+ 51,
+ 7, 78, 51, 7, 78, 88, 72, 19, 11, 3, 64, 30, 35,
+ 53, 14, 67, 0, 3, 14, 0, 65, 67, 73, 88, 8, 24,
+ 102, 112, 116, 0, 76, 68, 3, 14, 0, 77, 71, 11,
+ 6, 64, 72, 80, 0, 76, 79, 90, 5, 71, 80, 3, 74,
+ 76, 88, 6, 67, 68, 73, 1, 4, 22, 0, 0, 0, 70,
+ 91, 97, 1, 5, 66, 18, 72, 91, 88, 4, 66, 28, 20,
+ 66, 2, 79, 1, 77, 75, 87, 82, 82, 86, 90, 22, 0,
+ 8, 80, 69, 79, 76, 94, 3, 68, 67, 77, 17, 68, 0,
+ 77, 82, 69, 73, 67, 7, 7, 0, 12, 13, 75, 64, 64,
+ 67, 4, 73, 13, 69, 1, 13, 14, 23, 17, 10, 79, 0,
+ 70, 0, 2, 90, 65, 8, 4, 5, 7, 7, 18, 10, 3, 1,
+ 3, 1, 5, 7, 85, 68, 1, 75, 4, 2, 13, 6, 0, 10,
+ 6, 4, 0, 13, 1, 76, 3, 81, 20, 21, 15, 14, 17,
+ 17, 10, 16, 19, 64, 9, 9, 5, 3, 68, 4, 65, 1, 3,
+ 0, 3, 8, 64, 80, 64, 73, 66, 2, 82, 22, 29, 22,
+ 21, 19, 18, 16, 16, 10, 2, 1, 65, 70, 72, 93,
+ 68, 65, 79, 11, 7, 4, 4, 64, 69, 67, 68, 78, 71,
+ 76, 92, 86, 95, 67, 22, 18, 11, 4, 7, 64, 69,
+ 71, 78, 64, 35, 21, 15, 8, 13, 2, 66, 71, 77, 4,
+ 39, 29, 24, 18, 17, 5, 64, 69, 76, 70, 40, 26,
+ 12, 3, 8, 67, 76, 81, 5, 47, 36, 26, 19, 21, 5,
+ 65, 70, 74, 62, 88, 84, 73, 85, 85, 78, 79, 77,
+ 78, 78, 76, 76, 82, 78, 84, 80, 0, 79, 79, 74,
+ 71, 68, 69, 70, 67, 66, 70, 73, 77, 9, 8, 14, 5,
+ 0, 10, 8, 6, 5, 6, 5, 4, 66, 68, 72, 66, 7, 78,
+ 6, 20, 4, 6, 10, 12, 16, 6, 8, 10, 16, 67, 70,
+ 78, 33, 34, 40, 28, 26, 34, 34, 34, 38, 33, 39,
+ 38, 28, 23, 6, 26, 36, 23, 17, 23, 20, 13, 13,
+ 9, 6, 1, 68, 70, 76, 26, 25, 25, 20, 9, 12, 8,
+ 64, 1, 66, 69, 79, 78, 87, 90, 71, 71, 88, 11,
+ 12, 5, 69, 2, 1, 71, 65, 67, 73, 83, 83, 91,
+ 101, 7, 66, 78, 73, 2, 1, 6, 8, 9, 17, 11, 15,
+ 17, 29, 20, 19, 29, 28, 53, 37, 27, 17, 9, 64,
+ 76, 88, 108, 6, 38, 31, 29, 22, 24, 12, 8, 8,
+ 65, 78, 72, 0, 71, 7, 15, 68, 69, 5, 9, 4, 8,
+ 17, 4, 2, 48, 32, 17, 2, 72, 88, 100, 109, 119 },
+
+ {
+
+ 50,
+ 7, 78, 50, 7, 78, 86, 70, 19, 11, 2, 66, 28, 33,
+ 53, 14, 64, 64, 4, 14, 0, 66, 67, 74, 89, 8, 22,
+ 104, 113, 116, 3, 75, 68, 4, 14, 0, 77, 70, 11,
+ 6, 64, 72, 80, 0, 77, 78, 90, 5, 71, 79, 2, 74,
+ 76, 88, 7, 66, 68, 72, 2, 4, 22, 0, 0, 0, 70,
+ 91, 97, 2, 4, 66, 18, 72, 91, 87, 6, 65, 30, 22,
+ 65, 3, 78, 3, 76, 74, 85, 81, 81, 85, 89, 22, 0,
+ 8, 80, 69, 79, 75, 92, 2, 68, 67, 77, 17, 68, 0,
+ 76, 82, 69, 73, 66, 7, 6, 0, 12, 13, 75, 64, 64,
+ 67, 4, 73, 13, 69, 1, 13, 13, 22, 16, 9, 78, 1,
+ 70, 64, 2, 89, 65, 8, 3, 5, 7, 7, 19, 11, 3, 1,
+ 3, 1, 4, 7, 86, 68, 1, 75, 3, 1, 12, 6, 0, 11,
+ 6, 4, 64, 12, 0, 76, 3, 81, 20, 21, 15, 14, 17,
+ 17, 10, 16, 19, 64, 9, 9, 5, 3, 68, 4, 65, 0, 3,
+ 0, 3, 7, 64, 80, 65, 73, 67, 1, 82, 21, 27, 20,
+ 19, 17, 16, 14, 14, 8, 0, 64, 67, 73, 74, 94,
+ 68, 66, 79, 10, 6, 3, 3, 65, 71, 68, 69, 78, 71,
+ 76, 92, 86, 95, 67, 22, 18, 11, 4, 7, 64, 69,
+ 70, 77, 64, 35, 21, 15, 8, 13, 3, 65, 71, 75, 4,
+ 39, 29, 24, 18, 17, 5, 64, 69, 75, 70, 40, 25,
+ 11, 3, 8, 67, 76, 81, 5, 47, 35, 25, 18, 21, 5,
+ 65, 70, 73, 62, 87, 83, 72, 83, 84, 77, 78, 75,
+ 77, 76, 74, 74, 81, 77, 83, 80, 1, 78, 79, 74,
+ 70, 68, 70, 70, 68, 67, 71, 74, 78, 8, 7, 14, 4,
+ 0, 10, 8, 6, 4, 5, 5, 3, 67, 68, 72, 66, 7, 78,
+ 5, 20, 3, 6, 9, 11, 16, 5, 7, 9, 15, 68, 71, 80,
+ 32, 34, 40, 27, 24, 32, 32, 32, 36, 30, 36, 36,
+ 25, 21, 4, 23, 32, 20, 13, 21, 17, 11, 12, 8, 6,
+ 2, 67, 69, 74, 25, 23, 23, 19, 7, 10, 7, 66, 0,
+ 68, 71, 81, 80, 88, 91, 71, 71, 89, 9, 10, 3,
+ 70, 0, 64, 73, 66, 69, 75, 84, 84, 92, 101, 6,
+ 66, 79, 73, 3, 2, 6, 9, 10, 18, 12, 16, 18, 30,
+ 21, 20, 30, 29, 53, 35, 25, 14, 7, 67, 79, 91,
+ 110, 6, 39, 32, 30, 23, 25, 12, 9, 9, 64, 77,
+ 72, 1, 70, 8, 16, 68, 68, 5, 9, 4, 9, 18, 4, 2,
+ 46, 30, 14, 64, 75, 92, 104, 113, 122 },
+
+ {
+
+ 48,
+ 6, 78, 48, 6, 78, 85, 69, 19, 11, 2, 67, 27, 32,
+ 53, 14, 1, 64, 5, 15, 0, 67, 67, 75, 91, 7, 20,
+ 106, 114, 117, 5, 74, 68, 5, 15, 0, 77, 69, 11,
+ 5, 64, 72, 79, 64, 77, 78, 91, 5, 71, 79, 2, 75,
+ 76, 88, 7, 66, 68, 72, 2, 4, 22, 0, 0, 0, 69,
+ 92, 97, 2, 3, 66, 18, 72, 91, 85, 7, 0, 31, 23,
+ 64, 4, 77, 4, 75, 73, 83, 81, 81, 85, 88, 22, 0,
+ 8, 79, 69, 78, 75, 91, 2, 69, 68, 78, 17, 68, 0,
+ 76, 82, 69, 73, 66, 6, 6, 0, 12, 12, 75, 64, 64,
+ 67, 3, 73, 12, 70, 1, 12, 11, 21, 15, 8, 78, 1,
+ 70, 65, 1, 89, 66, 7, 3, 5, 7, 7, 20, 11, 3, 0,
+ 3, 0, 3, 6, 87, 68, 1, 76, 3, 0, 12, 5, 64, 11,
+ 6, 4, 66, 12, 64, 76, 3, 82, 19, 20, 15, 14, 17,
+ 16, 9, 16, 18, 65, 8, 9, 5, 2, 69, 3, 66, 0, 2,
+ 64, 2, 6, 65, 80, 65, 73, 68, 64, 82, 19, 25,
+ 18, 17, 15, 13, 12, 12, 6, 65, 66, 69, 75, 76,
+ 95, 68, 66, 80, 9, 4, 1, 1, 67, 72, 70, 71, 79,
+ 72, 77, 92, 86, 94, 67, 22, 18, 11, 4, 7, 64,
+ 69, 70, 76, 0, 35, 21, 15, 8, 13, 3, 65, 70, 74,
+ 4, 39, 29, 24, 17, 17, 5, 64, 69, 75, 70, 40,
+ 25, 11, 3, 8, 67, 76, 80, 5, 46, 34, 24, 17, 20,
+ 5, 65, 70, 73, 62, 86, 82, 72, 82, 83, 77, 77,
+ 74, 76, 75, 73, 73, 81, 77, 83, 79, 2, 78, 80,
+ 74, 70, 68, 70, 71, 68, 68, 72, 76, 79, 7, 7,
+ 14, 4, 64, 9, 7, 5, 3, 4, 4, 3, 68, 69, 73, 66,
+ 7, 79, 4, 19, 2, 6, 8, 10, 16, 4, 6, 9, 15, 69,
+ 72, 82, 31, 33, 39, 25, 23, 31, 30, 30, 33, 28,
+ 33, 33, 22, 18, 3, 20, 29, 17, 9, 18, 15, 9, 10,
+ 6, 6, 2, 67, 68, 72, 23, 21, 21, 17, 4, 8, 5,
+ 68, 65, 70, 72, 83, 81, 89, 92, 72, 72, 90, 8,
+ 9, 1, 72, 65, 66, 74, 68, 71, 76, 85, 86, 94,
+ 102, 5, 67, 80, 73, 3, 2, 7, 9, 10, 19, 12, 17,
+ 19, 31, 22, 21, 31, 30, 52, 33, 23, 12, 4, 70,
+ 82, 94, 113, 6, 39, 32, 30, 23, 25, 12, 9, 9,
+ 64, 77, 72, 1, 70, 9, 17, 68, 68, 6, 10, 4, 9,
+ 18, 4, 1, 45, 28, 12, 67, 78, 96, 108, 116, 125 },
+
+ {
+
+ 47,
+ 6, 78, 47, 6, 78, 83, 68, 20, 11, 2, 68, 26, 31,
+ 53, 14, 3, 64, 6, 16, 0, 67, 66, 76, 92, 6, 18,
+ 107, 115, 118, 8, 72, 68, 6, 16, 0, 76, 68, 12,
+ 4, 64, 71, 78, 64, 77, 78, 91, 5, 71, 78, 2, 75,
+ 76, 88, 7, 66, 67, 72, 2, 4, 22, 0, 0, 0, 68,
+ 92, 97, 2, 2, 66, 18, 71, 91, 83, 9, 2, 32, 25,
+ 1, 5, 75, 5, 73, 72, 81, 81, 81, 85, 87, 22, 0,
+ 8, 78, 69, 77, 74, 90, 2, 69, 68, 78, 17, 68, 1,
+ 75, 81, 68, 73, 66, 6, 6, 0, 12, 12, 74, 64, 0,
+ 67, 3, 72, 11, 70, 1, 11, 10, 21, 14, 7, 77, 1,
+ 69, 66, 0, 89, 67, 7, 3, 6, 7, 7, 21, 11, 3, 0,
+ 4, 0, 3, 6, 88, 68, 1, 77, 3, 64, 12, 5, 65, 11,
+ 6, 4, 67, 12, 64, 76, 3, 83, 18, 20, 15, 14, 17,
+ 16, 9, 16, 18, 65, 8, 9, 5, 2, 69, 3, 66, 0, 2,
+ 64, 1, 6, 65, 80, 65, 73, 69, 65, 82, 17, 24,
+ 17, 16, 13, 11, 11, 11, 4, 67, 67, 70, 77, 77,
+ 96, 68, 66, 81, 8, 3, 0, 0, 68, 73, 71, 72, 80,
+ 73, 78, 92, 85, 93, 66, 23, 18, 11, 4, 8, 0, 68,
+ 69, 75, 1, 35, 21, 15, 8, 14, 3, 64, 69, 72, 4,
+ 39, 29, 24, 17, 18, 5, 64, 69, 74, 70, 41, 25,
+ 11, 3, 9, 67, 76, 79, 5, 46, 34, 24, 16, 20, 5,
+ 65, 69, 72, 62, 85, 81, 71, 81, 81, 76, 75, 73,
+ 74, 74, 72, 71, 80, 76, 83, 78, 4, 78, 81, 73,
+ 69, 68, 70, 72, 68, 68, 73, 77, 80, 7, 7, 14, 4,
+ 64, 8, 7, 5, 2, 4, 4, 3, 69, 69, 73, 65, 8, 79,
+ 4, 18, 2, 6, 8, 10, 16, 3, 5, 9, 15, 70, 72, 83,
+ 31, 32, 38, 24, 22, 30, 28, 28, 31, 26, 31, 30,
+ 20, 16, 2, 17, 26, 14, 5, 15, 13, 8, 9, 5, 6, 3,
+ 67, 67, 70, 21, 20, 19, 15, 2, 7, 4, 70, 66, 71,
+ 73, 84, 82, 90, 92, 72, 72, 91, 7, 8, 0, 74, 66,
+ 67, 75, 69, 72, 77, 86, 87, 95, 103, 5, 68, 80,
+ 72, 3, 2, 8, 10, 11, 20, 13, 18, 20, 33, 23, 22,
+ 33, 32, 51, 32, 21, 10, 1, 73, 85, 97, 115, 7,
+ 39, 32, 31, 23, 26, 13, 9, 10, 0, 77, 71, 2, 70,
+ 10, 19, 67, 67, 7, 11, 4, 10, 19, 4, 1, 44, 26,
+ 10, 69, 81, 99, 112, 119, 126 },
+
+ {
+
+ 46,
+ 6, 78, 46, 6, 78, 81, 66, 20, 11, 1, 70, 24, 29,
+ 53, 14, 6, 65, 7, 16, 0, 68, 66, 77, 93, 6, 16,
+ 109, 116, 118, 11, 71, 68, 7, 16, 0, 76, 67, 12,
+ 4, 64, 71, 78, 64, 78, 77, 91, 5, 71, 77, 1, 75,
+ 76, 88, 8, 65, 67, 71, 3, 4, 22, 0, 0, 0, 68,
+ 92, 97, 3, 1, 66, 18, 71, 91, 82, 11, 3, 34, 27,
+ 2, 6, 74, 7, 72, 71, 79, 80, 80, 84, 86, 22, 0,
+ 8, 78, 69, 77, 74, 88, 1, 69, 68, 78, 17, 68, 1,
+ 75, 81, 68, 73, 65, 6, 5, 0, 12, 12, 74, 64, 0,
+ 67, 3, 72, 11, 70, 1, 11, 9, 20, 13, 6, 76, 2,
+ 69, 67, 0, 88, 67, 7, 2, 6, 7, 7, 22, 12, 3, 0,
+ 4, 0, 2, 6, 89, 68, 1, 77, 2, 65, 11, 5, 65, 12,
+ 6, 4, 68, 11, 65, 76, 3, 83, 18, 20, 15, 14, 17,
+ 16, 9, 16, 18, 65, 8, 9, 5, 2, 69, 3, 66, 64, 2,
+ 64, 1, 5, 66, 80, 66, 73, 70, 66, 82, 16, 22,
+ 15, 14, 11, 9, 9, 9, 2, 69, 69, 72, 80, 79, 97,
+ 68, 67, 81, 7, 2, 64, 64, 70, 75, 72, 73, 80,
+ 73, 78, 92, 85, 93, 66, 23, 18, 11, 4, 8, 0, 68,
+ 69, 74, 1, 35, 21, 15, 8, 14, 4, 0, 69, 70, 4,
+ 39, 29, 24, 17, 18, 5, 64, 69, 73, 70, 41, 24,
+ 10, 3, 9, 67, 76, 79, 5, 45, 33, 23, 15, 20, 5,
+ 65, 69, 72, 62, 84, 80, 70, 79, 80, 75, 74, 71,
+ 73, 72, 70, 69, 79, 75, 82, 78, 5, 77, 81, 73,
+ 68, 68, 71, 72, 69, 69, 74, 78, 81, 6, 6, 14, 3,
+ 65, 8, 7, 5, 1, 3, 4, 2, 70, 69, 73, 65, 8, 79,
+ 3, 18, 1, 6, 7, 9, 16, 2, 4, 8, 14, 71, 73, 85,
+ 30, 32, 38, 23, 20, 28, 26, 26, 29, 23, 28, 28,
+ 17, 14, 0, 14, 22, 11, 1, 13, 10, 6, 8, 4, 6, 4,
+ 66, 66, 68, 20, 18, 17, 14, 0, 5, 2, 72, 67, 73,
+ 75, 86, 84, 91, 93, 73, 72, 92, 5, 6, 65, 75,
+ 68, 69, 77, 71, 74, 79, 87, 88, 96, 103, 4, 68,
+ 81, 72, 4, 3, 8, 10, 12, 21, 14, 19, 21, 34, 24,
+ 23, 34, 33, 51, 30, 19, 7, 64, 76, 88, 100, 117,
+ 7, 40, 33, 31, 24, 27, 13, 10, 10, 0, 76, 71, 3,
+ 69, 11, 20, 67, 66, 7, 11, 4, 10, 20, 4, 1, 42,
+ 24, 7, 72, 84, 103, 116, 123, 126 },
+
+ {
+
+ 45,
+ 6, 79, 45, 6, 79, 79, 65, 21, 11, 1, 71, 23, 28,
+ 53, 14, 8, 65, 7, 17, 0, 69, 66, 78, 94, 5, 15,
+ 110, 117, 119, 14, 70, 68, 7, 17, 0, 75, 66, 13,
+ 3, 0, 70, 77, 65, 78, 77, 91, 5, 70, 77, 1, 75,
+ 75, 88, 8, 65, 67, 71, 3, 4, 22, 0, 0, 0, 67,
+ 92, 97, 3, 1, 67, 18, 71, 90, 80, 13, 5, 35, 29,
+ 3, 7, 72, 8, 71, 71, 78, 80, 80, 84, 86, 23, 0,
+ 8, 77, 68, 76, 73, 87, 1, 70, 69, 79, 17, 68, 1,
+ 74, 81, 67, 73, 65, 6, 5, 1, 12, 11, 74, 64, 0,
+ 67, 3, 72, 10, 70, 1, 10, 8, 19, 13, 6, 76, 2,
+ 69, 67, 64, 88, 68, 7, 2, 6, 7, 7, 22, 12, 3, 0,
+ 5, 0, 1, 6, 89, 69, 1, 78, 2, 66, 11, 5, 66, 12,
+ 6, 4, 70, 11, 66, 76, 3, 84, 17, 20, 14, 14, 17,
+ 16, 9, 16, 18, 65, 7, 9, 4, 2, 69, 2, 67, 64, 1,
+ 65, 0, 4, 66, 80, 66, 72, 71, 68, 82, 14, 20,
+ 13, 12, 9, 7, 7, 7, 0, 71, 70, 73, 82, 81, 98,
+ 68, 67, 82, 6, 1, 65, 66, 71, 76, 73, 74, 81,
+ 74, 79, 92, 85, 92, 65, 23, 18, 11, 5, 8, 0, 68,
+ 68, 73, 2, 34, 21, 15, 8, 15, 4, 1, 68, 68, 4,
+ 40, 29, 24, 17, 19, 5, 64, 68, 73, 70, 41, 24,
+ 10, 3, 9, 66, 75, 78, 5, 45, 33, 22, 15, 20, 5,
+ 64, 68, 71, 62, 84, 79, 70, 78, 79, 74, 72, 70,
+ 72, 71, 69, 68, 79, 74, 82, 77, 7, 77, 82, 73,
+ 68, 68, 71, 73, 69, 70, 75, 79, 82, 6, 6, 14, 3,
+ 65, 7, 6, 5, 1, 3, 3, 2, 70, 69, 74, 65, 8, 80,
+ 3, 17, 0, 5, 6, 9, 17, 2, 3, 8, 14, 71, 73, 86,
+ 29, 31, 37, 22, 19, 27, 24, 24, 27, 21, 26, 25,
+ 14, 11, 64, 12, 19, 8, 66, 10, 8, 4, 7, 3, 6, 5,
+ 66, 64, 65, 18, 16, 15, 12, 65, 3, 1, 74, 69,
+ 74, 76, 87, 85, 92, 94, 73, 73, 93, 4, 5, 66,
+ 77, 70, 71, 78, 72, 76, 80, 89, 90, 98, 104, 3,
+ 69, 82, 72, 4, 3, 9, 11, 12, 23, 15, 20, 22, 35,
+ 26, 24, 36, 34, 50, 29, 17, 5, 67, 78, 91, 102,
+ 119, 8, 40, 33, 32, 24, 28, 14, 10, 11, 1, 76,
+ 70, 3, 69, 12, 21, 67, 66, 8, 12, 4, 11, 21, 4,
+ 1, 41, 22, 5, 75, 88, 107, 119, 126, 126 },
+
+ {
+
+ 43,
+ 6, 79, 43, 6, 79, 78, 0, 21, 11, 0, 73, 21, 27,
+ 53, 14, 10, 65, 8, 18, 0, 70, 66, 79, 95, 5, 13,
+ 112, 118, 119, 17, 69, 68, 8, 18, 0, 75, 65, 13,
+ 3, 0, 70, 76, 65, 79, 77, 91, 5, 70, 76, 1, 76,
+ 75, 88, 9, 65, 67, 71, 4, 4, 22, 0, 0, 0, 67,
+ 93, 97, 4, 0, 67, 18, 71, 90, 78, 14, 6, 37, 30,
+ 4, 8, 71, 9, 70, 70, 76, 79, 80, 83, 85, 23, 0,
+ 8, 77, 68, 76, 73, 85, 1, 70, 69, 79, 17, 68, 1,
+ 74, 81, 67, 73, 64, 6, 5, 1, 12, 11, 74, 64, 0,
+ 67, 3, 72, 9, 71, 1, 9, 7, 18, 12, 5, 75, 3, 69,
+ 68, 64, 87, 68, 7, 2, 6, 7, 7, 23, 12, 3, 64, 5,
+ 64, 0, 5, 90, 69, 1, 78, 1, 67, 11, 4, 67, 12,
+ 6, 4, 71, 11, 67, 76, 3, 84, 16, 20, 14, 14, 17,
+ 16, 9, 16, 17, 65, 7, 9, 4, 2, 70, 2, 67, 65, 1,
+ 65, 64, 3, 67, 80, 67, 72, 72, 69, 82, 13, 18,
+ 11, 10, 7, 5, 5, 5, 65, 73, 72, 75, 84, 83, 99,
+ 68, 67, 82, 5, 0, 66, 67, 73, 78, 74, 76, 82,
+ 74, 79, 92, 85, 92, 65, 23, 18, 11, 5, 8, 0, 68,
+ 68, 72, 2, 34, 21, 15, 8, 15, 5, 1, 67, 66, 4,
+ 40, 29, 24, 17, 19, 5, 64, 68, 72, 70, 41, 24,
+ 9, 3, 9, 66, 75, 77, 5, 44, 32, 21, 14, 20, 5,
+ 64, 68, 71, 62, 83, 78, 69, 77, 78, 73, 71, 69,
+ 71, 70, 67, 66, 78, 74, 82, 77, 8, 77, 82, 73,
+ 67, 68, 72, 73, 69, 71, 76, 80, 83, 5, 5, 14, 2,
+ 66, 7, 6, 5, 0, 2, 3, 2, 71, 70, 74, 65, 8, 80,
+ 2, 17, 64, 5, 5, 8, 17, 1, 2, 7, 13, 72, 74, 88,
+ 28, 30, 37, 21, 18, 25, 22, 22, 25, 18, 23, 23,
+ 11, 9, 65, 9, 16, 5, 70, 7, 5, 2, 6, 1, 6, 6,
+ 66, 0, 0, 16, 14, 13, 10, 67, 1, 64, 76, 70, 76,
+ 77, 89, 87, 93, 95, 74, 73, 94, 3, 3, 68, 79,
+ 72, 73, 80, 74, 78, 82, 90, 91, 99, 105, 2, 70,
+ 83, 72, 5, 3, 9, 11, 13, 24, 15, 21, 23, 36, 27,
+ 25, 37, 35, 50, 27, 15, 2, 69, 81, 94, 105, 122,
+ 8, 41, 34, 32, 24, 28, 14, 10, 11, 1, 76, 70, 4,
+ 68, 13, 22, 67, 65, 8, 12, 4, 11, 22, 4, 1, 40,
+ 20, 2, 78, 91, 111, 123, 126, 126 },
+
+ {
+
+ 42,
+ 6, 79, 42, 6, 79, 76, 1, 21, 11, 0, 74, 20, 25,
+ 53, 14, 13, 66, 9, 18, 0, 70, 65, 80, 96, 4, 11,
+ 114, 119, 120, 20, 67, 68, 9, 18, 0, 75, 64, 13,
+ 2, 0, 70, 76, 65, 79, 76, 91, 5, 70, 75, 0, 76,
+ 75, 88, 9, 64, 66, 70, 4, 4, 22, 0, 0, 0, 66,
+ 93, 97, 4, 64, 67, 18, 70, 90, 77, 16, 8, 38,
+ 32, 6, 9, 70, 11, 69, 69, 74, 79, 79, 83, 84,
+ 23, 0, 8, 76, 68, 75, 72, 84, 0, 70, 69, 79, 17,
+ 68, 2, 73, 81, 67, 73, 64, 6, 4, 1, 12, 11, 73,
+ 64, 1, 67, 3, 72, 9, 71, 1, 9, 6, 18, 11, 4, 74,
+ 3, 69, 69, 65, 87, 69, 7, 1, 6, 7, 7, 24, 13, 3,
+ 64, 5, 64, 64, 5, 91, 69, 1, 79, 1, 68, 10, 4,
+ 67, 13, 6, 4, 72, 10, 68, 76, 3, 85, 16, 20, 14,
+ 14, 17, 16, 9, 16, 17, 65, 7, 9, 4, 2, 70, 2,
+ 67, 65, 1, 65, 64, 2, 67, 80, 67, 72, 73, 70,
+ 82, 11, 16, 10, 9, 5, 3, 3, 3, 67, 75, 74, 77,
+ 87, 84, 100, 68, 68, 83, 4, 64, 67, 68, 74, 79,
+ 75, 77, 82, 75, 80, 92, 85, 91, 65, 23, 18, 11,
+ 5, 8, 1, 67, 67, 71, 3, 34, 21, 15, 8, 15, 5, 2,
+ 67, 64, 4, 40, 29, 24, 17, 19, 5, 64, 68, 71,
+ 70, 42, 23, 9, 3, 9, 66, 75, 77, 5, 44, 31, 20,
+ 13, 20, 5, 64, 68, 70, 62, 82, 77, 68, 75, 77,
+ 72, 70, 67, 70, 68, 66, 64, 77, 73, 81, 76, 9,
+ 76, 83, 72, 66, 68, 72, 74, 70, 71, 77, 81, 84,
+ 4, 5, 14, 2, 66, 6, 6, 5, 64, 1, 3, 1, 72, 70,
+ 74, 65, 8, 80, 1, 16, 64, 5, 4, 7, 17, 0, 1, 7,
+ 13, 73, 75, 90, 27, 30, 36, 20, 16, 24, 20, 20,
+ 23, 16, 20, 20, 8, 7, 67, 6, 12, 2, 74, 5, 3, 0,
+ 5, 0, 6, 7, 65, 1, 2, 15, 13, 11, 9, 69, 64, 65,
+ 78, 71, 78, 79, 91, 88, 94, 96, 74, 73, 95, 1,
+ 2, 70, 80, 73, 74, 81, 75, 79, 83, 91, 92, 100,
+ 105, 2, 70, 84, 71, 5, 4, 10, 12, 14, 25, 16,
+ 22, 24, 38, 28, 26, 38, 37, 49, 25, 13, 0, 72,
+ 84, 97, 108, 124, 8, 41, 34, 33, 25, 29, 14, 11,
+ 12, 2, 75, 70, 5, 68, 14, 23, 66, 64, 9, 13, 4,
+ 12, 23, 4, 1, 38, 18, 0, 81, 94, 114, 126, 126,
+ 126 },
+
+ {
+
+ 41,
+ 6, 79, 41, 6, 79, 74, 3, 22, 11, 64, 76, 18, 24,
+ 53, 14, 15, 66, 10, 19, 0, 71, 65, 81, 97, 4, 9,
+ 115, 120, 120, 23, 66, 68, 10, 19, 0, 74, 0, 14,
+ 2, 0, 69, 75, 66, 80, 76, 91, 5, 70, 75, 0, 76,
+ 75, 88, 10, 64, 66, 70, 5, 4, 22, 0, 0, 0, 66,
+ 93, 97, 5, 65, 67, 18, 70, 90, 75, 18, 9, 40,
+ 34, 7, 10, 68, 12, 68, 68, 72, 78, 79, 82, 83,
+ 23, 0, 8, 76, 68, 75, 72, 82, 0, 71, 70, 80, 17,
+ 68, 2, 73, 81, 66, 73, 0, 6, 4, 1, 12, 10, 73,
+ 64, 1, 67, 3, 72, 8, 71, 1, 8, 5, 17, 10, 3, 74,
+ 4, 69, 70, 65, 86, 69, 7, 1, 6, 7, 7, 25, 13, 3,
+ 64, 6, 64, 65, 5, 92, 69, 1, 79, 0, 69, 10, 4,
+ 68, 13, 6, 4, 74, 10, 69, 76, 3, 85, 15, 20, 14,
+ 14, 17, 16, 9, 16, 17, 65, 6, 9, 4, 2, 70, 1,
+ 68, 66, 0, 66, 65, 1, 68, 80, 68, 72, 74, 72,
+ 82, 10, 14, 8, 7, 3, 1, 1, 1, 69, 77, 75, 78,
+ 89, 86, 101, 68, 68, 83, 3, 65, 68, 70, 76, 81,
+ 76, 78, 83, 75, 80, 92, 85, 91, 64, 23, 18, 11,
+ 5, 8, 1, 67, 67, 70, 3, 34, 21, 15, 8, 16, 6, 3,
+ 66, 1, 4, 40, 29, 24, 17, 20, 5, 64, 68, 71, 70,
+ 42, 23, 8, 3, 9, 66, 75, 76, 5, 43, 31, 19, 12,
+ 20, 5, 64, 67, 70, 62, 81, 76, 68, 74, 76, 71,
+ 68, 66, 69, 67, 64, 0, 77, 72, 81, 76, 11, 76,
+ 83, 72, 66, 68, 73, 74, 70, 72, 78, 82, 85, 4,
+ 4, 14, 1, 67, 6, 5, 5, 65, 1, 2, 1, 73, 70, 75,
+ 65, 8, 81, 1, 16, 65, 5, 3, 7, 17, 64, 0, 6, 12,
+ 74, 75, 91, 26, 29, 36, 19, 15, 22, 18, 18, 21,
+ 13, 18, 18, 5, 4, 68, 3, 9, 64, 78, 2, 0, 65, 4,
+ 64, 6, 8, 65, 2, 4, 13, 11, 9, 7, 71, 66, 67,
+ 80, 73, 79, 80, 92, 90, 95, 97, 75, 74, 96, 0,
+ 0, 71, 82, 75, 76, 83, 77, 81, 85, 92, 94, 102,
+ 106, 1, 71, 85, 71, 6, 4, 10, 12, 14, 26, 17,
+ 23, 25, 39, 29, 27, 40, 38, 49, 24, 11, 66, 74,
+ 87, 100, 111, 126, 9, 42, 35, 33, 25, 30, 15,
+ 11, 12, 2, 75, 69, 5, 67, 15, 24, 66, 64, 9, 13,
+ 4, 12, 24, 4, 1, 37, 16, 66, 84, 97, 118, 126,
+ 126, 126 },
+
+ {
+
+ 40,
+ 6, 79, 40, 6, 79, 72, 4, 22, 11, 64, 77, 17, 23,
+ 53, 14, 17, 66, 11, 20, 0, 72, 65, 82, 98, 3, 7,
+ 117, 121, 121, 26, 65, 68, 11, 20, 0, 74, 1, 14,
+ 1, 0, 69, 74, 66, 80, 76, 91, 5, 70, 74, 0, 76,
+ 75, 88, 10, 64, 66, 70, 5, 4, 22, 0, 0, 0, 65,
+ 93, 97, 5, 66, 67, 18, 70, 90, 73, 20, 11, 41,
+ 36, 8, 11, 67, 13, 67, 67, 70, 78, 79, 82, 82,
+ 23, 0, 8, 75, 68, 74, 71, 81, 0, 71, 70, 80, 17,
+ 68, 2, 72, 81, 66, 73, 0, 6, 4, 1, 12, 10, 73,
+ 64, 1, 67, 3, 72, 7, 71, 1, 7, 4, 16, 9, 2, 73,
+ 4, 69, 71, 66, 86, 70, 7, 1, 6, 7, 7, 26, 13, 3,
+ 64, 6, 64, 66, 5, 93, 69, 1, 80, 0, 70, 10, 4,
+ 69, 13, 6, 4, 75, 10, 70, 76, 3, 86, 14, 20, 14,
+ 14, 17, 16, 9, 16, 17, 65, 6, 9, 4, 2, 70, 1,
+ 68, 66, 0, 66, 66, 0, 68, 80, 68, 72, 75, 73,
+ 82, 8, 12, 6, 5, 1, 64, 64, 64, 71, 79, 77, 80,
+ 91, 88, 102, 68, 68, 84, 2, 66, 69, 71, 77, 82,
+ 77, 79, 84, 76, 81, 92, 85, 90, 64, 23, 18, 11,
+ 5, 8, 1, 67, 66, 69, 4, 34, 21, 15, 8, 16, 6, 4,
+ 65, 3, 4, 40, 29, 24, 17, 20, 5, 64, 68, 70, 70,
+ 42, 23, 8, 3, 9, 66, 75, 75, 5, 43, 30, 18, 11,
+ 20, 5, 64, 67, 69, 62, 80, 75, 67, 73, 75, 70,
+ 67, 65, 68, 66, 0, 2, 76, 71, 81, 75, 12, 76,
+ 84, 72, 65, 68, 73, 75, 70, 73, 79, 83, 86, 3,
+ 4, 14, 1, 67, 5, 5, 5, 66, 0, 2, 1, 74, 70, 75,
+ 65, 8, 81, 0, 15, 66, 5, 2, 6, 17, 65, 64, 6,
+ 12, 75, 76, 93, 25, 28, 35, 18, 14, 21, 16, 16,
+ 19, 11, 15, 15, 2, 2, 69, 0, 6, 67, 82, 64, 65,
+ 67, 3, 65, 6, 9, 65, 3, 6, 11, 9, 7, 5, 73, 68,
+ 68, 82, 74, 81, 81, 94, 91, 96, 98, 75, 74, 97,
+ 64, 64, 73, 84, 77, 78, 84, 78, 83, 86, 93, 95,
+ 103, 107, 0, 72, 86, 71, 6, 4, 11, 13, 15, 27,
+ 18, 24, 26, 40, 30, 28, 41, 39, 48, 22, 9, 68,
+ 77, 90, 103, 114, 126, 9, 42, 35, 34, 25, 31,
+ 15, 11, 13, 3, 75, 69, 6, 67, 16, 25, 66, 0, 10,
+ 14, 4, 13, 25, 4, 1, 36, 14, 68, 87, 100, 122,
+ 126, 126, 126 },
+
+ {
+
+ 38,
+ 5, 80, 38, 5, 80, 71, 5, 22, 11, 65, 79, 15, 21,
+ 52, 14, 19, 67, 11, 20, 64, 73, 65, 84, 100, 2,
+ 5, 119, 122, 122, 28, 64, 69, 11, 20, 64, 74, 2,
+ 14, 0, 0, 69, 74, 67, 81, 76, 92, 5, 70, 74, 64,
+ 77, 75, 88, 10, 64, 66, 70, 5, 3, 22, 0, 0, 0,
+ 65, 94, 97, 5, 67, 68, 18, 70, 90, 72, 21, 12,
+ 42, 37, 9, 12, 66, 14, 66, 67, 69, 78, 79, 82,
+ 82, 23, 0, 8, 75, 68, 74, 71, 80, 64, 72, 71,
+ 81, 17, 68, 2, 72, 81, 66, 73, 0, 5, 3, 1, 11,
+ 9, 73, 65, 1, 67, 2, 72, 6, 72, 0, 6, 2, 15, 8,
+ 1, 73, 4, 69, 72, 67, 86, 71, 6, 0, 6, 7, 7, 26,
+ 13, 3, 65, 6, 65, 67, 4, 94, 70, 0, 81, 64, 71,
+ 9, 3, 70, 13, 6, 4, 77, 9, 71, 76, 3, 87, 13,
+ 19, 13, 14, 17, 15, 8, 16, 16, 66, 5, 9, 3, 1,
+ 71, 0, 69, 67, 64, 67, 67, 64, 69, 80, 69, 72,
+ 76, 75, 82, 6, 10, 4, 3, 64, 67, 66, 66, 73, 81,
+ 79, 82, 94, 90, 104, 69, 69, 85, 1, 68, 71, 73,
+ 79, 84, 79, 81, 85, 77, 82, 92, 85, 90, 64, 23,
+ 18, 11, 5, 8, 1, 67, 66, 68, 4, 33, 21, 15, 8,
+ 16, 6, 4, 65, 4, 3, 40, 29, 23, 16, 20, 5, 64,
+ 68, 70, 70, 42, 22, 7, 2, 9, 66, 75, 75, 5, 42,
+ 29, 17, 10, 19, 5, 64, 67, 69, 62, 80, 74, 67,
+ 72, 74, 70, 66, 64, 67, 65, 1, 3, 76, 71, 81,
+ 75, 13, 76, 85, 72, 65, 68, 74, 76, 71, 74, 80,
+ 85, 88, 2, 3, 14, 0, 68, 4, 4, 4, 67, 64, 1, 0,
+ 75, 71, 76, 65, 8, 82, 64, 14, 67, 4, 1, 5, 17,
+ 66, 66, 5, 11, 76, 77, 95, 24, 27, 34, 16, 12,
+ 19, 14, 14, 16, 8, 12, 12, 64, 64, 71, 66, 2,
+ 70, 87, 67, 68, 69, 1, 67, 6, 9, 65, 4, 8, 9, 7,
+ 5, 3, 76, 70, 70, 85, 76, 83, 83, 96, 93, 97,
+ 99, 76, 75, 99, 66, 66, 75, 86, 79, 80, 86, 80,
+ 85, 88, 95, 97, 105, 108, 64, 73, 87, 71, 6, 4,
+ 11, 13, 15, 28, 18, 25, 26, 41, 31, 29, 42, 40,
+ 47, 20, 6, 71, 80, 93, 107, 117, 126, 9, 42, 35,
+ 34, 25, 31, 15, 11, 13, 3, 75, 69, 6, 67, 17,
+ 26, 66, 0, 10, 14, 4, 13, 25, 4, 0, 34, 11, 71,
+ 90, 104, 126, 126, 126, 126 },
+
+ {
+
+ 37,
+ 5, 80, 37, 5, 80, 69, 7, 23, 12, 65, 80, 14, 20,
+ 52, 14, 22, 67, 12, 21, 64, 73, 64, 85, 101, 2,
+ 4, 120, 123, 122, 31, 1, 69, 12, 21, 64, 73, 4,
+ 15, 0, 1, 68, 73, 67, 81, 75, 92, 5, 69, 73, 64,
+ 77, 74, 88, 11, 0, 65, 69, 6, 3, 22, 0, 0, 0,
+ 64, 94, 97, 6, 67, 68, 18, 69, 89, 70, 23, 14,
+ 44, 39, 11, 13, 64, 16, 64, 66, 67, 77, 78, 81,
+ 81, 24, 1, 9, 74, 67, 73, 70, 78, 64, 72, 71,
+ 81, 18, 68, 3, 71, 80, 65, 72, 1, 5, 3, 2, 11,
+ 9, 72, 65, 2, 67, 2, 71, 6, 72, 0, 6, 1, 15, 8,
+ 1, 72, 5, 68, 72, 67, 85, 71, 6, 0, 7, 7, 7, 27,
+ 14, 4, 65, 7, 65, 67, 4, 94, 70, 0, 81, 64, 72,
+ 9, 3, 70, 14, 7, 4, 78, 9, 71, 75, 3, 87, 13,
+ 19, 13, 14, 17, 15, 8, 16, 16, 66, 5, 9, 3, 1,
+ 71, 0, 69, 67, 64, 67, 67, 64, 69, 79, 69, 71,
+ 76, 76, 81, 5, 9, 3, 2, 66, 69, 67, 67, 75, 82,
+ 80, 83, 96, 91, 105, 69, 69, 85, 0, 69, 72, 74,
+ 80, 85, 80, 82, 85, 77, 82, 91, 84, 89, 0, 24,
+ 18, 11, 6, 9, 2, 66, 65, 66, 5, 33, 21, 15, 8,
+ 17, 7, 5, 64, 6, 3, 41, 30, 23, 16, 21, 5, 64,
+ 67, 69, 70, 43, 22, 7, 2, 10, 65, 74, 74, 5, 42,
+ 29, 17, 10, 19, 5, 0, 66, 68, 62, 79, 73, 66,
+ 70, 72, 69, 64, 1, 65, 0, 3, 5, 75, 70, 80, 74,
+ 15, 75, 85, 71, 64, 67, 74, 76, 71, 74, 80, 86,
+ 89, 2, 3, 15, 0, 68, 4, 4, 4, 67, 64, 1, 0, 75,
+ 71, 76, 64, 9, 82, 64, 14, 67, 4, 1, 5, 18, 66,
+ 67, 5, 11, 76, 77, 96, 24, 27, 34, 15, 11, 18,
+ 12, 12, 14, 6, 10, 10, 66, 66, 72, 68, 64, 73,
+ 91, 69, 70, 70, 0, 68, 6, 10, 64, 6, 11, 8, 6,
+ 4, 2, 78, 71, 71, 87, 77, 84, 84, 97, 94, 98,
+ 99, 76, 75, 100, 67, 67, 76, 87, 80, 81, 87, 81,
+ 86, 89, 96, 98, 106, 108, 64, 73, 87, 70, 7, 5,
+ 12, 14, 16, 30, 19, 26, 27, 43, 33, 30, 44, 42,
+ 47, 19, 4, 73, 82, 95, 110, 119, 126, 10, 43,
+ 36, 35, 26, 32, 16, 12, 14, 4, 74, 68, 7, 66,
+ 19, 28, 65, 1, 11, 15, 5, 14, 26, 4, 0, 33, 9,
+ 73, 92, 107, 126, 126, 126, 126 },
+
+ {
+
+ 36,
+ 5, 80, 36, 5, 80, 67, 8, 23, 12, 65, 81, 13, 19,
+ 52, 14, 24, 67, 13, 22, 64, 74, 64, 86, 102, 1,
+ 2, 122, 124, 123, 34, 2, 69, 13, 22, 64, 73, 5,
+ 15, 64, 1, 68, 72, 67, 81, 75, 92, 5, 69, 72,
+ 64, 77, 74, 88, 11, 0, 65, 69, 6, 3, 22, 0, 0,
+ 0, 0, 94, 97, 6, 68, 68, 18, 69, 89, 68, 25, 16,
+ 45, 41, 12, 14, 0, 17, 0, 65, 65, 77, 78, 81,
+ 80, 24, 1, 9, 73, 67, 72, 70, 77, 64, 72, 71,
+ 81, 18, 68, 3, 71, 80, 65, 72, 1, 5, 3, 2, 11,
+ 9, 72, 65, 2, 67, 2, 71, 5, 72, 0, 5, 0, 14, 7,
+ 0, 71, 5, 68, 73, 68, 85, 72, 6, 0, 7, 7, 7, 28,
+ 14, 4, 65, 7, 65, 68, 4, 95, 70, 0, 82, 64, 73,
+ 9, 3, 71, 14, 7, 4, 79, 9, 72, 75, 3, 88, 12,
+ 19, 13, 14, 17, 15, 8, 16, 16, 66, 5, 9, 3, 1,
+ 71, 0, 69, 67, 64, 67, 68, 65, 70, 79, 69, 71,
+ 77, 77, 81, 3, 7, 1, 0, 68, 71, 69, 69, 77, 84,
+ 82, 85, 98, 93, 106, 69, 69, 86, 64, 70, 73, 75,
+ 82, 86, 81, 83, 86, 78, 83, 91, 84, 88, 0, 24,
+ 18, 11, 6, 9, 2, 66, 65, 65, 6, 33, 21, 15, 8,
+ 17, 7, 6, 0, 8, 3, 41, 30, 23, 16, 21, 5, 64,
+ 67, 68, 70, 43, 22, 7, 2, 10, 65, 74, 73, 5, 41,
+ 28, 16, 9, 19, 5, 0, 66, 68, 62, 78, 72, 65, 69,
+ 71, 68, 0, 2, 64, 1, 4, 7, 74, 69, 80, 73, 16,
+ 75, 86, 71, 0, 67, 74, 77, 71, 75, 81, 87, 90,
+ 1, 3, 15, 0, 69, 3, 4, 4, 68, 65, 1, 0, 76, 71,
+ 76, 64, 9, 82, 65, 13, 68, 4, 0, 4, 18, 67, 68,
+ 5, 11, 77, 78, 98, 23, 26, 33, 14, 10, 17, 10,
+ 10, 12, 4, 7, 7, 69, 68, 73, 71, 67, 76, 95, 72,
+ 72, 72, 64, 69, 6, 11, 64, 7, 13, 6, 4, 2, 0,
+ 80, 73, 73, 89, 78, 86, 85, 99, 95, 99, 100, 77,
+ 75, 101, 68, 68, 78, 89, 82, 83, 88, 83, 88, 90,
+ 97, 99, 107, 109, 65, 74, 88, 70, 7, 5, 13, 14,
+ 17, 31, 20, 27, 28, 44, 34, 31, 45, 43, 46, 17,
+ 2, 75, 85, 98, 113, 122, 126, 10, 43, 36, 35,
+ 26, 33, 16, 12, 14, 4, 74, 68, 8, 66, 20, 29,
+ 65, 2, 12, 16, 5, 14, 27, 4, 0, 32, 7, 75, 95,
+ 110, 126, 126, 126, 126 },
+
+ {
+
+ 35,
+ 5, 80, 35, 5, 80, 65, 10, 24, 12, 66, 83, 11,
+ 18, 52, 14, 26, 67, 14, 23, 64, 75, 64, 87, 103,
+ 1, 0, 123, 125, 123, 37, 3, 69, 14, 23, 64, 72,
+ 6, 16, 64, 1, 67, 71, 68, 82, 75, 92, 5, 69, 72,
+ 64, 77, 74, 88, 12, 0, 65, 69, 7, 3, 22, 0, 0,
+ 0, 0, 94, 97, 7, 69, 68, 18, 69, 89, 66, 27, 17,
+ 47, 43, 13, 15, 2, 18, 1, 64, 0, 76, 78, 80, 79,
+ 24, 1, 9, 73, 67, 72, 69, 75, 64, 73, 72, 82,
+ 18, 68, 3, 70, 80, 64, 72, 2, 5, 3, 2, 11, 8,
+ 72, 65, 2, 67, 2, 71, 4, 72, 0, 4, 64, 13, 6,
+ 64, 71, 6, 68, 74, 68, 84, 72, 6, 0, 7, 7, 7,
+ 29, 14, 4, 65, 8, 65, 69, 4, 96, 70, 0, 82, 65,
+ 74, 9, 3, 72, 14, 7, 4, 81, 9, 73, 75, 3, 88,
+ 11, 19, 13, 14, 17, 15, 8, 16, 16, 66, 4, 9, 3,
+ 1, 71, 64, 70, 68, 65, 68, 69, 66, 70, 79, 70,
+ 71, 78, 79, 81, 2, 5, 64, 65, 70, 73, 71, 71,
+ 79, 86, 83, 86, 100, 95, 107, 69, 69, 86, 65,
+ 71, 74, 77, 83, 88, 82, 84, 87, 78, 83, 91, 84,
+ 88, 1, 24, 18, 11, 6, 9, 2, 66, 64, 64, 6, 33,
+ 21, 15, 8, 18, 8, 7, 1, 10, 3, 41, 30, 23, 16,
+ 22, 5, 64, 67, 68, 70, 43, 22, 6, 2, 10, 65, 74,
+ 72, 5, 41, 28, 15, 8, 19, 5, 0, 65, 67, 62, 77,
+ 71, 65, 68, 70, 67, 2, 3, 0, 2, 6, 8, 74, 68,
+ 80, 73, 18, 75, 86, 71, 0, 67, 75, 77, 71, 76,
+ 82, 88, 91, 1, 2, 15, 64, 69, 3, 3, 4, 69, 65,
+ 0, 0, 77, 71, 77, 64, 9, 83, 65, 13, 69, 4, 64,
+ 4, 18, 68, 69, 4, 10, 78, 78, 99, 22, 25, 33,
+ 13, 9, 15, 8, 8, 10, 1, 5, 5, 72, 71, 74, 74,
+ 70, 79, 99, 75, 75, 74, 65, 70, 6, 12, 64, 8,
+ 15, 4, 2, 0, 65, 82, 75, 74, 91, 80, 87, 86,
+ 100, 97, 100, 101, 77, 76, 102, 69, 70, 79, 91,
+ 84, 85, 90, 84, 90, 92, 98, 101, 109, 110, 66,
+ 75, 89, 70, 8, 5, 13, 15, 17, 32, 21, 28, 29,
+ 45, 35, 32, 47, 44, 46, 16, 0, 78, 87, 101, 116,
+ 125, 126, 11, 44, 37, 36, 26, 34, 17, 12, 15, 5,
+ 74, 67, 8, 65, 21, 30, 65, 2, 12, 16, 5, 15, 28,
+ 4, 0, 31, 5, 78, 98, 113, 126, 126, 126, 126 },
+
+ {
+
+ 33,
+ 5, 80, 33, 5, 80, 64, 11, 24, 12, 66, 84, 10,
+ 16, 52, 14, 29, 68, 15, 23, 64, 76, 64, 88, 104,
+ 0, 65, 125, 126, 124, 40, 4, 69, 15, 23, 64, 72,
+ 7, 16, 65, 1, 67, 71, 68, 82, 74, 92, 5, 69, 71,
+ 65, 78, 74, 88, 12, 1, 65, 68, 7, 3, 22, 0, 0,
+ 0, 1, 95, 97, 7, 70, 68, 18, 69, 89, 65, 28, 19,
+ 48, 44, 14, 16, 3, 20, 2, 0, 2, 76, 77, 80, 78,
+ 24, 1, 9, 72, 67, 71, 69, 74, 65, 73, 72, 82,
+ 18, 68, 3, 70, 80, 64, 72, 2, 5, 2, 2, 11, 8,
+ 72, 65, 2, 67, 2, 71, 4, 73, 0, 4, 65, 12, 5,
+ 65, 70, 6, 68, 75, 69, 84, 73, 6, 64, 7, 7, 7,
+ 30, 15, 4, 66, 8, 66, 70, 3, 97, 70, 0, 83, 65,
+ 75, 8, 2, 72, 15, 7, 4, 82, 8, 74, 75, 3, 89,
+ 11, 19, 13, 14, 17, 15, 8, 16, 15, 66, 4, 9, 3,
+ 1, 72, 64, 70, 68, 65, 68, 69, 67, 71, 79, 70,
+ 71, 79, 80, 81, 0, 3, 66, 67, 72, 75, 73, 73,
+ 81, 88, 85, 88, 103, 97, 108, 69, 70, 87, 66,
+ 72, 75, 78, 85, 89, 83, 86, 87, 79, 84, 91, 84,
+ 87, 1, 24, 18, 11, 6, 9, 2, 66, 64, 0, 7, 33,
+ 21, 15, 8, 18, 8, 7, 1, 12, 3, 41, 30, 23, 16,
+ 22, 5, 64, 67, 67, 70, 43, 21, 6, 2, 10, 65, 74,
+ 72, 5, 40, 27, 14, 7, 19, 5, 0, 65, 67, 62, 76,
+ 70, 64, 66, 69, 66, 3, 5, 1, 4, 7, 10, 73, 68,
+ 79, 72, 19, 74, 87, 71, 1, 67, 75, 78, 72, 77,
+ 83, 89, 92, 0, 2, 15, 64, 70, 2, 3, 4, 70, 66,
+ 0, 64, 78, 72, 77, 64, 9, 83, 66, 12, 70, 4, 65,
+ 3, 18, 69, 70, 4, 10, 79, 79, 101, 21, 25, 32,
+ 12, 7, 14, 6, 6, 8, 64, 2, 2, 75, 73, 76, 77,
+ 74, 82, 103, 77, 77, 76, 66, 72, 6, 13, 0, 9,
+ 17, 3, 0, 65, 66, 84, 77, 76, 93, 81, 89, 88,
+ 102, 98, 101, 102, 78, 76, 103, 71, 71, 81, 92,
+ 86, 87, 91, 86, 92, 93, 99, 102, 110, 110, 67,
+ 75, 90, 70, 8, 6, 14, 15, 18, 33, 21, 29, 30,
+ 46, 36, 33, 48, 45, 45, 14, 65, 80, 90, 104,
+ 119, 126, 126, 11, 44, 37, 36, 27, 34, 17, 13,
+ 15, 5, 73, 67, 9, 65, 22, 31, 65, 3, 13, 17, 5,
+ 15, 29, 4, 0, 29, 3, 80, 101, 116, 126, 126,
+ 126, 126 },
+
+ {
+
+ 32,
+ 5, 80, 32, 5, 80, 1, 13, 24, 12, 67, 86, 8, 15,
+ 52, 14, 31, 68, 16, 24, 64, 76, 0, 89, 105, 0,
+ 67, 126, 126, 124, 43, 6, 69, 16, 24, 64, 72, 8,
+ 16, 65, 1, 67, 70, 68, 83, 74, 92, 5, 69, 70,
+ 65, 78, 74, 88, 13, 1, 64, 68, 8, 3, 22, 0, 0,
+ 0, 1, 95, 97, 8, 71, 68, 18, 68, 89, 0, 30, 20,
+ 50, 46, 16, 17, 4, 21, 3, 1, 4, 75, 77, 79, 77,
+ 24, 1, 9, 72, 67, 71, 68, 72, 65, 73, 72, 82,
+ 18, 68, 4, 69, 80, 64, 72, 3, 5, 2, 2, 11, 8,
+ 71, 65, 3, 67, 2, 71, 3, 73, 0, 3, 66, 12, 4,
+ 66, 69, 7, 68, 76, 69, 83, 73, 6, 64, 7, 7, 7,
+ 31, 15, 4, 66, 8, 66, 71, 3, 98, 70, 0, 83, 66,
+ 76, 8, 2, 73, 15, 7, 4, 83, 8, 75, 75, 3, 89,
+ 10, 19, 13, 14, 17, 15, 8, 16, 15, 66, 4, 9, 3,
+ 1, 72, 64, 70, 69, 65, 68, 70, 68, 71, 79, 71,
+ 71, 80, 81, 81, 64, 1, 67, 68, 74, 77, 75, 75,
+ 83, 90, 87, 90, 105, 98, 109, 69, 70, 87, 67,
+ 73, 76, 79, 86, 91, 84, 87, 88, 79, 84, 91, 84,
+ 87, 1, 24, 18, 11, 6, 9, 3, 65, 0, 1, 7, 33, 21,
+ 15, 8, 18, 9, 8, 2, 14, 3, 41, 30, 23, 16, 22,
+ 5, 64, 67, 66, 70, 44, 21, 5, 2, 10, 65, 74, 71,
+ 5, 40, 26, 13, 6, 19, 5, 0, 65, 66, 62, 75, 69,
+ 0, 65, 68, 65, 4, 6, 2, 5, 9, 12, 72, 67, 79,
+ 72, 20, 74, 87, 70, 2, 67, 76, 78, 72, 77, 84,
+ 90, 93, 64, 1, 15, 65, 70, 2, 3, 4, 71, 67, 0,
+ 64, 79, 72, 77, 64, 9, 83, 67, 12, 70, 4, 66, 2,
+ 18, 70, 71, 3, 9, 80, 80, 103, 20, 24, 32, 11,
+ 6, 12, 4, 4, 6, 67, 64, 0, 78, 75, 77, 80, 77,
+ 85, 107, 80, 80, 78, 67, 73, 6, 14, 0, 10, 19,
+ 1, 64, 67, 68, 86, 79, 77, 95, 82, 91, 89, 104,
+ 100, 102, 103, 78, 76, 104, 72, 73, 83, 94, 87,
+ 88, 93, 87, 93, 95, 100, 103, 111, 111, 67, 76,
+ 91, 69, 9, 6, 14, 16, 19, 34, 22, 30, 31, 48,
+ 37, 34, 49, 47, 45, 12, 67, 83, 92, 107, 122,
+ 126, 126, 11, 45, 38, 37, 27, 35, 17, 13, 16, 6,
+ 73, 67, 10, 64, 23, 32, 64, 4, 13, 17, 5, 16,
+ 30, 4, 0, 28, 1, 83, 104, 119, 126, 126, 126,
+ 126 },
+
+ {
+
+ 31,
+ 5, 81, 31, 5, 81, 3, 14, 25, 12, 67, 87, 7, 14,
+ 52, 14, 33, 68, 16, 25, 64, 77, 0, 90, 106, 64,
+ 68, 126, 126, 125, 46, 7, 69, 16, 25, 64, 71, 9,
+ 17, 66, 2, 66, 69, 69, 83, 74, 92, 5, 68, 70,
+ 65, 78, 73, 88, 13, 1, 64, 68, 8, 3, 22, 0, 0,
+ 0, 2, 95, 97, 8, 71, 69, 18, 68, 88, 2, 32, 22,
+ 51, 48, 17, 18, 6, 22, 4, 1, 5, 75, 77, 79, 77,
+ 25, 1, 9, 71, 66, 70, 68, 71, 65, 74, 73, 83,
+ 18, 68, 4, 69, 80, 0, 72, 3, 5, 2, 3, 11, 7, 71,
+ 65, 3, 67, 2, 71, 2, 73, 0, 2, 67, 11, 4, 66,
+ 69, 7, 68, 76, 70, 83, 74, 6, 64, 7, 7, 7, 31,
+ 15, 4, 66, 9, 66, 72, 3, 98, 71, 0, 84, 66, 77,
+ 8, 2, 74, 15, 7, 4, 85, 8, 76, 75, 3, 90, 9, 19,
+ 12, 14, 17, 15, 8, 16, 15, 66, 3, 9, 2, 1, 72,
+ 65, 71, 69, 66, 69, 71, 69, 72, 79, 71, 70, 81,
+ 83, 81, 66, 64, 69, 70, 76, 79, 77, 77, 85, 92,
+ 88, 91, 107, 100, 110, 69, 70, 88, 68, 74, 77,
+ 81, 88, 92, 85, 88, 89, 80, 85, 91, 84, 86, 2,
+ 24, 18, 11, 7, 9, 3, 65, 0, 2, 8, 32, 21, 15, 8,
+ 19, 9, 9, 3, 16, 3, 42, 30, 23, 16, 23, 5, 64,
+ 66, 66, 70, 44, 21, 5, 2, 10, 64, 73, 70, 5, 39,
+ 26, 12, 6, 19, 5, 1, 64, 66, 62, 75, 68, 0, 64,
+ 67, 64, 6, 7, 3, 6, 10, 13, 72, 66, 79, 71, 22,
+ 74, 88, 70, 2, 67, 76, 79, 72, 78, 85, 91, 94,
+ 64, 1, 15, 65, 71, 1, 2, 4, 71, 67, 64, 64, 79,
+ 72, 78, 64, 9, 84, 67, 11, 71, 3, 67, 2, 19, 70,
+ 72, 3, 9, 80, 80, 104, 19, 23, 31, 10, 5, 11, 2,
+ 2, 4, 69, 66, 66, 81, 78, 78, 82, 80, 88, 111,
+ 83, 82, 80, 68, 74, 6, 15, 0, 12, 22, 64, 66,
+ 69, 70, 88, 81, 79, 97, 84, 92, 90, 105, 101,
+ 103, 104, 79, 77, 105, 73, 74, 84, 96, 89, 90,
+ 94, 89, 95, 96, 102, 105, 113, 112, 68, 77, 92,
+ 69, 9, 6, 15, 16, 19, 36, 23, 31, 32, 49, 39,
+ 35, 51, 48, 44, 11, 69, 85, 95, 109, 125, 126,
+ 126, 12, 45, 38, 37, 27, 36, 18, 13, 16, 6, 73,
+ 66, 10, 64, 24, 33, 64, 4, 14, 18, 5, 16, 31, 4,
+ 0, 27, 64, 85, 107, 123, 126, 126, 126, 126 },
+
+ {
+
+ 30,
+ 5, 81, 30, 5, 81, 5, 16, 25, 12, 68, 89, 5, 12,
+ 52, 14, 36, 69, 17, 25, 64, 78, 0, 91, 107, 64,
+ 70, 126, 126, 125, 49, 8, 69, 17, 25, 64, 71,
+ 10, 17, 66, 2, 66, 69, 69, 84, 73, 92, 5, 68,
+ 69, 66, 78, 73, 88, 14, 2, 64, 67, 9, 3, 22, 0,
+ 0, 0, 2, 95, 97, 9, 72, 69, 18, 68, 88, 3, 34,
+ 23, 53, 50, 18, 19, 7, 24, 5, 2, 7, 74, 76, 78,
+ 76, 25, 1, 9, 71, 66, 70, 67, 69, 66, 74, 73,
+ 83, 18, 68, 4, 68, 80, 0, 72, 4, 5, 1, 3, 11, 7,
+ 71, 65, 3, 67, 2, 71, 2, 73, 0, 2, 68, 10, 3,
+ 67, 68, 8, 68, 77, 70, 82, 74, 6, 65, 7, 7, 7,
+ 32, 16, 4, 66, 9, 66, 73, 3, 99, 71, 0, 84, 67,
+ 78, 7, 2, 74, 16, 7, 4, 86, 7, 77, 75, 3, 90, 9,
+ 19, 12, 14, 17, 15, 8, 16, 15, 66, 3, 9, 2, 1,
+ 72, 65, 71, 70, 66, 69, 71, 70, 72, 79, 72, 70,
+ 82, 84, 81, 67, 66, 71, 72, 78, 81, 79, 79, 87,
+ 94, 90, 93, 110, 102, 111, 69, 71, 88, 69, 75,
+ 78, 82, 89, 94, 86, 89, 89, 80, 85, 91, 84, 86,
+ 2, 24, 18, 11, 7, 9, 3, 65, 1, 3, 8, 32, 21, 15,
+ 8, 19, 10, 10, 3, 18, 3, 42, 30, 23, 16, 23, 5,
+ 64, 66, 65, 70, 44, 20, 4, 2, 10, 64, 73, 70, 5,
+ 39, 25, 11, 5, 19, 5, 1, 64, 65, 62, 74, 67, 1,
+ 1, 66, 0, 7, 9, 4, 8, 12, 15, 71, 65, 78, 71,
+ 23, 73, 88, 70, 3, 67, 77, 79, 73, 79, 86, 92,
+ 95, 65, 0, 15, 66, 71, 1, 2, 4, 72, 68, 64, 65,
+ 80, 72, 78, 64, 9, 84, 68, 11, 72, 3, 68, 1, 19,
+ 71, 73, 2, 8, 81, 81, 106, 18, 23, 31, 9, 3, 9,
+ 0, 0, 2, 72, 69, 68, 84, 80, 80, 85, 84, 91,
+ 115, 85, 85, 82, 69, 75, 6, 16, 1, 13, 24, 65,
+ 68, 71, 71, 90, 83, 80, 99, 85, 94, 92, 107,
+ 103, 104, 105, 79, 77, 106, 75, 76, 86, 97, 91,
+ 92, 96, 90, 97, 98, 103, 106, 114, 112, 69, 77,
+ 93, 69, 10, 7, 15, 17, 20, 37, 24, 32, 33, 50,
+ 40, 36, 52, 49, 44, 9, 71, 88, 97, 112, 126,
+ 126, 126, 12, 46, 39, 38, 28, 37, 18, 14, 17, 7,
+ 72, 66, 11, 0, 25, 34, 64, 5, 14, 18, 5, 17, 32,
+ 4, 0, 25, 66, 88, 110, 126, 126, 126, 126, 126 },
+
+ {
+
+ 28,
+ 4, 81, 28, 4, 81, 6, 17, 25, 12, 68, 90, 4, 11,
+ 52, 14, 38, 69, 18, 26, 64, 79, 0, 92, 109, 65,
+ 72, 126, 126, 126, 51, 9, 69, 18, 26, 64, 71,
+ 11, 17, 67, 2, 66, 68, 70, 84, 73, 93, 5, 68,
+ 69, 66, 79, 73, 88, 14, 2, 64, 67, 9, 3, 22, 0,
+ 0, 0, 3, 96, 97, 9, 73, 69, 18, 68, 88, 5, 35,
+ 25, 54, 51, 19, 20, 8, 25, 6, 3, 9, 74, 76, 78,
+ 75, 25, 1, 9, 70, 66, 69, 67, 68, 66, 75, 74,
+ 84, 18, 68, 4, 68, 80, 0, 72, 4, 4, 1, 3, 11, 6,
+ 71, 65, 3, 67, 1, 71, 1, 74, 0, 1, 70, 9, 2, 68,
+ 68, 8, 68, 78, 71, 82, 75, 5, 65, 7, 7, 7, 33,
+ 16, 4, 67, 9, 67, 74, 2, 100, 71, 0, 85, 67, 79,
+ 7, 1, 75, 16, 7, 4, 88, 7, 78, 75, 3, 91, 8, 18,
+ 12, 14, 17, 14, 7, 16, 14, 67, 2, 9, 2, 0, 73,
+ 66, 72, 70, 67, 70, 72, 71, 73, 79, 72, 70, 83,
+ 86, 81, 69, 68, 73, 74, 80, 84, 81, 81, 89, 96,
+ 92, 95, 112, 104, 112, 69, 71, 89, 70, 77, 80,
+ 84, 91, 95, 88, 91, 90, 81, 86, 91, 84, 85, 2,
+ 24, 18, 11, 7, 9, 3, 65, 1, 4, 9, 32, 21, 15, 8,
+ 19, 10, 10, 4, 19, 3, 42, 30, 23, 15, 23, 5, 64,
+ 66, 65, 70, 44, 20, 4, 2, 10, 64, 73, 69, 5, 38,
+ 24, 10, 4, 18, 5, 1, 64, 65, 62, 73, 66, 1, 2,
+ 65, 0, 8, 10, 5, 9, 13, 16, 71, 65, 78, 70, 24,
+ 73, 89, 70, 3, 67, 77, 80, 73, 80, 87, 94, 96,
+ 66, 0, 15, 66, 72, 0, 1, 3, 73, 69, 65, 65, 81,
+ 73, 79, 64, 9, 85, 69, 10, 73, 3, 69, 0, 19, 72,
+ 74, 2, 8, 82, 82, 108, 17, 22, 30, 7, 2, 8, 65,
+ 65, 64, 74, 72, 71, 87, 83, 81, 88, 87, 94, 119,
+ 88, 87, 84, 71, 77, 6, 16, 1, 14, 26, 67, 70,
+ 73, 73, 93, 85, 82, 101, 87, 96, 93, 109, 104,
+ 105, 106, 80, 78, 107, 76, 77, 88, 99, 93, 94,
+ 97, 92, 99, 99, 104, 108, 116, 113, 70, 78, 94,
+ 69, 10, 7, 16, 17, 20, 38, 24, 33, 34, 51, 41,
+ 37, 53, 50, 43, 7, 73, 90, 100, 115, 126, 126,
+ 126, 12, 46, 39, 38, 28, 37, 18, 14, 17, 7, 72,
+ 66, 11, 0, 26, 35, 64, 5, 15, 19, 5, 17, 32, 4,
+ 64, 24, 68, 90, 113, 126, 126, 126, 126, 126 },
+
+ {
+
+ 27,
+ 4, 81, 27, 4, 81, 8, 18, 26, 12, 68, 91, 3, 10,
+ 52, 14, 40, 69, 19, 27, 64, 79, 1, 93, 110, 66,
+ 74, 126, 126, 126, 54, 11, 69, 19, 27, 64, 70,
+ 12, 18, 68, 2, 65, 67, 70, 84, 73, 93, 5, 68,
+ 68, 66, 79, 73, 88, 14, 2, 0, 67, 9, 3, 22, 0,
+ 0, 0, 4, 96, 97, 9, 74, 69, 18, 67, 88, 7, 37,
+ 27, 55, 53, 21, 21, 10, 26, 8, 4, 11, 74, 76,
+ 78, 74, 25, 1, 9, 69, 66, 68, 66, 67, 66, 75,
+ 74, 84, 18, 68, 5, 67, 79, 1, 72, 4, 4, 1, 3,
+ 11, 6, 70, 65, 4, 67, 1, 70, 0, 74, 0, 0, 71, 9,
+ 1, 69, 67, 8, 67, 79, 72, 82, 76, 5, 65, 8, 7,
+ 7, 34, 16, 4, 67, 10, 67, 74, 2, 101, 71, 0, 86,
+ 67, 80, 7, 1, 76, 16, 7, 4, 89, 7, 78, 75, 3,
+ 92, 7, 18, 12, 14, 17, 14, 7, 16, 14, 67, 2, 9,
+ 2, 0, 73, 66, 72, 70, 67, 70, 73, 71, 73, 79,
+ 72, 70, 84, 87, 81, 71, 69, 74, 75, 82, 86, 82,
+ 82, 91, 98, 93, 96, 114, 105, 113, 69, 71, 90,
+ 71, 78, 81, 85, 92, 96, 89, 92, 91, 82, 87, 91,
+ 83, 84, 3, 25, 18, 11, 7, 10, 4, 64, 2, 5, 10,
+ 32, 21, 15, 8, 20, 10, 11, 5, 21, 3, 42, 30, 23,
+ 15, 24, 5, 64, 66, 64, 70, 45, 20, 4, 2, 11, 64,
+ 73, 68, 5, 38, 24, 10, 3, 18, 5, 1, 0, 64, 62,
+ 72, 65, 2, 3, 0, 1, 10, 11, 7, 10, 14, 18, 70,
+ 64, 78, 69, 26, 73, 90, 69, 4, 67, 77, 81, 73,
+ 80, 88, 95, 97, 66, 0, 15, 66, 72, 64, 1, 3, 74,
+ 69, 65, 65, 82, 73, 79, 0, 10, 85, 69, 9, 73, 3,
+ 69, 0, 19, 73, 75, 2, 8, 83, 82, 109, 17, 21,
+ 29, 6, 1, 7, 67, 67, 66, 76, 74, 74, 89, 85, 82,
+ 91, 90, 97, 123, 91, 89, 85, 72, 78, 6, 17, 1,
+ 15, 28, 69, 71, 75, 75, 95, 86, 83, 103, 88, 97,
+ 94, 110, 105, 106, 106, 80, 78, 108, 77, 78, 89,
+ 101, 94, 95, 98, 93, 100, 100, 105, 109, 117,
+ 114, 70, 79, 94, 68, 10, 7, 17, 18, 21, 39, 25,
+ 34, 35, 53, 42, 38, 55, 52, 42, 6, 75, 92, 103,
+ 118, 126, 126, 126, 13, 46, 39, 39, 28, 38, 19,
+ 14, 18, 8, 72, 65, 12, 0, 27, 37, 0, 6, 16, 20,
+ 5, 18, 33, 4, 64, 23, 70, 92, 115, 126, 126,
+ 126, 126, 126 },
+
+ {
+
+ 26,
+ 4, 81, 26, 4, 81, 10, 20, 26, 12, 69, 93, 1, 8,
+ 52, 14, 43, 70, 20, 27, 64, 80, 1, 94, 111, 66,
+ 76, 126, 126, 126, 57, 12, 69, 20, 27, 64, 70,
+ 13, 18, 68, 2, 65, 67, 70, 85, 72, 93, 5, 68,
+ 67, 67, 79, 73, 88, 15, 3, 0, 66, 10, 3, 22, 0,
+ 0, 0, 4, 96, 97, 10, 75, 69, 18, 67, 88, 8, 39,
+ 28, 57, 55, 22, 22, 11, 28, 9, 5, 13, 73, 75,
+ 77, 73, 25, 1, 9, 69, 66, 68, 66, 65, 67, 75,
+ 74, 84, 18, 68, 5, 67, 79, 1, 72, 5, 4, 0, 3,
+ 11, 6, 70, 65, 4, 67, 1, 70, 0, 74, 0, 0, 72, 8,
+ 0, 70, 66, 9, 67, 80, 72, 81, 76, 5, 66, 8, 7,
+ 7, 35, 17, 4, 67, 10, 67, 75, 2, 102, 71, 0, 86,
+ 68, 81, 6, 1, 76, 17, 7, 4, 90, 6, 79, 75, 3,
+ 92, 7, 18, 12, 14, 17, 14, 7, 16, 14, 67, 2, 9,
+ 2, 0, 73, 66, 72, 71, 67, 70, 73, 72, 74, 79,
+ 73, 70, 85, 88, 81, 72, 71, 76, 77, 84, 88, 84,
+ 84, 93, 100, 95, 98, 117, 107, 114, 69, 72, 90,
+ 72, 79, 82, 86, 94, 98, 90, 93, 91, 82, 87, 91,
+ 83, 84, 3, 25, 18, 11, 7, 10, 4, 64, 2, 6, 10,
+ 32, 21, 15, 8, 20, 11, 12, 5, 23, 3, 42, 30, 23,
+ 15, 24, 5, 64, 66, 0, 70, 45, 19, 3, 2, 11, 64,
+ 73, 68, 5, 37, 23, 9, 2, 18, 5, 1, 0, 64, 62,
+ 71, 64, 3, 5, 1, 2, 11, 13, 8, 12, 16, 20, 69,
+ 0, 77, 69, 27, 72, 90, 69, 5, 67, 78, 81, 74,
+ 81, 89, 96, 98, 67, 64, 15, 67, 73, 64, 1, 3,
+ 75, 70, 65, 66, 83, 73, 79, 0, 10, 85, 70, 9,
+ 74, 3, 70, 64, 19, 74, 76, 1, 7, 84, 83, 111,
+ 16, 21, 29, 5, 64, 5, 69, 69, 68, 79, 77, 76,
+ 92, 87, 84, 94, 94, 100, 126, 93, 92, 87, 73,
+ 79, 6, 18, 2, 16, 30, 70, 73, 77, 76, 97, 88,
+ 85, 105, 89, 99, 96, 112, 107, 107, 107, 81, 78,
+ 109, 79, 80, 91, 102, 96, 97, 100, 95, 102, 102,
+ 106, 110, 118, 114, 71, 79, 95, 68, 11, 8, 17,
+ 18, 22, 40, 26, 35, 36, 54, 43, 39, 56, 53, 42,
+ 4, 77, 95, 105, 121, 126, 126, 126, 13, 47, 40,
+ 39, 29, 39, 19, 15, 18, 8, 71, 65, 13, 1, 28,
+ 38, 0, 7, 16, 20, 5, 18, 34, 4, 64, 21, 72, 95,
+ 118, 126, 126, 126, 126, 126 },
+
+ {
+
+ 25,
+ 4, 82, 25, 4, 82, 12, 21, 27, 12, 69, 94, 0, 7,
+ 52, 14, 45, 70, 20, 28, 64, 81, 1, 95, 112, 67,
+ 77, 126, 126, 126, 60, 13, 69, 20, 28, 64, 69,
+ 14, 19, 69, 3, 64, 66, 71, 85, 72, 93, 5, 67,
+ 67, 67, 79, 72, 88, 15, 3, 0, 66, 10, 3, 22, 0,
+ 0, 0, 5, 96, 97, 10, 75, 70, 18, 67, 87, 10, 41,
+ 30, 58, 57, 23, 23, 13, 29, 10, 5, 14, 73, 75,
+ 77, 73, 26, 1, 9, 68, 65, 67, 65, 64, 67, 76,
+ 75, 85, 18, 68, 5, 66, 79, 2, 72, 5, 4, 0, 4,
+ 11, 5, 70, 65, 4, 67, 1, 70, 64, 74, 0, 64, 73,
+ 7, 0, 70, 66, 9, 67, 80, 73, 81, 77, 5, 66, 8,
+ 7, 7, 35, 17, 4, 67, 11, 67, 76, 2, 102, 72, 0,
+ 87, 68, 82, 6, 1, 77, 17, 7, 4, 92, 6, 80, 75,
+ 3, 93, 6, 18, 11, 14, 17, 14, 7, 16, 14, 67, 1,
+ 9, 1, 0, 73, 67, 73, 71, 68, 71, 74, 73, 74, 79,
+ 73, 69, 86, 90, 81, 74, 73, 78, 79, 86, 90, 86,
+ 86, 95, 102, 96, 99, 119, 109, 115, 69, 72, 91,
+ 73, 80, 83, 88, 95, 99, 91, 94, 92, 83, 88, 91,
+ 83, 83, 4, 25, 18, 11, 8, 10, 4, 64, 3, 7, 11,
+ 31, 21, 15, 8, 21, 11, 13, 6, 25, 3, 43, 30, 23,
+ 15, 25, 5, 64, 65, 0, 70, 45, 19, 3, 2, 11, 0,
+ 72, 67, 5, 37, 23, 8, 2, 18, 5, 2, 1, 0, 62, 71,
+ 0, 3, 6, 2, 3, 13, 14, 9, 13, 17, 21, 69, 1, 77,
+ 68, 29, 72, 91, 69, 5, 67, 78, 82, 74, 82, 90,
+ 97, 99, 67, 64, 15, 67, 73, 65, 0, 3, 75, 70,
+ 66, 66, 83, 73, 80, 0, 10, 86, 70, 8, 75, 2, 71,
+ 64, 20, 74, 77, 1, 7, 84, 83, 112, 15, 20, 28,
+ 4, 65, 4, 71, 71, 70, 81, 79, 79, 95, 90, 85,
+ 96, 97, 103, 126, 96, 94, 89, 74, 80, 6, 19, 2,
+ 18, 33, 72, 75, 79, 78, 99, 90, 86, 107, 91,
+ 100, 97, 113, 108, 108, 108, 81, 79, 110, 80,
+ 81, 92, 104, 98, 99, 101, 96, 104, 103, 108,
+ 112, 120, 115, 72, 80, 96, 68, 11, 8, 18, 19,
+ 22, 42, 27, 36, 37, 55, 45, 40, 58, 54, 41, 3,
+ 79, 97, 108, 123, 126, 126, 126, 14, 47, 40, 40,
+ 29, 40, 20, 15, 19, 9, 71, 64, 13, 1, 29, 39, 0,
+ 7, 17, 21, 5, 19, 35, 4, 64, 20, 74, 97, 121,
+ 126, 126, 126, 126, 126 },
+
+ {
+
+ 23,
+ 4, 82, 23, 4, 82, 13, 23, 27, 12, 70, 96, 65, 6,
+ 52, 14, 47, 70, 21, 29, 64, 82, 1, 96, 113, 67,
+ 79, 126, 126, 126, 62, 14, 69, 21, 29, 64, 69,
+ 15, 19, 69, 3, 64, 65, 71, 86, 72, 93, 5, 67,
+ 66, 67, 80, 72, 88, 16, 3, 0, 66, 11, 3, 22, 0,
+ 0, 0, 5, 97, 97, 11, 76, 70, 18, 67, 87, 12, 42,
+ 31, 60, 58, 24, 24, 14, 30, 11, 6, 16, 72, 75,
+ 76, 72, 26, 1, 9, 68, 65, 67, 65, 1, 67, 76, 75,
+ 85, 18, 68, 5, 66, 79, 2, 72, 6, 4, 0, 4, 11, 5,
+ 70, 65, 4, 67, 1, 70, 65, 75, 0, 65, 74, 6, 64,
+ 71, 65, 10, 67, 81, 73, 80, 77, 5, 66, 8, 7, 7,
+ 36, 17, 4, 68, 11, 68, 77, 1, 103, 72, 0, 87,
+ 69, 83, 6, 0, 78, 17, 7, 4, 93, 6, 81, 75, 3,
+ 93, 5, 18, 11, 14, 17, 14, 7, 16, 13, 67, 1, 9,
+ 1, 0, 74, 67, 73, 72, 68, 71, 75, 74, 75, 79,
+ 74, 69, 87, 91, 81, 75, 75, 80, 81, 88, 92, 88,
+ 88, 97, 104, 98, 101, 121, 111, 116, 69, 72, 91,
+ 74, 81, 84, 89, 97, 101, 92, 96, 93, 83, 88, 91,
+ 83, 83, 4, 25, 18, 11, 8, 10, 4, 64, 3, 8, 11,
+ 31, 21, 15, 8, 21, 12, 13, 7, 27, 3, 43, 30, 23,
+ 15, 25, 5, 64, 65, 1, 70, 45, 19, 2, 2, 11, 0,
+ 72, 66, 5, 36, 22, 7, 1, 18, 5, 2, 1, 0, 62, 70,
+ 1, 4, 7, 3, 4, 14, 15, 10, 14, 19, 23, 68, 1,
+ 77, 68, 30, 72, 91, 69, 6, 67, 79, 82, 74, 83,
+ 91, 98, 100, 68, 65, 15, 68, 74, 65, 0, 3, 76,
+ 71, 66, 66, 84, 74, 80, 0, 10, 86, 71, 8, 76, 2,
+ 72, 65, 20, 75, 78, 0, 6, 85, 84, 114, 14, 19,
+ 28, 3, 66, 2, 73, 73, 72, 84, 82, 81, 98, 92,
+ 86, 99, 100, 106, 126, 99, 97, 91, 75, 82, 6,
+ 20, 2, 19, 35, 74, 77, 81, 80, 101, 92, 88, 109,
+ 92, 102, 98, 115, 110, 109, 109, 82, 79, 111,
+ 81, 83, 94, 106, 100, 101, 103, 98, 106, 105,
+ 109, 113, 121, 116, 73, 81, 97, 68, 12, 8, 18,
+ 19, 23, 43, 27, 37, 38, 56, 46, 41, 59, 55, 41,
+ 1, 81, 100, 110, 126, 126, 126, 126, 14, 48, 41,
+ 40, 29, 40, 20, 15, 19, 9, 71, 64, 14, 2, 30,
+ 40, 0, 8, 17, 21, 5, 19, 36, 4, 64, 19, 76, 100,
+ 124, 126, 126, 126, 126, 126 },
+
+ {
+
+ 22,
+ 4, 82, 22, 4, 82, 15, 24, 27, 12, 70, 97, 66, 4,
+ 52, 14, 50, 71, 22, 29, 64, 82, 2, 97, 114, 68,
+ 81, 126, 126, 126, 62, 16, 69, 22, 29, 64, 69,
+ 16, 19, 70, 3, 64, 65, 71, 86, 71, 93, 5, 67,
+ 65, 68, 80, 72, 88, 16, 4, 1, 65, 11, 3, 22, 0,
+ 0, 0, 6, 97, 97, 11, 77, 70, 18, 66, 87, 13, 44,
+ 33, 61, 60, 26, 25, 15, 32, 12, 7, 18, 72, 74,
+ 76, 71, 26, 1, 9, 67, 65, 66, 64, 2, 68, 76, 75,
+ 85, 18, 68, 6, 65, 79, 2, 72, 6, 4, 64, 4, 11,
+ 5, 69, 65, 5, 67, 1, 70, 65, 75, 0, 65, 75, 6,
+ 65, 72, 64, 10, 67, 82, 74, 80, 78, 5, 67, 8, 7,
+ 7, 37, 18, 4, 68, 11, 68, 78, 1, 104, 72, 0, 88,
+ 69, 84, 5, 0, 78, 18, 7, 4, 94, 5, 82, 75, 3,
+ 94, 5, 18, 11, 14, 17, 14, 7, 16, 13, 67, 1, 9,
+ 1, 0, 74, 67, 73, 72, 68, 71, 75, 75, 75, 79,
+ 74, 69, 88, 92, 81, 77, 77, 81, 82, 90, 94, 90,
+ 90, 99, 106, 100, 103, 124, 112, 117, 69, 73,
+ 92, 75, 82, 85, 90, 98, 102, 93, 97, 93, 84, 89,
+ 91, 83, 82, 4, 25, 18, 11, 8, 10, 5, 0, 4, 9,
+ 12, 31, 21, 15, 8, 21, 12, 14, 7, 29, 3, 43, 30,
+ 23, 15, 25, 5, 64, 65, 2, 70, 46, 18, 2, 2, 11,
+ 0, 72, 66, 5, 36, 21, 6, 0, 18, 5, 2, 1, 1, 62,
+ 69, 2, 5, 9, 4, 5, 15, 17, 11, 16, 20, 25, 67,
+ 2, 76, 67, 31, 71, 92, 68, 7, 67, 79, 83, 75,
+ 83, 92, 99, 101, 69, 65, 15, 68, 74, 66, 0, 3,
+ 77, 72, 66, 67, 85, 74, 80, 0, 10, 86, 72, 7,
+ 76, 2, 73, 66, 20, 76, 79, 0, 6, 86, 85, 116,
+ 13, 19, 27, 2, 68, 1, 75, 75, 74, 86, 85, 84,
+ 101, 94, 88, 102, 104, 109, 126, 101, 99, 93,
+ 76, 83, 6, 21, 3, 20, 37, 75, 78, 83, 81, 103,
+ 94, 89, 111, 93, 104, 100, 117, 111, 110, 110,
+ 82, 79, 112, 83, 84, 96, 107, 101, 102, 104, 99,
+ 107, 106, 110, 114, 122, 116, 73, 81, 98, 67,
+ 12, 9, 19, 20, 24, 44, 28, 38, 39, 58, 47, 42,
+ 60, 57, 40, 64, 83, 102, 113, 126, 126, 126,
+ 126, 14, 48, 41, 41, 30, 41, 20, 16, 20, 10, 70,
+ 64, 15, 2, 31, 41, 1, 9, 18, 22, 5, 20, 37, 4,
+ 64, 17, 78, 102, 126, 126, 126, 126, 126, 126 },
+
+ {
+
+ 21,
+ 4, 82, 21, 4, 82, 17, 26, 28, 12, 71, 99, 68, 3,
+ 52, 14, 52, 71, 23, 30, 64, 83, 2, 98, 115, 68,
+ 83, 126, 126, 126, 62, 17, 69, 23, 30, 64, 68,
+ 17, 20, 70, 3, 0, 64, 72, 87, 71, 93, 5, 67, 65,
+ 68, 80, 72, 88, 17, 4, 1, 65, 12, 3, 22, 0, 0,
+ 0, 6, 97, 97, 12, 78, 70, 18, 66, 87, 15, 46,
+ 34, 62, 62, 27, 26, 17, 33, 13, 8, 20, 71, 74,
+ 75, 70, 26, 1, 9, 67, 65, 66, 64, 4, 68, 77, 76,
+ 86, 18, 68, 6, 65, 79, 3, 72, 7, 4, 64, 4, 11,
+ 4, 69, 65, 5, 67, 1, 70, 66, 75, 0, 66, 76, 5,
+ 66, 73, 64, 11, 67, 83, 74, 79, 78, 5, 67, 8, 7,
+ 7, 38, 18, 4, 68, 12, 68, 79, 1, 105, 72, 0, 88,
+ 70, 85, 5, 0, 79, 18, 7, 4, 96, 5, 83, 75, 3,
+ 94, 4, 18, 11, 14, 17, 14, 7, 16, 13, 67, 0, 9,
+ 1, 0, 74, 68, 74, 73, 69, 72, 76, 76, 76, 79,
+ 75, 69, 89, 94, 81, 78, 79, 83, 84, 92, 96, 92,
+ 92, 101, 108, 101, 104, 126, 114, 118, 69, 73,
+ 92, 76, 83, 86, 92, 100, 104, 94, 98, 94, 84,
+ 89, 91, 83, 82, 5, 25, 18, 11, 8, 10, 5, 0, 4,
+ 10, 12, 31, 21, 15, 8, 22, 13, 15, 8, 31, 3, 43,
+ 30, 23, 15, 26, 5, 64, 65, 2, 70, 46, 18, 1, 2,
+ 11, 0, 72, 65, 5, 35, 21, 5, 64, 18, 5, 2, 2, 1,
+ 62, 68, 3, 5, 10, 5, 6, 17, 18, 12, 17, 22, 26,
+ 67, 3, 76, 67, 33, 71, 92, 68, 7, 67, 80, 83,
+ 75, 84, 93, 100, 102, 69, 66, 15, 69, 75, 66,
+ 64, 3, 78, 72, 67, 67, 86, 74, 81, 0, 10, 87,
+ 72, 7, 77, 2, 74, 66, 20, 77, 80, 64, 5, 87, 85,
+ 117, 12, 18, 27, 1, 69, 64, 77, 77, 76, 89, 87,
+ 86, 104, 97, 89, 105, 107, 112, 126, 104, 102,
+ 95, 77, 84, 6, 22, 3, 21, 39, 77, 80, 85, 83,
+ 105, 96, 91, 113, 95, 105, 101, 118, 113, 111,
+ 111, 83, 80, 113, 84, 86, 97, 109, 103, 104,
+ 106, 101, 109, 108, 111, 116, 124, 117, 74, 82,
+ 99, 67, 13, 9, 19, 20, 24, 45, 29, 39, 40, 59,
+ 48, 43, 62, 58, 40, 65, 85, 105, 115, 126, 126,
+ 126, 126, 15, 49, 42, 41, 30, 42, 21, 16, 20,
+ 10, 70, 0, 15, 3, 32, 42, 1, 9, 18, 22, 5, 20,
+ 38, 4, 64, 16, 80, 105, 126, 126, 126, 126, 126,
+ 126 },
+
+ {
+
+ 20,
+ 4, 82, 20, 4, 82, 19, 27, 28, 12, 71, 100, 69,
+ 2, 52, 14, 54, 71, 24, 31, 64, 84, 2, 99, 116,
+ 69, 85, 126, 126, 126, 62, 18, 69, 24, 31, 64,
+ 68, 18, 20, 71, 3, 0, 0, 72, 87, 71, 93, 5, 67,
+ 64, 68, 80, 72, 88, 17, 4, 1, 65, 12, 3, 22, 0,
+ 0, 0, 7, 97, 97, 12, 79, 70, 18, 66, 87, 17, 48,
+ 36, 62, 62, 28, 27, 18, 34, 14, 9, 22, 71, 74,
+ 75, 69, 26, 1, 9, 66, 65, 65, 0, 5, 68, 77, 76,
+ 86, 18, 68, 6, 64, 79, 3, 72, 7, 4, 64, 4, 11,
+ 4, 69, 65, 5, 67, 1, 70, 67, 75, 0, 67, 77, 4,
+ 67, 74, 0, 11, 67, 84, 75, 79, 79, 5, 67, 8, 7,
+ 7, 39, 18, 4, 68, 12, 68, 80, 1, 106, 72, 0, 89,
+ 70, 86, 5, 0, 80, 18, 7, 4, 97, 5, 84, 75, 3,
+ 95, 3, 18, 11, 14, 17, 14, 7, 16, 13, 67, 0, 9,
+ 1, 0, 74, 68, 74, 73, 69, 72, 77, 77, 76, 79,
+ 75, 69, 90, 95, 81, 80, 81, 85, 86, 94, 98, 94,
+ 94, 103, 110, 103, 106, 126, 116, 119, 69, 73,
+ 93, 77, 84, 87, 93, 101, 105, 95, 99, 95, 85,
+ 90, 91, 83, 81, 5, 25, 18, 11, 8, 10, 5, 0, 5,
+ 11, 13, 31, 21, 15, 8, 22, 13, 16, 9, 33, 3, 43,
+ 30, 23, 15, 26, 5, 64, 65, 3, 70, 46, 18, 1, 2,
+ 11, 0, 72, 64, 5, 35, 20, 4, 65, 18, 5, 2, 2, 2,
+ 62, 67, 4, 6, 11, 6, 7, 18, 19, 13, 18, 23, 28,
+ 66, 4, 76, 66, 34, 71, 93, 68, 8, 67, 80, 84,
+ 75, 85, 94, 101, 103, 70, 66, 15, 69, 75, 67,
+ 64, 3, 79, 73, 67, 67, 87, 74, 81, 0, 10, 87,
+ 73, 6, 78, 2, 75, 67, 20, 78, 81, 64, 5, 88, 86,
+ 119, 11, 17, 26, 0, 70, 65, 79, 79, 78, 91, 90,
+ 89, 107, 99, 90, 108, 110, 115, 126, 107, 104,
+ 97, 78, 85, 6, 23, 3, 22, 41, 79, 82, 87, 85,
+ 107, 98, 92, 115, 96, 107, 102, 120, 114, 112,
+ 112, 83, 80, 114, 85, 87, 99, 111, 105, 106,
+ 107, 102, 111, 109, 112, 117, 125, 118, 75, 83,
+ 100, 67, 13, 9, 20, 21, 25, 46, 30, 40, 41, 60,
+ 49, 44, 62, 59, 39, 67, 87, 107, 118, 126, 126,
+ 126, 126, 15, 49, 42, 42, 30, 43, 21, 16, 21,
+ 11, 70, 0, 16, 3, 33, 43, 1, 10, 19, 23, 5, 21,
+ 39, 4, 64, 15, 82, 107, 126, 126, 126, 126, 126,
+ 126 },
+
+ {
+
+ 18,
+ 3, 83, 18, 3, 83, 20, 28, 28, 12, 72, 102, 71,
+ 0, 51, 14, 56, 72, 24, 31, 65, 85, 2, 101, 118,
+ 70, 87, 126, 126, 126, 62, 19, 70, 24, 31, 65,
+ 68, 19, 20, 72, 3, 0, 0, 73, 88, 71, 94, 5, 67,
+ 64, 69, 81, 72, 88, 17, 4, 1, 65, 12, 2, 22, 0,
+ 0, 0, 7, 98, 97, 12, 80, 71, 18, 66, 87, 18, 49,
+ 37, 62, 62, 29, 28, 19, 35, 15, 9, 23, 71, 74,
+ 75, 69, 26, 1, 9, 66, 65, 65, 0, 6, 69, 78, 77,
+ 87, 18, 68, 6, 64, 79, 3, 72, 7, 3, 65, 4, 10,
+ 3, 69, 66, 5, 67, 0, 70, 68, 76, 64, 68, 79, 3,
+ 68, 75, 0, 11, 67, 85, 76, 79, 80, 4, 68, 8, 7,
+ 7, 39, 18, 4, 69, 12, 69, 81, 0, 107, 73, 64,
+ 90, 71, 87, 4, 64, 81, 18, 7, 4, 99, 4, 85, 75,
+ 3, 96, 2, 17, 10, 14, 17, 13, 6, 16, 12, 68, 64,
+ 9, 0, 64, 75, 69, 75, 74, 70, 73, 78, 78, 77,
+ 79, 76, 69, 91, 97, 81, 82, 83, 87, 88, 96, 101,
+ 96, 96, 105, 112, 105, 108, 126, 118, 121, 70,
+ 74, 94, 78, 86, 89, 95, 103, 107, 97, 101, 96,
+ 86, 91, 91, 83, 81, 5, 25, 18, 11, 8, 10, 5, 0,
+ 5, 12, 13, 30, 21, 15, 8, 22, 13, 16, 9, 34, 2,
+ 43, 30, 22, 14, 26, 5, 64, 65, 3, 70, 46, 17, 0,
+ 1, 11, 0, 72, 64, 5, 34, 19, 3, 66, 17, 5, 2, 2,
+ 2, 62, 67, 5, 6, 12, 7, 7, 19, 20, 14, 19, 24,
+ 29, 66, 4, 76, 66, 35, 71, 94, 68, 8, 67, 81,
+ 85, 76, 86, 95, 103, 105, 71, 67, 15, 70, 76,
+ 68, 65, 2, 80, 74, 68, 68, 88, 75, 82, 0, 10,
+ 88, 74, 5, 79, 1, 76, 68, 20, 79, 83, 65, 4, 89,
+ 87, 121, 10, 16, 25, 65, 72, 67, 81, 81, 81, 94,
+ 93, 92, 110, 102, 92, 111, 114, 118, 126, 110,
+ 107, 99, 80, 87, 6, 23, 3, 23, 43, 81, 84, 89,
+ 87, 110, 100, 94, 118, 98, 109, 104, 122, 116,
+ 113, 113, 84, 81, 116, 87, 89, 101, 113, 107,
+ 108, 109, 104, 113, 111, 114, 119, 126, 119, 76,
+ 84, 101, 67, 13, 9, 20, 21, 25, 47, 30, 41, 41,
+ 61, 50, 45, 62, 60, 38, 69, 90, 110, 121, 126,
+ 126, 126, 126, 15, 49, 42, 42, 30, 43, 21, 16,
+ 21, 11, 70, 0, 16, 3, 34, 44, 1, 10, 19, 23, 5,
+ 21, 39, 4, 65, 13, 85, 110, 126, 126, 126, 126,
+ 126, 126 },
+
+ {
+
+ 17,
+ 3, 83, 17, 3, 83, 22, 30, 29, 13, 72, 103, 72,
+ 64, 51, 14, 59, 72, 25, 32, 65, 85, 3, 102, 119,
+ 70, 88, 126, 126, 126, 62, 21, 70, 25, 32, 65,
+ 67, 21, 21, 72, 4, 1, 1, 73, 88, 70, 94, 5, 66,
+ 0, 69, 81, 71, 88, 18, 5, 2, 64, 13, 2, 22, 0,
+ 0, 0, 8, 98, 97, 13, 80, 71, 18, 65, 86, 20, 51,
+ 39, 62, 62, 31, 29, 21, 37, 17, 10, 25, 70, 73,
+ 74, 68, 27, 2, 10, 65, 64, 64, 1, 8, 69, 78, 77,
+ 87, 19, 68, 7, 0, 78, 4, 71, 8, 3, 65, 5, 10, 3,
+ 68, 66, 6, 67, 0, 69, 68, 76, 64, 68, 80, 3, 68,
+ 75, 1, 12, 66, 85, 76, 78, 80, 4, 68, 9, 7, 7,
+ 40, 19, 5, 69, 13, 69, 81, 0, 107, 73, 64, 90,
+ 71, 88, 4, 64, 81, 19, 8, 4, 100, 4, 85, 74, 3,
+ 96, 2, 17, 10, 14, 17, 13, 6, 16, 12, 68, 64, 9,
+ 0, 64, 75, 69, 75, 74, 70, 73, 78, 78, 77, 78,
+ 76, 68, 91, 98, 80, 83, 84, 88, 89, 98, 103, 97,
+ 97, 107, 113, 106, 109, 126, 119, 122, 70, 74,
+ 94, 79, 87, 90, 96, 104, 108, 98, 102, 96, 86,
+ 91, 90, 82, 80, 6, 26, 18, 11, 9, 11, 6, 1, 6,
+ 14, 14, 30, 21, 15, 8, 23, 14, 17, 10, 36, 2,
+ 44, 31, 22, 14, 27, 5, 64, 64, 4, 70, 47, 17, 0,
+ 1, 12, 1, 71, 0, 5, 34, 19, 3, 66, 17, 5, 3, 3,
+ 3, 62, 66, 6, 7, 14, 9, 8, 21, 22, 16, 21, 26,
+ 31, 65, 5, 75, 65, 37, 70, 94, 67, 9, 66, 81,
+ 85, 76, 86, 95, 104, 106, 71, 67, 16, 70, 76,
+ 68, 65, 2, 80, 74, 68, 68, 88, 75, 82, 1, 11,
+ 88, 74, 5, 79, 1, 76, 68, 21, 79, 84, 65, 4, 89,
+ 87, 122, 10, 16, 25, 66, 73, 68, 83, 83, 83, 96,
+ 95, 94, 112, 104, 93, 113, 117, 121, 126, 112,
+ 109, 100, 81, 88, 6, 24, 4, 25, 46, 82, 85, 90,
+ 88, 112, 101, 95, 120, 99, 110, 105, 123, 117,
+ 114, 113, 84, 81, 117, 88, 90, 102, 114, 108,
+ 109, 110, 105, 114, 112, 115, 120, 126, 119, 76,
+ 84, 101, 66, 14, 10, 21, 22, 26, 49, 31, 42, 42,
+ 62, 52, 46, 62, 62, 38, 70, 92, 112, 123, 126,
+ 126, 126, 126, 16, 50, 43, 43, 31, 44, 22, 17,
+ 22, 12, 69, 1, 17, 4, 36, 46, 2, 11, 20, 24, 6,
+ 22, 40, 4, 65, 12, 87, 112, 126, 126, 126, 126,
+ 126, 126 },
+
+ {
+
+ 16,
+ 3, 83, 16, 3, 83, 24, 31, 29, 13, 72, 104, 73,
+ 65, 51, 14, 61, 72, 26, 33, 65, 86, 3, 103, 120,
+ 71, 90, 126, 126, 126, 62, 22, 70, 26, 33, 65,
+ 67, 22, 21, 73, 4, 1, 2, 73, 88, 70, 94, 5, 66,
+ 1, 69, 81, 71, 88, 18, 5, 2, 64, 13, 2, 22, 0,
+ 0, 0, 9, 98, 97, 13, 81, 71, 18, 65, 86, 22, 53,
+ 41, 62, 62, 32, 30, 22, 38, 18, 11, 27, 70, 73,
+ 74, 67, 27, 2, 10, 64, 64, 0, 1, 9, 69, 78, 77,
+ 87, 19, 68, 7, 0, 78, 4, 71, 8, 3, 65, 5, 10, 3,
+ 68, 66, 6, 67, 0, 69, 69, 76, 64, 69, 81, 2, 69,
+ 76, 2, 12, 66, 86, 77, 78, 81, 4, 68, 9, 7, 7,
+ 41, 19, 5, 69, 13, 69, 82, 0, 108, 73, 64, 91,
+ 71, 89, 4, 64, 82, 19, 8, 4, 101, 4, 86, 74, 3,
+ 97, 1, 17, 10, 14, 17, 13, 6, 16, 12, 68, 64, 9,
+ 0, 64, 75, 69, 75, 74, 70, 73, 79, 79, 78, 78,
+ 76, 68, 92, 99, 80, 85, 86, 90, 91, 100, 105,
+ 99, 99, 109, 115, 108, 111, 126, 121, 123, 70,
+ 74, 95, 80, 88, 91, 97, 106, 109, 99, 103, 97,
+ 87, 92, 90, 82, 79, 6, 26, 18, 11, 9, 11, 6, 1,
+ 6, 15, 15, 30, 21, 15, 8, 23, 14, 18, 11, 38, 2,
+ 44, 31, 22, 14, 27, 5, 64, 64, 5, 70, 47, 17, 0,
+ 1, 12, 1, 71, 1, 5, 33, 18, 2, 67, 17, 5, 3, 3,
+ 3, 62, 65, 7, 8, 15, 10, 9, 22, 23, 17, 22, 27,
+ 33, 64, 6, 75, 64, 38, 70, 95, 67, 10, 66, 81,
+ 86, 76, 87, 96, 105, 107, 72, 67, 16, 70, 77,
+ 69, 65, 2, 81, 75, 68, 68, 89, 75, 82, 1, 11,
+ 88, 75, 4, 80, 1, 77, 69, 21, 80, 85, 65, 4, 90,
+ 88, 124, 9, 15, 24, 67, 74, 69, 85, 85, 85, 98,
+ 98, 97, 115, 106, 94, 116, 120, 124, 126, 115,
+ 111, 102, 82, 89, 6, 25, 4, 26, 48, 84, 87, 92,
+ 90, 114, 103, 97, 122, 100, 112, 106, 125, 118,
+ 115, 114, 85, 81, 118, 89, 91, 104, 116, 110,
+ 111, 111, 107, 116, 113, 116, 121, 126, 120, 77,
+ 85, 102, 66, 14, 10, 22, 22, 27, 50, 32, 43, 43,
+ 62, 53, 47, 62, 62, 37, 72, 94, 114, 126, 126,
+ 126, 126, 126, 16, 50, 43, 43, 31, 45, 22, 17,
+ 22, 12, 69, 1, 18, 4, 37, 47, 2, 12, 21, 25, 6,
+ 22, 41, 4, 65, 11, 89, 114, 126, 126, 126, 126,
+ 126, 126 },
+
+ {
+
+ 15,
+ 3, 83, 15, 3, 83, 26, 33, 30, 13, 73, 106, 75,
+ 66, 51, 14, 62, 72, 27, 34, 65, 87, 3, 104, 121,
+ 71, 92, 126, 126, 126, 62, 23, 70, 27, 34, 65,
+ 66, 23, 22, 73, 4, 2, 3, 74, 89, 70, 94, 5, 66,
+ 1, 69, 81, 71, 88, 19, 5, 2, 64, 14, 2, 22, 0,
+ 0, 0, 9, 98, 97, 14, 82, 71, 18, 65, 86, 24, 55,
+ 42, 62, 62, 33, 31, 24, 39, 19, 12, 29, 69, 73,
+ 73, 66, 27, 2, 10, 64, 64, 0, 2, 11, 69, 79, 78,
+ 88, 19, 68, 7, 1, 78, 5, 71, 9, 3, 65, 5, 10, 2,
+ 68, 66, 6, 67, 0, 69, 70, 76, 64, 70, 82, 1, 70,
+ 77, 2, 13, 66, 87, 77, 77, 81, 4, 68, 9, 7, 7,
+ 42, 19, 5, 69, 14, 69, 83, 0, 109, 73, 64, 91,
+ 72, 90, 4, 64, 83, 19, 8, 4, 103, 4, 87, 74, 3,
+ 97, 0, 17, 10, 14, 17, 13, 6, 16, 12, 68, 65, 9,
+ 0, 64, 75, 70, 76, 75, 71, 74, 80, 80, 78, 78,
+ 77, 68, 93, 101, 80, 86, 88, 92, 93, 102, 107,
+ 101, 101, 111, 117, 109, 112, 126, 123, 124, 70,
+ 74, 95, 81, 89, 92, 99, 107, 111, 100, 104, 98,
+ 87, 92, 90, 82, 79, 7, 26, 18, 11, 9, 11, 6, 1,
+ 7, 16, 15, 30, 21, 15, 8, 24, 15, 19, 12, 40, 2,
+ 44, 31, 22, 14, 28, 5, 64, 64, 5, 70, 47, 17,
+ 64, 1, 12, 1, 71, 2, 5, 33, 18, 1, 68, 17, 5, 3,
+ 4, 4, 62, 64, 8, 8, 16, 11, 10, 24, 24, 18, 23,
+ 29, 34, 64, 7, 75, 64, 40, 70, 95, 67, 10, 66,
+ 82, 86, 76, 88, 97, 106, 108, 72, 68, 16, 71,
+ 77, 69, 66, 2, 82, 75, 69, 68, 90, 75, 83, 1,
+ 11, 89, 75, 4, 81, 1, 78, 69, 21, 81, 86, 66, 3,
+ 91, 88, 125, 8, 14, 24, 68, 75, 71, 87, 87, 87,
+ 101, 100, 99, 118, 109, 95, 119, 123, 126, 126,
+ 118, 114, 104, 83, 90, 6, 26, 4, 27, 50, 86, 89,
+ 94, 92, 116, 105, 98, 124, 102, 113, 107, 126,
+ 120, 116, 115, 85, 82, 119, 90, 93, 105, 118,
+ 112, 113, 113, 108, 118, 115, 117, 123, 126,
+ 121, 78, 86, 103, 66, 15, 10, 22, 23, 27, 51,
+ 33, 44, 44, 62, 54, 48, 62, 62, 37, 73, 96, 117,
+ 126, 126, 126, 126, 126, 17, 51, 44, 44, 31, 46,
+ 23, 17, 23, 13, 69, 2, 18, 5, 38, 48, 2, 12, 21,
+ 25, 6, 23, 42, 4, 65, 10, 91, 117, 126, 126,
+ 126, 126, 126, 126 },
+
+ },
+
+ {
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 126, 104, 10, 9, 12, 38, 62,
+ 62, 54, 22, 118, 65, 71, 79, 11, 13, 70, 9, 29,
+ 41, 62, 61, 27, 69, 126, 101, 76, 71, 79, 11,
+ 69, 90, 11, 20, 69, 82, 96, 4, 75, 87, 100, 7,
+ 74, 85, 4, 81, 86, 95, 66, 77, 70, 86, 72, 2,
+ 22, 0, 0, 0, 83, 86, 97, 72, 22, 1, 48, 12, 80,
+ 126, 91, 96, 81, 98, 102, 97, 119, 99, 110, 102,
+ 126, 80, 89, 94, 92, 24, 65, 84, 126, 73, 104,
+ 91, 126, 8, 7, 8, 2, 10, 68, 74, 88, 103, 91,
+ 89, 92, 76, 87, 110, 105, 78, 112, 99, 126, 126,
+ 126, 126, 66, 78, 71, 72, 4, 8, 70, 75, 89, 119,
+ 75, 43, 41, 126, 9, 2, 5, 3, 2, 67, 84, 74, 65,
+ 11, 6, 2, 69, 70, 8, 71, 5, 2, 22, 38, 31, 20,
+ 16, 19, 12, 17, 25, 66, 25, 21, 29, 89, 18, 35,
+ 32, 62, 62, 48, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 53, 62, 62, 62, 62, 62, 62, 62, 56, 62,
+ 62, 62, 27, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 53, 45, 38, 22, 75, 72, 77, 28, 32, 28,
+ 33, 18, 21, 18, 37, 9, 66, 7, 73, 67, 116, 112,
+ 71, 2, 10, 66, 77, 80, 84, 87, 126, 101, 24, 10,
+ 2, 75, 77, 91, 107, 111, 122, 76, 19, 11, 6, 5,
+ 72, 69, 69, 74, 86, 66, 29, 31, 32, 11, 8, 67,
+ 73, 89, 11, 59, 55, 55, 44, 26, 2, 73, 70, 78,
+ 62, 126, 124, 110, 126, 124, 105, 121, 117, 102,
+ 117, 116, 122, 95, 100, 95, 111, 114, 89, 80,
+ 82, 85, 81, 72, 64, 67, 7, 69, 69, 69, 69, 67,
+ 77, 64, 2, 67, 64, 6, 65, 66, 1, 12, 66, 71, 75,
+ 70, 72, 3, 26, 16, 28, 26, 22, 22, 15, 22, 22,
+ 4, 13, 23, 66, 13, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 54, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 49, 37, 26, 8, 65, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 43, 33,
+ 19, 15, 14, 18, 41, 41, 42, 43, 35, 39, 29, 21,
+ 24, 13, 70, 9, 71, 83, 31, 14, 9, 85, 81, 77,
+ 81, 80, 73, 74, 83, 71, 67, 2, 66, 66, 4, 4, 62,
+ 62, 62, 62, 62, 60, 53, 36, 6, 71, 39, 27, 21,
+ 11, 6, 0, 65, 67, 82, 81, 76, 72, 78, 72, 68,
+ 70, 76, 66, 1, 6, 2, 3, 9, 5, 62, 62, 62, 62,
+ 62, 60, 53, 36, 6 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 125, 102, 11, 10, 12, 37,
+ 61, 62, 55, 22, 116, 65, 70, 78, 11, 13, 69,
+ 9, 28, 40, 61, 58, 25, 70, 124, 100, 75, 70,
+ 78, 11, 69, 89, 11, 20, 68, 81, 95, 4, 75, 86,
+ 99, 7, 73, 84, 4, 80, 85, 94, 65, 76, 70, 85,
+ 71, 2, 22, 0, 0, 0, 82, 86, 97, 71, 22, 1, 48,
+ 12, 80, 124, 89, 94, 79, 95, 100, 95, 117, 97,
+ 108, 100, 124, 80, 88, 93, 91, 24, 65, 83,
+ 124, 72, 103, 90, 125, 8, 7, 8, 2, 11, 68, 73,
+ 87, 102, 90, 88, 91, 75, 86, 108, 103, 77,
+ 110, 97, 122, 122, 123, 124, 65, 77, 70, 71,
+ 4, 9, 69, 74, 88, 116, 74, 41, 40, 124, 9, 3,
+ 5, 4, 3, 66, 82, 73, 64, 11, 6, 2, 68, 69, 7,
+ 70, 5, 2, 22, 37, 31, 20, 16, 19, 12, 17, 24,
+ 65, 25, 21, 29, 89, 18, 35, 32, 62, 62, 47,
+ 62, 62, 62, 61, 62, 62, 62, 62, 62, 62, 52,
+ 62, 62, 62, 62, 62, 62, 62, 54, 62, 60, 62,
+ 26, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 61, 52, 44, 37, 21, 75, 72, 77, 28, 31, 27,
+ 32, 17, 20, 17, 36, 8, 66, 6, 73, 67, 115,
+ 110, 70, 3, 10, 65, 76, 79, 83, 86, 124, 99,
+ 25, 11, 3, 74, 76, 89, 105, 109, 120, 75, 20,
+ 12, 7, 6, 71, 68, 68, 73, 85, 66, 30, 31, 32,
+ 11, 9, 66, 73, 88, 11, 59, 55, 54, 43, 26, 3,
+ 72, 69, 77, 62, 124, 122, 108, 124, 122, 103,
+ 119, 115, 100, 115, 114, 119, 94, 99, 94, 109,
+ 112, 88, 79, 81, 84, 80, 71, 64, 67, 7, 69,
+ 69, 69, 68, 66, 76, 0, 2, 66, 0, 6, 64, 65, 1,
+ 12, 65, 70, 74, 69, 71, 3, 25, 16, 27, 26, 22,
+ 22, 15, 22, 22, 4, 13, 22, 66, 12, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 52, 62, 62, 62, 62, 62, 62, 62, 61, 62, 48,
+ 36, 25, 8, 65, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 42, 32, 18, 15, 14, 17, 40,
+ 40, 41, 41, 34, 38, 28, 20, 23, 12, 70, 8, 71,
+ 83, 30, 13, 8, 84, 80, 76, 80, 78, 71, 73, 82,
+ 70, 66, 3, 65, 65, 4, 4, 62, 62, 62, 62, 60,
+ 56, 49, 32, 4, 70, 39, 28, 22, 12, 7, 1, 64,
+ 66, 81, 80, 75, 71, 77, 71, 67, 69, 75, 65, 2,
+ 6, 3, 4, 9, 5, 62, 62, 62, 62, 60, 56, 49, 32,
+ 4 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 123, 101, 11, 10, 12, 36,
+ 59, 61, 55, 22, 114, 65, 70, 77, 11, 12, 69,
+ 8, 26, 39, 58, 54, 22, 72, 121, 99, 75, 70,
+ 77, 11, 69, 88, 11, 19, 68, 81, 94, 4, 75, 86,
+ 99, 7, 73, 84, 4, 80, 85, 94, 65, 76, 70, 85,
+ 71, 2, 22, 0, 0, 0, 81, 86, 97, 71, 21, 1, 47,
+ 12, 80, 122, 88, 93, 77, 93, 99, 94, 115, 96,
+ 107, 99, 122, 80, 88, 93, 91, 24, 65, 82, 122,
+ 72, 102, 89, 123, 8, 7, 8, 1, 11, 68, 73, 86,
+ 101, 89, 87, 90, 75, 85, 107, 102, 76, 109,
+ 96, 117, 118, 120, 121, 65, 77, 70, 71, 4, 9,
+ 69, 74, 88, 114, 74, 39, 38, 121, 9, 3, 5, 4,
+ 3, 66, 80, 72, 64, 11, 6, 2, 67, 68, 6, 70, 5,
+ 2, 21, 36, 30, 20, 15, 19, 12, 17, 23, 65, 24,
+ 20, 28, 89, 18, 34, 31, 62, 62, 46, 60, 62,
+ 62, 59, 62, 62, 62, 62, 62, 62, 50, 62, 62,
+ 62, 62, 62, 62, 62, 52, 62, 58, 62, 24, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 59, 50,
+ 42, 35, 19, 75, 72, 78, 27, 30, 26, 31, 16,
+ 19, 16, 34, 7, 66, 5, 74, 68, 114, 109, 69, 3,
+ 10, 65, 75, 78, 82, 85, 122, 98, 25, 11, 3,
+ 73, 75, 88, 103, 107, 118, 74, 21, 13, 8, 7,
+ 70, 68, 68, 73, 84, 66, 31, 31, 31, 11, 9, 66,
+ 73, 88, 11, 59, 54, 53, 42, 26, 3, 72, 69, 77,
+ 62, 123, 121, 107, 122, 120, 102, 117, 113,
+ 99, 113, 112, 117, 93, 98, 94, 108, 110, 88,
+ 79, 81, 83, 80, 71, 64, 67, 6, 69, 69, 69, 68,
+ 66, 75, 0, 2, 66, 0, 6, 64, 65, 1, 11, 65, 70,
+ 74, 69, 70, 2, 24, 16, 26, 25, 21, 21, 15, 21,
+ 21, 4, 13, 21, 66, 11, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 50, 62, 62,
+ 62, 62, 62, 62, 62, 59, 59, 46, 34, 24, 7, 66,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 40, 30, 16, 14, 13, 15, 39, 39, 39, 39,
+ 32, 36, 26, 19, 21, 11, 71, 7, 72, 84, 28, 12,
+ 7, 84, 80, 75, 80, 77, 70, 73, 81, 69, 65, 3,
+ 65, 64, 4, 4, 62, 62, 62, 62, 57, 52, 45, 28,
+ 1, 70, 39, 28, 22, 12, 8, 1, 64, 66, 81, 80,
+ 75, 71, 77, 70, 66, 69, 75, 65, 2, 6, 3, 5, 9,
+ 5, 62, 62, 62, 62, 57, 52, 45, 28, 1 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 121, 99, 12, 10, 11, 34, 57,
+ 60, 55, 22, 112, 65, 69, 76, 11, 12, 69, 8,
+ 25, 38, 56, 51, 20, 73, 118, 98, 75, 69, 76,
+ 11, 70, 87, 11, 19, 68, 81, 94, 4, 75, 86, 99,
+ 7, 73, 83, 4, 80, 84, 94, 65, 76, 70, 85, 71,
+ 2, 22, 0, 0, 0, 81, 86, 97, 70, 20, 1, 46, 11,
+ 80, 119, 87, 92, 76, 91, 97, 92, 113, 94, 106,
+ 98, 120, 80, 88, 92, 91, 24, 65, 81, 120, 72,
+ 101, 89, 121, 8, 6, 7, 1, 11, 68, 72, 86, 100,
+ 88, 87, 89, 74, 84, 105, 100, 76, 108, 95,
+ 112, 113, 117, 118, 65, 77, 70, 70, 4, 9, 68,
+ 73, 87, 112, 74, 37, 36, 118, 9, 3, 5, 4, 3,
+ 65, 79, 71, 64, 11, 6, 2, 67, 67, 5, 70, 5, 1,
+ 21, 35, 30, 20, 15, 19, 12, 17, 22, 65, 23,
+ 19, 28, 89, 18, 34, 31, 62, 62, 45, 58, 62,
+ 62, 57, 62, 62, 62, 62, 62, 61, 48, 62, 62,
+ 62, 62, 62, 62, 60, 50, 62, 56, 62, 22, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 57, 48,
+ 40, 34, 17, 75, 72, 78, 26, 29, 25, 30, 15,
+ 18, 15, 32, 6, 67, 4, 75, 68, 114, 107, 68, 4,
+ 10, 65, 74, 78, 82, 85, 120, 97, 25, 11, 4,
+ 72, 74, 87, 102, 106, 116, 73, 21, 13, 8, 7,
+ 69, 67, 68, 73, 84, 66, 31, 31, 30, 11, 9, 66,
+ 73, 87, 11, 58, 54, 52, 41, 26, 3, 72, 69, 77,
+ 62, 122, 119, 106, 121, 119, 101, 115, 111,
+ 98, 112, 110, 115, 93, 97, 93, 107, 108, 87,
+ 79, 81, 83, 79, 71, 64, 67, 6, 69, 69, 70, 67,
+ 65, 74, 0, 2, 65, 0, 6, 64, 65, 1, 11, 65, 70,
+ 74, 69, 70, 1, 23, 16, 25, 24, 20, 21, 15, 20,
+ 20, 4, 13, 20, 66, 10, 62, 62, 61, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 48, 62, 62,
+ 62, 62, 62, 62, 62, 57, 57, 44, 32, 22, 6, 67,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 59,
+ 60, 38, 28, 15, 13, 12, 14, 37, 37, 37, 37,
+ 31, 34, 24, 18, 20, 10, 72, 6, 73, 85, 27, 11,
+ 6, 84, 79, 75, 79, 76, 69, 73, 81, 69, 65, 3,
+ 64, 0, 4, 4, 62, 62, 62, 59, 54, 48, 41, 24,
+ 65, 70, 39, 28, 22, 12, 8, 2, 64, 66, 80, 80,
+ 75, 70, 76, 69, 65, 69, 74, 65, 2, 6, 3, 5, 9,
+ 5, 62, 62, 62, 59, 54, 48, 41, 24, 65 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 120, 98, 12, 10, 11, 33, 55,
+ 59, 55, 21, 110, 65, 69, 75, 10, 11, 69, 7,
+ 23, 37, 53, 47, 17, 75, 115, 97, 75, 69, 75,
+ 10, 70, 86, 11, 18, 68, 80, 93, 4, 75, 86, 99,
+ 7, 73, 83, 4, 80, 84, 93, 65, 76, 70, 85, 70,
+ 2, 22, 0, 0, 0, 80, 87, 97, 70, 19, 1, 45, 11,
+ 80, 117, 86, 91, 74, 89, 96, 91, 112, 93, 104,
+ 97, 118, 80, 87, 92, 91, 24, 65, 80, 118, 72,
+ 101, 88, 119, 8, 6, 7, 0, 11, 68, 72, 85, 99,
+ 87, 86, 88, 74, 84, 104, 99, 75, 107, 94, 107,
+ 109, 114, 115, 65, 76, 70, 70, 4, 9, 68, 73,
+ 87, 110, 74, 35, 34, 116, 9, 4, 5, 4, 3, 65,
+ 77, 70, 0, 10, 6, 2, 66, 67, 4, 70, 5, 1, 20,
+ 34, 29, 19, 14, 19, 12, 17, 21, 65, 22, 18,
+ 27, 89, 17, 33, 30, 62, 62, 44, 56, 62, 62,
+ 55, 62, 62, 62, 62, 62, 59, 46, 59, 62, 62,
+ 62, 62, 62, 57, 48, 62, 54, 62, 21, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 60, 55, 46, 38,
+ 32, 15, 75, 72, 79, 25, 28, 24, 28, 14, 16,
+ 14, 31, 5, 67, 3, 75, 69, 113, 106, 67, 4, 10,
+ 64, 74, 77, 81, 84, 118, 95, 25, 12, 4, 72,
+ 73, 86, 100, 104, 115, 73, 22, 14, 9, 8, 68,
+ 67, 68, 72, 83, 66, 32, 31, 30, 10, 9, 66, 73,
+ 87, 11, 58, 53, 51, 40, 26, 3, 71, 69, 77, 62,
+ 120, 118, 105, 119, 117, 100, 114, 110, 97,
+ 110, 109, 113, 92, 96, 93, 106, 107, 87, 79,
+ 81, 82, 79, 71, 65, 67, 5, 69, 69, 70, 67, 65,
+ 73, 0, 2, 65, 0, 6, 64, 65, 1, 10, 65, 70, 74,
+ 69, 69, 0, 22, 16, 24, 24, 19, 20, 15, 19, 19,
+ 4, 13, 19, 66, 9, 62, 62, 60, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 46, 62, 62, 62,
+ 62, 62, 62, 62, 54, 54, 42, 30, 21, 5, 67, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 57, 57,
+ 36, 26, 13, 12, 12, 12, 36, 36, 36, 35, 29,
+ 32, 23, 17, 18, 9, 73, 4, 74, 85, 25, 9, 4,
+ 83, 79, 74, 79, 75, 68, 73, 80, 68, 64, 3, 64,
+ 1, 4, 4, 62, 62, 62, 56, 50, 44, 36, 20, 68,
+ 69, 39, 28, 22, 12, 9, 2, 64, 66, 80, 80, 75,
+ 70, 76, 69, 64, 69, 74, 64, 3, 6, 3, 6, 9, 5,
+ 62, 62, 62, 56, 50, 44, 36, 20, 68 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 118, 96, 12, 10, 10, 32, 53,
+ 58, 55, 21, 108, 65, 69, 74, 10, 11, 69, 6,
+ 21, 36, 51, 44, 15, 77, 112, 96, 74, 69, 74,
+ 10, 70, 85, 11, 18, 68, 80, 92, 4, 75, 86, 99,
+ 7, 73, 83, 4, 80, 83, 93, 65, 76, 70, 85, 70,
+ 2, 22, 0, 0, 0, 80, 87, 97, 69, 18, 1, 44, 10,
+ 80, 114, 85, 90, 72, 87, 94, 89, 110, 91, 103,
+ 96, 115, 80, 87, 91, 90, 24, 65, 79, 116, 72,
+ 100, 88, 117, 8, 5, 6, 0, 11, 68, 71, 85, 98,
+ 86, 86, 87, 73, 83, 102, 97, 74, 105, 93, 102,
+ 105, 111, 112, 64, 76, 69, 69, 4, 9, 67, 73,
+ 86, 108, 74, 33, 32, 113, 9, 4, 5, 4, 3, 64,
+ 76, 69, 0, 10, 6, 2, 66, 66, 3, 69, 5, 0, 20,
+ 33, 29, 19, 14, 19, 12, 17, 20, 64, 21, 18,
+ 27, 89, 17, 32, 29, 62, 62, 43, 55, 62, 62,
+ 53, 62, 62, 62, 62, 61, 57, 44, 57, 62, 60,
+ 62, 62, 62, 55, 46, 62, 52, 62, 19, 62, 62,
+ 62, 62, 62, 62, 62, 62, 61, 58, 53, 44, 37,
+ 30, 13, 75, 72, 79, 24, 27, 23, 27, 13, 15,
+ 13, 29, 4, 68, 2, 76, 70, 112, 104, 66, 5, 10,
+ 64, 73, 77, 81, 83, 116, 94, 25, 12, 5, 71,
+ 72, 85, 99, 103, 113, 72, 23, 15, 10, 8, 67,
+ 66, 67, 72, 83, 66, 32, 31, 29, 10, 9, 66, 73,
+ 86, 11, 57, 52, 50, 39, 26, 3, 71, 69, 76, 62,
+ 119, 116, 103, 117, 116, 99, 112, 108, 96,
+ 108, 107, 111, 91, 95, 92, 105, 105, 87, 79,
+ 80, 82, 78, 71, 65, 67, 5, 69, 69, 71, 66, 65,
+ 72, 0, 2, 65, 0, 6, 64, 65, 1, 10, 65, 70, 74,
+ 69, 69, 64, 21, 16, 23, 23, 19, 19, 15, 19,
+ 18, 4, 13, 18, 66, 8, 62, 62, 59, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 44, 62, 62,
+ 62, 62, 62, 62, 61, 52, 52, 40, 29, 19, 5, 68,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 61, 55,
+ 54, 34, 24, 12, 12, 11, 10, 35, 34, 34, 33,
+ 27, 30, 21, 16, 17, 8, 73, 3, 75, 86, 24, 8,
+ 3, 83, 79, 73, 78, 74, 67, 72, 79, 68, 64, 3,
+ 0, 2, 4, 4, 62, 62, 59, 53, 47, 40, 32, 16,
+ 71, 69, 39, 28, 22, 12, 9, 2, 0, 65, 79, 80,
+ 75, 69, 76, 68, 0, 69, 74, 64, 3, 6, 4, 6, 9,
+ 5, 62, 62, 59, 53, 47, 40, 32, 16, 71 },
+
+ {
+
+ 62,
+ 9, 75, 62, 9, 75, 116, 95, 13, 10, 10, 30, 51,
+ 57, 55, 21, 107, 65, 68, 74, 10, 10, 68, 6,
+ 20, 34, 48, 40, 12, 78, 110, 95, 74, 68, 74,
+ 10, 71, 85, 11, 17, 68, 80, 92, 4, 75, 85, 98,
+ 7, 72, 82, 4, 79, 83, 93, 65, 76, 70, 85, 70,
+ 2, 22, 0, 0, 0, 79, 87, 97, 69, 18, 0, 44, 10,
+ 80, 112, 84, 89, 71, 84, 93, 88, 108, 90, 102,
+ 95, 113, 80, 87, 91, 90, 24, 65, 78, 113, 72,
+ 99, 87, 115, 7, 5, 6, 64, 12, 68, 71, 84, 98,
+ 86, 85, 86, 73, 82, 101, 96, 74, 104, 92, 97,
+ 100, 108, 109, 64, 76, 69, 69, 4, 9, 67, 72,
+ 86, 106, 73, 31, 30, 110, 9, 4, 5, 4, 4, 64,
+ 74, 68, 0, 10, 6, 2, 65, 65, 2, 69, 5, 0, 19,
+ 32, 28, 19, 13, 19, 12, 17, 18, 64, 20, 17,
+ 26, 89, 17, 32, 29, 62, 62, 42, 53, 62, 62,
+ 51, 62, 62, 62, 62, 57, 55, 43, 55, 62, 58,
+ 62, 62, 62, 52, 44, 62, 50, 62, 17, 62, 62,
+ 62, 62, 62, 62, 62, 62, 59, 56, 50, 42, 35,
+ 29, 12, 75, 72, 80, 23, 26, 22, 26, 12, 14,
+ 12, 27, 3, 68, 1, 77, 70, 112, 103, 65, 5, 10,
+ 64, 72, 76, 80, 83, 114, 93, 26, 12, 5, 70,
+ 71, 84, 97, 101, 111, 71, 23, 15, 10, 9, 66,
+ 66, 67, 72, 82, 66, 33, 31, 28, 10, 9, 66, 73,
+ 86, 10, 57, 52, 49, 38, 25, 3, 71, 69, 76, 62,
+ 118, 115, 102, 116, 114, 98, 110, 106, 95,
+ 107, 105, 109, 91, 94, 92, 104, 103, 86, 79,
+ 80, 81, 78, 71, 65, 67, 4, 69, 69, 71, 66, 64,
+ 71, 0, 2, 64, 1, 6, 0, 64, 1, 9, 65, 70, 74,
+ 69, 68, 65, 20, 16, 22, 22, 18, 19, 15, 18,
+ 18, 4, 12, 16, 67, 7, 62, 62, 58, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 42, 62, 62,
+ 62, 62, 62, 62, 58, 50, 49, 38, 27, 18, 4, 69,
+ 62, 62, 62, 62, 62, 62, 62, 62, 61, 58, 52,
+ 51, 32, 23, 10, 11, 10, 9, 33, 33, 32, 31, 26,
+ 28, 19, 15, 15, 7, 74, 2, 76, 87, 22, 7, 2,
+ 83, 78, 73, 78, 73, 66, 72, 79, 67, 0, 3, 0,
+ 3, 4, 4, 62, 62, 57, 50, 44, 36, 28, 12, 74,
+ 69, 39, 28, 22, 12, 10, 3, 0, 65, 79, 79, 74,
+ 69, 75, 67, 1, 68, 73, 64, 3, 6, 4, 7, 9, 5,
+ 62, 62, 57, 50, 44, 36, 28, 12, 74 },
+
+ {
+
+ 62,
+ 9, 75, 62, 9, 75, 114, 93, 13, 10, 9, 29, 49,
+ 56, 55, 21, 105, 65, 68, 73, 9, 10, 68, 5, 18,
+ 33, 46, 37, 10, 80, 107, 94, 74, 68, 73, 9,
+ 71, 84, 11, 17, 68, 79, 91, 4, 75, 85, 98, 7,
+ 72, 82, 4, 79, 82, 92, 65, 76, 70, 85, 69, 2,
+ 22, 0, 0, 0, 79, 87, 97, 68, 17, 0, 43, 9, 80,
+ 109, 83, 88, 69, 82, 91, 86, 107, 88, 100, 94,
+ 111, 80, 86, 90, 90, 24, 65, 77, 111, 72, 98,
+ 87, 113, 7, 4, 5, 64, 12, 68, 70, 84, 97, 85,
+ 85, 85, 72, 81, 99, 94, 73, 103, 91, 92, 96,
+ 105, 106, 64, 75, 69, 68, 4, 9, 66, 72, 85,
+ 104, 73, 29, 28, 107, 9, 5, 5, 4, 4, 0, 73,
+ 67, 1, 9, 6, 2, 65, 65, 1, 69, 5, 64, 19, 31,
+ 28, 18, 13, 19, 12, 17, 17, 64, 19, 16, 26,
+ 89, 17, 31, 28, 60, 62, 41, 51, 62, 62, 49,
+ 62, 61, 62, 62, 54, 53, 41, 52, 62, 55, 62,
+ 62, 62, 49, 42, 62, 48, 62, 16, 62, 62, 62,
+ 62, 62, 62, 62, 62, 57, 53, 48, 40, 33, 27,
+ 10, 75, 72, 80, 22, 25, 21, 24, 11, 13, 11,
+ 26, 2, 69, 0, 77, 71, 111, 101, 64, 6, 10, 0,
+ 72, 76, 80, 82, 112, 91, 26, 13, 6, 70, 70,
+ 83, 96, 100, 109, 71, 24, 16, 11, 9, 65, 65,
+ 67, 71, 82, 66, 33, 31, 28, 9, 9, 66, 73, 85,
+ 10, 56, 51, 48, 37, 25, 3, 70, 69, 76, 62,
+ 116, 113, 101, 114, 113, 97, 109, 105, 94,
+ 105, 104, 107, 90, 93, 91, 103, 101, 86, 79,
+ 80, 81, 77, 71, 66, 67, 4, 69, 69, 72, 65, 64,
+ 70, 0, 2, 64, 1, 6, 0, 64, 1, 9, 65, 70, 74,
+ 69, 68, 66, 19, 16, 21, 22, 17, 18, 15, 17,
+ 17, 4, 12, 15, 67, 6, 61, 62, 57, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 40, 62, 62,
+ 62, 62, 62, 62, 56, 48, 47, 36, 25, 16, 3, 69,
+ 62, 62, 62, 62, 62, 62, 62, 62, 59, 56, 50,
+ 48, 30, 21, 9, 10, 10, 7, 32, 31, 31, 29, 24,
+ 26, 18, 14, 14, 6, 75, 0, 77, 87, 21, 5, 0,
+ 82, 78, 72, 77, 72, 65, 72, 78, 67, 0, 3, 1,
+ 4, 4, 4, 62, 62, 54, 47, 40, 32, 24, 8, 77,
+ 68, 39, 28, 22, 12, 10, 3, 0, 65, 78, 79, 74,
+ 68, 75, 66, 2, 68, 73, 0, 4, 6, 4, 7, 9, 5,
+ 62, 62, 54, 47, 40, 32, 24, 8, 77 },
+
+ {
+
+ 62,
+ 8, 75, 62, 8, 75, 113, 92, 13, 10, 9, 27, 46,
+ 55, 55, 20, 103, 66, 68, 72, 9, 9, 68, 4, 16,
+ 32, 43, 33, 7, 82, 104, 93, 74, 68, 72, 9, 72,
+ 83, 11, 16, 68, 79, 91, 3, 76, 85, 98, 7, 72,
+ 82, 4, 79, 82, 92, 65, 76, 70, 85, 69, 2, 22,
+ 0, 0, 0, 78, 88, 97, 68, 16, 0, 42, 9, 81,
+ 107, 82, 87, 68, 80, 90, 85, 105, 87, 99, 93,
+ 109, 80, 86, 90, 90, 24, 65, 76, 109, 72, 98,
+ 86, 111, 7, 4, 5, 65, 12, 68, 70, 83, 96, 84,
+ 84, 85, 72, 81, 98, 93, 73, 102, 90, 88, 92,
+ 102, 104, 64, 75, 69, 68, 3, 9, 66, 72, 85,
+ 102, 73, 27, 26, 105, 9, 5, 5, 4, 4, 0, 71,
+ 67, 1, 9, 5, 2, 64, 64, 64, 69, 5, 64, 18, 29,
+ 27, 18, 12, 19, 12, 16, 16, 64, 18, 15, 25,
+ 89, 16, 30, 27, 58, 62, 39, 49, 62, 62, 46,
+ 62, 59, 62, 62, 50, 51, 39, 50, 62, 53, 62,
+ 62, 62, 46, 40, 62, 46, 62, 14, 62, 62, 62,
+ 62, 62, 62, 62, 60, 55, 51, 46, 38, 31, 25, 8,
+ 75, 73, 81, 21, 23, 20, 23, 10, 11, 9, 24, 1,
+ 69, 64, 78, 72, 111, 100, 0, 6, 10, 0, 71, 75,
+ 79, 82, 110, 90, 26, 13, 6, 69, 69, 82, 94,
+ 98, 108, 70, 24, 16, 11, 10, 64, 65, 67, 71,
+ 81, 67, 34, 31, 27, 9, 9, 66, 73, 85, 10, 56,
+ 50, 47, 36, 25, 3, 70, 69, 76, 62, 115, 112,
+ 100, 113, 111, 96, 107, 103, 93, 104, 102,
+ 105, 90, 93, 91, 102, 100, 86, 79, 80, 80, 77,
+ 71, 66, 67, 3, 69, 69, 72, 65, 64, 69, 0, 1,
+ 64, 1, 5, 0, 64, 1, 8, 65, 70, 74, 69, 67, 67,
+ 18, 16, 19, 21, 16, 17, 14, 16, 16, 4, 12, 14,
+ 67, 4, 60, 60, 56, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 60, 38, 62, 62, 62, 62, 62, 62,
+ 53, 45, 44, 34, 23, 15, 2, 70, 62, 62, 62, 62,
+ 62, 62, 62, 62, 56, 53, 47, 45, 28, 19, 7, 9,
+ 9, 5, 30, 30, 29, 27, 22, 24, 16, 12, 12, 4,
+ 76, 64, 78, 88, 19, 4, 64, 82, 78, 72, 77, 71,
+ 64, 72, 78, 66, 1, 3, 1, 4, 4, 3, 62, 60, 51,
+ 44, 37, 28, 19, 3, 80, 68, 39, 28, 22, 12, 11,
+ 3, 0, 65, 78, 79, 74, 68, 75, 66, 2, 68, 73,
+ 0, 4, 6, 4, 8, 9, 4, 62, 60, 51, 44, 37, 28,
+ 19, 3, 80 },
+
+ {
+
+ 62,
+ 8, 75, 62, 8, 75, 111, 91, 14, 10, 9, 26, 44,
+ 54, 56, 20, 101, 66, 67, 71, 9, 8, 68, 4, 15,
+ 31, 41, 29, 4, 83, 101, 92, 73, 67, 71, 9, 72,
+ 82, 11, 16, 67, 79, 90, 3, 76, 85, 98, 7, 72,
+ 81, 4, 79, 82, 92, 65, 76, 70, 84, 69, 2, 22,
+ 0, 0, 0, 77, 88, 97, 68, 15, 0, 41, 9, 81,
+ 105, 80, 86, 66, 78, 88, 84, 103, 85, 98, 91,
+ 106, 80, 86, 90, 89, 24, 65, 75, 107, 71, 97,
+ 85, 109, 7, 4, 5, 65, 12, 68, 70, 82, 95, 83,
+ 83, 84, 71, 80, 97, 91, 72, 100, 89, 83, 87,
+ 98, 101, 0, 75, 68, 67, 3, 9, 66, 71, 84, 99,
+ 73, 25, 25, 102, 9, 5, 5, 4, 4, 1, 69, 66, 1,
+ 9, 5, 2, 0, 0, 65, 68, 5, 64, 17, 28, 26, 18,
+ 11, 19, 12, 16, 15, 0, 17, 15, 24, 89, 16, 30,
+ 27, 56, 62, 38, 48, 62, 62, 44, 60, 57, 62,
+ 62, 47, 49, 37, 48, 62, 51, 62, 62, 62, 44,
+ 38, 62, 44, 62, 12, 62, 62, 62, 62, 62, 62,
+ 60, 58, 53, 49, 44, 37, 30, 24, 6, 75, 73, 81,
+ 21, 22, 19, 22, 9, 10, 8, 22, 0, 69, 65, 79,
+ 72, 110, 99, 1, 6, 10, 0, 70, 74, 78, 81, 107,
+ 89, 26, 13, 6, 68, 68, 81, 92, 96, 106, 69,
+ 25, 17, 12, 11, 0, 65, 66, 71, 80, 67, 35, 31,
+ 26, 9, 10, 65, 73, 84, 10, 56, 50, 46, 35, 25,
+ 3, 70, 69, 75, 62, 114, 111, 98, 111, 109, 95,
+ 105, 101, 92, 102, 100, 103, 89, 92, 90, 101,
+ 98, 85, 78, 79, 79, 76, 71, 66, 67, 2, 69, 69,
+ 72, 65, 0, 68, 1, 1, 0, 1, 5, 0, 64, 1, 7, 65,
+ 69, 73, 69, 66, 67, 17, 16, 18, 20, 16, 17,
+ 14, 16, 15, 4, 12, 13, 67, 3, 59, 59, 56, 61,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 57, 36,
+ 62, 62, 62, 62, 62, 62, 50, 43, 42, 33, 22,
+ 14, 2, 71, 62, 62, 62, 62, 62, 62, 62, 62, 54,
+ 51, 45, 43, 26, 17, 5, 9, 8, 4, 29, 29, 27,
+ 25, 21, 23, 14, 11, 10, 3, 76, 65, 78, 89, 17,
+ 3, 65, 82, 77, 71, 77, 70, 1, 71, 77, 65, 2,
+ 3, 2, 5, 4, 3, 62, 58, 49, 41, 34, 24, 15, 64,
+ 83, 68, 39, 28, 23, 13, 12, 4, 1, 64, 78, 79,
+ 74, 68, 74, 65, 3, 68, 72, 0, 4, 6, 5, 9, 9,
+ 4, 62, 58, 49, 41, 34, 24, 15, 64, 83 },
+
+ {
+
+ 62,
+ 8, 75, 62, 8, 75, 109, 89, 14, 10, 8, 25, 42,
+ 53, 56, 20, 99, 66, 67, 70, 8, 8, 68, 3, 13,
+ 30, 38, 26, 2, 85, 98, 91, 73, 67, 70, 8, 72,
+ 81, 11, 15, 67, 78, 89, 3, 76, 85, 98, 7, 72,
+ 81, 4, 79, 81, 91, 65, 76, 70, 84, 68, 2, 22,
+ 0, 0, 0, 77, 88, 97, 67, 14, 0, 40, 8, 81,
+ 102, 79, 85, 64, 76, 87, 82, 102, 84, 96, 90,
+ 104, 80, 85, 89, 89, 24, 65, 74, 105, 71, 96,
+ 85, 107, 7, 3, 4, 66, 12, 68, 69, 82, 94, 82,
+ 83, 83, 71, 79, 95, 90, 71, 99, 88, 78, 83,
+ 95, 98, 0, 74, 68, 67, 3, 9, 65, 71, 84, 97,
+ 73, 23, 23, 99, 9, 6, 5, 4, 4, 1, 68, 65, 2,
+ 8, 5, 2, 0, 0, 66, 68, 5, 65, 17, 27, 26, 17,
+ 11, 19, 12, 16, 14, 0, 16, 14, 24, 89, 16, 29,
+ 26, 54, 62, 37, 46, 62, 62, 42, 57, 55, 62,
+ 62, 43, 47, 35, 45, 61, 48, 62, 62, 62, 41,
+ 36, 58, 42, 62, 11, 62, 62, 62, 62, 62, 60,
+ 58, 56, 51, 46, 42, 35, 28, 22, 4, 75, 73, 82,
+ 20, 21, 18, 20, 8, 9, 7, 21, 64, 70, 66, 79,
+ 73, 109, 97, 2, 7, 10, 1, 70, 74, 78, 80, 105,
+ 87, 26, 14, 7, 68, 67, 80, 91, 95, 104, 69,
+ 26, 18, 13, 11, 1, 64, 66, 70, 80, 67, 35, 31,
+ 26, 8, 10, 65, 73, 84, 10, 55, 49, 45, 34, 25,
+ 3, 69, 69, 75, 62, 112, 109, 97, 109, 108, 94,
+ 104, 100, 91, 100, 99, 101, 88, 91, 90, 100,
+ 96, 85, 78, 79, 79, 76, 71, 67, 67, 2, 69, 69,
+ 73, 64, 0, 67, 1, 1, 0, 1, 5, 0, 64, 1, 7, 65,
+ 69, 73, 69, 66, 68, 16, 16, 17, 20, 15, 16,
+ 14, 15, 14, 4, 12, 12, 67, 2, 58, 58, 55, 59,
+ 60, 62, 62, 62, 62, 62, 62, 62, 62, 55, 34,
+ 62, 62, 62, 62, 62, 62, 48, 41, 39, 31, 20,
+ 12, 1, 71, 62, 62, 62, 62, 62, 62, 62, 62, 52,
+ 48, 43, 40, 24, 15, 4, 8, 8, 2, 28, 27, 26,
+ 23, 19, 21, 13, 10, 9, 2, 77, 67, 79, 89, 16,
+ 1, 67, 81, 77, 70, 76, 69, 2, 71, 76, 65, 2,
+ 3, 2, 6, 4, 3, 62, 56, 46, 38, 30, 20, 11, 68,
+ 86, 67, 39, 28, 23, 13, 12, 4, 1, 64, 77, 79,
+ 74, 67, 74, 64, 4, 68, 72, 1, 5, 6, 5, 9, 9,
+ 4, 62, 56, 46, 38, 30, 20, 11, 68, 86 },
+
+ {
+
+ 62,
+ 8, 76, 62, 8, 76, 107, 88, 15, 10, 8, 23, 40,
+ 52, 56, 20, 98, 66, 66, 70, 8, 7, 67, 3, 12,
+ 28, 36, 22, 64, 86, 96, 90, 73, 66, 70, 8, 73,
+ 81, 11, 15, 67, 78, 89, 3, 76, 84, 97, 7, 71,
+ 80, 4, 78, 81, 91, 65, 76, 70, 84, 68, 2, 22,
+ 0, 0, 0, 76, 88, 97, 67, 14, 64, 40, 8, 81,
+ 100, 78, 84, 0, 73, 85, 81, 100, 82, 95, 89,
+ 102, 80, 85, 89, 89, 24, 65, 73, 102, 71, 95,
+ 84, 105, 6, 3, 4, 66, 13, 68, 69, 81, 94, 82,
+ 82, 82, 70, 78, 94, 88, 71, 98, 87, 73, 78,
+ 92, 95, 0, 74, 68, 66, 3, 9, 65, 70, 83, 95,
+ 72, 21, 21, 96, 9, 6, 5, 4, 5, 2, 66, 64, 2,
+ 8, 5, 2, 1, 1, 67, 68, 5, 65, 16, 26, 25, 17,
+ 10, 19, 12, 16, 12, 0, 15, 13, 23, 89, 16, 29,
+ 26, 52, 62, 36, 44, 61, 62, 40, 55, 53, 62,
+ 62, 40, 45, 34, 43, 57, 46, 62, 62, 62, 38,
+ 34, 55, 40, 62, 9, 62, 62, 62, 62, 62, 58, 55,
+ 54, 49, 44, 39, 33, 26, 21, 3, 75, 73, 82, 19,
+ 20, 17, 19, 7, 8, 6, 19, 65, 70, 67, 80, 73,
+ 109, 96, 3, 7, 10, 1, 69, 73, 77, 80, 103, 86,
+ 27, 14, 7, 67, 66, 79, 89, 93, 102, 68, 26,
+ 18, 13, 12, 2, 64, 66, 70, 79, 67, 36, 31, 25,
+ 8, 10, 65, 73, 83, 9, 55, 49, 44, 33, 24, 3,
+ 69, 69, 75, 62, 111, 108, 96, 108, 106, 93,
+ 102, 98, 90, 99, 97, 99, 88, 90, 89, 99, 94,
+ 84, 78, 79, 78, 75, 71, 67, 67, 1, 69, 69, 73,
+ 64, 1, 66, 1, 1, 1, 2, 5, 1, 0, 1, 6, 65, 69,
+ 73, 69, 65, 69, 15, 16, 16, 19, 14, 16, 14,
+ 14, 14, 4, 11, 10, 68, 1, 56, 57, 54, 58, 58,
+ 62, 62, 62, 62, 62, 62, 62, 62, 52, 32, 62,
+ 62, 62, 62, 62, 62, 45, 39, 37, 29, 18, 11, 0,
+ 72, 62, 62, 62, 62, 62, 62, 60, 59, 49, 46,
+ 40, 37, 22, 14, 2, 7, 7, 1, 26, 26, 24, 21,
+ 18, 19, 11, 9, 7, 1, 78, 68, 80, 90, 14, 0,
+ 68, 81, 76, 70, 76, 68, 3, 71, 76, 64, 3, 3,
+ 3, 7, 4, 3, 62, 54, 44, 35, 27, 16, 7, 72, 89,
+ 67, 39, 28, 23, 13, 13, 5, 1, 64, 77, 78, 73,
+ 67, 73, 0, 5, 67, 71, 1, 5, 6, 5, 10, 9, 4,
+ 62, 54, 44, 35, 27, 16, 7, 72, 89 },
+
+ {
+
+ 62,
+ 8, 76, 62, 8, 76, 106, 86, 15, 10, 7, 22, 38,
+ 51, 56, 19, 96, 66, 66, 69, 8, 7, 67, 2, 10,
+ 27, 33, 19, 66, 88, 93, 89, 73, 66, 69, 8, 73,
+ 80, 11, 14, 67, 78, 88, 3, 76, 84, 97, 7, 71,
+ 80, 4, 78, 80, 91, 65, 76, 70, 84, 68, 2, 22,
+ 0, 0, 0, 76, 89, 97, 66, 13, 64, 39, 7, 81,
+ 97, 77, 83, 2, 71, 84, 79, 98, 81, 94, 88,
+ 100, 80, 85, 88, 89, 24, 65, 72, 100, 71, 95,
+ 84, 103, 6, 2, 3, 67, 13, 68, 68, 81, 93, 81,
+ 82, 81, 70, 78, 92, 87, 70, 97, 86, 68, 74,
+ 89, 92, 0, 74, 68, 66, 3, 9, 64, 70, 83, 93,
+ 72, 19, 19, 94, 9, 6, 5, 4, 5, 2, 65, 0, 2, 8,
+ 5, 2, 1, 2, 68, 68, 5, 66, 16, 25, 25, 17, 10,
+ 19, 12, 16, 11, 0, 14, 12, 23, 89, 15, 28, 25,
+ 50, 62, 35, 42, 59, 60, 38, 52, 51, 62, 62,
+ 36, 43, 32, 41, 54, 43, 58, 62, 62, 35, 32,
+ 51, 38, 62, 7, 62, 62, 62, 62, 62, 56, 53, 52,
+ 47, 42, 37, 31, 24, 19, 1, 75, 73, 83, 18, 19,
+ 16, 18, 6, 6, 5, 17, 66, 71, 68, 81, 74, 108,
+ 94, 4, 8, 10, 1, 68, 73, 77, 79, 101, 85, 27,
+ 14, 8, 66, 65, 78, 88, 92, 101, 67, 27, 19,
+ 14, 12, 3, 0, 66, 70, 79, 67, 36, 31, 24, 8,
+ 10, 65, 73, 83, 9, 54, 48, 43, 32, 24, 3, 69,
+ 69, 75, 62, 110, 106, 95, 106, 105, 92, 100,
+ 96, 89, 97, 95, 97, 87, 89, 89, 98, 93, 84,
+ 78, 79, 78, 75, 71, 67, 67, 1, 69, 69, 74, 0,
+ 1, 65, 1, 1, 1, 2, 5, 1, 0, 1, 6, 65, 69, 73,
+ 69, 65, 70, 14, 16, 15, 18, 13, 15, 14, 13,
+ 13, 4, 11, 9, 68, 0, 55, 56, 53, 56, 56, 62,
+ 61, 62, 62, 62, 62, 62, 61, 50, 30, 62, 62,
+ 62, 62, 62, 59, 43, 36, 34, 27, 16, 9, 64, 73,
+ 62, 62, 62, 62, 62, 62, 57, 56, 47, 43, 38,
+ 34, 20, 12, 1, 6, 6, 64, 25, 24, 22, 19, 16,
+ 17, 9, 8, 6, 0, 79, 69, 81, 91, 13, 64, 69,
+ 81, 76, 69, 75, 67, 4, 71, 75, 64, 3, 3, 3, 8,
+ 4, 3, 61, 52, 41, 32, 24, 12, 2, 76, 92, 67,
+ 39, 28, 23, 13, 13, 5, 1, 64, 76, 78, 73, 66,
+ 73, 0, 6, 67, 71, 1, 5, 6, 5, 10, 9, 4, 61,
+ 52, 41, 32, 24, 12, 2, 76, 92 },
+
+ {
+
+ 62,
+ 8, 76, 62, 8, 76, 104, 85, 15, 10, 7, 21, 36,
+ 50, 56, 19, 94, 66, 66, 68, 7, 6, 67, 1, 8,
+ 26, 31, 15, 69, 90, 90, 88, 72, 66, 68, 7, 73,
+ 79, 11, 14, 67, 77, 87, 3, 76, 84, 97, 7, 71,
+ 80, 4, 78, 80, 90, 65, 76, 70, 84, 67, 2, 22,
+ 0, 0, 0, 75, 89, 97, 66, 12, 64, 38, 7, 81,
+ 95, 76, 82, 4, 69, 82, 78, 97, 79, 92, 87, 97,
+ 80, 84, 88, 88, 24, 65, 71, 98, 71, 94, 83,
+ 101, 6, 2, 3, 67, 13, 68, 68, 80, 92, 80, 81,
+ 80, 69, 77, 91, 85, 69, 95, 85, 0, 70, 86, 89,
+ 1, 73, 67, 65, 3, 9, 64, 70, 82, 91, 72, 17,
+ 17, 91, 9, 7, 5, 4, 5, 3, 0, 1, 3, 7, 5, 2, 2,
+ 2, 69, 67, 5, 66, 15, 24, 24, 16, 9, 19, 12,
+ 16, 10, 1, 13, 12, 22, 89, 15, 27, 24, 48, 62,
+ 34, 41, 57, 58, 36, 50, 49, 62, 62, 33, 41,
+ 30, 38, 51, 41, 55, 62, 62, 33, 30, 48, 36,
+ 62, 6, 62, 62, 62, 61, 60, 54, 51, 50, 45, 39,
+ 35, 29, 23, 17, 64, 75, 73, 83, 17, 18, 15,
+ 16, 5, 5, 4, 16, 67, 71, 69, 81, 75, 107, 93,
+ 5, 8, 10, 2, 68, 72, 76, 78, 99, 83, 27, 15,
+ 8, 66, 64, 77, 86, 90, 99, 67, 28, 20, 15, 13,
+ 4, 0, 65, 69, 78, 67, 37, 31, 24, 7, 10, 65,
+ 73, 82, 9, 54, 47, 42, 31, 24, 3, 68, 69, 74,
+ 62, 108, 105, 93, 104, 103, 91, 99, 95, 88,
+ 95, 94, 95, 86, 88, 88, 97, 91, 84, 78, 78,
+ 77, 74, 71, 68, 67, 0, 69, 69, 74, 0, 1, 64,
+ 1, 1, 1, 2, 5, 1, 0, 1, 5, 65, 69, 73, 69, 64,
+ 71, 13, 16, 14, 18, 13, 14, 14, 13, 12, 4, 11,
+ 8, 68, 64, 54, 55, 52, 54, 54, 62, 59, 61, 62,
+ 59, 62, 62, 58, 47, 28, 62, 62, 62, 62, 59,
+ 56, 40, 34, 32, 25, 15, 8, 64, 73, 62, 62, 62,
+ 62, 59, 59, 55, 53, 45, 41, 36, 31, 18, 10,
+ 64, 6, 6, 66, 24, 23, 21, 17, 14, 15, 8, 7, 4,
+ 64, 79, 71, 82, 91, 11, 66, 71, 80, 76, 68,
+ 75, 66, 5, 70, 74, 0, 4, 3, 4, 9, 4, 3, 60,
+ 50, 38, 29, 20, 8, 65, 80, 95, 66, 39, 28, 23,
+ 13, 14, 5, 2, 0, 76, 78, 73, 66, 73, 1, 7, 67,
+ 71, 2, 6, 6, 6, 11, 9, 4, 60, 50, 38, 29, 20,
+ 8, 65, 80, 95 },
+
+ {
+
+ 61,
+ 8, 76, 61, 8, 76, 102, 83, 16, 10, 6, 19, 34,
+ 49, 56, 19, 92, 66, 65, 67, 7, 6, 67, 1, 7,
+ 25, 28, 12, 71, 91, 87, 87, 72, 65, 67, 7, 74,
+ 78, 11, 13, 67, 77, 87, 3, 76, 84, 97, 7, 71,
+ 79, 4, 78, 79, 90, 65, 76, 70, 84, 67, 2, 22,
+ 0, 0, 0, 75, 89, 97, 65, 11, 64, 37, 6, 81,
+ 92, 75, 81, 5, 67, 81, 76, 95, 78, 91, 86, 95,
+ 80, 84, 87, 88, 24, 65, 70, 96, 71, 93, 83,
+ 99, 6, 1, 2, 68, 13, 68, 67, 80, 91, 79, 81,
+ 79, 69, 76, 89, 84, 69, 94, 84, 5, 65, 83, 86,
+ 1, 73, 67, 65, 3, 9, 0, 69, 82, 89, 72, 15,
+ 15, 88, 9, 7, 5, 4, 5, 3, 1, 2, 3, 7, 5, 2, 2,
+ 3, 70, 67, 5, 67, 15, 23, 24, 16, 9, 19, 12,
+ 16, 9, 1, 12, 11, 22, 89, 15, 27, 24, 46, 61,
+ 33, 39, 55, 55, 34, 47, 47, 62, 62, 29, 39,
+ 28, 36, 48, 38, 52, 61, 62, 30, 28, 44, 34,
+ 62, 4, 60, 62, 60, 58, 57, 52, 49, 48, 43, 37,
+ 33, 27, 21, 16, 66, 75, 73, 84, 16, 17, 14,
+ 15, 4, 4, 3, 14, 68, 72, 70, 82, 75, 107, 91,
+ 6, 9, 10, 2, 67, 72, 76, 78, 97, 82, 27, 15,
+ 9, 65, 0, 76, 85, 89, 97, 66, 28, 20, 15, 13,
+ 5, 1, 65, 69, 78, 67, 37, 31, 23, 7, 10, 65,
+ 73, 82, 9, 53, 47, 41, 30, 24, 3, 68, 69, 74,
+ 62, 107, 103, 92, 103, 102, 90, 97, 93, 87,
+ 94, 92, 93, 86, 87, 88, 96, 89, 83, 78, 78,
+ 77, 74, 71, 68, 67, 0, 69, 69, 75, 1, 2, 0, 1,
+ 1, 2, 2, 5, 1, 0, 1, 5, 65, 69, 73, 69, 64,
+ 72, 12, 16, 13, 17, 12, 14, 14, 12, 11, 4, 11,
+ 7, 68, 65, 53, 54, 51, 53, 52, 60, 57, 59, 59,
+ 57, 62, 60, 55, 45, 26, 62, 62, 62, 62, 55,
+ 53, 38, 32, 29, 23, 13, 6, 65, 74, 62, 62, 62,
+ 60, 56, 57, 52, 50, 42, 38, 33, 28, 16, 8, 65,
+ 5, 5, 67, 22, 21, 19, 15, 13, 13, 6, 6, 3, 65,
+ 80, 72, 83, 92, 10, 67, 72, 80, 75, 68, 74,
+ 65, 6, 70, 74, 0, 4, 3, 4, 10, 4, 3, 59, 48,
+ 36, 26, 17, 4, 69, 84, 98, 66, 39, 28, 23, 13,
+ 14, 6, 2, 0, 75, 78, 73, 65, 72, 2, 8, 67, 70,
+ 2, 6, 6, 6, 11, 9, 4, 59, 48, 36, 26, 17, 4,
+ 69, 84, 98 },
+
+ {
+
+ 60,
+ 8, 76, 60, 8, 76, 100, 82, 16, 10, 6, 18, 32,
+ 48, 56, 19, 90, 66, 65, 66, 7, 5, 67, 0, 5,
+ 24, 26, 8, 74, 93, 84, 86, 72, 65, 66, 7, 74,
+ 77, 11, 13, 67, 77, 86, 3, 76, 84, 97, 7, 71,
+ 79, 4, 78, 79, 90, 65, 76, 70, 84, 67, 2, 22,
+ 0, 0, 0, 74, 89, 97, 65, 10, 64, 36, 6, 81,
+ 90, 74, 80, 7, 65, 79, 75, 93, 76, 90, 85, 93,
+ 80, 84, 87, 88, 24, 65, 69, 94, 71, 92, 82,
+ 97, 6, 1, 2, 68, 13, 68, 67, 79, 90, 78, 80,
+ 78, 68, 75, 88, 82, 68, 93, 83, 10, 2, 80, 83,
+ 1, 73, 67, 64, 3, 9, 0, 69, 81, 87, 72, 13,
+ 13, 85, 9, 7, 5, 4, 5, 4, 3, 3, 3, 7, 5, 2, 3,
+ 4, 71, 67, 5, 67, 14, 22, 23, 16, 8, 19, 12,
+ 16, 8, 1, 11, 10, 21, 89, 15, 26, 23, 44, 58,
+ 32, 37, 53, 53, 32, 45, 45, 62, 62, 26, 37,
+ 26, 34, 45, 36, 49, 57, 62, 27, 26, 41, 32,
+ 62, 2, 58, 62, 58, 56, 55, 50, 47, 46, 41, 35,
+ 31, 25, 19, 14, 68, 75, 73, 84, 15, 16, 13,
+ 14, 3, 3, 2, 12, 69, 72, 71, 83, 76, 106, 90,
+ 7, 9, 10, 2, 66, 71, 75, 77, 95, 81, 27, 15,
+ 9, 64, 1, 75, 83, 87, 95, 65, 29, 21, 16, 14,
+ 6, 1, 65, 69, 77, 67, 38, 31, 22, 7, 10, 65,
+ 73, 81, 9, 53, 46, 40, 29, 24, 3, 68, 69, 74,
+ 62, 106, 102, 91, 101, 100, 89, 95, 91, 86,
+ 92, 90, 91, 85, 86, 87, 95, 87, 83, 78, 78,
+ 76, 73, 71, 68, 67, 64, 69, 69, 75, 1, 2, 1,
+ 1, 1, 2, 2, 5, 1, 0, 1, 4, 65, 69, 73, 69, 0,
+ 73, 11, 16, 12, 16, 11, 13, 14, 11, 10, 4, 11,
+ 6, 68, 66, 52, 53, 50, 51, 50, 58, 55, 57, 57,
+ 54, 61, 57, 52, 42, 24, 62, 62, 62, 62, 52,
+ 50, 35, 30, 27, 21, 11, 5, 66, 75, 62, 62, 62,
+ 58, 53, 54, 50, 47, 40, 36, 31, 25, 14, 6, 67,
+ 4, 4, 69, 21, 20, 17, 13, 11, 11, 4, 5, 1, 66,
+ 81, 73, 84, 93, 8, 68, 73, 80, 75, 67, 74, 64,
+ 7, 70, 73, 1, 5, 3, 5, 11, 4, 3, 58, 46, 33,
+ 23, 14, 0, 73, 88, 101, 66, 39, 28, 23, 13,
+ 15, 6, 2, 0, 75, 78, 73, 65, 72, 3, 9, 67, 70,
+ 2, 6, 6, 6, 12, 9, 4, 58, 46, 33, 23, 14, 0,
+ 73, 88, 101 },
+
+ {
+
+ 58,
+ 7, 77, 58, 7, 77, 99, 81, 16, 10, 5, 16, 29,
+ 47, 56, 18, 89, 67, 65, 66, 6, 4, 67, 64, 3,
+ 22, 23, 4, 77, 95, 82, 86, 72, 65, 66, 6, 75,
+ 77, 11, 12, 67, 77, 86, 2, 77, 84, 97, 6, 71,
+ 79, 4, 78, 79, 90, 65, 76, 71, 84, 67, 2, 22,
+ 0, 0, 0, 74, 90, 97, 65, 9, 65, 35, 5, 82, 88,
+ 73, 79, 8, 0, 78, 74, 92, 75, 89, 84, 91, 80,
+ 84, 87, 88, 24, 65, 69, 92, 71, 92, 82, 96, 5,
+ 0, 1, 69, 13, 68, 67, 79, 90, 78, 80, 78, 68,
+ 75, 87, 81, 68, 92, 82, 14, 6, 77, 81, 1, 73,
+ 67, 64, 2, 9, 0, 69, 81, 85, 72, 11, 11, 83,
+ 9, 7, 5, 4, 5, 4, 4, 3, 3, 6, 4, 2, 3, 4, 73,
+ 67, 5, 68, 13, 20, 22, 15, 7, 19, 12, 15, 6,
+ 1, 10, 9, 20, 89, 14, 25, 22, 41, 54, 30, 35,
+ 50, 50, 29, 42, 43, 55, 62, 22, 34, 24, 31,
+ 41, 33, 45, 52, 59, 24, 24, 37, 30, 62, 0, 55,
+ 59, 55, 53, 52, 47, 44, 43, 39, 32, 28, 23,
+ 17, 12, 70, 75, 74, 85, 14, 14, 11, 12, 1, 1,
+ 0, 10, 70, 73, 72, 84, 77, 106, 89, 7, 9, 10,
+ 2, 66, 71, 75, 77, 93, 80, 27, 15, 9, 64, 1,
+ 74, 82, 86, 94, 65, 29, 21, 16, 14, 7, 1, 65,
+ 69, 77, 68, 38, 30, 21, 6, 10, 65, 73, 81, 8,
+ 52, 45, 38, 28, 23, 3, 68, 69, 74, 62, 105,
+ 101, 90, 100, 99, 88, 94, 90, 85, 91, 89, 89,
+ 85, 86, 87, 94, 86, 83, 78, 78, 76, 73, 71,
+ 69, 68, 65, 69, 70, 76, 1, 2, 2, 1, 0, 2, 2,
+ 4, 1, 0, 1, 3, 65, 69, 73, 69, 0, 74, 10, 16,
+ 10, 15, 10, 12, 13, 10, 9, 4, 10, 4, 69, 68,
+ 50, 51, 49, 49, 48, 55, 52, 54, 54, 51, 58,
+ 54, 48, 39, 22, 62, 62, 61, 60, 48, 46, 32,
+ 27, 24, 19, 9, 3, 67, 76, 59, 60, 60, 55, 50,
+ 51, 47, 43, 37, 33, 28, 22, 12, 4, 69, 3, 3,
+ 71, 19, 18, 15, 10, 9, 9, 2, 3, 64, 68, 82,
+ 75, 85, 94, 6, 70, 75, 80, 75, 67, 74, 0, 8,
+ 70, 73, 1, 5, 3, 5, 11, 4, 2, 56, 44, 30, 19,
+ 10, 67, 78, 93, 104, 66, 39, 28, 23, 13, 15,
+ 6, 2, 0, 75, 78, 73, 65, 72, 3, 9, 67, 70, 2,
+ 6, 6, 6, 12, 8, 3, 56, 44, 30, 19, 10, 67, 78,
+ 93, 104 },
+
+ {
+
+ 57,
+ 7, 77, 57, 7, 77, 97, 79, 17, 11, 5, 15, 27,
+ 46, 57, 18, 87, 67, 64, 65, 6, 4, 66, 64, 2,
+ 21, 21, 1, 79, 96, 79, 85, 71, 64, 65, 6, 75,
+ 76, 11, 12, 66, 76, 85, 2, 77, 83, 96, 6, 70,
+ 78, 4, 77, 78, 89, 64, 75, 71, 83, 66, 2, 22,
+ 0, 0, 0, 73, 90, 97, 64, 9, 65, 35, 5, 82, 85,
+ 71, 77, 10, 3, 76, 72, 90, 73, 87, 82, 88, 80,
+ 83, 86, 87, 24, 65, 68, 89, 70, 91, 81, 94, 5,
+ 0, 1, 69, 14, 68, 66, 78, 89, 77, 79, 77, 67,
+ 74, 85, 79, 67, 90, 80, 19, 11, 73, 78, 2, 72,
+ 66, 0, 2, 10, 1, 68, 80, 82, 71, 9, 10, 80, 9,
+ 8, 5, 5, 6, 5, 6, 4, 4, 6, 4, 2, 4, 5, 74, 66,
+ 5, 68, 13, 19, 22, 15, 7, 19, 12, 15, 5, 2,
+ 10, 9, 20, 89, 14, 25, 22, 39, 51, 29, 34, 48,
+ 48, 27, 40, 41, 49, 62, 19, 32, 23, 29, 38,
+ 31, 42, 48, 55, 22, 22, 34, 28, 62, 64, 53,
+ 57, 53, 51, 50, 45, 42, 41, 37, 30, 26, 22,
+ 16, 11, 71, 75, 74, 85, 14, 13, 10, 11, 0, 0,
+ 64, 9, 71, 73, 73, 84, 77, 105, 87, 8, 10, 10,
+ 3, 65, 70, 74, 76, 90, 78, 28, 16, 10, 0, 2,
+ 72, 80, 84, 92, 64, 30, 22, 17, 15, 8, 2, 64,
+ 68, 76, 68, 39, 30, 21, 6, 11, 64, 73, 80, 8,
+ 52, 45, 37, 27, 23, 4, 67, 68, 73, 62, 103,
+ 99, 88, 98, 97, 86, 92, 88, 83, 89, 87, 86,
+ 84, 85, 86, 92, 84, 82, 77, 77, 75, 72, 70,
+ 69, 68, 65, 69, 70, 76, 2, 3, 3, 2, 0, 3, 3,
+ 4, 2, 1, 1, 3, 64, 68, 72, 68, 1, 74, 9, 16,
+ 9, 15, 10, 12, 13, 10, 9, 4, 10, 3, 69, 69,
+ 49, 50, 49, 48, 47, 53, 50, 52, 52, 49, 56,
+ 52, 45, 37, 20, 61, 60, 57, 56, 45, 43, 30,
+ 25, 22, 18, 8, 2, 67, 76, 57, 58, 58, 53, 48,
+ 49, 45, 40, 35, 31, 26, 20, 11, 3, 70, 3, 3,
+ 72, 18, 17, 14, 8, 8, 8, 1, 2, 65, 69, 82, 76,
+ 85, 94, 5, 71, 76, 79, 74, 66, 73, 2, 10, 69,
+ 72, 2, 6, 4, 6, 12, 4, 2, 55, 42, 28, 16, 7,
+ 71, 82, 97, 106, 65, 39, 29, 24, 14, 16, 7, 3,
+ 1, 74, 77, 72, 64, 71, 4, 10, 66, 69, 3, 7, 6,
+ 7, 13, 8, 3, 55, 42, 28, 16, 7, 71, 82, 97,
+ 106 },
+
+ {
+
+ 56,
+ 7, 77, 56, 7, 77, 95, 78, 17, 11, 5, 14, 25,
+ 45, 57, 18, 85, 67, 64, 64, 6, 3, 66, 65, 0,
+ 20, 18, 66, 82, 98, 76, 84, 71, 64, 64, 6, 75,
+ 75, 11, 11, 66, 76, 84, 2, 77, 83, 96, 6, 70,
+ 78, 4, 77, 78, 89, 64, 75, 71, 83, 66, 2, 22,
+ 0, 0, 0, 72, 90, 97, 64, 8, 65, 34, 5, 82, 83,
+ 70, 76, 12, 5, 75, 71, 88, 72, 86, 81, 86, 80,
+ 83, 86, 87, 24, 65, 67, 87, 70, 90, 80, 92, 5,
+ 0, 1, 70, 14, 68, 66, 77, 88, 76, 78, 76, 67,
+ 73, 84, 78, 66, 89, 79, 24, 15, 70, 75, 2, 72,
+ 66, 0, 2, 10, 1, 68, 80, 80, 71, 7, 8, 77, 9,
+ 8, 5, 5, 6, 5, 8, 5, 4, 6, 4, 2, 5, 6, 75, 66,
+ 5, 68, 12, 18, 21, 15, 6, 19, 12, 15, 4, 2, 9,
+ 8, 19, 89, 14, 24, 21, 37, 48, 28, 32, 46, 46,
+ 25, 38, 39, 43, 62, 15, 30, 21, 27, 35, 29,
+ 39, 44, 51, 19, 20, 31, 26, 62, 66, 51, 55,
+ 51, 49, 48, 43, 40, 39, 35, 28, 24, 20, 14, 9,
+ 73, 75, 74, 86, 13, 12, 9, 10, 64, 64, 65, 7,
+ 72, 73, 74, 85, 78, 104, 86, 9, 10, 10, 3, 64,
+ 69, 73, 75, 88, 77, 28, 16, 10, 1, 3, 71, 78,
+ 82, 90, 0, 31, 23, 18, 16, 9, 2, 64, 68, 75,
+ 68, 40, 30, 20, 6, 11, 64, 73, 80, 8, 52, 44,
+ 36, 26, 23, 4, 67, 68, 73, 62, 102, 98, 87,
+ 96, 95, 85, 90, 86, 82, 87, 85, 84, 83, 84,
+ 86, 91, 82, 82, 77, 77, 74, 72, 70, 69, 68,
+ 66, 69, 70, 76, 2, 3, 4, 2, 0, 3, 3, 4, 2, 1,
+ 1, 2, 64, 68, 72, 68, 2, 75, 8, 16, 8, 14, 9,
+ 11, 13, 9, 8, 4, 10, 2, 69, 70, 48, 49, 48,
+ 46, 45, 51, 48, 50, 50, 46, 53, 49, 42, 34,
+ 18, 57, 56, 53, 51, 42, 40, 27, 23, 19, 16, 6,
+ 1, 68, 77, 55, 56, 55, 51, 45, 46, 42, 37, 33,
+ 28, 24, 17, 9, 1, 72, 2, 2, 74, 17, 16, 12, 6,
+ 6, 6, 64, 1, 67, 70, 83, 77, 86, 95, 3, 72,
+ 77, 79, 74, 65, 73, 3, 11, 69, 71, 3, 7, 4, 6,
+ 13, 4, 2, 54, 40, 25, 13, 4, 75, 86, 101, 109,
+ 65, 39, 29, 24, 14, 17, 7, 3, 1, 74, 77, 72,
+ 64, 71, 5, 11, 66, 69, 3, 7, 6, 7, 14, 8, 3,
+ 54, 40, 25, 13, 4, 75, 86, 101, 109 },
+
+ {
+
+ 55,
+ 7, 77, 55, 7, 77, 93, 76, 18, 11, 4, 12, 23,
+ 44, 57, 18, 83, 67, 0, 0, 6, 3, 66, 65, 64,
+ 19, 16, 69, 84, 99, 73, 83, 71, 0, 0, 6, 76,
+ 74, 11, 11, 66, 76, 84, 2, 77, 83, 96, 6, 70,
+ 77, 4, 77, 77, 89, 64, 75, 71, 83, 66, 2, 22,
+ 0, 0, 0, 72, 90, 97, 0, 7, 65, 33, 4, 82, 80,
+ 69, 75, 13, 7, 73, 69, 86, 70, 85, 80, 84, 80,
+ 83, 85, 87, 24, 65, 66, 85, 70, 89, 80, 90, 5,
+ 64, 0, 70, 14, 68, 65, 77, 87, 75, 78, 75, 66,
+ 72, 82, 76, 66, 88, 78, 29, 20, 67, 72, 2, 72,
+ 66, 1, 2, 10, 2, 67, 79, 78, 71, 5, 6, 74, 9,
+ 8, 5, 5, 6, 6, 9, 6, 4, 6, 4, 2, 5, 7, 76, 66,
+ 5, 69, 12, 17, 21, 15, 6, 19, 12, 15, 3, 2, 8,
+ 7, 19, 89, 14, 24, 21, 35, 45, 27, 30, 44, 43,
+ 23, 35, 37, 36, 62, 12, 28, 19, 25, 32, 26,
+ 36, 40, 47, 16, 18, 27, 24, 62, 68, 49, 53,
+ 49, 46, 45, 41, 38, 37, 33, 26, 22, 18, 12, 8,
+ 75, 75, 74, 86, 12, 11, 8, 9, 65, 65, 66, 5,
+ 73, 74, 75, 86, 78, 104, 84, 10, 11, 10, 3, 0,
+ 69, 73, 75, 86, 76, 28, 16, 11, 2, 4, 70, 77,
+ 81, 88, 1, 31, 23, 18, 16, 10, 3, 64, 68, 75,
+ 68, 40, 30, 19, 6, 11, 64, 73, 79, 8, 51, 44,
+ 35, 25, 23, 4, 67, 68, 73, 62, 101, 96, 86,
+ 95, 94, 84, 88, 84, 81, 86, 83, 82, 83, 83,
+ 85, 90, 80, 81, 77, 77, 74, 71, 70, 69, 68,
+ 66, 69, 70, 77, 3, 4, 5, 2, 0, 4, 3, 4, 2, 1,
+ 1, 2, 64, 68, 72, 68, 2, 76, 7, 16, 7, 13, 8,
+ 11, 13, 8, 7, 4, 10, 1, 69, 71, 47, 48, 47,
+ 45, 43, 49, 46, 48, 47, 44, 50, 46, 39, 32,
+ 16, 53, 52, 49, 46, 38, 37, 25, 21, 17, 14, 4,
+ 64, 69, 78, 53, 53, 53, 48, 42, 44, 40, 34,
+ 30, 26, 21, 14, 7, 64, 73, 1, 1, 75, 15, 14,
+ 10, 4, 5, 4, 66, 0, 68, 71, 84, 78, 87, 96, 2,
+ 73, 78, 79, 73, 65, 72, 4, 12, 69, 71, 3, 7,
+ 4, 7, 14, 4, 2, 53, 38, 23, 10, 1, 79, 90,
+ 105, 112, 65, 39, 29, 24, 14, 17, 8, 3, 1, 73,
+ 77, 72, 0, 70, 6, 12, 66, 68, 3, 7, 6, 7, 14,
+ 8, 3, 53, 38, 23, 10, 1, 79, 90, 105, 112 },
+
+ {
+
+ 53,
+ 7, 77, 53, 7, 77, 92, 75, 18, 11, 4, 11, 21,
+ 43, 57, 17, 81, 67, 0, 1, 5, 2, 66, 66, 66,
+ 18, 13, 73, 87, 101, 70, 82, 71, 0, 1, 5, 76,
+ 73, 11, 10, 66, 75, 83, 2, 77, 83, 96, 6, 70,
+ 77, 4, 77, 77, 88, 64, 75, 71, 83, 65, 2, 22,
+ 0, 0, 0, 71, 91, 97, 0, 6, 65, 32, 4, 82, 78,
+ 68, 74, 15, 9, 72, 68, 85, 69, 83, 79, 82, 80,
+ 82, 85, 87, 24, 65, 65, 83, 70, 89, 79, 88, 5,
+ 64, 0, 71, 14, 68, 65, 76, 86, 74, 77, 74, 66,
+ 72, 81, 75, 65, 87, 77, 34, 24, 64, 69, 2, 71,
+ 66, 1, 2, 10, 2, 67, 79, 76, 71, 3, 4, 72, 9,
+ 9, 5, 5, 6, 6, 11, 7, 5, 5, 4, 2, 6, 7, 77,
+ 66, 5, 69, 11, 16, 20, 14, 5, 19, 12, 15, 2,
+ 2, 7, 6, 18, 89, 13, 23, 20, 33, 41, 26, 28,
+ 42, 41, 21, 33, 35, 30, 62, 8, 26, 17, 22, 29,
+ 24, 32, 35, 43, 13, 16, 24, 22, 62, 69, 47,
+ 51, 46, 44, 43, 39, 36, 35, 31, 23, 20, 16,
+ 10, 6, 77, 75, 74, 87, 11, 10, 7, 7, 66, 67,
+ 67, 4, 74, 74, 76, 86, 79, 103, 83, 11, 11,
+ 10, 4, 0, 68, 72, 74, 84, 74, 28, 17, 11, 2,
+ 5, 69, 75, 79, 87, 1, 32, 24, 19, 17, 11, 3,
+ 64, 67, 74, 68, 41, 30, 19, 5, 11, 64, 73, 79,
+ 8, 51, 43, 34, 24, 23, 4, 66, 68, 73, 62, 99,
+ 95, 85, 93, 92, 83, 87, 83, 80, 84, 82, 80,
+ 82, 82, 85, 89, 79, 81, 77, 77, 73, 71, 70,
+ 70, 68, 67, 69, 70, 77, 3, 4, 6, 2, 0, 4, 3,
+ 4, 2, 1, 1, 1, 64, 68, 72, 68, 3, 77, 6, 16,
+ 6, 13, 7, 10, 13, 7, 6, 4, 10, 0, 69, 72, 46,
+ 47, 46, 43, 41, 47, 44, 45, 45, 41, 47, 43,
+ 36, 29, 14, 48, 48, 45, 41, 35, 33, 22, 18,
+ 14, 12, 2, 65, 70, 78, 50, 51, 50, 46, 39, 41,
+ 37, 31, 28, 23, 19, 11, 5, 66, 75, 0, 1, 77,
+ 14, 13, 9, 2, 3, 2, 67, 64, 70, 72, 85, 80,
+ 88, 96, 0, 75, 80, 78, 73, 64, 72, 5, 13, 69,
+ 70, 4, 8, 4, 7, 15, 4, 2, 52, 36, 20, 7, 66,
+ 83, 95, 109, 115, 64, 39, 29, 24, 14, 18, 8,
+ 3, 1, 73, 77, 72, 0, 70, 6, 13, 66, 68, 4, 8,
+ 6, 7, 15, 8, 3, 52, 36, 20, 7, 66, 83, 95,
+ 109, 115 },
+
+ {
+
+ 52,
+ 7, 77, 52, 7, 77, 90, 73, 18, 11, 3, 10, 19,
+ 42, 57, 17, 79, 67, 0, 2, 5, 2, 66, 67, 68,
+ 17, 11, 76, 89, 103, 67, 81, 70, 0, 2, 5, 76,
+ 72, 11, 10, 66, 75, 82, 2, 77, 83, 96, 6, 70,
+ 77, 4, 77, 76, 88, 64, 75, 71, 83, 65, 2, 22,
+ 0, 0, 0, 71, 91, 97, 1, 5, 65, 31, 3, 82, 75,
+ 67, 73, 17, 11, 70, 66, 83, 67, 82, 78, 79,
+ 80, 82, 84, 86, 24, 65, 64, 81, 70, 88, 79,
+ 86, 5, 65, 64, 71, 14, 68, 64, 76, 85, 73, 77,
+ 73, 65, 71, 79, 73, 64, 85, 76, 39, 28, 2, 66,
+ 3, 71, 65, 2, 2, 10, 3, 67, 78, 74, 71, 1, 2,
+ 69, 9, 9, 5, 5, 6, 7, 12, 8, 5, 5, 4, 2, 6, 8,
+ 78, 65, 5, 70, 11, 15, 20, 14, 5, 19, 12, 15,
+ 1, 3, 6, 6, 18, 89, 13, 22, 19, 31, 38, 25,
+ 27, 40, 39, 19, 30, 33, 24, 62, 5, 24, 15, 20,
+ 26, 21, 29, 31, 39, 11, 14, 20, 20, 62, 71,
+ 45, 49, 44, 42, 41, 37, 34, 33, 29, 21, 18,
+ 14, 9, 4, 79, 75, 74, 87, 10, 9, 6, 6, 67, 68,
+ 68, 2, 75, 75, 77, 87, 80, 102, 81, 12, 12,
+ 10, 4, 1, 68, 72, 73, 82, 73, 28, 17, 12, 3,
+ 6, 68, 74, 78, 85, 2, 33, 25, 20, 17, 12, 4,
+ 0, 67, 74, 68, 41, 30, 18, 5, 11, 64, 73, 78,
+ 8, 50, 42, 33, 23, 23, 4, 66, 68, 72, 62, 98,
+ 93, 83, 91, 91, 82, 85, 81, 79, 82, 80, 78,
+ 81, 81, 84, 88, 77, 81, 77, 76, 73, 70, 70,
+ 70, 68, 67, 69, 70, 78, 4, 4, 7, 2, 0, 4, 3,
+ 4, 2, 1, 1, 1, 64, 68, 72, 68, 3, 78, 5, 16,
+ 5, 12, 7, 9, 13, 7, 5, 4, 10, 64, 69, 73, 45,
+ 46, 45, 41, 39, 45, 42, 43, 42, 38, 44, 40,
+ 33, 27, 12, 44, 44, 41, 36, 32, 30, 20, 16,
+ 12, 10, 1, 67, 70, 79, 48, 48, 48, 44, 36, 38,
+ 35, 28, 26, 21, 17, 8, 3, 68, 76, 0, 0, 79,
+ 13, 11, 7, 0, 1, 0, 69, 65, 71, 73, 85, 81,
+ 89, 97, 64, 76, 81, 78, 73, 0, 71, 6, 14, 68,
+ 69, 4, 8, 4, 8, 16, 4, 2, 51, 34, 17, 4, 69,
+ 87, 99, 113, 118, 64, 39, 29, 24, 14, 18, 8,
+ 4, 2, 72, 77, 72, 1, 70, 7, 14, 66, 68, 4, 8,
+ 6, 8, 15, 8, 3, 51, 34, 17, 4, 69, 87, 99,
+ 113, 118 },
+
+ {
+
+ 51,
+ 7, 78, 51, 7, 78, 88, 72, 19, 11, 3, 8, 17,
+ 41, 57, 17, 78, 67, 1, 2, 5, 1, 65, 67, 69,
+ 15, 8, 80, 92, 104, 65, 80, 70, 1, 2, 5, 77,
+ 72, 11, 9, 66, 75, 82, 2, 77, 82, 95, 6, 69,
+ 76, 4, 76, 76, 88, 64, 75, 71, 83, 65, 2, 22,
+ 0, 0, 0, 70, 91, 97, 1, 5, 66, 31, 3, 82, 73,
+ 66, 72, 18, 14, 69, 65, 81, 66, 81, 77, 77,
+ 80, 82, 84, 86, 24, 65, 0, 78, 70, 87, 78, 84,
+ 4, 65, 64, 72, 15, 68, 64, 75, 85, 73, 76, 72,
+ 65, 70, 78, 72, 64, 84, 75, 44, 33, 5, 0, 3,
+ 71, 65, 2, 2, 10, 3, 66, 78, 72, 70, 64, 0,
+ 66, 9, 9, 5, 5, 7, 7, 14, 9, 5, 5, 4, 2, 7, 9,
+ 79, 65, 5, 70, 10, 14, 19, 14, 4, 19, 12, 15,
+ 64, 3, 5, 5, 17, 89, 13, 22, 19, 29, 35, 24,
+ 25, 37, 36, 17, 28, 31, 17, 62, 1, 22, 14, 18,
+ 22, 19, 26, 27, 34, 8, 12, 17, 18, 62, 73, 43,
+ 47, 42, 39, 38, 35, 31, 31, 27, 19, 15, 12, 7,
+ 3, 80, 75, 74, 88, 9, 8, 5, 5, 68, 69, 69, 0,
+ 76, 75, 78, 88, 80, 102, 80, 13, 12, 10, 4, 2,
+ 67, 71, 73, 80, 72, 29, 17, 12, 4, 7, 67, 72,
+ 76, 83, 3, 33, 25, 20, 18, 13, 4, 0, 67, 73,
+ 68, 42, 30, 17, 5, 11, 64, 73, 78, 7, 50, 42,
+ 32, 22, 22, 4, 66, 68, 72, 62, 97, 92, 82, 90,
+ 89, 81, 83, 79, 78, 81, 78, 76, 81, 80, 84,
+ 87, 75, 80, 77, 76, 72, 70, 70, 70, 68, 68,
+ 69, 70, 78, 4, 5, 8, 2, 0, 5, 4, 4, 3, 2, 1,
+ 0, 64, 68, 72, 68, 4, 79, 4, 16, 4, 11, 6, 9,
+ 13, 6, 5, 4, 9, 66, 70, 74, 43, 45, 44, 40,
+ 37, 43, 40, 41, 40, 36, 41, 38, 30, 24, 10,
+ 40, 40, 37, 32, 28, 27, 17, 14, 9, 8, 64, 68,
+ 71, 80, 46, 46, 45, 41, 33, 36, 32, 25, 23,
+ 18, 14, 5, 1, 69, 78, 64, 64, 80, 11, 10, 5,
+ 65, 0, 65, 71, 66, 73, 74, 86, 82, 90, 98, 66,
+ 77, 82, 78, 72, 0, 71, 7, 15, 68, 69, 5, 9, 4,
+ 8, 17, 4, 2, 50, 32, 15, 1, 72, 91, 103, 117,
+ 121, 64, 39, 29, 24, 14, 19, 9, 4, 2, 72, 76,
+ 71, 1, 69, 8, 15, 65, 67, 4, 8, 6, 8, 16, 8,
+ 3, 50, 32, 15, 1, 72, 91, 103, 117, 121 },
+
+ {
+
+ 50,
+ 7, 78, 50, 7, 78, 86, 70, 19, 11, 2, 7, 15,
+ 40, 57, 17, 76, 67, 1, 3, 4, 1, 65, 68, 71,
+ 14, 6, 83, 94, 106, 1, 79, 70, 1, 3, 4, 77,
+ 71, 11, 9, 66, 74, 81, 2, 77, 82, 95, 6, 69,
+ 76, 4, 76, 75, 87, 64, 75, 71, 83, 64, 2, 22,
+ 0, 0, 0, 70, 91, 97, 2, 4, 66, 30, 2, 82, 70,
+ 65, 71, 20, 16, 67, 0, 80, 64, 79, 76, 75, 80,
+ 81, 83, 86, 24, 65, 1, 76, 70, 86, 78, 82, 4,
+ 66, 65, 72, 15, 68, 0, 75, 84, 72, 76, 71, 64,
+ 69, 76, 70, 0, 83, 74, 49, 37, 8, 3, 3, 70,
+ 65, 3, 2, 10, 4, 66, 77, 70, 70, 66, 65, 0, 9,
+ 10, 5, 5, 7, 8, 15, 10, 6, 4, 4, 2, 7, 9, 80,
+ 65, 5, 71, 10, 13, 19, 13, 4, 19, 12, 15, 65,
+ 3, 4, 4, 17, 89, 13, 21, 18, 27, 32, 23, 23,
+ 35, 34, 15, 25, 29, 11, 62, 65, 20, 12, 15,
+ 19, 16, 23, 22, 30, 5, 10, 13, 16, 62, 74, 41,
+ 45, 40, 37, 36, 33, 29, 29, 25, 16, 13, 10, 5,
+ 1, 82, 75, 74, 88, 8, 7, 4, 3, 69, 70, 70, 64,
+ 77, 76, 79, 88, 81, 101, 78, 14, 13, 10, 5, 2,
+ 67, 71, 72, 78, 70, 29, 18, 13, 4, 8, 66, 71,
+ 75, 81, 3, 34, 26, 21, 18, 14, 5, 0, 66, 73,
+ 68, 42, 30, 17, 4, 11, 64, 73, 77, 7, 49, 41,
+ 31, 21, 22, 4, 65, 68, 72, 62, 95, 90, 81, 88,
+ 88, 80, 82, 78, 77, 79, 77, 74, 80, 79, 83,
+ 86, 73, 80, 77, 76, 72, 69, 70, 71, 68, 68,
+ 69, 70, 79, 5, 5, 9, 2, 0, 5, 4, 4, 3, 2, 1,
+ 0, 64, 68, 72, 68, 4, 80, 3, 16, 3, 11, 5, 8,
+ 13, 5, 4, 4, 9, 67, 70, 75, 42, 44, 43, 38,
+ 35, 41, 38, 38, 37, 33, 38, 35, 27, 22, 8, 35,
+ 36, 33, 27, 25, 24, 15, 12, 7, 6, 66, 70, 72,
+ 80, 43, 43, 43, 39, 30, 33, 30, 22, 21, 16,
+ 12, 2, 64, 71, 79, 65, 64, 82, 10, 8, 4, 67,
+ 65, 67, 72, 67, 74, 75, 87, 84, 91, 98, 67,
+ 79, 84, 77, 72, 1, 70, 8, 16, 68, 68, 5, 9, 4,
+ 9, 18, 4, 2, 49, 30, 12, 65, 76, 95, 107, 121,
+ 124, 0, 39, 29, 24, 14, 19, 9, 4, 2, 71, 76,
+ 71, 2, 69, 9, 16, 65, 67, 5, 9, 6, 8, 16, 8,
+ 3, 49, 30, 12, 65, 76, 95, 107, 121, 124 },
+
+ {
+
+ 48,
+ 6, 78, 48, 6, 78, 85, 69, 19, 11, 2, 5, 12,
+ 39, 57, 16, 74, 68, 1, 4, 4, 0, 65, 69, 73,
+ 13, 3, 87, 97, 108, 4, 78, 70, 1, 4, 4, 78,
+ 70, 11, 8, 66, 74, 81, 1, 78, 82, 95, 6, 69,
+ 76, 4, 76, 75, 87, 64, 75, 71, 83, 64, 2, 22,
+ 0, 0, 0, 69, 92, 97, 2, 3, 66, 29, 2, 83, 68,
+ 64, 70, 21, 18, 66, 1, 78, 0, 78, 75, 73, 80,
+ 81, 83, 86, 24, 65, 2, 74, 70, 86, 77, 80, 4,
+ 66, 65, 73, 15, 68, 0, 74, 83, 71, 75, 71, 64,
+ 69, 75, 69, 0, 82, 73, 53, 41, 11, 5, 3, 70,
+ 65, 3, 1, 10, 4, 66, 77, 68, 70, 68, 67, 2, 9,
+ 10, 5, 5, 7, 8, 17, 10, 6, 4, 3, 2, 8, 10, 82,
+ 65, 5, 71, 9, 11, 18, 13, 3, 19, 12, 14, 66,
+ 3, 3, 3, 16, 89, 12, 20, 17, 25, 28, 21, 21,
+ 33, 31, 12, 23, 27, 4, 62, 69, 18, 10, 13, 16,
+ 14, 19, 18, 26, 2, 8, 10, 14, 62, 76, 39, 42,
+ 37, 34, 33, 30, 27, 26, 23, 14, 11, 8, 3, 64,
+ 84, 75, 75, 89, 7, 5, 3, 2, 70, 72, 72, 66,
+ 78, 76, 80, 89, 82, 101, 77, 15, 13, 10, 5, 3,
+ 66, 70, 72, 76, 69, 29, 18, 13, 5, 9, 65, 69,
+ 73, 80, 4, 34, 26, 21, 19, 15, 5, 0, 66, 72,
+ 69, 43, 30, 16, 4, 11, 64, 73, 77, 7, 49, 40,
+ 30, 20, 22, 4, 65, 68, 72, 62, 94, 89, 80, 87,
+ 86, 79, 80, 76, 76, 78, 75, 72, 80, 79, 83,
+ 85, 72, 80, 77, 76, 71, 69, 70, 71, 68, 69,
+ 69, 70, 79, 5, 5, 10, 2, 64, 5, 4, 3, 3, 2, 1,
+ 64, 64, 68, 72, 68, 5, 81, 2, 16, 1, 10, 4, 7,
+ 12, 4, 3, 4, 9, 68, 70, 77, 41, 42, 42, 36,
+ 33, 39, 36, 36, 35, 30, 35, 32, 24, 19, 6, 31,
+ 32, 28, 22, 21, 20, 12, 9, 4, 4, 68, 71, 73,
+ 81, 41, 41, 40, 36, 27, 30, 27, 19, 18, 13, 9,
+ 64, 66, 73, 81, 66, 65, 84, 8, 7, 2, 69, 67,
+ 69, 74, 69, 76, 77, 88, 85, 92, 99, 69, 80,
+ 85, 77, 72, 1, 70, 9, 17, 68, 68, 6, 10, 4, 9,
+ 18, 4, 1, 48, 28, 9, 68, 79, 99, 112, 126,
+ 126, 0, 39, 29, 24, 14, 20, 9, 4, 2, 71, 76,
+ 71, 2, 69, 9, 16, 65, 67, 5, 9, 6, 8, 17, 8,
+ 2, 48, 28, 9, 68, 79, 99, 112, 126, 126 },
+
+ {
+
+ 47,
+ 6, 78, 47, 6, 78, 83, 68, 20, 11, 2, 4, 10,
+ 38, 58, 16, 72, 68, 2, 5, 4, 64, 65, 69, 74,
+ 12, 1, 91, 100, 109, 7, 77, 69, 2, 5, 4, 78,
+ 69, 11, 8, 65, 74, 80, 1, 78, 82, 95, 6, 69,
+ 75, 4, 76, 75, 87, 64, 75, 71, 82, 64, 2, 22,
+ 0, 0, 0, 68, 92, 97, 2, 2, 66, 28, 2, 83, 66,
+ 1, 69, 23, 20, 64, 2, 76, 2, 77, 73, 70, 80,
+ 81, 83, 85, 24, 65, 3, 72, 69, 85, 76, 78, 4,
+ 66, 65, 73, 15, 68, 0, 73, 82, 70, 74, 70, 0,
+ 68, 74, 67, 1, 80, 72, 58, 46, 15, 8, 4, 70,
+ 64, 4, 1, 10, 4, 65, 76, 65, 70, 70, 68, 5, 9,
+ 10, 5, 5, 7, 9, 19, 11, 6, 4, 3, 2, 9, 11, 83,
+ 64, 5, 71, 8, 10, 17, 13, 2, 19, 12, 14, 67,
+ 4, 2, 3, 15, 89, 12, 20, 17, 23, 25, 20, 20,
+ 31, 29, 10, 21, 25, 65, 62, 72, 16, 8, 11, 13,
+ 12, 16, 14, 22, 0, 6, 7, 12, 62, 78, 37, 40,
+ 35, 32, 31, 28, 25, 24, 21, 12, 9, 7, 2, 65,
+ 86, 75, 75, 89, 7, 4, 2, 1, 71, 73, 73, 68,
+ 79, 76, 81, 90, 82, 100, 76, 16, 13, 10, 5, 4,
+ 65, 69, 71, 73, 68, 29, 18, 13, 6, 10, 64, 67,
+ 71, 78, 5, 35, 27, 22, 20, 16, 5, 1, 66, 71,
+ 69, 44, 30, 15, 4, 12, 0, 73, 76, 7, 49, 40,
+ 29, 19, 22, 4, 65, 68, 71, 62, 93, 88, 78, 85,
+ 84, 78, 78, 74, 75, 76, 73, 70, 79, 78, 82,
+ 84, 70, 79, 76, 75, 70, 68, 70, 71, 68, 70,
+ 69, 70, 79, 5, 6, 11, 3, 64, 6, 4, 3, 3, 2, 1,
+ 65, 64, 67, 71, 68, 6, 81, 1, 16, 0, 9, 4, 7,
+ 12, 4, 2, 4, 9, 69, 70, 78, 40, 41, 42, 35,
+ 31, 37, 34, 34, 33, 28, 32, 29, 21, 16, 4, 27,
+ 28, 24, 17, 18, 17, 9, 7, 2, 3, 69, 72, 73,
+ 82, 39, 39, 38, 34, 25, 28, 25, 16, 16, 11, 7,
+ 66, 68, 75, 83, 66, 66, 85, 7, 6, 0, 71, 68,
+ 70, 76, 70, 78, 78, 88, 86, 92, 100, 71, 81,
+ 86, 77, 71, 2, 70, 10, 19, 67, 67, 7, 11, 4,
+ 10, 19, 4, 1, 47, 26, 7, 71, 82, 103, 116,
+ 126, 126, 0, 39, 29, 25, 15, 21, 10, 5, 3, 71,
+ 76, 71, 2, 68, 10, 17, 65, 66, 5, 9, 6, 9, 18,
+ 8, 2, 47, 26, 7, 71, 82, 103, 116, 126, 126 },
+
+ {
+
+ 46,
+ 6, 78, 46, 6, 78, 81, 66, 20, 11, 1, 3, 8, 37,
+ 58, 16, 70, 68, 2, 6, 3, 64, 65, 70, 76, 11,
+ 65, 94, 102, 111, 10, 76, 69, 2, 6, 3, 78, 68,
+ 11, 7, 65, 73, 79, 1, 78, 82, 95, 6, 69, 75,
+ 4, 76, 74, 86, 64, 75, 71, 82, 0, 2, 22, 0, 0,
+ 0, 68, 92, 97, 3, 1, 66, 27, 1, 83, 0, 2, 68,
+ 25, 22, 0, 4, 75, 3, 75, 72, 68, 80, 80, 82,
+ 85, 24, 65, 4, 70, 69, 84, 76, 76, 4, 67, 66,
+ 74, 15, 68, 1, 73, 81, 69, 74, 69, 0, 67, 72,
+ 66, 2, 79, 71, 62, 50, 18, 11, 4, 69, 64, 4,
+ 1, 10, 5, 65, 76, 0, 70, 72, 70, 8, 9, 11, 5,
+ 5, 7, 9, 20, 12, 7, 3, 3, 2, 9, 11, 84, 64, 5,
+ 72, 8, 9, 17, 12, 2, 19, 12, 14, 68, 4, 1, 2,
+ 15, 89, 12, 19, 16, 21, 22, 19, 18, 29, 27, 8,
+ 18, 23, 71, 62, 76, 14, 6, 8, 10, 9, 13, 9,
+ 18, 66, 4, 3, 10, 62, 79, 35, 38, 33, 30, 29,
+ 26, 23, 22, 19, 9, 7, 5, 0, 67, 88, 75, 75,
+ 90, 6, 3, 1, 64, 72, 74, 74, 69, 80, 77, 82,
+ 90, 83, 99, 74, 17, 14, 10, 6, 4, 65, 69, 70,
+ 71, 66, 29, 19, 14, 6, 11, 0, 66, 70, 76, 5,
+ 36, 28, 23, 20, 17, 6, 1, 65, 71, 69, 44, 30,
+ 15, 3, 12, 0, 73, 76, 7, 48, 39, 28, 18, 22,
+ 4, 64, 68, 71, 62, 91, 86, 77, 83, 83, 77, 77,
+ 73, 74, 74, 72, 68, 78, 77, 82, 83, 68, 79,
+ 76, 75, 70, 68, 70, 72, 68, 70, 69, 70, 80, 6,
+ 6, 12, 3, 64, 6, 4, 3, 3, 2, 1, 65, 64, 67,
+ 71, 68, 6, 82, 0, 16, 64, 9, 3, 6, 12, 3, 1,
+ 4, 9, 70, 70, 79, 39, 40, 41, 33, 29, 35, 32,
+ 31, 30, 25, 29, 26, 18, 14, 2, 22, 24, 20, 12,
+ 15, 14, 7, 5, 64, 1, 71, 74, 74, 82, 36, 36,
+ 35, 32, 22, 25, 22, 13, 14, 8, 5, 69, 70, 77,
+ 84, 67, 66, 87, 6, 4, 64, 73, 70, 72, 77, 71,
+ 79, 79, 89, 88, 93, 100, 72, 83, 88, 76, 71,
+ 3, 69, 11, 20, 67, 66, 7, 11, 4, 10, 20, 4, 1,
+ 46, 24, 4, 74, 86, 107, 120, 126, 126, 1, 39,
+ 29, 25, 15, 21, 10, 5, 3, 70, 76, 71, 3, 68,
+ 11, 18, 65, 66, 6, 10, 6, 9, 18, 8, 2, 46, 24,
+ 4, 74, 86, 107, 120, 126, 126 },
+
+ {
+
+ 45,
+ 6, 79, 45, 6, 79, 79, 65, 21, 11, 1, 1, 6, 36,
+ 58, 16, 69, 68, 3, 6, 3, 65, 64, 70, 77, 9,
+ 67, 98, 105, 112, 12, 75, 69, 3, 6, 3, 79, 68,
+ 11, 7, 65, 73, 79, 1, 78, 81, 94, 6, 68, 74,
+ 4, 75, 74, 86, 64, 75, 71, 82, 0, 2, 22, 0, 0,
+ 0, 67, 92, 97, 3, 1, 67, 27, 1, 83, 2, 3, 67,
+ 26, 25, 2, 5, 73, 5, 74, 71, 66, 80, 80, 82,
+ 85, 24, 65, 5, 67, 69, 83, 75, 74, 3, 67, 66,
+ 74, 16, 68, 1, 72, 81, 69, 73, 68, 1, 66, 71,
+ 64, 2, 78, 70, 62, 55, 21, 14, 4, 69, 64, 5,
+ 1, 10, 5, 64, 75, 2, 69, 74, 72, 11, 9, 11, 5,
+ 5, 8, 10, 22, 13, 7, 3, 3, 2, 10, 12, 85, 64,
+ 5, 72, 7, 8, 16, 12, 1, 19, 12, 14, 70, 4, 0,
+ 1, 14, 89, 12, 19, 16, 19, 19, 18, 16, 26, 24,
+ 6, 16, 21, 78, 62, 79, 12, 5, 6, 6, 7, 10, 5,
+ 13, 69, 2, 0, 8, 62, 81, 33, 36, 31, 27, 26,
+ 24, 20, 20, 17, 7, 4, 3, 65, 68, 89, 75, 75,
+ 90, 5, 2, 0, 65, 73, 75, 75, 71, 81, 77, 83,
+ 91, 83, 99, 73, 18, 14, 10, 6, 5, 64, 68, 70,
+ 69, 65, 30, 19, 14, 7, 12, 1, 64, 68, 74, 6,
+ 36, 28, 23, 21, 18, 6, 1, 65, 70, 69, 45, 30,
+ 14, 3, 12, 0, 73, 75, 6, 48, 39, 27, 17, 21,
+ 4, 64, 68, 71, 62, 90, 85, 76, 82, 81, 76, 75,
+ 71, 73, 73, 70, 66, 78, 76, 81, 82, 66, 78,
+ 76, 75, 69, 67, 70, 72, 68, 71, 69, 70, 80, 6,
+ 7, 13, 3, 64, 7, 5, 3, 4, 3, 1, 66, 64, 67,
+ 71, 68, 7, 83, 64, 16, 65, 8, 2, 6, 12, 2, 1,
+ 4, 8, 72, 71, 80, 37, 39, 40, 32, 27, 33, 30,
+ 29, 28, 23, 26, 24, 15, 11, 0, 18, 20, 16, 8,
+ 11, 11, 4, 3, 66, 64, 73, 75, 75, 83, 34, 34,
+ 33, 29, 19, 23, 20, 10, 11, 6, 2, 72, 72, 78,
+ 86, 68, 67, 88, 4, 3, 66, 75, 71, 74, 79, 72,
+ 81, 80, 90, 89, 94, 101, 74, 84, 89, 76, 70,
+ 3, 69, 12, 21, 67, 66, 8, 12, 4, 11, 21, 4, 1,
+ 45, 22, 2, 77, 89, 111, 124, 126, 126, 1, 39,
+ 29, 25, 15, 22, 11, 5, 3, 70, 75, 70, 3, 67,
+ 12, 19, 64, 65, 6, 10, 6, 9, 19, 8, 2, 45, 22,
+ 2, 77, 89, 111, 124, 126, 126 },
+
+ {
+
+ 43,
+ 6, 79, 43, 6, 79, 78, 0, 21, 11, 0, 0, 4, 35,
+ 58, 15, 67, 68, 3, 7, 3, 65, 64, 71, 79, 8,
+ 70, 101, 107, 114, 15, 74, 69, 3, 7, 3, 79,
+ 67, 11, 6, 65, 73, 78, 1, 78, 81, 94, 6, 68,
+ 74, 4, 75, 73, 86, 64, 75, 71, 82, 0, 2, 22,
+ 0, 0, 0, 67, 93, 97, 4, 0, 67, 26, 0, 83, 5,
+ 4, 66, 28, 27, 3, 7, 71, 6, 73, 70, 64, 80,
+ 80, 81, 85, 24, 65, 6, 65, 69, 83, 75, 72, 3,
+ 68, 67, 75, 16, 68, 2, 72, 80, 68, 73, 67, 1,
+ 66, 69, 0, 3, 77, 69, 62, 59, 24, 17, 4, 69,
+ 64, 5, 1, 10, 6, 64, 75, 4, 69, 76, 74, 13, 9,
+ 11, 5, 5, 8, 10, 23, 14, 7, 3, 3, 2, 10, 13,
+ 86, 64, 5, 73, 7, 7, 16, 12, 1, 19, 12, 14,
+ 71, 4, 64, 0, 14, 89, 11, 18, 15, 17, 15, 17,
+ 14, 24, 22, 4, 13, 19, 84, 62, 83, 10, 3, 4,
+ 3, 4, 6, 1, 9, 72, 0, 67, 6, 62, 83, 31, 34,
+ 28, 25, 24, 22, 18, 18, 15, 5, 2, 1, 67, 70,
+ 91, 75, 75, 91, 4, 1, 64, 66, 74, 77, 76, 73,
+ 82, 78, 84, 92, 84, 98, 71, 19, 15, 10, 6, 6,
+ 64, 68, 69, 67, 64, 30, 19, 15, 8, 13, 2, 0,
+ 67, 73, 7, 37, 29, 24, 21, 19, 7, 1, 65, 70,
+ 69, 45, 30, 13, 3, 12, 0, 73, 75, 6, 47, 38,
+ 26, 16, 21, 4, 64, 68, 71, 62, 89, 83, 75, 80,
+ 80, 75, 73, 69, 72, 71, 68, 64, 77, 75, 81,
+ 81, 65, 78, 76, 75, 69, 67, 70, 72, 68, 71,
+ 69, 70, 81, 7, 7, 14, 3, 64, 7, 5, 3, 4, 3, 1,
+ 66, 64, 67, 71, 68, 7, 84, 65, 16, 66, 7, 1,
+ 5, 12, 1, 0, 4, 8, 73, 71, 81, 36, 38, 39, 30,
+ 25, 31, 28, 27, 25, 20, 23, 21, 12, 9, 65, 14,
+ 16, 12, 3, 8, 7, 2, 0, 69, 66, 75, 77, 76, 84,
+ 32, 31, 30, 27, 16, 20, 17, 7, 9, 3, 0, 75,
+ 74, 80, 87, 69, 68, 90, 3, 1, 68, 77, 73, 76,
+ 81, 73, 82, 81, 91, 90, 95, 102, 75, 85, 90,
+ 76, 70, 4, 68, 13, 22, 67, 65, 8, 12, 4, 11,
+ 22, 4, 1, 44, 20, 64, 80, 92, 115, 126, 126,
+ 126, 1, 39, 29, 25, 15, 22, 11, 5, 3, 69, 75,
+ 70, 4, 67, 12, 20, 64, 65, 6, 10, 6, 9, 19, 8,
+ 2, 44, 20, 64, 80, 92, 115, 126, 126, 126 },
+
+ {
+
+ 42,
+ 6, 79, 42, 6, 79, 76, 1, 21, 11, 0, 64, 2, 34,
+ 58, 15, 65, 68, 3, 8, 2, 66, 64, 72, 81, 7,
+ 72, 105, 110, 116, 18, 73, 68, 3, 8, 2, 79,
+ 66, 11, 6, 65, 72, 77, 1, 78, 81, 94, 6, 68,
+ 74, 4, 75, 73, 85, 64, 75, 71, 82, 1, 2, 22,
+ 0, 0, 0, 66, 93, 97, 4, 64, 67, 25, 0, 83, 7,
+ 5, 65, 30, 29, 5, 8, 70, 8, 71, 69, 2, 80, 79,
+ 81, 84, 24, 65, 7, 0, 69, 82, 74, 70, 3, 68,
+ 67, 75, 16, 68, 2, 71, 79, 67, 72, 66, 2, 65,
+ 68, 2, 4, 75, 68, 62, 62, 27, 20, 5, 68, 0, 6,
+ 1, 10, 6, 64, 74, 6, 69, 78, 76, 16, 9, 12, 5,
+ 5, 8, 11, 25, 15, 8, 2, 3, 2, 11, 13, 87, 0,
+ 5, 73, 6, 6, 15, 11, 0, 19, 12, 14, 72, 5, 65,
+ 0, 13, 89, 11, 17, 14, 15, 12, 16, 13, 22, 20,
+ 2, 11, 17, 90, 62, 86, 8, 1, 1, 0, 2, 3, 67,
+ 5, 74, 65, 70, 4, 62, 84, 29, 32, 26, 23, 22,
+ 20, 16, 16, 13, 2, 0, 64, 68, 72, 93, 75, 75,
+ 91, 3, 0, 65, 68, 75, 78, 77, 74, 83, 78, 85,
+ 92, 85, 97, 70, 20, 15, 10, 7, 6, 0, 67, 68,
+ 65, 1, 30, 20, 15, 8, 14, 3, 2, 65, 71, 7, 38,
+ 30, 25, 22, 20, 7, 2, 64, 69, 69, 46, 30, 13,
+ 2, 12, 0, 73, 74, 6, 47, 37, 25, 15, 21, 4, 0,
+ 68, 70, 62, 87, 82, 73, 78, 78, 74, 72, 68,
+ 71, 69, 67, 1, 76, 74, 80, 80, 0, 78, 76, 74,
+ 68, 66, 70, 73, 68, 72, 69, 70, 81, 7, 7, 15,
+ 3, 64, 7, 5, 3, 4, 3, 1, 67, 64, 67, 71, 68,
+ 8, 85, 66, 16, 67, 7, 1, 4, 12, 1, 64, 4, 8,
+ 74, 71, 82, 35, 37, 38, 28, 23, 29, 26, 24,
+ 23, 17, 20, 18, 9, 6, 67, 9, 12, 8, 65, 5, 4,
+ 64, 65, 71, 68, 76, 78, 76, 84, 29, 29, 28,
+ 25, 13, 17, 15, 4, 7, 1, 65, 78, 76, 82, 89,
+ 69, 68, 92, 2, 0, 69, 79, 75, 78, 82, 74, 84,
+ 82, 91, 92, 96, 102, 77, 87, 92, 75, 70, 5,
+ 68, 14, 23, 66, 64, 9, 13, 4, 12, 23, 4, 1,
+ 43, 18, 67, 83, 96, 119, 126, 126, 126, 2, 39,
+ 29, 25, 15, 23, 11, 6, 4, 69, 75, 70, 4, 67,
+ 13, 21, 64, 65, 7, 11, 6, 10, 20, 8, 2, 43,
+ 18, 67, 83, 96, 119, 126, 126, 126 },
+
+ {
+
+ 41,
+ 6, 79, 41, 6, 79, 74, 3, 22, 11, 64, 66, 0,
+ 33, 58, 15, 0, 68, 4, 9, 2, 66, 64, 72, 82, 6,
+ 75, 108, 112, 117, 21, 72, 68, 4, 9, 2, 80,
+ 65, 11, 5, 65, 72, 77, 1, 78, 81, 94, 6, 68,
+ 73, 4, 75, 72, 85, 64, 75, 71, 82, 1, 2, 22,
+ 0, 0, 0, 66, 93, 97, 5, 65, 67, 24, 64, 83,
+ 10, 6, 64, 31, 31, 6, 10, 68, 9, 70, 68, 4,
+ 80, 79, 80, 84, 24, 65, 8, 2, 69, 81, 74, 68,
+ 3, 69, 68, 76, 16, 68, 3, 71, 78, 66, 72, 65,
+ 2, 64, 66, 3, 4, 74, 67, 62, 62, 30, 23, 5,
+ 68, 0, 6, 1, 10, 7, 0, 74, 8, 69, 80, 78, 19,
+ 9, 12, 5, 5, 8, 11, 26, 16, 8, 2, 3, 2, 11,
+ 14, 88, 0, 5, 74, 6, 5, 15, 11, 0, 19, 12, 14,
+ 73, 5, 66, 64, 13, 89, 11, 17, 14, 13, 9, 15,
+ 11, 20, 17, 0, 8, 15, 97, 62, 90, 6, 64, 64,
+ 66, 64, 0, 71, 1, 77, 67, 74, 2, 62, 86, 27,
+ 30, 24, 20, 19, 18, 14, 14, 11, 0, 65, 66, 70,
+ 73, 95, 75, 75, 92, 2, 64, 66, 69, 76, 79, 78,
+ 76, 84, 79, 86, 93, 85, 97, 68, 21, 16, 10, 7,
+ 7, 0, 67, 68, 0, 2, 30, 20, 16, 9, 15, 4, 3,
+ 64, 69, 8, 38, 30, 25, 22, 21, 8, 2, 64, 69,
+ 69, 46, 30, 12, 2, 12, 0, 73, 74, 6, 46, 37,
+ 24, 14, 21, 4, 0, 68, 70, 62, 86, 80, 72, 77,
+ 77, 73, 70, 66, 70, 68, 65, 3, 76, 73, 80, 79,
+ 2, 77, 76, 74, 68, 66, 70, 73, 68, 72, 69, 70,
+ 82, 8, 8, 16, 3, 64, 8, 5, 3, 4, 3, 1, 67, 64,
+ 67, 71, 68, 8, 86, 67, 16, 68, 6, 0, 4, 12, 0,
+ 65, 4, 8, 75, 71, 83, 34, 36, 37, 27, 21, 27,
+ 24, 22, 20, 15, 17, 15, 6, 4, 69, 5, 8, 4, 70,
+ 1, 1, 66, 67, 74, 70, 78, 80, 77, 85, 27, 26,
+ 25, 22, 10, 15, 12, 1, 4, 65, 68, 81, 78, 84,
+ 90, 70, 69, 93, 0, 65, 71, 81, 76, 80, 84, 75,
+ 85, 83, 92, 93, 97, 103, 78, 88, 93, 75, 69,
+ 5, 67, 15, 24, 66, 64, 9, 13, 4, 12, 24, 4, 1,
+ 42, 16, 69, 86, 99, 123, 126, 126, 126, 2, 39,
+ 29, 25, 15, 23, 12, 6, 4, 68, 75, 70, 5, 66,
+ 14, 22, 64, 64, 7, 11, 6, 10, 20, 8, 2, 42,
+ 16, 69, 86, 99, 123, 126, 126, 126 },
+
+ {
+
+ 40,
+ 6, 79, 40, 6, 79, 72, 4, 22, 11, 64, 67, 65,
+ 32, 58, 15, 2, 68, 4, 10, 2, 67, 64, 73, 84,
+ 5, 77, 112, 115, 119, 24, 71, 68, 4, 10, 2,
+ 80, 64, 11, 5, 65, 72, 76, 1, 78, 81, 94, 6,
+ 68, 73, 4, 75, 72, 85, 64, 75, 71, 82, 1, 2,
+ 22, 0, 0, 0, 65, 93, 97, 5, 66, 67, 23, 64,
+ 83, 12, 7, 0, 33, 33, 8, 11, 66, 11, 69, 67,
+ 6, 80, 79, 80, 84, 24, 65, 9, 4, 69, 80, 73,
+ 66, 3, 69, 68, 76, 16, 68, 3, 70, 77, 65, 71,
+ 64, 3, 0, 65, 5, 5, 73, 66, 62, 62, 33, 26, 5,
+ 68, 0, 7, 1, 10, 7, 0, 73, 10, 69, 82, 80, 22,
+ 9, 12, 5, 5, 8, 12, 28, 17, 8, 2, 3, 2, 12,
+ 15, 89, 0, 5, 74, 5, 4, 14, 11, 64, 19, 12,
+ 14, 74, 5, 67, 65, 12, 89, 11, 16, 13, 11, 6,
+ 14, 9, 18, 15, 65, 6, 13, 103, 62, 93, 4, 66,
+ 66, 69, 66, 66, 75, 66, 80, 69, 77, 0, 62, 88,
+ 25, 28, 22, 18, 17, 16, 12, 12, 9, 65, 67, 68,
+ 72, 75, 97, 75, 75, 92, 1, 65, 67, 70, 77, 80,
+ 79, 78, 85, 79, 87, 94, 86, 96, 67, 22, 16,
+ 10, 7, 8, 1, 66, 67, 2, 3, 30, 20, 16, 10, 16,
+ 5, 5, 1, 67, 9, 39, 31, 26, 23, 22, 8, 2, 64,
+ 68, 69, 47, 30, 11, 2, 12, 0, 73, 73, 6, 46,
+ 36, 23, 13, 21, 4, 0, 68, 70, 62, 85, 79, 71,
+ 75, 75, 72, 68, 64, 69, 66, 0, 5, 75, 72, 79,
+ 78, 4, 77, 76, 74, 67, 65, 70, 73, 68, 73, 69,
+ 70, 82, 8, 8, 17, 3, 64, 8, 5, 3, 4, 3, 1, 68,
+ 64, 67, 71, 68, 9, 87, 68, 16, 69, 5, 64, 3,
+ 12, 64, 66, 4, 8, 76, 71, 84, 33, 35, 36, 25,
+ 19, 25, 22, 20, 18, 12, 14, 12, 3, 1, 71, 1,
+ 4, 0, 75, 65, 65, 69, 69, 76, 72, 80, 81, 78,
+ 86, 25, 24, 23, 20, 7, 12, 10, 65, 2, 67, 70,
+ 84, 80, 86, 92, 71, 70, 95, 64, 66, 73, 83,
+ 78, 82, 86, 76, 87, 84, 93, 94, 98, 104, 80,
+ 89, 94, 75, 69, 6, 67, 16, 25, 66, 0, 10, 14,
+ 4, 13, 25, 4, 1, 41, 14, 72, 89, 102, 126,
+ 126, 126, 126, 2, 39, 29, 25, 15, 24, 12, 6,
+ 4, 68, 75, 70, 5, 66, 15, 23, 64, 64, 7, 11,
+ 6, 10, 21, 8, 2, 41, 14, 72, 89, 102, 126,
+ 126, 126, 126 },
+
+ {
+
+ 38,
+ 5, 80, 38, 5, 80, 71, 5, 22, 11, 65, 69, 68,
+ 31, 58, 14, 3, 69, 4, 10, 1, 68, 64, 74, 86,
+ 3, 80, 116, 118, 121, 26, 71, 68, 4, 10, 1,
+ 81, 64, 11, 4, 65, 72, 76, 0, 79, 81, 94, 5,
+ 68, 73, 4, 75, 72, 85, 64, 75, 72, 82, 1, 2,
+ 22, 0, 0, 0, 65, 94, 97, 5, 67, 68, 22, 65,
+ 84, 14, 8, 1, 34, 35, 9, 12, 65, 12, 68, 66,
+ 8, 80, 79, 80, 84, 24, 65, 9, 6, 69, 80, 73,
+ 65, 2, 70, 69, 77, 16, 68, 3, 70, 77, 65, 71,
+ 64, 3, 0, 64, 6, 5, 72, 65, 62, 62, 36, 28, 5,
+ 68, 0, 7, 0, 10, 7, 0, 73, 12, 69, 84, 82, 24,
+ 9, 12, 5, 5, 8, 12, 29, 17, 8, 1, 2, 2, 12,
+ 15, 91, 0, 5, 75, 4, 2, 13, 10, 65, 19, 12,
+ 13, 76, 5, 68, 66, 11, 89, 10, 15, 12, 8, 2,
+ 12, 7, 15, 12, 68, 3, 11, 110, 62, 97, 1, 68,
+ 69, 73, 69, 70, 80, 71, 83, 71, 81, 65, 62,
+ 90, 22, 25, 19, 15, 14, 13, 9, 9, 7, 68, 70,
+ 70, 74, 77, 99, 75, 76, 93, 0, 67, 69, 72, 79,
+ 82, 81, 80, 86, 80, 88, 95, 87, 96, 66, 22,
+ 16, 10, 7, 8, 1, 66, 67, 4, 4, 30, 20, 16, 10,
+ 16, 6, 6, 2, 66, 9, 39, 31, 26, 23, 23, 8, 2,
+ 64, 68, 70, 47, 29, 10, 1, 12, 0, 73, 73, 5,
+ 45, 35, 21, 12, 20, 4, 0, 68, 70, 62, 84, 78,
+ 70, 74, 74, 71, 67, 0, 68, 65, 1, 7, 75, 72,
+ 79, 77, 5, 77, 76, 74, 67, 65, 70, 74, 69, 74,
+ 69, 71, 83, 8, 8, 18, 3, 65, 8, 5, 2, 4, 3, 1,
+ 69, 64, 67, 71, 68, 9, 88, 69, 16, 71, 4, 65,
+ 2, 11, 65, 67, 4, 7, 78, 72, 86, 31, 33, 35,
+ 23, 17, 22, 19, 17, 15, 9, 11, 9, 64, 65, 73,
+ 67, 0, 68, 80, 69, 69, 72, 72, 79, 74, 82, 83,
+ 79, 87, 22, 21, 20, 17, 4, 9, 7, 69, 64, 70,
+ 73, 87, 82, 88, 94, 72, 71, 97, 66, 68, 75,
+ 86, 80, 84, 88, 78, 89, 86, 94, 96, 99, 105,
+ 82, 91, 96, 75, 69, 6, 67, 17, 26, 66, 0, 10,
+ 14, 4, 13, 25, 4, 0, 39, 12, 75, 93, 106, 126,
+ 126, 126, 126, 2, 39, 29, 25, 15, 24, 12, 6,
+ 4, 68, 75, 70, 5, 66, 15, 23, 64, 64, 7, 11,
+ 6, 10, 21, 7, 1, 39, 12, 75, 93, 106, 126,
+ 126, 126, 126 },
+
+ {
+
+ 37,
+ 5, 80, 37, 5, 80, 69, 7, 23, 12, 65, 70, 70,
+ 30, 59, 14, 5, 69, 5, 11, 1, 68, 0, 74, 87, 2,
+ 82, 119, 120, 122, 29, 70, 67, 5, 11, 1, 81,
+ 0, 11, 4, 64, 71, 75, 0, 79, 80, 93, 5, 67,
+ 72, 4, 74, 71, 84, 0, 74, 72, 81, 2, 2, 22, 0,
+ 0, 0, 64, 94, 97, 6, 67, 68, 22, 65, 84, 17,
+ 10, 3, 36, 38, 11, 14, 0, 14, 66, 64, 11, 80,
+ 78, 79, 83, 24, 65, 10, 9, 68, 79, 72, 0, 2,
+ 70, 69, 77, 17, 68, 4, 69, 76, 64, 70, 0, 4,
+ 1, 1, 8, 6, 70, 0, 62, 62, 40, 31, 6, 67, 1,
+ 8, 0, 11, 8, 1, 72, 15, 68, 86, 83, 27, 9, 13,
+ 5, 6, 9, 13, 31, 18, 9, 1, 2, 2, 13, 16, 92,
+ 1, 5, 75, 4, 1, 13, 10, 65, 19, 12, 13, 77, 6,
+ 68, 66, 11, 89, 10, 15, 12, 6, 64, 11, 6, 13,
+ 10, 70, 1, 9, 116, 62, 100, 64, 69, 71, 76,
+ 71, 73, 84, 75, 85, 73, 84, 67, 62, 91, 20,
+ 23, 17, 13, 12, 11, 7, 7, 5, 70, 72, 71, 75,
+ 78, 100, 75, 76, 93, 0, 68, 70, 73, 80, 83,
+ 82, 81, 87, 80, 89, 95, 87, 95, 64, 23, 17,
+ 10, 8, 9, 2, 65, 66, 7, 6, 31, 21, 17, 11, 17,
+ 8, 8, 4, 64, 10, 40, 32, 27, 24, 24, 9, 3, 0,
+ 67, 70, 48, 29, 10, 1, 13, 1, 73, 72, 5, 45,
+ 35, 20, 11, 20, 5, 1, 67, 69, 62, 82, 76, 68,
+ 72, 72, 69, 65, 2, 66, 0, 3, 10, 74, 71, 78,
+ 75, 7, 76, 75, 73, 66, 64, 69, 74, 69, 74, 69,
+ 71, 83, 9, 9, 19, 4, 65, 9, 6, 2, 5, 4, 1, 69,
+ 0, 66, 70, 67, 10, 88, 70, 16, 72, 4, 65, 2,
+ 11, 65, 67, 4, 7, 79, 72, 87, 30, 32, 35, 22,
+ 16, 20, 17, 15, 13, 7, 9, 7, 67, 67, 75, 71,
+ 66, 72, 84, 72, 72, 74, 74, 81, 75, 83, 84,
+ 79, 87, 20, 19, 18, 15, 2, 7, 5, 72, 66, 72,
+ 75, 89, 83, 89, 95, 72, 71, 98, 67, 69, 76,
+ 88, 81, 85, 89, 79, 90, 87, 94, 97, 99, 105,
+ 83, 92, 97, 74, 68, 7, 66, 19, 28, 65, 1, 11,
+ 15, 5, 14, 26, 4, 0, 38, 10, 77, 96, 109, 126,
+ 126, 126, 126, 3, 39, 30, 26, 16, 25, 13, 7,
+ 5, 67, 74, 69, 6, 65, 16, 24, 0, 0, 8, 12, 6,
+ 11, 22, 7, 1, 38, 10, 77, 96, 109, 126, 126,
+ 126, 126 },
+
+ {
+
+ 36,
+ 5, 80, 36, 5, 80, 67, 8, 23, 12, 65, 71, 72,
+ 29, 59, 14, 7, 69, 5, 12, 1, 69, 0, 75, 89, 1,
+ 85, 123, 123, 124, 32, 69, 67, 5, 12, 1, 81,
+ 1, 11, 3, 64, 71, 74, 0, 79, 80, 93, 5, 67,
+ 72, 4, 74, 71, 84, 0, 74, 72, 81, 2, 2, 22, 0,
+ 0, 0, 0, 94, 97, 6, 68, 68, 21, 65, 84, 19,
+ 11, 4, 38, 40, 12, 15, 2, 15, 65, 0, 13, 80,
+ 78, 79, 83, 24, 65, 11, 11, 68, 78, 71, 2, 2,
+ 70, 69, 78, 17, 68, 4, 68, 75, 0, 69, 1, 4, 2,
+ 2, 9, 7, 69, 1, 62, 62, 43, 34, 6, 67, 1, 8,
+ 0, 11, 8, 1, 72, 17, 68, 88, 85, 30, 9, 13, 5,
+ 6, 9, 13, 33, 19, 9, 1, 2, 2, 14, 17, 93, 1,
+ 5, 75, 3, 0, 12, 10, 66, 19, 12, 13, 78, 6,
+ 69, 67, 10, 89, 10, 14, 11, 4, 67, 10, 4, 11,
+ 8, 72, 64, 7, 122, 62, 104, 66, 71, 73, 79,
+ 73, 76, 88, 79, 88, 75, 87, 69, 62, 93, 18,
+ 21, 15, 11, 10, 9, 5, 5, 3, 72, 74, 73, 77,
+ 80, 102, 75, 76, 94, 64, 69, 71, 74, 81, 84,
+ 83, 83, 88, 80, 90, 96, 88, 94, 0, 24, 17, 10,
+ 8, 10, 3, 64, 65, 9, 7, 31, 21, 17, 12, 18, 9,
+ 10, 6, 1, 11, 41, 33, 28, 25, 25, 9, 3, 0, 66,
+ 70, 49, 29, 9, 1, 13, 1, 73, 72, 5, 45, 34,
+ 19, 10, 20, 5, 1, 67, 69, 62, 81, 75, 67, 70,
+ 70, 68, 0, 4, 65, 2, 5, 12, 73, 70, 78, 74, 9,
+ 76, 75, 73, 65, 64, 69, 74, 69, 75, 69, 71,
+ 83, 9, 9, 20, 4, 65, 9, 6, 2, 5, 4, 1, 70, 0,
+ 66, 70, 67, 11, 89, 71, 16, 73, 3, 66, 1, 11,
+ 66, 68, 4, 7, 80, 72, 88, 29, 31, 34, 20, 14,
+ 18, 15, 13, 11, 4, 6, 4, 70, 70, 77, 75, 70,
+ 76, 89, 75, 75, 77, 76, 84, 77, 85, 85, 80,
+ 88, 18, 17, 15, 13, 64, 4, 2, 75, 68, 75, 77,
+ 92, 85, 91, 97, 73, 72, 100, 68, 70, 78, 90,
+ 83, 87, 91, 80, 92, 88, 95, 98, 100, 106, 85,
+ 93, 98, 74, 68, 8, 66, 20, 29, 65, 2, 12, 16,
+ 5, 14, 27, 4, 0, 37, 8, 80, 99, 112, 126, 126,
+ 126, 126, 3, 39, 30, 26, 16, 26, 13, 7, 5, 67,
+ 74, 69, 6, 65, 17, 25, 0, 0, 8, 12, 6, 11, 23,
+ 7, 1, 37, 8, 80, 99, 112, 126, 126, 126, 126 },
+
+ {
+
+ 35,
+ 5, 80, 35, 5, 80, 65, 10, 24, 12, 66, 73, 74,
+ 28, 59, 14, 9, 69, 6, 13, 1, 69, 0, 75, 90, 0,
+ 87, 126, 125, 125, 35, 68, 67, 6, 13, 1, 82,
+ 2, 11, 3, 64, 71, 74, 0, 79, 80, 93, 5, 67,
+ 71, 4, 74, 70, 84, 0, 74, 72, 81, 2, 2, 22, 0,
+ 0, 0, 0, 94, 97, 7, 69, 68, 20, 66, 84, 22,
+ 12, 5, 39, 42, 14, 17, 4, 17, 64, 1, 15, 80,
+ 78, 78, 83, 24, 65, 12, 13, 68, 77, 71, 4, 2,
+ 71, 70, 78, 17, 68, 5, 68, 74, 1, 69, 2, 5, 3,
+ 4, 11, 7, 68, 2, 62, 62, 46, 37, 6, 67, 1, 9,
+ 0, 11, 9, 2, 71, 19, 68, 90, 87, 33, 9, 13, 5,
+ 6, 9, 14, 34, 20, 9, 1, 2, 2, 14, 18, 94, 1,
+ 5, 76, 3, 64, 12, 10, 66, 19, 12, 13, 79, 6,
+ 70, 68, 10, 89, 10, 14, 11, 2, 70, 9, 2, 9, 5,
+ 74, 67, 5, 126, 62, 107, 68, 73, 75, 82, 76,
+ 79, 92, 83, 91, 77, 91, 71, 62, 95, 16, 19,
+ 13, 8, 7, 7, 3, 3, 1, 74, 76, 75, 79, 81, 104,
+ 75, 76, 94, 65, 70, 72, 75, 82, 85, 84, 85,
+ 89, 81, 91, 97, 88, 94, 2, 25, 18, 10, 8, 11,
+ 3, 64, 65, 11, 8, 31, 21, 18, 13, 19, 10, 11,
+ 7, 3, 12, 41, 33, 28, 25, 26, 10, 3, 0, 66,
+ 70, 49, 29, 8, 1, 13, 1, 73, 71, 5, 44, 34,
+ 18, 9, 20, 5, 1, 67, 69, 62, 80, 73, 66, 69,
+ 69, 67, 2, 6, 64, 3, 7, 14, 73, 69, 77, 73,
+ 11, 75, 75, 73, 65, 0, 69, 74, 69, 75, 69, 71,
+ 84, 10, 10, 21, 4, 65, 10, 6, 2, 5, 4, 1, 70,
+ 0, 66, 70, 67, 11, 90, 72, 16, 74, 2, 67, 1,
+ 11, 67, 69, 4, 7, 81, 72, 89, 28, 30, 33, 19,
+ 12, 16, 13, 11, 8, 2, 3, 1, 73, 72, 79, 79,
+ 74, 80, 94, 79, 78, 79, 78, 86, 79, 87, 87,
+ 81, 89, 16, 14, 13, 10, 67, 2, 0, 78, 71, 77,
+ 80, 95, 87, 93, 98, 74, 73, 101, 70, 72, 80,
+ 92, 84, 89, 93, 81, 93, 89, 96, 99, 101, 107,
+ 86, 94, 99, 74, 67, 8, 65, 21, 30, 65, 2, 12,
+ 16, 5, 15, 28, 4, 0, 36, 6, 82, 102, 115, 126,
+ 126, 126, 126, 3, 39, 30, 26, 16, 26, 14, 7,
+ 5, 66, 74, 69, 7, 64, 18, 26, 0, 1, 8, 12, 6,
+ 11, 23, 7, 1, 36, 6, 82, 102, 115, 126, 126,
+ 126, 126 },
+
+ {
+
+ 33,
+ 5, 80, 33, 5, 80, 64, 11, 24, 12, 66, 74, 76,
+ 27, 59, 13, 11, 69, 6, 14, 0, 70, 0, 76, 92,
+ 64, 90, 126, 126, 126, 38, 67, 67, 6, 14, 0,
+ 82, 3, 11, 2, 64, 70, 73, 0, 79, 80, 93, 5,
+ 67, 71, 4, 74, 70, 83, 0, 74, 72, 81, 3, 2,
+ 22, 0, 0, 0, 1, 95, 97, 7, 70, 68, 19, 66, 84,
+ 24, 13, 6, 41, 44, 15, 18, 5, 18, 1, 2, 17,
+ 80, 77, 78, 83, 24, 65, 13, 15, 68, 77, 70, 6,
+ 2, 71, 70, 79, 17, 68, 5, 67, 73, 2, 68, 3, 5,
+ 3, 5, 12, 8, 67, 3, 62, 62, 49, 40, 6, 66, 1,
+ 9, 0, 11, 9, 2, 71, 21, 68, 92, 89, 35, 9, 14,
+ 5, 6, 9, 14, 36, 21, 10, 0, 2, 2, 15, 18, 95,
+ 1, 5, 76, 2, 65, 11, 9, 67, 19, 12, 13, 80, 6,
+ 71, 69, 9, 89, 9, 13, 10, 0, 74, 8, 0, 7, 3,
+ 76, 69, 3, 126, 62, 111, 70, 75, 78, 85, 78,
+ 83, 97, 87, 94, 79, 94, 73, 62, 96, 14, 17,
+ 10, 6, 5, 5, 1, 1, 64, 77, 78, 77, 81, 83,
+ 106, 75, 76, 95, 66, 71, 73, 77, 83, 87, 85,
+ 86, 90, 81, 92, 97, 89, 93, 3, 26, 18, 10, 9,
+ 11, 4, 0, 64, 13, 10, 31, 22, 18, 13, 20, 11,
+ 13, 9, 4, 12, 42, 34, 29, 26, 27, 10, 3, 1,
+ 65, 70, 50, 29, 8, 0, 13, 1, 73, 71, 5, 44,
+ 33, 17, 8, 20, 5, 2, 67, 69, 62, 78, 72, 65,
+ 67, 67, 66, 3, 7, 0, 5, 8, 16, 72, 68, 77, 72,
+ 12, 75, 75, 73, 64, 0, 69, 75, 69, 76, 69, 71,
+ 84, 10, 10, 22, 4, 65, 10, 6, 2, 5, 4, 1, 71,
+ 0, 66, 70, 67, 12, 91, 73, 16, 75, 2, 68, 0,
+ 11, 68, 70, 4, 7, 82, 72, 90, 27, 29, 32, 17,
+ 10, 14, 11, 8, 6, 64, 0, 65, 76, 75, 81, 84,
+ 78, 84, 99, 82, 82, 82, 81, 89, 81, 89, 88,
+ 82, 89, 13, 12, 10, 8, 70, 64, 66, 81, 73, 80,
+ 82, 98, 89, 95, 100, 75, 73, 103, 71, 73, 81,
+ 94, 86, 91, 94, 82, 95, 90, 97, 101, 102, 107,
+ 88, 96, 101, 73, 67, 9, 65, 22, 31, 65, 3, 13,
+ 17, 5, 15, 29, 4, 0, 35, 4, 85, 105, 119, 126,
+ 126, 126, 126, 4, 39, 30, 26, 16, 27, 14, 7,
+ 5, 66, 74, 69, 7, 64, 18, 27, 0, 1, 9, 13, 6,
+ 11, 24, 7, 1, 35, 4, 85, 105, 119, 126, 126,
+ 126, 126 },
+
+ {
+
+ 32,
+ 5, 80, 32, 5, 80, 1, 13, 24, 12, 67, 75, 78,
+ 26, 59, 13, 13, 69, 6, 15, 0, 70, 0, 77, 94,
+ 65, 92, 126, 126, 126, 41, 66, 66, 6, 15, 0,
+ 82, 4, 11, 2, 64, 70, 72, 0, 79, 80, 93, 5,
+ 67, 71, 4, 74, 69, 83, 0, 74, 72, 81, 3, 2,
+ 22, 0, 0, 0, 1, 95, 97, 8, 71, 68, 18, 67, 84,
+ 27, 14, 7, 43, 46, 17, 20, 7, 20, 2, 3, 20,
+ 80, 77, 77, 82, 24, 65, 14, 17, 68, 76, 70, 8,
+ 2, 72, 71, 79, 17, 68, 6, 67, 72, 3, 68, 4, 6,
+ 4, 7, 14, 9, 65, 4, 62, 62, 52, 43, 7, 66, 2,
+ 10, 0, 11, 10, 2, 70, 23, 68, 94, 91, 38, 9,
+ 14, 5, 6, 9, 15, 37, 22, 10, 0, 2, 2, 15, 19,
+ 96, 2, 5, 77, 2, 66, 11, 9, 67, 19, 12, 13,
+ 81, 7, 72, 69, 9, 89, 9, 12, 9, 65, 77, 7, 64,
+ 5, 1, 78, 72, 1, 126, 62, 114, 72, 77, 80, 88,
+ 81, 86, 101, 91, 96, 81, 98, 75, 62, 98, 12,
+ 15, 8, 4, 3, 3, 64, 64, 66, 79, 80, 79, 82,
+ 85, 108, 75, 76, 95, 67, 72, 74, 78, 84, 88,
+ 86, 88, 91, 82, 93, 98, 90, 92, 5, 27, 19, 10,
+ 9, 12, 4, 0, 0, 15, 11, 31, 22, 19, 14, 21,
+ 12, 14, 10, 6, 13, 43, 35, 30, 26, 28, 11, 4,
+ 1, 65, 70, 50, 29, 7, 0, 13, 1, 73, 70, 5, 43,
+ 32, 16, 7, 20, 5, 2, 67, 68, 62, 77, 70, 0,
+ 65, 66, 65, 5, 9, 1, 7, 10, 18, 71, 67, 76,
+ 71, 14, 75, 75, 72, 64, 1, 69, 75, 69, 76, 69,
+ 71, 85, 11, 10, 23, 4, 65, 10, 6, 2, 5, 4, 1,
+ 71, 0, 66, 70, 67, 12, 92, 74, 16, 76, 1, 68,
+ 64, 11, 68, 71, 4, 7, 83, 72, 91, 26, 28, 31,
+ 15, 8, 12, 9, 6, 3, 67, 66, 68, 79, 77, 83,
+ 88, 82, 88, 104, 85, 85, 84, 83, 91, 83, 90,
+ 90, 82, 90, 11, 9, 8, 6, 73, 67, 68, 84, 75,
+ 82, 84, 101, 91, 97, 101, 75, 74, 105, 72, 75,
+ 83, 96, 88, 93, 96, 83, 96, 91, 97, 102, 103,
+ 108, 89, 97, 102, 73, 67, 10, 64, 23, 32, 64,
+ 4, 13, 17, 5, 16, 30, 4, 0, 34, 2, 88, 108,
+ 122, 126, 126, 126, 126, 4, 39, 30, 26, 16,
+ 27, 14, 8, 6, 65, 74, 69, 8, 64, 19, 28, 0, 1,
+ 9, 13, 6, 12, 24, 7, 1, 34, 2, 88, 108, 122,
+ 126, 126, 126, 126 },
+
+ {
+
+ 31,
+ 5, 81, 31, 5, 81, 3, 14, 25, 12, 67, 77, 80,
+ 25, 59, 13, 14, 69, 7, 15, 0, 71, 1, 77, 95,
+ 67, 95, 126, 126, 126, 43, 65, 66, 7, 15, 0,
+ 83, 4, 11, 1, 64, 70, 72, 0, 79, 79, 92, 5,
+ 66, 70, 4, 73, 69, 83, 0, 74, 72, 81, 3, 2,
+ 22, 0, 0, 0, 2, 95, 97, 8, 71, 69, 18, 67, 84,
+ 29, 15, 8, 44, 49, 18, 21, 9, 21, 3, 4, 22,
+ 80, 77, 77, 82, 24, 65, 15, 20, 68, 75, 69,
+ 10, 1, 72, 71, 80, 18, 68, 6, 66, 72, 3, 67,
+ 5, 6, 5, 8, 15, 9, 64, 5, 62, 62, 55, 46, 7,
+ 66, 2, 10, 0, 11, 10, 3, 70, 25, 67, 96, 93,
+ 41, 9, 14, 5, 6, 10, 15, 39, 23, 10, 0, 2, 2,
+ 16, 20, 97, 2, 5, 77, 1, 67, 10, 9, 68, 19,
+ 12, 13, 83, 7, 73, 70, 8, 89, 9, 12, 9, 67,
+ 80, 6, 66, 2, 65, 80, 74, 64, 126, 62, 118,
+ 74, 78, 82, 92, 83, 89, 105, 96, 99, 83, 101,
+ 77, 62, 100, 10, 13, 6, 1, 0, 1, 67, 66, 68,
+ 81, 83, 81, 84, 86, 109, 75, 76, 96, 68, 73,
+ 75, 79, 85, 89, 87, 90, 92, 82, 94, 99, 90,
+ 92, 6, 28, 19, 10, 9, 13, 5, 1, 0, 17, 12, 32,
+ 22, 19, 15, 22, 13, 16, 12, 8, 14, 43, 35, 30,
+ 27, 29, 11, 4, 1, 64, 70, 51, 29, 6, 0, 13, 1,
+ 73, 70, 4, 43, 32, 15, 6, 19, 5, 2, 67, 68,
+ 62, 76, 69, 1, 64, 64, 64, 7, 11, 2, 8, 12,
+ 20, 71, 66, 76, 70, 16, 74, 75, 72, 0, 1, 69,
+ 75, 69, 77, 69, 71, 85, 11, 11, 24, 4, 65, 11,
+ 7, 2, 6, 5, 1, 72, 0, 66, 70, 67, 13, 93, 75,
+ 16, 77, 0, 69, 64, 11, 69, 71, 4, 6, 85, 73,
+ 92, 24, 27, 30, 14, 6, 10, 7, 4, 1, 69, 69,
+ 70, 82, 80, 85, 92, 86, 92, 108, 89, 88, 87,
+ 85, 94, 85, 92, 91, 83, 91, 9, 7, 5, 3, 76,
+ 69, 71, 87, 78, 85, 87, 104, 93, 98, 103, 76,
+ 75, 106, 74, 76, 85, 98, 89, 95, 98, 84, 98,
+ 92, 98, 103, 104, 109, 91, 98, 103, 73, 66,
+ 10, 64, 24, 33, 64, 4, 14, 18, 5, 16, 31, 4,
+ 0, 33, 0, 90, 111, 125, 126, 126, 126, 126, 4,
+ 39, 30, 26, 16, 28, 15, 8, 6, 65, 73, 68, 8,
+ 0, 20, 29, 1, 2, 9, 13, 6, 12, 25, 7, 1, 33,
+ 0, 90, 111, 125, 126, 126, 126, 126 },
+
+ {
+
+ 30,
+ 5, 81, 30, 5, 81, 5, 16, 25, 12, 68, 78, 82,
+ 24, 59, 13, 16, 69, 7, 16, 64, 71, 1, 78, 97,
+ 68, 97, 126, 126, 126, 46, 64, 66, 7, 16, 64,
+ 83, 5, 11, 1, 64, 69, 71, 0, 79, 79, 92, 5,
+ 66, 70, 4, 73, 68, 82, 0, 74, 72, 81, 4, 2,
+ 22, 0, 0, 0, 2, 95, 97, 9, 72, 69, 17, 68, 84,
+ 32, 16, 9, 46, 51, 20, 23, 10, 23, 5, 5, 24,
+ 80, 76, 76, 82, 24, 65, 16, 22, 68, 74, 69,
+ 12, 1, 73, 72, 80, 18, 68, 7, 66, 71, 4, 67,
+ 6, 7, 6, 10, 17, 10, 0, 6, 62, 62, 58, 49, 7,
+ 65, 2, 11, 0, 11, 11, 3, 69, 27, 67, 98, 95,
+ 44, 9, 15, 5, 6, 10, 16, 40, 24, 11, 64, 2, 2,
+ 16, 20, 98, 2, 5, 78, 1, 68, 10, 8, 68, 19,
+ 12, 13, 84, 7, 74, 71, 8, 89, 9, 11, 8, 69,
+ 83, 5, 68, 0, 67, 82, 77, 66, 126, 62, 121,
+ 76, 80, 85, 95, 86, 92, 110, 100, 102, 85,
+ 105, 79, 62, 101, 8, 11, 4, 64, 65, 64, 69,
+ 68, 70, 84, 85, 83, 86, 88, 111, 75, 76, 96,
+ 69, 74, 76, 81, 86, 90, 88, 91, 93, 83, 95,
+ 99, 91, 91, 8, 29, 20, 10, 10, 13, 5, 1, 1,
+ 19, 14, 32, 23, 20, 15, 23, 14, 17, 13, 10,
+ 14, 44, 36, 31, 27, 30, 12, 4, 2, 64, 70, 51,
+ 29, 6, 64, 13, 1, 73, 69, 4, 42, 31, 14, 5,
+ 19, 5, 3, 67, 68, 62, 74, 67, 2, 1, 0, 0, 8,
+ 12, 3, 10, 13, 22, 70, 65, 75, 69, 18, 74, 75,
+ 72, 0, 2, 69, 76, 69, 77, 69, 71, 86, 12, 11,
+ 25, 4, 65, 11, 7, 2, 6, 5, 1, 72, 0, 66, 70,
+ 67, 13, 94, 76, 16, 78, 0, 70, 65, 11, 70, 72,
+ 4, 6, 86, 73, 93, 23, 26, 29, 12, 4, 8, 5, 1,
+ 65, 72, 72, 73, 85, 82, 87, 97, 90, 96, 113,
+ 92, 91, 89, 87, 96, 87, 94, 93, 84, 91, 6, 4,
+ 3, 1, 79, 72, 73, 90, 80, 87, 89, 107, 95,
+ 100, 104, 77, 75, 108, 75, 78, 86, 100, 91,
+ 97, 99, 85, 99, 93, 99, 105, 105, 109, 92,
+ 100, 105, 72, 66, 11, 0, 25, 34, 64, 5, 14,
+ 18, 5, 17, 32, 4, 0, 32, 65, 93, 114, 126,
+ 126, 126, 126, 126, 5, 39, 30, 26, 16, 28, 15,
+ 8, 6, 64, 73, 68, 9, 0, 21, 30, 1, 2, 10, 14,
+ 6, 12, 25, 7, 1, 32, 65, 93, 114, 126, 126,
+ 126, 126, 126 },
+
+ {
+
+ 28,
+ 4, 81, 28, 4, 81, 6, 17, 25, 12, 68, 80, 85,
+ 23, 59, 12, 18, 70, 7, 17, 64, 72, 1, 79, 99,
+ 69, 100, 126, 126, 126, 49, 0, 66, 7, 17, 64,
+ 84, 6, 11, 0, 64, 69, 71, 64, 80, 79, 92, 5,
+ 66, 70, 4, 73, 68, 82, 0, 74, 72, 81, 4, 2,
+ 22, 0, 0, 0, 3, 96, 97, 9, 73, 69, 16, 68, 85,
+ 34, 17, 10, 47, 53, 21, 24, 12, 24, 6, 6, 26,
+ 80, 76, 76, 82, 24, 65, 17, 24, 68, 74, 68,
+ 14, 1, 73, 72, 81, 18, 68, 7, 65, 70, 5, 66,
+ 6, 7, 6, 11, 18, 10, 1, 7, 62, 62, 61, 51, 7,
+ 65, 2, 11, 64, 11, 11, 3, 69, 29, 67, 100, 97,
+ 46, 9, 15, 5, 6, 10, 16, 42, 24, 11, 64, 1, 2,
+ 17, 21, 100, 2, 5, 78, 0, 70, 9, 8, 69, 19,
+ 12, 12, 85, 7, 75, 72, 7, 89, 8, 10, 7, 71,
+ 87, 3, 70, 65, 70, 85, 79, 68, 126, 62, 125,
+ 78, 82, 87, 98, 88, 96, 114, 104, 105, 87,
+ 108, 81, 62, 103, 6, 8, 1, 67, 68, 67, 71, 71,
+ 72, 86, 87, 85, 88, 90, 113, 75, 77, 97, 70,
+ 76, 77, 82, 87, 92, 90, 93, 94, 83, 96, 100,
+ 92, 91, 9, 30, 20, 10, 10, 14, 6, 2, 1, 21,
+ 15, 32, 23, 20, 16, 24, 15, 19, 15, 11, 15,
+ 44, 36, 31, 28, 31, 12, 4, 2, 0, 71, 52, 29,
+ 5, 64, 13, 1, 73, 69, 4, 42, 30, 13, 4, 19, 5,
+ 3, 67, 68, 62, 73, 66, 3, 2, 2, 1, 10, 14, 4,
+ 11, 15, 24, 70, 65, 75, 68, 19, 74, 75, 72, 1,
+ 2, 69, 76, 69, 78, 69, 71, 86, 12, 11, 26, 4,
+ 66, 11, 7, 1, 6, 5, 1, 73, 0, 66, 70, 67, 14,
+ 95, 77, 16, 80, 64, 71, 66, 10, 71, 73, 4, 6,
+ 87, 73, 95, 22, 24, 28, 10, 2, 6, 3, 64, 67,
+ 75, 75, 76, 88, 85, 89, 101, 94, 101, 118, 96,
+ 95, 92, 90, 99, 89, 96, 94, 85, 92, 4, 2, 0,
+ 65, 82, 75, 76, 93, 83, 90, 92, 110, 97, 102,
+ 106, 78, 76, 110, 77, 79, 88, 102, 93, 99,
+ 101, 87, 101, 95, 100, 106, 106, 110, 94, 101,
+ 106, 72, 66, 11, 0, 26, 35, 64, 5, 15, 19, 5,
+ 17, 32, 4, 64, 31, 67, 96, 117, 126, 126, 126,
+ 126, 126, 5, 39, 30, 26, 16, 29, 15, 8, 6, 64,
+ 73, 68, 9, 0, 21, 30, 1, 2, 10, 14, 6, 12, 26,
+ 7, 0, 31, 67, 96, 117, 126, 126, 126, 126, 126 },
+
+ {
+
+ 27,
+ 4, 81, 27, 4, 81, 8, 18, 26, 12, 68, 81, 87,
+ 22, 60, 12, 20, 70, 8, 18, 64, 73, 1, 79, 100,
+ 70, 102, 126, 126, 126, 52, 1, 65, 8, 18, 64,
+ 84, 7, 11, 0, 0, 69, 70, 64, 80, 79, 92, 5,
+ 66, 69, 4, 73, 68, 82, 0, 74, 72, 80, 4, 2,
+ 22, 0, 0, 0, 4, 96, 97, 9, 74, 69, 15, 68, 85,
+ 36, 19, 11, 49, 55, 23, 25, 14, 26, 7, 8, 29,
+ 80, 76, 76, 81, 24, 65, 18, 26, 67, 73, 67,
+ 16, 1, 73, 72, 81, 18, 68, 7, 64, 69, 6, 65,
+ 7, 8, 7, 12, 20, 11, 3, 8, 62, 62, 62, 54, 8,
+ 65, 3, 12, 64, 11, 11, 4, 68, 32, 67, 102, 98,
+ 49, 9, 15, 5, 6, 10, 17, 44, 25, 11, 64, 1, 2,
+ 18, 22, 101, 3, 5, 78, 64, 71, 8, 8, 70, 19,
+ 12, 12, 86, 8, 76, 72, 6, 89, 8, 10, 7, 73,
+ 90, 2, 71, 67, 72, 87, 81, 70, 126, 62, 126,
+ 80, 84, 89, 101, 90, 99, 118, 108, 107, 89,
+ 111, 83, 62, 105, 4, 6, 64, 69, 70, 69, 73,
+ 73, 74, 88, 89, 86, 89, 91, 115, 75, 77, 97,
+ 70, 77, 78, 83, 88, 93, 91, 95, 95, 83, 97,
+ 101, 92, 90, 10, 31, 20, 10, 10, 15, 7, 3, 2,
+ 24, 16, 32, 23, 20, 17, 25, 16, 21, 17, 13,
+ 16, 45, 37, 32, 29, 32, 12, 5, 2, 1, 71, 53,
+ 29, 4, 64, 14, 2, 73, 68, 4, 42, 30, 12, 3,
+ 19, 5, 3, 67, 67, 62, 72, 65, 5, 4, 4, 2, 12,
+ 16, 5, 13, 17, 26, 69, 64, 74, 67, 21, 73, 74,
+ 71, 2, 3, 69, 76, 69, 79, 69, 71, 86, 12, 12,
+ 27, 5, 66, 12, 7, 1, 6, 5, 1, 74, 0, 65, 69,
+ 67, 15, 95, 78, 16, 81, 65, 71, 66, 10, 71,
+ 74, 4, 6, 88, 73, 96, 21, 23, 28, 9, 0, 4, 1,
+ 66, 69, 77, 78, 79, 91, 88, 91, 105, 98, 105,
+ 123, 99, 98, 95, 92, 101, 90, 97, 95, 85, 93,
+ 2, 0, 65, 67, 84, 77, 78, 96, 85, 92, 94, 112,
+ 99, 104, 108, 78, 77, 111, 78, 80, 90, 104,
+ 94, 100, 103, 88, 103, 96, 100, 107, 106, 111,
+ 96, 102, 107, 72, 65, 12, 0, 27, 37, 0, 6, 16,
+ 20, 5, 18, 33, 4, 64, 30, 69, 98, 120, 126,
+ 126, 126, 126, 126, 5, 39, 30, 27, 17, 30, 16,
+ 9, 7, 64, 73, 68, 9, 1, 22, 31, 1, 3, 10, 14,
+ 6, 13, 27, 7, 0, 30, 69, 98, 120, 126, 126,
+ 126, 126, 126 },
+
+ {
+
+ 26,
+ 4, 81, 26, 4, 81, 10, 20, 26, 12, 69, 82, 89,
+ 21, 60, 12, 22, 70, 8, 19, 65, 73, 1, 80, 102,
+ 71, 105, 126, 126, 126, 55, 2, 65, 8, 19, 65,
+ 84, 8, 11, 64, 0, 68, 69, 64, 80, 79, 92, 5,
+ 66, 69, 4, 73, 67, 81, 0, 74, 72, 80, 5, 2,
+ 22, 0, 0, 0, 4, 96, 97, 10, 75, 69, 14, 69,
+ 85, 39, 20, 12, 51, 57, 24, 27, 15, 27, 9, 9,
+ 31, 80, 75, 75, 81, 24, 65, 19, 28, 67, 72,
+ 67, 18, 1, 74, 73, 82, 18, 68, 8, 64, 68, 7,
+ 65, 8, 8, 8, 14, 21, 12, 4, 9, 62, 62, 62, 57,
+ 8, 64, 3, 12, 64, 11, 12, 4, 68, 34, 67, 104,
+ 100, 52, 9, 16, 5, 6, 10, 17, 45, 26, 12, 65,
+ 1, 2, 18, 22, 102, 3, 5, 79, 64, 72, 8, 7, 70,
+ 19, 12, 12, 87, 8, 77, 73, 6, 89, 8, 9, 6, 75,
+ 93, 1, 73, 69, 74, 89, 84, 72, 126, 62, 126,
+ 82, 86, 92, 104, 93, 102, 123, 112, 110, 91,
+ 115, 85, 62, 106, 2, 4, 66, 71, 72, 71, 75,
+ 75, 76, 91, 91, 88, 91, 93, 117, 75, 77, 98,
+ 71, 78, 79, 85, 89, 94, 92, 96, 96, 84, 98,
+ 101, 93, 89, 12, 32, 21, 10, 11, 15, 7, 3, 3,
+ 26, 18, 32, 24, 21, 17, 26, 17, 22, 18, 15,
+ 16, 46, 38, 33, 29, 33, 13, 5, 3, 1, 71, 53,
+ 29, 4, 65, 14, 2, 73, 68, 4, 41, 29, 11, 2,
+ 19, 5, 4, 67, 67, 62, 70, 0, 6, 6, 5, 3, 13,
+ 17, 6, 15, 18, 28, 68, 0, 74, 66, 23, 73, 74,
+ 71, 2, 3, 69, 77, 69, 79, 69, 71, 87, 13, 12,
+ 28, 5, 66, 12, 7, 1, 6, 5, 1, 74, 0, 65, 69,
+ 67, 15, 96, 79, 16, 82, 65, 72, 67, 10, 72,
+ 75, 4, 6, 89, 73, 97, 20, 22, 27, 7, 65, 2,
+ 64, 69, 72, 80, 81, 82, 94, 90, 93, 110, 102,
+ 109, 126, 102, 101, 97, 94, 104, 92, 99, 97,
+ 86, 93, 64, 66, 68, 69, 87, 80, 81, 99, 87,
+ 95, 96, 115, 101, 106, 109, 79, 77, 113, 79,
+ 82, 91, 106, 96, 102, 104, 89, 104, 97, 101,
+ 109, 107, 111, 97, 104, 109, 71, 65, 13, 1,
+ 28, 38, 0, 7, 16, 20, 5, 18, 34, 4, 64, 29,
+ 71, 101, 123, 126, 126, 126, 126, 126, 6, 39,
+ 30, 27, 17, 30, 16, 9, 7, 0, 73, 68, 10, 1,
+ 23, 32, 1, 3, 11, 15, 6, 13, 27, 7, 0, 29, 71,
+ 101, 123, 126, 126, 126, 126, 126 },
+
+ {
+
+ 25,
+ 4, 82, 25, 4, 82, 12, 21, 27, 12, 69, 84, 91,
+ 20, 60, 12, 23, 70, 9, 19, 65, 74, 2, 80, 103,
+ 73, 107, 126, 126, 126, 57, 3, 65, 9, 19, 65,
+ 85, 8, 11, 64, 0, 68, 69, 64, 80, 78, 91, 5,
+ 65, 68, 4, 72, 67, 81, 0, 74, 72, 80, 5, 2,
+ 22, 0, 0, 0, 5, 96, 97, 10, 75, 70, 14, 69,
+ 85, 41, 21, 13, 52, 60, 26, 28, 17, 29, 10,
+ 10, 33, 80, 75, 75, 81, 24, 65, 20, 31, 67,
+ 71, 66, 20, 0, 74, 73, 82, 19, 68, 8, 0, 68,
+ 7, 64, 9, 9, 9, 15, 23, 12, 5, 10, 62, 62, 62,
+ 60, 8, 64, 3, 13, 64, 11, 12, 5, 67, 36, 66,
+ 106, 102, 55, 9, 16, 5, 6, 11, 18, 47, 27, 12,
+ 65, 1, 2, 19, 23, 103, 3, 5, 79, 65, 73, 7, 7,
+ 71, 19, 12, 12, 89, 8, 78, 74, 5, 89, 8, 9, 6,
+ 77, 96, 0, 75, 72, 77, 91, 86, 74, 126, 62,
+ 126, 84, 87, 94, 108, 95, 105, 126, 117, 113,
+ 93, 118, 87, 62, 108, 0, 2, 68, 74, 75, 73,
+ 78, 77, 78, 93, 94, 90, 93, 94, 118, 75, 77,
+ 98, 72, 79, 80, 86, 90, 95, 93, 98, 97, 84,
+ 99, 102, 93, 89, 13, 33, 21, 10, 11, 16, 8, 4,
+ 3, 28, 19, 33, 24, 21, 18, 27, 18, 24, 20, 17,
+ 17, 46, 38, 33, 30, 34, 13, 5, 3, 2, 71, 54,
+ 29, 3, 65, 14, 2, 73, 67, 3, 41, 29, 10, 1,
+ 18, 5, 4, 67, 67, 62, 69, 1, 7, 7, 7, 4, 15,
+ 19, 7, 16, 20, 30, 68, 1, 73, 65, 25, 72, 74,
+ 71, 3, 4, 69, 77, 69, 80, 69, 71, 87, 13, 13,
+ 29, 5, 66, 13, 8, 1, 7, 6, 1, 75, 0, 65, 69,
+ 67, 16, 97, 80, 16, 83, 66, 73, 67, 10, 73,
+ 75, 4, 5, 91, 74, 98, 18, 21, 26, 6, 67, 0,
+ 66, 71, 74, 82, 84, 84, 97, 93, 95, 114, 106,
+ 113, 126, 106, 104, 100, 96, 106, 94, 101, 98,
+ 87, 94, 66, 68, 70, 72, 90, 82, 83, 102, 90,
+ 97, 99, 118, 103, 107, 111, 80, 78, 114, 81,
+ 83, 93, 108, 97, 104, 106, 90, 106, 98, 102,
+ 110, 108, 112, 99, 105, 110, 71, 64, 13, 1,
+ 29, 39, 0, 7, 17, 21, 5, 19, 35, 4, 64, 28,
+ 73, 103, 126, 126, 126, 126, 126, 126, 6, 39,
+ 30, 27, 17, 31, 17, 9, 7, 0, 72, 67, 10, 2,
+ 24, 33, 2, 4, 11, 15, 6, 13, 28, 7, 0, 28, 73,
+ 103, 126, 126, 126, 126, 126, 126 },
+
+ {
+
+ 23,
+ 4, 82, 23, 4, 82, 13, 23, 27, 12, 70, 85, 93,
+ 19, 60, 11, 25, 70, 9, 20, 65, 74, 2, 81, 105,
+ 74, 110, 126, 126, 126, 60, 4, 65, 9, 20, 65,
+ 85, 9, 11, 65, 0, 68, 68, 64, 80, 78, 91, 5,
+ 65, 68, 4, 72, 66, 81, 0, 74, 72, 80, 5, 2,
+ 22, 0, 0, 0, 5, 97, 97, 11, 76, 70, 13, 70,
+ 85, 44, 22, 14, 54, 62, 27, 30, 19, 30, 11,
+ 11, 35, 80, 75, 74, 81, 24, 65, 21, 33, 67,
+ 71, 66, 22, 0, 75, 74, 83, 19, 68, 9, 0, 67,
+ 8, 64, 10, 9, 9, 17, 24, 13, 6, 11, 62, 62,
+ 62, 62, 8, 64, 3, 13, 64, 11, 13, 5, 67, 38,
+ 66, 108, 104, 57, 9, 16, 5, 6, 11, 18, 48, 28,
+ 12, 65, 1, 2, 19, 24, 104, 3, 5, 80, 65, 74,
+ 7, 7, 71, 19, 12, 12, 90, 8, 79, 75, 5, 89, 7,
+ 8, 5, 79, 100, 64, 77, 74, 79, 93, 89, 76,
+ 126, 62, 126, 86, 89, 96, 111, 98, 109, 126,
+ 121, 116, 95, 122, 89, 62, 110, 65, 0, 71, 76,
+ 77, 75, 80, 79, 80, 95, 96, 92, 95, 96, 120,
+ 75, 77, 99, 73, 80, 81, 87, 91, 97, 94, 100,
+ 98, 85, 100, 103, 94, 88, 15, 34, 22, 10, 11,
+ 17, 8, 4, 4, 30, 20, 33, 24, 22, 19, 28, 19,
+ 25, 21, 18, 18, 47, 39, 34, 30, 35, 14, 5, 3,
+ 2, 71, 54, 29, 2, 65, 14, 2, 73, 67, 3, 40,
+ 28, 9, 0, 18, 5, 4, 67, 67, 62, 68, 3, 8, 9,
+ 8, 5, 17, 21, 8, 18, 22, 32, 67, 2, 73, 64,
+ 26, 72, 74, 71, 3, 4, 69, 77, 69, 80, 69, 71,
+ 88, 14, 13, 30, 5, 66, 13, 8, 1, 7, 6, 1, 75,
+ 0, 65, 69, 67, 16, 98, 81, 16, 84, 67, 74, 68,
+ 10, 74, 76, 4, 5, 92, 74, 99, 17, 20, 25, 4,
+ 69, 65, 68, 73, 77, 85, 87, 87, 100, 95, 97,
+ 118, 110, 117, 126, 109, 108, 102, 99, 109,
+ 96, 103, 100, 88, 95, 68, 71, 73, 74, 93, 85,
+ 86, 105, 92, 100, 101, 121, 105, 109, 112, 81,
+ 79, 116, 82, 85, 95, 110, 99, 106, 108, 91,
+ 107, 99, 103, 111, 109, 113, 100, 106, 111,
+ 71, 64, 14, 2, 30, 40, 0, 8, 17, 21, 5, 19,
+ 36, 4, 64, 27, 75, 106, 126, 126, 126, 126,
+ 126, 126, 6, 39, 30, 27, 17, 31, 17, 9, 7, 1,
+ 72, 67, 11, 2, 24, 34, 2, 4, 11, 15, 6, 13,
+ 28, 7, 0, 27, 75, 106, 126, 126, 126, 126,
+ 126, 126 },
+
+ {
+
+ 22,
+ 4, 82, 22, 4, 82, 15, 24, 27, 12, 70, 86, 95,
+ 18, 60, 11, 27, 70, 9, 21, 66, 75, 2, 82, 107,
+ 75, 112, 126, 126, 126, 62, 5, 64, 9, 21, 66,
+ 85, 10, 11, 65, 0, 67, 67, 64, 80, 78, 91, 5,
+ 65, 68, 4, 72, 66, 80, 0, 74, 72, 80, 6, 2,
+ 22, 0, 0, 0, 6, 97, 97, 11, 77, 70, 12, 70,
+ 85, 46, 23, 15, 56, 62, 29, 31, 20, 32, 13,
+ 12, 38, 80, 74, 74, 80, 24, 65, 22, 35, 67,
+ 70, 65, 24, 0, 75, 74, 83, 19, 68, 9, 1, 66,
+ 9, 0, 11, 10, 10, 18, 26, 14, 8, 12, 62, 62,
+ 62, 62, 9, 0, 4, 14, 64, 11, 13, 5, 66, 40,
+ 66, 110, 106, 60, 9, 17, 5, 6, 11, 19, 50, 29,
+ 13, 66, 1, 2, 20, 24, 105, 4, 5, 80, 66, 75,
+ 6, 6, 72, 19, 12, 12, 91, 9, 80, 75, 4, 89, 7,
+ 7, 4, 81, 103, 65, 78, 76, 81, 95, 91, 78,
+ 126, 62, 126, 88, 91, 99, 114, 100, 112, 126,
+ 125, 118, 97, 125, 91, 62, 111, 67, 65, 73,
+ 78, 79, 77, 82, 81, 82, 98, 98, 94, 96, 98,
+ 122, 75, 77, 99, 74, 81, 82, 89, 92, 98, 95,
+ 101, 99, 85, 101, 103, 95, 87, 16, 35, 22, 10,
+ 12, 17, 9, 5, 5, 32, 22, 33, 25, 22, 19, 29,
+ 20, 27, 23, 20, 18, 48, 40, 35, 31, 36, 14, 6,
+ 4, 3, 71, 55, 29, 2, 66, 14, 2, 73, 66, 3, 40,
+ 27, 8, 64, 18, 5, 5, 67, 66, 62, 66, 4, 10,
+ 11, 10, 6, 18, 22, 9, 20, 23, 34, 66, 3, 72,
+ 0, 28, 72, 74, 70, 4, 5, 69, 78, 69, 81, 69,
+ 71, 88, 14, 13, 31, 5, 66, 13, 8, 1, 7, 6, 1,
+ 76, 0, 65, 69, 67, 17, 99, 82, 16, 85, 67, 74,
+ 69, 10, 74, 77, 4, 5, 93, 74, 100, 16, 19, 24,
+ 2, 71, 67, 70, 76, 79, 88, 90, 90, 103, 98,
+ 99, 123, 114, 121, 126, 112, 111, 105, 101,
+ 111, 98, 104, 101, 88, 95, 71, 73, 75, 76, 96,
+ 88, 88, 108, 94, 102, 103, 124, 107, 111, 114,
+ 81, 79, 118, 83, 86, 96, 112, 101, 108, 109,
+ 92, 109, 100, 103, 113, 110, 113, 102, 108,
+ 113, 70, 64, 15, 2, 31, 41, 1, 9, 18, 22, 5,
+ 20, 37, 4, 64, 26, 77, 109, 126, 126, 126,
+ 126, 126, 126, 7, 39, 30, 27, 17, 32, 17, 10,
+ 8, 1, 72, 67, 11, 2, 25, 35, 2, 4, 12, 16, 6,
+ 14, 29, 7, 0, 26, 77, 109, 126, 126, 126, 126,
+ 126, 126 },
+
+ {
+
+ 21,
+ 4, 82, 21, 4, 82, 17, 26, 28, 12, 71, 88, 97,
+ 17, 60, 11, 29, 70, 10, 22, 66, 75, 2, 82,
+ 108, 76, 115, 126, 126, 126, 62, 6, 64, 10,
+ 22, 66, 86, 11, 11, 66, 0, 67, 67, 64, 80, 78,
+ 91, 5, 65, 67, 4, 72, 65, 80, 0, 74, 72, 80,
+ 6, 2, 22, 0, 0, 0, 6, 97, 97, 12, 78, 70, 11,
+ 71, 85, 49, 24, 16, 57, 62, 30, 33, 22, 33,
+ 14, 13, 40, 80, 74, 73, 80, 24, 65, 23, 37,
+ 67, 69, 65, 26, 0, 76, 75, 84, 19, 68, 10, 1,
+ 65, 10, 0, 12, 10, 11, 20, 27, 14, 9, 13, 62,
+ 62, 62, 62, 9, 0, 4, 14, 64, 11, 14, 6, 66,
+ 42, 66, 112, 108, 62, 9, 17, 5, 6, 11, 19, 51,
+ 30, 13, 66, 1, 2, 20, 25, 106, 4, 5, 81, 66,
+ 76, 6, 6, 72, 19, 12, 12, 92, 9, 81, 76, 4,
+ 89, 7, 7, 4, 83, 106, 66, 80, 78, 84, 97, 94,
+ 80, 126, 62, 126, 90, 93, 101, 117, 103, 115,
+ 126, 126, 121, 99, 126, 93, 62, 113, 69, 67,
+ 75, 81, 82, 79, 84, 83, 84, 100, 100, 96, 98,
+ 99, 124, 75, 77, 100, 75, 82, 83, 90, 93, 99,
+ 96, 103, 100, 86, 102, 104, 95, 87, 18, 36,
+ 23, 10, 12, 18, 9, 5, 5, 34, 23, 33, 25, 23,
+ 20, 30, 21, 28, 24, 22, 19, 48, 40, 35, 31,
+ 37, 15, 6, 4, 3, 71, 55, 29, 1, 66, 14, 2, 73,
+ 66, 3, 39, 27, 7, 65, 18, 5, 5, 67, 66, 62,
+ 65, 6, 11, 12, 11, 7, 20, 24, 10, 21, 25, 36,
+ 66, 4, 72, 1, 30, 71, 74, 70, 4, 5, 69, 78,
+ 69, 81, 69, 71, 89, 15, 14, 32, 5, 66, 14, 8,
+ 1, 7, 6, 1, 76, 0, 65, 69, 67, 17, 100, 83,
+ 16, 86, 68, 75, 69, 10, 75, 78, 4, 5, 94, 74,
+ 101, 15, 18, 23, 1, 73, 69, 72, 78, 82, 90,
+ 93, 93, 106, 100, 101, 126, 118, 125, 126,
+ 116, 114, 107, 103, 114, 100, 106, 103, 89,
+ 96, 73, 76, 78, 79, 99, 90, 91, 111, 97, 105,
+ 106, 126, 109, 113, 115, 82, 80, 119, 85, 88,
+ 98, 114, 102, 110, 111, 93, 110, 101, 104,
+ 114, 111, 114, 103, 109, 114, 70, 0, 15, 3,
+ 32, 42, 1, 9, 18, 22, 5, 20, 38, 4, 64, 25,
+ 79, 111, 126, 126, 126, 126, 126, 126, 7, 39,
+ 30, 27, 17, 32, 18, 10, 8, 2, 72, 67, 12, 3,
+ 26, 36, 2, 5, 12, 16, 6, 14, 29, 7, 0, 25, 79,
+ 111, 126, 126, 126, 126, 126, 126 },
+
+ {
+
+ 20,
+ 4, 82, 20, 4, 82, 19, 27, 28, 12, 71, 89, 99,
+ 16, 60, 11, 31, 70, 10, 23, 66, 76, 2, 83,
+ 110, 77, 117, 126, 126, 126, 62, 7, 64, 10,
+ 23, 66, 86, 12, 11, 66, 0, 67, 66, 64, 80, 78,
+ 91, 5, 65, 67, 4, 72, 65, 80, 0, 74, 72, 80,
+ 6, 2, 22, 0, 0, 0, 7, 97, 97, 12, 79, 70, 10,
+ 71, 85, 51, 25, 17, 59, 62, 32, 34, 24, 35,
+ 15, 14, 42, 80, 74, 73, 80, 24, 65, 24, 39,
+ 67, 68, 64, 28, 0, 76, 75, 84, 19, 68, 10, 2,
+ 64, 11, 1, 13, 11, 12, 21, 29, 15, 10, 14, 62,
+ 62, 62, 62, 9, 0, 4, 15, 64, 11, 14, 6, 65,
+ 44, 66, 114, 110, 62, 9, 17, 5, 6, 11, 20, 53,
+ 31, 13, 66, 1, 2, 21, 26, 107, 4, 5, 81, 67,
+ 77, 5, 6, 73, 19, 12, 12, 93, 9, 82, 77, 3,
+ 89, 7, 6, 3, 85, 109, 67, 82, 80, 86, 99, 96,
+ 82, 126, 62, 126, 92, 95, 103, 120, 105, 118,
+ 126, 126, 124, 101, 126, 95, 62, 115, 71, 69,
+ 77, 83, 84, 81, 86, 85, 86, 102, 102, 98, 100,
+ 101, 126, 75, 77, 100, 76, 83, 84, 91, 94,
+ 100, 97, 105, 101, 86, 103, 105, 96, 86, 19,
+ 37, 23, 10, 12, 19, 10, 6, 6, 36, 24, 33, 25,
+ 23, 21, 31, 22, 30, 26, 24, 20, 49, 41, 36,
+ 32, 38, 15, 6, 4, 4, 71, 56, 29, 0, 66, 14, 2,
+ 73, 65, 3, 39, 26, 6, 66, 18, 5, 5, 67, 66,
+ 62, 64, 7, 12, 14, 13, 8, 22, 26, 11, 23, 27,
+ 38, 65, 5, 71, 2, 32, 71, 74, 70, 5, 6, 69,
+ 78, 69, 82, 69, 71, 89, 15, 14, 33, 5, 66, 14,
+ 8, 1, 7, 6, 1, 77, 0, 65, 69, 67, 18, 101, 84,
+ 16, 87, 69, 76, 70, 10, 76, 79, 4, 5, 95, 74,
+ 102, 14, 17, 22, 64, 75, 71, 74, 80, 84, 93,
+ 96, 96, 109, 103, 103, 126, 122, 126, 126,
+ 119, 117, 110, 105, 116, 102, 108, 104, 90,
+ 97, 75, 78, 80, 81, 102, 93, 93, 114, 99, 107,
+ 108, 126, 111, 115, 117, 83, 81, 121, 86, 89,
+ 100, 116, 104, 112, 113, 94, 112, 102, 105,
+ 115, 112, 115, 105, 110, 115, 70, 0, 16, 3,
+ 33, 43, 1, 10, 19, 23, 5, 21, 39, 4, 64, 24,
+ 81, 114, 126, 126, 126, 126, 126, 126, 7, 39,
+ 30, 27, 17, 33, 18, 10, 8, 2, 72, 67, 12, 3,
+ 27, 37, 2, 5, 12, 16, 6, 14, 30, 7, 0, 24, 81,
+ 114, 126, 126, 126, 126, 126, 126 },
+
+ {
+
+ 18,
+ 3, 83, 18, 3, 83, 20, 28, 28, 12, 72, 91, 102,
+ 15, 60, 10, 32, 71, 10, 23, 67, 77, 2, 84,
+ 112, 79, 120, 126, 126, 126, 62, 7, 64, 10,
+ 23, 67, 87, 12, 11, 67, 0, 67, 66, 65, 81, 78,
+ 91, 4, 65, 67, 4, 72, 65, 80, 0, 74, 73, 80,
+ 6, 2, 22, 0, 0, 0, 7, 98, 97, 12, 80, 71, 9,
+ 72, 86, 53, 26, 18, 60, 62, 33, 35, 25, 36,
+ 16, 15, 44, 80, 74, 73, 80, 24, 65, 24, 41,
+ 67, 68, 64, 29, 64, 77, 76, 85, 19, 68, 10, 2,
+ 64, 11, 1, 13, 11, 12, 22, 30, 15, 11, 15, 62,
+ 62, 62, 62, 9, 0, 4, 15, 65, 11, 14, 6, 65,
+ 46, 66, 116, 112, 62, 9, 17, 5, 6, 11, 20, 54,
+ 31, 13, 67, 0, 2, 21, 26, 109, 4, 5, 82, 68,
+ 79, 4, 5, 74, 19, 12, 11, 95, 9, 83, 78, 2,
+ 89, 6, 5, 2, 88, 113, 69, 84, 83, 89, 102, 99,
+ 84, 126, 62, 126, 95, 97, 106, 124, 108, 122,
+ 126, 126, 126, 103, 126, 97, 62, 117, 74, 72,
+ 80, 86, 87, 84, 89, 88, 88, 105, 105, 100,
+ 102, 103, 126, 75, 78, 101, 77, 85, 86, 93,
+ 96, 102, 99, 107, 102, 87, 104, 106, 97, 86,
+ 20, 37, 23, 10, 12, 19, 10, 6, 6, 38, 25, 33,
+ 25, 23, 21, 31, 23, 31, 27, 25, 20, 49, 41,
+ 36, 32, 39, 15, 6, 4, 4, 72, 56, 28, 64, 67,
+ 14, 2, 73, 65, 2, 38, 25, 4, 67, 17, 5, 5, 67,
+ 66, 62, 0, 8, 13, 15, 14, 9, 23, 27, 12, 24,
+ 28, 40, 65, 5, 71, 3, 33, 71, 74, 70, 5, 6,
+ 69, 79, 70, 83, 69, 72, 90, 15, 14, 34, 5, 67,
+ 14, 8, 0, 7, 6, 1, 78, 0, 65, 69, 67, 18, 102,
+ 85, 16, 89, 70, 77, 71, 9, 77, 80, 4, 4, 97,
+ 75, 104, 12, 15, 21, 66, 77, 74, 77, 83, 87,
+ 96, 99, 99, 113, 106, 105, 126, 126, 126, 126,
+ 123, 121, 113, 108, 119, 104, 110, 106, 91,
+ 98, 78, 81, 83, 84, 105, 96, 96, 118, 102,
+ 110, 111, 126, 113, 117, 119, 84, 82, 123, 88,
+ 91, 102, 119, 106, 114, 115, 96, 114, 104,
+ 106, 117, 113, 116, 107, 112, 117, 70, 0, 16,
+ 3, 34, 44, 1, 10, 19, 23, 5, 21, 39, 4, 65,
+ 22, 83, 117, 126, 126, 126, 126, 126, 126, 7,
+ 39, 30, 27, 17, 33, 18, 10, 8, 2, 72, 67, 12,
+ 3, 27, 37, 2, 5, 12, 16, 6, 14, 30, 6, 64, 22,
+ 83, 117, 126, 126, 126, 126, 126, 126 },
+
+ {
+
+ 17,
+ 3, 83, 17, 3, 83, 22, 30, 29, 13, 72, 92, 104,
+ 14, 61, 10, 34, 71, 11, 24, 67, 77, 3, 84,
+ 113, 80, 122, 126, 126, 126, 62, 8, 0, 11, 24,
+ 67, 87, 13, 11, 67, 1, 66, 65, 65, 81, 77, 90,
+ 4, 64, 66, 4, 71, 64, 79, 1, 73, 73, 79, 7, 2,
+ 22, 0, 0, 0, 8, 98, 97, 13, 80, 71, 9, 72, 86,
+ 56, 28, 20, 62, 62, 35, 37, 27, 38, 18, 17,
+ 47, 80, 73, 72, 79, 24, 65, 25, 44, 66, 67, 0,
+ 31, 64, 77, 76, 85, 20, 68, 11, 3, 0, 12, 2,
+ 14, 12, 13, 24, 32, 16, 13, 17, 62, 62, 62,
+ 62, 10, 1, 5, 16, 65, 12, 15, 7, 64, 49, 65,
+ 118, 113, 62, 9, 18, 5, 7, 12, 21, 56, 32, 14,
+ 67, 0, 2, 22, 27, 110, 5, 5, 82, 68, 80, 4, 5,
+ 74, 19, 12, 11, 96, 10, 83, 78, 2, 89, 6, 5,
+ 2, 90, 116, 70, 85, 85, 91, 104, 101, 86, 126,
+ 62, 126, 97, 98, 108, 126, 110, 125, 126, 126,
+ 126, 105, 126, 99, 62, 118, 76, 74, 82, 88,
+ 89, 86, 91, 90, 90, 107, 107, 101, 103, 104,
+ 126, 75, 78, 101, 77, 86, 87, 94, 97, 103,
+ 100, 108, 103, 87, 105, 106, 97, 85, 22, 38,
+ 24, 10, 13, 20, 11, 7, 7, 41, 27, 34, 26, 24,
+ 22, 32, 25, 33, 29, 27, 21, 50, 42, 37, 33,
+ 40, 16, 7, 5, 5, 72, 57, 28, 64, 67, 15, 3,
+ 73, 64, 2, 38, 25, 3, 68, 17, 6, 6, 66, 65,
+ 62, 2, 10, 15, 17, 16, 11, 25, 29, 14, 26, 30,
+ 43, 64, 6, 70, 5, 35, 70, 73, 69, 6, 7, 68,
+ 79, 70, 83, 69, 72, 90, 16, 15, 35, 6, 67, 15,
+ 9, 0, 8, 7, 1, 78, 1, 64, 68, 66, 19, 102, 86,
+ 16, 90, 70, 77, 71, 9, 77, 80, 4, 4, 98, 75,
+ 105, 11, 14, 21, 67, 78, 76, 79, 85, 89, 98,
+ 101, 101, 116, 108, 107, 126, 126, 126, 126,
+ 126, 124, 115, 110, 121, 105, 111, 107, 91,
+ 98, 80, 83, 85, 86, 107, 98, 98, 121, 104,
+ 112, 113, 126, 114, 118, 120, 84, 82, 124, 89,
+ 92, 103, 121, 107, 115, 116, 97, 115, 105,
+ 106, 118, 113, 116, 108, 113, 118, 69, 1, 17,
+ 4, 36, 46, 2, 11, 20, 24, 6, 22, 40, 4, 65,
+ 21, 85, 119, 126, 126, 126, 126, 126, 126, 8,
+ 39, 31, 28, 18, 34, 19, 11, 9, 3, 71, 66, 13,
+ 4, 28, 38, 3, 6, 13, 17, 6, 15, 31, 6, 64, 21,
+ 85, 119, 126, 126, 126, 126, 126, 126 },
+
+ {
+
+ 16,
+ 3, 83, 16, 3, 83, 24, 31, 29, 13, 72, 93, 106,
+ 13, 61, 10, 36, 71, 11, 25, 67, 78, 3, 85,
+ 115, 81, 125, 126, 126, 126, 62, 9, 0, 11, 25,
+ 67, 87, 14, 11, 68, 1, 66, 64, 65, 81, 77, 90,
+ 4, 64, 66, 4, 71, 64, 79, 1, 73, 73, 79, 7, 2,
+ 22, 0, 0, 0, 9, 98, 97, 13, 81, 71, 8, 72, 86,
+ 58, 29, 21, 62, 62, 36, 38, 29, 39, 19, 18,
+ 49, 80, 73, 72, 79, 24, 65, 26, 46, 66, 66, 1,
+ 33, 64, 77, 76, 86, 20, 68, 11, 4, 1, 13, 3,
+ 15, 12, 14, 25, 33, 17, 14, 18, 62, 62, 62,
+ 62, 10, 1, 5, 16, 65, 12, 15, 7, 64, 51, 65,
+ 120, 115, 62, 9, 18, 5, 7, 12, 21, 58, 33, 14,
+ 67, 0, 2, 23, 28, 111, 5, 5, 82, 69, 81, 3, 5,
+ 75, 19, 12, 11, 97, 10, 84, 79, 1, 89, 6, 4,
+ 1, 92, 119, 71, 87, 87, 93, 106, 103, 88, 126,
+ 62, 126, 99, 100, 110, 126, 112, 126, 126,
+ 126, 126, 107, 126, 101, 62, 120, 78, 76, 84,
+ 90, 91, 88, 93, 92, 92, 109, 109, 103, 105,
+ 106, 126, 75, 78, 102, 78, 87, 88, 95, 98,
+ 104, 101, 110, 104, 87, 106, 107, 98, 84, 23,
+ 39, 24, 10, 13, 21, 12, 8, 8, 43, 28, 34, 26,
+ 24, 23, 33, 26, 35, 31, 29, 22, 51, 43, 38,
+ 34, 41, 16, 7, 5, 6, 72, 58, 28, 65, 67, 15,
+ 3, 73, 64, 2, 38, 24, 2, 69, 17, 6, 6, 66, 65,
+ 62, 3, 11, 16, 19, 18, 12, 27, 31, 15, 28, 32,
+ 45, 0, 7, 70, 6, 37, 70, 73, 69, 7, 7, 68, 79,
+ 70, 84, 69, 72, 90, 16, 15, 36, 6, 67, 15, 9,
+ 0, 8, 7, 1, 79, 1, 64, 68, 66, 20, 103, 87,
+ 16, 91, 71, 78, 72, 9, 78, 81, 4, 4, 99, 75,
+ 106, 10, 13, 20, 69, 80, 78, 81, 87, 91, 101,
+ 104, 104, 119, 111, 109, 126, 126, 126, 126,
+ 126, 126, 118, 112, 124, 107, 113, 108, 92,
+ 99, 82, 85, 88, 88, 110, 101, 101, 124, 106,
+ 115, 115, 126, 116, 120, 122, 85, 83, 126, 90,
+ 93, 105, 123, 109, 117, 118, 98, 117, 106,
+ 107, 119, 114, 117, 110, 114, 119, 69, 1, 18,
+ 4, 37, 47, 2, 12, 21, 25, 6, 22, 41, 4, 65,
+ 20, 87, 122, 126, 126, 126, 126, 126, 126, 8,
+ 39, 31, 28, 18, 35, 19, 11, 9, 3, 71, 66, 13,
+ 4, 29, 39, 3, 6, 13, 17, 6, 15, 32, 6, 64, 20,
+ 87, 122, 126, 126, 126, 126, 126, 126 },
+
+ {
+
+ 15,
+ 3, 83, 15, 3, 83, 26, 33, 30, 13, 73, 95, 108,
+ 12, 61, 10, 38, 71, 12, 26, 67, 78, 3, 85,
+ 116, 82, 126, 126, 126, 126, 62, 10, 0, 12,
+ 26, 67, 88, 15, 11, 68, 1, 66, 64, 65, 81, 77,
+ 90, 4, 64, 65, 4, 71, 0, 79, 1, 73, 73, 79, 7,
+ 2, 22, 0, 0, 0, 9, 98, 97, 14, 82, 71, 7, 73,
+ 86, 61, 30, 22, 62, 62, 38, 40, 31, 41, 20,
+ 19, 51, 80, 73, 71, 79, 24, 65, 27, 48, 66,
+ 65, 1, 35, 64, 78, 77, 86, 20, 68, 12, 4, 2,
+ 14, 3, 16, 13, 15, 27, 35, 17, 15, 19, 62, 62,
+ 62, 62, 10, 1, 5, 17, 65, 12, 16, 8, 0, 53,
+ 65, 122, 117, 62, 9, 18, 5, 7, 12, 22, 59, 34,
+ 14, 67, 0, 2, 23, 29, 112, 5, 5, 83, 69, 82,
+ 3, 5, 75, 19, 12, 11, 98, 10, 85, 80, 1, 89,
+ 6, 4, 1, 94, 122, 72, 89, 89, 96, 108, 106,
+ 90, 126, 62, 126, 101, 102, 112, 126, 115,
+ 126, 126, 126, 126, 109, 126, 103, 62, 122,
+ 80, 78, 86, 93, 94, 90, 95, 94, 94, 111, 111,
+ 105, 107, 107, 126, 75, 78, 102, 79, 88, 89,
+ 96, 99, 105, 102, 112, 105, 88, 107, 108, 98,
+ 84, 25, 40, 25, 10, 13, 22, 12, 8, 8, 45, 29,
+ 34, 26, 25, 24, 34, 27, 36, 32, 31, 23, 51,
+ 43, 38, 34, 42, 17, 7, 5, 6, 72, 58, 28, 66,
+ 67, 15, 3, 73, 0, 2, 37, 24, 1, 70, 17, 6, 6,
+ 66, 65, 62, 4, 13, 17, 20, 19, 13, 29, 33, 16,
+ 29, 34, 47, 0, 8, 69, 7, 39, 69, 73, 69, 7, 8,
+ 68, 79, 70, 84, 69, 72, 91, 17, 16, 37, 6, 67,
+ 16, 9, 0, 8, 7, 1, 79, 1, 64, 68, 66, 20, 104,
+ 88, 16, 92, 72, 79, 72, 9, 79, 82, 4, 4, 100,
+ 75, 107, 9, 12, 19, 70, 82, 80, 83, 89, 94,
+ 103, 107, 107, 122, 113, 111, 126, 126, 126,
+ 126, 126, 126, 120, 114, 126, 109, 115, 110,
+ 93, 100, 84, 88, 90, 91, 113, 103, 103, 126,
+ 109, 117, 118, 126, 118, 122, 123, 86, 84,
+ 126, 92, 95, 107, 125, 110, 119, 120, 99, 118,
+ 107, 108, 120, 115, 118, 111, 115, 120, 69, 2,
+ 18, 5, 38, 48, 2, 12, 21, 25, 6, 23, 42, 4,
+ 65, 19, 89, 124, 126, 126, 126, 126, 126, 126,
+ 8, 39, 31, 28, 18, 35, 20, 11, 9, 4, 71, 66,
+ 14, 5, 30, 40, 3, 7, 13, 17, 6, 15, 32, 6, 64,
+ 19, 89, 124, 126, 126, 126, 126, 126, 126 },
+
+ },
+
+ {
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 126, 104, 10, 9, 12, 47, 62,
+ 62, 12, 1, 99, 47, 85, 102, 6, 6, 73, 6, 23, 53,
+ 62, 62, 21, 97, 126, 117, 74, 85, 102, 6, 93,
+ 88, 19, 8, 89, 103, 116, 6, 5, 84, 96, 0, 85,
+ 106, 0, 75, 90, 101, 8, 79, 75, 97, 13, 3, 22,
+ 0, 0, 0, 83, 86, 97, 72, 22, 1, 29, 88, 126,
+ 126, 91, 95, 84, 86, 89, 91, 126, 76, 103, 90,
+ 126, 80, 76, 84, 78, 8, 2, 83, 126, 79, 104, 91,
+ 126, 65, 79, 72, 92, 7, 68, 71, 98, 86, 88, 82,
+ 72, 67, 72, 89, 69, 4, 66, 6, 71, 71, 5, 74, 19,
+ 69, 1, 12, 16, 21, 22, 10, 76, 78, 83, 11, 67,
+ 90, 67, 72, 75, 80, 83, 64, 32, 64, 94, 75, 0,
+ 74, 28, 36, 91, 65, 69, 77, 66, 1, 68, 81, 33,
+ 56, 40, 74, 66, 124, 26, 62, 62, 126, 24, 21,
+ 29, 34, 32, 26, 21, 23, 30, 20, 27, 16, 8, 5, 3,
+ 19, 19, 21, 15, 7, 11, 26, 14, 5, 15, 18, 69,
+ 30, 0, 62, 62, 62, 53, 62, 62, 62, 62, 46, 38,
+ 34, 30, 48, 43, 73, 29, 32, 19, 47, 27, 27, 35,
+ 42, 43, 51, 47, 21, 93, 7, 6, 25, 126, 115, 82,
+ 1, 10, 4, 85, 89, 94, 92, 126, 100, 6, 67, 71,
+ 77, 85, 88, 104, 98, 126, 82, 15, 2, 66, 70, 75,
+ 79, 83, 92, 108, 79, 69, 75, 5, 5, 78, 83, 81,
+ 99, 81, 25, 1, 5, 4, 73, 76, 86, 83, 87, 62,
+ 126, 126, 120, 126, 114, 117, 118, 117, 113,
+ 118, 120, 124, 94, 102, 99, 106, 126, 92, 6, 86,
+ 94, 91, 77, 71, 73, 64, 81, 64, 6, 67, 68, 67,
+ 68, 77, 64, 68, 78, 8, 4, 65, 9, 19, 3, 70, 76,
+ 86, 70, 64, 70, 8, 7, 69, 65, 74, 9, 9, 76, 82,
+ 77, 77, 21, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 52, 62, 62, 62, 62, 62, 62,
+ 48, 62, 62, 46, 25, 18, 9, 79, 62, 62, 62, 62,
+ 48, 48, 38, 41, 47, 45, 35, 22, 35, 16, 1, 32,
+ 37, 39, 40, 47, 33, 34, 22, 21, 3, 11, 3, 78,
+ 123, 10, 7, 2, 30, 13, 2, 78, 74, 72, 72, 75,
+ 71, 0, 70, 75, 72, 67, 10, 4, 11, 68, 62, 62,
+ 62, 62, 56, 51, 40, 25, 64, 71, 26, 19, 14, 7,
+ 4, 0, 67, 68, 79, 78, 74, 72, 72, 75, 71, 0, 70,
+ 75, 72, 67, 10, 4, 11, 68, 62, 62, 62, 62, 56,
+ 51, 40, 25, 64 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 125, 102, 11, 10, 12, 46,
+ 62, 62, 13, 2, 97, 46, 84, 100, 6, 6, 71, 6,
+ 22, 52, 62, 60, 19, 97, 125, 115, 73, 84, 100,
+ 6, 92, 87, 20, 8, 88, 102, 114, 5, 4, 84, 96,
+ 0, 84, 105, 0, 75, 89, 100, 8, 78, 74, 96, 14,
+ 3, 22, 0, 0, 0, 82, 86, 97, 71, 22, 1, 29, 87,
+ 125, 124, 89, 94, 82, 84, 88, 89, 125, 75,
+ 101, 89, 124, 80, 76, 84, 78, 9, 2, 82, 124,
+ 78, 103, 90, 125, 65, 78, 72, 91, 8, 68, 70,
+ 97, 85, 87, 81, 71, 66, 71, 88, 68, 5, 66, 6,
+ 70, 70, 5, 73, 20, 68, 1, 13, 17, 22, 23, 11,
+ 76, 77, 82, 11, 67, 89, 67, 71, 74, 79, 81, 1,
+ 33, 1, 92, 75, 64, 73, 29, 37, 91, 65, 68, 77,
+ 65, 1, 67, 79, 33, 56, 41, 72, 67, 122, 25,
+ 62, 62, 125, 24, 21, 29, 34, 32, 26, 21, 23,
+ 30, 20, 27, 16, 8, 5, 3, 19, 19, 21, 15, 7,
+ 11, 26, 14, 4, 15, 18, 69, 29, 0, 62, 62, 62,
+ 52, 62, 62, 62, 62, 45, 37, 32, 29, 46, 42,
+ 74, 28, 31, 18, 46, 27, 27, 34, 41, 42, 50,
+ 46, 20, 93, 7, 6, 24, 125, 113, 80, 2, 10, 4,
+ 84, 88, 93, 91, 125, 98, 7, 66, 70, 76, 83,
+ 87, 102, 97, 124, 81, 16, 3, 65, 69, 74, 78,
+ 82, 91, 106, 78, 67, 74, 6, 5, 77, 82, 80, 98,
+ 80, 26, 2, 6, 5, 72, 75, 85, 82, 86, 62, 125,
+ 125, 118, 125, 112, 115, 116, 115, 111, 116,
+ 118, 121, 93, 101, 98, 105, 123, 91, 5, 85,
+ 93, 90, 76, 71, 72, 64, 80, 64, 6, 67, 68, 66,
+ 68, 77, 64, 68, 77, 8, 4, 65, 9, 19, 3, 70,
+ 75, 84, 70, 64, 69, 8, 7, 69, 65, 73, 9, 9,
+ 75, 81, 76, 76, 20, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 50, 62, 62,
+ 62, 62, 62, 62, 47, 60, 60, 45, 24, 17, 9, 79,
+ 62, 62, 62, 60, 46, 47, 37, 39, 46, 43, 34,
+ 20, 33, 15, 0, 31, 36, 37, 39, 46, 32, 33, 21,
+ 20, 2, 11, 3, 78, 122, 9, 6, 1, 29, 12, 1, 77,
+ 73, 71, 71, 73, 70, 1, 69, 73, 71, 66, 11, 5,
+ 12, 67, 62, 62, 62, 62, 54, 50, 38, 24, 65,
+ 70, 27, 20, 15, 8, 5, 1, 66, 67, 78, 77, 73,
+ 71, 71, 73, 70, 1, 69, 73, 71, 66, 11, 5, 12,
+ 67, 62, 62, 62, 62, 54, 50, 38, 24, 65 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 123, 101, 11, 10, 12, 44,
+ 60, 62, 14, 2, 95, 44, 84, 99, 6, 6, 70, 5,
+ 21, 51, 60, 57, 17, 98, 123, 114, 73, 84, 99,
+ 6, 92, 86, 20, 8, 87, 101, 113, 4, 3, 84, 96,
+ 0, 84, 104, 0, 75, 89, 100, 8, 78, 74, 95, 14,
+ 3, 22, 0, 0, 0, 81, 86, 97, 71, 21, 1, 29, 86,
+ 124, 122, 88, 93, 80, 82, 87, 88, 123, 74,
+ 100, 88, 122, 81, 76, 84, 78, 9, 2, 81, 122,
+ 78, 102, 89, 123, 65, 78, 72, 91, 8, 68, 70,
+ 96, 85, 86, 81, 71, 66, 71, 87, 67, 5, 66, 6,
+ 70, 70, 5, 73, 20, 68, 1, 13, 17, 22, 23, 11,
+ 77, 76, 81, 10, 67, 89, 67, 70, 74, 79, 80, 2,
+ 34, 3, 90, 76, 65, 73, 29, 37, 92, 65, 68, 78,
+ 64, 1, 67, 78, 33, 56, 41, 71, 68, 121, 24,
+ 62, 62, 124, 24, 21, 29, 33, 31, 26, 21, 23,
+ 29, 19, 26, 16, 8, 5, 3, 18, 18, 20, 15, 7,
+ 11, 25, 13, 3, 14, 17, 69, 28, 64, 62, 62, 62,
+ 50, 60, 62, 62, 62, 44, 35, 30, 27, 44, 40,
+ 75, 27, 30, 16, 45, 26, 26, 33, 39, 40, 48,
+ 44, 18, 93, 6, 5, 22, 124, 112, 79, 3, 10, 4,
+ 83, 87, 92, 90, 123, 97, 8, 65, 69, 75, 82,
+ 86, 101, 96, 122, 80, 16, 3, 65, 69, 73, 77,
+ 81, 90, 105, 78, 66, 73, 6, 5, 76, 81, 80, 97,
+ 79, 26, 3, 6, 5, 71, 74, 84, 81, 85, 62, 124,
+ 123, 116, 123, 111, 114, 114, 113, 110, 114,
+ 116, 119, 92, 100, 97, 104, 120, 91, 4, 85,
+ 92, 89, 76, 71, 72, 64, 80, 64, 5, 67, 68, 65,
+ 68, 77, 64, 68, 77, 8, 4, 65, 8, 18, 3, 70,
+ 75, 83, 71, 64, 68, 7, 7, 69, 65, 73, 9, 9,
+ 75, 80, 76, 76, 18, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 48, 62, 62,
+ 62, 62, 62, 61, 45, 58, 58, 43, 23, 16, 8, 79,
+ 62, 62, 62, 58, 44, 45, 35, 37, 44, 41, 32,
+ 18, 31, 13, 64, 30, 35, 35, 37, 44, 30, 31,
+ 20, 19, 1, 10, 2, 78, 121, 8, 5, 64, 28, 11,
+ 0, 77, 73, 70, 70, 72, 69, 2, 69, 72, 70, 65,
+ 11, 6, 13, 66, 62, 62, 62, 60, 52, 48, 36, 22,
+ 66, 69, 27, 20, 16, 9, 6, 1, 65, 67, 77, 77,
+ 73, 70, 70, 72, 69, 2, 69, 72, 70, 65, 11, 6,
+ 13, 66, 62, 62, 62, 60, 52, 48, 36, 22, 66 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 121, 99, 12, 10, 11, 42, 59,
+ 61, 14, 2, 93, 43, 84, 97, 6, 5, 69, 4, 20,
+ 50, 58, 53, 15, 99, 121, 112, 73, 84, 97, 6,
+ 91, 85, 21, 8, 86, 100, 112, 3, 2, 84, 97, 0,
+ 84, 103, 0, 76, 89, 100, 8, 78, 74, 94, 15, 3,
+ 22, 0, 0, 0, 81, 86, 97, 70, 20, 1, 28, 86,
+ 123, 120, 87, 92, 79, 81, 86, 87, 121, 73, 99,
+ 87, 120, 82, 76, 84, 78, 10, 2, 80, 120, 78,
+ 101, 88, 121, 65, 78, 72, 91, 9, 68, 69, 95,
+ 85, 85, 81, 71, 66, 70, 86, 67, 5, 66, 6, 70,
+ 70, 5, 73, 20, 68, 1, 14, 17, 23, 23, 12, 77,
+ 76, 80, 10, 67, 89, 67, 69, 74, 78, 79, 3, 35,
+ 4, 88, 76, 66, 72, 29, 37, 93, 65, 67, 78, 64,
+ 1, 67, 77, 33, 56, 41, 70, 69, 119, 23, 62,
+ 62, 122, 24, 21, 28, 32, 31, 25, 20, 23, 29,
+ 18, 25, 16, 8, 5, 2, 18, 17, 19, 14, 7, 11,
+ 24, 13, 2, 14, 16, 69, 27, 64, 62, 62, 61, 49,
+ 58, 62, 62, 62, 43, 33, 28, 26, 42, 38, 77,
+ 26, 29, 14, 44, 25, 25, 32, 38, 38, 46, 42,
+ 17, 93, 5, 4, 21, 122, 110, 77, 3, 10, 4, 82,
+ 86, 91, 89, 121, 96, 9, 64, 68, 75, 81, 85,
+ 99, 95, 120, 80, 17, 4, 64, 68, 72, 77, 81,
+ 89, 104, 78, 64, 72, 6, 5, 75, 81, 80, 96, 78,
+ 27, 4, 7, 5, 70, 74, 83, 81, 85, 62, 122, 122,
+ 115, 121, 110, 112, 113, 112, 108, 112, 114,
+ 117, 92, 99, 97, 103, 117, 91, 3, 85, 91, 88,
+ 76, 71, 72, 64, 79, 64, 4, 67, 68, 65, 68, 77,
+ 64, 68, 77, 7, 4, 65, 7, 17, 3, 70, 75, 82,
+ 72, 64, 67, 6, 7, 69, 65, 72, 9, 8, 74, 79,
+ 76, 76, 17, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 46, 62, 62, 62, 62,
+ 62, 59, 43, 56, 55, 41, 22, 15, 7, 79, 62, 62,
+ 62, 56, 42, 43, 34, 35, 42, 39, 30, 16, 29,
+ 11, 65, 29, 34, 33, 36, 42, 29, 29, 18, 17, 0,
+ 9, 1, 78, 120, 7, 3, 65, 27, 10, 64, 77, 72,
+ 70, 70, 71, 68, 3, 69, 71, 69, 64, 12, 7, 13,
+ 65, 62, 62, 62, 58, 50, 46, 34, 20, 67, 69,
+ 28, 21, 17, 9, 7, 2, 65, 66, 77, 77, 72, 70,
+ 70, 71, 68, 3, 69, 71, 69, 64, 12, 7, 13, 65,
+ 62, 62, 62, 58, 50, 46, 34, 20, 67 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 120, 98, 12, 10, 11, 40, 57,
+ 60, 15, 2, 92, 41, 84, 96, 5, 5, 68, 3, 18,
+ 48, 56, 50, 12, 100, 119, 111, 73, 84, 96, 5,
+ 91, 84, 21, 7, 86, 99, 110, 2, 0, 85, 97, 0,
+ 83, 102, 64, 76, 89, 100, 8, 78, 74, 94, 15,
+ 3, 22, 0, 0, 0, 80, 87, 97, 70, 19, 1, 28, 85,
+ 122, 118, 86, 91, 77, 79, 86, 86, 119, 72, 98,
+ 86, 117, 82, 77, 84, 79, 10, 1, 79, 117, 77,
+ 101, 88, 119, 65, 78, 72, 91, 9, 68, 69, 94,
+ 85, 85, 80, 71, 66, 70, 85, 66, 5, 67, 5, 70,
+ 70, 5, 73, 20, 68, 1, 14, 17, 23, 23, 12, 78,
+ 75, 80, 9, 67, 88, 67, 68, 73, 78, 77, 5, 36,
+ 6, 86, 77, 67, 72, 30, 37, 94, 65, 67, 79, 0,
+ 1, 67, 76, 33, 56, 41, 68, 70, 118, 22, 62,
+ 62, 121, 23, 21, 28, 32, 30, 25, 20, 23, 28,
+ 17, 24, 15, 8, 5, 2, 17, 17, 18, 14, 6, 10,
+ 23, 12, 1, 13, 15, 69, 25, 65, 62, 62, 59, 47,
+ 57, 62, 62, 62, 42, 31, 25, 24, 40, 36, 78,
+ 24, 28, 13, 43, 24, 24, 30, 36, 36, 44, 41,
+ 15, 93, 4, 3, 19, 121, 109, 76, 4, 10, 4, 81,
+ 85, 90, 89, 119, 94, 10, 64, 68, 74, 79, 84,
+ 98, 94, 117, 79, 17, 4, 64, 68, 71, 76, 80,
+ 89, 103, 78, 0, 71, 6, 5, 74, 80, 80, 95, 77,
+ 27, 5, 7, 5, 69, 73, 82, 80, 84, 62, 121, 120,
+ 113, 120, 109, 111, 111, 110, 107, 111, 112,
+ 114, 91, 98, 96, 102, 114, 90, 2, 84, 90, 88,
+ 76, 71, 72, 65, 79, 65, 3, 67, 68, 64, 68, 77,
+ 64, 68, 76, 7, 3, 65, 6, 16, 2, 70, 75, 81,
+ 73, 65, 67, 6, 6, 69, 65, 72, 8, 8, 74, 79,
+ 76, 76, 15, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 44, 62, 62, 62, 62,
+ 62, 57, 41, 54, 53, 39, 20, 14, 6, 79, 62, 62,
+ 62, 54, 40, 41, 32, 33, 40, 37, 28, 14, 26,
+ 10, 67, 28, 33, 30, 34, 41, 27, 27, 17, 16,
+ 64, 8, 0, 78, 119, 5, 2, 67, 25, 9, 65, 77,
+ 72, 69, 69, 70, 68, 3, 68, 70, 68, 0, 12, 8,
+ 14, 65, 62, 62, 60, 56, 48, 44, 31, 18, 69,
+ 68, 28, 21, 17, 10, 7, 2, 64, 66, 76, 77, 72,
+ 69, 69, 70, 68, 3, 68, 70, 68, 0, 12, 8, 14,
+ 65, 62, 62, 60, 56, 48, 44, 31, 18, 69 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 118, 96, 12, 10, 10, 38, 56,
+ 59, 16, 2, 90, 39, 83, 94, 5, 5, 67, 2, 17,
+ 47, 54, 47, 10, 100, 117, 110, 73, 83, 94, 5,
+ 91, 83, 21, 7, 85, 98, 109, 1, 64, 85, 97, 0,
+ 83, 101, 64, 76, 89, 100, 8, 77, 74, 93, 16,
+ 3, 22, 0, 0, 0, 80, 87, 97, 69, 18, 1, 27, 85,
+ 120, 115, 85, 90, 76, 78, 85, 85, 117, 71, 97,
+ 85, 115, 83, 77, 84, 79, 10, 1, 78, 115, 77,
+ 100, 87, 117, 65, 78, 72, 90, 9, 68, 68, 93,
+ 84, 84, 80, 71, 65, 69, 84, 66, 5, 67, 5, 69,
+ 70, 5, 73, 21, 68, 1, 15, 18, 23, 23, 12, 78,
+ 75, 79, 9, 67, 88, 67, 67, 73, 77, 76, 6, 37,
+ 7, 84, 77, 68, 71, 30, 37, 95, 65, 66, 79, 1,
+ 1, 67, 74, 33, 56, 41, 67, 71, 116, 21, 62,
+ 62, 120, 23, 21, 27, 31, 30, 25, 19, 23, 28,
+ 16, 23, 15, 8, 5, 2, 17, 16, 17, 13, 6, 10,
+ 22, 12, 0, 12, 15, 69, 24, 65, 62, 62, 58, 46,
+ 55, 62, 62, 62, 41, 29, 23, 23, 38, 34, 79,
+ 23, 27, 11, 42, 23, 23, 29, 35, 34, 42, 39,
+ 14, 93, 3, 2, 17, 119, 107, 75, 4, 10, 4, 80,
+ 84, 89, 88, 117, 93, 11, 0, 67, 73, 78, 83,
+ 96, 93, 115, 78, 18, 5, 0, 67, 70, 75, 80, 88,
+ 102, 77, 1, 70, 6, 5, 73, 80, 79, 94, 76, 27,
+ 6, 7, 5, 68, 72, 81, 80, 83, 62, 120, 119,
+ 112, 118, 108, 109, 110, 108, 105, 109, 110,
+ 112, 90, 97, 95, 101, 111, 90, 1, 84, 89, 87,
+ 76, 71, 72, 65, 78, 65, 2, 67, 68, 0, 68, 77,
+ 64, 68, 76, 6, 3, 65, 5, 15, 2, 70, 75, 80,
+ 73, 65, 66, 5, 6, 69, 65, 72, 8, 7, 74, 78,
+ 76, 76, 14, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 42, 62, 62, 62, 62,
+ 62, 55, 40, 52, 50, 37, 19, 13, 5, 79, 62, 62,
+ 62, 52, 38, 39, 31, 31, 38, 35, 26, 12, 24, 8,
+ 68, 27, 32, 28, 33, 39, 26, 25, 16, 15, 65, 7,
+ 64, 78, 118, 4, 1, 68, 24, 8, 66, 77, 71, 69,
+ 68, 69, 67, 4, 68, 69, 67, 1, 13, 9, 14, 64,
+ 62, 62, 58, 54, 46, 42, 29, 16, 70, 68, 29,
+ 22, 18, 11, 8, 3, 64, 66, 75, 77, 71, 69, 68,
+ 69, 67, 4, 68, 69, 67, 1, 13, 9, 14, 64, 62,
+ 62, 58, 54, 46, 42, 29, 16, 70 },
+
+ {
+
+ 62,
+ 9, 75, 62, 9, 75, 116, 95, 13, 10, 10, 37, 54,
+ 58, 16, 3, 88, 38, 83, 93, 5, 4, 66, 1, 16,
+ 46, 53, 43, 8, 101, 115, 108, 73, 83, 93, 5,
+ 90, 82, 22, 7, 84, 97, 108, 64, 65, 85, 98, 0,
+ 83, 101, 64, 77, 88, 100, 7, 77, 74, 92, 16,
+ 3, 22, 0, 0, 0, 79, 87, 97, 69, 18, 0, 27, 84,
+ 119, 113, 84, 89, 74, 76, 84, 84, 115, 70, 96,
+ 85, 113, 84, 77, 84, 79, 11, 1, 77, 113, 77,
+ 99, 86, 115, 65, 78, 72, 90, 10, 69, 68, 93,
+ 84, 83, 80, 70, 65, 69, 83, 65, 5, 67, 5, 69,
+ 70, 5, 73, 21, 68, 1, 15, 18, 24, 24, 13, 79,
+ 74, 78, 8, 67, 88, 67, 66, 73, 77, 75, 7, 37,
+ 9, 83, 78, 69, 71, 30, 37, 95, 66, 66, 80, 1,
+ 0, 66, 73, 33, 56, 42, 66, 72, 115, 20, 62,
+ 62, 118, 23, 21, 27, 30, 29, 24, 19, 22, 27,
+ 16, 23, 15, 7, 5, 1, 16, 15, 16, 13, 6, 10,
+ 22, 11, 65, 12, 14, 69, 23, 66, 62, 62, 56,
+ 44, 53, 62, 62, 62, 39, 27, 21, 21, 36, 32,
+ 81, 22, 25, 9, 40, 22, 22, 28, 33, 32, 40, 37,
+ 12, 93, 2, 1, 16, 118, 106, 73, 5, 10, 4, 79,
+ 84, 89, 87, 116, 92, 12, 1, 66, 73, 77, 82,
+ 95, 92, 113, 78, 18, 5, 0, 67, 69, 75, 79, 87,
+ 101, 77, 3, 69, 6, 5, 73, 79, 79, 94, 76, 28,
+ 6, 8, 5, 67, 72, 81, 79, 83, 62, 118, 117,
+ 110, 116, 106, 108, 108, 107, 104, 107, 108,
+ 110, 90, 96, 95, 101, 108, 90, 0, 84, 89, 86,
+ 76, 71, 72, 65, 78, 65, 1, 67, 68, 0, 68, 77,
+ 64, 68, 76, 6, 3, 65, 4, 14, 2, 70, 75, 79,
+ 74, 65, 65, 4, 6, 69, 65, 71, 8, 7, 73, 77,
+ 76, 76, 12, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 40, 62, 62, 62, 62,
+ 62, 52, 38, 50, 48, 35, 18, 12, 4, 79, 62, 62,
+ 62, 50, 36, 38, 29, 29, 36, 32, 24, 10, 22, 6,
+ 69, 26, 30, 26, 31, 37, 24, 23, 14, 13, 66, 6,
+ 65, 79, 117, 3, 64, 70, 23, 6, 67, 76, 71, 68,
+ 68, 68, 66, 5, 68, 68, 66, 2, 13, 10, 15, 0,
+ 62, 62, 56, 52, 44, 40, 27, 14, 71, 67, 29,
+ 22, 19, 11, 9, 3, 0, 65, 75, 76, 71, 68, 68,
+ 68, 66, 5, 68, 68, 66, 2, 13, 10, 15, 0, 62,
+ 62, 56, 52, 44, 40, 27, 14, 71 },
+
+ {
+
+ 62,
+ 9, 75, 62, 9, 75, 114, 93, 13, 10, 9, 35, 53,
+ 57, 17, 3, 87, 36, 83, 91, 4, 4, 65, 0, 15,
+ 45, 51, 40, 5, 102, 113, 107, 73, 83, 91, 4,
+ 90, 81, 22, 7, 84, 96, 106, 65, 66, 85, 98, 0,
+ 82, 100, 65, 77, 88, 100, 7, 77, 74, 91, 17,
+ 3, 22, 0, 0, 0, 79, 87, 97, 68, 17, 0, 26, 84,
+ 118, 111, 83, 88, 73, 75, 83, 83, 113, 69, 95,
+ 84, 110, 84, 78, 84, 80, 11, 1, 76, 110, 76,
+ 99, 86, 113, 65, 78, 72, 90, 10, 69, 67, 92,
+ 84, 82, 79, 70, 65, 68, 82, 65, 5, 68, 5, 69,
+ 70, 5, 73, 21, 68, 1, 16, 18, 24, 24, 13, 79,
+ 74, 78, 8, 67, 87, 67, 65, 72, 76, 73, 9, 38,
+ 10, 81, 78, 70, 70, 31, 37, 96, 66, 65, 80, 2,
+ 0, 66, 72, 33, 56, 42, 64, 73, 113, 19, 62,
+ 62, 117, 23, 21, 26, 30, 29, 24, 18, 22, 27,
+ 15, 22, 15, 7, 5, 1, 16, 15, 15, 12, 6, 10,
+ 21, 11, 66, 11, 13, 69, 22, 66, 62, 62, 54,
+ 43, 52, 62, 62, 62, 38, 25, 19, 20, 34, 30,
+ 82, 21, 24, 8, 39, 21, 21, 26, 32, 30, 38, 36,
+ 11, 93, 1, 0, 14, 116, 104, 72, 5, 10, 4, 78,
+ 83, 88, 87, 114, 90, 13, 2, 66, 72, 75, 81,
+ 93, 91, 110, 77, 19, 6, 1, 66, 68, 74, 79, 86,
+ 100, 77, 4, 68, 6, 5, 72, 79, 79, 93, 75, 28,
+ 7, 8, 5, 66, 71, 80, 79, 82, 62, 117, 116,
+ 109, 115, 105, 106, 107, 105, 102, 105, 106,
+ 107, 89, 95, 94, 100, 105, 89, 64, 83, 88, 85,
+ 76, 71, 72, 65, 77, 66, 0, 67, 68, 1, 68, 77,
+ 64, 68, 75, 5, 2, 65, 3, 13, 1, 70, 75, 78,
+ 75, 66, 64, 4, 5, 69, 65, 71, 7, 6, 73, 77,
+ 76, 76, 11, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 38, 62, 62, 62, 62,
+ 62, 50, 36, 48, 45, 33, 17, 11, 3, 79, 62, 61,
+ 62, 48, 34, 36, 28, 27, 34, 30, 22, 8, 20, 5,
+ 71, 25, 29, 24, 30, 36, 23, 21, 13, 12, 67, 5,
+ 66, 79, 116, 1, 65, 71, 21, 5, 68, 76, 70, 68,
+ 67, 67, 65, 5, 67, 67, 65, 3, 14, 11, 15, 0,
+ 62, 60, 54, 50, 42, 38, 24, 12, 72, 67, 30,
+ 23, 19, 12, 10, 4, 0, 65, 74, 76, 70, 68, 67,
+ 67, 65, 5, 67, 67, 65, 3, 14, 11, 15, 0, 62,
+ 60, 54, 50, 42, 38, 24, 12, 72 },
+
+ {
+
+ 62,
+ 8, 75, 62, 8, 75, 113, 92, 13, 10, 9, 33, 51,
+ 56, 17, 3, 85, 34, 83, 90, 4, 3, 64, 64, 13,
+ 43, 49, 36, 3, 103, 111, 106, 73, 83, 90, 4,
+ 90, 81, 22, 6, 83, 95, 105, 66, 68, 86, 99, 0,
+ 82, 99, 65, 78, 88, 100, 7, 77, 74, 91, 17, 3,
+ 22, 0, 0, 0, 78, 88, 97, 68, 16, 0, 26, 83,
+ 117, 109, 82, 88, 71, 73, 83, 82, 111, 69, 94,
+ 83, 108, 85, 78, 85, 80, 11, 0, 76, 108, 76,
+ 98, 85, 112, 65, 78, 72, 90, 10, 69, 67, 91,
+ 84, 82, 79, 70, 65, 68, 81, 64, 5, 68, 4, 69,
+ 70, 4, 73, 21, 68, 1, 16, 18, 24, 24, 13, 80,
+ 73, 77, 7, 67, 87, 67, 64, 72, 76, 72, 10, 39,
+ 12, 79, 79, 71, 70, 31, 37, 97, 66, 65, 81, 2,
+ 0, 66, 71, 33, 56, 42, 0, 74, 112, 18, 59, 62,
+ 116, 22, 21, 26, 29, 28, 23, 18, 22, 26, 14,
+ 21, 14, 7, 4, 0, 15, 14, 14, 12, 5, 9, 20, 10,
+ 67, 10, 12, 69, 20, 67, 62, 62, 52, 41, 50,
+ 60, 62, 62, 37, 23, 16, 18, 31, 28, 84, 19,
+ 23, 6, 38, 20, 20, 25, 30, 28, 36, 34, 9, 93,
+ 0, 64, 12, 115, 103, 71, 6, 10, 4, 78, 82, 87,
+ 86, 112, 89, 13, 2, 65, 72, 74, 80, 92, 90,
+ 108, 77, 19, 6, 1, 66, 68, 74, 78, 86, 99, 77,
+ 5, 67, 6, 5, 71, 78, 79, 92, 74, 28, 8, 8, 5,
+ 65, 71, 79, 78, 82, 62, 116, 114, 107, 113,
+ 104, 105, 105, 104, 101, 104, 104, 105, 89,
+ 94, 94, 99, 102, 89, 65, 83, 87, 85, 76, 71,
+ 72, 66, 77, 66, 64, 67, 68, 1, 68, 77, 65, 68,
+ 75, 5, 2, 66, 2, 12, 1, 71, 75, 77, 76, 66,
+ 64, 3, 5, 69, 66, 71, 7, 6, 73, 76, 76, 76, 9,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 61, 36, 62, 62, 62, 62, 61, 48, 34,
+ 45, 43, 31, 15, 9, 2, 79, 61, 59, 62, 46, 31,
+ 34, 26, 24, 32, 28, 20, 6, 17, 3, 72, 23, 28,
+ 21, 28, 34, 21, 19, 11, 10, 68, 4, 67, 79,
+ 115, 0, 67, 73, 20, 4, 69, 76, 70, 67, 67, 66,
+ 65, 6, 67, 66, 65, 4, 14, 11, 16, 1, 61, 58,
+ 52, 48, 40, 36, 22, 10, 74, 66, 30, 23, 20,
+ 12, 10, 4, 1, 65, 74, 76, 70, 67, 67, 66, 65,
+ 6, 67, 66, 65, 4, 14, 11, 16, 1, 61, 58, 52,
+ 48, 40, 36, 22, 10, 74 },
+
+ {
+
+ 62,
+ 8, 75, 62, 8, 75, 111, 91, 14, 10, 9, 31, 49,
+ 56, 18, 3, 83, 33, 82, 88, 4, 3, 0, 64, 12,
+ 42, 47, 33, 1, 103, 109, 104, 72, 82, 88, 4,
+ 89, 80, 23, 6, 82, 94, 104, 67, 69, 86, 99, 0,
+ 82, 98, 65, 78, 88, 100, 7, 76, 73, 90, 17, 3,
+ 22, 0, 0, 0, 77, 88, 97, 68, 15, 0, 26, 82,
+ 115, 106, 81, 87, 69, 71, 82, 81, 109, 68, 92,
+ 82, 106, 86, 78, 85, 80, 12, 0, 75, 106, 76,
+ 97, 84, 110, 65, 77, 72, 89, 11, 69, 66, 90,
+ 83, 81, 79, 70, 64, 67, 80, 0, 5, 68, 4, 68,
+ 69, 4, 73, 22, 68, 1, 16, 19, 25, 24, 14, 80,
+ 72, 76, 6, 67, 87, 67, 0, 72, 75, 71, 11, 40,
+ 14, 77, 80, 72, 69, 31, 38, 98, 66, 65, 81, 3,
+ 0, 66, 69, 33, 56, 42, 1, 75, 111, 17, 57, 62,
+ 114, 22, 21, 26, 28, 28, 23, 18, 22, 26, 13,
+ 20, 14, 7, 4, 0, 15, 13, 14, 12, 5, 9, 19, 9,
+ 68, 10, 12, 69, 19, 67, 62, 62, 51, 40, 48,
+ 58, 62, 62, 36, 21, 14, 17, 29, 27, 85, 18,
+ 22, 4, 37, 19, 19, 24, 28, 27, 34, 32, 8, 93,
+ 0, 65, 11, 113, 101, 69, 7, 10, 4, 77, 81, 86,
+ 85, 110, 88, 14, 3, 64, 71, 73, 79, 91, 89,
+ 106, 76, 20, 7, 2, 66, 67, 73, 77, 85, 97, 76,
+ 7, 66, 7, 5, 70, 77, 78, 91, 73, 29, 9, 9, 6,
+ 64, 70, 78, 77, 81, 62, 114, 112, 105, 111,
+ 103, 104, 103, 102, 99, 102, 102, 103, 88, 93,
+ 93, 98, 98, 89, 66, 83, 86, 84, 75, 71, 72,
+ 66, 77, 66, 65, 67, 68, 2, 68, 77, 65, 68, 75,
+ 5, 2, 66, 2, 11, 1, 71, 74, 75, 76, 66, 0, 2,
+ 5, 69, 66, 70, 7, 6, 72, 75, 75, 75, 7, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 58, 34, 62, 62, 62, 62, 58, 46, 33, 43,
+ 41, 30, 14, 8, 1, 79, 59, 57, 60, 44, 29, 32,
+ 25, 22, 30, 26, 18, 4, 15, 1, 73, 22, 27, 19,
+ 27, 32, 20, 17, 10, 9, 69, 3, 67, 79, 114, 64,
+ 68, 75, 19, 3, 70, 76, 69, 66, 66, 64, 64, 7,
+ 67, 65, 64, 5, 15, 12, 17, 2, 60, 57, 50, 46,
+ 38, 34, 20, 8, 75, 65, 30, 24, 21, 13, 11, 5,
+ 2, 64, 73, 76, 69, 66, 66, 64, 64, 7, 67, 65,
+ 64, 5, 15, 12, 17, 2, 60, 57, 50, 46, 38, 34,
+ 20, 8, 75 },
+
+ {
+
+ 62,
+ 8, 75, 62, 8, 75, 109, 89, 14, 10, 8, 29, 48,
+ 55, 19, 3, 82, 31, 82, 87, 3, 3, 1, 65, 11,
+ 41, 45, 30, 65, 104, 107, 103, 72, 82, 87, 3,
+ 89, 79, 23, 6, 82, 93, 102, 68, 70, 86, 99, 0,
+ 81, 97, 66, 78, 88, 100, 7, 76, 73, 89, 18, 3,
+ 22, 0, 0, 0, 77, 88, 97, 67, 14, 0, 25, 82,
+ 114, 104, 80, 86, 68, 70, 81, 80, 107, 67, 91,
+ 81, 103, 86, 79, 85, 81, 12, 0, 74, 103, 75,
+ 97, 84, 108, 65, 77, 72, 89, 11, 69, 66, 89,
+ 83, 80, 78, 70, 64, 67, 79, 0, 5, 69, 4, 68,
+ 69, 4, 73, 22, 68, 1, 17, 19, 25, 24, 14, 81,
+ 72, 76, 6, 67, 86, 67, 1, 71, 75, 69, 13, 41,
+ 15, 75, 80, 73, 69, 32, 38, 99, 66, 64, 82, 4,
+ 0, 66, 68, 33, 56, 42, 3, 76, 109, 16, 54, 62,
+ 113, 22, 21, 25, 28, 27, 23, 17, 22, 25, 12,
+ 19, 14, 7, 4, 0, 14, 13, 13, 11, 5, 9, 18, 9,
+ 69, 9, 11, 69, 18, 68, 60, 62, 49, 38, 47, 56,
+ 62, 62, 35, 19, 12, 15, 27, 25, 86, 17, 21, 3,
+ 36, 18, 18, 22, 27, 25, 32, 31, 6, 93, 64, 66,
+ 9, 112, 100, 68, 7, 10, 4, 76, 80, 85, 85,
+ 108, 86, 15, 4, 64, 70, 71, 78, 89, 88, 103,
+ 75, 20, 7, 2, 65, 66, 72, 77, 84, 96, 76, 8,
+ 65, 7, 5, 69, 77, 78, 90, 72, 29, 10, 9, 6, 0,
+ 69, 77, 77, 80, 62, 113, 111, 104, 110, 102,
+ 102, 102, 100, 98, 100, 100, 100, 87, 92, 92,
+ 97, 95, 88, 67, 82, 85, 83, 75, 71, 72, 66,
+ 76, 67, 66, 67, 68, 3, 68, 77, 65, 68, 74, 4,
+ 1, 66, 1, 10, 0, 71, 74, 74, 77, 67, 1, 2, 4,
+ 69, 66, 70, 6, 5, 72, 75, 75, 75, 6, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 56, 32, 62, 62, 62, 62, 55, 44, 31, 41, 38,
+ 28, 13, 7, 0, 79, 57, 54, 57, 42, 27, 30, 23,
+ 20, 28, 24, 16, 2, 13, 0, 75, 21, 26, 17, 25,
+ 31, 18, 15, 9, 8, 70, 2, 68, 79, 113, 66, 69,
+ 76, 17, 2, 71, 76, 69, 66, 65, 0, 0, 7, 66,
+ 64, 0, 6, 15, 13, 17, 2, 60, 55, 48, 44, 36,
+ 32, 17, 6, 76, 65, 31, 24, 21, 14, 12, 5, 2,
+ 64, 72, 76, 69, 66, 65, 0, 0, 7, 66, 64, 0, 6,
+ 15, 13, 17, 2, 60, 55, 48, 44, 36, 32, 17, 6,
+ 76 },
+
+ {
+
+ 62,
+ 8, 76, 62, 8, 76, 107, 88, 15, 10, 8, 28, 46,
+ 54, 19, 4, 80, 30, 82, 85, 3, 2, 2, 66, 10,
+ 40, 44, 26, 67, 105, 105, 101, 72, 82, 85, 3,
+ 88, 78, 24, 6, 81, 92, 101, 70, 71, 86, 100,
+ 0, 81, 97, 66, 79, 87, 100, 6, 76, 73, 88, 18,
+ 3, 22, 0, 0, 0, 76, 88, 97, 67, 14, 64, 25,
+ 81, 113, 102, 79, 85, 66, 68, 80, 79, 105, 66,
+ 90, 81, 101, 87, 79, 85, 81, 13, 0, 73, 101,
+ 75, 96, 83, 106, 65, 77, 72, 89, 12, 70, 65,
+ 89, 83, 79, 78, 69, 64, 66, 78, 1, 5, 69, 4,
+ 68, 69, 4, 73, 22, 68, 1, 17, 19, 26, 25, 15,
+ 81, 71, 75, 5, 67, 86, 67, 2, 71, 74, 68, 14,
+ 41, 17, 74, 81, 74, 68, 32, 38, 99, 67, 64,
+ 82, 4, 64, 65, 67, 33, 56, 43, 4, 77, 108, 15,
+ 51, 62, 111, 22, 21, 25, 27, 27, 22, 17, 21,
+ 25, 12, 19, 14, 6, 4, 64, 14, 12, 12, 11, 5,
+ 9, 18, 8, 71, 9, 10, 69, 17, 68, 57, 62, 47,
+ 37, 45, 54, 62, 61, 33, 17, 10, 14, 25, 23,
+ 88, 16, 19, 1, 34, 17, 17, 21, 25, 23, 30, 29,
+ 5, 93, 65, 67, 8, 110, 98, 66, 8, 10, 4, 75,
+ 80, 85, 84, 107, 85, 16, 5, 0, 70, 70, 77, 88,
+ 87, 101, 75, 21, 8, 3, 65, 65, 72, 76, 83, 95,
+ 76, 10, 64, 7, 5, 69, 76, 78, 90, 72, 30, 10,
+ 10, 6, 1, 69, 77, 76, 80, 62, 111, 109, 102,
+ 108, 100, 101, 100, 99, 96, 98, 98, 98, 87,
+ 91, 92, 97, 92, 88, 68, 82, 85, 82, 75, 71,
+ 72, 66, 76, 67, 67, 67, 68, 3, 68, 77, 65, 68,
+ 74, 4, 1, 66, 0, 9, 0, 71, 74, 73, 78, 67, 2,
+ 1, 4, 69, 66, 69, 6, 5, 71, 74, 75, 75, 4, 62,
+ 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 53, 30, 62, 62, 62, 62, 53, 41, 29, 39,
+ 36, 26, 12, 6, 64, 79, 55, 52, 55, 40, 25, 29,
+ 22, 18, 26, 21, 14, 0, 11, 65, 76, 20, 24, 15,
+ 24, 29, 17, 13, 7, 6, 71, 1, 69, 80, 112, 67,
+ 71, 78, 16, 0, 72, 75, 68, 65, 65, 1, 1, 8,
+ 66, 0, 1, 7, 16, 14, 18, 3, 59, 53, 46, 42,
+ 34, 30, 15, 4, 77, 64, 31, 25, 22, 14, 13, 6,
+ 3, 0, 72, 75, 68, 65, 65, 1, 1, 8, 66, 0, 1,
+ 7, 16, 14, 18, 3, 59, 53, 46, 42, 34, 30, 15,
+ 4, 77 },
+
+ {
+
+ 62,
+ 8, 76, 62, 8, 76, 106, 86, 15, 10, 7, 26, 45,
+ 53, 20, 4, 78, 28, 82, 84, 3, 2, 3, 67, 8, 38,
+ 42, 23, 69, 106, 103, 100, 72, 82, 84, 3, 88,
+ 77, 24, 5, 80, 91, 100, 71, 73, 87, 100, 0,
+ 81, 96, 66, 79, 87, 100, 6, 76, 73, 88, 19, 3,
+ 22, 0, 0, 0, 76, 89, 97, 66, 13, 64, 24, 81,
+ 112, 100, 78, 84, 65, 67, 80, 78, 103, 65, 89,
+ 80, 99, 88, 79, 85, 81, 13, 64, 72, 99, 75,
+ 95, 82, 104, 65, 77, 72, 89, 12, 70, 65, 88,
+ 83, 79, 78, 69, 64, 66, 77, 1, 5, 69, 3, 68,
+ 69, 4, 73, 22, 68, 1, 18, 19, 26, 25, 15, 82,
+ 71, 74, 5, 67, 86, 67, 3, 71, 74, 67, 15, 42,
+ 18, 72, 81, 75, 68, 32, 38, 100, 67, 0, 83, 5,
+ 64, 65, 66, 33, 56, 43, 5, 78, 106, 14, 48,
+ 60, 110, 21, 21, 24, 26, 26, 22, 16, 21, 24,
+ 11, 18, 13, 6, 4, 64, 13, 11, 11, 10, 4, 8,
+ 17, 8, 72, 8, 9, 69, 15, 69, 55, 62, 45, 35,
+ 43, 52, 62, 58, 32, 15, 7, 12, 23, 21, 89, 14,
+ 18, 64, 33, 16, 16, 20, 24, 21, 28, 27, 3, 93,
+ 66, 68, 6, 109, 97, 65, 8, 10, 4, 74, 79, 84,
+ 83, 105, 84, 17, 5, 1, 69, 69, 76, 86, 86, 99,
+ 74, 21, 8, 3, 64, 64, 71, 76, 83, 94, 76, 11,
+ 0, 7, 5, 68, 76, 78, 89, 71, 30, 11, 10, 6, 2,
+ 68, 76, 76, 79, 62, 110, 108, 101, 106, 99,
+ 99, 99, 97, 95, 97, 96, 96, 86, 90, 91, 96,
+ 89, 88, 69, 82, 84, 82, 75, 71, 72, 67, 75,
+ 67, 68, 67, 68, 4, 68, 77, 65, 68, 74, 3, 1,
+ 66, 64, 8, 0, 71, 74, 72, 79, 67, 2, 0, 4, 69,
+ 66, 69, 6, 4, 71, 73, 75, 75, 3, 62, 60, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 50,
+ 28, 62, 62, 62, 62, 50, 39, 27, 37, 33, 24,
+ 10, 5, 65, 79, 52, 50, 53, 38, 23, 27, 20, 16,
+ 24, 19, 12, 65, 8, 67, 77, 19, 23, 12, 22, 27,
+ 15, 11, 6, 5, 72, 0, 70, 80, 111, 68, 72, 79,
+ 15, 64, 73, 75, 68, 65, 64, 2, 1, 9, 66, 1, 2,
+ 8, 16, 15, 18, 4, 59, 51, 44, 40, 32, 28, 13,
+ 2, 79, 64, 32, 25, 23, 15, 13, 6, 3, 0, 71,
+ 75, 68, 65, 64, 2, 1, 9, 66, 1, 2, 8, 16, 15,
+ 18, 4, 59, 51, 44, 40, 32, 28, 13, 2, 79 },
+
+ {
+
+ 62,
+ 8, 76, 62, 8, 76, 104, 85, 15, 10, 7, 24, 43,
+ 52, 21, 4, 77, 26, 81, 82, 2, 2, 4, 68, 7, 37,
+ 40, 20, 72, 106, 101, 99, 72, 81, 82, 2, 88,
+ 76, 24, 5, 80, 90, 98, 72, 74, 87, 100, 0, 80,
+ 95, 67, 79, 87, 100, 6, 75, 73, 87, 19, 3, 22,
+ 0, 0, 0, 75, 89, 97, 66, 12, 64, 24, 80, 110,
+ 97, 77, 83, 0, 65, 79, 77, 101, 64, 88, 79,
+ 96, 88, 80, 85, 82, 13, 64, 71, 96, 74, 95,
+ 82, 102, 65, 77, 72, 88, 12, 70, 64, 87, 82,
+ 78, 77, 69, 0, 65, 76, 2, 5, 70, 3, 67, 69, 4,
+ 73, 23, 68, 1, 18, 20, 26, 25, 15, 82, 70, 74,
+ 4, 67, 85, 67, 4, 70, 73, 65, 17, 43, 20, 70,
+ 82, 76, 67, 33, 38, 101, 67, 0, 83, 6, 64, 65,
+ 64, 33, 56, 43, 7, 79, 105, 13, 46, 57, 109,
+ 21, 21, 24, 26, 26, 22, 16, 21, 24, 10, 17,
+ 13, 6, 4, 64, 13, 11, 10, 10, 4, 8, 16, 7, 73,
+ 7, 9, 69, 14, 69, 53, 62, 44, 34, 42, 50, 62,
+ 56, 31, 13, 5, 11, 21, 19, 90, 13, 17, 65, 32,
+ 15, 15, 18, 22, 19, 26, 26, 2, 93, 67, 69, 4,
+ 107, 95, 64, 9, 10, 4, 73, 78, 83, 83, 103,
+ 82, 18, 6, 1, 68, 67, 75, 85, 85, 96, 73, 22,
+ 9, 4, 64, 0, 70, 75, 82, 93, 75, 12, 1, 7, 5,
+ 67, 75, 77, 88, 70, 30, 12, 10, 6, 3, 67, 75,
+ 75, 78, 62, 109, 106, 99, 105, 98, 98, 97, 95,
+ 93, 95, 94, 93, 85, 89, 90, 95, 86, 87, 70,
+ 81, 83, 81, 75, 71, 72, 67, 75, 68, 69, 67,
+ 68, 5, 68, 77, 65, 68, 73, 3, 0, 66, 65, 7,
+ 64, 71, 74, 71, 79, 68, 3, 0, 3, 69, 66, 69,
+ 5, 4, 71, 73, 75, 75, 1, 62, 59, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 60, 48, 26, 62,
+ 62, 62, 62, 47, 37, 26, 35, 31, 22, 9, 4, 66,
+ 79, 50, 47, 50, 36, 21, 25, 19, 14, 22, 17,
+ 10, 67, 6, 68, 79, 18, 22, 10, 21, 26, 14, 9,
+ 5, 4, 73, 64, 71, 80, 110, 70, 73, 81, 13, 65,
+ 74, 75, 67, 64, 0, 3, 2, 9, 65, 2, 3, 9, 17,
+ 16, 19, 4, 58, 49, 42, 38, 30, 26, 10, 0, 80,
+ 0, 32, 26, 23, 16, 14, 7, 4, 0, 70, 75, 67,
+ 64, 0, 3, 2, 9, 65, 2, 3, 9, 17, 16, 19, 4,
+ 58, 49, 42, 38, 30, 26, 10, 0, 80 },
+
+ {
+
+ 61,
+ 8, 76, 61, 8, 76, 102, 83, 16, 10, 6, 22, 42,
+ 51, 21, 4, 75, 25, 81, 81, 2, 1, 5, 69, 6, 36,
+ 38, 16, 74, 107, 99, 97, 72, 81, 81, 2, 87,
+ 75, 25, 5, 79, 89, 97, 73, 75, 87, 101, 0, 80,
+ 94, 67, 80, 87, 100, 6, 75, 73, 86, 20, 3, 22,
+ 0, 0, 0, 75, 89, 97, 65, 11, 64, 23, 80, 109,
+ 95, 76, 82, 1, 64, 78, 76, 99, 0, 87, 78, 94,
+ 89, 80, 85, 82, 14, 64, 70, 94, 74, 94, 81,
+ 100, 65, 77, 72, 88, 13, 70, 64, 86, 82, 77,
+ 77, 69, 0, 65, 75, 2, 5, 70, 3, 67, 69, 4, 73,
+ 23, 68, 1, 19, 20, 27, 25, 16, 83, 70, 73, 4,
+ 67, 85, 67, 5, 70, 73, 64, 18, 44, 21, 68, 82,
+ 77, 67, 33, 38, 102, 67, 1, 84, 6, 64, 65, 0,
+ 33, 56, 43, 8, 80, 103, 12, 43, 54, 107, 21,
+ 21, 23, 25, 25, 21, 15, 21, 23, 9, 16, 13, 6,
+ 4, 65, 12, 10, 9, 9, 4, 8, 15, 7, 74, 7, 8,
+ 69, 13, 70, 51, 60, 42, 32, 40, 48, 62, 53,
+ 30, 11, 3, 9, 19, 17, 92, 12, 16, 67, 31, 14,
+ 14, 17, 21, 17, 24, 24, 0, 93, 68, 70, 3, 106,
+ 94, 1, 9, 10, 4, 72, 77, 82, 82, 101, 81, 19,
+ 7, 2, 68, 66, 74, 83, 84, 94, 73, 22, 9, 4, 0,
+ 1, 70, 75, 81, 92, 75, 14, 2, 7, 5, 66, 75,
+ 77, 87, 69, 31, 13, 11, 6, 4, 67, 74, 75, 78,
+ 62, 107, 105, 98, 103, 97, 96, 96, 94, 92, 93,
+ 92, 91, 85, 88, 90, 94, 83, 87, 71, 81, 82,
+ 80, 75, 71, 72, 67, 74, 68, 70, 67, 68, 5, 68,
+ 77, 65, 68, 73, 2, 0, 66, 66, 6, 64, 71, 74,
+ 70, 80, 68, 4, 64, 3, 69, 66, 68, 5, 3, 70,
+ 72, 75, 75, 0, 62, 58, 61, 61, 61, 62, 62, 62,
+ 61, 62, 62, 62, 57, 45, 24, 62, 60, 59, 60,
+ 44, 35, 24, 33, 28, 20, 8, 3, 67, 79, 48, 45,
+ 48, 34, 19, 23, 17, 12, 20, 15, 8, 69, 4, 70,
+ 80, 17, 21, 8, 19, 24, 12, 7, 3, 2, 74, 65,
+ 72, 80, 109, 71, 75, 82, 12, 66, 75, 75, 67,
+ 64, 0, 4, 3, 10, 65, 3, 4, 10, 17, 17, 19, 5,
+ 58, 47, 40, 36, 28, 24, 8, 65, 81, 0, 33, 26,
+ 24, 16, 15, 7, 4, 1, 70, 75, 67, 64, 0, 4, 3,
+ 10, 65, 3, 4, 10, 17, 17, 19, 5, 58, 47, 40,
+ 36, 28, 24, 8, 65, 81 },
+
+ {
+
+ 60,
+ 8, 76, 60, 8, 76, 100, 82, 16, 10, 6, 20, 40,
+ 50, 22, 4, 73, 23, 81, 79, 2, 1, 6, 70, 5, 35,
+ 36, 13, 76, 108, 97, 96, 72, 81, 79, 2, 87,
+ 74, 25, 5, 78, 88, 96, 74, 76, 87, 101, 0, 80,
+ 93, 67, 80, 87, 100, 6, 75, 73, 85, 20, 3, 22,
+ 0, 0, 0, 74, 89, 97, 65, 10, 64, 23, 79, 108,
+ 93, 75, 81, 3, 1, 77, 75, 97, 1, 86, 77, 92,
+ 90, 80, 85, 82, 14, 64, 69, 92, 74, 93, 80,
+ 98, 65, 77, 72, 88, 13, 70, 0, 85, 82, 76, 77,
+ 69, 0, 64, 74, 3, 5, 70, 3, 67, 69, 4, 73, 23,
+ 68, 1, 19, 20, 27, 25, 16, 83, 69, 72, 3, 67,
+ 85, 67, 6, 70, 72, 0, 19, 45, 23, 66, 83, 78,
+ 66, 33, 38, 103, 67, 1, 84, 7, 64, 65, 1, 33,
+ 56, 43, 9, 81, 102, 11, 40, 51, 106, 21, 21,
+ 23, 24, 25, 21, 15, 21, 23, 8, 15, 13, 6, 4,
+ 65, 12, 9, 8, 9, 4, 8, 14, 6, 75, 6, 7, 69,
+ 12, 70, 49, 58, 40, 31, 38, 46, 59, 51, 29, 9,
+ 1, 8, 17, 15, 93, 11, 15, 69, 30, 13, 13, 16,
+ 19, 15, 22, 22, 64, 93, 69, 71, 1, 104, 92, 2,
+ 10, 10, 4, 71, 76, 81, 81, 99, 80, 20, 8, 3,
+ 67, 65, 73, 82, 83, 92, 72, 23, 10, 5, 0, 2,
+ 69, 74, 80, 91, 75, 15, 3, 7, 5, 65, 74, 77,
+ 86, 68, 31, 14, 11, 6, 5, 66, 73, 74, 77, 62,
+ 106, 103, 96, 101, 96, 95, 94, 92, 90, 91, 90,
+ 89, 84, 87, 89, 93, 80, 87, 72, 81, 81, 79,
+ 75, 71, 72, 67, 74, 68, 71, 67, 68, 6, 68, 77,
+ 65, 68, 73, 2, 0, 66, 67, 5, 64, 71, 74, 69,
+ 81, 68, 5, 65, 3, 69, 66, 68, 5, 3, 70, 71,
+ 75, 75, 65, 61, 57, 60, 59, 59, 62, 62, 62,
+ 59, 60, 62, 61, 54, 42, 22, 61, 57, 55, 55,
+ 41, 33, 22, 31, 26, 18, 7, 2, 68, 79, 46, 43,
+ 46, 32, 17, 21, 16, 10, 18, 13, 6, 71, 2, 72,
+ 81, 16, 20, 6, 18, 22, 11, 5, 2, 1, 75, 66,
+ 73, 80, 108, 72, 76, 84, 11, 67, 76, 75, 66,
+ 0, 1, 5, 4, 11, 65, 4, 5, 11, 18, 18, 20, 6,
+ 57, 45, 38, 34, 26, 22, 6, 67, 82, 1, 33, 27,
+ 25, 17, 16, 8, 5, 1, 69, 75, 66, 0, 1, 5, 4,
+ 11, 65, 4, 5, 11, 18, 18, 20, 6, 57, 45, 38,
+ 34, 26, 22, 6, 67, 82 },
+
+ {
+
+ 58,
+ 7, 77, 58, 7, 77, 99, 81, 16, 10, 5, 18, 38,
+ 49, 22, 4, 72, 21, 81, 78, 1, 0, 7, 71, 3, 33,
+ 34, 9, 79, 109, 95, 95, 72, 81, 78, 1, 87, 74,
+ 25, 4, 78, 88, 95, 76, 78, 88, 102, 64, 80,
+ 93, 68, 81, 87, 100, 5, 75, 73, 85, 20, 2, 22,
+ 0, 0, 0, 74, 90, 97, 65, 9, 65, 22, 79, 107,
+ 91, 74, 81, 4, 2, 77, 74, 96, 1, 85, 77, 90,
+ 91, 81, 86, 83, 14, 65, 69, 90, 74, 93, 80,
+ 97, 65, 77, 72, 88, 13, 71, 0, 85, 82, 76, 77,
+ 69, 0, 64, 73, 3, 5, 71, 2, 67, 69, 3, 73, 23,
+ 68, 1, 19, 20, 27, 25, 16, 84, 69, 72, 2, 67,
+ 85, 68, 6, 70, 72, 1, 20, 45, 24, 65, 84, 80,
+ 66, 33, 38, 104, 68, 1, 85, 7, 65, 65, 2, 33,
+ 55, 43, 10, 82, 101, 9, 37, 47, 105, 20, 21,
+ 22, 23, 24, 20, 14, 20, 22, 7, 14, 12, 5, 3,
+ 66, 11, 8, 7, 8, 3, 7, 13, 5, 77, 5, 6, 69,
+ 10, 71, 46, 55, 38, 29, 36, 43, 55, 48, 27, 7,
+ 65, 6, 14, 13, 95, 9, 13, 71, 28, 12, 12, 14,
+ 17, 13, 20, 20, 66, 93, 70, 72, 64, 103, 91,
+ 3, 10, 10, 4, 71, 76, 81, 81, 98, 79, 20, 8,
+ 3, 67, 64, 72, 81, 83, 90, 72, 23, 10, 5, 0,
+ 2, 69, 74, 80, 90, 75, 16, 4, 7, 4, 65, 74,
+ 77, 86, 68, 31, 14, 11, 6, 6, 66, 73, 74, 77,
+ 62, 105, 102, 95, 100, 95, 94, 93, 91, 89, 90,
+ 89, 87, 84, 87, 89, 93, 77, 87, 74, 81, 81,
+ 79, 75, 71, 72, 68, 74, 69, 72, 68, 68, 6, 69,
+ 77, 66, 68, 73, 1, 64, 67, 68, 4, 65, 72, 74,
+ 68, 82, 69, 5, 66, 2, 69, 67, 68, 4, 2, 70,
+ 71, 75, 75, 67, 59, 56, 58, 57, 56, 62, 62,
+ 62, 56, 57, 62, 58, 50, 39, 20, 57, 53, 51,
+ 49, 38, 30, 20, 28, 23, 16, 5, 0, 69, 79, 43,
+ 40, 43, 30, 14, 19, 14, 7, 16, 10, 4, 74, 64,
+ 74, 83, 14, 18, 3, 16, 20, 9, 3, 0, 64, 76,
+ 67, 74, 81, 107, 74, 78, 86, 9, 69, 78, 75,
+ 66, 0, 1, 6, 4, 11, 65, 5, 5, 12, 18, 18, 20,
+ 6, 56, 43, 36, 31, 23, 20, 3, 69, 84, 1, 33,
+ 27, 25, 17, 16, 8, 5, 1, 69, 75, 66, 0, 1, 6,
+ 4, 11, 65, 5, 5, 12, 18, 18, 20, 6, 56, 43,
+ 36, 31, 23, 20, 3, 69, 84 },
+
+ {
+
+ 57,
+ 7, 77, 57, 7, 77, 97, 79, 17, 11, 5, 17, 37,
+ 49, 23, 5, 70, 20, 80, 76, 1, 0, 9, 71, 2, 32,
+ 33, 6, 81, 109, 93, 93, 71, 80, 76, 1, 86, 73,
+ 26, 4, 77, 87, 93, 77, 79, 88, 102, 64, 79,
+ 92, 68, 81, 86, 99, 5, 74, 72, 84, 21, 2, 22,
+ 0, 0, 0, 73, 90, 97, 64, 9, 65, 22, 78, 105,
+ 88, 72, 80, 6, 4, 76, 72, 94, 2, 83, 76, 87,
+ 91, 81, 86, 83, 15, 65, 68, 87, 73, 92, 79,
+ 95, 65, 76, 72, 87, 14, 71, 1, 84, 81, 75, 76,
+ 68, 1, 0, 72, 4, 6, 71, 2, 66, 68, 3, 72, 24,
+ 67, 1, 20, 21, 28, 26, 17, 84, 68, 71, 2, 67,
+ 84, 68, 7, 69, 71, 3, 22, 46, 26, 0, 84, 81,
+ 65, 34, 39, 104, 68, 2, 85, 8, 65, 64, 4, 33,
+ 55, 44, 12, 83, 99, 8, 35, 44, 103, 20, 21,
+ 22, 23, 24, 20, 14, 20, 22, 7, 14, 12, 5, 3,
+ 66, 11, 8, 7, 8, 3, 7, 13, 5, 78, 5, 6, 69, 9,
+ 71, 44, 53, 37, 28, 35, 41, 52, 46, 26, 6, 67,
+ 5, 12, 12, 96, 8, 12, 72, 27, 12, 12, 13, 16,
+ 12, 19, 19, 67, 93, 70, 72, 65, 101, 89, 5,
+ 11, 10, 4, 70, 75, 80, 80, 96, 77, 21, 9, 4,
+ 66, 1, 71, 79, 82, 87, 71, 24, 11, 6, 1, 3,
+ 68, 73, 79, 88, 74, 18, 5, 8, 4, 64, 73, 76,
+ 85, 67, 32, 15, 12, 7, 7, 65, 72, 73, 76, 62,
+ 103, 100, 93, 98, 93, 92, 91, 89, 87, 88, 87,
+ 84, 83, 86, 88, 92, 73, 86, 75, 80, 80, 78,
+ 74, 71, 71, 68, 73, 69, 72, 68, 68, 7, 69, 77,
+ 66, 68, 72, 1, 64, 67, 68, 4, 65, 72, 73, 66,
+ 82, 69, 6, 66, 2, 69, 67, 67, 4, 2, 69, 70,
+ 74, 74, 68, 58, 55, 57, 56, 54, 60, 60, 59,
+ 54, 55, 59, 56, 47, 37, 18, 54, 50, 48, 44,
+ 36, 28, 19, 26, 21, 15, 4, 64, 69, 79, 41, 38,
+ 41, 28, 12, 18, 13, 5, 15, 8, 3, 76, 66, 75,
+ 84, 13, 17, 1, 15, 19, 8, 2, 64, 65, 77, 67,
+ 74, 81, 106, 75, 79, 87, 8, 70, 79, 74, 65, 1,
+ 2, 8, 5, 12, 64, 7, 6, 13, 19, 19, 21, 7, 56,
+ 42, 35, 29, 21, 19, 1, 70, 85, 2, 34, 28, 26,
+ 18, 17, 9, 6, 2, 68, 74, 65, 1, 2, 8, 5, 12,
+ 64, 7, 6, 13, 19, 19, 21, 7, 56, 42, 35, 29,
+ 21, 19, 1, 70, 85 },
+
+ {
+
+ 56,
+ 7, 77, 56, 7, 77, 95, 78, 17, 11, 5, 15, 35,
+ 48, 24, 5, 68, 18, 80, 75, 1, 0, 10, 72, 1,
+ 31, 31, 3, 83, 110, 91, 92, 71, 80, 75, 1, 86,
+ 72, 26, 4, 76, 86, 92, 78, 80, 88, 102, 64,
+ 79, 91, 68, 81, 86, 99, 5, 74, 72, 83, 21, 2,
+ 22, 0, 0, 0, 72, 90, 97, 64, 8, 65, 22, 77,
+ 104, 86, 71, 79, 8, 6, 75, 71, 92, 3, 82, 75,
+ 85, 92, 81, 86, 83, 15, 65, 67, 85, 73, 91,
+ 78, 93, 65, 76, 72, 87, 14, 71, 1, 83, 81, 74,
+ 76, 68, 1, 0, 71, 5, 6, 71, 2, 66, 68, 3, 72,
+ 24, 67, 1, 20, 21, 28, 26, 17, 85, 67, 70, 1,
+ 67, 84, 68, 8, 69, 71, 4, 23, 47, 28, 2, 85,
+ 82, 65, 34, 39, 105, 68, 2, 86, 9, 65, 64, 5,
+ 33, 55, 44, 13, 84, 98, 7, 32, 41, 102, 20,
+ 21, 22, 22, 23, 20, 14, 20, 21, 6, 13, 12, 5,
+ 3, 66, 10, 7, 6, 8, 3, 7, 12, 4, 79, 4, 5, 69,
+ 8, 72, 42, 51, 35, 26, 33, 39, 49, 44, 25, 4,
+ 69, 3, 10, 10, 97, 7, 11, 74, 26, 11, 11, 12,
+ 14, 10, 17, 17, 69, 93, 71, 73, 67, 100, 88,
+ 6, 12, 10, 4, 69, 74, 79, 79, 94, 76, 22, 10,
+ 5, 65, 2, 70, 78, 81, 85, 70, 24, 11, 6, 1, 4,
+ 67, 72, 78, 87, 74, 19, 6, 8, 4, 0, 72, 76,
+ 84, 66, 32, 16, 12, 7, 8, 64, 71, 72, 75, 62,
+ 102, 98, 91, 96, 92, 91, 89, 87, 86, 86, 85,
+ 82, 82, 85, 87, 91, 70, 86, 76, 80, 79, 77,
+ 74, 71, 71, 68, 73, 69, 73, 68, 68, 8, 69, 77,
+ 66, 68, 72, 1, 64, 67, 69, 3, 65, 72, 73, 65,
+ 83, 69, 7, 67, 2, 69, 67, 67, 4, 2, 69, 69,
+ 74, 74, 70, 57, 54, 56, 54, 52, 57, 57, 56,
+ 52, 52, 56, 53, 44, 34, 16, 50, 46, 44, 39,
+ 33, 26, 17, 24, 19, 13, 3, 65, 70, 79, 39, 36,
+ 39, 26, 10, 16, 11, 3, 13, 6, 1, 78, 68, 77,
+ 85, 12, 16, 64, 13, 17, 6, 0, 65, 66, 78, 68,
+ 75, 81, 105, 76, 80, 89, 7, 71, 80, 74, 65, 2,
+ 3, 9, 6, 13, 64, 8, 7, 14, 19, 20, 22, 8, 55,
+ 40, 33, 27, 19, 17, 64, 72, 86, 3, 34, 28, 27,
+ 19, 18, 9, 7, 2, 67, 74, 65, 2, 3, 9, 6, 13,
+ 64, 8, 7, 14, 19, 20, 22, 8, 55, 40, 33, 27,
+ 19, 17, 64, 72, 86 },
+
+ {
+
+ 55,
+ 7, 77, 55, 7, 77, 93, 76, 18, 11, 4, 13, 34,
+ 47, 24, 5, 66, 17, 80, 73, 1, 64, 11, 73, 0,
+ 30, 29, 64, 85, 111, 89, 90, 71, 80, 73, 1,
+ 85, 71, 27, 4, 75, 85, 91, 79, 81, 88, 103,
+ 64, 79, 90, 68, 82, 86, 99, 5, 74, 72, 82, 22,
+ 2, 22, 0, 0, 0, 72, 90, 97, 0, 7, 65, 21, 77,
+ 103, 84, 70, 78, 9, 7, 74, 70, 90, 4, 81, 74,
+ 83, 93, 81, 86, 83, 16, 65, 66, 83, 73, 90,
+ 77, 91, 65, 76, 72, 87, 15, 71, 2, 82, 81, 73,
+ 76, 68, 1, 1, 70, 5, 6, 71, 2, 66, 68, 3, 72,
+ 24, 67, 1, 21, 21, 29, 26, 18, 85, 67, 69, 1,
+ 67, 84, 68, 9, 69, 70, 5, 24, 48, 29, 4, 85,
+ 83, 64, 34, 39, 106, 68, 3, 86, 9, 65, 64, 6,
+ 33, 55, 44, 14, 85, 96, 6, 29, 38, 100, 20,
+ 21, 21, 21, 23, 19, 13, 20, 21, 5, 12, 12, 5,
+ 3, 67, 10, 6, 5, 7, 3, 7, 11, 4, 80, 4, 4, 69,
+ 7, 72, 40, 49, 33, 25, 31, 37, 46, 41, 24, 2,
+ 71, 2, 8, 8, 99, 6, 10, 76, 25, 10, 10, 11,
+ 13, 8, 15, 15, 70, 93, 72, 74, 68, 98, 86, 8,
+ 12, 10, 4, 68, 73, 78, 78, 92, 75, 23, 11, 6,
+ 65, 3, 69, 76, 80, 83, 70, 25, 12, 7, 2, 5,
+ 67, 72, 77, 86, 74, 21, 7, 8, 4, 1, 72, 76,
+ 83, 65, 33, 17, 13, 7, 9, 64, 70, 72, 75, 62,
+ 100, 97, 90, 94, 91, 89, 88, 86, 84, 84, 83,
+ 80, 82, 84, 87, 90, 67, 86, 77, 80, 78, 76,
+ 74, 71, 71, 68, 72, 69, 74, 68, 68, 8, 69, 77,
+ 66, 68, 72, 0, 64, 67, 70, 2, 65, 72, 73, 64,
+ 84, 69, 8, 68, 2, 69, 67, 66, 4, 1, 68, 68,
+ 74, 74, 71, 56, 53, 55, 52, 50, 55, 55, 53,
+ 49, 49, 53, 50, 41, 31, 14, 46, 43, 40, 34,
+ 30, 24, 15, 22, 16, 11, 2, 66, 71, 79, 37, 34,
+ 37, 24, 8, 14, 10, 1, 11, 4, 64, 80, 70, 79,
+ 86, 11, 15, 66, 12, 15, 5, 65, 67, 68, 79, 69,
+ 76, 81, 104, 77, 82, 90, 6, 72, 81, 74, 64, 2,
+ 3, 10, 7, 14, 64, 9, 8, 15, 20, 21, 22, 9, 55,
+ 38, 31, 25, 17, 15, 66, 74, 87, 3, 35, 29, 28,
+ 19, 19, 10, 7, 3, 67, 74, 64, 2, 3, 10, 7, 14,
+ 64, 9, 8, 15, 20, 21, 22, 9, 55, 38, 31, 25,
+ 17, 15, 66, 74, 87 },
+
+ {
+
+ 53,
+ 7, 77, 53, 7, 77, 92, 75, 18, 11, 4, 11, 32,
+ 46, 25, 5, 65, 15, 80, 72, 0, 64, 12, 74, 65,
+ 28, 27, 67, 88, 112, 87, 89, 71, 80, 72, 0,
+ 85, 70, 27, 3, 75, 84, 89, 80, 83, 89, 103,
+ 64, 78, 89, 69, 82, 86, 99, 5, 74, 72, 82, 22,
+ 2, 22, 0, 0, 0, 71, 91, 97, 0, 6, 65, 21, 76,
+ 102, 82, 69, 77, 11, 9, 74, 69, 88, 5, 80, 73,
+ 80, 93, 82, 86, 84, 16, 66, 65, 80, 72, 90,
+ 77, 89, 65, 76, 72, 87, 15, 71, 2, 81, 81, 73,
+ 75, 68, 1, 1, 69, 6, 6, 72, 1, 66, 68, 3, 72,
+ 24, 67, 1, 21, 21, 29, 26, 18, 86, 66, 69, 0,
+ 67, 83, 68, 10, 68, 70, 7, 26, 49, 31, 6, 86,
+ 84, 64, 35, 39, 107, 68, 3, 87, 10, 65, 64, 7,
+ 33, 55, 44, 16, 86, 95, 5, 26, 35, 99, 19, 21,
+ 21, 21, 22, 19, 13, 20, 20, 4, 11, 11, 5, 3,
+ 67, 9, 6, 4, 7, 2, 6, 10, 3, 81, 3, 3, 69, 5,
+ 73, 38, 47, 31, 23, 30, 35, 42, 39, 23, 0, 74,
+ 0, 6, 6, 100, 4, 9, 77, 24, 9, 9, 9, 11, 6,
+ 13, 14, 72, 93, 73, 75, 70, 97, 85, 9, 13, 10,
+ 4, 67, 72, 77, 78, 90, 73, 24, 11, 6, 64, 5,
+ 68, 75, 79, 80, 69, 25, 12, 7, 2, 6, 66, 71,
+ 77, 85, 74, 22, 8, 8, 4, 2, 71, 76, 82, 64,
+ 33, 18, 13, 7, 10, 0, 69, 71, 74, 62, 99, 95,
+ 88, 93, 90, 88, 86, 84, 83, 83, 81, 77, 81,
+ 83, 86, 89, 64, 85, 78, 79, 77, 76, 74, 71,
+ 71, 69, 72, 70, 75, 68, 68, 9, 69, 77, 66, 68,
+ 71, 0, 65, 67, 71, 1, 66, 72, 73, 0, 85, 70,
+ 8, 68, 1, 69, 67, 66, 3, 1, 68, 68, 74, 74,
+ 73, 55, 52, 54, 51, 47, 52, 52, 50, 47, 46,
+ 49, 47, 37, 29, 12, 42, 39, 36, 29, 27, 22,
+ 13, 20, 14, 9, 0, 67, 72, 79, 34, 31, 34, 22,
+ 6, 12, 8, 64, 9, 2, 66, 82, 73, 80, 88, 10,
+ 14, 69, 10, 14, 3, 67, 68, 69, 80, 70, 77, 81,
+ 103, 79, 83, 92, 4, 73, 82, 74, 64, 3, 4, 11,
+ 7, 14, 0, 10, 9, 16, 20, 22, 23, 9, 54, 36,
+ 29, 23, 15, 13, 69, 76, 89, 4, 35, 29, 28, 20,
+ 19, 10, 8, 3, 66, 74, 64, 3, 4, 11, 7, 14, 0,
+ 10, 9, 16, 20, 22, 23, 9, 54, 36, 29, 23, 15,
+ 13, 69, 76, 89 },
+
+ {
+
+ 52,
+ 7, 77, 52, 7, 77, 90, 73, 18, 11, 3, 9, 31,
+ 45, 26, 5, 0, 13, 79, 70, 0, 64, 13, 75, 66,
+ 27, 25, 70, 90, 112, 85, 88, 71, 79, 70, 0,
+ 85, 69, 27, 3, 74, 83, 88, 81, 84, 89, 103,
+ 64, 78, 88, 69, 82, 86, 99, 5, 73, 72, 81, 23,
+ 2, 22, 0, 0, 0, 71, 91, 97, 1, 5, 65, 20, 76,
+ 100, 79, 68, 76, 12, 10, 73, 68, 86, 6, 79,
+ 72, 78, 94, 82, 86, 84, 16, 66, 64, 78, 72,
+ 89, 76, 87, 65, 76, 72, 86, 15, 71, 3, 80, 80,
+ 72, 75, 68, 2, 2, 68, 6, 6, 72, 1, 65, 68, 3,
+ 72, 25, 67, 1, 22, 22, 29, 26, 18, 86, 66, 68,
+ 0, 67, 83, 68, 11, 68, 69, 8, 27, 50, 32, 8,
+ 86, 85, 0, 35, 39, 108, 68, 4, 87, 11, 65, 64,
+ 9, 33, 55, 44, 17, 87, 93, 4, 24, 32, 98, 19,
+ 21, 20, 20, 22, 19, 12, 20, 20, 3, 10, 11, 5,
+ 3, 67, 9, 5, 3, 6, 2, 6, 9, 3, 82, 2, 3, 69,
+ 4, 73, 36, 45, 30, 22, 28, 33, 39, 36, 22, 65,
+ 76, 64, 4, 4, 101, 3, 8, 79, 23, 8, 8, 8, 10,
+ 4, 11, 12, 73, 93, 74, 76, 72, 95, 83, 10, 13,
+ 10, 4, 66, 71, 76, 77, 88, 72, 25, 12, 7, 0,
+ 6, 67, 73, 78, 78, 68, 26, 13, 8, 3, 7, 65,
+ 71, 76, 84, 73, 23, 9, 8, 4, 3, 71, 75, 81, 0,
+ 33, 19, 13, 7, 11, 1, 68, 71, 73, 62, 98, 94,
+ 87, 91, 89, 86, 85, 82, 81, 81, 79, 75, 80,
+ 82, 85, 88, 2, 85, 79, 79, 76, 75, 74, 71, 71,
+ 69, 71, 70, 76, 68, 68, 10, 69, 77, 66, 68,
+ 71, 64, 65, 67, 72, 0, 66, 72, 73, 1, 85, 70,
+ 9, 69, 1, 69, 67, 66, 3, 0, 68, 67, 74, 74,
+ 74, 54, 51, 53, 49, 45, 50, 49, 47, 44, 43,
+ 46, 44, 34, 26, 10, 38, 36, 32, 24, 24, 20,
+ 12, 18, 11, 7, 64, 68, 73, 79, 32, 29, 32, 20,
+ 4, 10, 7, 66, 7, 0, 68, 84, 75, 82, 89, 9, 13,
+ 71, 9, 12, 2, 69, 69, 70, 81, 71, 78, 81, 102,
+ 80, 84, 93, 3, 74, 83, 74, 0, 3, 5, 12, 8, 15,
+ 0, 11, 10, 17, 21, 23, 23, 10, 54, 34, 27, 21,
+ 13, 11, 71, 78, 90, 4, 36, 30, 29, 21, 20, 11,
+ 8, 3, 65, 74, 0, 3, 5, 12, 8, 15, 0, 11, 10,
+ 17, 21, 23, 23, 10, 54, 34, 27, 21, 13, 11,
+ 71, 78, 90 },
+
+ {
+
+ 51,
+ 7, 78, 51, 7, 78, 88, 72, 19, 11, 3, 8, 29,
+ 44, 26, 6, 2, 12, 79, 69, 0, 65, 14, 76, 67,
+ 26, 24, 74, 92, 113, 83, 86, 71, 79, 69, 0,
+ 84, 68, 28, 3, 73, 82, 87, 83, 85, 89, 104,
+ 64, 78, 88, 69, 83, 85, 99, 4, 73, 72, 80, 23,
+ 2, 22, 0, 0, 0, 70, 91, 97, 1, 5, 66, 20, 75,
+ 99, 77, 67, 75, 14, 12, 72, 67, 84, 7, 78, 72,
+ 76, 95, 82, 86, 84, 17, 66, 0, 76, 72, 88, 75,
+ 85, 65, 76, 72, 86, 16, 72, 3, 80, 80, 71, 75,
+ 67, 2, 2, 67, 7, 6, 72, 1, 65, 68, 3, 72, 25,
+ 67, 1, 22, 22, 30, 27, 19, 87, 65, 67, 64, 67,
+ 83, 68, 12, 68, 69, 9, 28, 50, 34, 9, 87, 86,
+ 0, 35, 39, 108, 69, 4, 88, 11, 66, 0, 10, 33,
+ 55, 45, 18, 88, 92, 3, 21, 29, 96, 19, 21, 20,
+ 19, 21, 18, 12, 19, 19, 3, 10, 11, 4, 3, 68,
+ 8, 4, 2, 6, 2, 6, 9, 2, 84, 2, 2, 69, 3, 74,
+ 33, 43, 28, 20, 26, 31, 36, 34, 20, 67, 78,
+ 66, 2, 2, 103, 2, 6, 81, 21, 7, 7, 7, 8, 2, 9,
+ 10, 75, 93, 75, 77, 73, 94, 82, 12, 14, 10, 4,
+ 65, 71, 76, 76, 87, 71, 26, 13, 8, 0, 7, 66,
+ 72, 77, 76, 68, 26, 13, 8, 3, 8, 65, 70, 75,
+ 83, 73, 25, 10, 8, 4, 3, 70, 75, 81, 0, 34,
+ 19, 14, 7, 12, 1, 68, 70, 73, 62, 96, 92, 85,
+ 89, 87, 85, 83, 81, 80, 79, 77, 73, 80, 81,
+ 85, 88, 5, 85, 80, 79, 76, 74, 74, 71, 71, 69,
+ 71, 70, 77, 68, 68, 10, 69, 77, 66, 68, 71,
+ 64, 65, 67, 73, 64, 66, 72, 73, 2, 86, 70, 10,
+ 70, 1, 69, 67, 65, 3, 0, 67, 66, 74, 74, 76,
+ 53, 50, 52, 47, 43, 47, 47, 44, 42, 40, 43,
+ 41, 31, 23, 8, 35, 32, 28, 19, 22, 17, 10, 16,
+ 9, 5, 65, 69, 74, 79, 30, 27, 30, 18, 2, 9, 5,
+ 68, 5, 66, 70, 86, 77, 84, 90, 8, 11, 73, 7,
+ 10, 0, 71, 71, 72, 82, 72, 79, 82, 101, 81,
+ 86, 95, 2, 76, 84, 73, 0, 4, 5, 13, 9, 16, 0,
+ 12, 11, 18, 21, 24, 24, 11, 53, 32, 25, 19,
+ 11, 9, 73, 80, 91, 5, 36, 30, 30, 21, 21, 11,
+ 9, 4, 65, 73, 0, 4, 5, 13, 9, 16, 0, 12, 11,
+ 18, 21, 24, 24, 11, 53, 32, 25, 19, 11, 9, 73,
+ 80, 91 },
+
+ {
+
+ 50,
+ 7, 78, 50, 7, 78, 86, 70, 19, 11, 2, 6, 28,
+ 43, 27, 6, 3, 10, 79, 67, 64, 65, 15, 77, 68,
+ 25, 22, 77, 95, 114, 81, 85, 71, 79, 67, 64,
+ 84, 67, 28, 3, 73, 81, 85, 84, 86, 89, 104,
+ 64, 77, 87, 70, 83, 85, 99, 4, 73, 72, 79, 24,
+ 2, 22, 0, 0, 0, 70, 91, 97, 2, 4, 66, 19, 75,
+ 98, 75, 66, 74, 15, 13, 71, 66, 82, 8, 77, 71,
+ 73, 95, 83, 86, 85, 17, 66, 1, 73, 71, 88, 75,
+ 83, 65, 76, 72, 86, 16, 72, 4, 79, 80, 70, 74,
+ 67, 2, 3, 66, 7, 6, 73, 1, 65, 68, 3, 72, 25,
+ 67, 1, 23, 22, 30, 27, 19, 87, 65, 67, 64, 67,
+ 82, 68, 13, 67, 68, 11, 30, 51, 35, 11, 87,
+ 87, 1, 36, 39, 109, 69, 5, 88, 12, 66, 0, 11,
+ 33, 55, 45, 20, 89, 90, 2, 18, 26, 95, 19, 21,
+ 19, 19, 21, 18, 11, 19, 19, 2, 9, 11, 4, 3,
+ 68, 8, 4, 1, 5, 2, 6, 8, 2, 85, 1, 1, 69, 2,
+ 74, 31, 41, 26, 19, 25, 29, 33, 31, 19, 69,
+ 80, 67, 0, 0, 104, 1, 5, 82, 20, 6, 6, 5, 7,
+ 0, 7, 9, 76, 93, 76, 78, 75, 92, 80, 13, 14,
+ 10, 4, 64, 70, 75, 76, 85, 69, 27, 14, 8, 1,
+ 9, 65, 70, 76, 73, 67, 27, 14, 9, 4, 9, 64,
+ 70, 74, 82, 73, 26, 11, 8, 4, 4, 70, 75, 80,
+ 1, 34, 20, 14, 7, 13, 2, 67, 70, 72, 62, 95,
+ 91, 84, 88, 86, 83, 82, 79, 78, 77, 75, 70,
+ 79, 80, 84, 87, 8, 84, 81, 78, 75, 73, 74, 71,
+ 71, 69, 70, 71, 78, 68, 68, 11, 69, 77, 66,
+ 68, 70, 65, 66, 67, 74, 65, 67, 72, 73, 3, 87,
+ 71, 11, 70, 0, 69, 67, 65, 2, 64, 67, 66, 74,
+ 74, 77, 52, 49, 51, 46, 40, 45, 44, 41, 39,
+ 37, 40, 38, 28, 21, 6, 31, 29, 24, 14, 19, 15,
+ 8, 14, 6, 3, 66, 70, 75, 79, 28, 24, 27, 16,
+ 0, 7, 4, 70, 3, 68, 72, 88, 79, 85, 92, 7, 10,
+ 75, 6, 9, 64, 73, 72, 73, 83, 73, 80, 82, 100,
+ 83, 87, 96, 0, 77, 85, 73, 1, 4, 6, 14, 10,
+ 16, 1, 13, 12, 19, 22, 25, 24, 11, 53, 30, 23,
+ 17, 9, 7, 76, 82, 92, 5, 37, 31, 30, 22, 22,
+ 12, 9, 4, 64, 73, 1, 4, 6, 14, 10, 16, 1, 13,
+ 12, 19, 22, 25, 24, 11, 53, 30, 23, 17, 9, 7,
+ 76, 82, 92 },
+
+ {
+
+ 48,
+ 6, 78, 48, 6, 78, 85, 69, 19, 11, 2, 4, 26,
+ 42, 27, 6, 5, 8, 79, 66, 64, 66, 16, 78, 70,
+ 23, 20, 81, 97, 115, 79, 84, 71, 79, 66, 64,
+ 84, 67, 28, 2, 72, 80, 84, 85, 88, 90, 105,
+ 64, 77, 86, 70, 84, 85, 99, 4, 73, 72, 79, 24,
+ 2, 22, 0, 0, 0, 69, 92, 97, 2, 3, 66, 19, 74,
+ 97, 73, 65, 74, 17, 15, 71, 65, 80, 8, 76, 70,
+ 71, 96, 83, 87, 85, 17, 67, 1, 71, 71, 87, 74,
+ 82, 65, 76, 72, 86, 16, 72, 4, 78, 80, 70, 74,
+ 67, 2, 3, 65, 8, 6, 73, 0, 65, 68, 2, 72, 25,
+ 67, 1, 23, 22, 30, 27, 19, 88, 64, 66, 65, 67,
+ 82, 68, 14, 67, 68, 12, 31, 52, 37, 13, 88,
+ 88, 1, 36, 39, 110, 69, 5, 89, 12, 66, 0, 12,
+ 33, 55, 45, 21, 90, 89, 1, 15, 22, 94, 18, 21,
+ 19, 18, 20, 17, 11, 19, 18, 1, 8, 10, 4, 2,
+ 69, 7, 3, 0, 5, 1, 5, 7, 1, 86, 0, 0, 69, 0,
+ 75, 29, 39, 24, 17, 23, 26, 29, 29, 18, 71,
+ 83, 69, 66, 65, 106, 64, 4, 84, 19, 5, 5, 4,
+ 5, 65, 5, 7, 78, 93, 77, 79, 77, 91, 79, 14,
+ 15, 10, 4, 64, 69, 74, 75, 83, 68, 27, 14, 9,
+ 1, 10, 64, 69, 75, 71, 67, 27, 14, 9, 4, 9,
+ 64, 69, 74, 81, 73, 27, 12, 8, 4, 5, 69, 75,
+ 79, 2, 34, 21, 14, 7, 14, 2, 66, 69, 72, 62,
+ 94, 89, 82, 86, 85, 82, 80, 78, 77, 76, 73,
+ 68, 79, 79, 84, 86, 11, 84, 82, 78, 74, 73,
+ 74, 71, 71, 70, 70, 71, 79, 68, 68, 11, 69,
+ 77, 67, 68, 70, 65, 66, 68, 75, 66, 67, 73,
+ 73, 4, 88, 71, 11, 71, 0, 69, 68, 65, 2, 64,
+ 67, 65, 74, 74, 79, 51, 48, 50, 44, 38, 42,
+ 41, 38, 37, 34, 36, 35, 24, 18, 4, 27, 25, 20,
+ 9, 16, 13, 6, 11, 4, 1, 68, 72, 76, 79, 25,
+ 22, 25, 14, 66, 5, 2, 73, 1, 70, 74, 90, 82,
+ 87, 93, 5, 9, 78, 4, 7, 66, 75, 74, 75, 84,
+ 74, 81, 82, 99, 84, 89, 98, 64, 78, 86, 73, 1,
+ 5, 6, 15, 10, 17, 1, 14, 12, 20, 22, 25, 25,
+ 12, 52, 28, 21, 15, 7, 5, 78, 84, 94, 6, 37,
+ 31, 31, 22, 22, 12, 10, 4, 64, 73, 1, 5, 6,
+ 15, 10, 17, 1, 14, 12, 20, 22, 25, 25, 12, 52,
+ 28, 21, 15, 7, 5, 78, 84, 94 },
+
+ {
+
+ 47,
+ 6, 78, 47, 6, 78, 83, 68, 20, 11, 2, 2, 24,
+ 42, 28, 6, 7, 7, 78, 64, 64, 66, 17, 78, 71,
+ 22, 18, 84, 99, 115, 77, 82, 70, 78, 64, 64,
+ 83, 66, 29, 2, 71, 79, 83, 86, 89, 90, 105,
+ 64, 77, 85, 70, 84, 85, 99, 4, 72, 71, 78, 24,
+ 2, 22, 0, 0, 0, 68, 92, 97, 2, 2, 66, 19, 73,
+ 95, 70, 64, 73, 19, 17, 70, 64, 78, 9, 74, 69,
+ 69, 97, 83, 87, 85, 18, 67, 2, 69, 71, 86, 73,
+ 80, 65, 75, 72, 85, 17, 72, 5, 77, 79, 69, 74,
+ 67, 3, 4, 64, 9, 6, 73, 0, 64, 67, 2, 72, 26,
+ 67, 1, 23, 23, 31, 27, 20, 88, 0, 65, 66, 67,
+ 82, 68, 15, 67, 67, 13, 32, 53, 39, 15, 89,
+ 89, 2, 36, 40, 111, 69, 5, 89, 13, 66, 0, 14,
+ 33, 55, 45, 22, 91, 88, 0, 13, 19, 92, 18, 21,
+ 19, 17, 20, 17, 11, 19, 18, 0, 7, 10, 4, 2,
+ 69, 7, 2, 0, 5, 1, 5, 6, 0, 87, 0, 0, 69, 64,
+ 75, 27, 37, 23, 16, 21, 24, 26, 27, 17, 73,
+ 85, 70, 68, 66, 107, 65, 3, 86, 18, 4, 4, 3,
+ 3, 66, 3, 5, 79, 93, 77, 80, 78, 89, 77, 16,
+ 16, 10, 4, 0, 68, 73, 74, 81, 67, 28, 15, 10,
+ 2, 11, 0, 68, 74, 69, 66, 28, 15, 10, 4, 10,
+ 0, 68, 73, 79, 72, 29, 13, 9, 4, 6, 68, 74,
+ 78, 3, 35, 22, 15, 8, 15, 3, 65, 68, 71, 62,
+ 92, 87, 80, 84, 84, 81, 78, 76, 75, 74, 71,
+ 66, 78, 78, 83, 85, 15, 84, 83, 78, 73, 72,
+ 73, 71, 71, 70, 70, 71, 80, 68, 68, 12, 69,
+ 77, 67, 68, 70, 65, 66, 68, 75, 67, 67, 73,
+ 72, 6, 88, 71, 12, 72, 0, 69, 68, 64, 2, 64,
+ 66, 64, 73, 73, 81, 50, 47, 49, 42, 36, 39,
+ 39, 35, 35, 32, 33, 33, 21, 15, 2, 23, 22, 17,
+ 4, 13, 11, 5, 9, 2, 0, 69, 73, 77, 79, 23, 20,
+ 23, 12, 68, 3, 1, 75, 64, 72, 76, 92, 84, 89,
+ 94, 4, 8, 80, 3, 5, 67, 77, 75, 76, 85, 75,
+ 81, 82, 98, 85, 90, 100, 65, 79, 87, 73, 2, 6,
+ 7, 17, 11, 18, 1, 15, 13, 21, 23, 26, 26, 13,
+ 51, 27, 19, 13, 5, 3, 80, 86, 95, 7, 37, 32,
+ 32, 23, 23, 13, 11, 5, 0, 73, 2, 6, 7, 17, 11,
+ 18, 1, 15, 13, 21, 23, 26, 26, 13, 51, 27, 19,
+ 13, 5, 3, 80, 86, 95 },
+
+ {
+
+ 46,
+ 6, 78, 46, 6, 78, 81, 66, 20, 11, 1, 0, 23,
+ 41, 29, 6, 8, 5, 78, 0, 65, 66, 18, 79, 72,
+ 21, 16, 87, 102, 116, 75, 81, 70, 78, 0, 65,
+ 83, 65, 29, 2, 71, 78, 81, 87, 90, 90, 105,
+ 64, 76, 84, 71, 84, 85, 99, 4, 72, 71, 77, 25,
+ 2, 22, 0, 0, 0, 68, 92, 97, 3, 1, 66, 18, 73,
+ 94, 68, 0, 72, 20, 18, 69, 0, 76, 10, 73, 68,
+ 66, 97, 84, 87, 86, 18, 67, 3, 66, 70, 86, 73,
+ 78, 65, 75, 72, 85, 17, 72, 5, 76, 79, 68, 73,
+ 67, 3, 4, 0, 9, 6, 74, 0, 64, 67, 2, 72, 26,
+ 67, 1, 24, 23, 31, 27, 20, 89, 0, 65, 66, 67,
+ 81, 68, 16, 66, 67, 15, 34, 54, 40, 17, 89,
+ 90, 2, 37, 40, 112, 69, 6, 90, 14, 66, 0, 15,
+ 33, 55, 45, 24, 92, 86, 64, 10, 16, 91, 18,
+ 21, 18, 17, 19, 17, 10, 19, 17, 64, 6, 10, 4,
+ 2, 69, 6, 2, 64, 4, 1, 5, 5, 0, 88, 64, 64,
+ 69, 65, 76, 25, 35, 21, 14, 20, 22, 23, 24,
+ 16, 75, 87, 72, 70, 68, 108, 66, 2, 87, 17, 3,
+ 3, 1, 2, 68, 1, 4, 81, 93, 78, 81, 80, 88, 76,
+ 17, 16, 10, 4, 1, 67, 72, 74, 79, 65, 29, 16,
+ 10, 3, 13, 1, 66, 73, 66, 65, 28, 15, 10, 5,
+ 11, 1, 68, 72, 78, 72, 30, 14, 9, 4, 7, 68,
+ 74, 77, 4, 35, 23, 15, 8, 16, 4, 64, 68, 70,
+ 62, 91, 86, 79, 83, 83, 79, 77, 74, 74, 72,
+ 69, 0, 77, 77, 82, 84, 18, 83, 84, 77, 72, 71,
+ 73, 71, 71, 70, 69, 72, 81, 68, 68, 13, 69,
+ 77, 67, 68, 69, 66, 67, 68, 76, 68, 68, 73,
+ 72, 7, 89, 72, 13, 72, 64, 69, 68, 64, 1, 65,
+ 66, 64, 73, 73, 82, 49, 46, 48, 41, 33, 37,
+ 36, 32, 32, 29, 30, 30, 18, 13, 0, 19, 18, 13,
+ 64, 10, 9, 3, 7, 64, 65, 70, 74, 78, 79, 21,
+ 17, 20, 10, 70, 1, 64, 77, 66, 74, 78, 94, 86,
+ 90, 96, 3, 7, 82, 1, 4, 69, 79, 76, 77, 86,
+ 76, 82, 82, 97, 87, 91, 101, 67, 80, 88, 73,
+ 2, 6, 8, 18, 12, 18, 2, 16, 14, 22, 23, 27,
+ 26, 13, 51, 25, 17, 11, 3, 1, 83, 88, 96, 7,
+ 38, 32, 32, 24, 24, 13, 11, 5, 1, 73, 2, 6, 8,
+ 18, 12, 18, 2, 16, 14, 22, 23, 27, 26, 13, 51,
+ 25, 17, 11, 3, 1, 83, 88, 96 },
+
+ {
+
+ 45,
+ 6, 79, 45, 6, 79, 79, 65, 21, 11, 1, 64, 21,
+ 40, 29, 7, 10, 4, 78, 2, 65, 67, 19, 80, 73,
+ 20, 15, 91, 104, 117, 73, 79, 70, 78, 2, 65,
+ 82, 64, 30, 2, 70, 77, 80, 89, 91, 90, 106,
+ 64, 76, 84, 71, 85, 84, 99, 3, 72, 71, 76, 25,
+ 2, 22, 0, 0, 0, 67, 92, 97, 3, 1, 67, 18, 72,
+ 93, 66, 1, 71, 22, 20, 68, 1, 74, 11, 72, 68,
+ 64, 98, 84, 87, 86, 19, 67, 4, 64, 70, 85, 72,
+ 76, 65, 75, 72, 85, 18, 73, 6, 76, 79, 67, 73,
+ 66, 3, 5, 1, 10, 6, 74, 0, 64, 67, 2, 72, 26,
+ 67, 1, 24, 23, 32, 28, 21, 89, 1, 64, 67, 67,
+ 81, 68, 17, 66, 66, 16, 35, 54, 42, 18, 90,
+ 91, 3, 37, 40, 112, 70, 6, 90, 14, 67, 1, 16,
+ 33, 55, 46, 25, 93, 85, 65, 7, 13, 89, 18, 21,
+ 18, 16, 19, 16, 10, 18, 17, 64, 6, 10, 3, 2,
+ 70, 6, 1, 65, 4, 1, 5, 5, 64, 90, 64, 65, 69,
+ 66, 76, 22, 33, 19, 13, 18, 20, 20, 22, 14,
+ 77, 89, 73, 72, 70, 110, 67, 0, 89, 15, 2, 2,
+ 0, 0, 70, 64, 2, 82, 93, 79, 82, 81, 86, 74,
+ 19, 17, 10, 4, 2, 67, 72, 73, 78, 64, 30, 17,
+ 11, 3, 14, 2, 65, 72, 64, 65, 29, 16, 11, 5,
+ 12, 1, 67, 71, 77, 72, 32, 15, 9, 4, 7, 67,
+ 74, 77, 4, 36, 23, 16, 8, 17, 4, 64, 67, 70,
+ 62, 89, 84, 77, 81, 81, 78, 75, 73, 72, 70,
+ 67, 2, 77, 76, 82, 84, 21, 83, 85, 77, 72, 70,
+ 73, 71, 71, 70, 69, 72, 82, 68, 68, 13, 69,
+ 77, 67, 68, 69, 66, 67, 68, 77, 69, 68, 73,
+ 72, 8, 90, 72, 14, 73, 64, 69, 68, 0, 1, 65,
+ 65, 0, 73, 73, 84, 48, 45, 47, 39, 31, 34, 34,
+ 29, 30, 26, 27, 27, 15, 10, 65, 16, 15, 9, 69,
+ 8, 6, 1, 5, 66, 67, 71, 75, 79, 79, 19, 15,
+ 18, 8, 72, 0, 65, 79, 68, 77, 80, 96, 88, 92,
+ 97, 2, 5, 84, 0, 2, 70, 81, 78, 79, 87, 77,
+ 83, 83, 96, 88, 93, 103, 68, 82, 89, 72, 3, 7,
+ 8, 19, 13, 19, 2, 17, 15, 23, 24, 28, 27, 14,
+ 50, 23, 15, 9, 1, 64, 85, 90, 97, 8, 38, 33,
+ 33, 24, 25, 14, 12, 6, 1, 72, 3, 7, 8, 19, 13,
+ 19, 2, 17, 15, 23, 24, 28, 27, 14, 50, 23, 15,
+ 9, 1, 64, 85, 90, 97 },
+
+ {
+
+ 43,
+ 6, 79, 43, 6, 79, 78, 0, 21, 11, 0, 66, 20,
+ 39, 30, 7, 12, 2, 78, 3, 65, 67, 20, 81, 75,
+ 18, 13, 94, 106, 118, 71, 78, 70, 78, 3, 65,
+ 82, 0, 30, 1, 69, 76, 79, 90, 93, 91, 106, 64,
+ 76, 83, 71, 85, 84, 99, 3, 72, 71, 76, 26, 2,
+ 22, 0, 0, 0, 67, 93, 97, 4, 0, 67, 17, 72, 92,
+ 64, 2, 70, 23, 21, 68, 2, 72, 12, 71, 67, 1,
+ 99, 84, 87, 86, 19, 68, 5, 1, 70, 84, 71, 74,
+ 65, 75, 72, 85, 18, 73, 6, 75, 79, 67, 73, 66,
+ 3, 5, 2, 10, 6, 74, 64, 64, 67, 2, 72, 26, 67,
+ 1, 25, 23, 32, 28, 21, 90, 1, 0, 67, 67, 81,
+ 68, 18, 66, 66, 17, 36, 55, 43, 20, 90, 92, 3,
+ 37, 40, 113, 70, 7, 91, 15, 67, 1, 17, 33, 55,
+ 46, 26, 94, 83, 66, 4, 10, 88, 17, 21, 17, 15,
+ 18, 16, 9, 18, 16, 65, 5, 9, 3, 2, 70, 5, 0,
+ 66, 3, 0, 4, 4, 64, 91, 65, 66, 69, 68, 77,
+ 20, 31, 17, 11, 16, 18, 16, 19, 13, 79, 92,
+ 75, 74, 72, 111, 69, 64, 91, 14, 1, 1, 64, 64,
+ 72, 66, 0, 84, 93, 80, 83, 83, 85, 73, 20, 17,
+ 10, 4, 3, 66, 71, 72, 76, 0, 31, 17, 12, 4,
+ 15, 3, 0, 71, 1, 64, 29, 16, 11, 6, 13, 2, 67,
+ 71, 76, 72, 33, 16, 9, 4, 8, 67, 74, 76, 5,
+ 36, 24, 16, 8, 18, 5, 0, 67, 69, 62, 88, 83,
+ 76, 79, 80, 76, 74, 71, 71, 69, 65, 4, 76, 75,
+ 81, 83, 24, 83, 86, 77, 71, 70, 73, 71, 71,
+ 71, 68, 72, 83, 68, 68, 14, 69, 77, 67, 68,
+ 69, 67, 67, 68, 78, 70, 68, 73, 72, 9, 91, 72,
+ 14, 74, 64, 69, 68, 0, 1, 66, 65, 1, 73, 73,
+ 85, 47, 44, 46, 37, 29, 32, 31, 26, 27, 23,
+ 23, 24, 11, 7, 67, 12, 11, 5, 74, 5, 4, 64, 3,
+ 69, 69, 73, 76, 80, 79, 16, 13, 16, 6, 74, 65,
+ 67, 81, 70, 79, 82, 98, 91, 94, 98, 1, 4, 87,
+ 65, 0, 72, 83, 79, 80, 88, 78, 84, 83, 95, 89,
+ 94, 104, 69, 83, 90, 72, 3, 7, 9, 20, 13, 20,
+ 2, 18, 16, 24, 24, 29, 27, 15, 50, 21, 13, 7,
+ 64, 66, 87, 92, 99, 8, 39, 33, 34, 25, 25, 14,
+ 12, 6, 2, 72, 3, 7, 9, 20, 13, 20, 2, 18, 16,
+ 24, 24, 29, 27, 15, 50, 21, 13, 7, 64, 66, 87,
+ 92, 99 },
+
+ {
+
+ 42,
+ 6, 79, 42, 6, 79, 76, 1, 21, 11, 0, 68, 18,
+ 38, 31, 7, 13, 0, 77, 5, 66, 67, 21, 82, 76,
+ 17, 11, 97, 109, 118, 69, 77, 70, 77, 5, 66,
+ 82, 1, 30, 1, 69, 75, 77, 91, 94, 91, 106, 64,
+ 75, 82, 72, 85, 84, 99, 3, 71, 71, 75, 26, 2,
+ 22, 0, 0, 0, 66, 93, 97, 4, 64, 67, 17, 71,
+ 90, 2, 3, 69, 25, 23, 67, 3, 70, 13, 70, 66,
+ 4, 99, 85, 87, 87, 19, 68, 6, 4, 69, 84, 71,
+ 72, 65, 75, 72, 84, 18, 73, 7, 74, 78, 66, 72,
+ 66, 4, 6, 3, 11, 6, 75, 64, 0, 67, 2, 72, 27,
+ 67, 1, 25, 24, 32, 28, 21, 90, 2, 0, 68, 67,
+ 80, 68, 19, 65, 65, 19, 38, 56, 45, 22, 91,
+ 93, 4, 38, 40, 114, 70, 7, 91, 16, 67, 1, 19,
+ 33, 55, 46, 28, 95, 82, 67, 2, 7, 87, 17, 21,
+ 17, 15, 18, 16, 9, 18, 16, 66, 4, 9, 3, 2, 70,
+ 5, 0, 67, 3, 0, 4, 3, 65, 92, 66, 66, 69, 69,
+ 77, 18, 29, 16, 10, 15, 16, 13, 17, 12, 81,
+ 94, 76, 76, 74, 112, 70, 65, 92, 13, 0, 0, 66,
+ 66, 74, 68, 64, 85, 93, 81, 84, 85, 83, 71,
+ 21, 18, 10, 4, 4, 65, 70, 72, 74, 2, 32, 18,
+ 12, 5, 17, 4, 1, 70, 4, 0, 30, 17, 12, 6, 14,
+ 3, 66, 70, 75, 71, 34, 17, 9, 4, 9, 66, 73,
+ 75, 6, 36, 25, 16, 8, 19, 6, 1, 66, 68, 62,
+ 87, 81, 74, 78, 79, 75, 72, 69, 69, 67, 0, 7,
+ 75, 74, 80, 82, 27, 82, 87, 76, 70, 69, 73,
+ 71, 71, 71, 68, 73, 84, 68, 68, 15, 69, 77,
+ 67, 68, 68, 67, 68, 68, 79, 71, 69, 73, 72,
+ 10, 91, 73, 15, 74, 65, 69, 68, 0, 0, 66, 65,
+ 1, 73, 73, 87, 46, 43, 45, 36, 26, 29, 28, 23,
+ 25, 20, 20, 21, 8, 5, 69, 8, 8, 1, 79, 2, 2,
+ 65, 1, 71, 71, 74, 77, 81, 79, 14, 10, 13, 4,
+ 76, 67, 68, 83, 72, 81, 84, 100, 93, 95, 100,
+ 0, 3, 89, 66, 64, 73, 85, 80, 81, 89, 79, 85,
+ 83, 94, 91, 95, 106, 71, 84, 91, 72, 4, 8, 10,
+ 21, 14, 20, 3, 19, 17, 25, 25, 30, 28, 15, 49,
+ 19, 11, 5, 66, 68, 90, 94, 100, 9, 39, 34, 34,
+ 26, 26, 15, 13, 6, 3, 72, 4, 8, 10, 21, 14,
+ 20, 3, 19, 17, 25, 25, 30, 28, 15, 49, 19, 11,
+ 5, 66, 68, 90, 94, 100 },
+
+ {
+
+ 41,
+ 6, 79, 41, 6, 79, 74, 3, 22, 11, 64, 70, 17,
+ 37, 31, 7, 15, 64, 77, 6, 66, 68, 22, 83, 77,
+ 16, 9, 101, 111, 119, 67, 75, 70, 77, 6, 66,
+ 81, 2, 31, 1, 68, 74, 76, 92, 95, 91, 107, 64,
+ 75, 81, 72, 86, 84, 99, 3, 71, 71, 74, 27, 2,
+ 22, 0, 0, 0, 66, 93, 97, 5, 65, 67, 16, 71,
+ 89, 4, 4, 68, 26, 24, 66, 4, 68, 14, 69, 65,
+ 6, 100, 85, 87, 87, 20, 68, 7, 6, 69, 83, 70,
+ 70, 65, 75, 72, 84, 19, 73, 7, 73, 78, 65, 72,
+ 66, 4, 6, 4, 11, 6, 75, 64, 0, 67, 2, 72, 27,
+ 67, 1, 26, 24, 33, 28, 22, 91, 2, 1, 68, 67,
+ 80, 68, 20, 65, 65, 20, 39, 57, 46, 24, 91,
+ 94, 4, 38, 40, 115, 70, 8, 92, 16, 67, 1, 20,
+ 33, 55, 46, 29, 96, 80, 68, 64, 4, 85, 17, 21,
+ 16, 14, 17, 15, 8, 18, 15, 67, 3, 9, 3, 2, 71,
+ 4, 64, 68, 2, 0, 4, 2, 65, 93, 66, 67, 69, 70,
+ 78, 16, 27, 14, 8, 13, 14, 10, 14, 11, 83, 96,
+ 78, 78, 76, 114, 71, 66, 94, 12, 64, 64, 67,
+ 67, 76, 70, 66, 87, 93, 82, 85, 86, 82, 70,
+ 23, 18, 10, 4, 5, 64, 69, 71, 72, 3, 33, 19,
+ 13, 5, 18, 5, 3, 69, 6, 0, 30, 17, 12, 7, 15,
+ 3, 66, 69, 74, 71, 36, 18, 9, 4, 10, 66, 73,
+ 74, 7, 37, 26, 17, 8, 20, 6, 2, 66, 68, 62,
+ 85, 80, 73, 76, 78, 73, 71, 68, 68, 65, 2, 9,
+ 75, 73, 80, 81, 30, 82, 88, 76, 69, 68, 73,
+ 71, 71, 71, 67, 73, 85, 68, 68, 15, 69, 77,
+ 67, 68, 68, 68, 68, 68, 80, 72, 69, 73, 72,
+ 11, 92, 73, 16, 75, 65, 69, 68, 1, 0, 67, 64,
+ 2, 73, 73, 88, 45, 42, 44, 34, 24, 27, 26, 20,
+ 22, 17, 17, 18, 5, 2, 71, 4, 4, 66, 84, 64, 0,
+ 67, 64, 74, 73, 75, 78, 82, 79, 12, 8, 11, 2,
+ 78, 69, 70, 85, 74, 83, 86, 102, 95, 97, 101,
+ 64, 2, 91, 68, 66, 75, 87, 82, 83, 90, 80, 86,
+ 83, 93, 92, 97, 107, 72, 85, 92, 72, 4, 8, 10,
+ 22, 15, 21, 3, 20, 18, 26, 25, 31, 28, 16, 49,
+ 17, 9, 3, 68, 70, 92, 96, 101, 9, 40, 34, 35,
+ 26, 27, 15, 13, 7, 3, 72, 4, 8, 10, 22, 15,
+ 21, 3, 20, 18, 26, 25, 31, 28, 16, 49, 17, 9,
+ 3, 68, 70, 92, 96, 101 },
+
+ {
+
+ 40,
+ 6, 79, 40, 6, 79, 72, 4, 22, 11, 64, 72, 15,
+ 36, 32, 7, 17, 66, 77, 8, 66, 68, 23, 84, 78,
+ 15, 7, 104, 113, 120, 65, 74, 70, 77, 8, 66,
+ 81, 3, 31, 1, 67, 73, 75, 93, 96, 91, 107, 64,
+ 75, 80, 72, 86, 84, 99, 3, 71, 71, 73, 27, 2,
+ 22, 0, 0, 0, 65, 93, 97, 5, 66, 67, 16, 70,
+ 88, 6, 5, 67, 28, 26, 65, 5, 66, 15, 68, 64,
+ 8, 101, 85, 87, 87, 20, 68, 8, 8, 69, 82, 69,
+ 68, 65, 75, 72, 84, 19, 73, 8, 72, 78, 64, 72,
+ 66, 4, 7, 5, 12, 6, 75, 64, 0, 67, 2, 72, 27,
+ 67, 1, 26, 24, 33, 28, 22, 91, 3, 2, 69, 67,
+ 80, 68, 21, 65, 64, 21, 40, 58, 48, 26, 92,
+ 95, 5, 38, 40, 116, 70, 8, 92, 17, 67, 1, 21,
+ 33, 55, 46, 30, 97, 79, 69, 67, 1, 84, 17, 21,
+ 16, 13, 17, 15, 8, 18, 15, 68, 2, 9, 3, 2, 71,
+ 4, 65, 69, 2, 0, 4, 1, 66, 94, 67, 68, 69, 71,
+ 78, 14, 25, 12, 7, 11, 12, 7, 12, 10, 85, 98,
+ 79, 80, 78, 115, 72, 67, 96, 11, 65, 65, 68,
+ 69, 78, 72, 68, 88, 93, 83, 86, 88, 80, 68,
+ 24, 19, 10, 4, 6, 0, 68, 70, 70, 4, 34, 20,
+ 14, 6, 19, 6, 4, 68, 8, 1, 31, 18, 13, 7, 16,
+ 4, 65, 68, 73, 71, 37, 19, 9, 4, 11, 65, 73,
+ 73, 8, 37, 27, 17, 8, 21, 7, 3, 65, 67, 62,
+ 84, 78, 71, 74, 77, 72, 69, 66, 66, 0, 4, 11,
+ 74, 72, 79, 80, 33, 82, 89, 76, 68, 67, 73,
+ 71, 71, 71, 67, 73, 86, 68, 68, 16, 69, 77,
+ 67, 68, 68, 68, 68, 68, 81, 73, 69, 73, 72,
+ 12, 93, 73, 17, 76, 65, 69, 68, 1, 0, 67, 64,
+ 3, 73, 73, 90, 44, 41, 43, 32, 22, 24, 23, 17,
+ 20, 14, 14, 15, 2, 64, 73, 0, 1, 70, 89, 67,
+ 65, 69, 66, 76, 75, 76, 79, 83, 79, 10, 6, 9,
+ 0, 80, 71, 71, 87, 76, 85, 88, 104, 97, 99,
+ 102, 65, 1, 93, 69, 68, 76, 89, 83, 84, 91,
+ 81, 87, 83, 92, 93, 98, 109, 73, 86, 93, 72,
+ 5, 9, 11, 23, 16, 22, 3, 21, 19, 27, 26, 32,
+ 29, 17, 48, 15, 7, 1, 70, 72, 94, 98, 102, 10,
+ 40, 35, 36, 27, 28, 16, 14, 7, 4, 72, 5, 9,
+ 11, 23, 16, 22, 3, 21, 19, 27, 26, 32, 29, 17,
+ 48, 15, 7, 1, 70, 72, 94, 98, 102 },
+
+ {
+
+ 38,
+ 5, 80, 38, 5, 80, 71, 5, 22, 11, 65, 74, 13,
+ 35, 32, 7, 18, 68, 77, 9, 67, 69, 24, 85, 80,
+ 13, 5, 108, 116, 121, 0, 73, 70, 77, 9, 67,
+ 81, 3, 31, 0, 67, 73, 74, 95, 98, 92, 108, 65,
+ 75, 80, 73, 87, 84, 99, 2, 71, 71, 73, 27, 1,
+ 22, 0, 0, 0, 65, 94, 97, 5, 67, 68, 15, 70,
+ 87, 8, 6, 67, 29, 27, 65, 6, 65, 15, 67, 64,
+ 10, 102, 86, 88, 88, 20, 69, 8, 10, 69, 82,
+ 69, 67, 65, 75, 72, 84, 19, 74, 8, 72, 78, 64,
+ 72, 66, 4, 7, 6, 12, 6, 76, 65, 0, 67, 1, 72,
+ 27, 67, 1, 26, 24, 33, 28, 22, 92, 3, 2, 70,
+ 67, 80, 69, 21, 65, 64, 22, 41, 58, 49, 27,
+ 93, 97, 5, 38, 40, 117, 71, 8, 93, 17, 68, 1,
+ 22, 33, 54, 46, 31, 98, 78, 71, 70, 66, 83,
+ 16, 21, 15, 12, 16, 14, 7, 17, 14, 69, 1, 8,
+ 2, 1, 72, 3, 66, 70, 1, 64, 3, 0, 67, 96, 68,
+ 69, 69, 73, 79, 11, 22, 10, 5, 9, 9, 3, 9, 8,
+ 87, 101, 81, 83, 80, 117, 74, 69, 98, 9, 66,
+ 66, 70, 71, 80, 74, 70, 90, 93, 84, 87, 90,
+ 79, 67, 25, 19, 10, 4, 6, 0, 68, 70, 69, 5,
+ 34, 20, 14, 6, 20, 7, 5, 68, 10, 1, 31, 18,
+ 13, 7, 16, 4, 65, 68, 72, 71, 38, 20, 9, 3,
+ 11, 65, 73, 73, 8, 37, 27, 17, 8, 22, 7, 3,
+ 65, 67, 62, 83, 77, 70, 73, 76, 71, 68, 65,
+ 65, 1, 5, 13, 74, 72, 79, 80, 36, 82, 91, 76,
+ 68, 67, 73, 71, 71, 72, 67, 74, 87, 69, 68,
+ 16, 70, 77, 68, 68, 68, 69, 69, 69, 82, 74,
+ 70, 74, 72, 13, 94, 74, 17, 77, 66, 69, 69, 1,
+ 64, 68, 64, 3, 73, 73, 92, 42, 40, 41, 30, 19,
+ 21, 20, 14, 17, 11, 10, 12, 65, 67, 75, 67,
+ 66, 74, 95, 70, 68, 71, 69, 79, 77, 78, 81,
+ 84, 79, 7, 3, 6, 65, 83, 73, 73, 90, 78, 88,
+ 90, 107, 100, 101, 104, 67, 64, 96, 71, 70,
+ 78, 91, 85, 86, 92, 82, 88, 84, 91, 95, 100,
+ 111, 75, 88, 95, 72, 5, 9, 11, 24, 16, 22, 3,
+ 22, 19, 28, 26, 32, 29, 17, 47, 13, 5, 65, 73,
+ 74, 97, 100, 104, 10, 40, 35, 36, 27, 28, 16,
+ 14, 7, 4, 72, 5, 9, 11, 24, 16, 22, 3, 22, 19,
+ 28, 26, 32, 29, 17, 47, 13, 5, 65, 73, 74, 97,
+ 100, 104 },
+
+ {
+
+ 37,
+ 5, 80, 37, 5, 80, 69, 7, 23, 12, 65, 75, 12,
+ 35, 33, 8, 20, 69, 76, 11, 67, 69, 26, 85, 81,
+ 12, 4, 111, 118, 121, 2, 71, 69, 76, 11, 67,
+ 80, 4, 32, 0, 66, 72, 72, 96, 99, 92, 108, 65,
+ 74, 79, 73, 87, 83, 98, 2, 70, 70, 72, 28, 1,
+ 22, 0, 0, 0, 64, 94, 97, 6, 67, 68, 15, 69,
+ 85, 11, 8, 66, 31, 29, 64, 8, 0, 16, 65, 0,
+ 13, 102, 86, 88, 88, 21, 69, 9, 13, 68, 81,
+ 68, 65, 65, 74, 72, 83, 20, 74, 9, 71, 77, 0,
+ 71, 65, 5, 8, 7, 13, 7, 76, 65, 1, 66, 1, 71,
+ 28, 66, 1, 27, 25, 34, 29, 23, 92, 4, 3, 70,
+ 67, 79, 69, 22, 64, 0, 24, 43, 59, 51, 29, 93,
+ 98, 6, 39, 41, 117, 71, 9, 93, 18, 68, 2, 24,
+ 33, 54, 47, 33, 99, 76, 72, 72, 69, 81, 16,
+ 21, 15, 12, 16, 14, 7, 17, 14, 69, 1, 8, 2, 1,
+ 72, 3, 66, 70, 1, 64, 3, 0, 67, 97, 68, 69,
+ 69, 74, 79, 9, 20, 9, 4, 8, 7, 0, 7, 7, 88,
+ 103, 82, 85, 81, 118, 75, 70, 99, 8, 66, 66,
+ 71, 72, 81, 75, 71, 91, 93, 84, 87, 91, 77,
+ 65, 27, 20, 10, 4, 7, 1, 67, 69, 67, 7, 35,
+ 21, 15, 7, 22, 8, 7, 67, 13, 2, 32, 19, 14, 8,
+ 17, 5, 64, 67, 70, 70, 40, 21, 10, 3, 12, 64,
+ 72, 72, 9, 38, 28, 18, 9, 23, 8, 4, 64, 66,
+ 62, 81, 75, 68, 71, 74, 69, 66, 0, 0, 3, 7,
+ 16, 73, 71, 78, 79, 40, 81, 92, 75, 67, 66,
+ 72, 71, 70, 72, 66, 74, 87, 69, 68, 17, 70,
+ 77, 68, 68, 67, 69, 69, 69, 82, 74, 70, 74,
+ 71, 15, 94, 74, 18, 77, 66, 69, 69, 2, 64, 68,
+ 0, 4, 72, 72, 93, 41, 39, 40, 29, 17, 19, 18,
+ 11, 15, 9, 7, 10, 68, 69, 77, 70, 69, 77, 100,
+ 72, 70, 72, 71, 81, 78, 79, 82, 84, 79, 5, 1,
+ 4, 67, 85, 74, 74, 92, 79, 90, 91, 109, 102,
+ 102, 105, 68, 65, 98, 72, 71, 79, 92, 86, 87,
+ 93, 82, 88, 84, 90, 96, 101, 112, 76, 89, 96,
+ 71, 6, 10, 12, 26, 17, 23, 4, 24, 20, 29, 27,
+ 33, 30, 18, 47, 12, 4, 67, 75, 75, 99, 101,
+ 105, 11, 41, 36, 37, 28, 29, 17, 15, 8, 5, 71,
+ 6, 10, 12, 26, 17, 23, 4, 24, 20, 29, 27, 33,
+ 30, 18, 47, 12, 4, 67, 75, 75, 99, 101, 105 },
+
+ {
+
+ 36,
+ 5, 80, 36, 5, 80, 67, 8, 23, 12, 65, 77, 10,
+ 34, 34, 8, 22, 71, 76, 12, 67, 69, 27, 86, 82,
+ 11, 2, 114, 120, 122, 4, 70, 69, 76, 12, 67,
+ 80, 5, 32, 0, 65, 71, 71, 97, 100, 92, 108,
+ 65, 74, 78, 73, 87, 83, 98, 2, 70, 70, 71, 28,
+ 1, 22, 0, 0, 0, 0, 94, 97, 6, 68, 68, 15, 68,
+ 84, 13, 9, 65, 33, 31, 0, 9, 2, 17, 64, 1, 15,
+ 103, 86, 88, 88, 21, 69, 10, 15, 68, 80, 67,
+ 0, 65, 74, 72, 83, 20, 74, 9, 70, 77, 1, 71,
+ 65, 5, 8, 8, 14, 7, 76, 65, 1, 66, 1, 71, 28,
+ 66, 1, 27, 25, 34, 29, 23, 93, 5, 4, 71, 67,
+ 79, 69, 23, 64, 0, 25, 44, 60, 53, 31, 94, 99,
+ 6, 39, 41, 118, 71, 9, 94, 19, 68, 2, 25, 33,
+ 54, 47, 34, 100, 75, 73, 75, 72, 80, 16, 21,
+ 15, 11, 15, 14, 7, 17, 13, 70, 0, 8, 2, 1, 72,
+ 2, 67, 71, 1, 64, 3, 64, 68, 98, 69, 70, 69,
+ 75, 80, 7, 18, 7, 2, 6, 5, 66, 5, 6, 90, 105,
+ 84, 87, 83, 119, 76, 71, 101, 7, 67, 67, 72,
+ 74, 83, 77, 73, 93, 93, 85, 88, 93, 76, 64,
+ 28, 21, 10, 4, 8, 2, 66, 68, 65, 8, 36, 22,
+ 16, 8, 23, 9, 8, 66, 15, 3, 32, 19, 14, 8, 18,
+ 6, 0, 66, 69, 70, 41, 22, 10, 3, 13, 0, 72,
+ 71, 10, 38, 29, 18, 9, 24, 9, 5, 0, 65, 62,
+ 80, 73, 66, 69, 73, 68, 64, 2, 1, 5, 9, 18,
+ 72, 70, 77, 78, 43, 81, 93, 75, 66, 65, 72,
+ 71, 70, 72, 66, 74, 88, 69, 68, 18, 70, 77,
+ 68, 68, 67, 69, 69, 69, 83, 75, 70, 74, 71,
+ 16, 95, 74, 19, 78, 66, 69, 69, 2, 64, 68, 0,
+ 5, 72, 72, 95, 40, 38, 39, 27, 15, 16, 15, 8,
+ 13, 6, 4, 7, 71, 72, 79, 74, 73, 81, 105, 75,
+ 72, 74, 73, 83, 80, 80, 83, 85, 79, 3, 64, 2,
+ 69, 87, 76, 76, 94, 81, 92, 93, 111, 104, 104,
+ 106, 69, 66, 100, 74, 73, 81, 94, 87, 88, 94,
+ 83, 89, 84, 89, 97, 102, 114, 77, 90, 97, 71,
+ 6, 11, 13, 27, 18, 24, 4, 25, 21, 30, 27, 34,
+ 31, 19, 46, 10, 2, 69, 77, 77, 101, 103, 106,
+ 12, 41, 36, 38, 29, 30, 17, 16, 8, 6, 71, 6,
+ 11, 13, 27, 18, 24, 4, 25, 21, 30, 27, 34, 31,
+ 19, 46, 10, 2, 69, 77, 77, 101, 103, 106 },
+
+ {
+
+ 35,
+ 5, 80, 35, 5, 80, 65, 10, 24, 12, 66, 79, 9,
+ 33, 34, 8, 24, 72, 76, 14, 67, 70, 28, 87, 83,
+ 10, 0, 118, 122, 123, 6, 68, 69, 76, 14, 67,
+ 79, 6, 33, 0, 64, 70, 70, 98, 101, 92, 109,
+ 65, 74, 77, 73, 88, 83, 98, 2, 70, 70, 70, 29,
+ 1, 22, 0, 0, 0, 0, 94, 97, 7, 69, 68, 14, 68,
+ 83, 15, 10, 64, 34, 32, 1, 10, 4, 18, 0, 2,
+ 17, 104, 86, 88, 88, 22, 69, 11, 17, 68, 79,
+ 66, 2, 65, 74, 72, 83, 21, 74, 10, 69, 77, 2,
+ 71, 65, 5, 9, 9, 14, 7, 76, 65, 1, 66, 1, 71,
+ 28, 66, 1, 28, 25, 35, 29, 24, 93, 5, 5, 71,
+ 67, 79, 69, 24, 64, 1, 26, 45, 61, 54, 33, 94,
+ 100, 7, 39, 41, 119, 71, 10, 94, 19, 68, 2,
+ 26, 33, 54, 47, 35, 101, 73, 74, 78, 75, 78,
+ 16, 21, 14, 10, 15, 13, 6, 17, 13, 71, 64, 8,
+ 2, 1, 73, 2, 68, 72, 0, 64, 3, 65, 68, 99, 69,
+ 71, 69, 76, 80, 5, 16, 5, 1, 4, 3, 69, 2, 5,
+ 92, 107, 85, 89, 85, 121, 77, 72, 103, 6, 68,
+ 68, 73, 75, 85, 79, 75, 94, 93, 86, 89, 94,
+ 74, 1, 30, 21, 10, 4, 9, 3, 65, 67, 0, 9, 37,
+ 23, 17, 8, 24, 10, 10, 65, 17, 3, 33, 20, 15,
+ 9, 19, 6, 0, 65, 68, 70, 43, 23, 10, 3, 14, 0,
+ 72, 70, 11, 39, 30, 19, 9, 25, 9, 6, 0, 65,
+ 62, 78, 72, 65, 67, 72, 66, 0, 3, 3, 7, 11,
+ 20, 72, 69, 77, 77, 46, 81, 94, 75, 65, 64,
+ 72, 71, 70, 72, 65, 74, 89, 69, 68, 18, 70,
+ 77, 68, 68, 67, 70, 69, 69, 84, 76, 70, 74,
+ 71, 17, 96, 74, 20, 79, 66, 69, 69, 3, 64, 69,
+ 1, 6, 72, 72, 96, 39, 37, 38, 25, 13, 14, 13,
+ 5, 10, 3, 1, 4, 74, 75, 81, 78, 76, 85, 110,
+ 78, 74, 76, 75, 86, 82, 81, 84, 86, 79, 1, 66,
+ 0, 71, 89, 78, 77, 96, 83, 94, 95, 113, 106,
+ 106, 107, 70, 67, 102, 75, 75, 82, 96, 89, 90,
+ 95, 84, 90, 84, 88, 98, 104, 115, 78, 91, 98,
+ 71, 7, 11, 13, 28, 19, 25, 4, 26, 22, 31, 28,
+ 35, 31, 20, 46, 8, 0, 71, 79, 79, 103, 105,
+ 107, 12, 42, 37, 39, 29, 31, 18, 16, 9, 6, 71,
+ 7, 11, 13, 28, 19, 25, 4, 26, 22, 31, 28, 35,
+ 31, 20, 46, 8, 0, 71, 79, 79, 103, 105, 107 },
+
+ {
+
+ 33,
+ 5, 80, 33, 5, 80, 64, 11, 24, 12, 66, 81, 7,
+ 32, 35, 8, 25, 74, 76, 15, 68, 70, 29, 88, 85,
+ 8, 65, 121, 125, 124, 8, 67, 69, 76, 15, 68,
+ 79, 7, 33, 64, 64, 69, 68, 99, 103, 93, 109,
+ 65, 73, 76, 74, 88, 83, 98, 2, 70, 70, 70, 29,
+ 1, 22, 0, 0, 0, 1, 95, 97, 7, 70, 68, 14, 67,
+ 82, 17, 11, 0, 36, 34, 1, 11, 6, 19, 1, 3, 20,
+ 104, 87, 88, 89, 22, 70, 12, 20, 67, 79, 66,
+ 4, 65, 74, 72, 83, 21, 74, 10, 68, 77, 2, 70,
+ 65, 5, 9, 10, 15, 7, 77, 66, 1, 66, 1, 71, 28,
+ 66, 1, 28, 25, 35, 29, 24, 94, 6, 5, 72, 67,
+ 78, 69, 25, 0, 1, 28, 47, 62, 56, 35, 95, 101,
+ 7, 40, 41, 120, 71, 10, 95, 20, 68, 2, 27, 33,
+ 54, 47, 37, 102, 72, 75, 81, 78, 77, 15, 21,
+ 14, 10, 14, 13, 6, 17, 12, 72, 65, 7, 2, 1,
+ 73, 1, 68, 73, 0, 65, 2, 66, 69, 100, 70, 72,
+ 69, 78, 81, 3, 14, 3, 64, 3, 1, 73, 0, 4, 94,
+ 110, 87, 91, 87, 122, 79, 73, 104, 5, 69, 69,
+ 75, 77, 87, 81, 76, 96, 93, 87, 90, 96, 73, 2,
+ 31, 22, 10, 4, 10, 4, 64, 67, 2, 11, 38, 23,
+ 17, 9, 26, 11, 11, 64, 20, 4, 33, 20, 15, 9,
+ 20, 7, 1, 65, 67, 70, 44, 24, 10, 3, 15, 1,
+ 72, 69, 12, 39, 31, 19, 9, 26, 10, 7, 1, 64,
+ 62, 77, 70, 0, 66, 71, 65, 2, 5, 4, 8, 13, 23,
+ 71, 68, 76, 76, 49, 80, 95, 74, 64, 64, 72,
+ 71, 70, 73, 65, 75, 90, 69, 68, 19, 70, 77,
+ 68, 68, 66, 70, 70, 69, 85, 77, 71, 74, 71,
+ 18, 97, 75, 20, 79, 67, 69, 69, 3, 65, 69, 1,
+ 6, 72, 72, 98, 38, 36, 37, 24, 10, 11, 10, 2,
+ 8, 0, 66, 1, 78, 77, 83, 82, 80, 89, 115, 81,
+ 76, 78, 77, 88, 84, 83, 85, 87, 79, 65, 69,
+ 66, 73, 91, 80, 79, 98, 85, 96, 97, 115, 109,
+ 107, 109, 71, 68, 105, 77, 76, 84, 98, 90, 91,
+ 96, 85, 91, 84, 87, 100, 105, 117, 80, 92, 99,
+ 71, 7, 12, 14, 29, 19, 25, 5, 27, 23, 32, 28,
+ 36, 32, 20, 45, 6, 65, 73, 81, 81, 106, 107,
+ 109, 13, 42, 37, 39, 30, 31, 18, 17, 9, 7, 71,
+ 7, 12, 14, 29, 19, 25, 5, 27, 23, 32, 28, 36,
+ 32, 20, 45, 6, 65, 73, 81, 81, 106, 107, 109 },
+
+ {
+
+ 32,
+ 5, 80, 32, 5, 80, 1, 13, 24, 12, 67, 83, 6,
+ 31, 36, 8, 27, 76, 75, 17, 68, 70, 30, 89, 86,
+ 7, 67, 124, 126, 124, 10, 66, 69, 75, 17, 68,
+ 79, 8, 33, 64, 0, 68, 67, 100, 104, 93, 109,
+ 65, 73, 75, 74, 88, 83, 98, 2, 69, 70, 69, 30,
+ 1, 22, 0, 0, 0, 1, 95, 97, 8, 71, 68, 13, 67,
+ 80, 20, 12, 1, 37, 35, 2, 12, 8, 20, 2, 4, 22,
+ 105, 87, 88, 89, 22, 70, 13, 22, 67, 78, 65,
+ 6, 65, 74, 72, 82, 21, 74, 11, 67, 76, 3, 70,
+ 65, 6, 10, 11, 15, 7, 77, 66, 2, 66, 1, 71,
+ 29, 66, 1, 29, 26, 35, 29, 24, 94, 6, 6, 72,
+ 67, 78, 69, 26, 0, 2, 29, 48, 62, 57, 37, 95,
+ 102, 8, 40, 41, 121, 71, 11, 95, 21, 68, 2,
+ 29, 33, 54, 47, 38, 103, 70, 76, 83, 81, 76,
+ 15, 21, 13, 9, 14, 13, 5, 17, 12, 73, 66, 7,
+ 2, 1, 73, 1, 69, 74, 64, 65, 2, 67, 69, 101,
+ 71, 72, 69, 79, 81, 1, 12, 2, 65, 1, 64, 76,
+ 66, 3, 96, 112, 88, 93, 89, 123, 80, 74, 106,
+ 4, 70, 70, 76, 78, 89, 83, 78, 97, 93, 88, 91,
+ 98, 71, 4, 32, 22, 10, 4, 11, 5, 0, 66, 4, 12,
+ 39, 24, 18, 10, 27, 12, 13, 0, 22, 5, 34, 21,
+ 16, 10, 21, 8, 1, 64, 66, 69, 45, 25, 10, 3,
+ 16, 1, 71, 68, 13, 39, 32, 19, 9, 27, 11, 8,
+ 1, 0, 62, 76, 69, 1, 64, 70, 0, 3, 7, 6, 10,
+ 15, 25, 70, 67, 75, 75, 52, 80, 96, 74, 0, 0,
+ 72, 71, 70, 73, 64, 75, 91, 69, 68, 20, 70,
+ 77, 68, 68, 66, 71, 70, 69, 86, 78, 71, 74,
+ 71, 19, 97, 75, 21, 80, 67, 69, 69, 3, 65, 70,
+ 1, 7, 72, 72, 99, 37, 35, 36, 22, 8, 9, 7, 64,
+ 5, 66, 69, 65, 81, 80, 85, 86, 83, 93, 120,
+ 84, 78, 79, 79, 91, 86, 84, 86, 88, 79, 67,
+ 71, 68, 75, 93, 82, 80, 100, 87, 98, 99, 117,
+ 111, 109, 110, 72, 69, 107, 78, 78, 85, 100,
+ 91, 92, 97, 86, 92, 84, 86, 101, 106, 118, 81,
+ 93, 100, 71, 8, 12, 15, 30, 20, 26, 5, 28, 24,
+ 33, 29, 37, 32, 21, 45, 4, 67, 75, 83, 83,
+ 108, 109, 110, 13, 43, 38, 40, 31, 32, 19, 17,
+ 9, 8, 71, 8, 12, 15, 30, 20, 26, 5, 28, 24,
+ 33, 29, 37, 32, 21, 45, 4, 67, 75, 83, 83,
+ 108, 109, 110 },
+
+ {
+
+ 31,
+ 5, 81, 31, 5, 81, 3, 14, 25, 12, 67, 84, 4,
+ 30, 36, 9, 29, 77, 75, 18, 68, 71, 31, 90, 87,
+ 6, 68, 126, 126, 125, 12, 64, 69, 75, 18, 68,
+ 78, 9, 34, 64, 1, 67, 66, 102, 105, 93, 110,
+ 65, 73, 75, 74, 89, 82, 98, 1, 69, 70, 68, 30,
+ 1, 22, 0, 0, 0, 2, 95, 97, 8, 71, 69, 13, 66,
+ 79, 22, 13, 2, 39, 37, 3, 13, 10, 21, 3, 4,
+ 24, 106, 87, 88, 89, 23, 70, 14, 24, 67, 77,
+ 64, 8, 65, 74, 72, 82, 22, 75, 11, 67, 76, 4,
+ 70, 64, 6, 10, 12, 16, 7, 77, 66, 2, 66, 1,
+ 71, 29, 66, 1, 29, 26, 36, 30, 25, 95, 7, 7,
+ 73, 67, 78, 69, 27, 0, 2, 30, 49, 62, 59, 38,
+ 96, 103, 8, 40, 41, 121, 72, 11, 96, 21, 69,
+ 3, 30, 33, 54, 48, 39, 104, 69, 77, 86, 84,
+ 74, 15, 21, 13, 8, 13, 12, 5, 16, 11, 73, 66,
+ 7, 1, 1, 74, 0, 70, 75, 64, 65, 2, 67, 70,
+ 103, 71, 73, 69, 80, 82, 65, 10, 0, 67, 64,
+ 66, 79, 68, 1, 98, 114, 90, 95, 91, 125, 81,
+ 76, 108, 2, 71, 71, 77, 80, 91, 85, 80, 99,
+ 93, 89, 92, 99, 70, 5, 34, 23, 10, 4, 12, 5,
+ 0, 65, 5, 13, 40, 25, 19, 10, 28, 13, 14, 1,
+ 24, 5, 34, 21, 16, 10, 22, 8, 2, 0, 65, 69,
+ 47, 26, 10, 3, 16, 2, 71, 68, 13, 40, 32, 20,
+ 9, 28, 11, 8, 2, 0, 62, 74, 67, 3, 1, 68, 1,
+ 5, 8, 7, 12, 17, 27, 70, 66, 75, 75, 55, 80,
+ 97, 74, 0, 1, 72, 71, 70, 73, 64, 75, 92, 69,
+ 68, 20, 70, 77, 68, 68, 66, 71, 70, 69, 87,
+ 79, 71, 74, 71, 20, 98, 75, 22, 81, 67, 69,
+ 69, 4, 65, 70, 2, 8, 72, 72, 101, 36, 34, 35,
+ 20, 6, 6, 5, 67, 3, 69, 72, 68, 84, 83, 87,
+ 89, 87, 97, 125, 86, 81, 81, 81, 93, 88, 85,
+ 87, 89, 79, 69, 73, 70, 77, 95, 83, 82, 102,
+ 89, 101, 101, 119, 113, 111, 111, 73, 71, 109,
+ 80, 80, 87, 102, 93, 94, 98, 87, 93, 85, 85,
+ 102, 108, 120, 82, 95, 101, 70, 8, 13, 15, 31,
+ 21, 27, 5, 29, 25, 34, 29, 38, 33, 22, 44, 2,
+ 69, 77, 85, 85, 110, 111, 111, 14, 43, 38, 41,
+ 31, 33, 19, 18, 10, 8, 70, 8, 13, 15, 31, 21,
+ 27, 5, 29, 25, 34, 29, 38, 33, 22, 44, 2, 69,
+ 77, 85, 85, 110, 111, 111 },
+
+ {
+
+ 30,
+ 5, 81, 30, 5, 81, 5, 16, 25, 12, 68, 86, 3,
+ 29, 37, 9, 30, 79, 75, 20, 69, 71, 32, 91, 88,
+ 5, 70, 126, 126, 126, 14, 0, 69, 75, 20, 69,
+ 78, 10, 34, 64, 1, 66, 64, 103, 106, 93, 110,
+ 65, 72, 74, 75, 89, 82, 98, 1, 69, 70, 67, 31,
+ 1, 22, 0, 0, 0, 2, 95, 97, 9, 72, 69, 12, 66,
+ 78, 24, 14, 3, 40, 38, 4, 14, 12, 22, 4, 5,
+ 27, 106, 88, 88, 90, 23, 70, 15, 27, 66, 77,
+ 64, 10, 65, 74, 72, 82, 22, 75, 12, 66, 76, 5,
+ 69, 64, 6, 11, 13, 16, 7, 78, 66, 2, 66, 1,
+ 71, 29, 66, 1, 30, 26, 36, 30, 25, 95, 7, 7,
+ 73, 67, 77, 69, 28, 1, 3, 32, 51, 62, 60, 40,
+ 96, 104, 9, 41, 41, 122, 72, 12, 96, 22, 69,
+ 3, 31, 33, 54, 48, 41, 105, 67, 78, 89, 87,
+ 73, 15, 21, 12, 8, 13, 12, 4, 16, 11, 74, 67,
+ 7, 1, 1, 74, 0, 70, 76, 65, 65, 2, 68, 70,
+ 104, 72, 74, 69, 81, 82, 67, 8, 65, 68, 65,
+ 68, 82, 71, 0, 100, 116, 91, 97, 93, 126, 82,
+ 77, 109, 1, 72, 72, 79, 81, 93, 87, 81, 100,
+ 93, 90, 93, 101, 68, 7, 35, 23, 10, 4, 13, 6,
+ 1, 65, 7, 15, 41, 26, 19, 11, 30, 14, 16, 2,
+ 27, 6, 35, 22, 17, 11, 23, 9, 2, 1, 64, 69,
+ 48, 27, 10, 3, 17, 2, 71, 67, 14, 40, 33, 20,
+ 9, 29, 12, 9, 2, 1, 62, 73, 66, 4, 2, 67, 3,
+ 6, 10, 9, 14, 19, 30, 69, 65, 74, 74, 58, 79,
+ 98, 73, 1, 2, 72, 71, 70, 73, 0, 76, 93, 69,
+ 68, 21, 70, 77, 68, 68, 65, 72, 71, 69, 88,
+ 80, 72, 74, 71, 21, 99, 76, 23, 81, 68, 69,
+ 69, 4, 66, 71, 2, 8, 72, 72, 102, 35, 33, 34,
+ 19, 3, 4, 2, 70, 0, 72, 75, 71, 87, 85, 89,
+ 93, 90, 101, 126, 89, 83, 83, 83, 96, 90, 86,
+ 88, 90, 79, 71, 76, 73, 79, 97, 85, 83, 104,
+ 91, 103, 103, 121, 115, 112, 113, 74, 72, 111,
+ 81, 81, 88, 104, 94, 95, 99, 88, 94, 85, 84,
+ 104, 109, 121, 84, 96, 102, 70, 9, 13, 16, 32,
+ 22, 27, 6, 30, 26, 35, 30, 39, 33, 22, 44, 0,
+ 71, 79, 87, 87, 113, 113, 112, 14, 44, 39, 41,
+ 32, 34, 20, 18, 10, 9, 70, 9, 13, 16, 32, 22,
+ 27, 6, 30, 26, 35, 30, 39, 33, 22, 44, 0, 71,
+ 79, 87, 87, 113, 113, 112 },
+
+ {
+
+ 28,
+ 4, 81, 28, 4, 81, 6, 17, 25, 12, 68, 88, 1,
+ 28, 37, 9, 32, 81, 75, 21, 69, 72, 33, 92, 90,
+ 3, 72, 126, 126, 126, 16, 1, 69, 75, 21, 69,
+ 78, 10, 34, 65, 2, 65, 0, 104, 108, 94, 111,
+ 65, 72, 73, 75, 90, 82, 98, 1, 69, 70, 67, 31,
+ 1, 22, 0, 0, 0, 3, 96, 97, 9, 73, 69, 12, 65,
+ 77, 26, 15, 3, 42, 40, 4, 15, 14, 22, 5, 6,
+ 29, 107, 88, 89, 90, 23, 71, 15, 29, 66, 76,
+ 0, 11, 65, 74, 72, 82, 22, 75, 12, 65, 76, 5,
+ 69, 64, 6, 11, 14, 17, 7, 78, 67, 2, 66, 0,
+ 71, 29, 66, 1, 30, 26, 36, 30, 25, 96, 8, 8,
+ 74, 67, 77, 69, 29, 1, 3, 33, 52, 62, 62, 42,
+ 97, 105, 9, 41, 41, 123, 72, 12, 97, 22, 69,
+ 3, 32, 33, 54, 48, 42, 106, 66, 79, 92, 91,
+ 72, 14, 21, 12, 7, 12, 11, 4, 16, 10, 75, 68,
+ 6, 1, 0, 75, 64, 71, 77, 65, 66, 1, 69, 71,
+ 105, 73, 75, 69, 83, 83, 69, 6, 67, 70, 67,
+ 71, 86, 73, 64, 102, 119, 93, 100, 95, 126,
+ 84, 78, 111, 0, 73, 73, 80, 83, 95, 89, 83,
+ 102, 93, 91, 94, 103, 67, 8, 36, 24, 10, 4,
+ 13, 7, 2, 64, 9, 16, 41, 26, 20, 11, 31, 15,
+ 17, 3, 29, 6, 35, 22, 17, 11, 23, 9, 3, 1, 0,
+ 69, 49, 28, 10, 3, 18, 3, 71, 66, 15, 40, 34,
+ 20, 9, 30, 12, 10, 3, 1, 62, 72, 64, 6, 4, 66,
+ 4, 8, 11, 10, 15, 21, 32, 69, 64, 74, 73, 61,
+ 79, 99, 73, 2, 2, 72, 71, 70, 74, 0, 76, 94,
+ 69, 68, 21, 70, 77, 69, 68, 65, 72, 71, 70,
+ 89, 81, 72, 75, 71, 22, 100, 76, 23, 82, 68,
+ 69, 70, 4, 66, 71, 2, 9, 72, 72, 104, 34, 32,
+ 33, 17, 1, 1, 64, 73, 65, 75, 79, 74, 91, 88,
+ 91, 97, 94, 105, 126, 92, 85, 85, 86, 98, 92,
+ 88, 90, 91, 79, 74, 78, 75, 81, 100, 87, 85,
+ 107, 93, 105, 105, 123, 118, 114, 114, 76, 73,
+ 114, 83, 83, 90, 106, 96, 97, 100, 89, 95, 85,
+ 83, 105, 111, 123, 85, 97, 103, 70, 9, 14, 16,
+ 33, 22, 28, 6, 31, 26, 36, 30, 39, 34, 23, 43,
+ 65, 73, 81, 89, 89, 115, 115, 114, 15, 44, 39,
+ 42, 32, 34, 20, 19, 10, 9, 70, 9, 14, 16, 33,
+ 22, 28, 6, 31, 26, 36, 30, 39, 34, 23, 43, 65,
+ 73, 81, 89, 89, 115, 115, 114 },
+
+ {
+
+ 27,
+ 4, 81, 27, 4, 81, 8, 18, 26, 12, 68, 90, 64,
+ 28, 38, 9, 34, 82, 74, 23, 69, 72, 34, 92, 91,
+ 2, 74, 126, 126, 126, 18, 3, 68, 74, 23, 69,
+ 77, 11, 35, 65, 3, 64, 1, 105, 109, 94, 111,
+ 65, 72, 72, 75, 90, 82, 98, 1, 68, 69, 66, 31,
+ 1, 22, 0, 0, 0, 4, 96, 97, 9, 74, 69, 12, 64,
+ 75, 29, 16, 4, 44, 42, 5, 16, 16, 23, 7, 7,
+ 31, 108, 88, 89, 90, 24, 71, 16, 31, 66, 75,
+ 1, 13, 65, 73, 72, 81, 23, 75, 13, 64, 75, 6,
+ 69, 64, 7, 12, 15, 18, 7, 78, 67, 3, 65, 0,
+ 71, 30, 66, 1, 30, 27, 37, 30, 26, 96, 9, 9,
+ 75, 67, 77, 69, 30, 1, 4, 34, 53, 62, 62, 44,
+ 98, 106, 10, 41, 42, 124, 72, 12, 97, 23, 69,
+ 3, 34, 33, 54, 48, 43, 107, 65, 80, 94, 94,
+ 70, 14, 21, 12, 6, 12, 11, 4, 16, 10, 76, 69,
+ 6, 1, 0, 75, 64, 72, 77, 65, 66, 1, 70, 72,
+ 106, 73, 75, 69, 84, 83, 71, 4, 68, 71, 69,
+ 73, 89, 75, 65, 104, 121, 94, 102, 96, 126,
+ 85, 79, 113, 64, 74, 74, 81, 85, 96, 91, 85,
+ 103, 93, 91, 95, 104, 65, 10, 38, 25, 10, 4,
+ 14, 8, 3, 0, 11, 17, 42, 27, 21, 12, 32, 16,
+ 18, 4, 31, 7, 36, 23, 18, 11, 24, 10, 4, 2, 2,
+ 68, 51, 29, 11, 3, 19, 4, 70, 65, 16, 41, 35,
+ 21, 10, 31, 13, 11, 4, 2, 62, 70, 1, 8, 6, 65,
+ 5, 10, 13, 12, 17, 23, 34, 68, 0, 73, 72, 62,
+ 79, 100, 73, 3, 3, 71, 71, 70, 74, 0, 76, 95,
+ 69, 68, 22, 70, 77, 69, 68, 65, 72, 71, 70,
+ 89, 82, 72, 75, 70, 24, 100, 76, 24, 83, 68,
+ 69, 70, 5, 66, 71, 3, 10, 71, 71, 106, 33, 31,
+ 32, 15, 64, 65, 66, 76, 67, 77, 82, 76, 94,
+ 91, 93, 101, 97, 108, 126, 95, 87, 86, 88,
+ 100, 93, 89, 91, 92, 79, 76, 80, 77, 83, 102,
+ 89, 86, 109, 95, 107, 107, 125, 120, 116, 115,
+ 77, 74, 116, 84, 85, 91, 108, 97, 98, 101, 90,
+ 95, 85, 82, 106, 112, 125, 86, 98, 104, 70,
+ 10, 15, 17, 35, 23, 29, 6, 32, 27, 37, 31, 40,
+ 35, 24, 42, 66, 75, 83, 91, 91, 117, 117, 115,
+ 16, 44, 40, 43, 33, 35, 21, 20, 11, 10, 70,
+ 10, 15, 17, 35, 23, 29, 6, 32, 27, 37, 31, 40,
+ 35, 24, 42, 66, 75, 83, 91, 91, 117, 117, 115 },
+
+ {
+
+ 26,
+ 4, 81, 26, 4, 81, 10, 20, 26, 12, 69, 92, 65,
+ 27, 39, 9, 35, 84, 74, 24, 70, 72, 35, 93, 92,
+ 1, 76, 126, 126, 126, 20, 4, 68, 74, 24, 70,
+ 77, 12, 35, 65, 3, 0, 3, 106, 110, 94, 111,
+ 65, 71, 71, 76, 90, 82, 98, 1, 68, 69, 65, 32,
+ 1, 22, 0, 0, 0, 4, 96, 97, 10, 75, 69, 11, 64,
+ 74, 31, 17, 5, 45, 43, 6, 17, 18, 24, 8, 8,
+ 34, 108, 89, 89, 91, 24, 71, 17, 34, 65, 75,
+ 1, 15, 65, 73, 72, 81, 23, 75, 13, 0, 75, 7,
+ 68, 64, 7, 12, 16, 18, 7, 79, 67, 3, 65, 0,
+ 71, 30, 66, 1, 31, 27, 37, 30, 26, 97, 9, 9,
+ 75, 67, 76, 69, 31, 2, 4, 36, 55, 62, 62, 46,
+ 98, 107, 10, 42, 42, 125, 72, 13, 98, 24, 69,
+ 3, 35, 33, 54, 48, 45, 108, 0, 81, 97, 97, 69,
+ 14, 21, 11, 6, 11, 11, 3, 16, 9, 77, 70, 6, 1,
+ 0, 75, 65, 72, 78, 66, 66, 1, 71, 72, 107, 74,
+ 76, 69, 85, 84, 73, 2, 70, 73, 70, 75, 92, 78,
+ 66, 106, 123, 96, 104, 98, 126, 86, 80, 114,
+ 65, 75, 75, 83, 86, 98, 93, 86, 105, 93, 92,
+ 96, 106, 64, 11, 39, 25, 10, 4, 15, 9, 4, 0,
+ 13, 19, 43, 28, 21, 13, 34, 17, 20, 5, 34, 8,
+ 36, 23, 18, 12, 25, 11, 4, 3, 3, 68, 52, 30,
+ 11, 3, 20, 4, 70, 64, 17, 41, 36, 21, 10, 32,
+ 14, 12, 4, 3, 62, 69, 2, 9, 7, 64, 7, 11, 15,
+ 13, 19, 25, 37, 67, 1, 72, 71, 62, 78, 101,
+ 72, 4, 4, 71, 71, 70, 74, 1, 77, 96, 69, 68,
+ 23, 70, 77, 69, 68, 64, 73, 72, 70, 90, 83,
+ 73, 75, 70, 25, 101, 77, 25, 83, 69, 69, 70,
+ 5, 67, 72, 3, 10, 71, 71, 107, 32, 30, 31, 14,
+ 67, 67, 69, 79, 70, 80, 85, 79, 97, 93, 95,
+ 105, 101, 112, 126, 98, 89, 88, 90, 103, 95,
+ 90, 92, 93, 79, 78, 83, 80, 85, 104, 91, 88,
+ 111, 97, 109, 109, 126, 122, 117, 117, 78, 75,
+ 118, 86, 86, 93, 110, 98, 99, 102, 91, 96, 85,
+ 81, 108, 113, 126, 88, 99, 105, 70, 10, 15,
+ 18, 36, 24, 29, 7, 33, 28, 38, 31, 41, 35, 24,
+ 42, 68, 77, 85, 93, 93, 120, 119, 116, 16, 45,
+ 40, 43, 34, 36, 21, 20, 11, 11, 70, 10, 15,
+ 18, 36, 24, 29, 7, 33, 28, 38, 31, 41, 35, 24,
+ 42, 68, 77, 85, 93, 93, 120, 119, 116 },
+
+ {
+
+ 25,
+ 4, 82, 25, 4, 82, 12, 21, 27, 12, 69, 93, 67,
+ 26, 39, 10, 37, 85, 74, 26, 70, 73, 36, 94,
+ 93, 0, 77, 126, 126, 126, 22, 6, 68, 74, 26,
+ 70, 76, 13, 36, 65, 4, 1, 4, 108, 111, 94,
+ 112, 65, 71, 71, 76, 91, 81, 98, 0, 68, 69,
+ 64, 32, 1, 22, 0, 0, 0, 5, 96, 97, 10, 75, 70,
+ 11, 0, 73, 33, 18, 6, 47, 45, 7, 18, 20, 25,
+ 9, 8, 36, 109, 89, 89, 91, 25, 71, 18, 36, 65,
+ 74, 2, 17, 65, 73, 72, 81, 24, 76, 14, 0, 75,
+ 8, 68, 0, 7, 13, 17, 19, 7, 79, 67, 3, 65, 0,
+ 71, 30, 66, 1, 31, 27, 38, 31, 27, 97, 10, 10,
+ 76, 67, 76, 69, 32, 2, 5, 37, 56, 62, 62, 47,
+ 99, 108, 11, 42, 42, 125, 73, 13, 98, 24, 70,
+ 4, 36, 33, 54, 49, 46, 109, 1, 82, 100, 100,
+ 67, 14, 21, 11, 5, 11, 10, 3, 15, 9, 77, 70,
+ 6, 0, 0, 76, 65, 73, 79, 66, 66, 1, 71, 73,
+ 109, 74, 77, 69, 86, 84, 76, 0, 72, 74, 72,
+ 77, 95, 80, 68, 108, 125, 97, 106, 100, 126,
+ 87, 82, 116, 67, 76, 76, 84, 88, 100, 95, 88,
+ 106, 93, 93, 97, 107, 1, 13, 41, 26, 10, 4,
+ 16, 9, 4, 1, 14, 20, 44, 29, 22, 13, 35, 18,
+ 21, 6, 36, 8, 37, 24, 19, 12, 26, 11, 5, 4, 4,
+ 68, 54, 31, 11, 3, 20, 5, 70, 64, 17, 42, 36,
+ 22, 10, 33, 14, 12, 5, 3, 62, 67, 4, 11, 9, 1,
+ 8, 13, 16, 15, 21, 27, 39, 67, 2, 72, 71, 62,
+ 78, 102, 72, 4, 5, 71, 71, 70, 74, 1, 77, 97,
+ 69, 68, 23, 70, 77, 69, 68, 64, 73, 72, 70,
+ 91, 84, 73, 75, 70, 26, 102, 77, 26, 84, 69,
+ 69, 70, 6, 67, 72, 4, 11, 71, 71, 109, 31, 29,
+ 30, 12, 69, 70, 71, 82, 72, 83, 88, 82, 100,
+ 96, 97, 108, 104, 116, 126, 100, 92, 90, 92,
+ 105, 97, 91, 93, 94, 79, 80, 85, 82, 87, 106,
+ 92, 89, 113, 99, 112, 111, 126, 124, 119, 118,
+ 79, 77, 120, 87, 88, 94, 112, 100, 101, 103,
+ 92, 97, 86, 80, 109, 115, 126, 89, 101, 106,
+ 69, 11, 16, 18, 37, 25, 30, 7, 34, 29, 39, 32,
+ 42, 36, 25, 41, 70, 79, 87, 95, 95, 122, 121,
+ 117, 17, 45, 41, 44, 34, 37, 22, 21, 12, 11,
+ 69, 11, 16, 18, 37, 25, 30, 7, 34, 29, 39, 32,
+ 42, 36, 25, 41, 70, 79, 87, 95, 95, 122, 121,
+ 117 },
+
+ {
+
+ 23,
+ 4, 82, 23, 4, 82, 13, 23, 27, 12, 70, 95, 68,
+ 25, 40, 10, 39, 87, 74, 27, 70, 73, 37, 95,
+ 95, 65, 79, 126, 126, 126, 24, 7, 68, 74, 27,
+ 70, 76, 14, 36, 66, 5, 2, 5, 109, 113, 95,
+ 112, 65, 71, 70, 76, 91, 81, 98, 0, 68, 69,
+ 64, 33, 1, 22, 0, 0, 0, 5, 97, 97, 11, 76, 70,
+ 10, 0, 72, 35, 19, 7, 48, 46, 7, 19, 22, 26,
+ 10, 9, 38, 110, 89, 89, 91, 25, 72, 19, 38,
+ 65, 73, 3, 19, 65, 73, 72, 81, 24, 76, 14, 1,
+ 75, 8, 68, 0, 7, 13, 18, 19, 7, 79, 68, 3, 65,
+ 0, 71, 30, 66, 1, 32, 27, 38, 31, 27, 98, 10,
+ 11, 76, 67, 76, 69, 33, 2, 5, 38, 57, 62, 62,
+ 49, 99, 109, 11, 42, 42, 126, 73, 14, 99, 25,
+ 70, 4, 37, 33, 54, 49, 47, 110, 3, 83, 103,
+ 103, 66, 13, 21, 10, 4, 10, 10, 2, 15, 8, 78,
+ 71, 5, 0, 0, 76, 66, 74, 80, 67, 67, 0, 72,
+ 73, 110, 75, 78, 69, 88, 85, 78, 65, 74, 76,
+ 74, 79, 99, 83, 69, 110, 126, 99, 108, 102,
+ 126, 89, 83, 118, 68, 77, 77, 85, 89, 102, 97,
+ 90, 108, 93, 94, 98, 109, 2, 14, 42, 26, 10,
+ 4, 17, 10, 5, 2, 16, 21, 45, 29, 23, 14, 36,
+ 19, 23, 7, 38, 9, 37, 24, 19, 13, 27, 12, 5,
+ 4, 5, 68, 55, 32, 11, 3, 21, 5, 70, 0, 18, 42,
+ 37, 22, 10, 34, 15, 13, 5, 4, 62, 66, 5, 12,
+ 11, 2, 10, 14, 18, 16, 22, 29, 41, 66, 3, 71,
+ 70, 62, 78, 103, 72, 5, 5, 71, 71, 70, 75, 2,
+ 77, 98, 69, 68, 24, 70, 77, 69, 68, 64, 74,
+ 72, 70, 92, 85, 73, 75, 70, 27, 103, 77, 26,
+ 85, 69, 69, 70, 6, 67, 73, 4, 12, 71, 71, 110,
+ 30, 28, 29, 10, 71, 72, 74, 85, 75, 86, 92,
+ 85, 104, 99, 99, 112, 108, 120, 126, 103, 94,
+ 92, 94, 108, 99, 93, 94, 95, 79, 83, 87, 84,
+ 89, 108, 94, 91, 115, 101, 114, 113, 126, 126,
+ 121, 119, 80, 78, 123, 89, 90, 96, 114, 101,
+ 102, 104, 93, 98, 86, 79, 110, 116, 126, 90,
+ 102, 107, 69, 11, 16, 19, 38, 25, 31, 7, 35,
+ 30, 40, 32, 43, 36, 26, 41, 72, 81, 89, 97,
+ 97, 124, 123, 119, 17, 46, 41, 45, 35, 37, 22,
+ 21, 12, 12, 69, 11, 16, 19, 38, 25, 31, 7, 35,
+ 30, 40, 32, 43, 36, 26, 41, 72, 81, 89, 97,
+ 97, 124, 123, 119 },
+
+ {
+
+ 22,
+ 4, 82, 22, 4, 82, 15, 24, 27, 12, 70, 97, 70,
+ 24, 41, 10, 40, 89, 73, 29, 71, 73, 38, 96,
+ 96, 66, 81, 126, 126, 126, 26, 8, 68, 73, 29,
+ 71, 76, 15, 36, 66, 5, 3, 7, 110, 114, 95,
+ 112, 65, 70, 69, 77, 91, 81, 98, 0, 67, 69, 0,
+ 33, 1, 22, 0, 0, 0, 6, 97, 97, 11, 77, 70, 10,
+ 1, 70, 38, 20, 8, 50, 48, 8, 20, 24, 27, 11,
+ 10, 41, 110, 90, 89, 92, 25, 72, 20, 41, 64,
+ 73, 3, 21, 65, 73, 72, 80, 24, 76, 15, 2, 74,
+ 9, 67, 0, 8, 14, 19, 20, 7, 80, 68, 4, 65, 0,
+ 71, 31, 66, 1, 32, 28, 38, 31, 27, 98, 11, 11,
+ 77, 67, 75, 69, 34, 3, 6, 40, 59, 62, 62, 51,
+ 100, 110, 12, 43, 42, 126, 73, 14, 99, 26, 70,
+ 4, 39, 33, 54, 49, 49, 111, 4, 84, 105, 106,
+ 65, 13, 21, 10, 4, 10, 10, 2, 15, 8, 79, 72,
+ 5, 0, 0, 76, 66, 74, 81, 67, 67, 0, 73, 74,
+ 111, 76, 78, 69, 89, 85, 80, 67, 75, 77, 75,
+ 81, 102, 85, 70, 112, 126, 100, 110, 104, 126,
+ 90, 84, 119, 69, 78, 78, 87, 91, 104, 99, 91,
+ 109, 93, 95, 99, 111, 4, 16, 43, 27, 10, 4,
+ 18, 11, 6, 2, 18, 23, 46, 30, 23, 15, 38, 20,
+ 24, 8, 41, 10, 38, 25, 20, 13, 28, 13, 6, 5,
+ 6, 67, 56, 33, 11, 3, 22, 6, 69, 1, 19, 42,
+ 38, 22, 10, 35, 16, 14, 6, 5, 62, 65, 7, 14,
+ 12, 3, 11, 16, 20, 18, 24, 31, 44, 65, 4, 70,
+ 69, 62, 77, 104, 71, 6, 6, 71, 71, 70, 75, 2,
+ 78, 99, 69, 68, 25, 70, 77, 69, 68, 0, 74, 73,
+ 70, 93, 86, 74, 75, 70, 28, 103, 78, 27, 85,
+ 70, 69, 70, 6, 68, 73, 4, 12, 71, 71, 112, 29,
+ 27, 28, 9, 74, 75, 77, 88, 77, 89, 95, 88,
+ 107, 101, 101, 116, 111, 124, 126, 106, 96,
+ 93, 96, 110, 101, 94, 95, 96, 79, 85, 90, 87,
+ 91, 110, 96, 92, 117, 103, 116, 115, 126, 126,
+ 122, 121, 81, 79, 125, 90, 91, 97, 116, 102,
+ 103, 105, 94, 99, 86, 78, 112, 117, 126, 92,
+ 103, 108, 69, 12, 17, 20, 39, 26, 31, 8, 36,
+ 31, 41, 33, 44, 37, 26, 40, 74, 83, 91, 99,
+ 99, 126, 125, 120, 18, 46, 42, 45, 36, 38, 23,
+ 22, 12, 13, 69, 12, 17, 20, 39, 26, 31, 8, 36,
+ 31, 41, 33, 44, 37, 26, 40, 74, 83, 91, 99,
+ 99, 126, 125, 120 },
+
+ {
+
+ 21,
+ 4, 82, 21, 4, 82, 17, 26, 28, 12, 71, 99, 71,
+ 23, 41, 10, 42, 90, 73, 30, 71, 74, 39, 97,
+ 97, 67, 83, 126, 126, 126, 28, 10, 68, 73, 30,
+ 71, 75, 16, 37, 66, 6, 4, 8, 111, 115, 95,
+ 113, 65, 70, 68, 77, 92, 81, 98, 0, 67, 69, 1,
+ 34, 1, 22, 0, 0, 0, 6, 97, 97, 12, 78, 70, 9,
+ 1, 69, 40, 21, 9, 51, 49, 9, 21, 26, 28, 12,
+ 11, 43, 111, 90, 89, 92, 26, 72, 21, 43, 64,
+ 72, 4, 23, 65, 73, 72, 80, 25, 76, 15, 3, 74,
+ 10, 67, 0, 8, 14, 20, 20, 7, 80, 68, 4, 65, 0,
+ 71, 31, 66, 1, 33, 28, 39, 31, 28, 99, 11, 12,
+ 77, 67, 75, 69, 35, 3, 6, 41, 60, 62, 62, 53,
+ 100, 111, 12, 43, 42, 126, 73, 15, 100, 26,
+ 70, 4, 40, 33, 54, 49, 50, 112, 6, 85, 108,
+ 109, 0, 13, 21, 9, 3, 9, 9, 1, 15, 7, 80, 73,
+ 5, 0, 0, 77, 67, 75, 82, 68, 67, 0, 74, 74,
+ 112, 76, 79, 69, 90, 86, 82, 69, 77, 79, 77,
+ 83, 105, 88, 71, 114, 126, 102, 112, 106, 126,
+ 91, 85, 121, 70, 79, 79, 88, 92, 106, 101, 93,
+ 111, 93, 96, 100, 112, 5, 17, 45, 27, 10, 4,
+ 19, 12, 7, 3, 20, 24, 47, 31, 24, 15, 39, 21,
+ 26, 9, 43, 10, 38, 25, 20, 14, 29, 13, 6, 6,
+ 7, 67, 58, 34, 11, 3, 23, 6, 69, 2, 20, 43,
+ 39, 23, 10, 36, 16, 15, 6, 5, 62, 0, 8, 15,
+ 14, 4, 13, 17, 21, 19, 26, 33, 46, 65, 5, 70,
+ 68, 62, 77, 105, 71, 7, 7, 71, 71, 70, 75, 3,
+ 78, 100, 69, 68, 25, 70, 77, 69, 68, 0, 75,
+ 73, 70, 94, 87, 74, 75, 70, 29, 104, 78, 28,
+ 86, 70, 69, 70, 7, 68, 74, 5, 13, 71, 71, 113,
+ 28, 26, 27, 7, 76, 77, 79, 91, 80, 92, 98, 91,
+ 110, 104, 103, 120, 115, 126, 126, 109, 98,
+ 95, 98, 113, 103, 95, 96, 97, 79, 87, 92, 89,
+ 93, 112, 98, 94, 119, 105, 118, 117, 126, 126,
+ 124, 122, 82, 80, 126, 92, 93, 99, 118, 104,
+ 105, 106, 95, 100, 86, 77, 113, 119, 126, 93,
+ 104, 109, 69, 12, 17, 20, 40, 27, 32, 8, 37,
+ 32, 42, 33, 45, 37, 27, 40, 76, 85, 93, 101,
+ 101, 126, 126, 121, 18, 47, 42, 46, 36, 39,
+ 23, 22, 13, 13, 69, 12, 17, 20, 40, 27, 32, 8,
+ 37, 32, 42, 33, 45, 37, 27, 40, 76, 85, 93,
+ 101, 101, 126, 126, 121 },
+
+ {
+
+ 20,
+ 4, 82, 20, 4, 82, 19, 27, 28, 12, 71, 101, 73,
+ 22, 42, 10, 44, 92, 73, 32, 71, 74, 40, 98,
+ 98, 68, 85, 126, 126, 126, 30, 11, 68, 73, 32,
+ 71, 75, 17, 37, 66, 7, 5, 9, 112, 116, 95,
+ 113, 65, 70, 67, 77, 92, 81, 98, 0, 67, 69, 2,
+ 34, 1, 22, 0, 0, 0, 7, 97, 97, 12, 79, 70, 9,
+ 2, 68, 42, 22, 10, 53, 51, 10, 22, 28, 29, 13,
+ 12, 45, 112, 90, 89, 92, 26, 72, 22, 45, 64,
+ 71, 5, 25, 65, 73, 72, 80, 25, 76, 16, 4, 74,
+ 11, 67, 0, 8, 15, 21, 21, 7, 80, 68, 4, 65, 0,
+ 71, 31, 66, 1, 33, 28, 39, 31, 28, 99, 12, 13,
+ 78, 67, 75, 69, 36, 3, 7, 42, 61, 62, 62, 55,
+ 101, 112, 13, 43, 42, 126, 73, 15, 100, 27,
+ 70, 4, 41, 33, 54, 49, 51, 113, 7, 86, 111,
+ 112, 1, 13, 21, 9, 2, 9, 9, 1, 15, 7, 81, 74,
+ 5, 0, 0, 77, 67, 76, 83, 68, 67, 0, 75, 75,
+ 113, 77, 80, 69, 91, 86, 84, 71, 79, 80, 79,
+ 85, 108, 90, 72, 116, 126, 103, 114, 108, 126,
+ 92, 86, 123, 71, 80, 80, 89, 94, 108, 103, 95,
+ 112, 93, 97, 101, 114, 7, 19, 46, 28, 10, 4,
+ 20, 13, 8, 4, 22, 25, 48, 32, 25, 16, 40, 22,
+ 27, 10, 45, 11, 39, 26, 21, 14, 30, 14, 7, 7,
+ 8, 67, 59, 35, 11, 3, 24, 7, 69, 3, 21, 43,
+ 40, 23, 10, 37, 17, 16, 7, 6, 62, 1, 10, 17,
+ 16, 5, 14, 19, 23, 21, 28, 35, 48, 64, 6, 69,
+ 67, 62, 77, 106, 71, 8, 8, 71, 71, 70, 75, 3,
+ 78, 101, 69, 68, 26, 70, 77, 69, 68, 0, 75,
+ 73, 70, 95, 88, 74, 75, 70, 30, 105, 78, 29,
+ 87, 70, 69, 70, 7, 68, 74, 5, 14, 71, 71, 115,
+ 27, 25, 26, 5, 78, 80, 82, 94, 82, 95, 101,
+ 94, 113, 107, 105, 124, 118, 126, 126, 112,
+ 100, 97, 100, 115, 105, 96, 97, 98, 79, 89,
+ 94, 91, 95, 114, 100, 95, 121, 107, 120, 119,
+ 126, 126, 126, 123, 83, 81, 126, 93, 95, 100,
+ 120, 105, 106, 107, 96, 101, 86, 76, 114, 120,
+ 126, 94, 105, 110, 69, 13, 18, 21, 41, 28, 33,
+ 8, 38, 33, 43, 34, 46, 38, 28, 39, 78, 87, 95,
+ 103, 103, 126, 126, 122, 19, 47, 43, 47, 37,
+ 40, 24, 23, 13, 14, 69, 13, 18, 21, 41, 28,
+ 33, 8, 38, 33, 43, 34, 46, 38, 28, 39, 78, 87,
+ 95, 103, 103, 126, 126, 122 },
+
+ {
+
+ 18,
+ 3, 83, 18, 3, 83, 20, 28, 28, 12, 72, 103, 75,
+ 21, 42, 10, 45, 94, 73, 33, 72, 75, 41, 99,
+ 100, 70, 87, 126, 126, 126, 32, 12, 68, 73,
+ 33, 72, 75, 17, 37, 67, 7, 5, 10, 114, 118,
+ 96, 114, 66, 70, 67, 78, 93, 81, 98, 64, 67,
+ 69, 2, 34, 0, 22, 0, 0, 0, 7, 98, 97, 12, 80,
+ 71, 8, 2, 67, 44, 23, 10, 54, 52, 10, 23, 29,
+ 29, 14, 12, 47, 113, 91, 90, 93, 26, 73, 22,
+ 47, 64, 71, 5, 26, 65, 73, 72, 80, 25, 77, 16,
+ 4, 74, 11, 67, 0, 8, 15, 22, 21, 7, 81, 69, 4,
+ 65, 64, 71, 31, 66, 1, 33, 28, 39, 31, 28,
+ 100, 12, 13, 79, 67, 75, 70, 36, 3, 7, 43, 62,
+ 62, 62, 56, 102, 114, 13, 43, 42, 126, 74, 15,
+ 101, 27, 71, 4, 42, 33, 53, 49, 52, 114, 8,
+ 88, 114, 116, 2, 12, 21, 8, 1, 8, 8, 0, 14, 6,
+ 82, 75, 4, 64, 64, 78, 68, 77, 84, 69, 68, 64,
+ 76, 76, 115, 78, 81, 69, 93, 87, 87, 74, 81,
+ 82, 81, 88, 112, 93, 74, 118, 126, 105, 117,
+ 110, 126, 94, 88, 125, 73, 81, 81, 91, 96,
+ 110, 105, 97, 114, 93, 98, 102, 116, 8, 20,
+ 47, 28, 10, 4, 20, 13, 8, 4, 23, 26, 48, 32,
+ 25, 16, 41, 23, 28, 10, 47, 11, 39, 26, 21,
+ 14, 30, 14, 7, 7, 9, 67, 60, 36, 11, 2, 24, 7,
+ 69, 3, 21, 43, 40, 23, 10, 38, 17, 16, 7, 6,
+ 62, 2, 11, 18, 17, 6, 15, 20, 24, 22, 29, 36,
+ 50, 64, 6, 69, 67, 62, 77, 108, 71, 8, 8, 71,
+ 71, 70, 76, 3, 79, 102, 70, 68, 26, 71, 77,
+ 70, 68, 0, 76, 74, 71, 96, 89, 75, 76, 70, 31,
+ 106, 79, 29, 88, 71, 69, 71, 7, 69, 75, 5, 14,
+ 71, 71, 117, 25, 24, 24, 3, 81, 83, 85, 97,
+ 85, 98, 105, 97, 117, 110, 107, 126, 122, 126,
+ 126, 115, 103, 99, 103, 118, 107, 98, 99, 99,
+ 79, 92, 97, 94, 97, 117, 102, 97, 124, 109,
+ 123, 121, 126, 126, 126, 125, 85, 83, 126, 95,
+ 97, 102, 122, 107, 108, 108, 97, 102, 87, 75,
+ 116, 122, 126, 96, 107, 112, 69, 13, 18, 21,
+ 42, 28, 33, 8, 39, 33, 44, 34, 46, 38, 28, 38,
+ 80, 89, 98, 106, 105, 126, 126, 124, 19, 47,
+ 43, 47, 37, 40, 24, 23, 13, 14, 69, 13, 18,
+ 21, 42, 28, 33, 8, 39, 33, 44, 34, 46, 38, 28,
+ 38, 80, 89, 98, 106, 105, 126, 126, 124 },
+
+ {
+
+ 17,
+ 3, 83, 17, 3, 83, 22, 30, 29, 13, 72, 104, 76,
+ 21, 43, 11, 47, 95, 72, 35, 72, 75, 43, 99,
+ 101, 71, 88, 126, 126, 126, 34, 14, 67, 72,
+ 35, 72, 74, 18, 38, 67, 8, 6, 12, 115, 119,
+ 96, 114, 66, 69, 66, 78, 93, 80, 97, 64, 66,
+ 68, 3, 35, 0, 22, 0, 0, 0, 8, 98, 97, 13, 80,
+ 71, 8, 3, 65, 47, 25, 11, 56, 54, 11, 25, 31,
+ 30, 16, 13, 50, 113, 91, 90, 93, 27, 73, 23,
+ 50, 0, 70, 6, 28, 65, 72, 72, 79, 26, 77, 17,
+ 5, 73, 12, 66, 1, 9, 16, 23, 22, 8, 81, 69, 5,
+ 64, 64, 70, 32, 65, 1, 34, 29, 40, 32, 29,
+ 100, 13, 14, 79, 67, 74, 70, 37, 4, 8, 45, 62,
+ 62, 62, 58, 102, 115, 14, 44, 43, 126, 74, 16,
+ 101, 28, 71, 5, 44, 33, 53, 50, 54, 115, 10,
+ 89, 116, 119, 4, 12, 21, 8, 1, 8, 8, 0, 14, 6,
+ 82, 75, 4, 64, 64, 78, 68, 77, 84, 69, 68, 64,
+ 76, 76, 116, 78, 81, 69, 94, 87, 89, 76, 82,
+ 83, 82, 90, 115, 95, 75, 119, 126, 106, 119,
+ 111, 126, 95, 89, 126, 74, 81, 81, 92, 97,
+ 111, 106, 98, 115, 93, 98, 102, 117, 10, 22,
+ 49, 29, 10, 4, 21, 14, 9, 5, 25, 28, 49, 33,
+ 26, 17, 43, 24, 30, 11, 50, 12, 40, 27, 22,
+ 15, 31, 15, 8, 8, 11, 66, 62, 37, 12, 2, 25,
+ 8, 68, 4, 22, 44, 41, 24, 11, 39, 18, 17, 8,
+ 7, 62, 4, 13, 20, 19, 8, 17, 22, 26, 24, 31,
+ 38, 53, 0, 7, 68, 66, 62, 76, 109, 70, 9, 9,
+ 70, 71, 69, 76, 4, 79, 102, 70, 68, 27, 71,
+ 77, 70, 68, 1, 76, 74, 71, 96, 89, 75, 76, 69,
+ 33, 106, 79, 30, 88, 71, 69, 71, 8, 69, 75, 6,
+ 15, 70, 70, 118, 24, 23, 23, 2, 83, 85, 87,
+ 100, 87, 100, 108, 99, 120, 112, 109, 126,
+ 125, 126, 126, 117, 105, 100, 105, 120, 108,
+ 99, 100, 99, 79, 94, 99, 96, 99, 119, 103, 98,
+ 126, 110, 125, 122, 126, 126, 126, 126, 86,
+ 84, 126, 96, 98, 103, 123, 108, 109, 109, 97,
+ 102, 87, 74, 117, 123, 126, 97, 108, 113, 68,
+ 14, 19, 22, 44, 29, 34, 9, 41, 34, 45, 35, 47,
+ 39, 29, 38, 81, 90, 100, 108, 106, 126, 126,
+ 125, 20, 48, 44, 48, 38, 41, 25, 24, 14, 15,
+ 68, 14, 19, 22, 44, 29, 34, 9, 41, 34, 45, 35,
+ 47, 39, 29, 38, 81, 90, 100, 108, 106, 126,
+ 126, 125 },
+
+ {
+
+ 16,
+ 3, 83, 16, 3, 83, 24, 31, 29, 13, 72, 106, 78,
+ 20, 44, 11, 49, 97, 72, 36, 72, 75, 44, 100,
+ 102, 72, 90, 126, 126, 126, 36, 15, 67, 72,
+ 36, 72, 74, 19, 38, 67, 9, 7, 13, 116, 120,
+ 96, 114, 66, 69, 65, 78, 93, 80, 97, 64, 66,
+ 68, 4, 35, 0, 22, 0, 0, 0, 9, 98, 97, 13, 81,
+ 71, 8, 4, 64, 49, 26, 12, 58, 56, 12, 26, 33,
+ 31, 17, 14, 52, 114, 91, 90, 93, 27, 73, 24,
+ 52, 0, 69, 7, 30, 65, 72, 72, 79, 26, 77, 17,
+ 6, 73, 13, 66, 1, 9, 16, 24, 23, 8, 81, 69, 5,
+ 64, 64, 70, 32, 65, 1, 34, 29, 40, 32, 29,
+ 101, 14, 15, 80, 67, 74, 70, 38, 4, 8, 46, 62,
+ 62, 62, 60, 103, 116, 14, 44, 43, 126, 74, 16,
+ 102, 29, 71, 5, 45, 33, 53, 50, 55, 116, 11,
+ 90, 119, 122, 5, 12, 21, 8, 0, 7, 8, 0, 14, 5,
+ 83, 76, 4, 64, 64, 78, 69, 78, 85, 69, 68, 64,
+ 77, 77, 117, 79, 82, 69, 95, 88, 91, 78, 84,
+ 85, 84, 92, 118, 97, 76, 121, 126, 108, 121,
+ 113, 126, 96, 90, 126, 75, 82, 82, 93, 99,
+ 113, 108, 100, 117, 93, 99, 103, 119, 11, 23,
+ 50, 30, 10, 4, 22, 15, 10, 6, 27, 29, 50, 34,
+ 27, 18, 44, 25, 31, 12, 52, 13, 40, 27, 22,
+ 15, 32, 16, 9, 9, 12, 66, 62, 38, 12, 2, 26,
+ 9, 68, 5, 23, 44, 42, 24, 11, 40, 19, 18, 9,
+ 8, 62, 5, 15, 22, 21, 9, 18, 24, 28, 25, 33,
+ 40, 55, 1, 8, 67, 65, 62, 76, 110, 70, 10, 10,
+ 70, 71, 69, 76, 4, 79, 103, 70, 68, 28, 71,
+ 77, 70, 68, 1, 76, 74, 71, 97, 90, 75, 76, 69,
+ 34, 107, 79, 31, 89, 71, 69, 71, 8, 69, 75, 6,
+ 16, 70, 70, 120, 23, 22, 22, 0, 85, 88, 90,
+ 103, 89, 103, 111, 102, 123, 115, 111, 126,
+ 126, 126, 126, 120, 107, 102, 107, 122, 110,
+ 100, 101, 100, 79, 96, 101, 98, 101, 121, 105,
+ 100, 126, 112, 126, 124, 126, 126, 126, 126,
+ 87, 85, 126, 98, 100, 105, 125, 109, 110, 110,
+ 98, 103, 87, 73, 118, 124, 126, 98, 109, 114,
+ 68, 14, 20, 23, 45, 30, 35, 9, 42, 35, 46, 35,
+ 48, 40, 30, 37, 83, 92, 102, 110, 108, 126,
+ 126, 126, 21, 48, 44, 49, 39, 42, 25, 25, 14,
+ 16, 68, 14, 20, 23, 45, 30, 35, 9, 42, 35, 46,
+ 35, 48, 40, 30, 37, 83, 92, 102, 110, 108,
+ 126, 126, 126 },
+
+ {
+
+ 15,
+ 3, 83, 15, 3, 83, 26, 33, 30, 13, 73, 108, 79,
+ 19, 44, 11, 51, 98, 72, 38, 72, 76, 45, 101,
+ 103, 73, 92, 126, 126, 126, 38, 17, 67, 72,
+ 38, 72, 73, 20, 39, 67, 10, 8, 14, 117, 121,
+ 96, 115, 66, 69, 64, 78, 94, 80, 97, 64, 66,
+ 68, 5, 36, 0, 22, 0, 0, 0, 9, 98, 97, 14, 82,
+ 71, 7, 4, 0, 51, 27, 13, 59, 57, 13, 27, 35,
+ 32, 18, 15, 54, 115, 91, 90, 93, 28, 73, 25,
+ 54, 0, 68, 8, 32, 65, 72, 72, 79, 27, 77, 18,
+ 7, 73, 14, 66, 1, 9, 17, 25, 23, 8, 81, 69, 5,
+ 64, 64, 70, 32, 65, 1, 35, 29, 41, 32, 30,
+ 101, 14, 16, 80, 67, 74, 70, 39, 4, 9, 47, 62,
+ 62, 62, 62, 103, 117, 15, 44, 43, 126, 74, 17,
+ 102, 29, 71, 5, 46, 33, 53, 50, 56, 117, 13,
+ 91, 122, 125, 7, 12, 21, 7, 64, 7, 7, 64, 14,
+ 5, 84, 77, 4, 64, 64, 79, 69, 79, 86, 70, 68,
+ 64, 78, 77, 118, 79, 83, 69, 96, 88, 93, 80,
+ 86, 86, 86, 94, 121, 100, 77, 123, 126, 109,
+ 123, 115, 126, 97, 91, 126, 76, 83, 83, 94,
+ 100, 115, 110, 102, 118, 93, 100, 104, 120,
+ 13, 25, 52, 30, 10, 4, 23, 16, 11, 7, 29, 30,
+ 51, 35, 28, 18, 45, 26, 33, 13, 54, 13, 41,
+ 28, 23, 16, 33, 16, 9, 10, 13, 66, 62, 39, 12,
+ 2, 27, 9, 68, 6, 24, 45, 43, 25, 11, 41, 19,
+ 19, 9, 8, 62, 7, 16, 23, 23, 10, 20, 25, 29,
+ 27, 35, 42, 57, 1, 9, 67, 64, 62, 76, 111, 70,
+ 11, 11, 70, 71, 69, 76, 5, 79, 104, 70, 68,
+ 28, 71, 77, 70, 68, 1, 77, 74, 71, 98, 91, 75,
+ 76, 69, 35, 108, 79, 32, 90, 71, 69, 71, 9,
+ 69, 76, 7, 17, 70, 70, 121, 22, 21, 21, 65,
+ 87, 90, 92, 106, 92, 106, 114, 105, 126, 118,
+ 113, 126, 126, 126, 126, 123, 109, 104, 109,
+ 125, 112, 101, 102, 101, 79, 98, 103, 100,
+ 103, 123, 107, 101, 126, 114, 126, 126, 126,
+ 126, 126, 126, 88, 86, 126, 99, 102, 106, 126,
+ 111, 112, 111, 99, 104, 87, 72, 119, 126, 126,
+ 99, 110, 115, 68, 15, 20, 23, 46, 31, 36, 9,
+ 43, 36, 47, 36, 49, 40, 31, 37, 85, 94, 104,
+ 112, 110, 126, 126, 126, 21, 49, 45, 50, 39,
+ 43, 26, 25, 15, 16, 68, 15, 20, 23, 46, 31,
+ 36, 9, 43, 36, 47, 36, 49, 40, 31, 37, 85, 94,
+ 104, 112, 110, 126, 126, 126 },
+
+ },
+
+ {
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 126, 104, 10, 9, 12, 30, 61,
+ 62, 54, 14, 118, 6, 78, 65, 1, 14, 73, 13, 64,
+ 20, 62, 67, 90, 104, 126, 104, 67, 78, 65, 1,
+ 86, 95, 2, 18, 69, 81, 96, 8, 67, 86, 88, 5, 76,
+ 94, 9, 69, 81, 88, 67, 74, 74, 80, 72, 5, 22, 0,
+ 0, 0, 83, 86, 97, 72, 22, 1, 52, 8, 69, 126,
+ 102, 82, 74, 107, 126, 126, 126, 95, 126, 114,
+ 126, 123, 115, 122, 115, 0, 68, 84, 104, 70, 93,
+ 90, 126, 74, 97, 91, 126, 7, 82, 76, 125, 93,
+ 87, 77, 71, 0, 68, 84, 1, 65, 2, 7, 66, 64, 2,
+ 78, 13, 11, 28, 19, 25, 18, 17, 19, 46, 12, 13,
+ 44, 30, 1, 108, 100, 101, 91, 94, 88, 84, 86,
+ 83, 87, 94, 70, 72, 74, 4, 102, 100, 95, 75, 72,
+ 75, 71, 17, 69, 1, 65, 26, 72, 6, 9, 1, 72, 62,
+ 54, 38, 45, 54, 44, 26, 45, 34, 30, 33, 18, 5,
+ 1, 2, 25, 18, 24, 21, 19, 18, 22, 14, 29, 21, 8,
+ 12, 17, 89, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 46, 62, 60, 41, 62, 62, 62,
+ 62, 60, 58, 62, 47, 41, 15, 26, 3, 68, 97, 71,
+ 21, 13, 9, 1, 5, 0, 72, 74, 91, 67, 36, 24, 19,
+ 17, 64, 68, 78, 77, 86, 92, 8, 3, 1, 65, 73, 76,
+ 80, 88, 110, 97, 84, 79, 73, 74, 86, 96, 97,
+ 117, 78, 30, 15, 10, 1, 71, 79, 86, 90, 97, 62,
+ 93, 84, 79, 66, 71, 1, 3, 4, 75, 1, 5, 66, 79,
+ 71, 68, 19, 1, 27, 23, 36, 34, 19, 27, 31, 21,
+ 15, 1, 17, 64, 104, 97, 96, 88, 85, 85, 85, 88,
+ 66, 77, 76, 76, 5, 76, 83, 99, 95, 95, 76, 74,
+ 70, 75, 68, 65, 73, 1, 1, 68, 75, 8, 64, 70, 57,
+ 44, 47, 49, 50, 52, 48, 47, 40, 40, 43, 37, 19,
+ 23, 16, 46, 42, 41, 36, 34, 28, 13, 6, 0, 77,
+ 82, 94, 69, 109, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 61, 50, 28, 5, 62, 62, 33, 62, 62,
+ 62, 60, 62, 58, 52, 58, 51, 52, 34, 37, 24, 66,
+ 42, 32, 13, 120, 112, 114, 85, 92, 89, 71, 81,
+ 80, 68, 70, 7, 68, 13, 74, 62, 62, 62, 62, 60,
+ 57, 29, 9, 82, 75, 40, 29, 20, 9, 8, 2, 64, 68,
+ 92, 106, 97, 90, 90, 88, 73, 79, 86, 73, 70, 69,
+ 66, 64, 5, 4, 62, 62, 62, 62, 60, 54, 43, 27, 67 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 125, 102, 11, 10, 12, 29,
+ 60, 62, 54, 14, 115, 6, 77, 64, 1, 14, 72, 12,
+ 65, 20, 62, 68, 91, 104, 124, 102, 67, 77, 64,
+ 1, 85, 93, 3, 18, 68, 80, 95, 8, 67, 85, 88,
+ 5, 75, 93, 9, 69, 80, 88, 66, 73, 73, 79, 71,
+ 5, 22, 0, 0, 0, 82, 86, 97, 71, 22, 1, 52, 8,
+ 69, 125, 101, 82, 73, 105, 125, 125, 125, 93,
+ 125, 112, 125, 121, 114, 121, 114, 1, 67, 83,
+ 103, 69, 92, 89, 125, 73, 96, 90, 125, 8, 81,
+ 75, 123, 92, 86, 76, 70, 1, 67, 83, 2, 64, 2,
+ 7, 65, 64, 2, 77, 13, 11, 28, 19, 25, 18, 17,
+ 19, 45, 12, 13, 43, 29, 1, 107, 99, 100, 90,
+ 93, 87, 83, 85, 82, 86, 92, 70, 72, 73, 3,
+ 101, 99, 95, 74, 72, 74, 70, 17, 68, 1, 65,
+ 25, 71, 6, 8, 1, 72, 62, 54, 38, 45, 54, 44,
+ 26, 45, 34, 29, 33, 18, 5, 1, 2, 25, 18, 24,
+ 21, 19, 17, 22, 14, 28, 20, 8, 11, 16, 89, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 60, 44, 62, 59, 40, 62, 62, 62, 62, 58,
+ 56, 61, 45, 39, 15, 25, 2, 68, 97, 70, 22, 14,
+ 10, 2, 5, 0, 71, 73, 90, 66, 37, 25, 20, 17,
+ 0, 67, 77, 76, 85, 91, 9, 4, 2, 64, 72, 75,
+ 79, 87, 108, 96, 82, 78, 72, 73, 85, 95, 96,
+ 115, 77, 31, 16, 11, 2, 70, 78, 85, 89, 96,
+ 62, 92, 83, 78, 66, 70, 1, 4, 5, 74, 2, 6, 65,
+ 78, 71, 68, 19, 2, 27, 23, 35, 34, 19, 26, 30,
+ 21, 15, 1, 16, 64, 103, 96, 95, 87, 84, 84,
+ 84, 87, 66, 76, 75, 75, 5, 75, 82, 98, 94, 95,
+ 76, 73, 70, 74, 68, 65, 72, 1, 1, 67, 74, 8,
+ 64, 70, 57, 44, 47, 49, 49, 52, 48, 47, 40,
+ 40, 43, 37, 19, 22, 15, 45, 41, 40, 35, 33,
+ 27, 13, 6, 0, 76, 81, 93, 69, 108, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 61, 59, 48, 27, 5,
+ 62, 62, 32, 62, 62, 62, 58, 62, 56, 50, 56,
+ 49, 50, 33, 35, 23, 67, 41, 31, 12, 118, 110,
+ 112, 84, 91, 88, 69, 80, 79, 68, 69, 9, 66,
+ 15, 73, 62, 62, 62, 62, 58, 55, 27, 7, 83, 74,
+ 41, 29, 20, 9, 9, 2, 64, 68, 91, 105, 96, 89,
+ 89, 86, 72, 78, 85, 72, 69, 68, 65, 0, 6, 4,
+ 62, 62, 62, 62, 59, 53, 41, 26, 67 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 123, 101, 11, 10, 12, 28,
+ 59, 61, 54, 14, 113, 6, 76, 0, 1, 13, 72, 11,
+ 66, 19, 60, 70, 92, 105, 121, 101, 67, 76, 0,
+ 1, 85, 92, 3, 17, 68, 80, 94, 8, 67, 85, 88,
+ 5, 75, 92, 9, 69, 80, 88, 66, 73, 73, 79, 71,
+ 5, 22, 0, 0, 0, 81, 86, 97, 71, 21, 1, 52, 8,
+ 69, 124, 100, 82, 73, 104, 123, 123, 124, 92,
+ 123, 111, 123, 120, 113, 120, 113, 2, 67, 82,
+ 102, 69, 92, 88, 123, 73, 96, 90, 124, 8, 81,
+ 75, 122, 92, 85, 76, 70, 1, 67, 82, 2, 64, 1,
+ 7, 65, 64, 2, 77, 13, 11, 27, 19, 24, 18, 17,
+ 19, 43, 12, 13, 41, 28, 0, 106, 98, 99, 89,
+ 92, 86, 82, 84, 82, 85, 91, 70, 72, 73, 2,
+ 101, 98, 95, 74, 72, 73, 70, 16, 67, 1, 65,
+ 24, 70, 5, 7, 1, 73, 60, 53, 37, 44, 53, 43,
+ 25, 44, 34, 28, 32, 18, 5, 1, 2, 24, 17, 23,
+ 20, 18, 16, 21, 13, 26, 19, 7, 10, 15, 89, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 58, 41, 62, 57, 38, 62, 62, 62, 62, 56,
+ 54, 58, 43, 37, 14, 23, 1, 69, 97, 70, 22, 14,
+ 10, 2, 5, 0, 71, 73, 89, 66, 37, 25, 20, 17,
+ 1, 67, 76, 76, 84, 90, 10, 5, 2, 64, 71, 75,
+ 79, 86, 107, 95, 81, 77, 72, 73, 84, 94, 95,
+ 114, 77, 31, 16, 11, 2, 69, 77, 84, 88, 95,
+ 62, 92, 83, 78, 66, 70, 1, 4, 5, 74, 2, 6, 64,
+ 78, 71, 68, 18, 2, 26, 22, 34, 33, 19, 25, 29,
+ 21, 15, 0, 15, 65, 102, 95, 94, 87, 84, 84,
+ 83, 86, 66, 76, 75, 75, 4, 75, 82, 98, 93, 95,
+ 76, 73, 70, 73, 68, 65, 71, 1, 1, 67, 73, 7,
+ 64, 71, 56, 44, 47, 48, 48, 51, 47, 46, 39,
+ 39, 42, 36, 18, 21, 14, 43, 40, 38, 33, 32,
+ 26, 12, 5, 0, 76, 81, 93, 70, 107, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 59, 57, 46, 26, 4,
+ 62, 60, 31, 62, 62, 62, 56, 60, 54, 48, 54,
+ 47, 48, 31, 33, 21, 68, 39, 29, 10, 117, 109,
+ 111, 83, 90, 87, 67, 79, 78, 68, 68, 10, 65,
+ 16, 72, 62, 62, 62, 62, 55, 52, 24, 5, 84, 74,
+ 41, 29, 20, 9, 9, 2, 64, 68, 90, 104, 95, 88,
+ 88, 85, 71, 77, 84, 71, 68, 67, 65, 1, 6, 4,
+ 62, 62, 62, 61, 57, 51, 39, 24, 68 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 121, 99, 12, 10, 11, 26, 57,
+ 60, 54, 14, 111, 6, 75, 1, 1, 12, 72, 10, 67,
+ 19, 58, 71, 93, 105, 118, 100, 67, 75, 1, 1,
+ 84, 91, 4, 17, 68, 79, 93, 7, 68, 85, 88, 5,
+ 75, 92, 9, 69, 80, 88, 65, 73, 73, 79, 70, 5,
+ 22, 0, 0, 0, 81, 86, 97, 70, 20, 1, 52, 8, 69,
+ 123, 99, 82, 72, 103, 121, 121, 122, 91, 121,
+ 110, 121, 119, 112, 119, 112, 3, 67, 81, 101,
+ 69, 91, 88, 121, 73, 95, 89, 123, 8, 81, 74,
+ 120, 91, 84, 76, 70, 1, 67, 81, 3, 0, 1, 7,
+ 65, 64, 2, 77, 13, 10, 27, 19, 23, 18, 17, 19,
+ 41, 12, 12, 39, 27, 64, 105, 97, 98, 88, 91,
+ 86, 81, 84, 81, 84, 90, 70, 72, 73, 1, 100,
+ 97, 95, 74, 72, 72, 70, 15, 66, 1, 65, 23, 69,
+ 5, 6, 1, 74, 59, 52, 37, 43, 52, 42, 25, 43,
+ 33, 27, 31, 18, 5, 1, 1, 23, 16, 22, 19, 17,
+ 15, 20, 13, 24, 18, 7, 9, 14, 89, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 55,
+ 39, 62, 55, 37, 62, 61, 62, 59, 54, 51, 56,
+ 41, 34, 13, 21, 0, 70, 97, 70, 23, 14, 10, 2,
+ 5, 0, 71, 73, 89, 66, 37, 25, 20, 17, 2, 66,
+ 76, 75, 84, 89, 11, 5, 3, 64, 70, 74, 78, 86,
+ 106, 94, 80, 76, 71, 73, 83, 93, 94, 113, 76,
+ 31, 16, 11, 2, 68, 77, 83, 87, 94, 62, 91, 82,
+ 77, 66, 70, 1, 4, 5, 74, 2, 6, 64, 78, 71, 68,
+ 18, 3, 25, 21, 33, 32, 19, 24, 28, 21, 15, 0,
+ 14, 65, 101, 94, 93, 86, 83, 83, 83, 85, 66,
+ 76, 75, 74, 4, 75, 82, 97, 92, 95, 76, 73, 70,
+ 72, 68, 65, 70, 1, 1, 67, 72, 6, 64, 72, 55,
+ 43, 46, 47, 47, 50, 46, 45, 38, 38, 41, 35,
+ 17, 20, 13, 42, 39, 37, 31, 30, 25, 11, 5, 64,
+ 76, 81, 93, 70, 106, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 57, 54, 44, 24, 3, 61, 59, 29,
+ 62, 62, 60, 54, 58, 52, 46, 52, 45, 45, 29,
+ 31, 19, 69, 37, 27, 9, 116, 108, 110, 82, 89,
+ 86, 66, 78, 77, 68, 67, 12, 0, 18, 71, 62, 62,
+ 62, 62, 52, 49, 21, 3, 85, 74, 41, 29, 20, 9,
+ 9, 2, 64, 68, 90, 103, 94, 87, 87, 84, 71, 77,
+ 83, 71, 68, 67, 65, 1, 6, 4, 62, 62, 62, 59,
+ 55, 49, 37, 22, 69 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 120, 98, 12, 10, 11, 25, 56,
+ 58, 54, 14, 108, 5, 74, 1, 1, 11, 72, 9, 68,
+ 18, 56, 73, 94, 106, 115, 99, 67, 74, 1, 1,
+ 84, 90, 4, 16, 68, 79, 93, 7, 68, 84, 88, 5,
+ 75, 91, 8, 70, 80, 88, 65, 72, 73, 78, 70, 5,
+ 22, 0, 0, 0, 80, 87, 97, 70, 19, 1, 52, 8, 69,
+ 122, 98, 82, 72, 101, 120, 119, 121, 90, 120,
+ 108, 119, 118, 112, 118, 112, 3, 67, 80, 100,
+ 69, 91, 87, 119, 73, 95, 89, 122, 8, 80, 74,
+ 119, 91, 84, 76, 69, 1, 67, 81, 3, 0, 0, 6,
+ 65, 64, 2, 77, 13, 10, 26, 19, 23, 18, 17, 18,
+ 39, 12, 12, 37, 26, 65, 104, 96, 97, 87, 91,
+ 85, 80, 83, 81, 83, 89, 70, 72, 72, 0, 100,
+ 96, 95, 74, 72, 72, 70, 14, 65, 1, 65, 21, 68,
+ 4, 5, 1, 75, 57, 51, 36, 42, 51, 41, 24, 42,
+ 33, 25, 30, 17, 5, 1, 1, 22, 16, 21, 19, 16,
+ 14, 19, 12, 22, 17, 6, 8, 13, 89, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 59, 53,
+ 36, 62, 54, 35, 62, 59, 62, 57, 51, 49, 53,
+ 39, 32, 12, 20, 65, 71, 97, 70, 23, 15, 10, 2,
+ 5, 0, 71, 73, 88, 65, 38, 25, 20, 17, 3, 66,
+ 75, 75, 83, 89, 12, 6, 3, 64, 70, 74, 78, 85,
+ 105, 94, 79, 76, 71, 73, 82, 92, 94, 112, 76,
+ 32, 16, 11, 2, 67, 76, 83, 86, 93, 62, 91, 82,
+ 77, 66, 70, 1, 4, 5, 73, 2, 6, 0, 78, 71, 68,
+ 17, 3, 24, 20, 32, 31, 19, 22, 27, 20, 15, 64,
+ 13, 66, 101, 94, 92, 86, 83, 83, 82, 84, 67,
+ 76, 75, 74, 3, 75, 82, 97, 91, 95, 76, 72, 70,
+ 72, 68, 65, 69, 1, 0, 67, 71, 6, 65, 73, 54,
+ 43, 46, 46, 46, 49, 45, 44, 37, 37, 40, 34,
+ 16, 19, 12, 40, 37, 35, 29, 29, 24, 10, 4, 64,
+ 76, 81, 93, 71, 106, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 60, 55, 52, 42, 23, 2, 59, 57, 28,
+ 62, 62, 58, 52, 55, 50, 44, 50, 43, 43, 27,
+ 29, 17, 70, 35, 25, 7, 115, 107, 109, 82, 88,
+ 85, 64, 77, 76, 68, 66, 13, 1, 19, 71, 62, 62,
+ 62, 62, 49, 46, 18, 1, 86, 74, 41, 29, 20, 9,
+ 9, 2, 64, 68, 89, 102, 93, 86, 87, 83, 70, 76,
+ 82, 70, 67, 66, 64, 2, 7, 4, 62, 62, 62, 57,
+ 53, 47, 35, 20, 70 },
+
+ {
+
+ 62,
+ 9, 74, 62, 9, 74, 118, 96, 12, 10, 10, 23, 54,
+ 57, 54, 14, 106, 5, 73, 2, 1, 11, 71, 8, 69,
+ 18, 54, 75, 95, 106, 112, 97, 67, 73, 2, 1,
+ 84, 89, 4, 16, 68, 79, 92, 7, 69, 84, 88, 5,
+ 75, 90, 8, 70, 80, 88, 64, 72, 72, 78, 69, 5,
+ 22, 0, 0, 0, 80, 87, 97, 69, 18, 1, 52, 8, 69,
+ 121, 97, 82, 71, 100, 118, 117, 119, 89, 118,
+ 107, 117, 117, 111, 117, 111, 4, 67, 79, 99,
+ 69, 90, 86, 117, 73, 95, 88, 120, 9, 80, 73,
+ 118, 90, 83, 76, 69, 2, 66, 80, 4, 1, 0, 6,
+ 65, 64, 2, 77, 13, 9, 25, 19, 22, 18, 17, 18,
+ 37, 12, 11, 36, 25, 66, 103, 95, 96, 86, 90,
+ 84, 79, 82, 80, 82, 88, 70, 72, 72, 64, 99,
+ 95, 95, 73, 72, 71, 70, 13, 64, 1, 65, 20, 67,
+ 4, 4, 1, 75, 56, 50, 36, 41, 50, 40, 23, 42,
+ 33, 24, 29, 17, 5, 1, 0, 22, 15, 20, 18, 15,
+ 13, 19, 11, 20, 16, 5, 7, 12, 89, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 57, 51,
+ 34, 60, 52, 33, 62, 57, 60, 55, 49, 47, 50,
+ 37, 29, 11, 18, 66, 71, 97, 70, 23, 15, 10, 2,
+ 5, 0, 71, 73, 88, 65, 38, 25, 20, 17, 4, 65,
+ 74, 75, 82, 88, 13, 7, 3, 0, 69, 73, 77, 85,
+ 104, 93, 77, 75, 71, 72, 81, 91, 93, 111, 75,
+ 32, 17, 11, 2, 66, 75, 82, 85, 92, 62, 91, 82,
+ 76, 66, 70, 1, 4, 5, 73, 2, 7, 0, 78, 71, 68,
+ 16, 4, 23, 19, 31, 31, 19, 21, 26, 20, 15, 65,
+ 12, 66, 100, 93, 91, 85, 82, 82, 82, 83, 67,
+ 76, 75, 74, 2, 75, 82, 96, 90, 95, 76, 72, 70,
+ 71, 68, 65, 68, 1, 0, 67, 70, 5, 65, 73, 53,
+ 43, 45, 46, 45, 48, 44, 43, 37, 36, 39, 33,
+ 15, 18, 11, 39, 36, 34, 27, 28, 23, 9, 3, 65,
+ 76, 80, 93, 71, 105, 62, 62, 62, 62, 62, 62,
+ 62, 62, 60, 58, 53, 50, 40, 21, 1, 57, 55, 27,
+ 61, 62, 56, 50, 53, 48, 42, 48, 41, 40, 25,
+ 27, 15, 71, 33, 23, 6, 114, 105, 108, 81, 87,
+ 84, 1, 76, 75, 68, 65, 15, 3, 21, 70, 62, 62,
+ 62, 62, 47, 43, 16, 64, 87, 74, 41, 29, 20, 9,
+ 9, 2, 64, 68, 89, 101, 92, 85, 86, 82, 69, 76,
+ 81, 69, 66, 65, 64, 2, 7, 4, 62, 62, 62, 56,
+ 51, 45, 33, 18, 71 },
+
+ {
+
+ 62,
+ 9, 75, 62, 9, 75, 116, 95, 13, 10, 10, 22, 53,
+ 56, 54, 14, 104, 5, 73, 3, 1, 10, 71, 7, 70,
+ 17, 53, 76, 96, 107, 109, 96, 67, 73, 3, 1,
+ 83, 88, 5, 15, 67, 78, 91, 6, 69, 84, 88, 5,
+ 74, 90, 8, 70, 79, 88, 64, 72, 72, 78, 69, 5,
+ 22, 0, 0, 0, 79, 87, 97, 69, 18, 0, 52, 8, 69,
+ 120, 97, 82, 71, 99, 116, 115, 118, 88, 116,
+ 106, 115, 116, 110, 116, 110, 5, 67, 78, 99,
+ 68, 90, 86, 115, 73, 94, 88, 119, 9, 80, 73,
+ 116, 90, 82, 75, 69, 2, 66, 79, 4, 1, 64, 6,
+ 65, 64, 2, 77, 13, 9, 25, 19, 21, 18, 17, 18,
+ 35, 12, 11, 34, 24, 67, 103, 94, 96, 86, 89,
+ 84, 78, 82, 80, 82, 86, 70, 72, 72, 65, 99,
+ 94, 95, 73, 72, 70, 69, 12, 64, 1, 65, 19, 66,
+ 3, 3, 1, 76, 54, 49, 35, 41, 49, 40, 23, 41,
+ 32, 23, 28, 17, 5, 1, 0, 21, 14, 19, 17, 15,
+ 12, 18, 11, 18, 15, 5, 6, 11, 89, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 54, 48,
+ 31, 58, 50, 32, 62, 54, 57, 52, 47, 44, 48,
+ 34, 27, 10, 16, 67, 72, 97, 69, 24, 15, 11, 2,
+ 5, 0, 71, 73, 87, 65, 38, 26, 20, 17, 5, 65,
+ 74, 74, 82, 87, 14, 7, 4, 0, 68, 73, 77, 84,
+ 103, 92, 76, 74, 70, 72, 81, 91, 92, 109, 75,
+ 32, 17, 11, 3, 66, 75, 81, 85, 91, 62, 90, 81,
+ 76, 66, 70, 1, 4, 5, 73, 3, 7, 1, 78, 71, 69,
+ 16, 4, 22, 18, 30, 30, 19, 20, 25, 20, 15, 65,
+ 11, 67, 99, 92, 90, 85, 82, 82, 81, 83, 67,
+ 75, 74, 73, 2, 75, 82, 96, 89, 95, 76, 72, 70,
+ 70, 68, 65, 67, 0, 0, 67, 70, 4, 65, 74, 52,
+ 42, 45, 45, 44, 48, 44, 42, 36, 36, 38, 32,
+ 14, 17, 10, 37, 35, 32, 25, 26, 21, 8, 3, 65,
+ 76, 80, 92, 72, 104, 62, 62, 62, 62, 62, 62,
+ 62, 62, 58, 55, 51, 47, 38, 20, 1, 56, 54, 25,
+ 59, 62, 54, 48, 51, 46, 40, 45, 39, 38, 23,
+ 25, 14, 73, 31, 21, 4, 113, 104, 107, 80, 86,
+ 83, 2, 75, 74, 68, 64, 16, 4, 22, 69, 62, 62,
+ 62, 59, 44, 41, 13, 66, 89, 73, 41, 29, 20, 9,
+ 9, 2, 64, 68, 88, 100, 92, 84, 85, 81, 69, 75,
+ 80, 69, 66, 65, 64, 3, 7, 4, 62, 62, 61, 54,
+ 50, 44, 30, 17, 72 },
+
+ {
+
+ 62,
+ 9, 75, 62, 9, 75, 114, 93, 13, 10, 9, 20, 51,
+ 54, 54, 14, 101, 4, 72, 3, 1, 9, 71, 6, 71,
+ 17, 51, 78, 97, 107, 106, 95, 67, 72, 3, 1,
+ 83, 87, 5, 15, 67, 78, 91, 6, 70, 83, 88, 5,
+ 74, 89, 7, 70, 79, 88, 0, 71, 72, 77, 68, 5,
+ 22, 0, 0, 0, 79, 87, 97, 68, 17, 0, 52, 8, 69,
+ 119, 96, 82, 70, 97, 115, 113, 116, 87, 115,
+ 104, 113, 115, 109, 115, 110, 6, 67, 77, 98,
+ 68, 89, 85, 113, 73, 94, 87, 118, 9, 79, 72,
+ 115, 89, 82, 75, 68, 2, 66, 78, 5, 2, 64, 5,
+ 65, 64, 2, 77, 13, 8, 24, 19, 21, 18, 17, 17,
+ 33, 12, 10, 32, 23, 68, 102, 93, 95, 85, 88,
+ 83, 77, 81, 79, 81, 85, 70, 72, 71, 66, 98,
+ 93, 95, 73, 72, 70, 69, 11, 0, 1, 65, 17, 65,
+ 3, 2, 1, 77, 53, 48, 35, 40, 48, 39, 22, 40,
+ 32, 22, 27, 17, 5, 1, 64, 20, 14, 18, 17, 14,
+ 11, 17, 10, 16, 14, 4, 5, 10, 89, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 60, 61, 52, 46,
+ 29, 56, 49, 30, 62, 52, 55, 50, 44, 42, 45,
+ 32, 24, 9, 15, 69, 73, 97, 69, 24, 16, 11, 2,
+ 5, 0, 71, 73, 87, 64, 39, 26, 20, 17, 6, 64,
+ 73, 74, 81, 86, 15, 8, 4, 0, 67, 72, 76, 84,
+ 102, 92, 75, 74, 70, 72, 80, 90, 92, 108, 74,
+ 33, 17, 11, 3, 65, 74, 80, 84, 90, 62, 90, 81,
+ 75, 66, 70, 1, 4, 5, 72, 3, 7, 1, 78, 71, 69,
+ 15, 5, 21, 17, 29, 29, 19, 19, 24, 19, 15, 66,
+ 10, 67, 98, 92, 89, 84, 81, 81, 81, 82, 67,
+ 75, 74, 73, 1, 75, 82, 95, 88, 95, 76, 71, 70,
+ 70, 68, 65, 66, 0, 0, 67, 69, 4, 66, 75, 51,
+ 42, 44, 44, 43, 47, 43, 41, 35, 35, 37, 31,
+ 13, 16, 9, 36, 33, 31, 23, 25, 20, 7, 2, 66,
+ 76, 80, 92, 72, 103, 62, 62, 62, 62, 62, 62,
+ 62, 61, 56, 53, 49, 45, 36, 18, 0, 54, 52, 24,
+ 57, 62, 52, 46, 49, 44, 38, 43, 37, 35, 21,
+ 23, 12, 74, 29, 19, 3, 112, 103, 106, 80, 85,
+ 82, 4, 74, 73, 68, 0, 18, 6, 24, 69, 62, 62,
+ 61, 56, 41, 38, 10, 68, 90, 73, 41, 29, 20, 9,
+ 9, 2, 64, 68, 88, 99, 91, 83, 84, 80, 68, 75,
+ 79, 68, 65, 64, 0, 3, 8, 4, 62, 62, 59, 52,
+ 48, 42, 28, 15, 73 },
+
+ {
+
+ 62,
+ 8, 75, 62, 8, 75, 113, 92, 13, 10, 9, 19, 50,
+ 53, 54, 14, 99, 4, 71, 4, 1, 8, 71, 5, 73, 16,
+ 49, 80, 98, 108, 104, 94, 67, 71, 4, 1, 83,
+ 86, 5, 14, 67, 78, 90, 5, 70, 83, 89, 5, 74,
+ 89, 7, 71, 79, 88, 0, 71, 72, 77, 68, 5, 22,
+ 0, 0, 0, 78, 88, 97, 68, 16, 0, 52, 8, 69,
+ 118, 95, 82, 70, 96, 113, 111, 115, 86, 113,
+ 103, 112, 114, 109, 114, 109, 6, 67, 76, 97,
+ 68, 89, 85, 112, 73, 94, 87, 117, 9, 79, 72,
+ 114, 89, 81, 75, 68, 2, 66, 78, 5, 2, 65, 5,
+ 65, 64, 2, 77, 13, 8, 23, 19, 20, 18, 17, 17,
+ 31, 12, 10, 30, 22, 69, 101, 92, 94, 84, 88,
+ 83, 76, 81, 79, 80, 84, 70, 72, 71, 68, 98,
+ 92, 95, 73, 73, 69, 69, 10, 1, 1, 65, 16, 64,
+ 2, 1, 1, 78, 51, 47, 34, 39, 47, 38, 21, 39,
+ 31, 20, 26, 16, 5, 1, 64, 19, 13, 17, 16, 13,
+ 10, 16, 9, 14, 12, 3, 4, 9, 89, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 61, 58, 58, 49, 43,
+ 26, 54, 47, 28, 61, 50, 52, 47, 42, 39, 42,
+ 30, 22, 8, 13, 70, 74, 98, 69, 24, 16, 11, 2,
+ 5, 0, 71, 73, 86, 64, 39, 26, 20, 17, 7, 64,
+ 73, 74, 81, 86, 16, 8, 4, 0, 67, 72, 76, 83,
+ 101, 91, 74, 73, 70, 72, 79, 89, 91, 107, 74,
+ 33, 17, 11, 3, 64, 74, 80, 83, 90, 62, 90, 81,
+ 75, 66, 70, 1, 4, 5, 72, 3, 7, 2, 78, 71, 69,
+ 14, 5, 20, 16, 28, 28, 19, 17, 22, 19, 15, 67,
+ 9, 68, 98, 91, 88, 84, 81, 81, 80, 81, 68, 75,
+ 74, 73, 0, 75, 82, 95, 88, 96, 76, 71, 70, 69,
+ 68, 65, 66, 0, 64, 67, 68, 3, 66, 76, 50, 41,
+ 44, 43, 41, 46, 42, 40, 34, 34, 36, 30, 12,
+ 15, 8, 34, 32, 29, 21, 23, 19, 6, 1, 66, 76,
+ 80, 92, 73, 103, 62, 62, 62, 62, 62, 62, 61,
+ 58, 54, 51, 47, 42, 34, 17, 64, 52, 50, 22,
+ 55, 61, 49, 43, 46, 41, 36, 41, 34, 33, 19,
+ 20, 10, 75, 27, 17, 1, 111, 102, 105, 79, 84,
+ 82, 5, 73, 73, 68, 0, 19, 7, 25, 68, 62, 62,
+ 58, 53, 38, 35, 7, 70, 91, 73, 41, 29, 20, 9,
+ 9, 2, 64, 68, 87, 99, 90, 82, 84, 79, 68, 74,
+ 79, 68, 65, 64, 0, 4, 8, 3, 62, 62, 57, 50,
+ 46, 40, 26, 13, 74 },
+
+ {
+
+ 62,
+ 8, 75, 62, 8, 75, 111, 91, 14, 10, 9, 18, 49,
+ 52, 54, 14, 97, 4, 70, 5, 1, 8, 70, 4, 74, 15,
+ 47, 81, 99, 109, 101, 92, 67, 70, 5, 1, 82,
+ 85, 6, 13, 67, 77, 89, 5, 70, 83, 89, 5, 74,
+ 88, 7, 71, 79, 88, 0, 71, 71, 77, 68, 5, 22,
+ 0, 0, 0, 77, 88, 97, 68, 15, 0, 52, 8, 69,
+ 117, 94, 82, 70, 95, 111, 109, 113, 84, 111,
+ 102, 110, 113, 108, 113, 108, 7, 66, 75, 96,
+ 68, 88, 84, 110, 73, 93, 87, 115, 10, 79, 72,
+ 112, 89, 80, 75, 68, 3, 65, 77, 5, 2, 65, 5,
+ 64, 64, 2, 76, 13, 8, 23, 19, 19, 18, 17, 17,
+ 29, 12, 10, 29, 21, 69, 100, 91, 93, 83, 87,
+ 82, 75, 80, 79, 79, 83, 70, 72, 71, 69, 97,
+ 91, 95, 72, 73, 68, 69, 9, 2, 1, 65, 15, 0, 1,
+ 0, 1, 78, 50, 46, 34, 38, 46, 37, 21, 39, 31,
+ 19, 25, 16, 5, 1, 64, 19, 12, 16, 15, 12, 9,
+ 16, 9, 13, 11, 3, 3, 8, 89, 62, 62, 62, 62,
+ 62, 62, 62, 62, 62, 59, 56, 56, 46, 41, 23,
+ 53, 45, 27, 59, 48, 50, 45, 40, 37, 40, 28,
+ 20, 8, 11, 71, 74, 98, 69, 25, 16, 11, 3, 5,
+ 0, 70, 73, 85, 64, 39, 26, 21, 17, 8, 0, 72,
+ 73, 80, 85, 17, 9, 5, 1, 66, 71, 76, 82, 100,
+ 90, 72, 72, 69, 71, 78, 88, 90, 106, 73, 33,
+ 18, 12, 3, 0, 73, 79, 82, 89, 62, 89, 80, 74,
+ 66, 70, 1, 5, 6, 72, 3, 8, 3, 78, 71, 69, 14,
+ 5, 19, 16, 27, 28, 19, 16, 21, 19, 15, 67, 8,
+ 69, 97, 90, 87, 84, 80, 81, 79, 80, 68, 75,
+ 74, 72, 0, 75, 82, 95, 87, 96, 76, 71, 70, 68,
+ 68, 65, 65, 0, 64, 67, 67, 2, 66, 76, 49, 41,
+ 44, 43, 40, 45, 41, 39, 34, 33, 35, 30, 12,
+ 14, 7, 33, 31, 27, 19, 22, 18, 6, 1, 66, 75,
+ 79, 92, 74, 102, 62, 62, 62, 62, 62, 62, 59,
+ 56, 52, 49, 45, 40, 32, 16, 65, 50, 49, 21,
+ 53, 59, 47, 41, 44, 39, 34, 39, 32, 31, 18,
+ 18, 8, 76, 25, 15, 64, 110, 100, 103, 78, 83,
+ 81, 7, 72, 72, 68, 1, 21, 8, 27, 67, 62, 62,
+ 56, 50, 36, 32, 5, 72, 92, 73, 41, 29, 20, 9,
+ 10, 2, 64, 68, 86, 98, 89, 81, 83, 77, 67, 73,
+ 78, 67, 64, 0, 0, 5, 8, 3, 62, 61, 56, 49, 44,
+ 38, 24, 11, 74 },
+
+ {
+
+ 62,
+ 8, 75, 62, 8, 75, 109, 89, 14, 10, 8, 16, 47,
+ 50, 54, 14, 94, 3, 69, 5, 1, 7, 70, 3, 75, 15,
+ 45, 83, 100, 109, 98, 91, 67, 69, 5, 1, 82,
+ 84, 6, 13, 67, 77, 89, 5, 71, 82, 89, 5, 74,
+ 87, 6, 71, 79, 88, 1, 70, 71, 76, 67, 5, 22,
+ 0, 0, 0, 77, 88, 97, 67, 14, 0, 52, 8, 69,
+ 116, 93, 82, 69, 93, 110, 107, 112, 83, 110,
+ 100, 108, 112, 107, 112, 108, 8, 66, 74, 95,
+ 68, 88, 83, 108, 73, 93, 86, 114, 10, 78, 71,
+ 111, 88, 80, 75, 67, 3, 65, 76, 6, 3, 66, 4,
+ 64, 64, 2, 76, 13, 7, 22, 19, 19, 18, 17, 16,
+ 27, 12, 9, 27, 20, 70, 99, 90, 92, 82, 86, 81,
+ 74, 79, 78, 78, 82, 70, 72, 70, 70, 97, 90,
+ 95, 72, 73, 68, 69, 8, 3, 1, 65, 13, 1, 1, 64,
+ 1, 79, 48, 45, 33, 37, 45, 36, 20, 38, 31, 18,
+ 24, 16, 5, 1, 65, 18, 12, 15, 15, 11, 8, 15,
+ 8, 11, 10, 2, 2, 7, 89, 62, 62, 62, 62, 62,
+ 62, 62, 62, 62, 57, 54, 53, 44, 39, 21, 51,
+ 44, 25, 56, 46, 48, 43, 37, 35, 37, 26, 17, 7,
+ 10, 73, 75, 98, 69, 25, 17, 11, 3, 5, 0, 70,
+ 73, 85, 0, 40, 26, 21, 17, 9, 0, 71, 73, 79,
+ 84, 18, 10, 5, 1, 65, 71, 75, 82, 99, 90, 71,
+ 72, 69, 71, 77, 87, 90, 105, 73, 34, 18, 12,
+ 3, 1, 72, 78, 81, 88, 62, 89, 80, 74, 66, 70,
+ 1, 5, 6, 71, 3, 8, 3, 78, 71, 69, 13, 6, 18,
+ 15, 26, 27, 19, 15, 20, 18, 15, 68, 7, 69, 96,
+ 90, 86, 83, 80, 80, 79, 79, 68, 75, 74, 72,
+ 64, 75, 82, 94, 86, 96, 76, 70, 70, 68, 68,
+ 65, 64, 0, 64, 67, 66, 2, 67, 77, 48, 41, 43,
+ 42, 39, 44, 40, 38, 33, 32, 34, 29, 11, 13, 6,
+ 31, 29, 26, 17, 21, 17, 5, 0, 67, 75, 79, 92,
+ 74, 101, 62, 62, 62, 62, 62, 60, 57, 53, 50,
+ 47, 43, 38, 30, 14, 66, 48, 47, 20, 51, 57,
+ 45, 39, 42, 37, 32, 37, 30, 28, 16, 16, 6, 77,
+ 23, 13, 65, 109, 99, 102, 78, 82, 80, 9, 71,
+ 71, 68, 2, 22, 10, 28, 67, 62, 60, 53, 47, 33,
+ 29, 2, 74, 93, 73, 41, 29, 20, 9, 10, 2, 64,
+ 68, 86, 97, 88, 80, 82, 76, 66, 73, 77, 66, 0,
+ 1, 1, 5, 9, 3, 60, 59, 54, 47, 42, 36, 22, 9,
+ 75 },
+
+ {
+
+ 62,
+ 8, 76, 62, 8, 76, 107, 88, 15, 10, 8, 15, 46,
+ 49, 54, 14, 92, 3, 69, 6, 1, 6, 70, 2, 76, 14,
+ 44, 84, 101, 110, 95, 90, 67, 69, 6, 1, 81,
+ 83, 7, 12, 66, 76, 88, 4, 71, 82, 89, 5, 73,
+ 87, 6, 71, 78, 88, 1, 70, 71, 76, 67, 5, 22,
+ 0, 0, 0, 76, 88, 97, 67, 14, 64, 52, 8, 69,
+ 115, 93, 82, 69, 92, 108, 105, 110, 82, 108,
+ 99, 106, 111, 106, 111, 107, 9, 66, 73, 95,
+ 67, 87, 83, 106, 73, 92, 86, 113, 10, 78, 71,
+ 109, 88, 79, 74, 67, 3, 65, 75, 6, 3, 66, 4,
+ 64, 64, 2, 76, 13, 7, 22, 19, 18, 18, 17, 16,
+ 25, 12, 9, 25, 19, 71, 99, 89, 92, 82, 85, 81,
+ 73, 79, 78, 78, 80, 70, 72, 70, 71, 96, 89,
+ 95, 72, 73, 67, 68, 7, 3, 1, 65, 12, 2, 0, 65,
+ 1, 80, 47, 44, 33, 37, 44, 36, 20, 37, 30, 17,
+ 23, 16, 5, 1, 65, 17, 11, 14, 14, 11, 7, 14,
+ 8, 9, 9, 2, 1, 6, 89, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 54, 52, 51, 41, 36, 18, 49, 42,
+ 24, 54, 43, 45, 40, 35, 32, 35, 23, 15, 6, 8,
+ 74, 76, 98, 68, 26, 17, 12, 3, 5, 0, 70, 73,
+ 84, 0, 40, 27, 21, 17, 10, 1, 71, 72, 79, 83,
+ 19, 10, 6, 1, 64, 70, 75, 81, 98, 89, 70, 71,
+ 68, 71, 77, 87, 89, 103, 72, 34, 18, 12, 4, 1,
+ 72, 77, 81, 87, 62, 88, 79, 73, 66, 70, 1, 5,
+ 6, 71, 4, 8, 4, 78, 71, 70, 13, 6, 17, 14, 25,
+ 26, 19, 14, 19, 18, 15, 68, 6, 70, 95, 89, 85,
+ 83, 79, 80, 78, 79, 68, 74, 73, 71, 64, 75,
+ 82, 94, 85, 96, 76, 70, 70, 67, 68, 65, 0, 64,
+ 64, 67, 66, 1, 67, 78, 47, 40, 43, 41, 38, 44,
+ 40, 37, 32, 32, 33, 28, 10, 12, 5, 30, 28, 24,
+ 15, 19, 15, 4, 0, 67, 75, 79, 91, 75, 100, 62,
+ 62, 62, 62, 62, 58, 55, 51, 48, 44, 41, 35,
+ 28, 13, 66, 47, 46, 18, 49, 54, 43, 37, 40,
+ 35, 30, 34, 28, 26, 14, 14, 5, 79, 21, 11, 67,
+ 108, 98, 101, 77, 81, 79, 10, 70, 70, 68, 3,
+ 24, 11, 30, 66, 61, 59, 51, 44, 30, 27, 64,
+ 76, 95, 72, 41, 29, 20, 9, 10, 2, 64, 68, 85,
+ 96, 88, 79, 81, 75, 66, 72, 76, 66, 0, 1, 1,
+ 6, 9, 3, 59, 58, 52, 45, 41, 35, 19, 8, 76 },
+
+ {
+
+ 62,
+ 8, 76, 62, 8, 76, 106, 86, 15, 10, 7, 13, 44,
+ 48, 54, 14, 90, 3, 68, 7, 1, 5, 70, 1, 77, 14,
+ 42, 86, 102, 110, 92, 89, 67, 68, 7, 1, 81,
+ 82, 7, 12, 66, 76, 87, 4, 72, 82, 89, 5, 73,
+ 86, 6, 72, 78, 88, 2, 70, 71, 76, 66, 5, 22,
+ 0, 0, 0, 76, 89, 97, 66, 13, 64, 52, 8, 69,
+ 114, 92, 82, 68, 91, 106, 103, 109, 81, 106,
+ 98, 104, 110, 106, 110, 106, 9, 66, 72, 94,
+ 67, 87, 82, 104, 73, 92, 85, 112, 10, 78, 70,
+ 108, 87, 78, 74, 67, 3, 65, 75, 7, 4, 67, 4,
+ 64, 64, 2, 76, 13, 6, 21, 19, 17, 18, 17, 16,
+ 23, 12, 8, 23, 18, 72, 98, 88, 91, 81, 85, 80,
+ 72, 78, 77, 77, 79, 70, 72, 70, 72, 96, 88,
+ 95, 72, 73, 66, 68, 6, 4, 1, 65, 11, 3, 0, 66,
+ 1, 81, 45, 43, 32, 36, 43, 35, 19, 36, 30, 15,
+ 22, 15, 5, 1, 66, 16, 10, 13, 13, 10, 6, 13,
+ 7, 7, 8, 1, 0, 5, 89, 62, 62, 61, 62, 62, 62,
+ 62, 62, 61, 52, 50, 48, 39, 34, 16, 47, 40,
+ 22, 52, 41, 43, 38, 33, 30, 32, 21, 12, 5, 6,
+ 75, 77, 98, 68, 26, 17, 12, 3, 5, 0, 70, 73,
+ 84, 0, 40, 27, 21, 17, 11, 1, 70, 72, 78, 83,
+ 20, 11, 6, 1, 64, 70, 74, 81, 97, 88, 69, 70,
+ 68, 71, 76, 86, 88, 102, 72, 34, 18, 12, 4, 2,
+ 71, 77, 80, 86, 62, 88, 79, 73, 66, 70, 1, 5,
+ 6, 71, 4, 8, 4, 78, 71, 70, 12, 7, 16, 13, 24,
+ 25, 19, 12, 18, 18, 15, 69, 5, 70, 95, 88, 84,
+ 82, 79, 79, 78, 78, 69, 74, 73, 71, 65, 75,
+ 82, 93, 84, 96, 76, 70, 70, 66, 68, 65, 1, 64,
+ 65, 67, 65, 0, 67, 79, 46, 40, 42, 40, 37, 43,
+ 39, 36, 31, 31, 32, 27, 9, 11, 4, 28, 27, 23,
+ 13, 18, 14, 3, 64, 68, 75, 79, 91, 75, 100,
+ 62, 62, 62, 62, 62, 56, 53, 48, 46, 42, 39,
+ 33, 26, 11, 67, 45, 44, 17, 47, 52, 41, 35,
+ 37, 33, 28, 32, 26, 23, 12, 12, 3, 80, 19, 9,
+ 68, 107, 97, 100, 76, 80, 78, 12, 69, 69, 68,
+ 4, 25, 13, 31, 65, 59, 57, 48, 41, 27, 24, 67,
+ 78, 96, 72, 41, 29, 20, 9, 10, 2, 64, 68, 85,
+ 95, 87, 78, 81, 74, 65, 72, 75, 65, 1, 2, 1,
+ 6, 9, 3, 58, 56, 50, 43, 39, 33, 17, 6, 77 },
+
+ {
+
+ 62,
+ 8, 76, 62, 8, 76, 104, 85, 15, 10, 7, 12, 43,
+ 46, 54, 14, 87, 2, 67, 7, 1, 5, 69, 0, 78, 13,
+ 40, 88, 103, 111, 89, 87, 67, 67, 7, 1, 81,
+ 81, 7, 11, 66, 76, 87, 4, 72, 81, 89, 5, 73,
+ 85, 5, 72, 78, 88, 2, 69, 70, 75, 66, 5, 22,
+ 0, 0, 0, 75, 89, 97, 66, 12, 64, 52, 8, 69,
+ 113, 91, 82, 68, 89, 105, 101, 107, 80, 105,
+ 96, 102, 109, 105, 109, 106, 10, 66, 71, 93,
+ 67, 86, 81, 102, 73, 92, 85, 110, 11, 77, 70,
+ 107, 87, 78, 74, 66, 4, 64, 74, 7, 4, 67, 3,
+ 64, 64, 2, 76, 13, 6, 20, 19, 17, 18, 17, 15,
+ 21, 12, 8, 22, 17, 73, 97, 87, 90, 80, 84, 79,
+ 71, 77, 77, 76, 78, 70, 72, 69, 73, 95, 87,
+ 95, 71, 73, 66, 68, 5, 5, 1, 65, 9, 4, 64, 67,
+ 1, 81, 44, 42, 32, 35, 42, 34, 18, 36, 30, 14,
+ 21, 15, 5, 1, 66, 16, 10, 12, 13, 9, 5, 13, 6,
+ 5, 7, 0, 64, 4, 89, 61, 62, 59, 62, 61, 60,
+ 60, 60, 59, 50, 48, 46, 36, 32, 13, 45, 39,
+ 20, 49, 39, 41, 36, 30, 28, 29, 19, 10, 4, 5,
+ 77, 77, 98, 68, 26, 18, 12, 3, 5, 0, 70, 73,
+ 83, 1, 41, 27, 21, 17, 12, 2, 69, 72, 77, 82,
+ 21, 12, 6, 2, 0, 69, 74, 80, 96, 88, 67, 70,
+ 68, 70, 75, 85, 88, 101, 71, 35, 19, 12, 4, 3,
+ 70, 76, 79, 85, 62, 88, 79, 72, 66, 70, 1, 5,
+ 6, 70, 4, 9, 5, 78, 71, 70, 11, 7, 15, 12, 23,
+ 25, 19, 11, 17, 17, 15, 70, 4, 71, 94, 88, 83,
+ 82, 78, 79, 77, 77, 69, 74, 73, 71, 66, 75,
+ 82, 93, 83, 96, 76, 69, 70, 66, 68, 65, 2, 64,
+ 65, 67, 64, 0, 68, 79, 45, 40, 42, 40, 36, 42,
+ 38, 35, 31, 30, 31, 26, 8, 10, 3, 27, 25, 21,
+ 11, 17, 13, 2, 65, 68, 75, 78, 91, 76, 99, 62,
+ 62, 62, 62, 60, 54, 51, 46, 44, 40, 37, 31,
+ 24, 10, 68, 43, 42, 16, 45, 50, 39, 33, 35,
+ 31, 26, 30, 24, 21, 10, 10, 1, 81, 17, 7, 70,
+ 106, 95, 99, 76, 79, 77, 14, 68, 68, 68, 5,
+ 27, 14, 33, 65, 58, 55, 46, 38, 25, 21, 69,
+ 80, 97, 72, 41, 29, 20, 9, 10, 2, 64, 68, 84,
+ 94, 86, 77, 80, 73, 64, 71, 74, 64, 2, 3, 2,
+ 7, 10, 3, 56, 55, 49, 42, 37, 31, 15, 4, 78 },
+
+ {
+
+ 61,
+ 8, 76, 61, 8, 76, 102, 83, 16, 10, 6, 10, 41,
+ 45, 54, 14, 85, 2, 66, 8, 1, 4, 69, 64, 79,
+ 13, 38, 89, 104, 111, 86, 86, 67, 66, 8, 1,
+ 80, 80, 8, 11, 66, 75, 86, 3, 73, 81, 89, 5,
+ 73, 85, 5, 72, 78, 88, 3, 69, 70, 75, 65, 5,
+ 22, 0, 0, 0, 75, 89, 97, 65, 11, 64, 52, 8,
+ 69, 112, 90, 82, 67, 88, 103, 99, 106, 79,
+ 103, 95, 100, 108, 104, 108, 105, 11, 66, 70,
+ 92, 67, 86, 81, 100, 73, 91, 84, 109, 11, 77,
+ 69, 105, 86, 77, 74, 66, 4, 64, 73, 8, 5, 68,
+ 3, 64, 64, 2, 76, 13, 5, 20, 19, 16, 18, 17,
+ 15, 19, 12, 7, 20, 16, 74, 96, 86, 89, 79, 83,
+ 79, 70, 77, 76, 75, 77, 70, 72, 69, 74, 95,
+ 86, 95, 71, 73, 65, 68, 4, 6, 1, 65, 8, 5, 64,
+ 68, 1, 82, 42, 41, 31, 34, 41, 33, 18, 35, 29,
+ 13, 20, 15, 5, 1, 67, 15, 9, 11, 12, 8, 4, 12,
+ 6, 3, 6, 0, 65, 3, 89, 60, 61, 58, 62, 59, 58,
+ 58, 58, 56, 47, 46, 43, 34, 29, 11, 43, 37,
+ 19, 47, 37, 38, 33, 28, 25, 27, 17, 7, 3, 3,
+ 78, 78, 98, 68, 27, 18, 12, 3, 5, 0, 70, 73,
+ 83, 1, 41, 27, 21, 17, 13, 2, 69, 71, 77, 81,
+ 22, 12, 7, 2, 1, 69, 73, 80, 95, 87, 66, 69,
+ 67, 70, 74, 84, 87, 100, 71, 35, 19, 12, 4, 4,
+ 70, 75, 78, 84, 62, 87, 78, 72, 66, 70, 1, 5,
+ 6, 70, 4, 9, 5, 78, 71, 70, 11, 8, 14, 11, 22,
+ 24, 19, 10, 16, 17, 15, 70, 3, 71, 93, 87, 82,
+ 81, 78, 78, 77, 76, 69, 74, 73, 70, 66, 75,
+ 82, 92, 82, 96, 76, 69, 70, 65, 68, 65, 3, 64,
+ 65, 67, 0, 64, 68, 80, 44, 39, 41, 39, 35, 41,
+ 37, 34, 30, 29, 30, 25, 7, 9, 2, 25, 24, 20,
+ 9, 15, 12, 1, 65, 69, 75, 78, 91, 76, 98, 62,
+ 62, 61, 61, 57, 52, 49, 43, 42, 38, 35, 28,
+ 22, 8, 69, 41, 41, 14, 43, 48, 37, 31, 33, 29,
+ 24, 28, 22, 18, 8, 8, 64, 82, 15, 5, 71, 105,
+ 94, 98, 75, 78, 76, 15, 67, 67, 68, 6, 28, 16,
+ 34, 64, 56, 54, 43, 35, 22, 18, 72, 82, 98,
+ 72, 41, 29, 20, 9, 10, 2, 64, 68, 84, 93, 85,
+ 76, 79, 72, 64, 71, 73, 64, 2, 3, 2, 7, 10, 3,
+ 55, 53, 47, 40, 35, 29, 13, 2, 79 },
+
+ {
+
+ 60,
+ 8, 76, 60, 8, 76, 100, 82, 16, 10, 6, 9, 40,
+ 44, 54, 14, 83, 2, 65, 9, 1, 3, 69, 65, 80,
+ 12, 36, 91, 105, 112, 83, 85, 67, 65, 9, 1,
+ 80, 79, 8, 10, 66, 75, 85, 3, 73, 81, 89, 5,
+ 73, 84, 5, 72, 78, 88, 3, 69, 70, 75, 65, 5,
+ 22, 0, 0, 0, 74, 89, 97, 65, 10, 64, 52, 8,
+ 69, 111, 89, 82, 67, 87, 101, 97, 104, 78,
+ 101, 94, 98, 107, 103, 107, 104, 12, 66, 69,
+ 91, 67, 85, 80, 98, 73, 91, 84, 108, 11, 77,
+ 69, 104, 86, 76, 74, 66, 4, 64, 72, 8, 5, 68,
+ 3, 64, 64, 2, 76, 13, 5, 19, 19, 15, 18, 17,
+ 15, 17, 12, 7, 18, 15, 75, 95, 85, 88, 78, 82,
+ 78, 69, 76, 76, 74, 76, 70, 72, 69, 75, 94,
+ 85, 95, 71, 73, 64, 68, 3, 7, 1, 65, 7, 6, 65,
+ 69, 1, 83, 41, 40, 31, 33, 40, 32, 17, 34, 29,
+ 12, 19, 15, 5, 1, 67, 14, 8, 10, 11, 7, 3, 11,
+ 5, 1, 5, 64, 66, 2, 89, 58, 60, 56, 60, 57,
+ 56, 56, 56, 54, 45, 44, 41, 31, 27, 8, 41, 35,
+ 17, 45, 35, 36, 31, 26, 23, 24, 15, 5, 2, 1,
+ 79, 79, 98, 68, 27, 18, 12, 3, 5, 0, 70, 73,
+ 82, 1, 41, 27, 21, 17, 14, 3, 68, 71, 76, 80,
+ 23, 13, 7, 2, 2, 68, 73, 79, 94, 86, 65, 68,
+ 67, 70, 73, 83, 86, 99, 70, 35, 19, 12, 4, 5,
+ 69, 74, 77, 83, 62, 87, 78, 71, 66, 70, 1, 5,
+ 6, 70, 4, 9, 6, 78, 71, 70, 10, 8, 13, 10, 21,
+ 23, 19, 9, 15, 17, 15, 71, 2, 72, 92, 86, 81,
+ 81, 77, 78, 76, 75, 69, 74, 73, 70, 67, 75,
+ 82, 92, 81, 96, 76, 69, 70, 64, 68, 65, 4, 64,
+ 65, 67, 1, 65, 68, 81, 43, 39, 41, 38, 34, 40,
+ 36, 33, 29, 28, 29, 24, 6, 8, 1, 24, 23, 18,
+ 7, 14, 11, 0, 66, 69, 75, 78, 91, 77, 97, 62,
+ 62, 59, 59, 54, 50, 47, 41, 40, 36, 33, 26,
+ 20, 7, 70, 39, 39, 13, 41, 46, 35, 29, 31, 27,
+ 22, 26, 20, 16, 6, 6, 66, 83, 13, 3, 73, 104,
+ 93, 97, 74, 77, 75, 17, 66, 66, 68, 7, 30, 17,
+ 36, 0, 55, 52, 41, 32, 19, 15, 75, 84, 99, 72,
+ 41, 29, 20, 9, 10, 2, 64, 68, 83, 92, 84, 75,
+ 78, 71, 0, 70, 72, 0, 3, 4, 2, 8, 10, 3, 54,
+ 52, 45, 38, 33, 27, 11, 0, 80 },
+
+ {
+
+ 58,
+ 7, 77, 58, 7, 77, 99, 81, 16, 10, 5, 7, 38,
+ 42, 53, 14, 81, 1, 65, 9, 0, 2, 69, 67, 82,
+ 11, 34, 93, 106, 113, 81, 84, 68, 65, 9, 0,
+ 80, 78, 8, 9, 66, 75, 85, 2, 74, 81, 90, 5,
+ 73, 84, 4, 73, 78, 88, 3, 69, 70, 75, 65, 4,
+ 22, 0, 0, 0, 74, 90, 97, 65, 9, 65, 52, 7, 69,
+ 110, 89, 82, 67, 86, 100, 96, 103, 77, 100,
+ 93, 97, 106, 103, 106, 104, 12, 66, 69, 91,
+ 67, 85, 80, 97, 73, 91, 84, 107, 11, 77, 69,
+ 103, 86, 76, 74, 66, 4, 64, 72, 8, 5, 69, 2,
+ 64, 65, 2, 76, 12, 4, 18, 19, 14, 17, 17, 14,
+ 15, 11, 6, 16, 14, 76, 95, 85, 88, 78, 82, 78,
+ 68, 76, 76, 74, 75, 71, 72, 69, 77, 94, 85,
+ 95, 71, 74, 64, 68, 2, 7, 1, 65, 5, 6, 66, 70,
+ 1, 84, 39, 39, 30, 32, 39, 31, 16, 33, 28, 10,
+ 18, 14, 4, 1, 68, 13, 7, 9, 10, 6, 2, 10, 4,
+ 64, 3, 65, 68, 0, 89, 56, 58, 54, 58, 55, 53,
+ 53, 53, 51, 42, 41, 38, 28, 24, 5, 39, 33, 15,
+ 42, 32, 33, 28, 23, 20, 21, 12, 2, 1, 64, 81,
+ 80, 99, 68, 27, 18, 12, 3, 5, 64, 70, 73, 82,
+ 1, 41, 27, 21, 17, 15, 3, 68, 71, 76, 80, 23,
+ 13, 7, 2, 2, 68, 73, 79, 93, 86, 64, 68, 67,
+ 70, 73, 83, 86, 98, 70, 35, 19, 12, 4, 5, 69,
+ 74, 77, 83, 62, 87, 78, 71, 66, 70, 1, 5, 6,
+ 70, 4, 9, 6, 78, 71, 71, 9, 8, 12, 9, 20, 22,
+ 18, 7, 13, 16, 14, 72, 0, 73, 92, 86, 80, 81,
+ 77, 78, 76, 75, 70, 74, 73, 70, 68, 75, 82,
+ 92, 81, 97, 76, 69, 70, 64, 69, 65, 4, 65, 66,
+ 67, 1, 66, 69, 82, 42, 38, 40, 37, 32, 39, 35,
+ 32, 28, 27, 28, 23, 5, 6, 64, 22, 21, 16, 5,
+ 12, 9, 64, 67, 70, 75, 78, 91, 78, 97, 62, 61,
+ 57, 56, 51, 47, 44, 38, 37, 33, 30, 23, 17, 5,
+ 71, 37, 37, 11, 39, 43, 32, 26, 28, 24, 20,
+ 23, 17, 13, 4, 3, 68, 85, 11, 1, 75, 103, 92,
+ 96, 74, 77, 75, 18, 66, 66, 68, 7, 31, 18, 37,
+ 0, 53, 50, 38, 28, 16, 12, 78, 87, 101, 72,
+ 41, 28, 19, 9, 10, 2, 65, 68, 83, 92, 84, 75,
+ 78, 70, 0, 70, 72, 0, 3, 4, 2, 8, 10, 2, 52,
+ 50, 43, 36, 31, 25, 8, 65, 81 },
+
+ {
+
+ 57,
+ 7, 77, 57, 7, 77, 97, 79, 17, 11, 5, 6, 37,
+ 41, 53, 14, 78, 1, 64, 10, 0, 2, 68, 68, 83,
+ 11, 33, 94, 107, 113, 78, 82, 68, 64, 10, 0,
+ 79, 76, 9, 9, 65, 74, 84, 2, 74, 80, 90, 5,
+ 72, 83, 4, 73, 77, 88, 4, 68, 69, 74, 64, 4,
+ 22, 0, 0, 0, 73, 90, 97, 64, 9, 65, 52, 7, 69,
+ 108, 88, 82, 66, 84, 98, 94, 101, 75, 98, 91,
+ 95, 104, 102, 105, 103, 13, 65, 68, 90, 66,
+ 84, 79, 95, 72, 90, 83, 105, 12, 76, 68, 101,
+ 85, 75, 73, 65, 5, 0, 71, 9, 6, 69, 2, 0, 65,
+ 2, 75, 12, 4, 18, 19, 14, 17, 17, 14, 14, 11,
+ 6, 15, 13, 76, 94, 84, 87, 77, 81, 77, 67, 75,
+ 75, 73, 73, 71, 72, 68, 78, 93, 84, 95, 70,
+ 74, 0, 67, 2, 8, 1, 65, 4, 7, 66, 71, 1, 84,
+ 38, 39, 30, 32, 39, 31, 16, 33, 28, 9, 18, 14,
+ 4, 1, 68, 13, 7, 9, 10, 6, 1, 10, 4, 65, 2,
+ 65, 69, 64, 89, 55, 57, 53, 57, 54, 51, 51,
+ 51, 49, 40, 39, 36, 26, 22, 3, 38, 32, 14, 40,
+ 30, 31, 26, 21, 18, 19, 10, 0, 1, 65, 82, 80,
+ 99, 67, 28, 19, 13, 4, 5, 64, 69, 72, 81, 2,
+ 42, 28, 22, 17, 16, 4, 67, 70, 75, 79, 24, 14,
+ 8, 3, 3, 67, 72, 78, 91, 85, 1, 67, 66, 69,
+ 72, 82, 85, 96, 69, 36, 20, 13, 5, 6, 68, 73,
+ 76, 82, 62, 86, 77, 70, 66, 69, 1, 6, 7, 69,
+ 5, 10, 7, 77, 71, 71, 9, 9, 12, 9, 19, 22, 18,
+ 6, 12, 16, 14, 72, 64, 73, 91, 85, 79, 80, 76,
+ 77, 75, 74, 70, 73, 72, 69, 68, 74, 81, 91,
+ 80, 97, 76, 68, 70, 0, 69, 65, 5, 65, 66, 66,
+ 2, 66, 69, 82, 42, 38, 40, 37, 31, 39, 35, 32,
+ 28, 27, 28, 23, 5, 5, 65, 21, 20, 15, 4, 11,
+ 8, 64, 67, 70, 74, 77, 90, 78, 96, 60, 59, 55,
+ 54, 49, 45, 42, 36, 35, 31, 28, 21, 15, 4, 71,
+ 36, 36, 10, 38, 41, 30, 24, 26, 22, 18, 21,
+ 15, 11, 3, 1, 69, 86, 10, 0, 76, 101, 90, 94,
+ 73, 76, 74, 20, 65, 65, 68, 8, 33, 20, 39, 1,
+ 52, 49, 36, 25, 14, 10, 80, 89, 102, 71, 42,
+ 28, 19, 9, 11, 2, 65, 68, 82, 91, 83, 74, 77,
+ 68, 1, 69, 71, 1, 4, 5, 3, 9, 11, 2, 51, 49,
+ 42, 35, 30, 24, 6, 66, 81 },
+
+ {
+
+ 56,
+ 7, 77, 56, 7, 77, 95, 78, 17, 11, 5, 5, 36,
+ 40, 53, 14, 76, 1, 0, 11, 0, 1, 68, 69, 84,
+ 10, 31, 96, 108, 114, 75, 81, 68, 0, 11, 0,
+ 79, 75, 9, 8, 65, 74, 83, 2, 74, 80, 90, 5,
+ 72, 82, 4, 73, 77, 88, 4, 68, 69, 74, 64, 4,
+ 22, 0, 0, 0, 72, 90, 97, 64, 8, 65, 52, 7, 69,
+ 107, 87, 82, 66, 83, 96, 92, 100, 74, 96, 90,
+ 93, 103, 101, 104, 102, 14, 65, 67, 89, 66,
+ 84, 78, 93, 72, 90, 83, 104, 12, 76, 68, 100,
+ 85, 74, 73, 65, 5, 0, 70, 9, 6, 70, 2, 0, 65,
+ 2, 75, 12, 4, 17, 19, 13, 17, 17, 14, 12, 11,
+ 6, 13, 12, 77, 93, 83, 86, 76, 80, 76, 66, 74,
+ 75, 72, 72, 71, 72, 68, 79, 93, 83, 95, 70,
+ 74, 1, 67, 1, 9, 1, 65, 3, 8, 67, 72, 1, 85,
+ 36, 38, 29, 31, 38, 30, 15, 32, 28, 8, 17, 14,
+ 4, 1, 68, 12, 6, 8, 9, 5, 0, 9, 3, 67, 1, 66,
+ 70, 65, 89, 53, 56, 51, 55, 52, 49, 49, 49,
+ 46, 38, 37, 33, 23, 20, 0, 36, 30, 12, 38, 28,
+ 29, 24, 19, 16, 16, 8, 65, 0, 67, 83, 81, 99,
+ 67, 28, 19, 13, 4, 5, 64, 69, 72, 80, 2, 42,
+ 28, 22, 17, 17, 4, 66, 70, 74, 78, 25, 15, 8,
+ 3, 4, 67, 72, 77, 90, 84, 2, 66, 66, 69, 71,
+ 81, 84, 95, 69, 36, 20, 13, 5, 7, 67, 72, 75,
+ 81, 62, 86, 77, 70, 66, 69, 1, 6, 7, 69, 5,
+ 10, 8, 77, 71, 71, 8, 9, 11, 8, 18, 21, 18, 5,
+ 11, 16, 14, 73, 65, 74, 90, 84, 78, 80, 76,
+ 77, 74, 73, 70, 73, 72, 69, 69, 74, 81, 91,
+ 79, 97, 76, 68, 70, 1, 69, 65, 6, 65, 66, 66,
+ 3, 67, 69, 83, 41, 38, 40, 36, 30, 38, 34, 31,
+ 27, 26, 27, 22, 4, 4, 66, 19, 19, 13, 2, 10,
+ 7, 65, 68, 70, 74, 77, 90, 79, 95, 58, 57, 53,
+ 52, 46, 43, 40, 33, 33, 29, 26, 19, 13, 3, 72,
+ 34, 34, 9, 36, 39, 28, 22, 24, 20, 16, 19, 13,
+ 9, 1, 64, 71, 87, 8, 65, 78, 100, 89, 93, 72,
+ 75, 73, 22, 64, 64, 68, 9, 34, 21, 40, 2, 51,
+ 47, 33, 22, 11, 7, 83, 91, 103, 71, 42, 28,
+ 19, 9, 11, 2, 65, 68, 81, 90, 82, 73, 76, 67,
+ 2, 68, 70, 2, 5, 6, 3, 10, 11, 2, 50, 47, 40,
+ 33, 28, 22, 4, 68, 82 },
+
+ {
+
+ 55,
+ 7, 77, 55, 7, 77, 93, 76, 18, 11, 4, 3, 34,
+ 39, 53, 14, 74, 1, 1, 12, 0, 0, 68, 70, 85,
+ 10, 29, 97, 109, 114, 72, 80, 68, 1, 12, 0,
+ 78, 74, 10, 8, 65, 73, 82, 1, 75, 80, 90, 5,
+ 72, 82, 4, 73, 77, 88, 5, 68, 69, 74, 0, 4,
+ 22, 0, 0, 0, 72, 90, 97, 0, 7, 65, 52, 7, 69,
+ 106, 86, 82, 65, 82, 94, 90, 98, 73, 94, 89,
+ 91, 102, 100, 103, 101, 15, 65, 66, 88, 66,
+ 83, 78, 91, 72, 89, 82, 103, 12, 76, 67, 98,
+ 84, 73, 73, 65, 5, 0, 69, 10, 7, 70, 2, 0, 65,
+ 2, 75, 12, 3, 17, 19, 12, 17, 17, 14, 10, 11,
+ 5, 11, 11, 78, 92, 82, 85, 75, 79, 76, 65, 74,
+ 74, 71, 71, 71, 72, 68, 80, 92, 82, 95, 70,
+ 74, 2, 67, 0, 10, 1, 65, 2, 9, 67, 73, 1, 86,
+ 35, 37, 29, 30, 37, 29, 15, 31, 27, 7, 16, 14,
+ 4, 1, 69, 11, 5, 7, 8, 4, 64, 8, 3, 69, 0, 66,
+ 71, 66, 89, 52, 54, 50, 53, 50, 47, 47, 47,
+ 44, 35, 35, 31, 21, 17, 65, 34, 28, 11, 36,
+ 26, 26, 21, 17, 13, 14, 6, 68, 64, 69, 84, 82,
+ 99, 67, 29, 19, 13, 4, 5, 64, 69, 72, 80, 2,
+ 42, 28, 22, 17, 18, 5, 66, 69, 74, 77, 26, 15,
+ 9, 3, 5, 66, 71, 77, 89, 83, 3, 65, 65, 69,
+ 70, 80, 83, 94, 68, 36, 20, 13, 5, 8, 67, 71,
+ 74, 80, 62, 85, 76, 69, 66, 69, 1, 6, 7, 69,
+ 5, 10, 8, 77, 71, 71, 8, 10, 10, 7, 17, 20,
+ 18, 4, 10, 16, 14, 73, 66, 74, 89, 83, 77, 79,
+ 75, 76, 74, 72, 70, 73, 72, 68, 69, 74, 81,
+ 90, 78, 97, 76, 68, 70, 2, 69, 65, 7, 65, 66,
+ 66, 4, 68, 69, 84, 40, 37, 39, 35, 29, 37, 33,
+ 30, 26, 25, 26, 21, 3, 3, 67, 18, 18, 12, 0,
+ 8, 6, 66, 68, 71, 74, 77, 90, 79, 94, 56, 55,
+ 51, 50, 43, 41, 38, 31, 31, 27, 24, 16, 11, 1,
+ 73, 32, 33, 7, 34, 37, 26, 20, 22, 18, 14, 17,
+ 11, 6, 64, 66, 73, 88, 6, 67, 79, 99, 88, 92,
+ 71, 74, 72, 23, 0, 0, 68, 10, 36, 23, 42, 3,
+ 49, 46, 31, 19, 8, 4, 86, 93, 104, 71, 42, 28,
+ 19, 9, 11, 2, 65, 68, 81, 89, 81, 72, 75, 66,
+ 2, 68, 69, 2, 5, 6, 3, 10, 11, 2, 49, 46, 38,
+ 31, 26, 20, 2, 70, 83 },
+
+ {
+
+ 53,
+ 7, 77, 53, 7, 77, 92, 75, 18, 11, 4, 2, 33,
+ 37, 53, 14, 71, 0, 2, 12, 0, 64, 68, 71, 86,
+ 9, 27, 99, 110, 115, 69, 79, 68, 2, 12, 0, 78,
+ 73, 10, 7, 65, 73, 82, 1, 75, 79, 90, 5, 72,
+ 81, 3, 74, 77, 88, 5, 67, 69, 73, 0, 4, 22, 0,
+ 0, 0, 71, 91, 97, 0, 6, 65, 52, 7, 69, 105,
+ 85, 82, 65, 80, 93, 88, 97, 72, 93, 87, 89,
+ 101, 100, 102, 101, 15, 65, 65, 87, 66, 83,
+ 77, 89, 72, 89, 82, 102, 12, 75, 67, 97, 84,
+ 73, 73, 64, 5, 0, 69, 10, 7, 71, 1, 0, 65, 2,
+ 75, 12, 3, 16, 19, 12, 17, 17, 13, 8, 11, 5,
+ 9, 10, 79, 91, 81, 84, 74, 79, 75, 64, 73, 74,
+ 70, 70, 71, 72, 67, 81, 92, 81, 95, 70, 74, 2,
+ 67, 64, 11, 1, 65, 0, 10, 68, 74, 1, 87, 33,
+ 36, 28, 29, 36, 28, 14, 30, 27, 5, 15, 13, 4,
+ 1, 69, 10, 5, 6, 8, 3, 65, 7, 2, 71, 64, 67,
+ 72, 67, 89, 50, 53, 48, 51, 48, 45, 44, 45,
+ 41, 33, 33, 28, 18, 15, 68, 32, 27, 9, 33, 24,
+ 24, 19, 14, 11, 11, 4, 70, 65, 70, 86, 83, 99,
+ 67, 29, 20, 13, 4, 5, 64, 69, 72, 79, 3, 43,
+ 28, 22, 17, 19, 5, 65, 69, 73, 77, 27, 16, 9,
+ 3, 5, 66, 71, 76, 88, 83, 4, 65, 65, 69, 69,
+ 79, 83, 93, 68, 37, 20, 13, 5, 9, 66, 71, 73,
+ 79, 62, 85, 76, 69, 66, 69, 1, 6, 7, 68, 5,
+ 10, 9, 77, 71, 71, 7, 10, 9, 6, 16, 19, 18, 2,
+ 9, 15, 14, 74, 67, 75, 89, 83, 76, 79, 75, 76,
+ 73, 71, 71, 73, 72, 68, 70, 74, 81, 90, 77,
+ 97, 76, 67, 70, 2, 69, 65, 8, 65, 67, 66, 5,
+ 68, 70, 85, 39, 37, 39, 34, 28, 36, 32, 29,
+ 25, 24, 25, 20, 2, 2, 68, 16, 16, 10, 65, 7,
+ 5, 67, 69, 71, 74, 77, 90, 80, 94, 53, 52, 49,
+ 47, 40, 39, 36, 28, 29, 25, 22, 14, 9, 0, 74,
+ 30, 31, 6, 32, 35, 24, 18, 19, 16, 12, 15, 9,
+ 4, 66, 68, 75, 89, 4, 69, 81, 98, 87, 91, 71,
+ 73, 71, 25, 1, 1, 68, 11, 37, 24, 43, 3, 48,
+ 44, 28, 16, 5, 1, 89, 95, 105, 71, 42, 28, 19,
+ 9, 11, 2, 65, 68, 80, 88, 80, 71, 75, 65, 3,
+ 67, 68, 3, 6, 7, 4, 11, 12, 2, 47, 44, 36, 29,
+ 24, 18, 0, 72, 84 },
+
+ {
+
+ 52,
+ 7, 77, 52, 7, 77, 90, 73, 18, 11, 3, 0, 31,
+ 36, 53, 14, 69, 0, 3, 13, 0, 64, 67, 72, 87,
+ 9, 25, 101, 111, 115, 66, 77, 68, 3, 13, 0,
+ 78, 72, 10, 7, 65, 73, 81, 1, 76, 79, 90, 5,
+ 72, 80, 3, 74, 77, 88, 6, 67, 68, 73, 1, 4,
+ 22, 0, 0, 0, 71, 91, 97, 1, 5, 65, 52, 7, 69,
+ 104, 84, 82, 64, 79, 91, 86, 95, 71, 91, 86,
+ 87, 100, 99, 101, 100, 16, 65, 64, 86, 66, 82,
+ 76, 87, 72, 89, 81, 100, 13, 75, 66, 96, 83,
+ 72, 73, 64, 6, 1, 68, 11, 8, 71, 1, 0, 65, 2,
+ 75, 12, 2, 15, 19, 11, 17, 17, 13, 6, 11, 4,
+ 8, 9, 80, 90, 80, 83, 73, 78, 74, 0, 72, 73,
+ 69, 69, 71, 72, 67, 82, 91, 80, 95, 69, 74, 3,
+ 67, 65, 12, 1, 65, 64, 11, 68, 75, 1, 87, 32,
+ 35, 28, 28, 35, 27, 13, 30, 27, 4, 14, 13, 4,
+ 1, 70, 10, 4, 5, 7, 2, 66, 7, 1, 73, 65, 68,
+ 73, 68, 89, 48, 52, 46, 49, 47, 43, 42, 43,
+ 39, 31, 31, 26, 16, 13, 70, 30, 25, 7, 31, 22,
+ 22, 17, 12, 9, 8, 2, 73, 66, 72, 87, 83, 99,
+ 67, 29, 20, 13, 4, 5, 64, 69, 72, 79, 3, 43,
+ 28, 22, 17, 20, 6, 64, 69, 72, 76, 28, 17, 9,
+ 4, 6, 65, 70, 76, 87, 82, 6, 64, 65, 68, 68,
+ 78, 82, 92, 67, 37, 21, 13, 5, 10, 65, 70, 72,
+ 78, 62, 85, 76, 68, 66, 69, 1, 6, 7, 68, 5,
+ 11, 9, 77, 71, 71, 6, 11, 8, 5, 15, 19, 18, 1,
+ 8, 15, 14, 75, 68, 75, 88, 82, 75, 78, 74, 75,
+ 73, 70, 71, 73, 72, 68, 71, 74, 81, 89, 76,
+ 97, 76, 67, 70, 3, 69, 65, 9, 65, 67, 66, 6,
+ 69, 70, 85, 38, 37, 38, 34, 27, 35, 31, 28,
+ 25, 23, 24, 19, 1, 1, 69, 15, 15, 9, 67, 6, 4,
+ 68, 70, 72, 74, 76, 90, 80, 93, 51, 50, 47,
+ 45, 38, 37, 34, 26, 27, 23, 20, 12, 7, 65, 75,
+ 28, 29, 5, 30, 33, 22, 16, 17, 14, 10, 13, 7,
+ 1, 68, 70, 77, 90, 2, 71, 82, 97, 85, 90, 70,
+ 72, 70, 27, 2, 2, 68, 12, 39, 26, 45, 4, 46,
+ 42, 26, 13, 3, 65, 91, 97, 106, 71, 42, 28,
+ 19, 9, 11, 2, 65, 68, 80, 87, 79, 70, 74, 64,
+ 4, 67, 67, 4, 7, 8, 4, 11, 12, 2, 46, 43, 35,
+ 28, 22, 16, 65, 74, 85 },
+
+ {
+
+ 51,
+ 7, 78, 51, 7, 78, 88, 72, 19, 11, 3, 64, 30,
+ 35, 53, 14, 67, 0, 3, 14, 0, 65, 67, 73, 88,
+ 8, 24, 102, 112, 116, 0, 76, 68, 3, 14, 0, 77,
+ 71, 11, 6, 64, 72, 80, 0, 76, 79, 90, 5, 71,
+ 80, 3, 74, 76, 88, 6, 67, 68, 73, 1, 4, 22, 0,
+ 0, 0, 70, 91, 97, 1, 5, 66, 52, 7, 69, 103,
+ 84, 82, 64, 78, 89, 84, 94, 70, 89, 85, 85,
+ 99, 98, 100, 99, 17, 65, 0, 86, 65, 82, 76,
+ 85, 72, 88, 81, 99, 13, 75, 66, 94, 83, 71,
+ 72, 64, 6, 1, 67, 11, 8, 72, 1, 0, 65, 2, 75,
+ 12, 2, 15, 19, 10, 17, 17, 13, 4, 11, 4, 6, 8,
+ 81, 90, 79, 83, 73, 77, 74, 1, 72, 73, 69, 67,
+ 71, 72, 67, 83, 91, 79, 95, 69, 74, 4, 66, 66,
+ 12, 1, 65, 65, 12, 69, 76, 1, 88, 30, 34, 27,
+ 28, 34, 27, 13, 29, 26, 3, 13, 13, 4, 1, 70,
+ 9, 3, 4, 6, 2, 67, 6, 1, 75, 66, 68, 74, 69,
+ 89, 47, 50, 45, 47, 45, 41, 40, 41, 36, 28,
+ 29, 23, 13, 10, 73, 28, 23, 6, 29, 19, 19, 14,
+ 10, 6, 6, 64, 75, 67, 74, 88, 84, 99, 66, 30,
+ 20, 14, 4, 5, 64, 69, 72, 78, 3, 43, 29, 22,
+ 17, 21, 6, 64, 68, 72, 75, 29, 17, 10, 4, 7,
+ 65, 70, 75, 86, 81, 7, 0, 64, 68, 68, 78, 81,
+ 90, 67, 37, 21, 13, 6, 10, 65, 69, 72, 77, 62,
+ 84, 75, 68, 66, 69, 1, 6, 7, 68, 6, 11, 10,
+ 77, 71, 72, 6, 11, 7, 4, 14, 18, 18, 0, 7, 15,
+ 14, 75, 69, 76, 87, 81, 74, 78, 74, 75, 72,
+ 70, 71, 72, 71, 67, 71, 74, 81, 89, 75, 97,
+ 76, 67, 70, 4, 69, 65, 10, 66, 67, 66, 6, 70,
+ 70, 86, 37, 36, 38, 33, 26, 35, 31, 27, 24,
+ 23, 23, 18, 0, 0, 70, 13, 14, 7, 69, 4, 2, 69,
+ 70, 72, 74, 76, 89, 81, 92, 49, 48, 45, 43,
+ 35, 35, 32, 23, 25, 20, 18, 9, 5, 66, 75, 27,
+ 28, 3, 28, 30, 20, 14, 15, 12, 8, 10, 5, 64,
+ 70, 72, 78, 92, 0, 73, 84, 96, 84, 89, 69, 71,
+ 69, 28, 3, 3, 68, 13, 40, 27, 46, 5, 45, 41,
+ 23, 10, 0, 67, 94, 99, 108, 70, 42, 28, 19, 9,
+ 11, 2, 65, 68, 79, 86, 79, 69, 73, 0, 4, 66,
+ 66, 4, 7, 8, 4, 12, 12, 2, 45, 41, 33, 26, 21,
+ 15, 68, 75, 86 },
+
+ {
+
+ 50,
+ 7, 78, 50, 7, 78, 86, 70, 19, 11, 2, 66, 28,
+ 33, 53, 14, 64, 64, 4, 14, 0, 66, 67, 74, 89,
+ 8, 22, 104, 113, 116, 3, 75, 68, 4, 14, 0, 77,
+ 70, 11, 6, 64, 72, 80, 0, 77, 78, 90, 5, 71,
+ 79, 2, 74, 76, 88, 7, 66, 68, 72, 2, 4, 22, 0,
+ 0, 0, 70, 91, 97, 2, 4, 66, 52, 7, 69, 102,
+ 83, 82, 0, 76, 88, 82, 92, 69, 88, 83, 83, 98,
+ 97, 99, 99, 18, 65, 1, 85, 65, 81, 75, 83, 72,
+ 88, 80, 98, 13, 74, 65, 93, 82, 71, 72, 0, 6,
+ 1, 66, 12, 9, 72, 0, 0, 65, 2, 75, 12, 1, 14,
+ 19, 10, 17, 17, 12, 2, 11, 3, 4, 7, 82, 89,
+ 78, 82, 72, 76, 73, 2, 71, 72, 68, 66, 71, 72,
+ 66, 84, 90, 78, 95, 69, 74, 4, 66, 67, 13, 1,
+ 65, 67, 13, 69, 77, 1, 89, 29, 33, 27, 27, 33,
+ 26, 12, 28, 26, 2, 12, 13, 4, 1, 71, 8, 3, 3,
+ 6, 1, 68, 5, 0, 77, 67, 69, 75, 70, 89, 45,
+ 49, 43, 45, 43, 39, 37, 39, 34, 26, 27, 21,
+ 11, 8, 75, 26, 22, 4, 26, 17, 17, 12, 7, 4, 3,
+ 66, 78, 68, 75, 90, 85, 99, 66, 30, 21, 14, 4,
+ 5, 64, 69, 72, 78, 4, 44, 29, 22, 17, 22, 7,
+ 0, 68, 71, 74, 30, 18, 10, 4, 8, 64, 69, 75,
+ 85, 81, 8, 0, 64, 68, 67, 77, 81, 89, 66, 38,
+ 21, 13, 6, 11, 64, 68, 71, 76, 62, 84, 75, 67,
+ 66, 69, 1, 6, 7, 67, 6, 11, 10, 77, 71, 72, 5,
+ 12, 6, 3, 13, 17, 18, 64, 6, 14, 14, 76, 70,
+ 76, 86, 81, 73, 77, 73, 74, 72, 69, 71, 72,
+ 71, 67, 72, 74, 81, 88, 74, 97, 76, 66, 70, 4,
+ 69, 65, 11, 66, 67, 66, 7, 70, 71, 87, 36, 36,
+ 37, 32, 25, 34, 30, 26, 23, 22, 22, 17, 64,
+ 64, 71, 12, 12, 6, 71, 3, 1, 70, 71, 73, 74,
+ 76, 89, 81, 91, 47, 46, 43, 40, 32, 33, 30,
+ 21, 23, 18, 16, 7, 3, 68, 76, 25, 26, 2, 26,
+ 28, 18, 12, 13, 10, 6, 8, 3, 67, 72, 74, 80,
+ 93, 65, 75, 85, 95, 83, 88, 69, 70, 68, 30, 4,
+ 4, 68, 14, 42, 29, 48, 5, 43, 39, 21, 7, 66,
+ 70, 97, 101, 109, 70, 42, 28, 19, 9, 11, 2,
+ 65, 68, 79, 85, 78, 68, 72, 1, 5, 66, 65, 5,
+ 8, 9, 5, 12, 13, 2, 43, 40, 31, 24, 19, 13,
+ 70, 77, 87 },
+
+ {
+
+ 48,
+ 6, 78, 48, 6, 78, 85, 69, 19, 11, 2, 67, 27,
+ 32, 53, 14, 1, 64, 5, 15, 0, 67, 67, 75, 91,
+ 7, 20, 106, 114, 117, 5, 74, 68, 5, 15, 0, 77,
+ 69, 11, 5, 64, 72, 79, 64, 77, 78, 91, 5, 71,
+ 79, 2, 75, 76, 88, 7, 66, 68, 72, 2, 4, 22, 0,
+ 0, 0, 69, 92, 97, 2, 3, 66, 52, 7, 69, 101,
+ 82, 82, 0, 75, 86, 80, 91, 68, 86, 82, 82, 97,
+ 97, 98, 98, 18, 65, 2, 84, 65, 81, 75, 82, 72,
+ 88, 80, 97, 13, 74, 65, 92, 82, 70, 72, 0, 6,
+ 1, 66, 12, 9, 73, 0, 0, 65, 2, 75, 12, 1, 13,
+ 19, 9, 17, 17, 12, 0, 11, 3, 2, 6, 83, 88, 77,
+ 81, 71, 76, 73, 3, 71, 72, 67, 65, 71, 72, 66,
+ 86, 90, 77, 95, 69, 75, 5, 66, 68, 14, 1, 65,
+ 68, 14, 70, 78, 1, 90, 27, 32, 26, 26, 32, 25,
+ 11, 27, 25, 0, 11, 12, 4, 1, 71, 7, 2, 2, 5,
+ 0, 69, 4, 64, 79, 69, 70, 76, 71, 89, 43, 47,
+ 41, 43, 41, 37, 35, 37, 31, 23, 25, 18, 8, 5,
+ 78, 24, 20, 2, 24, 15, 14, 9, 5, 1, 0, 68, 80,
+ 69, 77, 91, 86, 100, 66, 30, 21, 14, 4, 5, 64,
+ 69, 72, 77, 4, 44, 29, 22, 17, 23, 7, 0, 68,
+ 71, 74, 31, 18, 10, 4, 8, 64, 69, 74, 84, 80,
+ 9, 1, 64, 68, 66, 76, 80, 88, 66, 38, 21, 13,
+ 6, 12, 64, 68, 70, 76, 62, 84, 75, 67, 66, 69,
+ 1, 6, 7, 67, 6, 11, 11, 77, 71, 72, 4, 12, 5,
+ 2, 12, 16, 18, 66, 4, 14, 14, 77, 71, 77, 86,
+ 80, 72, 77, 73, 74, 71, 68, 72, 72, 71, 67,
+ 73, 74, 81, 88, 74, 98, 76, 66, 70, 5, 69, 65,
+ 11, 66, 68, 66, 8, 71, 71, 88, 35, 35, 37, 31,
+ 23, 33, 29, 25, 22, 21, 21, 16, 65, 65, 72,
+ 10, 11, 4, 73, 1, 0, 71, 72, 73, 74, 76, 89,
+ 82, 91, 44, 43, 41, 38, 29, 30, 27, 18, 21,
+ 16, 14, 4, 1, 69, 77, 23, 24, 0, 24, 26, 15,
+ 9, 10, 7, 4, 6, 0, 69, 74, 77, 82, 94, 67, 77,
+ 87, 94, 82, 87, 68, 69, 68, 31, 5, 4, 68, 14,
+ 43, 30, 49, 6, 42, 37, 18, 4, 69, 73, 100,
+ 103, 110, 70, 42, 28, 19, 9, 11, 2, 65, 68,
+ 78, 85, 77, 67, 72, 2, 5, 65, 65, 5, 8, 9, 5,
+ 13, 13, 1, 42, 38, 29, 22, 17, 11, 72, 79, 88 },
+
+ {
+
+ 47,
+ 6, 78, 47, 6, 78, 83, 68, 20, 11, 2, 68, 26,
+ 31, 53, 14, 3, 64, 6, 16, 0, 67, 66, 76, 92,
+ 6, 18, 107, 115, 118, 8, 72, 68, 6, 16, 0, 76,
+ 68, 12, 4, 64, 71, 78, 64, 77, 78, 91, 5, 71,
+ 78, 2, 75, 76, 88, 7, 66, 67, 72, 2, 4, 22, 0,
+ 0, 0, 68, 92, 97, 2, 2, 66, 52, 7, 69, 100,
+ 81, 82, 0, 74, 84, 78, 89, 66, 84, 81, 80, 96,
+ 96, 97, 97, 19, 64, 3, 83, 65, 80, 74, 80, 72,
+ 87, 80, 95, 14, 74, 65, 90, 82, 69, 72, 0, 7,
+ 2, 65, 12, 9, 73, 0, 1, 65, 2, 74, 12, 1, 13,
+ 19, 8, 17, 17, 12, 65, 11, 3, 1, 5, 83, 87,
+ 76, 80, 70, 75, 72, 4, 70, 72, 66, 64, 71, 72,
+ 66, 87, 89, 76, 95, 68, 75, 6, 66, 69, 15, 1,
+ 65, 69, 15, 71, 79, 1, 90, 26, 31, 26, 25, 31,
+ 24, 11, 27, 25, 64, 10, 12, 4, 1, 71, 7, 1, 1,
+ 4, 64, 70, 4, 64, 80, 70, 70, 77, 72, 89, 42,
+ 46, 40, 42, 40, 35, 33, 35, 29, 21, 23, 16, 5,
+ 3, 81, 23, 18, 1, 22, 13, 12, 7, 3, 64, 65,
+ 70, 82, 69, 79, 92, 86, 100, 66, 31, 21, 14,
+ 5, 5, 64, 68, 72, 76, 4, 44, 29, 23, 17, 24,
+ 8, 1, 67, 70, 73, 32, 19, 11, 5, 9, 0, 69, 73,
+ 83, 79, 11, 2, 0, 67, 65, 75, 79, 87, 65, 38,
+ 22, 14, 6, 13, 0, 67, 69, 75, 62, 83, 74, 66,
+ 66, 69, 1, 7, 8, 67, 6, 12, 12, 77, 71, 72, 4,
+ 12, 4, 2, 11, 16, 18, 67, 3, 14, 14, 77, 72,
+ 78, 85, 79, 71, 77, 72, 74, 70, 67, 72, 72,
+ 71, 66, 73, 74, 81, 88, 73, 98, 76, 66, 70, 6,
+ 69, 65, 12, 66, 68, 66, 9, 72, 71, 88, 34, 35,
+ 37, 31, 22, 32, 28, 24, 22, 20, 20, 16, 65,
+ 66, 73, 9, 10, 2, 75, 0, 64, 71, 72, 73, 73,
+ 75, 89, 83, 90, 42, 41, 39, 36, 27, 28, 25,
+ 16, 19, 14, 12, 2, 64, 70, 78, 21, 23, 64, 22,
+ 24, 13, 7, 8, 5, 2, 4, 65, 71, 75, 79, 84, 95,
+ 69, 79, 89, 93, 80, 85, 67, 68, 67, 33, 6, 5,
+ 68, 15, 45, 31, 51, 7, 41, 36, 16, 1, 71, 76,
+ 102, 105, 111, 70, 42, 28, 19, 9, 12, 2, 65,
+ 68, 77, 84, 76, 66, 71, 4, 6, 64, 64, 6, 9,
+ 10, 5, 14, 13, 1, 41, 37, 28, 21, 15, 9, 74,
+ 81, 88 },
+
+ {
+
+ 46,
+ 6, 78, 46, 6, 78, 81, 66, 20, 11, 1, 70, 24,
+ 29, 53, 14, 6, 65, 7, 16, 0, 68, 66, 77, 93,
+ 6, 16, 109, 116, 118, 11, 71, 68, 7, 16, 0,
+ 76, 67, 12, 4, 64, 71, 78, 64, 78, 77, 91, 5,
+ 71, 77, 1, 75, 76, 88, 8, 65, 67, 71, 3, 4,
+ 22, 0, 0, 0, 68, 92, 97, 3, 1, 66, 52, 7, 69,
+ 99, 80, 82, 1, 72, 83, 76, 88, 65, 83, 79, 78,
+ 95, 95, 96, 97, 20, 64, 4, 82, 65, 80, 73, 78,
+ 72, 87, 79, 94, 14, 73, 64, 89, 81, 69, 72, 1,
+ 7, 2, 64, 13, 10, 74, 64, 1, 65, 2, 74, 12, 0,
+ 12, 19, 8, 17, 17, 11, 67, 11, 2, 64, 4, 84,
+ 86, 75, 79, 69, 74, 71, 5, 69, 71, 65, 0, 71,
+ 72, 65, 88, 89, 75, 95, 68, 75, 6, 66, 70, 16,
+ 1, 65, 71, 16, 71, 80, 1, 91, 24, 30, 25, 24,
+ 30, 23, 10, 26, 25, 65, 9, 12, 4, 1, 72, 6, 1,
+ 0, 4, 65, 71, 3, 65, 82, 71, 71, 78, 73, 89,
+ 40, 45, 38, 40, 38, 33, 30, 33, 26, 19, 21,
+ 13, 3, 1, 83, 21, 17, 64, 19, 11, 10, 5, 0,
+ 66, 68, 72, 85, 70, 80, 94, 87, 100, 66, 31,
+ 22, 14, 5, 5, 64, 68, 72, 76, 5, 45, 29, 23,
+ 17, 25, 8, 2, 67, 69, 72, 33, 20, 11, 5, 10,
+ 0, 68, 73, 82, 79, 12, 2, 0, 67, 64, 74, 79,
+ 86, 65, 39, 22, 14, 6, 14, 1, 66, 68, 74, 62,
+ 83, 74, 66, 66, 69, 1, 7, 8, 66, 6, 12, 12,
+ 77, 71, 72, 3, 13, 3, 1, 10, 15, 18, 68, 2,
+ 13, 14, 78, 73, 78, 84, 79, 70, 76, 72, 73,
+ 70, 66, 72, 72, 71, 66, 74, 74, 81, 87, 72,
+ 98, 76, 65, 70, 6, 69, 65, 13, 66, 68, 66, 10,
+ 72, 72, 89, 33, 35, 36, 30, 21, 31, 27, 23,
+ 21, 19, 19, 15, 66, 67, 74, 7, 8, 1, 77, 64,
+ 65, 72, 73, 74, 73, 75, 89, 83, 89, 40, 39,
+ 37, 33, 24, 26, 23, 13, 17, 12, 10, 0, 66, 72,
+ 79, 19, 21, 65, 20, 22, 11, 5, 6, 3, 0, 2, 67,
+ 74, 77, 81, 86, 96, 71, 81, 90, 92, 79, 84,
+ 67, 67, 66, 35, 7, 6, 68, 16, 46, 33, 52, 7,
+ 39, 34, 13, 65, 74, 79, 105, 107, 112, 70, 42,
+ 28, 19, 9, 12, 2, 65, 68, 77, 83, 75, 65, 70,
+ 5, 7, 64, 0, 7, 10, 11, 6, 14, 14, 1, 39, 35,
+ 26, 19, 13, 7, 76, 83, 89 },
+
+ {
+
+ 45,
+ 6, 79, 45, 6, 79, 79, 65, 21, 11, 1, 71, 23,
+ 28, 53, 14, 8, 65, 7, 17, 0, 69, 66, 78, 94,
+ 5, 15, 110, 117, 119, 14, 70, 68, 7, 17, 0,
+ 75, 66, 13, 3, 0, 70, 77, 65, 78, 77, 91, 5,
+ 70, 77, 1, 75, 75, 88, 8, 65, 67, 71, 3, 4,
+ 22, 0, 0, 0, 67, 92, 97, 3, 1, 67, 52, 7, 69,
+ 98, 80, 82, 1, 71, 81, 74, 86, 64, 81, 78, 76,
+ 94, 94, 95, 96, 21, 64, 5, 82, 64, 79, 73, 76,
+ 72, 86, 79, 93, 14, 73, 64, 87, 81, 68, 71, 1,
+ 7, 2, 0, 13, 10, 74, 64, 1, 65, 2, 74, 12, 0,
+ 12, 19, 7, 17, 17, 11, 69, 11, 2, 66, 3, 85,
+ 86, 74, 79, 69, 73, 71, 6, 69, 71, 65, 2, 71,
+ 72, 65, 89, 88, 74, 95, 68, 75, 7, 65, 71, 16,
+ 1, 65, 72, 17, 72, 81, 1, 92, 23, 29, 25, 24,
+ 29, 23, 10, 25, 24, 66, 8, 12, 4, 1, 72, 5, 0,
+ 64, 3, 65, 72, 2, 65, 84, 72, 71, 79, 74, 89,
+ 39, 43, 37, 38, 36, 31, 28, 31, 24, 16, 19,
+ 11, 0, 65, 86, 19, 15, 65, 17, 8, 7, 2, 65,
+ 69, 70, 75, 87, 71, 82, 95, 88, 100, 65, 32,
+ 22, 15, 5, 5, 64, 68, 72, 75, 5, 45, 30, 23,
+ 17, 26, 9, 2, 66, 69, 71, 34, 20, 12, 5, 11,
+ 1, 68, 72, 81, 78, 13, 3, 1, 67, 64, 74, 78,
+ 84, 64, 39, 22, 14, 7, 14, 1, 65, 68, 73, 62,
+ 82, 73, 65, 66, 69, 1, 7, 8, 66, 7, 12, 13,
+ 77, 71, 73, 3, 13, 2, 0, 9, 14, 18, 69, 1, 13,
+ 14, 78, 74, 79, 83, 78, 69, 76, 71, 73, 69,
+ 66, 72, 71, 70, 65, 74, 74, 81, 87, 71, 98,
+ 76, 65, 70, 7, 69, 65, 14, 67, 68, 66, 10, 73,
+ 72, 90, 32, 34, 36, 29, 20, 31, 27, 22, 20,
+ 19, 18, 14, 67, 68, 75, 6, 7, 64, 79, 66, 67,
+ 73, 73, 74, 73, 75, 88, 84, 88, 38, 37, 35,
+ 31, 21, 24, 21, 11, 15, 9, 8, 66, 68, 73, 79,
+ 18, 20, 67, 18, 19, 9, 3, 4, 1, 65, 64, 69,
+ 76, 79, 83, 87, 98, 73, 83, 92, 91, 78, 83,
+ 66, 66, 65, 36, 8, 7, 68, 17, 48, 34, 54, 8,
+ 38, 33, 11, 68, 77, 81, 108, 109, 114, 69, 42,
+ 28, 19, 9, 12, 2, 65, 68, 76, 82, 75, 64, 69,
+ 6, 7, 0, 1, 7, 10, 11, 6, 15, 14, 1, 38, 34,
+ 24, 17, 12, 6, 79, 84, 90 },
+
+ {
+
+ 43,
+ 6, 79, 43, 6, 79, 78, 0, 21, 11, 0, 73, 21,
+ 27, 53, 14, 10, 65, 8, 18, 0, 70, 66, 79, 95,
+ 5, 13, 112, 118, 119, 17, 69, 68, 8, 18, 0,
+ 75, 65, 13, 3, 0, 70, 76, 65, 79, 77, 91, 5,
+ 70, 76, 1, 76, 75, 88, 9, 65, 67, 71, 4, 4,
+ 22, 0, 0, 0, 67, 93, 97, 4, 0, 67, 52, 7, 69,
+ 97, 79, 82, 2, 70, 79, 72, 85, 0, 79, 77, 74,
+ 93, 94, 94, 95, 21, 64, 6, 81, 64, 79, 72, 74,
+ 72, 86, 78, 92, 14, 73, 0, 86, 80, 67, 71, 1,
+ 7, 2, 0, 14, 11, 75, 64, 1, 65, 2, 74, 12, 64,
+ 11, 19, 6, 17, 17, 11, 71, 11, 1, 68, 2, 86,
+ 85, 73, 78, 68, 73, 70, 7, 68, 70, 64, 3, 71,
+ 72, 65, 90, 88, 73, 95, 68, 75, 8, 65, 72, 17,
+ 1, 65, 73, 18, 72, 82, 1, 93, 21, 28, 24, 23,
+ 28, 22, 9, 24, 24, 68, 7, 11, 4, 1, 73, 4, 64,
+ 65, 2, 66, 73, 1, 66, 86, 73, 72, 80, 75, 89,
+ 37, 42, 35, 36, 34, 29, 26, 29, 21, 14, 17, 8,
+ 65, 67, 88, 17, 13, 67, 15, 6, 5, 0, 67, 71,
+ 73, 77, 90, 72, 84, 96, 89, 100, 65, 32, 22,
+ 15, 5, 5, 64, 68, 72, 75, 5, 45, 30, 23, 17,
+ 27, 9, 3, 66, 68, 71, 35, 21, 12, 5, 11, 1,
+ 67, 72, 80, 77, 14, 4, 1, 67, 0, 73, 77, 83,
+ 64, 39, 22, 14, 7, 15, 2, 65, 67, 72, 62, 82,
+ 73, 65, 66, 69, 1, 7, 8, 66, 7, 12, 13, 77,
+ 71, 73, 2, 14, 1, 64, 8, 13, 18, 71, 0, 13,
+ 14, 79, 75, 79, 83, 77, 68, 75, 71, 72, 69,
+ 65, 73, 71, 70, 65, 75, 74, 81, 86, 70, 98,
+ 76, 65, 70, 8, 69, 65, 15, 67, 69, 66, 11, 74,
+ 72, 91, 31, 34, 35, 28, 19, 30, 26, 21, 19,
+ 18, 17, 13, 68, 69, 76, 4, 6, 65, 81, 67, 68,
+ 74, 74, 75, 73, 75, 88, 84, 88, 35, 34, 33,
+ 29, 18, 22, 19, 8, 13, 7, 6, 68, 70, 75, 80,
+ 16, 18, 68, 16, 17, 7, 1, 1, 64, 67, 66, 71,
+ 79, 81, 85, 89, 99, 75, 85, 93, 90, 77, 82,
+ 65, 65, 64, 38, 9, 8, 68, 18, 49, 36, 55, 9,
+ 36, 31, 8, 71, 80, 84, 111, 111, 115, 69, 42,
+ 28, 19, 9, 12, 2, 65, 68, 76, 81, 74, 0, 69,
+ 7, 8, 0, 2, 8, 11, 12, 6, 15, 14, 1, 37, 32,
+ 22, 15, 10, 4, 81, 86, 91 },
+
+ {
+
+ 42,
+ 6, 79, 42, 6, 79, 76, 1, 21, 11, 0, 74, 20,
+ 25, 53, 14, 13, 66, 9, 18, 0, 70, 65, 80, 96,
+ 4, 11, 114, 119, 120, 20, 67, 68, 9, 18, 0,
+ 75, 64, 13, 2, 0, 70, 76, 65, 79, 76, 91, 5,
+ 70, 75, 0, 76, 75, 88, 9, 64, 66, 70, 4, 4,
+ 22, 0, 0, 0, 66, 93, 97, 4, 64, 67, 52, 7, 69,
+ 96, 78, 82, 2, 68, 78, 70, 83, 1, 78, 75, 72,
+ 92, 93, 93, 95, 22, 64, 7, 80, 64, 78, 71, 72,
+ 72, 86, 78, 90, 15, 72, 0, 85, 80, 67, 71, 2,
+ 8, 3, 1, 14, 11, 75, 65, 1, 65, 2, 74, 12, 64,
+ 10, 19, 6, 17, 17, 10, 73, 11, 1, 69, 1, 87,
+ 84, 72, 77, 67, 72, 69, 8, 67, 70, 0, 4, 71,
+ 72, 64, 91, 87, 72, 95, 67, 75, 8, 65, 73, 18,
+ 1, 65, 75, 19, 73, 83, 1, 93, 20, 27, 24, 22,
+ 27, 21, 8, 24, 24, 69, 6, 11, 4, 1, 73, 4, 64,
+ 66, 2, 67, 74, 1, 67, 88, 74, 73, 81, 76, 89,
+ 35, 41, 33, 34, 33, 27, 23, 27, 19, 12, 15, 6,
+ 68, 69, 91, 15, 12, 69, 12, 4, 3, 65, 70, 73,
+ 76, 79, 92, 73, 85, 98, 89, 100, 65, 32, 23,
+ 15, 5, 5, 64, 68, 72, 74, 6, 46, 30, 23, 17,
+ 28, 10, 4, 66, 67, 70, 36, 22, 12, 6, 12, 2,
+ 67, 71, 79, 77, 16, 4, 1, 66, 1, 72, 77, 82,
+ 0, 40, 23, 14, 7, 16, 3, 64, 66, 71, 62, 82,
+ 73, 64, 66, 69, 1, 7, 8, 65, 7, 13, 14, 77,
+ 71, 73, 1, 14, 0, 65, 7, 13, 18, 72, 64, 12,
+ 14, 80, 76, 80, 82, 77, 67, 75, 70, 72, 68,
+ 64, 73, 71, 70, 65, 76, 74, 81, 86, 69, 98,
+ 76, 64, 70, 8, 69, 65, 16, 67, 69, 66, 12, 74,
+ 73, 91, 30, 34, 35, 28, 18, 29, 25, 20, 19,
+ 17, 16, 12, 69, 70, 77, 3, 4, 67, 83, 68, 69,
+ 75, 75, 75, 73, 74, 88, 85, 87, 33, 32, 31,
+ 26, 16, 20, 17, 6, 11, 5, 4, 70, 72, 76, 81,
+ 14, 16, 69, 14, 15, 5, 64, 64, 66, 69, 68, 73,
+ 81, 83, 87, 91, 100, 77, 87, 95, 89, 75, 81,
+ 65, 64, 0, 40, 10, 9, 68, 19, 51, 37, 57, 9,
+ 35, 29, 6, 74, 82, 87, 113, 113, 116, 69, 42,
+ 28, 19, 9, 12, 2, 65, 68, 75, 80, 73, 1, 68,
+ 8, 9, 1, 3, 9, 12, 13, 7, 16, 15, 1, 35, 31,
+ 21, 14, 8, 2, 83, 88, 92 },
+
+ {
+
+ 41,
+ 6, 79, 41, 6, 79, 74, 3, 22, 11, 64, 76, 18,
+ 24, 53, 14, 15, 66, 10, 19, 0, 71, 65, 81, 97,
+ 4, 9, 115, 120, 120, 23, 66, 68, 10, 19, 0,
+ 74, 0, 14, 2, 0, 69, 75, 66, 80, 76, 91, 5,
+ 70, 75, 0, 76, 75, 88, 10, 64, 66, 70, 5, 4,
+ 22, 0, 0, 0, 66, 93, 97, 5, 65, 67, 52, 7, 69,
+ 95, 77, 82, 3, 67, 76, 68, 82, 2, 76, 74, 70,
+ 91, 92, 92, 94, 23, 64, 8, 79, 64, 78, 71, 70,
+ 72, 85, 77, 89, 15, 72, 1, 83, 79, 66, 71, 2,
+ 8, 3, 2, 15, 12, 76, 65, 1, 65, 2, 74, 12, 65,
+ 10, 19, 5, 17, 17, 10, 75, 11, 0, 71, 0, 88,
+ 83, 71, 76, 66, 71, 69, 9, 67, 69, 1, 5, 71,
+ 72, 64, 92, 87, 71, 95, 67, 75, 9, 65, 74, 19,
+ 1, 65, 76, 20, 73, 84, 1, 94, 18, 26, 23, 21,
+ 26, 20, 8, 23, 23, 70, 5, 11, 4, 1, 74, 3, 65,
+ 67, 1, 68, 75, 0, 67, 90, 75, 73, 82, 77, 89,
+ 34, 39, 32, 32, 31, 25, 21, 25, 16, 9, 13, 3,
+ 70, 72, 93, 13, 10, 70, 10, 2, 0, 68, 72, 76,
+ 78, 81, 95, 74, 87, 99, 90, 100, 65, 33, 23,
+ 15, 5, 5, 64, 68, 72, 74, 6, 46, 30, 23, 17,
+ 29, 10, 4, 65, 67, 69, 37, 22, 13, 6, 13, 2,
+ 66, 71, 78, 76, 17, 5, 2, 66, 2, 71, 76, 81,
+ 0, 40, 23, 14, 7, 17, 3, 0, 65, 70, 62, 81,
+ 72, 64, 66, 69, 1, 7, 8, 65, 7, 13, 14, 77,
+ 71, 73, 1, 15, 64, 66, 6, 12, 18, 73, 65, 12,
+ 14, 80, 77, 80, 81, 76, 66, 74, 70, 71, 68, 0,
+ 73, 71, 70, 64, 76, 74, 81, 85, 68, 98, 76,
+ 64, 70, 9, 69, 65, 17, 67, 69, 66, 13, 75, 73,
+ 92, 29, 33, 34, 27, 17, 28, 24, 19, 18, 16,
+ 15, 11, 70, 71, 78, 1, 3, 68, 85, 70, 70, 76,
+ 75, 76, 73, 74, 88, 85, 86, 31, 30, 29, 24,
+ 13, 18, 15, 3, 9, 3, 2, 73, 74, 78, 82, 12,
+ 15, 71, 12, 13, 3, 66, 66, 68, 71, 70, 75, 84,
+ 85, 89, 93, 101, 79, 89, 96, 88, 74, 80, 64,
+ 0, 1, 41, 11, 10, 68, 20, 52, 39, 58, 10, 33,
+ 28, 3, 77, 85, 90, 116, 115, 117, 69, 42, 28,
+ 19, 9, 12, 2, 65, 68, 75, 79, 72, 2, 67, 9, 9,
+ 1, 4, 9, 12, 13, 7, 16, 15, 1, 34, 29, 19, 12,
+ 6, 0, 85, 90, 93 },
+
+ {
+
+ 40,
+ 6, 79, 40, 6, 79, 72, 4, 22, 11, 64, 77, 17,
+ 23, 53, 14, 17, 66, 11, 20, 0, 72, 65, 82, 98,
+ 3, 7, 117, 121, 121, 26, 65, 68, 11, 20, 0,
+ 74, 1, 14, 1, 0, 69, 74, 66, 80, 76, 91, 5,
+ 70, 74, 0, 76, 75, 88, 10, 64, 66, 70, 5, 4,
+ 22, 0, 0, 0, 65, 93, 97, 5, 66, 67, 52, 7, 69,
+ 94, 76, 82, 3, 66, 74, 66, 80, 3, 74, 73, 68,
+ 90, 91, 91, 93, 24, 64, 9, 78, 64, 77, 70, 68,
+ 72, 85, 77, 88, 15, 72, 1, 82, 79, 65, 71, 2,
+ 8, 3, 3, 15, 12, 76, 65, 1, 65, 2, 74, 12, 65,
+ 9, 19, 4, 17, 17, 10, 77, 11, 0, 73, 64, 89,
+ 82, 70, 75, 65, 70, 68, 10, 66, 69, 2, 6, 71,
+ 72, 64, 93, 86, 70, 95, 67, 75, 10, 65, 75,
+ 20, 1, 65, 77, 21, 74, 85, 1, 95, 17, 25, 23,
+ 20, 25, 19, 7, 22, 23, 71, 4, 11, 4, 1, 74, 2,
+ 66, 68, 0, 69, 76, 64, 68, 92, 76, 74, 83, 78,
+ 89, 32, 38, 30, 30, 29, 23, 19, 23, 14, 7, 11,
+ 1, 73, 74, 96, 11, 8, 72, 8, 0, 65, 70, 74,
+ 78, 81, 83, 97, 75, 89, 100, 91, 100, 65, 33,
+ 23, 15, 5, 5, 64, 68, 72, 73, 6, 46, 30, 23,
+ 17, 30, 11, 5, 65, 66, 68, 38, 23, 13, 6, 14,
+ 3, 66, 70, 77, 75, 18, 6, 2, 66, 3, 70, 75,
+ 80, 1, 40, 23, 14, 7, 18, 4, 1, 64, 69, 62,
+ 81, 72, 0, 66, 69, 1, 7, 8, 65, 7, 13, 15, 77,
+ 71, 73, 0, 15, 65, 67, 5, 11, 18, 74, 66, 12,
+ 14, 81, 78, 81, 80, 75, 65, 74, 69, 71, 67, 1,
+ 73, 71, 70, 64, 77, 74, 81, 85, 67, 98, 76,
+ 64, 70, 10, 69, 65, 18, 67, 69, 66, 14, 76,
+ 73, 93, 28, 33, 34, 26, 16, 27, 23, 18, 17,
+ 15, 14, 10, 71, 72, 79, 0, 2, 70, 87, 71, 71,
+ 77, 76, 76, 73, 74, 88, 86, 85, 29, 28, 27,
+ 22, 10, 16, 13, 1, 7, 1, 0, 75, 76, 79, 83,
+ 10, 13, 72, 10, 11, 1, 68, 68, 70, 73, 72, 77,
+ 86, 87, 91, 95, 102, 81, 91, 98, 87, 73, 79,
+ 0, 1, 2, 43, 12, 11, 68, 21, 54, 40, 60, 11,
+ 32, 26, 1, 80, 88, 93, 119, 117, 118, 69, 42,
+ 28, 19, 9, 12, 2, 65, 68, 74, 78, 71, 3, 66,
+ 10, 10, 2, 5, 10, 13, 14, 7, 17, 15, 1, 33,
+ 28, 17, 10, 4, 65, 87, 92, 94 },
+
+ {
+
+ 38,
+ 5, 80, 38, 5, 80, 71, 5, 22, 11, 65, 79, 15,
+ 21, 52, 14, 19, 67, 11, 20, 64, 73, 65, 84,
+ 100, 2, 5, 119, 122, 122, 28, 64, 69, 11, 20,
+ 64, 74, 2, 14, 0, 0, 69, 74, 67, 81, 76, 92,
+ 5, 70, 74, 64, 77, 75, 88, 10, 64, 66, 70, 5,
+ 3, 22, 0, 0, 0, 65, 94, 97, 5, 67, 68, 52, 6,
+ 69, 93, 76, 82, 3, 65, 73, 65, 79, 4, 73, 72,
+ 67, 89, 91, 90, 93, 24, 64, 9, 78, 64, 77, 70,
+ 67, 72, 85, 77, 87, 15, 72, 1, 81, 79, 65, 71,
+ 2, 8, 3, 3, 15, 12, 77, 66, 1, 66, 2, 74, 11,
+ 66, 8, 19, 3, 16, 17, 9, 79, 10, 64, 75, 65,
+ 90, 82, 70, 75, 65, 70, 68, 11, 66, 69, 2, 7,
+ 72, 72, 64, 95, 86, 70, 95, 67, 76, 10, 65,
+ 76, 20, 1, 65, 79, 21, 75, 86, 1, 96, 15, 24,
+ 22, 19, 24, 18, 6, 21, 22, 73, 3, 10, 3, 1,
+ 75, 1, 67, 69, 64, 70, 77, 65, 69, 94, 78, 75,
+ 85, 80, 89, 30, 36, 28, 28, 27, 20, 16, 20,
+ 11, 4, 8, 65, 76, 77, 99, 9, 6, 74, 5, 66, 68,
+ 73, 77, 81, 84, 86, 100, 76, 91, 102, 92, 101,
+ 65, 33, 23, 15, 5, 5, 65, 68, 72, 73, 6, 46,
+ 30, 23, 17, 31, 11, 5, 65, 66, 68, 38, 23, 13,
+ 6, 14, 3, 66, 70, 76, 75, 19, 6, 2, 66, 3, 70,
+ 75, 79, 1, 40, 23, 14, 7, 18, 4, 1, 64, 69,
+ 62, 81, 72, 0, 66, 69, 1, 7, 8, 65, 7, 13, 15,
+ 77, 71, 74, 64, 15, 66, 68, 4, 10, 17, 76, 68,
+ 11, 13, 82, 80, 82, 80, 75, 64, 74, 69, 71,
+ 67, 1, 74, 71, 70, 64, 78, 74, 81, 85, 67, 99,
+ 76, 64, 70, 10, 70, 65, 18, 68, 70, 66, 14,
+ 77, 74, 94, 27, 32, 33, 25, 14, 26, 22, 17,
+ 16, 14, 13, 9, 72, 74, 81, 65, 0, 72, 89, 73,
+ 73, 78, 77, 77, 73, 74, 88, 87, 85, 26, 25,
+ 25, 19, 7, 13, 10, 65, 4, 65, 66, 78, 79, 81,
+ 84, 8, 11, 74, 8, 8, 65, 71, 71, 73, 75, 75,
+ 80, 89, 89, 94, 97, 104, 83, 93, 100, 86, 72,
+ 78, 0, 1, 2, 44, 12, 11, 68, 21, 55, 41, 61,
+ 11, 30, 24, 65, 84, 91, 96, 122, 120, 120, 69,
+ 42, 27, 18, 9, 12, 2, 66, 68, 74, 78, 71, 3,
+ 66, 11, 10, 2, 5, 10, 13, 14, 7, 17, 15, 0,
+ 31, 26, 15, 8, 2, 67, 90, 94, 95 },
+
+ {
+
+ 37,
+ 5, 80, 37, 5, 80, 69, 7, 23, 12, 65, 80, 14,
+ 20, 52, 14, 22, 67, 12, 21, 64, 73, 64, 85,
+ 101, 2, 4, 120, 123, 122, 31, 1, 69, 12, 21,
+ 64, 73, 4, 15, 0, 1, 68, 73, 67, 81, 75, 92,
+ 5, 69, 73, 64, 77, 74, 88, 11, 0, 65, 69, 6,
+ 3, 22, 0, 0, 0, 64, 94, 97, 6, 67, 68, 52, 6,
+ 69, 91, 75, 82, 4, 0, 71, 0, 77, 6, 71, 70,
+ 65, 87, 90, 89, 92, 25, 0, 10, 77, 0, 76, 69,
+ 65, 71, 84, 76, 85, 16, 71, 2, 79, 78, 64, 70,
+ 3, 9, 4, 4, 16, 13, 77, 66, 2, 66, 2, 73, 11,
+ 66, 8, 19, 3, 16, 17, 9, 80, 10, 64, 76, 66,
+ 90, 81, 69, 74, 64, 69, 67, 12, 65, 68, 3, 9,
+ 72, 72, 0, 96, 85, 69, 95, 66, 76, 11, 64, 76,
+ 21, 1, 65, 80, 22, 75, 87, 1, 96, 14, 24, 22,
+ 19, 24, 18, 6, 21, 22, 74, 3, 10, 3, 1, 75, 1,
+ 67, 69, 64, 70, 78, 65, 69, 95, 79, 75, 86,
+ 81, 89, 29, 35, 27, 27, 26, 18, 14, 18, 9, 2,
+ 6, 67, 78, 79, 101, 8, 5, 75, 3, 68, 70, 75,
+ 79, 83, 86, 88, 102, 76, 92, 103, 92, 101, 64,
+ 34, 24, 16, 6, 5, 65, 67, 71, 72, 7, 47, 31,
+ 24, 17, 32, 12, 6, 64, 65, 67, 39, 24, 14, 7,
+ 15, 4, 65, 69, 74, 74, 21, 7, 3, 65, 4, 69,
+ 74, 77, 2, 41, 24, 15, 8, 19, 5, 2, 0, 68, 62,
+ 80, 71, 1, 66, 68, 1, 8, 9, 64, 8, 14, 16, 76,
+ 71, 74, 64, 16, 66, 68, 3, 10, 17, 77, 69, 11,
+ 13, 82, 81, 82, 79, 74, 0, 73, 68, 70, 66, 2,
+ 74, 70, 69, 0, 78, 73, 80, 84, 66, 99, 76, 0,
+ 70, 11, 70, 65, 19, 68, 70, 65, 15, 77, 74,
+ 94, 27, 32, 33, 25, 13, 26, 22, 17, 16, 14,
+ 13, 9, 72, 75, 82, 66, 64, 73, 90, 74, 74, 78,
+ 77, 77, 72, 73, 87, 87, 84, 24, 23, 23, 17, 5,
+ 11, 8, 67, 2, 67, 68, 80, 81, 82, 84, 7, 10,
+ 75, 7, 6, 67, 73, 73, 75, 77, 77, 82, 91, 90,
+ 96, 98, 105, 84, 94, 101, 84, 70, 76, 1, 2, 3,
+ 46, 13, 12, 68, 22, 57, 43, 62, 12, 29, 23,
+ 67, 87, 93, 98, 124, 122, 121, 68, 43, 27, 18,
+ 9, 13, 2, 66, 68, 73, 77, 70, 4, 65, 13, 11,
+ 3, 6, 11, 14, 15, 8, 18, 16, 0, 30, 25, 14, 7,
+ 1, 68, 92, 95, 95 },
+
+ {
+
+ 36,
+ 5, 80, 36, 5, 80, 67, 8, 23, 12, 65, 81, 13,
+ 19, 52, 14, 24, 67, 13, 22, 64, 74, 64, 86,
+ 102, 1, 2, 122, 124, 123, 34, 2, 69, 13, 22,
+ 64, 73, 5, 15, 64, 1, 68, 72, 67, 81, 75, 92,
+ 5, 69, 72, 64, 77, 74, 88, 11, 0, 65, 69, 6,
+ 3, 22, 0, 0, 0, 0, 94, 97, 6, 68, 68, 52, 6,
+ 69, 90, 74, 82, 4, 1, 69, 2, 76, 7, 69, 69, 0,
+ 86, 89, 88, 91, 26, 0, 11, 76, 0, 76, 68, 0,
+ 71, 84, 76, 84, 16, 71, 2, 78, 78, 0, 70, 3,
+ 9, 4, 5, 16, 13, 78, 66, 2, 66, 2, 73, 11, 66,
+ 7, 19, 2, 16, 17, 9, 82, 10, 64, 78, 67, 91,
+ 80, 68, 73, 0, 68, 66, 13, 64, 68, 4, 10, 72,
+ 72, 0, 97, 85, 68, 95, 66, 76, 12, 64, 77, 22,
+ 1, 65, 81, 23, 76, 88, 1, 97, 12, 23, 21, 18,
+ 23, 17, 5, 20, 22, 75, 2, 10, 3, 1, 75, 0, 68,
+ 70, 65, 71, 79, 66, 70, 97, 80, 76, 87, 82,
+ 89, 27, 34, 25, 25, 24, 16, 12, 16, 6, 0, 4,
+ 70, 81, 81, 104, 6, 3, 77, 1, 70, 72, 77, 81,
+ 85, 89, 90, 104, 77, 94, 104, 93, 101, 64, 34,
+ 24, 16, 6, 5, 65, 67, 71, 71, 7, 47, 31, 24,
+ 17, 33, 12, 7, 64, 64, 66, 40, 25, 14, 7, 16,
+ 4, 65, 68, 73, 73, 22, 8, 3, 65, 5, 68, 73,
+ 76, 2, 41, 24, 15, 8, 20, 6, 3, 1, 67, 62, 80,
+ 71, 1, 66, 68, 1, 8, 9, 64, 8, 14, 17, 76, 71,
+ 74, 65, 16, 67, 69, 2, 9, 17, 78, 70, 11, 13,
+ 83, 82, 83, 78, 73, 1, 73, 68, 70, 65, 3, 74,
+ 70, 69, 0, 79, 73, 80, 84, 65, 99, 76, 0, 70,
+ 12, 70, 65, 20, 68, 70, 65, 16, 78, 74, 95,
+ 26, 32, 33, 24, 12, 25, 21, 16, 15, 13, 12, 8,
+ 73, 76, 83, 68, 65, 75, 92, 75, 75, 79, 78,
+ 77, 72, 73, 87, 88, 83, 22, 21, 21, 15, 2, 9,
+ 6, 70, 0, 69, 70, 82, 83, 83, 85, 5, 8, 76, 5,
+ 4, 69, 75, 75, 77, 79, 79, 84, 93, 92, 98,
+ 100, 106, 86, 96, 103, 83, 69, 75, 2, 3, 4,
+ 48, 14, 13, 68, 23, 58, 44, 62, 13, 28, 21,
+ 70, 90, 96, 101, 126, 124, 122, 68, 43, 27,
+ 18, 9, 13, 2, 66, 68, 72, 76, 69, 5, 64, 14,
+ 12, 4, 7, 12, 15, 16, 8, 19, 16, 0, 29, 23,
+ 12, 5, 64, 70, 94, 97, 96 },
+
+ {
+
+ 35,
+ 5, 80, 35, 5, 80, 65, 10, 24, 12, 66, 83, 11,
+ 18, 52, 14, 26, 67, 14, 23, 64, 75, 64, 87,
+ 103, 1, 0, 123, 125, 123, 37, 3, 69, 14, 23,
+ 64, 72, 6, 16, 64, 1, 67, 71, 68, 82, 75, 92,
+ 5, 69, 72, 64, 77, 74, 88, 12, 0, 65, 69, 7,
+ 3, 22, 0, 0, 0, 0, 94, 97, 7, 69, 68, 52, 6,
+ 69, 89, 73, 82, 5, 2, 67, 4, 74, 8, 67, 68, 2,
+ 85, 88, 87, 90, 27, 0, 12, 75, 0, 75, 68, 2,
+ 71, 83, 75, 83, 16, 71, 3, 76, 77, 1, 70, 3,
+ 9, 4, 6, 17, 14, 78, 66, 2, 66, 2, 73, 11, 67,
+ 7, 19, 1, 16, 17, 9, 84, 10, 65, 80, 68, 92,
+ 79, 67, 72, 1, 67, 66, 14, 64, 67, 5, 11, 72,
+ 72, 0, 98, 84, 67, 95, 66, 76, 13, 64, 78, 23,
+ 1, 65, 82, 24, 76, 89, 1, 98, 11, 22, 21, 17,
+ 22, 16, 5, 19, 21, 76, 1, 10, 3, 1, 76, 64,
+ 69, 71, 66, 72, 80, 67, 70, 99, 81, 76, 88,
+ 83, 89, 26, 32, 24, 23, 22, 14, 10, 14, 4, 66,
+ 2, 72, 83, 84, 106, 4, 1, 78, 64, 72, 75, 80,
+ 83, 88, 91, 92, 107, 78, 96, 105, 94, 101, 64,
+ 35, 24, 16, 6, 5, 65, 67, 71, 71, 7, 47, 31,
+ 24, 17, 34, 13, 7, 0, 64, 65, 41, 25, 15, 7,
+ 17, 5, 64, 68, 72, 72, 23, 9, 4, 65, 6, 67,
+ 72, 75, 3, 41, 24, 15, 8, 21, 6, 4, 2, 66, 62,
+ 79, 70, 2, 66, 68, 1, 8, 9, 64, 8, 14, 17, 76,
+ 71, 74, 65, 17, 68, 70, 1, 8, 17, 79, 71, 11,
+ 13, 83, 83, 83, 77, 72, 2, 72, 67, 69, 65, 4,
+ 74, 70, 69, 1, 79, 73, 80, 83, 64, 99, 76, 0,
+ 70, 13, 70, 65, 21, 68, 70, 65, 17, 79, 74,
+ 96, 25, 31, 32, 23, 11, 24, 20, 15, 14, 12,
+ 11, 7, 74, 77, 84, 69, 66, 76, 94, 77, 76, 80,
+ 78, 78, 72, 73, 87, 88, 82, 20, 19, 19, 13,
+ 64, 7, 4, 72, 65, 71, 72, 85, 85, 85, 86, 3,
+ 7, 78, 3, 2, 71, 77, 77, 79, 81, 81, 86, 96,
+ 94, 100, 102, 107, 88, 98, 104, 82, 68, 74, 3,
+ 4, 5, 49, 15, 14, 68, 24, 60, 46, 62, 14, 26,
+ 20, 72, 93, 99, 104, 126, 126, 123, 68, 43,
+ 27, 18, 9, 13, 2, 66, 68, 72, 75, 68, 6, 0,
+ 15, 12, 4, 8, 12, 15, 16, 8, 19, 16, 0, 28,
+ 22, 10, 3, 66, 72, 96, 99, 97 },
+
+ {
+
+ 33,
+ 5, 80, 33, 5, 80, 64, 11, 24, 12, 66, 84, 10,
+ 16, 52, 14, 29, 68, 15, 23, 64, 76, 64, 88,
+ 104, 0, 65, 125, 126, 124, 40, 4, 69, 15, 23,
+ 64, 72, 7, 16, 65, 1, 67, 71, 68, 82, 74, 92,
+ 5, 69, 71, 65, 78, 74, 88, 12, 1, 65, 68, 7,
+ 3, 22, 0, 0, 0, 1, 95, 97, 7, 70, 68, 52, 6,
+ 69, 88, 72, 82, 5, 4, 66, 6, 73, 9, 66, 66, 4,
+ 84, 88, 86, 90, 27, 0, 13, 74, 0, 75, 67, 4,
+ 71, 83, 75, 82, 16, 70, 3, 75, 77, 1, 70, 4,
+ 9, 4, 6, 17, 14, 79, 67, 2, 66, 2, 73, 11, 67,
+ 6, 19, 1, 16, 17, 8, 86, 10, 65, 82, 69, 93,
+ 78, 66, 71, 2, 67, 65, 15, 0, 67, 6, 12, 72,
+ 72, 1, 99, 84, 66, 95, 66, 76, 13, 64, 79, 24,
+ 1, 65, 84, 25, 77, 90, 1, 99, 9, 21, 20, 16,
+ 21, 15, 4, 18, 21, 78, 0, 9, 3, 1, 76, 65, 69,
+ 72, 66, 73, 81, 68, 71, 101, 82, 77, 89, 84,
+ 89, 24, 31, 22, 21, 20, 12, 7, 12, 1, 68, 0,
+ 75, 86, 86, 109, 2, 0, 80, 67, 74, 77, 82, 86,
+ 90, 94, 94, 109, 79, 97, 107, 95, 101, 64, 35,
+ 25, 16, 6, 5, 65, 67, 71, 70, 8, 48, 31, 24,
+ 17, 35, 13, 8, 0, 0, 65, 42, 26, 15, 7, 17, 5,
+ 64, 67, 71, 72, 24, 9, 4, 65, 7, 66, 72, 74,
+ 3, 42, 24, 15, 8, 22, 7, 4, 3, 65, 62, 79, 70,
+ 2, 66, 68, 1, 8, 9, 0, 8, 14, 18, 76, 71, 74,
+ 66, 17, 69, 71, 0, 7, 17, 81, 72, 10, 13, 84,
+ 84, 84, 77, 72, 3, 72, 67, 69, 64, 5, 75, 70,
+ 69, 1, 80, 73, 80, 83, 0, 99, 76, 1, 70, 13,
+ 70, 65, 22, 68, 71, 65, 18, 79, 75, 97, 24,
+ 31, 32, 22, 10, 23, 19, 14, 13, 11, 10, 6, 75,
+ 78, 85, 71, 68, 78, 96, 78, 77, 81, 79, 78,
+ 72, 73, 87, 89, 82, 17, 16, 17, 10, 67, 5, 2,
+ 75, 67, 73, 74, 87, 87, 86, 87, 1, 5, 79, 1,
+ 0, 73, 79, 80, 81, 83, 83, 88, 98, 96, 102,
+ 104, 108, 90, 100, 106, 81, 67, 73, 3, 5, 6,
+ 51, 16, 15, 68, 25, 61, 47, 62, 14, 25, 18,
+ 75, 96, 102, 107, 126, 126, 124, 68, 43, 27,
+ 18, 9, 13, 2, 66, 68, 71, 74, 67, 7, 0, 16,
+ 13, 5, 9, 13, 16, 17, 9, 20, 17, 0, 26, 20, 8,
+ 1, 68, 74, 98, 101, 98 },
+
+ {
+
+ 32,
+ 5, 80, 32, 5, 80, 1, 13, 24, 12, 67, 86, 8,
+ 15, 52, 14, 31, 68, 16, 24, 64, 76, 0, 89,
+ 105, 0, 67, 126, 126, 124, 43, 6, 69, 16, 24,
+ 64, 72, 8, 16, 65, 1, 67, 70, 68, 83, 74, 92,
+ 5, 69, 70, 65, 78, 74, 88, 13, 1, 64, 68, 8,
+ 3, 22, 0, 0, 0, 1, 95, 97, 8, 71, 68, 52, 6,
+ 69, 87, 71, 82, 6, 5, 64, 8, 71, 10, 64, 65,
+ 6, 83, 87, 85, 89, 28, 0, 14, 73, 0, 74, 66,
+ 6, 71, 83, 74, 80, 17, 70, 4, 74, 76, 2, 70,
+ 4, 10, 5, 7, 18, 15, 79, 67, 2, 66, 2, 73, 11,
+ 68, 5, 19, 0, 16, 17, 8, 88, 10, 66, 83, 70,
+ 94, 77, 65, 70, 3, 66, 64, 16, 1, 66, 7, 13,
+ 72, 72, 1, 100, 83, 65, 95, 65, 76, 14, 64,
+ 80, 25, 1, 65, 85, 26, 77, 91, 1, 99, 8, 20,
+ 20, 15, 20, 14, 3, 18, 21, 79, 64, 9, 3, 1,
+ 77, 65, 70, 73, 67, 74, 82, 68, 72, 103, 83,
+ 78, 90, 85, 89, 22, 30, 20, 19, 19, 10, 5, 10,
+ 64, 70, 65, 77, 88, 88, 111, 0, 65, 82, 69,
+ 76, 79, 84, 88, 92, 97, 96, 112, 80, 99, 108,
+ 95, 101, 64, 35, 25, 16, 6, 5, 65, 67, 71, 70,
+ 8, 48, 31, 24, 17, 36, 14, 9, 0, 1, 64, 43,
+ 27, 15, 8, 18, 6, 0, 67, 70, 71, 26, 10, 4,
+ 64, 8, 65, 71, 73, 4, 42, 25, 15, 8, 23, 8, 5,
+ 4, 64, 62, 79, 70, 3, 66, 68, 1, 8, 9, 0, 8,
+ 15, 18, 76, 71, 74, 67, 18, 70, 72, 64, 7, 17,
+ 82, 73, 10, 13, 85, 85, 84, 76, 71, 4, 71, 66,
+ 68, 64, 6, 75, 70, 69, 1, 81, 73, 80, 82, 1,
+ 99, 76, 1, 70, 14, 70, 65, 23, 68, 71, 65, 19,
+ 80, 75, 97, 23, 31, 31, 22, 9, 22, 18, 13, 13,
+ 10, 9, 5, 76, 79, 86, 72, 69, 79, 98, 79, 78,
+ 82, 80, 79, 72, 72, 87, 89, 81, 15, 14, 15, 8,
+ 69, 3, 0, 77, 69, 75, 76, 89, 89, 88, 88, 64,
+ 3, 80, 64, 65, 75, 81, 82, 83, 85, 85, 90,
+ 101, 98, 104, 106, 109, 92, 102, 107, 80, 65,
+ 72, 4, 6, 7, 53, 17, 16, 68, 26, 62, 49, 62,
+ 15, 23, 16, 77, 99, 104, 110, 126, 126, 125,
+ 68, 43, 27, 18, 9, 13, 2, 66, 68, 71, 73, 66,
+ 8, 1, 17, 14, 5, 10, 14, 17, 18, 9, 20, 17, 0,
+ 25, 19, 7, 0, 70, 76, 100, 103, 99 },
+
+ {
+
+ 31,
+ 5, 81, 31, 5, 81, 3, 14, 25, 12, 67, 87, 7,
+ 14, 52, 14, 33, 68, 16, 25, 64, 77, 0, 90,
+ 106, 64, 68, 126, 126, 125, 46, 7, 69, 16, 25,
+ 64, 71, 9, 17, 66, 2, 66, 69, 69, 83, 74, 92,
+ 5, 68, 70, 65, 78, 73, 88, 13, 1, 64, 68, 8,
+ 3, 22, 0, 0, 0, 2, 95, 97, 8, 71, 69, 52, 6,
+ 69, 86, 71, 82, 6, 6, 1, 10, 70, 11, 1, 64, 8,
+ 82, 86, 84, 88, 29, 0, 15, 73, 1, 74, 66, 8,
+ 71, 82, 74, 79, 17, 70, 4, 72, 76, 3, 69, 4,
+ 10, 5, 8, 18, 15, 80, 67, 2, 66, 2, 73, 11,
+ 68, 5, 19, 64, 16, 17, 8, 90, 10, 66, 85, 71,
+ 95, 77, 64, 70, 3, 65, 64, 17, 1, 66, 7, 15,
+ 72, 72, 1, 101, 83, 64, 95, 65, 76, 15, 0, 81,
+ 25, 1, 65, 86, 27, 78, 92, 1, 100, 6, 19, 19,
+ 15, 19, 14, 3, 17, 20, 80, 65, 9, 3, 1, 77,
+ 66, 71, 74, 68, 74, 83, 69, 72, 105, 84, 78,
+ 91, 86, 89, 21, 28, 19, 17, 17, 8, 3, 8, 67,
+ 73, 67, 80, 91, 91, 114, 65, 67, 83, 71, 79,
+ 82, 87, 90, 95, 99, 99, 114, 81, 101, 109, 96,
+ 101, 0, 36, 25, 17, 6, 5, 65, 67, 71, 69, 8,
+ 48, 32, 24, 17, 37, 14, 9, 1, 1, 0, 44, 27,
+ 16, 8, 19, 6, 0, 66, 69, 70, 27, 11, 5, 64, 8,
+ 65, 70, 71, 4, 42, 25, 15, 9, 23, 8, 6, 4, 0,
+ 62, 78, 69, 3, 66, 68, 1, 8, 9, 0, 9, 15, 19,
+ 76, 71, 75, 67, 18, 71, 73, 65, 6, 17, 83, 74,
+ 10, 13, 85, 86, 85, 75, 70, 5, 71, 66, 68, 0,
+ 6, 75, 69, 68, 2, 81, 73, 80, 82, 2, 99, 76,
+ 1, 70, 15, 70, 65, 24, 69, 71, 65, 19, 81, 75,
+ 98, 22, 30, 31, 21, 8, 22, 18, 12, 12, 10, 8,
+ 4, 77, 80, 87, 74, 70, 81, 100, 81, 80, 83,
+ 80, 79, 72, 72, 86, 90, 80, 13, 12, 13, 6, 72,
+ 1, 65, 80, 71, 78, 78, 92, 91, 89, 88, 65, 2,
+ 82, 66, 68, 77, 83, 84, 85, 87, 88, 92, 103,
+ 100, 106, 107, 111, 94, 104, 109, 79, 64, 71,
+ 5, 7, 8, 54, 18, 17, 68, 27, 62, 50, 62, 16,
+ 22, 15, 80, 102, 107, 112, 126, 126, 126, 67,
+ 43, 27, 18, 9, 13, 2, 66, 68, 70, 72, 66, 9,
+ 2, 18, 14, 6, 11, 14, 17, 18, 9, 21, 17, 0,
+ 24, 17, 5, 65, 71, 77, 103, 104, 100 },
+
+ {
+
+ 30,
+ 5, 81, 30, 5, 81, 5, 16, 25, 12, 68, 89, 5,
+ 12, 52, 14, 36, 69, 17, 25, 64, 78, 0, 91,
+ 107, 64, 70, 126, 126, 125, 49, 8, 69, 17, 25,
+ 64, 71, 10, 17, 66, 2, 66, 69, 69, 84, 73, 92,
+ 5, 68, 69, 66, 78, 73, 88, 14, 2, 64, 67, 9,
+ 3, 22, 0, 0, 0, 2, 95, 97, 9, 72, 69, 52, 6,
+ 69, 85, 70, 82, 7, 8, 2, 12, 68, 12, 2, 1, 10,
+ 81, 85, 83, 88, 30, 0, 16, 72, 1, 73, 65, 10,
+ 71, 82, 73, 78, 17, 69, 5, 71, 75, 3, 69, 5,
+ 10, 5, 9, 19, 16, 80, 68, 2, 66, 2, 73, 11,
+ 69, 4, 19, 64, 16, 17, 7, 92, 10, 67, 87, 72,
+ 96, 76, 0, 69, 4, 64, 0, 18, 2, 65, 8, 16, 72,
+ 72, 2, 102, 82, 0, 95, 65, 76, 15, 0, 82, 26,
+ 1, 65, 88, 28, 78, 93, 1, 101, 5, 18, 19, 14,
+ 18, 13, 2, 16, 20, 81, 66, 9, 3, 1, 78, 67,
+ 71, 75, 68, 75, 84, 70, 73, 107, 85, 79, 92,
+ 87, 89, 19, 27, 17, 15, 15, 6, 0, 6, 69, 75,
+ 69, 82, 93, 93, 116, 67, 68, 85, 74, 81, 84,
+ 89, 93, 97, 102, 101, 117, 82, 102, 111, 97,
+ 101, 0, 36, 26, 17, 6, 5, 65, 67, 71, 69, 9,
+ 49, 32, 24, 17, 38, 15, 10, 1, 2, 1, 45, 28,
+ 16, 8, 20, 7, 1, 66, 68, 70, 28, 11, 5, 64, 9,
+ 64, 70, 70, 5, 43, 25, 15, 9, 24, 9, 7, 5, 1,
+ 62, 78, 69, 4, 66, 68, 1, 8, 9, 1, 9, 15, 19,
+ 76, 71, 75, 68, 19, 72, 74, 66, 5, 17, 84, 75,
+ 9, 13, 86, 87, 85, 74, 70, 6, 70, 65, 67, 0,
+ 7, 75, 69, 68, 2, 82, 73, 80, 81, 3, 99, 76,
+ 2, 70, 15, 70, 65, 25, 69, 71, 65, 20, 81, 76,
+ 99, 21, 30, 30, 20, 7, 21, 17, 11, 11, 9, 7,
+ 3, 78, 81, 88, 75, 72, 82, 102, 82, 81, 84,
+ 81, 80, 72, 72, 86, 90, 79, 11, 10, 11, 3, 75,
+ 64, 67, 82, 73, 80, 80, 94, 93, 91, 89, 67, 0,
+ 83, 68, 70, 79, 85, 86, 87, 89, 90, 94, 106,
+ 102, 108, 109, 112, 96, 106, 110, 78, 0, 70,
+ 5, 8, 9, 56, 19, 18, 68, 28, 62, 52, 62, 16,
+ 20, 13, 82, 105, 110, 115, 126, 126, 126, 67,
+ 43, 27, 18, 9, 13, 2, 66, 68, 70, 71, 65, 10,
+ 3, 19, 15, 6, 12, 15, 18, 19, 10, 21, 18, 0,
+ 22, 16, 3, 67, 73, 79, 105, 106, 101 },
+
+ {
+
+ 28,
+ 4, 81, 28, 4, 81, 6, 17, 25, 12, 68, 90, 4,
+ 11, 52, 14, 38, 69, 18, 26, 64, 79, 0, 92,
+ 109, 65, 72, 126, 126, 126, 51, 9, 69, 18, 26,
+ 64, 71, 11, 17, 67, 2, 66, 68, 70, 84, 73, 93,
+ 5, 68, 69, 66, 79, 73, 88, 14, 2, 64, 67, 9,
+ 3, 22, 0, 0, 0, 3, 96, 97, 9, 73, 69, 52, 6,
+ 69, 84, 69, 82, 7, 9, 4, 14, 67, 13, 4, 2, 11,
+ 80, 85, 82, 87, 30, 0, 17, 71, 1, 73, 65, 11,
+ 71, 82, 73, 77, 17, 69, 5, 70, 75, 4, 69, 5,
+ 10, 5, 9, 19, 16, 81, 68, 2, 66, 2, 73, 11,
+ 69, 3, 19, 65, 16, 17, 7, 94, 10, 67, 89, 73,
+ 97, 75, 1, 68, 5, 64, 0, 19, 2, 65, 9, 17, 72,
+ 72, 2, 104, 82, 1, 95, 65, 77, 16, 0, 83, 27,
+ 1, 65, 89, 29, 79, 94, 1, 102, 3, 17, 18, 13,
+ 17, 12, 1, 15, 19, 83, 67, 8, 3, 1, 78, 68,
+ 72, 76, 69, 76, 85, 71, 74, 109, 87, 80, 93,
+ 88, 89, 17, 25, 15, 13, 13, 4, 65, 4, 72, 78,
+ 71, 85, 96, 96, 119, 69, 70, 87, 76, 83, 87,
+ 92, 95, 100, 105, 103, 119, 83, 104, 112, 98,
+ 102, 0, 36, 26, 17, 6, 5, 65, 67, 71, 68, 9,
+ 49, 32, 24, 17, 39, 15, 10, 1, 2, 1, 46, 28,
+ 16, 8, 20, 7, 1, 65, 67, 69, 29, 12, 5, 64,
+ 10, 0, 69, 69, 5, 43, 25, 15, 9, 25, 9, 7, 6,
+ 1, 62, 78, 69, 4, 66, 68, 1, 8, 9, 1, 9, 15,
+ 20, 76, 71, 75, 69, 19, 73, 75, 67, 4, 17, 86,
+ 77, 9, 13, 87, 88, 86, 74, 69, 7, 70, 65, 67,
+ 1, 8, 76, 69, 68, 2, 83, 73, 80, 81, 3, 100,
+ 76, 2, 70, 16, 70, 65, 25, 69, 72, 65, 21, 82,
+ 76, 100, 20, 29, 30, 19, 5, 20, 16, 10, 10, 8,
+ 6, 2, 79, 82, 89, 77, 73, 84, 104, 84, 82, 85,
+ 82, 80, 72, 72, 86, 91, 79, 8, 7, 9, 1, 78,
+ 67, 70, 85, 75, 82, 82, 97, 95, 92, 90, 69,
+ 65, 85, 70, 72, 82, 88, 89, 90, 91, 92, 97,
+ 108, 104, 111, 111, 113, 98, 108, 112, 77, 1,
+ 69, 6, 9, 9, 57, 20, 18, 68, 28, 62, 53, 62,
+ 17, 19, 11, 85, 108, 113, 118, 126, 126, 126,
+ 67, 43, 27, 18, 9, 13, 2, 66, 68, 69, 71, 64,
+ 11, 3, 20, 15, 7, 12, 15, 18, 19, 10, 22, 18,
+ 64, 21, 14, 1, 69, 75, 81, 107, 108, 102 },
+
+ {
+
+ 27,
+ 4, 81, 27, 4, 81, 8, 18, 26, 12, 68, 91, 3,
+ 10, 52, 14, 40, 69, 19, 27, 64, 79, 1, 93,
+ 110, 66, 74, 126, 126, 126, 54, 11, 69, 19,
+ 27, 64, 70, 12, 18, 68, 2, 65, 67, 70, 84, 73,
+ 93, 5, 68, 68, 66, 79, 73, 88, 14, 2, 0, 67,
+ 9, 3, 22, 0, 0, 0, 4, 96, 97, 9, 74, 69, 52,
+ 6, 69, 83, 68, 82, 7, 10, 6, 16, 65, 15, 6, 3,
+ 13, 79, 84, 81, 86, 31, 1, 18, 70, 1, 72, 64,
+ 13, 71, 81, 73, 75, 18, 69, 5, 68, 75, 5, 69,
+ 5, 11, 6, 10, 19, 16, 81, 68, 3, 66, 2, 72,
+ 11, 69, 3, 19, 66, 16, 17, 7, 96, 10, 67, 90,
+ 74, 97, 74, 2, 67, 6, 0, 1, 20, 3, 65, 10, 18,
+ 72, 72, 2, 105, 81, 2, 95, 64, 77, 17, 0, 84,
+ 28, 1, 65, 90, 30, 80, 95, 1, 102, 2, 16, 18,
+ 12, 16, 11, 1, 15, 19, 84, 68, 8, 3, 1, 78,
+ 68, 73, 77, 70, 77, 86, 71, 74, 110, 88, 80,
+ 94, 89, 89, 16, 24, 14, 12, 12, 2, 67, 2, 74,
+ 80, 73, 87, 99, 98, 122, 70, 72, 88, 78, 85,
+ 89, 94, 97, 102, 107, 105, 121, 83, 106, 113,
+ 98, 102, 0, 37, 26, 17, 7, 5, 65, 66, 71, 67,
+ 9, 49, 32, 25, 17, 40, 16, 11, 2, 3, 2, 47,
+ 29, 17, 9, 21, 8, 1, 64, 66, 68, 31, 13, 6, 0,
+ 11, 1, 68, 68, 6, 43, 26, 16, 9, 26, 10, 8, 7,
+ 2, 62, 77, 68, 5, 66, 68, 1, 9, 10, 1, 9, 16,
+ 21, 76, 71, 75, 69, 19, 74, 75, 68, 4, 17, 87,
+ 78, 9, 13, 87, 89, 87, 73, 68, 8, 70, 64, 67,
+ 2, 9, 76, 69, 68, 3, 83, 73, 80, 81, 4, 100,
+ 76, 2, 70, 17, 70, 65, 26, 69, 72, 65, 22, 83,
+ 76, 100, 19, 29, 30, 19, 4, 19, 15, 9, 10, 7,
+ 5, 2, 79, 83, 90, 78, 74, 86, 106, 85, 83, 85,
+ 82, 80, 71, 71, 86, 92, 78, 6, 5, 7, 64, 80,
+ 69, 72, 87, 77, 84, 84, 99, 97, 93, 91, 71,
+ 66, 86, 72, 74, 84, 90, 91, 92, 93, 94, 99,
+ 110, 105, 113, 113, 114, 100, 110, 114, 76, 3,
+ 67, 7, 10, 10, 59, 21, 19, 68, 29, 62, 54, 62,
+ 18, 18, 10, 87, 111, 115, 121, 126, 126, 126,
+ 67, 43, 27, 18, 9, 14, 2, 66, 68, 68, 70, 0,
+ 12, 4, 22, 16, 8, 13, 16, 19, 20, 10, 23, 18,
+ 64, 20, 13, 0, 70, 77, 83, 109, 110, 102 },
+
+ {
+
+ 26,
+ 4, 81, 26, 4, 81, 10, 20, 26, 12, 69, 93, 1,
+ 8, 52, 14, 43, 70, 20, 27, 64, 80, 1, 94, 111,
+ 66, 76, 126, 126, 126, 57, 12, 69, 20, 27, 64,
+ 70, 13, 18, 68, 2, 65, 67, 70, 85, 72, 93, 5,
+ 68, 67, 67, 79, 73, 88, 15, 3, 0, 66, 10, 3,
+ 22, 0, 0, 0, 4, 96, 97, 10, 75, 69, 52, 6, 69,
+ 82, 67, 82, 8, 12, 7, 18, 64, 16, 7, 5, 15,
+ 78, 83, 80, 86, 32, 1, 19, 69, 1, 72, 0, 15,
+ 71, 81, 72, 74, 18, 68, 6, 67, 74, 5, 69, 6,
+ 11, 6, 11, 20, 17, 82, 69, 3, 66, 2, 72, 11,
+ 70, 2, 19, 66, 16, 17, 6, 98, 10, 68, 92, 75,
+ 98, 73, 3, 66, 7, 1, 2, 21, 4, 64, 11, 19, 72,
+ 72, 3, 106, 81, 3, 95, 64, 77, 17, 0, 85, 29,
+ 1, 65, 92, 31, 80, 96, 1, 103, 0, 15, 17, 11,
+ 15, 10, 0, 14, 19, 85, 69, 8, 3, 1, 79, 69,
+ 73, 78, 70, 78, 87, 72, 75, 112, 89, 81, 95,
+ 90, 89, 14, 23, 12, 10, 10, 0, 70, 0, 77, 82,
+ 75, 90, 101, 100, 124, 72, 73, 90, 81, 87, 91,
+ 96, 100, 104, 110, 107, 124, 84, 107, 115, 99,
+ 102, 0, 37, 27, 17, 7, 5, 65, 66, 71, 67, 10,
+ 50, 32, 25, 17, 41, 16, 12, 2, 4, 3, 48, 30,
+ 17, 9, 22, 8, 2, 64, 65, 68, 32, 13, 6, 0, 12,
+ 2, 68, 67, 6, 44, 26, 16, 9, 27, 11, 9, 8, 3,
+ 62, 77, 68, 5, 66, 68, 1, 9, 10, 2, 9, 16, 21,
+ 76, 71, 75, 70, 20, 75, 76, 69, 3, 17, 88, 79,
+ 8, 13, 88, 90, 87, 72, 68, 9, 69, 64, 66, 2,
+ 10, 76, 69, 68, 3, 84, 73, 80, 80, 5, 100, 76,
+ 3, 70, 17, 70, 65, 27, 69, 72, 65, 23, 83, 77,
+ 101, 18, 29, 29, 18, 3, 18, 14, 8, 9, 6, 4, 1,
+ 80, 84, 91, 80, 76, 87, 108, 86, 84, 86, 83,
+ 81, 71, 71, 86, 92, 77, 4, 3, 5, 67, 83, 71,
+ 74, 90, 79, 86, 86, 101, 99, 95, 92, 73, 68,
+ 87, 74, 76, 86, 92, 93, 94, 95, 96, 101, 113,
+ 107, 115, 115, 115, 102, 112, 115, 75, 4, 66,
+ 7, 11, 11, 61, 22, 20, 68, 30, 62, 56, 62, 18,
+ 16, 8, 90, 114, 118, 124, 126, 126, 126, 67,
+ 43, 27, 18, 9, 14, 2, 66, 68, 68, 69, 1, 13,
+ 5, 23, 17, 8, 14, 17, 20, 21, 11, 23, 19, 64,
+ 18, 11, 65, 72, 79, 85, 111, 112, 103 },
+
+ {
+
+ 25,
+ 4, 82, 25, 4, 82, 12, 21, 27, 12, 69, 94, 0,
+ 7, 52, 14, 45, 70, 20, 28, 64, 81, 1, 95, 112,
+ 67, 77, 126, 126, 126, 60, 13, 69, 20, 28, 64,
+ 69, 14, 19, 69, 3, 64, 66, 71, 85, 72, 93, 5,
+ 67, 67, 67, 79, 72, 88, 15, 3, 0, 66, 10, 3,
+ 22, 0, 0, 0, 5, 96, 97, 10, 75, 70, 52, 6, 69,
+ 81, 67, 82, 8, 13, 9, 20, 1, 17, 9, 6, 17, 77,
+ 82, 79, 85, 33, 1, 20, 69, 2, 71, 0, 17, 71,
+ 80, 72, 73, 18, 68, 6, 65, 74, 6, 68, 6, 11,
+ 6, 12, 20, 17, 82, 69, 3, 66, 2, 72, 11, 70,
+ 2, 19, 67, 16, 17, 6, 100, 10, 68, 94, 76, 99,
+ 73, 4, 66, 7, 2, 2, 22, 4, 64, 11, 21, 72, 72,
+ 3, 107, 80, 4, 95, 64, 77, 18, 1, 86, 29, 1,
+ 65, 93, 32, 81, 97, 1, 104, 64, 14, 17, 11,
+ 14, 10, 0, 13, 18, 86, 70, 8, 3, 1, 79, 70,
+ 74, 79, 71, 78, 88, 73, 75, 114, 90, 81, 96,
+ 91, 89, 13, 21, 11, 8, 8, 65, 72, 65, 79, 85,
+ 77, 92, 104, 103, 126, 74, 75, 91, 83, 90, 94,
+ 99, 102, 107, 112, 110, 126, 85, 109, 116,
+ 100, 102, 1, 38, 27, 18, 7, 5, 65, 66, 71, 66,
+ 10, 50, 33, 25, 17, 42, 17, 12, 3, 4, 4, 49,
+ 30, 18, 9, 23, 9, 2, 0, 64, 67, 33, 14, 7, 0,
+ 12, 2, 67, 65, 7, 44, 26, 16, 10, 27, 11, 10,
+ 8, 4, 62, 76, 67, 6, 66, 68, 1, 9, 10, 2, 10,
+ 16, 22, 76, 71, 76, 70, 20, 76, 77, 70, 2, 17,
+ 89, 80, 8, 13, 88, 91, 88, 71, 67, 10, 69, 0,
+ 66, 3, 10, 76, 68, 67, 4, 84, 73, 80, 80, 6,
+ 100, 76, 3, 70, 18, 70, 65, 28, 70, 72, 65,
+ 23, 84, 77, 102, 17, 28, 29, 17, 2, 18, 14, 7,
+ 8, 6, 3, 0, 81, 85, 92, 81, 77, 89, 110, 88,
+ 86, 87, 83, 81, 71, 71, 85, 93, 76, 2, 1, 3,
+ 69, 86, 73, 76, 92, 81, 89, 88, 104, 101, 96,
+ 92, 74, 69, 89, 76, 79, 88, 94, 95, 96, 97,
+ 99, 103, 115, 109, 117, 116, 117, 104, 114,
+ 117, 74, 5, 65, 8, 12, 12, 62, 23, 21, 68, 31,
+ 62, 57, 62, 19, 15, 7, 92, 117, 121, 126, 126,
+ 126, 126, 66, 43, 27, 18, 9, 14, 2, 66, 68,
+ 67, 68, 1, 14, 6, 24, 17, 9, 15, 17, 20, 21,
+ 11, 24, 19, 64, 17, 10, 67, 74, 80, 86, 114,
+ 113, 104 },
+
+ {
+
+ 23,
+ 4, 82, 23, 4, 82, 13, 23, 27, 12, 70, 96, 65,
+ 6, 52, 14, 47, 70, 21, 29, 64, 82, 1, 96, 113,
+ 67, 79, 126, 126, 126, 62, 14, 69, 21, 29, 64,
+ 69, 15, 19, 69, 3, 64, 65, 71, 86, 72, 93, 5,
+ 67, 66, 67, 80, 72, 88, 16, 3, 0, 66, 11, 3,
+ 22, 0, 0, 0, 5, 97, 97, 11, 76, 70, 52, 6, 69,
+ 80, 66, 82, 9, 14, 11, 22, 2, 18, 11, 7, 19,
+ 76, 82, 78, 84, 33, 1, 21, 68, 2, 71, 1, 19,
+ 71, 80, 71, 72, 18, 68, 7, 64, 73, 7, 68, 6,
+ 11, 6, 12, 21, 18, 83, 69, 3, 66, 2, 72, 11,
+ 71, 1, 19, 68, 16, 17, 6, 102, 10, 69, 96, 77,
+ 100, 72, 5, 65, 8, 2, 3, 23, 5, 0, 12, 22, 72,
+ 72, 3, 108, 80, 5, 95, 64, 77, 19, 1, 87, 30,
+ 1, 65, 94, 33, 81, 98, 1, 105, 66, 13, 16, 10,
+ 13, 9, 64, 12, 18, 88, 71, 7, 3, 1, 80, 71,
+ 75, 80, 72, 79, 89, 74, 76, 116, 91, 82, 97,
+ 92, 89, 11, 20, 9, 6, 6, 67, 74, 67, 82, 87,
+ 79, 95, 106, 105, 126, 76, 77, 93, 85, 92, 96,
+ 101, 104, 109, 115, 112, 126, 86, 111, 117,
+ 101, 102, 1, 38, 27, 18, 7, 5, 65, 66, 71, 66,
+ 10, 50, 33, 25, 17, 43, 17, 13, 3, 5, 4, 50,
+ 31, 18, 9, 23, 9, 3, 0, 0, 66, 34, 15, 7, 0,
+ 13, 3, 66, 64, 7, 44, 26, 16, 10, 28, 12, 10,
+ 9, 5, 62, 76, 67, 6, 66, 68, 1, 9, 10, 2, 10,
+ 16, 22, 76, 71, 76, 71, 21, 77, 78, 71, 1, 17,
+ 91, 81, 8, 13, 89, 92, 88, 71, 66, 11, 68, 0,
+ 65, 3, 11, 77, 68, 67, 4, 85, 73, 80, 79, 7,
+ 100, 76, 3, 70, 19, 70, 65, 29, 70, 73, 65,
+ 24, 85, 77, 103, 16, 28, 28, 16, 1, 17, 13, 6,
+ 7, 5, 2, 64, 82, 86, 93, 83, 78, 90, 112, 89,
+ 87, 88, 84, 82, 71, 71, 85, 93, 76, 64, 65, 1,
+ 71, 89, 75, 78, 95, 83, 91, 90, 106, 103, 98,
+ 93, 76, 71, 90, 78, 81, 90, 96, 98, 98, 99,
+ 101, 105, 118, 111, 119, 118, 118, 106, 116,
+ 118, 73, 6, 64, 9, 13, 13, 62, 24, 22, 68, 32,
+ 62, 59, 62, 20, 13, 5, 95, 120, 124, 126, 126,
+ 126, 126, 66, 43, 27, 18, 9, 14, 2, 66, 68,
+ 67, 67, 2, 15, 6, 25, 18, 9, 16, 18, 21, 22,
+ 11, 24, 19, 64, 16, 8, 69, 76, 82, 88, 116,
+ 115, 105 },
+
+ {
+
+ 22,
+ 4, 82, 22, 4, 82, 15, 24, 27, 12, 70, 97, 66,
+ 4, 52, 14, 50, 71, 22, 29, 64, 82, 2, 97, 114,
+ 68, 81, 126, 126, 126, 62, 16, 69, 22, 29, 64,
+ 69, 16, 19, 70, 3, 64, 65, 71, 86, 71, 93, 5,
+ 67, 65, 68, 80, 72, 88, 16, 4, 1, 65, 11, 3,
+ 22, 0, 0, 0, 6, 97, 97, 11, 77, 70, 52, 6, 69,
+ 79, 65, 82, 9, 16, 12, 24, 4, 19, 12, 9, 21,
+ 75, 81, 77, 84, 34, 1, 22, 67, 2, 70, 2, 21,
+ 71, 80, 71, 70, 19, 67, 7, 0, 73, 7, 68, 7,
+ 12, 7, 13, 21, 18, 83, 70, 3, 66, 2, 72, 11,
+ 71, 0, 19, 68, 16, 17, 5, 104, 10, 69, 97, 78,
+ 101, 71, 6, 64, 9, 3, 4, 24, 6, 0, 13, 23, 72,
+ 72, 4, 109, 79, 6, 95, 0, 77, 19, 1, 88, 31,
+ 1, 65, 96, 34, 82, 99, 1, 105, 67, 12, 16, 9,
+ 12, 8, 65, 12, 18, 89, 72, 7, 3, 1, 80, 71,
+ 75, 81, 72, 80, 90, 74, 77, 118, 92, 83, 98,
+ 93, 89, 9, 19, 7, 4, 5, 69, 77, 69, 84, 89,
+ 81, 97, 109, 107, 126, 78, 78, 95, 88, 94, 98,
+ 103, 107, 111, 118, 114, 126, 87, 112, 119,
+ 101, 102, 1, 38, 28, 18, 7, 5, 65, 66, 71, 65,
+ 11, 51, 33, 25, 17, 44, 18, 14, 3, 6, 5, 51,
+ 32, 18, 10, 24, 10, 3, 1, 1, 66, 36, 15, 7, 1,
+ 14, 4, 66, 0, 8, 45, 27, 16, 10, 29, 13, 11,
+ 10, 6, 62, 76, 67, 7, 66, 68, 1, 9, 10, 3, 10,
+ 17, 23, 76, 71, 76, 72, 21, 78, 79, 72, 1, 17,
+ 92, 82, 7, 13, 90, 93, 89, 70, 66, 12, 68, 1,
+ 65, 4, 12, 77, 68, 67, 4, 86, 73, 80, 79, 8,
+ 100, 76, 4, 70, 19, 70, 65, 30, 70, 73, 65,
+ 25, 85, 78, 103, 15, 28, 28, 16, 0, 16, 12, 5,
+ 7, 4, 1, 65, 83, 87, 94, 84, 80, 92, 114, 90,
+ 88, 89, 85, 82, 71, 70, 85, 94, 75, 66, 67,
+ 64, 74, 91, 77, 80, 97, 85, 93, 92, 108, 105,
+ 99, 94, 78, 73, 91, 80, 83, 92, 98, 100, 100,
+ 101, 103, 107, 120, 113, 121, 120, 119, 108,
+ 118, 120, 72, 8, 0, 9, 14, 14, 62, 25, 23, 68,
+ 33, 62, 60, 62, 20, 12, 3, 97, 123, 126, 126,
+ 126, 126, 126, 66, 43, 27, 18, 9, 14, 2, 66,
+ 68, 66, 66, 3, 16, 7, 26, 19, 10, 17, 19, 22,
+ 23, 12, 25, 20, 64, 14, 7, 70, 77, 84, 90,
+ 118, 117, 106 },
+
+ {
+
+ 21,
+ 4, 82, 21, 4, 82, 17, 26, 28, 12, 71, 99, 68,
+ 3, 52, 14, 52, 71, 23, 30, 64, 83, 2, 98, 115,
+ 68, 83, 126, 126, 126, 62, 17, 69, 23, 30, 64,
+ 68, 17, 20, 70, 3, 0, 64, 72, 87, 71, 93, 5,
+ 67, 65, 68, 80, 72, 88, 17, 4, 1, 65, 12, 3,
+ 22, 0, 0, 0, 6, 97, 97, 12, 78, 70, 52, 6, 69,
+ 78, 64, 82, 10, 17, 14, 26, 5, 20, 14, 10, 23,
+ 74, 80, 76, 83, 35, 1, 23, 66, 2, 70, 2, 23,
+ 71, 79, 70, 69, 19, 67, 8, 2, 72, 8, 68, 7,
+ 12, 7, 14, 22, 19, 84, 70, 3, 66, 2, 72, 11,
+ 72, 0, 19, 69, 16, 17, 5, 106, 10, 70, 99, 79,
+ 102, 70, 7, 0, 10, 4, 4, 25, 6, 1, 14, 24, 72,
+ 72, 4, 110, 79, 7, 95, 0, 77, 20, 1, 89, 32,
+ 1, 65, 97, 35, 82, 100, 1, 106, 69, 11, 15, 8,
+ 11, 7, 65, 11, 17, 90, 73, 7, 3, 1, 81, 72,
+ 76, 82, 73, 81, 91, 75, 77, 120, 93, 83, 99,
+ 94, 89, 8, 17, 6, 2, 3, 71, 79, 71, 87, 92,
+ 83, 100, 111, 110, 126, 80, 80, 96, 90, 96,
+ 101, 106, 109, 114, 120, 116, 126, 88, 114,
+ 120, 102, 102, 1, 39, 28, 18, 7, 5, 65, 66,
+ 71, 65, 11, 51, 33, 25, 17, 45, 18, 14, 4, 6,
+ 6, 52, 32, 19, 10, 25, 10, 4, 1, 2, 65, 37,
+ 16, 8, 1, 15, 5, 65, 1, 8, 45, 27, 16, 10, 30,
+ 13, 12, 11, 7, 62, 75, 66, 7, 66, 68, 1, 9,
+ 10, 3, 10, 17, 23, 76, 71, 76, 72, 22, 79, 80,
+ 73, 0, 17, 93, 83, 7, 13, 90, 94, 89, 69, 65,
+ 13, 67, 1, 64, 4, 13, 77, 68, 67, 5, 86, 73,
+ 80, 78, 9, 100, 76, 4, 70, 20, 70, 65, 31, 70,
+ 73, 65, 26, 86, 78, 104, 14, 27, 27, 15, 64,
+ 15, 11, 4, 6, 3, 0, 66, 84, 88, 95, 86, 81,
+ 93, 116, 92, 89, 90, 85, 83, 71, 70, 85, 94,
+ 74, 68, 69, 66, 76, 94, 79, 82, 100, 87, 95,
+ 94, 111, 107, 101, 95, 80, 74, 93, 82, 85, 94,
+ 100, 102, 102, 103, 105, 109, 123, 115, 123,
+ 122, 120, 110, 120, 121, 71, 9, 1, 10, 15, 15,
+ 62, 26, 24, 68, 34, 62, 62, 62, 21, 10, 2,
+ 100, 126, 126, 126, 126, 126, 126, 66, 43, 27,
+ 18, 9, 14, 2, 66, 68, 66, 65, 4, 17, 8, 27,
+ 19, 10, 18, 19, 22, 23, 12, 25, 20, 64, 13, 5,
+ 72, 79, 86, 92, 120, 119, 107 },
+
+ {
+
+ 20,
+ 4, 82, 20, 4, 82, 19, 27, 28, 12, 71, 100, 69,
+ 2, 52, 14, 54, 71, 24, 31, 64, 84, 2, 99, 116,
+ 69, 85, 126, 126, 126, 62, 18, 69, 24, 31, 64,
+ 68, 18, 20, 71, 3, 0, 0, 72, 87, 71, 93, 5,
+ 67, 64, 68, 80, 72, 88, 17, 4, 1, 65, 12, 3,
+ 22, 0, 0, 0, 7, 97, 97, 12, 79, 70, 52, 6, 69,
+ 77, 0, 82, 10, 18, 16, 28, 7, 21, 16, 11, 25,
+ 73, 79, 75, 82, 36, 1, 24, 65, 2, 69, 3, 25,
+ 71, 79, 70, 68, 19, 67, 8, 3, 72, 9, 68, 7,
+ 12, 7, 15, 22, 19, 84, 70, 3, 66, 2, 72, 11,
+ 72, 64, 19, 70, 16, 17, 5, 108, 10, 70, 101,
+ 80, 103, 69, 8, 1, 11, 5, 5, 26, 7, 1, 15, 25,
+ 72, 72, 4, 111, 78, 8, 95, 0, 77, 21, 1, 90,
+ 33, 1, 65, 98, 36, 83, 101, 1, 107, 70, 10,
+ 15, 7, 10, 6, 66, 10, 17, 91, 74, 7, 3, 1, 81,
+ 73, 77, 83, 74, 82, 92, 76, 78, 122, 94, 84,
+ 100, 95, 89, 6, 16, 4, 0, 1, 73, 81, 73, 89,
+ 94, 85, 102, 114, 112, 126, 82, 82, 98, 92,
+ 98, 103, 108, 111, 116, 123, 118, 126, 89,
+ 116, 121, 103, 102, 1, 39, 28, 18, 7, 5, 65,
+ 66, 71, 64, 11, 51, 33, 25, 17, 46, 19, 15, 4,
+ 7, 7, 53, 33, 19, 10, 26, 11, 4, 2, 3, 64, 38,
+ 17, 8, 1, 16, 6, 64, 2, 9, 45, 27, 16, 10, 31,
+ 14, 13, 12, 8, 62, 75, 66, 8, 66, 68, 1, 9,
+ 10, 3, 10, 17, 24, 76, 71, 76, 73, 22, 80, 81,
+ 74, 64, 17, 94, 84, 7, 13, 91, 95, 90, 68, 64,
+ 14, 67, 2, 64, 5, 14, 77, 68, 67, 5, 87, 73,
+ 80, 78, 10, 100, 76, 4, 70, 21, 70, 65, 32,
+ 70, 73, 65, 27, 87, 78, 105, 13, 27, 27, 14,
+ 65, 14, 10, 3, 5, 2, 64, 67, 85, 89, 96, 87,
+ 82, 95, 118, 93, 90, 91, 86, 83, 71, 70, 85,
+ 95, 73, 70, 71, 68, 78, 97, 81, 84, 102, 89,
+ 97, 96, 113, 109, 102, 96, 82, 76, 94, 84, 87,
+ 96, 102, 104, 104, 105, 107, 111, 125, 117,
+ 125, 124, 121, 112, 122, 123, 70, 10, 2, 11,
+ 16, 16, 62, 27, 25, 68, 35, 62, 62, 62, 22, 9,
+ 0, 102, 126, 126, 126, 126, 126, 126, 66, 43,
+ 27, 18, 9, 14, 2, 66, 68, 65, 64, 5, 18, 9,
+ 28, 20, 11, 19, 20, 23, 24, 12, 26, 20, 64,
+ 12, 4, 74, 81, 88, 94, 122, 121, 108 },
+
+ {
+
+ 18,
+ 3, 83, 18, 3, 83, 20, 28, 28, 12, 72, 102, 71,
+ 0, 51, 14, 56, 72, 24, 31, 65, 85, 2, 101,
+ 118, 70, 87, 126, 126, 126, 62, 19, 70, 24,
+ 31, 65, 68, 19, 20, 72, 3, 0, 0, 73, 88, 71,
+ 94, 5, 67, 64, 69, 81, 72, 88, 17, 4, 1, 65,
+ 12, 2, 22, 0, 0, 0, 7, 98, 97, 12, 80, 71, 52,
+ 5, 69, 76, 0, 82, 10, 19, 17, 29, 8, 22, 17,
+ 12, 26, 72, 79, 74, 82, 36, 1, 24, 65, 2, 69,
+ 3, 26, 71, 79, 70, 67, 19, 67, 8, 4, 72, 9,
+ 68, 7, 12, 7, 15, 22, 19, 85, 71, 3, 67, 2,
+ 72, 10, 73, 65, 19, 71, 15, 17, 4, 110, 9, 71,
+ 103, 81, 104, 69, 8, 1, 11, 5, 5, 27, 7, 1,
+ 15, 26, 73, 72, 4, 113, 78, 8, 95, 0, 78, 21,
+ 1, 91, 33, 1, 65, 100, 36, 84, 102, 1, 108,
+ 72, 9, 14, 6, 9, 5, 67, 9, 16, 93, 75, 6, 2,
+ 1, 82, 74, 78, 84, 75, 83, 93, 77, 79, 124,
+ 96, 85, 102, 97, 89, 4, 14, 2, 65, 64, 76, 84,
+ 76, 92, 97, 88, 105, 117, 115, 126, 84, 84,
+ 100, 95, 101, 106, 111, 114, 119, 126, 121,
+ 126, 90, 118, 123, 104, 103, 1, 39, 28, 18, 7,
+ 5, 66, 66, 71, 64, 11, 51, 33, 25, 17, 47, 19,
+ 15, 4, 7, 7, 53, 33, 19, 10, 26, 11, 4, 2, 4,
+ 64, 39, 17, 8, 1, 16, 6, 64, 3, 9, 45, 27, 16,
+ 10, 31, 14, 13, 12, 8, 62, 75, 66, 8, 66, 68,
+ 1, 9, 10, 3, 10, 17, 24, 76, 71, 77, 74, 22,
+ 81, 82, 75, 65, 16, 96, 86, 6, 12, 92, 97, 91,
+ 68, 64, 15, 67, 2, 64, 5, 14, 78, 68, 67, 5,
+ 88, 73, 80, 78, 10, 101, 76, 4, 70, 21, 71,
+ 65, 32, 71, 74, 65, 27, 88, 79, 106, 12, 26,
+ 26, 13, 67, 13, 9, 2, 4, 1, 65, 68, 86, 91,
+ 98, 89, 84, 97, 120, 95, 92, 92, 87, 84, 71,
+ 70, 85, 96, 73, 73, 74, 70, 81, 100, 84, 87,
+ 105, 92, 100, 99, 116, 112, 104, 97, 84, 78,
+ 96, 86, 90, 99, 105, 107, 107, 107, 110, 114,
+ 126, 119, 126, 126, 123, 114, 124, 125, 69,
+ 11, 3, 11, 16, 16, 62, 27, 25, 68, 35, 62, 62,
+ 62, 22, 7, 65, 105, 126, 126, 126, 126, 126,
+ 126, 66, 43, 26, 17, 9, 14, 2, 67, 68, 65, 64,
+ 5, 18, 9, 29, 20, 11, 19, 20, 23, 24, 12, 26,
+ 20, 65, 10, 2, 76, 83, 90, 96, 125, 123, 109 },
+
+ {
+
+ 17,
+ 3, 83, 17, 3, 83, 22, 30, 29, 13, 72, 103, 72,
+ 64, 51, 14, 59, 72, 25, 32, 65, 85, 3, 102,
+ 119, 70, 88, 126, 126, 126, 62, 21, 70, 25,
+ 32, 65, 67, 21, 21, 72, 4, 1, 1, 73, 88, 70,
+ 94, 5, 66, 0, 69, 81, 71, 88, 18, 5, 2, 64,
+ 13, 2, 22, 0, 0, 0, 8, 98, 97, 13, 80, 71, 52,
+ 5, 69, 74, 1, 82, 11, 21, 19, 31, 10, 24, 19,
+ 14, 28, 70, 78, 73, 81, 37, 2, 25, 64, 3, 68,
+ 4, 28, 70, 78, 69, 65, 20, 66, 9, 6, 71, 10,
+ 67, 8, 13, 8, 16, 23, 20, 85, 71, 4, 67, 2,
+ 71, 10, 73, 65, 19, 71, 15, 17, 4, 111, 9, 71,
+ 104, 82, 104, 68, 9, 2, 12, 6, 6, 28, 8, 2,
+ 16, 28, 73, 72, 5, 114, 77, 9, 95, 1, 78, 22,
+ 2, 91, 34, 1, 65, 101, 37, 84, 103, 1, 108,
+ 73, 9, 14, 6, 9, 5, 67, 9, 16, 94, 75, 6, 2,
+ 1, 82, 74, 78, 84, 75, 83, 94, 77, 79, 125,
+ 97, 85, 103, 98, 89, 3, 13, 1, 66, 65, 78, 86,
+ 78, 94, 99, 90, 107, 119, 117, 126, 85, 85,
+ 101, 97, 103, 108, 113, 116, 121, 126, 123,
+ 126, 90, 119, 124, 104, 103, 2, 40, 29, 19, 8,
+ 5, 66, 65, 70, 0, 12, 52, 34, 26, 17, 48, 20,
+ 16, 5, 8, 8, 54, 34, 20, 11, 27, 12, 5, 3, 6,
+ 0, 41, 18, 9, 2, 17, 7, 0, 5, 10, 46, 28, 17,
+ 11, 32, 15, 14, 13, 9, 62, 74, 65, 9, 66, 67,
+ 1, 10, 11, 4, 11, 18, 25, 75, 71, 77, 74, 23,
+ 81, 82, 76, 65, 16, 97, 87, 6, 12, 92, 98, 91,
+ 67, 0, 16, 66, 3, 0, 6, 15, 78, 67, 66, 6, 88,
+ 72, 79, 77, 11, 101, 76, 5, 70, 22, 71, 65,
+ 33, 71, 74, 64, 28, 88, 79, 106, 12, 26, 26,
+ 13, 68, 13, 9, 2, 4, 1, 65, 68, 86, 92, 99,
+ 90, 85, 98, 121, 96, 93, 92, 87, 84, 70, 69,
+ 84, 96, 72, 75, 76, 72, 83, 102, 86, 89, 107,
+ 94, 102, 101, 118, 114, 105, 97, 85, 79, 97,
+ 87, 92, 101, 107, 109, 109, 109, 112, 116,
+ 126, 120, 126, 126, 124, 115, 125, 126, 67,
+ 13, 5, 12, 17, 17, 62, 28, 26, 68, 36, 62, 62,
+ 62, 23, 6, 66, 107, 126, 126, 126, 126, 126,
+ 126, 65, 44, 26, 17, 9, 15, 2, 67, 68, 64, 0,
+ 6, 19, 10, 31, 21, 12, 20, 21, 24, 25, 13, 27,
+ 21, 65, 9, 1, 77, 84, 91, 97, 126, 124, 109 },
+
+ {
+
+ 16,
+ 3, 83, 16, 3, 83, 24, 31, 29, 13, 72, 104, 73,
+ 65, 51, 14, 61, 72, 26, 33, 65, 86, 3, 103,
+ 120, 71, 90, 126, 126, 126, 62, 22, 70, 26,
+ 33, 65, 67, 22, 21, 73, 4, 1, 2, 73, 88, 70,
+ 94, 5, 66, 1, 69, 81, 71, 88, 18, 5, 2, 64,
+ 13, 2, 22, 0, 0, 0, 9, 98, 97, 13, 81, 71, 52,
+ 5, 69, 73, 2, 82, 11, 22, 21, 33, 11, 25, 21,
+ 15, 30, 69, 77, 72, 80, 38, 2, 26, 0, 3, 68,
+ 5, 30, 70, 78, 69, 64, 20, 66, 9, 7, 71, 11,
+ 67, 8, 13, 8, 17, 23, 20, 86, 71, 4, 67, 2,
+ 71, 10, 73, 66, 19, 72, 15, 17, 4, 113, 9, 71,
+ 106, 83, 105, 67, 10, 3, 13, 7, 7, 29, 9, 2,
+ 17, 29, 73, 72, 5, 115, 77, 10, 95, 1, 78, 23,
+ 2, 92, 35, 1, 65, 102, 38, 85, 104, 1, 109,
+ 75, 8, 13, 5, 8, 4, 68, 8, 16, 95, 76, 6, 2,
+ 1, 82, 75, 79, 85, 76, 84, 95, 78, 80, 126,
+ 98, 86, 104, 99, 89, 1, 12, 64, 68, 67, 80,
+ 88, 80, 97, 101, 92, 110, 122, 119, 126, 87,
+ 87, 103, 99, 105, 110, 115, 118, 123, 126,
+ 125, 126, 91, 121, 125, 105, 103, 2, 40, 29,
+ 19, 8, 5, 66, 65, 70, 1, 12, 52, 34, 26, 17,
+ 49, 20, 17, 5, 9, 9, 55, 35, 20, 11, 28, 12,
+ 5, 4, 7, 1, 42, 19, 9, 2, 18, 8, 1, 6, 10, 46,
+ 28, 17, 11, 33, 16, 15, 14, 10, 62, 74, 65, 9,
+ 66, 67, 1, 10, 11, 4, 11, 18, 26, 75, 71, 77,
+ 75, 23, 82, 83, 77, 66, 16, 98, 88, 6, 12, 93,
+ 99, 92, 66, 1, 17, 66, 3, 0, 7, 16, 78, 67,
+ 66, 6, 89, 72, 79, 77, 12, 101, 76, 5, 70, 23,
+ 71, 65, 34, 71, 74, 64, 29, 89, 79, 107, 11,
+ 26, 26, 12, 69, 12, 8, 1, 3, 0, 66, 69, 87,
+ 93, 100, 92, 86, 100, 123, 97, 94, 93, 88, 84,
+ 70, 69, 84, 97, 71, 77, 78, 74, 85, 105, 88,
+ 91, 110, 96, 104, 103, 120, 116, 106, 98, 87,
+ 81, 98, 89, 94, 103, 109, 111, 111, 111, 114,
+ 118, 126, 122, 126, 126, 125, 117, 126, 126,
+ 66, 14, 6, 13, 18, 18, 62, 29, 27, 68, 37, 62,
+ 62, 62, 24, 5, 68, 110, 126, 126, 126, 126,
+ 126, 126, 65, 44, 26, 17, 9, 15, 2, 67, 68, 0,
+ 1, 7, 20, 11, 32, 22, 13, 21, 22, 25, 26, 13,
+ 28, 21, 65, 8, 64, 79, 86, 93, 99, 126, 126,
+ 110 },
+
+ {
+
+ 15,
+ 3, 83, 15, 3, 83, 26, 33, 30, 13, 73, 106, 75,
+ 66, 51, 14, 62, 72, 27, 34, 65, 87, 3, 104,
+ 121, 71, 92, 126, 126, 126, 62, 23, 70, 27,
+ 34, 65, 66, 23, 22, 73, 4, 2, 3, 74, 89, 70,
+ 94, 5, 66, 1, 69, 81, 71, 88, 19, 5, 2, 64,
+ 14, 2, 22, 0, 0, 0, 9, 98, 97, 14, 82, 71, 52,
+ 5, 69, 72, 3, 82, 12, 23, 23, 35, 13, 26, 23,
+ 16, 32, 68, 76, 71, 79, 39, 2, 27, 1, 3, 67,
+ 5, 32, 70, 77, 68, 0, 20, 66, 10, 9, 70, 12,
+ 67, 8, 13, 8, 18, 24, 21, 86, 71, 4, 67, 2,
+ 71, 10, 74, 66, 19, 73, 15, 17, 4, 115, 9, 72,
+ 108, 84, 106, 66, 11, 4, 14, 8, 7, 30, 9, 3,
+ 18, 30, 73, 72, 5, 116, 76, 11, 95, 1, 78, 24,
+ 2, 93, 36, 1, 65, 103, 39, 85, 105, 1, 110,
+ 76, 7, 13, 4, 7, 3, 68, 7, 15, 96, 77, 6, 2,
+ 1, 83, 76, 80, 86, 77, 85, 96, 79, 80, 126,
+ 99, 86, 105, 100, 89, 0, 10, 65, 70, 69, 82,
+ 90, 82, 99, 104, 94, 112, 124, 122, 126, 89,
+ 89, 104, 101, 107, 113, 118, 120, 126, 126,
+ 126, 126, 92, 123, 126, 106, 103, 2, 41, 29,
+ 19, 8, 5, 66, 65, 70, 1, 12, 52, 34, 26, 17,
+ 50, 21, 17, 6, 9, 10, 56, 35, 21, 11, 29, 13,
+ 6, 4, 8, 2, 43, 20, 10, 2, 19, 9, 2, 7, 11,
+ 46, 28, 17, 11, 34, 16, 16, 15, 11, 62, 73,
+ 64, 10, 66, 67, 1, 10, 11, 4, 11, 18, 26, 75,
+ 71, 77, 75, 24, 83, 84, 78, 67, 16, 99, 89, 6,
+ 12, 93, 100, 92, 65, 2, 18, 65, 4, 1, 7, 17,
+ 78, 67, 66, 7, 89, 72, 79, 76, 13, 101, 76, 5,
+ 70, 24, 71, 65, 35, 71, 74, 64, 30, 90, 79,
+ 108, 10, 25, 25, 11, 70, 11, 7, 0, 2, 64, 67,
+ 70, 88, 94, 101, 93, 87, 101, 125, 99, 95, 94,
+ 88, 85, 70, 69, 84, 97, 70, 79, 80, 76, 87,
+ 108, 90, 93, 112, 98, 106, 105, 123, 118, 108,
+ 99, 89, 82, 100, 91, 96, 105, 111, 113, 113,
+ 113, 116, 120, 126, 124, 126, 126, 126, 119,
+ 126, 126, 65, 15, 7, 14, 19, 19, 62, 30, 28,
+ 68, 38, 62, 62, 62, 25, 3, 69, 112, 126, 126,
+ 126, 126, 126, 126, 65, 44, 26, 17, 9, 15, 2,
+ 67, 68, 0, 2, 8, 21, 12, 33, 22, 13, 22, 22,
+ 25, 26, 13, 28, 21, 65, 7, 65, 81, 88, 95,
+ 101, 126, 126, 111 },
+
+ },
+
+ };
- {
- {
- /* Context Tables for I, SI Slices :: qp = 0 */
-
- 124, 18, 21, 124, 18, 21, 125, 81, 20, 18,
- 24, 60, 122, 124, 108, 28, 109, 12, 29, 3,
- 2, 28, 19, 26, 1, 40, 124, 7, 53, 81,
- 125, 81, 7, 29, 3, 2, 45, 63, 4, 36,
- 11, 35, 65, 16, 7, 45, 49, 10, 25, 61,
- 18, 11, 35, 49, 7, 21, 21, 33, 17, 10,
- 44, 0, 0, 0, 39, 45, 67, 17, 44, 2,
- 104, 16, 11, 125, 77, 37, 21, 87, 125, 125,
- 125, 63, 125, 101, 125, 119, 103, 117, 103, 0,
- 9, 41, 81, 13, 59, 53, 125, 21, 67, 55,
- 125, 14, 37, 25, 123, 59, 47, 27, 15, 0,
- 9, 41, 2, 3, 4, 14, 5, 1, 4, 29,
- 26, 22, 56, 38, 50, 36, 34, 38, 92, 24,
- 26, 88, 60, 2, 89, 73, 75, 55, 61, 49,
- 41, 45, 39, 47, 61, 13, 17, 21, 8, 77,
- 73, 63, 23, 17, 23, 15, 34, 11, 2, 3,
- 52, 17, 12, 18, 2, 17, 124, 108, 76, 90,
- 108, 88, 52, 90, 68, 60, 66, 36, 10, 2,
- 4, 50, 36, 48, 42, 38, 36, 44, 28, 58,
- 42, 16, 24, 34, 51, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 92,
- 124, 120, 82, 124, 124, 124, 124, 120, 116, 124,
- 94, 82, 30, 52, 6, 9, 67, 15, 42, 26,
- 18, 2, 10, 0, 17, 21, 55, 7, 72, 48,
- 38, 34, 1, 9, 29, 27, 45, 57, 16, 6,
- 2, 3, 19, 25, 33, 49, 93, 67, 41, 31,
- 19, 21, 45, 65, 67, 107, 29, 60, 30, 20,
- 2, 15, 31, 45, 53, 67, 124, 59, 41, 31,
- 5, 15, 2, 6, 8, 23, 2, 10, 5, 31,
- 15, 9, 38, 2, 54, 46, 72, 68, 38, 54,
- 62, 42, 30, 2, 34, 1, 81, 67, 65, 49,
- 43, 43, 43, 49, 5, 27, 25, 25, 10, 25,
- 39, 71, 63, 63, 25, 21, 13, 23, 9, 3,
- 19, 2, 2, 9, 23, 16, 1, 13, 114, 88,
- 94, 98, 100, 104, 96, 94, 80, 80, 86, 74,
- 38, 46, 32, 92, 84, 82, 72, 68, 56, 26,
- 12, 0, 27, 37, 61, 11, 91, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 122, 100,
- 56, 10, 124, 124, 66, 124, 124, 124, 120, 124,
- 116, 104, 116, 102, 104, 68, 74, 48, 5, 84,
- 64, 26, 113, 97, 101, 43, 57, 51, 15, 35,
- 33, 9, 13, 14, 9, 26, 21, 124, 124, 124,
- 124, 120, 114, 58, 18, 37, 23, 80, 58, 40,
- 18, 16, 4, 1, 9, 57, 85, 67, 53, 53,
- 49, 19, 31, 45, 19, 13, 11, 5, 1, 10,
- 8, 124, 124, 124, 124, 120, 108, 86, 54, 7,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 1 */
-
- 124, 18, 21, 124, 18, 21, 123, 77, 22, 20,
- 24, 58, 120, 124, 108, 28, 103, 12, 27, 1,
- 2, 28, 17, 24, 3, 40, 124, 9, 55, 81,
- 121, 77, 7, 27, 1, 2, 43, 59, 6, 36,
- 9, 33, 63, 16, 7, 43, 49, 10, 23, 59,
- 18, 11, 33, 49, 5, 19, 19, 31, 15, 10,
- 44, 0, 0, 0, 37, 45, 67, 15, 44, 2,
- 104, 16, 11, 123, 75, 37, 19, 83, 123, 123,
- 123, 59, 123, 97, 123, 115, 101, 115, 101, 2,
- 7, 39, 79, 11, 57, 51, 123, 19, 65, 53,
- 123, 16, 35, 23, 119, 57, 45, 25, 13, 2,
- 7, 39, 4, 1, 4, 14, 3, 1, 4, 27,
- 26, 22, 56, 38, 50, 36, 34, 38, 90, 24,
- 26, 86, 58, 2, 87, 71, 73, 53, 59, 47,
- 39, 43, 37, 45, 57, 13, 17, 19, 6, 75,
- 71, 63, 21, 17, 21, 13, 34, 9, 2, 3,
- 50, 15, 12, 16, 2, 17, 124, 108, 76, 90,
- 108, 88, 52, 90, 68, 58, 66, 36, 10, 2,
- 4, 50, 36, 48, 42, 38, 34, 44, 28, 56,
- 40, 16, 22, 32, 51, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 120, 88,
- 124, 118, 80, 124, 124, 124, 124, 116, 112, 122,
- 90, 78, 30, 50, 4, 9, 67, 13, 44, 28,
- 20, 4, 10, 0, 15, 19, 53, 5, 74, 50,
- 40, 34, 0, 7, 27, 25, 43, 55, 18, 8,
- 4, 1, 17, 23, 31, 47, 89, 65, 37, 29,
- 17, 19, 43, 63, 65, 103, 27, 62, 32, 22,
- 4, 13, 29, 43, 51, 65, 124, 57, 39, 29,
- 5, 13, 2, 8, 10, 21, 4, 12, 3, 29,
- 15, 9, 38, 4, 54, 46, 70, 68, 38, 52,
- 60, 42, 30, 2, 32, 1, 79, 65, 63, 47,
- 41, 41, 41, 47, 5, 25, 23, 23, 10, 23,
- 37, 69, 61, 63, 25, 19, 13, 21, 9, 3,
- 17, 2, 2, 7, 21, 16, 1, 13, 114, 88,
- 94, 98, 98, 104, 96, 94, 80, 80, 86, 74,
- 38, 44, 30, 90, 82, 80, 70, 66, 54, 26,
- 12, 0, 25, 35, 59, 11, 89, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 122, 118, 96,
- 54, 10, 124, 124, 64, 124, 124, 124, 116, 124,
- 112, 100, 112, 98, 100, 66, 70, 46, 7, 82,
- 62, 24, 109, 93, 97, 41, 55, 49, 11, 33,
- 31, 9, 11, 18, 5, 30, 19, 124, 124, 124,
- 124, 116, 110, 54, 14, 39, 21, 82, 58, 40,
- 18, 18, 4, 1, 9, 55, 83, 65, 51, 51,
- 45, 17, 29, 43, 17, 11, 9, 3, 0, 12,
- 8, 124, 124, 124, 124, 118, 106, 82, 52, 7,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 2 */
-
- 124, 18, 21, 124, 18, 21, 119, 75, 22, 20,
- 24, 56, 118, 122, 108, 28, 99, 12, 25, 0,
- 2, 26, 17, 22, 5, 38, 120, 13, 57, 83,
- 115, 75, 7, 25, 0, 2, 43, 57, 6, 34,
- 9, 33, 61, 16, 7, 43, 49, 10, 23, 57,
- 18, 11, 33, 49, 5, 19, 19, 31, 15, 10,
- 44, 0, 0, 0, 35, 45, 67, 15, 42, 2,
- 104, 16, 11, 121, 73, 37, 19, 81, 119, 119,
- 121, 57, 119, 95, 119, 113, 99, 113, 99, 4,
- 7, 37, 77, 11, 57, 49, 119, 19, 65, 53,
- 121, 16, 35, 23, 117, 57, 43, 25, 13, 2,
- 7, 37, 4, 1, 2, 14, 3, 1, 4, 27,
- 26, 22, 54, 38, 48, 36, 34, 38, 86, 24,
- 26, 82, 56, 0, 85, 69, 71, 51, 57, 45,
- 37, 41, 37, 43, 55, 13, 17, 19, 4, 75,
- 69, 63, 21, 17, 19, 13, 32, 7, 2, 3,
- 48, 13, 10, 14, 2, 19, 120, 106, 74, 88,
- 106, 86, 50, 88, 68, 56, 64, 36, 10, 2,
- 4, 48, 34, 46, 40, 36, 32, 42, 26, 52,
- 38, 14, 20, 30, 51, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 116, 82,
- 124, 114, 76, 124, 124, 124, 124, 112, 108, 116,
- 86, 74, 28, 46, 2, 11, 67, 13, 44, 28,
- 20, 4, 10, 0, 15, 19, 51, 5, 74, 50,
- 40, 34, 2, 7, 25, 25, 41, 53, 20, 10,
- 4, 1, 15, 23, 31, 45, 87, 63, 35, 27,
- 17, 19, 41, 61, 63, 101, 27, 62, 32, 22,
- 4, 11, 27, 41, 49, 63, 124, 57, 39, 29,
- 5, 13, 2, 8, 10, 21, 4, 12, 1, 29,
- 15, 9, 36, 4, 52, 44, 68, 66, 38, 50,
- 58, 42, 30, 0, 30, 3, 77, 63, 61, 47,
- 41, 41, 39, 45, 5, 25, 23, 23, 8, 23,
- 37, 69, 59, 63, 25, 19, 13, 19, 9, 3,
- 15, 2, 2, 7, 19, 14, 1, 15, 112, 88,
- 94, 96, 96, 102, 94, 92, 78, 78, 84, 72,
- 36, 42, 28, 86, 80, 76, 66, 64, 52, 24,
- 10, 0, 25, 35, 59, 13, 87, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 118, 114, 92,
- 52, 8, 124, 120, 62, 124, 124, 124, 112, 120,
- 108, 96, 108, 94, 96, 62, 66, 42, 9, 78,
- 58, 20, 107, 91, 95, 39, 53, 47, 7, 31,
- 29, 9, 9, 20, 3, 32, 17, 124, 124, 124,
- 124, 110, 104, 48, 10, 41, 21, 82, 58, 40,
- 18, 18, 4, 1, 9, 53, 81, 63, 49, 49,
- 43, 15, 27, 41, 15, 9, 7, 3, 2, 12,
- 8, 124, 124, 124, 122, 114, 102, 78, 48, 9,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 3 */
-
- 124, 18, 21, 124, 18, 21, 115, 71, 24, 20,
- 22, 52, 114, 120, 108, 28, 95, 12, 23, 2,
- 2, 24, 17, 20, 7, 38, 116, 15, 59, 83,
- 109, 73, 7, 23, 2, 2, 41, 55, 8, 34,
- 9, 31, 59, 14, 9, 43, 49, 10, 23, 57,
- 18, 11, 33, 49, 3, 19, 19, 31, 13, 10,
- 44, 0, 0, 0, 35, 45, 67, 13, 40, 2,
- 104, 16, 11, 119, 71, 37, 17, 79, 115, 115,
- 117, 55, 115, 93, 115, 111, 97, 111, 97, 6,
- 7, 35, 75, 11, 55, 49, 115, 19, 63, 51,
- 119, 16, 35, 21, 113, 55, 41, 25, 13, 2,
- 7, 35, 6, 0, 2, 14, 3, 1, 4, 27,
- 26, 20, 54, 38, 46, 36, 34, 38, 82, 24,
- 24, 78, 54, 1, 83, 67, 69, 49, 55, 45,
- 35, 41, 35, 41, 53, 13, 17, 19, 2, 73,
- 67, 63, 21, 17, 17, 13, 30, 5, 2, 3,
- 46, 11, 10, 12, 2, 21, 118, 104, 74, 86,
- 104, 84, 50, 86, 66, 54, 62, 36, 10, 2,
- 2, 46, 32, 44, 38, 34, 30, 40, 26, 48,
- 36, 14, 18, 28, 51, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 110, 78,
- 124, 110, 74, 124, 122, 124, 118, 108, 102, 112,
- 82, 68, 26, 42, 0, 13, 67, 13, 46, 28,
- 20, 4, 10, 0, 15, 19, 51, 5, 74, 50,
- 40, 34, 4, 5, 25, 23, 41, 51, 22, 10,
- 6, 1, 13, 21, 29, 45, 85, 61, 33, 25,
- 15, 19, 39, 59, 61, 99, 25, 62, 32, 22,
- 4, 9, 27, 39, 47, 61, 124, 55, 37, 27,
- 5, 13, 2, 8, 10, 21, 4, 12, 1, 29,
- 15, 9, 36, 6, 50, 42, 66, 64, 38, 48,
- 56, 42, 30, 0, 28, 3, 75, 61, 59, 45,
- 39, 39, 39, 43, 5, 25, 23, 21, 8, 23,
- 37, 67, 57, 63, 25, 19, 13, 17, 9, 3,
- 13, 2, 2, 7, 17, 12, 1, 17, 110, 86,
- 92, 94, 94, 100, 92, 90, 76, 76, 82, 70,
- 34, 40, 26, 84, 78, 74, 62, 60, 50, 22,
- 10, 1, 25, 35, 59, 13, 85, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 114, 108, 88,
- 48, 6, 122, 118, 58, 124, 124, 120, 108, 116,
- 104, 92, 104, 90, 90, 58, 62, 38, 11, 74,
- 54, 18, 105, 89, 93, 37, 51, 45, 5, 29,
- 27, 9, 7, 24, 0, 36, 15, 124, 124, 124,
- 124, 104, 98, 42, 6, 43, 21, 82, 58, 40,
- 18, 18, 4, 1, 9, 53, 79, 61, 47, 47,
- 41, 15, 27, 39, 15, 9, 7, 3, 2, 12,
- 8, 124, 124, 124, 118, 110, 98, 74, 44, 11,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 4 */
-
- 124, 18, 21, 124, 18, 21, 113, 69, 24, 20,
- 22, 50, 112, 116, 108, 28, 89, 10, 21, 2,
- 2, 22, 17, 18, 9, 36, 112, 19, 61, 85,
- 103, 71, 7, 21, 2, 2, 41, 53, 8, 32,
- 9, 31, 59, 14, 9, 41, 49, 10, 23, 55,
- 16, 13, 33, 49, 3, 17, 19, 29, 13, 10,
- 44, 0, 0, 0, 33, 47, 67, 13, 38, 2,
- 104, 16, 11, 117, 69, 37, 17, 75, 113, 111,
- 115, 53, 113, 89, 111, 109, 97, 109, 97, 6,
- 7, 33, 73, 11, 55, 47, 111, 19, 63, 51,
- 117, 16, 33, 21, 111, 55, 41, 25, 11, 2,
- 7, 35, 6, 0, 0, 12, 3, 1, 4, 27,
- 26, 20, 52, 38, 46, 36, 34, 36, 78, 24,
- 24, 74, 52, 3, 81, 65, 67, 47, 55, 43,
- 33, 39, 35, 39, 51, 13, 17, 17, 0, 73,
- 65, 63, 21, 17, 17, 13, 28, 3, 2, 3,
- 42, 9, 8, 10, 2, 23, 114, 102, 72, 84,
- 102, 82, 48, 84, 66, 50, 60, 34, 10, 2,
- 2, 44, 32, 42, 38, 32, 28, 38, 24, 44,
- 34, 12, 16, 26, 51, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 118, 106, 72,
- 124, 108, 70, 124, 118, 124, 114, 102, 98, 106,
- 78, 64, 24, 40, 3, 15, 67, 13, 46, 30,
- 20, 4, 10, 0, 15, 19, 49, 3, 76, 50,
- 40, 34, 6, 5, 23, 23, 39, 51, 24, 12,
- 6, 1, 13, 21, 29, 43, 83, 61, 31, 25,
- 15, 19, 37, 57, 61, 97, 25, 64, 32, 22,
- 4, 7, 25, 39, 45, 59, 124, 55, 37, 27,
- 5, 13, 2, 8, 10, 19, 4, 12, 0, 29,
- 15, 9, 34, 6, 48, 40, 64, 62, 38, 44,
- 54, 40, 30, 1, 26, 5, 75, 61, 57, 45,
- 39, 39, 37, 41, 7, 25, 23, 21, 6, 23,
- 37, 67, 55, 63, 25, 17, 13, 17, 9, 3,
- 11, 2, 0, 7, 15, 12, 3, 19, 108, 86,
- 92, 92, 92, 98, 90, 88, 74, 74, 80, 68,
- 32, 38, 24, 80, 74, 70, 58, 58, 48, 20,
- 8, 1, 25, 35, 59, 15, 85, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 120, 110, 104, 84,
- 46, 4, 118, 114, 56, 124, 124, 116, 104, 110,
- 100, 88, 100, 86, 86, 54, 58, 34, 13, 70,
- 50, 14, 103, 87, 91, 37, 49, 43, 1, 27,
- 25, 9, 5, 26, 2, 38, 15, 124, 124, 124,
- 124, 98, 92, 36, 2, 45, 21, 82, 58, 40,
- 18, 18, 4, 1, 9, 51, 77, 59, 45, 47,
- 39, 13, 25, 37, 13, 7, 5, 1, 4, 14,
- 8, 124, 124, 124, 114, 106, 94, 70, 40, 13,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 5 */
-
- 124, 18, 21, 124, 18, 21, 109, 65, 24, 20,
- 20, 46, 108, 114, 108, 28, 85, 10, 19, 4,
- 2, 22, 15, 16, 11, 36, 108, 23, 63, 85,
- 97, 67, 7, 19, 4, 2, 41, 51, 8, 32,
- 9, 31, 57, 14, 11, 41, 49, 10, 23, 53,
- 16, 13, 33, 49, 1, 17, 17, 29, 11, 10,
- 44, 0, 0, 0, 33, 47, 67, 11, 36, 2,
- 104, 16, 11, 115, 67, 37, 15, 73, 109, 107,
- 111, 51, 109, 87, 107, 107, 95, 107, 95, 8,
- 7, 31, 71, 11, 53, 45, 107, 19, 63, 49,
- 113, 18, 33, 19, 109, 53, 39, 25, 11, 4,
- 5, 33, 8, 2, 0, 12, 3, 1, 4, 27,
- 26, 18, 50, 38, 44, 36, 34, 36, 74, 24,
- 22, 72, 50, 5, 79, 63, 65, 45, 53, 41,
- 31, 37, 33, 37, 49, 13, 17, 17, 1, 71,
- 63, 63, 19, 17, 15, 13, 26, 1, 2, 3,
- 40, 7, 8, 8, 2, 23, 112, 100, 72, 82,
- 100, 80, 46, 84, 66, 48, 58, 34, 10, 2,
- 0, 44, 30, 40, 36, 30, 26, 38, 22, 40,
- 32, 10, 14, 24, 51, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 114, 102, 68,
- 120, 104, 66, 124, 114, 120, 110, 98, 94, 100,
- 74, 58, 22, 36, 5, 15, 67, 13, 46, 30,
- 20, 4, 10, 0, 15, 19, 49, 3, 76, 50,
- 40, 34, 8, 3, 21, 23, 37, 49, 26, 14,
- 6, 0, 11, 19, 27, 43, 81, 59, 27, 23,
- 15, 17, 35, 55, 59, 95, 23, 64, 34, 22,
- 4, 5, 23, 37, 43, 57, 124, 55, 37, 25,
- 5, 13, 2, 8, 10, 19, 4, 14, 0, 29,
- 15, 9, 32, 8, 46, 38, 62, 62, 38, 42,
- 52, 40, 30, 3, 24, 5, 73, 59, 55, 43,
- 37, 37, 37, 39, 7, 25, 23, 21, 4, 23,
- 37, 65, 53, 63, 25, 17, 13, 15, 9, 3,
- 9, 2, 0, 7, 13, 10, 3, 19, 106, 86,
- 90, 92, 90, 96, 88, 86, 74, 72, 78, 66,
- 30, 36, 22, 78, 72, 68, 54, 56, 46, 18,
- 6, 3, 25, 33, 59, 15, 83, 124, 124, 124,
- 124, 124, 124, 124, 124, 120, 116, 106, 100, 80,
- 42, 2, 114, 110, 54, 122, 124, 112, 100, 106,
- 96, 84, 96, 82, 80, 50, 54, 30, 15, 66,
- 46, 12, 101, 83, 89, 35, 47, 41, 2, 25,
- 23, 9, 3, 30, 6, 42, 13, 124, 124, 124,
- 124, 94, 86, 32, 1, 47, 21, 82, 58, 40,
- 18, 18, 4, 1, 9, 51, 75, 57, 43, 45,
- 37, 11, 25, 35, 11, 5, 3, 1, 4, 14,
- 8, 124, 124, 124, 112, 102, 90, 66, 36, 15,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 6 */
-
- 124, 18, 23, 124, 18, 23, 105, 63, 26, 20,
- 20, 44, 106, 112, 108, 28, 81, 10, 19, 6,
- 2, 20, 15, 14, 13, 34, 106, 25, 65, 87,
- 91, 65, 7, 19, 6, 2, 39, 49, 10, 30,
- 7, 29, 55, 12, 11, 41, 49, 10, 21, 53,
- 16, 13, 31, 49, 1, 17, 17, 29, 11, 10,
- 44, 0, 0, 0, 31, 47, 67, 11, 36, 0,
- 104, 16, 11, 113, 67, 37, 15, 71, 105, 103,
- 109, 49, 105, 85, 103, 105, 93, 105, 93, 10,
- 7, 29, 71, 9, 53, 45, 103, 19, 61, 49,
- 111, 18, 33, 19, 105, 53, 37, 23, 11, 4,
- 5, 31, 8, 2, 1, 12, 3, 1, 4, 27,
- 26, 18, 50, 38, 42, 36, 34, 36, 70, 24,
- 22, 68, 48, 7, 79, 61, 65, 45, 51, 41,
- 29, 37, 33, 37, 45, 13, 17, 17, 3, 71,
- 61, 63, 19, 17, 13, 11, 24, 1, 2, 3,
- 38, 5, 6, 6, 2, 25, 108, 98, 70, 82,
- 98, 80, 46, 82, 64, 46, 56, 34, 10, 2,
- 0, 42, 28, 38, 34, 30, 24, 36, 22, 36,
- 30, 10, 12, 22, 51, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 108, 96, 62,
- 116, 100, 64, 124, 108, 114, 104, 94, 88, 96,
- 68, 54, 20, 32, 7, 17, 67, 11, 48, 30,
- 22, 4, 10, 0, 15, 19, 47, 3, 76, 52,
- 40, 34, 10, 3, 21, 21, 37, 47, 28, 14,
- 8, 0, 9, 19, 27, 41, 79, 57, 25, 21,
- 13, 17, 35, 55, 57, 91, 23, 64, 34, 22,
- 6, 5, 23, 35, 43, 55, 124, 53, 35, 25,
- 5, 13, 2, 8, 10, 19, 6, 14, 2, 29,
- 15, 11, 32, 8, 44, 36, 60, 60, 38, 40,
- 50, 40, 30, 3, 22, 7, 71, 57, 53, 43,
- 37, 37, 35, 39, 7, 23, 21, 19, 4, 23,
- 37, 65, 51, 63, 25, 17, 13, 13, 9, 3,
- 7, 0, 0, 7, 13, 8, 3, 21, 104, 84,
- 90, 90, 88, 96, 88, 84, 72, 72, 76, 64,
- 28, 34, 20, 74, 70, 64, 50, 52, 42, 16,
- 6, 3, 25, 33, 57, 17, 81, 124, 124, 124,
- 124, 124, 124, 124, 124, 116, 110, 102, 94, 76,
- 40, 2, 112, 108, 50, 118, 124, 108, 96, 102,
- 92, 80, 90, 78, 76, 46, 50, 28, 19, 62,
- 42, 8, 99, 81, 87, 33, 45, 39, 4, 23,
- 21, 9, 1, 32, 8, 44, 11, 124, 124, 124,
- 118, 88, 82, 26, 5, 51, 19, 82, 58, 40,
- 18, 18, 4, 1, 9, 49, 73, 57, 41, 43,
- 35, 11, 23, 33, 11, 5, 3, 1, 6, 14,
- 8, 124, 124, 122, 108, 100, 88, 60, 34, 17,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 7 */
-
- 124, 18, 23, 124, 18, 23, 101, 59, 26, 20,
- 18, 40, 102, 108, 108, 28, 75, 8, 17, 6,
- 2, 18, 15, 12, 15, 34, 102, 29, 67, 87,
- 85, 63, 7, 17, 6, 2, 39, 47, 10, 30,
- 7, 29, 55, 12, 13, 39, 49, 10, 21, 51,
- 14, 13, 31, 49, 0, 15, 17, 27, 9, 10,
- 44, 0, 0, 0, 31, 47, 67, 9, 34, 0,
- 104, 16, 11, 111, 65, 37, 13, 67, 103, 99,
- 105, 47, 103, 81, 99, 103, 91, 103, 93, 12,
- 7, 27, 69, 9, 51, 43, 99, 19, 61, 47,
- 109, 18, 31, 17, 103, 51, 37, 23, 9, 4,
- 5, 29, 10, 4, 1, 10, 3, 1, 4, 27,
- 26, 16, 48, 38, 42, 36, 34, 34, 66, 24,
- 20, 64, 46, 9, 77, 59, 63, 43, 49, 39,
- 27, 35, 31, 35, 43, 13, 17, 15, 5, 69,
- 59, 63, 19, 17, 13, 11, 22, 0, 2, 3,
- 34, 3, 6, 4, 2, 27, 106, 96, 70, 80,
- 96, 78, 44, 80, 64, 44, 54, 34, 10, 2,
- 1, 40, 28, 36, 34, 28, 22, 34, 20, 32,
- 28, 8, 10, 20, 51, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 120, 122, 104, 92, 58,
- 112, 98, 60, 124, 104, 110, 100, 88, 84, 90,
- 64, 48, 18, 30, 11, 19, 67, 11, 48, 32,
- 22, 4, 10, 0, 15, 19, 47, 1, 78, 52,
- 40, 34, 12, 1, 19, 21, 35, 45, 30, 16,
- 8, 0, 7, 17, 25, 41, 77, 57, 23, 21,
- 13, 17, 33, 53, 57, 89, 21, 66, 34, 22,
- 6, 3, 21, 33, 41, 53, 124, 53, 35, 23,
- 5, 13, 2, 8, 10, 17, 6, 14, 2, 29,
- 15, 11, 30, 10, 42, 34, 58, 58, 38, 38,
- 48, 38, 30, 5, 20, 7, 69, 57, 51, 41,
- 35, 35, 35, 37, 7, 23, 21, 19, 2, 23,
- 37, 63, 49, 63, 25, 15, 13, 13, 9, 3,
- 5, 0, 0, 7, 11, 8, 5, 23, 102, 84,
- 88, 88, 86, 94, 86, 82, 70, 70, 74, 62,
- 26, 32, 18, 72, 66, 62, 46, 50, 40, 14,
- 4, 5, 25, 33, 57, 17, 79, 124, 124, 124,
- 124, 124, 124, 124, 122, 112, 106, 98, 90, 72,
- 36, 0, 108, 104, 48, 114, 124, 104, 92, 98,
- 88, 76, 86, 74, 70, 42, 46, 24, 21, 58,
- 38, 6, 97, 79, 85, 33, 43, 37, 8, 21,
- 19, 9, 0, 36, 12, 48, 11, 124, 124, 122,
- 112, 82, 76, 20, 9, 53, 19, 82, 58, 40,
- 18, 18, 4, 1, 9, 49, 71, 55, 39, 41,
- 33, 9, 23, 31, 9, 3, 1, 0, 6, 16,
- 8, 124, 124, 118, 104, 96, 84, 56, 30, 19,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 8 */
-
- 124, 16, 23, 124, 16, 23, 99, 57, 26, 20,
- 18, 38, 100, 106, 108, 28, 71, 8, 15, 8,
- 2, 16, 15, 10, 19, 32, 98, 33, 69, 89,
- 81, 61, 7, 15, 8, 2, 39, 45, 10, 28,
- 7, 29, 53, 10, 13, 39, 51, 10, 21, 51,
- 14, 15, 31, 49, 0, 15, 17, 27, 9, 10,
- 44, 0, 0, 0, 29, 49, 67, 9, 32, 0,
- 104, 16, 11, 109, 63, 37, 13, 65, 99, 95,
- 103, 45, 99, 79, 97, 101, 91, 101, 91, 12,
- 7, 25, 67, 9, 51, 43, 97, 19, 61, 47,
- 107, 18, 31, 17, 101, 51, 35, 23, 9, 4,
- 5, 29, 10, 4, 3, 10, 3, 1, 4, 27,
- 26, 16, 46, 38, 40, 36, 34, 34, 62, 24,
- 20, 60, 44, 11, 75, 57, 61, 41, 49, 39,
- 25, 35, 31, 33, 41, 13, 17, 15, 9, 69,
- 57, 63, 19, 19, 11, 11, 20, 2, 2, 3,
- 32, 1, 4, 2, 2, 29, 102, 94, 68, 78,
- 94, 76, 42, 78, 62, 40, 52, 32, 10, 2,
- 1, 38, 26, 34, 32, 26, 20, 32, 18, 28,
- 24, 6, 8, 18, 51, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 122, 116, 116, 98, 86, 52,
- 108, 94, 56, 122, 100, 104, 94, 84, 78, 84,
- 60, 44, 16, 26, 13, 21, 69, 11, 48, 32,
- 22, 4, 10, 0, 15, 19, 45, 1, 78, 52,
- 40, 34, 14, 1, 19, 21, 35, 45, 32, 16,
- 8, 0, 7, 17, 25, 39, 75, 55, 21, 19,
- 13, 17, 31, 51, 55, 87, 21, 66, 34, 22,
- 6, 1, 21, 33, 39, 53, 124, 53, 35, 23,
- 5, 13, 2, 8, 10, 17, 6, 14, 4, 29,
- 15, 11, 28, 10, 40, 32, 56, 56, 38, 34,
- 44, 38, 30, 7, 18, 9, 69, 55, 49, 41,
- 35, 35, 33, 35, 9, 23, 21, 19, 0, 23,
- 37, 63, 49, 65, 25, 15, 13, 11, 9, 3,
- 5, 0, 1, 7, 9, 6, 5, 25, 100, 82,
- 88, 86, 82, 92, 84, 80, 68, 68, 72, 60,
- 24, 30, 16, 68, 64, 58, 42, 46, 38, 12,
- 2, 5, 25, 33, 57, 19, 79, 124, 124, 124,
- 124, 124, 124, 122, 116, 108, 102, 94, 84, 68,
- 34, 1, 104, 100, 44, 110, 122, 98, 86, 92,
- 82, 72, 82, 68, 66, 38, 40, 20, 23, 54,
- 34, 2, 95, 77, 83, 31, 41, 37, 10, 19,
- 19, 9, 0, 38, 14, 50, 9, 124, 124, 116,
- 106, 76, 70, 14, 13, 55, 19, 82, 58, 40,
- 18, 18, 4, 1, 9, 47, 71, 53, 37, 41,
- 31, 9, 21, 31, 9, 3, 1, 0, 8, 16,
- 6, 124, 124, 114, 100, 92, 80, 52, 26, 21,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 9 */
-
- 124, 16, 23, 124, 16, 23, 95, 55, 28, 20,
- 18, 36, 98, 104, 108, 28, 67, 8, 13, 10,
- 2, 16, 13, 8, 21, 30, 94, 35, 71, 91,
- 75, 57, 7, 13, 10, 2, 37, 43, 12, 26,
- 7, 27, 51, 10, 13, 39, 51, 10, 21, 49,
- 14, 15, 31, 49, 0, 15, 15, 27, 9, 10,
- 44, 0, 0, 0, 27, 49, 67, 9, 30, 0,
- 104, 16, 11, 107, 61, 37, 13, 63, 95, 91,
- 99, 41, 95, 77, 93, 99, 89, 99, 89, 14,
- 5, 23, 65, 9, 49, 41, 93, 19, 59, 47,
- 103, 20, 31, 17, 97, 51, 33, 23, 9, 6,
- 3, 27, 10, 4, 3, 10, 1, 1, 4, 25,
- 26, 16, 46, 38, 38, 36, 34, 34, 58, 24,
- 20, 58, 42, 11, 73, 55, 59, 39, 47, 37,
- 23, 33, 31, 31, 39, 13, 17, 15, 11, 67,
- 55, 63, 17, 19, 9, 11, 18, 4, 2, 3,
- 30, 0, 2, 0, 2, 29, 100, 92, 68, 76,
- 92, 74, 42, 78, 62, 38, 50, 32, 10, 2,
- 1, 38, 24, 32, 30, 24, 18, 32, 18, 26,
- 22, 6, 6, 16, 51, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 118, 112, 112, 92, 82, 46,
- 106, 90, 54, 118, 96, 100, 90, 80, 74, 80,
- 56, 40, 16, 22, 15, 21, 69, 11, 50, 32,
- 22, 6, 10, 0, 13, 19, 43, 1, 78, 52,
- 42, 34, 16, 0, 17, 19, 33, 43, 34, 18,
- 10, 2, 5, 15, 25, 37, 73, 53, 17, 17,
- 11, 15, 29, 49, 53, 85, 19, 66, 36, 24,
- 6, 0, 19, 31, 37, 51, 124, 51, 33, 21,
- 5, 13, 2, 10, 12, 17, 6, 16, 6, 29,
- 15, 11, 28, 10, 38, 32, 54, 56, 38, 32,
- 42, 38, 30, 7, 16, 11, 67, 53, 47, 41,
- 33, 35, 31, 33, 9, 23, 21, 17, 0, 23,
- 37, 63, 47, 65, 25, 15, 13, 9, 9, 3,
- 3, 0, 1, 7, 7, 4, 5, 25, 98, 82,
- 88, 86, 80, 90, 82, 78, 68, 66, 70, 60,
- 24, 28, 14, 66, 62, 54, 38, 44, 36, 12,
- 2, 5, 23, 31, 57, 21, 77, 124, 124, 124,
- 124, 124, 124, 118, 112, 104, 98, 90, 80, 64,
- 32, 3, 100, 98, 42, 106, 118, 94, 82, 88,
- 78, 68, 78, 64, 62, 36, 36, 16, 25, 50,
- 30, 1, 93, 73, 79, 29, 39, 35, 14, 17,
- 17, 9, 2, 42, 16, 54, 7, 124, 124, 112,
- 100, 72, 64, 10, 17, 57, 19, 82, 58, 40,
- 18, 20, 4, 1, 9, 45, 69, 51, 35, 39,
- 27, 7, 19, 29, 7, 1, 0, 0, 10, 16,
- 6, 124, 122, 112, 98, 88, 76, 48, 22, 21,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 10 */
-
- 124, 16, 23, 124, 16, 23, 91, 51, 28, 20,
- 16, 32, 94, 100, 108, 28, 61, 6, 11, 10,
- 2, 14, 13, 6, 23, 30, 90, 39, 73, 91,
- 69, 55, 7, 11, 10, 2, 37, 41, 12, 26,
- 7, 27, 51, 10, 15, 37, 51, 10, 21, 47,
- 12, 15, 31, 49, 2, 13, 15, 25, 7, 10,
- 44, 0, 0, 0, 27, 49, 67, 7, 28, 0,
- 104, 16, 11, 105, 59, 37, 11, 59, 93, 87,
- 97, 39, 93, 73, 89, 97, 87, 97, 89, 16,
- 5, 21, 63, 9, 49, 39, 89, 19, 59, 45,
- 101, 20, 29, 15, 95, 49, 33, 23, 7, 6,
- 3, 25, 12, 6, 5, 8, 1, 1, 4, 25,
- 26, 14, 44, 38, 38, 36, 34, 32, 54, 24,
- 18, 54, 40, 13, 71, 53, 57, 37, 45, 35,
- 21, 31, 29, 29, 37, 13, 17, 13, 13, 67,
- 53, 63, 17, 19, 9, 11, 16, 6, 2, 3,
- 26, 2, 2, 1, 2, 31, 96, 90, 66, 74,
- 90, 72, 40, 76, 62, 36, 48, 32, 10, 2,
- 3, 36, 24, 30, 30, 22, 16, 30, 16, 22,
- 20, 4, 4, 14, 51, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 114, 108, 106, 88, 78, 42,
- 102, 88, 50, 112, 92, 96, 86, 74, 70, 74,
- 52, 34, 14, 20, 19, 23, 69, 11, 50, 34,
- 22, 6, 10, 0, 13, 19, 43, 0, 80, 52,
- 42, 34, 18, 0, 15, 19, 31, 41, 36, 20,
- 10, 2, 3, 15, 23, 37, 71, 53, 15, 17,
- 11, 15, 27, 47, 53, 83, 19, 68, 36, 24,
- 6, 2, 17, 29, 35, 49, 124, 51, 33, 21,
- 5, 13, 2, 10, 12, 15, 6, 16, 6, 29,
- 15, 11, 26, 12, 36, 30, 52, 54, 38, 30,
- 40, 36, 30, 9, 14, 11, 65, 53, 45, 39,
- 33, 33, 31, 31, 9, 23, 21, 17, 1, 23,
- 37, 61, 45, 65, 25, 13, 13, 9, 9, 3,
- 1, 0, 1, 7, 5, 4, 7, 27, 96, 82,
- 86, 84, 78, 88, 80, 76, 66, 64, 68, 58,
- 22, 26, 12, 62, 58, 52, 34, 42, 34, 10,
- 0, 7, 23, 31, 57, 21, 75, 124, 124, 124,
- 124, 124, 120, 114, 106, 100, 94, 86, 76, 60,
- 28, 5, 96, 94, 40, 102, 114, 90, 78, 84,
- 74, 64, 74, 60, 56, 32, 32, 12, 27, 46,
- 26, 3, 91, 71, 77, 29, 37, 33, 18, 15,
- 15, 9, 4, 44, 20, 56, 7, 124, 120, 106,
- 94, 66, 58, 4, 21, 59, 19, 82, 58, 40,
- 18, 20, 4, 1, 9, 45, 67, 49, 33, 37,
- 25, 5, 19, 27, 5, 0, 2, 2, 10, 18,
- 6, 120, 118, 108, 94, 84, 72, 44, 18, 23,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 11 */
-
- 124, 16, 25, 124, 16, 25, 87, 49, 30, 20,
- 16, 30, 92, 98, 108, 28, 57, 6, 11, 12,
- 2, 12, 13, 4, 25, 28, 88, 41, 75, 93,
- 63, 53, 7, 11, 12, 2, 35, 39, 14, 24,
- 5, 25, 49, 8, 15, 37, 51, 10, 19, 47,
- 12, 15, 29, 49, 2, 13, 15, 25, 7, 10,
- 44, 0, 0, 0, 25, 49, 67, 7, 28, 1,
- 104, 16, 11, 103, 59, 37, 11, 57, 89, 83,
- 93, 37, 89, 71, 85, 95, 85, 95, 87, 18,
- 5, 19, 63, 7, 47, 39, 85, 19, 57, 45,
- 99, 20, 29, 15, 91, 49, 31, 21, 7, 6,
- 3, 23, 12, 6, 5, 8, 1, 1, 4, 25,
- 26, 14, 44, 38, 36, 36, 34, 32, 50, 24,
- 18, 50, 38, 15, 71, 51, 57, 37, 43, 35,
- 19, 31, 29, 29, 33, 13, 17, 13, 15, 65,
- 51, 63, 17, 19, 7, 9, 14, 6, 2, 3,
- 24, 4, 0, 3, 2, 33, 94, 88, 66, 74,
- 88, 72, 40, 74, 60, 34, 46, 32, 10, 2,
- 3, 34, 22, 28, 28, 22, 14, 28, 16, 18,
- 18, 4, 2, 12, 51, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 108, 104, 102, 82, 72, 36,
- 98, 84, 48, 108, 86, 90, 80, 70, 64, 70,
- 46, 30, 12, 16, 21, 25, 69, 9, 52, 34,
- 24, 6, 10, 0, 13, 19, 41, 0, 80, 54,
- 42, 34, 20, 2, 15, 17, 31, 39, 38, 20,
- 12, 2, 1, 13, 23, 35, 69, 51, 13, 15,
- 9, 15, 27, 47, 51, 79, 17, 68, 36, 24,
- 8, 2, 17, 27, 35, 47, 124, 49, 31, 19,
- 5, 13, 2, 10, 12, 15, 8, 16, 8, 29,
- 15, 13, 26, 12, 34, 28, 50, 52, 38, 28,
- 38, 36, 30, 9, 12, 13, 63, 51, 43, 39,
- 31, 33, 29, 31, 9, 21, 19, 15, 1, 23,
- 37, 61, 43, 65, 25, 13, 13, 7, 9, 3,
- 0, 1, 1, 7, 5, 2, 7, 29, 94, 80,
- 86, 82, 76, 88, 80, 74, 64, 64, 66, 56,
- 20, 24, 10, 60, 56, 48, 30, 38, 30, 8,
- 0, 7, 23, 31, 55, 23, 73, 124, 124, 124,
- 124, 124, 116, 110, 102, 96, 88, 82, 70, 56,
- 26, 5, 94, 92, 36, 98, 108, 86, 74, 80,
- 70, 60, 68, 56, 52, 28, 28, 10, 31, 42,
- 22, 7, 89, 69, 75, 27, 35, 31, 20, 13,
- 13, 9, 6, 48, 22, 60, 5, 122, 118, 102,
- 88, 60, 54, 1, 25, 63, 17, 82, 58, 40,
- 18, 20, 4, 1, 9, 43, 65, 49, 31, 35,
- 23, 5, 17, 25, 5, 0, 2, 2, 12, 18,
- 6, 118, 116, 104, 90, 82, 70, 38, 16, 25,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 12 */
-
- 124, 16, 25, 124, 16, 25, 85, 45, 30, 20,
- 14, 26, 88, 96, 108, 28, 53, 6, 9, 14,
- 2, 10, 13, 2, 27, 28, 84, 45, 77, 93,
- 57, 51, 7, 9, 14, 2, 35, 37, 14, 24,
- 5, 25, 47, 8, 17, 37, 51, 10, 19, 45,
- 12, 17, 29, 49, 4, 13, 15, 25, 5, 10,
- 44, 0, 0, 0, 25, 51, 67, 5, 26, 1,
- 104, 16, 11, 101, 57, 37, 9, 55, 85, 79,
- 91, 35, 85, 69, 81, 93, 85, 93, 85, 18,
- 5, 17, 61, 7, 47, 37, 81, 19, 57, 43,
- 97, 20, 29, 13, 89, 47, 29, 21, 7, 6,
- 3, 23, 14, 8, 7, 8, 1, 1, 4, 25,
- 26, 12, 42, 38, 34, 36, 34, 32, 46, 24,
- 16, 46, 36, 17, 69, 49, 55, 35, 43, 33,
- 17, 29, 27, 27, 31, 13, 17, 13, 17, 65,
- 49, 63, 17, 19, 5, 9, 12, 8, 2, 3,
- 22, 6, 0, 5, 2, 35, 90, 86, 64, 72,
- 86, 70, 38, 72, 60, 30, 44, 30, 10, 2,
- 5, 32, 20, 26, 26, 20, 12, 26, 14, 14,
- 16, 2, 0, 10, 51, 124, 124, 122, 124, 124,
- 124, 124, 124, 122, 104, 100, 96, 78, 68, 32,
- 94, 80, 44, 104, 82, 86, 76, 66, 60, 64,
- 42, 24, 10, 12, 23, 27, 69, 9, 52, 34,
- 24, 6, 10, 0, 13, 19, 41, 0, 80, 54,
- 42, 34, 22, 2, 13, 17, 29, 39, 40, 22,
- 12, 2, 1, 13, 21, 35, 67, 49, 11, 13,
- 9, 15, 25, 45, 49, 77, 17, 68, 36, 24,
- 8, 4, 15, 27, 33, 45, 124, 49, 31, 19,
- 5, 13, 2, 10, 12, 15, 8, 16, 8, 29,
- 15, 13, 24, 14, 32, 26, 48, 50, 38, 24,
- 36, 36, 30, 11, 10, 13, 63, 49, 41, 37,
- 31, 31, 29, 29, 11, 21, 19, 15, 3, 23,
- 37, 59, 41, 65, 25, 13, 13, 5, 9, 3,
- 2, 1, 3, 7, 3, 0, 7, 31, 92, 80,
- 84, 80, 74, 86, 78, 72, 62, 62, 64, 54,
- 18, 22, 8, 56, 54, 46, 26, 36, 28, 6,
- 1, 9, 23, 31, 55, 23, 73, 124, 124, 124,
- 124, 124, 112, 106, 96, 92, 84, 78, 66, 52,
- 22, 7, 90, 88, 34, 94, 104, 82, 70, 74,
- 66, 56, 64, 52, 46, 24, 24, 6, 33, 38,
- 18, 9, 87, 67, 73, 25, 33, 29, 24, 11,
- 11, 9, 8, 50, 26, 62, 3, 118, 114, 96,
- 82, 54, 48, 7, 29, 65, 17, 82, 58, 40,
- 18, 20, 4, 1, 9, 43, 63, 47, 29, 35,
- 21, 3, 17, 23, 3, 2, 4, 2, 12, 18,
- 6, 116, 112, 100, 86, 78, 66, 34, 12, 27,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 13 */
-
- 124, 16, 25, 124, 16, 25, 81, 43, 30, 20,
- 14, 24, 86, 92, 108, 28, 47, 4, 7, 14,
- 2, 10, 11, 0, 29, 26, 80, 49, 79, 95,
- 51, 47, 7, 7, 14, 2, 35, 35, 14, 22,
- 5, 25, 47, 8, 17, 35, 51, 10, 19, 43,
- 10, 17, 29, 49, 4, 11, 13, 23, 5, 10,
- 44, 0, 0, 0, 23, 51, 67, 5, 24, 1,
- 104, 16, 11, 99, 55, 37, 9, 51, 83, 75,
- 87, 33, 83, 65, 77, 91, 83, 91, 85, 20,
- 5, 15, 59, 7, 45, 35, 77, 19, 57, 43,
- 93, 22, 27, 13, 87, 47, 29, 21, 5, 8,
- 1, 21, 14, 8, 7, 6, 1, 1, 4, 25,
- 26, 12, 40, 38, 34, 36, 34, 30, 42, 24,
- 16, 44, 34, 19, 67, 47, 53, 33, 41, 31,
- 15, 27, 27, 25, 29, 13, 17, 11, 19, 63,
- 47, 63, 15, 19, 5, 9, 10, 10, 2, 3,
- 18, 8, 1, 7, 2, 35, 88, 84, 64, 70,
- 84, 68, 36, 72, 60, 28, 42, 30, 10, 2,
- 5, 32, 20, 24, 26, 18, 10, 26, 12, 10,
- 14, 0, 1, 8, 51, 122, 124, 118, 124, 122,
- 120, 120, 120, 118, 100, 96, 92, 72, 64, 26,
- 90, 78, 40, 98, 78, 82, 72, 60, 56, 58,
- 38, 20, 8, 10, 27, 27, 69, 9, 52, 36,
- 24, 6, 10, 0, 13, 19, 39, 2, 82, 54,
- 42, 34, 24, 4, 11, 17, 27, 37, 42, 24,
- 12, 4, 0, 11, 21, 33, 65, 49, 7, 13,
- 9, 13, 23, 43, 49, 75, 15, 70, 38, 24,
- 8, 6, 13, 25, 31, 43, 124, 49, 31, 17,
- 5, 13, 2, 10, 12, 13, 8, 18, 10, 29,
- 15, 13, 22, 14, 30, 24, 46, 50, 38, 22,
- 34, 34, 30, 13, 8, 15, 61, 49, 39, 37,
- 29, 31, 27, 27, 11, 21, 19, 15, 5, 23,
- 37, 59, 39, 65, 25, 11, 13, 5, 9, 3,
- 4, 1, 3, 7, 1, 0, 9, 31, 90, 80,
- 84, 80, 72, 84, 76, 70, 62, 60, 62, 52,
- 16, 20, 6, 54, 50, 42, 22, 34, 26, 4,
- 3, 9, 23, 29, 55, 25, 71, 124, 124, 124,
- 124, 120, 108, 102, 92, 88, 80, 74, 62, 48,
- 20, 9, 86, 84, 32, 90, 100, 78, 66, 70,
- 62, 52, 60, 48, 42, 20, 20, 2, 35, 34,
- 14, 13, 85, 63, 71, 25, 31, 27, 28, 9,
- 9, 9, 10, 54, 28, 66, 3, 116, 110, 92,
- 76, 50, 42, 11, 33, 67, 17, 82, 58, 40,
- 18, 20, 4, 1, 9, 41, 61, 45, 27, 33,
- 19, 1, 15, 21, 1, 4, 6, 4, 14, 20,
- 6, 112, 110, 98, 84, 74, 62, 30, 8, 29,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 14 */
-
- 122, 16, 25, 122, 16, 25, 77, 39, 32, 20,
- 12, 20, 82, 90, 108, 28, 43, 4, 5, 16,
- 2, 8, 11, 1, 31, 26, 76, 51, 81, 95,
- 45, 45, 7, 5, 16, 2, 33, 33, 16, 22,
- 5, 23, 45, 6, 19, 35, 51, 10, 19, 43,
- 10, 17, 29, 49, 6, 11, 13, 23, 3, 10,
- 44, 0, 0, 0, 23, 51, 67, 3, 22, 1,
- 104, 16, 11, 97, 53, 37, 7, 49, 79, 71,
- 85, 31, 79, 63, 73, 89, 81, 89, 83, 22,
- 5, 13, 57, 7, 45, 35, 73, 19, 55, 41,
- 91, 22, 27, 11, 83, 45, 27, 21, 5, 8,
- 1, 19, 16, 10, 9, 6, 1, 1, 4, 25,
- 26, 10, 40, 38, 32, 36, 34, 30, 38, 24,
- 14, 40, 32, 21, 65, 45, 51, 31, 39, 31,
- 13, 27, 25, 23, 27, 13, 17, 11, 21, 63,
- 45, 63, 15, 19, 3, 9, 8, 12, 2, 3,
- 16, 10, 1, 9, 2, 37, 84, 82, 62, 68,
- 82, 66, 36, 70, 58, 26, 40, 30, 10, 2,
- 7, 30, 18, 22, 24, 16, 8, 24, 12, 6,
- 12, 0, 3, 6, 51, 120, 122, 116, 124, 118,
- 116, 116, 116, 112, 94, 92, 86, 68, 58, 22,
- 86, 74, 38, 94, 74, 76, 66, 56, 50, 54,
- 34, 14, 6, 6, 29, 29, 69, 9, 54, 36,
- 24, 6, 10, 0, 13, 19, 39, 2, 82, 54,
- 42, 34, 26, 4, 11, 15, 27, 35, 44, 24,
- 14, 4, 2, 11, 19, 33, 63, 47, 5, 11,
- 7, 13, 21, 41, 47, 73, 15, 70, 38, 24,
- 8, 8, 13, 23, 29, 41, 124, 47, 29, 17,
- 5, 13, 2, 10, 12, 13, 8, 18, 10, 29,
- 15, 13, 22, 16, 28, 22, 44, 48, 38, 20,
- 32, 34, 30, 13, 6, 15, 59, 47, 37, 35,
- 29, 29, 27, 25, 11, 21, 19, 13, 5, 23,
- 37, 57, 37, 65, 25, 11, 13, 3, 9, 3,
- 6, 1, 3, 7, 0, 1, 9, 33, 88, 78,
- 82, 78, 70, 82, 74, 68, 60, 58, 60, 50,
- 14, 18, 4, 50, 48, 40, 18, 30, 24, 2,
- 3, 11, 23, 29, 55, 25, 69, 124, 124, 122,
- 122, 114, 104, 98, 86, 84, 76, 70, 56, 44,
- 16, 11, 82, 82, 28, 86, 96, 74, 62, 66,
- 58, 48, 56, 44, 36, 16, 16, 1, 37, 30,
- 10, 15, 83, 61, 69, 23, 29, 25, 30, 7,
- 7, 9, 12, 56, 32, 68, 1, 112, 108, 86,
- 70, 44, 36, 17, 37, 69, 17, 82, 58, 40,
- 18, 20, 4, 1, 9, 41, 59, 43, 25, 31,
- 17, 1, 15, 19, 1, 4, 6, 4, 14, 20,
- 6, 110, 106, 94, 80, 70, 58, 26, 4, 31,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 15 */
-
- 120, 16, 25, 120, 16, 25, 73, 37, 32, 20,
- 12, 18, 80, 88, 108, 28, 39, 4, 3, 18,
- 2, 6, 11, 3, 33, 24, 72, 55, 83, 97,
- 39, 43, 7, 3, 18, 2, 33, 31, 16, 20,
- 5, 23, 43, 6, 19, 35, 51, 10, 19, 41,
- 10, 17, 29, 49, 6, 11, 13, 23, 3, 10,
- 44, 0, 0, 0, 21, 51, 67, 3, 20, 1,
- 104, 16, 11, 95, 51, 37, 7, 47, 75, 67,
- 81, 29, 75, 61, 69, 87, 79, 87, 81, 24,
- 5, 11, 55, 7, 43, 33, 69, 19, 55, 41,
- 89, 22, 27, 11, 81, 45, 25, 21, 5, 8,
- 1, 17, 16, 10, 9, 6, 1, 1, 4, 25,
- 26, 10, 38, 38, 30, 36, 34, 30, 34, 24,
- 14, 36, 30, 23, 63, 43, 49, 29, 37, 29,
- 11, 25, 25, 21, 25, 13, 17, 11, 23, 61,
- 43, 63, 15, 19, 1, 9, 6, 14, 2, 3,
- 14, 12, 3, 11, 2, 39, 82, 80, 62, 66,
- 80, 64, 34, 68, 58, 24, 38, 30, 10, 2,
- 7, 28, 16, 20, 22, 14, 6, 22, 10, 2,
- 10, 1, 5, 4, 51, 116, 120, 112, 120, 114,
- 112, 112, 112, 108, 90, 88, 82, 62, 54, 16,
- 82, 70, 34, 90, 70, 72, 62, 52, 46, 48,
- 30, 10, 4, 2, 31, 31, 69, 9, 54, 36,
- 24, 6, 10, 0, 13, 19, 37, 2, 82, 54,
- 42, 34, 28, 6, 9, 15, 25, 33, 46, 26,
- 14, 4, 4, 9, 19, 31, 61, 45, 3, 9,
- 7, 13, 19, 39, 45, 71, 13, 70, 38, 24,
- 8, 10, 11, 21, 27, 39, 124, 47, 29, 15,
- 5, 13, 2, 10, 12, 13, 8, 18, 12, 29,
- 15, 13, 20, 16, 26, 20, 42, 46, 38, 18,
- 30, 34, 30, 15, 4, 17, 57, 45, 35, 35,
- 27, 29, 25, 23, 11, 21, 19, 13, 7, 23,
- 37, 57, 35, 65, 25, 11, 13, 1, 9, 3,
- 8, 1, 3, 7, 2, 3, 9, 35, 86, 78,
- 82, 76, 68, 80, 72, 66, 58, 56, 58, 48,
- 12, 16, 2, 48, 46, 36, 14, 28, 22, 0,
- 5, 11, 23, 29, 55, 27, 67, 124, 124, 118,
- 118, 108, 100, 94, 82, 80, 72, 66, 52, 40,
- 14, 13, 78, 78, 26, 82, 92, 70, 58, 62,
- 54, 44, 52, 40, 32, 12, 12, 5, 39, 26,
- 6, 19, 81, 59, 67, 21, 27, 23, 34, 5,
- 5, 9, 14, 60, 34, 72, 0, 110, 104, 82,
- 64, 38, 30, 23, 41, 71, 17, 82, 58, 40,
- 18, 20, 4, 1, 9, 39, 57, 41, 23, 29,
- 15, 0, 13, 17, 0, 6, 8, 4, 16, 20,
- 6, 108, 104, 90, 76, 66, 54, 22, 0, 33,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 16 */
-
- 116, 14, 27, 116, 14, 27, 71, 35, 32, 20,
- 10, 14, 76, 84, 106, 28, 35, 2, 3, 18,
- 0, 4, 11, 7, 37, 22, 68, 59, 85, 99,
- 35, 41, 9, 3, 18, 0, 33, 29, 16, 18,
- 5, 23, 43, 4, 21, 35, 53, 10, 19, 41,
- 8, 19, 29, 49, 6, 11, 13, 23, 3, 8,
- 44, 0, 0, 0, 21, 53, 67, 3, 18, 3,
- 104, 14, 11, 93, 51, 37, 7, 45, 73, 65,
- 79, 27, 73, 59, 67, 85, 79, 85, 81, 24,
- 5, 11, 55, 7, 43, 33, 67, 19, 55, 41,
- 87, 22, 27, 11, 79, 45, 25, 21, 5, 8,
- 1, 17, 16, 10, 11, 4, 1, 3, 4, 25,
- 24, 8, 36, 38, 28, 34, 34, 28, 30, 22,
- 12, 32, 28, 25, 63, 43, 49, 29, 37, 29,
- 9, 25, 25, 21, 23, 15, 17, 11, 27, 61,
- 43, 63, 15, 21, 1, 9, 4, 14, 2, 3,
- 10, 12, 5, 13, 2, 41, 78, 78, 60, 64,
- 78, 62, 32, 66, 56, 20, 36, 28, 8, 2,
- 9, 26, 14, 18, 20, 12, 4, 20, 8, 1,
- 6, 3, 9, 0, 51, 112, 116, 108, 116, 110,
- 106, 106, 106, 102, 84, 82, 76, 56, 48, 10,
- 78, 66, 30, 84, 64, 66, 56, 46, 40, 42,
- 24, 4, 2, 1, 35, 33, 71, 9, 54, 36,
- 24, 6, 10, 1, 13, 19, 37, 2, 82, 54,
- 42, 34, 30, 6, 9, 15, 25, 33, 46, 26,
- 14, 4, 4, 9, 19, 31, 59, 45, 1, 9,
- 7, 13, 19, 39, 45, 69, 13, 70, 38, 24,
- 8, 10, 11, 21, 27, 39, 124, 47, 29, 15,
- 5, 13, 2, 10, 12, 13, 8, 18, 12, 29,
- 15, 15, 18, 16, 24, 18, 40, 44, 36, 14,
- 26, 32, 28, 17, 0, 19, 57, 45, 33, 35,
- 27, 29, 25, 23, 13, 21, 19, 13, 9, 23,
- 37, 57, 35, 67, 25, 11, 13, 1, 11, 3,
- 8, 3, 5, 7, 2, 5, 11, 37, 84, 76,
- 80, 74, 64, 78, 70, 64, 56, 54, 56, 46,
- 10, 12, 1, 44, 42, 32, 10, 24, 18, 1,
- 7, 13, 23, 29, 55, 29, 67, 124, 122, 114,
- 112, 102, 94, 88, 76, 74, 66, 60, 46, 34,
- 10, 15, 74, 74, 22, 78, 86, 64, 52, 56,
- 48, 40, 46, 34, 26, 8, 6, 9, 43, 22,
- 2, 23, 79, 57, 65, 21, 27, 23, 36, 5,
- 5, 9, 14, 62, 36, 74, 0, 106, 100, 76,
- 56, 32, 24, 29, 47, 75, 17, 82, 56, 38,
- 18, 20, 4, 3, 9, 39, 57, 41, 23, 29,
- 13, 0, 13, 17, 0, 6, 8, 4, 16, 20,
- 4, 104, 100, 86, 72, 62, 50, 16, 3, 35,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 17 */
-
- 114, 14, 27, 114, 14, 27, 67, 31, 34, 22,
- 10, 12, 74, 82, 106, 28, 29, 2, 1, 20,
- 0, 4, 9, 9, 39, 22, 66, 61, 87, 99,
- 29, 37, 9, 1, 20, 0, 31, 25, 18, 18,
- 3, 21, 41, 4, 21, 33, 53, 10, 17, 39,
- 8, 19, 27, 49, 8, 9, 11, 21, 1, 8,
- 44, 0, 0, 0, 19, 53, 67, 1, 18, 3,
- 104, 14, 11, 89, 49, 37, 5, 41, 69, 61,
- 75, 23, 69, 55, 63, 81, 77, 83, 79, 26,
- 3, 9, 53, 5, 41, 31, 63, 17, 53, 39,
- 83, 24, 25, 9, 75, 43, 23, 19, 3, 10,
- 0, 15, 18, 12, 11, 4, 0, 3, 4, 23,
- 24, 8, 36, 38, 28, 34, 34, 28, 28, 22,
- 12, 30, 26, 25, 61, 41, 47, 27, 35, 27,
- 7, 23, 23, 19, 19, 15, 17, 9, 29, 59,
- 41, 63, 13, 21, 0, 7, 4, 16, 2, 3,
- 8, 14, 5, 15, 2, 41, 76, 78, 60, 64,
- 78, 62, 32, 66, 56, 18, 36, 28, 8, 2,
- 9, 26, 14, 18, 20, 12, 2, 20, 8, 3,
- 4, 3, 11, 1, 51, 110, 114, 106, 114, 108,
- 102, 102, 102, 98, 80, 78, 72, 52, 44, 6,
- 76, 64, 28, 80, 60, 62, 52, 42, 36, 38,
- 20, 0, 2, 3, 37, 33, 71, 7, 56, 38,
- 26, 8, 10, 1, 11, 17, 35, 4, 84, 56,
- 44, 34, 32, 8, 7, 13, 23, 31, 48, 28,
- 16, 6, 6, 7, 17, 29, 55, 43, 2, 7,
- 5, 11, 17, 37, 43, 65, 11, 72, 40, 26,
- 10, 12, 9, 19, 25, 37, 124, 45, 27, 13,
- 5, 11, 2, 12, 14, 11, 10, 20, 14, 27,
- 15, 15, 18, 18, 24, 18, 38, 44, 36, 12,
- 24, 32, 28, 17, 1, 19, 55, 43, 31, 33,
- 25, 27, 23, 21, 13, 19, 17, 11, 9, 21,
- 35, 55, 33, 67, 25, 9, 13, 0, 11, 3,
- 10, 3, 5, 5, 4, 5, 11, 37, 84, 76,
- 80, 74, 62, 78, 70, 64, 56, 54, 56, 46,
- 10, 10, 3, 42, 40, 30, 8, 22, 16, 1,
- 7, 13, 21, 27, 53, 29, 65, 120, 118, 110,
- 108, 98, 90, 84, 72, 70, 62, 56, 42, 30,
- 8, 15, 72, 72, 20, 76, 82, 60, 48, 52,
- 44, 36, 42, 30, 22, 6, 2, 11, 45, 20,
- 0, 25, 75, 53, 61, 19, 25, 21, 40, 3,
- 3, 9, 16, 66, 40, 78, 2, 104, 98, 72,
- 50, 28, 20, 33, 51, 77, 15, 84, 56, 38,
- 18, 22, 4, 3, 9, 37, 55, 39, 21, 27,
- 9, 2, 11, 15, 2, 8, 10, 6, 18, 22,
- 4, 102, 98, 84, 70, 60, 48, 12, 5, 35,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 18 */
-
- 112, 14, 27, 112, 14, 27, 63, 29, 34, 22,
- 10, 10, 72, 80, 106, 28, 25, 2, 0, 22,
- 0, 2, 9, 11, 41, 20, 62, 65, 89, 101,
- 23, 35, 9, 0, 22, 0, 31, 23, 18, 16,
- 3, 21, 39, 4, 21, 33, 53, 10, 17, 37,
- 8, 19, 27, 49, 8, 9, 11, 21, 1, 8,
- 44, 0, 0, 0, 17, 53, 67, 1, 16, 3,
- 104, 14, 11, 87, 47, 37, 5, 39, 65, 57,
- 73, 21, 65, 53, 59, 79, 75, 81, 77, 28,
- 3, 7, 51, 5, 41, 29, 59, 17, 53, 39,
- 81, 24, 25, 9, 73, 43, 21, 19, 3, 10,
- 0, 13, 18, 12, 13, 4, 0, 3, 4, 23,
- 24, 8, 34, 38, 26, 34, 34, 28, 24, 22,
- 12, 26, 24, 27, 59, 39, 45, 25, 33, 25,
- 5, 21, 23, 17, 17, 15, 17, 9, 31, 59,
- 39, 63, 13, 21, 2, 7, 2, 18, 2, 3,
- 6, 16, 7, 17, 2, 43, 72, 76, 58, 62,
- 76, 60, 30, 64, 56, 16, 34, 28, 8, 2,
- 9, 24, 12, 16, 18, 10, 0, 18, 6, 7,
- 2, 5, 13, 3, 51, 106, 112, 102, 110, 104,
- 98, 98, 98, 92, 76, 74, 66, 46, 40, 0,
- 72, 60, 24, 76, 56, 58, 48, 38, 32, 32,
- 16, 3, 0, 7, 39, 35, 71, 7, 56, 38,
- 26, 8, 10, 1, 11, 17, 33, 4, 84, 56,
- 44, 34, 34, 8, 5, 13, 21, 29, 50, 30,
- 16, 6, 8, 7, 17, 27, 53, 41, 4, 5,
- 5, 11, 15, 35, 41, 63, 11, 72, 40, 26,
- 10, 14, 7, 17, 23, 35, 124, 45, 27, 13,
- 5, 11, 2, 12, 14, 11, 10, 20, 16, 27,
- 15, 15, 16, 18, 22, 16, 36, 42, 36, 10,
- 22, 32, 28, 19, 3, 21, 53, 41, 29, 33,
- 25, 27, 21, 19, 13, 19, 17, 11, 11, 21,
- 35, 55, 31, 67, 25, 9, 13, 2, 11, 3,
- 12, 3, 5, 5, 6, 7, 11, 39, 82, 76,
- 80, 72, 60, 76, 68, 62, 54, 52, 54, 44,
- 8, 8, 5, 38, 38, 26, 4, 20, 14, 3,
- 9, 13, 21, 27, 53, 31, 63, 116, 114, 106,
- 104, 92, 86, 80, 66, 66, 58, 52, 38, 26,
- 6, 17, 68, 68, 18, 72, 78, 56, 44, 48,
- 40, 32, 38, 26, 18, 2, 1, 15, 47, 16,
- 3, 29, 73, 51, 59, 17, 23, 19, 44, 1,
- 1, 9, 18, 68, 42, 80, 4, 102, 94, 66,
- 44, 22, 14, 39, 55, 79, 15, 84, 56, 38,
- 18, 22, 4, 3, 9, 35, 53, 37, 19, 25,
- 7, 4, 9, 13, 4, 10, 12, 6, 20, 22,
- 4, 100, 94, 80, 66, 56, 44, 8, 9, 37,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 19 */
-
- 110, 14, 27, 110, 14, 27, 59, 25, 36, 22,
- 8, 6, 68, 78, 106, 28, 21, 2, 2, 24,
- 0, 0, 9, 13, 43, 20, 58, 67, 91, 101,
- 17, 33, 9, 2, 24, 0, 29, 21, 20, 16,
- 3, 19, 37, 2, 23, 33, 53, 10, 17, 37,
- 8, 19, 27, 49, 10, 9, 11, 21, 0, 8,
- 44, 0, 0, 0, 17, 53, 67, 0, 14, 3,
- 104, 14, 11, 85, 45, 37, 3, 37, 61, 53,
- 69, 19, 61, 51, 55, 77, 73, 79, 75, 30,
- 3, 5, 49, 5, 39, 29, 55, 17, 51, 37,
- 79, 24, 25, 7, 69, 41, 19, 19, 3, 10,
- 0, 11, 20, 14, 13, 4, 0, 3, 4, 23,
- 24, 6, 34, 38, 24, 34, 34, 28, 20, 22,
- 10, 22, 22, 29, 57, 37, 43, 23, 31, 25,
- 3, 21, 21, 15, 15, 15, 17, 9, 33, 57,
- 37, 63, 13, 21, 4, 7, 0, 20, 2, 3,
- 4, 18, 7, 19, 2, 45, 70, 74, 58, 60,
- 74, 58, 30, 62, 54, 14, 32, 28, 8, 2,
- 11, 22, 10, 14, 16, 8, 1, 16, 6, 11,
- 0, 5, 15, 5, 51, 104, 108, 100, 106, 100,
- 94, 94, 94, 88, 70, 70, 62, 42, 34, 3,
- 68, 56, 22, 72, 52, 52, 42, 34, 26, 28,
- 12, 9, 1, 11, 41, 37, 71, 7, 58, 38,
- 26, 8, 10, 1, 11, 17, 33, 4, 84, 56,
- 44, 34, 36, 10, 5, 11, 21, 27, 52, 30,
- 18, 6, 10, 5, 15, 27, 51, 39, 6, 3,
- 3, 11, 13, 33, 39, 61, 9, 72, 40, 26,
- 10, 16, 7, 15, 21, 33, 124, 43, 25, 11,
- 5, 11, 2, 12, 14, 11, 10, 20, 16, 27,
- 15, 15, 16, 20, 20, 14, 34, 40, 36, 8,
- 20, 32, 28, 19, 5, 21, 51, 39, 27, 31,
- 23, 25, 21, 17, 13, 19, 17, 9, 11, 21,
- 35, 53, 29, 67, 25, 9, 13, 4, 11, 3,
- 14, 3, 5, 5, 8, 9, 11, 41, 80, 74,
- 78, 70, 58, 74, 66, 60, 52, 50, 52, 42,
- 6, 6, 7, 36, 36, 24, 0, 16, 12, 5,
- 9, 15, 21, 27, 53, 31, 61, 112, 110, 102,
- 100, 86, 82, 76, 62, 62, 54, 48, 32, 22,
- 2, 19, 64, 66, 14, 68, 74, 52, 40, 44,
- 36, 28, 34, 22, 12, 1, 5, 19, 49, 12,
- 7, 31, 71, 49, 57, 15, 21, 17, 46, 0,
- 0, 9, 20, 72, 46, 84, 6, 98, 92, 62,
- 38, 16, 8, 45, 59, 81, 15, 84, 56, 38,
- 18, 22, 4, 3, 9, 35, 51, 35, 17, 23,
- 5, 4, 9, 11, 4, 10, 12, 6, 20, 22,
- 4, 98, 92, 76, 62, 52, 40, 4, 13, 39,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 20 */
-
- 106, 14, 27, 106, 14, 27, 57, 23, 36, 22,
- 8, 4, 66, 74, 106, 28, 15, 0, 4, 24,
- 0, 1, 9, 15, 45, 18, 54, 71, 93, 103,
- 11, 31, 9, 4, 24, 0, 29, 19, 20, 14,
- 3, 19, 37, 2, 23, 31, 53, 10, 17, 35,
- 6, 21, 27, 49, 10, 7, 11, 19, 0, 8,
- 44, 0, 0, 0, 15, 55, 67, 0, 12, 3,
- 104, 14, 11, 83, 43, 37, 3, 33, 59, 49,
- 67, 17, 59, 47, 51, 75, 73, 77, 75, 30,
- 3, 3, 47, 5, 39, 27, 51, 17, 51, 37,
- 77, 24, 23, 7, 67, 41, 19, 19, 1, 10,
- 0, 11, 20, 14, 15, 2, 0, 3, 4, 23,
- 24, 6, 32, 38, 24, 34, 34, 26, 16, 22,
- 10, 18, 20, 31, 55, 35, 41, 21, 31, 23,
- 1, 19, 21, 13, 13, 15, 17, 7, 35, 57,
- 35, 63, 13, 21, 4, 7, 1, 22, 2, 3,
- 0, 20, 9, 21, 2, 47, 66, 72, 56, 58,
- 72, 56, 28, 60, 54, 10, 30, 26, 8, 2,
- 11, 20, 10, 12, 16, 6, 3, 14, 4, 15,
- 1, 7, 17, 7, 51, 100, 106, 96, 102, 96,
- 90, 88, 90, 82, 66, 66, 56, 36, 30, 9,
- 64, 54, 18, 66, 48, 48, 38, 28, 22, 22,
- 8, 13, 3, 13, 45, 39, 71, 7, 58, 40,
- 26, 8, 10, 1, 11, 17, 31, 6, 86, 56,
- 44, 34, 38, 10, 3, 11, 19, 27, 54, 32,
- 18, 6, 10, 5, 15, 25, 49, 39, 8, 3,
- 3, 11, 11, 31, 39, 59, 9, 74, 40, 26,
- 10, 18, 5, 15, 19, 31, 124, 43, 25, 11,
- 5, 11, 2, 12, 14, 9, 10, 20, 18, 27,
- 15, 15, 14, 20, 18, 12, 32, 38, 36, 4,
- 18, 30, 28, 21, 7, 23, 51, 39, 25, 31,
- 23, 25, 19, 15, 15, 19, 17, 9, 13, 21,
- 35, 53, 27, 67, 25, 7, 13, 4, 11, 3,
- 16, 3, 7, 5, 10, 9, 13, 43, 78, 74,
- 78, 68, 56, 72, 64, 58, 50, 48, 50, 40,
- 4, 4, 9, 32, 32, 20, 3, 14, 10, 7,
- 11, 15, 21, 27, 53, 33, 61, 106, 104, 98,
- 94, 80, 78, 72, 56, 58, 50, 44, 28, 18,
- 0, 21, 60, 62, 12, 64, 70, 48, 36, 38,
- 32, 24, 30, 18, 8, 5, 9, 23, 51, 8,
- 11, 35, 69, 47, 55, 15, 19, 15, 50, 2,
- 2, 9, 22, 74, 48, 86, 6, 96, 88, 56,
- 32, 10, 2, 51, 63, 83, 15, 84, 56, 38,
- 18, 22, 4, 3, 9, 33, 49, 33, 15, 23,
- 3, 6, 7, 9, 6, 12, 14, 8, 22, 24,
- 4, 94, 88, 72, 58, 48, 36, 0, 17, 41,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 21 */
-
- 104, 14, 27, 104, 14, 27, 53, 19, 36, 22,
- 6, 0, 62, 72, 106, 28, 11, 0, 6, 26,
- 0, 1, 7, 17, 47, 18, 50, 75, 95, 103,
- 5, 27, 9, 6, 26, 0, 29, 17, 20, 14,
- 3, 19, 35, 2, 25, 31, 53, 10, 17, 33,
- 6, 21, 27, 49, 12, 7, 9, 19, 2, 8,
- 44, 0, 0, 0, 15, 55, 67, 2, 10, 3,
- 104, 14, 11, 81, 41, 37, 1, 31, 55, 45,
- 63, 15, 55, 45, 47, 73, 71, 75, 73, 32,
- 3, 1, 45, 5, 37, 25, 47, 17, 51, 35,
- 73, 26, 23, 5, 65, 39, 17, 19, 1, 12,
- 2, 9, 22, 16, 15, 2, 0, 3, 4, 23,
- 24, 4, 30, 38, 22, 34, 34, 26, 12, 22,
- 8, 16, 18, 33, 53, 33, 39, 19, 29, 21,
- 0, 17, 19, 11, 11, 15, 17, 7, 37, 55,
- 33, 63, 11, 21, 6, 7, 3, 24, 2, 3,
- 1, 22, 9, 23, 2, 47, 64, 70, 56, 56,
- 70, 54, 26, 60, 54, 8, 28, 26, 8, 2,
- 13, 20, 8, 10, 14, 4, 5, 14, 2, 19,
- 3, 9, 19, 9, 51, 96, 104, 92, 98, 94,
- 86, 84, 86, 78, 62, 62, 52, 32, 26, 13,
- 60, 50, 14, 62, 44, 44, 34, 24, 18, 16,
- 4, 19, 5, 17, 47, 39, 71, 7, 58, 40,
- 26, 8, 10, 1, 11, 17, 31, 6, 86, 56,
- 44, 34, 40, 12, 1, 11, 17, 25, 56, 34,
- 18, 8, 12, 3, 13, 25, 47, 37, 12, 1,
- 3, 9, 9, 29, 37, 57, 7, 74, 42, 26,
- 10, 20, 3, 13, 17, 29, 124, 43, 25, 9,
- 5, 11, 2, 12, 14, 9, 10, 22, 18, 27,
- 15, 15, 12, 22, 16, 10, 30, 38, 36, 2,
- 16, 30, 28, 23, 9, 23, 49, 37, 23, 29,
- 21, 23, 19, 13, 15, 19, 17, 9, 15, 21,
- 35, 51, 25, 67, 25, 7, 13, 6, 11, 3,
- 18, 3, 7, 5, 12, 11, 13, 43, 76, 74,
- 76, 68, 54, 70, 62, 56, 50, 46, 48, 38,
- 2, 2, 11, 30, 30, 18, 7, 12, 8, 9,
- 13, 17, 21, 25, 53, 33, 59, 102, 100, 94,
- 90, 76, 74, 68, 52, 54, 46, 40, 24, 14,
- 3, 23, 56, 58, 10, 60, 66, 44, 32, 34,
- 28, 20, 26, 14, 2, 9, 13, 27, 53, 4,
- 15, 37, 67, 43, 53, 13, 17, 13, 54, 4,
- 4, 9, 24, 78, 52, 90, 8, 92, 84, 52,
- 26, 6, 3, 55, 67, 85, 15, 84, 56, 38,
- 18, 22, 4, 3, 9, 33, 47, 31, 13, 21,
- 1, 8, 7, 7, 8, 14, 16, 8, 22, 24,
- 4, 92, 86, 70, 56, 44, 32, 3, 21, 43,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 22 */
-
- 102, 14, 29, 102, 14, 29, 49, 17, 38, 22,
- 6, 1, 60, 70, 106, 28, 7, 0, 6, 28,
- 0, 3, 7, 19, 49, 16, 48, 77, 97, 105,
- 0, 25, 9, 6, 28, 0, 27, 15, 22, 12,
- 1, 17, 33, 0, 25, 31, 53, 10, 15, 33,
- 6, 21, 25, 49, 12, 7, 9, 19, 2, 8,
- 44, 0, 0, 0, 13, 55, 67, 2, 10, 5,
- 104, 14, 11, 79, 41, 37, 1, 29, 51, 41,
- 61, 13, 51, 43, 43, 71, 69, 73, 71, 34,
- 3, 0, 45, 3, 37, 25, 43, 17, 49, 35,
- 71, 26, 23, 5, 61, 39, 15, 17, 1, 12,
- 2, 7, 22, 16, 17, 2, 0, 3, 4, 23,
- 24, 4, 30, 38, 20, 34, 34, 26, 8, 22,
- 8, 12, 16, 35, 53, 31, 39, 19, 27, 21,
- 2, 17, 19, 11, 7, 15, 17, 7, 39, 55,
- 31, 63, 11, 21, 8, 5, 5, 24, 2, 3,
- 3, 24, 11, 25, 2, 49, 60, 68, 54, 56,
- 68, 54, 26, 58, 52, 6, 26, 26, 8, 2,
- 13, 18, 6, 8, 12, 4, 7, 12, 2, 23,
- 5, 9, 21, 11, 51, 94, 100, 90, 94, 90,
- 82, 80, 82, 72, 56, 58, 46, 26, 20, 19,
- 56, 46, 12, 58, 38, 38, 28, 20, 12, 12,
- 1, 23, 7, 21, 49, 41, 71, 5, 60, 40,
- 28, 8, 10, 1, 11, 17, 29, 6, 86, 58,
- 44, 34, 42, 12, 1, 9, 17, 23, 58, 34,
- 20, 8, 14, 3, 13, 23, 45, 35, 14, 0,
- 1, 9, 9, 29, 35, 53, 7, 74, 42, 26,
- 12, 20, 3, 11, 17, 27, 124, 41, 23, 9,
- 5, 11, 2, 12, 14, 9, 12, 22, 20, 27,
- 15, 17, 12, 22, 14, 8, 28, 36, 36, 0,
- 14, 30, 28, 23, 11, 25, 47, 35, 21, 29,
- 21, 23, 17, 13, 15, 17, 15, 7, 15, 21,
- 35, 51, 23, 67, 25, 7, 13, 8, 11, 3,
- 20, 5, 7, 5, 12, 13, 13, 45, 74, 72,
- 76, 66, 52, 70, 62, 54, 48, 46, 46, 36,
- 0, 0, 13, 26, 28, 14, 11, 8, 4, 11,
- 13, 17, 21, 25, 51, 35, 57, 98, 96, 90,
- 86, 70, 70, 64, 46, 50, 40, 36, 18, 10,
- 5, 23, 54, 56, 6, 56, 60, 40, 28, 30,
- 24, 16, 20, 10, 1, 13, 17, 29, 57, 0,
- 19, 41, 65, 41, 51, 11, 15, 11, 56, 6,
- 6, 9, 26, 80, 54, 92, 10, 90, 82, 46,
- 20, 0, 7, 61, 71, 89, 13, 84, 56, 38,
- 18, 22, 4, 3, 9, 31, 45, 31, 11, 19,
- 0, 8, 5, 5, 8, 14, 16, 8, 24, 24,
- 4, 90, 82, 66, 52, 42, 30, 9, 23, 45,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 23 */
-
- 100, 14, 29, 100, 14, 29, 45, 13, 38, 22,
- 4, 5, 56, 66, 106, 28, 1, 1, 8, 28,
- 0, 5, 7, 21, 51, 16, 44, 81, 99, 105,
- 6, 23, 9, 8, 28, 0, 27, 13, 22, 12,
- 1, 17, 33, 0, 27, 29, 53, 10, 15, 31,
- 4, 21, 25, 49, 14, 5, 9, 17, 4, 8,
- 44, 0, 0, 0, 13, 55, 67, 4, 8, 5,
- 104, 14, 11, 77, 39, 37, 0, 25, 49, 37,
- 57, 11, 49, 39, 39, 69, 67, 71, 71, 36,
- 3, 2, 43, 3, 35, 23, 39, 17, 49, 33,
- 69, 26, 21, 3, 59, 37, 15, 17, 0, 12,
- 2, 5, 24, 18, 17, 0, 0, 3, 4, 23,
- 24, 2, 28, 38, 20, 34, 34, 24, 4, 22,
- 6, 8, 14, 37, 51, 29, 37, 17, 25, 19,
- 4, 15, 17, 9, 5, 15, 17, 5, 41, 53,
- 29, 63, 11, 21, 8, 5, 7, 26, 2, 3,
- 7, 26, 11, 27, 2, 51, 58, 66, 54, 54,
- 66, 52, 24, 56, 52, 4, 24, 26, 8, 2,
- 15, 16, 6, 6, 12, 2, 9, 10, 0, 27,
- 7, 11, 23, 13, 51, 90, 98, 86, 90, 86,
- 78, 74, 78, 68, 52, 54, 42, 22, 16, 23,
- 52, 44, 8, 52, 34, 34, 24, 14, 8, 6,
- 5, 29, 9, 23, 53, 43, 71, 5, 60, 42,
- 28, 8, 10, 1, 11, 17, 29, 8, 88, 58,
- 44, 34, 44, 14, 0, 9, 15, 21, 60, 36,
- 20, 8, 16, 1, 11, 23, 43, 35, 16, 0,
- 1, 9, 7, 27, 35, 51, 5, 76, 42, 26,
- 12, 22, 1, 9, 15, 25, 124, 41, 23, 7,
- 5, 11, 2, 12, 14, 7, 12, 22, 20, 27,
- 15, 17, 10, 24, 12, 6, 26, 34, 36, 1,
- 12, 28, 28, 25, 13, 25, 45, 35, 19, 27,
- 19, 21, 17, 11, 15, 17, 15, 7, 17, 21,
- 35, 49, 21, 67, 25, 5, 13, 8, 11, 3,
- 22, 5, 7, 5, 14, 13, 15, 47, 72, 72,
- 74, 64, 50, 68, 60, 52, 46, 44, 44, 34,
- 1, 1, 15, 24, 24, 12, 15, 6, 2, 13,
- 15, 19, 21, 25, 51, 35, 55, 94, 92, 86,
- 80, 64, 66, 60, 42, 46, 36, 32, 14, 6,
- 9, 25, 50, 52, 4, 52, 56, 36, 24, 26,
- 20, 12, 16, 6, 7, 17, 21, 33, 59, 3,
- 23, 43, 63, 39, 49, 11, 13, 9, 60, 8,
- 8, 9, 28, 84, 58, 96, 10, 86, 78, 42,
- 14, 5, 13, 67, 75, 91, 13, 84, 56, 38,
- 18, 22, 4, 3, 9, 31, 43, 29, 9, 17,
- 2, 10, 5, 3, 10, 16, 18, 10, 24, 26,
- 4, 86, 80, 62, 48, 38, 26, 13, 27, 47,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 24 */
-
- 96, 12, 29, 96, 12, 29, 43, 11, 38, 22,
- 4, 7, 54, 64, 106, 28, 2, 1, 10, 30,
- 0, 7, 7, 23, 55, 14, 40, 85, 101, 107,
- 10, 21, 9, 10, 30, 0, 27, 11, 22, 10,
- 1, 17, 31, 1, 27, 29, 55, 10, 15, 31,
- 4, 23, 25, 49, 14, 5, 9, 17, 4, 8,
- 44, 0, 0, 0, 11, 57, 67, 4, 6, 5,
- 104, 14, 11, 75, 37, 37, 0, 23, 45, 33,
- 55, 9, 45, 37, 37, 67, 67, 69, 69, 36,
- 3, 4, 41, 3, 35, 23, 37, 17, 49, 33,
- 67, 26, 21, 3, 57, 37, 13, 17, 0, 12,
- 2, 5, 24, 18, 19, 0, 0, 3, 4, 23,
- 24, 2, 26, 38, 18, 34, 34, 24, 0, 22,
- 6, 4, 12, 39, 49, 27, 35, 15, 25, 19,
- 6, 15, 17, 7, 3, 15, 17, 5, 45, 53,
- 27, 63, 11, 23, 10, 5, 9, 28, 2, 3,
- 9, 28, 13, 29, 2, 53, 54, 64, 52, 52,
- 64, 50, 22, 54, 50, 0, 22, 24, 8, 2,
- 15, 14, 4, 4, 10, 0, 11, 8, 1, 31,
- 11, 13, 25, 15, 51, 86, 94, 82, 86, 82,
- 74, 70, 74, 62, 46, 50, 36, 16, 10, 29,
- 48, 40, 4, 48, 30, 28, 18, 10, 2, 0,
- 9, 33, 11, 27, 55, 45, 73, 5, 60, 42,
- 28, 8, 10, 1, 11, 17, 27, 8, 88, 58,
- 44, 34, 46, 14, 0, 9, 15, 21, 62, 36,
- 20, 8, 16, 1, 11, 21, 41, 33, 18, 2,
- 1, 9, 5, 25, 33, 49, 5, 76, 42, 26,
- 12, 24, 1, 9, 13, 25, 124, 41, 23, 7,
- 5, 11, 2, 12, 14, 7, 12, 22, 22, 27,
- 15, 17, 8, 24, 10, 4, 24, 32, 36, 5,
- 8, 28, 28, 27, 15, 27, 45, 33, 17, 27,
- 19, 21, 15, 9, 17, 17, 15, 7, 19, 21,
- 35, 49, 21, 69, 25, 5, 13, 10, 11, 3,
- 22, 5, 9, 5, 16, 15, 15, 49, 70, 70,
- 74, 62, 46, 66, 58, 50, 44, 42, 42, 32,
- 3, 3, 17, 20, 22, 8, 19, 2, 0, 15,
- 17, 19, 21, 25, 51, 37, 55, 88, 86, 82,
- 76, 58, 60, 54, 36, 42, 32, 28, 8, 2,
- 11, 27, 46, 48, 0, 48, 52, 30, 18, 20,
- 14, 8, 12, 0, 11, 21, 27, 37, 61, 7,
- 27, 47, 61, 37, 47, 9, 11, 9, 62, 10,
- 8, 9, 28, 86, 60, 98, 12, 84, 74, 36,
- 8, 11, 19, 73, 79, 93, 13, 84, 56, 38,
- 18, 22, 4, 3, 9, 29, 43, 27, 7, 17,
- 4, 10, 3, 3, 10, 16, 18, 10, 26, 26,
- 2, 84, 76, 58, 44, 34, 22, 17, 31, 49,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 25 */
-
- 94, 12, 29, 94, 12, 29, 39, 9, 40, 22,
- 4, 9, 52, 62, 106, 28, 6, 1, 12, 32,
- 0, 7, 5, 25, 57, 12, 36, 87, 103, 109,
- 16, 17, 9, 12, 32, 0, 25, 9, 24, 8,
- 1, 15, 29, 1, 27, 29, 55, 10, 15, 29,
- 4, 23, 25, 49, 14, 5, 7, 17, 4, 8,
- 44, 0, 0, 0, 9, 57, 67, 4, 4, 5,
- 104, 14, 11, 73, 35, 37, 0, 21, 41, 29,
- 51, 5, 41, 35, 33, 65, 65, 67, 67, 38,
- 1, 6, 39, 3, 33, 21, 33, 17, 47, 33,
- 63, 28, 21, 3, 53, 37, 11, 17, 0, 14,
- 4, 3, 24, 18, 19, 0, 2, 3, 4, 21,
- 24, 2, 26, 38, 16, 34, 34, 24, 3, 22,
- 6, 2, 10, 39, 47, 25, 33, 13, 23, 17,
- 8, 13, 17, 5, 1, 15, 17, 5, 47, 51,
- 25, 63, 9, 23, 12, 5, 11, 30, 2, 3,
- 11, 30, 15, 31, 2, 53, 52, 62, 52, 50,
- 62, 48, 22, 54, 50, 1, 20, 24, 8, 2,
- 15, 14, 2, 2, 8, 1, 13, 8, 1, 33,
- 13, 13, 27, 17, 51, 84, 92, 80, 84, 80,
- 70, 66, 70, 58, 42, 46, 32, 10, 6, 35,
- 46, 36, 2, 44, 26, 24, 14, 6, 1, 3,
- 13, 37, 11, 31, 57, 45, 73, 5, 62, 42,
- 28, 10, 10, 1, 9, 17, 25, 8, 88, 58,
- 46, 34, 48, 16, 2, 7, 13, 19, 64, 38,
- 22, 10, 18, 0, 11, 19, 39, 31, 22, 4,
- 0, 7, 3, 23, 31, 47, 3, 76, 44, 28,
- 12, 26, 0, 7, 11, 23, 124, 39, 21, 5,
- 5, 11, 2, 14, 16, 7, 12, 24, 24, 27,
- 15, 17, 8, 24, 8, 4, 22, 32, 36, 7,
- 6, 28, 28, 27, 17, 29, 43, 31, 15, 27,
- 17, 21, 13, 7, 17, 17, 15, 5, 19, 21,
- 35, 49, 19, 69, 25, 5, 13, 12, 11, 3,
- 24, 5, 9, 5, 18, 17, 15, 49, 68, 70,
- 74, 62, 44, 64, 56, 48, 44, 40, 40, 32,
- 3, 5, 19, 18, 20, 4, 23, 0, 1, 15,
- 17, 19, 19, 23, 51, 39, 53, 84, 82, 78,
- 72, 54, 56, 50, 32, 38, 28, 24, 4, 1,
- 13, 29, 42, 46, 1, 44, 48, 26, 14, 16,
- 10, 4, 8, 3, 15, 23, 31, 41, 63, 11,
- 31, 51, 59, 33, 43, 7, 9, 7, 66, 12,
- 10, 9, 30, 90, 62, 102, 14, 82, 72, 32,
- 2, 15, 25, 77, 83, 95, 13, 84, 56, 38,
- 18, 24, 4, 3, 9, 27, 41, 25, 5, 15,
- 8, 12, 1, 1, 12, 18, 20, 10, 28, 26,
- 2, 82, 74, 56, 42, 30, 18, 21, 35, 49,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 26 */
-
- 92, 12, 29, 92, 12, 29, 35, 5, 40, 22,
- 2, 13, 48, 58, 106, 28, 12, 3, 14, 32,
- 0, 9, 5, 27, 59, 12, 32, 91, 105, 109,
- 22, 15, 9, 14, 32, 0, 25, 7, 24, 8,
- 1, 15, 29, 1, 29, 27, 55, 10, 15, 27,
- 2, 23, 25, 49, 16, 3, 7, 15, 6, 8,
- 44, 0, 0, 0, 9, 57, 67, 6, 2, 5,
- 104, 14, 11, 71, 33, 37, 2, 17, 39, 25,
- 49, 3, 39, 31, 29, 63, 63, 65, 67, 40,
- 1, 8, 37, 3, 33, 19, 29, 17, 47, 31,
- 61, 28, 19, 1, 51, 35, 11, 17, 2, 14,
- 4, 1, 26, 20, 21, 1, 2, 3, 4, 21,
- 24, 0, 24, 38, 16, 34, 34, 22, 7, 22,
- 4, 1, 8, 41, 45, 23, 31, 11, 21, 15,
- 10, 11, 15, 3, 0, 15, 17, 3, 49, 51,
- 23, 63, 9, 23, 12, 5, 13, 32, 2, 3,
- 15, 32, 15, 33, 2, 55, 48, 60, 50, 48,
- 60, 46, 20, 52, 50, 3, 18, 24, 8, 2,
- 17, 12, 2, 0, 8, 3, 15, 6, 3, 37,
- 15, 15, 29, 19, 51, 80, 90, 76, 80, 76,
- 66, 60, 66, 52, 38, 42, 26, 6, 2, 39,
- 42, 34, 1, 38, 22, 20, 10, 0, 5, 9,
- 17, 43, 13, 33, 61, 47, 73, 5, 62, 44,
- 28, 10, 10, 1, 9, 17, 25, 10, 90, 58,
- 46, 34, 50, 16, 4, 7, 11, 17, 66, 40,
- 22, 10, 20, 0, 9, 19, 37, 31, 24, 4,
- 0, 7, 1, 21, 31, 45, 3, 78, 44, 28,
- 12, 28, 2, 5, 9, 21, 124, 39, 21, 5,
- 5, 11, 2, 14, 16, 5, 12, 24, 24, 27,
- 15, 17, 6, 26, 6, 2, 20, 30, 36, 9,
- 4, 26, 28, 29, 19, 29, 41, 31, 13, 25,
- 17, 19, 13, 5, 17, 17, 15, 5, 21, 21,
- 35, 47, 17, 69, 25, 3, 13, 12, 11, 3,
- 26, 5, 9, 5, 20, 17, 17, 51, 66, 70,
- 72, 60, 42, 62, 54, 46, 42, 38, 38, 30,
- 5, 7, 21, 14, 16, 2, 27, 1, 3, 17,
- 19, 21, 19, 23, 51, 39, 51, 80, 78, 74,
- 66, 48, 52, 46, 26, 34, 24, 20, 0, 5,
- 17, 31, 38, 42, 3, 40, 44, 22, 10, 12,
- 6, 0, 4, 7, 21, 27, 35, 45, 65, 15,
- 35, 53, 57, 31, 41, 7, 7, 5, 70, 14,
- 12, 9, 32, 92, 66, 104, 14, 78, 68, 26,
- 3, 21, 31, 83, 87, 97, 13, 84, 56, 38,
- 18, 24, 4, 3, 9, 27, 39, 23, 3, 13,
- 10, 14, 1, 0, 14, 20, 22, 12, 28, 28,
- 2, 78, 70, 52, 38, 26, 14, 25, 39, 51,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 27 */
-
- 90, 12, 31, 90, 12, 31, 31, 3, 42, 22,
- 2, 15, 46, 56, 106, 28, 16, 3, 14, 34,
- 0, 11, 5, 29, 61, 10, 30, 93, 107, 111,
- 28, 13, 9, 14, 34, 0, 23, 5, 26, 6,
- 0, 13, 27, 3, 29, 27, 55, 10, 13, 27,
- 2, 23, 23, 49, 16, 3, 7, 15, 6, 8,
- 44, 0, 0, 0, 7, 57, 67, 6, 2, 7,
- 104, 14, 11, 69, 33, 37, 2, 15, 35, 21,
- 45, 1, 35, 29, 25, 61, 61, 63, 65, 42,
- 1, 10, 37, 1, 31, 19, 25, 17, 45, 31,
- 59, 28, 19, 1, 47, 35, 9, 15, 2, 14,
- 4, 0, 26, 20, 21, 1, 2, 3, 4, 21,
- 24, 0, 24, 38, 14, 34, 34, 22, 11, 22,
- 4, 5, 6, 43, 45, 21, 31, 11, 19, 15,
- 12, 11, 15, 3, 4, 15, 17, 3, 51, 49,
- 21, 63, 9, 23, 14, 3, 15, 32, 2, 3,
- 17, 34, 17, 35, 2, 57, 46, 58, 50, 48,
- 58, 46, 20, 50, 48, 5, 16, 24, 8, 2,
- 17, 10, 0, 1, 6, 3, 17, 4, 3, 41,
- 17, 15, 31, 21, 51, 78, 86, 74, 76, 72,
- 62, 56, 62, 48, 32, 38, 22, 0, 3, 45,
- 38, 30, 3, 34, 16, 14, 4, 3, 11, 13,
- 23, 47, 15, 37, 63, 49, 73, 3, 64, 44,
- 30, 10, 10, 1, 9, 17, 23, 10, 90, 60,
- 46, 34, 52, 18, 4, 5, 11, 15, 68, 40,
- 24, 10, 22, 2, 9, 17, 35, 29, 26, 6,
- 2, 7, 1, 21, 29, 41, 1, 78, 44, 28,
- 14, 28, 2, 3, 9, 19, 124, 37, 19, 3,
- 5, 11, 2, 14, 16, 5, 14, 24, 26, 27,
- 15, 19, 6, 26, 4, 0, 18, 28, 36, 11,
- 2, 26, 28, 29, 21, 31, 39, 29, 11, 25,
- 15, 19, 11, 5, 17, 15, 13, 3, 21, 21,
- 35, 47, 15, 69, 25, 3, 13, 14, 11, 3,
- 28, 7, 9, 5, 20, 19, 17, 53, 64, 68,
- 72, 58, 40, 62, 54, 44, 40, 38, 36, 28,
- 7, 9, 23, 12, 14, 1, 31, 5, 7, 19,
- 19, 21, 19, 23, 49, 41, 49, 76, 74, 70,
- 62, 42, 48, 42, 22, 30, 18, 16, 5, 9,
- 19, 31, 36, 40, 7, 36, 38, 18, 6, 8,
- 2, 3, 1, 11, 25, 31, 39, 47, 69, 19,
- 39, 57, 55, 29, 39, 5, 5, 3, 72, 16,
- 14, 9, 34, 96, 68, 108, 16, 76, 66, 22,
- 9, 27, 35, 89, 91, 101, 11, 84, 56, 38,
- 18, 24, 4, 3, 9, 25, 37, 23, 1, 11,
- 12, 14, 0, 2, 14, 20, 22, 12, 30, 28,
- 2, 76, 68, 48, 34, 24, 12, 31, 41, 53,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 28 */
-
- 86, 12, 31, 86, 12, 31, 29, 0, 42, 22,
- 0, 19, 42, 54, 106, 28, 20, 3, 16, 36,
- 0, 13, 5, 31, 63, 10, 26, 97, 109, 111,
- 34, 11, 9, 16, 36, 0, 23, 3, 26, 6,
- 0, 13, 25, 3, 31, 27, 55, 10, 13, 25,
- 2, 25, 23, 49, 18, 3, 7, 15, 8, 8,
- 44, 0, 0, 0, 7, 59, 67, 8, 0, 7,
- 104, 14, 11, 67, 31, 37, 4, 13, 31, 17,
- 43, 0, 31, 27, 21, 59, 61, 61, 63, 42,
- 1, 12, 35, 1, 31, 17, 21, 17, 45, 29,
- 57, 28, 19, 0, 45, 33, 7, 15, 2, 14,
- 4, 0, 28, 22, 23, 1, 2, 3, 4, 21,
- 24, 1, 22, 38, 12, 34, 34, 22, 15, 22,
- 2, 9, 4, 45, 43, 19, 29, 9, 19, 13,
- 14, 9, 13, 1, 6, 15, 17, 3, 53, 49,
- 19, 63, 9, 23, 16, 3, 17, 34, 2, 3,
- 19, 36, 17, 37, 2, 59, 42, 56, 48, 46,
- 56, 44, 18, 48, 48, 9, 14, 22, 8, 2,
- 19, 8, 1, 3, 4, 5, 19, 2, 5, 45,
- 19, 17, 33, 23, 51, 74, 84, 70, 72, 68,
- 58, 52, 58, 42, 28, 34, 16, 3, 7, 49,
- 34, 26, 7, 30, 12, 10, 0, 7, 15, 19,
- 27, 53, 17, 41, 65, 51, 73, 3, 64, 44,
- 30, 10, 10, 1, 9, 17, 23, 10, 90, 60,
- 46, 34, 54, 18, 6, 5, 9, 15, 70, 42,
- 24, 10, 22, 2, 7, 17, 33, 27, 28, 8,
- 2, 7, 0, 19, 27, 39, 1, 78, 44, 28,
- 14, 30, 4, 3, 7, 17, 124, 37, 19, 3,
- 5, 11, 2, 14, 16, 5, 14, 24, 26, 27,
- 15, 19, 4, 28, 2, 1, 16, 26, 36, 15,
- 0, 26, 28, 31, 23, 31, 39, 27, 9, 23,
- 15, 17, 11, 3, 19, 15, 13, 3, 23, 21,
- 35, 45, 13, 69, 25, 3, 13, 16, 11, 3,
- 30, 7, 11, 5, 22, 21, 17, 55, 62, 68,
- 70, 56, 38, 60, 52, 42, 38, 36, 34, 26,
- 9, 11, 25, 8, 12, 3, 35, 7, 9, 21,
- 21, 23, 19, 23, 49, 41, 49, 70, 68, 66,
- 58, 36, 44, 38, 16, 26, 14, 12, 9, 13,
- 23, 33, 32, 36, 9, 32, 34, 14, 2, 2,
- 1, 7, 5, 15, 31, 35, 43, 51, 71, 23,
- 43, 59, 53, 27, 37, 3, 3, 1, 76, 18,
- 16, 9, 36, 98, 72, 110, 18, 72, 62, 16,
- 15, 33, 41, 95, 95, 103, 11, 84, 56, 38,
- 18, 24, 4, 3, 9, 25, 35, 21, 0, 11,
- 14, 16, 0, 4, 16, 22, 24, 12, 30, 28,
- 2, 74, 64, 44, 30, 20, 8, 35, 45, 55,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 29 */
-
- 84, 12, 31, 84, 12, 31, 25, 2, 42, 22,
- 0, 21, 40, 50, 106, 28, 26, 5, 18, 36,
- 0, 13, 3, 33, 65, 8, 22, 101, 111, 113,
- 40, 7, 9, 18, 36, 0, 23, 1, 26, 4,
- 0, 13, 25, 3, 31, 25, 55, 10, 13, 23,
- 0, 25, 23, 49, 18, 1, 5, 13, 8, 8,
- 44, 0, 0, 0, 5, 59, 67, 8, 1, 7,
- 104, 14, 11, 65, 29, 37, 4, 9, 29, 13,
- 39, 2, 29, 23, 17, 57, 59, 59, 63, 44,
- 1, 14, 33, 1, 29, 15, 17, 17, 45, 29,
- 53, 30, 17, 0, 43, 33, 7, 15, 4, 16,
- 6, 2, 28, 22, 23, 3, 2, 3, 4, 21,
- 24, 1, 20, 38, 12, 34, 34, 20, 19, 22,
- 2, 11, 2, 47, 41, 17, 27, 7, 17, 11,
- 16, 7, 13, 0, 8, 15, 17, 1, 55, 47,
- 17, 63, 7, 23, 16, 3, 19, 36, 2, 3,
- 23, 38, 19, 39, 2, 59, 40, 54, 48, 44,
- 54, 42, 16, 48, 48, 11, 12, 22, 8, 2,
- 19, 8, 1, 5, 4, 7, 21, 2, 7, 49,
- 21, 19, 35, 25, 51, 70, 82, 66, 68, 66,
- 54, 46, 54, 38, 24, 30, 12, 9, 11, 55,
- 30, 24, 11, 24, 8, 6, 3, 13, 19, 25,
- 31, 57, 19, 43, 69, 51, 73, 3, 64, 46,
- 30, 10, 10, 1, 9, 17, 21, 12, 92, 60,
- 46, 34, 56, 20, 8, 5, 7, 13, 72, 44,
- 24, 12, 24, 4, 7, 15, 31, 27, 32, 8,
- 2, 5, 2, 17, 27, 37, 0, 80, 46, 28,
- 14, 32, 6, 1, 5, 15, 124, 37, 19, 1,
- 5, 11, 2, 14, 16, 3, 14, 26, 28, 27,
- 15, 19, 2, 28, 0, 3, 14, 26, 36, 17,
- 1, 24, 28, 33, 25, 33, 37, 27, 7, 23,
- 13, 17, 9, 1, 19, 15, 13, 3, 25, 21,
- 35, 45, 11, 69, 25, 1, 13, 16, 11, 3,
- 32, 7, 11, 5, 24, 21, 19, 55, 60, 68,
- 70, 56, 36, 58, 50, 40, 38, 34, 32, 24,
- 11, 13, 27, 6, 8, 7, 39, 9, 11, 23,
- 23, 23, 19, 21, 49, 43, 47, 66, 64, 62,
- 52, 32, 40, 34, 12, 22, 10, 8, 13, 17,
- 25, 35, 28, 32, 11, 28, 30, 10, 1, 1,
- 5, 11, 9, 19, 35, 39, 47, 55, 73, 27,
- 47, 63, 51, 23, 35, 3, 1, 0, 80, 20,
- 18, 9, 38, 102, 74, 114, 18, 70, 58, 12,
- 21, 37, 47, 99, 99, 105, 11, 84, 56, 38,
- 18, 24, 4, 3, 9, 23, 33, 19, 2, 9,
- 16, 18, 2, 6, 18, 24, 26, 14, 32, 30,
- 2, 70, 62, 42, 28, 16, 4, 39, 49, 57,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 30 */
-
- 82, 12, 31, 82, 12, 31, 21, 6, 44, 22,
- 1, 25, 36, 48, 106, 28, 30, 5, 20, 38,
- 0, 15, 3, 35, 67, 8, 18, 103, 113, 113,
- 46, 5, 9, 20, 38, 0, 21, 0, 28, 4,
- 0, 11, 23, 5, 33, 25, 55, 10, 13, 23,
- 0, 25, 23, 49, 20, 1, 5, 13, 10, 8,
- 44, 0, 0, 0, 5, 59, 67, 10, 3, 7,
- 104, 14, 11, 63, 27, 37, 6, 7, 25, 9,
- 37, 4, 25, 21, 13, 55, 57, 57, 61, 46,
- 1, 16, 31, 1, 29, 15, 13, 17, 43, 27,
- 51, 30, 17, 2, 39, 31, 5, 15, 4, 16,
- 6, 4, 30, 24, 25, 3, 2, 3, 4, 21,
- 24, 3, 20, 38, 10, 34, 34, 20, 23, 22,
- 0, 15, 0, 49, 39, 15, 25, 5, 15, 11,
- 18, 7, 11, 2, 10, 15, 17, 1, 57, 47,
- 15, 63, 7, 23, 18, 3, 21, 38, 2, 3,
- 25, 40, 19, 41, 2, 61, 36, 52, 46, 42,
- 52, 40, 16, 46, 46, 13, 10, 22, 8, 2,
- 21, 6, 3, 7, 2, 9, 23, 0, 7, 53,
- 23, 19, 37, 27, 51, 68, 78, 64, 64, 62,
- 50, 42, 50, 32, 18, 26, 6, 13, 17, 59,
- 26, 20, 13, 20, 4, 0, 9, 17, 25, 29,
- 35, 63, 21, 47, 71, 53, 73, 3, 66, 46,
- 30, 10, 10, 1, 9, 17, 21, 12, 92, 60,
- 46, 34, 58, 20, 8, 3, 7, 11, 74, 44,
- 26, 12, 26, 4, 5, 15, 29, 25, 34, 10,
- 4, 5, 4, 15, 25, 35, 0, 80, 46, 28,
- 14, 34, 6, 0, 3, 13, 124, 35, 17, 1,
- 5, 11, 2, 14, 16, 3, 14, 26, 28, 27,
- 15, 19, 2, 30, 1, 5, 12, 24, 36, 19,
- 3, 24, 28, 33, 27, 33, 35, 25, 5, 21,
- 13, 15, 9, 0, 19, 15, 13, 1, 25, 21,
- 35, 43, 9, 69, 25, 1, 13, 18, 11, 3,
- 34, 7, 11, 5, 26, 23, 19, 57, 58, 66,
- 68, 54, 34, 56, 48, 38, 36, 32, 30, 22,
- 13, 15, 29, 2, 6, 9, 43, 13, 13, 25,
- 23, 25, 19, 21, 49, 43, 45, 62, 60, 58,
- 48, 26, 36, 30, 6, 18, 6, 4, 19, 21,
- 29, 37, 24, 30, 15, 24, 26, 6, 5, 5,
- 9, 15, 13, 23, 41, 43, 51, 59, 75, 31,
- 51, 65, 49, 21, 33, 1, 0, 2, 82, 22,
- 20, 9, 40, 104, 78, 116, 20, 66, 56, 6,
- 27, 43, 53, 105, 103, 107, 11, 84, 56, 38,
- 18, 24, 4, 3, 9, 23, 31, 17, 4, 7,
- 18, 18, 2, 8, 18, 24, 26, 14, 32, 30,
- 2, 68, 58, 38, 24, 12, 0, 43, 53, 59,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 31 */
-
- 80, 12, 31, 80, 12, 31, 17, 8, 44, 22,
- 1, 27, 34, 46, 106, 28, 34, 5, 22, 40,
- 0, 17, 3, 37, 69, 6, 14, 107, 115, 115,
- 52, 3, 9, 22, 40, 0, 21, 2, 28, 2,
- 0, 11, 21, 5, 33, 25, 55, 10, 13, 21,
- 0, 25, 23, 49, 20, 1, 5, 13, 10, 8,
- 44, 0, 0, 0, 3, 59, 67, 10, 5, 7,
- 104, 14, 11, 61, 25, 37, 6, 5, 21, 5,
- 33, 6, 21, 19, 9, 53, 55, 55, 59, 48,
- 1, 18, 29, 1, 27, 13, 9, 17, 43, 27,
- 49, 30, 17, 2, 37, 31, 3, 15, 4, 16,
- 6, 6, 30, 24, 25, 3, 2, 3, 4, 21,
- 24, 3, 18, 38, 8, 34, 34, 20, 27, 22,
- 0, 19, 1, 51, 37, 13, 23, 3, 13, 9,
- 20, 5, 11, 4, 12, 15, 17, 1, 59, 45,
- 13, 63, 7, 23, 20, 3, 23, 40, 2, 3,
- 27, 42, 21, 43, 2, 63, 34, 50, 46, 40,
- 50, 38, 14, 44, 46, 15, 8, 22, 8, 2,
- 21, 4, 5, 9, 0, 11, 25, 1, 9, 57,
- 25, 21, 39, 29, 51, 64, 76, 60, 60, 58,
- 46, 38, 46, 28, 14, 22, 2, 19, 21, 65,
- 22, 16, 17, 16, 0, 3, 13, 21, 29, 35,
- 39, 67, 23, 51, 73, 55, 73, 3, 66, 46,
- 30, 10, 10, 1, 9, 17, 19, 12, 92, 60,
- 46, 34, 60, 22, 10, 3, 5, 9, 76, 46,
- 26, 12, 28, 6, 5, 13, 27, 23, 36, 12,
- 4, 5, 6, 13, 23, 33, 2, 80, 46, 28,
- 14, 36, 8, 2, 1, 11, 124, 35, 17, 0,
- 5, 11, 2, 14, 16, 3, 14, 26, 30, 27,
- 15, 19, 0, 30, 3, 7, 10, 22, 36, 21,
- 5, 24, 28, 35, 29, 35, 33, 23, 3, 21,
- 11, 15, 7, 2, 19, 15, 13, 1, 27, 21,
- 35, 43, 7, 69, 25, 1, 13, 20, 11, 3,
- 36, 7, 11, 5, 28, 25, 19, 59, 56, 66,
- 68, 52, 32, 54, 46, 36, 34, 30, 28, 20,
- 15, 17, 31, 0, 4, 13, 47, 15, 15, 27,
- 25, 25, 19, 21, 49, 45, 43, 58, 56, 54,
- 44, 20, 32, 26, 2, 14, 2, 0, 23, 25,
- 31, 39, 20, 26, 17, 20, 22, 2, 9, 9,
- 13, 19, 17, 27, 45, 47, 55, 63, 77, 35,
- 55, 69, 47, 19, 31, 0, 2, 4, 86, 24,
- 22, 9, 42, 108, 80, 120, 22, 64, 52, 2,
- 33, 49, 59, 111, 107, 109, 11, 84, 56, 38,
- 18, 24, 4, 3, 9, 21, 29, 15, 6, 5,
- 20, 20, 4, 10, 20, 26, 28, 14, 34, 30,
- 2, 66, 56, 34, 20, 8, 3, 47, 57, 61,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 32 */
-
- 76, 10, 33, 76, 10, 33, 15, 10, 44, 22,
- 3, 31, 30, 42, 104, 28, 38, 7, 22, 40,
- 1, 19, 3, 41, 73, 4, 10, 111, 117, 117,
- 56, 1, 11, 22, 40, 1, 21, 4, 28, 0,
- 0, 11, 21, 7, 35, 25, 57, 10, 13, 21,
- 1, 27, 23, 49, 20, 1, 5, 13, 10, 6,
- 44, 0, 0, 0, 3, 61, 67, 10, 7, 9,
- 104, 12, 11, 59, 25, 37, 6, 3, 19, 3,
- 31, 8, 19, 17, 7, 51, 55, 53, 59, 48,
- 1, 18, 29, 1, 27, 13, 7, 17, 43, 27,
- 47, 30, 17, 2, 35, 31, 3, 15, 4, 16,
- 6, 6, 30, 24, 27, 5, 2, 5, 4, 21,
- 22, 5, 16, 38, 6, 32, 34, 18, 31, 20,
- 1, 23, 3, 53, 37, 13, 23, 3, 13, 9,
- 22, 5, 11, 4, 14, 17, 17, 1, 63, 45,
- 13, 63, 7, 25, 20, 3, 25, 40, 2, 3,
- 31, 42, 23, 45, 2, 65, 30, 48, 44, 38,
- 48, 36, 12, 42, 44, 19, 6, 20, 6, 2,
- 23, 2, 7, 11, 1, 13, 27, 3, 11, 61,
- 29, 23, 43, 33, 51, 60, 72, 56, 56, 54,
- 40, 32, 40, 22, 8, 16, 3, 25, 27, 71,
- 18, 12, 21, 10, 5, 9, 19, 27, 35, 41,
- 45, 73, 25, 55, 77, 57, 75, 3, 66, 46,
- 30, 10, 10, 3, 9, 17, 19, 12, 92, 60,
- 46, 34, 62, 22, 10, 3, 5, 9, 76, 46,
- 26, 12, 28, 6, 5, 13, 25, 23, 38, 12,
- 4, 5, 6, 13, 23, 31, 2, 80, 46, 28,
- 14, 36, 8, 2, 1, 11, 124, 35, 17, 0,
- 5, 11, 2, 14, 16, 3, 14, 26, 30, 27,
- 15, 21, 1, 30, 5, 9, 8, 20, 34, 25,
- 9, 22, 26, 37, 33, 37, 33, 23, 1, 21,
- 11, 15, 7, 2, 21, 15, 13, 1, 29, 21,
- 35, 43, 7, 71, 25, 1, 13, 20, 13, 3,
- 36, 9, 13, 5, 28, 27, 21, 61, 54, 64,
- 66, 50, 28, 52, 44, 34, 32, 28, 26, 18,
- 17, 21, 35, 3, 0, 17, 51, 19, 19, 29,
- 27, 27, 19, 21, 49, 47, 43, 52, 50, 50,
- 38, 14, 26, 20, 3, 8, 3, 5, 29, 31,
- 35, 41, 16, 22, 21, 16, 16, 3, 15, 15,
- 19, 23, 23, 33, 51, 51, 61, 67, 81, 39,
- 59, 73, 45, 17, 29, 0, 2, 4, 88, 24,
- 22, 9, 42, 110, 82, 122, 22, 60, 48, 3,
- 41, 55, 65, 117, 113, 113, 11, 84, 54, 36,
- 18, 24, 4, 5, 9, 21, 29, 15, 6, 5,
- 22, 20, 4, 10, 20, 26, 28, 14, 34, 30,
- 0, 62, 52, 30, 16, 4, 7, 53, 61, 63,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 33 */
-
- 74, 10, 33, 74, 10, 33, 11, 14, 46, 24,
- 3, 33, 28, 40, 104, 28, 44, 7, 24, 42,
- 1, 19, 1, 43, 75, 4, 8, 113, 119, 117,
- 62, 2, 11, 24, 42, 1, 19, 8, 30, 0,
- 2, 9, 19, 7, 35, 23, 57, 10, 11, 19,
- 1, 27, 21, 49, 22, 0, 3, 11, 12, 6,
- 44, 0, 0, 0, 1, 61, 67, 12, 7, 9,
- 104, 12, 11, 55, 23, 37, 8, 0, 15, 0,
- 27, 12, 15, 13, 3, 47, 53, 51, 57, 50,
- 0, 20, 27, 0, 25, 11, 3, 15, 41, 25,
- 43, 32, 15, 4, 31, 29, 1, 13, 6, 18,
- 8, 8, 32, 26, 27, 5, 4, 5, 4, 19,
- 22, 5, 16, 38, 6, 32, 34, 18, 33, 20,
- 1, 25, 5, 53, 35, 11, 21, 1, 11, 7,
- 24, 3, 9, 6, 18, 17, 17, 0, 65, 43,
- 11, 63, 5, 25, 22, 1, 25, 42, 2, 3,
- 33, 44, 23, 47, 2, 65, 28, 48, 44, 38,
- 48, 36, 12, 42, 44, 21, 6, 20, 6, 2,
- 23, 2, 7, 11, 1, 13, 29, 3, 11, 63,
- 31, 23, 45, 35, 51, 58, 70, 54, 54, 52,
- 36, 28, 36, 18, 4, 12, 7, 29, 31, 75,
- 16, 10, 23, 6, 9, 13, 23, 31, 39, 45,
- 49, 77, 25, 57, 79, 57, 75, 1, 68, 48,
- 32, 12, 10, 3, 7, 15, 17, 14, 94, 62,
- 48, 34, 64, 24, 12, 1, 3, 7, 78, 48,
- 28, 14, 30, 8, 3, 11, 21, 21, 42, 14,
- 6, 3, 8, 11, 21, 27, 4, 82, 48, 30,
- 16, 38, 10, 4, 0, 9, 124, 33, 15, 2,
- 5, 9, 2, 16, 18, 1, 16, 28, 32, 25,
- 15, 21, 1, 32, 5, 9, 6, 20, 34, 27,
- 11, 22, 26, 37, 35, 37, 31, 21, 0, 19,
- 9, 13, 5, 4, 21, 13, 11, 0, 29, 19,
- 33, 41, 5, 71, 25, 0, 13, 22, 13, 3,
- 38, 9, 13, 3, 30, 27, 21, 61, 54, 64,
- 66, 50, 26, 52, 44, 34, 32, 28, 26, 18,
- 17, 23, 37, 5, 1, 19, 53, 21, 21, 29,
- 27, 27, 17, 19, 47, 47, 41, 48, 46, 46,
- 34, 10, 22, 16, 7, 4, 7, 9, 33, 35,
- 37, 41, 14, 20, 23, 14, 12, 7, 19, 19,
- 23, 27, 27, 37, 55, 53, 65, 69, 83, 41,
- 61, 75, 41, 13, 25, 2, 4, 6, 92, 26,
- 24, 9, 44, 114, 86, 124, 24, 58, 46, 7,
- 47, 59, 69, 121, 117, 115, 9, 86, 54, 36,
- 18, 26, 4, 5, 9, 19, 27, 13, 8, 3,
- 26, 22, 6, 12, 22, 28, 30, 16, 36, 32,
- 0, 60, 50, 28, 14, 2, 9, 57, 63, 63,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 34 */
-
- 72, 10, 33, 72, 10, 33, 7, 16, 46, 24,
- 3, 35, 26, 38, 104, 28, 48, 7, 26, 44,
- 1, 21, 1, 45, 77, 2, 4, 117, 121, 119,
- 68, 4, 11, 26, 44, 1, 19, 10, 30, 1,
- 2, 9, 17, 7, 35, 23, 57, 10, 11, 17,
- 1, 27, 21, 49, 22, 0, 3, 11, 12, 6,
- 44, 0, 0, 0, 0, 61, 67, 12, 9, 9,
- 104, 12, 11, 53, 21, 37, 8, 2, 11, 4,
- 25, 14, 11, 11, 0, 45, 51, 49, 55, 52,
- 0, 22, 25, 0, 25, 9, 0, 15, 41, 25,
- 41, 32, 15, 4, 29, 29, 0, 13, 6, 18,
- 8, 10, 32, 26, 29, 5, 4, 5, 4, 19,
- 22, 5, 14, 38, 4, 32, 34, 18, 37, 20,
- 1, 29, 7, 55, 33, 9, 19, 0, 9, 5,
- 26, 1, 9, 8, 20, 17, 17, 0, 67, 43,
- 9, 63, 5, 25, 24, 1, 27, 44, 2, 3,
- 35, 46, 25, 49, 2, 67, 24, 46, 42, 36,
- 46, 34, 10, 40, 44, 23, 4, 20, 6, 2,
- 23, 0, 9, 13, 3, 15, 31, 5, 13, 67,
- 33, 25, 47, 37, 51, 54, 68, 50, 50, 48,
- 32, 24, 32, 12, 0, 8, 13, 35, 35, 81,
- 12, 6, 27, 2, 13, 17, 27, 35, 43, 51,
- 53, 81, 27, 61, 81, 59, 75, 1, 68, 48,
- 32, 12, 10, 3, 7, 15, 15, 14, 94, 62,
- 48, 34, 66, 24, 14, 1, 1, 5, 80, 50,
- 28, 14, 32, 8, 3, 9, 19, 19, 44, 16,
- 6, 3, 10, 9, 19, 25, 4, 82, 48, 30,
- 16, 40, 12, 6, 2, 7, 124, 33, 15, 2,
- 5, 9, 2, 16, 18, 1, 16, 28, 34, 25,
- 15, 21, 3, 32, 7, 11, 4, 18, 34, 29,
- 13, 22, 26, 39, 37, 39, 29, 19, 2, 19,
- 9, 13, 3, 6, 21, 13, 11, 0, 31, 19,
- 33, 41, 3, 71, 25, 0, 13, 24, 13, 3,
- 40, 9, 13, 3, 32, 29, 21, 63, 52, 64,
- 66, 48, 24, 50, 42, 32, 30, 26, 24, 16,
- 19, 25, 39, 9, 3, 23, 57, 23, 23, 31,
- 29, 27, 17, 19, 47, 49, 39, 44, 42, 42,
- 30, 4, 18, 12, 13, 0, 11, 13, 37, 39,
- 39, 43, 10, 16, 25, 10, 8, 11, 23, 23,
- 27, 31, 31, 41, 59, 57, 69, 73, 85, 45,
- 65, 79, 39, 11, 23, 4, 6, 8, 96, 28,
- 26, 9, 46, 116, 88, 124, 26, 56, 42, 13,
- 53, 65, 75, 125, 121, 117, 9, 86, 54, 36,
- 18, 26, 4, 5, 9, 17, 25, 11, 10, 1,
- 28, 24, 8, 14, 24, 30, 32, 16, 38, 32,
- 0, 58, 46, 24, 10, 1, 13, 61, 67, 65,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 35 */
-
- 70, 10, 33, 70, 10, 33, 3, 20, 48, 24,
- 5, 39, 22, 36, 104, 28, 52, 7, 28, 46,
- 1, 23, 1, 47, 79, 2, 0, 119, 123, 119,
- 74, 6, 11, 28, 46, 1, 17, 12, 32, 1,
- 2, 7, 15, 9, 37, 23, 57, 10, 11, 17,
- 1, 27, 21, 49, 24, 0, 3, 11, 14, 6,
- 44, 0, 0, 0, 0, 61, 67, 14, 11, 9,
- 104, 12, 11, 51, 19, 37, 10, 4, 7, 8,
- 21, 16, 7, 9, 4, 43, 49, 47, 53, 54,
- 0, 24, 23, 0, 23, 9, 4, 15, 39, 23,
- 39, 32, 15, 6, 25, 27, 2, 13, 6, 18,
- 8, 12, 34, 28, 29, 5, 4, 5, 4, 19,
- 22, 7, 14, 38, 2, 32, 34, 18, 41, 20,
- 3, 33, 9, 57, 31, 7, 17, 2, 7, 5,
- 28, 1, 7, 10, 22, 17, 17, 0, 69, 41,
- 7, 63, 5, 25, 26, 1, 29, 46, 2, 3,
- 37, 48, 25, 51, 2, 69, 22, 44, 42, 34,
- 44, 32, 10, 38, 42, 25, 2, 20, 6, 2,
- 25, 1, 11, 15, 5, 17, 33, 7, 13, 71,
- 35, 25, 49, 39, 51, 52, 64, 48, 46, 44,
- 28, 20, 28, 8, 5, 4, 17, 39, 41, 85,
- 8, 2, 29, 1, 17, 23, 33, 39, 49, 55,
- 57, 87, 29, 65, 83, 61, 75, 1, 70, 48,
- 32, 12, 10, 3, 7, 15, 15, 14, 94, 62,
- 48, 34, 68, 26, 14, 0, 1, 3, 82, 50,
- 30, 14, 34, 10, 1, 9, 17, 17, 46, 18,
- 8, 3, 12, 7, 17, 23, 6, 82, 48, 30,
- 16, 42, 12, 8, 4, 5, 124, 31, 13, 4,
- 5, 9, 2, 16, 18, 1, 16, 28, 34, 25,
- 15, 21, 3, 34, 9, 13, 2, 16, 34, 31,
- 15, 22, 26, 39, 39, 39, 27, 17, 4, 17,
- 7, 11, 3, 8, 21, 13, 11, 2, 31, 19,
- 33, 39, 1, 71, 25, 0, 13, 26, 13, 3,
- 42, 9, 13, 3, 34, 31, 21, 65, 50, 62,
- 64, 46, 22, 48, 40, 30, 28, 24, 22, 14,
- 21, 27, 41, 11, 5, 25, 61, 27, 25, 33,
- 29, 29, 17, 19, 47, 49, 37, 40, 38, 38,
- 26, 1, 14, 8, 17, 3, 15, 17, 43, 43,
- 43, 45, 6, 14, 29, 6, 4, 15, 27, 27,
- 31, 35, 35, 45, 65, 61, 73, 77, 87, 49,
- 69, 81, 37, 9, 21, 6, 8, 10, 98, 30,
- 28, 9, 48, 120, 92, 124, 28, 52, 40, 17,
- 59, 71, 81, 125, 125, 119, 9, 86, 54, 36,
- 18, 26, 4, 5, 9, 17, 23, 9, 12, 0,
- 30, 24, 8, 16, 24, 30, 32, 16, 38, 32,
- 0, 56, 44, 20, 6, 5, 17, 65, 71, 67,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 36 */
-
- 66, 10, 33, 66, 10, 33, 1, 22, 48, 24,
- 5, 41, 20, 32, 104, 28, 58, 9, 30, 46,
- 1, 25, 1, 49, 81, 0, 3, 123, 125, 121,
- 80, 8, 11, 30, 46, 1, 17, 14, 32, 3,
- 2, 7, 15, 9, 37, 21, 57, 10, 11, 15,
- 3, 29, 21, 49, 24, 2, 3, 9, 14, 6,
- 44, 0, 0, 0, 2, 63, 67, 14, 13, 9,
- 104, 12, 11, 49, 17, 37, 10, 8, 5, 12,
- 19, 18, 5, 5, 8, 41, 49, 45, 53, 54,
- 0, 26, 21, 0, 23, 7, 8, 15, 39, 23,
- 37, 32, 13, 6, 23, 27, 2, 13, 8, 18,
- 8, 12, 34, 28, 31, 7, 4, 5, 4, 19,
- 22, 7, 12, 38, 2, 32, 34, 16, 45, 20,
- 3, 37, 11, 59, 29, 5, 15, 4, 7, 3,
- 30, 0, 7, 12, 24, 17, 17, 2, 71, 41,
- 5, 63, 5, 25, 26, 1, 31, 48, 2, 3,
- 41, 50, 27, 53, 2, 71, 18, 42, 40, 32,
- 42, 30, 8, 36, 42, 29, 0, 18, 6, 2,
- 25, 3, 11, 17, 5, 19, 35, 9, 15, 75,
- 37, 27, 51, 41, 51, 48, 62, 44, 42, 40,
- 24, 14, 24, 2, 9, 0, 23, 45, 45, 91,
- 4, 0, 33, 7, 21, 27, 37, 45, 53, 61,
- 61, 91, 31, 67, 87, 63, 75, 1, 70, 50,
- 32, 12, 10, 3, 7, 15, 13, 16, 96, 62,
- 48, 34, 70, 26, 16, 0, 0, 3, 84, 52,
- 30, 14, 34, 10, 1, 7, 15, 17, 48, 18,
- 8, 3, 14, 5, 17, 21, 6, 84, 48, 30,
- 16, 44, 14, 8, 6, 3, 124, 31, 13, 4,
- 5, 9, 2, 16, 18, 0, 16, 28, 36, 25,
- 15, 21, 5, 34, 11, 15, 0, 14, 34, 35,
- 17, 20, 26, 41, 41, 41, 27, 17, 6, 17,
- 7, 11, 1, 10, 23, 13, 11, 2, 33, 19,
- 33, 39, 0, 71, 25, 2, 13, 26, 13, 3,
- 44, 9, 15, 3, 36, 31, 23, 67, 48, 62,
- 64, 44, 20, 46, 38, 28, 26, 22, 20, 12,
- 23, 29, 43, 15, 9, 29, 65, 29, 27, 35,
- 31, 29, 17, 19, 47, 51, 37, 34, 32, 34,
- 20, 7, 10, 4, 23, 7, 19, 21, 47, 47,
- 45, 47, 2, 10, 31, 2, 0, 19, 31, 33,
- 35, 39, 39, 49, 69, 65, 77, 81, 89, 53,
- 73, 85, 35, 7, 19, 6, 10, 12, 102, 32,
- 30, 9, 50, 122, 94, 124, 28, 50, 36, 23,
- 65, 77, 87, 125, 125, 121, 9, 86, 54, 36,
- 18, 26, 4, 5, 9, 15, 21, 7, 14, 0,
- 32, 26, 10, 18, 26, 32, 34, 18, 40, 34,
- 0, 52, 40, 16, 2, 9, 21, 69, 75, 69,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 37 */
-
- 64, 10, 33, 64, 10, 33, 2, 26, 48, 24,
- 7, 45, 16, 30, 104, 28, 62, 9, 32, 48,
- 1, 25, 0, 51, 83, 0, 7, 125, 125, 121,
- 86, 12, 11, 32, 48, 1, 17, 16, 32, 3,
- 2, 7, 13, 9, 39, 21, 57, 10, 11, 13,
- 3, 29, 21, 49, 26, 2, 1, 9, 16, 6,
- 44, 0, 0, 0, 2, 63, 67, 16, 15, 9,
- 104, 12, 11, 47, 15, 37, 12, 10, 1, 16,
- 15, 20, 1, 3, 12, 39, 47, 43, 51, 56,
- 0, 28, 19, 0, 21, 5, 12, 15, 39, 21,
- 33, 34, 13, 8, 21, 25, 4, 13, 8, 20,
- 10, 14, 36, 30, 31, 7, 4, 5, 4, 19,
- 22, 9, 10, 38, 0, 32, 34, 16, 49, 20,
- 5, 39, 13, 61, 27, 3, 13, 6, 5, 1,
- 32, 2, 5, 14, 26, 17, 17, 2, 73, 39,
- 3, 63, 3, 25, 28, 1, 33, 50, 2, 3,
- 43, 52, 27, 55, 2, 71, 16, 40, 40, 30,
- 40, 28, 6, 36, 42, 31, 1, 18, 6, 2,
- 27, 3, 13, 19, 7, 21, 37, 9, 17, 79,
- 39, 29, 53, 43, 51, 44, 60, 40, 38, 38,
- 20, 10, 20, 1, 13, 3, 27, 49, 49, 95,
- 0, 3, 37, 11, 25, 31, 41, 49, 57, 67,
- 65, 97, 33, 71, 89, 63, 75, 1, 70, 50,
- 32, 12, 10, 3, 7, 15, 13, 16, 96, 62,
- 48, 34, 72, 28, 18, 0, 2, 1, 86, 54,
- 30, 16, 36, 12, 0, 7, 13, 15, 52, 20,
- 8, 1, 16, 3, 15, 19, 8, 84, 50, 30,
- 16, 46, 16, 10, 8, 1, 124, 31, 13, 6,
- 5, 9, 2, 16, 18, 0, 16, 30, 36, 25,
- 15, 21, 7, 36, 13, 17, 1, 14, 34, 37,
- 19, 20, 26, 43, 43, 41, 25, 15, 8, 15,
- 5, 9, 1, 12, 23, 13, 11, 2, 35, 19,
- 33, 37, 2, 71, 25, 2, 13, 28, 13, 3,
- 46, 9, 15, 3, 38, 33, 23, 67, 46, 62,
- 62, 44, 18, 44, 36, 26, 26, 20, 18, 10,
- 25, 31, 45, 17, 11, 31, 69, 31, 29, 37,
- 33, 31, 17, 17, 47, 51, 35, 30, 28, 30,
- 16, 11, 6, 0, 27, 11, 23, 25, 51, 51,
- 49, 49, 1, 6, 33, 1, 3, 23, 35, 37,
- 39, 43, 43, 53, 75, 69, 81, 85, 91, 57,
- 77, 87, 33, 3, 17, 8, 12, 14, 106, 34,
- 32, 9, 52, 124, 98, 124, 30, 46, 32, 27,
- 71, 81, 93, 125, 125, 123, 9, 86, 54, 36,
- 18, 26, 4, 5, 9, 15, 19, 5, 16, 2,
- 34, 28, 10, 20, 28, 34, 36, 18, 40, 34,
- 0, 50, 38, 14, 0, 13, 25, 73, 79, 71,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 38 */
-
- 62, 10, 35, 62, 10, 35, 6, 28, 50, 24,
- 7, 47, 14, 28, 104, 28, 66, 9, 32, 50,
- 1, 27, 0, 53, 85, 1, 9, 125, 125, 123,
- 92, 14, 11, 32, 50, 1, 15, 18, 34, 5,
- 4, 5, 11, 11, 39, 21, 57, 10, 9, 13,
- 3, 29, 19, 49, 26, 2, 1, 9, 16, 6,
- 44, 0, 0, 0, 4, 63, 67, 16, 15, 11,
- 104, 12, 11, 45, 15, 37, 12, 12, 2, 20,
- 13, 22, 2, 1, 16, 37, 45, 41, 49, 58,
- 0, 30, 19, 2, 21, 5, 16, 15, 37, 21,
- 31, 34, 13, 8, 17, 25, 6, 11, 8, 20,
- 10, 16, 36, 30, 33, 7, 4, 5, 4, 19,
- 22, 9, 10, 38, 1, 32, 34, 16, 53, 20,
- 5, 43, 15, 63, 27, 1, 13, 6, 3, 1,
- 34, 2, 5, 14, 30, 17, 17, 2, 75, 39,
- 1, 63, 3, 25, 30, 0, 35, 50, 2, 3,
- 45, 54, 29, 57, 2, 73, 12, 38, 38, 30,
- 38, 28, 6, 34, 40, 33, 3, 18, 6, 2,
- 27, 5, 15, 21, 9, 21, 39, 11, 17, 83,
- 41, 29, 55, 45, 51, 42, 56, 38, 34, 34,
- 16, 6, 16, 7, 19, 7, 33, 55, 55, 101,
- 3, 7, 39, 15, 31, 37, 47, 53, 63, 71,
- 71, 101, 35, 75, 91, 65, 75, 0, 72, 50,
- 34, 12, 10, 3, 7, 15, 11, 16, 96, 64,
- 48, 34, 74, 28, 18, 2, 2, 0, 88, 54,
- 32, 16, 38, 12, 0, 5, 11, 13, 54, 22,
- 10, 1, 16, 3, 13, 15, 8, 84, 50, 30,
- 18, 46, 16, 12, 8, 0, 124, 29, 11, 6,
- 5, 9, 2, 16, 18, 0, 18, 30, 38, 25,
- 15, 23, 7, 36, 15, 19, 3, 12, 34, 39,
- 21, 20, 26, 43, 45, 43, 23, 13, 10, 15,
- 5, 9, 0, 12, 23, 11, 9, 4, 35, 19,
- 33, 37, 4, 71, 25, 2, 13, 30, 13, 3,
- 48, 11, 15, 3, 38, 35, 23, 69, 44, 60,
- 62, 42, 16, 44, 36, 24, 24, 20, 16, 8,
- 27, 33, 47, 21, 13, 35, 73, 35, 33, 39,
- 33, 31, 17, 17, 45, 53, 33, 26, 24, 26,
- 12, 17, 2, 3, 33, 15, 29, 29, 57, 55,
- 51, 49, 3, 4, 37, 5, 9, 27, 39, 41,
- 43, 47, 49, 57, 79, 73, 85, 87, 95, 61,
- 81, 91, 31, 1, 15, 10, 14, 16, 108, 36,
- 34, 9, 54, 124, 100, 124, 32, 44, 30, 33,
- 77, 87, 97, 125, 125, 125, 7, 86, 54, 36,
- 18, 26, 4, 5, 9, 13, 17, 5, 18, 4,
- 36, 28, 12, 22, 28, 34, 36, 18, 42, 34,
- 0, 48, 34, 10, 3, 15, 27, 79, 81, 73,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 39 */
-
- 60, 10, 35, 60, 10, 35, 10, 32, 50, 24,
- 9, 51, 10, 24, 104, 28, 72, 11, 34, 50,
- 1, 29, 0, 55, 87, 1, 13, 125, 125, 123,
- 98, 16, 11, 34, 50, 1, 15, 20, 34, 5,
- 4, 5, 11, 11, 41, 19, 57, 10, 9, 11,
- 5, 29, 19, 49, 28, 4, 1, 7, 18, 6,
- 44, 0, 0, 0, 4, 63, 67, 18, 17, 11,
- 104, 12, 11, 43, 13, 37, 14, 16, 4, 24,
- 9, 24, 4, 2, 20, 35, 43, 39, 49, 60,
- 0, 32, 17, 2, 19, 3, 20, 15, 37, 19,
- 29, 34, 11, 10, 15, 23, 6, 11, 10, 20,
- 10, 18, 38, 32, 33, 9, 4, 5, 4, 19,
- 22, 11, 8, 38, 1, 32, 34, 14, 57, 20,
- 7, 47, 17, 65, 25, 0, 11, 8, 1, 0,
- 36, 4, 3, 16, 32, 17, 17, 4, 77, 37,
- 0, 63, 3, 25, 30, 0, 37, 52, 2, 3,
- 49, 56, 29, 59, 2, 75, 10, 36, 38, 28,
- 36, 26, 4, 32, 40, 35, 5, 18, 6, 2,
- 29, 7, 15, 23, 9, 23, 41, 13, 19, 87,
- 43, 31, 57, 47, 51, 38, 54, 34, 30, 30,
- 12, 0, 12, 11, 23, 11, 37, 59, 59, 105,
- 7, 9, 43, 21, 35, 41, 51, 59, 67, 77,
- 75, 107, 37, 77, 95, 67, 75, 0, 72, 52,
- 34, 12, 10, 3, 7, 15, 11, 18, 98, 64,
- 48, 34, 76, 30, 20, 2, 4, 2, 90, 56,
- 32, 16, 40, 14, 2, 5, 9, 13, 56, 22,
- 10, 1, 18, 1, 13, 13, 10, 86, 50, 30,
- 18, 48, 18, 14, 10, 2, 124, 29, 11, 8,
- 5, 9, 2, 16, 18, 2, 18, 30, 38, 25,
- 15, 23, 9, 38, 17, 21, 5, 10, 34, 41,
- 23, 18, 26, 45, 47, 43, 21, 13, 12, 13,
- 3, 7, 0, 14, 23, 11, 9, 4, 37, 19,
- 33, 35, 6, 71, 25, 4, 13, 30, 13, 3,
- 50, 11, 15, 3, 40, 35, 25, 71, 42, 60,
- 60, 40, 14, 42, 34, 22, 22, 18, 14, 6,
- 29, 35, 49, 23, 17, 37, 77, 37, 35, 41,
- 35, 33, 17, 17, 45, 53, 31, 22, 20, 22,
- 6, 23, 1, 7, 37, 19, 33, 33, 61, 59,
- 55, 51, 7, 0, 39, 9, 13, 31, 43, 45,
- 47, 51, 53, 61, 85, 77, 89, 91, 97, 65,
- 85, 93, 29, 0, 13, 10, 16, 18, 112, 38,
- 36, 9, 56, 124, 104, 124, 32, 40, 26, 37,
- 83, 93, 103, 125, 125, 125, 7, 86, 54, 36,
- 18, 26, 4, 5, 9, 13, 15, 3, 20, 6,
- 38, 30, 12, 24, 30, 36, 38, 20, 42, 36,
- 0, 44, 32, 6, 7, 19, 31, 83, 85, 75,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 40 */
-
- 56, 8, 35, 56, 8, 35, 12, 34, 50, 24,
- 9, 53, 8, 22, 104, 28, 76, 11, 36, 52,
- 1, 31, 0, 57, 91, 3, 17, 125, 125, 125,
- 102, 18, 11, 36, 52, 1, 15, 22, 34, 7,
- 4, 5, 9, 13, 41, 19, 59, 10, 9, 11,
- 5, 31, 19, 49, 28, 4, 1, 7, 18, 6,
- 44, 0, 0, 0, 6, 65, 67, 18, 19, 11,
- 104, 12, 11, 41, 11, 37, 14, 18, 8, 28,
- 7, 26, 8, 4, 22, 33, 43, 37, 47, 60,
- 0, 34, 15, 2, 19, 3, 22, 15, 37, 19,
- 27, 34, 11, 10, 13, 23, 8, 11, 10, 20,
- 10, 18, 38, 32, 35, 9, 4, 5, 4, 19,
- 22, 11, 6, 38, 3, 32, 34, 14, 61, 20,
- 7, 51, 19, 67, 23, 2, 9, 10, 1, 0,
- 38, 4, 3, 18, 34, 17, 17, 4, 81, 37,
- 2, 63, 3, 27, 32, 0, 39, 54, 2, 3,
- 51, 58, 31, 61, 2, 77, 6, 34, 36, 26,
- 34, 24, 2, 30, 38, 39, 7, 16, 6, 2,
- 29, 9, 17, 25, 11, 25, 43, 15, 21, 91,
- 47, 33, 59, 49, 51, 34, 50, 30, 26, 26,
- 8, 3, 8, 17, 29, 15, 43, 65, 65, 111,
- 11, 13, 47, 25, 39, 47, 57, 63, 73, 83,
- 79, 111, 39, 81, 97, 69, 77, 0, 72, 52,
- 34, 12, 10, 3, 7, 15, 9, 18, 98, 64,
- 48, 34, 78, 30, 20, 2, 4, 2, 92, 56,
- 32, 16, 40, 14, 2, 3, 7, 11, 58, 24,
- 10, 1, 20, 0, 11, 11, 10, 86, 50, 30,
- 18, 50, 18, 14, 12, 2, 124, 29, 11, 8,
- 5, 9, 2, 16, 18, 2, 18, 30, 40, 25,
- 15, 23, 11, 38, 19, 23, 7, 8, 34, 45,
- 27, 18, 26, 47, 49, 45, 21, 11, 14, 13,
- 3, 7, 2, 16, 25, 11, 9, 4, 39, 19,
- 33, 35, 6, 73, 25, 4, 13, 32, 13, 3,
- 50, 11, 17, 3, 42, 37, 25, 73, 40, 58,
- 60, 38, 10, 40, 32, 20, 20, 16, 12, 4,
- 31, 37, 51, 27, 19, 41, 81, 41, 37, 43,
- 37, 33, 17, 17, 45, 55, 31, 16, 14, 18,
- 2, 29, 7, 13, 43, 23, 37, 37, 67, 63,
- 57, 53, 11, 3, 43, 13, 17, 37, 49, 51,
- 53, 55, 57, 67, 89, 81, 95, 95, 99, 69,
- 89, 97, 27, 2, 11, 12, 18, 18, 114, 40,
- 36, 9, 56, 124, 106, 124, 34, 38, 22, 43,
- 89, 99, 109, 125, 125, 125, 7, 86, 54, 36,
- 18, 26, 4, 5, 9, 11, 15, 1, 22, 6,
- 40, 30, 14, 24, 30, 36, 38, 20, 44, 36,
- 1, 42, 28, 2, 11, 23, 35, 87, 89, 77,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 41 */
-
- 54, 8, 35, 54, 8, 35, 16, 36, 52, 24,
- 9, 55, 6, 20, 104, 28, 80, 11, 38, 54,
- 1, 31, 2, 59, 93, 5, 21, 125, 125, 125,
- 108, 22, 11, 38, 54, 1, 13, 24, 36, 9,
- 4, 3, 7, 13, 41, 19, 59, 10, 9, 9,
- 5, 31, 19, 49, 28, 4, 0, 7, 18, 6,
- 44, 0, 0, 0, 8, 65, 67, 18, 21, 11,
- 104, 12, 11, 39, 9, 37, 14, 20, 12, 32,
- 3, 30, 12, 6, 26, 31, 41, 35, 45, 62,
- 2, 36, 13, 2, 17, 1, 26, 15, 35, 19,
- 23, 36, 11, 10, 9, 23, 10, 11, 10, 22,
- 12, 20, 38, 32, 35, 9, 6, 5, 4, 17,
- 22, 11, 6, 38, 5, 32, 34, 14, 65, 20,
- 7, 53, 21, 67, 21, 4, 7, 12, 0, 2,
- 40, 6, 3, 20, 36, 17, 17, 4, 83, 35,
- 4, 63, 1, 27, 34, 0, 41, 56, 2, 3,
- 53, 60, 33, 63, 2, 77, 4, 32, 36, 24,
- 32, 22, 2, 30, 38, 41, 9, 16, 6, 2,
- 29, 9, 19, 27, 13, 27, 45, 15, 21, 93,
- 49, 33, 61, 51, 51, 32, 48, 28, 24, 24,
- 4, 7, 4, 21, 33, 19, 47, 71, 69, 117,
- 13, 17, 49, 29, 43, 51, 61, 67, 77, 87,
- 83, 115, 39, 85, 99, 69, 77, 0, 74, 52,
- 34, 14, 10, 3, 5, 15, 7, 18, 98, 64,
- 50, 34, 80, 32, 22, 4, 6, 4, 94, 58,
- 34, 18, 42, 16, 2, 1, 5, 9, 62, 26,
- 12, 0, 22, 2, 9, 9, 12, 86, 52, 32,
- 18, 52, 20, 16, 14, 4, 124, 27, 9, 10,
- 5, 9, 2, 18, 20, 2, 18, 32, 42, 25,
- 15, 23, 11, 38, 21, 23, 9, 8, 34, 47,
- 29, 18, 26, 47, 51, 47, 19, 9, 16, 13,
- 1, 7, 4, 18, 25, 11, 9, 6, 39, 19,
- 33, 35, 8, 73, 25, 4, 13, 34, 13, 3,
- 52, 11, 17, 3, 44, 39, 25, 73, 38, 58,
- 60, 38, 8, 38, 30, 18, 20, 14, 10, 4,
- 31, 39, 53, 29, 21, 45, 85, 43, 39, 43,
- 37, 33, 15, 15, 45, 57, 29, 12, 10, 14,
- 1, 33, 11, 17, 47, 27, 41, 41, 71, 67,
- 59, 55, 15, 5, 45, 17, 21, 41, 53, 55,
- 57, 59, 61, 71, 93, 83, 99, 99, 101, 73,
- 93, 101, 25, 6, 7, 14, 20, 20, 118, 42,
- 38, 9, 58, 124, 108, 124, 36, 36, 20, 47,
- 95, 103, 115, 125, 125, 125, 7, 86, 54, 36,
- 18, 28, 4, 5, 9, 9, 13, 0, 24, 8,
- 44, 32, 16, 26, 32, 38, 40, 20, 46, 36,
- 1, 40, 26, 0, 13, 27, 39, 91, 93, 77,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 42 */
-
- 52, 8, 35, 52, 8, 35, 20, 40, 52, 24,
- 11, 59, 2, 16, 104, 28, 86, 13, 40, 54,
- 1, 33, 2, 61, 95, 5, 25, 125, 125, 125,
- 114, 24, 11, 40, 54, 1, 13, 26, 36, 9,
- 4, 3, 7, 13, 43, 17, 59, 10, 9, 7,
- 7, 31, 19, 49, 30, 6, 0, 5, 20, 6,
- 44, 0, 0, 0, 8, 65, 67, 20, 23, 11,
- 104, 12, 11, 37, 7, 37, 16, 24, 14, 36,
- 1, 32, 14, 10, 30, 29, 39, 33, 45, 64,
- 2, 38, 11, 2, 17, 0, 30, 15, 35, 17,
- 21, 36, 9, 12, 7, 21, 10, 11, 12, 22,
- 12, 22, 40, 34, 37, 11, 6, 5, 4, 17,
- 22, 13, 4, 38, 5, 32, 34, 12, 69, 20,
- 9, 57, 23, 69, 19, 6, 5, 14, 2, 4,
- 42, 8, 1, 22, 38, 17, 17, 6, 85, 35,
- 6, 63, 1, 27, 34, 0, 43, 58, 2, 3,
- 57, 62, 33, 65, 2, 79, 0, 30, 34, 22,
- 30, 20, 0, 28, 38, 43, 11, 16, 6, 2,
- 31, 11, 19, 29, 13, 29, 47, 17, 23, 97,
- 51, 35, 63, 53, 51, 28, 46, 24, 20, 20,
- 0, 13, 0, 27, 37, 23, 53, 75, 73, 121,
- 17, 19, 53, 35, 47, 55, 65, 73, 81, 93,
- 87, 121, 41, 87, 103, 71, 77, 0, 74, 54,
- 34, 14, 10, 3, 5, 15, 7, 20, 100, 64,
- 50, 34, 82, 32, 24, 4, 8, 6, 96, 60,
- 34, 18, 44, 16, 4, 1, 3, 9, 64, 26,
- 12, 0, 24, 4, 9, 7, 12, 88, 52, 32,
- 18, 54, 22, 18, 16, 6, 124, 27, 9, 10,
- 5, 9, 2, 18, 20, 4, 18, 32, 42, 25,
- 15, 23, 13, 40, 23, 25, 11, 6, 34, 49,
- 31, 16, 26, 49, 53, 47, 17, 9, 18, 11,
- 1, 5, 4, 20, 25, 11, 9, 6, 41, 19,
- 33, 33, 10, 73, 25, 6, 13, 34, 13, 3,
- 54, 11, 17, 3, 46, 39, 27, 75, 36, 58,
- 58, 36, 6, 36, 28, 16, 18, 12, 8, 2,
- 33, 41, 55, 33, 25, 47, 89, 45, 41, 45,
- 39, 35, 15, 15, 45, 57, 27, 8, 6, 10,
- 7, 39, 15, 21, 53, 31, 45, 45, 75, 71,
- 63, 57, 19, 9, 47, 21, 25, 45, 57, 59,
- 61, 63, 65, 75, 99, 87, 103, 103, 103, 77,
- 97, 103, 23, 8, 5, 14, 22, 22, 122, 44,
- 40, 9, 60, 124, 112, 124, 36, 32, 16, 53,
- 101, 109, 121, 125, 125, 125, 7, 86, 54, 36,
- 18, 28, 4, 5, 9, 9, 11, 2, 26, 10,
- 46, 34, 16, 28, 34, 40, 42, 22, 46, 38,
- 1, 36, 22, 3, 17, 31, 43, 95, 97, 79,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 43 */
-
- 50, 8, 37, 50, 8, 37, 24, 42, 54, 24,
- 11, 61, 0, 14, 104, 28, 90, 13, 40, 56,
- 1, 35, 2, 63, 97, 7, 27, 125, 125, 125,
- 120, 26, 11, 40, 56, 1, 11, 28, 38, 11,
- 6, 1, 5, 15, 43, 17, 59, 10, 7, 7,
- 7, 31, 17, 49, 30, 6, 0, 5, 20, 6,
- 44, 0, 0, 0, 10, 65, 67, 20, 23, 13,
- 104, 12, 11, 35, 7, 37, 16, 26, 18, 40,
- 2, 34, 18, 12, 34, 27, 37, 31, 43, 66,
- 2, 40, 11, 4, 15, 0, 34, 15, 33, 17,
- 19, 36, 9, 12, 3, 21, 12, 9, 12, 22,
- 12, 24, 40, 34, 37, 11, 6, 5, 4, 17,
- 22, 13, 4, 38, 7, 32, 34, 12, 73, 20,
- 9, 61, 25, 71, 19, 8, 5, 14, 4, 4,
- 44, 8, 1, 22, 42, 17, 17, 6, 87, 33,
- 8, 63, 1, 27, 36, 2, 45, 58, 2, 3,
- 59, 64, 35, 67, 2, 81, 1, 28, 34, 22,
- 28, 20, 0, 26, 36, 45, 13, 16, 6, 2,
- 31, 13, 21, 31, 15, 29, 49, 19, 23, 101,
- 53, 35, 65, 55, 51, 26, 42, 22, 16, 16,
- 3, 17, 3, 31, 43, 27, 57, 81, 79, 125,
- 21, 23, 55, 39, 53, 61, 71, 77, 87, 97,
- 93, 125, 43, 91, 105, 73, 77, 2, 76, 54,
- 36, 14, 10, 3, 5, 15, 5, 20, 100, 66,
- 50, 34, 84, 34, 24, 6, 8, 8, 98, 60,
- 36, 18, 46, 18, 4, 0, 1, 7, 66, 28,
- 14, 0, 24, 4, 7, 3, 14, 88, 52, 32,
- 20, 54, 22, 20, 16, 8, 124, 25, 7, 12,
- 5, 9, 2, 18, 20, 4, 20, 32, 44, 25,
- 15, 25, 13, 40, 25, 27, 13, 4, 34, 51,
- 33, 16, 26, 49, 55, 49, 15, 7, 20, 11,
- 0, 5, 6, 20, 25, 9, 7, 8, 41, 19,
- 33, 33, 12, 73, 25, 6, 13, 36, 13, 3,
- 56, 13, 17, 3, 46, 41, 27, 77, 34, 56,
- 58, 34, 4, 36, 28, 14, 16, 12, 6, 0,
- 35, 43, 57, 35, 27, 51, 93, 49, 45, 47,
- 39, 35, 15, 15, 43, 59, 25, 4, 2, 6,
- 11, 45, 19, 25, 57, 35, 51, 49, 81, 75,
- 65, 57, 21, 11, 51, 25, 31, 49, 61, 63,
- 65, 67, 71, 79, 103, 91, 107, 105, 107, 81,
- 101, 107, 21, 10, 3, 16, 24, 24, 124, 46,
- 42, 9, 62, 124, 114, 124, 38, 30, 14, 57,
- 107, 115, 125, 125, 125, 125, 5, 86, 54, 36,
- 18, 28, 4, 5, 9, 7, 9, 2, 28, 12,
- 48, 34, 18, 30, 34, 40, 42, 22, 48, 38,
- 1, 34, 20, 7, 21, 33, 45, 101, 99, 81,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 44 */
-
- 46, 8, 37, 46, 8, 37, 26, 46, 54, 24,
- 13, 65, 3, 12, 104, 28, 94, 13, 42, 58,
- 1, 37, 2, 65, 99, 7, 31, 125, 125, 125,
- 124, 28, 11, 42, 58, 1, 11, 30, 38, 11,
- 6, 1, 3, 15, 45, 17, 59, 10, 7, 5,
- 7, 33, 17, 49, 32, 6, 0, 5, 22, 6,
- 44, 0, 0, 0, 10, 67, 67, 22, 25, 13,
- 104, 12, 11, 33, 5, 37, 18, 28, 22, 44,
- 4, 36, 22, 14, 38, 25, 37, 29, 41, 66,
- 2, 42, 9, 4, 15, 2, 38, 15, 33, 15,
- 17, 36, 9, 14, 1, 19, 14, 9, 12, 22,
- 12, 24, 42, 36, 39, 11, 6, 5, 4, 17,
- 22, 15, 2, 38, 9, 32, 34, 12, 77, 20,
- 11, 65, 27, 73, 17, 10, 3, 16, 4, 6,
- 46, 10, 0, 24, 44, 17, 17, 6, 89, 33,
- 10, 63, 1, 27, 38, 2, 47, 60, 2, 3,
- 61, 66, 35, 69, 2, 83, 5, 26, 32, 20,
- 26, 18, 1, 24, 36, 49, 15, 14, 6, 2,
- 33, 15, 23, 33, 17, 31, 51, 21, 25, 105,
- 55, 37, 67, 57, 51, 22, 40, 18, 12, 12,
- 7, 21, 7, 37, 47, 31, 63, 85, 83, 125,
- 25, 27, 59, 43, 57, 65, 75, 81, 91, 103,
- 97, 125, 45, 95, 107, 75, 77, 2, 76, 54,
- 36, 14, 10, 3, 5, 15, 5, 20, 100, 66,
- 50, 34, 86, 34, 26, 6, 10, 8, 100, 62,
- 36, 18, 46, 18, 6, 0, 0, 5, 68, 30,
- 14, 0, 26, 6, 5, 1, 14, 88, 52, 32,
- 20, 56, 24, 20, 18, 10, 124, 25, 7, 12,
- 5, 9, 2, 18, 20, 4, 20, 32, 44, 25,
- 15, 25, 15, 42, 27, 29, 15, 2, 34, 55,
- 35, 16, 26, 51, 57, 49, 15, 5, 22, 9,
- 0, 3, 6, 22, 27, 9, 7, 8, 43, 19,
- 33, 31, 14, 73, 25, 6, 13, 38, 13, 3,
- 58, 13, 19, 3, 48, 43, 27, 79, 32, 56,
- 56, 32, 2, 34, 26, 12, 14, 10, 4, 1,
- 37, 45, 59, 39, 29, 53, 97, 51, 47, 49,
- 41, 37, 15, 15, 43, 59, 25, 1, 3, 2,
- 15, 51, 23, 29, 63, 39, 55, 53, 85, 79,
- 69, 59, 25, 15, 53, 29, 35, 53, 65, 69,
- 69, 71, 75, 83, 109, 95, 111, 109, 109, 85,
- 105, 109, 19, 12, 1, 18, 26, 26, 124, 48,
- 44, 9, 64, 124, 118, 124, 40, 26, 10, 63,
- 113, 121, 125, 125, 125, 125, 5, 86, 54, 36,
- 18, 28, 4, 5, 9, 7, 7, 4, 30, 12,
- 50, 36, 18, 32, 36, 42, 44, 22, 48, 38,
- 1, 32, 16, 11, 25, 37, 49, 105, 103, 83,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 45 */
-
- 44, 8, 37, 44, 8, 37, 30, 48, 54, 24,
- 13, 67, 5, 8, 104, 28, 100, 15, 44, 58,
- 1, 37, 4, 67, 101, 9, 35, 125, 125, 125,
- 124, 32, 11, 44, 58, 1, 11, 32, 38, 13,
- 6, 1, 3, 15, 45, 15, 59, 10, 7, 3,
- 9, 33, 17, 49, 32, 8, 2, 3, 22, 6,
- 44, 0, 0, 0, 12, 67, 67, 22, 27, 13,
- 104, 12, 11, 31, 3, 37, 18, 32, 24, 48,
- 8, 38, 24, 18, 42, 23, 35, 27, 41, 68,
- 2, 44, 7, 4, 13, 4, 42, 15, 33, 15,
- 13, 38, 7, 14, 0, 19, 14, 9, 14, 24,
- 14, 26, 42, 36, 39, 13, 6, 5, 4, 17,
- 22, 15, 0, 38, 9, 32, 34, 10, 81, 20,
- 11, 67, 29, 75, 15, 12, 1, 18, 6, 8,
- 48, 12, 0, 26, 46, 17, 17, 8, 91, 31,
- 12, 63, 0, 27, 38, 2, 49, 62, 2, 3,
- 65, 68, 37, 71, 2, 83, 7, 24, 32, 18,
- 24, 16, 3, 24, 36, 51, 17, 14, 6, 2,
- 33, 15, 23, 35, 17, 33, 53, 21, 27, 109,
- 57, 39, 69, 59, 51, 18, 38, 14, 8, 10,
- 11, 27, 11, 41, 51, 35, 67, 91, 87, 125,
- 29, 29, 63, 49, 61, 69, 79, 87, 95, 109,
- 101, 125, 47, 97, 111, 75, 77, 2, 76, 56,
- 36, 14, 10, 3, 5, 15, 3, 22, 102, 66,
- 50, 34, 88, 36, 28, 6, 12, 10, 102, 64,
- 36, 20, 48, 20, 6, 2, 2, 5, 72, 30,
- 14, 2, 28, 8, 5, 0, 16, 90, 54, 32,
- 20, 58, 26, 22, 20, 12, 124, 25, 7, 14,
- 5, 9, 2, 18, 20, 6, 20, 34, 46, 25,
- 15, 25, 17, 42, 29, 31, 17, 2, 34, 57,
- 37, 14, 26, 53, 59, 51, 13, 5, 24, 9,
- 2, 3, 8, 24, 27, 9, 7, 8, 45, 19,
- 33, 31, 16, 73, 25, 8, 13, 38, 13, 3,
- 60, 13, 19, 3, 50, 43, 29, 79, 30, 56,
- 56, 32, 0, 32, 24, 10, 14, 8, 2, 3,
- 39, 47, 61, 41, 33, 57, 101, 53, 49, 51,
- 43, 37, 15, 13, 43, 61, 23, 5, 7, 1,
- 21, 55, 27, 33, 67, 43, 59, 57, 89, 83,
- 71, 61, 29, 19, 55, 33, 39, 57, 69, 73,
- 73, 75, 79, 87, 113, 99, 115, 113, 111, 89,
- 109, 113, 17, 16, 0, 18, 28, 28, 124, 50,
- 46, 9, 66, 124, 120, 124, 40, 24, 6, 67,
- 119, 125, 125, 125, 125, 125, 5, 86, 54, 36,
- 18, 28, 4, 5, 9, 5, 5, 6, 32, 14,
- 52, 38, 20, 34, 38, 44, 46, 24, 50, 40,
- 1, 28, 14, 13, 27, 41, 53, 109, 107, 85,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 46 */
-
- 42, 8, 37, 42, 8, 37, 34, 52, 56, 24,
- 15, 71, 9, 6, 104, 28, 104, 15, 46, 60,
- 1, 39, 4, 69, 103, 9, 39, 125, 125, 125,
- 124, 34, 11, 46, 60, 1, 9, 34, 40, 13,
- 6, 0, 1, 17, 47, 15, 59, 10, 7, 3,
- 9, 33, 17, 49, 34, 8, 2, 3, 24, 6,
- 44, 0, 0, 0, 12, 67, 67, 24, 29, 13,
- 104, 12, 11, 29, 1, 37, 20, 34, 28, 52,
- 10, 40, 28, 20, 46, 21, 33, 25, 39, 70,
- 2, 46, 5, 4, 13, 4, 46, 15, 31, 13,
- 11, 38, 7, 16, 4, 17, 16, 9, 14, 24,
- 14, 28, 44, 38, 41, 13, 6, 5, 4, 17,
- 22, 17, 0, 38, 11, 32, 34, 10, 85, 20,
- 13, 71, 31, 77, 13, 14, 0, 20, 8, 8,
- 50, 12, 2, 28, 48, 17, 17, 8, 93, 31,
- 14, 63, 0, 27, 40, 2, 51, 64, 2, 3,
- 67, 70, 37, 73, 2, 85, 11, 22, 30, 16,
- 22, 14, 3, 22, 34, 53, 19, 14, 6, 2,
- 35, 17, 25, 37, 19, 35, 55, 23, 27, 113,
- 59, 39, 71, 61, 51, 16, 34, 12, 4, 6,
- 15, 31, 15, 47, 57, 39, 73, 95, 93, 125,
- 33, 33, 65, 53, 65, 75, 85, 91, 101, 113,
- 105, 125, 49, 101, 113, 77, 77, 2, 78, 56,
- 36, 14, 10, 3, 5, 15, 3, 22, 102, 66,
- 50, 34, 90, 36, 28, 8, 12, 12, 104, 64,
- 38, 20, 50, 20, 8, 2, 4, 3, 74, 32,
- 16, 2, 30, 10, 3, 2, 16, 90, 54, 32,
- 20, 60, 26, 24, 22, 14, 124, 23, 5, 14,
- 5, 9, 2, 18, 20, 6, 20, 34, 46, 25,
- 15, 25, 17, 44, 31, 33, 19, 0, 34, 59,
- 39, 14, 26, 53, 61, 51, 11, 3, 26, 7,
- 2, 1, 8, 26, 27, 9, 7, 10, 45, 19,
- 33, 29, 18, 73, 25, 8, 13, 40, 13, 3,
- 62, 13, 19, 3, 52, 45, 29, 81, 28, 54,
- 54, 30, 1, 30, 22, 8, 12, 6, 0, 5,
- 41, 49, 63, 45, 35, 59, 105, 57, 51, 53,
- 43, 39, 15, 13, 43, 61, 21, 9, 11, 5,
- 25, 61, 31, 37, 73, 47, 63, 61, 95, 87,
- 75, 63, 33, 21, 59, 37, 43, 61, 73, 77,
- 77, 79, 83, 91, 119, 103, 119, 117, 113, 93,
- 113, 115, 15, 18, 2, 20, 30, 30, 124, 52,
- 48, 9, 68, 124, 124, 124, 42, 20, 4, 73,
- 125, 125, 125, 125, 125, 125, 5, 86, 54, 36,
- 18, 28, 4, 5, 9, 5, 3, 8, 34, 16,
- 54, 38, 20, 36, 38, 44, 46, 24, 50, 40,
- 1, 26, 10, 17, 31, 45, 57, 113, 111, 87,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 47 */
-
- 40, 8, 37, 40, 8, 37, 38, 54, 56, 24,
- 15, 73, 11, 4, 104, 28, 108, 15, 48, 62,
- 1, 41, 4, 71, 105, 11, 43, 125, 125, 125,
- 124, 36, 11, 48, 62, 1, 9, 36, 40, 15,
- 6, 0, 0, 17, 47, 15, 59, 10, 7, 1,
- 9, 33, 17, 49, 34, 8, 2, 3, 24, 6,
- 44, 0, 0, 0, 14, 67, 67, 24, 31, 13,
- 104, 12, 11, 27, 0, 37, 20, 36, 32, 56,
- 14, 42, 32, 22, 50, 19, 31, 23, 37, 72,
- 2, 48, 3, 4, 11, 6, 50, 15, 31, 13,
- 9, 38, 7, 16, 6, 17, 18, 9, 14, 24,
- 14, 30, 44, 38, 41, 13, 6, 5, 4, 17,
- 22, 17, 1, 38, 13, 32, 34, 10, 89, 20,
- 13, 75, 33, 79, 11, 16, 2, 22, 10, 10,
- 52, 14, 2, 30, 50, 17, 17, 8, 95, 29,
- 16, 63, 0, 27, 42, 2, 53, 66, 2, 3,
- 69, 72, 39, 75, 2, 87, 13, 20, 30, 14,
- 20, 12, 5, 20, 34, 55, 21, 14, 6, 2,
- 35, 19, 27, 39, 21, 37, 57, 25, 29, 117,
- 61, 41, 73, 63, 51, 12, 32, 8, 0, 2,
- 19, 35, 19, 51, 61, 43, 77, 101, 97, 125,
- 37, 37, 69, 57, 69, 79, 89, 95, 105, 119,
- 109, 125, 51, 105, 115, 79, 77, 2, 78, 56,
- 36, 14, 10, 3, 5, 15, 1, 22, 102, 66,
- 50, 34, 92, 38, 30, 8, 14, 14, 106, 66,
- 38, 20, 52, 22, 8, 4, 6, 1, 76, 34,
- 16, 2, 32, 12, 1, 4, 18, 90, 54, 32,
- 20, 62, 28, 26, 24, 16, 124, 23, 5, 16,
- 5, 9, 2, 18, 20, 6, 20, 34, 48, 25,
- 15, 25, 19, 44, 33, 35, 21, 1, 34, 61,
- 41, 14, 26, 55, 63, 53, 9, 1, 28, 7,
- 4, 1, 10, 28, 27, 9, 7, 10, 47, 19,
- 33, 29, 20, 73, 25, 8, 13, 42, 13, 3,
- 64, 13, 19, 3, 54, 47, 29, 83, 26, 54,
- 54, 28, 3, 28, 20, 6, 10, 4, 1, 7,
- 43, 51, 65, 47, 37, 63, 109, 59, 53, 55,
- 45, 39, 15, 13, 43, 63, 19, 13, 15, 9,
- 29, 67, 35, 41, 77, 51, 67, 65, 99, 91,
- 77, 65, 37, 25, 61, 41, 47, 65, 77, 81,
- 81, 83, 87, 95, 123, 107, 123, 121, 115, 97,
- 117, 119, 13, 20, 4, 22, 32, 32, 124, 54,
- 50, 9, 70, 124, 124, 124, 44, 18, 0, 77,
- 125, 125, 125, 125, 125, 125, 5, 86, 54, 36,
- 18, 28, 4, 5, 9, 3, 1, 10, 36, 18,
- 56, 40, 22, 38, 40, 46, 48, 24, 52, 40,
- 1, 24, 8, 21, 35, 49, 61, 117, 115, 89,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 48 */
-
- 36, 6, 39, 36, 6, 39, 40, 56, 56, 24,
- 17, 77, 15, 0, 102, 28, 112, 17, 48, 62,
- 3, 43, 4, 75, 109, 13, 47, 125, 125, 125,
- 124, 38, 13, 48, 62, 3, 9, 38, 40, 17,
- 6, 0, 0, 19, 49, 15, 61, 10, 7, 1,
- 11, 35, 17, 49, 34, 8, 2, 3, 24, 4,
- 44, 0, 0, 0, 14, 69, 67, 24, 33, 15,
- 104, 10, 11, 25, 0, 37, 20, 38, 34, 58,
- 16, 44, 34, 24, 52, 17, 31, 21, 37, 72,
- 2, 48, 3, 4, 11, 6, 52, 15, 31, 13,
- 7, 38, 7, 16, 8, 17, 18, 9, 14, 24,
- 14, 30, 44, 38, 43, 15, 6, 7, 4, 17,
- 20, 19, 3, 38, 15, 30, 34, 8, 93, 18,
- 15, 79, 35, 81, 11, 16, 2, 22, 10, 10,
- 54, 14, 2, 30, 52, 19, 17, 8, 99, 29,
- 16, 63, 0, 29, 42, 2, 55, 66, 2, 3,
- 73, 72, 41, 77, 2, 89, 17, 18, 28, 12,
- 18, 10, 7, 18, 32, 59, 23, 12, 4, 2,
- 37, 21, 29, 41, 23, 39, 59, 27, 31, 121,
- 65, 43, 77, 67, 51, 8, 28, 4, 3, 1,
- 25, 41, 25, 57, 67, 49, 83, 107, 103, 125,
- 41, 41, 73, 63, 75, 85, 95, 101, 111, 125,
- 115, 125, 53, 109, 119, 81, 79, 2, 78, 56,
- 36, 14, 10, 5, 5, 15, 1, 22, 102, 66,
- 50, 34, 94, 38, 30, 8, 14, 14, 106, 66,
- 38, 20, 52, 22, 8, 4, 8, 1, 78, 34,
- 16, 2, 32, 12, 1, 6, 18, 90, 54, 32,
- 20, 62, 28, 26, 24, 16, 124, 23, 5, 16,
- 5, 9, 2, 18, 20, 6, 20, 34, 48, 25,
- 15, 27, 21, 44, 35, 37, 23, 3, 32, 65,
- 45, 12, 24, 57, 67, 55, 9, 1, 30, 7,
- 4, 1, 10, 28, 29, 9, 7, 10, 49, 19,
- 33, 29, 20, 75, 25, 8, 13, 42, 15, 3,
- 64, 15, 21, 3, 54, 49, 31, 85, 24, 52,
- 52, 26, 7, 26, 18, 4, 8, 2, 3, 9,
- 45, 55, 69, 51, 41, 67, 113, 63, 57, 57,
- 47, 41, 15, 13, 43, 65, 19, 19, 21, 13,
- 35, 73, 41, 47, 83, 57, 73, 71, 105, 97,
- 81, 67, 41, 29, 65, 45, 53, 71, 83, 87,
- 87, 87, 93, 101, 125, 111, 125, 125, 119, 101,
- 121, 123, 11, 22, 6, 22, 32, 32, 124, 54,
- 50, 9, 70, 124, 124, 124, 44, 14, 3, 83,
- 125, 125, 125, 125, 125, 125, 5, 86, 52, 34,
- 18, 28, 4, 7, 9, 3, 1, 10, 36, 18,
- 58, 40, 22, 38, 40, 46, 48, 24, 52, 40,
- 3, 20, 4, 25, 39, 53, 65, 123, 119, 91,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 49 */
-
- 34, 6, 39, 34, 6, 39, 44, 60, 58, 26,
- 17, 79, 17, 1, 102, 28, 118, 17, 50, 64,
- 3, 43, 6, 77, 111, 13, 49, 125, 125, 125,
- 124, 42, 13, 50, 64, 3, 7, 42, 42, 17,
- 8, 2, 2, 19, 49, 13, 61, 10, 5, 0,
- 11, 35, 15, 49, 36, 10, 4, 1, 26, 4,
- 44, 0, 0, 0, 16, 69, 67, 26, 33, 15,
- 104, 10, 11, 21, 2, 37, 22, 42, 38, 62,
- 20, 48, 38, 28, 56, 13, 29, 19, 35, 74,
- 4, 50, 1, 6, 9, 8, 56, 13, 29, 11,
- 3, 40, 5, 18, 12, 15, 20, 7, 16, 26,
- 16, 32, 46, 40, 43, 15, 8, 7, 4, 15,
- 20, 19, 3, 38, 15, 30, 34, 8, 95, 18,
- 15, 81, 37, 81, 9, 18, 4, 24, 12, 12,
- 56, 16, 4, 32, 56, 19, 17, 10, 101, 27,
- 18, 63, 2, 29, 44, 4, 55, 68, 2, 3,
- 75, 74, 41, 79, 2, 89, 19, 18, 28, 12,
- 18, 10, 7, 18, 32, 61, 23, 12, 4, 2,
- 37, 21, 29, 41, 23, 39, 61, 27, 31, 123,
- 67, 43, 79, 69, 51, 6, 26, 2, 5, 3,
- 29, 45, 29, 61, 71, 53, 87, 111, 107, 125,
- 43, 43, 75, 67, 79, 89, 99, 105, 115, 125,
- 119, 125, 53, 111, 121, 81, 79, 4, 80, 58,
- 38, 16, 10, 5, 3, 13, 0, 24, 104, 68,
- 52, 34, 96, 40, 32, 10, 16, 16, 108, 68,
- 40, 22, 54, 24, 10, 6, 12, 0, 82, 36,
- 18, 4, 34, 14, 0, 10, 20, 92, 56, 34,
- 22, 64, 30, 28, 26, 18, 124, 21, 3, 18,
- 5, 7, 2, 20, 22, 8, 22, 36, 50, 23,
- 15, 27, 21, 46, 35, 37, 25, 3, 32, 67,
- 47, 12, 24, 57, 69, 55, 7, 0, 32, 5,
- 6, 0, 12, 30, 29, 7, 5, 12, 49, 17,
- 31, 27, 22, 75, 25, 10, 13, 44, 15, 3,
- 66, 15, 21, 1, 56, 49, 31, 85, 24, 52,
- 52, 26, 9, 26, 18, 4, 8, 2, 3, 9,
- 45, 57, 71, 53, 43, 69, 115, 65, 59, 57,
- 47, 41, 13, 11, 41, 65, 17, 23, 25, 17,
- 39, 77, 45, 51, 87, 61, 77, 75, 109, 101,
- 83, 67, 43, 31, 67, 47, 57, 75, 87, 91,
- 91, 91, 97, 105, 125, 113, 125, 125, 121, 103,
- 123, 125, 7, 26, 10, 24, 34, 34, 124, 56,
- 52, 9, 72, 124, 124, 124, 46, 12, 5, 87,
- 125, 125, 125, 125, 125, 125, 3, 88, 52, 34,
- 18, 30, 4, 7, 9, 1, 0, 12, 38, 20,
- 62, 42, 24, 40, 42, 48, 50, 26, 54, 42,
- 3, 18, 2, 27, 41, 55, 67, 125, 121, 91,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 50 */
-
- 32, 6, 39, 32, 6, 39, 48, 62, 58, 26,
- 17, 81, 19, 3, 102, 28, 122, 17, 52, 66,
- 3, 45, 6, 79, 113, 15, 53, 125, 125, 125,
- 124, 44, 13, 52, 66, 3, 7, 44, 42, 19,
- 8, 2, 4, 19, 49, 13, 61, 10, 5, 2,
- 11, 35, 15, 49, 36, 10, 4, 1, 26, 4,
- 44, 0, 0, 0, 18, 69, 67, 26, 35, 15,
- 104, 10, 11, 19, 4, 37, 22, 44, 42, 66,
- 22, 50, 42, 30, 60, 11, 27, 17, 33, 76,
- 4, 52, 0, 6, 9, 10, 60, 13, 29, 11,
- 1, 40, 5, 18, 14, 15, 22, 7, 16, 26,
- 16, 34, 46, 40, 45, 15, 8, 7, 4, 15,
- 20, 19, 5, 38, 17, 30, 34, 8, 99, 18,
- 15, 85, 39, 83, 7, 20, 6, 26, 14, 14,
- 58, 18, 4, 34, 58, 19, 17, 10, 103, 27,
- 20, 63, 2, 29, 46, 4, 57, 70, 2, 3,
- 77, 76, 43, 81, 2, 91, 23, 16, 26, 10,
- 16, 8, 9, 16, 32, 63, 25, 12, 4, 2,
- 37, 23, 31, 43, 25, 41, 63, 29, 33, 125,
- 69, 45, 81, 71, 51, 2, 24, 1, 9, 7,
- 33, 49, 33, 67, 75, 57, 93, 117, 111, 125,
- 47, 47, 79, 71, 83, 93, 103, 109, 119, 125,
- 123, 125, 55, 115, 123, 83, 79, 4, 80, 58,
- 38, 16, 10, 5, 3, 13, 2, 24, 104, 68,
- 52, 34, 98, 40, 34, 10, 18, 18, 110, 70,
- 40, 22, 56, 24, 10, 8, 14, 2, 84, 38,
- 18, 4, 36, 16, 2, 12, 20, 92, 56, 34,
- 22, 66, 32, 30, 28, 20, 124, 21, 3, 18,
- 5, 7, 2, 20, 22, 8, 22, 36, 52, 23,
- 15, 27, 23, 46, 37, 39, 27, 5, 32, 69,
- 49, 12, 24, 59, 71, 57, 5, 2, 34, 5,
- 6, 0, 14, 32, 29, 7, 5, 12, 51, 17,
- 31, 27, 24, 75, 25, 10, 13, 46, 15, 3,
- 68, 15, 21, 1, 58, 51, 31, 87, 22, 52,
- 52, 24, 11, 24, 16, 2, 6, 0, 5, 11,
- 47, 59, 73, 57, 45, 73, 119, 67, 61, 59,
- 49, 41, 13, 11, 41, 67, 15, 27, 29, 21,
- 43, 83, 49, 55, 93, 65, 81, 79, 113, 105,
- 85, 69, 47, 35, 69, 51, 61, 79, 91, 95,
- 95, 95, 101, 109, 125, 117, 125, 125, 123, 107,
- 125, 125, 5, 28, 12, 26, 36, 36, 124, 58,
- 54, 9, 74, 124, 124, 124, 48, 10, 9, 93,
- 125, 125, 125, 125, 125, 125, 3, 88, 52, 34,
- 18, 30, 4, 7, 9, 0, 2, 14, 40, 22,
- 64, 44, 26, 42, 44, 50, 52, 26, 56, 42,
- 3, 16, 1, 31, 45, 59, 71, 125, 125, 93,
- },
-
- {
- /* Context Tables for I, SI Slices :: qp = 51 */
-
- 30, 6, 39, 30, 6, 39, 52, 66, 60, 26,
- 19, 85, 23, 5, 102, 28, 124, 17, 54, 68,
- 3, 47, 6, 81, 115, 15, 57, 125, 125, 125,
- 124, 46, 13, 54, 68, 3, 5, 46, 44, 19,
- 8, 4, 6, 21, 51, 13, 61, 10, 5, 2,
- 11, 35, 15, 49, 38, 10, 4, 1, 28, 4,
- 44, 0, 0, 0, 18, 69, 67, 28, 37, 15,
- 104, 10, 11, 17, 6, 37, 24, 46, 46, 70,
- 26, 52, 46, 32, 64, 9, 25, 15, 31, 78,
- 4, 54, 2, 6, 7, 10, 64, 13, 27, 9,
- 0, 40, 5, 20, 18, 13, 24, 7, 16, 26,
- 16, 36, 48, 42, 45, 15, 8, 7, 4, 15,
- 20, 21, 5, 38, 19, 30, 34, 8, 103, 18,
- 17, 89, 41, 85, 5, 22, 8, 28, 16, 14,
- 60, 18, 6, 36, 60, 19, 17, 10, 105, 25,
- 22, 63, 2, 29, 48, 4, 59, 72, 2, 3,
- 79, 78, 43, 83, 2, 93, 25, 14, 26, 8,
- 14, 6, 9, 14, 30, 65, 27, 12, 4, 2,
- 39, 25, 33, 45, 27, 43, 65, 31, 33, 125,
- 71, 45, 83, 73, 51, 0, 20, 3, 13, 11,
- 37, 53, 37, 71, 81, 61, 97, 121, 117, 125,
- 51, 51, 81, 75, 87, 99, 109, 113, 125, 125,
- 125, 125, 57, 119, 125, 85, 79, 4, 82, 58,
- 38, 16, 10, 5, 3, 13, 2, 24, 104, 68,
- 52, 34, 100, 42, 34, 12, 18, 20, 112, 70,
- 42, 22, 58, 26, 12, 8, 16, 4, 86, 40,
- 20, 4, 38, 18, 4, 14, 22, 92, 56, 34,
- 22, 68, 32, 32, 30, 22, 124, 19, 1, 20,
- 5, 7, 2, 20, 22, 8, 22, 36, 52, 23,
- 15, 27, 23, 48, 39, 41, 29, 7, 32, 71,
- 51, 12, 24, 59, 73, 57, 3, 4, 36, 3,
- 8, 2, 14, 34, 29, 7, 5, 14, 51, 17,
- 31, 25, 26, 75, 25, 10, 13, 48, 15, 3,
- 70, 15, 21, 1, 60, 53, 31, 89, 20, 50,
- 50, 22, 13, 22, 14, 0, 4, 1, 7, 13,
- 49, 61, 75, 59, 47, 75, 123, 71, 63, 61,
- 49, 43, 13, 11, 41, 67, 13, 31, 33, 25,
- 47, 89, 53, 59, 97, 69, 85, 83, 119, 109,
- 89, 71, 51, 37, 73, 55, 65, 83, 95, 99,
- 99, 99, 105, 113, 125, 121, 125, 125, 125, 111,
- 125, 125, 3, 30, 14, 28, 38, 38, 124, 60,
- 56, 9, 76, 124, 124, 124, 50, 6, 11, 97,
- 125, 125, 125, 125, 125, 125, 3, 88, 52, 34,
- 18, 30, 4, 7, 9, 0, 4, 16, 42, 24,
- 66, 44, 26, 44, 44, 50, 52, 26, 56, 42,
- 3, 14, 3, 35, 49, 63, 75, 125, 125, 95,
- },
-
- },
-
-};
diff --git a/common/ih264_cabac_tables.h b/common/ih264_cabac_tables.h
index 0cef51e..dd2fd35 100644
--- a/common/ih264_cabac_tables.h
+++ b/common/ih264_cabac_tables.h
@@ -43,59 +43,148 @@
/**
******************************************************************************
- * @brief maximum range of cabac_init_idc (0-2)
+ * @brief maximum range of cabac_init_idc (0-2) + 1 for ISLICE
******************************************************************************
*/
-#define IH264_NUM_CABAC_INIT_IDC_PLUS_ONE 4
+#define NUM_CAB_INIT_IDC_PLUS_ONE 4
/**
******************************************************************************
* @brief max range of qps in H264 (0-51)
******************************************************************************
*/
-#define IH264_MAX_QP 52
+#define QP_RANGE 52
/**
******************************************************************************
* @brief max range of cabac contexts in H264 (0-459)
******************************************************************************
*/
-#define IH264_NUM_CABAC_CTXTS 460
+#define NUM_CABAC_CTXTS 460
-/*****************************************************************************/
-/* Extern global declarations */
-/*****************************************************************************/
+
+/** Macros for Cabac checks */
+/** MbType */
+/** |x|x|I_PCM|SKIP|
+ |S|Inter/Intra|P/B|NON-BD16x16/BD16x16,I16x16/I4x4| */
+#define CAB_INTRA 0x00 /* 0000 00xx */
+#define CAB_INTER 0x04 /* 0000 01xx */
+#define CAB_I4x4 0x00 /* 0000 00x0 */
+#define CAB_I16x16 0x01 /* 0000 00x1 */
+#define CAB_BD16x16 0x04 /* 0000 0100 */
+#define CAB_NON_BD16x16 0x05 /* 0000 0101 */
+#define CAB_P 0x07 /* 0000 0111 */
+#define CAB_SI4x4 0x08 /* 0000 10x0 */
+#define CAB_SI16x16 0x09 /* 0000 10x1 */
+#define CAB_SKIP_MASK 0x10 /* 0001 0000 */
+#define CAB_SKIP 0x10 /* 0001 0000 */
+#define CAB_P_SKIP 0x16 /* 0001 x11x */
+#define CAB_B_SKIP 0x14 /* 0001 x100 */
+#define CAB_BD16x16_MASK 0x07 /* 0000 0111 */
+#define CAB_INTRA_MASK 0x04 /* 0000 0100 */
+#define CAB_I_PCM 0x20 /* 001x xxxx */
/**
- ******************************************************************************
- * @breif Table for rangeTabLPS depending on pStateIdx and qCodIRangeIdx
- * input : pStateIdx(0-63) and qCodIRangeIdx(0-3) [(Range >> 6) & 0x3]
- * output : RLps
- *
- * @remarks See Table 9-35 of H264 spec for rangeTabLPS
- *******************************************************************************
- */
-extern const UWORD8 gau1_ih264_cabac_rlps[64][4];
+******************************************************************************
+ * @enum ctxBlockCat
+
+******************************************************************************
+*/
+typedef enum
+{
+ LUMA_DC_CTXCAT = 0,
+ LUMA_AC_CTXCAT = 1,
+ LUMA_4X4_CTXCAT = 2,
+ CHROMA_DC_CTXCAT = 3,
+ CHROMA_AC_CTXCAT = 4,
+ LUMA_8X8_CTXCAT = 5,
+ NUM_CTX_CAT = 6
+} CTX_BLOCK_CAT;
/**
- ******************************************************************************
- * @breif probability+MPS state transition tables based on cur State and bin
- * input : curpState[bits7-2] | curMPS[bit1] | decodedBin[bit0]
- * output : nextpState[bits6-1] | nextMPS[bit0]
- * @remarks Modified form of Table-9-36 State Transition table in H264 spec
- ******************************************************************************
- */
-extern const UWORD8 gau1_ih264_next_state[128*2];
+******************************************************************************
+ * @enum ctxIdxOffset
+
+******************************************************************************
+*/
+typedef enum
+{
+ MB_TYPE_SI_SLICE = 0,
+ MB_TYPE_I_SLICE = 3,
+ MB_SKIP_FLAG_P_SLICE = 11,
+ MB_TYPE_P_SLICE = 14,
+ SUB_MB_TYPE_P_SLICE = 21,
+ MB_SKIP_FLAG_B_SLICE = 24,
+ MB_TYPE_B_SLICE = 27,
+ SUB_MB_TYPE_B_SLICE = 36,
+ MVD_X = 40,
+ MVD_Y = 47,
+ REF_IDX = 54,
+ MB_QP_DELTA = 60,
+ INTRA_CHROMA_PRED_MODE = 64,
+ PREV_INTRA4X4_PRED_MODE_FLAG = 68,
+ REM_INTRA4X4_PRED_MODE = 69,
+ MB_FIELD_DECODING_FLAG = 70,
+ CBP_LUMA = 73,
+ CBP_CHROMA = 77,
+ CBF = 85,
+ SIGNIFICANT_COEFF_FLAG_FRAME = 105,
+ SIGNIFICANT_COEFF_FLAG_FLD = 277,
+ LAST_SIGNIFICANT_COEFF_FLAG_FRAME = 166,
+ LAST_SIGNIFICANT_COEFF_FLAG_FLD = 338,
+ COEFF_ABS_LEVEL_MINUS1 = 227,
+
+ /* High profile related Syntax element CABAC offsets */
+ TRANSFORM_SIZE_8X8_FLAG = 399,
+ SIGNIFICANT_COEFF_FLAG_8X8_FRAME = 402,
+ LAST_SIGNIFICANT_COEFF_FLAG_8X8_FRAME = 417,
+ COEFF_ABS_LEVEL_MINUS1_8X8 = 426,
+ SIGNIFICANT_COEFF_FLAG_8X8_FIELD = 436,
+ LAST_SIGNIFICANT_COEFF_FLAG_8X8_FIELD = 451
+
+} cabac_table_num_t;
/**
- ******************************************************************************
- * @brief Init context tables for all combinations of qp and cabac_init_idc
- * @remarks Packing format MPS in lsb and pState in bits[1-6]
- ******************************************************************************
- */
-extern const UWORD8 gau1_ih264_cab_ctxts[IH264_NUM_CABAC_INIT_IDC_PLUS_ONE][IH264_MAX_QP][IH264_NUM_CABAC_CTXTS];
+******************************************************************************
+ * @enum ctxIdxOffset
+
+******************************************************************************
+*/
+typedef enum
+{
+ SIG_COEFF_CTXT_CAT_0_OFFSET = 0,
+ SIG_COEFF_CTXT_CAT_1_OFFSET = 15,
+ SIG_COEFF_CTXT_CAT_2_OFFSET = 29,
+ SIG_COEFF_CTXT_CAT_3_OFFSET = 44,
+ SIG_COEFF_CTXT_CAT_4_OFFSET = 47,
+ SIG_COEFF_CTXT_CAT_5_OFFSET = 0,
+ COEFF_ABS_LEVEL_CAT_0_OFFSET = 0,
+ COEFF_ABS_LEVEL_CAT_1_OFFSET = 10,
+ COEFF_ABS_LEVEL_CAT_2_OFFSET = 20,
+ COEFF_ABS_LEVEL_CAT_3_OFFSET = 30,
+ COEFF_ABS_LEVEL_CAT_4_OFFSET = 39,
+ COEFF_ABS_LEVEL_CAT_5_OFFSET = 0
+} cabac_blk_cat_offset_t;
+
+
+
+
+/*****************************************************************************/
+/* Extern global declarations */
+/*****************************************************************************/
+
+
+/* CABAC Table declaration*/
+extern const UWORD32 gau4_ih264_cabac_table[128][4];
+
+
+/*****************************************************************************/
+/* Cabac tables for context initialization depending upon type of Slice, */
+/* cabac init Idc value and Qp. */
+/*****************************************************************************/
+extern const UWORD8 gau1_ih264_cabac_ctxt_init_table[NUM_CAB_INIT_IDC_PLUS_ONE][QP_RANGE][NUM_CABAC_CTXTS];
#endif /* IH264_CABAC_TABLES_H_ */
diff --git a/common/ih264_common_tables.c b/common/ih264_common_tables.c
index c53c276..3a04a38 100644
--- a/common/ih264_common_tables.c
+++ b/common/ih264_common_tables.c
@@ -64,8 +64,8 @@
const level_tables_t gas_ih264_lvl_tbl[16] =
{
{ IH264_LEVEL_10, 1485, 99, 297, 64, 175, 64 },
- { IH264_LEVEL_11, 1485, 99, 297, 128, 350, 64 },
- { IH264_LEVEL_1B, 3000, 396, 675, 192, 500, 128 },
+ { IH264_LEVEL_1B, 1485, 99, 297, 128, 350, 64 },
+ { IH264_LEVEL_11, 3000, 396, 675, 192, 500, 128 },
{ IH264_LEVEL_12, 6000, 396, 1782, 384, 1000, 128 },
{ IH264_LEVEL_13, 11880, 396, 1782, 768, 2000, 128 },
{ IH264_LEVEL_20, 11880, 396, 1782, 2000, 2000, 128 },
diff --git a/common/ih264_defs.h b/common/ih264_defs.h
index 8d7e387..6bf74d1 100644
--- a/common/ih264_defs.h
+++ b/common/ih264_defs.h
@@ -328,7 +328,7 @@ typedef enum
/**
******************************************************************************
* @enum MBPART_PREDMODE_T
- * @brief MbPartPredMode Table 7-11 to 7-14
+ * @brief MbPartps_pred_mode_ctxt Table 7-11 to 7-14
******************************************************************************
*/
typedef enum
diff --git a/common/ithread.c b/common/ithread.c
index 25a8cd0..f7335d9 100644
--- a/common/ithread.c
+++ b/common/ithread.c
@@ -71,7 +71,7 @@
#endif
-#ifdef X86_MSVC
+#if defined(X86_MSVC) || defined (X86_MINGW)
#include <windows.h>
#define SEM_MAX_COUNT 100
diff --git a/common/x86/ih264_platform_macros.h b/common/x86/ih264_platform_macros.h
index e4b9821..340c5d8 100644
--- a/common/x86/ih264_platform_macros.h
+++ b/common/x86/ih264_platform_macros.h
@@ -62,13 +62,9 @@
#define SHL_NEG(val,shift) ((shift<0)?(val>>(-shift)):(val<<shift))
-#define ITT_BIG_ENDIAN(x) ((x << 24)) | \
- ((x & 0x0000ff00) << 8) | \
- ((x & 0x00ff0000) >> 8) | \
- ((UWORD32)x >> 24);
+#define ITT_BIG_ENDIAN(x) __builtin_bswap32(x);
-
-#define NOP(nop_cnt) {UWORD32 nop_i; for (nop_i = 0; nop_i < nop_cnt; nop_i++);}
+#define NOP(nop_cnt) {UWORD32 nop_i; for (nop_i = 0; nop_i < nop_cnt; nop_i++) asm("nop");}
#define PLD(a)
@@ -97,7 +93,7 @@ static __inline UWORD32 CTZ(UWORD32 u4_word)
//#define INLINE __inline
-#define INLINE
+#define INLINE inline
#define PREFETCH_ENABLE 1
diff --git a/common/x86/ih264_resi_trans_quant_sse42.c b/common/x86/ih264_resi_trans_quant_sse42.c
index eca43ed..f4f5cbf 100644
--- a/common/x86/ih264_resi_trans_quant_sse42.c
+++ b/common/x86/ih264_resi_trans_quant_sse42.c
@@ -897,8 +897,7 @@ void ih264_hadamard_quant_2x2_uv_sse42(WORD16 *pi2_src, WORD16 *pi2_dst,
const UWORD16 *pu2_threshold_matrix, UWORD32 u4_qbits,
UWORD32 u4_round_factor,UWORD8 *pu1_nnz)
{
- WORD32 val, nonzero_coeff_0, nonzero_coeff_1=0;
- nonzero_coeff_0 = 0;
+ WORD32 val, nonzero_coeff_0=0, nonzero_coeff_1=0;
__m128i cmp, cmp0, cmp1;
__m128i sum0, sum1;
WORD32 mask, mask0, mask1;
diff --git a/decoder.arm64.mk b/decoder.arm64.mk
index ddf0ad2..423c34d 100644
--- a/decoder.arm64.mk
+++ b/decoder.arm64.mk
@@ -33,7 +33,7 @@ libavcd_srcs_asm_arm64 += common/armv8/ih264_iquant_itrans_recon_dc_av8.s
libavcd_srcs_asm_arm64 += common/armv8/ih264_ihadamard_scaling_av8.s
libavcd_srcs_asm_arm64 += common/armv8/ih264_intra_pred_luma_8x8_av8.s
-libavcd_cflags_arm += -DDEFAULT_ARCH=D_ARCH_ARMV8_GENERIC
+libavcd_cflags_arm64 += -DDEFAULT_ARCH=D_ARCH_ARMV8_GENERIC
else
libavcd_cflags_arm64 += -DDISABLE_NEON -DDEFAULT_ARCH=D_ARCH_ARM_NONEON
endif
diff --git a/decoder.mips64.mk b/decoder.mips64.mk
index ffcb882..18dc40e 100644
--- a/decoder.mips64.mk
+++ b/decoder.mips64.mk
@@ -2,5 +2,5 @@ libavcd_inc_dir_mips64 += $(LOCAL_PATH)/common/mips
libavcd_srcs_c_mips64 += decoder/mips/ih264d_function_selector.c
-LOCAL_C_INCLUDES_mips64 += $(libavcd_inc_dir_mips)
-LOCAL_SRC_FILES_mips64 += $(libavcd_srcs_c_mips)
+LOCAL_C_INCLUDES_mips64 += $(libavcd_inc_dir_mips64)
+LOCAL_SRC_FILES_mips64 += $(libavcd_srcs_c_mips64)
diff --git a/decoder.mk b/decoder.mk
index d4fa0be..7df8d17 100644
--- a/decoder.mk
+++ b/decoder.mk
@@ -37,7 +37,6 @@ libavcd_srcs_c += decoder/ih264d_parse_bslice.c
libavcd_srcs_c += decoder/ih264d_parse_pslice.c
libavcd_srcs_c += decoder/ih264d_parse_islice.c
libavcd_srcs_c += decoder/ih264d_cabac_init_tables.c
-libavcd_srcs_c += decoder/ih264d_debug.c
libavcd_srcs_c += decoder/ih264d_bitstrm.c
libavcd_srcs_c += decoder/ih264d_compute_bs.c
libavcd_srcs_c += decoder/ih264d_deblocking.c
diff --git a/decoder/ih264d.h b/decoder/ih264d.h
index f89e576..6dd9893 100644
--- a/decoder/ih264d.h
+++ b/decoder/ih264d.h
@@ -78,6 +78,7 @@ IV_API_CALL_STATUS_T ih264d_api_function(iv_obj_t *ps_handle, void *pv_api_ip,vo
typedef enum {
IH264D_VID_HDR_DEC_NUM_FRM_BUF_NOT_SUFFICIENT = IVD_DUMMY_ELEMENT_FOR_CODEC_EXTENSIONS + 1,
+ IH264D_UNSUPPORTED_LEVEL = IVD_DUMMY_ELEMENT_FOR_CODEC_EXTENSIONS + 2
}IH264D_ERROR_CODES_T;
diff --git a/decoder/ih264d_api.c b/decoder/ih264d_api.c
index 67ef5bb..18e4c2e 100644
--- a/decoder/ih264d_api.c
+++ b/decoder/ih264d_api.c
@@ -93,6 +93,7 @@
#include "ih264d_utils.h"
#include "ih264d_format_conv.h"
#include "ih264d_parse_headers.h"
+#include "ih264d_thread_compute_bs.h"
#include <assert.h>
@@ -121,7 +122,7 @@
#define MAX_NAL_UNIT_SIZE MAX((H264_MAX_FRAME_HEIGHT * H264_MAX_FRAME_HEIGHT),MIN_NALUNIT_SIZE)
#define MIN_NALUNIT_SIZE 200000
-#define FMT_CONV_NUM_ROWS 4
+
#define MIN_IN_BUFS 1
#define MIN_OUT_BUFS_420 3
@@ -283,8 +284,8 @@ static IV_API_CALL_STATUS_T api_check_struct_sanity(iv_obj_t *ps_handle,
WORD32 max_wd = ps_ip->s_ivd_fill_mem_rec_ip_t.u4_max_frm_wd;
WORD32 max_ht = ps_ip->s_ivd_fill_mem_rec_ip_t.u4_max_frm_ht;
- max_wd = ((max_wd + 15) >> 4) << 4;
- max_ht = ((max_ht + 15) >> 4) << 4;
+ max_wd = ALIGN16(max_wd);
+ max_ht = ALIGN32(max_ht);
ps_op->s_ivd_fill_mem_rec_op_t.u4_error_code = 0;
@@ -383,8 +384,8 @@ static IV_API_CALL_STATUS_T api_check_struct_sanity(iv_obj_t *ps_handle,
WORD32 max_wd = ps_ip->s_ivd_init_ip_t.u4_frm_max_wd;
WORD32 max_ht = ps_ip->s_ivd_init_ip_t.u4_frm_max_ht;
- max_wd = ((max_wd + 15) >> 4) << 4;
- max_ht = ((max_ht + 15) >> 4) << 4;
+ max_wd = ALIGN16(max_wd);
+ max_ht = ALIGN32(max_ht);
ps_op->s_ivd_init_op_t.u4_error_code = 0;
@@ -1479,7 +1480,7 @@ void ih264d_init_decoder(void * ps_dec_params)
ps_dec->ps_cur_pps = NULL;
ps_dec->ps_cur_sps = NULL;
ps_dec->u1_init_dec_flag = 0;
- ps_dec->u1_first_nal_in_pic = 1;
+ ps_dec->u1_first_slice_in_stream = 1;
ps_dec->u1_first_pb_nal_in_pic = 1;
ps_dec->u1_last_pic_not_decoded = 0;
ps_dec->u4_app_disp_width = 0;
@@ -1627,6 +1628,9 @@ void ih264d_init_decoder(void * ps_dec_params)
ps_dec->init_done = 1;
ps_dec->process_called = 1;
+
+ ps_dec->pv_pic_buf_mgr = NULL;
+ ps_dec->pv_mv_buf_mgr = NULL;
}
/**************************************************************************
@@ -1759,7 +1763,7 @@ WORD32 ih264d_init_video_decoder(iv_obj_t *dec_hdl,
ps_dec->u4_height_at_init = ps_init_ip->s_ivd_init_ip_t.u4_frm_max_ht;
ps_dec->u4_width_at_init = ALIGN16(ps_dec->u4_width_at_init);
- ps_dec->u4_height_at_init = ALIGN16(ps_dec->u4_height_at_init);
+ ps_dec->u4_height_at_init = ALIGN32(ps_dec->u4_height_at_init);
ps_dec->pv_dec_thread_handle = memtab[MEM_REC_THREAD_HANDLE].pv_base;
@@ -1938,8 +1942,8 @@ WORD32 ih264d_fill_num_mem_rec(void *pv_api_ip, void *pv_api_op)
luma_height = ps_mem_q_ip->s_ivd_fill_mem_rec_ip_t.u4_max_frm_ht;
luma_width = ps_mem_q_ip->s_ivd_fill_mem_rec_ip_t.u4_max_frm_wd;
- luma_height = ((luma_height + 15) >> 4) << 4;
- luma_width = ((luma_width + 15) >> 4) << 4;
+ luma_height = ALIGN32(luma_height);
+ luma_width = ALIGN16(luma_width);
luma_width_in_mbs = luma_width >> 4;
luma_height_in_mbs = luma_height >> 4;
u4_total_num_mbs = (luma_height * luma_width) >> 8;
@@ -2081,7 +2085,7 @@ WORD32 ih264d_fill_num_mem_rec(void *pv_api_ip, void *pv_api_op)
memTab[MEM_REC_DEBLK_MB_INFO].e_mem_type =
IV_EXTERNAL_CACHEABLE_PERSISTENT_MEM;
memTab[MEM_REC_DEBLK_MB_INFO].u4_mem_size = (((((u4_total_num_mbs
- + MAX_MBS_IN_ROW) * sizeof(deblk_mb_t)) + 127) >> 7) << 7);
+ + (luma_width >> 4)) * sizeof(deblk_mb_t)) + 127) >> 7) << 7);
memTab[MEM_REC_NEIGHBOR_INFO].u4_mem_alignment = (128 * 8) / CHAR_BIT;
memTab[MEM_REC_NEIGHBOR_INFO].e_mem_type =
@@ -2125,10 +2129,14 @@ WORD32 ih264d_fill_num_mem_rec(void *pv_api_ip, void *pv_api_op)
memTab[MEM_REC_COEFF_DATA].e_mem_type =
IV_EXTERNAL_CACHEABLE_PERSISTENT_MEM;
memTab[MEM_REC_COEFF_DATA].u4_mem_size = MB_LUM_SIZE * sizeof(WORD16);
+ /*For I16x16 MBs, 16 4x4 AC coeffs and 1 4x4 DC coeff TU blocks will be sent
+ For all MBs along with 8 4x4 AC coeffs 2 2x2 DC coeff TU blocks will be sent
+ So use 17 4x4 TU blocks for luma and 9 4x4 TU blocks for chroma */
memTab[MEM_REC_COEFF_DATA].u4_mem_size += u4_num_entries
- * (MAX(16 * sizeof(tu_sblk4x4_coeff_data_t),4 * sizeof(tu_blk8x8_coeff_data_t))
- + 8 * sizeof(tu_sblk4x4_coeff_data_t));
- memTab[MEM_REC_COEFF_DATA].u4_mem_size += u4_num_entries * 32; //32 bytes for each mb to store u1_prev_intra4x4_pred_mode and u1_rem_intra4x4_pred_mode data
+ * (MAX(17 * sizeof(tu_sblk4x4_coeff_data_t),4 * sizeof(tu_blk8x8_coeff_data_t))
+ + 9 * sizeof(tu_sblk4x4_coeff_data_t));
+ //32 bytes for each mb to store u1_prev_intra4x4_pred_mode and u1_rem_intra4x4_pred_mode data
+ memTab[MEM_REC_COEFF_DATA].u4_mem_size += u4_num_entries * 32;
}
@@ -2173,10 +2181,10 @@ WORD32 ih264d_fill_num_mem_rec(void *pv_api_ip, void *pv_api_op)
u4_mem_size += sizeof(UWORD32) * (MAX_REF_BUFS * MAX_REF_BUFS);
u4_mem_size = ALIGN64(u4_mem_size);
- u4_mem_size += MAX_REF_BUF_SIZE;
+ u4_mem_size += MAX_REF_BUF_SIZE * 2;
u4_mem_size = ALIGN64(u4_mem_size);
u4_mem_size += ((sizeof(WORD16)) * PRED_BUFFER_WIDTH
- * PRED_BUFFER_HEIGHT);
+ * PRED_BUFFER_HEIGHT * 2);
u4_mem_size = ALIGN64(u4_mem_size);
u4_mem_size += sizeof(UWORD8) * (MB_LUM_SIZE);
u4_mem_size = ALIGN64(u4_mem_size);
@@ -2243,18 +2251,17 @@ WORD32 ih264d_fill_num_mem_rec(void *pv_api_ip, void *pv_api_op)
u4_mem_used = ALIGN64(u4_mem_used);
u4_mem_used += sizeof(UWORD8) * (luma_width + 16) * 2;
u4_mem_used = ALIGN64(u4_mem_used);
- u4_mem_used += sizeof(UWORD8) * ((luma_width >> 1) + 16) * 2
- * YUV420SP_FACTOR;
+ u4_mem_used += sizeof(UWORD8) * (luma_width + 16) * 2;
u4_mem_used = ALIGN64(u4_mem_used);
- u4_mem_used += sizeof(UWORD8) * ((luma_width >> 1) + 16) * 2;
+ u4_mem_used += sizeof(UWORD8) * (luma_width + 16) * 2;
u4_mem_used = ALIGN64(u4_mem_used);
u4_mem_used += sizeof(mb_neigbour_params_t) * (luma_width_in_mbs + 1)
* luma_height_in_mbs;
u4_mem_used += luma_width;
u4_mem_used = ALIGN64(u4_mem_used);
- u4_mem_used += luma_width >> 1;
+ u4_mem_used += luma_width;
u4_mem_used = ALIGN64(u4_mem_used);
- u4_mem_used += luma_width >> 1;
+ u4_mem_used += luma_width;
u4_mem_used = ALIGN64(u4_mem_used);
u4_mem_used += ((MB_SIZE + 4) << 1) * PAD_LEN_Y_H;
@@ -2272,7 +2279,7 @@ WORD32 ih264d_fill_num_mem_rec(void *pv_api_ip, void *pv_api_op)
memTab[MEM_REC_BITSBUF].u4_mem_alignment = (128 * 8) / CHAR_BIT;
memTab[MEM_REC_BITSBUF].e_mem_type = IV_EXTERNAL_CACHEABLE_PERSISTENT_MEM;
- memTab[MEM_REC_BITSBUF].u4_mem_size = MAX(256000, (luma_width * luma_height));
+ memTab[MEM_REC_BITSBUF].u4_mem_size = MAX(256000, (luma_width * luma_height * 3 / 2));
{
@@ -2394,8 +2401,10 @@ WORD32 ih264d_clr(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
return IV_FAIL;
}
- ih264_buf_mgr_free((buf_mgr_t *)ps_dec->pv_pic_buf_mgr);
- ih264_buf_mgr_free((buf_mgr_t *)ps_dec->pv_mv_buf_mgr);
+ if(ps_dec->pv_pic_buf_mgr)
+ ih264_buf_mgr_free((buf_mgr_t *)ps_dec->pv_pic_buf_mgr);
+ if(ps_dec->pv_mv_buf_mgr)
+ ih264_buf_mgr_free((buf_mgr_t *)ps_dec->pv_mv_buf_mgr);
memcpy(dec_clr_ip->pv_mem_rec_location, ps_dec->ps_mem_tab,
MEM_REC_CNT * (sizeof(iv_mem_rec_t)));
@@ -2590,7 +2599,7 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
UWORD32 cur_slice_is_nonref = 0;
UWORD32 u4_next_is_aud;
UWORD32 u4_first_start_code_found = 0;
- WORD32 ret;
+ WORD32 ret,api_ret_value = IV_SUCCESS;
WORD32 header_data_left = 0,frame_data_left = 0;
UWORD8 *pu1_bitstrm_buf;
ithread_set_name((void*)"Parse_thread");
@@ -2602,7 +2611,6 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
ps_dec_op = (ivd_video_decode_op_t *)pv_api_op;
ps_dec->pv_dec_out = ps_dec_op;
ps_dec->process_called = 1;
- ps_dec->u2_mb_skip_error = 0;
if(ps_dec->init_done != 1)
{
return IV_FAIL;
@@ -2637,20 +2645,13 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
>= offsetof(ivd_video_decode_ip_t, s_out_buffer))
ps_dec->ps_out_buffer = &ps_dec_ip->s_out_buffer;
- if(ps_dec_op->u4_size
- >= offsetof(ivd_video_decode_op_t, u4_disp_buf_id)
- && ps_dec->ps_out_buffer != NULL)
- ps_dec->u4_fmt_conv_in_process = 1;
- else
- ps_dec->u4_fmt_conv_in_process = 0;
-
ps_dec->u4_fmt_conv_cur_row = 0;
ps_dec->u4_output_present = 0;
ps_dec->s_disp_op.u4_error_code = 1;
ps_dec->u4_fmt_conv_num_rows = FMT_CONV_NUM_ROWS;
ps_dec->u4_stop_threads = 0;
- if(ps_dec->u4_fmt_conv_in_process && 0 == ps_dec->u4_share_disp_buf
+ if(0 == ps_dec->u4_share_disp_buf
&& ps_dec->i4_decode_header == 0)
{
UWORD32 i;
@@ -2799,8 +2800,7 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
}
- if(ps_dec->u4_fmt_conv_in_process && ps_dec->u1_flushfrm &&
- ps_dec->u1_init_dec_flag)
+ if(ps_dec->u1_flushfrm && ps_dec->u1_init_dec_flag)
{
ih264d_get_next_display_field(ps_dec, ps_dec->ps_out_buffer,
@@ -2854,24 +2854,21 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
ps_dec->u4_prev_nal_skipped = 0;
- ps_dec->u4_start_frame_decode = 0;
ps_dec->u2_cur_mb_addr = 0;
+ ps_dec->u2_total_mbs_coded = 0;
+ ps_dec->u2_cur_slice_num = 0;
ps_dec->cur_dec_mb_num = 0;
+ ps_dec->cur_recon_mb_num = 0;
ps_dec->u4_first_slice_in_pic = 1;
+ ps_dec->u1_slice_header_done = 0;
ps_dec->u4_dec_thread_created = 0;
ps_dec->u4_bs_deblk_thread_created = 0;
ps_dec->u4_cur_bs_mb_num = 0;
- ps_dec->as_fmt_conv_part[0].u4_flag = 1;
- ps_dec->as_fmt_conv_part[1].u4_flag = 1;
- ps_dec->as_fmt_conv_part[1].u4_start_y = 0;
- ps_dec->as_fmt_conv_part[1].u4_num_rows_y = 0;
-
DEBUG_THREADS_PRINTF(" Starting process call\n");
ps_dec->u4_pic_buf_got = 0;
- ps_dec->u2_skip_deblock = 0;
do
{
@@ -2891,6 +2888,8 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
if(buflen == -1)
buflen = 0;
+ /* Ignore bytes beyond the allocated size of intermediate buffer */
+ buflen = MIN(buflen, (WORD32)ps_dec->ps_mem_tab[MEM_REC_BITSBUF].u4_mem_size);
bytes_consumed = buflen + u4_length_of_start_code;
ps_dec_op->u4_num_bytes_consumed += bytes_consumed;
@@ -2906,7 +2905,6 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
ps_dec_op->e_pic_type = -1;
/*signal the decode thread*/
- ps_dec->as_fmt_conv_part[1].u4_flag = 0;
ih264d_signal_decode_thread(ps_dec);
/*signal end of frame decode for curren frame*/
@@ -2962,7 +2960,6 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
ps_dec_op->u4_size =
sizeof(ivd_video_decode_op_t);
/*signal the decode thread*/
- ps_dec->as_fmt_conv_part[1].u4_flag = 0;
ih264d_signal_decode_thread(ps_dec);
/* close deblock thread if it is not closed yet*/
if(ps_dec->u4_num_cores == 3)
@@ -3017,6 +3014,7 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
else
{
/* a start code has already been found earlier in the same process call*/
+ frame_data_left = 0;
continue;
}
@@ -3029,13 +3027,18 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
{
UWORD32 error = ih264d_map_error(ret);
ps_dec_op->u4_error_code = error | ret;
+ api_ret_value = IV_FAIL;
if((ret == IVD_RES_CHANGED)||(ret == IVD_STREAM_WIDTH_HEIGHT_NOT_SUPPORTED))
{
/*dont consume the SPS*/
ps_dec_op->u4_num_bytes_consumed -= bytes_consumed;
+ return IV_FAIL;
+ }
+ if(ret == ERROR_IN_LAST_SLICE_OF_PIC)
+ {
+ ps_dec_op->u4_num_bytes_consumed -= bytes_consumed;
}
- return IV_FAIL;
}
if(ps_dec->u4_return_to_app)
@@ -3047,7 +3050,6 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
ps_dec_op->u4_frame_decoded_flag = 0;
ps_dec_op->u4_size = sizeof(ivd_video_decode_op_t);
/*signal the decode thread*/
- ps_dec->as_fmt_conv_part[1].u4_flag = 0;
ih264d_signal_decode_thread(ps_dec);
/* close deblock thread if it is not closed yet*/
if(ps_dec->u4_num_cores == 3)
@@ -3072,73 +3074,56 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
}
while(( header_data_left == 1)||(frame_data_left == 1));
- if((ps_dec->u2_total_mbs_coded
- != (ps_dec->u2_frm_wd_in_mbs * ps_dec->u2_frm_ht_in_mbs))
- && (ps_dec_op->u4_num_bytes_consumed
- >= ps_dec_ip->u4_num_Bytes))
+ if((ps_dec->u4_slice_start_code_found == 1)
+ && ps_dec->u2_total_mbs_coded < ps_dec->u2_frm_ht_in_mbs * ps_dec->u2_frm_wd_in_mbs)
{
- if(ps_dec->ps_parse_cur_slice != NULL)
- {
- ps_dec->ps_parse_cur_slice->u2_error_flag = 1;
+ // last slice - missing/corruption
+ WORD32 num_mb_skipped;
+ pocstruct_t temp_poc;
- ps_dec->u2_skip_deblock = 1;
- }
+ num_mb_skipped = (ps_dec->u2_frm_ht_in_mbs * ps_dec->u2_frm_wd_in_mbs)
+ - ps_dec->u2_total_mbs_coded;
+ ih264d_mark_err_slice_skip(ps_dec, num_mb_skipped, ps_dec->u1_nal_unit_type == IDR_SLICE_NAL,&temp_poc,3);
}
+
+
if(ps_dec->u1_separate_parse)
{
-
/* If Format conversion is not complete,
complete it here */
if(ps_dec->u4_num_cores == 2)
{
- ps_dec->u4_fmt_conv_num_rows = ps_dec->s_disp_frame_info.u4_y_ht
- - ps_dec->u4_fmt_conv_cur_row;
- if(ps_dec->u4_output_present && ps_dec->u4_fmt_conv_in_process
- && ps_dec->u4_fmt_conv_num_rows)
+
+ /*do deblocking of all mbs*/
+ if((ps_dec->u4_nmb_deblk == 0) &&(ps_dec->u4_start_recon_deblk == 1) && (ps_dec->ps_cur_sps->u1_mb_aff_flag == 0))
{
- ps_dec->u4_fmt_conv_num_rows = MIN(
- ps_dec->u4_fmt_conv_num_rows,
- (ps_dec->s_disp_frame_info.u4_y_ht
- - ps_dec->u4_fmt_conv_cur_row));
- if(ps_dec->u4_fmt_conv_num_rows > 64)
- {
- UWORD32 num_rows_first_part = (ps_dec->u4_fmt_conv_num_rows
- / 2);
-
- /* Align it to even number */
- num_rows_first_part = (num_rows_first_part >> 1) << 1;
-
- /* Schedule last half of the remaining rows to be processed in second thread */
- ps_dec->as_fmt_conv_part[1].u4_start_y =
- ps_dec->u4_fmt_conv_cur_row
- + num_rows_first_part;
- ps_dec->as_fmt_conv_part[1].u4_num_rows_y =
- (ps_dec->u4_fmt_conv_num_rows
- - num_rows_first_part);
- ps_dec->u4_fmt_conv_num_rows = num_rows_first_part;
- DATA_SYNC();
- ps_dec->as_fmt_conv_part[1].u4_flag = 2;
+ UWORD32 u4_num_mbs,u4_max_addr;
+ tfr_ctxt_t s_tfr_ctxt;
+ tfr_ctxt_t *ps_tfr_cxt = &s_tfr_ctxt;
+ pad_mgr_t *ps_pad_mgr = &ps_dec->s_pad_mgr;
- }
- else
- {
- ps_dec->as_fmt_conv_part[1].u4_flag = 0;
- }
+ /*BS is done for all mbs while parsing*/
+ u4_max_addr = (ps_dec->u2_frm_wd_in_mbs * ps_dec->u2_frm_ht_in_mbs) - 1;
+ ps_dec->u4_cur_bs_mb_num = u4_max_addr + 1;
- ih264d_format_convert(ps_dec, &(ps_dec->s_disp_op),
- ps_dec->u4_fmt_conv_cur_row,
- ps_dec->u4_fmt_conv_num_rows);
- ps_dec->u4_fmt_conv_cur_row += ps_dec->u4_fmt_conv_num_rows;
+
+ ih264d_init_deblk_tfr_ctxt(ps_dec, ps_pad_mgr, ps_tfr_cxt,
+ ps_dec->u2_frm_wd_in_mbs, 0);
+
+
+ u4_num_mbs = u4_max_addr
+ - ps_dec->u4_cur_deblk_mb_num + 1;
+
+ DEBUG_PERF_PRINTF("mbs left for deblocking= %d \n",u4_num_mbs);
+
+ if(u4_num_mbs != 0)
+ ih264d_check_mb_map_deblk(ps_dec, u4_num_mbs,
+ ps_tfr_cxt,1);
+
+ ps_dec->u4_start_recon_deblk = 0;
}
- else
- {
- ps_dec->as_fmt_conv_part[1].u4_flag = 0;
- }
- }
- else
- {
- ps_dec->as_fmt_conv_part[1].u4_flag = 0;
+
}
/*signal the decode thread*/
@@ -3149,9 +3134,10 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
ih264d_signal_bs_deblk_thread(ps_dec);
}
}
- /* Decode thread would have completed format conversion for ps_dec->as_fmt_conv_part[1].u4_num_rows_y rows */
- ps_dec->u4_fmt_conv_cur_row += ps_dec->as_fmt_conv_part[1].u4_num_rows_y;
+
+ DATA_SYNC();
+
if((ps_dec_op->u4_error_code & 0xff)
!= ERROR_DYNAMIC_RESOLUTION_NOT_SUPPORTED)
@@ -3199,7 +3185,6 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
{
ih264d_fill_output_struct_from_context(ps_dec, ps_dec_op);
- ps_dec_op->u4_error_code = ps_dec->i4_error_code;
ps_dec_op->u4_frame_decoded_flag = 0;
/* close deblock thread if it is not closed yet*/
if(ps_dec->u4_num_cores == 3)
@@ -3269,7 +3254,7 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
ih264d_signal_bs_deblk_thread(ps_dec);
}
- if(ps_dec->u4_fmt_conv_in_process)
+
{
/* In case the decoder is configured to run in low delay mode,
* then get display buffer and then format convert.
@@ -3293,15 +3278,11 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
/* If Format conversion is not complete,
complete it here */
- ps_dec->u4_fmt_conv_num_rows = ps_dec->s_disp_frame_info.u4_y_ht
- - ps_dec->u4_fmt_conv_cur_row;
- DEBUG_PERF_PRINTF("ps_dec->u4_fmt_conv_num_rows = %d\n",ps_dec->u4_fmt_conv_num_rows);
- if(ps_dec->u4_output_present && ps_dec->u4_fmt_conv_num_rows)
+ if(ps_dec->u4_output_present &&
+ (ps_dec->u4_fmt_conv_cur_row < ps_dec->s_disp_frame_info.u4_y_ht))
{
- ps_dec->u4_fmt_conv_num_rows = MIN(
- ps_dec->u4_fmt_conv_num_rows,
- (ps_dec->s_disp_frame_info.u4_y_ht
- - ps_dec->u4_fmt_conv_cur_row));
+ ps_dec->u4_fmt_conv_num_rows = ps_dec->s_disp_frame_info.u4_y_ht
+ - ps_dec->u4_fmt_conv_cur_row;
ih264d_format_convert(ps_dec, &(ps_dec->s_disp_op),
ps_dec->u4_fmt_conv_cur_row,
ps_dec->u4_fmt_conv_num_rows);
@@ -3314,7 +3295,7 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
if(ps_dec->i4_decode_header == 1 && (ps_dec->i4_header_decoded & 1) == 1)
{
ps_dec_op->u4_progressive_frame_flag = 1;
- if((NULL != ps_dec->ps_sps) && (1 == (ps_dec->ps_sps->u1_is_valid)))
+ if((NULL != ps_dec->ps_cur_sps) && (1 == (ps_dec->ps_cur_sps->u1_is_valid)))
{
if((0 == ps_dec->ps_sps->u1_frame_mbs_only_flag)
&& (0 == ps_dec->ps_sps->u1_mb_aff_flag))
@@ -3328,12 +3309,13 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
H264_DEC_DEBUG_PRINT("The num bytes consumed: %d\n",
ps_dec_op->u4_num_bytes_consumed);
- return IV_SUCCESS;
+ return api_ret_value;
}
WORD32 ih264d_get_version(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
{
char version_string[MAXVERSION_STRLEN + 1];
+ UWORD32 version_string_len;
ivd_ctl_getversioninfo_ip_t *ps_ip;
ivd_ctl_getversioninfo_op_t *ps_op;
@@ -3352,9 +3334,11 @@ WORD32 ih264d_get_version(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
return (IV_FAIL);
}
- if(ps_ip->u4_version_buffer_size >= (strnlen(version_string, MAXVERSION_STRLEN) + 1)) //(WORD32)sizeof(sizeof(version_string)))
+ version_string_len = strnlen(version_string, MAXVERSION_STRLEN) + 1;
+
+ if(ps_ip->u4_version_buffer_size >= version_string_len) //(WORD32)sizeof(sizeof(version_string)))
{
- strncpy(ps_ip->pv_version_buffer, version_string, MAXVERSION_STRLEN);
+ memcpy(ps_ip->pv_version_buffer, version_string, version_string_len);
ps_op->u4_error_code = IV_SUCCESS;
}
else
@@ -3389,73 +3373,11 @@ WORD32 ih264d_get_display_frame(iv_obj_t *dec_hdl,
void *pv_api_op)
{
- ivd_get_display_frame_ip_t *dec_disp_ip;
- ivd_get_display_frame_op_t *dec_disp_op;
-
- WORD32 u4_api_ret;
- dec_struct_t * ps_dec = (dec_struct_t *)(dec_hdl->pv_codec_handle);
-
- dec_disp_ip = (ivd_get_display_frame_ip_t *)pv_api_ip;
- dec_disp_op = (ivd_get_display_frame_op_t *)pv_api_op;
-
- if(ps_dec->u4_fmt_conv_in_process)
- {
- return IV_FAIL;
- }
-
- {
-
- if(ps_dec->process_called != 1)
- {
- //Return Proper Error Code
- }
-
- if(0 == ps_dec->u4_share_disp_buf)
- {
- UWORD32 i;
- if(dec_disp_ip->s_out_buffer.u4_num_bufs == 0)
- {
- dec_disp_op->u4_error_code |= 1 << IVD_UNSUPPORTEDPARAM;
- dec_disp_op->u4_error_code |= IVD_DISP_FRM_ZERO_OP_BUFS;
- return IV_FAIL;
- }
-
- for(i = 0; i < dec_disp_ip->s_out_buffer.u4_num_bufs; i++)
- {
- if(dec_disp_ip->s_out_buffer.pu1_bufs[i] == NULL)
- {
- dec_disp_op->u4_error_code |= 1 << IVD_UNSUPPORTEDPARAM;
- dec_disp_op->u4_error_code |= IVD_DISP_FRM_OP_BUF_NULL;
- return IV_FAIL;
- }
-
- if(dec_disp_ip->s_out_buffer.u4_min_out_buf_size[i] == 0)
- {
- dec_disp_op->u4_error_code |= 1 << IVD_UNSUPPORTEDPARAM;
- dec_disp_op->u4_error_code |= IVD_DISP_FRM_ZERO_OP_BUF_SIZE;
- return IV_FAIL;
- }
- }
- }
-
- u4_api_ret = ih264d_get_next_display_field(ps_dec,
- &(dec_disp_ip->s_out_buffer),
- &(ps_dec->s_disp_op));
- *dec_disp_op = (ps_dec->s_disp_op);
- if(0 == dec_disp_op->u4_error_code)
- {
- ps_dec->u4_fmt_conv_cur_row = 0;
- ps_dec->u4_fmt_conv_num_rows = ps_dec->s_disp_frame_info.u4_y_ht;
- ih264d_format_convert(ps_dec, &(ps_dec->s_disp_op),
- ps_dec->u4_fmt_conv_cur_row,
- ps_dec->u4_fmt_conv_num_rows);
- ps_dec->u4_fmt_conv_cur_row += ps_dec->u4_fmt_conv_num_rows;
-
- }
- ih264d_release_display_field(ps_dec, dec_disp_op);
- return u4_api_ret;
- }
-
+ UNUSED(dec_hdl);
+ UNUSED(pv_api_ip);
+ UNUSED(pv_api_op);
+ // This function is no longer needed, output is returned in the process()
+ return IV_FAIL;
}
/*****************************************************************************/
@@ -3492,7 +3414,7 @@ WORD32 ih264d_set_display_frame(iv_obj_t *dec_hdl,
dec_disp_ip = (ivd_set_display_frame_ip_t *)pv_api_ip;
dec_disp_op = (ivd_set_display_frame_op_t *)pv_api_op;
dec_disp_op->u4_error_code = 0;
- if((NULL != ps_dec->ps_sps) && (1 == (ps_dec->ps_sps->u1_is_valid)))
+ if((NULL != ps_dec->ps_cur_sps) && (1 == (ps_dec->ps_cur_sps->u1_is_valid)))
{
UWORD32 level, width_mbs, height_mbs;
@@ -3500,10 +3422,10 @@ WORD32 ih264d_set_display_frame(iv_obj_t *dec_hdl,
width_mbs = ps_dec->u2_frm_wd_in_mbs;
height_mbs = ps_dec->u2_frm_ht_in_mbs;
- if((ps_dec->ps_sps->u1_vui_parameters_present_flag == 1)
- && (ps_dec->ps_sps->s_vui.u4_num_reorder_frames != 64))
+ if((ps_dec->ps_cur_sps->u1_vui_parameters_present_flag == 1)
+ && (ps_dec->ps_cur_sps->s_vui.u4_num_reorder_frames != 64))
{
- num_mvbank_req = ps_dec->ps_sps->s_vui.u4_num_reorder_frames + 2;
+ num_mvbank_req = ps_dec->ps_cur_sps->s_vui.u4_num_reorder_frames + 2;
}
else
{
@@ -3513,7 +3435,7 @@ WORD32 ih264d_set_display_frame(iv_obj_t *dec_hdl,
height_mbs);
}
- num_mvbank_req += ps_dec->ps_sps->u1_num_ref_frames + 1;
+ num_mvbank_req += ps_dec->ps_cur_sps->u1_num_ref_frames + 1;
}
else
{
@@ -3613,9 +3535,13 @@ WORD32 ih264d_set_flush_mode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op
/* Signal flush frame control call */
ps_dec->u1_flushfrm = 1;
+ if( ps_dec->u1_init_dec_flag == 1)
+ {
+
ih264d_release_pics_in_dpb((void *)ps_dec,
ps_dec->u1_pic_bufs);
ih264d_release_display_bufs(ps_dec);
+ }
ps_ctl_op->u4_error_code =
((ivd_ctl_flush_op_t*)ps_dec->pv_dec_out)->u4_error_code; //verify the value
@@ -3661,7 +3587,7 @@ WORD32 ih264d_get_status(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
pic_wd = ps_dec->u4_width_at_init;
pic_ht = ps_dec->u4_height_at_init;
- if((NULL != ps_dec->ps_sps) && (1 == (ps_dec->ps_sps->u1_is_valid)))
+ if((NULL != ps_dec->ps_cur_sps) && (1 == (ps_dec->ps_cur_sps->u1_is_valid)))
{
ps_ctl_op->u4_pic_ht = ps_dec->u2_disp_height;
ps_ctl_op->u4_pic_wd = ps_dec->u2_disp_width;
@@ -3698,7 +3624,7 @@ WORD32 ih264d_get_status(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
ps_ctl_op->u4_num_disp_bufs = 1;
else
{
- if((NULL != ps_dec->ps_sps) && (1 == (ps_dec->ps_sps->u1_is_valid)))
+ if((NULL != ps_dec->ps_cur_sps) && (1 == (ps_dec->ps_cur_sps->u1_is_valid)))
{
UWORD32 level, width_mbs, height_mbs;
@@ -3706,12 +3632,12 @@ WORD32 ih264d_get_status(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
width_mbs = ps_dec->u2_frm_wd_in_mbs;
height_mbs = ps_dec->u2_frm_ht_in_mbs;
- if((ps_dec->ps_sps->u1_vui_parameters_present_flag == 1)
- && (ps_dec->ps_sps->s_vui.u4_num_reorder_frames
+ if((ps_dec->ps_cur_sps->u1_vui_parameters_present_flag == 1)
+ && (ps_dec->ps_cur_sps->s_vui.u4_num_reorder_frames
!= 64))
{
ps_ctl_op->u4_num_disp_bufs =
- ps_dec->ps_sps->s_vui.u4_num_reorder_frames + 2;
+ ps_dec->ps_cur_sps->s_vui.u4_num_reorder_frames + 2;
}
else
{
@@ -3722,7 +3648,7 @@ WORD32 ih264d_get_status(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
}
ps_ctl_op->u4_num_disp_bufs +=
- ps_dec->ps_sps->u1_num_ref_frames + 1;
+ ps_dec->ps_cur_sps->u1_num_ref_frames + 1;
}
else
{
@@ -3882,7 +3808,7 @@ WORD32 ih264d_get_buf_info(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
pic_wd = ps_dec->u4_width_at_init;
pic_ht = ps_dec->u4_height_at_init;
- if((NULL != ps_dec->ps_sps) && (1 == (ps_dec->ps_sps->u1_is_valid)))
+ if((NULL != ps_dec->ps_cur_sps) && (1 == (ps_dec->ps_cur_sps->u1_is_valid)))
{
if(0 == ps_dec->u4_share_disp_buf)
@@ -3896,6 +3822,7 @@ WORD32 ih264d_get_buf_info(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
pic_wd = ps_dec->u2_frm_wd_y;
pic_ht = ps_dec->u2_frm_ht_y;
}
+
}
else
{
@@ -3914,7 +3841,7 @@ WORD32 ih264d_get_buf_info(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
ps_ctl_op->u4_num_disp_bufs = 1;
else
{
- if((NULL != ps_dec->ps_sps) && (1 == (ps_dec->ps_sps->u1_is_valid)))
+ if((NULL != ps_dec->ps_cur_sps) && (1 == (ps_dec->ps_cur_sps->u1_is_valid)))
{
UWORD32 level, width_mbs, height_mbs;
@@ -3922,12 +3849,12 @@ WORD32 ih264d_get_buf_info(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
width_mbs = ps_dec->u2_frm_wd_in_mbs;
height_mbs = ps_dec->u2_frm_ht_in_mbs;
- if((ps_dec->ps_sps->u1_vui_parameters_present_flag == 1)
- && (ps_dec->ps_sps->s_vui.u4_num_reorder_frames
+ if((ps_dec->ps_cur_sps->u1_vui_parameters_present_flag == 1)
+ && (ps_dec->ps_cur_sps->s_vui.u4_num_reorder_frames
!= 64))
{
ps_ctl_op->u4_num_disp_bufs =
- ps_dec->ps_sps->s_vui.u4_num_reorder_frames + 2;
+ ps_dec->ps_cur_sps->s_vui.u4_num_reorder_frames + 2;
}
else
{
@@ -3938,7 +3865,7 @@ WORD32 ih264d_get_buf_info(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
}
ps_ctl_op->u4_num_disp_bufs +=
- ps_dec->ps_sps->u1_num_ref_frames + 1;
+ ps_dec->ps_cur_sps->u1_num_ref_frames + 1;
}
else
@@ -4426,7 +4353,7 @@ WORD32 ih264d_get_frame_dimensions(iv_obj_t *dec_hdl,
ps_op = (ih264d_ctl_get_frame_dimensions_op_t *)pv_api_op;
UNUSED(ps_ip);
- if((NULL != ps_dec->ps_sps) && (1 == (ps_dec->ps_sps->u1_is_valid)))
+ if((NULL != ps_dec->ps_cur_sps) && (1 == (ps_dec->ps_cur_sps->u1_is_valid)))
{
disp_wd = ps_dec->u2_disp_width;
disp_ht = ps_dec->u2_disp_height;
@@ -4444,7 +4371,6 @@ WORD32 ih264d_get_frame_dimensions(iv_obj_t *dec_hdl,
}
else
{
-
disp_wd = ps_dec->u4_width_at_init;
disp_ht = ps_dec->u4_height_at_init;
@@ -4457,7 +4383,6 @@ WORD32 ih264d_get_frame_dimensions(iv_obj_t *dec_hdl,
{
buffer_wd = ALIGN16(disp_wd) + (PAD_LEN_Y_H << 1);
buffer_ht = ALIGN16(disp_ht) + (PAD_LEN_Y_V << 2);
-
}
}
if(ps_dec->u4_app_disp_width > buffer_wd)
diff --git a/decoder/ih264d_cabac_init_tables.c b/decoder/ih264d_cabac_init_tables.c
index 2c3a55e..cd35a2d 100644
--- a/decoder/ih264d_cabac_init_tables.c
+++ b/decoder/ih264d_cabac_init_tables.c
@@ -46,6 +46,7 @@
#include "ih264_macros.h"
#include "ih264_platform_macros.h"
#include "ih264d_cabac.h"
+#include "ih264d_tables.h"
/*combined table :guc_RTAB,NextStateLPS,NextStateMPS
input(combined_state):
diff --git a/decoder/ih264d_deblocking.c b/decoder/ih264d_deblocking.c
index ad4ce08..c5f3657 100644
--- a/decoder/ih264d_deblocking.c
+++ b/decoder/ih264d_deblocking.c
@@ -39,7 +39,6 @@
#include "ih264d_format_conv.h"
#include "ih264d_deblocking.h"
#include "ih264d_tables.h"
-//extern UWORD8 *g_dest_y, *g_dest_uv;
/*!
*************************************************************************
@@ -80,8 +79,8 @@ void ih264d_filter_boundary_left_nonmbaff(dec_struct_t *ps_dec,
WORD8 i1_cb_qp_idx_ofst,
WORD8 i1_cr_qp_idx_ofst,
deblk_mb_t * ps_cur_mb,
- UWORD16 i4_strd_y,
- UWORD16 i4_strd_uv,
+ WORD32 i4_strd_y,
+ WORD32 i4_strd_uv,
deblk_mb_t * ps_left_mb,
UWORD32 pu4_bs_tab[],
UWORD8 u1_cur_fld)
@@ -121,11 +120,11 @@ void ih264d_filter_boundary_left_nonmbaff(dec_struct_t *ps_dec,
/* Chroma cb values */
{
- UWORD8 u1_mb_qp1, u1_mb_qp2;
- u1_mb_qp1 = (ps_cur_mb->u1_left_mb_qp + i1_cb_qp_idx_ofst);
- u1_mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
- qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + u1_mb_qp1]
- + gau1_ih264d_qp_scale_cr[12 + u1_mb_qp2] + 1) >> 1);
+ WORD32 mb_qp1, mb_qp2;
+ mb_qp1 = (ps_cur_mb->u1_left_mb_qp + i1_cb_qp_idx_ofst);
+ mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
+ qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + mb_qp1]
+ + gau1_ih264d_qp_scale_cr[12 + mb_qp2] + 1) >> 1);
}
idx_a_u = qp_avg + ofst_a;
alpha_u = gau1_ih264d_alpha_table[12 + idx_a_u];
@@ -133,11 +132,11 @@ void ih264d_filter_boundary_left_nonmbaff(dec_struct_t *ps_dec,
beta_u = gau1_ih264d_beta_table[12 + idx_b_u];
/* Chroma cr values */
{
- UWORD8 u1_mb_qp1, u1_mb_qp2;
- u1_mb_qp1 = (ps_cur_mb->u1_left_mb_qp + i1_cr_qp_idx_ofst);
- u1_mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
- qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + u1_mb_qp1]
- + gau1_ih264d_qp_scale_cr[12 + u1_mb_qp2] + 1) >> 1);
+ WORD32 mb_qp1, mb_qp2;
+ mb_qp1 = (ps_cur_mb->u1_left_mb_qp + i1_cr_qp_idx_ofst);
+ mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
+ qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + mb_qp1]
+ + gau1_ih264d_qp_scale_cr[12 + mb_qp2] + 1) >> 1);
}
idx_a_v = qp_avg + ofst_a;
alpha_v = gau1_ih264d_alpha_table[12 + idx_a_v];
@@ -159,12 +158,9 @@ void ih264d_filter_boundary_left_nonmbaff(dec_struct_t *ps_dec,
if(u4_bs_val)
{
- pu1_cliptab_y = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_y];
- pu1_cliptab_u = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_u];
- pu1_cliptab_v = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_v];
+ pu1_cliptab_y = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_y];
+ pu1_cliptab_u = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_u];
+ pu1_cliptab_v = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_v];
ps_dec->pf_deblk_luma_vert_bslt4(pu1_y, i4_strd_y, alpha_y,
beta_y, u4_bs_val,
pu1_cliptab_y);
@@ -198,12 +194,9 @@ void ih264d_filter_boundary_left_nonmbaff(dec_struct_t *ps_dec,
if(u4_bs_val)
{
- pu1_cliptab_y = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_y];
- pu1_cliptab_u = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_u];
- pu1_cliptab_v = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_v];
+ pu1_cliptab_y = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_y];
+ pu1_cliptab_u = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_u];
+ pu1_cliptab_v = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_v];
ps_dec->pf_deblk_luma_vert_bslt4_mbaff(pu1_y, i4_strd_y,
alpha_y, beta_y,
@@ -236,11 +229,11 @@ void ih264d_filter_boundary_left_nonmbaff(dec_struct_t *ps_dec,
u4_bs_val = pu4_bs_tab[9];
{
- UWORD8 u1_mb_qp1, u1_mb_qp2;
- u1_mb_qp1 = ((ps_left_mb + 1)->u1_mb_qp + i1_cb_qp_idx_ofst);
- u1_mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
- qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + u1_mb_qp1]
- + gau1_ih264d_qp_scale_cr[12 + u1_mb_qp2] + 1) >> 1);
+ WORD32 mb_qp1, mb_qp2;
+ mb_qp1 = ((ps_left_mb + 1)->u1_mb_qp + i1_cb_qp_idx_ofst);
+ mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
+ qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + mb_qp1]
+ + gau1_ih264d_qp_scale_cr[12 + mb_qp2] + 1) >> 1);
}
idx_a_u = qp_avg + ofst_a;
alpha_u = gau1_ih264d_alpha_table[12 + idx_a_u];
@@ -248,11 +241,11 @@ void ih264d_filter_boundary_left_nonmbaff(dec_struct_t *ps_dec,
beta_u = gau1_ih264d_beta_table[12 + idx_b_u];
u4_bs_val = pu4_bs_tab[9];
{
- UWORD8 u1_mb_qp1, u1_mb_qp2;
- u1_mb_qp1 = ((ps_left_mb + 1)->u1_mb_qp + i1_cr_qp_idx_ofst);
- u1_mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
- qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + u1_mb_qp1]
- + gau1_ih264d_qp_scale_cr[12 + u1_mb_qp2] + 1) >> 1);
+ WORD32 mb_qp1, mb_qp2;
+ mb_qp1 = ((ps_left_mb + 1)->u1_mb_qp + i1_cr_qp_idx_ofst);
+ mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
+ qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + mb_qp1]
+ + gau1_ih264d_qp_scale_cr[12 + mb_qp2] + 1) >> 1);
}
idx_a_v = qp_avg + ofst_a;
alpha_v = gau1_ih264d_alpha_table[12 + idx_a_v];
@@ -272,12 +265,9 @@ void ih264d_filter_boundary_left_nonmbaff(dec_struct_t *ps_dec,
if(u4_bs_val)
{
- pu1_cliptab_y = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_y];
- pu1_cliptab_u = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_u];
- pu1_cliptab_v = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_v];
+ pu1_cliptab_y = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_y];
+ pu1_cliptab_u = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_u];
+ pu1_cliptab_v = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_v];
ps_dec->pf_deblk_luma_vert_bslt4_mbaff(pu1_y, i4_strd_y,
alpha_y, beta_y,
@@ -313,8 +303,8 @@ void ih264d_filter_boundary_top_nonmbaff(dec_struct_t *ps_dec,
WORD8 i1_cb_qp_idx_ofst,
WORD8 i1_cr_qp_idx_ofst,
deblk_mb_t * ps_cur_mb,
- UWORD16 i4_strd_y,
- UWORD16 i4_strd_uv,
+ WORD32 i4_strd_y,
+ WORD32 i4_strd_uv,
deblk_mb_t * ps_top_mb,
UWORD32 u4_bs)
{
@@ -322,7 +312,6 @@ void ih264d_filter_boundary_top_nonmbaff(dec_struct_t *ps_dec,
WORD32 alpha_u = 0, beta_u = 0, alpha_v = 0, beta_v = 0;
WORD32 alpha_y = 0, beta_y = 0;
WORD32 qp_avg;
- WORD32 uc_QPav_Y;
WORD32 idx_b_u, idx_a_u, idx_b_v, idx_a_v;
WORD32 idx_b_y, idx_a_y;
UWORD16 uc_tmp;
@@ -335,20 +324,20 @@ void ih264d_filter_boundary_top_nonmbaff(dec_struct_t *ps_dec,
/* LUMA values */
/* Deblock rounding change */
uc_tmp = ((ps_cur_mb->u1_topmb_qp + ps_cur_mb->u1_mb_qp + 1) >> 1);
- uc_QPav_Y = (UWORD8)uc_tmp;
- idx_a_y = uc_QPav_Y + ofst_a;
+ qp_avg = (UWORD8)uc_tmp;
+ idx_a_y = qp_avg + ofst_a;
alpha_y = gau1_ih264d_alpha_table[12 + idx_a_y];
- idx_b_y = uc_QPav_Y + ofst_b;
+ idx_b_y = qp_avg + ofst_b;
beta_y = gau1_ih264d_beta_table[12 + idx_b_y];
pu1_y = ps_tfr_cxt->pu1_mb_y;
/* CHROMA cb values */
{
- UWORD8 u1_mb_qp1, u1_mb_qp2;
- u1_mb_qp1 = (ps_cur_mb->u1_topmb_qp + i1_cb_qp_idx_ofst);
- u1_mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
- qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + u1_mb_qp1]
- + gau1_ih264d_qp_scale_cr[12 + u1_mb_qp2] + 1) >> 1);
+ WORD32 mb_qp1, mb_qp2;
+ mb_qp1 = (ps_cur_mb->u1_topmb_qp + i1_cb_qp_idx_ofst);
+ mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
+ qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + mb_qp1]
+ + gau1_ih264d_qp_scale_cr[12 + mb_qp2] + 1) >> 1);
}
idx_a_u = qp_avg + ofst_a;
@@ -357,11 +346,11 @@ void ih264d_filter_boundary_top_nonmbaff(dec_struct_t *ps_dec,
beta_u = gau1_ih264d_beta_table[12 + idx_b_u];
/* CHROMA cr values */
{
- UWORD8 u1_mb_qp1, u1_mb_qp2;
- u1_mb_qp1 = (ps_cur_mb->u1_topmb_qp + i1_cr_qp_idx_ofst);
- u1_mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
- qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + u1_mb_qp1]
- + gau1_ih264d_qp_scale_cr[12 + u1_mb_qp2] + 1) >> 1);
+ WORD32 mb_qp1, mb_qp2;
+ mb_qp1 = (ps_cur_mb->u1_topmb_qp + i1_cr_qp_idx_ofst);
+ mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
+ qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + mb_qp1]
+ + gau1_ih264d_qp_scale_cr[12 + mb_qp2] + 1) >> 1);
}
idx_a_v = qp_avg + ofst_a;
@@ -405,11 +394,8 @@ void ih264d_deblock_mb_nonmbaff(dec_struct_t *ps_dec,
tfr_ctxt_t * ps_tfr_cxt,
WORD8 i1_cb_qp_idx_ofst,
WORD8 i1_cr_qp_idx_ofst,
- deblk_mb_t * ps_cur_mb,
WORD32 i4_strd_y,
- WORD32 i4_strd_uv,
- deblk_mb_t * ps_top_mb,
- deblk_mb_t * ps_left_mb)
+ WORD32 i4_strd_uv )
{
UWORD8 *pu1_y, *pu1_u;
UWORD32 u4_bs;
@@ -420,157 +406,211 @@ void ih264d_deblock_mb_nonmbaff(dec_struct_t *ps_dec,
UWORD8 *pu1_cliptab_v;
UWORD8 *pu1_cliptab_y;
- UWORD32 * pu4_bs_tab = ps_cur_mb->u4_bs_table;
+ UWORD32 * pu4_bs_tab;
WORD32 idx_a_y, idx_a_u, idx_a_v;
+ UWORD32 u4_deb_mode, u4_mbs_next;
+ UWORD32 u4_image_wd_mb;
+ deblk_mb_t *ps_top_mb,*ps_left_mb,*ps_cur_mb;
PROFILE_DISABLE_DEBLK()
/* Return from here to switch off deblocking */
- /*---------------------------------------------------------------------*/
- /* Filter wrt Left edge */
- /* except */
- /* - Left Egde is Picture Boundary */
- /* - Left Egde is part of Slice Boundary and Deblocking */
- /* parameters of slice disable Filtering of Slice Boundary Edges*/
- /*---------------------------------------------------------------------*/
- if(ps_left_mb)
- ih264d_filter_boundary_left_nonmbaff(ps_dec, ps_tfr_cxt,
- i1_cb_qp_idx_ofst,
- i1_cr_qp_idx_ofst, ps_cur_mb,
- i4_strd_y, i4_strd_uv, ps_left_mb,
- pu4_bs_tab, 0);
-
- /*--------------------------------------------------------------------*/
- /* Filter wrt Other Vertical Edges */
- /*--------------------------------------------------------------------*/
- {
- WORD32 ofst_a, ofst_b, idx_b_y, idx_b_u,
- idx_b_v;
- WORD32 qp_avg, qp_avg_u, qp_avg_v;
- ofst_a = ps_cur_mb->i1_slice_alpha_c0_offset;
- ofst_b = ps_cur_mb->i1_slice_beta_offset;
-
- qp_avg = ps_cur_mb->u1_mb_qp;
-
- idx_a_y = qp_avg + ofst_a;
- alpha = gau1_ih264d_alpha_table[12 + idx_a_y];
- idx_b_y = qp_avg + ofst_b;
- beta = gau1_ih264d_beta_table[12 + idx_b_y];
-
- /* CHROMA values */
- /* CHROMA Cb values */
- qp_avg_u = (qp_avg + i1_cb_qp_idx_ofst);
- qp_avg_u = gau1_ih264d_qp_scale_cr[12 + qp_avg_u];
- idx_a_u = qp_avg_u + ofst_a;
- alpha_u = gau1_ih264d_alpha_table[12 + idx_a_u];
- idx_b_u = qp_avg_u + ofst_b;
- beta_u = gau1_ih264d_beta_table[12 + idx_b_u];
- /* CHROMA Cr values */
- qp_avg_v = (qp_avg + i1_cr_qp_idx_ofst);
- qp_avg_v = gau1_ih264d_qp_scale_cr[12 + qp_avg_v];
- idx_a_v = qp_avg_v + ofst_a;
- alpha_v = gau1_ih264d_alpha_table[12 + idx_a_v];
- idx_b_v = qp_avg_v + ofst_b;
- beta_v = gau1_ih264d_beta_table[12 + idx_b_v];
- }
+ u4_image_wd_mb = ps_dec->u2_frm_wd_in_mbs;
+
+ ps_cur_mb = ps_dec->ps_cur_deblk_mb;
+ pu4_bs_tab = ps_cur_mb->u4_bs_table;
+ u4_deb_mode = ps_cur_mb->u1_deblocking_mode;
+ if(!(u4_deb_mode & MB_DISABLE_FILTERING))
+ {
+
+ if(ps_dec->u4_deblk_mb_x)
+ {
+ ps_left_mb = ps_cur_mb - 1;
+
+ }
+ else
+ {
+ ps_left_mb = NULL;
+
+ }
+ if(ps_dec->u4_deblk_mb_y != 0)
+ {
+ ps_top_mb = ps_cur_mb - (u4_image_wd_mb);
+ }
+ else
+ {
+ ps_top_mb = NULL;
+ }
+
+ if(u4_deb_mode & MB_DISABLE_LEFT_EDGE)
+ ps_left_mb = NULL;
+ if(u4_deb_mode & MB_DISABLE_TOP_EDGE)
+ ps_top_mb = NULL;
+
+ /*---------------------------------------------------------------------*/
+ /* Filter wrt Left edge */
+ /* except */
+ /* - Left Egde is Picture Boundary */
+ /* - Left Egde is part of Slice Boundary and Deblocking */
+ /* parameters of slice disable Filtering of Slice Boundary Edges*/
+ /*---------------------------------------------------------------------*/
+ if(ps_left_mb)
+ ih264d_filter_boundary_left_nonmbaff(ps_dec, ps_tfr_cxt,
+ i1_cb_qp_idx_ofst,
+ i1_cr_qp_idx_ofst, ps_cur_mb,
+ i4_strd_y, i4_strd_uv, ps_left_mb,
+ pu4_bs_tab, 0);
+
+ /*--------------------------------------------------------------------*/
+ /* Filter wrt Other Vertical Edges */
+ /*--------------------------------------------------------------------*/
+ {
+ WORD32 ofst_a, ofst_b, idx_b_y, idx_b_u,
+ idx_b_v;
+ WORD32 qp_avg, qp_avg_u, qp_avg_v;
+ ofst_a = ps_cur_mb->i1_slice_alpha_c0_offset;
+ ofst_b = ps_cur_mb->i1_slice_beta_offset;
+
+ qp_avg = ps_cur_mb->u1_mb_qp;
+
+ idx_a_y = qp_avg + ofst_a;
+ alpha = gau1_ih264d_alpha_table[12 + idx_a_y];
+ idx_b_y = qp_avg + ofst_b;
+ beta = gau1_ih264d_beta_table[12 + idx_b_y];
+
+ /* CHROMA values */
+ /* CHROMA Cb values */
+ qp_avg_u = (qp_avg + i1_cb_qp_idx_ofst);
+ qp_avg_u = gau1_ih264d_qp_scale_cr[12 + qp_avg_u];
+ idx_a_u = qp_avg_u + ofst_a;
+ alpha_u = gau1_ih264d_alpha_table[12 + idx_a_u];
+ idx_b_u = qp_avg_u + ofst_b;
+ beta_u = gau1_ih264d_beta_table[12 + idx_b_u];
+ /* CHROMA Cr values */
+ qp_avg_v = (qp_avg + i1_cr_qp_idx_ofst);
+ qp_avg_v = gau1_ih264d_qp_scale_cr[12 + qp_avg_v];
+ idx_a_v = qp_avg_v + ofst_a;
+ alpha_v = gau1_ih264d_alpha_table[12 + idx_a_v];
+ idx_b_v = qp_avg_v + ofst_b;
+ beta_v = gau1_ih264d_beta_table[12 + idx_b_v];
+ }
- pu1_cliptab_y = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_y]; //this for Luma
- pu1_cliptab_u = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_u]; //this for chroma
- pu1_cliptab_v = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_v]; //this for chroma
+ pu1_cliptab_y = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_y]; //this for Luma
+ pu1_cliptab_u = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_u]; //this for chroma
+ pu1_cliptab_v = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_v]; //this for chroma
- //edge=1
+ //edge=1
- u4_bs = pu4_bs_tab[5];
- pu1_y = ps_tfr_cxt->pu1_mb_y;
- pu1_u = ps_tfr_cxt->pu1_mb_u;
+ u4_bs = pu4_bs_tab[5];
+ pu1_y = ps_tfr_cxt->pu1_mb_y;
+ pu1_u = ps_tfr_cxt->pu1_mb_u;
- if(u4_bs)
- {
+ if(u4_bs)
+ {
- ps_dec->pf_deblk_luma_vert_bslt4(pu1_y + 4, i4_strd_y, alpha, beta,
- u4_bs, pu1_cliptab_y);
+ ps_dec->pf_deblk_luma_vert_bslt4(pu1_y + 4, i4_strd_y, alpha, beta,
+ u4_bs, pu1_cliptab_y);
- }
- //edge=2
+ }
+ //edge=2
- u4_bs = pu4_bs_tab[6];
- if(u4_bs)
- {
- ps_dec->pf_deblk_luma_vert_bslt4(pu1_y + 8, i4_strd_y, alpha, beta,
- u4_bs, pu1_cliptab_y);
- ps_dec->pf_deblk_chroma_vert_bslt4(pu1_u + 4 * YUV420SP_FACTOR,
- i4_strd_uv, alpha_u, beta_u,
- alpha_v, beta_v, u4_bs,
- pu1_cliptab_u, pu1_cliptab_v);
+ u4_bs = pu4_bs_tab[6];
+ if(u4_bs)
+ {
+ ps_dec->pf_deblk_luma_vert_bslt4(pu1_y + 8, i4_strd_y, alpha, beta,
+ u4_bs, pu1_cliptab_y);
+ ps_dec->pf_deblk_chroma_vert_bslt4(pu1_u + 4 * YUV420SP_FACTOR,
+ i4_strd_uv, alpha_u, beta_u,
+ alpha_v, beta_v, u4_bs,
+ pu1_cliptab_u, pu1_cliptab_v);
- }
- //edge=3
+ }
+ //edge=3
- u4_bs = pu4_bs_tab[7];
- if(u4_bs)
- {
- ps_dec->pf_deblk_luma_vert_bslt4(pu1_y + 12, i4_strd_y, alpha, beta,
- u4_bs, pu1_cliptab_y);
+ u4_bs = pu4_bs_tab[7];
+ if(u4_bs)
+ {
+ ps_dec->pf_deblk_luma_vert_bslt4(pu1_y + 12, i4_strd_y, alpha, beta,
+ u4_bs, pu1_cliptab_y);
- }
+ }
- /*--------------------------------------------------------------------*/
- /* Filter wrt Top edge */
- /* except */
- /* - Top Egde is Picture Boundary */
- /* - Top Egde is part of Slice Boundary and Deblocking */
- /* parameters of slice disable Filtering of Slice Boundary Edges*/
- /*--------------------------------------------------------------------*/
- if(ps_top_mb)
- {
- /** if top MB and MB AFF and cur MB is frame and top is field then */
- /* one extra top edge needs to be deblocked */
+ /*--------------------------------------------------------------------*/
+ /* Filter wrt Top edge */
+ /* except */
+ /* - Top Egde is Picture Boundary */
+ /* - Top Egde is part of Slice Boundary and Deblocking */
+ /* parameters of slice disable Filtering of Slice Boundary Edges*/
+ /*--------------------------------------------------------------------*/
+ if(ps_top_mb)
+ {
+ /** if top MB and MB AFF and cur MB is frame and top is field then */
+ /* one extra top edge needs to be deblocked */
- ih264d_filter_boundary_top_nonmbaff(ps_dec, ps_tfr_cxt,
- i1_cb_qp_idx_ofst,
- i1_cr_qp_idx_ofst, ps_cur_mb,
- i4_strd_y, i4_strd_uv, ps_top_mb,
- pu4_bs_tab[0]);
+ ih264d_filter_boundary_top_nonmbaff(ps_dec, ps_tfr_cxt,
+ i1_cb_qp_idx_ofst,
+ i1_cr_qp_idx_ofst, ps_cur_mb,
+ i4_strd_y, i4_strd_uv, ps_top_mb,
+ pu4_bs_tab[0]);
- }
+ }
- /*--------------------------------------------------------------------*/
- /* Filter wrt Other Horizontal Edges */
- /*--------------------------------------------------------------------*/
+ /*--------------------------------------------------------------------*/
+ /* Filter wrt Other Horizontal Edges */
+ /*--------------------------------------------------------------------*/
- //edge1
- u4_bs = pu4_bs_tab[1];
+ //edge1
+ u4_bs = pu4_bs_tab[1];
- if(u4_bs)
- {
- ps_dec->pf_deblk_luma_horz_bslt4(pu1_y + (i4_strd_y << 2), i4_strd_y,
- alpha, beta, u4_bs, pu1_cliptab_y);
+ if(u4_bs)
+ {
+ ps_dec->pf_deblk_luma_horz_bslt4(pu1_y + (i4_strd_y << 2), i4_strd_y,
+ alpha, beta, u4_bs, pu1_cliptab_y);
- }
- //edge2
- u4_bs = pu4_bs_tab[2];
+ }
+ //edge2
+ u4_bs = pu4_bs_tab[2];
- if(u4_bs)
- {
+ if(u4_bs)
+ {
- ps_dec->pf_deblk_luma_horz_bslt4(pu1_y + (i4_strd_y << 3), i4_strd_y,
- alpha, beta, u4_bs, pu1_cliptab_y);
- ps_dec->pf_deblk_chroma_horz_bslt4(pu1_u + (i4_strd_uv << 2),
- i4_strd_uv, alpha_u, beta_u,
- alpha_v, beta_v, u4_bs,
- pu1_cliptab_u, pu1_cliptab_v);
+ ps_dec->pf_deblk_luma_horz_bslt4(pu1_y + (i4_strd_y << 3), i4_strd_y,
+ alpha, beta, u4_bs, pu1_cliptab_y);
+ ps_dec->pf_deblk_chroma_horz_bslt4(pu1_u + (i4_strd_uv << 2),
+ i4_strd_uv, alpha_u, beta_u,
+ alpha_v, beta_v, u4_bs,
+ pu1_cliptab_u, pu1_cliptab_v);
- }
- //edge3
- u4_bs = pu4_bs_tab[3];
- if(u4_bs)
- {
- ps_dec->pf_deblk_luma_horz_bslt4(
- (pu1_y + (i4_strd_y << 3) + (i4_strd_y << 2)),
- i4_strd_y, alpha, beta, u4_bs, pu1_cliptab_y);
+ }
+ //edge3
+ u4_bs = pu4_bs_tab[3];
+ if(u4_bs)
+ {
+ ps_dec->pf_deblk_luma_horz_bslt4(
+ (pu1_y + (i4_strd_y << 3) + (i4_strd_y << 2)),
+ i4_strd_y, alpha, beta, u4_bs, pu1_cliptab_y);
- }
+ }
+ }
+
+ ps_dec->u4_deblk_mb_x++;
+ ps_dec->ps_cur_deblk_mb++;
+ ps_dec->u4_cur_deblk_mb_num++;
+ u4_mbs_next = u4_image_wd_mb - ps_dec->u4_deblk_mb_x;
+
+ ps_tfr_cxt->pu1_mb_y += 16;
+ ps_tfr_cxt->pu1_mb_u += 8 * YUV420SP_FACTOR;
+ ps_tfr_cxt->pu1_mb_v += 8;
+
+ if(!u4_mbs_next)
+ {
+ ps_tfr_cxt->pu1_mb_y += ps_tfr_cxt->u4_y_inc;
+ ps_tfr_cxt->pu1_mb_u += ps_tfr_cxt->u4_uv_inc;
+ ps_tfr_cxt->pu1_mb_v += ps_tfr_cxt->u4_uv_inc;
+ ps_dec->u4_deblk_mb_y++;
+ ps_dec->u4_deblk_mb_x = 0;
+ }
}
@@ -604,6 +644,10 @@ void ih264d_init_deblk_tfr_ctxt(dec_struct_t * ps_dec,
ps_tfr_cxt->pu1_dest_u = ps_tfr_cxt->pu1_src_u;
ps_tfr_cxt->pu1_dest_v = ps_tfr_cxt->pu1_src_v;
+ ps_tfr_cxt->pu1_mb_y = ps_tfr_cxt->pu1_src_y + 4;
+ ps_tfr_cxt->pu1_mb_u = ps_tfr_cxt->pu1_src_u + 4;
+ ps_tfr_cxt->pu1_mb_v = ps_tfr_cxt->pu1_src_v + 4;
+
i4_wd_y = ps_dec->u2_frm_wd_y << u1_field_pic_flag;
i4_wd_uv = ps_dec->u2_frm_wd_uv << u1_field_pic_flag;
ps_tfr_cxt->u4_y_inc = ((i4_wd_y << u1_mbaff) * 16
@@ -698,14 +742,13 @@ void ih264d_deblock_picture_mbaff(dec_struct_t * ps_dec)
i4_wd_uv = ps_dec->u2_frm_wd_uv << u1_field_pic_flag;
/* Initial filling of the buffers with deblocking data */
- pu1_deb_y = ps_tfr_cxt->pu1_src_y + 4;
- pu1_deb_u = ps_tfr_cxt->pu1_src_u + 4;
- pu1_deb_v = ps_tfr_cxt->pu1_src_v + 4;
+ pu1_deb_y = ps_tfr_cxt->pu1_mb_y;
+ pu1_deb_u = ps_tfr_cxt->pu1_mb_u;
+ pu1_deb_v = ps_tfr_cxt->pu1_mb_v;
ps_cur_mb = ps_dec->ps_deblk_pic;
if(ps_dec->u4_app_disable_deblk_frm == 0)
{
- if(ps_dec->u4_mb_level_deblk == 0 || ps_dec->u4_num_cores >= 3)
{
while(i2_mb_y > 0)
@@ -941,13 +984,9 @@ void ih264d_deblock_picture_mbaff(dec_struct_t * ps_dec)
void ih264d_deblock_picture_non_mbaff(dec_struct_t * ps_dec)
{
- WORD16 i2_mb_x, i2_mb_y;
deblk_mb_t *ps_cur_mb;
- deblk_mb_t *ps_top_mb;
- deblk_mb_t *ps_left_mb;
UWORD8 u1_vert_pad_top = 1;
- UWORD8 u1_first_row;
UWORD8 u1_deb_mode;
WORD32 i4_wd_y, i4_wd_uv;
@@ -974,80 +1013,26 @@ void ih264d_deblock_picture_non_mbaff(dec_struct_t * ps_dec)
0);
/* Pic level Initialisations */
- i2_mb_y = u2_image_ht_mb;
- i2_mb_x = 0;
- u1_first_row = 1;
+
i4_wd_y = ps_dec->u2_frm_wd_y << u1_field_pic_flag;
i4_wd_uv = ps_dec->u2_frm_wd_uv << u1_field_pic_flag;
/* Initial filling of the buffers with deblocking data */
- ps_tfr_cxt->pu1_mb_y = ps_tfr_cxt->pu1_src_y + 4;
- ps_tfr_cxt->pu1_mb_u = ps_tfr_cxt->pu1_src_u + 4;
- ps_tfr_cxt->pu1_mb_v = ps_tfr_cxt->pu1_src_v + 4;
ps_cur_mb = ps_dec->ps_deblk_pic;
if(ps_dec->u4_app_disable_deblk_frm == 0)
{
- if((ps_dec->u4_mb_level_deblk == 0) && (ps_dec->u4_num_cores != 3))
+ if(ps_dec->ps_cur_sps->u1_mb_aff_flag == 1)
{
-
- while(i2_mb_y > 0)
+ while( ps_dec->u4_deblk_mb_y < u2_image_ht_mb)
{
- do
- {
-
- u1_deb_mode = ps_cur_mb->u1_deblocking_mode;
- if(!(u1_deb_mode & MB_DISABLE_FILTERING))
- {
- if(i2_mb_x)
- {
- ps_left_mb = ps_cur_mb - 1;
- }
- else
- {
- ps_left_mb = NULL;
- }
- if(!u1_first_row)
- {
- ps_top_mb = ps_cur_mb - (u2_image_wd_mb);
- }
- else
- {
- ps_top_mb = NULL;
- }
-
- if(u1_deb_mode & MB_DISABLE_LEFT_EDGE)
- ps_left_mb = NULL;
- if(u1_deb_mode & MB_DISABLE_TOP_EDGE)
- ps_top_mb = NULL;
-
- ih264d_deblock_mb_nonmbaff(ps_dec, ps_tfr_cxt,
- i1_cb_qp_idx_ofst,
- i1_cr_qp_idx_ofst, ps_cur_mb,
- i4_wd_y, i4_wd_uv, ps_top_mb,
- ps_left_mb);
- }
-
- ps_cur_mb++;
- i2_mb_x++;
-
- ps_tfr_cxt->pu1_mb_y += 16;
- ps_tfr_cxt->pu1_mb_u += 8 * YUV420SP_FACTOR;
- ps_tfr_cxt->pu1_mb_v += 8;
-
- }
- while(i2_mb_x < u2_image_wd_mb);
-
- ps_tfr_cxt->pu1_mb_y += ps_tfr_cxt->u4_y_inc;
- ps_tfr_cxt->pu1_mb_u += ps_tfr_cxt->u4_uv_inc;
- ps_tfr_cxt->pu1_mb_v += ps_tfr_cxt->u4_uv_inc;
-
- i2_mb_x = 0;
- i2_mb_y--;
- u1_first_row = 0;
-
+ ih264d_deblock_mb_nonmbaff(ps_dec, ps_tfr_cxt,
+ i1_cb_qp_idx_ofst,
+ i1_cr_qp_idx_ofst,
+ i4_wd_y, i4_wd_uv);
+ ps_cur_mb++;
}
}
@@ -1116,14 +1101,10 @@ void ih264d_deblock_picture_non_mbaff(dec_struct_t * ps_dec)
void ih264d_deblock_picture_progressive(dec_struct_t * ps_dec)
{
- WORD16 i2_mb_x, i2_mb_y;
-
deblk_mb_t *ps_cur_mb;
- deblk_mb_t *ps_top_mb;
- deblk_mb_t *ps_left_mb;
UWORD8 u1_vert_pad_top = 1;
- UWORD8 u1_mbs_next, u1_first_row;
+ UWORD8 u1_mbs_next;
UWORD8 u1_deb_mode;
WORD32 i4_wd_y, i4_wd_uv;
@@ -1149,83 +1130,23 @@ void ih264d_deblock_picture_progressive(dec_struct_t * ps_dec)
0);
/* Pic level Initialisations */
- i2_mb_y = u2_image_ht_mb;
- i2_mb_x = 0;
-
- u1_first_row = 1;
i4_wd_y = ps_dec->u2_frm_wd_y;
i4_wd_uv = ps_dec->u2_frm_wd_uv;
/* Initial filling of the buffers with deblocking data */
-
- ps_tfr_cxt->pu1_mb_y = ps_tfr_cxt->pu1_src_y + 4;
- ps_tfr_cxt->pu1_mb_u = ps_tfr_cxt->pu1_src_u + 4;
- ps_tfr_cxt->pu1_mb_v = ps_tfr_cxt->pu1_src_v + 4;
ps_cur_mb = ps_dec->ps_deblk_pic;
if(ps_dec->u4_app_disable_deblk_frm == 0)
{
-
- if((ps_dec->u4_mb_level_deblk == 0) && (ps_dec->u4_num_cores != 3))
+ if(ps_dec->ps_cur_sps->u1_mb_aff_flag == 1)
{
-
- while(i2_mb_y > 0)
+ while( ps_dec->u4_deblk_mb_y < u2_image_ht_mb)
{
-
- u1_deb_mode = ps_cur_mb->u1_deblocking_mode;
- if(!(u1_deb_mode & MB_DISABLE_FILTERING))
- {
-
- if(i2_mb_x)
- {
- ps_left_mb = ps_cur_mb - 1;
-
- }
- else
- {
- ps_left_mb = NULL;
-
- }
- if(!u1_first_row)
- {
- ps_top_mb = ps_cur_mb - (u2_image_wd_mb);
- }
- else
- {
- ps_top_mb = NULL;
- }
-
- if(u1_deb_mode & MB_DISABLE_LEFT_EDGE)
- ps_left_mb = NULL;
- if(u1_deb_mode & MB_DISABLE_TOP_EDGE)
- ps_top_mb = NULL;
-
- ih264d_deblock_mb_nonmbaff(ps_dec, ps_tfr_cxt,
- i1_cb_qp_idx_ofst,
- i1_cr_qp_idx_ofst, ps_cur_mb,
- i4_wd_y, i4_wd_uv, ps_top_mb,
- ps_left_mb);
- }
-
+ ih264d_deblock_mb_nonmbaff(ps_dec, ps_tfr_cxt,
+ i1_cb_qp_idx_ofst,
+ i1_cr_qp_idx_ofst,
+ i4_wd_y, i4_wd_uv);
ps_cur_mb++;
- i2_mb_x++;
- u1_mbs_next = u2_image_wd_mb - i2_mb_x;
-
- ps_tfr_cxt->pu1_mb_y += 16;
- ps_tfr_cxt->pu1_mb_u += 8 * YUV420SP_FACTOR;
- ps_tfr_cxt->pu1_mb_v += 8;
-
- if(!u1_mbs_next)
- {
- ps_tfr_cxt->pu1_mb_y += ps_tfr_cxt->u4_y_inc;
- ps_tfr_cxt->pu1_mb_u += ps_tfr_cxt->u4_uv_inc;
- ps_tfr_cxt->pu1_mb_v += ps_tfr_cxt->u4_uv_inc;
-
- i2_mb_x = 0;
- i2_mb_y--;
- u1_first_row = 0;
- }
-
}
}
@@ -1355,12 +1276,12 @@ void ih264d_copy_intra_pred_line(dec_struct_t *ps_dec,
u4_recWidth = ps_dec->u2_frm_wd_y << u1_mb_field_decoding_flag;
u4_recwidth_cr = ps_dec->u2_frm_wd_uv << u1_mb_field_decoding_flag;
- pu1_mb_last_row = ps_dec->s_tran_addrecon.pu1_dest_y
+ pu1_mb_last_row = ps_dec->ps_frame_buf_ip_recon->pu1_dest_y
+ (u4_recWidth * (MB_SIZE - 1));
pu1_mb_last_row += MB_SIZE * nmb_index;
MEMCPY_16BYTES(ps_dec->pu1_cur_y_intra_pred_line, pu1_mb_last_row);
- pu1_mb_last_row = ps_dec->s_tran_addrecon.pu1_dest_u
+ pu1_mb_last_row = ps_dec->ps_frame_buf_ip_recon->pu1_dest_u
+ (u4_recwidth_cr * (BLK8x8SIZE - 1));
pu1_mb_last_row += BLK8x8SIZE * nmb_index * YUV420SP_FACTOR;
@@ -1413,227 +1334,20 @@ void ih264d_copy_intra_pred_line(dec_struct_t *ps_dec,
}
-void ih264d_deblock_mb_level(dec_struct_t *ps_dec,
- dec_mb_info_t *ps_cur_mb_info,
- UWORD32 nmb_index)
-{
- UWORD8 u1_deb_mode;
- deblk_mb_t *ps_cur_mb, *ps_left_mb, *ps_top_mb;
- UWORD16 u2_image_wd_mb = ps_dec->u2_frm_wd_in_mbs;
- UWORD16 u2_image_ht_mb = ps_dec->u2_frm_ht_in_mbs;
- WORD8 i1_cb_qp_idx_ofst = ps_dec->ps_cur_pps->i1_chroma_qp_index_offset;
- WORD8 i1_cr_qp_idx_ofst =
- ps_dec->ps_cur_pps->i1_second_chroma_qp_index_offset;
- WORD32 i4_wd_y, i4_wd_uv;
- tfr_ctxt_t * ps_tfr_cxt = &ps_dec->s_tran_addrecon;
- WORD16 i2_mb_y, i2_mb_x;
- UWORD8 u1_mb_field_decoding_flag = ps_cur_mb_info->u1_mb_field_decodingflag;
- deblk_mb_t *ps_deblk_cur_mb;
-
- /*Copy the last row of every MB ,to be used for intra prediction f next row*/
- {
- UWORD8 *pu1_mb_last_row, u1_mb_field_decoding_flag;
- UWORD32 u4_recWidth, u4_recwidth_cr;
-
- u1_mb_field_decoding_flag = ps_cur_mb_info->u1_mb_field_decodingflag;
-
- u4_recWidth = ps_dec->u2_frm_wd_y << u1_mb_field_decoding_flag;
- u4_recwidth_cr = ps_dec->u2_frm_wd_uv << u1_mb_field_decoding_flag;
-
- pu1_mb_last_row = ps_dec->s_tran_addrecon.pu1_dest_y
- + (u4_recWidth * (MB_SIZE - 1));
- pu1_mb_last_row += MB_SIZE * nmb_index;
- MEMCPY_16BYTES(ps_dec->pu1_cur_y_intra_pred_line, pu1_mb_last_row);
-
- pu1_mb_last_row = ps_dec->s_tran_addrecon.pu1_dest_u
- + (u4_recwidth_cr * (BLK8x8SIZE - 1));
- pu1_mb_last_row += BLK8x8SIZE * nmb_index * YUV420SP_FACTOR;
-
- MEMCPY_16BYTES(ps_dec->pu1_cur_u_intra_pred_line, pu1_mb_last_row);
-
- ps_dec->pu1_cur_y_intra_pred_line =
- ps_dec->pu1_cur_y_intra_pred_line_base
- + (MB_SIZE
- * (ps_cur_mb_info->u2_mbx
- + 1));
- ps_dec->pu1_cur_u_intra_pred_line =
- ps_dec->pu1_cur_u_intra_pred_line_base
- + (BLK8x8SIZE
- * (ps_cur_mb_info->u2_mbx
- + 1))
- * YUV420SP_FACTOR;
- ps_dec->pu1_cur_v_intra_pred_line =
- ps_dec->pu1_cur_v_intra_pred_line_base
- + (BLK8x8SIZE
- * (ps_cur_mb_info->u2_mbx
- + 1));
- }
-
- i2_mb_y = ps_cur_mb_info->u2_mby;
- i4_wd_y = ps_dec->u2_frm_wd_y << u1_mb_field_decoding_flag;
- i4_wd_uv = ps_dec->u2_frm_wd_uv << u1_mb_field_decoding_flag;
-
- if(ps_cur_mb_info->u2_mbx != 0)
- {
- /*Deblock the previous MB*/
- deblk_mb_t *ps_deblk_cur_mb;
-
- if(ps_dec->u1_separate_parse == 1)
- {
- ps_deblk_cur_mb = ps_dec->ps_deblk_mbn_dec_thrd + nmb_index - 1;
-
- }
- else
- {
-
- if(nmb_index == 0)
- /*if first mb in Nmb ,pick up the context from previous Nmb data*/
- ps_deblk_cur_mb = ps_dec->ps_deblk_mbn_prev
- + ps_dec->u4_num_mbs_prev_nmb - 1;
- else
- ps_deblk_cur_mb = ps_dec->ps_deblk_mbn + nmb_index - 1;
- }
-
- ps_cur_mb = ps_deblk_cur_mb;
-
- u1_deb_mode = ps_cur_mb->u1_deblocking_mode;
-
- i2_mb_x = ps_cur_mb_info->u2_mbx - 1;
-
- if(ps_dec->u4_app_disable_deblk_frm == 1)
- u1_deb_mode = MB_DISABLE_FILTERING;
- if(!(u1_deb_mode & MB_DISABLE_FILTERING))
- {
-
- if(i2_mb_x)
- {
- ps_left_mb = ps_cur_mb - 1;
-
- }
- else
- {
- ps_left_mb = NULL;
-
- }
- if(i2_mb_y)
- {
- ps_top_mb = ps_cur_mb - (u2_image_wd_mb);
- }
- else
- {
- ps_top_mb = NULL;
- }
-
- if(u1_deb_mode & MB_DISABLE_LEFT_EDGE)
- ps_left_mb = NULL;
- if(u1_deb_mode & MB_DISABLE_TOP_EDGE)
- ps_top_mb = NULL;
-
- ih264d_deblock_mb_nonmbaff(ps_dec, ps_tfr_cxt, i1_cb_qp_idx_ofst,
- i1_cr_qp_idx_ofst, ps_cur_mb, i4_wd_y,
- i4_wd_uv, ps_top_mb, ps_left_mb);
- }
-
- ps_tfr_cxt->pu1_mb_y += MB_SIZE;
- ps_tfr_cxt->pu1_mb_u += (MB_SIZE >> 1) * YUV420SP_FACTOR;
- ps_tfr_cxt->pu1_mb_v += (MB_SIZE >> 1);
- }
-
- if(ps_cur_mb_info->u2_mbx == (ps_dec->u2_frm_wd_in_mbs - 1))
- {
- /*Deblock the previous MB*/
- deblk_mb_t *ps_deblk_cur_mb;
- UWORD8 *pu1_temp;
-
- if(ps_dec->u1_separate_parse == 1)
- ps_deblk_cur_mb = ps_dec->ps_deblk_mbn_dec_thrd + nmb_index;
- else
- ps_deblk_cur_mb = ps_dec->ps_deblk_mbn + nmb_index;
-
- i2_mb_x = ps_cur_mb_info->u2_mbx;
-
- ps_cur_mb = ps_deblk_cur_mb;
- u1_deb_mode = ps_cur_mb->u1_deblocking_mode;
-
- if(ps_dec->u4_app_disable_deblk_frm == 1)
- u1_deb_mode = MB_DISABLE_FILTERING;
-
- if(!(u1_deb_mode & MB_DISABLE_FILTERING))
- {
-
- if(i2_mb_x)
- {
- ps_left_mb = ps_cur_mb - 1;
-
- }
- else
- {
- ps_left_mb = NULL;
-
- }
- if(i2_mb_y)
- {
- ps_top_mb = ps_cur_mb - (u2_image_wd_mb);
- }
- else
- {
- ps_top_mb = NULL;
- }
-
- if(u1_deb_mode & MB_DISABLE_LEFT_EDGE)
- ps_left_mb = NULL;
- if(u1_deb_mode & MB_DISABLE_TOP_EDGE)
- ps_top_mb = NULL;
-
- ih264d_deblock_mb_nonmbaff(ps_dec, ps_tfr_cxt, i1_cb_qp_idx_ofst,
- i1_cr_qp_idx_ofst, ps_cur_mb, i4_wd_y,
- i4_wd_uv, ps_top_mb, ps_left_mb);
- }
-
- ps_dec->pu1_cur_y_intra_pred_line =
- ps_dec->pu1_cur_y_intra_pred_line_base;
- ps_dec->pu1_cur_u_intra_pred_line =
- ps_dec->pu1_cur_u_intra_pred_line_base;
- ps_dec->pu1_cur_v_intra_pred_line =
- ps_dec->pu1_cur_v_intra_pred_line_base;
-
- /*swap current and previous rows*/
- pu1_temp = ps_dec->pu1_cur_y_intra_pred_line;
- ps_dec->pu1_cur_y_intra_pred_line = ps_dec->pu1_prev_y_intra_pred_line;
- ps_dec->pu1_prev_y_intra_pred_line = pu1_temp;
-
- pu1_temp = ps_dec->pu1_cur_u_intra_pred_line;
- ps_dec->pu1_cur_u_intra_pred_line = ps_dec->pu1_prev_u_intra_pred_line;
- ps_dec->pu1_prev_u_intra_pred_line = pu1_temp;
-
- pu1_temp = ps_dec->pu1_cur_v_intra_pred_line;
- ps_dec->pu1_cur_v_intra_pred_line = ps_dec->pu1_prev_v_intra_pred_line;
- ps_dec->pu1_prev_v_intra_pred_line = pu1_temp;
-
- ps_dec->pu1_cur_y_intra_pred_line_base =
- ps_dec->pu1_cur_y_intra_pred_line;
- ps_dec->pu1_cur_u_intra_pred_line_base =
- ps_dec->pu1_cur_u_intra_pred_line;
- ps_dec->pu1_cur_v_intra_pred_line_base =
- ps_dec->pu1_cur_v_intra_pred_line;
-
- }
-
-}
void ih264d_filter_boundary_left_mbaff(dec_struct_t *ps_dec,
tfr_ctxt_t * ps_tfr_cxt,
WORD8 i1_cb_qp_idx_ofst,
WORD8 i1_cr_qp_idx_ofst,
deblk_mb_t * ps_cur_mb,
- UWORD16 i4_strd_y,
- UWORD16 i4_strd_uv,
+ WORD32 i4_strd_y,
+ WORD32 i4_strd_uv,
deblk_mb_t * ps_left_mb, /* Neighbouring MB parameters */
UWORD32 pu4_bs_tab[], /* pointer to the BsTable array */
UWORD8 u1_cur_fld)
{
UWORD8 *pu1_y, *pu1_u, *pu1_v;
- UWORD8 uc_tmp, qp_avg, uc_QPav_Y;
+ UWORD8 uc_tmp, qp_avg;
WORD32 alpha_u = 0, beta_u = 0, alpha_v = 0, beta_v = 0;
WORD32 alpha_y = 0, beta_y = 0;
@@ -1657,19 +1371,19 @@ void ih264d_filter_boundary_left_mbaff(dec_struct_t *ps_dec,
/* LUMA values */
/* Deblock rounding change */
uc_tmp = (UWORD8)((ps_left_mb->u1_mb_qp + ps_cur_mb->u1_mb_qp + 1) >> 1);
- uc_QPav_Y = uc_tmp;
- idx_a_y = uc_QPav_Y + ofst_a;
+ qp_avg = uc_tmp;
+ idx_a_y = qp_avg + ofst_a;
alpha_y = gau1_ih264d_alpha_table[12 + idx_a_y];
- idx_b_y = uc_QPav_Y + ofst_b;
+ idx_b_y = qp_avg + ofst_b;
beta_y = gau1_ih264d_beta_table[12 + idx_b_y];
/* Chroma cb values */
{
- UWORD8 u1_mb_qp1, u1_mb_qp2;
- u1_mb_qp1 = (ps_left_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
- u1_mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
- qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + u1_mb_qp1]
- + gau1_ih264d_qp_scale_cr[12 + u1_mb_qp2] + 1) >> 1);
+ WORD32 mb_qp1, mb_qp2;
+ mb_qp1 = (ps_left_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
+ mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
+ qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + mb_qp1]
+ + gau1_ih264d_qp_scale_cr[12 + mb_qp2] + 1) >> 1);
}
idx_a_u = qp_avg + ofst_a;
alpha_u = gau1_ih264d_alpha_table[12 + idx_a_u];
@@ -1678,11 +1392,11 @@ void ih264d_filter_boundary_left_mbaff(dec_struct_t *ps_dec,
/* Chroma cr values */
{
- UWORD8 u1_mb_qp1, u1_mb_qp2;
- u1_mb_qp1 = (ps_left_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
- u1_mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
- qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + u1_mb_qp1]
- + gau1_ih264d_qp_scale_cr[12 + u1_mb_qp2] + 1) >> 1);
+ WORD32 mb_qp1, mb_qp2;
+ mb_qp1 = (ps_left_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
+ mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
+ qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + mb_qp1]
+ + gau1_ih264d_qp_scale_cr[12 + mb_qp2] + 1) >> 1);
}
idx_a_v = qp_avg + ofst_a;
alpha_v = gau1_ih264d_alpha_table[12 + idx_a_v];
@@ -1743,12 +1457,9 @@ void ih264d_filter_boundary_left_mbaff(dec_struct_t *ps_dec,
if(u4_bs_val)
{
- pu1_cliptab_y = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_y];
- pu1_cliptab_u = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_u];
- pu1_cliptab_v = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_v];
+ pu1_cliptab_y = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_y];
+ pu1_cliptab_u = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_u];
+ pu1_cliptab_v = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_v];
ps_dec->pf_deblk_luma_vert_bslt4_mbaff(pu1_y, i4_strd_y,
alpha_y, beta_y,
u4_bs_val,
@@ -1773,19 +1484,19 @@ void ih264d_filter_boundary_left_mbaff(dec_struct_t *ps_dec,
}
uc_tmp = (((ps_left_mb + 1)->u1_mb_qp + ps_cur_mb->u1_mb_qp + 1) >> 1);
- uc_QPav_Y = uc_tmp;
- idx_a_y = uc_QPav_Y + ofst_a;
+ qp_avg = uc_tmp;
+ idx_a_y = qp_avg + ofst_a;
alpha_y = gau1_ih264d_alpha_table[12 + idx_a_y];
- idx_b_y = uc_QPav_Y + ofst_b;
+ idx_b_y = qp_avg + ofst_b;
beta_y = gau1_ih264d_beta_table[12 + idx_b_y];
u4_bs_val = pu4_bs_tab[9];
{
- UWORD8 u1_mb_qp1, u1_mb_qp2;
- u1_mb_qp1 = ((ps_left_mb + 1)->u1_mb_qp + i1_cb_qp_idx_ofst);
- u1_mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
- qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + u1_mb_qp1]
- + gau1_ih264d_qp_scale_cr[12 + u1_mb_qp2] + 1) >> 1);
+ WORD32 mb_qp1, mb_qp2;
+ mb_qp1 = ((ps_left_mb + 1)->u1_mb_qp + i1_cb_qp_idx_ofst);
+ mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
+ qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + mb_qp1]
+ + gau1_ih264d_qp_scale_cr[12 + mb_qp2] + 1) >> 1);
}
idx_a_u = qp_avg + ofst_a;
alpha_u = gau1_ih264d_alpha_table[12 + idx_a_u];
@@ -1793,11 +1504,11 @@ void ih264d_filter_boundary_left_mbaff(dec_struct_t *ps_dec,
beta_u = gau1_ih264d_beta_table[12 + idx_b_u];
u4_bs_val = pu4_bs_tab[9];
{
- UWORD8 u1_mb_qp1, u1_mb_qp2;
- u1_mb_qp1 = ((ps_left_mb + 1)->u1_mb_qp + i1_cr_qp_idx_ofst);
- u1_mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
- qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + u1_mb_qp1]
- + gau1_ih264d_qp_scale_cr[12 + u1_mb_qp2] + 1) >> 1);
+ WORD32 mb_qp1, mb_qp2;
+ mb_qp1 = ((ps_left_mb + 1)->u1_mb_qp + i1_cr_qp_idx_ofst);
+ mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
+ qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + mb_qp1]
+ + gau1_ih264d_qp_scale_cr[12 + mb_qp2] + 1) >> 1);
}
idx_a_v = qp_avg + ofst_a;
alpha_v = gau1_ih264d_alpha_table[12 + idx_a_v];
@@ -1817,12 +1528,9 @@ void ih264d_filter_boundary_left_mbaff(dec_struct_t *ps_dec,
if(u4_bs_val)
{
- pu1_cliptab_y = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_y];
- pu1_cliptab_u = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_u];
- pu1_cliptab_v = (UWORD8 *)&gau1_ih264d_clip_table[12
- + idx_a_v];
+ pu1_cliptab_y = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_y];
+ pu1_cliptab_u = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_u];
+ pu1_cliptab_v = (UWORD8 *)&gau1_ih264d_clip_table[12 + idx_a_v];
ps_dec->pf_deblk_luma_vert_bslt4_mbaff(pu1_y, i4_strd_y,
alpha_y, beta_y,
@@ -1846,8 +1554,8 @@ void ih264d_filter_boundary_topmbaff(dec_struct_t *ps_dec,
WORD8 i1_cb_qp_idx_ofst,
WORD8 i1_cr_qp_idx_ofst,
deblk_mb_t * ps_cur_mb,
- UWORD16 i4_strd_y,
- UWORD16 i4_strd_uv,
+ WORD32 i4_strd_y,
+ WORD32 i4_strd_uv,
deblk_mb_t * ps_top_mb,
UWORD32 u4_bs)
{
@@ -1855,7 +1563,6 @@ void ih264d_filter_boundary_topmbaff(dec_struct_t *ps_dec,
WORD32 alpha_u = 0, beta_u = 0, alpha_v = 0, beta_v = 0;
WORD32 alpha_y = 0, beta_y = 0;
WORD32 qp_avg;
- WORD32 uc_QPav_Y;
WORD32 idx_b_u, idx_a_u, idx_b_v, idx_a_v;
WORD32 idx_b_y, idx_a_y;
UWORD16 uc_tmp;
@@ -1867,20 +1574,20 @@ void ih264d_filter_boundary_topmbaff(dec_struct_t *ps_dec,
/* LUMA values */
/* Deblock rounding change */
uc_tmp = ((ps_top_mb->u1_mb_qp + ps_cur_mb->u1_mb_qp + 1) >> 1);
- uc_QPav_Y = (UWORD8)uc_tmp;
- idx_a_y = uc_QPav_Y + ofst_a;
+ qp_avg = (UWORD8)uc_tmp;
+ idx_a_y = qp_avg + ofst_a;
alpha_y = gau1_ih264d_alpha_table[12 + idx_a_y];
- idx_b_y = uc_QPav_Y + ofst_b;
+ idx_b_y = qp_avg + ofst_b;
beta_y = gau1_ih264d_beta_table[12 + idx_b_y];
pu1_y = ps_tfr_cxt->pu1_mb_y;
/* CHROMA cb values */
{
- UWORD8 u1_mb_qp1, u1_mb_qp2;
- u1_mb_qp1 = (ps_top_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
- u1_mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
- qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + u1_mb_qp1]
- + gau1_ih264d_qp_scale_cr[12 + u1_mb_qp2] + 1) >> 1);
+ WORD32 mb_qp1, mb_qp2;
+ mb_qp1 = (ps_top_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
+ mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cb_qp_idx_ofst);
+ qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + mb_qp1]
+ + gau1_ih264d_qp_scale_cr[12 + mb_qp2] + 1) >> 1);
}
idx_a_u = qp_avg + ofst_a;
@@ -1889,11 +1596,11 @@ void ih264d_filter_boundary_topmbaff(dec_struct_t *ps_dec,
beta_u = gau1_ih264d_beta_table[12 + idx_b_u];
/* CHROMA cr values */
{
- UWORD8 u1_mb_qp1, u1_mb_qp2;
- u1_mb_qp1 = (ps_top_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
- u1_mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
- qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + u1_mb_qp1]
- + gau1_ih264d_qp_scale_cr[12 + u1_mb_qp2] + 1) >> 1);
+ WORD32 mb_qp1, mb_qp2;
+ mb_qp1 = (ps_top_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
+ mb_qp2 = (ps_cur_mb->u1_mb_qp + i1_cr_qp_idx_ofst);
+ qp_avg = (UWORD8)((gau1_ih264d_qp_scale_cr[12 + mb_qp1]
+ + gau1_ih264d_qp_scale_cr[12 + mb_qp2] + 1) >> 1);
}
idx_a_v = qp_avg + ofst_a;
diff --git a/decoder/ih264d_deblocking.h b/decoder/ih264d_deblocking.h
index 21601aa..5fe52cf 100644
--- a/decoder/ih264d_deblocking.h
+++ b/decoder/ih264d_deblocking.h
@@ -42,6 +42,10 @@ WORD8 ih264d_set_deblocking_parameters(deblk_mb_t * ps_cur_deblk_mb,
UWORD8 u1_mb_ngbr_availablity,
UWORD8 u1_mb_field_decoding_flag);
+void ih264d_copy_intra_pred_line(dec_struct_t *ps_dec,
+ dec_mb_info_t *ps_cur_mb_info,
+ UWORD32 nmb_index);
+
void FilterBoundaryLeft(tfr_ctxt_t * const ps_tfr_cxt,
const WORD8 i1_cb_qp_idx_ofst,
const WORD8 i1_cr_qp_idx_ofst,
@@ -154,11 +158,8 @@ void ih264d_deblock_mb_nonmbaff(dec_struct_t *ps_dec,
tfr_ctxt_t * const ps_tfr_cxt,
const WORD8 i1_cb_qp_idx_ofst,
const WORD8 i1_cr_qp_idx_ofst,
- deblk_mb_t * const ps_cur_mb,
WORD32 i4_strd_y,
- WORD32 i4_strd_uv,
- deblk_mb_t * const ps_top_mb,
- deblk_mb_t * const ps_left_mb);
+ WORD32 i4_strd_uv);
void ih264d_init_deblk_tfr_ctxt(dec_struct_t * ps_dec,
pad_mgr_t *ps_pad_mgr,
diff --git a/decoder/ih264d_debug.c b/decoder/ih264d_debug.c
deleted file mode 100644
index 5650e20..0000000
--- a/decoder/ih264d_debug.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/******************************************************************************
- *
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *****************************************************************************
- * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
-*/
-
-/*!
- **************************************************************************
- * \file ih264d_debug.c
- *
- * \brief
- * Contains routines that can be used in debugging
- *
- * \date
- * 20/11/2002
- *
- * \author AI
- **************************************************************************
- */
-#include "ih264_typedefs.h"
-#include "ih264_macros.h"
-#include "ih264_platform_macros.h"
-#include "ih264d_bitstrm.h"
-#include "ih264d_debug.h"
-#include "ih264d_defs.h"
-
diff --git a/decoder/ih264d_defs.h b/decoder/ih264d_defs.h
index 3f8bc58..fbdbd45 100644
--- a/decoder/ih264d_defs.h
+++ b/decoder/ih264d_defs.h
@@ -35,26 +35,12 @@
************************************************************************
*/
#define H264_MAX_FRAME_WIDTH 3840
-#define H264_MAX_FRAME_HEIGHT 2160
+#define H264_MAX_FRAME_HEIGHT 2176
#define H264_MIN_FRAME_WIDTH 16
#define H264_MIN_FRAME_HEIGHT 16
-#define IH264DEC_MAX_NAL_UNIT_SIZE 311040
-#define IH264DEC_NUM_ZEROS_IN_START_CODE 2
-#define H264DEC_MEM_ALLOC_SUCCESS 1
-#define H264DEC_MEM_ALLOC_FAILURE 0
-#define H264DEC_CREATE_FAILED (NULL)
-
-#define H264_NO_BUF_TO_DISPLAY -1
-#define H264_DISPLAY_BUF_FOUND 0
-#define IH264DEC_YUV420 0
-#define IH264DEC_YUV422 1
-#define IH264DEC_YUV422INTERLACED 2
-#define IH264DEC_RGB 4 // Original Size
-/* Ceiling of variables to the nearest power of 2 */
-#define FILL_POWEROF2(x,y) (size_t)(((x) & ((1<<(y))-1))?((1<<(y)) - ((x) & ((1<<(y))-1))): 0)
-#define ALIGN_POWEROF2(x,y) (x) = (x)+FILL_POWEROF2((size_t)(x),y)
+#define FMT_CONV_NUM_ROWS 16
/** Bit manipulation macros */
#define CHECKBIT(a,i) ((a) & (1 << i))
@@ -78,10 +64,10 @@
#define MAX_REF_BUFS 32
#define MAX_DISP_BUFS_NEW 64
#define MAX_FRAMES 16
-#define MAX_MBS_IN_ROW (720/16)
+
#define INVALID_FRAME_NUM 0x0fffffff
#define GAP_FRAME_NUM 0x1fffffff
-#define MAX_PIC_SIZE 622080 // 720 * 576 * 1.5
+
/** macros for reference picture lists, refIdx to POC mapping */
// 1 extra entry into reference picture lists for refIdx = -1.
// this entry is always 0. this saves conditional checks in
@@ -112,7 +98,7 @@
#define INT_PIC_TYPE_I (0x00)
#define YIELD_CNT_THRESHOLD 8
-#define ENABLE_420P_UV_SHARING 1
+
#define OK 0
#define END 1
@@ -272,7 +258,7 @@ enum
#define BASE_PROFILE_IDC 66
#define MAIN_PROFILE_IDC 77
#define HIGH_PROFILE_IDC 100
-#define MAIN_PROFILE 1
+
#define MB_SIZE 16
#define BLK8x8SIZE 8
@@ -640,27 +626,17 @@ enum
#define MASK_PRED_WEIGHT_OFFSET 0xFFFFFF00
#define MAX_REDUNDANT_PIC_CNT 127
-#define DPB_HACK 0
-#define DPB_HACK_NEW 0
-
-#define PD_MB_BUF_SIZE (H264_MAX_FRAME_WIDTH * H264_MAX_FRAME_WIDTH / 256)
-#define PD_MB_BUF_SIZE_MOD 0xffffffff
-#define MAX_PRED_INFO_LIMIT (PD_MB_BUF_SIZE * 32 * 2)
-
#endif //DEBLOCK_THREAD
-
-#define NO_DC_SB 0
-#define SUB_BLK_MASK 0xFFFFFF00
#define NUM_COEFFS_IN_4x4BLK 16
#define MEMSET_16BYTES(pu4_start,value) \
- { \
- memset(pu4_start,value,16); \
- }
+{ \
+ memset(pu4_start,value,16); \
+}
#define MEMCPY_16BYTES(dst,src) \
{ \
diff --git a/decoder/ih264d_error_handler.h b/decoder/ih264d_error_handler.h
index 20c0f89..1ff5c7d 100644
--- a/decoder/ih264d_error_handler.h
+++ b/decoder/ih264d_error_handler.h
@@ -38,6 +38,7 @@
#include "ih264_typedefs.h"
#include "ih264_macros.h"
#include "ih264_platform_macros.h"
+#include "ih264d_structs.h"
typedef enum
{
@@ -109,7 +110,14 @@ typedef enum
ERROR_LEVEL_UNSUPPORTED = 0x90,
ERROR_START_CODE_NOT_FOUND = 0x91,
ERROR_PIC_NUM_IS_REPEATED = 0x92,
+ ERROR_IN_LAST_SLICE_OF_PIC = 0x93
} h264_decoder_error_code_t;
+WORD32 ih264d_mark_err_slice_skip(dec_struct_t * ps_dec,
+ WORD32 num_mb_skip,
+ UWORD8 u1_is_idr_slice,
+ pocstruct_t *ps_cur_poc,
+ WORD32 prev_slice_err);
+
#endif /* _IH264D_ERROR_HANDLER_H_ */
diff --git a/decoder/ih264d_format_conv.c b/decoder/ih264d_format_conv.c
index 9a8494e..631bc23 100644
--- a/decoder/ih264d_format_conv.c
+++ b/decoder/ih264d_format_conv.c
@@ -41,6 +41,7 @@
#include <string.h>
/* User include files */
#include "ih264_typedefs.h"
+#include "iv.h"
#include "ih264_macros.h"
#include "ih264_platform_macros.h"
#include "ih264d_structs.h"
@@ -647,7 +648,7 @@ void ih264d_fmt_conv_420sp_to_420p(UWORD8 *pu1_y_src,
}
/*****************************************************************************/
-/* Function Name : ih264d_format_convert */
+/* Function Name : ih264d_format_convert */
/* */
/* Description : Implements format conversion/frame copy */
/* Inputs : ps_dec - Decoder parameters */
@@ -671,6 +672,8 @@ void ih264d_format_convert(dec_struct_t *ps_dec,
{
UWORD32 convert_uv_only = 0;
iv_yuv_buf_t *ps_op_frm;
+ UWORD8 *pu1_y_src, *pu1_uv_src;
+ UWORD32 start_uv = u4_start_y >> 1;
if(1 == pv_disp_op->u4_error_code)
return;
@@ -680,25 +683,26 @@ void ih264d_format_convert(dec_struct_t *ps_dec,
/* Requires u4_start_y and u4_num_rows_y to be even */
if(u4_start_y & 1)
{
- H264_DEC_DEBUG_PRINT(
- "Requires even number of rows and even u4_start_y for format conversion\n");
return;
}
- if((1 == ps_dec->u4_share_disp_buf)
- && ((pv_disp_op->e_output_format == IV_YUV_420SP_UV)))
+ if((1 == ps_dec->u4_share_disp_buf) &&
+ (pv_disp_op->e_output_format == IV_YUV_420SP_UV))
{
return;
}
+
+ pu1_y_src = (UWORD8 *)ps_op_frm->pv_y_buf;
+ pu1_y_src += u4_start_y * ps_op_frm->u4_y_strd,
+
+ pu1_uv_src = (UWORD8 *)ps_op_frm->pv_u_buf;
+ pu1_uv_src += start_uv * ps_op_frm->u4_u_strd;
+
if(pv_disp_op->e_output_format == IV_YUV_420P)
{
- UWORD8 *pu1_src, *pu1_dst;
- UWORD16 i;
- UWORD16 iter;
-
+ UWORD8 *pu1_y_dst, *pu1_u_dst, *pu1_v_dst;
IV_COLOR_FORMAT_T e_output_format = pv_disp_op->e_output_format;
- UWORD32 start_uv = u4_start_y >> 1;
- UWORD32 num_rows_uv = (u4_num_rows_y + 1) >> 1;
+
if(0 == ps_dec->u4_share_disp_buf)
{
convert_uv_only = 0;
@@ -707,118 +711,85 @@ void ih264d_format_convert(dec_struct_t *ps_dec,
{
convert_uv_only = 1;
}
- {
-
- UWORD8 *pu1_y_src, *pu1_u_src, *pu1_v_src;
- UWORD8 *pu1_y_dst, *pu1_u_dst, *pu1_v_dst;
- UWORD32 width, height;
- UWORD32 src_luma_stride, src_chroma_stride;
- UWORD32 dst_luma_stride, dst_chroma_stride;
-
- pu1_y_src = (UWORD8 *)ps_op_frm->pv_y_buf;
- pu1_y_src += u4_start_y * ps_op_frm->u4_y_strd;
-
- pu1_y_dst = (UWORD8 *)pv_disp_op->s_disp_frm_buf.pv_y_buf;
- pu1_y_dst += u4_start_y * pv_disp_op->s_disp_frm_buf.u4_y_strd;
-
- pu1_u_src = (UWORD8 *)ps_op_frm->pv_u_buf;
- pu1_u_src += start_uv * ps_op_frm->u4_u_strd;
-
- pu1_u_dst = (UWORD8 *)pv_disp_op->s_disp_frm_buf.pv_u_buf;
- pu1_u_dst += start_uv * pv_disp_op->s_disp_frm_buf.u4_u_strd;
-
- pu1_v_src = (UWORD8 *)ps_op_frm->pv_v_buf;
- pu1_v_src += start_uv * ps_op_frm->u4_v_strd;
-
- pu1_v_dst = (UWORD8 *)pv_disp_op->s_disp_frm_buf.pv_v_buf;
- pu1_v_dst += start_uv * pv_disp_op->s_disp_frm_buf.u4_v_strd;
- src_luma_stride = ps_op_frm->u4_y_strd;
- src_chroma_stride = ps_op_frm->u4_u_strd;
-
- dst_luma_stride = pv_disp_op->s_disp_frm_buf.u4_y_strd;
- dst_chroma_stride = pv_disp_op->s_disp_frm_buf.u4_u_strd;
-
- width = ps_op_frm->u4_y_wd;
- height = u4_num_rows_y;
- ih264d_fmt_conv_420sp_to_420p(pu1_y_src, pu1_u_src, pu1_y_dst,
- pu1_u_dst, pu1_v_dst, width, height,
- src_luma_stride, src_chroma_stride,
- dst_luma_stride, dst_chroma_stride, 1,
- convert_uv_only);
- }
+ pu1_y_dst = (UWORD8 *)pv_disp_op->s_disp_frm_buf.pv_y_buf;
+ pu1_y_dst += u4_start_y * pv_disp_op->s_disp_frm_buf.u4_y_strd;
+
+ pu1_u_dst = (UWORD8 *)pv_disp_op->s_disp_frm_buf.pv_u_buf;
+ pu1_u_dst += start_uv * pv_disp_op->s_disp_frm_buf.u4_u_strd;
+
+ pu1_v_dst = (UWORD8 *)pv_disp_op->s_disp_frm_buf.pv_v_buf;
+ pu1_v_dst += start_uv * pv_disp_op->s_disp_frm_buf.u4_v_strd;
+
+ ih264d_fmt_conv_420sp_to_420p(pu1_y_src,
+ pu1_uv_src,
+ pu1_y_dst,
+ pu1_u_dst,
+ pu1_v_dst,
+ ps_op_frm->u4_y_wd,
+ u4_num_rows_y,
+ ps_op_frm->u4_y_strd,
+ ps_op_frm->u4_u_strd,
+ pv_disp_op->s_disp_frm_buf.u4_y_strd,
+ pv_disp_op->s_disp_frm_buf.u4_u_strd,
+ 1,
+ convert_uv_only);
}
-
- else if((pv_disp_op->e_output_format == IV_YUV_420SP_UV)
- || (pv_disp_op->e_output_format == IV_YUV_420SP_VU))
-
+ else if((pv_disp_op->e_output_format == IV_YUV_420SP_UV) ||
+ (pv_disp_op->e_output_format == IV_YUV_420SP_VU))
{
+ UWORD8* pu1_y_dst, *pu1_uv_dst;
- UWORD32 start_uv = u4_start_y >> 1;
- UWORD32 num_rows_uv = (u4_num_rows_y + 1) >> 1;
+ pu1_y_dst = (UWORD8 *)pv_disp_op->s_disp_frm_buf.pv_y_buf;
+ pu1_y_dst += u4_start_y * pv_disp_op->s_disp_frm_buf.u4_y_strd;
+ pu1_uv_dst = (UWORD8 *)pv_disp_op->s_disp_frm_buf.pv_u_buf;
+ pu1_uv_dst += start_uv * pv_disp_op->s_disp_frm_buf.u4_u_strd;
if(pv_disp_op->e_output_format == IV_YUV_420SP_UV)
{
- ih264d_fmt_conv_420sp_to_420sp(
- (UWORD8 *)ps_op_frm->pv_y_buf
- + u4_start_y * ps_op_frm->u4_y_strd,
- ((UWORD8 *)ps_op_frm->pv_u_buf
- + start_uv * ps_op_frm->u4_u_strd),
- ((UWORD8 *)pv_disp_op->s_disp_frm_buf.pv_y_buf
- + u4_start_y
- * pv_disp_op->s_disp_frm_buf.u4_y_strd),
- ((UWORD8 *)pv_disp_op->s_disp_frm_buf.pv_u_buf
- + start_uv
- * pv_disp_op->s_disp_frm_buf.u4_u_strd),
- ps_op_frm->u4_y_wd, u4_num_rows_y,
- ps_op_frm->u4_y_strd, ps_op_frm->u4_u_strd,
- pv_disp_op->s_disp_frm_buf.u4_y_strd,
- pv_disp_op->s_disp_frm_buf.u4_u_strd);
+ ih264d_fmt_conv_420sp_to_420sp(pu1_y_src,
+ pu1_uv_src,
+ pu1_y_dst,
+ pu1_uv_dst,
+ ps_op_frm->u4_y_wd,
+ u4_num_rows_y,
+ ps_op_frm->u4_y_strd,
+ ps_op_frm->u4_u_strd,
+ pv_disp_op->s_disp_frm_buf.u4_y_strd,
+ pv_disp_op->s_disp_frm_buf.u4_u_strd);
}
else
{
-
- ih264d_fmt_conv_420sp_to_420sp_swap_uv(
- (UWORD8 *)ps_op_frm->pv_y_buf
- + u4_start_y * ps_op_frm->u4_y_strd,
- ((UWORD8 *)ps_op_frm->pv_u_buf
- + start_uv * ps_op_frm->u4_u_strd),
- ((UWORD8 *)pv_disp_op->s_disp_frm_buf.pv_y_buf
- + u4_start_y
- * pv_disp_op->s_disp_frm_buf.u4_y_strd),
- ((UWORD8 *)pv_disp_op->s_disp_frm_buf.pv_u_buf
- + start_uv
- * pv_disp_op->s_disp_frm_buf.u4_u_strd),
- ps_op_frm->u4_y_wd, u4_num_rows_y,
- ps_op_frm->u4_y_strd, ps_op_frm->u4_u_strd,
- pv_disp_op->s_disp_frm_buf.u4_y_strd,
- pv_disp_op->s_disp_frm_buf.u4_u_strd);
-
+ ih264d_fmt_conv_420sp_to_420sp_swap_uv(pu1_y_src,
+ pu1_uv_src,
+ pu1_y_dst,
+ pu1_uv_dst,
+ ps_op_frm->u4_y_wd,
+ u4_num_rows_y,
+ ps_op_frm->u4_y_strd,
+ ps_op_frm->u4_u_strd,
+ pv_disp_op->s_disp_frm_buf.u4_y_strd,
+ pv_disp_op->s_disp_frm_buf.u4_u_strd);
}
-
}
else if(pv_disp_op->e_output_format == IV_RGB_565)
{
- UWORD32 temp = 0;
- UWORD32 u2_width_rem;
-
- UWORD32 start_uv = u4_start_y >> 1;
-
- ih264d_fmt_conv_420sp_to_rgb565(
- (UWORD8 *)ps_op_frm->pv_y_buf
- + u4_start_y * ps_op_frm->u4_y_strd,
- ((UWORD8 *)ps_op_frm->pv_u_buf
- + start_uv * ps_op_frm->u4_u_strd),
- ((UWORD16 *)pv_disp_op->s_disp_frm_buf.pv_y_buf
- + u4_start_y
- * pv_disp_op->s_disp_frm_buf.u4_y_strd),
- ps_op_frm->u4_y_wd, u4_num_rows_y, ps_op_frm->u4_y_strd,
- ps_op_frm->u4_u_strd,
- pv_disp_op->s_disp_frm_buf.u4_y_strd, 1);
-
-
+ UWORD16 *pu2_rgb_dst;
+
+ pu2_rgb_dst = (UWORD16 *)pv_disp_op->s_disp_frm_buf.pv_y_buf;
+ pu2_rgb_dst += u4_start_y * pv_disp_op->s_disp_frm_buf.u4_y_strd;
+
+ ih264d_fmt_conv_420sp_to_rgb565(pu1_y_src,
+ pu1_uv_src,
+ pu2_rgb_dst,
+ ps_op_frm->u4_y_wd,
+ u4_num_rows_y,
+ ps_op_frm->u4_y_strd,
+ ps_op_frm->u4_u_strd,
+ pv_disp_op->s_disp_frm_buf.u4_y_strd,
+ 1);
}
if((u4_start_y + u4_num_rows_y) >= ps_dec->s_disp_frame_info.u4_y_ht)
@@ -826,7 +797,8 @@ void ih264d_format_convert(dec_struct_t *ps_dec,
INSERT_LOGO(pv_disp_op->s_disp_frm_buf.pv_y_buf,
pv_disp_op->s_disp_frm_buf.pv_u_buf,
- pv_disp_op->s_disp_frm_buf.pv_v_buf, pv_disp_op->s_disp_frm_buf.u4_y_strd,
+ pv_disp_op->s_disp_frm_buf.pv_v_buf,
+ pv_disp_op->s_disp_frm_buf.u4_y_strd,
ps_dec->u2_disp_width,
ps_dec->u2_disp_height,
pv_disp_op->e_output_format,
diff --git a/decoder/ih264d_inter_pred.c b/decoder/ih264d_inter_pred.c
index fa818b5..d3e6a4d 100644
--- a/decoder/ih264d_inter_pred.c
+++ b/decoder/ih264d_inter_pred.c
@@ -188,8 +188,6 @@ WORD32 ih264d_form_mb_part_info_bp(pred_info_pkd_t *ps_pred_pkd,
UWORD8 u1_part_wd = 0,u1_part_ht = 0;
WORD16 i2_mv_x,i2_mv_y;
-
-
/********************************************/
/* i1_mc_wd width reqd for mcomp */
/* u1_dma_ht height reqd for mcomp */
@@ -197,7 +195,6 @@ WORD32 ih264d_form_mb_part_info_bp(pred_info_pkd_t *ps_pred_pkd,
/* u1_dx fractional part of width */
/* u1_dx fractional part of height */
/********************************************/
- WORD32 u1_ofst_in_word;
UWORD32 i1_mc_wd;
WORD32 u1_dma_ht;
@@ -276,15 +273,12 @@ WORD32 ih264d_form_mb_part_info_bp(pred_info_pkd_t *ps_pred_pkd,
pu1_pred = ps_ref_frm->pu1_buf1 + i2_frm_y * u2_frm_wd + i2_frm_x;
-
- u1_ofst_in_word = 0;
- u1_dma_wd = (i1_mc_wd + u1_ofst_in_word + 3) & 0xFC;
+ u1_dma_wd = (i1_mc_wd + 3) & 0xFC;
/********************************************************************/
/* Calulating the horizontal and the vertical u4_ofst from top left */
/* edge of the recon buffer */
/********************************************************************/
- /* CHANGED CODE */
u2_rec_wd = MB_SIZE;
{
u2_rec_wd = ps_dec->u2_frm_wd_y;
@@ -293,8 +287,6 @@ WORD32 ih264d_form_mb_part_info_bp(pred_info_pkd_t *ps_pred_pkd,
+ i2_rec_x;
}
- /* CHANGED CODE */
-
/* filling the pred and dma structures for Y */
u2_frm_wd = ps_dec->u2_frm_wd_y;
@@ -307,7 +299,6 @@ WORD32 ih264d_form_mb_part_info_bp(pred_info_pkd_t *ps_pred_pkd,
ps_pred->i1_mb_partwidth = u1_part_wd << 2;
ps_pred->i1_mb_partheight = u1_part_ht << 2;
- ps_pred->u1_mc_addr_ofst = u1_ofst_in_word;
ps_pred->u1_dydx = (u1_dy << 2) + u1_dx;
ps_pred->pu1_y_ref = pu1_pred;
@@ -374,9 +365,7 @@ WORD32 ih264d_form_mb_part_info_bp(pred_info_pkd_t *ps_pred_pkd,
i2_frm_y = CLIP3(((1 - u1_dma_ht)), (u2_pic_ht - (1)), i2_frm_y);
i4_ref_offset = i2_frm_y * u2_frm_wd + i2_frm_x * YUV420SP_FACTOR;
- u1_ofst_in_word = 0;
- u1_dma_wd = (i1_mc_wd + u1_ofst_in_word + 3) & 0xFC;
- i4_ref_offset -= u1_ofst_in_word;
+ u1_dma_wd = (i1_mc_wd + 3) & 0xFC;
/********************************************************************/
/* Calulating the horizontal and the vertical u4_ofst from top left */
@@ -409,7 +398,6 @@ WORD32 ih264d_form_mb_part_info_bp(pred_info_pkd_t *ps_pred_pkd,
ps_pred->i1_mb_partwidth = u1_part_wd << 1;
ps_pred->i1_mb_partheight = u1_part_ht << 1;
- ps_pred->u1_mc_addr_ofst = u1_ofst_in_word;
ps_pred->u1_dydx = (u1_dy << 3) + u1_dx;
pu1_pred_u = ps_ref_frm->pu1_buf2 + i4_ref_offset;
@@ -483,7 +471,7 @@ WORD32 ih264d_form_mb_part_info_mp(pred_info_pkd_t *ps_pred_pkd,
/* u1_dx fractional part of width */
/* u1_dx fractional part of height */
/********************************************/
- UWORD8 u1_ofst_in_word, i1_mc_wd, u1_dma_ht, u1_dma_wd, u1_dx, u1_dy;
+ UWORD8 i1_mc_wd, u1_dma_ht, u1_dma_wd, u1_dx, u1_dy;
pred_info_t * ps_pred ;
dec_slice_params_t * const ps_cur_slice = ps_dec->ps_cur_slice;
const UWORD8 u1_slice_type = ps_cur_slice->u1_slice_type;
@@ -639,10 +627,7 @@ WORD32 ih264d_form_mb_part_info_mp(pred_info_pkd_t *ps_pred_pkd,
(u2_pic_ht - (1 << u1_mb_fld)), i2_frm_y);
pu1_pred = pu1_buf1 + i2_frm_y * u2_frm_wd + i2_frm_x;
- u1_ofst_in_word = 0;
-
- u1_dma_wd = (i1_mc_wd + u1_ofst_in_word + 3) & 0xFC;
-
+ u1_dma_wd = (i1_mc_wd + 3) & 0xFC;
/********************************************************************/
/* Calulating the horizontal and the vertical u4_ofst from top left */
/* edge of the recon buffer */
@@ -675,7 +660,6 @@ WORD32 ih264d_form_mb_part_info_mp(pred_info_pkd_t *ps_pred_pkd,
ps_pred->i1_mb_partwidth = u1_part_wd << 2;
ps_pred->i1_mb_partheight = u1_part_ht << 2;
- ps_pred->u1_mc_addr_ofst = u1_ofst_in_word;
ps_pred->u1_dydx = (u1_dy << 2) + u1_dx;
ps_pred->u1_is_bi_direct = u1_is_bi_dir;
ps_pred->u1_pi1_wt_ofst_rec_v = (UWORD8 *)pu4_wt_offset;
@@ -789,9 +773,7 @@ WORD32 ih264d_form_mb_part_info_mp(pred_info_pkd_t *ps_pred_pkd,
(u2_pic_ht - (1 << u1_mb_fld)), i2_frm_y);
i4_ref_offset = i2_frm_y * u2_frm_wd + i2_frm_x * YUV420SP_FACTOR;
- u1_ofst_in_word = 0;
- u1_dma_wd = (i1_mc_wd + u1_ofst_in_word + 3) & 0xFC;
- i4_ref_offset -= u1_ofst_in_word;
+ u1_dma_wd = (i1_mc_wd + 3) & 0xFC;
/********************************************************************/
/* Calulating the horizontal and the vertical u4_ofst from top left */
@@ -828,7 +810,6 @@ WORD32 ih264d_form_mb_part_info_mp(pred_info_pkd_t *ps_pred_pkd,
ps_pred->i1_mb_partwidth = u1_part_wd << 1;
ps_pred->i1_mb_partheight = u1_part_ht << 1;
- ps_pred->u1_mc_addr_ofst = u1_ofst_in_word;
ps_pred->u1_dydx = (u1_dy << 3) + u1_dx;
ps_pred->u1_is_bi_direct = u1_is_bi_dir;
ps_pred->u1_wght_pred_type = u1_wght_pred_type;
@@ -976,7 +957,7 @@ void ih264d_motion_compensate_bp(dec_struct_t * ps_dec, dec_mb_info_t *ps_cur_mb
UWORD8 *pu1_ref_u;
u2_ref_wd_uv = ps_pred->u2_frm_wd;
- pu1_ref_u = ps_pred->pu1_u_ref + ps_pred->u1_mc_addr_ofst;
+ pu1_ref_u = ps_pred->pu1_u_ref;
u4_wd_uv = ps_pred->i1_mb_partwidth;
u4_ht_uv = ps_pred->i1_mb_partheight;
@@ -1030,8 +1011,8 @@ void ih264d_motion_compensate_mp(dec_struct_t * ps_dec, dec_mb_info_t *ps_cur_mb
WORD16 *pi16_intm;
UWORD32 u2_num_pels, u2_ref_wd_y, u2_ref_wd_uv, u2_dst_wd;
UWORD32 u2_dest_wd_y, u2_dest_wd_uv;
- UWORD32 u2_row_buf_wd_y = ps_dec->u2_mb_group_cols_y1;
- UWORD32 u2_row_buf_wd_uv = ps_dec->u2_mb_group_cols_cr1;
+ UWORD32 u2_row_buf_wd_y = 0;
+ UWORD32 u2_row_buf_wd_uv = 0;
UWORD32 u2_log2Y_crwd = ps_dec->ps_cur_slice->u2_log2Y_crwd;
UWORD32 u4_wd_y, u4_ht_y, u1_dir, u4_wd_uv;
UWORD32 u4_ht_uv;
@@ -1052,9 +1033,11 @@ void ih264d_motion_compensate_mp(dec_struct_t * ps_dec, dec_mb_info_t *ps_cur_mb
PROFILE_DISABLE_INTER_PRED()
ps_pred = ps_dec->ps_pred ;
- /* Initialize both ps_pred_y_forw an y_back to avoid static analysis warnigns */
+ /* Initialize both ps_pred_y_forw, ps_pred_cr_forw and ps_pred_y_back
+ * to avoid static analysis warnings */
ps_pred_y_forw = ps_pred;
ps_pred_y_back = ps_pred;
+ ps_pred_cr_forw = ps_pred;
if(ps_dec->u1_separate_parse)
u2_log2Y_crwd = ps_dec->ps_decode_cur_slice->u2_log2Y_crwd;
@@ -1068,7 +1051,7 @@ void ih264d_motion_compensate_mp(dec_struct_t * ps_dec, dec_mb_info_t *ps_cur_mb
pi16_intm = ps_dec->pi2_pred1;
puc_pred0 = (UWORD8 *)pi16_intm;
- puc_pred1 = puc_pred0 + MB_SIZE * MB_SIZE;
+ puc_pred1 = puc_pred0 + PRED_BUFFER_WIDTH * PRED_BUFFER_HEIGHT * sizeof(WORD16);
for(u2_num_pels = 0; u2_num_pels < 256;)
{
@@ -1103,15 +1086,6 @@ void ih264d_motion_compensate_mp(dec_struct_t * ps_dec, dec_mb_info_t *ps_cur_mb
u4_wd_y = ps_pred->i1_mb_partwidth;
u4_ht_y = ps_pred->i1_mb_partheight;
- if(ps_pred->i1_pod_ht)
- {
- pu1_pred = ps_pred->pu1_pred;
- pu1_dma_dst = ps_pred->pu1_dma_dest_addr;
- u1_dma_wd = ps_pred->u1_dma_wd_y;
- u1_dma_ht = ps_pred->u1_dma_ht_y;
- u2_frm_wd = ps_dec->u2_frm_wd_y << u1_mb_or_pic_fld;
- }
-
uc_dx = ps_pred->u1_dydx;
uc_dy = uc_dx >> 2;
uc_dx &= 0x3;
@@ -1136,12 +1110,14 @@ void ih264d_motion_compensate_mp(dec_struct_t * ps_dec, dec_mb_info_t *ps_cur_mb
if(ps_pred->i1_pod_ht)
{
+ pu1_pred = ps_pred->pu1_pred;
+ pu1_dma_dst = ps_pred->pu1_dma_dest_addr;
+ u1_dma_wd = ps_pred->u1_dma_wd_y;
+ u1_dma_ht = ps_pred->u1_dma_ht_y;
+ u2_frm_wd = ps_dec->u2_frm_wd_y << u1_mb_or_pic_fld;
if(ps_pred->i1_pod_ht < 0)
{
- pu1_dma_dst =
- pu1_dma_dst
- - (ps_pred->i1_pod_ht
- * ps_pred->u2_u1_ref_buf_wd);
+ pu1_dma_dst = pu1_dma_dst - (ps_pred->i1_pod_ht * ps_pred->u2_u1_ref_buf_wd);
}
ih264d_copy_2d1d(pu1_pred, pu1_dma_dst, u2_frm_wd, u1_dma_wd,
u1_dma_ht);
@@ -1246,9 +1222,7 @@ void ih264d_motion_compensate_mp(dec_struct_t * ps_dec, dec_mb_info_t *ps_cur_mb
/* (Table 8-9 of standard) */
/******************************************************************/
if((ps_pred + 1)->i1_pod_ht)
-
{
-
pu1_pred = (ps_pred + 1)->pu1_pred_u;
pu1_dma_dst = (ps_pred + 1)->pu1_dma_dest_addr;
u1_dma_ht = (ps_pred + 1)->u1_dma_ht_uv;
@@ -1272,7 +1246,7 @@ void ih264d_motion_compensate_mp(dec_struct_t * ps_dec, dec_mb_info_t *ps_cur_mb
}
ih264d_multiplex_ref_data(ps_dec, ps_pred, pu1_dest_y,
- pu1_dest_u, pu1_dest_v, ps_cur_mb_info,
+ pu1_dest_u, ps_cur_mb_info,
u2_dest_wd_y, u2_dest_wd_uv,
u1_dir);
ps_pred += 2;
@@ -1417,14 +1391,13 @@ void ih264d_multiplex_ref_data(dec_struct_t * ps_dec,
pred_info_t *ps_pred,
UWORD8* pu1_dest_y,
UWORD8* pu1_dest_u,
- UWORD8* pu1_dest_v,
dec_mb_info_t *ps_cur_mb_info,
UWORD16 u2_dest_wd_y,
UWORD16 u2_dest_wd_uv,
UWORD8 u1_dir)
{
UWORD16 u2_mask = ps_cur_mb_info->u2_mask[u1_dir];
- UWORD8 *pu1_ref_y, *pu1_ref_u, *pu1_ref_v;
+ UWORD8 *pu1_ref_y, *pu1_ref_u;
UWORD8 uc_cond, i, j, u1_dydx;
UWORD16 u2_ref_wd_y, u2_ref_wd_uv;
@@ -1432,28 +1405,26 @@ void ih264d_multiplex_ref_data(dec_struct_t * ps_dec,
if(ps_pred->i1_pod_ht)
{
- pu1_ref_y = ps_pred->pu1_dma_dest_addr + ps_pred->u1_mc_addr_ofst;
+ pu1_ref_y = ps_pred->pu1_dma_dest_addr;
u2_ref_wd_y = ps_pred->u2_u1_ref_buf_wd;
}
else
{
- pu1_ref_y = ps_pred->pu1_y_ref + ps_pred->u1_mc_addr_ofst;
+ pu1_ref_y = ps_pred->pu1_y_ref;
u2_ref_wd_y = ps_pred->u2_frm_wd;
}
ps_pred++;
if(ps_pred->i1_pod_ht)
{
- pu1_ref_u = ps_pred->pu1_dma_dest_addr + ps_pred->u1_mc_addr_ofst;
- pu1_ref_v = pu1_ref_u + ps_pred->u2_u1_ref_buf_wd * ps_pred->i1_dma_ht;
+ pu1_ref_u = ps_pred->pu1_dma_dest_addr;
u2_ref_wd_uv = ps_pred->u2_u1_ref_buf_wd * YUV420SP_FACTOR;
}
else
{
- pu1_ref_u = ps_pred->pu1_u_ref + ps_pred->u1_mc_addr_ofst;
- pu1_ref_v = ps_pred->pu1_v_ref + ps_pred->u1_mc_addr_ofst;
+ pu1_ref_u = ps_pred->pu1_u_ref;
u2_ref_wd_uv = ps_pred->u2_frm_wd;
}
@@ -1462,18 +1433,14 @@ void ih264d_multiplex_ref_data(dec_struct_t * ps_dec,
{
UWORD8 uc_dx, uc_dy;
- UWORD8 *pu1_scratch_v, *pu1_scratch_u;
+ UWORD8 *pu1_scratch_u;
uc_dx = u1_dydx & 0x3;
uc_dy = u1_dydx >> 3;
if(u1_dydx != 0)
{
pred_info_t * ps_prv_pred = ps_pred - 2;
- pu1_scratch_u = ps_prv_pred->pu1_dma_dest_addr
- + ps_prv_pred->u1_mc_addr_ofst;
- pu1_scratch_v = pu1_scratch_u
- + ps_prv_pred->u2_u1_ref_buf_wd
- * ps_prv_pred->i1_dma_ht;
+ pu1_scratch_u = ps_prv_pred->pu1_dma_dest_addr;
ps_dec->pf_inter_pred_chroma(pu1_ref_u, pu1_scratch_u,
u2_ref_wd_uv, 16, uc_dx, uc_dy, 8,
8);
@@ -1482,7 +1449,6 @@ void ih264d_multiplex_ref_data(dec_struct_t * ps_dec,
/* buffer to be used below in ih264d_copy_multiplex_data functions */
/* CHANGED CODE */
pu1_ref_u = pu1_scratch_u;
- pu1_ref_v = pu1_scratch_v;
u2_ref_wd_uv = 8 * YUV420SP_FACTOR;
}
}
@@ -1491,7 +1457,6 @@ void ih264d_multiplex_ref_data(dec_struct_t * ps_dec,
{
for(j = 0; j < 4; j++)
{
-
uc_cond = u2_mask & 1;
u2_mask >>= 1;
if(uc_cond)
@@ -1532,16 +1497,12 @@ void ih264d_multiplex_ref_data(dec_struct_t * ps_dec,
pu1_ref_y += 4;
pu1_dest_u += 2 * YUV420SP_FACTOR;
pu1_ref_u += 2 * YUV420SP_FACTOR;
- pu1_dest_v += 2;
- pu1_ref_v += 2;
}
}
pu1_ref_y += 4 * (u2_ref_wd_y - 4);
pu1_ref_u += 2 * (u2_ref_wd_uv - 4 * YUV420SP_FACTOR);
- pu1_ref_v += 2 * (u2_ref_wd_uv - 4);
pu1_dest_y += 4 * (u2_dest_wd_y - 4);
pu1_dest_u += 2 * (u2_dest_wd_uv - 4 * YUV420SP_FACTOR);
- pu1_dest_v += 2 * (u2_dest_wd_uv - 4);
}
}
}
diff --git a/decoder/ih264d_inter_pred.h b/decoder/ih264d_inter_pred.h
index 52d648a..dda3964 100644
--- a/decoder/ih264d_inter_pred.h
+++ b/decoder/ih264d_inter_pred.h
@@ -84,7 +84,6 @@ void ih264d_multiplex_ref_data(dec_struct_t * ps_dec,
pred_info_t *ps_pred,
UWORD8* pu1_dest_y,
UWORD8* pu1_dest_u,
- UWORD8* pu1_dest_v,
dec_mb_info_t *ps_cur_mb_info,
UWORD16 u2_dest_wd_y,
UWORD16 u2_dest_wd_uv,
diff --git a/decoder/ih264d_mb_utils.c b/decoder/ih264d_mb_utils.c
index 4cbfca5..c38b266 100644
--- a/decoder/ih264d_mb_utils.c
+++ b/decoder/ih264d_mb_utils.c
@@ -82,8 +82,8 @@ UWORD32 ih264d_get_mb_info_cavlc_nonmbaff(dec_struct_t *ps_dec,
dec_mb_info_t * ps_cur_mb_info,
UWORD32 u4_mbskip_run)
{
- UWORD16 u2_mb_x;
- UWORD16 u2_mb_y;
+ WORD32 mb_x;
+ WORD32 mb_y;
UWORD8 u1_mb_ngbr_avail = 0;
UWORD16 u2_frm_width_in_mb = ps_dec->u2_frm_wd_in_mbs;
WORD16 i2_prev_slice_mbx = ps_dec->i2_prev_slice_mbx;
@@ -93,42 +93,40 @@ UWORD32 ih264d_get_mb_info_cavlc_nonmbaff(dec_struct_t *ps_dec,
/*--------------------------------------------------------------------*/
/* Calculate values of mb_x and mb_y */
/*--------------------------------------------------------------------*/
- u2_mb_x = ps_dec->u2_mbx;
- u2_mb_y = ps_dec->u2_mby;
+ mb_x = (WORD16)ps_dec->u2_mbx;
+ mb_y = (WORD16)ps_dec->u2_mby;
- if(ps_dec->u1_separate_parse)
- {
- ps_dec->u2_cur_mb_addr = u2_cur_mb_address;
- }
- u2_mb_x++;
+ ps_dec->u2_cur_mb_addr = u2_cur_mb_address;
- if(u2_mb_x == u2_frm_width_in_mb)
+ mb_x++;
+
+ if(mb_x == u2_frm_width_in_mb)
{
- u2_mb_x = 0;
- u2_mb_y++;
+ mb_x = 0;
+ mb_y++;
}
- if(u2_mb_y > ps_dec->i2_prev_slice_mby)
+ if(mb_y > ps_dec->i2_prev_slice_mby)
{
/* if not in the immemdiate row of prev slice end then top
will be available */
- if(u2_mb_y > (ps_dec->i2_prev_slice_mby + 1))
+ if(mb_y > (ps_dec->i2_prev_slice_mby + 1))
i2_prev_slice_mbx = -1;
- if(u2_mb_x > i2_prev_slice_mbx)
+ if(mb_x > i2_prev_slice_mbx)
{
u1_mb_ngbr_avail |= TOP_MB_AVAILABLE_MASK;
u2_top_right_mask |= TOP_RIGHT_TOP_AVAILABLE;
u2_top_left_mask |= TOP_LEFT_TOP_AVAILABLE;
}
- if((u2_mb_x > (i2_prev_slice_mbx - 1))
- && (u2_mb_x != (u2_frm_width_in_mb - 1)))
+ if((mb_x > (i2_prev_slice_mbx - 1))
+ && (mb_x != (u2_frm_width_in_mb - 1)))
{
u1_mb_ngbr_avail |= TOP_RIGHT_MB_AVAILABLE_MASK;
u2_top_right_mask |= TOP_RIGHT_TOPR_AVAILABLE;
}
- if(u2_mb_x > (i2_prev_slice_mbx + 1))
+ if(mb_x > (i2_prev_slice_mbx + 1))
{
u1_mb_ngbr_avail |= TOP_LEFT_MB_AVAILABLE_MASK;
u2_top_left_mask |= TOP_LEFT_TOPL_AVAILABLE;
@@ -139,7 +137,7 @@ UWORD32 ih264d_get_mb_info_cavlc_nonmbaff(dec_struct_t *ps_dec,
}
/* Same row */
- if(u2_mb_x > (i2_prev_slice_mbx + 1))
+ if(mb_x > (i2_prev_slice_mbx + 1))
{
u1_mb_ngbr_avail |= LEFT_MB_AVAILABLE_MASK;
u2_top_left_mask |= TOP_LEFT_LEFT_AVAILABLE;
@@ -152,19 +150,19 @@ UWORD32 ih264d_get_mb_info_cavlc_nonmbaff(dec_struct_t *ps_dec,
/* copy the parameters of topleft Mb */
ps_cur_mb_info->u1_topleft_mbtype = ps_dec->u1_topleft_mbtype;
/* Neighbour pointer assignments*/
- ps_cur_mb_info->ps_curmb = ps_cur_mb_row + u2_mb_x;
- ps_cur_mb_info->ps_left_mb = ps_cur_mb_row + u2_mb_x - 1;
- ps_cur_mb_info->ps_top_mb = ps_top_mb_row + u2_mb_x;
- ps_cur_mb_info->ps_top_right_mb = ps_top_mb_row + u2_mb_x + 1;
+ ps_cur_mb_info->ps_curmb = ps_cur_mb_row + mb_x;
+ ps_cur_mb_info->ps_left_mb = ps_cur_mb_row + mb_x - 1;
+ ps_cur_mb_info->ps_top_mb = ps_top_mb_row + mb_x;
+ ps_cur_mb_info->ps_top_right_mb = ps_top_mb_row + mb_x + 1;
/* Update the parameters of topleftmb*/
ps_dec->u1_topleft_mbtype = ps_cur_mb_info->ps_top_mb->u1_mb_type;
}
- ps_dec->u2_mby = u2_mb_y;
- ps_dec->u2_mbx = u2_mb_x;
- ps_cur_mb_info->u2_mbx = u2_mb_x;
- ps_cur_mb_info->u2_mby = u2_mb_y;
+ ps_dec->u2_mby = mb_y;
+ ps_dec->u2_mbx = mb_x;
+ ps_cur_mb_info->u2_mbx = mb_x;
+ ps_cur_mb_info->u2_mby = mb_y;
ps_cur_mb_info->u1_topmb = 1;
ps_dec->i4_submb_ofst += SUB_BLK_SIZE;
ps_dec->u1_mb_ngbr_availablity = u1_mb_ngbr_avail;
@@ -231,10 +229,7 @@ UWORD32 ih264d_get_mb_info_cavlc_mbaff(dec_struct_t *ps_dec,
u2_mb_x = ps_dec->u2_mbx;
u2_mb_y = ps_dec->u2_mby;
- if(ps_dec->u1_separate_parse)
- {
- ps_dec->u2_cur_mb_addr = u2_cur_mb_address;
- }
+ ps_dec->u2_cur_mb_addr = u2_cur_mb_address;
if(u1_top_mb)
@@ -369,8 +364,8 @@ UWORD32 ih264d_get_mb_info_cabac_nonmbaff(dec_struct_t *ps_dec,
dec_mb_info_t * ps_cur_mb_info,
UWORD32 u4_mbskip)
{
- WORD32 u2_mb_x;
- WORD32 u2_mb_y;
+ WORD32 mb_x;
+ WORD32 mb_y;
UWORD32 u1_mb_ngbr_avail = 0;
UWORD32 u2_frm_width_in_mb = ps_dec->u2_frm_wd_in_mbs;
UWORD32 u1_top_mb = 1;
@@ -382,52 +377,49 @@ UWORD32 ih264d_get_mb_info_cabac_nonmbaff(dec_struct_t *ps_dec,
/*--------------------------------------------------------------------*/
/* Calculate values of mb_x and mb_y */
/*--------------------------------------------------------------------*/
- u2_mb_x = (WORD16)ps_dec->u2_mbx;
- u2_mb_y = ps_dec->u2_mby;
+ mb_x = (WORD16)ps_dec->u2_mbx;
+ mb_y = (WORD16)ps_dec->u2_mby;
- if(ps_dec->u1_separate_parse)
- {
- ps_dec->u2_cur_mb_addr = u2_cur_mb_address;
- }
+ ps_dec->u2_cur_mb_addr = u2_cur_mb_address;
- u2_mb_x++;
- if((UWORD32)u2_mb_x == u2_frm_width_in_mb)
+ mb_x++;
+ if((UWORD32)mb_x == u2_frm_width_in_mb)
{
- u2_mb_x = 0;
- u2_mb_y++;
+ mb_x = 0;
+ mb_y++;
}
/*********************************************************************/
/* Cabac Context Initialisations */
/*********************************************************************/
- ps_dec->ps_curr_ctxt_mb_info = p_ctx_inc_mb_map + u2_mb_x;
+ ps_dec->ps_curr_ctxt_mb_info = p_ctx_inc_mb_map + mb_x;
ps_dec->p_left_ctxt_mb_info = p_ctx_inc_mb_map - 1;
ps_dec->p_top_ctxt_mb_info = p_ctx_inc_mb_map - 1;
/********************************************************************/
/* neighbour availablility */
/********************************************************************/
- if(u2_mb_y > ps_dec->i2_prev_slice_mby)
+ if(mb_y > ps_dec->i2_prev_slice_mby)
{
/* if not in the immemdiate row of prev slice end then top
will be available */
- if(u2_mb_y > (ps_dec->i2_prev_slice_mby + 1))
+ if(mb_y > (ps_dec->i2_prev_slice_mby + 1))
i2_prev_slice_mbx = -1;
- if(u2_mb_x > i2_prev_slice_mbx)
+ if(mb_x > i2_prev_slice_mbx)
{
u1_mb_ngbr_avail |= TOP_MB_AVAILABLE_MASK;
u2_top_right_mask |= TOP_RIGHT_TOP_AVAILABLE;
u2_top_left_mask |= TOP_LEFT_TOP_AVAILABLE;
ps_dec->p_top_ctxt_mb_info = ps_dec->ps_curr_ctxt_mb_info;
}
- if((u2_mb_x > (i2_prev_slice_mbx - 1))
- && ((UWORD32)u2_mb_x != (u2_frm_width_in_mb - 1)))
+ if((mb_x > (i2_prev_slice_mbx - 1))
+ && ((UWORD32)mb_x != (u2_frm_width_in_mb - 1)))
{
u1_mb_ngbr_avail |= TOP_RIGHT_MB_AVAILABLE_MASK;
u2_top_right_mask |= TOP_RIGHT_TOPR_AVAILABLE;
}
- if(u2_mb_x > (i2_prev_slice_mbx + 1))
+ if(mb_x > (i2_prev_slice_mbx + 1))
{
u1_mb_ngbr_avail |= TOP_LEFT_MB_AVAILABLE_MASK;
u2_top_left_mask |= TOP_LEFT_TOPL_AVAILABLE;
@@ -436,7 +428,7 @@ UWORD32 ih264d_get_mb_info_cabac_nonmbaff(dec_struct_t *ps_dec,
i2_prev_slice_mbx = -1;
}
/* Same row */
- if(u2_mb_x > (i2_prev_slice_mbx + 1))
+ if(mb_x > (i2_prev_slice_mbx + 1))
{
u1_mb_ngbr_avail |= LEFT_MB_AVAILABLE_MASK;
u2_top_left_mask |= TOP_LEFT_LEFT_AVAILABLE;
@@ -448,19 +440,19 @@ UWORD32 ih264d_get_mb_info_cabac_nonmbaff(dec_struct_t *ps_dec,
/* copy the parameters of topleft Mb */
ps_cur_mb_info->u1_topleft_mbtype = ps_dec->u1_topleft_mbtype;
/* Neighbour pointer assignments*/
- ps_cur_mb_info->ps_curmb = ps_cur_mb_row + u2_mb_x;
- ps_cur_mb_info->ps_left_mb = ps_cur_mb_row + u2_mb_x - 1;
- ps_cur_mb_info->ps_top_mb = ps_top_mb_row + u2_mb_x;
- ps_cur_mb_info->ps_top_right_mb = ps_top_mb_row + u2_mb_x + 1;
+ ps_cur_mb_info->ps_curmb = ps_cur_mb_row + mb_x;
+ ps_cur_mb_info->ps_left_mb = ps_cur_mb_row + mb_x - 1;
+ ps_cur_mb_info->ps_top_mb = ps_top_mb_row + mb_x;
+ ps_cur_mb_info->ps_top_right_mb = ps_top_mb_row + mb_x + 1;
/* Update the parameters of topleftmb*/
ps_dec->u1_topleft_mbtype = ps_cur_mb_info->ps_top_mb->u1_mb_type;
}
- ps_dec->u2_mby = u2_mb_y;
- ps_dec->u2_mbx = u2_mb_x;
- ps_cur_mb_info->u2_mbx = u2_mb_x;
- ps_cur_mb_info->u2_mby = u2_mb_y;
+ ps_dec->u2_mby = mb_y;
+ ps_dec->u2_mbx = mb_x;
+ ps_cur_mb_info->u2_mbx = mb_x;
+ ps_cur_mb_info->u2_mby = mb_y;
ps_cur_mb_info->u1_topmb = u1_top_mb;
ps_dec->i4_submb_ofst += SUB_BLK_SIZE;
ps_dec->u1_mb_ngbr_availablity = u1_mb_ngbr_avail;
@@ -554,8 +546,8 @@ UWORD32 ih264d_get_mb_info_cabac_mbaff(dec_struct_t *ps_dec,
dec_mb_info_t * ps_cur_mb_info,
UWORD32 u4_mbskip)
{
- UWORD16 u2_mb_x;
- UWORD16 u2_mb_y;
+ WORD32 mb_x;
+ WORD32 mb_y;
UWORD8 u1_mb_ngbr_avail = 0;
UWORD16 u2_frm_width_in_mb = ps_dec->u2_frm_wd_in_mbs;
ctxt_inc_mb_info_t * const p_ctx_inc_mb_map = ps_dec->p_ctxt_inc_mb_map;
@@ -573,13 +565,10 @@ UWORD32 ih264d_get_mb_info_cabac_mbaff(dec_struct_t *ps_dec,
/*--------------------------------------------------------------------*/
/* Calculate values of mb_x and mb_y */
/*--------------------------------------------------------------------*/
- u2_mb_x = ps_dec->u2_mbx;
- u2_mb_y = ps_dec->u2_mby;
+ mb_x = (WORD16)ps_dec->u2_mbx;
+ mb_y = (WORD16)ps_dec->u2_mby;
- if(ps_dec->u1_separate_parse)
- {
- ps_dec->u2_cur_mb_addr = u2_cur_mb_address;
- }
+ ps_dec->u2_cur_mb_addr = u2_cur_mb_address;
ps_top_ctxt = ps_left_ctxt = p_ctx_inc_mb_map - 1;
@@ -588,20 +577,20 @@ UWORD32 ih264d_get_mb_info_cabac_mbaff(dec_struct_t *ps_dec,
ctxt_inc_mb_info_t *ps_left_mb_of_bot = ps_left_ctxt;
ctxt_inc_mb_info_t *ps_top_mb_of_bot = ps_top_ctxt;
- u2_mb_x++;
+ mb_x++;
- if(u2_mb_x == u2_frm_width_in_mb)
+ if(mb_x == u2_frm_width_in_mb)
{
- u2_mb_x = 0;
- u2_mb_y += 2;
+ mb_x = 0;
+ mb_y += 2;
}
- ps_curr_ctxt = p_ctx_inc_mb_map + (u2_mb_x << 1);
- if(u2_mb_y > ps_dec->i2_prev_slice_mby)
+ ps_curr_ctxt = p_ctx_inc_mb_map + (mb_x << 1);
+ if(mb_y > ps_dec->i2_prev_slice_mby)
{
UWORD8 u1_cur_mb_fld_flag_known = 0;
/* Next row */
- if(u2_mb_x > 0)
+ if(mb_x > 0)
{
/***********************************************************************/
/* Left Mb is avialable */
@@ -609,16 +598,16 @@ UWORD32 ih264d_get_mb_info_cabac_mbaff(dec_struct_t *ps_dec,
u1_mb_ngbr_avail |= LEFT_MB_AVAILABLE_MASK;
ps_left_ctxt = ps_curr_ctxt - 2;
ps_left_mb_of_bot = ps_curr_ctxt - 1;
- u1_cur_mb_field = u4_left_mb_pair_fld = ps_cur_mb_row[(u2_mb_x
+ u1_cur_mb_field = u4_left_mb_pair_fld = ps_cur_mb_row[(mb_x
<< 1) - 1].u1_mb_fld;
u1_cur_mb_fld_flag_known = 1;
u2_top_left_mask |= TOP_LEFT_LEFT_AVAILABLE;
}
/* if not in the immemdiate row of prev slice end then top
will be available */
- if(u2_mb_y > (ps_dec->i2_prev_slice_mby + 2))
+ if(mb_y > (ps_dec->i2_prev_slice_mby + 2))
i2_prev_slice_mbx = -1;
- if(u2_mb_x > i2_prev_slice_mbx)
+ if(mb_x > i2_prev_slice_mbx)
{
/*********************************************************************/
/* Top Mb is avialable */
@@ -629,7 +618,7 @@ UWORD32 ih264d_get_mb_info_cabac_mbaff(dec_struct_t *ps_dec,
/* point to MbAddrB + 1 */
ps_top_ctxt = ps_curr_ctxt + 1;
- u4_top_mb_pair_fld = ps_top_mb_row[(u2_mb_x << 1)].u1_mb_fld;
+ u4_top_mb_pair_fld = ps_top_mb_row[(mb_x << 1)].u1_mb_fld;
u1_cur_mb_field =
u1_cur_mb_fld_flag_known ?
@@ -641,14 +630,14 @@ UWORD32 ih264d_get_mb_info_cabac_mbaff(dec_struct_t *ps_dec,
ps_top_ctxt -= (u1_cur_mb_field && u4_top_mb_pair_fld);
}
- if((u2_mb_x > (i2_prev_slice_mbx - 1))
- && (u2_mb_x != (u2_frm_width_in_mb - 1)))
+ if((mb_x > (i2_prev_slice_mbx - 1))
+ && (mb_x != (u2_frm_width_in_mb - 1)))
{
u1_mb_ngbr_avail |= TOP_RIGHT_MB_AVAILABLE_MASK;
u2_top_right_mask |= TOP_RIGHT_TOPR_AVAILABLE;
}
- if(u2_mb_x > (i2_prev_slice_mbx + 1))
+ if(mb_x > (i2_prev_slice_mbx + 1))
{
u1_mb_ngbr_avail |= TOP_LEFT_MB_AVAILABLE_MASK;
u2_top_left_mask |= TOP_LEFT_TOPL_AVAILABLE;
@@ -657,14 +646,14 @@ UWORD32 ih264d_get_mb_info_cabac_mbaff(dec_struct_t *ps_dec,
else
{
/* Same row */
- if(u2_mb_x > (i2_prev_slice_mbx + 1))
+ if(mb_x > (i2_prev_slice_mbx + 1))
{
/***************************************************************/
/* Left Mb is avialable */
/***************************************************************/
u1_mb_ngbr_avail |= LEFT_MB_AVAILABLE_MASK;
- u1_cur_mb_field = u4_left_mb_pair_fld = ps_cur_mb_row[(u2_mb_x
+ u1_cur_mb_field = u4_left_mb_pair_fld = ps_cur_mb_row[(mb_x
<< 1) - 1].u1_mb_fld;
ps_left_ctxt = ps_curr_ctxt - 2;
ps_left_mb_of_bot = ps_curr_ctxt - 1;
@@ -730,8 +719,8 @@ UWORD32 ih264d_get_mb_info_cabac_mbaff(dec_struct_t *ps_dec,
ps_dec->u1_cur_mb_fld_dec_flag = u1_cur_mb_field;
ps_dec->u2_top_left_mask = u2_top_left_mask;
ps_dec->u2_top_right_mask = u2_top_right_mask;
- ps_dec->u2_mby = u2_mb_y;
- ps_dec->u2_mbx = u2_mb_x;
+ ps_dec->u2_mby = mb_y;
+ ps_dec->u2_mbx = mb_x;
}
else
{
@@ -739,11 +728,11 @@ UWORD32 ih264d_get_mb_info_cabac_mbaff(dec_struct_t *ps_dec,
u1_mb_ngbr_avail = ps_dec->u1_mb_ngbr_availablity;
u2_top_left_mask = ps_dec->u2_top_left_mask;
u2_top_right_mask = ps_dec->u2_top_right_mask;
- ps_curr_ctxt = p_ctx_inc_mb_map + (u2_mb_x << 1) + 1;
+ ps_curr_ctxt = p_ctx_inc_mb_map + (mb_x << 1) + 1;
if(u1_mb_ngbr_avail & LEFT_MB_AVAILABLE_MASK)
{
- u4_left_mb_pair_fld = ps_cur_mb_row[(u2_mb_x << 1) - 1].u1_mb_fld;
+ u4_left_mb_pair_fld = ps_cur_mb_row[(mb_x << 1) - 1].u1_mb_fld;
/* point to A if top else A+1 */
ps_left_ctxt = ps_curr_ctxt - 2
@@ -805,8 +794,8 @@ UWORD32 ih264d_get_mb_info_cabac_mbaff(dec_struct_t *ps_dec,
}
}
- ps_cur_mb_info->u2_mbx = u2_mb_x;
- ps_cur_mb_info->u2_mby = u2_mb_y;
+ ps_cur_mb_info->u2_mbx = mb_x;
+ ps_cur_mb_info->u2_mby = mb_y;
ps_cur_mb_info->u1_topmb = u1_top_mb;
ps_dec->i4_submb_ofst += SUB_BLK_SIZE;
ps_dec->u1_mb_ngbr_availablity = u1_mb_ngbr_avail;
@@ -1399,7 +1388,7 @@ void ih264d_get_mbaff_neighbours(dec_struct_t * ps_dec,
**************************************************************************
*/
void ih264d_transfer_mb_group_data(dec_struct_t * ps_dec,
- const WORD8 c_numMbs,
+ const UWORD8 u1_num_mbs,
const UWORD8 u1_end_of_row, /* Cur n-Mb End of Row Flag */
const UWORD8 u1_end_of_row_next /* Next n-Mb End of Row Flag */
)
@@ -1453,12 +1442,12 @@ void ih264d_transfer_mb_group_data(dec_struct_t * ps_dec,
/*
* The Slice boundary is also a valid condition to transfer. So recalculate
* the Left increment, in case the number of MBs is lesser than the
- * N MB value. c_numMbs will be equal to N of N MB if the entire N Mb is
+ * N MB value. u1_num_mbs will be equal to N of N MB if the entire N Mb is
* decoded.
*/
- ps_dec->s_tran_addrecon.u2_mv_left_inc = ((c_numMbs >> u1_mbaff) - 1)
+ ps_dec->s_tran_addrecon.u2_mv_left_inc = ((u1_num_mbs >> u1_mbaff) - 1)
<< (4 + u1_mbaff);
- ps_dec->s_tran_addrecon.u2_mv_top_left_inc = (c_numMbs << 2) - 1
+ ps_dec->s_tran_addrecon.u2_mv_top_left_inc = (u1_num_mbs << 2) - 1
- (u1_mbaff << 2);
if(ps_dec->u1_separate_parse == 0)
@@ -1467,29 +1456,18 @@ void ih264d_transfer_mb_group_data(dec_struct_t * ps_dec,
ps_dec->ps_mv_left = ps_dec->ps_mv_cur
+ ps_dec->s_tran_addrecon.u2_mv_left_inc;
- ps_dec->ps_mv_cur += (c_numMbs << 4);
+ ps_dec->ps_mv_cur += (u1_num_mbs << 4);
}
/* Increment deblock parameters pointer in external memory */
if(ps_dec->u1_separate_parse == 1)
{
- ps_dec->ps_deblk_mbn_dec_thrd += c_numMbs;
+ ps_dec->ps_deblk_mbn_dec_thrd += u1_num_mbs;
}
else
{
- if(ps_dec->u4_mb_level_deblk == 0)
- ps_dec->ps_deblk_mbn += c_numMbs;
- else
- {
- deblk_mb_t *temp;
-
- /*swap previous and curr pointers*/
- ps_dec->ps_deblk_mbn = ps_dec->ps_deblk_mbn_prev;
- temp = ps_dec->ps_deblk_mbn_curr;
- ps_dec->ps_deblk_mbn_curr = ps_dec->ps_deblk_mbn_prev;
- ps_dec->ps_deblk_mbn_prev = temp;
- }
+ ps_dec->ps_deblk_mbn += u1_num_mbs;
}
}
diff --git a/decoder/ih264d_mb_utils.h b/decoder/ih264d_mb_utils.h
index 6e359f5..158319a 100644
--- a/decoder/ih264d_mb_utils.h
+++ b/decoder/ih264d_mb_utils.h
@@ -283,7 +283,7 @@ void ih264d_get_mbaff_neighbours(dec_struct_t * ps_dec,
void ih264d_update_mbaff_left_nnz(dec_struct_t * ps_dec,
dec_mb_info_t * ps_cur_mb_info);
void ih264d_transfer_mb_group_data(dec_struct_t * ps_dec,
- const WORD8 c_numMbs,
+ const UWORD8 u1_num_mbs,
const UWORD8 u1_end_of_row, /* Cur n-Mb End of Row Flag */
const UWORD8 u1_end_of_row_next /* Next n-Mb End of Row Flag */
);
diff --git a/decoder/ih264d_parse_bslice.c b/decoder/ih264d_parse_bslice.c
index 89cf5ed..6707039 100644
--- a/decoder/ih264d_parse_bslice.c
+++ b/decoder/ih264d_parse_bslice.c
@@ -1011,7 +1011,6 @@ WORD32 ih264d_mv_pred_ref_tfr_nby2_bmb(dec_struct_t * ps_dec,
/* Loop on Partitions */
/* direct mode is reflected as a single partition */
/**************************************************/
- ps_dec->u4_dma_buf_idx = 0;
for(j = 0; j < u1_num_part; j++, ps_part++)
{
u1_sub_mb_num = ps_part->u1_sub_mb_num;
@@ -1654,11 +1653,7 @@ WORD32 ih264d_parse_bslice(dec_struct_t * ps_dec, UWORD16 u2_first_mb_in_slice)
ps_slice->i1_slice_beta_offset = 0;
}
-
- /*set slice header cone to 2 ,to indicate correct header*/
- DATA_SYNC();
-
- ps_dec->ps_parse_cur_slice->slice_header_done = 2;
+ ps_dec->u1_slice_header_done = 2;
if(ps_pps->u1_entropy_coding_mode)
{
diff --git a/decoder/ih264d_parse_headers.c b/decoder/ih264d_parse_headers.c
index de5bcb9..f7ae612 100644
--- a/decoder/ih264d_parse_headers.c
+++ b/decoder/ih264d_parse_headers.c
@@ -56,6 +56,7 @@
#include "ih264d_quant_scaling.h"
#include "ih264d_defs.h"
#include "ivd.h"
+#include "ih264d.h"
/*****************************************************************************/
/* */
@@ -332,12 +333,7 @@ WORD32 ih264d_parse_pps(dec_struct_t * ps_dec, dec_bit_stream_t * ps_bitstrm)
if(ps_pps->i4_pic_scaling_matrix_present_flag)
{
/* read the scaling matrices */
- for(i4_i = 0;
- i4_i
- < (6
- + (ps_pps->i4_transform_8x8_mode_flag
- << 1));
- i4_i++)
+ for(i4_i = 0; i4_i < (6 + (ps_pps->i4_transform_8x8_mode_flag << 1)); i4_i++)
{
ps_pps->u1_pic_scaling_list_present_flag[i4_i] =
ih264d_get_bit_h264(ps_bitstrm);
@@ -548,22 +544,12 @@ WORD32 ih264d_parse_sps(dec_struct_t *ps_dec, dec_bit_stream_t *ps_bitstrm)
u1_level_idc = ih264d_get_bits_h264(ps_bitstrm, 8);
- /*
+
if(ps_dec->u4_level_at_init < u1_level_idc)
{
- UWORD32 i4_error_code;
- H264_DEC_DEBUG_PRINT("\nstream has the level more than the one which is set during init\n");
- i4_error_code = ERROR_ACTUAL_LEVEL_GREATER_THAN_INIT ;
- return i4_error_code;
- * Here instead of flagging the error, we could have ignored this error
- * and went ahead for further decoding, but we are not doing
- * so because, at least one header should be healthy to do the
- * decoding, and moreover, it may help to avoid the crashes in the erroneous
- * streams.
- *
-
+ return IH264D_UNSUPPORTED_LEVEL;
}
- */
+
COPYTHECONTEXT("SPS: u4_level_idc",u1_level_idc);
u4_temp = ih264d_uev(pu4_bitstrm_ofst, pu4_bitstrm_buf);
@@ -962,7 +948,6 @@ WORD32 ih264d_parse_sps(dec_struct_t *ps_dec, dec_bit_stream_t *ps_bitstrm)
ps_dec->u2_pic_ht = u2_pic_ht;
/* Determining the Width and Height of Frame from that of Picture */
-
ps_dec->u2_frm_wd_y = u2_frm_wd_y;
ps_dec->u2_frm_ht_y = u2_frm_ht_y;
diff --git a/decoder/ih264d_parse_islice.c b/decoder/ih264d_parse_islice.c
index 7851a0b..534c785 100644
--- a/decoder/ih264d_parse_islice.c
+++ b/decoder/ih264d_parse_islice.c
@@ -133,9 +133,9 @@ WORD32 ih264d_parse_imb_cavlc(dec_struct_t * ps_dec,
if (!ps_cur_mb_info->u1_tran_form8x8)
{
ih264d_read_intra_pred_modes(ps_dec,
- ((UWORD8 *)ps_dec->pv_parse_tu_coeff_data),
- ((UWORD8 *)ps_dec->pv_parse_tu_coeff_data+16),
- ps_cur_mb_info->u1_tran_form8x8);
+ ((UWORD8 *)ps_dec->pv_parse_tu_coeff_data),
+ ((UWORD8 *)ps_dec->pv_parse_tu_coeff_data+16),
+ ps_cur_mb_info->u1_tran_form8x8);
UWORD8 *pu1_temp = (UWORD8 *)ps_dec->pv_parse_tu_coeff_data;
pu1_temp += 32;
ps_dec->pv_parse_tu_coeff_data = (void *)pu1_temp;
@@ -143,9 +143,9 @@ WORD32 ih264d_parse_imb_cavlc(dec_struct_t * ps_dec,
else
{
ih264d_read_intra_pred_modes(ps_dec,
- ((UWORD8 *)ps_dec->pv_parse_tu_coeff_data),
- ((UWORD8 *)ps_dec->pv_parse_tu_coeff_data+4),
- ps_cur_mb_info->u1_tran_form8x8);
+ ((UWORD8 *)ps_dec->pv_parse_tu_coeff_data),
+ ((UWORD8 *)ps_dec->pv_parse_tu_coeff_data+4),
+ ps_cur_mb_info->u1_tran_form8x8);
UWORD8 *pu1_temp = (UWORD8 *)ps_dec->pv_parse_tu_coeff_data;
pu1_temp += 8;
ps_dec->pv_parse_tu_coeff_data = (void *)pu1_temp;
@@ -763,12 +763,10 @@ WORD32 ih264d_parse_islice_data_cavlc(dec_struct_t * ps_dec,
WORD16 i2_cur_mb_addr;
UWORD8 u1_mbaff;
UWORD8 u1_num_mbs_next, u1_end_of_row, u1_tfr_n_mb;
- WORD32 ret;
+ WORD32 ret = OK;
ps_dec->u1_qp = ps_slice->u1_slice_qp;
- ret = ih264d_update_qp(ps_dec, 0);
- if(ret != OK)
- return ret;
+ ih264d_update_qp(ps_dec, 0);
u1_mbaff = ps_slice->u1_mbaff_frame_flag;
/* initializations */
@@ -782,12 +780,16 @@ WORD32 ih264d_parse_islice_data_cavlc(dec_struct_t * ps_dec,
{
UWORD8 u1_mb_type;
+ ps_dec->pv_prev_mb_parse_tu_coeff_data = ps_dec->pv_parse_tu_coeff_data;
+
if(i2_cur_mb_addr > ps_dec->ps_cur_sps->u2_max_mb_addr)
{
+ ret = ERROR_MB_ADDRESS_T;
break;
}
ps_cur_mb_info = ps_dec->ps_nmb_info + u1_num_mbs;
+ ps_dec->u4_num_mbs_cur_nmb = u1_num_mbs;
ps_dec->u4_num_pmbair = (u1_num_mbs >> u1_mbaff);
ps_cur_mb_info->u1_end_of_slice = 0;
@@ -919,11 +921,9 @@ WORD32 ih264d_parse_islice_data_cavlc(dec_struct_t * ps_dec,
}
else
{
- ret = ih264d_decode_recon_tfr_nmb(ps_dec, u1_mb_idx, u1_num_mbs,
- u1_num_mbs_next, u1_tfr_n_mb,
- u1_end_of_row);
- if(ret != OK)
- return ret;
+ ih264d_decode_recon_tfr_nmb(ps_dec, u1_mb_idx, u1_num_mbs,
+ u1_num_mbs_next, u1_tfr_n_mb,
+ u1_end_of_row);
}
if(u1_tfr_n_mb)
@@ -935,13 +935,12 @@ WORD32 ih264d_parse_islice_data_cavlc(dec_struct_t * ps_dec,
}
while(uc_more_data_flag);
- if(ps_dec->u1_separate_parse)
- {
- ps_dec->ps_parse_cur_slice->end_of_slice = 1;
- ps_dec->ps_cur_slice->u4_mbs_in_slice = i2_cur_mb_addr
+ ps_dec->u4_num_mbs_cur_nmb = 0;
+ ps_dec->ps_cur_slice->u4_mbs_in_slice = i2_cur_mb_addr
+
- (u2_first_mb_in_slice << u1_mbaff);
- }
- return OK;
+
+ return ret;
}
/*****************************************************************************/
@@ -982,12 +981,10 @@ WORD32 ih264d_parse_islice_data_cabac(dec_struct_t * ps_dec,
WORD16 i2_cur_mb_addr;
UWORD8 u1_mbaff;
UWORD8 u1_num_mbs_next, u1_end_of_row, u1_tfr_n_mb;
- WORD32 ret;
+ WORD32 ret = OK;
ps_dec->u1_qp = ps_slice->u1_slice_qp;
- ret = ih264d_update_qp(ps_dec, 0);
- if(ret != 0)
- return ret;
+ ih264d_update_qp(ps_dec, 0);
u1_mbaff = ps_slice->u1_mbaff_frame_flag;
if(ps_bitstrm->u4_ofst & 0x07)
@@ -1011,10 +1008,20 @@ WORD32 ih264d_parse_islice_data_cabac(dec_struct_t * ps_dec,
do
{
UWORD16 u2_mbx;
+
+ ps_dec->pv_prev_mb_parse_tu_coeff_data = ps_dec->pv_parse_tu_coeff_data;
+
+ if(i2_cur_mb_addr > ps_dec->ps_cur_sps->u2_max_mb_addr)
+ {
+ ret = ERROR_MB_ADDRESS_T;
+ break;
+ }
+
{
UWORD8 u1_mb_type;
ps_cur_mb_info = ps_dec->ps_nmb_info + u1_num_mbs;
+ ps_dec->u4_num_mbs_cur_nmb = u1_num_mbs;
ps_dec->u4_num_pmbair = (u1_num_mbs >> u1_mbaff);
ps_cur_mb_info->u1_end_of_slice = 0;
@@ -1076,8 +1083,6 @@ WORD32 ih264d_parse_islice_data_cabac(dec_struct_t * ps_dec,
ih264d_update_mbaff_left_nnz(ps_dec, ps_cur_mb_info);
}
/* Next macroblock information */
- if(i2_cur_mb_addr > ps_dec->ps_cur_sps->u2_max_mb_addr)
- return ERROR_MB_ADDRESS_T;
i2_cur_mb_addr++;
if(ps_cur_mb_info->u1_topmb && u1_mbaff)
@@ -1135,11 +1140,9 @@ WORD32 ih264d_parse_islice_data_cabac(dec_struct_t * ps_dec,
}
else
{
- ret = ih264d_decode_recon_tfr_nmb(ps_dec, u1_mb_idx, u1_num_mbs,
- u1_num_mbs_next, u1_tfr_n_mb,
- u1_end_of_row);
- if(ret != OK)
- return ret;
+ ih264d_decode_recon_tfr_nmb(ps_dec, u1_mb_idx, u1_num_mbs,
+ u1_num_mbs_next, u1_tfr_n_mb,
+ u1_end_of_row);
}
if(u1_tfr_n_mb)
@@ -1151,13 +1154,12 @@ WORD32 ih264d_parse_islice_data_cabac(dec_struct_t * ps_dec,
}
while(uc_more_data_flag);
- if(ps_dec->u1_separate_parse)
- {
- ps_dec->ps_parse_cur_slice->end_of_slice = 1;
- ps_dec->ps_cur_slice->u4_mbs_in_slice = i2_cur_mb_addr
+ ps_dec->u4_num_mbs_cur_nmb = 0;
+ ps_dec->ps_cur_slice->u4_mbs_in_slice = i2_cur_mb_addr
+
- (u2_first_mb_in_slice << u1_mbaff);
- }
- return OK;
+
+ return ret;
}
/*****************************************************************************/
@@ -1439,8 +1441,7 @@ WORD32 ih264d_parse_islice(dec_struct_t *ps_dec,
/*set slice header cone to 2 ,to indicate correct header*/
- DATA_SYNC();
- ps_dec->ps_parse_cur_slice->slice_header_done = 2;
+ ps_dec->u1_slice_header_done = 2;
if(ps_pps->u1_entropy_coding_mode)
{
@@ -1457,9 +1458,6 @@ WORD32 ih264d_parse_islice(dec_struct_t *ps_dec,
if(ret != OK)
return ret;
SWITCHONTRACE; SWITCHOFFTRACECABAC;
- if(ps_dec->ps_parse_cur_slice->u2_error_flag == 1)
- return 0;
-
}
else
{
diff --git a/decoder/ih264d_parse_pslice.c b/decoder/ih264d_parse_pslice.c
index 67d1405..02110eb 100644
--- a/decoder/ih264d_parse_pslice.c
+++ b/decoder/ih264d_parse_pslice.c
@@ -57,6 +57,7 @@
#include "ih264d_format_conv.h"
#include "ih264d_quant_scaling.h"
#include "ih264d_thread_parse_decode.h"
+#include "ih264d_thread_compute_bs.h"
#include "ih264d_process_bslice.h"
#include "ithread.h"
#include "ih264d_utils.h"
@@ -820,7 +821,7 @@ WORD32 ih264d_parse_inter_slice_data_cabac(dec_struct_t * ps_dec,
UWORD32 u1_deblk_mb_type;
UWORD32 u1_mb_threshold;
dec_bit_stream_t * const ps_bitstrm = ps_dec->ps_bitstrm;
- WORD32 ret;
+ WORD32 ret = OK;
/******************************************************/
/* Initialisations specific to B or P slice */
@@ -845,9 +846,7 @@ WORD32 ih264d_parse_inter_slice_data_cabac(dec_struct_t * ps_dec,
/******************************************************/
i2_cur_mb_addr = u2_first_mb_in_slice;
ps_dec->u1_qp = ps_slice->u1_slice_qp;
- ret = ih264d_update_qp(ps_dec, 0);
- if(ret != OK)
- return ret;
+ ih264d_update_qp(ps_dec, 0);
u1_mb_idx = ps_dec->u1_mb_idx;
u1_num_mbs = u1_mb_idx;
u1_num_mbsNby2 = 0;
@@ -873,8 +872,16 @@ WORD32 ih264d_parse_inter_slice_data_cabac(dec_struct_t * ps_dec,
UWORD8 u1_mb_type;
UWORD32 u4_mb_skip;
+ ps_dec->pv_prev_mb_parse_tu_coeff_data = ps_dec->pv_parse_tu_coeff_data;
+
+ if(i2_cur_mb_addr > ps_dec->ps_cur_sps->u2_max_mb_addr)
+ {
+ ret = ERROR_MB_ADDRESS_T;
+ break;
+ }
ps_cur_mb_info = ps_dec->ps_nmb_info + u1_num_mbs;
+ ps_dec->u4_num_mbs_cur_nmb = u1_num_mbs;
ps_cur_mb_info->u1_Mux = 0;
ps_dec->u4_num_pmbair = (u1_num_mbs >> u1_mbaff);
@@ -1001,8 +1008,6 @@ WORD32 ih264d_parse_inter_slice_data_cabac(dec_struct_t * ps_dec,
ih264d_update_mbaff_left_nnz(ps_dec, ps_cur_mb_info);
}
/* Next macroblock information */
- if(i2_cur_mb_addr > ps_dec->ps_cur_sps->u2_max_mb_addr)
- return ERROR_MB_ADDRESS_T;
i2_cur_mb_addr++;
if(ps_cur_mb_info->u1_topmb && u1_mbaff)
@@ -1039,9 +1044,7 @@ WORD32 ih264d_parse_inter_slice_data_cabac(dec_struct_t * ps_dec,
if(u1_decode_nmb)
{
- ret = ps_dec->pf_mvpred_ref_tfr_nby2mb(ps_dec, u1_mb_idx, u1_num_mbs);
- if(ret != OK)
- return ret;
+ ps_dec->pf_mvpred_ref_tfr_nby2mb(ps_dec, u1_mb_idx, u1_num_mbs);
u1_num_mbsNby2 = 0;
{
@@ -1065,11 +1068,9 @@ WORD32 ih264d_parse_inter_slice_data_cabac(dec_struct_t * ps_dec,
}
else
{
- ret = ih264d_decode_recon_tfr_nmb(ps_dec, u1_mb_idx, u1_num_mbs,
- u1_num_mbs_next, u1_tfr_n_mb,
- u1_end_of_row);
- if(ret != OK)
- return ret;
+ ih264d_decode_recon_tfr_nmb(ps_dec, u1_mb_idx, u1_num_mbs,
+ u1_num_mbs_next, u1_tfr_n_mb,
+ u1_end_of_row);
}
if(u1_tfr_n_mb)
@@ -1080,13 +1081,13 @@ WORD32 ih264d_parse_inter_slice_data_cabac(dec_struct_t * ps_dec,
}
}
- if(ps_dec->u1_separate_parse)
- {
- ps_dec->ps_parse_cur_slice->end_of_slice = 1;
- ps_dec->ps_cur_slice->u4_mbs_in_slice = i2_cur_mb_addr
+
+ ps_dec->u4_num_mbs_cur_nmb = 0;
+ ps_dec->ps_cur_slice->u4_mbs_in_slice = i2_cur_mb_addr
+
- (u2_first_mb_in_slice << u1_mbaff);
- }
- return OK;
+
+ return ret;
}
/*****************************************************************************/
@@ -1141,7 +1142,7 @@ WORD32 ih264d_parse_inter_slice_data_cavlc(dec_struct_t * ps_dec,
UWORD32 u1_inter_mb_type;
UWORD32 u1_deblk_mb_type;
UWORD32 u1_mb_threshold;
- WORD32 ret;
+ WORD32 ret = OK;
/******************************************************/
/* Initialisations specific to B or P slice */
@@ -1162,11 +1163,8 @@ WORD32 ih264d_parse_inter_slice_data_cavlc(dec_struct_t * ps_dec,
/******************************************************/
/* Slice Level Initialisations */
/******************************************************/
- i2_cur_mb_addr = u2_first_mb_in_slice;
ps_dec->u1_qp = ps_slice->u1_slice_qp;
- ret = ih264d_update_qp(ps_dec, 0);
- if(ret != OK)
- return ret;
+ ih264d_update_qp(ps_dec, 0);
u1_mb_idx = ps_dec->u1_mb_idx;
u1_num_mbs = u1_mb_idx;
@@ -1181,14 +1179,17 @@ WORD32 ih264d_parse_inter_slice_data_cavlc(dec_struct_t * ps_dec,
{
UWORD8 u1_mb_type;
+ ps_dec->pv_prev_mb_parse_tu_coeff_data = ps_dec->pv_parse_tu_coeff_data;
+
if(i2_cur_mb_addr > ps_dec->ps_cur_sps->u2_max_mb_addr)
{
-
+ ret = ERROR_MB_ADDRESS_T;
break;
}
ps_cur_mb_info = ps_dec->ps_nmb_info + u1_num_mbs;
+ ps_dec->u4_num_mbs_cur_nmb = u1_num_mbs;
ps_cur_mb_info->u1_Mux = 0;
ps_dec->u4_num_pmbair = (u1_num_mbs >> u1_mbaff);
@@ -1380,10 +1381,7 @@ WORD32 ih264d_parse_inter_slice_data_cavlc(dec_struct_t * ps_dec,
//if(u1_dma_nby2mb)
if(u1_decode_nmb)
{
-
- ret = ps_dec->pf_mvpred_ref_tfr_nby2mb(ps_dec, u1_mb_idx, u1_num_mbs);
- if(ret != OK)
- return ret;
+ ps_dec->pf_mvpred_ref_tfr_nby2mb(ps_dec, u1_mb_idx, u1_num_mbs);
u1_num_mbsNby2 = 0;
{
@@ -1409,11 +1407,9 @@ WORD32 ih264d_parse_inter_slice_data_cavlc(dec_struct_t * ps_dec,
}
else
{
- ret = ih264d_decode_recon_tfr_nmb(ps_dec, u1_mb_idx, u1_num_mbs,
- u1_num_mbs_next, u1_tfr_n_mb,
- u1_end_of_row);
- if(ret != OK)
- return ret;
+ ih264d_decode_recon_tfr_nmb(ps_dec, u1_mb_idx, u1_num_mbs,
+ u1_num_mbs_next, u1_tfr_n_mb,
+ u1_end_of_row);
}
if(u1_tfr_n_mb)
@@ -1425,15 +1421,420 @@ WORD32 ih264d_parse_inter_slice_data_cavlc(dec_struct_t * ps_dec,
//ps_dec->ps_pred++;
}
+ ps_dec->u4_num_mbs_cur_nmb = 0;
+ ps_dec->ps_cur_slice->u4_mbs_in_slice = i2_cur_mb_addr
+ - (u2_first_mb_in_slice << u1_mbaff);
+
+
+ return ret;
+}
+
+WORD32 ih264d_mark_err_slice_skip(dec_struct_t * ps_dec,
+ WORD32 num_mb_skip,
+ UWORD8 u1_is_idr_slice,
+ pocstruct_t *ps_cur_poc,
+ WORD32 prev_slice_err)
+{
+ WORD32 i2_cur_mb_addr;
+ UWORD32 u1_num_mbs, u1_num_mbsNby2;
+ UWORD32 u1_mb_idx = ps_dec->u1_mb_idx;
+ UWORD32 i2_mb_skip_run;
+
+ UWORD32 u1_num_mbs_next, u1_end_of_row;
+ const UWORD32 i2_pic_wdin_mbs = ps_dec->u2_frm_wd_in_mbs;
+ UWORD32 u1_slice_end;
+ UWORD32 u1_tfr_n_mb;
+ UWORD32 u1_decode_nmb;
+ dec_bit_stream_t * const ps_bitstrm = ps_dec->ps_bitstrm;
+ dec_slice_params_t * ps_slice = ps_dec->ps_cur_slice;
+ UWORD32 *pu4_bitstrm_buf = ps_bitstrm->pu4_buffer;
+ UWORD32 *pu4_bitstrm_ofst = &ps_bitstrm->u4_ofst;
+ deblk_mb_t *ps_cur_deblk_mb;
+ dec_mb_info_t *ps_cur_mb_info;
+ parse_pmbarams_t *ps_parse_mb_data;
+ UWORD32 u1_inter_mb_type;
+ UWORD32 u1_deblk_mb_type;
+ UWORD16 u2_total_mbs_coded;
+ UWORD32 u1_mbaff = ps_slice->u1_mbaff_frame_flag;
+ parse_part_params_t *ps_part_info;
+
+ if(prev_slice_err == 1)
+ {
+ // first slice - missing/header corruption
+ if(u1_is_idr_slice)
+ ps_dec->ps_cur_slice->u2_frame_num = 0;
+ else
+ ps_dec->ps_cur_slice->u2_frame_num++;
+
+ if(!ps_dec->u1_first_slice_in_stream)
+ {
+ ih264d_end_of_pic(ps_dec, u1_is_idr_slice,
+ ps_dec->ps_cur_slice->u2_frame_num);
+ ps_dec->s_cur_pic_poc.u2_frame_num =
+ ps_dec->ps_cur_slice->u2_frame_num;
+ }
+
+ {
+ WORD32 i, j, poc = 0;
+
+ ps_dec->ps_cur_slice->u2_first_mb_in_slice = 0;
+
+ ps_dec->pf_mvpred = ih264d_mvpred_nonmbaff;
+ ps_dec->p_form_mb_part_info = ih264d_form_mb_part_info_bp;
+ ps_dec->p_motion_compensate = ih264d_motion_compensate_bp;
+ ps_dec->ps_pps->ps_sps = ps_dec->ps_cur_sps;
+
+ if(ps_dec->ps_cur_pic != NULL)
+ poc = ps_dec->ps_cur_pic->i4_poc + 2;
+
+ j = 0;
+ for(i = 0; i < MAX_NUM_PIC_PARAMS; i++)
+ if(ps_dec->ps_pps[i].u1_is_valid == TRUE)
+ j = i;
+
+ ih264d_start_of_pic(ps_dec, poc, ps_cur_poc,
+ ps_dec->ps_cur_slice->u2_frame_num,
+ &ps_dec->ps_pps[j]);
+
+ ps_dec->ps_ref_pic_buf_lx[0][0]->u1_pic_buf_id = 0;
+
+ ps_dec->u4_output_present = 0;
+
+ {
+ ih264d_get_next_display_field(ps_dec,
+ ps_dec->ps_out_buffer,
+ &(ps_dec->s_disp_op));
+ /* If error code is non-zero then there is no buffer available for display,
+ hence avoid format conversion */
+
+ if(0 != ps_dec->s_disp_op.u4_error_code)
+ {
+ ps_dec->u4_fmt_conv_cur_row = ps_dec->s_disp_frame_info.u4_y_ht;
+ }
+ else
+ ps_dec->u4_output_present = 1;
+ }
+
+ if(ps_dec->u1_separate_parse == 1)
+ {
+ if(ps_dec->u4_dec_thread_created == 0)
+ {
+ ithread_create(ps_dec->pv_dec_thread_handle, NULL,
+ (void *)ih264d_decode_picture_thread,
+ (void *)ps_dec);
+
+ ps_dec->u4_dec_thread_created = 1;
+ }
+
+ if((ps_dec->u4_num_cores == 3) &&
+ ((ps_dec->u4_app_disable_deblk_frm == 0) || ps_dec->i1_recon_in_thread3_flag)
+ && (ps_dec->u4_bs_deblk_thread_created == 0))
+ {
+ ps_dec->u4_start_recon_deblk = 0;
+ ithread_create(ps_dec->pv_bs_deblk_thread_handle, NULL,
+ (void *)ih264d_recon_deblk_thread,
+ (void *)ps_dec);
+ ps_dec->u4_bs_deblk_thread_created = 1;
+ }
+ }
+ }
+ }
+ else
+ {
+ // Middle / last slice
+
+ dec_slice_struct_t *ps_parse_cur_slice;
+ ps_parse_cur_slice = ps_dec->ps_dec_slice_buf + ps_dec->u2_cur_slice_num;
+
+ if(ps_dec->u1_slice_header_done
+ && ps_parse_cur_slice == ps_dec->ps_parse_cur_slice)
+ {
+ // Slice data corrupted
+ u1_num_mbs = ps_dec->u4_num_mbs_cur_nmb;
+
+ if(u1_num_mbs)
+ {
+ ps_cur_mb_info = ps_dec->ps_nmb_info + u1_num_mbs - 1;
+ }
+ else
+ {
+ if(ps_dec->u1_separate_parse)
+ {
+ ps_cur_mb_info = ps_dec->ps_nmb_info - 1;
+ }
+ else
+ {
+ ps_cur_mb_info = ps_dec->ps_nmb_info
+ + ps_dec->u4_num_mbs_prev_nmb - 1;
+ }
+ }
+
+ ps_dec->u2_mby = ps_cur_mb_info->u2_mby;
+ ps_dec->u2_mbx = ps_cur_mb_info->u2_mbx;
+
+ ps_dec->u1_mb_ngbr_availablity =
+ ps_cur_mb_info->u1_mb_ngbr_availablity;
+
+ // Going back 1 mb
+ ps_dec->pv_parse_tu_coeff_data = ps_dec->pv_prev_mb_parse_tu_coeff_data;
+ ps_dec->u2_cur_mb_addr--;
+ ps_dec->i4_submb_ofst -= SUB_BLK_SIZE;
+
+ if(u1_num_mbs)
+ {
+ // Parse/decode N-MB left unparsed
+ if (ps_dec->u1_pr_sl_type == P_SLICE
+ || ps_dec->u1_pr_sl_type == B_SLICE)
+ {
+ ps_dec->pf_mvpred_ref_tfr_nby2mb(ps_dec, u1_mb_idx, u1_num_mbs);
+ ps_dec->ps_part = ps_dec->ps_parse_part_params;
+ }
+
+ u1_num_mbs_next = i2_pic_wdin_mbs - ps_dec->u2_mbx - 1;
+ u1_end_of_row = (!u1_num_mbs_next)
+ && (!(u1_mbaff && (u1_num_mbs & 0x01)));
+ u1_slice_end = 1;
+ u1_tfr_n_mb = 1;
+ ps_cur_mb_info->u1_end_of_slice = u1_slice_end;
+
+ if(ps_dec->u1_separate_parse)
+ {
+ ih264d_parse_tfr_nmb(ps_dec, u1_mb_idx, u1_num_mbs,
+ u1_num_mbs_next, u1_tfr_n_mb, u1_end_of_row);
+ ps_dec->ps_nmb_info += u1_num_mbs;
+ }
+ else
+ {
+ ih264d_decode_recon_tfr_nmb(ps_dec, u1_mb_idx, u1_num_mbs,
+ u1_num_mbs_next, u1_tfr_n_mb, u1_end_of_row);
+ }
+
+ ps_dec->u1_mb_idx = 0;
+ ps_dec->u4_num_mbs_cur_nmb = 0;
+ }
+
+ if(ps_dec->u2_total_mbs_coded
+ >= ps_dec->u2_frm_ht_in_mbs * ps_dec->u2_frm_wd_in_mbs)
+ {
+ ps_dec->u1_pic_decode_done = 1;
+ return 1;
+ }
+
+ // Inserting new slice
+ ps_dec->u2_cur_slice_num++;
+ ps_dec->i2_prev_slice_mbx = ps_dec->u2_mbx;
+ ps_dec->i2_prev_slice_mby = ps_dec->u2_mby;
+ ps_dec->ps_parse_cur_slice++;
+
+ }
+ else
+ {
+ // Slice missing / header corrupted
+ ps_dec->ps_parse_cur_slice = ps_dec->ps_dec_slice_buf
+ + ps_dec->u2_cur_slice_num;
+ }
+ }
+
+ /******************************************************/
+ /* Initializations to new slice */
+ /******************************************************/
+ {
+ WORD32 num_entries;
+ WORD32 size;
+ UWORD8 *pu1_buf;
+
+ num_entries = MIN(MAX_FRAMES, ps_dec->u4_num_ref_frames_at_init);
+ num_entries = 2 * ((2 * num_entries) + 1);
+
+ size = num_entries * sizeof(void *);
+ size += PAD_MAP_IDX_POC * sizeof(void *);
+
+ pu1_buf = (UWORD8 *)ps_dec->pv_map_ref_idx_to_poc_buf;
+ pu1_buf += size * ps_dec->u2_cur_slice_num;
+ ps_dec->ps_parse_cur_slice->ppv_map_ref_idx_to_poc = (volatile void **)pu1_buf;
+ }
+
+ ps_dec->ps_cur_slice->u2_first_mb_in_slice = ps_dec->u2_total_mbs_coded << u1_mbaff;
+ if(ps_dec->ps_cur_slice->u1_field_pic_flag)
+ ps_dec->u2_prv_frame_num = ps_dec->ps_cur_slice->u2_frame_num;
+
+ ps_dec->ps_parse_cur_slice->u4_first_mb_in_slice = ps_dec->u2_total_mbs_coded << u1_mbaff;
+ ps_dec->ps_parse_cur_slice->u2_log2Y_crwd = ps_dec->ps_cur_slice->u2_log2Y_crwd;
+
+
if(ps_dec->u1_separate_parse)
{
- ps_dec->ps_parse_cur_slice->end_of_slice = 1;
- ps_dec->ps_cur_slice->u4_mbs_in_slice = i2_cur_mb_addr
- - (u2_first_mb_in_slice << u1_mbaff);
+ ps_dec->ps_parse_cur_slice->pv_tu_coeff_data_start = ps_dec->pv_parse_tu_coeff_data;
+ }
+ else
+ {
+ ps_dec->pv_proc_tu_coeff_data = ps_dec->pv_parse_tu_coeff_data;
}
+ /******************************************************/
+ /* Initializations specific to P slice */
+ /******************************************************/
+ u1_inter_mb_type = P_MB;
+ u1_deblk_mb_type = D_INTER_MB;
+
+ ps_dec->ps_cur_slice->u1_slice_type = P_SLICE;
+ ps_dec->ps_parse_cur_slice->slice_type = P_SLICE;
+ ps_dec->pf_mvpred_ref_tfr_nby2mb = ih264d_mv_pred_ref_tfr_nby2_pmb;
+ ps_dec->ps_part = ps_dec->ps_parse_part_params;
+
+ /******************************************************/
+ /* Parsing / decoding the slice */
+ /******************************************************/
+ ps_dec->u4_first_slice_in_pic = 0;
+ ps_dec->u1_first_slice_in_stream = 0;
+ ps_dec->u1_slice_header_done = 2;
+ ps_dec->u1_qp = ps_slice->u1_slice_qp;
+ ih264d_update_qp(ps_dec, 0);
+ u1_mb_idx = ps_dec->u1_mb_idx;
+ ps_parse_mb_data = ps_dec->ps_parse_mb_data;
+ u1_num_mbs = u1_mb_idx;
+
+ u1_slice_end = 0;
+ u1_tfr_n_mb = 0;
+ u1_decode_nmb = 0;
+ u1_num_mbsNby2 = 0;
+ i2_cur_mb_addr = ps_dec->u2_total_mbs_coded;
+ i2_mb_skip_run = num_mb_skip;
+
+ while(!u1_slice_end)
+ {
+ UWORD8 u1_mb_type;
+
+ if(i2_cur_mb_addr > ps_dec->ps_cur_sps->u2_max_mb_addr)
+ break;
+
+ ps_cur_mb_info = ps_dec->ps_nmb_info + u1_num_mbs;
+ ps_dec->u4_num_mbs_cur_nmb = u1_num_mbs;
+
+ ps_cur_mb_info->u1_Mux = 0;
+ ps_dec->u4_num_pmbair = (u1_num_mbs >> u1_mbaff);
+ ps_cur_deblk_mb = ps_dec->ps_deblk_mbn + u1_num_mbs;
+
+ ps_cur_mb_info->u1_end_of_slice = 0;
+
+ /* Storing Default partition info */
+ ps_parse_mb_data->u1_num_part = 1;
+ ps_parse_mb_data->u1_isI_mb = 0;
+
+ /**************************************************************/
+ /* Get the required information for decoding of MB */
+ /**************************************************************/
+ /* mb_x, mb_y, neighbor availablity, */
+ if (u1_mbaff)
+ ih264d_get_mb_info_cavlc_mbaff(ps_dec, i2_cur_mb_addr, ps_cur_mb_info, i2_mb_skip_run);
+ else
+ ih264d_get_mb_info_cavlc_nonmbaff(ps_dec, i2_cur_mb_addr, ps_cur_mb_info, i2_mb_skip_run);
+
+ /* Set the deblocking parameters for this MB */
+ if(ps_dec->u4_app_disable_deblk_frm == 0)
+ {
+ ih264d_set_deblocking_parameters(ps_cur_deblk_mb, ps_slice,
+ ps_dec->u1_mb_ngbr_availablity,
+ ps_dec->u1_cur_mb_fld_dec_flag);
+ }
+
+ /* Set appropriate flags in ps_cur_mb_info and ps_dec */
+ ps_dec->i1_prev_mb_qp_delta = 0;
+ ps_dec->u1_sub_mb_num = 0;
+ ps_cur_mb_info->u1_mb_type = MB_SKIP;
+ ps_cur_mb_info->u1_mb_mc_mode = PRED_16x16;
+ ps_cur_mb_info->u1_cbp = 0;
+
+ /* Storing Skip partition info */
+ ps_part_info = ps_dec->ps_part;
+ ps_part_info->u1_is_direct = PART_DIRECT_16x16;
+ ps_part_info->u1_sub_mb_num = 0;
+ ps_dec->ps_part++;
+
+ /* Update Nnzs */
+ ih264d_update_nnz_for_skipmb(ps_dec, ps_cur_mb_info, CAVLC);
+
+ ps_cur_mb_info->ps_curmb->u1_mb_type = u1_inter_mb_type;
+ ps_cur_deblk_mb->u1_mb_type |= u1_deblk_mb_type;
+
+ i2_mb_skip_run--;
+
+ ps_cur_deblk_mb->u1_mb_qp = ps_dec->u1_qp;
+
+ if (u1_mbaff)
+ {
+ ih264d_update_mbaff_left_nnz(ps_dec, ps_cur_mb_info);
+ }
+
+ /**************************************************************/
+ /* Get next Macroblock address */
+ /**************************************************************/
+ i2_cur_mb_addr++;
+
+ u1_num_mbs++;
+ ps_dec->u2_total_mbs_coded++;
+ u1_num_mbsNby2++;
+ ps_parse_mb_data++;
+
+ /****************************************************************/
+ /* Check for End Of Row and other flags that determine when to */
+ /* do DMA setup for N/2-Mb, Decode for N-Mb, and Transfer for */
+ /* N-Mb */
+ /****************************************************************/
+ u1_num_mbs_next = i2_pic_wdin_mbs - ps_dec->u2_mbx - 1;
+ u1_end_of_row = (!u1_num_mbs_next) && (!(u1_mbaff && (u1_num_mbs & 0x01)));
+ u1_slice_end = !i2_mb_skip_run;
+ u1_tfr_n_mb = (u1_num_mbs == ps_dec->u1_recon_mb_grp) || u1_end_of_row
+ || u1_slice_end;
+ u1_decode_nmb = u1_tfr_n_mb || u1_slice_end;
+ ps_cur_mb_info->u1_end_of_slice = u1_slice_end;
+
+ if(u1_decode_nmb)
+ {
+ ps_dec->pf_mvpred_ref_tfr_nby2mb(ps_dec, u1_mb_idx, u1_num_mbs);
+ u1_num_mbsNby2 = 0;
+
+ ps_parse_mb_data = ps_dec->ps_parse_mb_data;
+ ps_dec->ps_part = ps_dec->ps_parse_part_params;
+
+ if(ps_dec->u1_separate_parse)
+ {
+ ih264d_parse_tfr_nmb(ps_dec, u1_mb_idx, u1_num_mbs,
+ u1_num_mbs_next, u1_tfr_n_mb, u1_end_of_row);
+ ps_dec->ps_nmb_info += u1_num_mbs;
+ }
+ else
+ {
+ ih264d_decode_recon_tfr_nmb(ps_dec, u1_mb_idx, u1_num_mbs, u1_num_mbs_next,
+ u1_tfr_n_mb, u1_end_of_row);
+ }
+
+ if(u1_tfr_n_mb)
+ u1_num_mbs = 0;
+ u1_mb_idx = u1_num_mbs;
+ ps_dec->u1_mb_idx = u1_num_mbs;
+ }
+ }
+
+ ps_dec->u4_num_mbs_cur_nmb = 0;
+ ps_dec->ps_cur_slice->u4_mbs_in_slice = i2_cur_mb_addr
+ - ps_dec->ps_parse_cur_slice->u4_first_mb_in_slice;
+
+ H264_DEC_DEBUG_PRINT("Mbs in slice: %d\n", ps_dec->ps_cur_slice->u4_mbs_in_slice);
+
+ ps_dec->u2_cur_slice_num++;
+ ps_dec->i2_prev_slice_mbx = ps_dec->u2_mbx;
+ ps_dec->i2_prev_slice_mby = ps_dec->u2_mby;
+
+ if(ps_dec->u2_total_mbs_coded
+ >= ps_dec->u2_frm_ht_in_mbs * ps_dec->u2_frm_wd_in_mbs)
+ {
+ ps_dec->u1_pic_decode_done = 1;
+ return 1;
+ }
+
+ return 0;
- return OK;
}
/*!
@@ -1720,15 +2121,12 @@ WORD32 ih264d_parse_pslice(dec_struct_t *ps_dec, UWORD16 u2_first_mb_in_slice)
ps_cur_slice->i1_slice_beta_offset = 0;
}
- DATA_SYNC();
- ps_dec->ps_parse_cur_slice->slice_header_done = 2;
+ ps_dec->u1_slice_header_done = 2;
if(ps_pps->u1_entropy_coding_mode)
{
SWITCHOFFTRACE; SWITCHONTRACECABAC;
ps_dec->pf_parse_inter_slice = ih264d_parse_inter_slice_data_cabac;
- if(ps_dec->ps_parse_cur_slice->u2_error_flag == 1)
- return 0;
ps_dec->pf_parse_inter_mb = ih264d_parse_pmb_cabac;
ih264d_init_cabac_contexts(P_SLICE, ps_dec);
diff --git a/decoder/ih264d_parse_slice.c b/decoder/ih264d_parse_slice.c
index 323df43..b3a7632 100644
--- a/decoder/ih264d_parse_slice.c
+++ b/decoder/ih264d_parse_slice.c
@@ -195,27 +195,25 @@ WORD32 ih264d_start_of_pic(dec_struct_t *ps_dec,
ps_dec->i1_prev_mb_qp_delta = 0;
ps_dec->i1_next_ctxt_idx = 0;
- ps_dec->u4_mb_level_deblk = 0;
- /* Disable MB_LEVEL_DEBLK if deblock thread is enabled */
- if(ps_dec->u4_num_cores >= 3)
- {
- ps_dec->u4_mb_level_deblk = 0;
- }
+ ps_dec->u4_nmb_deblk = 0;
+ if(ps_dec->u4_num_cores == 1)
+ ps_dec->u4_nmb_deblk = 1;
+
if(ps_seq->u1_mb_aff_flag == 1)
{
- ps_dec->u4_mb_level_deblk = 0;
+ ps_dec->u4_nmb_deblk = 0;
if(ps_dec->u4_num_cores > 2)
ps_dec->u4_num_cores = 2;
}
- if(ps_dec->u4_mb_level_deblk == 1)
- ps_dec->u4_use_intrapred_line_copy = 1;
- else
+
ps_dec->u4_use_intrapred_line_copy = 0;
- if((ps_dec->u4_num_cores >= 3) && (ps_seq->u1_mb_aff_flag == 0))
+
+
+ if (ps_seq->u1_mb_aff_flag == 0)
{
ps_dec->u4_use_intrapred_line_copy = 1;
}
@@ -308,7 +306,6 @@ WORD32 ih264d_start_of_pic(dec_struct_t *ps_dec,
}
}
- ps_dec->u1_first_nal_in_pic = 0;
if(ps_dec->u1_init_dec_flag && ps_dec->s_prev_seq_params.u1_eoseq_pending)
{
/* Reset the decoder picture buffers */
@@ -351,14 +348,13 @@ WORD32 ih264d_start_of_pic(dec_struct_t *ps_dec,
UWORD16 pic_ht = ps_dec->u4_height_at_init;
UWORD32 num_mbs;
- if((NULL != ps_dec->ps_sps) && (1 == (ps_dec->ps_sps->u1_is_valid)))
+ if((NULL != ps_dec->ps_cur_sps) && (1 == (ps_dec->ps_cur_sps->u1_is_valid)))
{
pic_wd = ps_dec->u2_pic_wd;
pic_ht = ps_dec->u2_pic_ht;
}
num_mbs = (pic_wd * pic_ht) >> 8;
- ps_dec->u4_start_frame_decode = 0;
if(ps_dec->pu1_dec_mb_map)
{
memset((void *)ps_dec->pu1_dec_mb_map, 0, num_mbs);
@@ -377,17 +373,10 @@ WORD32 ih264d_start_of_pic(dec_struct_t *ps_dec,
}
}
- if(ps_dec->u4_first_slice_in_pic == 1)
- {
- ps_dec->ps_parse_cur_slice = &(ps_dec->ps_dec_slice_buf[0]);
- ps_dec->ps_decode_cur_slice = &(ps_dec->ps_dec_slice_buf[0]);
- ps_dec->ps_computebs_cur_slice = &(ps_dec->ps_dec_slice_buf[0]);
- }
- ps_dec->ps_parse_cur_slice->slice_header_done = 0;
- ps_dec->ps_parse_cur_slice->last_slice_in_frame = 0;
- ps_dec->ps_parse_cur_slice->u4_num_mbs_done_in_slice = 0;
- ps_dec->ps_parse_cur_slice->u2_error_flag = 0;
+ ps_dec->ps_parse_cur_slice = &(ps_dec->ps_dec_slice_buf[0]);
+ ps_dec->ps_decode_cur_slice = &(ps_dec->ps_dec_slice_buf[0]);
+ ps_dec->ps_computebs_cur_slice = &(ps_dec->ps_dec_slice_buf[0]);
/* Initialize all the HP toolsets to zero */
ps_dec->s_high_profile.u1_scaling_present = 0;
@@ -449,6 +438,12 @@ WORD32 ih264d_start_of_pic(dec_struct_t *ps_dec,
ps_cur_pic->pu1_col_zero_flag = (UWORD8 *)ps_col_mv->pv_col_zero_flag;
ps_cur_pic->ps_mv = (mv_pred_t *)ps_col_mv->pv_mv;
ps_dec->au1_pic_buf_ref_flag[cur_pic_buf_id] = 0;
+ if(ps_dec->u1_first_slice_in_stream)
+ {
+ /*make first entry of list0 point to cur pic,so that if first Islice is in error, ref pic struct will have valid entries*/
+ ps_dec->ps_ref_pic_buf_lx[0] = ps_dec->ps_dpb_mgr->ps_init_dpb[0];
+ *(ps_dec->ps_dpb_mgr->ps_init_dpb[0][0]) = *ps_cur_pic;
+ }
if(!ps_dec->ps_cur_pic)
{
@@ -549,20 +544,6 @@ WORD32 ih264d_start_of_pic(dec_struct_t *ps_dec,
ps_dec->ps_cur_pic->u1_picturetype |= (ps_cur_slice->u1_mbaff_frame_flag
<< 2);
- if(ps_cur_slice->u1_mbaff_frame_flag)
- {
- ps_dec->u2_mb_group_cols_y = ((ps_dec->u1_recon_mb_grp >> 1) << 4) + 8;
- ps_dec->u2_mb_group_cols_cr = ((ps_dec->u1_recon_mb_grp >> 1) << 3) + 8;
- }
- else
- {
- ps_dec->u2_mb_group_cols_y = (ps_dec->u1_recon_mb_grp << 4) + 8;
- ps_dec->u2_mb_group_cols_cr = (ps_dec->u1_recon_mb_grp << 3) + 8;
- }
-
-
-
-
ps_dec->ps_cur_mb_row = ps_dec->ps_nbr_mb_row; //[0];
ps_dec->ps_cur_mb_row++; //Increment by 1 ,so that left mb will always be valid
@@ -573,8 +554,6 @@ WORD32 ih264d_start_of_pic(dec_struct_t *ps_dec,
- ps_dec->ps_cur_sps->u1_frame_mbs_only_flag));
ps_dec->ps_top_mb_row++; //Increment by 1 ,so that left mb will always be valid
- ps_dec->u2_mb_group_cols_y1 = ps_dec->u2_mb_group_cols_y;
- ps_dec->u2_mb_group_cols_cr1 = ps_dec->u2_mb_group_cols_cr;
ps_dec->pu1_y = ps_dec->pu1_y_scratch[0];
ps_dec->pu1_u = ps_dec->pu1_u_scratch[0];
ps_dec->pu1_v = ps_dec->pu1_v_scratch[0];
@@ -731,12 +710,31 @@ WORD32 ih264d_start_of_pic(dec_struct_t *ps_dec,
ps_seq->u1_direct_8x8_inference_flag;
ps_dec->s_high_profile.s_cavlc_ctxt = ps_dec->s_cavlc_ctxt;
+ ps_dec->i1_recon_in_thread3_flag = 1;
+ ps_dec->ps_frame_buf_ip_recon = &ps_dec->s_tran_addrecon;
if(ps_dec->u1_separate_parse)
{
memcpy(&ps_dec->s_tran_addrecon_parse, &ps_dec->s_tran_addrecon,
sizeof(tfr_ctxt_t));
+ if(ps_dec->u4_num_cores >= 3 && ps_dec->i1_recon_in_thread3_flag)
+ {
+ memcpy(&ps_dec->s_tran_iprecon, &ps_dec->s_tran_addrecon,
+ sizeof(tfr_ctxt_t));
+ ps_dec->ps_frame_buf_ip_recon = &ps_dec->s_tran_iprecon;
+ }
}
+
+ ih264d_init_deblk_tfr_ctxt(ps_dec,&(ps_dec->s_pad_mgr), &(ps_dec->s_tran_addrecon),
+ ps_dec->u2_frm_wd_in_mbs, 0);
+
+ ps_dec->ps_cur_deblk_mb = ps_dec->ps_deblk_pic;
+ ps_dec->u4_cur_deblk_mb_num = 0;
+
+ ps_dec->u4_deblk_mb_x = 0;
+ ps_dec->u4_deblk_mb_y = 0;
+
+
H264_MUTEX_UNLOCK(&ps_dec->process_disp_mutex);
return OK;
}
@@ -963,7 +961,7 @@ WORD32 ih264d_end_of_pic(dec_struct_t *ps_dec,
dec_slice_params_t *ps_cur_slice = ps_dec->ps_cur_slice;
WORD32 ret;
- ps_dec->u1_first_nal_in_pic = 1;
+ ps_dec->u4_first_slice_in_pic = 1;
ps_dec->u1_first_pb_nal_in_pic = 1;
ps_dec->u2_mbx = 0xffff;
ps_dec->u2_mby = 0;
@@ -1060,28 +1058,15 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
UWORD32 *pu4_bitstrm_ofst = &ps_bitstrm->u4_ofst;
WORD8 i1_is_end_of_poc;
- WORD32 ret;
+ WORD32 ret, end_of_frame;
+ WORD32 prev_slice_err, num_mb_skipped;
+ UWORD8 u1_mbaff;
+ pocstruct_t *ps_cur_poc;
+
UWORD32 u4_temp;
WORD32 i_temp;
UWORD32 u4_call_end_of_pic = 0;
- /*--------------------------------------------------------------------*/
- /* Decode Portion of the Slice header */
- /* This is done to detect end of picture */
- /*--------------------------------------------------------------------*/
-
- if(ps_dec->u4_first_slice_in_pic == 0)
- {
- volatile dec_slice_struct_t *ps_next_slice;
-
- ps_next_slice = ps_dec->ps_parse_cur_slice + 1;
-
- /*Reset the ready u4_flag and then increment*/
- ps_next_slice->slice_header_done = 0;
- DATA_SYNC();
- ps_dec->ps_parse_cur_slice++;
- }
-
/* read FirstMbInSlice and slice type*/
ps_dec->ps_dpb_cmds->u1_dpb_commands_read_slc = 0;
u2_first_mb_in_slice = ih264d_uev(pu4_bitstrm_ofst,
@@ -1135,7 +1120,7 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
ps_dec->i4_dec_skip_mode = IVD_SKIP_NONE;
}
else if((I_SLICE == u1_slice_type)
- && (1 >= ps_dec->ps_sps->u1_num_ref_frames))
+ && (1 >= ps_dec->ps_cur_sps->u1_num_ref_frames))
{
skip = 0;
@@ -1295,14 +1280,13 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
u1_redundant_pic_cnt = u4_temp;
COPYTHECONTEXT("SH: redundant_pic_cnt", u1_redundant_pic_cnt);
}
+
/*--------------------------------------------------------------------*/
- /* Check if the slice is part of new picture if so do End of Pic */
- /* processing. */
+ /* Check if the slice is part of new picture */
/*--------------------------------------------------------------------*/
i1_is_end_of_poc = 0;
- if(!ps_dec->u1_first_nal_in_pic)
+ if(!ps_dec->u1_first_slice_in_stream)
{
- UWORD8 uc_mbs_exceed = 0;
i1_is_end_of_poc = ih264d_is_end_of_pic(u2_frame_num, u1_nal_ref_idc,
&s_tmp_poc, &ps_dec->s_cur_pic_poc,
ps_cur_slice, u1_pic_order_cnt_type,
@@ -1310,6 +1294,113 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
u1_field_pic_flag,
u1_bottom_field_flag);
+ }
+
+ /*--------------------------------------------------------------------*/
+ /* Check for error in slice and parse the missing/corrupted MB's */
+ /* as skip-MB's in an inserted P-slice */
+ /*--------------------------------------------------------------------*/
+ u1_mbaff = ps_seq->u1_mb_aff_flag && (!u1_field_pic_flag);
+ prev_slice_err = 0;
+
+ if(i1_is_end_of_poc || ps_dec->u1_first_slice_in_stream)
+ {
+ if(u2_frame_num != ps_dec->u2_prv_frame_num
+ && ps_dec->u1_top_bottom_decoded != 0
+ && ps_dec->u1_top_bottom_decoded
+ != (TOP_FIELD_ONLY | BOT_FIELD_ONLY))
+ {
+ if(ps_dec->u4_first_slice_in_pic)
+ {
+ // first slice - dangling field
+ prev_slice_err = 1;
+ }
+ else
+ {
+ // last slice - dangling field
+ prev_slice_err = 2;
+ }
+
+ if(ps_dec->u1_top_bottom_decoded ==TOP_FIELD_ONLY)
+ ps_cur_slice->u1_bottom_field_flag = 1;
+ else
+ ps_cur_slice->u1_bottom_field_flag = 0;
+
+ num_mb_skipped = (ps_dec->u2_frm_ht_in_mbs * ps_dec->u2_frm_wd_in_mbs)
+ - ps_dec->u2_total_mbs_coded;
+ ps_cur_poc = &ps_dec->s_cur_pic_poc;
+
+ u1_is_idr_slice = ps_cur_slice->u1_nal_unit_type == IDR_SLICE_NAL;
+ }
+ else if(ps_dec->u4_first_slice_in_pic)
+ {
+ if(u2_first_mb_in_slice > 0)
+ {
+ // first slice - missing/header corruption
+ prev_slice_err = 1;
+ num_mb_skipped = u2_first_mb_in_slice << u1_mbaff;
+ ps_cur_poc = &s_tmp_poc;
+
+ // initializing slice parameters
+ ps_cur_slice->u4_idr_pic_id = u4_idr_pic_id;
+ ps_cur_slice->u1_field_pic_flag = u1_field_pic_flag;
+ ps_cur_slice->u1_bottom_field_flag = u1_bottom_field_flag;
+ ps_cur_slice->i4_pic_order_cnt_lsb =
+ s_tmp_poc.i4_pic_order_cnt_lsb;
+ ps_cur_slice->u1_nal_unit_type = u1_nal_unit_type;
+ ps_cur_slice->u1_redundant_pic_cnt = u1_redundant_pic_cnt;
+ ps_cur_slice->u1_nal_ref_idc = u1_nal_ref_idc;
+ ps_cur_slice->u1_pic_order_cnt_type = u1_pic_order_cnt_type;
+ }
+ }
+ else
+ {
+ // last slice - missing/corruption
+ prev_slice_err = 2;
+ num_mb_skipped = (ps_dec->u2_frm_ht_in_mbs * ps_dec->u2_frm_wd_in_mbs)
+ - ps_dec->u2_total_mbs_coded;
+ ps_cur_poc = &s_tmp_poc;
+ }
+ }
+ else
+ {
+ if((u2_first_mb_in_slice << u1_mbaff) > ps_dec->u2_total_mbs_coded)
+ {
+ // previous slice - missing/corruption
+ prev_slice_err = 2;
+ num_mb_skipped = (u2_first_mb_in_slice << u1_mbaff)
+ - ps_dec->u2_total_mbs_coded;
+ ps_cur_poc = &s_tmp_poc;
+ }
+ else if((u2_first_mb_in_slice << u1_mbaff) < ps_dec->u2_total_mbs_coded)
+ {
+ return ERROR_CORRUPTED_SLICE;
+ }
+ }
+
+ if(prev_slice_err)
+ {
+ end_of_frame = ih264d_mark_err_slice_skip(ps_dec,num_mb_skipped,u1_is_idr_slice,ps_cur_poc,prev_slice_err);
+
+ if(end_of_frame)
+ {
+ // return if all MBs in frame are parsed
+ return ERROR_IN_LAST_SLICE_OF_PIC;
+ }
+ i1_is_end_of_poc = 0;
+ }
+
+ if (ps_dec->u4_first_slice_in_pic == 0)
+ ps_dec->ps_parse_cur_slice++;
+
+ ps_dec->u1_slice_header_done = 0;
+
+ /*--------------------------------------------------------------------*/
+ /* If the slice is part of new picture, do End of Pic processing. */
+ /*--------------------------------------------------------------------*/
+ if(!ps_dec->u1_first_slice_in_stream)
+ {
+ UWORD8 uc_mbs_exceed = 0;
/*since we support only Full frame decode, every new process should
* process a new pic
*/
@@ -1347,39 +1438,14 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
}
else
{
- if((ps_dec->u2_total_mbs_coded
- < (ps_dec->ps_cur_sps->u2_max_mb_addr + 1)))
- {
- H264_DEC_DEBUG_PRINT("Hello\n");
- ps_dec->u2_total_mbs_coded =
- ps_dec->ps_cur_sps->u2_max_mb_addr + 1;
- ps_dec->u1_first_nal_in_pic = 1;
- ps_dec->u1_first_pb_nal_in_pic = 1;
- return ERROR_END_OF_FRAME_EXPECTED_T;
- /*if (ps_cur_slice->u1_field_pic_flag &&
- ((TOP_FIELD_ONLY | BOT_FIELD_ONLY) == ps_dec->u1_top_bottom_decoded))
- {
- ps_cur_slice->u1_end_of_frame_signal = 0;
- }*/
- }
ret = ih264d_end_of_pic(ps_dec, u1_is_idr_slice, u2_frame_num);
if(ret != OK)
return ret;
}
}
- else
- {
-
- if(ps_dec->u4_first_slice_in_pic == 1)
- {
- /*If the first slice in decode api is not from a new picture,
- * we will return error code ,as we don't support partial
- frame decode*/
- return ERROR_PIC_NUM_IS_REPEATED;
- }
- }
}
+
ps_cur_slice->u1_end_of_frame_signal = 0;
if(u1_field_pic_flag)
{
@@ -1447,7 +1513,7 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
ps_dec->ps_cur_pic->i4_poc = i4_temp_poc;
ps_dec->ps_cur_pic->i4_avg_poc = i4_temp_poc;
}
- if(ps_dec->u1_first_nal_in_pic)
+ if(ps_dec->u4_first_slice_in_pic)
{
ret = ih264d_decode_pic_order_cnt(u1_is_idr_slice, u2_frame_num,
&ps_dec->s_prev_pic_poc,
@@ -1515,7 +1581,7 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
ps_dec->pf_mvpred = ih264d_mvpred_nonmbaff;
}
- if(ps_dec->u1_first_nal_in_pic)
+ if(ps_dec->u4_first_slice_in_pic)
{
ret = ih264d_start_of_pic(ps_dec, i4_poc, &s_tmp_poc, u2_frame_num, ps_pps);
if(ret != OK)
@@ -1523,7 +1589,6 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
ps_dec->u4_output_present = 0;
- if(1 == ps_dec->u4_fmt_conv_in_process)
{
ih264d_get_next_display_field(ps_dec,
ps_dec->ps_out_buffer,
@@ -1534,8 +1599,6 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
if(0 != ps_dec->s_disp_op.u4_error_code)
{
ps_dec->u4_fmt_conv_cur_row = ps_dec->s_disp_frame_info.u4_y_ht;
- ps_dec->as_fmt_conv_part[0].u4_flag = 0;
- ps_dec->as_fmt_conv_part[1].u4_flag = 0;
}
else
ps_dec->u4_output_present = 1;
@@ -1551,12 +1614,13 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
ps_dec->u4_dec_thread_created = 1;
}
- if((ps_dec->u4_num_cores == 3) && (ps_dec->u4_app_disable_deblk_frm == 0)
+ if((ps_dec->u4_num_cores == 3) &&
+ ((ps_dec->u4_app_disable_deblk_frm == 0) || ps_dec->i1_recon_in_thread3_flag)
&& (ps_dec->u4_bs_deblk_thread_created == 0))
{
- ps_dec->u4_start_bs_deblk = 0;
+ ps_dec->u4_start_recon_deblk = 0;
ithread_create(ps_dec->pv_bs_deblk_thread_handle, NULL,
- (void *)ih264d_computebs_deblk_thread,
+ (void *)ih264d_recon_deblk_thread,
(void *)ps_dec);
ps_dec->u4_bs_deblk_thread_created = 1;
}
@@ -1566,7 +1630,7 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
/* INITIALIZATION of fn ptrs for MC and formMbPartInfo functions */
{
- UWORD8 uc_nofield_nombaff = 1; // = ((ps_dec->ps_sps->u1_profile_idc == 0x42) || (u1_slice_type == I_SLICE));
+ UWORD8 uc_nofield_nombaff;
@@ -1706,17 +1770,6 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
ps_trns_addr->pu1_mb_u = ps_trns_addr->pu1_dest_u;
ps_trns_addr->pu1_mb_v = ps_trns_addr->pu1_dest_v;
- if(ps_dec->u4_mb_level_deblk == 1)
- {
- /*If it is not the first mb in row,the previous MB which needs to be deblocked
- * as there is delay of 1 MB*/
- if(u2_mb_x != 0)
- {
- ps_trns_addr->pu1_mb_y -= MB_SIZE;
- ps_trns_addr->pu1_mb_u -= BLK8x8SIZE * YUV420SP_FACTOR;
- ps_trns_addr->pu1_mb_v -= BLK8x8SIZE;
- }
- }
// assign the deblock structure pointers to start of slice
if(ps_dec->u1_separate_parse == 1)
@@ -1726,7 +1779,6 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
}
else
{
- if(ps_dec->u4_mb_level_deblk == 0)
ps_dec->ps_deblk_mbn = ps_dec->ps_deblk_pic
+ (u2_first_mb_in_slice << u1_mb_aff);
}
@@ -1755,12 +1807,6 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
// assign the deblock structure pointers to start of slice
ps_dec->u2_cur_mb_addr = 0;
ps_dec->ps_deblk_mbn = ps_dec->ps_deblk_pic;
- if(ps_dec->u4_mb_level_deblk == 1)
- {
- ps_dec->ps_deblk_mbn_curr = ps_dec->ps_deblk_mbn;
- ps_dec->ps_deblk_mbn_prev = ps_dec->ps_deblk_mbn
- + ps_dec->u1_recon_mb_grp;
- }
ps_dec->ps_mv_cur = ps_dec->s_cur_pic.ps_mv;
ps_trns_addr->pu1_dest_y = ps_dec->s_cur_pic.pu1_buf1;
ps_trns_addr->pu1_dest_u = ps_dec->s_cur_pic.pu1_buf2;
@@ -1789,24 +1835,13 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
ps_dec->u1_B = (u1_slice_type == B_SLICE);
ps_dec->u4_next_mb_skip = 0;
- ps_dec->ps_parse_cur_slice->u4_num_mbs_done_in_slice = 0;
ps_dec->ps_parse_cur_slice->u4_first_mb_in_slice =
ps_dec->ps_cur_slice->u2_first_mb_in_slice;
ps_dec->ps_parse_cur_slice->slice_type =
ps_dec->ps_cur_slice->u1_slice_type;
- ps_dec->ps_parse_cur_slice->end_of_slice = 0;
- ps_dec->ps_parse_cur_slice->last_slice_in_frame = 0;
-
- /*set to zero to indicate a valid slice has been decoded*/
- ps_dec->u4_first_slice_in_pic = 0;
- ps_dec->u4_start_frame_decode = 1;
-
-
- ps_dec->u4_start_bs_deblk = 1;
-
- ps_dec->ps_parse_cur_slice->u2_error_flag = 0;
+ ps_dec->u4_start_recon_deblk = 1;
{
WORD32 num_entries;
WORD32 size;
@@ -1820,16 +1855,24 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
pu1_buf = (UWORD8 *)ps_dec->pv_map_ref_idx_to_poc_buf;
pu1_buf += size * ps_dec->u2_cur_slice_num;
- ps_dec->ps_parse_cur_slice->ppv_map_ref_idx_to_poc = (volatile void **)pu1_buf;
+ ps_dec->ps_parse_cur_slice->ppv_map_ref_idx_to_poc = ( void *)pu1_buf;
}
+ if(ps_dec->u1_separate_parse)
+ {
+ ps_dec->ps_parse_cur_slice->pv_tu_coeff_data_start = ps_dec->pv_parse_tu_coeff_data;
+ }
+ else
+ {
+ ps_dec->pv_proc_tu_coeff_data = ps_dec->pv_parse_tu_coeff_data;
+ }
+
+ ps_dec->pu4_wt_ofsts = ps_dec->pu4_wts_ofsts_mat;
if(u1_slice_type == I_SLICE)
{
ps_dec->ps_cur_pic->u4_pack_slc_typ |= I_SLC_BIT;
ret = ih264d_parse_islice(ps_dec, u2_first_mb_in_slice);
- if(ret != OK)
- return ret;
if(ps_dec->i4_pic_type != B_SLICE && ps_dec->i4_pic_type != P_SLICE)
ps_dec->i4_pic_type = I_SLICE;
@@ -1839,8 +1882,6 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
{
ps_dec->ps_cur_pic->u4_pack_slc_typ |= P_SLC_BIT;
ret = ih264d_parse_pslice(ps_dec, u2_first_mb_in_slice);
- if(ret != OK)
- return ret;
ps_dec->u1_pr_sl_type = u1_slice_type;
if(ps_dec->i4_pic_type != B_SLICE)
ps_dec->i4_pic_type = P_SLICE;
@@ -1849,20 +1890,27 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
{
ps_dec->ps_cur_pic->u4_pack_slc_typ |= B_SLC_BIT;
ret = ih264d_parse_bslice(ps_dec, u2_first_mb_in_slice);
- if(ret != OK)
- return ret;
ps_dec->u1_pr_sl_type = u1_slice_type;
ps_dec->i4_pic_type = B_SLICE;
}
else
return ERROR_INV_SLC_TYPE_T;
- ps_dec->ps_parse_cur_slice->end_of_slice = 1;
+ if(ps_dec->u1_slice_header_done)
+ {
+ /*set to zero to indicate a valid slice has been decoded*/
+ ps_dec->u4_first_slice_in_pic = 0;
+ ps_dec->u1_first_slice_in_stream = 0;
+ }
+
+ if(ret != OK)
+ return ret;
ps_dec->u2_cur_slice_num++;
/* storing last Mb X and MbY of the slice */
ps_dec->i2_prev_slice_mbx = ps_dec->u2_mbx;
ps_dec->i2_prev_slice_mby = ps_dec->u2_mby;
+
/* End of Picture detection */
if(ps_dec->u2_total_mbs_coded >= (ps_seq->u2_max_mb_addr + 1))
@@ -1882,6 +1930,6 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
PRINT_BIN_BIT_RATIO(ps_dec)
- return OK;
+ return ret;
}
diff --git a/decoder/ih264d_parse_slice.h b/decoder/ih264d_parse_slice.h
index cf5f9ce..d812514 100644
--- a/decoder/ih264d_parse_slice.h
+++ b/decoder/ih264d_parse_slice.h
@@ -41,6 +41,15 @@ WORD32 ih264d_parse_decode_slice(UWORD8 u1_is_idr_slice,
UWORD8 u1_nal_ref_idc,
dec_struct_t * ps_dec );
+WORD32 ih264d_end_of_pic(dec_struct_t *ps_dec,
+ UWORD8 u1_is_idr_slice,
+ UWORD16 u2_frame_num);
+WORD32 ih264d_start_of_pic(dec_struct_t *ps_dec,
+ WORD32 i4_poc,
+ pocstruct_t *ps_temp_poc,
+ UWORD16 u2_frame_num,
+ dec_pic_params_t *ps_pps);
+
WORD32 ih264d_ref_idx_reordering(dec_struct_t * ps_dec, UWORD8 u1_isB);
WORD32 ih264d_read_mmco_commands(dec_struct_t * ps_dec);
void ih264d_form_pred_weight_matrix(dec_struct_t *ps_dec);
diff --git a/decoder/ih264d_process_intra_mb.c b/decoder/ih264d_process_intra_mb.c
index 96006ce..d2da005 100644
--- a/decoder/ih264d_process_intra_mb.c
+++ b/decoder/ih264d_process_intra_mb.c
@@ -728,7 +728,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
UWORD16 u2_use_left_mb_pack;
UWORD8 *pu1_luma_pred_buffer;
/* CHANGED CODE */
- UWORD8 *pu1_luma_rei1_buffer;
+ UWORD8 *pu1_luma_rec_buffer;
UWORD8 *puc_top;
mb_neigbour_params_t *ps_left_mb;
@@ -751,7 +751,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
UWORD8 *pu1_mb_cb_rei1_buffer, *pu1_mb_cr_rei1_buffer;
UWORD32 u4_recwidth_cr;
/* CHANGED CODE */
- tfr_ctxt_t *ps_frame_buf = &ps_dec->s_tran_addrecon;
+ tfr_ctxt_t *ps_frame_buf = ps_dec->ps_frame_buf_ip_recon;
UWORD32 u4_luma_dc_only_csbp = 0;
UWORD32 u4_luma_dc_only_cbp = 0;
@@ -822,7 +822,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
/*********************Common pointer calculations *************************/
/* CHANGED CODE */
pu1_luma_pred_buffer = ps_dec->pu1_y;
- pu1_luma_rei1_buffer = ps_frame_buf->pu1_dest_y + (u4_num_pmbair << 4);
+ pu1_luma_rec_buffer = ps_frame_buf->pu1_dest_y + (u4_num_pmbair << 4);
pu1_mb_cb_rei1_buffer = ps_frame_buf->pu1_dest_u
+ (u4_num_pmbair << 3) * YUV420SP_FACTOR;
pu1_mb_cr_rei1_buffer = ps_frame_buf->pu1_dest_v + (u4_num_pmbair << 3);
@@ -835,7 +835,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
{
if(u1_topmb == 0)
{
- pu1_luma_rei1_buffer += (
+ pu1_luma_rec_buffer += (
u1_mb_field_decoding_flag ?
(ui_rec_width >> 1) :
(ui_rec_width << 4));
@@ -859,13 +859,13 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
}
else
{
- puc_top = pu1_luma_rei1_buffer - ui_rec_width;
+ puc_top = pu1_luma_rec_buffer - ui_rec_width;
pu1_top_u = pu1_mb_cb_rei1_buffer - u4_recwidth_cr;
}
/* CHANGED CODE */
/************* Left pointer *****************/
- pu1_yleft = pu1_luma_rei1_buffer - 1;
+ pu1_yleft = pu1_luma_rec_buffer - 1;
pu1_uleft = pu1_mb_cb_rei1_buffer - 1 * YUV420SP_FACTOR;
/**************Top Left pointer calculation**********/
@@ -924,9 +924,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
(u1_intrapred_mode ^ 2);
if((u1_err_code & u1_packed_modes) ^ u1_err_code)
- {
- return ERROR_INTRAPRED;
- }
+ ps_dec->i4_error_code = ERROR_INTRAPRED;
}
{
UWORD8 au1_ngbr_pels[33];
@@ -957,7 +955,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
}
PROFILE_DISABLE_INTRA_PRED()
ps_dec->apf_intra_pred_luma_16x16[u1_intrapred_mode](
- au1_ngbr_pels, pu1_luma_rei1_buffer, 1, ui_rec_width,
+ au1_ngbr_pels, pu1_luma_rec_buffer, 1, ui_rec_width,
((uc_useTopMB << 2) | u2_use_left_mb));
}
{
@@ -966,7 +964,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
for(i = 0; i < 16; i++)
{
WORD16 *pi2_level = pi2_y_coeff + (i << 4);
- UWORD8 *pu1_pred_sblk = pu1_luma_rei1_buffer
+ UWORD8 *pu1_pred_sblk = pu1_luma_rec_buffer
+ ((i & 0x3) * BLK_SIZE)
+ (i >> 2) * (ui_rec_width << 2);
PROFILE_DISABLE_IQ_IT_RECON()
@@ -1202,20 +1200,20 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
{
if(u1_sub_blk_y)
- pu1_top = pu1_luma_rei1_buffer - ui_rec_width;
+ pu1_top = pu1_luma_rec_buffer - ui_rec_width;
else
pu1_top = puc_top + (u1_sub_blk_x << 2);
}
else
{
- pu1_top = pu1_luma_rei1_buffer - ui_rec_width;
+ pu1_top = pu1_luma_rec_buffer - ui_rec_width;
}
/***************** Top Right *********************/
pu1_top_right = pu1_top + 4;
/***************** Top Left *********************/
pu1_top_left = pu1_top - 1;
/***************** Left *********************/
- pu1_left = pu1_luma_rei1_buffer - 1;
+ pu1_left = pu1_luma_rec_buffer - 1;
/* CHANGED CODE */
/*---------------------------------------------------------------*/
@@ -1289,7 +1287,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
}
PROFILE_DISABLE_INTRA_PRED()
ps_dec->apf_intra_pred_luma_4x4[i1_intra_pred](
- au1_ngbr_pels, pu1_luma_rei1_buffer, 1,
+ au1_ngbr_pels, pu1_luma_rec_buffer, 1,
ui_rec_width,
((u1_is_top_sub_block << 2) | u1_is_left_sub_block));
@@ -1303,8 +1301,8 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
{
ps_dec->pf_iquant_itrans_recon_luma_4x4_dc(
pi2_y_coeff1,
- pu1_luma_rei1_buffer,
- pu1_luma_rei1_buffer,
+ pu1_luma_rec_buffer,
+ pu1_luma_rec_buffer,
ui_rec_width,
ui_rec_width,
gau2_ih264_iquant_scale_4x4[ps_cur_mb_info->u1_qp_rem6],
@@ -1316,8 +1314,8 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
{
ps_dec->pf_iquant_itrans_recon_luma_4x4(
pi2_y_coeff1,
- pu1_luma_rei1_buffer,
- pu1_luma_rei1_buffer,
+ pu1_luma_rec_buffer,
+ pu1_luma_rec_buffer,
ui_rec_width,
ui_rec_width,
gau2_ih264_iquant_scale_4x4[ps_cur_mb_info->u1_qp_rem6],
@@ -1333,7 +1331,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
/* Update sub block number */
/*---------------------------------------------------------------*/
pi2_y_coeff1 += 16;
- pu1_luma_rei1_buffer +=
+ pu1_luma_rec_buffer +=
(u1_sub_blk_x == 3) ? (ui_rec_width << 2) - 12 : 4;
pu1_luma_pred_buffer +=
(u1_sub_blk_x == 3) ? (ui_pred_width << 2) - 12 : 4;
@@ -1591,7 +1589,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
{
u1_is_top_sub_block = 1;
// sushant
- pu1_top = /*pu1_luma_pred_buffer*/pu1_luma_rei1_buffer - ui_rec_width;
+ pu1_top = /*pu1_luma_pred_buffer*/pu1_luma_rec_buffer - ui_rec_width;
}
else
{
@@ -1602,7 +1600,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
if((u1_sub_blk_x) | (u4_num_pmbair != 0))
{
// sushant
- pu1_left = /*pu1_luma_pred_buffer*/pu1_luma_rei1_buffer - 1;
+ pu1_left = /*pu1_luma_pred_buffer*/pu1_luma_rec_buffer - 1;
ui2_left_pred_buf_width = ui_rec_width;
}
else
@@ -1651,9 +1649,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
UWORD8 u1_err_code = pu1_intra_err_codes[i1_intra_pred];
if((u1_err_code & u1_packed_modes) ^ u1_err_code)
- {
- return ERROR_INTRAPRED;
- }
+ ps_dec->i4_error_code = ERROR_INTRAPRED;
}
}
@@ -1675,7 +1671,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
ngbr_avail);
ps_dec->apf_intra_pred_luma_8x8[i1_intra_pred](
- au1_ngbr_pels, pu1_luma_rei1_buffer, 1,
+ au1_ngbr_pels, pu1_luma_rec_buffer, 1,
ui_rec_width,
((u1_is_top_sub_block << 2) | u1_is_left_sub_block));
}
@@ -1695,8 +1691,8 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
{
ps_dec->pf_iquant_itrans_recon_luma_8x8_dc(
pi2_y_coeff1,
- pu1_luma_rei1_buffer,
- pu1_luma_rei1_buffer,
+ pu1_luma_rec_buffer,
+ pu1_luma_rec_buffer,
ui_rec_width,
ui_rec_width,
gau1_ih264d_dequant8x8_cavlc[ps_cur_mb_info->u1_qp_rem6],
@@ -1708,8 +1704,8 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
{
ps_dec->pf_iquant_itrans_recon_luma_8x8(
pi2_y_coeff1,
- pu1_luma_rei1_buffer,
- pu1_luma_rei1_buffer,
+ pu1_luma_rec_buffer,
+ pu1_luma_rec_buffer,
ui_rec_width,
ui_rec_width,
gau1_ih264d_dequant8x8_cavlc[ps_cur_mb_info->u1_qp_rem6],
@@ -1726,7 +1722,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
/*---------------------------------------------------------------*/
pi2_y_coeff1 += 64;
- pu1_luma_rei1_buffer +=
+ pu1_luma_rec_buffer +=
(u1_sub_blk_x == 1) ?
(ui_rec_width << 3) - (8 * 1) : 8;
@@ -1765,7 +1761,7 @@ WORD32 ih264d_process_intra_mb(dec_struct_t * ps_dec,
u1_intra_chrom_pred_mode :
(u1_intra_chrom_pred_mode ^ 2);
if((u1_err_code & u1_packed_modes) ^ u1_err_code)
- return ERROR_INTRAPRED;
+ ps_dec->i4_error_code = ERROR_INTRAPRED;
}
/* CHANGED CODE */
diff --git a/decoder/ih264d_process_pslice.c b/decoder/ih264d_process_pslice.c
index b1230f6..2c7446e 100644
--- a/decoder/ih264d_process_pslice.c
+++ b/decoder/ih264d_process_pslice.c
@@ -169,8 +169,6 @@ WORD32 ih264d_mv_pred_ref_tfr_nby2_pmb(dec_struct_t * ps_dec,
/**************************************************/
/* Loop on Partitions */
/**************************************************/
- ps_dec->u4_dma_buf_idx = 0;
-
for(j = 0; j < u1_num_part; j++, ps_part++)
{
@@ -331,9 +329,7 @@ WORD32 ih264d_mv_pred_ref_tfr_nby2_pmb(dec_struct_t * ps_dec,
return OK;
}
-#if THREAD_PARSE
-#else
WORD32 ih264d_decode_recon_tfr_nmb(dec_struct_t * ps_dec,
UWORD8 u1_mb_idx,
UWORD8 u1_num_mbs,
@@ -437,42 +433,57 @@ WORD32 ih264d_decode_recon_tfr_nmb(dec_struct_t * ps_dec,
if((u1_ipcm_th + 25) != ps_cur_mb_info->u1_mb_type)
{
ps_cur_mb_info->u1_mb_type -= (u1_skip_th + 1);
- ret = ih264d_process_intra_mb(ps_dec, ps_cur_mb_info, j);
- if(ret != OK)
- return ret;
+ ih264d_process_intra_mb(ps_dec, ps_cur_mb_info, j);
}
}
- if(ps_dec->u4_mb_level_deblk == 1)
- {
- ih264d_deblock_mb_level(ps_dec, ps_cur_mb_info, j);
-
- }
- if(u1_mbaff)
+ if(ps_dec->u4_use_intrapred_line_copy)
{
- if(u4_update_mbaff)
- {
- UWORD32 u4_mb_num = ps_cur_mb_info->u2_mbx
- + ps_dec->u2_frm_wd_in_mbs
- * (ps_cur_mb_info->u2_mby >> 1);
- UPDATE_MB_MAP_MBNUM_BYTE(ps_dec->pu1_recon_mb_map, u4_mb_num);
- u4_update_mbaff = 0;
- }
- else
- {
- u4_update_mbaff = 1;
- }
+ ih264d_copy_intra_pred_line(ps_dec, ps_cur_mb_info, j);
}
- else
+
+ }
+
+ /*N MB deblocking*/
+ if(ps_dec->u4_nmb_deblk == 1)
+ {
+
+ UWORD32 u4_cur_mb, u4_right_mb;
+ UWORD32 u4_mb_x, u4_mb_y;
+ UWORD32 u4_wd_y, u4_wd_uv;
+ tfr_ctxt_t *ps_tfr_cxt = &(ps_dec->s_tran_addrecon);
+ UWORD8 u1_field_pic_flag = ps_dec->ps_cur_slice->u1_field_pic_flag;
+ const WORD32 i4_cb_qp_idx_ofst =
+ ps_dec->ps_cur_pps->i1_chroma_qp_index_offset;
+ const WORD32 i4_cr_qp_idx_ofst =
+ ps_dec->ps_cur_pps->i1_second_chroma_qp_index_offset;
+
+ u4_wd_y = ps_dec->u2_frm_wd_y << u1_field_pic_flag;
+ u4_wd_uv = ps_dec->u2_frm_wd_uv << u1_field_pic_flag;
+
+
+ ps_cur_mb_info = ps_dec->ps_nmb_info + u1_mb_idx;
+
+ ps_dec->u4_deblk_mb_x = ps_cur_mb_info->u2_mbx;
+ ps_dec->u4_deblk_mb_y = ps_cur_mb_info->u2_mby;
+
+ for(j = u1_mb_idx; j < i; j++)
{
- UWORD32 u4_mb_num = ps_cur_mb_info->u2_mbx
- + ps_dec->u2_frm_wd_in_mbs * ps_cur_mb_info->u2_mby;
- UPDATE_MB_MAP_MBNUM_BYTE(ps_dec->pu1_recon_mb_map, u4_mb_num);
+
+ ih264d_deblock_mb_nonmbaff(ps_dec, ps_tfr_cxt,
+ i4_cb_qp_idx_ofst, i4_cr_qp_idx_ofst,
+ u4_wd_y, u4_wd_uv);
+
+
}
+
+
+
}
+
if(u1_tfr_n_mb)
{
/****************************************************************/
@@ -496,18 +507,6 @@ WORD32 ih264d_decode_recon_tfr_nmb(dec_struct_t * ps_dec,
u1_end_of_row_next);
ps_dec->u4_num_mbs_prev_nmb = u1_num_mbs;
- if(u1_end_of_row)
- {
- /* Reset the N-Mb Recon Buf Index to default Values */
- ps_dec->u2_mb_group_cols_y1 = ps_dec->u2_mb_group_cols_y;
- ps_dec->u2_mb_group_cols_cr1 = ps_dec->u2_mb_group_cols_cr;
- }
- /* If next N-Mb Group is the EndOfRow, set the N-Mb Recon Buf Index */
- else if(u1_end_of_row_next)
- {
- ps_dec->u2_mb_group_cols_y1 = (u1_num_mbs_next << 4) + 8;
- ps_dec->u2_mb_group_cols_cr1 = (u1_num_mbs_next << 3) + 8;
- }
ps_dec->u4_pred_info_idx = 0;
ps_dec->u4_dma_buf_idx = 0;
@@ -515,7 +514,7 @@ WORD32 ih264d_decode_recon_tfr_nmb(dec_struct_t * ps_dec,
}
return OK;
}
-#endif
+
/*!
**************************************************************************
* \if Function name : ih264d_process_inter_mb \endif
@@ -543,7 +542,7 @@ WORD32 ih264d_process_inter_mb(dec_struct_t * ps_dec,
UWORD32 uc_botMb;
UWORD32 u4_num_pmbair;
/* CHANGED CODE */
- tfr_ctxt_t *ps_frame_buf = &ps_dec->s_tran_addrecon;
+ tfr_ctxt_t *ps_frame_buf = ps_dec->ps_frame_buf_ip_recon;
UWORD32 u4_luma_dc_only_csbp = 0;
UWORD32 u4_luma_dc_only_cbp = 0;
/* CHANGED CODE */
diff --git a/decoder/ih264d_structs.h b/decoder/ih264d_structs.h
index 110f71d..4e3f0bb 100644
--- a/decoder/ih264d_structs.h
+++ b/decoder/ih264d_structs.h
@@ -50,6 +50,9 @@
#include "ih264_deblk_edge_filters.h"
+
+
+
/** Number of Mb's whoose syntax will be read */
/************************************************************/
/* MB_GROUP should be a multiple of 2 */
@@ -59,10 +62,6 @@
/* MV_SCRATCH_BUFS assumed to be pow(2) */
#define MV_SCRATCH_BUFS 4
-#define LEFT_MB_PIXELS 4
-#define LEFT_MB_PIXELS_Y_FRM_BOT 64 /* 4 * 16 */
-#define LEFT_MB_PIXELS_CR_FRM_BOT 32 /* 4 * 8 */
-
#define TOP_FIELD_ONLY 0x02
#define BOT_FIELD_ONLY 0x01
@@ -71,10 +70,6 @@
struct _DecStruct;
struct _DecMbInfo;
-
-#define NUM_INT_G_TABLE ((UWORD32) (sigcoeff_ctxtinc_field8x8 + 1))
-#define NUM_EXT_G_TABLE ((UWORD32) (ITTIAM_LOGO_V_BUF_T + 1))
-
typedef enum
{
MB_TYPE_SI_SLICE = 0,
@@ -128,44 +123,6 @@ typedef enum
COEFF_ABS_LEVEL_CAT_5_OFFSET = 0
} cabac_blk_cat_offset_t;
-typedef enum
-{
- CABAC_IPBMB_LD_ADRS_T,
- CABAC_IPBMB_LD_SZ_T,
- CAVLC_IPBMB_LD_ADRS_T,
- CAVLC_IPBMB_LD_SZ_T,
- PARSE_IPBMB_RUN_ADRS_T,
-
- MVP_MBAFF_LD_ADRS_T,
- MVP_MBAFF_LD_SZ_T,
- MVP_NON_MBAFF_LD_ADRS_T,
- MVP_NON_MBAFF_LD_SZ_T,
- MVPRED_RUN_ADRS_T,
-
- B_REF_DMA_LD_ADRS_T,
- B_REF_DMA_LD_SZ_T,
- P_REF_DMA_LD_ADRS_T,
- P_REF_DMA_LD_SZ_T,
- REF_DMA_RUN_ADRS_T,
-
- SP_DRCT_LD_ADRS_T,
- SP_DRCT_LD_SZ_T,
- TMP_DRCT_LD_ADRS_T,
- TMP_DRCT_LD_SZ_T,
- B_SKIP_RUN_ADRS_T,
-
- DEC_DEBLK_RUN_ADRS_T,
- H264_DBLK_LD_ADRS_T,
- H264_DBLK_LD_SZ_T,
- H264_DEC_LD_ADRS_T,
-
- /*
- * (H264_DEC_LD_SZ_T + 1) will be considered as the end of this table
- * new members to be added before this
- */
- H264_DEC_LD_SZ_T
-} code_overlay_tab_t;
-
/** Structure for the MV bank */
typedef struct _mv_pred_t
{
@@ -280,13 +237,8 @@ typedef struct
}col_mv_buf_t;
-/* Note the i4_size of this structure is hardcoded in arm_default_weighted_Pred.s as 0x3C.
- * ADD r0,r0,#0x3C and so on..
- * If there is a change in i4_size update above file accordingly.
- */
typedef struct
{
- UWORD8 u1_mc_addr_ofst; /** Offset in bytes relative to pu1_dma_dest_addr */
UWORD8 u1_dydx; /** 4*dy + dx for Y comp / 8*dy + dx for UV comp */
UWORD8 u1_is_bi_direct; /** 1: is bi-direct 0: forward / backward only */
UWORD8 u1_wght_pred_type; /** 0-default 1-singleWeighted 2-BiWeighted */
@@ -723,23 +675,12 @@ typedef struct
typedef struct _dec_slice_struct
{
volatile UWORD32 u4_first_mb_in_slice;
- volatile UWORD32 u4_num_mbs_done_in_slice;
volatile UWORD32 slice_type;
- volatile UWORD32 end_of_slice;
- volatile UWORD32 slice_header_done;
- volatile UWORD32 last_slice_in_frame;
volatile UWORD16 u2_log2Y_crwd;
- volatile UWORD16 u2_error_flag;
volatile void **ppv_map_ref_idx_to_poc;
+ volatile void *pv_tu_coeff_data_start;
} dec_slice_struct_t;
-typedef struct
-{
- UWORD32 u4_flag;
- UWORD32 u4_start_y;
- UWORD32 u4_num_rows_y;
-} fmt_conv_part_t;
-
/**
* Structure to hold coefficient info for a 4x4 transform
*/
@@ -811,7 +752,7 @@ typedef struct _DecStruct
UWORD16 u2_pic_wd; /** Width of the picture being decoded */
UWORD16 u2_pic_ht; /** Height of the picture being decoded */
- UWORD8 u1_first_nal_in_pic;
+ UWORD8 u1_first_slice_in_stream;
UWORD8 u1_mb_ngbr_availablity;
UWORD8 u1_ref_idxl0_active_minus1;
UWORD8 u1_qp;
@@ -885,6 +826,7 @@ typedef struct _DecStruct
*
*/
void *pv_parse_tu_coeff_data;
+ void *pv_prev_mb_parse_tu_coeff_data;
void *pv_proc_tu_coeff_data;
@@ -966,6 +908,9 @@ typedef struct _DecStruct
/* DMA SETUP */
tfr_ctxt_t s_tran_addrecon_parse;
tfr_ctxt_t s_tran_addrecon;
+ tfr_ctxt_t s_tran_iprecon;
+ tfr_ctxt_t *ps_frame_buf_ip_recon;
+ WORD8 i1_recon_in_thread3_flag;
/* slice Header Simplification */
UWORD8 u1_pr_sl_type;
@@ -1078,10 +1023,6 @@ typedef struct _DecStruct
UWORD8 u1_y_topleft[2]; /** Left Y pointer, used for intra-pred */
UWORD8 u1_u_topleft[2]; /** Left U pointer, used for intra-pred */
UWORD8 u1_v_topleft[2]; /** Left V pointer, used for intra-pred */
- UWORD16 u2_mb_group_cols_y; /** Number of Y pixels in the N MB group */
- UWORD16 u2_mb_group_cols_cr; /** Number of U/V pixels in the N MB group */
- UWORD16 u2_mb_group_cols_y1; /** Number of Y pixels in the N MB group */
- UWORD16 u2_mb_group_cols_cr1; /** Number of U/V pixels in the N MB group */
mv_pred_t *ps_mv_cur; /** pointer to current motion vector bank */
mv_pred_t *ps_mv_top; /** pointer to top motion vector bank */
@@ -1317,6 +1258,7 @@ typedef struct _DecStruct
/* Output format sent by the application */
UWORD8 u1_chroma_format;
UWORD8 u1_pic_decode_done;
+ UWORD8 u1_slice_header_done;
UWORD32 u4_level_at_init;
UWORD32 u4_width_at_init;
UWORD32 u4_height_at_init;
@@ -1348,9 +1290,10 @@ typedef struct _DecStruct
WORD32 i4_display_delay;
UWORD32 u4_slice_start_code_found;
- UWORD32 u4_mb_level_deblk;
+ UWORD32 u4_nmb_deblk;
UWORD32 u4_use_intrapred_line_copy;
UWORD32 u4_num_mbs_prev_nmb;
+ UWORD32 u4_num_mbs_cur_nmb;
UWORD32 u4_app_deblk_disable_level;
UWORD32 u4_app_disable_deblk_frm;
WORD32 i4_app_skip_mode;
@@ -1366,18 +1309,17 @@ typedef struct _DecStruct
WORD32 i4_dec_skip_mode;
UWORD32 u4_bs_deblk_thread_created;
- volatile UWORD32 u4_start_bs_deblk;
+ volatile UWORD32 u4_start_recon_deblk;
void *pv_bs_deblk_thread_handle;
UWORD32 u4_cur_bs_mb_num;
UWORD32 u4_bs_cur_slice_num_mbs;
- UWORD32 u4_cur_slice_bs_done;
UWORD32 u4_cur_deblk_mb_num;
volatile UWORD16 u2_cur_slice_num_bs;
UWORD32 u4_deblk_mb_x;
UWORD32 u4_deblk_mb_y;
- deblk_mb_t *ps_cur_deblk_thrd_mb;
+
iv_yuv_buf_t s_disp_frame_info;
@@ -1389,12 +1331,12 @@ typedef struct _DecStruct
UWORD32 u4_output_present;
volatile UWORD16 cur_dec_mb_num;
+ volatile UWORD16 cur_recon_mb_num;
volatile UWORD16 u2_cur_mb_addr;
WORD16 i2_dec_thread_mb_y;
+ WORD16 i2_recon_thread_mb_y;
UWORD8 u1_separate_parse;
-// 0: slice parse not started, 1: slice decode can start, 2: slice in error
- volatile UWORD32 u4_start_frame_decode;
UWORD32 u4_dec_thread_created;
void *pv_dec_thread_handle;
volatile UWORD8 *pu1_dec_mb_map;
@@ -1442,11 +1384,7 @@ typedef struct _DecStruct
*/
WORD32 i4_degrade_pic_cnt;
- fmt_conv_part_t as_fmt_conv_part[2];
- UWORD32 u4_fmt_conv_in_process;
UWORD32 u4_pic_buf_got;
- UWORD16 u2_mb_skip_error;
- volatile UWORD16 u2_skip_deblock;
/**
* Col flag and mv pred buffer manager
diff --git a/decoder/ih264d_tables.c b/decoder/ih264d_tables.c
index ddca2fb..d49de14 100644
--- a/decoder/ih264d_tables.c
+++ b/decoder/ih264d_tables.c
@@ -35,6 +35,7 @@
#include "ih264_macros.h"
#include "ih264_platform_macros.h"
#include "ih264d_defs.h"
+#include "ih264d_tables.h"
const UWORD8 gau1_ih264d_qp_scale_cr[] =
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
diff --git a/decoder/ih264d_tables.h b/decoder/ih264d_tables.h
index 04dfbd0..88af4ec 100644
--- a/decoder/ih264d_tables.h
+++ b/decoder/ih264d_tables.h
@@ -48,7 +48,7 @@ extern const UWORD8 gau1_ih264d_clip_table[][4];
/*Parsing Table declaration*/
extern const UWORD8 gau1_ih264d_cbp_tab[6];
-extern const UWORD32 gau4_ih264d_packed_bs2[16];
+extern const UWORD32 gau4_ih264d_packed_bs2[32];
extern const UWORD16 gau2_ih264d_4x4_v2h_reorder[16];
extern const UWORD8 gau1_ih264d_subblk_offset[16];
extern const UWORD8 gau1_ih264d_cbp_table[48][2];
@@ -132,7 +132,7 @@ extern const UWORD8 gau1_ih264d_total_coeff_fn_ptr_offset[16];
extern const WORD16 gai2_ih264d_trailing_one_level[14][3];
/*Decode CABAC Table declaration*/
-extern const UWORD32 gau4_ih264d_cabac_table[];
+extern const UWORD32 gau4_ih264d_cabac_table[128][4];
/****************************************************************************/
/* For error detection in intra pred4x4 modes */
diff --git a/decoder/ih264d_thread_compute_bs.c b/decoder/ih264d_thread_compute_bs.c
index 6812d57..951cef4 100644
--- a/decoder/ih264d_thread_compute_bs.c
+++ b/decoder/ih264d_thread_compute_bs.c
@@ -46,6 +46,8 @@
#include "ih264d_thread_compute_bs.h"
#include "ithread.h"
#include "ih264d_deblocking.h"
+#include "ih264d_process_pslice.h"
+#include "ih264d_process_intra_mb.h"
#include "ih264d_mb_utils.h"
#include "ih264d_tables.h"
#include "ih264d_format_conv.h"
@@ -56,6 +58,9 @@ void ih264d_fill_bs2_horz_vert(UWORD32 *pu4_bs, /* Base pointer of BS table */
WORD32 u4_top_mb_csbp, /* csbp of top mb */
WORD32 u4_cur_mb_csbp, /* csbp of current mb */
const UWORD32 *pu4_packed_bs2, const UWORD16 *pu2_4x4_v2h_reorder);
+void ih264d_copy_intra_pred_line(dec_struct_t *ps_dec,
+ dec_mb_info_t *ps_cur_mb_info,
+ UWORD32 nmb_index);
#define BS_MB_GROUP 4
#define DEBLK_MB_GROUP 1
@@ -107,6 +112,8 @@ void ih264d_compute_bs_non_mbaff_thread(dec_struct_t * ps_dec,
const UWORD32 u2_mbx = ps_cur_mb_info->u2_mbx;
const UWORD32 u2_mby = ps_cur_mb_info->u2_mby;
const UWORD32 u1_pingpong = u2_mbx & 0x01;
+
+ PROFILE_DISABLE_BOUNDARY_STRENGTH()
ps_deblk_top_mb = ps_dec->ps_deblk_top_mb + u2_mbx;
/* Pointer assignment for Current DeblkMB, Current Mv Pred */
@@ -307,18 +314,16 @@ void ih264d_compute_bs_non_mbaff_thread(dec_struct_t * ps_dec,
}
}
+
void ih264d_check_mb_map_deblk(dec_struct_t *ps_dec,
- UWORD32 deblk_mb_grp,
- tfr_ctxt_t *ps_tfr_cxt)
+ UWORD32 deblk_mb_grp,
+ tfr_ctxt_t *ps_tfr_cxt,
+ UWORD32 u4_check_mb_map)
{
UWORD32 i = 0;
UWORD32 u4_mb_num;
- UWORD32 u4_cur_mb, u4_right_mb;
+ UWORD32 u4_cond;
volatile UWORD8 *mb_map = ps_dec->pu1_recon_mb_map;
- UWORD32 u4_mb_x, u4_mb_y, u4_image_wd_mb;
- deblk_mb_t *ps_cur_mb = ps_dec->ps_cur_deblk_thrd_mb;
- deblk_mb_t *ps_top_mb;
- deblk_mb_t *ps_left_mb;
const WORD32 i4_cb_qp_idx_ofst =
ps_dec->ps_cur_pps->i1_chroma_qp_index_offset;
const WORD32 i4_cr_qp_idx_ofst =
@@ -327,171 +332,100 @@ void ih264d_check_mb_map_deblk(dec_struct_t *ps_dec,
UWORD32 u4_wd_y, u4_wd_uv;
UWORD8 u1_field_pic_flag = ps_dec->ps_cur_slice->u1_field_pic_flag;
- u4_mb_num = ps_dec->u4_cur_deblk_mb_num;
- u4_mb_x = ps_dec->u4_deblk_mb_x;
- u4_mb_y = ps_dec->u4_deblk_mb_y;
- u4_image_wd_mb = ps_dec->u2_frm_wd_in_mbs;
+
u4_wd_y = ps_dec->u2_frm_wd_y << u1_field_pic_flag;
u4_wd_uv = ps_dec->u2_frm_wd_uv << u1_field_pic_flag;
- ps_cur_mb = ps_dec->ps_cur_deblk_thrd_mb;
+
for(i = 0; i < deblk_mb_grp; i++)
{
-
- //while(1)
- //{
- CHECK_MB_MAP_BYTE(u4_mb_num, mb_map, u4_cur_mb);
-
- if(ps_dec->u4_cur_bs_mb_num <= u4_mb_num)
- u4_cur_mb = 0;
-
- if(u4_mb_x < (u4_image_wd_mb - 1))
+ WORD32 nop_cnt = 8*128;
+ while(u4_check_mb_map == 1)
{
- CHECK_MB_MAP_BYTE((u4_mb_num + 1), mb_map, u4_right_mb);
- }
- else
- u4_right_mb = 1;
+ u4_mb_num = ps_dec->u4_cur_deblk_mb_num;
+ /*we wait for the right mb because of intra pred data dependency*/
+ u4_mb_num = MIN(u4_mb_num + 1, (ps_dec->u4_deblk_mb_y + 1) * ps_dec->u2_frm_wd_in_mbs - 1);
+ CHECK_MB_MAP_BYTE(u4_mb_num, mb_map, u4_cond);
- if((u4_cur_mb && u4_right_mb) == 0)
- {
- break;
- }
- else
- {
-
- }
- //}
-
- u4_mb_num++;
- {
- UWORD32 u4_deb_mode, u4_mbs_next;
- u4_deb_mode = ps_cur_mb->u1_deblocking_mode;
- if(!(u4_deb_mode & MB_DISABLE_FILTERING))
+ if(u4_cond)
{
-
- if(u4_mb_x)
- {
- ps_left_mb = ps_cur_mb - 1;
-
- }
- else
- {
- ps_left_mb = NULL;
-
- }
- if(u4_mb_y != 0)
+ break;
+ }
+ else
+ {
+ if(nop_cnt > 0)
{
- ps_top_mb = ps_cur_mb - (u4_image_wd_mb);
+ nop_cnt -= 128;
+ NOP(128);
}
else
{
- ps_top_mb = NULL;
+ nop_cnt = 8*128;
+ ithread_yield();
}
-
- if(u4_deb_mode & MB_DISABLE_LEFT_EDGE)
- ps_left_mb = NULL;
- if(u4_deb_mode & MB_DISABLE_TOP_EDGE)
- ps_top_mb = NULL;
-
- ih264d_deblock_mb_nonmbaff(ps_dec, ps_tfr_cxt,
- i4_cb_qp_idx_ofst, i4_cr_qp_idx_ofst,
- ps_cur_mb, u4_wd_y, u4_wd_uv,
- ps_top_mb, ps_left_mb);
-
}
+ }
- ps_cur_mb++;
- u4_mb_x++;
- u4_mbs_next = u4_image_wd_mb - u4_mb_x;
+ ih264d_deblock_mb_nonmbaff(ps_dec, ps_tfr_cxt,
+ i4_cb_qp_idx_ofst, i4_cr_qp_idx_ofst,
+ u4_wd_y, u4_wd_uv);
- ps_tfr_cxt->pu1_mb_y += 16;
- ps_tfr_cxt->pu1_mb_u += 8 * YUV420SP_FACTOR;
- ps_tfr_cxt->pu1_mb_v += 8;
-
- if(!u4_mbs_next)
- {
- ps_tfr_cxt->pu1_mb_y += ps_tfr_cxt->u4_y_inc;
- ps_tfr_cxt->pu1_mb_u += ps_tfr_cxt->u4_uv_inc;
- ps_tfr_cxt->pu1_mb_v += ps_tfr_cxt->u4_uv_inc;
- u4_mb_y++;
- u4_mb_x = 0;
- }
- }
}
- ps_dec->u4_cur_deblk_mb_num = u4_mb_num;
- ps_dec->u4_deblk_mb_x = u4_mb_x;
- ps_dec->u4_deblk_mb_y = u4_mb_y;
- ps_dec->ps_cur_deblk_thrd_mb = ps_cur_mb;
}
-
-void ih264d_check_mb_map_deblk_wait(dec_struct_t *ps_dec,
- UWORD32 deblk_mb_grp,
- tfr_ctxt_t *ps_tfr_cxt)
+void ih264d_recon_deblk_slice(dec_struct_t *ps_dec, tfr_ctxt_t *ps_tfr_cxt)
{
- UWORD32 i = 0;
+ dec_mb_info_t *p_cur_mb;
+ UWORD32 u4_max_addr;
+ WORD32 i;
+ UWORD32 u1_mb_aff;
+ UWORD16 u2_slice_num;
UWORD32 u4_mb_num;
- UWORD32 u4_cur_mb, u4_right_mb;
- volatile UWORD8 *mb_map = ps_dec->pu1_recon_mb_map;
- UWORD32 u4_mb_x, u4_mb_y, u4_image_wd_mb;
- deblk_mb_t *ps_cur_mb = ps_dec->ps_cur_deblk_thrd_mb;
- deblk_mb_t *ps_top_mb;
- deblk_mb_t *ps_left_mb;
- const WORD32 i4_cb_qp_idx_ofst =
- ps_dec->ps_cur_pps->i1_chroma_qp_index_offset;
- const WORD32 i4_cr_qp_idx_ofst =
- ps_dec->ps_cur_pps->i1_second_chroma_qp_index_offset;
-
- UWORD32 u4_wd_y, u4_wd_uv;
- UWORD8 u1_field_pic_flag = ps_dec->ps_cur_slice->u1_field_pic_flag;
-
- u4_mb_num = ps_dec->u4_cur_deblk_mb_num;
- u4_mb_x = ps_dec->u4_deblk_mb_x;
- u4_mb_y = ps_dec->u4_deblk_mb_y;
- u4_image_wd_mb = ps_dec->u2_frm_wd_in_mbs;
- u4_wd_y = ps_dec->u2_frm_wd_y << u1_field_pic_flag;
- u4_wd_uv = ps_dec->u2_frm_wd_uv << u1_field_pic_flag;
- ps_cur_mb = ps_dec->ps_cur_deblk_thrd_mb;
-
- for(i = 0; i < deblk_mb_grp; i++)
+ UWORD16 u2_first_mb_in_slice;
+ UWORD32 i2_pic_wdin_mbs;
+ UWORD8 u1_num_mbsleft, u1_end_of_row;
+ UWORD8 u1_mbaff;
+ UWORD16 i16_mb_x, i16_mb_y;
+ WORD32 j;
+ dec_mb_info_t * ps_cur_mb_info;
+ UWORD32 u1_slice_type, u1_B;
+ WORD32 u1_skip_th;
+ UWORD32 u1_ipcm_th;
+ WORD32 ret;
+ tfr_ctxt_t *ps_trns_addr;
+ UWORD32 u4_frame_stride;
+ UWORD32 x_offset, y_offset;
+ UWORD32 u4_slice_end;
+ pad_mgr_t *ps_pad_mgr ;
+
+ /*check for mb map of first mb in slice to ensure slice header is parsed*/
+ while(1)
{
+ UWORD32 u4_mb_num = ps_dec->cur_recon_mb_num;
+ UWORD32 u4_cond = 0;
+ WORD32 nop_cnt = 8*128;
- while(1)
+ CHECK_MB_MAP_BYTE(u4_mb_num, ps_dec->pu1_recon_mb_map, u4_cond);
+ if(u4_cond)
{
- CHECK_MB_MAP_BYTE(u4_mb_num, mb_map, u4_cur_mb);
-
- if(ps_dec->u4_cur_bs_mb_num <= u4_mb_num)
- u4_cur_mb = 0;
-
- if(u4_mb_x < (u4_image_wd_mb - 1))
+ break;
+ }
+ else
+ {
+ if(nop_cnt > 0)
{
- CHECK_MB_MAP_BYTE((u4_mb_num + 1), mb_map, u4_right_mb);
+ nop_cnt -= 128;
+ NOP(128);
}
else
- u4_right_mb = 1;
-
- if(ps_dec->u2_mb_skip_error)
{
- ps_dec->u2_skip_deblock = 1;
- break;
- }
-
-
- if(ps_dec->u2_skip_deblock == 1)
- {
- break;
- }
- if((u4_cur_mb && u4_right_mb) == 0)
- {
-
- if(ps_dec->u4_output_present
- && ps_dec->u4_fmt_conv_cur_row
- < ps_dec->s_disp_frame_info.u4_y_ht)
+ if(ps_dec->u4_output_present &&
+ (ps_dec->u4_fmt_conv_cur_row < ps_dec->s_disp_frame_info.u4_y_ht))
{
ps_dec->u4_fmt_conv_num_rows =
- MIN(ps_dec->u4_fmt_conv_num_rows,
+ MIN(FMT_CONV_NUM_ROWS,
(ps_dec->s_disp_frame_info.u4_y_ht
- ps_dec->u4_fmt_conv_cur_row));
ih264d_format_convert(ps_dec, &(ps_dec->s_disp_op),
@@ -500,148 +434,217 @@ void ih264d_check_mb_map_deblk_wait(dec_struct_t *ps_dec,
ps_dec->u4_fmt_conv_cur_row += ps_dec->u4_fmt_conv_num_rows;
}
else
- NOP(32);
- }
- else
- {
- break;
+ {
+ nop_cnt = 8*128;
+ ithread_yield();
+ }
}
+ DEBUG_THREADS_PRINTF("waiting for mb mapcur_dec_mb_num = %d,ps_dec->u2_cur_mb_addr = %d\n",u2_cur_dec_mb_num,
+ ps_dec->u2_cur_mb_addr);
+
}
+ }
- u4_mb_num++;
- {
- UWORD32 u4_deb_mode, u4_mbs_next;
- u4_deb_mode = ps_cur_mb->u1_deblocking_mode;
- if(!(u4_deb_mode & MB_DISABLE_FILTERING))
- {
+ u4_max_addr = ps_dec->ps_cur_sps->u2_max_mb_addr;
+ u1_mb_aff = ps_dec->ps_cur_slice->u1_mbaff_frame_flag;
+ u2_first_mb_in_slice = ps_dec->ps_computebs_cur_slice->u4_first_mb_in_slice;
+ i2_pic_wdin_mbs = ps_dec->u2_frm_wd_in_mbs;
+ u1_mbaff = ps_dec->ps_cur_slice->u1_mbaff_frame_flag;
+ ps_pad_mgr = &ps_dec->s_pad_mgr;
- if(u4_mb_x)
- {
- ps_left_mb = ps_cur_mb - 1;
+ if(u2_first_mb_in_slice == 0)
+ ih264d_init_deblk_tfr_ctxt(ps_dec, ps_pad_mgr, ps_tfr_cxt,
+ ps_dec->u2_frm_wd_in_mbs, 0);
- }
- else
- {
- ps_left_mb = NULL;
- }
- if(u4_mb_y != 0)
- {
- ps_top_mb = ps_cur_mb - (u4_image_wd_mb);
- }
- else
- {
- ps_top_mb = NULL;
- }
+ i16_mb_x = MOD(u2_first_mb_in_slice, i2_pic_wdin_mbs);
+ i16_mb_y = DIV(u2_first_mb_in_slice, i2_pic_wdin_mbs);
+ i16_mb_y <<= u1_mbaff;
+ ps_dec->i2_recon_thread_mb_y = i16_mb_y;
+ u4_frame_stride = ps_dec->u2_frm_wd_y
+ << ps_dec->ps_cur_slice->u1_field_pic_flag;
- if(u4_deb_mode & MB_DISABLE_LEFT_EDGE)
- ps_left_mb = NULL;
- if(u4_deb_mode & MB_DISABLE_TOP_EDGE)
- ps_top_mb = NULL;
+ x_offset = i16_mb_x << 4;
+ y_offset = (i16_mb_y * u4_frame_stride) << 4;
+ ps_trns_addr = &ps_dec->s_tran_iprecon;
- ih264d_deblock_mb_nonmbaff(ps_dec, ps_tfr_cxt,
- i4_cb_qp_idx_ofst, i4_cr_qp_idx_ofst,
- ps_cur_mb, u4_wd_y, u4_wd_uv,
- ps_top_mb, ps_left_mb);
- }
+ ps_trns_addr->pu1_dest_y = ps_dec->s_cur_pic.pu1_buf1 + x_offset + y_offset;
- ps_cur_mb++;
- u4_mb_x++;
- u4_mbs_next = u4_image_wd_mb - u4_mb_x;
+ u4_frame_stride = ps_dec->u2_frm_wd_uv
+ << ps_dec->ps_cur_slice->u1_field_pic_flag;
+ x_offset >>= 1;
+ y_offset = (i16_mb_y * u4_frame_stride) << 3;
- ps_tfr_cxt->pu1_mb_y += 16;
- ps_tfr_cxt->pu1_mb_u += 8 * YUV420SP_FACTOR;
- ps_tfr_cxt->pu1_mb_v += 8;
+ x_offset *= YUV420SP_FACTOR;
- if(!u4_mbs_next)
- {
- ps_tfr_cxt->pu1_mb_y += ps_tfr_cxt->u4_y_inc;
- ps_tfr_cxt->pu1_mb_u += ps_tfr_cxt->u4_uv_inc;
- ps_tfr_cxt->pu1_mb_v += ps_tfr_cxt->u4_uv_inc;
- u4_mb_y++;
- u4_mb_x = 0;
- }
- }
+ ps_trns_addr->pu1_dest_u = ps_dec->s_cur_pic.pu1_buf2 + x_offset + y_offset;
+ ps_trns_addr->pu1_dest_v = ps_dec->s_cur_pic.pu1_buf3 + x_offset + y_offset;
- }
+ ps_trns_addr->pu1_mb_y = ps_trns_addr->pu1_dest_y;
+ ps_trns_addr->pu1_mb_u = ps_trns_addr->pu1_dest_u;
+ ps_trns_addr->pu1_mb_v = ps_trns_addr->pu1_dest_v;
- ps_dec->u4_cur_deblk_mb_num = u4_mb_num;
- ps_dec->u4_deblk_mb_x = u4_mb_x;
- ps_dec->u4_deblk_mb_y = u4_mb_y;
- ps_dec->ps_cur_deblk_thrd_mb = ps_cur_mb;
+ ps_dec->cur_recon_mb_num = u2_first_mb_in_slice << u1_mbaff;
-}
-void ih264d_computebs_deblk_slice(dec_struct_t *ps_dec, tfr_ctxt_t *ps_tfr_cxt)
-{
- dec_mb_info_t *p_cur_mb;
- UWORD32 u4_max_addr = ps_dec->ps_cur_sps->u2_max_mb_addr;
- UWORD32 i;
- UWORD32 u1_mb_aff = ps_dec->ps_cur_slice->u1_mbaff_frame_flag;
- UWORD16 u2_slice_num;
- UWORD32 u4_mb_num;
-
- ps_dec->u4_cur_slice_bs_done = 0;
+ u4_slice_end = 0;
ps_dec->u4_bs_cur_slice_num_mbs = 0;
ps_dec->u4_cur_bs_mb_num =
(ps_dec->ps_computebs_cur_slice->u4_first_mb_in_slice)
<< u1_mb_aff;
- while(ps_dec->u4_cur_slice_bs_done != 1)
+ if(ps_dec->i1_recon_in_thread3_flag)
{
- UWORD32 bs_mb_grp = BS_MB_GROUP;
- while(1)
+ ps_dec->pv_proc_tu_coeff_data =
+ (void *) ps_dec->ps_computebs_cur_slice->pv_tu_coeff_data_start;
+ }
+
+ u1_slice_type = ps_dec->ps_computebs_cur_slice->slice_type;
+
+ u1_B = (u1_slice_type == B_SLICE);
+
+ u1_skip_th = ((u1_slice_type != I_SLICE) ?
+ (u1_B ? B_8x8 : PRED_8x8R0) : -1);
+
+ u1_ipcm_th = ((u1_slice_type != I_SLICE) ? (u1_B ? 23 : 5) : 0);
+
+
+
+ while(u4_slice_end != 1)
+ {
+ WORD32 recon_mb_grp,bs_mb_grp;
+ WORD32 nop_cnt = 8*128;
+ u1_num_mbsleft = ((i2_pic_wdin_mbs - i16_mb_x) << u1_mbaff);
+ if(u1_num_mbsleft <= ps_dec->u1_recon_mb_grp)
{
+ recon_mb_grp = u1_num_mbsleft;
+ u1_end_of_row = 1;
+ i16_mb_x = 0;
+ }
+ else
+ {
+ recon_mb_grp = ps_dec->u1_recon_mb_grp;
+ u1_end_of_row = 0;
+ i16_mb_x += (recon_mb_grp >> u1_mbaff);
+ }
+
+ while(1)
+ {
UWORD32 u4_cond = 0;
+ UWORD32 u4_mb_num = ps_dec->cur_recon_mb_num + recon_mb_grp - 1;
- u4_mb_num = ps_dec->u4_cur_bs_mb_num;
+ /*
+ * Wait for one extra mb of MC, because some chroma IQ-IT functions
+ * sometimes loads the pixels of the right mb and stores with the loaded
+ * values.
+ */
+ u4_mb_num = MIN(u4_mb_num + 1, (ps_dec->i2_recon_thread_mb_y + 1) * i2_pic_wdin_mbs - 1);
- /*introducing 1 MB delay*/
- if((u4_mb_num + BS_MB_GROUP) <= u4_max_addr)
- u4_mb_num = u4_mb_num + BS_MB_GROUP;
+ CHECK_MB_MAP_BYTE(u4_mb_num, ps_dec->pu1_recon_mb_map, u4_cond);
+ if(u4_cond)
+ {
+ break;
+ }
else
{
- bs_mb_grp = u4_max_addr - u4_mb_num + 1;
- u4_mb_num = u4_max_addr;
-
+ if(nop_cnt > 0)
+ {
+ nop_cnt -= 128;
+ NOP(128);
+ }
+ else
+ {
+ if(ps_dec->u4_output_present &&
+ (ps_dec->u4_fmt_conv_cur_row < ps_dec->s_disp_frame_info.u4_y_ht))
+ {
+ ps_dec->u4_fmt_conv_num_rows =
+ MIN(FMT_CONV_NUM_ROWS,
+ (ps_dec->s_disp_frame_info.u4_y_ht
+ - ps_dec->u4_fmt_conv_cur_row));
+ ih264d_format_convert(ps_dec, &(ps_dec->s_disp_op),
+ ps_dec->u4_fmt_conv_cur_row,
+ ps_dec->u4_fmt_conv_num_rows);
+ ps_dec->u4_fmt_conv_cur_row += ps_dec->u4_fmt_conv_num_rows;
+ }
+ else
+ {
+ nop_cnt = 8*128;
+ ithread_yield();
+ }
+ }
}
+ }
- CHECK_MB_MAP_BYTE(u4_mb_num, ps_dec->pu1_dec_mb_map, u4_cond);
- if(u4_cond)
+ for(j = 0; j < recon_mb_grp; j++)
+ {
+ GET_SLICE_NUM_MAP(ps_dec->pu2_slice_num_map, ps_dec->cur_recon_mb_num,
+ u2_slice_num);
+
+ if(u2_slice_num != ps_dec->u2_cur_slice_num_bs)
{
+ u4_slice_end = 1;
break;
}
-
- if(ps_dec->u2_skip_deblock == 0)
+ if(ps_dec->i1_recon_in_thread3_flag)
{
- ih264d_check_mb_map_deblk(ps_dec, DEBLK_MB_GROUP, ps_tfr_cxt);
+ ps_cur_mb_info = &ps_dec->ps_frm_mb_info[ps_dec->cur_recon_mb_num];
+
+ if(ps_cur_mb_info->u1_mb_type <= u1_skip_th)
+ {
+ ih264d_process_inter_mb(ps_dec, ps_cur_mb_info, j);
+ }
+ else if(ps_cur_mb_info->u1_mb_type != MB_SKIP)
+ {
+ if((u1_ipcm_th + 25) != ps_cur_mb_info->u1_mb_type)
+ {
+ ps_cur_mb_info->u1_mb_type -= (u1_skip_th + 1);
+ ih264d_process_intra_mb(ps_dec, ps_cur_mb_info, j);
+ }
+ }
+
+ ih264d_copy_intra_pred_line(ps_dec, ps_cur_mb_info, j);
}
+ ps_dec->cur_recon_mb_num++;
}
- GET_SLICE_NUM_MAP(ps_dec->pu2_slice_num_map, ps_dec->u4_cur_bs_mb_num,
- u2_slice_num);
-
- if(u2_slice_num != ps_dec->u2_cur_slice_num_bs)
+ if(j != recon_mb_grp)
{
- ps_dec->u4_cur_slice_bs_done = 1;
+ u1_end_of_row = 0;
}
- /* Compute BS for NMB group*/
- for(i = 0; i < bs_mb_grp; i++)
{
- GET_SLICE_NUM_MAP(ps_dec->pu2_slice_num_map,
- ps_dec->u4_cur_bs_mb_num, u2_slice_num);
+ tfr_ctxt_t *ps_trns_addr = &ps_dec->s_tran_iprecon;
+ UWORD16 u2_mb_y;
- if(u2_slice_num != ps_dec->u2_cur_slice_num_bs)
+ ps_trns_addr->pu1_dest_y += ps_trns_addr->u4_inc_y[u1_end_of_row];
+ ps_trns_addr->pu1_dest_u += ps_trns_addr->u4_inc_uv[u1_end_of_row];
+ ps_trns_addr->pu1_dest_v += ps_trns_addr->u4_inc_uv[u1_end_of_row];
+
+ if(u1_end_of_row)
{
- ps_dec->u4_cur_slice_bs_done = 1;
- }
+ ps_dec->i2_recon_thread_mb_y += (1 << u1_mbaff);
+ u2_mb_y = ps_dec->i2_recon_thread_mb_y;
+ y_offset = (u2_mb_y * u4_frame_stride) << 4;
+ ps_trns_addr->pu1_dest_y = ps_dec->s_cur_pic.pu1_buf1 + y_offset;
- if(ps_dec->u4_cur_slice_bs_done == 1)
- break;
+ u4_frame_stride = ps_dec->u2_frm_wd_uv
+ << ps_dec->ps_cur_slice->u1_field_pic_flag;
+ y_offset = (u2_mb_y * u4_frame_stride) << 3;
+ ps_trns_addr->pu1_dest_u = ps_dec->s_cur_pic.pu1_buf2 + y_offset;
+ ps_trns_addr->pu1_dest_v = ps_dec->s_cur_pic.pu1_buf3 + y_offset;
- p_cur_mb = &ps_dec->ps_frm_mb_info[ps_dec->u4_cur_bs_mb_num
- & PD_MB_BUF_SIZE_MOD];
+ ps_trns_addr->pu1_mb_y = ps_trns_addr->pu1_dest_y;
+ ps_trns_addr->pu1_mb_u = ps_trns_addr->pu1_dest_u;
+ ps_trns_addr->pu1_mb_v = ps_trns_addr->pu1_dest_v;
+
+ }
+ }
+
+ bs_mb_grp = j;
+ /* Compute BS for NMB group*/
+ for(i = 0; i < bs_mb_grp; i++)
+ {
+ p_cur_mb = &ps_dec->ps_frm_mb_info[ps_dec->u4_cur_bs_mb_num];
DEBUG_THREADS_PRINTF("ps_dec->u4_cur_bs_mb_num = %d\n",ps_dec->u4_cur_bs_mb_num);
ih264d_compute_bs_non_mbaff_thread(ps_dec, p_cur_mb,
@@ -653,7 +656,7 @@ void ih264d_computebs_deblk_slice(dec_struct_t *ps_dec, tfr_ctxt_t *ps_tfr_cxt)
if(ps_dec->u4_cur_bs_mb_num > u4_max_addr)
{
- ps_dec->u4_cur_slice_bs_done = 1;
+ u4_slice_end = 1;
}
/*deblock MB group*/
@@ -661,142 +664,74 @@ void ih264d_computebs_deblk_slice(dec_struct_t *ps_dec, tfr_ctxt_t *ps_tfr_cxt)
UWORD32 u4_num_mbs;
if(ps_dec->u4_cur_bs_mb_num > ps_dec->u4_cur_deblk_mb_num)
-
- u4_num_mbs = ps_dec->u4_cur_bs_mb_num
- - ps_dec->u4_cur_deblk_mb_num;
+ {
+ if(u1_end_of_row)
+ {
+ u4_num_mbs = ps_dec->u4_cur_bs_mb_num
+ - ps_dec->u4_cur_deblk_mb_num;
+ }
+ else
+ {
+ u4_num_mbs = ps_dec->u4_cur_bs_mb_num
+ - ps_dec->u4_cur_deblk_mb_num - 1;
+ }
+ }
else
u4_num_mbs = 0;
- if(u4_num_mbs >= DEBLK_MB_GROUP)
- u4_num_mbs = DEBLK_MB_GROUP;
- if(ps_dec->u2_skip_deblock == 0)
- {
- ih264d_check_mb_map_deblk_wait(ps_dec, u4_num_mbs, ps_tfr_cxt);
- }
+ ih264d_check_mb_map_deblk(ps_dec, u4_num_mbs, ps_tfr_cxt,0);
}
}
}
-void ih264d_computebs_deblk_thread(dec_struct_t *ps_dec)
+void ih264d_recon_deblk_thread(dec_struct_t *ps_dec)
{
tfr_ctxt_t s_tfr_ctxt;
tfr_ctxt_t *ps_tfr_cxt = &s_tfr_ctxt; // = &ps_dec->s_tran_addrecon;
- pad_mgr_t *ps_pad_mgr = &ps_dec->s_pad_mgr;
-
- UWORD32 yield_cnt = 0;
- ithread_set_name("ih264d_computebs_deblk_thread");
+ UWORD32 yield_cnt = 0;
- // run the loop till all slices are decoded
+ ithread_set_name("ih264d_recon_deblk_thread");
- // 0: un-identified state, 1 - bs needed, 2 - bs not needed
while(1)
{
- if(ps_dec->u4_start_bs_deblk == 0)
- {
- NOP(128);
- NOP(128);
- NOP(128);
- NOP(128);
- }
- else
- {
- break;
- }
- }
-
- if(ps_dec->u4_start_bs_deblk == 1)
- {
- ps_dec->u4_cur_deblk_mb_num = 0;
- ps_dec->u4_deblk_mb_x = 0;
- ps_dec->u4_deblk_mb_y = 0;
-
- ih264d_init_deblk_tfr_ctxt(ps_dec, ps_pad_mgr, ps_tfr_cxt,
- ps_dec->u2_frm_wd_in_mbs, 0);
- ps_tfr_cxt->pu1_mb_y = ps_tfr_cxt->pu1_src_y + 4;
- ps_tfr_cxt->pu1_mb_u = ps_tfr_cxt->pu1_src_u + 4;
- ps_tfr_cxt->pu1_mb_v = ps_tfr_cxt->pu1_src_v + 4;
+ DEBUG_THREADS_PRINTF(" Entering compute bs slice\n");
+ ih264d_recon_deblk_slice(ps_dec, ps_tfr_cxt);
- ps_dec->ps_cur_deblk_thrd_mb = ps_dec->ps_deblk_pic;
+ DEBUG_THREADS_PRINTF(" Exit compute bs slice \n");
- while(1)
+ if(ps_dec->cur_recon_mb_num > ps_dec->ps_cur_sps->u2_max_mb_addr)
{
- /*Complete all writes before processing next slice*/
- DATA_SYNC();
- /*wait untill all the slice params have been populated*/
- while(ps_dec->ps_computebs_cur_slice->slice_header_done == 0)
- {
- NOP(32); DEBUG_THREADS_PRINTF(" waiting for slice header at compute bs\n");
- }
-
- DEBUG_THREADS_PRINTF(" Entering compute bs slice\n");
- ih264d_computebs_deblk_slice(ps_dec, ps_tfr_cxt);
-
- DEBUG_THREADS_PRINTF(" Exit compute bs slice \n");
-
- /*Complete all writes before processing next slice*/
- DATA_SYNC();
-
- while(1)
- {
- volatile void * parse_addr, *computebs_addr;
- volatile UWORD32 last_slice;
-
- parse_addr = (volatile void *)ps_dec->ps_parse_cur_slice;
- computebs_addr =
- (volatile void *)ps_dec->ps_computebs_cur_slice;
- last_slice =
- ps_dec->ps_computebs_cur_slice->last_slice_in_frame;
-
- if(last_slice == 1)
- break;
-
- if(parse_addr != computebs_addr)
- break;
-
- DEBUG_THREADS_PRINTF("Waiting at compute bs for next slice or end of frame\n");
-
- NOP(32);
-
- }
-
- DEBUG_THREADS_PRINTF("CBS thread:Got next slice/end of frame signal \n ");
-
- if((void *)ps_dec->ps_parse_cur_slice
- > (void *)ps_dec->ps_computebs_cur_slice)
- {
- ps_dec->ps_computebs_cur_slice++;
- ps_dec->u2_cur_slice_num_bs++;
- }
- else
- {
- /*Last slice in frame*/
break;
- }
-
}
-
- /*deblock remaining MBs*/
+ else
{
- UWORD32 u4_num_mbs;
+ ps_dec->ps_computebs_cur_slice++;
+ ps_dec->u2_cur_slice_num_bs++;
+ }
+ DEBUG_THREADS_PRINTF("CBS thread:Got next slice/end of frame signal \n ");
- u4_num_mbs = ps_dec->ps_cur_sps->u2_max_mb_addr
- - ps_dec->u4_cur_deblk_mb_num + 1;
+ }
- DEBUG_PERF_PRINTF("mbs left for deblocking= %d \n",u4_num_mbs);
+ if(ps_dec->u4_output_present &&
+ (3 == ps_dec->u4_num_cores) &&
+ (ps_dec->u4_fmt_conv_cur_row < ps_dec->s_disp_frame_info.u4_y_ht))
+ {
+ ps_dec->u4_fmt_conv_num_rows =
+ (ps_dec->s_disp_frame_info.u4_y_ht
+ - ps_dec->u4_fmt_conv_cur_row);
+ ih264d_format_convert(ps_dec, &(ps_dec->s_disp_op),
+ ps_dec->u4_fmt_conv_cur_row,
+ ps_dec->u4_fmt_conv_num_rows);
+ ps_dec->u4_fmt_conv_cur_row += ps_dec->u4_fmt_conv_num_rows;
- if(u4_num_mbs != 0)
- if(ps_dec->u2_skip_deblock == 0)
- ih264d_check_mb_map_deblk_wait(ps_dec, u4_num_mbs,
- ps_tfr_cxt);
- }
}
- ps_dec->u4_start_bs_deblk = 0;
- ithread_exit(0);
+
+
}
diff --git a/decoder/ih264d_thread_compute_bs.h b/decoder/ih264d_thread_compute_bs.h
index 1bef07f..e98423f 100644
--- a/decoder/ih264d_thread_compute_bs.h
+++ b/decoder/ih264d_thread_compute_bs.h
@@ -30,5 +30,9 @@ void ih264d_compute_bs_non_mbaff_thread(dec_struct_t * ps_dec,
dec_mb_info_t * ps_cur_mb_info,
UWORD32 u4_mb_num);
-void ih264d_computebs_deblk_thread(dec_struct_t *ps_dec);
+void ih264d_recon_deblk_thread(dec_struct_t *ps_dec);
+void ih264d_check_mb_map_deblk(dec_struct_t *ps_dec,
+ UWORD32 deblk_mb_grp,
+ tfr_ctxt_t *ps_tfr_cxt,
+ UWORD32 u4_check_mb_map);
#endif /* _IH264D_THREAD_COMPUTE_BS_H_ */
diff --git a/decoder/ih264d_thread_parse_decode.c b/decoder/ih264d_thread_parse_decode.c
index 1c9eb68..910183c 100644
--- a/decoder/ih264d_thread_parse_decode.c
+++ b/decoder/ih264d_thread_parse_decode.c
@@ -82,20 +82,18 @@ void ih264d_parse_tfr_nmb(dec_struct_t * ps_dec,
// copy into s_frmMbInfo
u4_mb_num = u4_n_mb_start;
- ps_dec->ps_parse_cur_slice->u4_num_mbs_done_in_slice += u1_num_mbs;
u4_mb_num = (ps_dec->u2_cur_mb_addr + 1) - u1_num_mbs;
for(i = 0; i < u1_num_mbs; i++)
{
- DATA_SYNC();
UPDATE_SLICE_NUM_MAP(ps_dec->pu2_slice_num_map, u4_mb_num,
ps_dec->u2_cur_slice_num);
+ DATA_SYNC();
UPDATE_MB_MAP_MBNUM_BYTE(ps_dec->pu1_dec_mb_map, u4_mb_num);
u4_mb_num++;
}
- DATA_SYNC();
/****************************************************************/
/* Check for End Of Row in Next iteration */
/****************************************************************/
@@ -160,16 +158,9 @@ void ih264d_parse_tfr_nmb(dec_struct_t * ps_dec,
ps_dec->ps_mv_left = ps_dec->ps_mv_cur
+ ps_dec->s_tran_addrecon.u2_mv_left_inc;
-
-
-
-
ps_dec->ps_mv_cur += (u1_num_mbs << 4);
ps_dec->u4_num_mbs_prev_nmb = u1_num_mbs;
-
- ps_dec->u4_dma_buf_idx = 0;
-
}
}
@@ -186,11 +177,8 @@ void ih264d_decode_tfr_nmb(dec_struct_t * ps_dec,
/****************************************************************/
/* Check for End Of Row in Next iteration */
/****************************************************************/
- u1_end_of_row_next =
- u1_num_mbs_next
- && ((u1_num_mbs_next)
- <= (ps_dec->u1_recon_mb_grp
- >> u1_mbaff));
+ u1_end_of_row_next = u1_num_mbs_next &&
+ ((u1_num_mbs_next) <= (ps_dec->u1_recon_mb_grp >> u1_mbaff));
/****************************************************************/
/* Transfer the Following things */
@@ -207,23 +195,12 @@ void ih264d_decode_tfr_nmb(dec_struct_t * ps_dec,
ih264d_transfer_mb_group_data(ps_dec, u1_num_mbs, u1_end_of_row,
u1_end_of_row_next);
- if(u1_end_of_row)
- {
- /* Reset the N-Mb Recon Buf Index to default Values */
- ps_dec->u2_mb_group_cols_y1 = ps_dec->u2_mb_group_cols_y;
- ps_dec->u2_mb_group_cols_cr1 = ps_dec->u2_mb_group_cols_cr;
- }
- /* If next N-Mb Group is the EndOfRow, set the N-Mb Recon Buf Index */
- else if(u1_end_of_row_next)
- {
- ps_dec->u2_mb_group_cols_y1 = (u1_num_mbs_next << 4) + 8;
- ps_dec->u2_mb_group_cols_cr1 = (u1_num_mbs_next << 3) + 8;
- }
}
-WORD32 ih264d_decode_recon_tfr_nmb_thread(dec_struct_t * ps_dec, UWORD8 u1_num_mbs, // number of MBs loop should run
- UWORD8 u1_num_mbs_next,
- UWORD8 u1_end_of_row)
+WORD32 ih264d_decode_recon_tfr_nmb_thread(dec_struct_t * ps_dec,
+ UWORD8 u1_num_mbs,
+ UWORD8 u1_num_mbs_next,
+ UWORD8 u1_end_of_row)
{
WORD32 i,j;
dec_mb_info_t * ps_cur_mb_info;
@@ -235,54 +212,65 @@ WORD32 ih264d_decode_recon_tfr_nmb_thread(dec_struct_t * ps_dec, UWORD8 u1_num_m
UWORD32 u4_cond;
UWORD16 u2_slice_num,u2_cur_dec_mb_num;
WORD32 ret;
-
+ UWORD32 u4_mb_num;
+ WORD32 nop_cnt = 8*128;
u1_slice_type = ps_dec->ps_decode_cur_slice->slice_type;
u1_B = (u1_slice_type == B_SLICE);
- u1_skip_th =
- ((u1_slice_type != I_SLICE) ?
+ u1_skip_th = ((u1_slice_type != I_SLICE) ?
(u1_B ? B_8x8 : PRED_8x8R0) : -1);
u1_ipcm_th = ((u1_slice_type != I_SLICE) ? (u1_B ? 23 : 5) : 0);
u2_cur_dec_mb_num = ps_dec->cur_dec_mb_num;
- /* N Mb MC Loop */
- for(i = 0; i < u1_num_mbs; i++)
+ while(1)
{
- DATA_SYNC();
- // check dec_mb_map
- UWORD32 yield_cnt = 0, u4_max_addr;
+ UWORD32 u4_max_mb = (UWORD32)(ps_dec->i2_dec_thread_mb_y + (1 << u1_mbaff)) * ps_dec->u2_frm_wd_in_mbs - 1;
+ u4_mb_num = u2_cur_dec_mb_num;
+ /*introducing 1 MB delay*/
+ u4_mb_num = MIN(u4_mb_num + u1_num_mbs + 1, u4_max_mb);
- u4_max_addr = ps_dec->ps_cur_sps->u2_max_mb_addr;
- while(1)
+ CHECK_MB_MAP_BYTE(u4_mb_num, ps_dec->pu1_dec_mb_map, u4_cond);
+ if(u4_cond)
{
- UWORD32 u4_mb_num = u2_cur_dec_mb_num;
-
- /*introducing 1 MB delay*/
- if(u4_mb_num < u4_max_addr)
- u4_mb_num = u4_mb_num + 1;
-
- CHECK_MB_MAP_BYTE(u4_mb_num, ps_dec->pu1_dec_mb_map, u4_cond);
- if(u4_cond)
+ break;
+ }
+ else
+ {
+ if(nop_cnt > 0)
{
- break;
+ nop_cnt -= 128;
+ NOP(128);
}
else
{
-
+ if(ps_dec->u4_output_present && (2 == ps_dec->u4_num_cores) &&
+ (ps_dec->u4_fmt_conv_cur_row < ps_dec->s_disp_frame_info.u4_y_ht))
{
- NOP(128);
-
+ ps_dec->u4_fmt_conv_num_rows =
+ MIN(FMT_CONV_NUM_ROWS,
+ (ps_dec->s_disp_frame_info.u4_y_ht
+ - ps_dec->u4_fmt_conv_cur_row));
+ ih264d_format_convert(ps_dec, &(ps_dec->s_disp_op),
+ ps_dec->u4_fmt_conv_cur_row,
+ ps_dec->u4_fmt_conv_num_rows);
+ ps_dec->u4_fmt_conv_cur_row += ps_dec->u4_fmt_conv_num_rows;
+ }
+ else
+ {
+ nop_cnt = 8*128;
+ ithread_yield();
}
-
- DEBUG_THREADS_PRINTF("waiting for mb mapcur_dec_mb_num = %d,ps_dec->u2_cur_mb_addr = %d\n",u2_cur_dec_mb_num,
- ps_dec->u2_cur_mb_addr);
-
}
}
+ }
+ /* N Mb MC Loop */
+ for(i = 0; i < u1_num_mbs; i++)
+ {
+ u4_mb_num = u2_cur_dec_mb_num;
GET_SLICE_NUM_MAP(ps_dec->pu2_slice_num_map, u2_cur_dec_mb_num,
u2_slice_num);
@@ -293,66 +281,56 @@ WORD32 ih264d_decode_recon_tfr_nmb_thread(dec_struct_t * ps_dec, UWORD8 u1_num_m
break;
}
- ps_cur_mb_info = &ps_dec->ps_frm_mb_info[u2_cur_dec_mb_num
- & PD_MB_BUF_SIZE_MOD];
+ ps_cur_mb_info = &ps_dec->ps_frm_mb_info[u2_cur_dec_mb_num];
ps_dec->u4_dma_buf_idx = 0;
ps_dec->u4_pred_info_idx = 0;
if(ps_cur_mb_info->u1_mb_type <= u1_skip_th)
{
+ WORD32 pred_cnt = 0;
+ pred_info_pkd_t *ps_pred_pkd;
+ UWORD32 u4_pred_info_pkd_idx;
+ WORD8 i1_pred;
- {
- WORD32 pred_cnt = 0;
- pred_info_pkd_t *ps_pred_pkd;
- UWORD32 u4_pred_info_pkd_idx;
- WORD8 i1_pred;
-
- u4_pred_info_pkd_idx = ps_cur_mb_info->u4_pred_info_pkd_idx;
+ u4_pred_info_pkd_idx = ps_cur_mb_info->u4_pred_info_pkd_idx;
- while(pred_cnt < ps_cur_mb_info->u1_num_pred_parts)
- {
-
- ps_pred_pkd = ps_dec->ps_pred_pkd + u4_pred_info_pkd_idx;
-
-
- ps_dec->p_form_mb_part_info_thread(ps_pred_pkd,ps_dec,
- ps_cur_mb_info->u2_mbx,ps_cur_mb_info->u2_mby,(i >> u1_mbaff),
- ps_cur_mb_info);
+ while(pred_cnt < ps_cur_mb_info->u1_num_pred_parts)
+ {
+ ps_pred_pkd = ps_dec->ps_pred_pkd + u4_pred_info_pkd_idx;
- u4_pred_info_pkd_idx++;
- pred_cnt++;
+ ps_dec->p_form_mb_part_info_thread(ps_pred_pkd,ps_dec,
+ ps_cur_mb_info->u2_mbx,
+ ps_cur_mb_info->u2_mby,
+ (i >> u1_mbaff),
+ ps_cur_mb_info);
- }
+ u4_pred_info_pkd_idx++;
+ pred_cnt++;
}
ps_dec->p_mc_dec_thread(ps_dec, ps_cur_mb_info);
}
else if(ps_cur_mb_info->u1_mb_type == MB_SKIP)
{
- {
- WORD32 pred_cnt = 0;
- pred_info_pkd_t *ps_pred_pkd;
- UWORD32 u4_pred_info_pkd_idx;
- WORD8 i1_pred;
-
- u4_pred_info_pkd_idx = ps_cur_mb_info->u4_pred_info_pkd_idx;
+ WORD32 pred_cnt = 0;
+ pred_info_pkd_t *ps_pred_pkd;
+ UWORD32 u4_pred_info_pkd_idx;
+ WORD8 i1_pred;
+ u4_pred_info_pkd_idx = ps_cur_mb_info->u4_pred_info_pkd_idx;
+ while(pred_cnt < ps_cur_mb_info->u1_num_pred_parts)
+ {
+ ps_pred_pkd = ps_dec->ps_pred_pkd + u4_pred_info_pkd_idx;
- while(pred_cnt < ps_cur_mb_info->u1_num_pred_parts)
- {
-
- ps_pred_pkd = ps_dec->ps_pred_pkd + u4_pred_info_pkd_idx;
-
-
- ps_dec->p_form_mb_part_info_thread(ps_pred_pkd,ps_dec,
- ps_cur_mb_info->u2_mbx,ps_cur_mb_info->u2_mby,(i >> u1_mbaff),
- ps_cur_mb_info);
-
+ ps_dec->p_form_mb_part_info_thread(ps_pred_pkd,ps_dec,
+ ps_cur_mb_info->u2_mbx,
+ ps_cur_mb_info->u2_mby,
+ (i >> u1_mbaff),
+ ps_cur_mb_info);
- u4_pred_info_pkd_idx++;
- pred_cnt++;
- }
+ u4_pred_info_pkd_idx++;
+ pred_cnt++;
}
/* Decode MB skip */
ps_dec->p_mc_dec_thread(ps_dec, ps_cur_mb_info);
@@ -363,61 +341,83 @@ WORD32 ih264d_decode_recon_tfr_nmb_thread(dec_struct_t * ps_dec, UWORD8 u1_num_m
/* N Mb IQ IT RECON Loop */
for(j = 0; j < i; j++)
- {
- DATA_SYNC();
-
-
- ps_cur_mb_info = &ps_dec->ps_frm_mb_info[ps_dec->cur_dec_mb_num
- & PD_MB_BUF_SIZE_MOD];
-
-
- if(ps_cur_mb_info->u1_mb_type <= u1_skip_th)
- {
- ih264d_process_inter_mb(ps_dec, ps_cur_mb_info, j);
- }
- else if(ps_cur_mb_info->u1_mb_type != MB_SKIP)
- {
- if((u1_ipcm_th + 25) != ps_cur_mb_info->u1_mb_type)
- {
- ps_cur_mb_info->u1_mb_type -= (u1_skip_th + 1);
- ret = ih264d_process_intra_mb(ps_dec, ps_cur_mb_info, j);
- if(ret != OK)
- return ret;
- }
- }
-
- if(ps_dec->u4_mb_level_deblk == 1)
- {
-
- ih264d_deblock_mb_level(ps_dec, ps_cur_mb_info, j);
- }
-
- if((ps_dec->u4_num_cores >= 3) && (u1_mbaff == 0))
- ih264d_copy_intra_pred_line(ps_dec, ps_cur_mb_info, j);
- if(u1_mbaff)
- {
- if(u4_update_mbaff)
- {
- UWORD32 u4_mb_num = ps_cur_mb_info->u2_mbx
- + ps_dec->u2_frm_wd_in_mbs
- * (ps_cur_mb_info->u2_mby >> 1);
- UPDATE_MB_MAP_MBNUM_BYTE(ps_dec->pu1_recon_mb_map, u4_mb_num);
- u4_update_mbaff = 0;
- }
- else
- {
- u4_update_mbaff = 1;
- }
- }
- else
- {
- UWORD32 u4_mb_num = ps_cur_mb_info->u2_mbx
- + ps_dec->u2_frm_wd_in_mbs * ps_cur_mb_info->u2_mby;
- UPDATE_MB_MAP_MBNUM_BYTE(ps_dec->pu1_recon_mb_map, u4_mb_num);
- }
- ps_dec->cur_dec_mb_num++;
+ {
+ ps_cur_mb_info = &ps_dec->ps_frm_mb_info[ps_dec->cur_dec_mb_num];
+
+ if((ps_dec->u4_num_cores == 2) || !ps_dec->i1_recon_in_thread3_flag)
+ {
+ if(ps_cur_mb_info->u1_mb_type <= u1_skip_th)
+ {
+ ih264d_process_inter_mb(ps_dec, ps_cur_mb_info, j);
+ }
+ else if(ps_cur_mb_info->u1_mb_type != MB_SKIP)
+ {
+ if((u1_ipcm_th + 25) != ps_cur_mb_info->u1_mb_type)
+ {
+ ps_cur_mb_info->u1_mb_type -= (u1_skip_th + 1);
+ ih264d_process_intra_mb(ps_dec, ps_cur_mb_info, j);
+ }
+ }
+
+
+ if(ps_dec->u4_use_intrapred_line_copy == 1)
+ ih264d_copy_intra_pred_line(ps_dec, ps_cur_mb_info, j);
+ }
+
+ DATA_SYNC();
+
+ if(u1_mbaff)
+ {
+ if(u4_update_mbaff)
+ {
+ UWORD32 u4_mb_num = ps_cur_mb_info->u2_mbx
+ + ps_dec->u2_frm_wd_in_mbs
+ * (ps_cur_mb_info->u2_mby >> 1);
+ UPDATE_MB_MAP_MBNUM_BYTE(ps_dec->pu1_recon_mb_map, u4_mb_num);
+ u4_update_mbaff = 0;
+ }
+ else
+ {
+ u4_update_mbaff = 1;
+ }
+ }
+ else
+ {
+ UWORD32 u4_mb_num = ps_cur_mb_info->u2_mbx
+ + ps_dec->u2_frm_wd_in_mbs * ps_cur_mb_info->u2_mby;
+ UPDATE_MB_MAP_MBNUM_BYTE(ps_dec->pu1_recon_mb_map, u4_mb_num);
+ }
+ ps_dec->cur_dec_mb_num++;
}
+ /*N MB deblocking*/
+ if(ps_dec->u4_nmb_deblk == 1)
+ {
+ UWORD32 u4_wd_y, u4_wd_uv;
+ tfr_ctxt_t *ps_tfr_cxt = &(ps_dec->s_tran_addrecon);
+ UWORD8 u1_field_pic_flag = ps_dec->ps_cur_slice->u1_field_pic_flag;
+ const WORD32 i4_cb_qp_idx_ofst =
+ ps_dec->ps_cur_pps->i1_chroma_qp_index_offset;
+ const WORD32 i4_cr_qp_idx_ofst =
+ ps_dec->ps_cur_pps->i1_second_chroma_qp_index_offset;
+
+ u4_wd_y = ps_dec->u2_frm_wd_y << u1_field_pic_flag;
+ u4_wd_uv = ps_dec->u2_frm_wd_uv << u1_field_pic_flag;
+
+ ps_cur_mb_info = &ps_dec->ps_frm_mb_info[ps_dec->u4_cur_deblk_mb_num];
+
+ ps_dec->u4_deblk_mb_x = ps_cur_mb_info->u2_mbx;
+ ps_dec->u4_deblk_mb_y = ps_cur_mb_info->u2_mby;
+
+
+ for(j = 0; j < i; j++)
+ {
+ ih264d_deblock_mb_nonmbaff(ps_dec, ps_tfr_cxt,
+ i4_cb_qp_idx_ofst, i4_cr_qp_idx_ofst,
+ u4_wd_y, u4_wd_uv);
+
+ }
+ }
/*handle the last mb in picture case*/
if(ps_dec->cur_dec_mb_num > ps_dec->ps_cur_sps->u2_max_mb_addr)
@@ -435,19 +435,13 @@ WORD32 ih264d_decode_recon_tfr_nmb_thread(dec_struct_t * ps_dec, UWORD8 u1_num_m
return OK;
}
-WORD32 ih264d_decode_slice_thread(dec_struct_t *ps_dec /* Decoder parameters */
-)
+WORD32 ih264d_decode_slice_thread(dec_struct_t *ps_dec)
{
- UWORD8 u1_num_mbs_next, u1_num_mbsleft, u1_end_of_row = 0; //, u1_slice_end, u1_tfr_n_mb, u1_decode_nmb;
+ UWORD8 u1_num_mbs_next, u1_num_mbsleft, u1_end_of_row = 0;
const UWORD32 i2_pic_wdin_mbs = ps_dec->u2_frm_wd_in_mbs;
- UWORD8 u1_mbaff, u1_num_mbs; //,uc_more_data_flag,u1_mb_idx;
+ UWORD8 u1_mbaff, u1_num_mbs;
UWORD16 u2_first_mb_in_slice;
-
- /*dec_bit_stream_t *const ps_bitstrm = ps_dec->ps_bitstrm;
- UWORD32 * pu4_bitstrm_buf = ps_bitstrm->pu4_buffer;
- UWORD32 *pu4_bitstrm_ofst = &ps_bitstrm->u4_ofst;*/
-
UWORD16 i16_mb_x, i16_mb_y;
UWORD8 u1_field_pic;
UWORD32 u4_frame_stride, x_offset, y_offset;
@@ -455,8 +449,46 @@ WORD32 ih264d_decode_slice_thread(dec_struct_t *ps_dec /* Decoder parameters */
tfr_ctxt_t *ps_trns_addr;
- if(ps_dec->ps_decode_cur_slice->slice_header_done != 2)
- return ERROR_INV_SLICE_HDR_T;
+ /*check for mb map of first mb in slice to ensure slice header is parsed*/
+ while(1)
+ {
+ UWORD32 u4_mb_num = ps_dec->cur_dec_mb_num;
+ UWORD32 u4_cond = 0;
+ WORD32 nop_cnt = 8 * 128;
+ CHECK_MB_MAP_BYTE(u4_mb_num, ps_dec->pu1_dec_mb_map, u4_cond);
+ if(u4_cond)
+ {
+ break;
+ }
+ else
+ {
+ if(nop_cnt > 0)
+ {
+ nop_cnt -= 128;
+ NOP(128);
+ }
+ else if(ps_dec->u4_output_present && (2 == ps_dec->u4_num_cores) &&
+ (ps_dec->u4_fmt_conv_cur_row < ps_dec->s_disp_frame_info.u4_y_ht))
+ {
+ ps_dec->u4_fmt_conv_num_rows =
+ MIN(FMT_CONV_NUM_ROWS,
+ (ps_dec->s_disp_frame_info.u4_y_ht
+ - ps_dec->u4_fmt_conv_cur_row));
+ ih264d_format_convert(ps_dec, &(ps_dec->s_disp_op),
+ ps_dec->u4_fmt_conv_cur_row,
+ ps_dec->u4_fmt_conv_num_rows);
+ ps_dec->u4_fmt_conv_cur_row += ps_dec->u4_fmt_conv_num_rows;
+ }
+ else
+ {
+ nop_cnt = 8*128;
+ ithread_yield();
+ }
+ DEBUG_THREADS_PRINTF("waiting for mb mapcur_dec_mb_num = %d,ps_dec->u2_cur_mb_addr = %d\n",u2_cur_dec_mb_num,
+ ps_dec->u2_cur_mb_addr);
+
+ }
+ }
@@ -469,19 +501,14 @@ WORD32 ih264d_decode_slice_thread(dec_struct_t *ps_dec /* Decoder parameters */
i16_mb_y <<= u1_mbaff;
ps_dec->i2_dec_thread_mb_y = i16_mb_y;
- /*if((i16_mb_x > (i2_pic_wdin_mbs - 1))
- || (i16_mb_y > ps_dec->u2_frm_ht_in_mbs - 1))
- {
- }*/
- if(ps_dec->cur_dec_mb_num == u2_first_mb_in_slice << u1_mbaff)
- {
- ps_dec->u2_mb_skip_error = 0;
- }
- else
+
+ ps_dec->cur_dec_mb_num = u2_first_mb_in_slice << u1_mbaff;
+
+ if((ps_dec->u4_num_cores == 2) || !ps_dec->i1_recon_in_thread3_flag)
{
- ps_dec->u2_mb_skip_error = 1;
+ ps_dec->pv_proc_tu_coeff_data =
+ (void *) ps_dec->ps_decode_cur_slice->pv_tu_coeff_data_start;
}
- ps_dec->cur_dec_mb_num = u2_first_mb_in_slice << u1_mbaff;
// recalculate recon pointers
u1_field_pic = ps_dec->ps_cur_slice->u1_field_pic_flag;
@@ -506,17 +533,6 @@ WORD32 ih264d_decode_slice_thread(dec_struct_t *ps_dec /* Decoder parameters */
ps_trns_addr->pu1_mb_u = ps_trns_addr->pu1_dest_u;
ps_trns_addr->pu1_mb_v = ps_trns_addr->pu1_dest_v;
- if(ps_dec->u4_mb_level_deblk == 1)
- {
- /*If it is not the first mb in row,the previous MB which needs to be deblocked
- * as there is delay of 1 MB*/
- if(i16_mb_x != 0)
- {
- ps_trns_addr->pu1_mb_y -= MB_SIZE;
- ps_trns_addr->pu1_mb_u -= BLK8x8SIZE * YUV420SP_FACTOR;
- ps_trns_addr->pu1_mb_v -= BLK8x8SIZE;
- }
- }
/**********Number of Mbs in Slice**********/
@@ -582,126 +598,49 @@ WORD32 ih264d_decode_slice_thread(dec_struct_t *ps_dec /* Decoder parameters */
void ih264d_decode_picture_thread(dec_struct_t *ps_dec )
{
-
ithread_set_name("ih264d_decode_picture_thread");
-
- // run the loop till all slices are decoded
-
while(1)
{
- if(ps_dec->u4_start_frame_decode)
+ /*Complete all writes before processing next slice*/
+
+ DEBUG_THREADS_PRINTF(" Entering decode slice\n");
+
+ ih264d_decode_slice_thread(ps_dec);
+ DEBUG_THREADS_PRINTF(" Exit ih264d_decode_slice_thread \n");
+
+
+ if(ps_dec->cur_dec_mb_num
+ > ps_dec->ps_cur_sps->u2_max_mb_addr)
{
+ /*Last slice in frame*/
break;
}
else
{
- NOP(32);
-
+ ps_dec->ps_decode_cur_slice++;
+ ps_dec->u2_cur_slice_num_dec_thread++;
}
- }
- DEBUG_THREADS_PRINTF("Got start of frame u4_flag\n");
-
- if(ps_dec->u4_start_frame_decode == 1)
- {
- while(1)
- {
- /*Complete all writes before processing next slice*/
- DATA_SYNC();
- /*wait untill all the slice params have been populated*/
- while(ps_dec->ps_decode_cur_slice->slice_header_done == 0)
- {
- NOP(32); DEBUG_THREADS_PRINTF(" waiting for slice header \n");
- }
-
- DEBUG_THREADS_PRINTF(" Entering decode slice\n");
-
- ih264d_decode_slice_thread(ps_dec);
- DEBUG_THREADS_PRINTF(" Exit ih264d_decode_slice_thread \n");
-
- /*Complete all writes before processing next slice*/
- DATA_SYNC();
-
- while(1)
- {
- volatile void * parse_addr, *dec_addr;
- volatile UWORD32 last_slice;
-
- parse_addr = (volatile void *)ps_dec->ps_parse_cur_slice;
- dec_addr = (volatile void *)ps_dec->ps_decode_cur_slice;
- last_slice = ps_dec->ps_decode_cur_slice->last_slice_in_frame;
-
- if(last_slice == 1)
- break;
-
- if(parse_addr != dec_addr)
- break;
-
- DEBUG_THREADS_PRINTF("Waiting for next slice or end of frame\n");
-
- NOP(32);
- }
-
- DEBUG_THREADS_PRINTF("Got next slice/end of frame signal \n ");
-
- if((void *)ps_dec->ps_parse_cur_slice
- > (void *)ps_dec->ps_decode_cur_slice)
- {
- ps_dec->ps_decode_cur_slice++;
- ps_dec->u2_cur_slice_num_dec_thread++;
- }
- else
- {
- /*Last slice in frame*/
- break;
- }
-
- }
}
-
- if(ps_dec->u4_output_present)
+ if(ps_dec->u4_output_present && (2 == ps_dec->u4_num_cores) &&
+ (ps_dec->u4_fmt_conv_cur_row < ps_dec->s_disp_frame_info.u4_y_ht))
{
- while(1)
- {
- volatile UWORD32 *u4_flag = &(ps_dec->as_fmt_conv_part[1].u4_flag);
-
- DEBUG_THREADS_PRINTF(" Format conversion loop in decode *u4_flag = %d\n",*u4_flag);
- if(2 == *u4_flag)
- {
- if(ps_dec->as_fmt_conv_part[1].u4_num_rows_y)
- ih264d_format_convert(
- ps_dec, &(ps_dec->s_disp_op),
- ps_dec->as_fmt_conv_part[1].u4_start_y,
- ps_dec->as_fmt_conv_part[1].u4_num_rows_y);
-
- break;
- }
- else if(1 == *u4_flag)
- {
- NOP(32);
-
- }
- else
- break;
-
- }
+ ps_dec->u4_fmt_conv_num_rows =
+ (ps_dec->s_disp_frame_info.u4_y_ht
+ - ps_dec->u4_fmt_conv_cur_row);
+ ih264d_format_convert(ps_dec, &(ps_dec->s_disp_op),
+ ps_dec->u4_fmt_conv_cur_row,
+ ps_dec->u4_fmt_conv_num_rows);
+ ps_dec->u4_fmt_conv_cur_row += ps_dec->u4_fmt_conv_num_rows;
}
ithread_exit(0);
-
}
void ih264d_signal_decode_thread(dec_struct_t *ps_dec)
{
if(ps_dec->u4_dec_thread_created == 1)
{
-
- if(ps_dec->u4_start_frame_decode == 1)
- ps_dec->ps_parse_cur_slice->last_slice_in_frame = 1;
- else
- /*to indicate frame in error*/
- ps_dec->u4_start_frame_decode = 2;
-
ithread_join(ps_dec->pv_dec_thread_handle, NULL);
ps_dec->u4_dec_thread_created = 0;
}
@@ -710,10 +649,6 @@ void ih264d_signal_bs_deblk_thread(dec_struct_t *ps_dec)
{
if(ps_dec->u4_bs_deblk_thread_created)
{
- /*signal error*/
- if(ps_dec->u4_start_bs_deblk == 0)
- ps_dec->u4_start_bs_deblk = 2;
-
ithread_join(ps_dec->pv_bs_deblk_thread_handle, NULL);
ps_dec->u4_bs_deblk_thread_created = 0;
}
diff --git a/decoder/ih264d_thread_parse_decode.h b/decoder/ih264d_thread_parse_decode.h
index 013b14f..5c2c762 100644
--- a/decoder/ih264d_thread_parse_decode.h
+++ b/decoder/ih264d_thread_parse_decode.h
@@ -36,7 +36,7 @@ void ih264d_decode_tfr_nmb(dec_struct_t *ps_dec,
UWORD8 u1_num_mbs,
UWORD8 u1_num_mbs_next,
UWORD8 u1_end_of_row);
-WORD32 ih264d_decode_recon_tfr_nmb_thread(dec_struct_t *ps_dec,
+WORD32 ih264d_decode_recon_tfr_nmb_thread(dec_struct_t * ps_dec,
UWORD8 u1_num_mbs,
UWORD8 u1_num_mbs_next,
UWORD8 u1_end_of_row);
diff --git a/decoder/ih264d_utils.c b/decoder/ih264d_utils.c
index f60d99c..31e9532 100644
--- a/decoder/ih264d_utils.c
+++ b/decoder/ih264d_utils.c
@@ -596,17 +596,8 @@ WORD32 ih264d_get_dpb_size(dec_seq_params_t *ps_seq, dec_struct_t *ps_dec)
WORD32 i4_size;
UWORD8 u1_level_idc;
-
u1_level_idc = ps_seq->u1_level_idc; //harcode for the time being
-
-#if DPB_HACK
- u1_level_idc = (u1_level_idc < 30) ? 30 : u1_level_idc;
- u1_level_idc = (u1_level_idc > 30) ? 30 : u1_level_idc;
-#endif
-
u1_level_idc = MIN(u1_level_idc, ps_dec->u4_level_at_init);
- //DPB_HACK
-
switch(u1_level_idc)
{
@@ -658,29 +649,10 @@ WORD32 ih264d_get_dpb_size(dec_seq_params_t *ps_seq, dec_struct_t *ps_dec)
default:
i4_size = 6912000;
break;
- /*
- * Not calling the error handler if the level has come wrong.
- */
- /*{
- UWORD32 i4_error_code;
- i4_error_code = ERROR_UNKNOWN_LEVEL ;
-
- }
- break;*/
}
- /* Temporary hack to run Tractor Cav/Cab/MbAff Profiler ps_bitstrm */
-#if DPB_HACK
- i4_size = 6912000;
-#endif
-
- i4_size =
- i4_size
- / (ps_seq->u2_frm_wd_in_mbs
- * (ps_seq->u2_frm_ht_in_mbs
- << (1
- - ps_seq->u1_frame_mbs_only_flag)));
- i4_size = i4_size / 384; // temp / (256 * 1.5)
+ i4_size /= (ps_seq->u2_frm_wd_in_mbs * (ps_seq->u2_frm_ht_in_mbs << (1 - ps_seq->u1_frame_mbs_only_flag)));
+ i4_size /= 384;
i4_size = MIN(i4_size, 16);
i4_size = MAX(i4_size, 1);
return (i4_size);
@@ -963,7 +935,6 @@ WORD32 ih264d_init_pic(dec_struct_t *ps_dec,
ps_dec->u2_frm_ht_in_mbs = (ps_dec->u2_pic_ht
>> (4 + ps_dec->ps_cur_slice->u1_field_pic_flag));
-
/***************************************************************************/
/* If change in Level or the required PicBuffers i4_size is more than the */
/* current one FREE the current PicBuffers and allocate affresh */
@@ -994,10 +965,6 @@ WORD32 ih264d_init_pic(dec_struct_t *ps_dec,
ps_dec->u1_max_dec_frame_buffering = ih264d_get_dpb_size(ps_seq,
ps_dec);
- if(ps_dec->u4_share_disp_buf)
- ps_dec->u1_max_dec_frame_buffering = MAX(
- ps_dec->u1_max_dec_frame_buffering, 5);
-
ps_dec->u1_max_dec_frame_buffering = MIN(
ps_dec->u1_max_dec_frame_buffering,
ps_dec->u4_num_ref_frames_at_init);
@@ -2070,10 +2037,6 @@ WORD32 ih264d_create_pic_buffers(UWORD8 u1_num_of_buf,
*
**************************************************************************
*/
-//WORD16 i16_res_coeff[2 * 3600 * (MB_LUM_SIZE + 2 * MB_CHROM_SIZE)];
-//pred_info_t s_pred_frame[4000 * 60];
-//pred_info_t *ps_pred_frame;
-
WORD16 ih264d_get_memory_dec_params(dec_struct_t * ps_dec)
{
struct MemReq s_MemReq;
@@ -2101,6 +2064,7 @@ WORD16 ih264d_get_memory_dec_params(dec_struct_t * ps_dec)
UWORD8 *pu1_buf;
ps_dec->ps_deblk_pic = ps_dec->ps_mem_tab[MEM_REC_DEBLK_MB_INFO].pv_base;
+ memset(ps_dec->ps_deblk_pic, 0, ps_dec->ps_mem_tab[MEM_REC_DEBLK_MB_INFO].u4_mem_size);
ps_dec->pu1_dec_mb_map = ps_dec->ps_mem_tab[MEM_REC_PARSE_MAP].pv_base;
@@ -2159,14 +2123,13 @@ WORD16 ih264d_get_memory_dec_params(dec_struct_t * ps_dec)
* ps_sps->u1_num_ref_frames);
u4_scratch_mem_used = ALIGN64(u4_scratch_mem_used);
- ps_dec->pu1_ref_buff = (void *)(pu1_scratch_mem_base
- + u4_scratch_mem_used);
- u4_scratch_mem_used += MAX_REF_BUF_SIZE;
+ ps_dec->pu1_ref_buff = pu1_scratch_mem_base + u4_scratch_mem_used + MAX_REF_BUF_SIZE;
+ u4_scratch_mem_used += MAX_REF_BUF_SIZE * 2;
u4_scratch_mem_used = ALIGN64(u4_scratch_mem_used);
ps_dec->pi2_pred1 =
(void *)(pu1_scratch_mem_base + u4_scratch_mem_used);
u4_scratch_mem_used += ((sizeof(WORD16)) * PRED_BUFFER_WIDTH
- * PRED_BUFFER_HEIGHT);
+ * PRED_BUFFER_HEIGHT * 2);
u4_scratch_mem_used = ALIGN64(u4_scratch_mem_used);
ps_dec->pu1_temp_mc_buffer = (void *)(pu1_scratch_mem_base
@@ -2220,19 +2183,12 @@ WORD16 ih264d_get_memory_dec_params(dec_struct_t * ps_dec)
ps_dec->ppv_map_ref_idx_to_poc += OFFSET_MAP_IDX_POC;
{
- UWORD32 u4_ref_size;
- u4_ref_size = MAX_REF_BUF_SIZE;
+ ps_dec->ps_parse_cur_slice = &(ps_dec->ps_dec_slice_buf[0]);
+ ps_dec->ps_decode_cur_slice = &(ps_dec->ps_dec_slice_buf[0]);
+ ps_dec->ps_computebs_cur_slice = &(ps_dec->ps_dec_slice_buf[0]);
- {
-
- ps_dec->ps_parse_cur_slice = &(ps_dec->ps_dec_slice_buf[0]);
- ps_dec->ps_decode_cur_slice = &(ps_dec->ps_dec_slice_buf[0]);
- ps_dec->ps_computebs_cur_slice = &(ps_dec->ps_dec_slice_buf[0]);
- ps_dec->ps_parse_cur_slice->slice_header_done = 0;
-
- ps_dec->ps_pred_start = ps_dec->ps_pred;
- ps_dec->u4_ref_buf_size = u4_ref_size;
- }
+ ps_dec->ps_pred_start = ps_dec->ps_pred;
+ ps_dec->u4_ref_buf_size = MAX_REF_BUF_SIZE;
}
{
@@ -2357,18 +2313,17 @@ WORD16 ih264d_get_memory_dec_params(dec_struct_t * ps_dec)
ps_dec->pu1_y_intra_pred_line = (void *)(pu1_persitent_mem_base
+ u4_persistent_mem_used);
- u4_persistent_mem_used += sizeof(UWORD8) * (u4_luma_wd + 16) * 2;
+ u4_persistent_mem_used += sizeof(UWORD8) * ((u4_wd_mbs + 1) * MB_SIZE) * 2;
u4_persistent_mem_used = ALIGN64(u4_persistent_mem_used);
ps_dec->pu1_u_intra_pred_line = (void *)(pu1_persitent_mem_base
+ u4_persistent_mem_used);
- u4_persistent_mem_used += sizeof(UWORD8) * (u4_chroma_wd + 16) * 2
- * YUV420SP_FACTOR;
+ u4_persistent_mem_used += sizeof(UWORD8) * ((u4_wd_mbs + 1) * MB_SIZE) * 2;
u4_persistent_mem_used = ALIGN64(u4_persistent_mem_used);
ps_dec->pu1_v_intra_pred_line = (void *)(pu1_persitent_mem_base
+ u4_persistent_mem_used);
- u4_persistent_mem_used += sizeof(UWORD8) * (u4_chroma_wd + 16) * 2;
+ u4_persistent_mem_used += sizeof(UWORD8) * ((u4_wd_mbs + 1) * MB_SIZE) * 2;
u4_persistent_mem_used = ALIGN64(u4_persistent_mem_used);
ps_dec->ps_nbr_mb_row = (void *)(pu1_persitent_mem_base
diff --git a/decoder/ivd.h b/decoder/ivd.h
index 955b81f..b30b0b1 100644
--- a/decoder/ivd.h
+++ b/decoder/ivd.h
@@ -228,7 +228,7 @@ typedef enum {
IVD_DEC_REF_BUF_NULL = 0x28,
IVD_DEC_FRM_SKIPPED = 0x29,
IVD_RES_CHANGED = 0x2a,
- IVD_DUMMY_ELEMENT_FOR_CODEC_EXTENSIONS = 0x300,
+ IVD_DUMMY_ELEMENT_FOR_CODEC_EXTENSIONS = 0xD0,
}IVD_ERROR_CODES_T;
diff --git a/encoder.arm64.mk b/encoder.arm64.mk
index 99dbb06..5d2d045 100644
--- a/encoder.arm64.mk
+++ b/encoder.arm64.mk
@@ -35,7 +35,7 @@ libavce_srcs_asm_arm64 += encoder/armv8/ih264e_half_pel_av8.s
#ME
libavce_srcs_asm_arm64 += encoder/armv8/ime_distortion_metrics_av8.s
-libavce_cflags_arm += -DDEFAULT_ARCH=D_ARCH_ARMV8_GENERIC
+libavce_cflags_arm64 += -DDEFAULT_ARCH=D_ARCH_ARMV8_GENERIC
else
libavce_cflags_arm64 += -DDISABLE_NEON -DDEFAULT_ARCH=D_ARCH_ARM_NONEON
endif
diff --git a/encoder.mips64.mk b/encoder.mips64.mk
index 5181fd9..4f48789 100644
--- a/encoder.mips64.mk
+++ b/encoder.mips64.mk
@@ -3,5 +3,5 @@ libavce_inc_dir_mips64 += $(LOCAL_PATH)/encoder/mips
libavce_srcs_c_mips64 += encoder/mips/ih264e_function_selector.c
-LOCAL_C_INCLUDES_mips64 += $(libavce_inc_dir_mips)
-LOCAL_SRC_FILES_mips64 += $(libavce_srcs_c_mips)
+LOCAL_C_INCLUDES_mips64 += $(libavce_inc_dir_mips64)
+LOCAL_SRC_FILES_mips64 += $(libavce_srcs_c_mips64)
diff --git a/encoder/ih264e_api.c b/encoder/ih264e_api.c
index e5c66ea..b68d6dc 100644
--- a/encoder/ih264e_api.c
+++ b/encoder/ih264e_api.c
@@ -2997,6 +2997,9 @@ static WORD32 ih264e_fill_num_mem_rec(void *pv_api_ip, void *pv_api_op)
/* size in bytes to slice index of all mbs of a frame */
total_size = ALIGN64(max_mb_cnt);
+ /* ih264e_update_proc_ctxt can overread by 1 at the end */
+ total_size += 1;
+
/* total size per each proc ctxt */
total_size *= MAX_CTXT_SETS;
ps_mem_rec->u4_mem_size = total_size;
diff --git a/encoder/ih264e_process.c b/encoder/ih264e_process.c
index fa67d84..7b39fe5 100644
--- a/encoder/ih264e_process.c
+++ b/encoder/ih264e_process.c
@@ -1435,23 +1435,23 @@ IH264E_ERROR_T ih264e_dblk_pad_hpel_processing_n_mbs(process_ctxt_t *ps_proc,
{
i4_n_mb_process_count = MIN(i4_mb_x - (ps_n_mb_ctxt->i4_mb_x - 1), i4_n_mbs);
- u4_deblk_prev_row = 1;
-
- /* checking whether the top rows are deblocked */
- for (col = 0; col < i4_n_mb_process_count; col++)
- {
- u4_deblk_prev_row &= pu1_deblk_map_prev_row[ps_deblk->i4_mb_x + col];
- }
-
- /* checking whether the top right MB is deblocked */
- if ((ps_deblk->i4_mb_x + i4_n_mb_process_count) != ps_proc->i4_wd_mbs)
- {
- u4_deblk_prev_row &= pu1_deblk_map_prev_row[ps_deblk->i4_mb_x + i4_n_mb_process_count];
- }
-
/* performing deblocking for required number of MBs */
if ((i4_mb_y > 0) && (ps_proc->u4_disable_deblock_level != 1))
{
+ u4_deblk_prev_row = 1;
+
+ /* checking whether the top rows are deblocked */
+ for (col = 0; col < i4_n_mb_process_count; col++)
+ {
+ u4_deblk_prev_row &= pu1_deblk_map_prev_row[ps_deblk->i4_mb_x + col];
+ }
+
+ /* checking whether the top right MB is deblocked */
+ if ((ps_deblk->i4_mb_x + i4_n_mb_process_count) != ps_proc->i4_wd_mbs)
+ {
+ u4_deblk_prev_row &= pu1_deblk_map_prev_row[ps_deblk->i4_mb_x + i4_n_mb_process_count];
+ }
+
/* Top or Top right MBs not deblocked */
if ((u4_deblk_prev_row != 1) && (i4_mb_y > 0))
{
diff --git a/encoder/ih264e_utils.c b/encoder/ih264e_utils.c
index f0086cb..3657f33 100644
--- a/encoder/ih264e_utils.c
+++ b/encoder/ih264e_utils.c
@@ -225,6 +225,14 @@ WORD32 ih264e_get_lvl_idx(WORD32 level)
{
lvl_idx = 12;
}
+ else if (level < IH264_LEVEL_51)
+ {
+ lvl_idx = 13;
+ }
+ else
+ {
+ lvl_idx = 14;
+ }
return (lvl_idx);
}
@@ -366,7 +374,7 @@ WORD32 ih264e_get_total_pic_buf_size(WORD32 pic_size,
size = num_samples * max_num_bufs;
/* Account for padding area */
- size += ((pad * pad) + pad * (max_wd + min_ht)) * max_num_bufs;
+ size += ((pad * pad) + pad * (max_wd + min_ht)) * 3 / 2 * max_num_bufs;
return size;
}
diff --git a/encoder/x86/ih264e_function_selector_sse42.c b/encoder/x86/ih264e_function_selector_sse42.c
index 6fa6308..d953c76 100644
--- a/encoder/x86/ih264e_function_selector_sse42.c
+++ b/encoder/x86/ih264e_function_selector_sse42.c
@@ -112,7 +112,6 @@ void ih264e_init_function_ptr_sse42(codec_t *ps_codec)
WORD32 i;
process_ctxt_t *ps_proc = NULL;
me_ctxt_t *ps_me_ctxt = NULL;
- printf("Enabling SSE42 functions\n");
/* Init luma forward transform fn ptr */
ps_codec->pf_resi_trans_quant_4x4 = ih264_resi_trans_quant_4x4_sse42;
diff --git a/encoder/x86/ih264e_function_selector_ssse3.c b/encoder/x86/ih264e_function_selector_ssse3.c
index 7401e53..4eb4c7b 100644
--- a/encoder/x86/ih264e_function_selector_ssse3.c
+++ b/encoder/x86/ih264e_function_selector_ssse3.c
@@ -109,7 +109,6 @@
*/
void ih264e_init_function_ptr_ssse3(codec_t *ps_codec)
{
- printf("Enabling SSSE3 functions\n");
/* Init function pointers for intra pred leaf level functions luma
* Intra 16x16 */
diff --git a/test/Android.mk b/test/Android.mk
index 0085832..adb14f0 100644
--- a/test/Android.mk
+++ b/test/Android.mk
@@ -6,3 +6,4 @@ include $(LOCAL_PATH)/encoder.mk
# decoder
include $(LOCAL_PATH)/decoder.mk
+
diff --git a/test/decoder/main.c b/test/decoder/main.c
index 0076ce9..921c240 100644
--- a/test/decoder/main.c
+++ b/test/decoder/main.c
@@ -64,6 +64,8 @@
#include <sys/time.h>
#endif
+
+
#define ALIGN8(x) ((((x) + 7) >> 3) << 3)
#define NUM_DISPLAY_BUFFERS 4
#define DEFAULT_FPS 30
@@ -952,6 +954,7 @@ void dump_output(vid_dec_ctx_t *ps_app_ctx,
{
UWORD8 *buf;
+
buf = (UWORD8 *)s_dump_disp_frm_buf.pv_y_buf;
for(i = 0; i < s_dump_disp_frm_buf.u4_y_ht; i++)
{
@@ -2271,6 +2274,38 @@ int main(WORD32 argc, CHAR *argv[])
codec_exit(ac_error_str);
}
+
+ /*****************************************************************************/
+ /* set stride */
+ /*****************************************************************************/
+ {
+ ivd_ctl_set_config_ip_t s_ctl_ip;
+ ivd_ctl_set_config_op_t s_ctl_op;
+
+
+ s_ctl_ip.u4_disp_wd = STRIDE;
+ if(1 == s_app_ctx.display)
+ s_ctl_ip.u4_disp_wd = s_app_ctx.get_stride();
+
+ s_ctl_ip.e_frm_skip_mode = IVD_SKIP_NONE;
+ s_ctl_ip.e_frm_out_mode = IVD_DECODE_FRAME_OUT;
+ s_ctl_ip.e_vid_dec_mode = IVD_DECODE_HEADER;
+ s_ctl_ip.e_cmd = IVD_CMD_VIDEO_CTL;
+ s_ctl_ip.e_sub_cmd = IVD_CMD_CTL_SETPARAMS;
+ s_ctl_ip.u4_size = sizeof(ivd_ctl_set_config_ip_t);
+ s_ctl_op.u4_size = sizeof(ivd_ctl_set_config_op_t);
+
+ ret = ivd_api_function((iv_obj_t*)codec_obj, (void *)&s_ctl_ip,
+ (void *)&s_ctl_op);
+ if(ret != IV_SUCCESS)
+ {
+ sprintf(ac_error_str,
+ "\nError in setting the stride");
+ codec_exit(ac_error_str);
+ }
+ }
+
+
/*****************************************************************************/
/* Input and output buffer allocation */
/*****************************************************************************/
@@ -2470,7 +2505,7 @@ int main(WORD32 argc, CHAR *argv[])
if(ret != IV_SUCCESS)
{
- printf("Error in header decode %x\n", s_video_decode_op.u4_error_code);
+ printf("Error in header decode 0x%x\n", s_video_decode_op.u4_error_code);
// codec_exit(ac_error_str);
}