diff --git a/resources/sksl/errors/BadModifiers.sksl b/resources/sksl/errors/BadModifiers.sksl index f95953e3f8..524aa05b61 100644 --- a/resources/sksl/errors/BadModifiers.sksl +++ b/resources/sksl/errors/BadModifiers.sksl @@ -1,11 +1,9 @@ const in out uniform flat noperspective readonly writeonly coherent volatile restrict buffer -sk_has_side_effects __pixel_localEXT __pixel_local_inEXT __pixel_local_outEXT varying inline +sk_has_side_effects varying inline void func1() {} void func2(const in out uniform flat noperspective readonly writeonly coherent volatile restrict - buffer sk_has_side_effects __pixel_localEXT __pixel_local_inEXT __pixel_local_outEXT - varying inline float test) {} + buffer sk_has_side_effects varying inline float test) {} const in out uniform flat noperspective readonly writeonly coherent volatile restrict buffer -sk_has_side_effects __pixel_localEXT __pixel_local_inEXT __pixel_local_outEXT varying inline -float var; +sk_has_side_effects varying inline float var; diff --git a/src/sksl/SkSLAnalysis.cpp b/src/sksl/SkSLAnalysis.cpp index cf9905fdf8..7eb356e1ec 100644 --- a/src/sksl/SkSLAnalysis.cpp +++ b/src/sksl/SkSLAnalysis.cpp @@ -389,8 +389,7 @@ bool ProgramUsage::isDead(const Variable& v) const { Modifiers::kVarying_Flag))) { return false; } - return !counts.fWrite || (!counts.fRead && !(modifiers.fFlags & - (Modifiers::kPLS_Flag | Modifiers::kPLSOut_Flag))); + return !counts.fWrite || !counts.fRead; } int ProgramUsage::get(const FunctionDeclaration& f) const { diff --git a/src/sksl/SkSLGLSLCodeGenerator.cpp b/src/sksl/SkSLGLSLCodeGenerator.cpp index 08022d576b..48415732ab 100644 --- a/src/sksl/SkSLGLSLCodeGenerator.cpp +++ b/src/sksl/SkSLGLSLCodeGenerator.cpp @@ -1101,15 +1101,6 @@ void GLSLCodeGenerator::writeModifiers(const Modifiers& modifiers, if (modifiers.fFlags & Modifiers::kConst_Flag) { this->write("const "); } - if (modifiers.fFlags & Modifiers::kPLS_Flag) { - this->write("__pixel_localEXT "); - } - if (modifiers.fFlags & Modifiers::kPLSIn_Flag) { - this->write("__pixel_local_inEXT "); - } - if (modifiers.fFlags & Modifiers::kPLSOut_Flag) { - this->write("__pixel_local_outEXT "); - } switch (modifiers.fLayout.fFormat) { case Layout::Format::kUnspecified: break; diff --git a/src/sksl/SkSLIRGenerator.cpp b/src/sksl/SkSLIRGenerator.cpp index 1c016bcc1f..b345482946 100644 --- a/src/sksl/SkSLIRGenerator.cpp +++ b/src/sksl/SkSLIRGenerator.cpp @@ -420,13 +420,11 @@ void IRGenerator::checkVarDeclaration(int offset, const Modifiers& modifiers, co } int permitted = Modifiers::kConst_Flag; if (storage == Variable::Storage::kGlobal) { - permitted |= Modifiers::kIn_Flag | Modifiers::kOut_Flag | Modifiers::kUniform_Flag | - Modifiers::kFlat_Flag | Modifiers::kVarying_Flag | - Modifiers::kNoPerspective_Flag | Modifiers::kPLS_Flag | - Modifiers::kPLSIn_Flag | Modifiers::kPLSOut_Flag | - Modifiers::kRestrict_Flag | Modifiers::kVolatile_Flag | - Modifiers::kReadOnly_Flag | Modifiers::kWriteOnly_Flag | - Modifiers::kCoherent_Flag | Modifiers::kBuffer_Flag; + permitted |= + Modifiers::kIn_Flag | Modifiers::kOut_Flag | Modifiers::kUniform_Flag | + Modifiers::kFlat_Flag | Modifiers::kVarying_Flag | Modifiers::kNoPerspective_Flag | + Modifiers::kRestrict_Flag | Modifiers::kVolatile_Flag | Modifiers::kReadOnly_Flag | + Modifiers::kWriteOnly_Flag | Modifiers::kCoherent_Flag | Modifiers::kBuffer_Flag; } this->checkModifiers(offset, modifiers, permitted); } @@ -1048,9 +1046,6 @@ void IRGenerator::checkModifiers(int offset, const Modifiers& modifiers, int per CHECK(Modifiers::kRestrict_Flag, "restrict") CHECK(Modifiers::kBuffer_Flag, "buffer") CHECK(Modifiers::kHasSideEffects_Flag, "sk_has_side_effects") - CHECK(Modifiers::kPLS_Flag, "__pixel_localEXT") - CHECK(Modifiers::kPLSIn_Flag, "__pixel_local_inEXT") - CHECK(Modifiers::kPLSOut_Flag, "__pixel_local_outEXT") CHECK(Modifiers::kVarying_Flag, "varying") CHECK(Modifiers::kInline_Flag, "inline") SkASSERT(flags == 0); diff --git a/src/sksl/SkSLLexer.cpp b/src/sksl/SkSLLexer.cpp index a7b3b44688..6ccd4c32ad 100644 --- a/src/sksl/SkSLLexer.cpp +++ b/src/sksl/SkSLLexer.cpp @@ -16,10 +16,10 @@ static int8_t mappings[127] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 4, 3, 5, 6, 7, 8, 3, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 26, 26, 26, 27, 26, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 28, 6, 6, 6, - 29, 6, 6, 30, 3, 31, 32, 33, 3, 34, 35, 36, 37, 38, 39, 40, 41, 42, 6, 43, 44, 45, - 46, 47, 48, 6, 49, 50, 51, 52, 53, 54, 55, 56, 6, 57, 58, 59, 60}; -static int16_t transitions[61][308] = { + 26, 26, 26, 27, 26, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 28, 3, 29, 30, 31, 3, 32, 33, 34, 35, 36, 37, 38, 39, 40, 6, 41, 42, 43, + 44, 45, 46, 6, 47, 48, 49, 50, 51, 52, 53, 54, 6, 55, 56, 57, 58}; +static int16_t transitions[59][280] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -31,7 +31,6 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -44,8 +43,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -58,8 +56,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -72,8 +69,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -86,8 +82,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -100,25 +95,23 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { - 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, + 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -131,8 +124,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -145,8 +137,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -159,8 +150,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -173,8 +163,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -187,8 +176,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, @@ -202,8 +190,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -216,8 +203,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -231,8 +217,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -245,8 +230,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -259,42 +243,39 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { - 0, 39, 0, 0, 0, 0, 0, 0, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 29, 32, 32, 32, 0, 34, 34, 0, 37, 0, 48, 41, 41, - 44, 44, 44, 47, 47, 47, 48, 51, 51, 51, 53, 53, 48, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, + 0, 39, 0, 0, 0, 0, 0, 0, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 29, 29, 32, 32, 32, 0, 34, 34, 0, 37, 0, 48, + 41, 41, 44, 44, 44, 47, 47, 47, 48, 51, 51, 51, 53, 53, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 54, 0, 0, 0, 0, 0, 0, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 29, 32, 32, 32, 0, 34, 34, 0, 37, 0, 48, 41, 41, - 44, 44, 44, 47, 47, 47, 48, 51, 51, 51, 53, 53, 48, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, + 0, 54, 0, 0, 0, 0, 0, 0, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 29, 29, 32, 32, 32, 0, 34, 34, 0, 37, 0, 48, + 41, 41, 44, 44, 44, 47, 47, 47, 48, 51, 51, 51, 53, 53, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -307,8 +288,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -321,8 +301,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -335,23 +314,21 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { - 0, 62, 0, 0, 0, 6, 0, 0, 0, 0, 0, 12, 0, 15, 0, 0, 0, 0, 19, 0, 22, 0, 0, 0, - 26, 0, 0, 0, 0, 0, 0, 0, 0, 38, 34, 34, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 60, 0, 0, 63, 0, 65, 0, 67, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, 0, + 0, 62, 0, 0, 0, 6, 0, 0, 0, 0, 0, 12, 0, 15, 0, 0, 0, 0, 19, 0, 22, 0, 0, 0, + 26, 0, 0, 0, 0, 0, 0, 0, 0, 38, 34, 34, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 60, 0, 0, 63, 0, 65, 0, 67, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, }, { 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, @@ -364,8 +341,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -378,8 +354,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -392,79 +367,39 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { - 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, + 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 34, 34, 0, 37, 0, 49, - 45, 42, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 53, 53, 49, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, - 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 97, 10, 10, 10, - 10, 10, 103, 10, 10, 10, 10, 10, 109, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, - }, - { - 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, - 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 99, 10, - 10, 10, 10, 10, 105, 10, 10, 10, 10, 10, 111, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, - }, - { - 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, - 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 98, 10, 10, - 10, 10, 10, 104, 10, 10, 10, 10, 10, 110, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, + 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 34, 34, 0, 37, 0, 49, + 45, 42, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 53, 53, 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -477,8 +412,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -491,8 +425,7 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -505,459 +438,413 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { - 0, 84, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, - 0, 0, 0, 0, 85, 10, 10, 10, 10, 10, 91, 10, 10, 10, 10, 10, 100, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 237, 10, 10, 10, - 241, 10, 10, 10, 10, 246, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, + 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 209, 10, 10, 10, 213, 10, 10, 10, 10, 218, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 95, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 115, 10, 10, 10, 10, 10, 10, 10, 123, 10, 10, 10, 127, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 148, 10, 10, 10, 10, - 10, 10, 155, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 167, 10, 10, 10, 10, - 172, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 187, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 219, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 239, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 276, 10, 10, 10, 10, 10, 10, 10, 284, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, - 0, 0, 0, 0, + 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 87, 10, 10, 10, 10, 10, 10, 10, 95, + 10, 10, 10, 99, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 120, 10, 10, 10, 10, 10, 10, 127, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 139, 10, 10, 10, 10, 144, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 159, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 191, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 211, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 248, 10, 10, 10, 10, 10, 10, 10, 256, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 112, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, + 0, 84, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 122, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, - 77, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 94, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 154, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 200, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 211, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 229, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 251, 10, 10, 10, 10, 10, 257, 10, 10, 10, 10, 262, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, - 0, 0, 0, 0, + 0, 94, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, + 77, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 126, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 172, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 183, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 201, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 223, 10, 10, 10, 10, 10, + 229, 10, 10, 10, 10, 234, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 145, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, - 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 157, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 220, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 244, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, + 0, 117, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 129, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 192, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 216, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 159, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 34, 34, - 0, 37, 0, 49, 45, 42, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 53, 53, - 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 89, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 114, 10, 10, 10, 10, 10, 120, 10, 10, 10, 10, 125, 10, - 10, 10, 10, 10, 10, 132, 10, 134, 10, 10, 10, 10, 10, 10, 10, 10, 10, 144, - 10, 146, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 162, - 10, 10, 10, 10, 10, 10, 10, 170, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 182, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 195, 10, 10, 10, - 199, 10, 10, 10, 10, 204, 10, 10, 10, 10, 10, 210, 10, 10, 10, 10, 10, 10, - 10, 218, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 245, 10, 247, 10, 10, 250, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 267, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 288, - 10, 10, 10, 10, 293, 10, 10, 10, 297, 10, 10, 10, 10, 10, 0, 0, 0, 0, - 0, 0, + 0, 131, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 34, 34, + 0, 37, 0, 49, 45, 42, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 53, 53, + 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, 10, 86, 10, 10, 10, 10, + 10, 92, 10, 10, 10, 10, 97, 10, 10, 10, 10, 10, 10, 104, 10, 106, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 116, 10, 118, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 134, 10, 10, 10, 10, 10, 10, 10, 142, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 154, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 167, 10, 10, 10, 171, 10, 10, 10, 10, 176, 10, 10, 10, 10, + 10, 182, 10, 10, 10, 10, 10, 10, 10, 190, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 217, 10, 219, 10, 10, 222, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 239, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 260, 10, 10, 10, 10, 265, 10, 10, 10, 269, 10, + 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 166, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 72, 70, 70, 70, 70, - 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 118, 119, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 147, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 177, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 248, 249, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 271, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, - 0, 0, 0, 0, + 0, 138, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 72, 70, 70, 70, 70, + 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 90, 91, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 119, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 149, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 220, 221, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 243, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 281, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, + 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 253, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 78, 70, 0, - 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 131, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 238, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 263, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 290, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, + 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 78, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 103, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 210, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 235, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 262, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 176, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, - 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 70, 70, - 70, 70, 75, 70, 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 87, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 101, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 141, 10, 10, 10, - 10, 152, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 180, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 202, 10, 10, 10, 10, 10, 10, 10, 10, 10, 212, 10, 214, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 228, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 243, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 260, 10, 10, 10, 10, 10, 10, 10, 10, 10, 270, - 10, 10, 10, 10, 10, 10, 10, 10, 279, 10, 10, 10, 10, 10, 10, 286, 10, 10, - 10, 10, 291, 10, 10, 10, 295, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, - 0, 0, + 0, 148, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, + 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 70, 70, + 70, 70, 75, 70, 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 113, 10, 10, 10, 10, 124, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 152, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 174, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 184, 10, 186, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 200, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 215, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 232, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 242, 10, 10, 10, 10, 10, 10, 10, 10, 251, 10, + 10, 10, 10, 10, 10, 258, 10, 10, 10, 10, 263, 10, 10, 10, 267, 10, 10, 10, + 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, - 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 116, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 236, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, + 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 88, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 208, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 186, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 90, 10, 92, 10, 10, 10, - 96, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 126, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 150, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 160, 10, 10, 10, 10, 10, 10, 171, 168, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 179, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 223, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 283, 10, 10, - 10, 287, 10, 10, 10, 10, 292, 10, 10, 10, 10, 10, 10, 10, 300, 10, 10, 0, 0, - 0, 0, 0, 0, + 0, 158, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 98, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 122, 10, 10, 10, 10, 10, 10, 10, 10, 10, 132, 10, + 10, 10, 10, 10, 10, 143, 140, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 151, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 195, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 255, 10, 10, 10, 259, 10, 10, 10, 10, 264, 10, 10, + 10, 10, 10, 10, 10, 272, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, - 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 165, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 274, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, + 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 137, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 246, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 192, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, - 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 102, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 137, 10, 10, 10, 135, 10, 10, 10, 10, 10, 10, 142, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 163, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 178, 10, 10, 10, - 181, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 216, - 10, 10, 10, 10, 10, 222, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 234, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 269, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 280, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 299, 10, 10, 10, 0, 0, 0, 0, - 0, 0, + 0, 164, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, + 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 109, 10, 10, 10, 107, 10, + 10, 10, 10, 10, 10, 114, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 135, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 150, 10, 10, 10, 153, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 188, 10, 10, 10, 10, 10, 194, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 206, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 241, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 252, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 271, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 205, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, - 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, - 10, 10, 93, 10, 10, 10, 10, 10, 10, 10, 106, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 130, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 158, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 174, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 183, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 189, 10, 10, 10, 193, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 215, 10, - 10, 10, 10, 10, 221, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 272, 10, 10, 10, 282, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 298, 10, 10, 10, 10, 0, 0, 0, 0, - 0, 0, + 0, 177, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, + 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 102, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 130, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 146, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 155, 10, 10, 10, 10, 10, 10, 10, 10, 10, 161, 10, + 10, 10, 165, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 187, 10, 10, 10, 10, 10, 193, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 244, 10, 10, 10, 254, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 270, + 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 208, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, - 0, 0, 0, 0, 10, 86, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 194, 10, 10, 10, 198, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, + 0, 180, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 166, 10, 10, 10, 170, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 217, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 113, 10, - 10, 10, 10, 10, 10, 10, 121, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 133, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 156, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 175, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 196, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 209, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 227, 10, - 10, 10, 10, 10, 233, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 255, 10, 10, 10, 10, 10, 10, 10, 10, 10, 265, 10, - 10, 10, 10, 10, 10, 10, 273, 10, 10, 10, 277, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 294, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, - 0, 0, 0, 0, + 0, 189, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 0, 0, 0, 0, 0, 85, 10, 10, 10, 10, 10, 10, 10, 93, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 105, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 128, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 147, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 168, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 181, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 199, 10, 10, 10, 10, 10, 205, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 227, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 237, 10, 10, 10, 10, 10, 10, 10, 245, 10, 10, + 10, 249, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 266, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 235, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, - 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 124, 10, 10, - 10, 128, 129, 10, 10, 10, 10, 10, 10, 10, 10, 138, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 153, 10, 10, 10, 10, 10, 10, 10, 161, 10, - 10, 10, 10, 10, 10, 10, 169, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 197, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 213, 10, 10, 10, - 10, 10, 225, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 240, 10, 242, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 253, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, - 0, 0, + 0, 207, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, + 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 96, 10, 10, 10, 100, 101, 10, 10, 10, 10, 10, 10, 10, + 10, 110, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 125, 10, + 10, 10, 10, 10, 10, 10, 133, 10, 10, 10, 10, 10, 10, 10, 141, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 169, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 185, 10, 10, 10, 10, 10, 197, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 212, 10, 214, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 225, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 264, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 34, 34, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 70, 70, 70, 70, 70, 70, 76, 70, 70, 70, 0, 0, 0, 0, 0, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 108, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 136, - 10, 140, 139, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 151, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 173, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 185, 10, 10, - 10, 10, 10, 191, 10, 10, 10, 10, 10, 10, 10, 10, 10, 201, 10, 10, 10, - 10, 10, 207, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 231, 10, 10, - 10, 10, 10, 10, 226, 10, 10, 10, 230, 10, 10, 10, 10, 10, 254, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 252, 10, 10, 10, - 10, 10, 258, 10, 10, 261, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 285, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 296, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, - 0, 0, + 0, 236, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 34, 34, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 70, 70, 70, 70, 70, 70, 76, 70, 70, 70, 0, 0, 0, 0, 0, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 108, 10, 112, 111, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 123, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 145, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 157, 10, 10, 10, 10, 10, 163, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 173, 10, 10, 10, 10, 10, 179, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 203, 10, 10, 10, 10, 10, 10, 198, 10, 10, 10, 202, 10, 10, + 10, 10, 10, 226, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 224, 10, 10, 10, 10, 10, 230, 10, 10, 233, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 257, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 268, 10, 10, 10, 10, + 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 268, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 107, 10, 10, 10, 10, 10, 117, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 143, 10, 10, 10, 10, 10, 149, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 164, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 184, 10, 10, 10, 10, 10, 190, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 206, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 232, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 256, 10, 10, 10, 10, 10, 10, 10, 10, 10, 266, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, - 0, 0, 0, 0, + 0, 240, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 0, 0, 0, 0, 0, 89, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 115, 10, 10, 10, 10, 10, 121, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 136, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 156, 10, 10, 10, 10, 10, 162, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 178, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 204, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 228, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 238, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 275, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, - 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 203, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, + 0, 247, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 175, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 289, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 74, 70, 70, 70, 70, 70, 0, - 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 259, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, + 0, 261, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 74, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 231, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 52, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, - 10, 10, 10, 88, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, + 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, - 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 188, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 224, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 278, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 301, 10, 0, 0, 0, 0, 0, 0, + 0, 9, 0, 0, 0, 0, 0, 8, 8, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0, + 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 160, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 196, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 250, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 273, 10, 0, 0, 0, 0, 0, 0, }, { - 0, 302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -967,25 +854,23 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { - 0, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, + 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, }, { - 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -995,11 +880,10 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { - 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1009,26 +893,24 @@ static int16_t transitions[61][308] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, }; -static int8_t accepts[308] = { - -1, -1, 93, 93, 96, 70, 76, 96, 44, 43, 43, 60, 85, 65, 69, 90, 46, 47, 58, 83, 56, 54, - 81, 53, 57, 55, 82, 92, 52, 1, -1, -1, 1, 59, -1, -1, 95, 94, 84, 2, 1, 1, -1, -1, - 1, -1, -1, 1, 2, -1, -1, 1, -1, 2, 2, 73, 72, 91, 78, 61, 86, 80, 74, 75, 77, 79, - 62, 87, 71, 96, 45, 45, 6, 45, 45, 45, 45, 45, 12, 50, 51, 64, 89, 68, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 34, 43, 43, 43, 43, 43, 35, 43, 43, 43, 43, - 43, 36, 43, 43, 43, 43, 15, 43, 43, 43, 43, 31, 43, 43, 43, 13, 43, 43, 43, 42, 43, 43, - 43, 43, 43, 43, 28, 43, 43, 23, 43, 43, 43, 43, 16, 43, 43, 43, 43, 43, 43, 14, 43, 43, - 43, 43, 43, 17, 10, 43, 43, 43, 7, 43, 43, 41, 43, 43, 43, 43, 4, 43, 43, 24, 43, 8, - 43, 5, 19, 43, 43, 43, 32, 43, 43, 21, 43, 43, 43, 43, 43, 39, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 25, 43, 43, 20, 43, 43, 43, 43, 43, 43, 43, 43, 40, 43, 43, 43, - 43, 43, 43, 43, 26, 43, 43, 43, 43, 43, 30, 43, 43, 43, 18, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 33, 43, 43, 43, 43, 38, 43, 43, 43, 43, 11, - 43, 43, 43, 3, 43, 43, 43, 43, 43, 43, 22, 43, 43, 43, 43, 43, 43, 37, 43, 43, 43, 43, - 43, 43, 29, 43, 43, 43, 43, 9, 43, 43, 43, 43, 43, 43, 43, 27, 48, 63, 88, 67, 49, 66, +static int8_t accepts[280] = { + -1, -1, 90, 90, 93, 67, 73, 93, 41, 40, 40, 57, 82, 62, 66, 87, 43, 44, 55, 80, 53, 51, + 78, 50, 54, 52, 79, 89, 49, 1, -1, -1, 1, 56, -1, -1, 92, 91, 81, 2, 1, 1, -1, -1, + 1, -1, -1, 1, 2, -1, -1, 1, -1, 2, 2, 70, 69, 88, 75, 58, 83, 77, 71, 72, 74, 76, + 59, 84, 68, 93, 42, 42, 6, 42, 42, 42, 42, 42, 12, 47, 48, 61, 86, 65, 40, 40, 40, 40, + 15, 40, 40, 40, 40, 31, 40, 40, 40, 13, 40, 40, 40, 39, 40, 40, 40, 40, 40, 40, 28, 40, + 40, 23, 40, 40, 40, 40, 16, 40, 40, 40, 40, 40, 40, 14, 40, 40, 40, 40, 40, 17, 10, 40, + 40, 40, 7, 40, 40, 38, 40, 40, 40, 40, 4, 40, 40, 24, 40, 8, 40, 5, 19, 40, 40, 40, + 32, 40, 40, 21, 40, 40, 40, 40, 40, 36, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 25, 40, 40, 20, 40, 40, 40, 40, 40, 40, 40, 40, 37, 40, 40, 40, 40, 40, 40, 40, 26, 40, + 40, 40, 40, 40, 30, 40, 40, 40, 18, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 33, 40, 40, 40, 40, 35, 40, 40, 40, 40, 11, 40, 40, 40, 3, 40, 40, + 40, 40, 40, 40, 22, 40, 40, 40, 40, 40, 40, 34, 40, 40, 40, 40, 40, 40, 29, 40, 40, 40, + 40, 9, 40, 40, 40, 40, 40, 40, 40, 27, 45, 60, 85, 64, 46, 63, }; Token Lexer::next() { diff --git a/src/sksl/SkSLLexer.h b/src/sksl/SkSLLexer.h index 56a65ba7f6..e9cfecc734 100644 --- a/src/sksl/SkSLLexer.h +++ b/src/sksl/SkSLLexer.h @@ -49,9 +49,6 @@ struct Token { TK_BUFFER, TK_INLINE, TK_HASSIDEEFFECTS, - TK_PLS, - TK_PLSIN, - TK_PLSOUT, TK_VARYING, TK_STRUCT, TK_LAYOUT, diff --git a/src/sksl/SkSLParser.cpp b/src/sksl/SkSLParser.cpp index 20fc7c10d9..01ef531bf9 100644 --- a/src/sksl/SkSLParser.cpp +++ b/src/sksl/SkSLParser.cpp @@ -56,9 +56,6 @@ static int parse_modifier_token(Token::Kind token) { case Token::Kind::TK_RESTRICT: return Modifiers::kRestrict_Flag; case Token::Kind::TK_BUFFER: return Modifiers::kBuffer_Flag; case Token::Kind::TK_HASSIDEEFFECTS: return Modifiers::kHasSideEffects_Flag; - case Token::Kind::TK_PLS: return Modifiers::kPLS_Flag; - case Token::Kind::TK_PLSIN: return Modifiers::kPLSIn_Flag; - case Token::Kind::TK_PLSOUT: return Modifiers::kPLSOut_Flag; case Token::Kind::TK_VARYING: return Modifiers::kVarying_Flag; case Token::Kind::TK_INLINE: return Modifiers::kInline_Flag; default: return 0; @@ -1081,8 +1078,7 @@ Layout Parser::layout() { } /* layout? (UNIFORM | CONST | IN | OUT | INOUT | LOWP | MEDIUMP | HIGHP | FLAT | NOPERSPECTIVE | - READONLY | WRITEONLY | COHERENT | VOLATILE | RESTRICT | BUFFER | PLS | PLSIN | - PLSOUT | VARYING | INLINE)* */ + READONLY | WRITEONLY | COHERENT | VOLATILE | RESTRICT | BUFFER | VARYING | INLINE)* */ Modifiers Parser::modifiers() { Layout layout = this->layout(); int flags = 0; diff --git a/src/sksl/generated/sksl_gpu.dehydrated.sksl b/src/sksl/generated/sksl_gpu.dehydrated.sksl index 33752b7266..3992032b03 100644 --- a/src/sksl/generated/sksl_gpu.dehydrated.sksl +++ b/src/sksl/generated/sksl_gpu.dehydrated.sksl @@ -3943,14 +3943,14 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 42,0,0,0,0,1, 34, 1, -49,170,3,0,56, +49,170,3,0,53, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,170,3,0,1,3, -40,176,0,58, +40,176,0,55, 49,171,3,0, 40,15,2, 40,15,2,1,0, @@ -3962,12 +3962,12 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,174,3,0,1,3, -40,176,0,58, +40,176,0,55, 49,173,3,0, -40,15,2,56, +40,15,2,53, 49,174,3,0, 40,15,2,1,0, 22,178,3, @@ -3979,7 +3979,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,14,3, 44, 1, -49,176,3,0,75, +49,176,3,0,72, 6, 40,15,2,1, 19, @@ -3990,12 +3990,12 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 19, 40,176,0,0,0,0,0, 1, -49,176,3,0,58, +49,176,3,0,55, 39, 49,177,3,0,1,3, 40,15,2, 1, -49,176,3,0,58, +49,176,3,0,55, 39, 49,177,3,0,1,3, 40,15,2,1,0, @@ -4014,10 +4014,10 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,183,3,0,1,3, -40,176,0,58, +40,176,0,55, 49,182,3,0, 40,15,2,1,0, 22,187,3, @@ -4027,10 +4027,10 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,185,3,0,1,3, -40,176,0,58, +40,176,0,55, 49,186,3,0, 40,15,2,1,0, 22,190,3, @@ -4040,16 +4040,16 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 39, -49,189,3,0,1,3,58, +49,189,3,0,1,3,55, 49,188,3,0, -40,15,2,56, +40,15,2,53, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,188,3,0,1,3, -40,176,0,58, +40,176,0,55, 49,189,3,0, 40,15,2, 40,15,2,1,0, @@ -4061,15 +4061,15 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,192,3,0,1,3, -40,176,0,58, +40,176,0,55, 49,191,3,0, -40,15,2,56, +40,15,2,53, 1, 39, -49,191,3,0,1,3,58, +49,191,3,0,1,3,55, 49,192,3,0, 40,15,2, 40,15,2,1,0, @@ -4081,19 +4081,19 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,195,3,0,1,3, -40,176,0,58, +40,176,0,55, 49,194,3,0, -40,15,2,56, +40,15,2,53, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,194,3,0,1,3, -40,176,0,58, +40,176,0,55, 49,195,3,0, 40,15,2, 40,15,2,1,0, @@ -4104,7 +4104,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 21, 40,15,2,204,0,2, 1, -49,197,3,0,56, +49,197,3,0,53, 49,198,3,0, 40,15,2, 19, @@ -4114,7 +4114,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 42,0,0,0,0,1, 34, 1, -49,200,3,0,58, +49,200,3,0,55, 49,201,3,0, 40,15,2,1,0, 22,205,3, @@ -4122,13 +4122,13 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 42,0,0,0,0,1, 34, 1, -49,203,3,0,56, +49,203,3,0,53, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 49,203,3,0, -40,15,2,58, +40,15,2,55, 49,204,3,0, 40,15,2, 40,15,2,1,0, @@ -4140,44 +4140,44 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 19, -40,176,0,0,0,0,64,58, +40,176,0,0,0,0,64,55, 39, 49,207,3,0,1,0, -40,176,0,80, +40,176,0,77, 39, 49,207,3,0,1,1, 40,14,3, 1, 1, 19, -40,176,0,0,0,0,64,58, +40,176,0,0,0,0,64,55, 39, 49,206,3,0,1,0, -40,176,0,58, +40,176,0,55, 39, 49,207,3,0,1,0, 40,176,0, 1, 1, 39, -49,206,3,0,1,1,58, +49,206,3,0,1,1,55, 39, 49,207,3,0,1,1, -40,176,0,57, +40,176,0,54, 1, 1, 19, -40,176,0,0,0,0,64,58, +40,176,0,0,0,0,64,55, 1, 39, -49,207,3,0,1,1,57, +49,207,3,0,1,1,54, 39, 49,207,3,0,1,0, 40,176,0, -40,176,0,58, +40,176,0,55, 1, 39, -49,206,3,0,1,1,57, +49,206,3,0,1,1,54, 39, 49,206,3,0,1,0, 40,176,0, @@ -4214,14 +4214,14 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 49,210,3,0,2,2,3, 1, 39, -49,209,3,0,1,3,56, +49,209,3,0,1,3,53, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,209,3,0,1,3, -40,176,0,58, +40,176,0,55, 39, 49,210,3,0,1,3, 40,176,0, @@ -4229,24 +4229,24 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 16, 1, 39, -49,43,4,2,3,0,1,2,81, +49,43,4,2,3,0,1,2,78, 1, 1, 39, -49,210,3,0,3,0,1,2,58, +49,210,3,0,3,0,1,2,55, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,209,3,0,1,3, 40,176,0, -40,172,1,56, +40,172,1,53, 1, 39, -49,209,3,0,3,0,1,2,58, +49,209,3,0,3,0,1,2,55, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,210,3,0,1,3, 40,176,0, @@ -4271,7 +4271,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 16, 1, 39, -49,44,4,1,3,0,1,2,74, +49,44,4,1,3,0,1,2,71, 21, 40,172,1,200,0,2, 39, @@ -4280,13 +4280,13 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,213,3,0,1,3, -40,176,0,58, +40,176,0,55, 39, 49,212,3,0,3,0,1,2, -40,172,1,56, +40,172,1,53, 39, 49,213,3,0,3,0,1,2, 40,172,1, @@ -4309,7 +4309,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 16, 1, 39, -49,45,4,1,3,0,1,2,74, +49,45,4,1,3,0,1,2,71, 21, 40,172,1,224,0,2, 39, @@ -4318,13 +4318,13 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,216,3,0,1,3, -40,176,0,58, +40,176,0,55, 39, 49,215,3,0,3,0,1,2, -40,172,1,56, +40,172,1,53, 39, 49,216,3,0,3,0,1,2, 40,172,1, @@ -4339,15 +4339,15 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 35,192,8, 40,14,3, 1, -49,218,3,0,59, +49,218,3,0,56, 1, -49,219,3,0,56, +49,219,3,0,53, 19, 40,176,0,119,204,43,50, 40,176,0, 40,176,0, 1, -49,218,3,0,59, +49,218,3,0,56, 49,219,3,0, 40,176,0,1,0, 22,224,3, @@ -4358,15 +4358,15 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 35,192,8, 40,14,3, 1, -49,221,3,0,59, +49,221,3,0,56, 1, -49,222,3,0,56, +49,222,3,0,53, 19, 40,176,0,119,204,43,50, 40,176,0, 40,172,1, 1, -49,221,3,0,59, +49,221,3,0,56, 49,222,3,0, 40,172,1,1,0, 22,227,3, @@ -4375,7 +4375,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 24,0, 1, 39, -49,226,3,0,1,0,75, +49,226,3,0,1,0,72, 19, 40,176,0,0,0,0,0, 40,14,3, @@ -4384,10 +4384,10 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 34, 1, 39, -49,225,3,0,1,0,58, +49,225,3,0,1,0,55, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,226,3,0,1,1, 40,176,0, @@ -4402,13 +4402,13 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,176,0,0, 1, 39, -49,225,3,0,1,1,57, +49,225,3,0,1,1,54, 39, 49,225,3,0,1,0, 40,176,0, 24,0, 1, -49,46,4,0,75, +49,46,4,0,72, 19, 40,176,0,0,0,0,0, 40,14,3, @@ -4419,27 +4419,27 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 39, -49,225,3,0,1,1,58, +49,225,3,0,1,1,55, 39, 49,226,3,0,1,1, -40,176,0,56, +40,176,0,53, 1, 39, -49,225,3,0,1,0,58, +49,225,3,0,1,0,55, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,226,3,0,1,1, 40,176,0, 40,176,0, -40,176,0,56, +40,176,0,53, 1, 39, -49,226,3,0,1,0,58, +49,226,3,0,1,0,55, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,225,3,0,1,1, 40,176,0, @@ -4449,7 +4449,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 42,0,0,0,0,2, 16, 1, -49,46,4,1,74, +49,46,4,1,71, 21, 40,176,0,200,0,2, 39, @@ -4458,7 +4458,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,176,0,220,3,2, 1, 39, -49,226,3,0,1,0,58, +49,226,3,0,1,0,55, 39, 49,225,3,0,1,1, 40,176,0, @@ -4468,27 +4468,27 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 1, -49,46,4,0,58, +49,46,4,0,55, 39, 49,225,3,0,1,1, -40,176,0,56, +40,176,0,53, 1, 39, -49,225,3,0,1,0,58, +49,225,3,0,1,0,55, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,226,3,0,1,1, 40,176,0, 40,176,0, -40,176,0,56, +40,176,0,53, 1, 39, -49,226,3,0,1,0,58, +49,226,3,0,1,0,55, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,225,3,0,1,1, 40,176,0, @@ -4520,14 +4520,14 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 49,229,3,0,2,2,3, 1, 39, -49,228,3,0,1,3,56, +49,228,3,0,1,3,53, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,228,3,0,1,3, -40,176,0,58, +40,176,0,55, 39, 49,229,3,0,1,3, 40,176,0, @@ -4538,7 +4538,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 24,0, 1, 39, -49,232,3,0,1,1,75, +49,232,3,0,1,1,72, 39, 49,232,3,0,1,0, 40,14,3, @@ -4549,27 +4549,27 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 39, -49,231,3,0,1,1,58, +49,231,3,0,1,1,55, 39, 49,232,3,0,1,1, -40,176,0,56, +40,176,0,53, 1, 39, -49,231,3,0,1,0,58, +49,231,3,0,1,0,55, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,232,3,0,1,1, 40,176,0, 40,176,0, -40,176,0,56, +40,176,0,53, 1, 39, -49,232,3,0,1,0,58, +49,232,3,0,1,0,55, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,231,3,0,1,1, 40,176,0, @@ -4578,7 +4578,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 24,0, 1, 39, -49,231,3,0,1,0,75, +49,231,3,0,1,0,72, 19, 40,176,0,0,0,0,0, 40,14,3, @@ -4587,10 +4587,10 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 34, 1, 39, -49,232,3,0,1,0,58, +49,232,3,0,1,0,55, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,231,3,0,1,1, 40,176,0, @@ -4609,16 +4609,16 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,176,0,0,0,0,0, 1, 39, -49,232,3,0,1,1,57, +49,232,3,0,1,1,54, 21, 40,176,0,220,3,2, 1, 1, 39, -49,232,3,0,1,1,57, +49,232,3,0,1,1,54, 39, 49,232,3,0,1,0, -40,176,0,58, +40,176,0,55, 39, 49,231,3,0,1,1, 40,176,0, @@ -4629,27 +4629,27 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 1, -49,47,4,0,58, +49,47,4,0,55, 39, 49,231,3,0,1,1, -40,176,0,56, +40,176,0,53, 1, 39, -49,231,3,0,1,0,58, +49,231,3,0,1,0,55, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,232,3,0,1,1, 40,176,0, 40,176,0, -40,176,0,56, +40,176,0,53, 1, 39, -49,232,3,0,1,0,58, +49,232,3,0,1,0,55, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,231,3,0,1,1, 40,176,0, @@ -4681,14 +4681,14 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 49,235,3,0,2,2,3, 1, 39, -49,234,3,0,1,3,56, +49,234,3,0,1,3,53, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,234,3,0,1,3, -40,176,0,58, +40,176,0,55, 39, 49,235,3,0,1,3, 40,176,0, @@ -4708,10 +4708,10 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 19, -40,176,0,0,0,0,64,58, +40,176,0,0,0,0,64,55, 39, 49,240,3,0,1,0, -40,176,0,80, +40,176,0,77, 39, 49,240,3,0,1,1, 40,14,3, @@ -4725,49 +4725,49 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 39, -49,241,3,0,1,0,58, +49,241,3,0,1,0,55, 39, 49,241,3,0,1,0, -40,176,0,58, +40,176,0,55, 1, 39, -49,240,3,0,1,1,57, +49,240,3,0,1,1,54, 1, 19, -40,176,0,0,0,0,64,58, +40,176,0,0,0,0,64,55, 39, 49,240,3,0,1,0, 40,176,0, 40,176,0, 40,176,0, 39, -49,241,3,0,1,1,56, +49,241,3,0,1,1,53, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,241,3,0,1,1, -40,176,0,58, +40,176,0,55, 39, 49,240,3,0,1,0, 40,176,0, -40,176,0,56, +40,176,0,53, 1, 39, -49,241,3,0,1,0,58, +49,241,3,0,1,0,55, 1, 1, -33,57, +33,54, 39, -49,240,3,0,1,1,56, +49,240,3,0,1,1,53, 1, 19, -40,176,0,0,0,0,64,58, +40,176,0,0,0,0,64,55, 39, 49,240,3,0,1,0, 40,176,0, -40,176,0,56, +40,176,0,53, 19, 40,176,0,0,0,128,63, 40,176,0, @@ -4777,10 +4777,10 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 19, -40,176,0,0,0,128,64,58, +40,176,0,0,0,128,64,55, 39, 49,241,3,0,1,0, -40,176,0,80, +40,176,0,77, 39, 49,241,3,0,1,1, 40,14,3, @@ -4806,14 +4806,14 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,176,0,0, 1, 39, -49,241,3,0,1,0,58, +49,241,3,0,1,0,55, 39, 49,241,3,0,1,0, 40,176,0, 47,49,4, 40,176,0,0, 1, -49,48,4,0,58, +49,48,4,0,55, 39, 49,241,3,0,1,0, 40,176,0, @@ -4821,14 +4821,14 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,176,0,0, 1, 39, -49,241,3,0,1,1,58, +49,241,3,0,1,1,55, 39, 49,241,3,0,1,1, 40,176,0, 47,51,4, 40,176,0,0, 1, -49,50,4,0,58, +49,50,4,0,55, 39, 49,241,3,0,1,1, 40,176,0, @@ -4839,76 +4839,76 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 1, -49,50,4,0,58, +49,50,4,0,55, 1, 39, -49,240,3,0,1,0,57, +49,240,3,0,1,0,54, 1, 39, -49,241,3,0,1,0,58, +49,241,3,0,1,0,55, 1, 1, 1, 19, -40,176,0,0,0,64,64,58, +40,176,0,0,0,64,64,55, 39, 49,240,3,0,1,1, -40,176,0,57, +40,176,0,54, 1, 19, -40,176,0,0,0,192,64,58, +40,176,0,0,0,192,64,55, 39, 49,240,3,0,1,0, 40,176,0, -40,176,0,57, +40,176,0,54, 19, 40,176,0,0,0,128,63, 40,176,0, 40,176,0, 40,176,0, -40,176,0,56, +40,176,0,53, 1, 1, 1, 19, -40,176,0,0,0,64,65,58, +40,176,0,0,0,64,65,55, 39, 49,241,3,0,1,1, -40,176,0,58, +40,176,0,55, 49,48,4,0, -40,176,0,58, +40,176,0,55, 1, 39, -49,240,3,0,1,1,57, +49,240,3,0,1,1,54, 1, 19, -40,176,0,0,0,0,64,58, +40,176,0,0,0,0,64,55, 39, 49,240,3,0,1,0, 40,176,0, 40,176,0, 40,176,0, -40,176,0,57, +40,176,0,54, 1, 1, 19, -40,176,0,0,0,128,65,58, +40,176,0,0,0,128,65,55, 49,49,4,0, -40,176,0,58, +40,176,0,55, 1, 39, -49,240,3,0,1,1,57, +49,240,3,0,1,1,54, 1, 19, -40,176,0,0,0,0,64,58, +40,176,0,0,0,0,64,55, 39, 49,240,3,0,1,0, 40,176,0, 40,176,0, 40,176,0, -40,176,0,57, +40,176,0,54, 1, -49,51,4,0,58, +49,51,4,0,55, 39, 49,240,3,0,1,0, 40,176,0, @@ -4922,49 +4922,49 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 39, -49,241,3,0,1,0,58, +49,241,3,0,1,0,55, 1, 1, 39, -49,240,3,0,1,1,57, +49,240,3,0,1,1,54, 1, 19, -40,176,0,0,0,0,64,58, +40,176,0,0,0,0,64,55, 39, 49,240,3,0,1,0, 40,176,0, -40,176,0,56, +40,176,0,53, 19, 40,176,0,0,0,128,63, 40,176,0, -40,176,0,56, +40,176,0,53, 39, 49,240,3,0,1,0, -40,176,0,57, +40,176,0,54, 1, 21, 40,176,0,113,0,1, 1, 39, -49,241,3,0,1,1,58, +49,241,3,0,1,1,55, 39, 49,241,3,0,1,0, -40,176,0,58, +40,176,0,55, 1, 39, -49,240,3,0,1,1,57, +49,240,3,0,1,1,54, 1, 19, -40,176,0,0,0,0,64,58, +40,176,0,0,0,0,64,55, 39, 49,240,3,0,1,0, 40,176,0, 40,176,0, 40,176,0, -40,176,0,57, +40,176,0,54, 1, 39, -49,241,3,0,1,1,58, +49,241,3,0,1,1,55, 39, 49,240,3,0,1,0, 40,176,0, @@ -4976,7 +4976,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 44, 1, 39, -49,244,3,0,1,3,75, +49,244,3,0,1,3,72, 19, 40,176,0,0,0,0,0, 40,14,3, @@ -5003,14 +5003,14 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 49,244,3,0,2,2,3, 1, 39, -49,243,3,0,1,3,56, +49,243,3,0,1,3,53, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,243,3,0,1,3, -40,176,0,58, +40,176,0,55, 39, 49,244,3,0,1,3, 40,176,0, @@ -5024,24 +5024,24 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 39, -49,246,3,0,3,0,1,2,56, +49,246,3,0,3,0,1,2,53, 39, 49,247,3,0,3,0,1,2, -40,172,1,57, +40,172,1,54, 1, 19, -40,176,0,0,0,0,64,58, +40,176,0,0,0,0,64,55, 21, 40,172,1,200,0,2, 1, 39, -49,246,3,0,3,0,1,2,58, +49,246,3,0,3,0,1,2,55, 39, 49,247,3,0,1,3, 40,172,1, 1, 39, -49,247,3,0,3,0,1,2,58, +49,247,3,0,3,0,1,2,55, 39, 49,246,3,0,1,3, 40,172,1, @@ -5049,14 +5049,14 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,172,1, 1, 39, -49,246,3,0,1,3,56, +49,246,3,0,1,3,53, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,246,3,0,1,3, -40,176,0,58, +40,176,0,55, 39, 49,247,3,0,1,3, 40,176,0, @@ -5070,31 +5070,31 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 39, -49,250,3,0,3,0,1,2,56, +49,250,3,0,3,0,1,2,53, 39, 49,249,3,0,3,0,1,2, -40,172,1,57, +40,172,1,54, 1, 1, 19, -40,176,0,0,0,0,64,58, +40,176,0,0,0,0,64,55, 39, 49,250,3,0,3,0,1,2, -40,172,1,58, +40,172,1,55, 39, 49,249,3,0,3,0,1,2, 40,172,1, 40,172,1, 1, 39, -49,249,3,0,1,3,56, +49,249,3,0,1,3,53, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,249,3,0,1,3, -40,176,0,58, +40,176,0,55, 39, 49,250,3,0,1,3, 40,176,0, @@ -5110,41 +5110,41 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,252,3,0,1,3, -40,176,0,58, +40,176,0,55, 39, 49,253,3,0,3,0,1,2, -40,172,1,56, +40,172,1,53, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,253,3,0,1,3, -40,176,0,58, +40,176,0,55, 39, 49,252,3,0,3,0,1,2, 40,172,1, -40,172,1,56, +40,172,1,53, 1, 39, -49,252,3,0,3,0,1,2,58, +49,252,3,0,3,0,1,2,55, 39, 49,253,3,0,3,0,1,2, 40,172,1, 40,172,1, 1, 39, -49,252,3,0,1,3,56, +49,252,3,0,1,3,53, 1, 1, 19, -40,176,0,0,0,128,63,57, +40,176,0,0,0,128,63,54, 39, 49,252,3,0,1,3, -40,176,0,58, +40,176,0,55, 39, 49,253,3,0,1,3, 40,176,0, @@ -5192,11 +5192,11 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,172,1,0, 1, 1, -49,52,4,0,57, +49,52,4,0,54, 21, 40,176,0,0,4,1, 49,1,4,0, -40,176,0,56, +40,176,0,53, 49,1,4,0, 40,172,1, 47,54,4, @@ -5226,12 +5226,12 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 24,0, 1, 1, -49,54,4,0,78, +49,54,4,0,75, 19, 40,176,0,0,0,0,0, -40,14,3,69, +40,14,3,66, 1, -49,52,4,0,76, +49,52,4,0,73, 49,54,4,0, 40,14,3, 40,14,3, @@ -5239,19 +5239,19 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 42,0,0,0,0,1, 16, 1, -49,53,4,1,74, +49,53,4,1,71, 1, -49,52,4,0,56, +49,52,4,0,53, 1, 1, -49,53,4,0,57, +49,53,4,0,54, 49,52,4,0, -40,172,1,58, +40,172,1,55, 21, 40,176,0,220,3,2, 49,52,4,0, 1, -49,52,4,0,57, +49,52,4,0,54, 49,54,4,0, 40,176,0, 40,172,1, @@ -5261,11 +5261,11 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 24,0, 1, 1, -49,55,4,0,77, +49,55,4,0,74, 49,2,4,0, -40,14,3,69, +40,14,3,66, 1, -49,55,4,0,76, +49,55,4,0,73, 49,52,4,0, 40,14,3, 40,14,3, @@ -5273,21 +5273,21 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 42,0,0,0,0,1, 34, 1, -49,52,4,0,56, +49,52,4,0,53, 21, 40,172,1,224,3,2, 1, 1, -49,53,4,0,57, +49,53,4,0,54, 49,52,4,0, -40,172,1,58, +40,172,1,55, 1, -49,2,4,0,57, +49,2,4,0,54, 49,52,4,0, 40,176,0, 40,172,1, 1, -49,55,4,0,57, +49,55,4,0,54, 49,52,4,0, 40,176,0, 40,172,1,1, @@ -5309,7 +5309,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 39, 49,5,4,0,1,1, 39, -49,5,4,0,1,2,57, +49,5,4,0,1,2,54, 21, 40,176,0,200,0,2, 21, @@ -5327,7 +5327,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 24,0, 1, 39, -49,7,4,0,1,0,78, +49,7,4,0,1,0,75, 39, 49,7,4,0,1,2, 40,14,3, @@ -5341,17 +5341,17 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 21, 40,176,0,220,3,2, 1, -49,8,4,0,58, +49,8,4,0,55, 1, 39, -49,7,4,0,1,1,57, +49,7,4,0,1,1,54, 39, 49,7,4,0,1,0, 40,176,0, 40,176,0, 1, 39, -49,7,4,0,1,2,57, +49,7,4,0,1,2,54, 39, 49,7,4,0,1,0, 40,176,0, @@ -5378,7 +5378,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 24,0, 1, 39, -49,10,4,0,1,0,80, +49,10,4,0,1,0,77, 39, 49,10,4,0,1,1, 40,14,3, @@ -5387,7 +5387,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 24,0, 1, 39, -49,10,4,0,1,1,80, +49,10,4,0,1,1,77, 39, 49,10,4,0,1,2, 40,14,3, @@ -5402,7 +5402,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 24,0, 1, 39, -49,10,4,0,1,0,80, +49,10,4,0,1,0,77, 39, 49,10,4,0,1,2, 40,14,3, @@ -5427,7 +5427,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 24,0, 1, 39, -49,10,4,0,1,0,80, +49,10,4,0,1,0,77, 39, 49,10,4,0,1,2, 40,14,3, @@ -5443,7 +5443,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 24,0, 1, 39, -49,10,4,0,1,1,80, +49,10,4,0,1,1,77, 39, 49,10,4,0,1,2, 40,14,3, @@ -5484,7 +5484,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,176,0,0, 1, 39, -49,14,4,0,1,3,58, +49,14,4,0,1,3,55, 39, 49,13,4,0,1,3, 40,176,0, @@ -5492,7 +5492,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,172,1,0, 1, 39, -49,13,4,0,3,0,1,2,58, +49,13,4,0,3,0,1,2,55, 39, 49,14,4,0,1,3, 40,172,1, @@ -5500,7 +5500,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,172,1,0, 1, 39, -49,14,4,0,3,0,1,2,58, +49,14,4,0,3,0,1,2,55, 39, 49,13,4,0,1,3, 40,172,1, @@ -5518,24 +5518,24 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 49,58,4,0, 49,59,4,0, 49,57,4,0, -49,59,4,0,56, +49,59,4,0,53, 39, 49,14,4,0,3,0,1,2, -40,172,1,57, +40,172,1,54, 49,59,4,0, -40,172,1,56, +40,172,1,53, 39, 49,13,4,0,3,0,1,2, -40,172,1,57, +40,172,1,54, 49,58,4,0, 40,172,1, 1, 1, 39, -49,13,4,0,1,3,56, +49,13,4,0,1,3,53, 39, 49,14,4,0,1,3, -40,176,0,57, +40,176,0,54, 49,57,4,0, 40,176,0,1,2,4,4,12,4, 22,18,4, @@ -5557,7 +5557,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,176,0,0, 1, 39, -49,17,4,0,1,3,58, +49,17,4,0,1,3,55, 39, 49,16,4,0,1,3, 40,176,0, @@ -5565,7 +5565,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,172,1,0, 1, 39, -49,16,4,0,3,0,1,2,58, +49,16,4,0,3,0,1,2,55, 39, 49,17,4,0,1,3, 40,172,1, @@ -5573,7 +5573,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,172,1,0, 1, 39, -49,17,4,0,3,0,1,2,58, +49,17,4,0,3,0,1,2,55, 39, 49,16,4,0,1,3, 40,172,1, @@ -5591,24 +5591,24 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 49,62,4,0, 49,61,4,0, 49,60,4,0, -49,62,4,0,56, +49,62,4,0,53, 39, 49,17,4,0,3,0,1,2, -40,172,1,57, +40,172,1,54, 49,62,4,0, -40,172,1,56, +40,172,1,53, 39, 49,16,4,0,3,0,1,2, -40,172,1,57, +40,172,1,54, 49,61,4,0, 40,172,1, 1, 1, 39, -49,16,4,0,1,3,56, +49,16,4,0,1,3,53, 39, 49,17,4,0,1,3, -40,176,0,57, +40,176,0,54, 49,60,4,0, 40,176,0,1,2,4,4,12,4, 22,21,4, @@ -5630,7 +5630,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,176,0,0, 1, 39, -49,20,4,0,1,3,58, +49,20,4,0,1,3,55, 39, 49,19,4,0,1,3, 40,176,0, @@ -5638,7 +5638,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,172,1,0, 1, 39, -49,19,4,0,3,0,1,2,58, +49,19,4,0,3,0,1,2,55, 39, 49,20,4,0,1,3, 40,172,1, @@ -5646,7 +5646,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,172,1,0, 1, 39, -49,20,4,0,3,0,1,2,58, +49,20,4,0,3,0,1,2,55, 39, 49,19,4,0,1,3, 40,172,1, @@ -5661,24 +5661,24 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,172,1,4,4,3, 49,64,4,0, 49,63,4,0, -49,65,4,0,56, +49,65,4,0,53, 39, 49,20,4,0,3,0,1,2, -40,172,1,57, +40,172,1,54, 49,65,4,0, -40,172,1,56, +40,172,1,53, 39, 49,19,4,0,3,0,1,2, -40,172,1,57, +40,172,1,54, 49,64,4,0, 40,172,1, 1, 1, 39, -49,19,4,0,1,3,56, +49,19,4,0,1,3,53, 39, 49,20,4,0,1,3, -40,176,0,57, +40,176,0,54, 49,63,4,0, 40,176,0,1,1,4,4, 22,24,4, @@ -5700,7 +5700,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,176,0,0, 1, 39, -49,23,4,0,1,3,58, +49,23,4,0,1,3,55, 39, 49,22,4,0,1,3, 40,176,0, @@ -5708,7 +5708,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,172,1,0, 1, 39, -49,22,4,0,3,0,1,2,58, +49,22,4,0,3,0,1,2,55, 39, 49,23,4,0,1,3, 40,172,1, @@ -5716,7 +5716,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,172,1,0, 1, 39, -49,23,4,0,3,0,1,2,58, +49,23,4,0,3,0,1,2,55, 39, 49,22,4,0,1,3, 40,172,1, @@ -5731,24 +5731,24 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,172,1,4,4,3, 49,68,4,0, 49,66,4,0, -49,67,4,0,56, +49,67,4,0,53, 39, 49,23,4,0,3,0,1,2, -40,172,1,57, +40,172,1,54, 49,68,4,0, -40,172,1,56, +40,172,1,53, 39, 49,22,4,0,3,0,1,2, -40,172,1,57, +40,172,1,54, 49,67,4,0, 40,172,1, 1, 1, 39, -49,22,4,0,1,3,56, +49,22,4,0,1,3,53, 39, 49,23,4,0,1,3, -40,176,0,57, +40,176,0,54, 49,66,4,0, 40,176,0,1,1,4,4, 14,2,0, @@ -6120,7 +6120,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,15,2,2, 1, 39, -49,29,4,0,3,0,1,2,59, +49,29,4,0,3,0,1,2,56, 21, 40,176,0,224,0,2, 39, @@ -6138,7 +6138,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 40,132,1,2, 1, 39, -49,31,4,0,3,0,1,2,59, +49,31,4,0,3,0,1,2,56, 21, 40,168,0,216,0,2, 39, @@ -6154,7 +6154,7 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 34, 1, 39, -49,33,4,0,2,0,1,59, +49,33,4,0,2,0,1,56, 39, 49,33,4,0,1,2, 40,126,1,1,0, @@ -6174,13 +6174,13 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 39, -49,35,4,0,1,0,58, +49,35,4,0,1,0,55, 39, 49,36,4,0,1,1, -40,168,0,57, +40,168,0,54, 1, 39, -49,35,4,0,1,1,58, +49,35,4,0,1,1,55, 39, 49,36,4,0,1,0, 40,168,0, @@ -6201,13 +6201,13 @@ static uint8_t SKSL_INCLUDE_sksl_gpu[] = {56,10, 1, 1, 39, -49,39,4,0,1,0,58, +49,39,4,0,1,0,55, 39, 49,40,4,0,1,1, -40,176,0,57, +40,176,0,54, 1, 39, -49,39,4,0,1,1,58, +49,39,4,0,1,1,55, 39, 49,40,4,0,1,0, 40,176,0, diff --git a/src/sksl/generated/sksl_public.dehydrated.sksl b/src/sksl/generated/sksl_public.dehydrated.sksl index 6cccde20bd..76e8160085 100644 --- a/src/sksl/generated/sksl_public.dehydrated.sksl +++ b/src/sksl/generated/sksl_public.dehydrated.sksl @@ -1326,7 +1326,7 @@ static uint8_t SKSL_INCLUDE_sksl_public[] = {19,2, 40,139,1,2, 1, 39, -49,138,1,0,3,0,1,2,59, +49,138,1,0,3,0,1,2,56, 21, 40,123,0,155,0,2, 39, @@ -1344,7 +1344,7 @@ static uint8_t SKSL_INCLUDE_sksl_public[] = {19,2, 40,142,1,2, 1, 39, -49,141,1,0,3,0,1,2,59, +49,141,1,0,3,0,1,2,56, 21, 40,115,0,147,0,2, 39, diff --git a/src/sksl/ir/SkSLModifiers.h b/src/sksl/ir/SkSLModifiers.h index 7030377559..7a35eca3a3 100644 --- a/src/sksl/ir/SkSLModifiers.h +++ b/src/sksl/ir/SkSLModifiers.h @@ -33,11 +33,8 @@ struct Modifiers { kRestrict_Flag = 1 << 10, kBuffer_Flag = 1 << 11, kHasSideEffects_Flag = 1 << 12, - kPLS_Flag = 1 << 13, - kPLSIn_Flag = 1 << 14, - kPLSOut_Flag = 1 << 15, - kVarying_Flag = 1 << 16, - kInline_Flag = 1 << 17, + kVarying_Flag = 1 << 13, + kInline_Flag = 1 << 14, }; Modifiers() @@ -83,15 +80,6 @@ struct Modifiers { if (fFlags & kHasSideEffects_Flag) { result += "sk_has_side_effects "; } - if (fFlags & kPLS_Flag) { - result += "__pixel_localEXT "; - } - if (fFlags & kPLSIn_Flag) { - result += "__pixel_local_inEXT "; - } - if (fFlags & kPLSOut_Flag) { - result += "__pixel_local_outEXT "; - } if (fFlags & kVarying_Flag) { result += "varying "; } diff --git a/src/sksl/lex/sksl.lex b/src/sksl/lex/sksl.lex index 7aa33c566a..3f515c2157 100644 --- a/src/sksl/lex/sksl.lex +++ b/src/sksl/lex/sksl.lex @@ -42,9 +42,6 @@ RESTRICT = "restrict" BUFFER = "buffer" INLINE = "inline" HASSIDEEFFECTS = "sk_has_side_effects" -PLS = "__pixel_localEXT" -PLSIN = "__pixel_local_inEXT" -PLSOUT = "__pixel_local_outEXT" VARYING = "varying" STRUCT = "struct" LAYOUT = "layout" diff --git a/tests/sksl/errors/BadModifiers.glsl b/tests/sksl/errors/BadModifiers.glsl index 76a65af15c..118e0f66a0 100644 --- a/tests/sksl/errors/BadModifiers.glsl +++ b/tests/sksl/errors/BadModifiers.glsl @@ -12,28 +12,22 @@ error: 3: 'coherent' is not permitted here error: 3: 'volatile' is not permitted here error: 3: 'restrict' is not permitted here error: 3: 'buffer' is not permitted here -error: 3: '__pixel_localEXT' is not permitted here -error: 3: '__pixel_local_inEXT' is not permitted here -error: 3: '__pixel_local_outEXT' is not permitted here error: 3: 'varying' is not permitted here -error: 7: 'const' is not permitted here -error: 7: 'uniform' is not permitted here -error: 7: 'flat' is not permitted here -error: 7: 'noperspective' is not permitted here -error: 7: 'readonly' is not permitted here -error: 7: 'writeonly' is not permitted here -error: 7: 'coherent' is not permitted here -error: 7: 'volatile' is not permitted here -error: 7: 'restrict' is not permitted here -error: 7: 'buffer' is not permitted here -error: 7: 'sk_has_side_effects' is not permitted here -error: 7: '__pixel_localEXT' is not permitted here -error: 7: '__pixel_local_inEXT' is not permitted here -error: 7: '__pixel_local_outEXT' is not permitted here -error: 7: 'varying' is not permitted here -error: 7: 'inline' is not permitted here -error: 11: 'in uniform' variables only permitted within fragment processors -error: 11: 'varying' is only permitted in runtime effects -error: 11: 'sk_has_side_effects' is not permitted here -error: 11: 'inline' is not permitted here -36 errors +error: 6: 'const' is not permitted here +error: 6: 'uniform' is not permitted here +error: 6: 'flat' is not permitted here +error: 6: 'noperspective' is not permitted here +error: 6: 'readonly' is not permitted here +error: 6: 'writeonly' is not permitted here +error: 6: 'coherent' is not permitted here +error: 6: 'volatile' is not permitted here +error: 6: 'restrict' is not permitted here +error: 6: 'buffer' is not permitted here +error: 6: 'sk_has_side_effects' is not permitted here +error: 6: 'varying' is not permitted here +error: 6: 'inline' is not permitted here +error: 9: 'in uniform' variables only permitted within fragment processors +error: 9: 'varying' is only permitted in runtime effects +error: 9: 'sk_has_side_effects' is not permitted here +error: 9: 'inline' is not permitted here +30 errors