diff --git a/dlls/dwrite/Makefile.in b/dlls/dwrite/Makefile.in index c71441965ae..581ac535d20 100644 --- a/dlls/dwrite/Makefile.in +++ b/dlls/dwrite/Makefile.in @@ -7,5 +7,6 @@ C_SRCS = \ font.c \ gdiinterop.c \ layout.c \ + linebreak.c \ main.c \ opentype.c diff --git a/dlls/dwrite/analyzer.c b/dlls/dwrite/analyzer.c index 45114026925..740b61edfc8 100644 --- a/dlls/dwrite/analyzer.c +++ b/dlls/dwrite/analyzer.c @@ -1,7 +1,8 @@ /* * Text analyzer * - * Copyright 2012 Nikolay Sivov for CodeWeavers + * Copyright 2011 Aric Stewart for CodeWeavers + * Copyright 2012, 2014 Nikolay Sivov for CodeWeavers * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -25,6 +26,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(dwrite); +extern const unsigned short wine_linebreak_table[]; + enum scriptcode { Script_Arabic = 0, Script_Armenian = 1, @@ -304,6 +307,415 @@ static HRESULT analyze_script(const WCHAR *text, UINT32 len, IDWriteTextAnalysis return IDWriteTextAnalysisSink_SetScriptAnalysis(sink, pos, length, &sa); } +struct linebreaking_state { + DWRITE_LINE_BREAKPOINT *breakpoints; + UINT32 count; +}; + +enum BreakConditionLocation { + BreakConditionBefore, + BreakConditionAfter +}; + +enum linebreaking_classes { + b_BK = 1, + b_CR, + b_LF, + b_CM, + b_SG, + b_GL, + b_CB, + b_SP, + b_ZW, + b_NL, + b_WJ, + b_JL, + b_JV, + b_JT, + b_H2, + b_H3, + b_XX, + b_OP, + b_CL, + b_CP, + b_QU, + b_NS, + b_EX, + b_SY, + b_IS, + b_PR, + b_PO, + b_NU, + b_AL, + b_ID, + b_IN, + b_HY, + b_BB, + b_BA, + b_SA, + b_AI, + b_B2, + b_HL, + b_CJ, + b_RI +}; + +/* "Can break" is a weak condition, stronger "may not break" and "must break" override it. Initially all conditions are + set to "can break" and could only be changed once. */ +static inline void set_break_condition(UINT32 pos, enum BreakConditionLocation location, DWRITE_BREAK_CONDITION condition, + struct linebreaking_state *state) +{ + if (location == BreakConditionBefore) { + if (state->breakpoints[pos].breakConditionBefore != DWRITE_BREAK_CONDITION_CAN_BREAK) + return; + state->breakpoints[pos].breakConditionBefore = condition; + if (pos > 0) + state->breakpoints[pos-1].breakConditionAfter = condition; + } + else { + if (state->breakpoints[pos].breakConditionAfter != DWRITE_BREAK_CONDITION_CAN_BREAK) + return; + state->breakpoints[pos].breakConditionAfter = condition; + if (pos + 1 < state->count) + state->breakpoints[pos+1].breakConditionBefore = condition; + } +} + +static inline WCHAR get_table_entry(const unsigned short *table, WCHAR ch) +{ + return table[table[table[ch >> 8] + ((ch >> 4) & 0x0f)] + (ch & 0xf)]; +} + +static HRESULT analyze_linebreaks(const WCHAR *text, UINT32 count, DWRITE_LINE_BREAKPOINT *breakpoints) +{ + struct linebreaking_state state; + short *break_class; + int i, j; + + break_class = heap_alloc(count*sizeof(short)); + if (!break_class) + return E_OUTOFMEMORY; + + state.breakpoints = breakpoints; + state.count = count; + + /* LB31 - allow breaks everywhere. It will be overridden if needed as + other rules dictate. */ + for (i = 0; i < count; i++) + { + break_class[i] = get_table_entry(wine_linebreak_table, text[i]); + + breakpoints[i].breakConditionBefore = DWRITE_BREAK_CONDITION_CAN_BREAK; + breakpoints[i].breakConditionAfter = DWRITE_BREAK_CONDITION_CAN_BREAK; + breakpoints[i].isWhitespace = break_class[i] == b_BK || break_class[i] == b_ZW || break_class[i] == b_SP || isspaceW(text[i]); + breakpoints[i].isSoftHyphen = FALSE; + breakpoints[i].padding = 0; + + /* LB1 - resolve some classes. TODO: use external algorithms for these classes. */ + switch (break_class[i]) + { + case b_AI: + case b_SA: + case b_SG: + case b_XX: + break_class[i] = b_AL; + break; + case b_CJ: + break_class[i] = b_NS; + break; + } + } + + /* LB2 - never break at the start */ + set_break_condition(0, BreakConditionBefore, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + /* LB3 - always break at the end. This one is ignored. */ + + for (i = 0; i < count; i++) + { + switch (break_class[i]) + { + /* LB4 - LB6 */ + case b_CR: + /* LB5 - don't break CR x LF */ + if (i < count-1 && break_class[i+1] == b_LF) + { + set_break_condition(i, BreakConditionBefore, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + break; + } + case b_LF: + case b_NL: + case b_BK: + /* LB4 - LB5 - always break after hard breaks */ + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MUST_BREAK, &state); + /* LB6 - do not break before hard breaks */ + set_break_condition(i, BreakConditionBefore, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + break; + /* LB7 - do not break before spaces */ + case b_SP: + set_break_condition(i, BreakConditionBefore, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + break; + case b_ZW: + set_break_condition(i, BreakConditionBefore, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + /* LB8 - break before character after zero-width space, skip spaces inbetween */ + while (i < count-1 && break_class[i+1] == b_SP) + i++; + set_break_condition(i, BreakConditionBefore, DWRITE_BREAK_CONDITION_CAN_BREAK, &state); + break; + } + } + + /* LB9 - LB10 */ + for (i = 0; i < count; i++) + { + if (break_class[i] == b_CM) + { + if (i > 0) + { + switch (break_class[i-1]) + { + case b_SP: + case b_BK: + case b_CR: + case b_LF: + case b_NL: + case b_ZW: + break_class[i] = b_AL; + break; + default: + break_class[i] = break_class[i-1]; + } + } + else break_class[i] = b_AL; + } + } + + for (i = 0; i < count; i++) + { + switch (break_class[i]) + { + /* LB11 - don't break before and after word joiner */ + case b_WJ: + set_break_condition(i, BreakConditionBefore, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + break; + /* LB12 - don't break after glue */ + case b_GL: + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + /* LB12a */ + if (i > 0) + { + if (break_class[i-1] != b_SP && break_class[i-1] != b_BA && break_class[i-1] != b_HY) + set_break_condition(i, BreakConditionBefore, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + } + break; + /* LB13 */ + case b_CL: + case b_CP: + case b_EX: + case b_IS: + case b_SY: + set_break_condition(i, BreakConditionBefore, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + break; + /* LB14 */ + case b_OP: + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + while (i < count-1 && break_class[i+1] == b_SP) { + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + i++; + } + break; + /* LB15 */ + case b_QU: + j = i+1; + while (j < count-1 && break_class[j] == b_SP) + j++; + if (break_class[j] == b_OP) + for (; j > i; j--) + set_break_condition(j, BreakConditionBefore, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + break; + /* LB16 */ + case b_NS: + j = i-1; + while(j > 0 && break_class[j] == b_SP) + j--; + if (break_class[j] == b_CL || break_class[j] == b_CP) + for (j++; j <= i; j++) + set_break_condition(j, BreakConditionBefore, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + break; + /* LB17 */ + case b_B2: + j = i+1; + while (j < count && break_class[j] == b_SP) + j++; + if (break_class[j] == b_B2) + for (; j > i; j--) + set_break_condition(j, BreakConditionBefore, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + break; + } + } + + for (i = 0; i < count; i++) + { + switch(break_class[i]) + { + /* LB18 - break is allowed after space */ + case b_SP: + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_CAN_BREAK, &state); + break; + /* LB19 - don't break before or after quotation mark */ + case b_QU: + set_break_condition(i, BreakConditionBefore, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + break; + /* LB20 */ + case b_CB: + set_break_condition(i, BreakConditionBefore, DWRITE_BREAK_CONDITION_CAN_BREAK, &state); + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_CAN_BREAK, &state); + break; + /* LB21 */ + case b_BA: + case b_HY: + case b_NS: + set_break_condition(i, BreakConditionBefore, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + break; + case b_BB: + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + break; + /* LB21a */ + case b_HL: + if (i < count-2) + switch (break_class[i+1]) + { + case b_HY: + case b_BA: + set_break_condition(i+1, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + } + break; + /* LB22 */ + case b_IN: + if (i > 0) + { + switch (break_class[i-1]) + { + case b_AL: + case b_HL: + case b_ID: + case b_IN: + case b_NU: + set_break_condition(i, BreakConditionBefore, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + } + } + break; + } + + if (i < count-1) + { + /* LB23 */ + if ((break_class[i] == b_ID && break_class[i+1] == b_PO) || + (break_class[i] == b_AL && break_class[i+1] == b_NU) || + (break_class[i] == b_HL && break_class[i+1] == b_NU) || + (break_class[i] == b_NU && break_class[i+1] == b_AL) || + (break_class[i] == b_NU && break_class[i+1] == b_HL)) + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + /* LB24 */ + if ((break_class[i] == b_PR && break_class[i+1] == b_ID) || + (break_class[i] == b_PR && break_class[i+1] == b_AL) || + (break_class[i] == b_PR && break_class[i+1] == b_HL) || + (break_class[i] == b_PO && break_class[i+1] == b_AL) || + (break_class[i] == b_PO && break_class[i+1] == b_HL)) + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + + /* LB25 */ + if ((break_class[i] == b_CL && break_class[i+1] == b_PO) || + (break_class[i] == b_CP && break_class[i+1] == b_PO) || + (break_class[i] == b_CL && break_class[i+1] == b_PR) || + (break_class[i] == b_CP && break_class[i+1] == b_PR) || + (break_class[i] == b_NU && break_class[i+1] == b_PO) || + (break_class[i] == b_NU && break_class[i+1] == b_PR) || + (break_class[i] == b_PO && break_class[i+1] == b_OP) || + (break_class[i] == b_PO && break_class[i+1] == b_NU) || + (break_class[i] == b_PR && break_class[i+1] == b_OP) || + (break_class[i] == b_PR && break_class[i+1] == b_NU) || + (break_class[i] == b_HY && break_class[i+1] == b_NU) || + (break_class[i] == b_IS && break_class[i+1] == b_NU) || + (break_class[i] == b_NU && break_class[i+1] == b_NU) || + (break_class[i] == b_SY && break_class[i+1] == b_NU)) + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + + /* LB26 */ + if (break_class[i] == b_JL) + { + switch (break_class[i+1]) + { + case b_JL: + case b_JV: + case b_H2: + case b_H3: + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + } + } + if ((break_class[i] == b_JV || break_class[i] == b_H2) && + (break_class[i+1] == b_JV || break_class[i+1] == b_JT)) + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + if ((break_class[i] == b_JT || break_class[i] == b_H3) && + break_class[i+1] == b_JT) + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + + /* LB27 */ + switch (break_class[i]) + { + case b_JL: + case b_JV: + case b_JT: + case b_H2: + case b_H3: + if (break_class[i+1] == b_IN || break_class[i+1] == b_PO) + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + } + if (break_class[i] == b_PO) + { + switch (break_class[i+1]) + { + case b_JL: + case b_JV: + case b_JT: + case b_H2: + case b_H3: + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + } + } + + /* LB28 */ + if ((break_class[i] == b_AL && break_class[i+1] == b_AL) || + (break_class[i] == b_AL && break_class[i+1] == b_HL) || + (break_class[i] == b_HL && break_class[i+1] == b_AL) || + (break_class[i] == b_HL && break_class[i+1] == b_HL)) + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + + /* LB29 */ + if ((break_class[i] == b_IS && break_class[i+1] == b_AL) || + (break_class[i] == b_IS && break_class[i+1] == b_HL)) + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + + /* LB30 */ + if ((break_class[i] == b_AL || break_class[i] == b_HL || break_class[i] == b_NU) && + break_class[i+1] == b_OP) + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + if (break_class[i] == b_CP && + (break_class[i+1] == b_AL || break_class[i] == b_HL || break_class[i] == b_NU)) + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + + /* LB30a */ + if (break_class[i] == b_RI && break_class[i+1] == b_RI) + set_break_condition(i, BreakConditionAfter, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, &state); + } + } + + heap_free(break_class); + return S_OK; +} + static HRESULT WINAPI dwritetextanalyzer_QueryInterface(IDWriteTextAnalyzer *iface, REFIID riid, void **obj) { TRACE("(%s %p)\n", debugstr_guid(riid), obj); @@ -361,8 +773,62 @@ static HRESULT WINAPI dwritetextanalyzer_AnalyzeNumberSubstitution(IDWriteTextAn static HRESULT WINAPI dwritetextanalyzer_AnalyzeLineBreakpoints(IDWriteTextAnalyzer *iface, IDWriteTextAnalysisSource* source, UINT32 position, UINT32 length, IDWriteTextAnalysisSink* sink) { - FIXME("(%p %u %u %p): stub\n", source, position, length, sink); - return E_NOTIMPL; + DWRITE_LINE_BREAKPOINT *breakpoints = NULL; + WCHAR *buff = NULL; + const WCHAR *text; + HRESULT hr; + UINT32 len; + + TRACE("(%p %u %u %p)\n", source, position, length, sink); + + if (length == 0) + return S_OK; + + /* get some, check for length */ + text = NULL; + len = 0; + hr = IDWriteTextAnalysisSource_GetTextAtPosition(source, position, &text, &len); + if (FAILED(hr)) return hr; + + if (len < length) { + UINT32 read; + + buff = heap_alloc(length*sizeof(WCHAR)); + if (!buff) + return E_OUTOFMEMORY; + memcpy(buff, text, len*sizeof(WCHAR)); + read = len; + + while (read < length && text) { + text = NULL; + len = 0; + hr = IDWriteTextAnalysisSource_GetTextAtPosition(source, read, &text, &len); + if (FAILED(hr)) + goto done; + memcpy(&buff[read], text, min(len, length-read)*sizeof(WCHAR)); + read += len; + } + + text = buff; + } + + breakpoints = heap_alloc(length*sizeof(*breakpoints)); + if (!breakpoints) { + hr = E_OUTOFMEMORY; + goto done; + } + + hr = analyze_linebreaks(text, length, breakpoints); + if (FAILED(hr)) + goto done; + + hr = IDWriteTextAnalysisSink_SetLineBreakpoints(sink, position, length, breakpoints); + +done: + heap_free(breakpoints); + heap_free(buff); + + return hr; } static HRESULT WINAPI dwritetextanalyzer_GetGlyphs(IDWriteTextAnalyzer *iface, diff --git a/dlls/dwrite/linebreak.c b/dlls/dwrite/linebreak.c new file mode 100644 index 00000000000..a0452c98728 --- /dev/null +++ b/dlls/dwrite/linebreak.c @@ -0,0 +1,914 @@ +/* Unicode Line Break Properties */ +/* generated from http://www.unicode.org/Public/7.0.0/ucd/LineBreak.txt */ +/* DO NOT EDIT!! */ + +const unsigned short wine_linebreak_table[7232] = +{ + /* level 1 offsets */ + 0x0100, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, 0x0170, + 0x0180, 0x0190, 0x01a0, 0x01b0, 0x01c0, 0x01d0, 0x01e0, 0x01f0, + 0x0200, 0x0210, 0x0220, 0x0230, 0x0240, 0x0110, 0x0250, 0x0260, + 0x0270, 0x0280, 0x0290, 0x02a0, 0x02b0, 0x02c0, 0x0110, 0x02d0, + 0x02e0, 0x02f0, 0x0300, 0x0310, 0x0320, 0x0330, 0x0340, 0x0350, + 0x0110, 0x0360, 0x0110, 0x0370, 0x0380, 0x0390, 0x03a0, 0x03b0, + 0x03c0, 0x03d0, 0x03e0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, + 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, + 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, + 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x0400, 0x03f0, 0x03f0, + 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, + 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, + 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, + 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, + 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, + 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, + 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, + 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, + 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, + 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, 0x03f0, + 0x0410, 0x03f0, 0x03f0, 0x03f0, 0x0420, 0x0110, 0x0430, 0x0440, + 0x0450, 0x0460, 0x0470, 0x0480, 0x0490, 0x04a0, 0x04b0, 0x04c0, + 0x04d0, 0x04e0, 0x04f0, 0x0490, 0x04a0, 0x04b0, 0x04c0, 0x04d0, + 0x04e0, 0x04f0, 0x0490, 0x04a0, 0x04b0, 0x04c0, 0x04d0, 0x04e0, + 0x04f0, 0x0490, 0x04a0, 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0, + 0x0490, 0x04a0, 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x0490, + 0x04a0, 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x0490, 0x0500, + 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, 0x0510, + 0x0520, 0x0520, 0x0520, 0x0520, 0x0520, 0x0520, 0x0520, 0x0520, + 0x0520, 0x0520, 0x0520, 0x0520, 0x0520, 0x0520, 0x0520, 0x0520, + 0x0520, 0x0520, 0x0520, 0x0520, 0x0520, 0x0520, 0x0520, 0x0520, + 0x0520, 0x03f0, 0x03f0, 0x0530, 0x0110, 0x0540, 0x0550, 0x0560, + /* level 2 offsets */ + 0x0570, 0x0580, 0x0590, 0x05a0, 0x05b0, 0x05c0, 0x05b0, 0x05d0, + 0x05e0, 0x0580, 0x05f0, 0x0600, 0x05b0, 0x0610, 0x05b0, 0x0610, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0620, 0x0630, 0x05b0, 0x05b0, + 0x0580, 0x0580, 0x0580, 0x0580, 0x0640, 0x0650, 0x0660, 0x0670, + 0x0680, 0x05b0, 0x0690, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x06a0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x06b0, 0x05b0, 0x06c0, 0x06b0, 0x05b0, + 0x06d0, 0x06e0, 0x0580, 0x06f0, 0x0700, 0x0710, 0x0720, 0x0730, + 0x0740, 0x0750, 0x05b0, 0x05b0, 0x0760, 0x0580, 0x0770, 0x0780, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0790, 0x07a0, 0x07b0, + 0x07c0, 0x07d0, 0x05b0, 0x0580, 0x07e0, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x07f0, 0x0800, 0x07b0, 0x05b0, 0x0760, 0x0810, + 0x05b0, 0x0820, 0x0830, 0x0840, 0x05b0, 0x0850, 0x0860, 0x0860, + 0x0860, 0x0860, 0x05b0, 0x0870, 0x0860, 0x0860, 0x0880, 0x0580, + 0x0890, 0x05b0, 0x05b0, 0x08a0, 0x0580, 0x08b0, 0x08c0, 0x05b0, + 0x08d0, 0x08e0, 0x08f0, 0x0900, 0x0910, 0x0920, 0x0930, 0x0940, + 0x0950, 0x08e0, 0x08f0, 0x0960, 0x0970, 0x0980, 0x0990, 0x09a0, + 0x09b0, 0x0690, 0x08f0, 0x09c0, 0x09d0, 0x09e0, 0x0930, 0x09f0, + 0x0a00, 0x08e0, 0x08f0, 0x09c0, 0x0a10, 0x0a20, 0x0930, 0x0a30, + 0x0a40, 0x0a50, 0x0a60, 0x0a70, 0x0a80, 0x0a90, 0x0990, 0x0aa0, + 0x0ab0, 0x0ac0, 0x08f0, 0x0ad0, 0x0ae0, 0x0af0, 0x0930, 0x0b00, + 0x0b10, 0x0ac0, 0x08f0, 0x0b20, 0x0ae0, 0x0b30, 0x0930, 0x0b40, + 0x0b10, 0x0ac0, 0x05b0, 0x0b50, 0x0b60, 0x0b70, 0x0930, 0x0b80, + 0x0b90, 0x0ba0, 0x05b0, 0x0bb0, 0x0bc0, 0x0bd0, 0x0990, 0x0be0, + 0x0bf0, 0x0c00, 0x0c00, 0x0c10, 0x0c20, 0x0c30, 0x0860, 0x0860, + 0x0c40, 0x0c50, 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0860, 0x0860, + 0x0ca0, 0x0cb0, 0x07b0, 0x0cc0, 0x0cd0, 0x05b0, 0x0ce0, 0x0cf0, + 0x0d00, 0x0d10, 0x0580, 0x0d20, 0x0d30, 0x0d40, 0x0860, 0x0860, + 0x0c00, 0x0c00, 0x0c00, 0x0c00, 0x0d50, 0x0c00, 0x0c00, 0x0c00, + 0x0c00, 0x0d60, 0x05b0, 0x05b0, 0x0d70, 0x05b0, 0x05b0, 0x05b0, + 0x0d80, 0x0d80, 0x0d80, 0x0d80, 0x0d80, 0x0d80, 0x0d90, 0x0d90, + 0x0d90, 0x0d90, 0x0da0, 0x0db0, 0x0db0, 0x0db0, 0x0db0, 0x0db0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0dc0, 0x0dd0, 0x05b0, 0x05b0, + 0x0dc0, 0x05b0, 0x05b0, 0x0de0, 0x0df0, 0x0e00, 0x05b0, 0x05b0, + 0x05b0, 0x0df0, 0x05b0, 0x05b0, 0x05b0, 0x0e10, 0x0e20, 0x0ce0, + 0x05b0, 0x0e30, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e40, + 0x0e50, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x0e50, 0x0e60, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e70, 0x0e80, + 0x0e90, 0x0ea0, 0x05b0, 0x0eb0, 0x05b0, 0x0ec0, 0x0e90, 0x0ed0, + 0x0c00, 0x0c00, 0x0c00, 0x0c00, 0x0c00, 0x0ee0, 0x0ef0, 0x0e30, + 0x0f00, 0x0ef0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0a30, + 0x05b0, 0x05b0, 0x0f10, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0f20, + 0x05b0, 0x0840, 0x0f30, 0x0f30, 0x0f40, 0x0c00, 0x0f50, 0x0f60, + 0x0c00, 0x0c00, 0x0f70, 0x0c00, 0x0f80, 0x0f90, 0x05b0, 0x05b0, + 0x05b0, 0x0fa0, 0x0c00, 0x0c00, 0x0c00, 0x0fb0, 0x0c00, 0x0fc0, + 0x0ef0, 0x0ef0, 0x0f50, 0x0fd0, 0x0860, 0x0860, 0x0860, 0x0860, + 0x0fe0, 0x05b0, 0x05b0, 0x0ff0, 0x1000, 0x1010, 0x1020, 0x1030, + 0x1040, 0x05b0, 0x1050, 0x07b0, 0x05b0, 0x05b0, 0x07f0, 0x1060, + 0x05b0, 0x05b0, 0x0ff0, 0x1070, 0x1080, 0x07b0, 0x05b0, 0x1090, + 0x0860, 0x0860, 0x0860, 0x0860, 0x0a30, 0x10a0, 0x10b0, 0x10c0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0580, 0x0580, 0x0580, 0x10d0, + 0x05b0, 0x10e0, 0x05b0, 0x05b0, 0x10e0, 0x10f0, 0x05b0, 0x1100, + 0x05b0, 0x05b0, 0x05b0, 0x1110, 0x1110, 0x1120, 0x05b0, 0x1130, + 0x1140, 0x1150, 0x1160, 0x1170, 0x1180, 0x1190, 0x11a0, 0x11b0, + 0x11c0, 0x0ce0, 0x11d0, 0x11e0, 0x11f0, 0x0580, 0x0580, 0x1200, + 0x1210, 0x1220, 0x1230, 0x05b0, 0x05b0, 0x1240, 0x1250, 0x1260, + 0x1270, 0x1260, 0x05b0, 0x05b0, 0x05b0, 0x1280, 0x05b0, 0x05b0, + 0x1290, 0x12a0, 0x12b0, 0x12c0, 0x12d0, 0x12e0, 0x12f0, 0x05b0, + 0x1300, 0x1310, 0x1320, 0x1330, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x1340, 0x1350, 0x1360, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1370, + 0x05b0, 0x05b0, 0x1380, 0x0860, 0x1390, 0x0860, 0x13a0, 0x13a0, + 0x13a0, 0x13a0, 0x13a0, 0x13a0, 0x13a0, 0x13a0, 0x13a0, 0x13b0, + 0x13a0, 0x13a0, 0x13a0, 0x13a0, 0x1250, 0x13a0, 0x13a0, 0x13c0, + 0x13a0, 0x13d0, 0x13e0, 0x13f0, 0x1400, 0x1410, 0x1420, 0x05b0, + 0x1430, 0x1440, 0x05b0, 0x1450, 0x1460, 0x05b0, 0x1470, 0x1480, + 0x05b0, 0x1490, 0x05b0, 0x14a0, 0x14b0, 0x14c0, 0x14d0, 0x14e0, + 0x14f0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1500, 0x1510, 0x1520, + 0x13a0, 0x1530, 0x05b0, 0x05b0, 0x1540, 0x05b0, 0x1550, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x1560, 0x1570, 0x05b0, 0x05b0, 0x05b0, 0x1340, 0x05b0, 0x1580, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1590, 0x05b0, 0x15a0, + 0x05b0, 0x15b0, 0x05b0, 0x15c0, 0x08f0, 0x15d0, 0x0860, 0x0860, + 0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15e0, 0x15f0, + 0x05b0, 0x05b0, 0x0d70, 0x05b0, 0x05b0, 0x05b0, 0x1600, 0x1610, + 0x05b0, 0x1380, 0x1620, 0x1620, 0x1620, 0x1620, 0x0580, 0x0580, + 0x1630, 0x1640, 0x1650, 0x1660, 0x1670, 0x0860, 0x0860, 0x0860, + 0x1680, 0x1690, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x16a0, + 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, + 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x16b0, 0x0860, 0x16c0, + 0x16d0, 0x16e0, 0x16f0, 0x1700, 0x1710, 0x1680, 0x1720, 0x1680, + 0x1730, 0x1740, 0x1750, 0x1680, 0x1720, 0x1680, 0x1730, 0x1760, + 0x1770, 0x1680, 0x1780, 0x1790, 0x1680, 0x1680, 0x1680, 0x1680, + 0x17a0, 0x1680, 0x1680, 0x17b0, 0x1680, 0x1680, 0x16a0, 0x17c0, + 0x1680, 0x17a0, 0x1680, 0x1680, 0x17d0, 0x1680, 0x1680, 0x1680, + 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x17a0, + 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, + 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, + 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, + 0x1680, 0x1680, 0x1680, 0x1680, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x1680, 0x17e0, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, + 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, + 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, 0x1680, + 0x17f0, 0x1680, 0x1680, 0x1680, 0x1800, 0x05b0, 0x05b0, 0x1090, + 0x1810, 0x05b0, 0x1820, 0x0860, 0x05b0, 0x05b0, 0x15e0, 0x1830, + 0x05b0, 0x1840, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1850, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x0840, 0x05b0, 0x1100, 0x15d0, 0x0860, 0x0860, 0x0860, 0x1860, + 0x1870, 0x05b0, 0x1880, 0x1890, 0x05b0, 0x05b0, 0x05b0, 0x18a0, + 0x18b0, 0x05b0, 0x05b0, 0x0ff0, 0x18c0, 0x0ef0, 0x0580, 0x18d0, + 0x07b0, 0x05b0, 0x18e0, 0x05b0, 0x18f0, 0x1900, 0x0d80, 0x1910, + 0x0890, 0x05b0, 0x05b0, 0x1920, 0x1930, 0x1940, 0x0c00, 0x1950, + 0x05b0, 0x05b0, 0x1960, 0x1970, 0x1980, 0x1990, 0x0c00, 0x0c00, + 0x0c00, 0x0c00, 0x0c00, 0x0c00, 0x19a0, 0x19b0, 0x0760, 0x19c0, + 0x19d0, 0x19e0, 0x1620, 0x05b0, 0x05b0, 0x05b0, 0x19f0, 0x0860, + 0x0860, 0x0860, 0x0860, 0x0860, 0x05b0, 0x05b0, 0x1a00, 0x0ef0, + 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, + 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, + 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, + 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, + 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, + 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, + 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, + 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, + 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, + 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, + 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, + 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, + 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, + 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, + 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, + 0x1a40, 0x1a30, 0x1a60, 0x0d90, 0x1a70, 0x0db0, 0x0db0, 0x1a80, + 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, + 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, + 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, + 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, + 0x1380, 0x1aa0, 0x1ab0, 0x1ac0, 0x1ad0, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15d0, 0x1ae0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x1af0, 0x0860, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x1b00, 0x05b0, 0x05b0, 0x0a30, 0x0860, 0x0860, 0x1b10, + 0x0580, 0x1b20, 0x1b30, 0x1b40, 0x1b50, 0x1b60, 0x1b70, 0x1110, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1b80, + 0x1b90, 0x1ba0, 0x1680, 0x1bb0, 0x1680, 0x1bc0, 0x1bd0, 0x1be0, + 0x05b0, 0x1bf0, 0x05b0, 0x0840, 0x1c00, 0x1c10, 0x1c20, 0x1c30, + /* values */ + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0022, 0x0003, 0x0001, 0x0001, 0x0002, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0008, 0x0017, 0x0015, 0x001d, 0x001a, 0x001b, 0x001d, 0x0015, + 0x0012, 0x0014, 0x001d, 0x001a, 0x0019, 0x0020, 0x0019, 0x0018, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x0019, 0x0019, 0x001d, 0x001d, 0x001d, 0x0017, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0012, 0x001a, 0x0014, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0012, 0x0022, 0x0013, 0x001d, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x000a, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0006, 0x0012, 0x001b, 0x001a, 0x001a, 0x001a, 0x001d, 0x0024, + 0x0024, 0x001d, 0x0024, 0x0015, 0x001d, 0x0022, 0x001d, 0x001d, + 0x001b, 0x001a, 0x0024, 0x0024, 0x0021, 0x001d, 0x0024, 0x0024, + 0x0024, 0x0024, 0x0024, 0x0015, 0x0024, 0x0024, 0x0024, 0x0012, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, + 0x0021, 0x0024, 0x0024, 0x0024, 0x0021, 0x0024, 0x001d, 0x001d, + 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0024, 0x0024, 0x0024, 0x0024, 0x001d, 0x0024, 0x001d, 0x0021, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0006, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0006, 0x0006, 0x0006, 0x0006, + 0x0006, 0x0006, 0x0006, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x0019, 0x001d, + 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, + 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0011, 0x0019, 0x0022, 0x0011, 0x0011, 0x001d, 0x001d, 0x001a, + 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0022, 0x0004, + 0x001d, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004, 0x0017, 0x0004, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, + 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, + 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, + 0x0026, 0x0026, 0x0026, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0026, 0x0026, 0x0026, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001b, 0x001b, 0x001b, 0x0019, 0x0019, 0x001d, 0x001d, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0017, 0x0004, 0x0011, 0x0017, 0x0017, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x001b, 0x001c, 0x001c, 0x001d, 0x001d, 0x001d, + 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0017, 0x001d, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x0004, + 0x0004, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, + 0x001d, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0019, 0x0017, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, + 0x0004, 0x0004, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004, 0x0004, + 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x001d, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004, + 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0004, 0x0004, 0x0022, 0x0022, 0x001c, 0x001c, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001d, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d, + 0x001d, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x0011, 0x001d, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0011, 0x0011, 0x0004, 0x001d, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0004, + 0x0004, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x001d, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, + 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x0011, 0x001d, + 0x001d, 0x001d, 0x0004, 0x0004, 0x0011, 0x0011, 0x001c, 0x001c, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001d, 0x001d, 0x001b, 0x001b, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001b, 0x001d, 0x001a, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, + 0x001d, 0x0011, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x0011, + 0x001d, 0x001d, 0x0011, 0x0011, 0x0004, 0x0011, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, + 0x0004, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, + 0x0011, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001c, 0x001c, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x0004, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, + 0x001d, 0x0011, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0011, 0x0011, 0x0004, 0x001d, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0004, + 0x0004, 0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, + 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001a, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0004, + 0x0004, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, + 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x0011, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0004, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, + 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, + 0x0011, 0x001d, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d, 0x001d, + 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, + 0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, + 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001a, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, + 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x001d, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0004, 0x0004, + 0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0011, + 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0011, 0x0011, 0x0004, 0x001d, 0x0004, 0x0004, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x0011, + 0x0011, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0004, 0x0004, + 0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, + 0x0011, 0x001b, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0011, 0x0011, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, + 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, + 0x0011, 0x0011, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0004, 0x0011, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0011, 0x0011, 0x0004, 0x0004, 0x001d, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0011, 0x0011, 0x0011, 0x0011, 0x001a, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x001d, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x0022, 0x0022, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0023, 0x0023, 0x0011, 0x0023, 0x0011, 0x0011, 0x0023, + 0x0023, 0x0011, 0x0023, 0x0011, 0x0011, 0x0023, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0011, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0011, 0x0023, 0x0023, 0x0023, 0x0011, 0x0023, 0x0011, 0x0023, + 0x0011, 0x0011, 0x0023, 0x0023, 0x0011, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0011, 0x0023, 0x0023, 0x0023, 0x0011, 0x0011, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0011, 0x0023, 0x0011, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0011, 0x0011, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x0011, 0x0011, 0x0023, 0x0023, 0x0023, 0x0023, + 0x001d, 0x0021, 0x0021, 0x0021, 0x0021, 0x001d, 0x0021, 0x0021, + 0x0006, 0x0021, 0x0021, 0x0022, 0x0006, 0x0017, 0x0017, 0x0017, + 0x0017, 0x0017, 0x0006, 0x001d, 0x0017, 0x001d, 0x001d, 0x001d, + 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0022, 0x0004, 0x001d, 0x0004, + 0x001d, 0x0004, 0x0012, 0x0013, 0x0012, 0x0013, 0x0004, 0x0004, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0022, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0022, 0x0004, 0x0004, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0022, 0x0022, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, + 0x0021, 0x0021, 0x0022, 0x0021, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x0006, 0x0006, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x0022, 0x0022, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x0011, 0x0011, + 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, + 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, + 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, + 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, + 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, + 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, + 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, + 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, + 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, + 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, + 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, + 0x001d, 0x0022, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0022, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0012, 0x0013, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0022, 0x0022, 0x0022, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x0022, 0x0022, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x0011, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, 0x0016, 0x0023, + 0x0022, 0x001d, 0x0022, 0x001a, 0x0023, 0x0023, 0x0011, 0x0011, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x0017, 0x0017, 0x0022, 0x0022, 0x0021, 0x001d, + 0x0017, 0x0017, 0x001d, 0x0004, 0x0004, 0x0004, 0x0006, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x0004, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x0011, 0x0011, 0x0011, 0x0017, 0x0017, 0x001c, 0x001c, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0011, 0x0011, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x0023, 0x0011, 0x0011, 0x0011, 0x0023, 0x0023, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x001d, 0x001d, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0011, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0011, 0x0011, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x0022, 0x0022, 0x001d, 0x0022, 0x0022, 0x0022, + 0x0022, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, + 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0011, 0x0011, 0x0011, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0022, 0x0022, + 0x0004, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x0011, + 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0011, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, + 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0021, 0x001d, 0x0011, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0006, + 0x0022, 0x0022, 0x0022, 0x0009, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0022, 0x0006, 0x0022, 0x0022, 0x0025, 0x0024, 0x0024, 0x001d, + 0x0015, 0x0015, 0x0012, 0x0015, 0x0015, 0x0015, 0x0012, 0x0015, + 0x0024, 0x0024, 0x001d, 0x001d, 0x001f, 0x001f, 0x001f, 0x0022, + 0x0001, 0x0001, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0006, + 0x001b, 0x001b, 0x001b, 0x001b, 0x001b, 0x001b, 0x001b, 0x001b, + 0x001d, 0x0015, 0x0015, 0x0024, 0x0016, 0x0016, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0019, 0x0012, 0x0013, 0x0016, + 0x0016, 0x0016, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0022, 0x001d, + 0x0022, 0x0022, 0x0022, 0x0022, 0x001d, 0x0022, 0x0022, 0x0022, + 0x000b, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x001d, 0x001d, 0x0011, 0x0011, 0x0024, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0012, 0x0013, 0x0024, + 0x001d, 0x0024, 0x0024, 0x0024, 0x0024, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0012, 0x0013, 0x0011, + 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001b, + 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, + 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001b, 0x001a, + 0x001a, 0x001a, 0x001a, 0x001b, 0x001a, 0x001a, 0x001a, 0x001a, + 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, + 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, + 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001b, 0x001d, 0x0024, 0x001d, 0x001d, + 0x001d, 0x001b, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0024, 0x001d, 0x001d, 0x001a, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x0024, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0024, 0x001d, 0x001d, 0x0024, 0x001d, + 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, + 0x0024, 0x0024, 0x0024, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, + 0x0024, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x0024, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x0024, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0024, 0x001d, 0x0024, 0x0024, 0x001d, 0x001d, 0x001d, 0x0024, + 0x0024, 0x001d, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x0024, + 0x001d, 0x0024, 0x001a, 0x001a, 0x001d, 0x0024, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0024, 0x001d, 0x001d, 0x0024, 0x0024, 0x0024, + 0x0024, 0x001d, 0x001d, 0x0024, 0x001d, 0x0024, 0x001d, 0x0024, + 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x001d, 0x0024, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024, 0x0024, 0x0024, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0024, 0x001d, 0x001d, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0024, 0x0024, 0x001d, 0x001d, 0x0024, 0x0024, 0x0024, 0x0024, + 0x001d, 0x001d, 0x0024, 0x0024, 0x001d, 0x001d, 0x0024, 0x0024, + 0x001d, 0x001d, 0x0024, 0x0024, 0x001d, 0x001d, 0x0024, 0x0024, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x001d, 0x001d, + 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0012, 0x0013, 0x0012, 0x0013, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x0012, 0x0013, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, + 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, + 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, + 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x001d, + 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0024, 0x0024, 0x0024, 0x0024, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0024, 0x0024, 0x001d, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, + 0x0024, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0024, 0x0024, 0x001d, 0x001d, 0x0024, 0x0024, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024, 0x001d, 0x001d, + 0x0024, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024, + 0x0024, 0x001d, 0x001d, 0x0024, 0x001d, 0x001d, 0x0024, 0x0024, + 0x0024, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0024, 0x0024, 0x0024, 0x0024, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x0024, 0x0024, 0x001d, + 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001e, 0x001e, 0x0024, 0x0024, + 0x001e, 0x001d, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0024, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0024, 0x0024, 0x001d, 0x0024, 0x0024, 0x0024, 0x001d, 0x0024, + 0x001e, 0x0024, 0x0024, 0x001d, 0x0024, 0x0024, 0x001d, 0x0024, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001e, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x0024, 0x0024, 0x0024, 0x0024, 0x001e, 0x001d, 0x001e, + 0x001e, 0x001e, 0x0024, 0x001e, 0x001e, 0x0024, 0x0024, 0x0024, + 0x001e, 0x001e, 0x0024, 0x0024, 0x001e, 0x0024, 0x0024, 0x001e, + 0x001e, 0x001e, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0024, 0x0024, 0x001e, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, + 0x0024, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0024, 0x001e, + 0x001e, 0x001e, 0x001e, 0x0024, 0x0024, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, + 0x001d, 0x001d, 0x001d, 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, + 0x0015, 0x001d, 0x0017, 0x0017, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, + 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0024, 0x0024, + 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, + 0x0024, 0x0024, 0x0024, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0012, 0x0013, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0012, 0x0013, + 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, + 0x001d, 0x001d, 0x001d, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, + 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, + 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, + 0x0013, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0012, 0x0013, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024, 0x0024, + 0x0024, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, + 0x0004, 0x0004, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0017, 0x0022, 0x0022, 0x0022, 0x001d, 0x0017, 0x0022, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, + 0x0022, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, + 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, + 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x001d, 0x0022, + 0x0012, 0x0022, 0x001d, 0x001d, 0x0015, 0x0015, 0x001d, 0x001d, + 0x0015, 0x0015, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, + 0x0012, 0x0013, 0x0022, 0x0022, 0x0022, 0x0022, 0x0017, 0x001d, + 0x0022, 0x0022, 0x001d, 0x0022, 0x0022, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0025, 0x0025, 0x0022, 0x0022, 0x0022, 0x001d, + 0x0022, 0x0022, 0x0012, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x0011, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0022, 0x0013, 0x0013, 0x001e, 0x001e, 0x0016, 0x001e, 0x001e, + 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, + 0x0012, 0x0013, 0x001e, 0x001e, 0x0012, 0x0013, 0x0012, 0x0013, + 0x0012, 0x0013, 0x0012, 0x0013, 0x0016, 0x0012, 0x0013, 0x0013, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0004, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x0016, 0x0016, 0x001e, 0x001e, 0x001e, + 0x0011, 0x0027, 0x001e, 0x0027, 0x001e, 0x0027, 0x001e, 0x0027, + 0x001e, 0x0027, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x0027, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x0027, 0x001e, 0x0027, 0x001e, 0x0027, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0027, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0027, 0x0027, 0x0011, + 0x0011, 0x0004, 0x0004, 0x0016, 0x0016, 0x0016, 0x0016, 0x001e, + 0x0016, 0x0027, 0x001e, 0x0027, 0x001e, 0x0027, 0x001e, 0x0027, + 0x001e, 0x0027, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0027, 0x0027, 0x001e, + 0x001e, 0x001e, 0x001e, 0x0016, 0x0027, 0x0016, 0x0016, 0x001e, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011, + 0x0011, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, + 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0016, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011, 0x0011, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0022, 0x0017, 0x0022, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0004, 0x0004, 0x0004, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0004, + 0x0004, 0x0004, 0x001d, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x0004, 0x001d, 0x001d, 0x001d, 0x0004, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001b, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0021, 0x0021, 0x0017, 0x0017, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0022, 0x0022, + 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0022, 0x0022, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, + 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, + 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0022, + 0x0022, 0x0022, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0011, 0x0011, + 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, 0x001c, + 0x001c, 0x001c, 0x0011, 0x0011, 0x001d, 0x0022, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0023, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0022, 0x0022, 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, + 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, + 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0022, 0x0004, 0x0004, 0x0011, 0x0011, + 0x000f, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x000f, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x000f, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x000f, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x000d, 0x0011, + 0x0011, 0x0011, 0x0011, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, + 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, 0x000e, + 0x000e, 0x000e, 0x000e, 0x000e, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, + 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, + 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0026, 0x0004, 0x0026, + 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, + 0x0026, 0x001d, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, + 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0011, + 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0011, 0x0026, 0x0011, + 0x0026, 0x0026, 0x0011, 0x0026, 0x0026, 0x0011, 0x0026, 0x0026, + 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, + 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0013, 0x0012, + 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001b, 0x001d, 0x0011, 0x0011, + 0x0019, 0x0013, 0x0013, 0x0019, 0x0019, 0x0017, 0x0017, 0x0012, + 0x0013, 0x001f, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0012, 0x0013, 0x0012, + 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, + 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x001e, 0x001e, 0x0012, + 0x0013, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x0013, 0x001e, 0x0013, 0x0011, 0x0016, 0x0016, 0x0017, 0x0017, + 0x001e, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0011, + 0x001e, 0x001a, 0x001b, 0x001e, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x000b, + 0x0011, 0x0017, 0x001e, 0x001e, 0x001a, 0x001b, 0x001e, 0x001e, + 0x0012, 0x0013, 0x001e, 0x001e, 0x0013, 0x001e, 0x0013, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x0016, 0x0016, 0x001e, 0x001e, 0x001e, 0x0017, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x0012, 0x001e, 0x0013, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x0012, 0x001e, 0x0013, 0x001e, 0x0012, + 0x0013, 0x0013, 0x0012, 0x0013, 0x0013, 0x0016, 0x001d, 0x0027, + 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, + 0x0027, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0016, 0x0016, + 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, + 0x001b, 0x001a, 0x001e, 0x001e, 0x001e, 0x001a, 0x001a, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0004, 0x0004, 0x0004, 0x0007, 0x0024, 0x0011, 0x0011 +}; diff --git a/dlls/dwrite/tests/analyzer.c b/dlls/dwrite/tests/analyzer.c index d4a6a912ee8..aeef5e1d603 100644 --- a/dlls/dwrite/tests/analyzer.c +++ b/dlls/dwrite/tests/analyzer.c @@ -834,13 +834,12 @@ struct linebreaks_test { }; static struct linebreaks_test linebreaks_tests[] = { - { {'A','-','B',' ',0xad,'C',0x58a,'D',0x2010,'E',0x2012,'F',0x2013,'\t',0}, + { {'A','-','B',' ','C',0x58a,'D',0x2010,'E',0x2012,'F',0x2013,'\t',0}, { { DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, FALSE, FALSE }, { DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, DWRITE_BREAK_CONDITION_CAN_BREAK, FALSE, FALSE }, { DWRITE_BREAK_CONDITION_CAN_BREAK, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, FALSE, FALSE }, { DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, DWRITE_BREAK_CONDITION_CAN_BREAK, TRUE, FALSE }, - { DWRITE_BREAK_CONDITION_CAN_BREAK, DWRITE_BREAK_CONDITION_CAN_BREAK, FALSE, TRUE }, { DWRITE_BREAK_CONDITION_CAN_BREAK, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, FALSE, FALSE }, { DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, DWRITE_BREAK_CONDITION_CAN_BREAK, FALSE, FALSE }, { DWRITE_BREAK_CONDITION_CAN_BREAK, DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, FALSE, FALSE }, @@ -880,8 +879,9 @@ static void compare_breakpoints(const struct linebreaks_test *test, DWRITE_LINE_ } } -static void test_SetLineBreakpoints(void) +static void test_AnalyzeLineBreakpoints(void) { + static const WCHAR emptyW[] = {0}; const struct linebreaks_test *ptr = linebreaks_tests; IDWriteTextAnalyzer *analyzer; HRESULT hr; @@ -889,15 +889,17 @@ static void test_SetLineBreakpoints(void) hr = IDWriteFactory_CreateTextAnalyzer(factory, &analyzer); ok(hr == S_OK, "got 0x%08x\n", hr); + g_source = emptyW; + hr = IDWriteTextAnalyzer_AnalyzeLineBreakpoints(analyzer, &analysissource, 0, 0, &analysissink); + ok(hr == S_OK, "got 0x%08x\n", hr); + while (*ptr->text) { g_source = ptr->text; memset(g_actual_bp, 0, sizeof(g_actual_bp)); hr = IDWriteTextAnalyzer_AnalyzeLineBreakpoints(analyzer, &analysissource, 0, lstrlenW(g_source), &analysissink); - todo_wine ok(hr == S_OK, "got 0x%08x\n", hr); - if (hr == S_OK) compare_breakpoints(ptr, g_actual_bp); ptr++; @@ -922,7 +924,7 @@ START_TEST(analyzer) init_call_sequences(expected_seq, 1); test_AnalyzeScript(); - test_SetLineBreakpoints(); + test_AnalyzeLineBreakpoints(); IDWriteFactory_Release(factory); } diff --git a/tools/make_unicode b/tools/make_unicode index c8365cd9212..9e4f7d4a439 100755 --- a/tools/make_unicode +++ b/tools/make_unicode @@ -2274,6 +2274,7 @@ dump_mirroring( "dlls/usp10/mirror.c" ); dump_bracket( "dlls/usp10/bracket.c" ); dump_shaping( "dlls/usp10/shaping.c" ); dump_linebreak( "dlls/usp10/linebreak.c" ); +dump_linebreak( "dlls/dwrite/linebreak.c" ); dump_indic( "dlls/usp10/indicsyllable.c" ); dump_intl_nls("loader/l_intl.nls"); dump_vertical( "dlls/gdi32/vertical.c" );