From 4309107044078982cdb40b5ebe995e3bbeeabda6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20C=C3=A1ceres?= Date: Fri, 9 Jan 2026 16:28:18 +0100 Subject: [PATCH 1/5] Add TrappedRookPenalty --- src/Lynx/Evaluation.cs | 40 ++++++++++++++++++++++++------- src/Lynx/TunableEvalParameters.cs | 5 ++++ 2 files changed, 37 insertions(+), 8 deletions(-) diff --git a/src/Lynx/Evaluation.cs b/src/Lynx/Evaluation.cs index 7a45cf654..ec5b193d5 100644 --- a/src/Lynx/Evaluation.cs +++ b/src/Lynx/Evaluation.cs @@ -167,7 +167,7 @@ public partial class Position { bitboard = bitboard.WithoutLS1B(out var pieceSquareIndex); - packedScore += AdditionalPieceEvaluation(ref evaluationContext, pieceSquareIndex, whiteBucket, blackBucket, pieceIndex, (int)Side.White, blackPawnAttacks, blackKing); + packedScore += AdditionalPieceEvaluation(ref evaluationContext, pieceSquareIndex, whiteBucket, blackBucket, pieceIndex, (int)Side.White, blackPawnAttacks, whiteKing, blackKing); } } @@ -184,7 +184,7 @@ public partial class Position { bitboard = bitboard.WithoutLS1B(out var pieceSquareIndex); - packedScore -= AdditionalPieceEvaluation(ref evaluationContext, pieceSquareIndex, blackBucket, whiteBucket, pieceIndex, (int)Side.Black, whitePawnAttacks, whiteKing); + packedScore -= AdditionalPieceEvaluation(ref evaluationContext, pieceSquareIndex, blackBucket, whiteBucket, pieceIndex, (int)Side.Black, whitePawnAttacks, blackKing, whiteKing); } } } @@ -295,7 +295,7 @@ public partial class Position IncrementalPhaseAccumulator += GamePhaseByPiece[pieceIndex]; - packedScore += AdditionalPieceEvaluation(ref evaluationContext, pieceSquareIndex, whiteBucket, blackBucket, pieceIndex, (int)Side.White, blackPawnAttacks, blackKing); + packedScore += AdditionalPieceEvaluation(ref evaluationContext, pieceSquareIndex, whiteBucket, blackBucket, pieceIndex, (int)Side.White, blackPawnAttacks, whiteKing, blackKing); } } @@ -316,7 +316,7 @@ public partial class Position IncrementalPhaseAccumulator += GamePhaseByPiece[pieceIndex]; - packedScore -= AdditionalPieceEvaluation(ref evaluationContext, pieceSquareIndex, blackBucket, whiteBucket, pieceIndex, (int)Side.Black, whitePawnAttacks, whiteKing); + packedScore -= AdditionalPieceEvaluation(ref evaluationContext, pieceSquareIndex, blackBucket, whiteBucket, pieceIndex, (int)Side.Black, whitePawnAttacks, blackKing, whiteKing); } } @@ -573,11 +573,11 @@ public static int EvaluateFinalPosition(int ply, bool isInCheck) /// Doesn't include , , and evaluation /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - internal int AdditionalPieceEvaluation(ref EvaluationContext evaluationContext, int pieceSquareIndex, int bucket, int oppositeSideBucket, int pieceIndex, int pieceSide, BitBoard enemyPawnAttacks, int oppositeSideKingSquare) + internal int AdditionalPieceEvaluation(ref EvaluationContext evaluationContext, int pieceSquareIndex, int bucket, int oppositeSideBucket, int pieceIndex, int pieceSide, BitBoard enemyPawnAttacks, int sameSideKingSquare, int oppositeSideKingSquare) { return pieceIndex switch { - (int)Piece.R or (int)Piece.r => RookAdditionalEvaluation(ref evaluationContext, pieceSquareIndex, bucket, oppositeSideBucket, pieceIndex, pieceSide, enemyPawnAttacks, oppositeSideKingSquare), + (int)Piece.R or (int)Piece.r => RookAdditionalEvaluation(ref evaluationContext, pieceSquareIndex, bucket, oppositeSideBucket, pieceIndex, pieceSide, enemyPawnAttacks, sameSideKingSquare, oppositeSideKingSquare), (int)Piece.B or (int)Piece.b => BishopAdditionalEvaluation(ref evaluationContext, pieceSquareIndex, pieceIndex, pieceSide, enemyPawnAttacks, oppositeSideKingSquare), (int)Piece.N or (int)Piece.n => KnightAdditionalEvaluation(ref evaluationContext, pieceSquareIndex, pieceIndex, pieceSide, enemyPawnAttacks, oppositeSideKingSquare), (int)Piece.Q or (int)Piece.q => QueenAdditionalEvaluation(ref evaluationContext, pieceSquareIndex, pieceIndex, pieceSide, enemyPawnAttacks, oppositeSideKingSquare), @@ -794,7 +794,7 @@ private int BishopAdditionalEvaluation(ref EvaluationContext evaluationContext, } [MethodImpl(MethodImplOptions.AggressiveInlining)] - private int RookAdditionalEvaluation(ref EvaluationContext evaluationContext, int squareIndex, int bucket, int oppositeSideBucket, int pieceIndex, int pieceSide, BitBoard enemyPawnAttacks, int oppositeSideKingSquare) + private int RookAdditionalEvaluation(ref EvaluationContext evaluationContext, int squareIndex, int bucket, int oppositeSideBucket, int pieceIndex, int pieceSide, BitBoard enemyPawnAttacks, int sameSideKingSquare, int oppositeSideKingSquare) { const int pawnToRookOffset = (int)Piece.R - (int)Piece.P; var sameSidePawns = _pieceBitBoards[pieceIndex - pawnToRookOffset]; @@ -832,6 +832,30 @@ private int RookAdditionalEvaluation(ref EvaluationContext evaluationContext, in packedBonus += SemiOpenFileRookBonus[bucket][file]; packedBonus += SemiOpenFileRookEnemyBonus[oppositeSideBucket][file]; } + // Trapped rook - impl based on Stash + else if (mobility <= 4) + { + var rank = Constants.Rank[squareIndex]; + + if (pieceIndex == (int)Piece.r) + { + rank = 7 - rank; + } + + if (rank <= 2) + { + const int EFile = 4; + + var rookFile = Constants.File[squareIndex]; + var kingFile = Constants.File[sameSideKingSquare]; + + // TODO: fix for queenside rook before castling + if (kingFile != rookFile && (kingFile < rookFile) == (kingFile >= EFile)) + { + packedBonus += TrappedRookPenalty; + } + } + } // Connected rooks if ((attacks & _pieceBitBoards[pieceIndex]).CountBits() >= 1) @@ -1008,7 +1032,7 @@ private int Threats(EvaluationContext evaluationContext, Side side, int opposite // since ~attacksBySide[(int)side] is always false given we're evaluation threats var defendedSquares = attacks[oppositeSidePawnIndex] | (attacksBySide[oppositeSide] & ~attacksBySide[(int)side]); - + for (int i = (int)Piece.N; i <= (int)Piece.K; ++i) { var ourPiecesIndex = 6 + i - oppositeSideOffset; diff --git a/src/Lynx/TunableEvalParameters.cs b/src/Lynx/TunableEvalParameters.cs index 337576ba7..b4431a16d 100644 --- a/src/Lynx/TunableEvalParameters.cs +++ b/src/Lynx/TunableEvalParameters.cs @@ -6078,6 +6078,11 @@ public static class EvaluationParams /// public const int PawnPushThreatBonus = 1245206; + /// + /// + /// + public const int TrappedRookPenalty = 1245206; + public static readonly int[] PassedPawnPushBonus = [ Pack(0, 0), From 0f0db2ec504d92b52cca5740d84cc5783a34784e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20C=C3=A1ceres?= Date: Sat, 10 Jan 2026 11:25:33 +0100 Subject: [PATCH 2/5] Increase mobility and rank requirements --- src/Lynx/Evaluation.cs | 4 +- src/Lynx/TunableEvalParameters.cs | 5650 ++++++++++++++--------------- 2 files changed, 2827 insertions(+), 2827 deletions(-) diff --git a/src/Lynx/Evaluation.cs b/src/Lynx/Evaluation.cs index ec5b193d5..fa69cbd91 100644 --- a/src/Lynx/Evaluation.cs +++ b/src/Lynx/Evaluation.cs @@ -833,7 +833,7 @@ private int RookAdditionalEvaluation(ref EvaluationContext evaluationContext, in packedBonus += SemiOpenFileRookEnemyBonus[oppositeSideBucket][file]; } // Trapped rook - impl based on Stash - else if (mobility <= 4) + else if (mobility <= 3) { var rank = Constants.Rank[squareIndex]; @@ -842,7 +842,7 @@ private int RookAdditionalEvaluation(ref EvaluationContext evaluationContext, in rank = 7 - rank; } - if (rank <= 2) + if (rank <= 1) { const int EFile = 4; diff --git a/src/Lynx/TunableEvalParameters.cs b/src/Lynx/TunableEvalParameters.cs index b4431a16d..3c4629fef 100644 --- a/src/Lynx/TunableEvalParameters.cs +++ b/src/Lynx/TunableEvalParameters.cs @@ -1,4 +1,4 @@ -// 2026-1-7 13:58:18 6 +// 2026-1-10 11:20:47 6 using static Lynx.Utils; @@ -12,96 +12,96 @@ internal static class TunableEvalParameters [ [ [ - +36, +303, +49, +424, +929, 0, - -36, -303, -49, -424, -929, 0 + +36, +304, +49, +424, +929, 0, + -36, -304, -49, -424, -929, 0 ], [ - +45, +327, +70, +450, +1016, 0, - -45, -327, -70, -450, -1016, 0 + +45, +328, +70, +452, +1016, 0, + -45, -328, -70, -452, -1016, 0 ], [ - +41, +318, +58, +420, +1032, 0, - -41, -318, -58, -420, -1032, 0 + +41, +318, +58, +422, +1033, 0, + -41, -318, -58, -422, -1033, 0 ], [ - +41, +310, +46, +407, +955, 0, - -41, -310, -46, -407, -955, 0 + +40, +310, +46, +409, +955, 0, + -40, -310, -46, -409, -955, 0 ], [ - +34, +308, +50, +425, +1003, 0, - -34, -308, -50, -425, -1003, 0 + +33, +309, +50, +427, +1003, 0, + -33, -309, -50, -427, -1003, 0 ], [ - +39, +311, +55, +403, +964, 0, - -39, -311, -55, -403, -964, 0 + +38, +311, +55, +405, +964, 0, + -38, -311, -55, -405, -964, 0 ], [ - +44, +324, +68, +436, +1035, 0, - -44, -324, -68, -436, -1035, 0 + +44, +324, +68, +437, +1036, 0, + -44, -324, -68, -437, -1036, 0 ], [ - +35, +324, +63, +437, +988, 0, - -35, -324, -63, -437, -988, 0 + +35, +324, +63, +438, +989, 0, + -35, -324, -63, -438, -989, 0 ], [ - +40, +327, +61, +422, +962, 0, - -40, -327, -61, -422, -962, 0 + +40, +327, +61, +423, +962, 0, + -40, -327, -61, -423, -962, 0 ], [ - +35, +309, +45, +399, +955, 0, - -35, -309, -45, -399, -955, 0 + +35, +309, +45, +400, +955, 0, + -35, -309, -45, -400, -955, 0 ], [ - +29, +294, +36, +358, +941, 0, - -29, -294, -36, -358, -941, 0 + +29, +295, +37, +359, +941, 0, + -29, -295, -37, -359, -941, 0 ], [ - +27, +292, +37, +361, +943, 0, - -27, -292, -37, -361, -943, 0 + +27, +292, +37, +362, +943, 0, + -27, -292, -37, -362, -943, 0 ], [ - +35, +314, +59, +397, +966, 0, - -35, -314, -59, -397, -966, 0 + +35, +314, +60, +398, +966, 0, + -35, -314, -60, -398, -966, 0 ], [ - +42, +340, +80, +435, +996, 0, - -42, -340, -80, -435, -996, 0 + +42, +340, +80, +436, +996, 0, + -42, -340, -80, -436, -996, 0 ], [ - +37, +328, +68, +421, +978, 0, - -37, -328, -68, -421, -978, 0 + +37, +328, +68, +422, +978, 0, + -37, -328, -68, -422, -978, 0 ], [ - +14, +266, +4, +345, +812, 0, - -14, -266, -4, -345, -812, 0 + +14, +267, +4, +346, +812, 0, + -14, -267, -4, -346, -812, 0 ], [ - +13, +248, +33, +339, +776, 0, - -13, -248, -33, -339, -776, 0 + +13, +248, +33, +340, +777, 0, + -13, -248, -33, -340, -777, 0 ], [ - +16, +250, +30, +344, +765, 0, - -16, -250, -30, -344, -765, 0 + +16, +250, +30, +345, +766, 0, + -16, -250, -30, -345, -766, 0 ], [ - +16, +253, +30, +347, +748, 0, - -16, -253, -30, -347, -748, 0 + +16, +253, +30, +348, +749, 0, + -16, -253, -30, -348, -749, 0 ], [ - +18, +246, +33, +344, +757, 0, - -18, -246, -33, -344, -757, 0 + +18, +247, +33, +346, +757, 0, + -18, -247, -33, -346, -757, 0 ], [ - +19, +254, +30, +338, +765, 0, - -19, -254, -30, -338, -765, 0 + +19, +255, +31, +339, +765, 0, + -19, -255, -31, -339, -765, 0 ], [ - +8, +248, +30, +346, +776, 0, - -8, -248, -30, -346, -776, 0 + +8, +248, +30, +347, +776, 0, + -8, -248, -30, -347, -776, 0 ], [ - +1, +253, +25, +342, +791, 0, - -1, -253, -25, -342, -791, 0 + +1, +253, +25, +343, +791, 0, + -1, -253, -25, -343, -791, 0 ], ], @@ -111,40 +111,40 @@ internal static class TunableEvalParameters -42, -52, -25, -88, -102, 0 ], [ - +48, +56, +38, +112, +183, 0, - -48, -56, -38, -112, -183, 0 + +48, +56, +37, +112, +183, 0, + -48, -56, -37, -112, -183, 0 ], [ +44, +43, +24, +88, +212, 0, -44, -43, -24, -88, -212, 0 ], [ - +40, +33, +17, +69, +169, 0, - -40, -33, -17, -69, -169, 0 + +39, +33, +17, +69, +169, 0, + -39, -33, -17, -69, -169, 0 ], [ - +41, +40, +24, +88, +206, 0, - -41, -40, -24, -88, -206, 0 + +41, +40, +24, +88, +207, 0, + -41, -40, -24, -88, -207, 0 ], [ - +39, +38, +22, +77, +175, 0, - -39, -38, -22, -77, -175, 0 + +39, +38, +22, +78, +175, 0, + -39, -38, -22, -78, -175, 0 ], [ - +45, +47, +28, +100, +188, 0, - -45, -47, -28, -100, -188, 0 + +45, +47, +28, +100, +187, 0, + -45, -47, -28, -100, -187, 0 ], [ +40, +52, +31, +97, +146, 0, -40, -52, -31, -97, -146, 0 ], [ - +45, +51, +28, +85, +159, 0, - -45, -51, -28, -85, -159, 0 + +45, +51, +28, +86, +159, 0, + -45, -51, -28, -86, -159, 0 ], [ - +42, +40, +17, +60, +177, 0, - -42, -40, -17, -60, -177, 0 + +42, +40, +17, +61, +177, 0, + -42, -40, -17, -61, -177, 0 ], [ +35, +29, +3, +31, +181, 0, @@ -167,8 +167,8 @@ internal static class TunableEvalParameters -40, -73, -45, -90, -148, 0 ], [ - +24, +9, -18, +2, +42, 0, - -24, -9, +18, -2, -42, 0 + +24, +9, -18, +3, +41, 0, + -24, -9, +18, -3, -41, 0 ], [ +9, -9, -40, +15, +3, 0, @@ -205,96 +205,96 @@ internal static class TunableEvalParameters [ [ [ - +42, +284, +48, +560, +799, 0, - -42, -284, -48, -560, -799, 0 + +42, +284, +48, +565, +799, 0, + -42, -284, -48, -565, -799, 0 ], [ - +51, +322, +82, +609, +882, 0, - -51, -322, -82, -609, -882, 0 + +51, +322, +82, +613, +882, 0, + -51, -322, -82, -613, -882, 0 ], [ - +61, +351, +109, +648, +896, 0, - -61, -351, -109, -648, -896, 0 + +61, +351, +109, +652, +896, 0, + -61, -351, -109, -652, -896, 0 ], [ - +49, +318, +69, +593, +821, 0, - -49, -318, -69, -593, -821, 0 + +49, +318, +70, +597, +821, 0, + -49, -318, -70, -597, -821, 0 ], [ - +59, +347, +101, +630, +895, 0, - -59, -347, -101, -630, -895, 0 + +59, +347, +101, +635, +896, 0, + -59, -347, -101, -635, -896, 0 ], [ - +51, +329, +80, +625, +881, 0, - -51, -329, -80, -625, -881, 0 + +51, +329, +80, +630, +881, 0, + -51, -329, -80, -630, -881, 0 ], [ - +65, +394, +151, +727, +1063, 0, - -65, -394, -151, -727, -1063, 0 + +65, +394, +151, +732, +1063, 0, + -65, -394, -151, -732, -1063, 0 ], [ - +41, +297, +62, +603, +863, 0, - -41, -297, -62, -603, -863, 0 + +41, +297, +62, +607, +864, 0, + -41, -297, -62, -607, -864, 0 ], [ - +57, +321, +79, +615, +857, 0, - -57, -321, -79, -615, -857, 0 + +57, +321, +79, +619, +857, 0, + -57, -321, -79, -619, -857, 0 ], [ - +64, +346, +95, +644, +874, 0, - -64, -346, -95, -644, -874, 0 + +64, +346, +95, +648, +874, 0, + -64, -346, -95, -648, -874, 0 ], [ - +67, +361, +105, +665, +888, 0, - -67, -361, -105, -665, -888, 0 + +67, +361, +105, +669, +888, 0, + -67, -361, -105, -669, -888, 0 ], [ - +67, +361, +102, +665, +897, 0, - -67, -361, -102, -665, -897, 0 + +67, +361, +102, +670, +897, 0, + -67, -361, -102, -670, -897, 0 ], [ - +61, +349, +96, +653, +908, 0, - -61, -349, -96, -653, -908, 0 + +61, +349, +96, +657, +908, 0, + -61, -349, -96, -657, -908, 0 ], [ - +55, +336, +85, +646, +914, 0, - -55, -336, -85, -646, -914, 0 + +55, +337, +85, +650, +914, 0, + -55, -337, -85, -650, -914, 0 ], [ - +52, +309, +66, +620, +877, 0, - -52, -309, -66, -620, -877, 0 + +52, +309, +66, +624, +877, 0, + -52, -309, -66, -624, -877, 0 ], [ - +54, +263, +22, +543, +711, 0, - -54, -263, -22, -543, -711, 0 + +54, +263, +22, +547, +711, 0, + -54, -263, -22, -547, -711, 0 ], [ - +58, +243, -20, +513, +649, 0, - -58, -243, +20, -513, -649, 0 + +58, +243, -20, +517, +649, 0, + -58, -243, +20, -517, -649, 0 ], [ - +56, +235, -35, +488, +635, 0, - -56, -235, +35, -488, -635, 0 + +56, +235, -34, +492, +635, 0, + -56, -235, +34, -492, -635, 0 ], [ - +54, +230, -51, +461, +616, 0, - -54, -230, +51, -461, -616, 0 + +54, +230, -51, +465, +616, 0, + -54, -230, +51, -465, -616, 0 ], [ - +49, +227, -61, +455, +622, 0, - -49, -227, +61, -455, -622, 0 + +49, +227, -61, +460, +622, 0, + -49, -227, +61, -460, -622, 0 ], [ - +46, +225, -53, +476, +637, 0, - -46, -225, +53, -476, -637, 0 + +46, +225, -53, +480, +637, 0, + -46, -225, +53, -480, -637, 0 ], [ - +56, +236, -29, +498, +650, 0, - -56, -236, +29, -498, -650, 0 + +56, +236, -29, +502, +650, 0, + -56, -236, +29, -502, -650, 0 ], [ - +60, +260, -2, +519, +666, 0, - -60, -260, +2, -519, -666, 0 + +60, +260, -2, +523, +666, 0, + -60, -260, +2, -523, -666, 0 ], ], @@ -332,8 +332,8 @@ internal static class TunableEvalParameters -61, -51, -27, -143, -234, 0 ], [ - +55, +48, +16, +111, +184, 0, - -55, -48, -16, -111, -184, 0 + +55, +48, +16, +110, +184, 0, + -55, -48, -16, -110, -184, 0 ], [ +58, +66, +34, +134, +190, 0, @@ -356,8 +356,8 @@ internal static class TunableEvalParameters -55, -63, -30, -135, -237, 0 ], [ - +55, +44, +16, +118, +225, 0, - -55, -44, -16, -118, -225, 0 + +55, +44, +16, +117, +225, 0, + -55, -44, -16, -117, -225, 0 ], [ +41, -12, -35, +37, +45, 0, @@ -376,16 +376,16 @@ internal static class TunableEvalParameters -32, +61, +68, +18, +51, 0 ], [ - +29, -61, -75, -30, -43, 0, - -29, +61, +75, +30, +43, 0 + +29, -61, -75, -31, -43, 0, + -29, +61, +75, +31, +43, 0 ], [ +33, -60, -66, -28, -28, 0, -33, +60, +66, +28, +28, 0 ], [ - +39, -57, -49, -16, -15, 0, - -39, +57, +49, +16, +15, 0 + +39, -57, -49, -16, -14, 0, + -39, +57, +49, +16, +14, 0 ], [ +38, -30, -35, +21, +13, 0, @@ -399,221 +399,221 @@ internal static class TunableEvalParameters [ 0, 0, 0, 0, 0, 0, 0, 0, -150, 26, 61, -10, -68, -34, 38, -20, - -31, 31, 66, 47, 39, 11, 12, 2, - -22, 33, -2, 6, 1, -17, -16, -31, - 12, 26, 13, 10, 4, -5, -24, -24, + -31, 31, 66, 46, 39, 11, 12, 3, + -22, 33, -2, 6, 1, -17, -15, -31, + 12, 26, 13, 10, 4, -5, -23, -24, 6, 45, 23, 2, -18, -23, -38, -32, - 4, 89, 43, 15, -2, -28, -41, -30, + 4, 89, 43, 15, -2, -28, -41, -31, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -5, -41, -71, 12, 6, -3, -18, -74, - 37, 23, 21, 38, 34, 19, -2, -7, - 46, 12, -3, -3, -3, -9, -11, -19, - 44, 6, 4, -0, -3, -5, -12, -16, - 41, 34, 6, -9, -16, -20, -39, -27, - 26, 48, 30, 8, 1, -22, -37, -22, + -10, -40, -71, 13, 7, -2, -17, -73, + 33, 24, 21, 38, 34, 19, -2, -6, + 42, 12, -2, -2, -3, -8, -11, -18, + 45, 6, 4, -0, -3, -5, -12, -16, + 42, 34, 6, -9, -16, -19, -39, -27, + 27, 48, 30, 8, 1, -22, -37, -22, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 18, -11, 0, -91, 28, -51, -59, -59, - 11, 40, 17, 37, 12, 21, -6, -13, - 22, 24, 14, 4, -7, -5, -12, -15, - 21, 25, 14, 4, -5, -4, -13, -14, - 27, 41, 22, -7, -11, -13, -32, -32, - 26, 52, 29, 17, 3, -14, -33, -24, + 15, -12, 1, -90, 29, -51, -58, -58, + 8, 39, 18, 38, 12, 21, -6, -12, + 20, 23, 14, 4, -7, -5, -11, -15, + 20, 24, 14, 5, -5, -4, -13, -13, + 28, 42, 22, -7, -11, -13, -31, -32, + 27, 52, 29, 17, 3, -14, -33, -25, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -0, -49, 4, -112, -40, 26, -24, -22, - -17, 37, 34, 6, 10, 18, 11, -11, - 5, 7, 14, 18, 12, 13, -13, -10, - -4, 5, 19, 10, 14, 9, -9, -12, + -2, -49, 3, -111, -39, 26, -23, -20, + -19, 36, 32, 6, 10, 18, 11, -11, + 3, 6, 13, 18, 12, 14, -13, -10, + -5, 4, 18, 11, 14, 10, -8, -12, -5, 9, 17, 9, 7, 0, -15, -16, - -0, 21, 2, 22, 19, 7, -8, -17, + 1, 22, 3, 22, 19, 7, -8, -17, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -32, -28, -54, -12, -46, -48, 4, -9, - -2, 5, 20, 15, -18, 17, -2, -22, - -9, 12, -2, 17, 7, 16, 13, -17, - -6, -4, 14, 16, 9, 19, 9, -17, - 3, 1, 5, 8, 11, 11, 9, -21, - 1, 16, 16, 19, 19, 15, 24, -4, + -31, -27, -53, -12, -46, -49, 3, -11, + -1, 6, 20, 15, -17, 16, -3, -25, + -8, 12, -2, 17, 7, 15, 13, -20, + -6, -4, 14, 16, 9, 19, 8, -19, + 3, 1, 6, 8, 12, 11, 9, -21, + 1, 16, 16, 19, 20, 16, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -16, -39, -58, 24, 1, -56, -49, -16, - -12, -7, 8, 19, 27, 17, 14, 31, - -15, -5, -10, 0, 12, 19, 14, 14, - -15, -14, -4, 8, 6, 22, 20, 8, - -15, -16, -8, 7, 6, 24, 18, -2, - -12, -12, -5, 16, 22, 27, 4, -3, + -15, -38, -57, 25, 1, -56, -50, -19, + -12, -7, 8, 19, 27, 17, 13, 27, + -15, -4, -9, 0, 12, 20, 13, 10, + -15, -13, -4, 8, 6, 22, 19, 6, + -15, -16, -8, 7, 7, 25, 19, -0, + -12, -12, -5, 16, 22, 28, 5, -1, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -19, -38, -4, -28, 3, -13, -10, -36, - 2, 9, 27, 29, 13, 45, 8, 33, - -14, -9, -16, -8, -6, 7, 3, 19, - -16, -17, -9, -7, -2, 6, 4, 26, + -18, -38, -4, -28, 3, -12, -10, -37, + 2, 9, 27, 29, 13, 46, 8, 32, + -13, -9, -16, -8, -6, 8, 3, 19, + -16, -16, -9, -7, -2, 7, 4, 26, -17, -24, -18, -15, -7, -2, 21, 31, - -12, -18, -17, 10, 11, 21, 32, 20, + -12, -18, -18, 10, 11, 21, 32, 19, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -23, -1, -21, 4, 19, 16, -54, -80, - 3, 19, 24, 22, 39, 29, 14, -3, - -17, -12, -15, -8, 3, 11, 10, -18, - -14, -20, -9, -3, 7, 8, 13, 10, - -16, -27, -20, -8, -6, 12, 10, 32, - -12, -19, -12, -5, 9, 16, 57, 35, + -22, -1, -21, 4, 19, 15, -54, -80, + 4, 19, 24, 22, 39, 29, 14, -3, + -17, -12, -15, -8, 3, 11, 11, -18, + -14, -19, -9, -3, 7, 8, 14, 10, + -17, -27, -20, -8, -6, 12, 10, 32, + -12, -19, -12, -6, 9, 16, 57, 34, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -4, 21, -5, -19, 37, -41, -101, -35, - 29, 13, 54, 42, 34, 12, -5, -2, - 29, 6, 27, 13, 4, -2, -15, -25, - 20, 12, 20, 17, 2, -4, -15, -25, + -5, 21, -5, -20, 37, -41, -101, -34, + 29, 13, 54, 42, 34, 12, -5, -1, + 28, 6, 28, 13, 4, -2, -15, -24, + 20, 12, 20, 17, 2, -4, -14, -25, 6, 19, 23, 6, -12, -16, -33, -33, - -12, -7, 50, 21, -2, -28, -40, -37, + -11, -7, 50, 21, -2, -28, -40, -38, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 28, 23, -83, 78, -46, -74, -17, -46, - 19, 39, 19, 44, -13, 5, 6, -12, - 14, 40, 7, 22, 15, 10, -10, -20, - 1, 10, 11, 15, 15, 8, -14, -19, + 27, 22, -83, 78, -45, -74, -17, -46, + 18, 38, 19, 44, -13, 5, 6, -11, + 14, 40, 7, 22, 15, 10, -10, -19, + 0, 10, 11, 15, 15, 8, -14, -18, 1, 6, 3, 8, 4, -3, -24, -39, - -3, 10, -5, 26, 21, -11, -32, -37, + -2, 10, -5, 26, 21, -11, -32, -37, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -14, 28, 2, -22, -35, -20, -23, -44, - 6, 21, 20, 26, 25, 37, 1, -11, - -11, -1, 23, 1, 18, 14, -6, -11, - -16, 6, 23, 6, 23, 14, -11, -15, - -14, 12, 7, 3, 4, 4, -8, -41, - -22, 14, 8, -2, 22, 8, -19, -34, + -15, 27, 2, -21, -35, -21, -23, -44, + 5, 20, 20, 26, 25, 38, 2, -10, + -12, -1, 23, 1, 18, 14, -6, -10, + -17, 6, 23, 6, 23, 14, -11, -15, + -14, 12, 7, 3, 5, 4, -8, -41, + -21, 15, 9, -2, 22, 8, -19, -35, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -56, -20, 6, 41, -45, -6, 11, -34, - -6, -11, 23, 50, 6, 41, 28, -9, - -23, -3, 3, 23, 15, 24, 6, -10, - -26, -17, 11, 16, 21, 21, 11, -12, - -25, -9, 5, -0, 12, 4, -2, -22, - -30, -13, 6, 12, 3, 7, -4, -25, + -55, -20, 6, 41, -45, -6, 10, -35, + -5, -11, 23, 50, 6, 41, 28, -9, + -23, -2, 3, 23, 15, 24, 5, -11, + -25, -16, 11, 16, 21, 21, 11, -12, + -25, -9, 5, -0, 12, 4, -1, -22, + -31, -13, 6, 12, 3, 7, -3, -25, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -31, -9, -38, 26, 46, -70, -29, -20, - -30, 11, 18, 19, 39, 21, 44, 19, - -16, -8, -11, 9, 20, -2, 27, 12, - -29, -22, 5, 17, 24, -0, 14, 9, + -30, -9, -37, 26, 46, -70, -30, -21, + -30, 11, 18, 19, 39, 21, 44, 18, + -16, -7, -11, 9, 20, -2, 27, 11, + -29, -22, 5, 17, 24, -0, 14, 8, -28, -24, -0, 6, 10, -9, -0, -12, -31, -20, 1, 25, 25, -1, 1, -8, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -34, -20, -12, -23, 36, -20, -28, -20, - -3, -5, 6, 20, 35, 50, 23, 13, + -33, -20, -13, -23, 36, -20, -28, -21, + -3, -4, 6, 20, 35, 50, 23, 13, -19, -10, -20, 2, 6, 28, 14, 26, -24, -25, -8, 4, 18, 21, 18, 14, - -25, -27, -21, -6, 4, 23, 16, -16, - -24, -27, -23, 6, 26, 55, -5, -16, + -25, -28, -21, -6, 4, 23, 15, -16, + -24, -27, -23, 6, 27, 55, -5, -16, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -11, -12, -32, -8, 19, -23, 4, -54, - 6, 12, 16, 37, 20, 39, 51, 9, - -21, -21, -26, -10, 8, 12, 22, -10, + -11, -12, -32, -8, 19, -23, 5, -54, + 7, 12, 16, 37, 20, 39, 51, 10, + -21, -21, -26, -10, 8, 12, 22, -9, -16, -22, -14, -2, 11, 32, 17, 10, - -19, -28, -22, -13, -3, 19, 34, 0, - -22, -29, -19, -10, 8, 47, 65, -54, + -20, -28, -22, -13, -3, 19, 34, 0, + -23, -29, -19, -10, 8, 47, 65, -54, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -111, 71, -21, 30, 61, -14, -44, 15, - -25, 10, 73, 4, 9, 33, 11, -17, + -25, 10, 73, 4, 9, 34, 12, -16, -1, 16, 44, 14, 8, -46, -33, -45, - -31, 44, 11, 27, 9, -42, -32, -43, - -31, 73, 80, 18, 18, -17, -40, -35, - -75, 75, 58, 13, -8, -54, -34, -27, + -30, 44, 11, 27, 9, -42, -32, -43, + -31, 72, 80, 18, 18, -17, -40, -35, + -76, 75, 58, 13, -8, -54, -34, -27, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -21, 26, 76, 67, -40, -36, -30, -10, - -45, 12, 91, 54, 85, 44, 27, -32, - 1, 78, 105, 49, 78, 32, -48, -5, + -21, 26, 76, 67, -40, -36, -30, -9, + -45, 12, 91, 54, 85, 44, 27, -33, + 0, 78, 105, 49, 78, 33, -48, -6, -86, 46, 53, 29, 39, -3, -100, -66, - -69, 36, 46, 38, -2, -35, -58, -47, - -93, 85, 33, -103, -9, -97, -95, -101, + -70, 36, 46, 38, -2, -35, -58, -47, + -93, 85, 33, -102, -9, -97, -95, -101, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -113, 55, 41, 67, -1, -16, 23, 7, + -113, 55, 41, 66, -1, -16, 23, 7, 8, 27, 23, 112, 103, -7, -7, -19, - -67, 53, 71, 97, -9, 27, -30, 7, - -57, 5, 77, -10, 12, 7, -44, -57, - -44, -9, 78, 34, -8, 12, -73, -43, - -44, 11, 10, -74, -57, -61, -77, -41, + -67, 53, 71, 97, -10, 27, -30, 7, + -57, 5, 77, -10, 12, 8, -44, -57, + -44, -9, 78, 35, -8, 11, -73, -43, + -44, 12, 11, -73, -57, -61, -77, -41, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -1, -4, 22, 56, -42, 20, 26, 3, - 55, 41, 82, 96, 62, 57, 47, -4, - 10, 15, 54, 34, 22, 33, -25, -18, - -65, -13, -5, 75, -9, -80, -64, -41, - -84, 20, 15, 68, 57, 11, -28, -18, - -66, -71, 34, -27, -87, -76, -124, -61, + 55, 41, 81, 96, 62, 57, 47, -3, + 10, 15, 54, 33, 22, 33, -25, -18, + -66, -13, -5, 75, -8, -80, -64, -41, + -84, 20, 15, 68, 57, 11, -28, -19, + -66, -71, 34, -26, -87, -76, -124, -62, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, 11, -11, -62, 67, 15, 47, -46, -20, 5, 46, 74, 87, 122, 13, 32, 19, - -63, -41, 50, 36, 125, 25, 23, -18, - -54, -9, -8, 7, 93, -39, 9, -52, + -63, -40, 50, 36, 125, 25, 23, -18, + -54, -9, -8, 8, 93, -39, 9, -52, -99, -59, -5, 63, 63, 32, -24, -84, - -61, -97, -8, -27, -10, -36, -74, -58, + -61, -97, -8, -27, -10, -37, -73, -58, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -32, 2, -22, 41, 39, 41, -16, -72, + -32, 2, -23, 41, 39, 41, -17, -72, -69, 27, 12, 55, 64, 105, 105, 17, -35, -46, 48, 54, 51, 177, 90, 48, -91, -64, -12, -10, -27, 50, 19, -62, -84, -42, -3, 16, 26, 68, 45, -18, - -96, -99, 8, -102, -21, -48, -49, -86, + -97, -99, 8, -102, -21, -48, -49, -86, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -17, -37, -43, 24, 60, 134, -13, -34, - -32, -38, -28, 44, 49, 141, 64, 42, - -50, -26, 54, -51, 86, 84, 58, -16, - -49, -46, -40, 17, 75, 29, 68, -32, + -17, -37, -42, 25, 60, 134, -13, -34, + -32, -38, -27, 44, 49, 141, 64, 41, + -51, -26, 54, -51, 85, 83, 57, -16, + -50, -45, -39, 17, 75, 29, 68, -32, -112, -81, -31, 6, 36, 21, 4, -34, - -72, -79, -51, -42, 21, 1, 14, -78, + -72, -80, -52, -42, 20, 1, 14, -78, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -621,9 +621,9 @@ internal static class TunableEvalParameters -9, -18, 46, -6, 47, 64, -75, 15, 6, 32, -70, -18, 63, 138, 10, 54, -101, -77, -43, 33, 41, 111, 32, 32, - -21, -57, -47, 27, 48, 106, 48, 25, + -21, -57, -47, 27, 48, 106, 49, 25, -80, -48, -42, -20, 32, 11, 54, 5, - -100, -80, -94, -72, 0, -36, 37, -4, + -101, -80, -95, -72, 0, -36, 37, -4, 0, 0, 0, 0, 0, 0, 0, 0, ], ]; @@ -632,91 +632,91 @@ internal static class TunableEvalParameters [ [ 0, 0, 0, 0, 0, 0, 0, 0, - 104, -6, -39, -38, -6, -46, -94, -56, + 104, -6, -39, -38, -6, -46, -94, -57, 66, 32, 3, -9, -21, -11, -4, 22, - 25, 13, 10, 0, -11, 0, -0, 12, + 25, 13, 10, -0, -11, 0, -0, 12, -6, 0, 6, -0, -7, -6, -1, 4, - -19, -15, 4, 2, 7, 1, 6, 5, - -0, 9, 13, 25, -0, 8, 9, 12, + -19, -16, 4, 2, 7, 1, 6, 5, + -0, 10, 13, 25, -0, 8, 9, 12, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -4, 10, 45, -78, -59, -70, -49, -29, - 36, 61, 36, 2, -1, -3, 42, 17, - -0, 0, 10, -4, -2, -2, 4, 10, - -15, -13, -2, -4, -2, -2, 3, 2, + -4, 9, 45, -79, -59, -70, -49, -29, + 37, 61, 36, 1, -2, -3, 42, 16, + 2, 0, 10, -4, -2, -2, 4, 10, + -15, -13, -2, -4, -2, -2, 2, 2, -15, -26, 7, 7, 15, 10, 18, 9, -22, -21, 12, 11, 12, 8, 23, 12, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -27, -1, -66, -11, -82, -41, -29, -23, - 35, 39, 12, -11, 12, 3, 18, 25, + -27, -1, -66, -11, -82, -41, -29, -22, + 35, 38, 12, -11, 12, 3, 18, 25, 10, 14, -12, -2, 2, -0, 5, 15, -4, -6, -8, -4, 4, 3, 2, 8, -8, -8, -13, 8, 16, 10, 21, 18, - -3, -18, 1, 4, 25, 15, 27, 27, + -3, -18, 1, 4, 25, 15, 26, 27, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -29, -9, -53, 24, -10, -72, -52, -33, + -28, -9, -53, 24, -10, -71, -52, -34, 30, 21, 4, 8, 7, -6, 18, 29, - 9, 3, -6, -22, -5, -8, 15, 5, - 6, 2, -7, -7, 4, -6, 3, 4, + 9, 3, -5, -22, -5, -8, 15, 5, + 5, 2, -7, -7, 4, -7, 3, 4, 6, 3, 6, 1, 12, 5, 7, 10, - 11, 8, 2, 14, 9, 6, 14, 18, + 12, 8, 2, 14, 9, 6, 14, 18, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -11, -45, -36, -5, -21, -58, -70, -20, + -11, -46, -36, -5, -20, -58, -71, -20, 24, 13, 3, -2, 12, 15, 25, 44, - 6, -11, -2, -9, -11, -13, -5, 20, - 0, 8, -2, 3, 3, -1, 1, 7, - 4, 10, 17, 18, 6, 7, -1, 5, - 8, 19, 19, 12, 16, -9, -3, 6, + 6, -11, -2, -8, -11, -13, -5, 20, + 0, 8, -2, 4, 4, -1, 1, 7, + 4, 10, 17, 18, 6, 7, -1, 4, + 8, 20, 19, 12, 16, -9, -2, 8, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -23, -38, -25, -59, -21, -20, 18, -25, + -23, -38, -25, -59, -21, -21, 18, -25, 30, 17, 6, 1, -15, -8, 41, 13, - 20, 4, -5, -9, -17, -17, -1, 11, - 12, 8, 1, -5, -3, -19, -8, -5, - 16, 16, 8, 4, 9, -10, -3, 3, - 23, 23, 18, 20, 9, -0, -5, 10, + 20, 4, -5, -9, -17, -17, -0, 12, + 12, 8, 1, -5, -3, -19, -7, -5, + 16, 16, 8, 4, 9, -11, -3, 2, + 23, 23, 18, 20, 9, -1, -5, 9, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -3, 1, -55, -26, -47, -14, -20, 29, - 26, 3, -13, -18, -8, 1, 19, 35, - 16, 7, -1, -6, -8, -6, -5, 7, - 11, 7, 1, 5, 5, -6, -13, -9, + 26, 3, -13, -18, -8, 1, 18, 35, + 16, 7, -1, -6, -8, -6, -5, 8, + 11, 7, 1, 5, 5, -7, -13, -9, 14, 15, 11, 19, 15, 6, -20, -18, 16, 21, 15, 8, 22, 11, -24, -25, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 21, -47, -22, -56, -26, -28, -0, 41, - 26, 6, -4, -7, -18, 3, 31, 34, + 21, -46, -22, -56, -26, -28, -1, 41, + 25, 6, -4, -7, -18, 3, 32, 34, 13, 5, -7, -14, -10, -7, -5, 10, 6, -3, -3, -1, -7, -1, -15, -16, 6, 11, 6, 5, 13, 4, -8, -19, - 8, 13, 13, 14, 23, 19, 6, -11, + 8, 13, 13, 14, 23, 19, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -6, -26, -13, -38, -66, -44, -24, -46, - 40, 49, 26, 0, -3, -4, 5, 5, + -6, -26, -13, -38, -66, -44, -24, -45, + 40, 48, 26, 0, -3, -4, 4, 5, 15, 28, 8, 3, 1, -8, 1, 9, 4, 8, 6, 4, 2, -5, -6, 3, - -4, -9, 2, 2, 9, 1, 3, 6, + -4, -9, 2, 2, 9, 1, 3, 7, 1, 8, -2, 5, 10, 10, 13, 18, 0, 0, 0, 0, 0, 0, 0, 0, ], @@ -725,38 +725,38 @@ internal static class TunableEvalParameters -41, -30, 16, -57, -43, -48, -11, -43, 31, 45, 33, 8, 5, 0, 7, 17, 18, 10, 9, -4, -4, -9, 6, 7, - 12, 15, -8, -2, -2, -4, 1, 6, - 4, -2, -1, -4, 3, -2, 5, 16, + 12, 15, -8, -2, -2, -4, 1, 5, + 4, -2, -1, -4, 2, -2, 5, 16, 4, 3, 2, -4, -3, 4, 14, 24, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -17, -42, -25, -44, -30, -42, -34, -17, - 27, 26, 20, 7, 20, 3, 10, 25, + -17, -42, -25, -44, -30, -41, -34, -17, + 27, 26, 20, 7, 20, 3, 9, 25, 17, 14, -0, 1, -4, -8, 2, 5, 14, 11, -2, -6, -3, -4, 3, 6, - 10, 1, -2, -9, -3, -3, -1, 12, - 19, 4, -1, 9, -1, 1, 8, 20, + 10, 1, -2, -9, -3, -3, -1, 13, + 18, 4, -1, 9, -1, 1, 8, 20, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -7, -45, -33, -58, -3, -27, -31, -34, - 22, 14, 9, 4, 13, 15, 11, 22, + 22, 14, 9, 4, 13, 15, 11, 23, 14, 7, -1, -5, 3, -4, 7, 8, - 13, 9, 1, -5, -4, -7, 3, 4, + 13, 9, 1, -5, -4, -6, 3, 4, 11, 3, 3, -0, -2, -3, 2, 6, 21, 14, 4, 2, 7, 1, 4, 13, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -13, -38, -32, -49, -51, -16, 10, -14, + -13, -38, -32, -49, -51, -16, 10, -13, 23, 9, -2, 5, 9, 24, 21, 29, 7, 2, 2, -6, -1, 6, 5, 7, 10, 6, -1, -4, -5, -0, -1, 2, - 10, 7, 2, 1, -4, 1, -6, 3, + 10, 8, 2, 1, -4, 1, -6, 3, 19, 15, 5, -1, 2, -2, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], @@ -772,8 +772,8 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -28, -39, -44, -39, -47, -28, -2, 39, - 13, -4, 3, 0, 1, 19, 45, 58, + -27, -39, -44, -39, -47, -28, -2, 39, + 13, -4, 3, -0, 1, 19, 45, 58, 4, -2, -8, -9, -10, 4, 9, 24, -2, -8, -6, -9, -0, -3, 3, 1, 1, -3, 2, 5, 9, 6, -9, -9, @@ -784,7 +784,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 50, -11, 27, -41, -96, -81, -72, -54, 50, 72, 51, 14, -14, -24, -13, 8, - 30, 43, 22, 3, -4, -5, -7, 5, + 30, 43, 22, 3, -4, -6, -7, 5, 32, 28, 26, 3, -11, -10, -15, -4, 16, 5, -7, -4, -9, -15, -6, -1, 38, 8, -3, -6, -13, -2, -9, 4, @@ -795,14 +795,14 @@ internal static class TunableEvalParameters -15, 16, 0, -3, -34, -91, -98, -58, 52, 76, 46, 57, -12, -24, -9, -2, 48, 44, 29, 22, -15, -14, -9, -23, - 43, 24, 12, 8, -15, -15, -10, -14, + 43, 24, 12, 8, -14, -15, -10, -14, 13, -0, -5, -3, -14, -12, -16, -15, 40, -12, -8, 31, -14, -1, -6, 7, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -8, -49, 22, -32, 3, -57, -94, -52, + -8, -49, 22, -32, 3, -57, -94, -51, 48, 40, 76, 33, 22, 2, -31, -13, 47, 31, 56, 18, 6, -15, -10, -20, 30, 18, 11, 8, -10, -17, -17, -11, @@ -812,17 +812,17 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -71, -38, -16, 37, -5, -38, -69, -84, + -71, -38, -16, 37, -5, -38, -69, -83, 4, 39, 24, 58, 23, 23, -29, -3, - 19, 17, 21, 59, 5, -4, 6, -1, - 16, 12, 6, 16, -1, 3, 0, -6, + 19, 17, 21, 60, 5, -4, 6, -2, + 17, 12, 6, 16, -1, 3, 0, -6, 15, -11, -7, -7, -8, -17, -15, -11, - 11, -4, -14, 27, 7, -4, 8, 4, + 11, -4, -14, 27, 7, -3, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -80, -54, -10, -32, 52, -23, -33, -39, + -80, -54, -10, -32, 52, -24, -33, -39, -12, -7, 11, 7, 53, 16, 7, -5, 6, 18, 6, 16, 45, 15, 5, 6, -1, -2, 1, 3, 18, 15, 1, 5, @@ -843,7 +843,7 @@ internal static class TunableEvalParameters [ 0, 0, 0, 0, 0, 0, 0, 0, -78, -68, -47, -73, -14, -22, 50, -6, - -13, -2, 17, 3, 47, 21, 66, 26, + -13, -2, 16, 3, 47, 21, 66, 26, -11, -8, -18, 20, 7, 23, 54, 38, -17, -11, -3, -10, -5, 14, 16, 25, 1, -11, -19, -12, -16, 1, 3, 13, @@ -867,232 +867,232 @@ internal static class TunableEvalParameters [ -113, -70, -79, -60, -59, -36, -39, -160, 27, 13, 4, 40, 61, -28, 17, -37, - 6, 24, 68, 40, 34, 26, 29, 19, - 15, 50, 51, 38, 32, 15, -5, -11, - 19, 46, 38, 38, 18, 22, 14, -15, - 32, 7, 26, 16, 15, -4, -11, -29, - 21, 42, 20, 23, 0, -27, 4, -70, - 12, -1, -3, -3, -24, -16, -58, -65, - ], - [ - -86, -26, 29, 43, -109, -40, -146, -96, - 27, -11, 22, 50, 14, -29, -34, -2, - 24, 20, 38, 41, 6, 20, 2, -5, - 17, 30, 31, 34, 30, 14, 19, 1, + 6, 24, 68, 40, 34, 26, 28, 19, + 15, 50, 51, 39, 32, 15, -5, -11, + 19, 46, 38, 38, 18, 22, 15, -14, + 32, 8, 26, 16, 15, -4, -11, -29, + 21, 41, 20, 23, 1, -27, 4, -70, + 13, -1, -4, -3, -24, -16, -59, -65, + ], + [ + -86, -25, 29, 43, -109, -40, -146, -96, + 26, -11, 22, 50, 14, -28, -33, -2, + 24, 20, 39, 41, 6, 20, 2, -6, + 17, 30, 31, 34, 30, 14, 20, 1, 28, 46, 21, 32, 9, 17, -7, 3, -5, 13, 16, 12, 6, -8, -4, -16, -10, 20, 2, -0, 1, -9, -9, -39, - -1, -61, 28, 16, 10, -2, -7, -28, + -2, -61, 27, 16, 9, -2, -8, -28, ], [ - -64, -37, -63, 30, 14, -52, -99, 10, - -17, 6, 20, 20, 17, 6, -40, 2, - 5, 28, 9, 22, 18, 10, -23, -20, + -64, -37, -64, 31, 15, -52, -98, 11, + -18, 6, 20, 20, 17, 6, -39, 2, + 4, 28, 9, 22, 18, 10, -23, -20, 12, 25, 26, 32, 23, 16, 15, 13, - 22, 29, 21, 19, 4, 7, -3, 14, - -7, 3, 23, 2, 4, -6, -1, -26, - 4, -1, 14, 9, -6, -12, -1, -24, - -0, 11, -52, 19, 0, -7, -5, -20, + 22, 29, 20, 19, 4, 7, -3, 14, + -7, 3, 23, 2, 4, -6, -0, -26, + 4, -0, 14, 9, -6, -12, -1, -25, + -0, 11, -52, 19, -1, -8, -6, -20, ], [ - -121, -148, -109, -95, -19, -103, -64, -6, - 19, -14, 15, 21, 42, -1, -14, -33, - 38, 15, 44, 21, 27, -0, 36, -17, + -121, -149, -109, -95, -20, -104, -64, -5, + 19, -15, 15, 21, 42, -0, -15, -33, + 37, 14, 44, 21, 27, -0, 36, -17, 24, 15, 30, 33, 46, 15, 17, 4, - 14, 41, 19, 35, 22, 29, 9, 16, + 14, 40, 19, 35, 22, 29, 9, 16, -14, 15, 12, 23, 4, 13, 16, 1, - -13, -6, 10, 21, 6, -11, 21, -10, - 5, -2, 26, -44, 25, 9, 10, -17, + -13, -6, 11, 21, 6, -11, 21, -10, + 5, -0, 28, -44, 25, 8, 9, -17, ], [ - -67, -108, -89, -91, -13, -66, -95, -51, - -13, -26, 3, -12, 8, 14, -3, -15, - -19, 7, 17, 8, 16, 20, -28, -3, - 22, 15, 20, 25, 25, 29, 18, 12, + -67, -108, -88, -91, -14, -66, -96, -51, + -13, -26, 3, -12, 8, 14, -4, -15, + -18, 6, 17, 8, 16, 20, -28, -3, + 22, 15, 20, 24, 25, 29, 18, 12, 15, 28, 26, 31, 21, 28, 14, 23, - 6, 12, 17, 20, 19, 18, 21, 4, + 6, 12, 17, 20, 18, 18, 21, 4, -7, 3, 5, 16, 21, 18, 9, -6, - 10, 23, 23, 20, -42, 12, 20, 15, + 10, 23, 22, 19, -42, 13, 22, 15, ], [ - -108, -168, -22, -4, -56, -86, -34, -60, - -25, -19, -5, 23, 1, 2, 11, -34, + -107, -168, -21, -4, -57, -86, -34, -59, + -25, -19, -5, 23, 0, 2, 11, -34, 12, -7, 0, 4, 15, 24, 33, -4, - -6, 10, 19, 33, 37, 35, 35, 23, - -12, 6, 15, 33, 27, 34, 34, 42, - -16, -2, 14, 24, 12, 27, 23, 15, - 7, -14, 2, 8, 12, 30, 21, -19, - -10, -16, 2, 15, 29, -45, 31, -7, + -6, 10, 19, 33, 37, 35, 34, 22, + -13, 6, 15, 33, 27, 33, 34, 42, + -16, -2, 14, 23, 12, 27, 23, 15, + 7, -13, 2, 8, 12, 30, 22, -18, + -10, -17, 1, 15, 29, -45, 32, -7, ], [ - -82, -69, -34, -24, 2, 14, -58, -21, + -82, -69, -34, -23, 1, 14, -59, -21, 8, -18, 2, 4, 19, 15, 4, -12, 0, 7, 15, 15, 19, 26, -6, -10, 12, 10, 15, 20, 20, 22, 19, 12, 5, 12, 16, 17, 9, 16, 20, 14, -8, -4, -0, 7, 2, 6, 12, -4, -18, -11, -7, 4, 1, -6, 13, 2, - -13, 0, -1, 10, 6, 21, -58, -10, + -13, -0, -1, 10, 6, 20, -58, -10, ], [ - -75, -32, -124, 11, -72, 43, -71, -4, + -75, -32, -124, 11, -72, 43, -70, -4, 13, -17, 23, -25, 39, 40, 2, 29, -26, -5, 23, 6, 33, 56, 6, 33, - -11, -4, 8, 31, 37, 29, 41, 10, - -8, 18, 16, 27, 11, 22, 41, 34, + -11, -4, 8, 31, 37, 30, 41, 10, + -8, 18, 17, 27, 11, 22, 41, 34, -22, -13, -7, 7, 9, 7, 14, 12, -36, -18, -22, -4, -1, -11, 10, 18, - -68, -32, -23, -13, -1, 7, 37, -58, + -68, -33, -24, -14, -1, 6, 36, -58, ], [ - -99, 23, 40, 67, -95, -109, -85, -92, - 2, -38, 61, 42, -49, 19, 6, -28, - -31, 44, 77, 26, -4, 22, 7, 14, - 19, 25, 45, 46, 34, 27, 12, 1, - -4, 38, 10, 26, 16, 7, 12, -19, - 14, 26, 10, 8, 2, 1, -8, -10, - -26, 25, 29, 9, -9, -17, -27, -66, - 9, 5, 7, -10, -8, -13, -37, -32, + -98, 23, 40, 68, -95, -109, -85, -93, + 2, -38, 61, 43, -49, 16, 6, -28, + -31, 44, 77, 27, -4, 22, 7, 13, + 19, 25, 45, 46, 34, 26, 13, 1, + -4, 38, 11, 26, 16, 7, 12, -19, + 14, 26, 10, 7, 2, 2, -8, -9, + -26, 25, 29, 9, -9, -17, -27, -67, + 8, 8, 9, -8, -8, -14, -38, -31, ], [ - -102, -18, -98, 34, -17, -61, -69, -89, - 31, -19, -99, 45, 6, 17, -24, -22, - 7, 21, 41, 36, 3, -27, 42, 5, - 24, 51, 52, 53, 28, 18, -6, 15, - 15, 46, 22, 22, 27, 23, -1, -19, - -15, 15, 39, 11, 5, 4, 9, -8, + -101, -18, -98, 34, -17, -60, -69, -89, + 31, -19, -99, 45, 6, 18, -24, -23, + 6, 21, 41, 36, 4, -27, 42, 5, + 23, 51, 52, 53, 28, 17, -6, 15, + 14, 46, 22, 21, 27, 23, -1, -20, + -16, 15, 39, 10, 5, 4, 9, -8, -17, -6, 47, 28, -8, 1, -33, -42, - -2, -8, 14, 4, 2, 1, -13, -44, + -3, -4, 17, 6, 2, 0, -15, -44, ], [ - -77, -53, -21, -84, -54, -54, -72, -57, - -67, -19, 8, -21, 21, -6, -35, -57, - -7, 26, 35, 26, 10, -1, 26, -38, - 39, 9, 24, 53, 35, 18, 7, 1, + -77, -53, -21, -83, -54, -55, -72, -57, + -68, -19, 8, -22, 21, -6, -35, -57, + -6, 26, 35, 26, 10, -1, 25, -39, + 39, 9, 24, 53, 35, 19, 7, 1, 19, 50, 29, 42, 19, 41, 18, 5, - -1, 16, 26, 38, 20, 5, -4, -8, - 30, 10, 14, 39, 13, -5, -15, -3, - -5, -1, 32, 27, -4, -27, -3, -31, + -2, 15, 26, 38, 20, 5, -4, -8, + 30, 10, 14, 39, 13, -5, -16, -4, + -6, 3, 35, 29, -4, -28, -4, -31, ], [ - -54, -47, -51, -69, -125, -58, -80, -120, - -26, -35, -28, -31, -44, -4, -27, -13, - 8, 34, 25, 33, 24, 57, 9, 6, - 4, 24, 41, 45, 39, 34, 20, 9, + -53, -47, -51, -69, -126, -58, -80, -119, + -26, -34, -28, -31, -44, -5, -27, -13, + 8, 34, 24, 33, 24, 57, 9, 6, + 4, 24, 41, 45, 39, 34, 19, 9, -11, 31, 25, 42, 23, 27, 20, 24, - -16, -2, 17, 33, 37, 14, 15, 6, - 36, 1, -11, 29, 45, 16, 12, -8, - -12, -1, -15, 8, 31, 4, 16, -37, + -17, -2, 17, 33, 37, 13, 15, 6, + 35, -0, -11, 29, 45, 16, 12, -8, + -12, -3, -17, 7, 33, 7, 20, -37, ], [ - -43, -96, -157, -133, -49, -70, -35, -86, - -35, -28, -22, 14, 25, -40, -11, -31, - -20, 5, 42, 13, 27, 33, 21, 57, + -43, -97, -157, -133, -49, -70, -35, -86, + -35, -28, -23, 14, 25, -39, -11, -31, + -20, 5, 41, 13, 26, 33, 21, 58, -3, -2, 10, 42, 47, 44, 36, 19, 22, 27, 39, 32, 26, 31, 46, 35, - -18, 2, 8, 15, 17, 47, 25, -13, - -19, -10, 6, 9, 26, 56, 16, 7, - -18, -24, -0, -4, 11, 15, 23, -8, + -18, 2, 8, 15, 17, 46, 24, -14, + -19, -10, 6, 8, 26, 55, 16, 7, + -18, -25, -1, -4, 13, 18, 27, -8, ], [ - -119, -26, -56, -2, 31, 33, -12, -79, - -59, -55, 1, 48, 5, 25, -5, -40, + -119, -27, -56, -2, 31, 33, -12, -79, + -59, -55, 1, 48, 5, 26, -5, -40, -32, -12, 19, 4, 27, 37, 34, 35, - -19, 3, 15, 33, 44, 40, 32, 35, + -19, 3, 15, 33, 43, 40, 32, 35, -17, 2, 12, 41, 26, 25, 21, 29, -20, -14, 3, 17, 8, 15, 36, 15, - -57, -28, -32, 1, 5, 37, 26, -5, - -64, -27, -14, -8, -17, 1, 31, -34, + -57, -28, -32, 1, 5, 36, 26, -5, + -64, -28, -14, -8, -16, 1, 34, -35, ], [ - -198, -73, -60, 2, -10, -18, -22, 33, - -37, -38, -14, 67, 31, 69, -25, 58, - -18, -41, 4, 6, 19, 18, 49, 16, - -33, 6, 21, 36, 31, 40, 45, 30, + -198, -73, -60, 2, -10, -17, -21, 34, + -37, -38, -14, 67, 31, 69, -24, 58, + -18, -41, 4, 6, 19, 19, 48, 16, + -33, 6, 21, 36, 31, 40, 46, 31, -15, 6, 13, 16, 35, 14, 32, 21, -38, -17, -4, 15, 13, 4, 24, 28, -79, -29, -18, -5, 8, 10, 17, 39, - -49, -30, -23, -1, -16, 15, 13, 6, + -49, -31, -23, -1, -16, 15, 12, 6, ], [ - -5, 15, -64, 16, -17, -15, -7, -40, - 6, -28, 19, 27, 35, 1, 1, -11, - 76, 4, 65, 80, 2, -73, 13, -20, + -5, 15, -64, 17, -17, -14, -7, -40, + 6, -28, 18, 27, 35, 1, 0, -11, + 76, 4, 65, 80, 3, -73, 13, -20, 29, -12, 50, 73, 22, -59, 13, 30, 36, 51, 36, 8, 14, -26, -10, 33, - -43, 41, 46, 24, 24, 2, -10, -58, - 39, 18, -23, 0, -25, -40, -73, -66, - 17, 5, -71, 16, 16, -27, -104, -80, + -42, 42, 46, 24, 24, 3, -10, -58, + 39, 18, -23, 0, -25, -40, -73, -65, + 16, 4, -72, 16, 16, -27, -105, -79, ], [ - 50, 5, -25, -16, 3, 25, 3, -10, - 17, 23, 37, -35, 14, 18, 6, 12, - -14, -55, 17, -14, 43, -10, -7, 3, + 50, 6, -25, -16, 3, 25, 3, -10, + 17, 24, 36, -35, 14, 18, 6, 12, + -14, -55, 17, -14, 43, -10, -6, 3, 32, -65, 49, 14, -58, 5, -5, 5, - -10, -9, 27, 28, 59, 26, -8, -23, + -9, -9, 27, 28, 59, 26, -7, -23, 34, 65, -48, 18, 4, -29, -28, -3, 36, -14, -14, -102, -11, 8, 13, 38, - 7, 26, -29, -29, 1, -25, -18, -60, + 7, 28, -29, -28, 1, -25, -18, -60, ], [ -7, 15, -31, 7, -4, -0, 4, 19, -16, 4, -2, -57, -35, 20, 43, -6, - -46, -25, -49, 26, 51, -9, 59, -18, - 38, 48, 69, 58, 57, 22, 69, 10, + -46, -25, -48, 26, 51, -8, 59, -18, + 38, 48, 68, 58, 56, 22, 69, 10, 28, -14, 17, 27, 66, -16, -32, -11, 18, 3, -10, -20, -9, -1, -15, 3, - -19, -46, 1, -35, -93, -0, -1, 9, - -25, -17, -19, 8, 22, -22, -75, -37, + -19, -46, 1, -34, -94, -1, -1, 9, + -25, -15, -19, 9, 22, -22, -75, -38, ], [ 7, 0, -9, 36, -33, 10, 4, 27, - 8, 19, -35, -13, -38, -17, 21, 19, - -7, -56, -8, 21, 52, 58, 21, 10, - 48, 11, 20, -47, -23, 17, 12, -14, - 27, 12, -6, -8, 82, -22, 10, 25, - 15, -22, 4, 8, -30, 4, -41, -11, + 8, 18, -35, -13, -38, -17, 21, 19, + -7, -56, -8, 21, 52, 58, 20, 10, + 48, 11, 20, -47, -23, 17, 11, -14, + 27, 12, -6, -8, 82, -21, 10, 25, + 14, -22, 4, 8, -30, 3, -41, -11, -22, -8, -17, -53, -29, -14, -7, -3, - 7, -2, -3, -7, 35, -38, -4, -1, + 7, 0, -3, -7, 35, -38, -5, -1, ], [ -5, 9, -21, 8, 17, 10, 23, 33, - 13, 7, 25, -42, -12, -10, -20, 26, + 13, 7, 25, -42, -12, -10, -19, 26, 1, -23, -22, -21, 46, 20, -71, -12, - -62, 35, -18, -23, -32, 12, 42, 9, + -62, 34, -18, -23, -32, 12, 41, 8, 2, 20, -26, 48, 48, 50, 12, -19, - 10, -49, 29, -31, -2, -11, 103, 19, - -15, 13, 23, -50, 33, 17, -14, 11, - -16, -72, -24, 16, -49, -17, -17, 19, + 10, -49, 28, -31, -3, -12, 103, 19, + -15, 13, 23, -50, 34, 17, -14, 11, + -17, -73, -24, 15, -49, -17, -16, 19, ], [ -13, -14, -1, -22, 24, -22, 10, -2, -6, -19, 43, -5, 20, 13, 19, -25, - 13, 9, 26, -15, 75, -10, -23, -24, - 14, 12, 44, -36, -16, 5, 12, 17, + 13, 9, 26, -15, 75, -10, -24, -24, + 14, 11, 44, -36, -16, 5, 12, 17, -8, 11, 32, -10, 17, 99, 32, 19, -36, -11, -7, 50, 5, 12, -56, 40, - -25, -11, -12, -15, 29, -10, 13, -7, - -77, -73, -18, -36, -7, -13, -29, 3, + -25, -11, -12, -15, 29, -10, 12, -7, + -77, -74, -18, -36, -7, -13, -27, 3, ], [ 12, -7, 42, 33, -26, -62, 16, 12, -22, -6, 10, 22, 37, -25, 29, 25, - -14, -11, -35, -3, -8, 56, -19, 35, - -8, 51, -18, -43, 7, 59, -30, 30, + -16, -11, -35, -3, -9, 56, -19, 35, + -9, 51, -18, -43, 7, 59, -30, 30, -1, -38, 6, -57, -25, 46, 54, 48, - 12, -11, -32, -6, 54, 24, 40, 31, + 13, -10, -32, -6, 54, 24, 40, 31, -17, 13, -1, -57, 33, 30, -26, -15, - -15, -53, -73, -37, -36, -22, -16, 8, + -15, -54, -73, -37, -36, -23, -14, 8, ], [ 6, 18, -3, -6, 63, -28, 15, 12, 16, -13, 3, 44, 5, 3, -12, -19, - -20, -2, -15, 0, 45, 72, 17, 31, + -20, -2, -15, 0, 46, 72, 17, 31, -30, 10, 24, 18, 73, 15, 40, 33, 0, -0, -52, -30, 71, 23, 90, 12, - -46, -17, -8, -22, -25, -14, -41, 8, - -25, -17, -25, -80, 47, 25, 2, -15, - -28, -88, -23, -31, -9, -31, -64, 0, + -46, -17, -7, -22, -25, -14, -41, 8, + -25, -16, -25, -81, 47, 25, 2, -15, + -28, -89, -23, -31, -9, -31, -65, 0, ], ]; @@ -1101,7 +1101,7 @@ internal static class TunableEvalParameters [ -1, -51, 18, 7, 23, -31, -61, -69, 10, -38, 24, -19, -16, 3, -7, 32, - 9, 6, -17, 11, -11, -10, -53, -9, + 9, 6, -16, 11, -11, -10, -53, -9, 7, -14, -2, 10, 15, 4, 7, 15, 27, -23, 15, 22, 11, 16, -3, 24, 2, 7, 1, 18, 5, 20, -5, 16, @@ -1109,124 +1109,124 @@ internal static class TunableEvalParameters -0, 29, 13, -2, 38, 8, 14, -9, ], [ - -85, -6, -47, -33, 45, 14, -38, 15, - -2, -17, -24, -48, -24, 3, 20, -38, - -19, -5, -19, -12, 22, -13, 31, 19, + -85, -7, -46, -33, 45, 14, -39, 15, + -2, -17, -24, -48, -24, 3, 20, -37, + -19, -5, -18, -12, 22, -13, 31, 19, 4, 10, -2, 17, 26, 12, -1, -4, - 5, -9, 18, 29, 16, 24, 11, 9, - -1, -1, -6, 20, 26, 5, 3, -13, - 46, -10, 2, 25, 5, 11, -4, 36, - -6, -48, -0, 14, 6, -15, 5, -4, + 5, -9, 18, 29, 16, 24, 12, 9, + -1, -1, -6, 20, 26, 5, 3, -12, + 46, -10, 2, 25, 6, 11, -4, 35, + -7, -48, -0, 15, 6, -14, 3, -4, ], [ - -57, -11, 24, -50, -13, -23, -26, -97, - -2, 1, -17, -30, -7, 4, 9, -22, - -29, -13, -2, 7, 7, 19, 25, 1, - 6, 11, 10, 14, 25, 13, -7, -10, + -57, -11, 23, -50, -13, -23, -26, -98, + -2, 1, -17, -30, -8, 4, 8, -22, + -29, -13, -3, 8, 7, 19, 25, 1, + 6, 11, 10, 14, 26, 13, -7, -10, 12, 8, 30, 23, 33, 20, 16, -5, - 20, -7, -6, 20, 13, 13, 1, 27, + 20, -6, -6, 20, 13, 13, 1, 27, -18, 13, 20, 11, 12, 7, -11, -11, - 6, 2, -77, 16, 8, 19, 23, 4, + 7, 3, -77, 16, 8, 19, 22, 5, ], [ - -49, 18, -9, -28, -18, -45, 5, -94, - -3, -0, -4, -12, -32, 24, -36, -7, - -16, -7, -8, -26, 6, 11, -10, -19, - 4, 5, 3, -1, 10, 6, 23, 6, - 8, -4, 9, 6, 10, 11, 35, 1, - 9, 7, 5, 8, 24, 13, -13, 7, + -49, 18, -9, -28, -17, -45, 5, -94, + -3, 0, -4, -12, -32, 24, -37, -7, + -16, -6, -8, -26, 6, 11, -10, -19, + 4, 5, 4, -1, 10, 6, 23, 5, + 8, -4, 9, 6, 10, 12, 35, 0, + 9, 7, 5, 9, 24, 13, -13, 6, -6, 16, 7, 23, 12, 20, 11, 2, - 19, 18, 11, -45, 12, 19, 29, 17, + 20, 20, 11, -45, 12, 19, 28, 16, ], [ -46, -44, -28, 33, -56, -28, 45, -124, -1, 3, 4, 14, -31, -14, -4, -38, 1, 10, -2, 14, -13, 3, 28, -13, - 4, 16, 7, 29, 9, 8, 4, 4, - 30, 5, 25, 13, 20, 23, 13, -8, - 2, -1, 19, 12, 18, -3, 10, 10, - -18, 25, 7, 10, 26, 3, -19, -3, - -13, -2, 10, 31, -73, 29, 21, -17, + 4, 17, 7, 29, 8, 8, 4, 4, + 30, 5, 25, 13, 20, 23, 14, -8, + 2, -1, 19, 12, 18, -3, 10, 9, + -18, 24, 7, 10, 26, 3, -19, -2, + -13, -4, 10, 31, -73, 28, 22, -17, ], [ - -29, 56, -43, -13, -18, 1, -5, -33, - -8, -17, 5, -17, 11, -23, -23, 5, - 3, 18, 19, 6, 6, -4, -10, 11, + -29, 56, -42, -13, -18, 1, -6, -33, + -9, -17, 5, -17, 11, -23, -23, 5, + 3, 18, 19, 6, 6, -4, -10, 12, 17, 6, 16, 9, 8, 4, -5, -0, 3, 24, 12, 9, 5, 1, 5, -8, - 6, 1, 3, 14, 17, -9, -6, -11, + 6, 1, 3, 14, 17, -9, -6, -12, -17, 19, 7, 5, 7, 7, 1, -35, - -15, 4, 7, 14, 16, -56, 9, 9, + -15, 2, 7, 14, 16, -55, 10, 10, ], [ - -23, 7, -2, -7, -24, -35, -9, -113, + -23, 7, -3, -7, -24, -35, -9, -113, -10, 14, 7, 1, -12, -5, -18, -11, - 8, 4, 14, 4, 6, -9, -10, 3, - 15, 15, 21, 34, 20, 17, 10, 11, + 8, 4, 14, 4, 5, -9, -10, 3, + 15, 15, 21, 34, 20, 18, 10, 11, 5, 8, 24, 18, 26, 17, 22, 12, -1, 5, 8, 21, 16, -0, 1, -11, - -3, -2, 6, 9, 6, -0, 8, 10, - -15, -6, -5, 8, 9, 12, -121, -7, + -4, -2, 6, 9, 6, -0, 8, 11, + -15, -7, -5, 8, 9, 12, -120, -7, ], [ - -19, -7, 20, 4, 16, -76, 2, -34, - -19, -5, -29, 18, -37, -8, -4, 1, - 20, -6, 6, -6, -0, -31, 11, -49, - 11, 7, 11, 16, 11, 12, 17, 1, - -5, -6, 10, 23, 25, 15, -7, 9, + -19, -7, 20, 4, 15, -76, 2, -34, + -19, -5, -29, 18, -37, -7, -4, 1, + 20, -6, 7, -6, -0, -31, 11, -49, + 11, 7, 11, 16, 12, 12, 17, 1, + -5, -6, 9, 23, 25, 15, -7, 9, -7, -17, 11, 19, 25, 18, 7, 4, -11, -15, 2, 28, 14, 30, -20, 10, - 6, -14, -23, 13, 2, 3, 20, -23, + 6, -15, -23, 13, 2, 3, 20, -23, ], [ -11, 14, -46, -0, 4, 20, 4, -38, - -2, 18, -27, -9, 8, -19, -3, -20, - 20, -14, -16, -3, 19, -12, -18, -12, - -2, 17, 12, 9, 5, 5, -5, -13, + -2, 18, -27, -9, 8, -18, -3, -19, + 20, -14, -16, -3, 18, -12, -18, -12, + -2, 16, 12, 9, 5, 5, -5, -13, 18, -7, 26, 20, 17, 1, -1, 19, 8, -4, 4, 12, 5, 2, -3, -22, 13, 9, -9, 9, 1, -7, 11, 32, - -6, -1, 2, -8, 6, -18, 12, -25, + -6, -0, 2, -9, 6, -17, 12, -25, ], [ -30, -8, -24, -28, 13, 16, -5, 12, - -6, 2, 27, -6, 12, -17, 15, -2, + -6, 2, 27, -6, 11, -18, 15, -2, 11, -0, 2, -5, 15, 9, -29, -14, - 13, -11, 6, 11, 14, 7, 7, -8, - 8, 8, 14, 20, 11, 7, 5, -0, - -23, 8, -2, 16, 6, -1, -14, -13, + 13, -11, 5, 11, 14, 7, 7, -8, + 9, 8, 14, 20, 11, 7, 5, -0, + -22, 8, -2, 16, 6, -1, -14, -13, -16, 19, -9, -1, 8, -8, 11, -12, - -56, 4, 9, 7, -12, -15, 20, 2, + -56, 5, 9, 6, -12, -14, 19, 2, ], [ -23, -15, 5, -9, 4, -2, 11, 6, 1, 11, -4, 15, -6, 5, 18, 15, -2, -2, 12, 1, 9, -7, -11, 2, -8, 11, 11, 9, 7, 14, -1, 2, - -1, -7, 11, 8, 8, -4, 8, 4, + -1, -7, 11, 8, 8, -4, 8, 3, -14, -6, -7, 2, 2, -7, -5, 3, -12, -7, 3, 2, 1, -2, 3, -27, - -7, -32, -19, -8, 1, -16, 22, 22, + -6, -30, -19, -9, 1, -15, 21, 22, ], [ - -36, -4, 6, 36, 37, 0, -22, -13, + -36, -4, 6, 36, 37, -0, -21, -13, 20, 5, 14, 24, 10, 7, 15, -17, -10, -5, 4, -1, 7, -8, -12, 1, 9, 1, 1, 3, 10, -1, 4, 7, 12, -3, 10, 6, 14, 6, 1, 2, -1, -7, -8, -2, 3, -4, -7, -4, -47, 1, -6, -1, -5, 2, -19, -22, - -24, -15, -5, 12, 1, 4, -12, 22, + -24, -15, -5, 13, 1, 4, -10, 22, ], [ -36, -11, 29, 30, 5, 3, -44, 8, - -11, 10, 10, 14, -2, 20, 3, 5, + -12, 10, 10, 14, -2, 20, 3, 5, 12, -6, 0, 5, 7, -4, -3, -20, 6, 8, 14, 11, 9, 4, -4, 12, -8, 0, 7, 13, 13, 8, 2, -5, -6, -7, -1, 3, 8, -6, 2, -2, - -15, -13, -10, 3, -3, -5, 5, -9, - -10, -8, -15, -1, -2, 1, -8, -16, + -15, -13, -10, 2, -3, -5, 5, -9, + -11, -9, -15, -1, -3, 1, -6, -16, ], [ -29, 10, 6, -7, -16, -13, -23, -26, @@ -1236,17 +1236,17 @@ internal static class TunableEvalParameters -3, 6, 9, 5, 14, 12, 12, 5, -24, -3, -1, 7, 6, -1, 3, 9, 1, -9, 14, -0, 0, -22, 44, 6, - 10, -23, -9, -1, -3, 3, -7, 4, + 10, -24, -9, -1, -3, 3, -7, 5, ], [ - 22, 11, -26, -1, -2, 3, 3, -62, + 22, 10, -26, -1, -2, 3, 3, -62, -5, -3, 0, -21, 14, -23, 3, -9, -12, 10, -0, 17, 13, 6, -5, -6, -4, -0, 14, 11, 20, 19, 17, 24, -20, -7, 14, 14, 14, 32, 3, 19, -9, -12, 4, 2, 5, 6, -4, 15, 17, 0, -8, -3, -2, -15, 3, -12, - -3, -19, -7, -20, 1, -14, -10, -15, + -3, -20, -7, -20, 2, -13, -9, -15, ], [ -30, -20, -44, -16, -51, -3, -9, 16, @@ -1255,18 +1255,18 @@ internal static class TunableEvalParameters 9, 30, 19, 5, 19, 37, -18, 3, 37, 6, 8, 39, 16, 21, -0, 13, -4, 2, 5, 13, -2, 6, -14, -8, - 32, 12, -9, 21, 2, 6, -31, -49, - -24, -4, -13, -3, -7, -14, 30, -34, + 32, 12, -8, 21, 2, 6, -30, -49, + -24, -5, -12, -3, -7, -14, 30, -34, ], [ - 68, 22, -11, -8, 39, -46, -14, -33, + 67, 22, -11, -8, 39, -46, -14, -34, 14, 23, -14, -44, 2, -7, 21, -18, 44, -5, -9, -9, -14, 9, -21, -34, - -9, 38, 7, 27, 25, 12, 6, -3, + -9, 38, 6, 27, 25, 12, 6, -3, 6, 22, 21, -5, 31, 3, -31, -30, -18, -20, 23, 5, 1, 1, -1, -8, - -19, -18, -16, 19, -3, -23, 26, 4, - -42, 28, 2, 1, 11, 32, -4, -49, + -19, -19, -16, 19, -3, -23, 26, 4, + -42, 29, 2, 1, 11, 32, -4, -49, ], [ -44, 5, 94, -17, -6, -42, -50, -4, @@ -1276,17 +1276,17 @@ internal static class TunableEvalParameters -1, 22, 10, 19, 14, 13, 10, -18, -13, 16, 2, 1, 8, 1, -3, -25, -2, -38, -19, 20, 1, -27, 6, -10, - 27, 62, 46, 6, -27, -37, -23, -48, + 27, 63, 46, 6, -27, -37, -23, -49, ], [ 40, 18, 39, 47, 25, 23, 12, 52, -10, 4, 28, 0, 33, -16, -13, 26, -17, -2, 13, 0, -9, -13, -18, 18, 6, 3, 6, -30, 8, 1, -24, -5, - -13, -19, 7, 4, 3, 5, -4, -22, + -14, -19, 7, 4, 3, 5, -4, -22, -28, -19, -3, -0, -10, 7, 8, -31, -21, -11, -30, -7, 1, -9, -16, -1, - -63, 10, 17, -5, 11, -0, -11, 3, + -63, 11, 17, -5, 11, -0, -11, 3, ], [ -1, 34, 16, 40, -4, 99, 41, 45, @@ -1294,19 +1294,19 @@ internal static class TunableEvalParameters 21, 4, -19, 9, 12, 18, -6, -9, -16, -31, 8, 7, -36, 8, 4, 6, -2, 4, 3, 11, 10, 7, -8, -24, - -37, -30, -12, 10, 5, 5, -41, -5, + -37, -30, -13, 10, 5, 5, -41, -5, -35, 22, -19, -18, -0, -9, -35, 1, - 4, -17, -38, -6, -16, -31, 7, -20, + 4, -17, -38, -6, -16, -31, 8, -20, ], [ -40, -21, 6, 25, 55, 59, 26, 74, -19, -13, 1, -10, -27, 34, 35, -4, - -27, -20, -30, 21, -23, 10, 42, 36, + -27, -21, -30, 21, -24, 10, 42, 36, 22, -5, -10, 14, 15, -22, 4, 7, -7, 5, -7, 9, -2, -21, 12, 6, -20, -24, -13, -19, -9, 13, -3, 26, -46, -13, -11, 1, -6, -43, -17, 18, - -7, -19, 9, 1, 27, -33, -26, 7, + -7, -19, 9, 1, 27, -33, -25, 7, ], [ 33, -39, 3, 10, 0, -78, 40, -1, @@ -1316,345 +1316,345 @@ internal static class TunableEvalParameters -17, 3, 21, 29, 29, 12, -6, 12, -7, -11, 1, 14, 8, -12, -33, -5, -18, 1, -15, -1, 4, -12, -0, -3, - -4, -36, -31, -4, 6, -1, 5, 73, + -4, -36, -31, -4, 7, -0, 5, 73, ], [ -1, -21, -45, -3, 51, -70, -34, 65, -35, 10, 5, 12, 46, -13, -18, 3, 1, -9, 13, 13, -10, 2, 13, 41, 1, -16, -10, 18, 15, 25, 34, 26, - 13, 1, 3, 50, 33, 20, -11, 28, + 13, 1, 3, 50, 33, 21, -11, 28, -44, -28, -7, -3, 3, 27, 0, 5, -8, -2, 2, -41, -3, -30, -22, -1, - -5, 18, 27, -2, -19, -23, -44, -44, + -5, 17, 27, -2, -18, -23, -44, -44, ], ]; internal static readonly short[][] MiddleGameBishopTable = [ [ - -3, -23, -25, -84, -5, -51, 8, -35, - 37, -20, 12, 32, -49, 37, 8, -39, + -3, -24, -25, -84, -5, -51, 8, -35, + 37, -20, 12, 32, -49, 37, 10, -39, -19, 1, 19, -1, 20, 29, -31, -8, - 4, 15, 11, -19, 32, 7, -12, -9, + 4, 15, 11, -18, 32, 7, -12, -9, 21, 13, 5, 11, 1, -6, -11, -30, 62, 18, 15, 22, -2, -24, -1, 3, 28, 60, 10, 5, -14, -6, -22, -12, - 17, 9, 7, 12, 9, -6, -4, -27, + 17, 9, 6, 12, 8, -7, -4, -27, ], [ - -17, -127, -7, -8, 45, -8, -96, -64, - -9, -30, 17, -4, 18, -12, -32, -28, - 6, -12, 26, 5, 16, -15, -7, -5, - 36, 10, 1, 16, 1, 3, -1, -3, + -17, -127, -7, -8, 45, -8, -95, -64, + -9, -30, 18, -4, 18, -12, -32, -28, + 6, -12, 26, 5, 16, -14, -7, -5, + 36, 10, 1, 16, 2, 3, -0, -3, 17, 18, 15, 4, -1, 1, 7, -0, - 41, 24, 10, 6, 4, -10, -2, 8, + 42, 24, 10, 6, 4, -10, -2, 8, 3, 52, 19, 12, 1, 5, -10, -13, - 9, -27, 35, 24, 10, 12, 3, 5, + 9, -27, 35, 24, 10, 11, 2, 6, ], [ - -4, -33, -15, -23, -49, -73, 22, -81, - -15, -21, 6, 3, 9, -11, -9, -27, - 1, 2, 8, 14, 10, -7, -4, -1, + -4, -33, -15, -23, -49, -73, 23, -81, + -15, -22, 6, 3, 9, -11, -9, -27, + 1, 2, 9, 14, 10, -7, -5, -1, 31, 8, 0, 3, 10, -15, 5, -6, 21, 30, 5, 16, -7, 2, 2, 12, - 13, 20, 10, 6, 3, -11, 2, 5, - 8, 48, 15, 5, -1, 10, -15, 2, - 16, 11, -15, 13, 14, 9, 1, 8, + 13, 21, 10, 6, 3, -11, 2, 4, + 9, 48, 15, 5, -1, 10, -15, 2, + 16, 12, -15, 12, 13, 8, 1, 8, ], [ - -30, -38, -10, -94, -11, -144, -26, -24, + -30, -38, -9, -95, -12, -144, -27, -24, 15, -24, -27, -80, -14, -34, -18, -11, - -1, 28, -8, 21, 3, -12, 7, 13, + -1, 29, -8, 22, 3, -12, 7, 14, -4, 10, 31, 12, 11, 9, 10, 1, - 7, 3, 20, 4, 12, 15, 8, 12, + 7, 3, 21, 3, 12, 15, 8, 12, 24, 2, 8, 19, 24, 5, 11, 10, - 29, 27, -1, 22, 8, 16, 10, 27, - 23, 15, 10, -3, 20, 22, 2, 23, + 29, 28, -1, 22, 8, 16, 10, 26, + 22, 17, 11, -3, 19, 21, 1, 23, ], [ - -17, -47, -46, -78, -121, -96, -22, 11, + -17, -47, -46, -77, -122, -96, -22, 11, -6, -17, 18, -58, -37, -31, -30, 9, 8, -6, -25, 4, -21, -7, 0, 12, -0, 7, 7, -1, 3, 5, 17, -2, 18, -5, 10, 14, 13, 21, 1, 44, - 15, 3, -1, 13, 19, 13, 27, 18, - 14, 28, 15, 10, 25, 34, 33, 15, - 32, 32, 22, 23, -7, 20, 7, 38, + 15, 3, -1, 13, 19, 13, 27, 19, + 14, 28, 15, 10, 25, 34, 33, 16, + 33, 31, 22, 22, -7, 21, 9, 37, ], [ - -32, 2, -65, -46, -112, -71, 35, -32, - -23, -3, -26, 20, -19, -32, -14, 21, - 5, -10, 13, 36, 3, -1, 40, 6, + -32, 2, -66, -47, -111, -72, 35, -32, + -23, -3, -25, 20, -19, -32, -14, 21, + 5, -10, 13, 36, 3, -1, 40, 5, 10, -12, -15, 11, 7, 19, 2, 28, - 6, -17, 0, -6, 30, 11, 25, 11, - -13, 0, -9, 7, 1, 23, 32, 10, - -5, -3, 8, -2, 8, 19, 22, 4, - 2, 23, 8, 26, 22, -12, -0, 26, + 6, -17, 0, -6, 30, 11, 24, 11, + -13, 0, -9, 6, 2, 23, 32, 10, + -5, -3, 7, -2, 8, 19, 22, 6, + 2, 22, 8, 25, 22, -12, 1, 26, ], [ - -12, -10, 14, -60, -30, 10, -26, 14, + -12, -10, 14, -60, -31, 10, -26, 15, -20, -32, 18, -4, -16, -12, -27, -22, - 9, 4, -6, 7, -1, 14, -7, 0, + 9, 5, -6, 8, -0, 14, -7, 0, -4, -7, -2, 1, 1, -2, 9, -1, - -12, -1, -14, -3, -7, 13, 1, 28, + -12, -1, -13, -3, -7, 13, 1, 28, 5, -18, -15, -8, 1, -0, 27, 33, - -1, 4, -7, -2, 0, 21, 39, 20, - 0, 9, 15, 5, 17, 46, -25, 26, + -2, 4, -7, -2, 0, 21, 39, 20, + 0, 9, 15, 5, 16, 45, -25, 26, ], [ -1, -31, -34, -101, -58, 26, -87, -41, -4, 1, 10, -27, 7, -21, -31, 7, - 16, 10, -14, -4, -1, 37, 18, 20, - -15, -11, -7, 11, 3, 18, 19, 4, + 17, 10, -14, -4, -1, 37, 18, 20, + -15, -11, -7, 11, 3, 19, 19, 4, -7, 7, -2, 6, 14, 26, 9, 16, -4, -22, -12, -1, 2, 10, 28, 36, -7, -3, -8, -2, -3, 12, 28, 51, - -7, -2, 8, -5, 35, 40, 54, -19, + -7, -2, 8, -5, 34, 39, 54, -19, ], [ - -108, 49, -70, -63, -48, -31, -50, -59, - 13, 1, 13, -41, 4, -18, 12, 9, - -27, 57, 59, 10, 16, -7, -32, -21, + -108, 50, -70, -63, -48, -31, -50, -59, + 12, 1, 13, -41, 4, -18, 12, 9, + -27, 57, 59, 10, 15, -6, -32, -21, 1, 18, 34, 15, 30, 8, -7, -24, 18, 35, 31, 28, 7, 28, -12, -8, 24, 41, 35, 12, 9, -9, 2, -9, - -14, 52, 38, 16, 4, 3, -36, -24, - -21, -1, -19, 3, 22, 12, -4, -5, + -15, 52, 38, 16, 4, 3, -36, -24, + -22, 1, -16, 4, 22, 11, -5, -5, ], [ - -75, -96, -20, -71, 24, -131, -54, -58, - -21, 33, -46, -41, -17, -15, -36, 29, - 18, 40, 36, 28, 21, 49, 5, 32, - 28, 42, 12, 34, 9, -7, 20, 12, - 21, 35, 21, 5, 7, 4, 2, -29, - 0, -4, 31, 29, 20, 5, -3, -0, - 9, 23, 3, 20, 21, 12, -3, -11, - -8, -26, 14, -20, -8, 23, 12, 10, + -74, -97, -21, -70, 25, -131, -54, -58, + -21, 33, -46, -41, -17, -16, -36, 29, + 18, 39, 36, 28, 21, 48, 4, 31, + 28, 42, 12, 34, 8, -7, 20, 12, + 21, 36, 21, 5, 7, 4, 1, -30, + 0, -4, 31, 29, 20, 5, -3, -1, + 9, 23, 4, 20, 21, 12, -3, -11, + -8, -24, 19, -17, -8, 21, 11, 10, ], [ - -8, 11, -49, -99, -43, -48, 1, -96, - 12, -1, 6, -14, 8, -11, -5, 16, - 14, 48, 17, 10, 26, -6, 2, 1, - 29, -4, 37, 10, 39, 24, 20, -22, - -13, 25, -1, 12, 8, 13, -17, -3, + -9, 10, -49, -99, -44, -49, 1, -95, + 12, -1, 6, -13, 8, -12, -5, 16, + 13, 48, 17, 10, 26, -6, 2, 1, + 29, -4, 36, 10, 38, 24, 19, -22, + -13, 25, -2, 12, 7, 12, -17, -3, -7, -7, 8, 30, 30, 0, 21, -7, - -5, -1, -2, 18, 18, 8, -16, 2, - 5, -16, -17, 1, -2, 10, -13, -6, + -5, -2, -2, 18, 18, 7, -16, 2, + 4, -15, -12, 3, -2, 8, -14, -6, ], [ - -69, -68, -15, -59, -91, -41, -33, -42, - 3, 8, 32, -5, -20, 12, -21, 26, - 32, 18, 25, 25, 35, 2, 19, 23, + -69, -68, -14, -59, -91, -40, -33, -42, + 3, 8, 32, -6, -19, 11, -21, 26, + 33, 18, 25, 25, 35, 2, 19, 23, -27, 13, 16, 22, 11, 12, 3, -17, - 4, -3, 20, 2, 25, -3, 15, -21, + 3, -4, 20, 2, 25, -3, 15, -22, -7, 12, -4, 29, 26, 23, 2, 9, - 15, -1, 15, 5, 41, 8, -2, -17, - 17, 12, 4, -26, 11, -27, -21, 6, + 14, -1, 15, 5, 41, 8, -2, -17, + 17, 12, 2, -26, 12, -22, -19, 6, ], [ - -45, -94, -33, 13, -68, -17, -27, 7, - 6, -10, -0, 16, 14, 24, -16, 36, + -45, -94, -32, 14, -67, -17, -27, 7, + 5, -10, -0, 16, 14, 24, -16, 36, 15, -0, 17, 16, 14, 13, -2, -14, - -17, -3, 8, 14, 24, 6, 31, 8, - 3, -26, 7, 11, 12, 20, -15, 7, - -23, 4, 6, 12, 28, 20, 13, 2, - 5, 0, 7, -3, 9, -8, 5, 16, - 4, 7, 15, -6, -21, 6, -53, 2, + -17, -3, 8, 14, 24, 6, 31, 7, + 3, -26, 6, 11, 12, 20, -16, 7, + -23, 4, 6, 11, 28, 20, 12, 2, + 5, -0, 6, -3, 8, -8, 5, 16, + 3, 6, 14, -6, -19, 10, -51, 1, ], [ - -15, -5, -51, -6, -43, -81, -2, -50, - -43, -5, -21, -28, 7, 25, -30, 12, + -15, -5, -51, -6, -44, -81, -1, -50, + -43, -5, -22, -28, 7, 25, -30, 12, -20, 2, 14, 21, 20, 33, 56, 10, -13, -1, -16, 39, 13, 35, 10, 36, -7, -17, 1, 3, 25, 12, 26, -1, -15, -3, -26, 13, 6, 31, 44, 13, - -7, -17, 0, -7, 10, 30, 26, 13, - -24, 2, 4, 15, -6, -2, -16, -32, + -7, -18, 0, -7, 10, 30, 26, 13, + -23, 2, 4, 15, -5, 0, -13, -32, ], [ -8, 17, -76, -34, -20, 28, -21, -4, - 3, -5, -4, -50, 5, -15, -53, -3, - -6, -4, 1, -5, 11, 32, 16, 18, + 3, -5, -4, -50, 5, -15, -53, -2, + -6, -4, 1, -5, 11, 31, 16, 18, -16, -14, -16, 15, 25, 33, 12, 17, -36, -27, -8, 7, 11, 6, 15, 5, -4, -17, -12, -4, 12, 2, 32, 35, -28, -10, -23, 2, -2, 29, 46, 55, - -11, -2, 12, 4, 15, 12, -10, 15, + -11, -3, 11, 4, 15, 11, -10, 15, ], [ - -1, 60, 62, 27, 9, -1, 69, -7, - -55, -12, -5, -25, 41, 30, 35, -31, - -52, 85, -37, 61, -26, -18, -52, -53, - 58, -12, -21, 63, 8, -15, -67, -86, + -1, 60, 63, 27, 9, -1, 69, -7, + -55, -12, -5, -25, 41, 29, 34, -31, + -52, 85, -37, 60, -26, -18, -52, -53, + 58, -12, -22, 63, 8, -15, -67, -83, -21, 25, 49, 53, 2, -18, -76, 24, - 9, 85, 46, -18, 18, -0, -23, -24, + 8, 85, 46, -18, 17, -0, -22, -24, 72, -12, -17, 13, -9, 32, -66, -34, - 1, -79, -37, -4, 31, -49, 30, -32, + 1, -79, -38, -5, 30, -51, 30, -32, ], [ - 1, 1, 12, 2, -9, 7, 5, 2, + 1, 1, 12, 2, -10, 7, 5, 2, 9, 35, -36, 18, 6, -4, 9, -11, - -13, -11, 27, 44, 50, -23, -11, -35, - -53, -39, 36, 107, 53, 48, 2, -23, - -42, 12, -4, 15, 46, 79, -20, 21, + -13, -12, 27, 44, 50, -23, -11, -35, + -53, -39, 36, 107, 53, 47, 2, -23, + -42, 12, -4, 15, 47, 78, -20, 21, 23, 70, 15, -26, -6, -18, -29, -27, - 20, -14, 32, -6, -8, -11, -26, 19, - -42, -19, -94, -30, -32, -132, 36, -4, + 20, -14, 32, -6, -8, -11, -27, 19, + -42, -19, -92, -30, -32, -132, 36, -4, ], [ -13, 16, 8, 22, 6, -13, -17, 1, 24, 15, -41, 25, 52, 1, -11, -55, -16, 85, -63, 2, 57, 15, 33, 28, -29, 1, 6, -22, 43, 69, -33, 11, - 30, -33, 93, 14, 84, 29, 30, 11, + 30, -33, 93, 14, 84, 29, 31, 11, -28, 13, 33, 25, -36, -16, 2, 16, - 19, -133, 8, -42, -24, -27, -56, 9, - -22, -10, -112, -52, -30, -30, 18, 9, + 19, -133, 8, -42, -23, -28, -56, 9, + -22, -10, -109, -52, -30, -32, 18, 9, ], [ -14, -2, 2, 2, -15, -38, -18, -24, - -15, 0, 7, -53, -18, 44, -0, 11, + -16, 0, 7, -53, -18, 44, -0, 11, -23, 29, 12, 3, 28, 67, 33, -0, - 20, 37, -9, -9, 5, -16, 43, 26, - 8, 26, 24, 94, 12, 2, -18, -35, - -18, 4, 90, 103, 42, 30, 5, -12, - -53, -65, -14, -27, 18, -13, -52, -29, - -27, 4, -41, -19, -39, -59, -7, -52, + 21, 37, -9, -9, 5, -16, 43, 26, + 8, 27, 24, 93, 12, 3, -18, -35, + -19, 4, 90, 103, 42, 30, 5, -12, + -53, -65, -14, -27, 18, -13, -51, -30, + -27, 4, -38, -19, -39, -59, -8, -53, ], [ - -39, 26, -19, 17, -40, 20, 12, -16, + -39, 26, -19, 17, -40, 20, 12, -17, 9, -9, 3, 20, -14, -7, 4, -8, -33, -30, 19, 52, -51, 40, 49, 22, - -1, -8, 85, 14, -27, -20, 12, -42, + -1, -8, 85, 14, -27, -20, 11, -42, 34, 2, 11, 96, 95, -47, 34, -1, -1, -1, 22, 80, 58, 24, -18, -20, - -14, -68, 13, -35, 14, -57, -73, -3, - -53, -9, -32, -4, -67, 14, -17, -11, + -14, -68, 13, -35, 14, -57, -74, -3, + -53, -10, -33, -4, -67, 16, -17, -11, ], [ -6, 3, -13, -28, -55, 42, -9, -0, - -45, -18, -29, -15, -7, -36, -7, -10, - -29, 24, -2, 48, 10, -35, -6, 14, - 33, 69, 44, -5, 49, 36, 5, -6, - -29, -2, 28, 26, -12, 106, 1, 30, - 5, 47, 26, 15, 10, 67, 23, -15, - -64, 10, 26, 40, -47, -33, -59, -10, - -9, -4, -40, -61, -70, -19, 19, -22, - ], - [ - -18, -29, -6, 37, -15, 9, -31, -6, - -34, 33, -13, -0, -28, -35, 14, -6, - -8, 29, -8, -0, -51, 94, 34, -32, - 1, -9, 89, 74, 55, 91, 28, 8, + -45, -18, -30, -15, -7, -36, -8, -10, + -29, 24, -2, 47, 10, -35, -6, 14, + 33, 69, 44, -6, 49, 36, 5, -6, + -29, -3, 28, 26, -12, 106, 1, 30, + 4, 47, 26, 15, 10, 67, 23, -15, + -64, 10, 26, 40, -47, -33, -58, -10, + -9, -4, -41, -61, -70, -17, 20, -22, + ], + [ + -18, -29, -7, 37, -15, 9, -31, -6, + -34, 33, -13, 0, -28, -35, 14, -6, + -8, 29, -8, -0, -51, 94, 33, -32, + 1, -9, 89, 73, 55, 91, 28, 9, -20, -26, 19, 32, 43, 0, 23, -19, - 4, 51, 13, 33, 4, 14, -43, 23, - -20, -73, -14, -3, 71, -60, -56, -29, - -26, -11, -89, -51, 8, -36, -38, 10, + 4, 51, 13, 32, 4, 14, -43, 23, + -20, -73, -15, -3, 70, -60, -56, -29, + -27, -12, -90, -51, 8, -33, -38, 10, ], [ 4, 14, 20, -5, 15, 7, 12, -3, -15, -57, 19, 6, -21, 18, 10, -23, 3, -45, 18, 2, 4, 22, 1, -2, - 18, 6, -14, -1, 47, 74, 5, 27, - -19, -27, 19, 23, 60, 57, 26, -44, - 8, -6, -60, -0, 15, -12, -23, 21, + 18, 6, -14, -1, 47, 75, 5, 27, + -19, -27, 19, 23, 59, 57, 26, -44, + 8, -6, -60, -0, 15, -12, -23, 22, 28, -17, -17, -1, 16, 4, -57, 11, - -7, -8, -58, -48, 14, -30, -24, -8, + -7, -8, -59, -48, 14, -31, -24, -8, ], ]; internal static readonly short[][] EndGameBishopTable = [ [ - 0, -4, 20, 43, 17, -29, 31, -7, - -29, 19, -20, -19, 1, 3, -61, 10, - 28, 17, -15, 9, 3, -12, 11, 15, - 1, 10, 9, 33, -11, 2, 6, 14, + 0, -3, 20, 43, 17, -29, 31, -7, + -29, 19, -20, -19, 1, 3, -62, 10, + 27, 17, -15, 9, 3, -13, 11, 15, + 1, 10, 9, 33, -11, 3, 6, 14, 5, 15, 13, -2, 21, 3, 16, -18, - -24, 2, -5, -16, -0, 10, -30, -32, + -23, 2, -5, -16, -0, 10, -30, -32, 11, -22, 2, 2, 9, -10, -4, 6, - -16, -3, 10, -4, -12, -4, -5, -14, + -16, -3, 10, -3, -11, -4, -5, -14, ], [ - 29, 44, -4, -29, -27, -14, 52, 33, + 29, 45, -4, -29, -27, -14, 52, 34, 13, 30, -24, 1, -17, -5, -5, 19, - 8, 28, -9, 3, -3, 12, 20, 13, - -29, 13, 7, 3, 23, 7, 13, 0, + 8, 28, -9, 3, -3, 13, 20, 14, + -29, 13, 7, 3, 23, 6, 13, 0, 0, -2, 3, 20, 10, 6, -16, -13, - -18, -22, -9, 5, 4, -6, -9, -10, + -18, -21, -9, 6, 5, -6, -9, -9, -57, -9, 11, -4, 1, -4, -17, -15, -14, -40, 3, -8, 1, 2, 11, -12, ], [ - -38, 19, -33, 8, 6, 6, -18, 51, - 26, -8, -32, -27, -19, -6, -6, 6, - 4, 23, 17, 8, 11, 12, 23, 30, - 3, -2, 5, 12, 7, 23, 3, -3, + -38, 19, -33, 8, 6, 6, -19, 51, + 26, -8, -31, -28, -19, -6, -6, 6, + 4, 23, 17, 8, 11, 12, 24, 30, + 3, -2, 5, 13, 7, 23, 3, -3, -21, -21, -6, -2, 18, 7, -8, -20, -10, -16, -6, 8, 6, 0, 3, -2, -20, -29, 11, 21, 11, 1, 1, 7, - -14, -8, -66, 11, 5, 19, 22, -10, + -14, -8, -66, 11, 5, 18, 22, -10, ], [ - -18, -7, 3, -30, 26, 21, -20, -0, - -11, 15, 20, 25, 11, 12, 1, 6, + -17, -7, 3, -30, 26, 21, -19, -0, + -12, 15, 20, 25, 12, 11, 1, 6, 1, -2, 9, -17, 8, -12, 8, 17, - 9, 4, -1, -0, -9, 18, 5, 10, - 7, 18, 7, 9, 20, 3, 11, -24, - -28, -11, 4, 2, -3, -3, 4, -10, - -44, -20, 9, 11, 5, -1, -16, -48, - -16, 6, 9, -27, 10, 1, 18, -4, + 10, 4, -1, -1, -9, 18, 6, 10, + 7, 19, 7, 9, 20, 3, 11, -24, + -28, -12, 4, 2, -3, -3, 4, -9, + -45, -20, 9, 12, 5, -1, -16, -48, + -17, 6, 11, -27, 10, -0, 18, -4, ], [ - -3, 17, -23, 19, 28, 25, 12, -38, - -10, -27, -6, 30, 22, 10, -8, -16, - -1, 25, 12, 13, 23, 2, 6, 6, + -4, 17, -24, 20, 28, 25, 12, -38, + -10, -27, -6, 30, 22, 10, -8, -17, + -1, 25, 12, 13, 23, 3, 6, 6, 14, 5, 4, 23, 8, 9, -2, 8, - -19, 3, -4, 4, 2, -5, 9, -37, - -10, 7, 9, 5, 1, -9, -6, -7, + -19, 3, -4, 4, 2, -5, 10, -37, + -10, 8, 9, 5, 1, -9, -6, -8, 10, -10, -3, 8, 6, -19, -26, -19, - -2, -2, 4, 2, -59, 8, 2, -29, + -2, -3, 2, 2, -59, 8, 2, -29, ], [ - 3, -5, 3, 2, 38, -7, -8, -55, - 4, -21, 11, -10, -1, 5, -9, -17, + 4, -5, 3, 2, 38, -7, -8, -55, + 3, -21, 11, -10, -1, 5, -9, -17, -9, 32, -6, -11, 26, 1, -7, -2, 1, 12, 13, -1, 10, 1, 15, -5, - -15, 18, 11, 6, 7, 8, 1, 1, + -15, 18, 11, 6, 7, 8, 2, 1, 7, -3, 3, 17, 20, -16, -19, -15, - -8, 1, 1, 12, 17, 14, -24, -7, - -4, -3, 10, -1, 16, -38, 6, -26, + -8, 1, 1, 12, 17, 14, -24, -8, + -4, -3, 9, -1, 16, -37, 6, -26, ], [ - 4, -4, -20, 13, 0, -4, 14, -45, + 3, -4, -20, 13, 0, -4, 14, -45, 1, 3, -8, 3, 10, -0, -8, -3, -1, 12, 6, 5, 12, 3, 18, 24, 6, 10, 9, 18, 15, 11, 5, 15, 11, 0, 13, 16, 18, 6, 3, -18, 4, 8, 7, 16, 7, -4, -15, -4, -12, -9, 0, 6, 13, 8, -8, -33, - -11, 5, -2, -0, -2, 0, -109, -36, + -11, 4, -3, -0, -2, 0, -109, -36, ], [ - 14, 27, -19, 32, 22, -42, 32, -46, - -5, -7, 5, 12, -11, 0, 1, -1, + 14, 27, -18, 32, 22, -42, 31, -46, + -5, -8, 5, 12, -11, 0, 1, -1, -2, 1, 5, 13, 11, -35, 1, 15, -5, 14, 0, 17, 15, 7, -4, 7, -12, -24, 14, 5, 15, -12, 8, -15, -10, 13, 2, 20, 15, 9, -11, 1, -14, -14, -11, 10, 14, 24, 0, -20, - -15, -6, -3, -12, -17, -1, -8, -20, + -15, -6, -4, -12, -17, -1, -8, -20, ], [ - 43, -22, 5, 18, 8, 8, 27, 15, - -10, -11, 17, 7, -3, -1, -21, -4, + 43, -22, 5, 17, 7, 8, 28, 15, + -10, -11, 17, 7, -3, -1, -22, -3, 30, -7, -11, 16, 5, 10, 30, 4, 6, -3, 0, 15, 4, 7, 2, -18, 0, 3, -11, 4, 10, -4, 7, 4, - -22, -13, -10, 2, -0, 1, -10, -17, + -22, -14, -10, 2, -0, 1, -10, -17, -11, -30, -19, -10, 4, -6, -1, 0, - -17, 5, 2, -2, -15, -3, 5, -9, + -17, 4, 2, -2, -15, -3, 5, -9, ], [ 2, 23, -3, 7, -11, 20, 19, 7, @@ -1662,72 +1662,72 @@ internal static class TunableEvalParameters 10, 2, -8, 15, 1, -17, 8, -12, -3, -14, 7, 1, 1, 11, 1, -8, -5, -8, 8, 8, 3, 6, 0, 18, - 7, -4, -10, -3, 0, -11, -2, -7, + 7, -4, -10, -3, 1, -11, -2, -7, 0, -14, 1, -3, -2, -2, -10, -10, - -15, 6, -6, -2, 8, -9, 4, -14, + -15, 6, -5, -2, 8, -9, 4, -14, ], [ - -2, 0, 15, -1, 9, 4, -12, 24, + -2, 1, 15, -1, 9, 4, -12, 24, 5, -2, 3, 2, 4, 14, 2, -9, 5, -8, -1, 4, 5, 6, 1, 1, - -13, 4, -10, 8, -8, -3, -7, 11, + -13, 4, -10, 8, -8, -3, -8, 11, 4, -4, 6, 9, 3, 2, 2, -1, 2, 7, -6, 0, -4, -5, -13, -11, - 3, -12, -2, -1, -5, -2, -7, -14, - -10, 2, -5, 3, -5, 5, 11, -3, + 4, -12, -2, -1, -5, -2, -6, -14, + -10, 2, -4, 2, -5, 4, 11, -3, ], [ - 14, 18, 1, 12, 4, -9, -2, 3, - -0, -7, -3, -3, -4, 0, 7, -3, - -6, 3, -3, 0, -2, 10, 0, 8, + 14, 18, 1, 12, 3, -9, -1, 3, + -0, -7, -3, -2, -4, 0, 7, -3, + -7, 3, -3, 0, -2, 10, 0, 8, 9, 2, -6, -2, 7, -3, 4, 2, - -10, 5, -3, 11, 1, 9, -2, 9, - 6, -7, -5, -3, 3, -14, 1, -9, - -11, -12, -3, 3, 3, 1, -12, -11, - -17, 7, 10, 9, 2, 10, -0, -22, + -10, 5, -3, 11, 1, 9, -2, 10, + 6, -7, -5, -3, 3, -14, 0, -9, + -11, -11, -3, 3, 3, 1, -12, -11, + -17, 7, 10, 9, 1, 10, -1, -22, ], [ 5, 24, 3, -1, 11, 4, -14, -13, -19, -2, 1, -5, 5, -11, 5, -3, - -3, 7, -7, 2, 14, -0, 19, 17, + -3, 8, -7, 2, 14, -0, 19, 17, 4, 5, 2, 4, 6, 15, -9, -2, 3, 13, 3, 7, 12, 4, 5, -8, - 8, -5, -9, 4, -7, -7, -0, -4, + 8, -5, -9, 4, -7, -6, -0, -4, -10, -13, -1, 5, 1, -0, -11, -29, - -15, 4, -4, 1, 5, 9, 2, -24, + -14, 4, -5, 1, 5, 8, 2, -24, ], [ - -5, 6, 13, 5, 7, 20, 2, 18, + -4, 6, 13, 5, 7, 20, 2, 18, 2, -12, 12, 6, -2, -5, 1, -8, - -4, -2, -4, -2, 10, 5, -11, 16, + -4, -2, -4, -2, 10, 5, -10, 16, -1, -4, 12, -6, 11, -3, 6, -20, -12, 8, 2, 13, 6, 7, -5, 8, 7, 1, 3, 6, 5, -12, -8, -9, - 2, -2, -4, 2, -6, -10, -14, -40, - 1, 5, 0, -8, 11, -10, 2, -12, + 2, -2, -4, 3, -6, -10, -14, -40, + 1, 5, 0, -8, 11, -11, 1, -11, ], [ - 5, 14, 12, 11, 1, -9, -24, -31, + 4, 14, 12, 11, 1, -10, -25, -31, -4, -23, 12, 28, 10, -19, 31, 9, -14, -0, 6, 16, 21, 3, 8, 21, - 5, 2, 6, 8, 8, -0, 16, 14, + 5, 2, 6, 8, 8, -0, 16, 15, 8, 10, 6, 9, 2, 15, 3, 11, - -12, -7, -1, 11, 1, -1, 3, 7, - -14, -14, 2, -12, -2, -10, -27, -17, - -14, -12, -18, 4, -9, -11, -23, -30, + -11, -7, -1, 11, 1, -1, 3, 7, + -14, -14, 2, -12, -1, -10, -27, -17, + -14, -12, -19, 4, -9, -11, -23, -29, ], [ 7, -52, -17, 2, 26, -3, -29, 16, 37, 5, -8, -9, 2, 8, -11, -27, 38, -4, 23, 5, 9, 23, 1, 19, - 2, 21, 31, 2, 8, 1, 15, 16, + 2, 21, 31, 2, 8, 1, 15, 14, 8, -14, 13, -9, -9, 12, 17, 3, - -15, -18, -23, 6, 0, -2, 4, -10, - -7, -15, -11, -15, -1, -23, -3, -28, - -12, 18, -4, 2, -31, 18, -25, 14, + -15, -18, -22, 6, 1, -2, 4, -10, + -7, -15, -11, -15, -0, -23, -3, -28, + -12, 18, -4, 2, -30, 18, -25, 14, ], [ - 5, -25, -4, 41, -30, -30, -6, -25, + 5, -24, -4, 41, -30, -30, -6, -25, 9, -5, 6, 25, 20, 2, -33, -34, 11, 14, -8, -2, -10, -4, -17, -12, 29, 53, 15, -13, -14, -12, -2, -6, @@ -1737,20 +1737,20 @@ internal static class TunableEvalParameters -42, 16, 31, 18, 20, 36, -33, 43, ], [ - 12, 2, 11, 1, 2, -22, -32, 16, + 12, 2, 11, 1, 1, -22, -32, 16, 42, -15, 4, -3, -9, -32, -9, 0, 18, -23, 10, 7, 5, -24, -23, -23, -4, 17, 5, 19, -23, -27, -2, -23, 12, 8, -8, -5, -7, -8, -6, 26, 3, 30, -12, 2, 9, -10, 19, -1, 3, 2, -17, 10, -14, -13, 15, -4, - -20, 3, 9, 25, 16, -5, 16, 43, + -20, 3, 9, 26, 16, -5, 16, 43, ], [ 2, 26, 7, 5, -3, 1, -27, -45, -35, -21, -6, 1, 14, -15, -1, -14, 5, -9, -13, 17, -13, -30, -16, 17, - 13, -2, 7, -11, 9, -6, 1, 2, + 13, -2, 7, -11, 9, -6, 0, 2, 27, 3, -3, -5, -4, 12, 1, 43, -13, 0, -15, -21, 8, -7, 10, 25, 10, 17, -7, -10, -4, 3, -5, 26, @@ -1758,8 +1758,8 @@ internal static class TunableEvalParameters ], [ -31, -21, -22, -13, -15, 21, 2, 19, - -15, 8, -2, 3, -13, 1, -3, 25, - 10, -22, -6, -23, 29, -14, -8, 7, + -15, 8, -2, 3, -13, 1, -2, 25, + 10, -22, -5, -24, 29, -14, -8, 7, -9, -1, -14, -7, -14, 27, 8, 19, 4, 13, 10, -14, -17, 11, 19, 40, 21, 6, -26, -15, -9, 4, -5, 12, @@ -1772,7 +1772,7 @@ internal static class TunableEvalParameters 5, -19, -17, -6, 8, 17, 0, 19, -14, -16, -7, 8, 1, 5, 9, 26, 29, 5, 3, 6, 5, -14, 14, 4, - -9, 8, -5, -7, 1, -12, 42, 24, + -9, 8, -5, -7, 2, -12, 42, 24, 32, -20, -13, 1, -3, 19, 10, -16, -6, -6, 14, -4, 18, -1, -16, -18, ], @@ -1782,15 +1782,15 @@ internal static class TunableEvalParameters -6, -14, -13, 3, 29, -2, 19, -4, 5, -4, -20, -5, 4, 1, 12, 16, -6, 5, 20, -6, 1, 8, 14, 26, - 29, -3, 11, -6, -3, -3, 4, 18, + 29, -3, 11, -6, -3, -4, 4, 18, -9, 23, 18, -9, -14, -30, -26, 6, 7, -8, 25, -3, -5, 9, -8, -13, ], [ -46, 11, -5, 18, -19, 15, 9, 18, - -10, -21, -1, 3, -31, 37, 20, 5, + -9, -21, -1, 4, -31, 37, 20, 5, -5, -14, -5, 4, -1, 39, 21, -13, - -17, -6, 15, 1, 16, 9, 32, 24, + -17, -6, 15, 0, 16, 9, 32, 24, -27, -9, -17, -0, 2, 6, 12, 11, -16, 19, -10, 15, 4, -4, 10, -21, 5, 2, -20, -3, -31, -14, -32, 27, @@ -1801,368 +1801,368 @@ internal static class TunableEvalParameters internal static readonly short[][] MiddleGameRookTable = [ [ - 6, -12, 8, 12, -12, -27, -1, 8, - 47, 58, -20, -4, 17, 12, -29, -12, - 25, 8, 6, -1, 11, -30, -9, -10, - 17, 66, 45, 31, 35, -7, -17, -9, - 8, 8, 3, 2, 7, 5, -18, -17, - -23, -8, 6, -2, -9, -20, -25, -42, - -12, -13, -8, -13, -8, -18, -15, -22, - -15, 9, 10, 11, 13, -9, 6, -4, - ], - [ - -16, -4, 1, 11, 10, 5, -18, -13, - -43, 41, 18, -12, 11, 12, -2, -21, - 5, 21, 24, 19, 33, -4, 49, -8, - -23, 47, 17, 21, 21, 15, 15, -13, - -21, 29, 1, 2, 1, -11, 1, -16, - -31, -2, -0, -8, 13, -6, -19, -19, - -40, -1, -5, -3, -1, -14, -5, -8, - -38, -114, 20, 15, 17, 0, 27, 15, - ], - [ - 8, 42, -38, 1, 28, 18, 4, -21, - -39, -4, 64, -32, 6, 8, -8, -28, - -15, 10, 43, 22, 30, 30, 21, -3, - 2, -9, 35, 10, 34, 14, 10, -6, - -19, -1, 5, 2, -5, -12, 6, -21, - -30, -11, 21, -8, -4, -11, 2, -31, - -31, -5, 22, 1, -3, -16, -4, -17, - -36, -7, -83, 14, 17, 1, 21, 6, - ], - [ - 19, -52, 1, -39, -0, 34, -32, -27, - -30, -18, -21, 27, -13, 33, 19, -27, - 7, 15, 4, 24, 11, 17, -11, -3, - 24, 16, 25, 1, 15, 27, 29, -16, - -10, -1, -3, 15, 7, 12, 6, 2, - -14, -17, -8, 3, 17, 7, -4, -8, - -32, -6, -16, -2, 3, 10, 2, 3, - -21, -4, 4, -70, 19, 4, 34, 8, - ], - [ - 20, -10, 43, -6, 25, -38, -12, 34, - -24, -46, -27, -30, -19, -23, -32, 0, - -12, -3, -8, 22, -0, 4, -14, -1, - -9, 17, -9, 11, 28, 22, 8, 2, - -8, 8, -4, 0, 2, 22, -4, 8, - -13, 11, -12, 1, 22, 4, -6, 6, - 4, -4, 10, 17, 13, -10, 3, -2, - 18, 12, 10, 20, -88, -4, 11, 40, - ], - [ - -17, -26, -17, -21, 16, -13, -46, -3, - -20, -13, -24, -6, 15, 40, 17, -14, - -1, 14, -16, 15, 12, 7, 8, -26, - -9, -0, 1, 31, 11, 41, 10, -2, - -16, -13, 22, 28, 15, 41, -6, -7, - -20, 1, -9, 14, 6, 31, 1, -7, - -22, -38, 3, 8, 17, 21, -7, -20, - -3, 1, 12, 12, 21, -66, 15, -4, - ], - [ - -9, -11, -15, 0, 6, 26, 48, -22, - -13, -19, -10, -11, -8, 11, 24, -2, - -4, 20, 1, 11, 24, 32, 53, -3, - -2, 8, 5, 18, 6, 20, 29, -2, - -9, -12, 0, -0, -3, -11, 30, -18, - -28, -12, -17, -11, -6, -7, 16, -11, - -7, -12, -13, -5, -0, 2, 32, -34, - -3, 8, 10, 14, 17, 5, -99, -26, - ], - [ - 9, 15, -52, -13, 13, -2, -28, 11, - -18, -10, -17, -19, 0, -11, 16, -6, - -7, 9, -23, -0, 13, 17, 57, 22, - -7, 9, -7, 14, 7, 15, 20, 14, - -29, -2, -1, 10, 11, 0, 22, 1, + 6, -12, 8, 13, -12, -26, -1, 8, + 47, 58, -20, -4, 18, 13, -29, -13, + 24, 8, 6, -1, 11, -29, -9, -10, + 16, 66, 45, 31, 35, -6, -17, -9, + 8, 8, 4, 2, 8, 5, -18, -17, + -23, -8, 6, -2, -9, -20, -25, -43, + -13, -14, -8, -13, -7, -18, -15, -23, + -15, 9, 10, 12, 13, -8, 6, -5, + ], + [ + -10, -5, -1, 10, 9, 4, -19, -15, + -37, 41, 17, -13, 11, 11, -3, -22, + 11, 22, 24, 19, 32, -4, 48, -10, + -17, 46, 17, 20, 20, 15, 14, -15, + -15, 30, 1, 2, 1, -11, -0, -17, + -29, -2, -1, -9, 12, -7, -19, -20, + -33, -2, -6, -4, -1, -15, -6, -11, + -30, -114, 18, 15, 16, -0, 26, 12, + ], + [ + 11, 47, -39, -1, 27, 16, 2, -23, + -35, 0, 63, -33, 5, 7, -10, -30, + -10, 15, 42, 20, 29, 28, 20, -5, + 6, -4, 34, 8, 33, 13, 8, -8, + -15, 4, 4, 1, -7, -13, 4, -23, + -28, -8, 20, -9, -5, -12, 0, -33, + -25, 2, 21, -0, -4, -18, -6, -20, + -30, -0, -84, 13, 16, -0, 19, 2, + ], + [ + 22, -50, 3, -41, -2, 32, -34, -30, + -27, -15, -18, 26, -14, 32, 17, -29, + 10, 18, 7, 23, 9, 16, -13, -6, + 28, 19, 28, -0, 13, 25, 27, -19, + -8, 2, -0, 14, 6, 11, 4, -0, + -13, -15, -6, 2, 16, 6, -5, -10, + -27, -1, -12, -3, 1, 9, 0, -0, + -17, -1, 8, -72, 17, 2, 31, 5, + ], + [ + 18, -13, 42, -7, 24, -36, -10, 38, + -26, -48, -28, -31, -20, -21, -29, 4, + -14, -6, -9, 21, -1, 7, -11, 3, + -12, 15, -10, 10, 26, 24, 10, 6, + -11, 6, -5, -1, 1, 24, -2, 11, + -15, 10, -14, -0, 21, 5, -5, 8, + 1, -6, 8, 16, 11, -7, 7, 4, + 16, 10, 9, 19, -89, -0, 13, 42, + ], + [ + -19, -28, -18, -22, 14, -14, -41, 3, + -23, -15, -26, -8, 14, 39, 23, -8, + -4, 12, -18, 13, 11, 6, 14, -20, + -11, -2, -0, 30, 9, 40, 16, 4, + -18, -15, 21, 27, 14, 40, -1, -3, + -22, -1, -11, 13, 5, 31, 4, -4, + -25, -40, 2, 6, 15, 20, -1, -13, + -6, -2, 10, 10, 19, -68, 21, 0, + ], + [ + -10, -12, -16, 0, 6, 25, 48, -19, + -14, -20, -10, -11, -8, 10, 24, 1, + -5, 19, 1, 11, 24, 32, 52, 0, + -3, 8, 4, 18, 6, 19, 28, 1, + -10, -13, -0, -1, -3, -12, 29, -15, + -28, -12, -18, -11, -6, -7, 15, -10, + -8, -13, -13, -5, -1, 2, 31, -28, + -4, 7, 10, 13, 16, 4, -99, -19, + ], + [ + 8, 15, -52, -12, 13, -1, -28, 11, + -18, -10, -16, -18, 1, -11, 16, -6, + -7, 9, -23, 0, 13, 17, 56, 22, + -7, 9, -6, 15, 7, 15, 19, 14, + -30, -2, -1, 10, 11, 1, 22, 1, -39, -8, -22, -2, 7, -7, 16, 9, - -17, -14, -11, 4, -2, 1, 19, 24, - -2, 9, 11, 9, 18, 14, 30, -101, - ], - [ - 7, 28, 46, -0, -10, -21, -13, -12, - -2, 38, 61, 16, 40, -13, -23, -8, - 15, 1, 59, 51, 13, 28, -13, 10, - -10, 14, 41, -0, -7, -8, -13, -1, - -17, -7, 3, -4, 17, -12, -17, -12, - -40, -7, 4, -23, -6, -4, -27, -38, - -25, -34, -1, -6, -3, -12, -12, -4, - -14, -17, 9, 1, 8, -10, 7, -11, - ], - [ - 29, -9, -21, 25, -5, -9, 0, 2, - 20, 34, 47, 40, 42, 10, -14, -1, - 19, 52, 27, 27, 22, 18, -4, -26, - 5, 23, 14, 38, 23, 0, 2, -35, - -5, -5, -13, 25, -10, -10, -29, -11, - -20, -21, -36, -26, -17, -22, -13, -27, - -25, -3, -57, 8, -5, -36, 15, -27, - -17, -12, 2, 4, 1, -7, 6, -4, - ], - [ - 2, -5, 26, 26, 3, 5, 54, -5, - 11, 15, 8, 49, -27, 21, 29, -8, - 8, 22, 3, 9, -9, -1, 7, -11, - 7, 16, 17, 23, 2, 51, 8, -7, - -15, 9, -21, 4, -59, 20, -10, -7, - -44, -2, -37, 25, -19, -6, -12, -21, - -36, -36, -9, -49, -17, 16, -19, 1, - -15, -4, -8, -3, 4, 11, 6, 1, - ], - [ - -12, -24, 11, -0, 15, 72, -5, -2, - -2, -15, 0, 22, 0, 36, 15, 8, - 7, 16, 2, 8, 8, 47, -5, -6, - 2, 16, 8, -3, -22, 49, -15, -11, - 1, 2, -11, 4, 23, -20, -13, -12, - -3, 8, -6, -6, 10, -17, -40, -30, - -13, -13, 3, -12, -29, -6, -8, -19, - -9, -4, 2, 5, 4, -2, 4, -10, - ], - [ - -8, -5, -14, -4, 25, -3, -4, 40, - -17, -16, -6, 31, 11, 32, 32, 19, - -10, -19, 33, 5, 28, 29, 12, 22, - -13, 6, -20, 7, 7, 2, 24, 11, - -5, -1, 3, -15, -4, 3, 7, 2, - -12, -5, -19, -18, -17, 11, -35, 2, - -26, -26, -3, -9, -3, -43, -7, -8, - -11, -5, 2, 5, 3, -5, 3, -2, - ], - [ - -8, -26, -8, 35, 43, 21, 58, 35, - -21, -16, 23, 20, 19, 47, 41, 12, - -4, 2, 3, 26, 39, 41, -5, 18, - -21, -10, 7, 23, 15, 22, 28, 6, - -23, -26, -4, 14, -15, 3, -4, -11, - -53, -16, -28, -2, -0, -10, -7, -14, - -27, -21, -21, -13, 1, 8, -99, -25, - -21, -12, -6, 1, 0, -8, -23, -3, - ], - [ - -10, -2, -11, 16, 5, 23, 47, 49, - -15, -16, -11, -10, 26, 45, 37, 32, - -5, 7, -8, 11, 25, 29, 60, 68, - -19, 9, -8, 17, 11, 6, 19, 1, - -45, -7, -11, -25, -2, -12, 18, 10, - -37, -21, -20, -19, 1, -9, 16, -27, - -17, -16, -22, -16, -4, -10, 8, -98, - -20, -8, -11, -7, -2, -11, 11, -19, - ], - [ - -32, 32, 70, 39, -10, 27, -1, -17, - 57, 85, 41, 76, 45, 65, -17, 8, - -10, 58, 19, 43, 34, 57, 26, 51, - 3, 25, 40, 33, 29, 18, 7, -64, - -31, -28, -10, 39, -33, 8, -68, -50, + -18, -14, -11, 4, -1, 1, 18, 22, + -2, 8, 11, 9, 18, 15, 29, -100, + ], + [ + 8, 28, 46, -0, -10, -21, -13, -13, + -1, 38, 61, 17, 40, -14, -24, -9, + 17, 1, 59, 52, 14, 28, -14, 8, + -9, 13, 41, -0, -7, -8, -14, -2, + -16, -8, 3, -4, 17, -13, -18, -13, + -40, -8, 4, -23, -6, -4, -27, -38, + -18, -35, -2, -6, -3, -12, -12, -5, + -12, -17, 10, 2, 8, -10, 5, -13, + ], + [ + 31, -8, -22, 25, -5, -10, -1, 0, + 22, 35, 46, 40, 42, 10, -14, -3, + 20, 53, 27, 27, 22, 18, -5, -27, + 6, 24, 14, 38, 23, -1, 1, -37, + -3, -4, -13, 25, -10, -10, -30, -12, + -20, -20, -37, -26, -17, -22, -14, -29, + -20, 1, -57, 8, -5, -37, 14, -30, + -15, -10, 2, 5, 1, -8, 5, -7, + ], + [ + 4, -4, 26, 26, 2, 5, 53, -7, + 13, 16, 9, 49, -27, 21, 28, -9, + 10, 24, 4, 9, -9, -1, 6, -13, + 9, 17, 17, 23, 2, 50, 7, -9, + -13, 10, -21, 4, -59, 20, -11, -9, + -43, -1, -37, 24, -19, -7, -13, -22, + -31, -34, -6, -49, -18, 15, -21, -3, + -12, -3, -6, -2, 3, 10, 4, -2, + ], + [ + -13, -25, 11, -0, 14, 73, -4, -1, + -3, -16, 0, 22, -0, 36, 16, 10, + 5, 15, 2, 8, 8, 47, -4, -5, + 1, 15, 8, -4, -23, 50, -14, -9, + -1, 1, -11, 3, 22, -20, -12, -11, + -5, 7, -7, -6, 10, -17, -39, -30, + -16, -15, 2, -12, -29, -4, -6, -15, + -11, -6, 2, 4, 4, -1, 5, -9, + ], + [ + -10, -6, -14, -4, 26, -4, -3, 42, + -18, -16, -6, 31, 11, 32, 33, 21, + -11, -20, 33, 5, 28, 29, 13, 24, + -14, 5, -20, 7, 7, 2, 25, 13, + -7, -2, 2, -15, -4, 2, 8, 3, + -13, -5, -19, -18, -18, 11, -35, 3, + -28, -27, -3, -9, -3, -43, -3, -4, + -13, -6, 1, 5, 3, -5, 4, -1, + ], + [ + -9, -27, -8, 36, 43, 21, 58, 36, + -22, -16, 23, 20, 19, 47, 40, 13, + -4, 1, 3, 26, 40, 41, -6, 19, + -22, -11, 7, 24, 15, 23, 27, 7, + -23, -27, -4, 15, -15, 3, -4, -10, + -54, -17, -28, -2, -0, -10, -8, -14, + -28, -22, -21, -13, 1, 8, -100, -20, + -22, -13, -6, 2, 0, -7, -23, -3, + ], + [ + -10, -2, -11, 17, 6, 24, 47, 49, + -15, -16, -11, -9, 27, 45, 38, 31, + -5, 7, -7, 12, 25, 30, 60, 67, + -19, 9, -8, 17, 12, 6, 19, 0, + -45, -7, -10, -24, -2, -12, 18, 10, + -37, -21, -20, -18, 1, -9, 15, -27, + -18, -17, -22, -15, -3, -10, 8, -99, + -20, -8, -11, -7, -1, -11, 10, -21, + ], + [ + -32, 33, 70, 39, -9, 27, -1, -17, + 57, 85, 42, 76, 46, 65, -17, 8, + -10, 59, 20, 43, 34, 57, 27, 50, + 3, 25, 40, 33, 30, 18, 7, -64, + -31, -28, -10, 40, -33, 8, -68, -50, -6, -100, -50, -45, -15, -40, -45, -39, - -21, -10, -44, -9, -47, -46, -8, -43, - -50, 34, 9, -2, 12, -19, -54, -24, + -22, -11, -44, -9, -46, -46, -8, -44, + -51, 33, 9, -2, 12, -19, -55, -26, ], [ 56, 25, 106, 1, 26, 17, 58, 3, - 43, 32, 85, 89, 50, 93, 50, 20, + 43, 31, 85, 89, 50, 94, 50, 20, 2, 49, 50, -5, 8, -1, -5, 3, - -11, -0, -32, 35, 40, -10, 6, 58, - 6, -16, -2, -25, -0, -9, -36, -41, + -11, -0, -32, 35, 40, -10, 7, 58, + 6, -16, -2, -25, 0, -9, -36, -41, -51, 19, 24, 3, -19, -11, 21, 33, - -46, -4, -26, -70, -42, -22, -45, -1, - -148, -54, -90, -38, -36, -10, -124, -81, + -46, -4, -26, -70, -42, -22, -45, -2, + -145, -54, -90, -37, -36, -11, -125, -82, ], [ 2, -26, 53, -10, 46, 58, 37, 56, - 40, -10, 49, 22, 37, 55, 34, 26, - 17, 40, -17, 85, 3, -17, 27, 28, + 40, -10, 49, 21, 37, 55, 34, 26, + 17, 40, -17, 85, 3, -17, 28, 27, -51, 70, 8, -32, -44, 31, 32, 65, - 25, 11, 7, -3, -40, 24, -0, -5, - -10, -74, -34, -10, -0, -2, 9, -23, - 29, 53, 44, -10, -3, 1, -36, -34, - -219, -79, -90, -78, -13, -19, -20, -110, + 25, 11, 7, -4, -40, 24, -1, -5, + -10, -74, -35, -11, -0, -2, 9, -23, + 30, 53, 44, -10, -3, 1, -36, -34, + -217, -79, -89, -78, -14, -20, -21, -111, ], [ 27, 57, -19, 32, -4, 13, 7, 45, - 38, 15, 36, 22, 108, -25, 38, 17, + 38, 15, 36, 21, 108, -25, 38, 17, -13, -5, 54, -3, 16, -3, 25, 3, -33, -2, -21, -31, 38, 20, 38, 77, -5, 26, 17, -26, 61, -24, 9, 28, 8, 32, 24, -3, -50, -28, 24, -40, - -25, -50, -59, 4, -31, 38, 19, 33, - -134, -80, -29, -60, -67, -15, -59, -106, + -25, -50, -59, 4, -31, 38, 19, 32, + -131, -79, -29, -60, -67, -15, -60, -108, ], [ 54, 15, -25, 36, 42, 4, 40, 28, - 56, 61, 78, 109, 16, 29, 37, 30, - -60, 23, 17, 17, 7, 51, 43, -29, + 56, 61, 78, 109, 15, 29, 37, 30, + -60, 23, 17, 17, 7, 51, 44, -29, 15, -46, 20, -28, -32, -11, -58, 14, 35, -9, 14, 21, 49, -31, 54, -32, -3, -28, -49, -62, 49, 28, 12, -4, - -47, -17, 4, -39, -18, -4, -103, -44, - -85, -21, 21, -94, -56, -17, -12, -63, + -47, -17, 4, -39, -17, -3, -103, -44, + -86, -22, 21, -95, -56, -17, -12, -62, ], [ - -2, 14, -6, -27, -21, -15, -62, 36, - -22, 54, 1, 56, 47, -18, 31, 29, - -32, -7, 35, 0, 6, 0, 32, 0, - -34, 16, 25, -13, -18, 14, -8, 33, - -10, -12, 15, -5, 57, 22, 30, -9, - 16, 9, 17, -32, -32, 8, -11, -28, - 14, 13, -28, -30, -3, -26, 30, 4, - -47, -56, -11, 48, -46, -28, 48, -56, + -2, 13, -6, -27, -21, -15, -62, 36, + -22, 53, 1, 56, 47, -18, 31, 29, + -32, -7, 35, 0, 6, 1, 32, 1, + -35, 16, 25, -13, -19, 14, -8, 33, + -10, -13, 15, -5, 57, 22, 30, -9, + 16, 8, 18, -32, -32, 8, -11, -29, + 14, 13, -28, -30, -2, -26, 30, 5, + -48, -57, -11, 48, -46, -28, 48, -55, ], [ 29, -12, -23, -42, 8, 13, 24, 44, - 60, -4, 6, 50, -18, -14, 56, -23, - 26, -5, 59, 24, 11, 42, 31, 43, + 60, -3, 6, 50, -18, -14, 56, -23, + 26, -6, 59, 24, 11, 42, 31, 43, 9, 3, 17, 43, 40, 68, 63, -18, - -29, 21, -14, 44, 10, -5, -30, -17, - -50, -1, -40, 21, 47, 10, -10, -5, - -69, 4, -31, 36, 3, 25, -41, -23, - -130, -81, -23, -44, -36, -71, -19, -62, + -29, 21, -14, 44, 10, -6, -31, -17, + -50, -1, -41, 22, 47, 10, -10, -5, + -69, 4, -31, 35, 3, 25, -41, -23, + -130, -82, -23, -43, -35, -71, -19, -61, ], [ - -15, 32, -27, 45, 59, -50, 40, 4, - -29, 60, 5, 29, 51, 55, 90, 20, + -15, 32, -26, 45, 59, -50, 40, 4, + -29, 61, 5, 29, 51, 55, 90, 20, 3, 5, 61, 46, 32, 92, 70, -10, - 20, 0, 4, -0, 8, 92, 40, 1, - -5, -19, 5, -73, 24, 80, 12, -6, + 20, 1, 4, -0, 8, 92, 40, 1, + -5, -19, 5, -73, 24, 81, 12, -6, -18, -47, -41, 27, -91, -38, 53, -14, - -59, -45, 19, 33, 13, -5, -20, -4, - -205, -72, -65, -14, -101, -5, -13, -139, + -59, -45, 19, 34, 13, -4, -20, -5, + -206, -73, -65, -14, -101, -5, -14, -141, ], ]; internal static readonly short[][] EndGameRookTable = [ [ - 6, 29, 7, -17, 21, -5, -11, 3, - -27, -17, 18, 6, 2, -16, 7, 7, - -11, 8, 9, -3, 4, -0, -22, 9, - 1, -8, -17, -13, -7, -14, 11, -4, - -25, 18, 20, 15, 15, 9, 3, 11, - -34, 17, -5, -2, 4, 11, 4, 17, + 7, 29, 7, -17, 21, -5, -10, 3, + -27, -16, 18, 6, 2, -16, 7, 7, + -11, 8, 9, -3, 4, -0, -21, 9, + 1, -8, -17, -13, -7, -15, 11, -4, + -25, 18, 20, 15, 15, 9, 3, 10, + -35, 17, -5, -2, 4, 11, 4, 17, -22, 22, 24, 10, 12, 8, 1, 3, - -37, 0, -7, -15, -15, -20, -9, 11, + -37, 0, -7, -15, -15, -20, -9, 10, ], [ - 20, 32, 8, 25, -2, 13, 20, 14, - 6, -4, 5, 17, 11, 5, 19, 20, - -20, 11, 2, -2, -26, 7, -31, 21, - -4, -15, 17, 3, -6, -12, -15, 9, - -5, -15, 15, 24, 4, 8, -15, 10, - -14, 16, 2, 15, -17, -3, 4, 5, - -36, -11, -1, 12, -4, 2, 5, 0, - -44, -116, 11, 12, -4, -10, -6, 11, + 19, 32, 8, 25, -2, 13, 20, 14, + 5, -4, 5, 17, 11, 5, 19, 20, + -21, 10, 2, -2, -25, 7, -31, 20, + -5, -15, 17, 3, -6, -12, -15, 9, + -6, -16, 15, 24, 4, 7, -15, 9, + -13, 16, 2, 15, -17, -4, 4, 5, + -33, -11, -1, 12, -4, 2, 5, -0, + -36, -116, 11, 12, -4, -10, -6, 11, ], [ - 7, 12, 41, 35, 9, -0, 11, 26, - 24, 12, -19, 45, 6, 7, 22, 21, - -4, -7, -18, 2, -22, -15, -7, 1, - -10, 17, 1, 6, -14, -2, -4, 0, - 12, -3, 2, 15, 7, 11, 2, 7, + 6, 11, 41, 35, 9, -0, 11, 26, + 23, 12, -19, 45, 6, 7, 22, 21, + -5, -7, -18, 2, -22, -15, -7, 1, + -11, 16, 1, 5, -14, -3, -3, 0, + 11, -3, 2, 15, 8, 11, 2, 6, -17, -8, 2, 6, 5, 14, -8, 27, - -13, -37, -34, 4, -6, 11, 10, 4, - -32, -37, -155, 12, -3, -8, 7, 18, + -11, -36, -34, 4, -6, 11, 10, 3, + -27, -33, -155, 12, -3, -8, 7, 17, ], [ - 10, 37, 8, 47, 25, -10, 23, 30, - 12, 16, -1, 7, 31, -12, -10, 16, - -17, -8, -5, -3, -6, -4, -8, 4, + 10, 37, 9, 47, 25, -10, 22, 29, + 12, 16, -0, 7, 31, -12, -10, 16, + -17, -8, -5, -3, -6, -4, -9, 3, -12, -6, -15, 32, 1, -3, -21, 10, - 1, 2, 13, 15, -9, -11, 6, -3, - 1, 14, 7, 21, -6, -3, -1, 11, - 2, -6, -15, 24, -6, -12, -8, -5, - -15, -20, -19, -100, -12, -17, -24, 7, - ], - [ - 32, 21, -9, 9, 3, 41, 7, -2, - 32, 33, 13, 27, 18, 20, 15, 2, - 34, 8, -4, -15, -4, -8, 15, -22, - 21, -2, 14, -0, -9, -8, -11, 7, - 30, 7, 15, 2, 10, -19, 10, -20, - 29, 5, 13, 5, -1, -5, -0, -12, - -2, 12, -18, -23, -22, -12, -13, -24, - 4, -11, -3, -23, -138, -28, -15, -32, - ], - [ - 32, 25, 8, 8, 1, 20, 28, 1, - 23, 20, 9, 12, 3, -6, -8, 1, - 8, 12, 8, -1, -5, -6, -2, 0, - 11, 11, 5, -10, 4, -5, -8, 0, - 17, 29, -7, 3, 9, 7, 8, -12, - 5, 11, 11, 1, 12, -9, -14, -6, - 6, 29, 2, -13, -16, -17, -34, -24, - 3, 5, -3, 3, -6, -133, -29, -36, - ], - [ - 24, 22, 20, 11, 4, 4, 4, 16, - 16, 21, 16, 19, 11, 4, 3, 4, + 2, 3, 13, 15, -10, -11, 6, -3, + 2, 14, 7, 21, -6, -4, -2, 10, + 4, -5, -15, 23, -6, -13, -8, -6, + -11, -19, -17, -100, -13, -17, -24, 6, + ], + [ + 32, 21, -10, 9, 3, 41, 7, -1, + 32, 33, 12, 26, 17, 19, 15, 2, + 34, 7, -4, -16, -5, -9, 15, -21, + 21, -2, 14, -1, -9, -8, -10, 9, + 30, 6, 15, 2, 9, -19, 10, -19, + 29, 5, 13, 4, -1, -4, 1, -11, + -4, 11, -19, -24, -22, -12, -11, -21, + 4, -12, -4, -23, -138, -25, -13, -28, + ], + [ + 31, 25, 8, 8, 1, 19, 27, 1, + 23, 20, 9, 12, 3, -7, -8, 0, + 8, 12, 8, -1, -5, -6, -2, -1, + 11, 11, 5, -10, 4, -5, -9, -0, + 16, 29, -7, 3, 9, 7, 7, -13, + 4, 11, 11, 0, 11, -9, -13, -6, + 5, 29, 2, -13, -16, -17, -33, -22, + 2, 5, -3, 3, -6, -133, -25, -31, + ], + [ + 24, 22, 20, 11, 4, 3, 4, 15, + 16, 20, 16, 19, 11, 4, 3, 3, 15, 2, 6, 1, -5, -17, -21, -7, - 11, 7, 4, -5, 1, 2, 7, 2, - 13, 14, 5, 4, 12, 12, -5, -2, - 16, 11, 9, 9, 5, 8, -3, -22, - 5, 7, 3, 4, 3, -6, -27, -33, - 13, 9, 5, 4, 1, 3, -235, -42, + 11, 7, 4, -5, 1, 2, 7, 1, + 13, 14, 5, 4, 12, 12, -5, -3, + 15, 11, 9, 9, 5, 8, -3, -21, + 4, 7, 3, 4, 3, -6, -27, -31, + 12, 8, 4, 4, 1, 3, -235, -35, ], [ 8, -2, 18, 15, -6, 1, 11, -15, - 8, -2, -6, 9, -6, -7, -14, 8, + 8, -2, -5, 9, -6, -7, -14, 9, 7, 3, 5, -9, -10, -17, -27, -27, - 5, -3, -2, -9, -10, -2, -3, -27, - 15, 19, -2, -9, -12, 17, 14, 20, - 26, -2, 9, 5, -0, 14, -6, -20, - 5, 7, 10, -1, 16, 9, 3, -36, - 26, 21, 6, 17, 6, 5, 31, -110, + 6, -3, -2, -9, -10, -2, -3, -27, + 15, 19, -2, -9, -12, 17, 14, 21, + 26, -2, 9, 5, -0, 14, -6, -21, + 4, 7, 10, -1, 16, 9, 3, -36, + 25, 20, 6, 17, 6, 5, 31, -110, ], [ - -8, -5, -19, 6, 17, 5, 7, 6, - -5, -9, -22, -3, -10, 7, 17, 13, + -8, -5, -19, 6, 17, 5, 7, 7, + -5, -9, -22, -3, -9, 7, 17, 13, -20, -3, -12, -15, -9, -4, 13, 6, 0, 5, -2, 11, 17, 12, 5, 10, - -10, 11, 10, 15, -6, 15, 13, 5, - 1, 3, -2, 10, 4, -1, 8, 8, - -14, 15, -8, 7, -5, -1, -9, -8, + -10, 11, 11, 15, -6, 15, 13, 5, + 1, 3, -2, 10, 5, -1, 8, 8, + -15, 15, -8, 7, -5, -1, -8, -8, -15, -8, -13, -7, -11, -17, -6, 3, ], [ - 9, 13, 13, -4, 16, 0, -6, 11, - 3, -5, -12, -3, -10, 11, 9, -1, - 6, -11, -9, 3, 5, 16, 4, 11, - 2, -10, 0, -3, 1, 11, 3, 7, - -0, 10, 12, -0, 12, 9, 13, 8, - -7, 4, -2, 5, 0, 2, -15, -6, - -6, -11, 15, -10, -5, 4, -28, -6, - -6, -4, -23, -10, -11, -20, -10, 4, + 9, 13, 13, -5, 16, 1, -5, 12, + 2, -6, -12, -3, -10, 11, 9, -1, + 5, -11, -9, 3, 5, 16, 5, 11, + 1, -10, 1, -3, 1, 11, 3, 7, + -1, 10, 12, -1, 12, 10, 13, 9, + -7, 4, -1, 5, 0, 2, -14, -6, + -7, -11, 16, -10, -5, 4, -28, -6, + -7, -5, -23, -10, -11, -20, -10, 4, ], [ - 15, 11, 8, -11, -3, -24, -27, 11, - 4, 12, 11, -16, 19, -8, 0, 11, - 10, 0, 13, -2, 2, -5, 4, 9, - 6, 4, 7, 6, 2, -13, 7, 9, - 7, 1, 13, 7, 25, -10, 12, 2, - 4, 4, 21, -16, 4, -3, -9, -12, - -1, -4, -0, 17, -2, -30, -6, -17, - -11, -1, -1, -8, -17, -34, -3, -3, + 15, 11, 8, -10, -3, -24, -26, 11, + 4, 11, 11, -16, 19, -8, 1, 11, + 9, 0, 13, -2, 2, -5, 5, 9, + 5, 4, 7, 6, 2, -13, 7, 9, + 7, 0, 13, 7, 25, -10, 12, 2, + 4, 3, 21, -16, 4, -3, -9, -12, + -2, -4, -1, 17, -2, -30, -6, -17, + -12, -2, -1, -8, -17, -33, -3, -4, ], [ - 18, 23, 5, -3, -9, -29, -6, 11, - 13, 23, 13, -2, 3, -7, 10, 6, - 11, 14, 12, -0, -9, -15, 7, 6, - 5, 12, 15, 5, 14, -21, 15, 5, - 6, 11, 14, -0, -3, 9, 15, -4, + 19, 23, 5, -2, -9, -29, -6, 11, + 13, 23, 13, -2, 3, -7, 9, 6, + 11, 14, 12, -0, -8, -15, 7, 6, + 5, 12, 15, 5, 14, -21, 14, 4, + 6, 11, 14, -0, -2, 9, 15, -5, -5, -5, 1, -8, -15, 5, -3, -9, - -19, -8, -8, -2, 1, -8, -9, -11, - -11, -3, -7, -14, -32, -29, 1, 2, + -19, -7, -8, -2, 1, -8, -9, -11, + -11, -3, -6, -14, -32, -29, 1, 1, ], [ - 16, 14, 11, 2, -3, -1, -0, -8, - 18, 18, 18, -2, 5, -5, 0, -2, - 15, 17, 1, 8, 3, -8, 3, -4, - 19, 5, 20, 6, 6, 4, -7, -7, - 8, 8, 10, 9, 9, -2, -9, -10, - 1, -8, -2, 1, 1, -20, -4, -19, - -3, 1, -5, -2, -7, -11, -14, -18, - -9, -7, -8, -9, -15, -25, -3, -3, + 16, 14, 12, 2, -3, -1, -0, -9, + 18, 18, 18, -2, 5, -5, -0, -3, + 16, 17, 2, 8, 3, -8, 3, -5, + 19, 5, 20, 7, 7, 4, -8, -8, + 8, 8, 10, 9, 9, -2, -9, -11, + 1, -7, -2, 1, 1, -20, -5, -19, + -3, 1, -5, -2, -7, -11, -15, -18, + -9, -7, -7, -9, -15, -25, -4, -4, ], [ 16, 21, 7, -15, -17, -11, -13, -20, @@ -2170,273 +2170,273 @@ internal static class TunableEvalParameters 7, 4, 3, -2, -16, -10, 8, -17, 15, 12, 1, -6, 6, 2, 4, -13, 12, 15, 2, -4, 15, 11, 6, -4, - 14, 7, 10, -5, 1, 4, -3, -9, + 14, 7, 10, -5, 1, 4, -2, -9, 3, -2, 1, -4, -5, -9, 49, -10, - -13, -7, -10, -11, -11, -17, 11, -6, + -13, -7, -10, -11, -11, -17, 11, -7, ], [ - 8, 7, 11, -10, 1, -9, -7, -19, + 8, 7, 11, -10, 1, -9, -8, -19, 1, 8, 8, 11, -6, -1, -6, -19, - -2, 1, 1, 0, -5, -10, -15, -25, - 6, -7, 8, -5, -2, 10, 10, -3, + -2, 1, 1, 0, -5, -10, -14, -25, + 6, -6, 8, -5, -2, 10, 11, -3, 12, -2, 1, 22, 11, 21, 2, -5, 7, -4, -2, 5, -5, 10, 1, 20, - -7, 1, 2, -1, -2, 8, 0, 39, - -19, -10, -6, -10, -9, -4, 6, -20, + -8, 1, 2, -1, -3, 8, 0, 39, + -20, -10, -6, -10, -9, -4, 6, -21, ], [ 1, 6, -15, 17, 7, -23, -19, -2, -38, -18, -6, -4, -23, -38, -4, -23, - -5, -2, 28, 12, -6, -15, -19, -24, + -5, -2, 28, 13, -6, -15, -19, -24, 6, 18, 5, 13, 5, -23, -2, 7, 19, 51, 25, 17, 6, -2, 21, 8, - -6, 40, 27, 32, 34, -3, 4, -6, + -7, 40, 27, 32, 34, -3, 4, -6, -23, 17, 23, 1, -4, -18, -47, -28, - 5, -16, 2, 9, -12, -15, 17, 2, + 5, -16, 2, 9, -12, -15, 16, 1, ], [ -26, -8, 13, -1, -28, -29, -38, -14, -17, 17, 7, -28, -12, -18, -25, -21, - 7, 18, 11, 3, -1, -12, -8, -24, - 17, 47, 28, 27, -16, -9, -7, -21, + 8, 18, 11, 3, -0, -12, -8, -24, + 18, 47, 28, 27, -16, -9, -7, -21, 13, 22, 20, 15, 21, 14, 19, 8, - -1, -22, 19, 10, -2, -14, 13, -45, + -1, -22, 20, 10, -2, -14, 13, -45, 23, 5, 24, 26, 4, -27, -17, -57, - 24, 10, 55, 4, 5, -31, 19, 11, + 23, 9, 55, 4, 5, -30, 19, 11, ], [ -23, 9, 16, 15, -15, -54, -37, -12, -32, 14, 18, 18, -22, -16, -29, -19, -11, -4, 8, -2, -26, -2, -18, -6, 16, -2, 22, 42, 9, -25, -19, -8, - -32, 8, 22, 32, 13, 9, -28, 2, - -5, 20, 4, 30, -13, 11, -20, -10, + -31, 8, 22, 32, 13, 9, -27, 1, + -5, 20, 5, 30, -13, 11, -20, -10, -21, -17, 9, 29, -20, 9, 3, 6, - 47, 36, 20, 50, -10, -24, -1, 37, + 46, 36, 20, 50, -10, -24, -1, 36, ], [ -14, -19, 13, 16, 11, -34, -18, -20, -34, -5, 20, 22, -9, 8, -18, -15, - 2, -5, -13, 4, 8, 6, -10, -13, + 2, -4, -13, 4, 8, 6, -10, -13, -2, 6, 27, 31, 23, 3, -6, -17, - -25, -23, 3, -0, 9, 5, 15, -18, - -4, -25, 8, -4, 38, 7, -4, 14, - -16, -1, 4, -5, 29, -8, -20, -36, - 11, 16, 17, 9, 52, -21, 12, 13, + -25, -23, 3, -0, 9, 6, 15, -18, + -4, -25, 8, -4, 39, 7, -4, 14, + -16, -1, 4, -5, 29, -8, -20, -37, + 10, 16, 17, 9, 52, -21, 12, 13, ], [ - -15, -1, 30, 4, 7, -24, -19, -17, + -15, -1, 30, 5, 7, -23, -19, -17, -20, -11, 1, -16, 42, -5, -25, -32, 13, -3, 26, 0, 28, -4, -13, 7, -14, 20, 30, 3, 16, -13, 6, -19, -25, -6, 15, 0, 1, 10, -17, 5, - -22, -13, 32, 30, 11, -13, -16, -11, - -20, -6, 6, 14, -13, -15, 5, -2, - -2, 2, 6, 38, 24, 1, -14, 10, + -22, -13, 32, 30, 11, -13, -16, -10, + -21, -6, 6, 14, -13, -15, 5, -2, + -3, 2, 6, 38, 23, 1, -14, 9, ], [ -1, 11, -0, 8, -6, 33, 27, -45, -1, 3, 17, -5, 6, 13, -18, -21, - 2, 1, -17, 9, -14, 10, 1, -6, - -19, -7, -0, 4, 0, 5, 28, -11, + 2, 1, -17, 10, -13, 10, 1, -6, + -19, -7, -0, 4, 0, 6, 29, -11, -12, 2, 4, 10, 8, 3, -1, 4, - -37, 0, -4, 15, 10, -23, 14, -11, - -17, -10, 20, 16, 16, 1, -3, -19, - -19, 15, -8, -24, 12, 8, 11, 8, + -38, 0, -4, 15, 10, -23, 14, -11, + -17, -11, 20, 16, 16, 1, -3, -19, + -19, 15, -8, -24, 12, 7, 11, 8, ], [ - 3, 3, -9, -6, -13, -3, 1, -24, - -15, -4, 1, 18, 0, 29, -9, -3, + 3, 3, -9, -5, -13, -3, 1, -24, + -15, -4, 1, 18, 0, 29, -9, -2, -15, 10, -13, 14, -2, 3, 12, -24, - 3, 2, -12, 18, -16, -8, 4, -3, - 8, 6, 8, 3, 8, 12, 13, -17, + 3, 2, -12, 18, -16, -8, 3, -3, + 8, 6, 8, 3, 8, 12, 12, -16, 8, 5, 15, 19, -36, 21, -6, 7, - -5, -17, 8, -21, -13, -13, -10, -17, - 11, 14, 6, 17, -8, 14, -9, 27, + -5, -17, 8, -21, -13, -12, -10, -17, + 10, 14, 6, 17, -8, 14, -9, 26, ], [ -2, -12, -16, 6, -37, 9, -5, -3, 6, -14, -16, 3, -34, -3, -7, 3, 6, -9, -22, 14, 1, 8, 1, 36, - -2, -2, 4, 20, -4, -1, 3, 9, - -11, -10, -1, 29, -14, -24, 23, -17, - -21, 5, -25, 8, 28, 17, 16, 1, - -2, -8, -35, 9, -25, -15, -11, 5, - 29, 1, -15, 20, 12, 2, 26, 62, + -2, -2, 4, 20, -3, -1, 3, 9, + -11, -10, -1, 30, -14, -23, 23, -17, + -21, 5, -25, 8, 28, 17, 17, 1, + -3, -8, -35, 9, -25, -15, -11, 5, + 29, 0, -15, 20, 12, 2, 26, 61, ], ]; internal static readonly short[][] MiddleGameQueenTable = [ [ - 45, 47, -30, -72, 33, 10, -30, -1, - 23, 18, -6, -29, -10, -19, 36, -15, - 32, 35, 5, -54, -20, -12, 21, 2, + 46, 47, -30, -72, 33, 10, -30, -1, + 24, 18, -6, -29, -11, -19, 36, -15, + 32, 35, 5, -54, -20, -11, 21, 2, 19, 33, 3, 12, -1, 12, -22, -13, - 15, 40, 5, 2, 12, -1, -1, -36, + 15, 40, 5, 2, 12, -0, -1, -35, -10, 0, 6, 1, 0, -4, -3, -24, -15, 6, 3, 0, -7, -3, -15, -36, - 14, -18, 13, -4, 13, 15, -10, -11, + 15, -19, 12, -4, 13, 15, -11, -11, ], [ 29, 28, 49, 11, 7, 27, -15, -47, - -12, 13, 19, -43, -5, -7, -19, -1, + -12, 13, 19, -43, -5, -7, -20, -1, 18, -21, -19, 7, -11, 4, -10, -11, 7, -1, 19, 5, -13, 9, -8, 13, 21, 17, 9, 1, 7, 2, 12, -5, - 3, 11, 4, -4, 5, -3, 4, 11, - -26, 6, 16, 16, 7, 9, 12, 4, - -34, -225, 21, 16, 16, 14, 19, 15, + 3, 11, 4, -4, 5, -3, 5, 11, + -25, 6, 16, 16, 7, 9, 12, 4, + -34, -225, 20, 15, 15, 14, 18, 15, ], [ -23, 4, -42, -18, 3, 1, -40, -18, - -8, -20, -23, -11, -40, -2, -1, 4, + -8, -20, -23, -11, -39, -2, -1, 4, -15, 5, -41, 15, -14, 3, -2, 10, - 13, 12, 1, 7, 4, 18, 11, 12, + 12, 12, 1, 7, 4, 18, 11, 11, 12, 8, 20, 19, 17, 9, 15, 4, - 12, 14, 16, 8, 16, 8, 14, 16, - -1, 16, 28, 24, 17, 14, 13, 0, - -4, 19, -241, 25, 11, 16, 26, 21, + 13, 14, 16, 8, 16, 8, 14, 16, + 0, 16, 28, 23, 16, 14, 13, -0, + -4, 19, -242, 25, 11, 16, 26, 21, ], [ - -11, -30, 9, 61, 71, -22, -44, -14, + -11, -31, 9, 60, 71, -21, -45, -13, -11, -35, -29, -21, 17, -64, -27, -2, 33, 4, -63, 5, 9, -14, 5, -10, 39, 10, 16, 9, 11, 25, 14, 9, - -16, 22, 11, 0, 15, 1, 24, 5, - 8, -6, 15, 2, 13, 11, 15, -2, - -1, 6, 2, 11, -1, 9, 12, 18, - -7, 3, 12, -164, 9, 14, 12, -6, + -16, 23, 11, 0, 15, 1, 24, 5, + 8, -6, 15, 1, 13, 11, 16, -2, + 0, 6, 2, 11, -1, 9, 11, 18, + -7, 4, 13, -164, 9, 13, 11, -6, ], [ - -47, -28, -28, 58, 12, 51, -3, -31, - -4, -40, -33, -35, -10, -9, -24, -5, + -47, -28, -29, 57, 12, 50, -3, -30, + -4, -40, -33, -35, -10, -9, -23, -5, -1, -17, -33, -10, -54, -25, -9, -11, - 15, 13, 22, -12, -14, 6, 3, -1, + 15, 13, 21, -11, -14, 6, 3, -2, 18, 21, 1, 0, -9, 13, 3, 30, - 18, 16, 15, 5, 8, 22, 21, 19, - 20, 32, 30, 23, 19, 12, 29, 7, - 18, 26, 24, 17, -212, 12, 16, 30, + 17, 16, 14, 5, 7, 22, 21, 19, + 20, 32, 29, 23, 19, 12, 29, 9, + 18, 25, 23, 17, -212, 13, 18, 30, ], [ - -32, -22, 52, 11, 32, 18, -36, 19, + -32, -22, 52, 10, 32, 18, -36, 19, -4, -6, -17, 12, -51, -21, 4, 7, - -6, -12, -9, -8, 24, 10, -1, -8, + -5, -12, -9, -8, 24, 9, -1, -9, 1, -1, -14, 10, 16, 32, 12, 17, 11, 1, 11, 2, 12, 10, -1, 9, -4, 6, 16, -2, -5, 11, 6, 4, - -3, -13, 1, 3, 9, 14, -12, 20, - 3, 4, 10, 9, 16, -173, 3, -6, + -3, -14, 1, 2, 9, 14, -12, 22, + 3, 4, 9, 9, 15, -172, 4, -6, ], [ - -10, 11, 37, 31, -7, -0, 46, -25, + -10, 11, 37, 31, -7, -0, 47, -25, 0, -8, -1, -16, -26, -18, -9, 19, - 10, -8, -12, -12, -23, -13, -15, -14, + 10, -8, -11, -12, -23, -13, -15, -14, 16, 17, 7, 3, 2, 13, -4, 10, 11, 14, 6, 1, 4, 5, 8, 13, 11, 7, 8, 2, 1, 15, 18, 15, - 14, 11, 7, 6, 10, 18, 8, -27, - 11, 14, 11, 10, 15, 17, -244, -20, + 13, 11, 7, 6, 10, 18, 8, -27, + 10, 13, 11, 9, 15, 17, -244, -20, ], [ - -15, -44, -13, -26, -35, 3, 2, 31, - 10, 6, 8, 14, -24, -6, 2, 44, + -15, -44, -13, -26, -35, 3, 2, 30, + 10, 6, 8, 14, -23, -6, 2, 44, 4, -11, 3, -24, -18, -10, 29, -19, -3, 5, -7, 7, 5, 35, 17, 15, - -2, -2, -13, -6, 28, -9, 32, 13, + -2, -2, -13, -5, 28, -9, 32, 13, -15, -8, 7, 9, -7, 19, 15, 21, - 2, 7, -2, -9, 4, 3, 26, 21, - 10, 8, 9, 4, 12, 11, 27, -197, + 1, 7, -2, -9, 4, 3, 26, 21, + 10, 7, 8, 3, 12, 11, 27, -197, ], [ -7, 77, 15, 13, 10, 40, 80, 1, - 8, -37, -0, 8, -29, 6, 3, -8, + 8, -37, -0, 8, -29, 5, 4, -8, 2, 5, 15, 6, -14, -26, -23, -57, - 27, -6, -3, 14, 22, -6, 5, -19, + 26, -7, -3, 14, 22, -6, 5, -19, -12, 19, 14, 24, -25, 20, -22, 25, - -21, -9, 15, -24, 7, -2, -13, -10, - -16, -80, 1, 11, -18, -15, -20, 12, - -17, 17, 24, 10, -6, -1, 6, -18, + -21, -10, 15, -24, 7, -3, -13, -10, + -17, -80, 1, 11, -18, -15, -20, 11, + -17, 21, 25, 11, -6, -1, 5, -18, ], [ - -56, -20, -2, -33, 28, 62, 14, 24, - 28, 15, 45, 7, -29, 10, 10, -37, - 35, 16, 41, 17, 9, -34, 17, -10, - -25, -6, 8, 20, 32, -11, 5, -11, + -56, -19, -2, -33, 28, 61, 15, 25, + 27, 15, 45, 7, -29, 9, 10, -37, + 35, 15, 41, 17, 9, -34, 17, -10, + -25, -6, 8, 20, 31, -11, 5, -12, -2, -10, -1, 8, -7, 3, 6, -25, -14, -7, -12, -8, 9, 10, -22, -8, - -26, -27, -33, -11, 1, -9, -4, -1, - 2, -17, -16, 13, -9, 21, 17, 12, - ], - [ - 2, -61, -7, 26, 34, -30, -46, -59, - -13, -43, -53, 29, -5, 18, 20, 15, - -16, -44, -21, 1, 26, 5, -25, 12, - 4, 22, 17, -9, 50, 5, 14, 21, - -10, 21, 22, 33, 29, 26, 9, -19, - 30, 4, 31, 9, 9, 1, 20, -13, - -53, 11, -14, -12, 2, 1, -2, -9, - -7, -4, -22, -0, 8, 11, -4, 7, - ], - [ - -35, -15, -62, -14, 6, -51, -3, -13, - 12, -5, -11, -11, -43, -0, 47, 16, - 8, 27, 9, -37, 12, 15, 15, 20, - -12, 34, 24, 28, 17, 1, 13, 8, - -8, -9, 34, 24, 15, 28, -8, 6, - -13, -1, 1, 12, 5, 4, 17, 41, + -26, -27, -33, -12, 0, -9, -5, -2, + 2, -14, -11, 15, -9, 20, 16, 12, + ], + [ + 2, -60, -8, 26, 33, -30, -46, -59, + -13, -44, -53, 29, -5, 18, 19, 15, + -16, -44, -21, 1, 26, 4, -26, 12, + 4, 21, 17, -10, 50, 5, 13, 21, + -10, 21, 21, 33, 29, 25, 8, -19, + 30, 4, 30, 8, 9, 0, 20, -13, + -53, 11, -14, -12, 1, 1, -1, -9, + -7, -1, -18, 2, 8, 10, -5, 7, + ], + [ + -35, -16, -62, -14, 6, -51, -3, -13, + 12, -5, -11, -11, -43, -1, 47, 16, + 8, 27, 9, -37, 12, 14, 15, 20, + -12, 34, 24, 28, 17, 0, 12, 8, + -9, -9, 34, 24, 15, 28, -8, 6, + -14, -2, 1, 12, 5, 4, 17, 41, -9, -31, 1, -0, -56, -17, -8, 2, - -22, -1, -4, -5, 14, -29, 16, 1, + -22, -2, -4, -6, 16, -25, 19, 1, ], [ - -78, -13, -85, 13, -48, 59, 34, 6, - -13, -19, 14, -35, -12, 42, 17, 0, + -78, -14, -85, 13, -48, 59, 33, 6, + -13, -19, 14, -35, -12, 42, 16, -0, -19, 19, -28, 48, 56, 66, 25, 24, - -3, -4, 11, 2, 47, -15, 19, 1, - -18, -12, 5, 21, 39, 12, 21, -4, - -11, -9, 3, 10, 26, 5, -1, -12, - -2, -3, -6, 9, -7, -114, -16, -15, - -14, -2, 15, 3, -0, -41, 10, -22, + -3, -4, 10, 2, 47, -15, 19, 1, + -18, -12, 5, 20, 38, 12, 21, -4, + -11, -9, 3, 9, 26, 5, -1, -12, + -2, -3, -6, 8, -7, -113, -16, -15, + -14, -3, 14, 3, 2, -37, 13, -23, ], [ - 12, 6, 72, 34, 29, -62, 14, -1, + 13, 6, 72, 34, 29, -62, 14, -2, -26, -14, 26, 15, 22, 6, -13, 46, -16, -11, 1, -14, 22, 24, 4, -1, - -12, 17, 25, 21, 29, 35, 2, 3, + -12, 16, 25, 21, 29, 35, 2, 3, -0, -7, -4, 1, 11, 12, 6, -28, - -15, -15, 0, -1, -14, 22, 9, -23, - -3, -17, -8, -16, 1, 2, -51, 1, - -32, -5, -19, -3, -1, -30, -30, -43, + -15, -16, 0, -1, -14, 22, 9, -23, + -3, -18, -8, -16, 0, 2, -51, 1, + -32, -5, -20, -3, -0, -28, -27, -43, ], [ - -11, -1, 21, 0, 11, 31, 58, 34, - -22, -18, -8, 16, 33, 69, 78, 46, - -17, -22, -7, 4, -5, 30, 10, 4, - -31, -28, -14, -0, 31, 5, 26, 2, - -25, -22, 1, -19, -1, 1, 17, 18, + -11, -1, 21, 0, 11, 31, 59, 33, + -22, -18, -8, 16, 33, 69, 77, 46, + -17, -22, -6, 4, -5, 30, 10, 4, + -31, -28, -14, 0, 31, 5, 26, 2, + -25, -22, 1, -19, -1, 1, 18, 18, -16, -23, -13, -17, -10, 9, 19, 5, -29, -15, -18, -15, -10, 9, -5, -61, -20, -15, -17, -5, -11, -12, -13, -11, ], [ - -7, 23, 2, 33, -18, -38, -13, 17, - 9, 54, 34, -49, 1, -27, -15, -31, - 2, 12, 63, 15, 6, -25, -39, 66, + -7, 22, 2, 32, -18, -38, -13, 17, + 9, 55, 35, -49, 1, -26, -14, -31, + 2, 12, 64, 15, 6, -25, -39, 66, -67, 16, -26, 41, 55, -2, 37, -14, - -37, 28, 12, 34, -48, -39, -9, -12, - -19, 21, 8, 42, 11, 12, -34, -51, - -52, -19, 36, 18, 18, -46, 15, 49, - -46, -66, 12, -1, 33, 2, 14, 2, + -37, 28, 12, 34, -48, -40, -9, -12, + -19, 21, 8, 42, 10, 11, -34, -51, + -52, -20, 36, 19, 18, -46, 14, 49, + -46, -67, 11, -1, 33, 2, 14, 2, ], [ -3, -44, 12, 5, 12, -23, -20, -51, - 21, 13, 8, -14, 17, -29, 18, -18, - 7, 15, 44, 3, 0, 4, -33, -17, + 20, 13, 8, -14, 17, -29, 18, -18, + 7, 15, 44, 4, 0, 4, -33, -17, 33, 8, 55, 52, -14, 3, 6, -43, 28, 25, -14, 58, 55, 7, 60, 13, 12, 31, -8, -12, 31, -15, -20, -28, - -11, -27, 22, -5, -42, -25, 16, -4, - 23, -21, -31, -63, -14, -42, 4, -30, + -11, -27, 22, -6, -42, -25, 16, -4, + 23, -21, -30, -62, -14, -42, 3, -30, ], [ -16, -79, -29, 17, -20, -69, -12, -3, @@ -2444,49 +2444,49 @@ internal static class TunableEvalParameters -1, 22, 6, 29, 3, -10, 16, 23, -6, 9, 37, 35, 37, 14, -5, -2, 54, -16, 32, -19, 6, 24, -2, 56, - 32, 2, 7, -8, 14, 5, -23, -38, - 11, 6, -46, -36, -8, 15, 29, 20, - 25, 33, -10, -76, -17, -0, -24, -17, + 32, 2, 7, -8, 14, 6, -23, -38, + 11, 5, -46, -36, -8, 15, 29, 20, + 25, 33, -10, -75, -17, -0, -24, -17, ], [ - -19, -9, -34, -4, 31, -30, 32, -3, - 6, -7, 41, 6, 2, 10, 6, 4, - 16, 10, 36, -23, -14, -2, 5, -3, - 56, 35, 6, 17, -35, 26, 19, -7, + -19, -8, -34, -4, 30, -30, 32, -3, + 6, -7, 41, 6, 2, 10, 5, 4, + 16, 10, 36, -23, -14, -3, 5, -3, + 56, 35, 6, 17, -35, 26, 19, -6, -15, -10, -14, -26, 16, 26, 61, -10, - -3, 13, -17, 23, -84, -63, -13, 4, - -30, -5, -6, 1, -19, 22, 17, -22, - 7, 18, 20, -97, -9, 31, 3, 8, + -3, 13, -17, 23, -84, -62, -13, 4, + -30, -5, -5, 1, -19, 22, 17, -22, + 6, 18, 20, -96, -9, 30, 3, 8, ], [ - -22, -14, 7, 0, -31, -21, -7, 0, + -22, -14, 7, 0, -31, -20, -7, 0, 21, -38, -7, 28, -18, 20, 6, 13, -19, 50, -21, -13, -16, 34, 14, 52, -10, -12, 33, 2, -2, 4, -18, 45, - 9, -26, 37, -4, 12, 7, 3, -22, + 9, -26, 37, -3, 12, 7, 3, -22, 1, -12, -20, -11, -29, -5, 25, 34, 5, -40, 29, -34, -32, 18, -6, 40, -33, 30, -7, -68, -20, 18, 12, 27, ], [ - -61, -13, -20, -5, 12, -7, -35, -27, - -51, 35, -3, -2, 14, 37, 48, -4, - -3, 4, 40, -21, 5, 27, -20, 5, + -61, -13, -20, -5, 12, -7, -35, -26, + -51, 35, -3, -1, 14, 37, 48, -4, + -3, 4, 40, -21, 5, 26, -20, 5, 11, 2, -5, 2, 9, 16, 32, 12, -5, 0, -17, -5, 22, 53, -40, -15, -30, 10, 4, 18, 0, -34, 38, 10, 15, 53, -23, -23, 3, -5, -1, 28, - -42, -18, -30, -33, 29, -11, 1, 21, + -42, -18, -30, -33, 29, -11, 0, 21, ], [ - 10, 19, 12, 44, -22, 17, -39, 29, - -28, -37, -14, -18, 12, 42, -30, -13, + 10, 19, 12, 44, -21, 18, -39, 29, + -28, -38, -14, -18, 12, 42, -30, -13, 1, 17, -0, 1, -5, 37, 18, -14, - -40, 42, 6, -2, -24, -4, 48, -11, - -72, 6, 17, 20, 23, 69, -24, 1, - 2, -22, -6, 4, -10, 6, -13, -5, - 30, 16, -36, -20, 28, -8, 5, -26, - -35, -10, -5, -29, 12, 33, -3, 0, + -40, 42, 6, -2, -25, -4, 47, -11, + -72, 5, 17, 20, 24, 69, -24, 1, + 2, -22, -6, 4, -11, 6, -14, -5, + 30, 16, -36, -20, 28, -8, 5, -27, + -35, -10, -5, -29, 13, 33, -3, 0, ], [ 40, -21, -40, 10, 50, -2, 26, -27, @@ -2495,7 +2495,7 @@ internal static class TunableEvalParameters 5, -6, 16, 10, 23, 40, 14, 50, -50, -11, 0, 14, 70, 6, 6, 12, -34, -41, -13, 26, 59, -32, 33, -21, - 5, -9, 5, -55, -31, -13, 4, 28, + 5, -9, 5, -55, -30, -13, 4, 28, -72, 13, -30, -51, -62, 9, -11, -22, ], ]; @@ -2503,190 +2503,190 @@ internal static class TunableEvalParameters internal static readonly short[][] EndGameQueenTable = [ [ - -10, -40, 34, 50, -74, -31, -13, -5, + -10, -40, 34, 50, -74, -32, -13, -5, -33, 6, -1, 23, -12, -3, -54, 10, - -12, -40, 3, 63, -10, -24, -37, -43, + -12, -40, 3, 63, -11, -25, -37, -43, 30, 18, 33, -2, 32, -1, 20, 26, - 2, -8, 30, 18, 13, 20, -8, 38, - 14, 18, 17, 9, 10, 7, -1, 64, - -75, -43, 7, 15, 12, -4, 20, 65, - -109, 5, -33, -3, -17, -65, 23, 57, + 2, -9, 30, 18, 13, 20, -8, 38, + 14, 17, 17, 9, 9, 7, -1, 64, + -75, -43, 7, 15, 12, -5, 20, 65, + -107, 5, -32, -3, -17, -65, 24, 57, ], [ - -24, 21, -36, 5, -45, -11, -5, 62, - 36, -31, 6, 26, 19, -22, 22, 4, + -24, 21, -36, 5, -46, -11, -5, 62, + 36, -30, 6, 26, 19, -22, 22, 4, -14, 30, 52, -4, 26, -35, 1, -1, 45, 67, 1, 32, 61, -2, 35, -28, - -18, 33, 32, 37, -6, 5, 5, 6, - -16, -6, 34, 12, -9, 11, -1, -20, - -9, -41, -23, -5, 4, -19, -25, 19, - 26, -218, -44, -31, -17, -9, -2, 2, + -19, 34, 32, 37, -6, 5, 4, 6, + -16, -6, 34, 12, -9, 11, -1, -21, + -9, -41, -23, -5, 4, -19, -25, 20, + 26, -218, -44, -31, -16, -8, -2, 2, ], [ 30, 6, 32, 50, -5, -11, 11, -29, - 6, 41, 48, 22, 45, -25, -6, 20, - 67, -2, 74, -20, 38, 23, -21, -20, - 51, 42, 67, 38, 47, -3, 8, -4, + 6, 41, 48, 22, 45, -26, -6, 20, + 67, -2, 74, -21, 38, 23, -21, -20, + 51, 42, 67, 38, 46, -3, 8, -4, 26, 32, -4, 14, -16, -15, -16, -11, -37, 16, 7, 21, -15, 25, -5, 17, - -29, -39, -42, -11, -2, -13, -8, 4, - -35, -101, -232, -67, -4, -41, -10, -27, + -30, -39, -42, -11, -1, -13, -8, 4, + -34, -101, -232, -67, -4, -40, -9, -27, ], [ - -9, 52, 14, -26, -20, -7, 51, -47, - -28, 74, 72, 43, -11, 57, 24, -11, - -49, 33, 100, 1, 37, 25, 2, 2, - -37, 23, 18, 31, 0, 3, -6, -6, - 31, 9, 18, 14, 16, 61, -34, 6, - -19, 6, 15, 9, 3, -3, -13, 11, - -34, -40, -22, -29, -6, -27, 2, -34, - 19, -33, -71, -157, -61, -55, 4, 7, + -8, 52, 15, -26, -21, -8, 51, -47, + -28, 75, 72, 43, -11, 57, 24, -11, + -49, 33, 100, 0, 36, 25, 2, 1, + -37, 22, 18, 31, 1, 3, -6, -6, + 32, 9, 18, 14, 16, 61, -34, 6, + -18, 6, 15, 9, 3, -3, -13, 11, + -33, -39, -22, -29, -6, -27, 2, -34, + 19, -34, -71, -157, -61, -55, 5, 6, ], [ - 48, 50, 46, -15, 36, -45, 27, 6, - -11, 27, 25, 48, 17, 20, 17, 21, - 19, 38, 30, 50, 53, 34, 4, 5, + 47, 49, 46, -14, 36, -45, 28, 5, + -11, 27, 25, 48, 17, 21, 17, 22, + 19, 38, 31, 50, 54, 34, 5, 4, -17, -15, 29, 66, 83, 24, 13, 35, - -21, -10, 17, 61, 35, 26, 35, -40, - -17, -26, 2, 20, 28, -2, -40, 7, - -40, -60, -58, -27, -35, -15, -80, -1, - -6, -57, -49, -39, -231, -65, -28, -53, + -21, -10, 17, 61, 36, 26, 35, -41, + -16, -25, 2, 20, 29, -2, -40, 7, + -40, -60, -57, -27, -35, -15, -80, -3, + -7, -57, -49, -40, -232, -66, -29, -52, ], [ - 21, 11, -31, -17, 1, -15, 6, -25, - -38, -24, -14, 14, 49, 24, -10, 0, - 21, -29, -10, 22, -14, -26, 1, 21, - -19, 38, 27, 15, 20, 5, 55, 20, - -25, 9, 13, 38, 48, 20, 53, 12, - 17, -12, -1, 21, 40, 35, 13, 10, - -28, 11, 18, 33, 5, -39, 1, -37, - -39, -27, -16, -23, -24, -217, -40, 35, + 21, 12, -31, -17, 2, -15, 6, -25, + -38, -24, -14, 13, 49, 24, -9, 0, + 20, -29, -10, 22, -14, -26, 1, 21, + -20, 38, 27, 15, 19, 6, 55, 20, + -25, 9, 13, 38, 48, 20, 53, 11, + 17, -12, -1, 21, 40, 35, 14, 10, + -28, 11, 18, 33, 5, -39, 1, -38, + -39, -28, -16, -23, -24, -217, -40, 36, ], [ - 17, -12, -37, -38, 17, 1, -32, 34, - 3, -8, -2, 7, 29, 26, 15, -4, - -5, -0, 2, 11, 25, 33, 50, 29, + 17, -12, -37, -38, 16, 1, -32, 34, + 2, -8, -2, 7, 29, 26, 15, -4, + -6, -0, 2, 11, 25, 33, 50, 29, 1, -4, 10, 15, 33, 15, 53, 16, 15, 4, 5, 9, 16, 22, 22, 20, - -0, 3, 3, -2, 2, 11, 4, -20, + -0, 3, 2, -2, 2, 12, 4, -20, -3, 15, 8, 9, 9, -34, -45, 10, 22, 9, 5, 12, -6, -34, -399, 10, ], [ - 20, 30, 21, 11, 39, -1, -24, -30, - -37, -39, -20, -30, 17, 1, 4, -60, - -12, -20, -26, 16, 17, 70, -24, 44, + 20, 30, 21, 11, 40, -1, -24, -29, + -37, -39, -20, -30, 17, 1, 3, -60, + -12, -20, -26, 15, 17, 70, -24, 44, 25, 12, 14, 3, 34, 1, 14, -1, -15, 4, 49, 9, -15, 63, -4, 13, 13, -15, 4, -20, 15, 8, 13, -18, 2, 16, 13, 49, 26, 20, -39, -68, - 33, -6, 6, 15, 1, -11, -29, -200, + 32, -6, 6, 14, 1, -11, -29, -200, ], [ - 14, -62, -12, 2, -37, -25, -83, -5, - 5, 22, 19, -2, 35, -17, -18, -20, + 14, -62, -12, 3, -37, -25, -83, -5, + 5, 22, 19, -2, 34, -16, -19, -20, 16, 25, 22, 31, -13, 18, -10, 49, 2, 39, 48, 34, 9, 16, -2, 30, 49, 21, 35, 19, 53, 10, 25, -18, - -38, -1, 8, 57, -2, 15, 14, 36, + -38, -1, 8, 57, -2, 14, 14, 37, -60, -26, -23, -4, 0, 21, 26, -26, - -42, -145, -84, -40, -5, -15, 0, 7, + -42, -148, -85, -41, -4, -14, 1, 6, ], [ - 52, -6, -4, 58, 13, -57, -34, -44, - -6, 11, -21, 16, 37, -52, -38, 47, - -42, 5, -17, 7, -0, -6, -42, -20, - 29, 49, 22, 56, 14, 24, 15, 4, - 7, 31, 46, 22, 41, 3, 0, 35, - -1, 8, 44, 33, 17, 9, 43, 23, + 52, -6, -4, 57, 13, -56, -34, -44, + -6, 11, -21, 16, 37, -51, -38, 47, + -42, 5, -17, 7, -0, -5, -42, -20, + 29, 49, 22, 56, 14, 24, 14, 4, + 7, 31, 47, 22, 41, 3, 1, 36, + -1, 8, 45, 33, 17, 9, 43, 23, 22, -9, -19, 13, -5, -19, -9, -19, - -52, -78, -23, -104, -44, -52, -20, -14, + -51, -80, -26, -104, -44, -52, -19, -14, ], [ - -10, 28, 19, -37, 8, 16, 18, 53, + -10, 28, 19, -37, 8, 16, 18, 52, 3, 57, 67, -7, 39, -23, -57, -3, - 25, 56, 23, 14, 21, 9, -23, 13, - 12, 3, 54, 65, 20, 29, 16, -16, - -2, -2, 17, 30, 15, 27, 3, 11, - -49, -21, 5, 7, 17, 17, -18, -3, - 19, -80, -20, -58, -19, -14, -44, 5, - -38, -40, -43, -82, -77, -55, 14, -12, + 25, 56, 23, 14, 21, 9, -23, 14, + 12, 3, 54, 65, 21, 29, 16, -16, + -2, -2, 17, 29, 15, 27, 3, 10, + -49, -22, 5, 7, 17, 17, -18, -3, + 20, -80, -20, -58, -18, -14, -44, 5, + -38, -41, -46, -81, -77, -54, 15, -12, ], [ 67, 32, 71, 51, -17, 36, -1, 9, - -14, -3, 8, 21, 47, -2, -56, -16, + -14, -3, 8, 21, 47, -2, -56, -17, 17, -25, -5, 54, -4, -5, -31, -41, - 23, 2, 10, 31, 26, 52, -9, 2, + 23, 3, 10, 31, 26, 53, -9, 2, 39, 38, 5, 29, 50, 14, 39, 4, - 2, -15, 20, -8, 21, 21, -17, -76, - -7, 36, -11, -39, 2, -21, -4, -69, - 9, -42, -41, -57, -109, -20, -72, -50, + 3, -15, 20, -8, 21, 22, -17, -76, + -7, 36, -11, -39, 2, -21, -3, -69, + 9, -42, -41, -57, -110, -23, -75, -49, ], [ - 34, 18, 37, 5, 40, -50, -41, -12, + 34, 19, 37, 5, 40, -50, -41, -12, -2, -31, -17, 23, 59, -42, -35, -12, - 14, -31, 13, -29, -25, -51, -19, -18, - 4, 20, 1, 16, -10, 40, 14, 15, - 1, 17, 16, 12, 8, 19, 15, 44, - 17, -3, 23, 3, -12, 8, 2, 19, - -33, 2, -9, -9, -7, 14, -38, 23, - -2, -9, -38, -44, -9, 35, -36, 39, + 14, -31, 13, -28, -25, -50, -19, -18, + 4, 21, 1, 16, -10, 40, 14, 15, + 2, 17, 16, 12, 8, 19, 16, 44, + 17, -3, 23, 4, -12, 8, 2, 19, + -33, 2, -9, -9, -6, 13, -38, 24, + -2, -8, -37, -43, -11, 32, -38, 40, ], [ - 2, -10, -38, -35, -8, 48, -28, 13, + 2, -10, -38, -35, -8, 48, -28, 14, 20, -16, -43, -12, -19, -7, -0, -40, - 10, -22, -23, 9, -14, -16, -10, -16, - 8, 1, -17, 4, 0, 12, 22, 12, + 11, -22, -23, 9, -14, -16, -10, -15, + 9, 1, -17, 4, 0, 12, 22, 12, -6, 18, 17, 8, 12, 23, 24, 53, -21, 22, -5, 7, 27, 1, -1, 44, - -14, 23, 3, 19, 9, -35, -25, -28, - 35, 10, 16, -9, -15, -10, -26, 38, + -14, 23, 3, 20, 9, -35, -25, -27, + 35, 11, 16, -9, -15, -12, -29, 39, ], [ - 6, -15, -13, -4, 5, -21, -44, -26, + 6, -15, -14, -4, 5, -21, -44, -26, 8, -4, -5, -28, -32, -65, -75, -54, -4, 7, -19, -19, -0, -31, -21, -8, - 28, 38, 34, 8, -7, 33, 18, 26, + 28, 38, 34, 8, -7, 33, 18, 25, 9, 36, 16, 36, 27, 25, 18, 21, - -1, 15, 6, 14, 21, 8, -2, -2, + -1, 15, 6, 13, 21, 7, -2, -2, 42, 31, 10, 26, 20, -22, -35, -43, 20, 9, -2, -9, 25, -5, 5, -36, ], [ -52, -52, -17, -7, -7, 17, -41, -41, - -2, -23, 2, 20, -2, 3, -41, -64, + -2, -23, 1, 19, -2, 3, -41, -64, 14, 5, 15, 14, -16, 34, -10, -80, 69, 46, 37, 57, -13, 24, -15, 8, - -0, 38, 14, 34, 94, 62, 17, -32, + -0, 38, 14, 34, 94, 63, 17, -32, -15, 6, 33, -11, 46, 19, 45, 27, - -36, -2, -40, 18, -11, 33, -21, -34, - -59, -34, 22, 39, -15, -22, 6, -98, + -36, -2, -41, 18, -11, 33, -21, -34, + -59, -34, 23, 39, -15, -22, 6, -98, ], [ -22, -50, -6, -15, -18, 5, -68, -22, -8, -13, -1, 3, -50, -53, -15, -9, - 43, 32, 20, 26, 6, -15, 25, -32, + 43, 32, 20, 26, 5, -15, 25, -32, 31, 41, 61, 30, -7, -2, -8, -31, 34, 49, 19, 21, 25, -1, 66, 21, -14, -21, 15, 12, 64, -30, -35, -21, - -4, -49, 57, 33, -13, 5, 28, -18, + -5, -49, 57, 33, -13, 5, 28, -18, -6, -10, 6, -28, -1, -40, 5, -46, ], [ -49, 28, -53, 7, -18, -43, -37, -38, 18, -20, -5, 7, -25, 5, -60, -37, - 0, 48, -4, 1, 0, -25, -20, -19, + 0, 48, -4, 1, 1, -25, -20, -19, 14, 28, 72, 40, 7, 18, -16, -35, - 63, -7, 65, 61, 29, -29, 13, 37, + 63, -7, 65, 60, 29, -29, 13, 37, 29, 41, -10, 59, 24, 0, 1, -40, - -4, -4, -49, -50, -1, 13, -1, 13, + -3, -4, -49, -50, -1, 13, -1, 13, -19, 20, -20, 37, -29, -22, -13, 4, ], [ -32, -12, -14, -71, -35, -43, -35, -14, - 25, -6, 9, 64, 9, -35, -19, -10, + 25, -5, 9, 64, 9, -35, -19, -10, 31, 7, 38, -11, -33, 29, 3, -52, - 34, 6, 42, 6, 45, 40, -0, 7, + 34, 6, 42, 6, 46, 40, -0, 7, -9, 26, 5, 11, 41, 16, 46, -1, 18, 85, -19, -0, -25, -21, -11, -35, -31, -4, -22, -5, 26, -12, -3, -4, @@ -2699,16 +2699,16 @@ internal static class TunableEvalParameters 20, -29, 56, 7, 20, 10, 12, 31, 57, -36, 28, 6, 14, 44, 23, 16, -13, 23, -24, -16, -17, -12, 22, 50, - 10, -34, 22, -61, -10, 39, -16, 36, + 10, -34, 21, -61, -11, 39, -16, 36, -6, 43, -16, -24, -47, 26, -47, 51, ], [ -21, -32, -44, 6, -18, -65, 19, -54, - -21, 32, 6, -7, 17, 3, -13, -36, + -22, 32, 6, -7, 17, 3, -13, -36, -10, -53, 7, -13, 31, 15, -40, 12, 23, -15, -15, 31, 38, -12, 38, 34, -17, -41, 52, 29, 2, 37, -20, -13, - 6, 15, 3, 26, 57, 19, 43, 21, + 6, 15, 3, 27, 57, 19, 43, 21, 5, 54, 12, 24, -21, -40, -6, 27, -40, -43, -54, -41, 45, -26, 33, 9, ], @@ -2716,7 +2716,7 @@ internal static class TunableEvalParameters 6, 21, -20, 27, -27, -1, -37, -21, -33, -34, 13, -9, -19, 14, -22, -0, 15, -4, -3, -7, -6, 15, 13, -1, - -23, 6, 30, 5, 47, 27, 20, 1, + -23, 6, 30, 5, 46, 27, 20, 1, -18, 23, -44, 39, 14, 47, 35, 18, 30, -51, 6, -13, 9, 4, -24, 4, 13, -12, -36, -21, 28, 21, 25, -12, @@ -2724,12 +2724,12 @@ internal static class TunableEvalParameters ], [ 55, -5, 18, 12, 25, -43, -60, -89, - -29, -2, 22, -31, -52, 16, 31, -22, - 2, 49, 6, -9, -9, -9, -1, -32, + -28, -2, 22, -31, -52, 16, 31, -22, + 2, 49, 6, -8, -9, -9, -1, -32, -4, 29, 10, 15, -26, 45, 36, 40, -55, 20, 7, 43, 56, 7, 16, 23, 5, -5, 37, -31, 90, -21, 15, -38, - -12, -12, 31, -7, -8, 6, -6, 45, + -12, -11, 31, -7, -8, 6, -6, 45, -69, 30, -21, -40, -33, 19, -24, -56, ], ]; @@ -2804,7 +2804,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 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, 27, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, @@ -2918,7 +2918,7 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, -132, 0, 0, 0, 0, - 0, 0, 0, -19, 0, 0, 0, 0, + 0, 0, 0, -20, 0, 0, 0, 0, 0, 0, 0, -120, 0, 0, 0, 0, 0, 0, 0, -141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2939,7 +2939,7 @@ internal static class TunableEvalParameters [ 0, 0, 0, 0, 0, -91, 0, 0, 0, 0, 0, 0, 0, -47, 0, 0, - 0, 0, 0, 0, 0, -26, 0, 0, + 0, 0, 0, 0, 0, -27, 0, 0, 0, 0, 0, 0, 0, -65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3143,7 +3143,7 @@ internal static class TunableEvalParameters [ 0, 0, -29, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, - 0, 0, -1, 0, 0, 0, 0, 0, + 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3162,7 +3162,7 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, -27, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3172,7 +3172,7 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, 0, -3, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 0, + 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3181,7 +3181,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, ], [ - 0, 0, 0, 0, 0, 0, -16, 0, + 0, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, 0, 0, 0, -14, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, 0, 0, 0, 0, -14, 0, @@ -3206,10 +3206,10 @@ internal static class TunableEvalParameters [ [ 0, 0, 0, 0, 0, 0, 0, 0, - -126, 51, 4, -1, -23, -13, -46, -36, - -12, 90, 56, 34, 52, 18, 4, 11, - -15, 13, 26, 20, 14, -4, -9, 8, - -10, -1, 7, -2, 2, -12, -8, -6, + -127, 50, 4, -0, -23, -13, -46, -36, + -12, 90, 56, 34, 52, 18, 4, 10, + -15, 13, 26, 20, 14, -5, -9, 7, + -11, -1, 7, -2, 2, -12, -8, -6, -27, -10, -8, 9, 2, -11, 9, 8, -22, -16, -4, -10, -9, 1, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3218,150 +3218,150 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, -42, -133, -114, 4, 14, -16, 38, -27, 25, 18, 62, 42, 38, 19, 18, 5, - -4, -33, 31, 23, 20, 13, 5, 18, + -5, -33, 31, 23, 20, 13, 5, 18, -11, -13, 11, 10, 9, 1, 2, 1, - -30, -22, -6, 3, 4, 3, 17, 11, + -29, -21, -6, 3, 4, 3, 16, 11, -23, -19, -5, -14, -10, 11, 30, 15, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 27, -125, -35, -71, 1, -43, -9, -18, + 27, -125, -35, -71, 1, -42, -9, -19, 11, 37, 58, 46, 55, 10, -7, 14, - -2, -5, -1, 37, 24, 8, 11, 8, - -14, -10, -4, 20, 15, 1, -7, 4, + -3, -5, -1, 37, 24, 8, 11, 8, + -14, -10, -4, 20, 15, 1, -7, 3, -28, -24, -10, 5, 8, 1, 18, 10, - -18, -24, -9, -10, -3, 8, 30, 13, + -17, -24, -9, -10, -3, 8, 30, 13, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -26, 23, -24, -31, -22, -82, 2, -32, - -1, 24, 59, 51, 54, 16, 2, -4, + -26, 23, -24, -32, -22, -81, 3, -31, + -2, 23, 58, 50, 54, 16, 2, -4, 7, -12, 21, -13, 25, 7, 8, 14, - -9, -11, 6, 0, 14, 4, -0, -0, + -8, -11, 6, 1, 14, 4, -0, -0, -20, -13, -9, -9, -4, 1, 9, 2, - -15, -4, -5, -23, -6, 6, 20, 0, + -15, -4, -5, -23, -6, 6, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -41, -30, 9, -62, -9, -59, -38, -0, - 9, 15, 10, 32, 46, 39, 36, 27, + -41, -29, 10, -62, -11, -58, -37, -1, + 9, 15, 10, 32, 46, 39, 34, 26, -8, -2, 6, 12, -0, 12, 1, 13, - -14, -7, 4, 10, 4, 8, -5, -0, - -25, -1, -1, -3, -6, -6, 12, 3, + -14, -6, 4, 10, 4, 9, -5, -0, + -25, -1, -1, -2, -6, -6, 13, 3, -12, 5, 4, -3, -13, 5, 18, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -83, -16, 12, 23, -38, -26, -85, 15, - -2, -23, 4, 42, 72, 79, 58, 26, - -15, -1, 18, 7, 28, -10, 13, 11, + -83, -16, 13, 23, -38, -27, -85, 15, + -2, -23, 5, 42, 72, 79, 58, 26, + -15, -1, 19, 7, 29, -11, 12, 10, -20, -18, 2, 11, 13, -1, -3, -3, - -27, -14, 2, 2, 1, -7, -1, -4, - -17, -15, -3, -9, -6, 3, 9, -4, + -27, -14, 2, 2, 1, -7, -0, -4, + -17, -15, -3, -9, -6, 3, 9, -3, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -28, -24, -1, 35, 28, -24, -112, -99, - -13, -13, -4, 13, 38, 66, 32, 19, - -4, 2, 12, 8, 20, 32, -27, -3, - -5, -1, 3, 13, 19, 11, -6, -12, + -29, -24, -0, 36, 28, -24, -112, -99, + -14, -13, -4, 13, 38, 66, 32, 19, + -4, 2, 12, 8, 20, 32, -27, -4, + -5, -1, 3, 13, 19, 11, -6, -13, -10, 4, 2, 7, 9, 2, -1, -12, - 1, 12, 7, -6, -4, 8, 10, -5, + 1, 12, 7, -6, -4, 8, 10, -4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 17, -21, -58, 24, 24, 40, -22, -173, + 17, -22, -58, 25, 25, 41, -22, -173, -10, -1, 7, -1, 35, 47, 54, -5, -3, -9, 3, 12, 22, 26, 16, -14, - -7, -10, -3, -1, 4, 10, 14, -16, + -7, -10, -3, -1, 4, 9, 14, -16, -11, -4, -3, 3, 7, 8, 14, -12, - -5, -6, 5, -12, -0, 4, 15, -3, + -5, -6, 5, -12, -1, 4, 15, -2, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -20, 10, -11, 10, -92, 15, -48, -40, - 36, 2, 53, 46, 3, 1, -26, -3, - 9, 23, 34, 18, 13, -6, -5, 0, - 2, 2, 16, 6, -3, -2, -1, -4, + -21, 10, -11, 10, -92, 16, -48, -40, + 36, 1, 53, 46, 4, 2, -26, -4, + 9, 23, 34, 18, 13, -6, -5, -0, + 2, 2, 16, 6, -3, -3, -1, -4, -8, -18, 7, -1, 1, -7, 10, 5, -6, -14, 0, -10, -10, 1, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 3, 32, 7, -39, -29, -35, -72, -39, - 35, 78, 64, 84, 37, -14, -2, -18, - 8, 4, 26, 22, 23, 5, 5, -14, - -6, -1, -2, 8, 7, -8, -11, -6, - -26, -20, -8, 3, -4, -6, -3, -6, + 2, 32, 7, -40, -29, -35, -71, -39, + 35, 77, 64, 84, 37, -14, -2, -18, + 8, 5, 26, 22, 23, 5, 5, -14, + -6, -1, -3, 8, 7, -8, -11, -6, + -26, -20, -8, 3, -4, -6, -3, -5, -22, -22, -4, -24, -9, 3, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -56, 16, 11, 42, 27, -19, -63, -22, + -57, 16, 11, 42, 26, -19, -62, -22, -0, 35, 60, 65, 60, 35, 16, -32, -6, 7, 17, 29, 14, 10, 7, -7, - -30, -12, -1, -6, 13, -8, -10, -6, - -32, -27, -5, -14, 3, -11, -5, -17, + -30, -12, -1, -6, 13, -8, -10, -7, + -31, -27, -5, -14, 3, -11, -5, -17, -29, -21, -13, -11, -3, 1, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -36, 6, 8, 26, -1, -56, -16, -27, - -16, -18, 30, 57, 69, 80, 48, 5, + -36, 7, 8, 27, -1, -56, -17, -28, + -16, -18, 30, 57, 69, 80, 48, 4, -20, -0, 21, 19, 35, 17, 19, 7, -28, -16, -3, 3, -4, 4, -3, -13, -40, -15, -16, -2, -11, -1, -3, -9, - -34, -19, -11, -12, -11, 2, 3, -16, + -34, -20, -11, -12, -11, 1, 3, -15, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -50, 46, -76, -2, -59, -47, 32, 17, - -18, -1, 1, 57, 19, 63, 86, 35, + -50, 46, -76, -2, -59, -48, 32, 16, + -18, -1, 2, 57, 19, 63, 86, 35, -19, -9, 7, 8, 25, 34, 8, 18, - -25, -16, -7, 2, 14, -4, 2, 1, + -25, -16, -7, 2, 14, -4, 2, 0, -30, -14, -6, -6, 6, -11, -1, -6, - -26, -10, -4, -14, -13, -0, 3, -7, + -25, -10, -4, -14, -13, -0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -17, -8, -52, -42, -10, 20, -54, 25, + -17, -8, -52, -42, -10, 20, -54, 24, -9, 2, -11, -8, 41, 71, -18, 63, -20, -4, 4, 4, 29, 31, 22, 11, -21, -17, -3, -4, 7, 14, 4, 3, -24, -9, -8, 1, 3, 10, 6, 0, - -13, -12, 0, -9, -10, 7, 16, -7, + -13, -12, 0, -9, -11, 7, 16, -6, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -18, -34, -7, -33, -49, 58, -41, -10, -3, -7, -15, -24, 9, 55, 113, -76, - -1, -2, 1, 9, 26, 29, 8, -11, - -11, -4, 2, 3, 3, 16, 7, -6, - -16, -3, 0, -3, 14, 13, 12, -7, - -8, -4, -0, -11, -1, 11, 20, -0, + -2, -2, 1, 9, 26, 29, 8, -11, + -11, -4, 1, 3, 3, 16, 7, -6, + -16, -3, -0, -3, 13, 13, 12, -7, + -8, -4, -0, -12, -1, 11, 20, -0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 47, 29, -84, 30, 39, 4, -92, -33, + 47, 29, -84, 31, 39, 4, -92, -33, -6, 107, 25, 26, -27, 7, -16, 12, 1, -9, 32, 15, -4, 14, -14, -38, -11, 49, 21, 26, 5, 0, -36, -29, - -9, -10, 16, -16, -11, -6, -14, -35, - 4, -8, 8, -6, 7, -0, 12, -29, + -9, -10, 16, -16, -11, -6, -14, -36, + 4, -8, 8, -6, 7, -0, 13, -29, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -3369,69 +3369,69 @@ internal static class TunableEvalParameters -41, 25, -1, 20, 27, 13, 8, -2, 49, 2, -28, 72, 45, 9, -12, -24, 7, -52, -26, -39, -6, -3, 28, -61, - -7, -36, 0, 19, 24, -9, -10, -71, - 59, -34, 9, -31, 20, 42, -40, -36, + -7, -36, 0, 18, 24, -9, -10, -71, + 59, -34, 9, -30, 20, 42, -40, -36, -36, 53, 45, 56, 53, 0, -18, -61, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 20, 20, -31, 1, 61, 29, 38, -47, - -15, -46, 25, -3, 55, 90, -21, -49, + 20, 21, -31, 1, 60, 29, 38, -46, + -15, -47, 25, -3, 56, 90, -21, -49, -45, -11, -36, -19, 35, 108, 10, -29, - -40, 26, 7, -11, 25, 39, -3, -53, - -19, -0, -42, -18, -32, 36, -30, -9, - -30, -21, -9, 34, -3, 42, 15, -45, + -40, 26, 7, -10, 25, 39, -3, -53, + -19, -0, -42, -18, -32, 36, -31, -9, + -30, -21, -9, 34, -3, 42, 15, -44, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -54, 45, 30, 48, 22, 46, 58, -12, -30, -16, 45, 43, 54, 38, 20, -7, - -30, 15, -38, -47, -36, 77, 10, 3, - -54, -57, -4, -72, 17, 28, -19, -26, + -31, 15, -38, -48, -36, 77, 10, 3, + -54, -57, -4, -73, 17, 28, -19, -26, -59, -35, -0, -18, 19, -0, -44, -54, - -41, -15, 36, -14, 82, 53, 0, -8, + -41, -15, 36, -13, 82, 53, 0, -8, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -26, 3, 47, 0, 55, 46, 24, 11, - -39, 26, 0, 53, -26, 20, 75, 27, - -94, 48, 31, -7, -68, -28, 51, -25, - -81, -30, 2, 23, -28, 19, 6, -25, + -26, 3, 47, 0, 55, 46, 24, 12, + -39, 26, -0, 53, -26, 21, 75, 27, + -94, 48, 30, -7, -68, -28, 51, -25, + -81, -30, 2, 22, -28, 19, 6, -25, -61, -38, -22, -16, -84, 37, -2, 30, - -74, 5, -3, 23, 1, 67, 44, 4, + -74, 5, -3, 23, 1, 66, 44, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -20, 22, 13, 75, 1, 6, 14, -11, + -20, 22, 13, 75, 0, 6, 14, -11, -10, 1, 84, 5, -22, -18, 3, 48, -39, 14, -33, 20, -36, -63, -68, -53, - -56, -30, 26, -15, -37, -28, 51, 4, + -56, -30, 27, -15, -37, -28, 51, 4, -35, -6, 23, 30, 28, -15, -10, 52, - -88, -52, 3, 20, 76, 56, 73, -3, + -88, -52, 3, 20, 76, 56, 73, -2, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -41, -53, 36, 57, 49, -27, -27, -18, + -40, -53, 36, 57, 49, -28, -27, -17, -20, 62, 9, 125, 33, 32, -54, 2, - -53, -46, -32, 33, -34, 34, -12, -18, - -56, -54, -61, -10, -25, 23, 22, 8, - -78, -53, -13, 33, 15, 7, -19, 36, - -88, -11, -9, 23, 42, 109, 98, 24, + -53, -46, -32, 33, -34, 33, -12, -17, + -55, -54, -61, -9, -25, 23, 22, 8, + -78, -53, -13, 33, 15, 7, -19, 35, + -88, -11, -8, 23, 41, 110, 98, 24, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -36, -0, 32, 46, 35, -25, 5, -40, - -65, 22, 45, 35, 3, 36, 22, -64, - -92, 53, 0, -19, 30, 52, -19, -58, - -23, -21, -43, -2, -14, 69, -15, -22, + -36, -0, 32, 46, 35, -25, 4, -40, + -65, 22, 45, 34, 3, 36, 22, -64, + -92, 53, -0, -19, 30, 52, -19, -58, + -22, -22, -44, -2, -14, 69, -15, -22, -6, -30, -35, -12, -36, 11, -78, -14, - -59, -5, 23, 33, 85, 86, 122, -13, + -59, -5, 23, 34, 85, 86, 122, -13, 0, 0, 0, 0, 0, 0, 0, 0, ], ]; @@ -3440,10 +3440,10 @@ internal static class TunableEvalParameters [ [ 0, 0, 0, 0, 0, 0, 0, 0, - -164, -215, -0, 15, 30, 18, 56, 33, - -11, -32, -31, 10, 22, 58, 65, 66, + -164, -215, -0, 15, 30, 17, 56, 33, + -11, -33, -31, 10, 22, 58, 64, 66, -16, -11, -20, -11, 5, 29, 33, 33, - -15, -11, -5, -6, -2, 12, 22, 27, + -14, -11, -5, -6, -2, 12, 22, 27, -7, -7, 3, -10, -7, 5, 1, 2, -12, 3, 3, 7, 7, 8, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3451,49 +3451,49 @@ internal static class TunableEvalParameters [ 0, 0, 0, 0, 0, 0, 0, 0, -51, -123, -97, -70, -17, 25, 13, 44, - 8, 4, 11, -1, 38, 59, 58, 65, - -11, -3, -21, -14, 6, 18, 29, 32, + 7, 3, 11, -1, 38, 59, 58, 65, + -11, -3, -21, -14, 7, 18, 29, 32, -12, -5, -9, -11, -8, 8, 16, 23, - -6, -0, -3, -8, 1, -5, -3, 6, + -6, -0, -3, -8, 1, -5, -2, 6, -10, 4, 9, 9, 12, 0, -7, -5, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -118, -75, -138, -66, -58, 27, 36, 37, + -117, -75, -138, -66, -58, 27, 37, 38, 8, 22, -10, 20, -0, 49, 78, 63, - -11, 3, -20, -11, -11, 23, 30, 45, - -9, 2, -6, -3, -1, 12, 21, 18, + -11, 3, -19, -11, -11, 23, 30, 45, + -9, 3, -6, -3, -1, 12, 21, 18, -6, 6, -2, -8, 1, 2, -2, 2, -6, 12, 11, 13, 11, 8, -6, 7, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -16, -90, -23, -118, -47, -39, 6, 21, - 36, 11, 9, -13, 7, 22, 62, 63, + -15, -89, -24, -119, -47, -39, 7, 21, + 37, 11, 9, -13, 7, 22, 61, 63, 12, 8, 4, -4, 3, 1, 21, 27, - -0, 4, -3, 1, -3, -1, 1, 5, + -0, 4, -4, 1, -3, -1, 1, 5, -4, 0, 1, 5, 5, -1, -8, -3, - 6, 2, -1, 24, 12, -0, -9, 2, + 6, 1, -1, 24, 12, -1, -9, 3, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 67, 3, -88, -69, -127, -70, -75, 34, - 54, 31, 25, 13, -10, 23, 4, 19, + 67, 4, -87, -69, -128, -70, -75, 35, + 54, 31, 26, 14, -10, 23, 4, 20, 39, 23, 22, 10, -5, 7, 9, 11, - 20, 14, -0, 3, 10, -3, 4, -0, - 8, -4, -3, 2, 6, -2, -13, -10, - 5, 1, -7, 10, 14, 2, -5, -2, + 20, 14, -0, 3, 9, -3, 4, -1, + 8, -4, -3, 2, 6, -2, -13, -11, + 5, 0, -7, 10, 14, 1, -6, -2, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 88, 8, -6, -91, -59, -117, -72, -83, + 88, 8, -7, -91, -59, -117, -72, -82, 83, 108, 51, 16, 1, -2, -0, -3, 47, 36, 14, -6, -3, -14, -9, -12, - 29, 26, 5, -6, -7, -8, -8, -14, + 29, 26, 5, -7, -7, -8, -8, -14, 14, 8, -4, 1, -6, -5, -15, -12, 17, 13, 8, 6, 7, -3, -10, -9, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3501,18 +3501,18 @@ internal static class TunableEvalParameters [ 0, 0, 0, 0, 0, 0, 0, 0, 66, 66, 41, -26, -91, -79, -176, -103, - 85, 100, 76, 34, 8, 0, -2, 19, + 85, 100, 76, 34, 8, 0, -3, 19, 35, 29, 18, -1, -11, -25, -6, -13, 18, 19, 5, -6, -11, -12, -11, -14, 8, 2, 1, -5, -1, -7, -10, -14, - 5, -1, -2, 7, 6, 3, -6, -17, + 5, -2, -2, 8, 6, 3, -6, -17, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, 14, 59, 63, -13, -7, -165, -52, -147, 80, 110, 88, 91, 63, -9, 8, -15, - 33, 33, 18, -2, -10, -30, -17, -22, + 33, 32, 18, -2, -10, -30, -17, -22, 12, 13, 3, -2, -17, -21, -27, -22, 2, -1, 0, -6, -7, -15, -24, -21, 0, -5, -6, 19, -3, 3, -15, -31, @@ -3523,16 +3523,16 @@ internal static class TunableEvalParameters -105, -92, -105, -30, 30, 9, 37, 17, -37, -18, -42, -25, 37, 40, 65, 58, -10, -9, -17, -7, -4, 23, 31, 36, - 5, 2, -2, -1, 1, 6, 14, 18, + 5, 2, -2, -1, 2, 6, 14, 18, 1, 7, -5, 6, 0, 4, -4, 6, 5, 13, 3, 17, 3, 7, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -75, -85, -81, -75, -43, 6, 49, 35, + -75, -85, -81, -74, -43, 6, 49, 35, -32, -25, -32, -33, -20, 36, 62, 63, - -2, 0, -0, 0, 1, 9, 22, 41, + -2, -0, -0, 0, 1, 8, 22, 41, 2, 10, 2, 10, 1, 6, 13, 20, 9, 9, 1, 6, 1, 1, 1, 8, 9, 16, 7, 21, 6, 4, 7, 13, @@ -3540,12 +3540,12 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -12, -56, -90, -66, -71, -40, 25, 38, + -12, -55, -90, -66, -71, -40, 25, 38, 15, -28, -44, -34, -20, -10, 23, 54, 8, 1, 7, 6, 8, 6, 13, 31, 9, 8, 14, 16, 10, 6, 10, 14, 7, 12, 7, 15, 6, 7, 2, 8, - 13, 12, 10, 17, 9, 6, 6, 12, + 13, 12, 10, 17, 9, 6, 5, 12, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -3554,14 +3554,14 @@ internal static class TunableEvalParameters 37, 27, -28, -47, -29, -34, -22, 17, 31, 11, 3, 2, 10, 4, 2, 11, 20, 13, 6, 17, 17, 10, 8, 11, - 15, 6, 6, 12, 13, 6, 2, 6, - 19, 13, 10, 17, 14, 8, 6, 13, + 14, 6, 6, 12, 13, 6, 2, 6, + 19, 13, 10, 18, 14, 8, 6, 13, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 25, -8, 41, -53, -49, -59, -75, -45, - 51, 52, 28, -41, -21, -27, -29, -30, + 25, -9, 41, -53, -49, -59, -75, -45, + 51, 51, 28, -41, -21, -27, -29, -30, 36, 23, 11, 3, -0, -4, 3, -1, 22, 13, 7, 5, 5, 6, 4, 3, 13, 4, 2, 8, 5, 4, -1, 3, @@ -3584,17 +3584,17 @@ internal static class TunableEvalParameters 46, 61, 66, 59, 19, -30, -49, -9, 30, 24, 24, 7, -13, -24, -8, -11, 16, 14, 5, 0, -6, -13, -9, -12, - 6, 1, -1, 2, -3, -7, -10, -9, + 7, 1, -1, 2, -3, -7, -10, -9, 4, 1, 6, 12, 12, 7, -3, -11, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -103, -30, -56, -4, 20, 18, 9, -5, + -103, -30, -57, -4, 20, 18, 9, -5, -11, -85, -17, 5, 65, 43, 53, 48, -32, -3, -29, -17, 11, 11, 27, 34, -10, -17, -16, -18, -2, 2, 13, 23, - -5, 10, 2, 1, -3, -0, -2, 7, + -5, 10, 3, 0, -3, -0, -2, 7, -6, 20, 13, 7, -0, 9, 3, 20, 0, 0, 0, 0, 0, 0, 0, 0, ], @@ -3604,7 +3604,7 @@ internal static class TunableEvalParameters 5, 6, 13, 14, 13, 39, 42, 31, -19, -2, -8, 5, -2, 10, 4, 16, -5, -10, -4, -24, -26, -2, -2, 14, - -2, 8, 7, 7, -16, -14, -6, 2, + -2, 8, 7, 7, -17, -14, -6, 2, 18, -3, 12, 11, -12, 1, 7, 16, 0, 0, 0, 0, 0, 0, 0, 0, ], @@ -3630,7 +3630,7 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -1, -9, -24, -9, 3, -12, -25, -20, + -1, -10, -24, -9, 3, -12, -25, -20, 16, -8, 15, -23, 9, -13, -24, -3, 17, -14, -16, 6, 22, 13, -25, 4, 6, -9, -7, 0, 4, 2, -14, -0, @@ -3643,7 +3643,7 @@ internal static class TunableEvalParameters -5, 9, -6, -24, -16, 4, -40, -30, 21, 23, 7, 23, 15, 2, -20, -2, 12, 3, 2, -16, 20, 1, -5, -3, - 1, -5, -16, -4, 3, 5, -13, -8, + 1, -5, -17, -4, 3, 5, -13, -8, -7, -9, -14, -9, 30, 24, 9, -8, 8, 5, -0, 9, -1, 9, 3, 13, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3665,7 +3665,7 @@ internal static class TunableEvalParameters 43, 4, 18, 22, -9, -18, -5, 3, 8, 8, 11, -1, -6, -29, -7, 10, -2, 3, -0, 4, 9, -3, 23, 1, - 16, 2, 0, -11, -17, -1, -17, -8, + 16, 2, 0, -11, -17, -1, -17, -7, 0, 0, 0, 0, 0, 0, 0, 0, ], ]; @@ -3674,222 +3674,222 @@ internal static class TunableEvalParameters [ [ -97, -77, 52, 28, -4, -104, -34, -64, - 7, -7, 101, 49, 103, 45, -24, -96, + 7, -7, 101, 49, 103, 43, -24, -96, 7, 21, 142, 71, 36, 2, 33, -33, - 25, 75, 33, 70, 44, 15, 23, -42, + 25, 75, 33, 70, 44, 15, 23, -43, 23, 51, 45, 35, 25, 19, 15, -17, - -8, 9, -11, -5, -11, -4, -26, -17, + -7, 9, -11, -5, -11, -4, -26, -17, -25, -24, -4, -1, -4, -23, -25, -36, - -61, -32, -44, -15, -11, -65, -84, -71, + -60, -32, -43, -15, -11, -65, -83, -71, ], [ - -214, -56, -126, -7, -14, 21, -62, -99, - -46, -19, -15, -31, 50, 23, -4, -53, - -69, 41, 26, 58, 50, 36, 52, -2, + -214, -56, -126, -6, -14, 22, -63, -100, + -46, -19, -15, -31, 50, 24, -4, -53, + -70, 41, 26, 58, 50, 36, 52, -2, 24, 40, 35, 36, 29, 38, 24, 3, 10, 7, 36, 24, 47, 32, 29, -3, - 9, 23, 9, 15, 23, 18, -9, -9, - 12, 23, 8, 3, 7, 7, 12, -20, + 10, 23, 9, 15, 23, 18, -9, -9, + 12, 23, 8, 3, 6, 7, 11, -20, -3, -9, -9, -3, -3, -14, -13, -27, ], [ - -21, -116, -43, -147, -45, -19, -35, -72, - 8, -37, 22, -27, 35, 16, 7, 12, - 25, 9, 43, -126, 69, 40, 28, 25, - 25, 11, 57, 13, 31, 31, 28, 16, + -20, -116, -43, -146, -45, -19, -34, -73, + 7, -37, 22, -27, 35, 16, 7, 13, + 25, 9, 42, -126, 69, 40, 28, 25, + 24, 11, 57, 13, 31, 31, 28, 16, 12, 28, 6, 28, 31, 27, 29, -0, -3, 13, 1, 16, 16, 16, 2, -14, - -11, 5, 1, 2, 8, 16, 2, -18, + -11, 5, 1, 2, 8, 15, 2, -18, -15, -12, -6, -9, 2, 5, -32, -9, ], [ - -41, -77, -143, -33, -145, 4, -102, 45, - -1, -153, -60, -26, 9, -47, 32, 10, - 35, 50, -3, 66, 1, 39, 63, -11, - 3, 40, 23, 48, 33, 33, 29, 37, + -39, -78, -143, -33, -145, 5, -102, 44, + -2, -154, -61, -27, 9, -48, 32, 10, + 35, 49, -3, 66, 0, 39, 63, -10, + 4, 40, 23, 48, 33, 33, 29, 37, 19, 17, 12, -1, 49, 28, 32, 21, -5, 10, 10, 11, 17, 12, 3, 4, - -4, 29, 3, -6, 16, 2, 14, 3, - -10, -18, -4, 9, 5, 4, -26, -14, + -5, 29, 3, -6, 16, 2, 14, 2, + -10, -18, -3, 9, 5, 4, -26, -14, ], [ - -15, -22, -42, -144, -40, -155, 24, -54, - 7, -3, -38, 33, 46, -14, -31, 3, - 51, 39, 8, -137, 63, -79, 43, 19, - 35, 18, 19, 27, 30, 17, 23, 16, + -15, -22, -42, -143, -40, -158, 24, -52, + 8, -2, -38, 34, 46, -14, -31, 2, + 51, 39, 8, -137, 63, -79, 41, 18, + 35, 18, 19, 27, 30, 16, 23, 16, 18, 16, 12, 20, 5, 40, 14, 22, 1, 6, 3, 8, 17, 7, 10, 15, -1, 12, 4, 5, 10, 9, 4, 2, - -12, -2, -3, 3, 7, 4, -0, -2, + -13, -1, -2, 3, 7, 5, -0, -2, ], [ - -16, -11, 11, 12, -118, -38, -195, -122, + -17, -12, 11, 12, -117, -38, -196, -121, 7, 18, 8, -16, -17, 21, -38, -43, - -21, 45, 57, 61, -33, 56, -63, 35, + -21, 45, 57, 61, -33, 55, -63, 35, 14, 36, 10, 22, 24, 57, 37, 40, 2, 10, 31, 15, 49, 10, 56, 15, -14, -1, 5, 1, 20, 24, 9, 3, - -27, -12, -7, -7, 15, 6, 21, 4, - -28, -18, -11, 2, 9, -5, -11, -6, + -27, -12, -7, -7, 15, 6, 22, 4, + -28, -18, -11, 2, 9, -4, -10, -7, ], [ - -119, -135, -43, -47, -24, -181, -47, -126, - -26, 7, 23, 20, -18, 30, 44, -30, - -7, 11, 21, 41, 51, -13, 20, 71, + -120, -135, -44, -47, -23, -181, -47, -126, + -26, 7, 23, 19, -18, 30, 44, -30, + -7, 11, 21, 41, 51, -12, 20, 72, 11, 26, 40, 29, 19, 38, 26, 21, - 11, 18, 22, 27, 34, 33, 4, 16, + 11, 18, 22, 27, 34, 33, 4, 15, -2, 4, 11, 10, 23, 13, 15, 13, - -12, -4, 5, 6, 11, 22, 9, 14, - -33, 3, -4, 2, 8, 3, -13, -2, + -12, -4, 5, 6, 11, 22, 8, 15, + -33, 3, -4, 1, 8, 3, -12, -2, ], [ - -93, -54, -62, 48, 24, 32, -134, -52, - -71, -9, -10, 34, -26, 4, -30, 72, - -10, 3, 13, 75, 60, 78, 25, 18, - -17, 5, 27, 37, 56, 40, 55, 34, + -94, -54, -62, 49, 25, 32, -134, -52, + -71, -9, -10, 34, -26, 5, -30, 72, + -10, 3, 14, 75, 60, 78, 25, 18, + -17, 5, 27, 37, 56, 40, 54, 34, -19, -14, 18, 16, 44, 33, 38, 15, - -43, -20, -8, 4, 8, 16, -0, 10, + -43, -20, -8, 4, 8, 15, -0, 10, -34, -16, -10, -6, -3, -2, 2, 5, - -38, -35, -44, -25, -2, -10, -32, -23, + -39, -35, -44, -25, -3, -10, -31, -23, ], [ - -229, -37, -14, -4, 11, -46, -143, -24, + -227, -37, -14, -4, 10, -46, -143, -24, -22, -60, 24, 103, 67, 27, -40, -15, - -9, 21, 48, -56, 57, 29, 52, -40, + -9, 20, 48, -56, 57, 29, 52, -40, -61, 38, 43, 51, 55, 37, 9, -11, - 40, 44, 36, 38, 38, 29, 21, 6, - -5, 15, 10, 6, 11, 2, -9, -5, + 40, 44, 36, 38, 38, 29, 21, 5, + -5, 15, 10, 6, 11, 2, -9, -6, 11, 1, 7, 16, 9, -2, -25, -35, -33, -8, -7, -8, 1, -4, -28, -33, ], [ - -112, -3, -47, -19, -22, -9, -84, -16, - 30, -30, 3, -15, 27, 19, 8, 0, - -52, -24, 43, 41, -3, 58, 37, 13, - 23, -8, 30, 9, 38, 32, 48, 9, - 17, 22, 12, 48, 47, 22, 14, 8, - -20, 17, -2, 20, 8, -4, -8, -25, + -109, -2, -47, -19, -22, -9, -85, -16, + 31, -30, 2, -15, 27, 19, 8, 0, + -52, -24, 43, 41, -3, 58, 37, 12, + 23, -8, 31, 9, 38, 32, 48, 9, + 17, 22, 12, 48, 47, 22, 13, 8, + -20, 17, -2, 20, 8, -4, -9, -25, -10, -7, 4, -8, 13, -7, 35, -34, - -31, -10, -5, -12, -19, -21, -51, -38, - ], - [ - -115, -43, -132, 4, -39, -50, -12, 48, - 14, 35, -55, -29, -37, 0, 8, 19, - 45, -15, -6, 37, 40, 62, 30, 26, - 29, 5, -1, 37, 15, 32, 63, 26, - 12, 35, 34, 14, 36, 22, 41, 16, - 10, 4, 7, -3, 14, 4, -20, 2, - -5, -24, -15, -1, 2, -17, -10, -8, - -32, -27, -14, -19, 2, -30, -36, -32, - ], - [ - 4, -22, -6, -80, -96, -26, -23, -70, - 4, 14, 12, -13, -70, -50, 7, 19, - 37, 28, -5, 19, -6, 17, 17, 47, - 23, 30, 30, -7, 37, 16, 17, 29, - 32, 63, 28, 28, 44, 32, 32, 32, - -7, -7, 2, 7, 5, 12, -2, -7, - -19, -37, -3, 1, 7, -3, 12, -42, + -31, -10, -5, -13, -19, -21, -51, -38, + ], + [ + -112, -43, -133, 4, -40, -50, -11, 48, + 14, 35, -55, -29, -37, -0, 8, 20, + 45, -16, -6, 37, 40, 63, 30, 26, + 30, 5, -0, 37, 15, 32, 63, 26, + 12, 35, 34, 14, 36, 22, 40, 15, + 9, 3, 6, -2, 14, 4, -20, 2, + -5, -24, -15, -1, 2, -17, -11, -8, + -32, -26, -15, -19, 2, -30, -35, -32, + ], + [ + 3, -21, -6, -80, -97, -26, -23, -67, + 4, 14, 12, -13, -71, -50, 7, 19, + 37, 28, -5, 19, -6, 18, 17, 47, + 22, 30, 30, -6, 37, 17, 17, 29, + 32, 63, 28, 28, 44, 32, 31, 32, + -7, -7, 2, 7, 5, 12, -3, -7, + -19, -37, -3, 1, 7, -3, 12, -41, -36, -32, -18, 2, -16, -5, -21, -18, ], [ - -47, -17, -77, 85, -140, -21, -123, -27, - 12, 14, 20, 32, -3, 24, -24, 8, - -40, 17, 39, -15, 0, 50, 21, 3, + -48, -18, -77, 86, -140, -21, -122, -26, + 13, 14, 20, 32, -3, 24, -24, 8, + -40, 17, 39, -15, 0, 50, 20, 3, 22, 19, 38, 38, 32, 47, 5, 13, -0, 33, 27, 33, 45, 27, 38, 31, -11, -1, -5, -1, 24, -1, 3, -9, -33, -15, -11, -5, 8, -1, -4, 2, - -34, -34, -24, -17, -1, -22, -20, -27, + -35, -34, -24, -17, -2, -22, -19, -28, ], [ - -77, -130, -1, 81, 57, 59, -35, -160, - -26, -12, 28, 50, 38, 4, -9, -65, - 8, 18, 16, 60, 12, 52, 19, -42, + -78, -131, -1, 81, 57, 59, -35, -159, + -26, -11, 28, 50, 38, 4, -9, -64, + 8, 18, 16, 60, 12, 52, 20, -42, -5, 15, 35, 42, 45, 55, 30, -16, - -20, 7, 26, 27, 48, 41, 40, 11, + -21, 7, 26, 27, 48, 41, 40, 11, -27, -18, -10, -0, 24, 3, -9, -9, - -30, -29, -18, -8, 5, -2, -4, -3, + -30, -28, -18, -8, 5, -2, -4, -3, -43, -38, -23, -14, -15, -12, -20, -25, ], [ - -89, -65, -41, -37, 71, 33, 49, -67, - -112, -32, -36, 75, 40, 44, 33, 15, + -90, -64, -40, -37, 71, 33, 50, -68, + -112, -32, -36, 76, 40, 44, 34, 15, -27, -5, 14, 59, 100, 97, 29, 2, -30, 1, 13, 29, 36, 54, 118, 54, - -29, -9, 0, 10, 44, 32, 33, 16, + -29, -9, -0, 10, 44, 32, 33, 16, -55, -30, -19, -11, 5, -7, 0, -12, - -23, -16, -32, -17, -6, -3, -6, -10, - -68, -47, -50, -25, -26, -26, -14, -27, + -23, -16, -32, -17, -6, -4, -6, -10, + -68, -47, -50, -25, -26, -26, -13, -27, ], [ - -32, -24, -12, -32, 3, 17, 15, -32, - 6, -6, 46, 134, 51, -29, -38, -74, - -45, 2, 55, 112, 67, -86, -12, -31, - -41, 24, 38, 86, 85, 23, 17, -53, + -33, -24, -12, -32, 3, 17, 15, -32, + 6, -6, 47, 134, 51, -29, -37, -74, + -45, 2, 55, 112, 68, -86, -12, -31, + -41, 24, 38, 86, 85, 23, 18, -53, 56, 134, 3, 49, 80, -38, -12, 4, - 38, 5, 20, -0, -1, -34, 5, -53, - 3, -3, -32, 24, -43, -27, -77, -109, - 51, -29, -25, -19, -13, -34, -13, -149, + 38, 5, 20, -0, -1, -34, 5, -54, + 3, -3, -32, 24, -43, -26, -77, -109, + 51, -28, -25, -19, -13, -37, -12, -149, ], [ - 4, 33, -69, 27, -37, -63, -20, 27, - -29, -23, 14, 4, -32, -20, -47, -51, + 4, 33, -69, 27, -37, -63, -20, 28, + -29, -23, 14, 4, -32, -20, -47, -52, 26, -43, -45, 27, -32, -24, -39, -17, - 28, -26, 7, 5, 47, 25, 19, 13, - -52, 26, -34, -20, -32, 44, 34, -14, - -22, 4, 9, 45, 29, 43, 13, -1, - -27, 14, 10, 35, 38, 39, 7, 18, - -1, 31, 31, -11, 0, 41, 14, 0, + 27, -26, 6, 5, 47, 25, 19, 13, + -52, 26, -34, -20, -33, 44, 34, -14, + -22, 4, 9, 45, 30, 43, 13, -1, + -27, 15, 10, 35, 38, 39, 7, 18, + -1, 31, 31, -11, 1, 40, 14, 0, ], [ - -6, 15, -12, 28, -2, -48, -3, 11, - 10, -23, -14, -41, 21, -32, -7, 27, - 23, -46, -30, -55, -17, 47, -4, -2, - 8, -45, -72, -27, -20, -1, -27, 17, - -0, 3, -19, -19, -32, 51, 31, 6, - 11, -26, 10, 13, 7, 47, 22, 25, - -11, 6, 8, -53, 3, 32, -3, 26, - 30, 43, -9, 66, 30, -7, 50, -9, + -6, 15, -11, 27, -2, -48, -3, 11, + 10, -23, -14, -41, 21, -33, -7, 27, + 23, -46, -30, -56, -17, 47, -4, -1, + 8, -45, -72, -28, -20, -1, -27, 17, + -0, 2, -19, -19, -32, 50, 31, 6, + 11, -26, 10, 13, 7, 46, 22, 25, + -11, 6, 8, -54, 3, 32, -3, 26, + 30, 43, -9, 66, 30, -7, 49, -9, ], [ -30, -21, -56, -15, 3, -6, 24, 17, - -20, -5, 3, -26, -19, 42, 16, -0, - 11, -40, -36, -40, -15, -2, -52, -10, + -20, -5, 3, -26, -19, 42, 16, -1, + 11, -40, -36, -40, -15, -2, -52, -11, 51, 6, -23, 16, -2, -37, -15, 30, -9, 24, -23, 13, -18, -16, -31, 33, - -1, 8, 41, -10, -28, 26, 57, -10, + -1, 8, 40, -10, -28, 26, 57, -10, 17, 11, -15, 9, -1, 40, 17, 6, - 0, 19, 14, 8, 45, 23, 21, -21, + 1, 20, 14, 8, 45, 23, 21, -21, ], [ 15, 13, -10, -1, 15, -31, 18, 5, - 49, -13, 22, -45, -16, -30, 24, 18, + 49, -13, 22, -46, -16, -30, 24, 19, 4, 10, -48, -29, -10, -17, -83, -11, - 16, -16, 29, -49, -62, -40, -25, 8, + 16, -16, 30, -49, -62, -40, -25, 8, 25, -59, 6, -9, -34, 14, 19, 50, - 24, 37, 35, -7, -16, 4, -0, 40, - -17, 20, -5, 26, -9, -27, -1, 8, + 25, 37, 35, -7, -16, 4, -0, 40, + -17, 20, -4, 26, -9, -27, -1, 8, 46, 10, 27, 30, -15, 47, -13, 34, ], [ 3, -4, -75, -13, -26, -32, 15, 13, - 24, -11, -31, -48, -15, 13, 3, 8, - -14, -67, -17, -63, -50, -30, 3, 8, - 24, 3, 13, -21, -25, -5, -0, 1, + 24, -10, -31, -49, -15, 13, 3, 8, + -15, -67, -17, -62, -50, -30, 3, 8, + 24, 3, 13, -22, -25, -5, -0, 1, 49, -4, -0, 30, -17, -1, -37, 16, - 2, 62, 53, 35, -42, 17, 29, 39, + 2, 62, 53, 35, -42, 17, 29, 40, 6, 7, 6, -53, 12, 25, 9, -6, 23, 4, 34, 38, 77, -7, 4, 6, ], [ - 15, -14, -38, -41, -15, -49, 1, -7, + 15, -15, -38, -41, -15, -49, 2, -7, 14, 10, -28, 7, 29, 15, -3, -7, - -13, -40, 21, 17, 23, -56, -40, 5, - -12, 11, 43, -23, 1, -34, -35, 4, - -16, 1, -13, -19, -42, -14, -8, 24, - -13, 16, 37, 85, -12, 13, 80, -29, - 24, -5, 91, -39, 36, -1, 13, 7, + -13, -40, 20, 17, 23, -56, -40, 5, + -12, 10, 43, -23, 0, -34, -35, 4, + -15, 1, -12, -19, -42, -14, -8, 24, + -13, 16, 38, 85, -12, 13, 80, -29, + 24, -5, 91, -39, 36, -1, 14, 7, 20, -21, -16, -1, -21, 35, 43, -17, ], [ @@ -3907,164 +3907,164 @@ internal static class TunableEvalParameters internal static readonly short[][] EndGameEnemyKnightTable = [ [ - -60, -17, 13, 32, 48, 30, -87, 31, - -17, -37, -0, 6, -6, 0, 19, 65, + -60, -17, 13, 32, 48, 30, -86, 31, + -17, -37, -1, 6, -6, 1, 19, 65, 46, 35, -47, 26, 23, 15, -30, -4, - 2, 34, 27, -3, -1, -2, -18, 17, + 2, 34, 27, -3, -1, -2, -18, 18, 46, 9, -4, 5, 4, -13, -25, -26, -10, -23, 2, 2, 12, -28, -20, -25, - 23, 4, -11, -35, -0, -13, -4, -12, - 2, -24, -7, -19, -21, 30, 0, 39, + 23, 4, -11, -35, 0, -13, -4, -12, + 2, -24, -8, -20, -21, 30, 0, 39, ], [ - -84, -59, 79, 3, -9, -44, -11, 6, + -84, -59, 79, 3, -9, -44, -11, 5, 13, 45, 62, -1, 15, 11, 19, 37, -13, 34, -15, 30, 21, 15, -14, -3, 17, 7, 29, 20, 42, 3, -4, 11, 29, 12, 25, 25, 5, -4, 4, 11, - -11, -14, 1, 7, -23, -11, -15, -1, - -46, -25, -10, -6, 2, -28, -17, -8, + -11, -14, 1, 8, -23, -11, -15, -1, + -47, -25, -10, -6, 2, -28, -17, -8, -37, -25, -17, -9, -4, -10, -30, -28, ], [ - -174, -36, -85, 7, 46, 22, -1, 72, - -23, 39, 7, 61, -90, 29, 36, -31, - -20, -84, 5, -36, 3, 22, 7, -23, - 4, 3, 19, 28, 33, 18, 19, 11, - 13, 22, 24, 23, 32, 18, -10, 21, + -175, -36, -85, 7, 46, 22, -1, 72, + -24, 39, 7, 61, -90, 29, 36, -31, + -21, -84, 5, -36, 3, 22, 7, -23, + 4, 3, 19, 28, 33, 17, 19, 11, + 13, 22, 24, 24, 32, 18, -10, 21, 2, -1, 2, -1, 6, 0, -3, 3, - -4, 21, -10, 8, -5, -28, -9, 24, + -4, 20, -10, 8, -5, -28, -9, 24, -24, 15, -9, 8, 4, -18, 16, -22, ], [ - -49, 25, -22, -52, 20, 44, 33, -26, - 13, -89, 76, -12, 35, -49, 6, 20, - 29, 14, -82, -1, -46, 10, -14, 24, - 24, 2, 17, 33, 13, 19, 8, 3, - 13, 31, 28, 11, 11, 11, -4, 11, - 1, -1, -4, 5, 2, -4, -2, -8, - -2, -40, -10, 3, -10, -4, -16, -41, - -11, 38, -6, -6, 14, -21, 11, -26, + -48, 25, -22, -52, 20, 44, 33, -26, + 13, -89, 76, -12, 35, -49, 7, 20, + 30, 14, -81, -1, -46, 10, -14, 24, + 24, 2, 17, 32, 13, 19, 8, 3, + 13, 32, 28, 11, 11, 11, -4, 11, + 1, -2, -4, 5, 2, -4, -2, -8, + -1, -40, -10, 3, -10, -4, -16, -40, + -10, 38, -6, -7, 13, -21, 11, -26, ], [ - 81, 7, 33, -6, -83, -5, -7, -39, - -9, 44, -60, -27, -15, 29, -57, 17, - -37, 14, 36, -94, 2, -98, 7, -0, - 10, 28, 27, 27, 30, 35, 17, 24, - 24, 17, 38, 27, 38, -2, 17, 23, - 9, -7, 8, 0, 5, -5, -13, -20, - 11, -22, -17, 4, -13, -0, -7, 17, - -13, 19, -7, 3, -8, -12, -22, -22, + 81, 7, 33, -6, -83, -5, -7, -38, + -9, 44, -60, -28, -15, 29, -57, 17, + -37, 14, 36, -95, 2, -98, 6, -0, + 10, 27, 27, 28, 30, 35, 17, 24, + 24, 17, 38, 27, 38, -2, 17, 22, + 9, -7, 9, 0, 5, -6, -13, -20, + 11, -22, -17, 4, -13, -0, -6, 18, + -13, 19, -7, 2, -8, -12, -21, -22, ], [ - 32, 43, 36, 5, 56, -66, 13, 19, + 32, 43, 37, 5, 56, -66, 13, 19, 2, 16, 31, -17, 17, -3, 42, -114, - 19, 1, 13, 1, -9, -5, -90, -18, + 19, 1, 13, 1, -9, -4, -90, -18, 9, -2, 32, 19, 21, 20, 4, -1, 17, -1, 1, 25, 22, 16, -4, 12, -4, -13, -7, 10, -3, -16, -15, 1, - 2, 15, -8, -5, -8, -6, -33, -37, - -13, -8, -13, -3, -19, 1, -19, -10, + 2, 15, -8, -5, -8, -5, -34, -37, + -14, -8, -14, -2, -19, 1, -19, -10, ], [ 21, 35, 47, 16, 35, 11, -135, -125, - 24, 8, 1, 36, -103, 37, -21, 37, + 24, 8, 1, 36, -103, 37, -21, 38, -5, 27, 23, 28, 13, 32, 36, -85, 9, 1, 4, 33, 31, 26, 22, 27, 7, 4, 8, 16, 33, 22, 24, 12, -15, -12, -1, 9, 8, -4, -14, -21, - 2, -5, -13, -7, -10, -26, -14, -4, - -25, -25, -13, -4, -3, -12, -26, -32, + 2, -4, -13, -7, -10, -26, -14, -4, + -24, -25, -13, -4, -3, -12, -26, -32, ], [ 25, -12, 28, 16, 19, 11, -75, -51, - 34, 4, 13, 6, 72, 22, 16, -14, + 33, 4, 13, 5, 72, 22, 16, -14, -18, 6, 19, -1, 14, 19, 19, 70, -21, -20, -6, -3, 38, 23, 62, 25, - -11, 11, -9, 0, 13, 10, 32, 27, - -37, -6, -16, -8, -16, -11, -7, -17, + -10, 11, -9, 0, 13, 10, 32, 27, + -37, -5, -16, -8, -16, -11, -7, -17, -12, -13, -28, -19, 1, -22, -14, -32, - -53, -40, 4, -7, -17, -21, -3, -23, + -53, -39, 4, -8, -18, -21, -3, -23, ], [ - -134, -28, 44, -3, -2, 27, 13, -73, - -54, 15, 15, -9, 15, 9, 35, 1, + -134, -28, 43, -3, -1, 27, 13, -73, + -54, 15, 15, -9, 16, 9, 35, 1, -17, 10, 9, 37, 12, 11, -19, 17, 19, 5, 3, 4, 8, 10, 15, 1, 6, 8, 9, 10, 10, -5, -4, -6, - 9, -8, 6, 13, 10, 1, 3, -26, + 9, -8, 6, 13, 10, 0, 3, -26, 8, 11, 3, -5, -1, 7, 23, -7, - 9, -24, -1, -1, -4, -10, -17, -24, + 9, -24, -1, -1, -4, -10, -16, -24, ], [ -112, -46, -7, 13, 5, 11, 45, -49, -43, -13, 1, 17, 5, -1, 18, -4, - -14, 4, 4, 14, 8, -6, -1, 7, - -10, -0, 5, 14, 10, 6, -10, 7, + -14, 4, 4, 15, 8, -6, -1, 7, + -10, -0, 5, 14, 10, 6, -9, 7, -1, 13, 11, 2, 7, 4, 2, -0, - 18, -2, 4, 2, 10, 2, -5, 1, + 18, -2, 4, 2, 10, 2, -4, 1, 13, 2, 3, 7, -4, 5, -23, -11, - 1, 3, 5, 7, 14, 1, 24, 7, + 0, 3, 5, 7, 14, 1, 24, 7, ], [ - -46, -46, 10, -23, 6, 27, 18, -32, - -31, -17, 8, -29, 30, 3, 4, -5, - -14, 1, 14, 6, -6, -21, 11, -16, + -46, -46, 10, -23, 7, 27, 18, -32, + -30, -17, 8, -29, 30, 3, 4, -5, + -14, 1, 14, 6, -6, -21, 10, -16, 4, -9, 19, 3, 12, 0, -13, -1, 8, -2, 7, 9, 11, 6, -5, -3, - -11, 1, 0, 11, 3, 0, 5, -11, + -11, 2, 0, 11, 3, 0, 5, -11, 13, 16, -0, 0, 1, 4, -3, 2, - 6, 14, 7, 2, 4, 8, 16, 12, + 6, 14, 7, 2, 4, 8, 17, 12, ], [ - -18, -29, 13, 34, -2, 3, -4, -54, + -18, -29, 13, 34, -2, 3, -4, -55, -3, 0, -19, 3, 10, 1, -14, -17, -4, -3, -5, 6, 15, 11, -17, -12, - 6, 9, 3, 25, 5, 7, -13, -3, + 7, 9, 3, 25, 5, 8, -13, -3, 2, -11, -0, 13, 8, 1, -3, -9, - 3, 6, 4, 3, 5, -6, -1, 5, - -3, 21, -4, 0, -2, 5, -0, 23, + 3, 6, 4, 3, 5, -6, -1, 6, + -3, 21, -4, 1, -2, 5, -0, 23, 16, 19, 4, -6, 3, -9, -5, -16, ], [ -5, 11, 53, -22, 67, -4, -17, -85, -2, 3, -2, -1, 4, -15, -34, -11, - 17, 1, 10, 10, 21, -19, 12, -20, + 17, 1, 10, 9, 21, -19, 12, -19, -4, 6, 5, -2, 7, -5, 3, -25, 2, -12, 6, 8, 11, 3, 4, -13, -9, -4, 4, 15, 2, 1, -9, -3, 2, 10, 2, 3, 2, 4, 3, -8, - -1, 19, 2, 3, -2, -4, -1, 3, + -1, 19, 2, 3, -2, -5, -1, 3, ], [ - 52, 20, -5, -8, 2, -11, 23, -129, - 6, 2, -7, -4, -3, 38, -11, 1, - -1, -3, 10, 10, 3, 10, 1, -2, + 52, 20, -5, -8, 3, -11, 23, -129, + 6, 2, -7, -4, -2, 38, -11, 1, + -1, -3, 9, 10, 3, 10, 1, -2, -4, -4, -3, 9, 5, 10, 16, -0, 6, -11, 0, 8, 7, 9, -7, 13, -11, -5, -0, 3, 3, 0, -3, 14, -9, 7, -1, -4, 3, -6, 0, 15, - -30, -9, -10, -2, 6, 4, -15, 3, + -31, -8, -10, -2, 6, 4, -15, 3, ], [ - -1, 31, 23, 16, 20, -16, 96, -75, + -1, 31, 23, 16, 19, -16, 96, -75, 24, -3, -1, -4, 12, 3, -17, -9, -22, -1, 4, -1, 13, -4, 34, 12, -7, -22, -9, 5, 16, -0, 4, 1, -7, -13, 6, 3, 15, 16, 35, 17, -6, -17, -1, 2, 10, 2, 2, 3, - -41, -29, -4, 5, -6, -6, -4, 6, - -37, -27, -12, 11, 17, -13, -14, -37, + -41, -28, -4, 5, -6, -6, -4, 6, + -37, -26, -12, 11, 17, -13, -15, -37, ], [ - -5, 24, -20, 32, -27, -39, -17, -46, + -6, 24, -20, 32, -27, -39, -17, -46, -16, 20, 6, -19, 6, -22, -9, -36, - 14, 4, 8, -1, 4, 14, 3, -34, - 47, 69, -4, 2, -6, -3, -28, -8, + 14, 4, 8, -1, 4, 14, 2, -34, + 47, 69, -5, 2, -6, -3, -28, -8, 7, -5, 15, 2, -12, 30, 13, -42, - -19, -5, 3, 18, 2, 15, -46, 5, - -18, 31, 40, 4, 7, 4, -2, 36, - -13, 15, 27, 4, -5, -27, -2, 6, + -20, -5, 3, 18, 2, 15, -46, 6, + -18, 31, 40, 4, 6, 4, -2, 36, + -12, 14, 27, 4, -4, -23, -2, 6, ], [ 17, 33, -73, 53, 23, -67, -74, 31, @@ -4074,408 +4074,408 @@ internal static class TunableEvalParameters 2, 2, 32, 20, 21, -4, -36, -17, 16, -21, 29, 22, 29, 7, -11, 7, -5, 1, 13, 24, 47, 11, -11, 9, - -22, 14, 10, 12, -17, 12, -15, 34, + -22, 14, 11, 12, -16, 12, -15, 34, ], [ 31, 39, -63, -23, -42, -45, 16, 39, 62, 11, 3, -7, -9, -9, -38, 7, 16, -9, -1, -43, 1, -6, -41, -1, 19, 5, -5, 7, -9, 3, -23, -18, - 31, 38, 48, 23, -6, 12, -24, -29, + 30, 38, 48, 23, -6, 12, -24, -29, 20, 10, 12, 19, -0, 24, -6, -5, - -0, -6, -14, 30, 2, 8, -30, -13, + -0, -6, -14, 30, 2, 8, -30, -14, -16, -9, 15, 16, 1, 8, 4, -32, ], [ - -50, -40, -72, -1, -17, -34, 40, 25, + -50, -41, -72, -1, -17, -34, 40, 25, 44, -5, 7, -3, -20, -3, -2, 12, - 13, -22, 1, 9, -36, 14, 24, 7, + 12, -22, 1, 9, -36, 14, 24, 7, 3, -15, 11, -16, -15, 13, -26, -19, 7, -12, 7, 12, 14, 3, 22, -19, - 18, 19, 16, 25, 26, 35, -17, -15, + 18, 19, 16, 25, 26, 34, -17, -15, 43, -26, 38, 13, 30, 12, 12, -4, -52, -22, 24, 20, 6, -45, 30, -46, ], [ -6, -7, 14, -11, -3, -45, 3, 4, 10, 35, 14, 0, -23, -4, 2, -23, - 5, -30, 23, -39, -19, -15, 6, 10, + 5, -30, 23, -39, -18, -15, 6, 10, 2, 14, -13, 9, -2, -11, -1, 12, -6, 14, 3, -7, -21, 5, 4, 14, - 15, -18, -20, 28, 2, 6, 9, -5, + 15, -18, -20, 28, 3, 6, 9, -5, -59, 4, 39, 18, -18, -2, 39, 21, 30, 13, -39, 1, 15, -9, 18, -2, ], [ 51, -7, -4, -51, -2, 6, -39, 5, - -30, -40, -25, -20, 18, -25, 24, 26, + -30, -40, -24, -20, 18, -25, 24, 26, 1, -33, -6, 23, -14, 14, -3, 43, -39, -18, -14, -3, -18, -16, -4, 50, -21, -4, -1, -7, 15, 26, 17, 10, -53, -9, -26, -1, 35, 16, 21, 21, -42, 48, 4, 22, -10, -26, 9, -34, - 14, 5, 13, 2, 30, 25, 34, 18, + 14, 5, 13, 2, 30, 24, 34, 18, ], [ - 87, 55, -20, -56, -17, -52, 50, 54, + 87, 55, -20, -56, -17, -52, 51, 54, -34, -20, -36, -33, 6, -11, -16, 28, - -28, -37, -26, -2, -20, 14, -5, -23, + -28, -36, -25, -2, -20, 14, -5, -23, -12, -9, -20, 6, 12, 40, 1, 17, - -49, -16, -3, 14, 13, 24, 4, 12, + -49, -16, -4, 14, 13, 24, 4, 12, -33, -32, 4, 12, 27, 15, 38, 31, -50, -23, -27, 28, -0, -4, 27, -9, - 26, -54, -14, 23, 34, 29, 24, 34, + 26, -54, -14, 23, 34, 29, 24, 35, ], [ -88, -41, -77, 59, -13, 24, -11, 52, -55, -15, 23, -32, 1, 5, 29, -17, -22, 1, -3, 10, 20, 10, -6, 7, - -67, -30, -35, -4, 4, 5, 12, 9, - -26, -55, -3, 7, 37, 17, 29, 31, - -86, 22, 6, -17, 25, 32, 18, 49, + -67, -30, -35, -4, 4, 5, 12, 8, + -26, -56, -3, 7, 37, 17, 29, 31, + -86, 22, 6, -17, 25, 31, 18, 49, 13, -2, -48, -4, 43, 24, 27, 21, - 49, -2, -26, -3, -18, 19, 7, 64, + 49, -3, -26, -3, -18, 19, 7, 64, ], ]; internal static readonly short[][] MiddleGameEnemyBishopTable = [ [ - -98, -28, 4, 61, -9, -127, -74, -86, + -98, -28, 4, 61, -9, -127, -74, -87, 42, 56, 29, 51, -3, -60, 0, -54, - 65, 101, 43, 45, -22, -29, -13, -47, + 65, 101, 44, 45, -22, -29, -13, -47, -5, 41, 55, 61, 16, 10, 4, -20, - 10, -8, 14, 24, 48, 20, 3, -12, + 10, -8, 14, 23, 48, 20, 3, -12, -3, 9, -6, 21, 18, 25, 14, -18, - -20, -38, -2, 3, 4, 9, 11, -3, - -34, -28, -31, -17, -19, -17, 6, 5, + -20, -38, -2, 3, 4, 9, 11, -2, + -34, -28, -31, -17, -19, -16, 7, 5, ], [ - -26, -38, -78, -70, -98, -111, -86, -59, - 20, 18, 53, -43, 1, 6, -14, -35, - 25, 40, 60, 40, -3, 34, -8, -25, - -1, 4, 26, 32, 61, 5, 26, -4, - -14, 8, 11, 29, 28, 42, 11, -3, + -27, -37, -77, -71, -97, -111, -86, -60, + 20, 18, 53, -43, 2, 6, -14, -35, + 25, 40, 60, 41, -3, 34, -8, -25, + -2, 4, 26, 32, 61, 5, 26, -4, + -14, 8, 10, 29, 28, 42, 11, -3, -14, 7, 6, 7, 23, 12, 24, -4, 2, -21, -9, 10, 8, 22, 18, 30, - -1, -15, -2, -5, 9, -2, 24, 7, + -1, -15, -2, -5, 9, -1, 24, 7, ], [ - 10, -117, -24, -137, -137, -69, -12, -26, - -8, 87, -92, 18, -51, 9, -23, -32, - 75, 57, 13, 62, 47, 20, 19, -21, - -22, 17, 15, 25, 37, 47, 19, -2, - -10, -11, 21, 18, 35, 26, 29, -9, + 9, -118, -24, -136, -136, -69, -12, -26, + -8, 87, -92, 19, -51, 9, -23, -32, + 74, 57, 13, 62, 47, 20, 19, -21, + -22, 17, 15, 25, 37, 47, 19, -3, + -10, -11, 21, 18, 35, 26, 29, -10, -25, 8, -2, 8, 11, 16, 22, 12, 13, -20, 5, 3, 14, 4, 27, 7, - -3, -10, -12, -2, 2, -3, 13, 8, + -3, -10, -12, -2, 2, -2, 14, 8, ], [ - 17, -93, -135, -17, -129, -33, -50, -17, + 17, -93, -136, -17, -129, -33, -50, -18, -1, -13, 3, -63, 3, 2, 13, -39, - -6, 24, 77, 72, 45, 116, 13, 4, + -6, 24, 77, 72, 45, 117, 13, 3, 35, -3, 36, -10, 34, 5, 45, 2, - -6, -3, 3, 31, 7, 11, 11, 16, + -6, -2, 4, 31, 7, 10, 11, 17, -1, 7, 1, 10, 4, 1, 10, 6, -4, -12, -4, 12, 9, -3, -1, -19, - 1, -13, -7, -2, 9, -5, 12, -16, + 1, -13, -7, -2, 9, -4, 12, -17, ], [ - -30, -38, -100, -213, -24, -82, -21, -64, - 0, 15, -33, -36, -28, -40, -21, -11, + -30, -38, -100, -213, -24, -81, -21, -62, + 0, 15, -33, -36, -28, -40, -21, -12, -19, 32, 43, 57, 52, 44, 44, 20, 15, 12, 27, 29, 18, 28, 3, 19, - 14, 19, 19, 25, 29, 8, -2, -7, - 14, 30, 6, 13, 10, -7, 9, 1, + 14, 19, 20, 25, 29, 8, -2, -7, + 13, 30, 5, 13, 10, -7, 9, 1, 22, 9, 22, 8, 1, 3, 3, 18, - 5, 2, 8, 13, 1, -4, 14, -5, + 5, 2, 8, 13, 1, -4, 15, -5, ], [ - -43, -45, -55, -39, -128, -22, -137, -15, - -3, -25, 45, -27, -1, -41, -9, -39, + -43, -45, -55, -39, -129, -22, -137, -15, + -3, -25, 45, -26, -1, -41, -9, -39, -15, 35, -21, 110, 75, 59, 42, 59, - -3, 4, 49, 26, 36, -17, 22, -17, - -6, 16, 21, 38, 12, 33, 9, -10, + -3, 4, 49, 26, 36, -17, 23, -17, + -6, 16, 21, 38, 12, 33, 10, -10, 24, 10, 21, 7, 24, -3, 3, -28, 18, -2, 4, 21, -6, -9, -3, 3, - 7, -12, 5, -6, 4, -26, -10, -23, + 7, -12, 5, -6, 4, -25, -9, -23, ], [ - -55, -54, -103, -54, -84, -116, -28, 15, - -18, -4, -11, -25, -9, 4, -47, 50, + -55, -54, -103, -54, -83, -116, -28, 14, + -18, -4, -11, -25, -9, 5, -47, 51, -17, 1, 8, 9, 53, 48, 28, 11, -7, 16, 13, 37, 14, 14, -1, -20, - 9, 7, 28, 28, 31, 6, 12, 6, - -2, 38, 15, 18, 10, 5, -3, -4, - 29, 7, 28, 8, 12, 0, 3, -1, - 19, 19, 4, 8, -3, -8, 1, -0, + 9, 7, 28, 28, 30, 5, 12, 6, + -3, 38, 15, 18, 10, 5, -3, -4, + 29, 7, 27, 7, 12, 0, 3, -1, + 19, 19, 4, 8, -3, -7, 1, -0, ], [ - -95, -51, -28, -36, -81, -24, 47, -31, - -6, -28, -49, -48, 74, 4, -64, 1, - -28, -2, -25, 20, 12, 82, 57, 24, - -17, 10, 23, 14, 62, 37, 18, -9, + -95, -51, -28, -36, -81, -23, 47, -31, + -6, -29, -49, -48, 74, 4, -63, 1, + -28, -2, -25, 20, 11, 82, 56, 24, + -17, 9, 23, 14, 62, 37, 18, -9, -18, 14, 14, 42, 32, 18, 3, -1, -8, 20, 27, 16, 17, -3, 2, -19, 3, 12, 15, 9, 5, -9, -12, 5, - 18, 20, -3, -16, -10, -18, -16, -24, + 18, 20, -3, -16, -10, -17, -16, -24, ], [ - -63, -65, -32, -26, -55, 29, -18, -28, - -81, -34, -53, 49, -17, 17, -1, -37, - -23, 33, 9, 49, 31, 15, 19, -13, + -62, -65, -32, -26, -55, 29, -17, -29, + -81, -34, -53, 49, -17, 17, 1, -36, + -23, 33, 9, 48, 31, 15, 19, -13, -11, 16, 32, 103, 44, 19, 11, -3, - -9, -10, -1, 26, 45, 13, 18, -15, - -10, -4, -3, 14, 13, 44, 15, 8, - -17, -34, 5, -3, 20, -7, 25, 2, - -29, -24, -27, -4, -6, 16, 7, 14, - ], - [ - -96, -42, 37, 0, -59, 53, -77, -87, - -30, -45, -40, -48, -40, 26, 19, -19, - -5, -26, 55, 34, 15, 20, -4, -3, - 69, 17, 39, 41, 84, 29, 31, -11, - -20, 25, 14, 28, 6, 79, 17, 32, - -16, -18, 13, -6, 16, -10, 17, 11, - -41, -24, -18, 4, -4, 5, 1, 18, - -15, -30, -3, -20, 14, -16, 19, -10, - ], - [ - 8, -26, -48, -94, -45, -67, -50, -40, - -14, -47, -21, -83, -56, -12, -3, 16, - 30, 7, 68, 47, 43, 25, -6, -9, - 1, 67, 31, 21, 36, 83, 23, 0, - 38, 25, 22, 26, 26, 13, 72, -13, - -12, -5, -23, 21, -7, 9, 1, 38, - -17, -31, 6, -9, 13, 10, 12, -2, - -23, -8, -19, 7, -24, -3, -14, -13, - ], - [ - -32, -6, 57, -52, -39, -20, 2, -43, - 23, 14, -23, -13, 13, -45, 1, -36, - -36, 18, -11, 42, 38, 71, -8, 34, - 2, -2, 65, 25, 6, 21, 46, -1, + -9, -9, -1, 26, 45, 13, 18, -15, + -10, -4, -3, 14, 14, 44, 14, 8, + -18, -34, 5, -3, 20, -7, 25, 2, + -29, -24, -26, -4, -6, 16, 7, 14, + ], + [ + -93, -42, 36, -1, -59, 52, -77, -87, + -29, -44, -39, -48, -40, 26, 19, -19, + -5, -27, 55, 34, 15, 20, -4, -3, + 69, 17, 38, 41, 84, 29, 31, -11, + -20, 25, 14, 28, 7, 79, 17, 32, + -16, -18, 12, -6, 16, -10, 17, 11, + -41, -24, -18, 4, -5, 4, 1, 18, + -16, -30, -3, -20, 13, -16, 19, -10, + ], + [ + 10, -26, -48, -95, -45, -67, -50, -41, + -14, -47, -21, -84, -56, -12, -3, 16, + 30, 7, 67, 47, 43, 24, -6, -9, + 1, 67, 31, 21, 36, 84, 23, 0, + 38, 25, 22, 26, 26, 12, 72, -13, + -13, -5, -23, 21, -7, 9, 1, 38, + -17, -31, 6, -9, 12, 10, 12, -2, + -23, -7, -19, 7, -24, -2, -13, -13, + ], + [ + -33, -7, 57, -52, -39, -20, 2, -41, + 24, 14, -23, -13, 13, -45, 1, -36, + -36, 19, -11, 42, 38, 71, -8, 33, + 2, -2, 65, 25, 7, 21, 46, -1, -30, 41, -6, 32, 12, 21, -12, 48, 48, 2, -3, -16, 20, -28, 14, -25, - 1, -22, -10, 14, -22, -6, -23, -32, + 1, -23, -11, 14, -22, -6, -23, -32, -11, -30, -4, -21, -1, -42, 16, -33, ], [ - 5, 3, 20, -85, 11, -36, 18, -83, - -58, -16, -18, -19, -104, -29, -16, 3, - 13, 3, -1, 1, -16, 18, 16, -21, - -8, 15, 22, 99, 39, 46, 7, 56, + 4, 3, 20, -85, 11, -37, 19, -80, + -58, -16, -18, -19, -104, -30, -16, 3, + 13, 3, -1, 1, -16, 19, 16, -21, + -8, 15, 22, 99, 39, 45, 7, 56, -15, 20, 57, 16, 38, 7, 5, -37, -1, 52, -6, 18, -1, 1, -21, -17, - 38, -5, 21, -5, 5, -23, 7, -15, + 38, -5, 20, -6, 5, -23, 7, -15, 2, 16, -21, 25, -5, -15, -18, -8, ], [ - -74, 19, -56, 20, -12, 46, 16, -47, + -75, 19, -56, 19, -12, 45, 16, -47, -26, -51, 38, -12, 22, -36, 19, -17, - -51, -3, -33, 60, 11, 40, 23, 11, + -51, -3, -32, 60, 11, 40, 23, 12, 16, -16, 31, 15, 121, 32, 30, -17, -24, 2, 2, 61, 12, 30, -15, -3, - -11, -0, 43, -1, 29, -18, 6, -54, - -16, 21, -3, 22, -18, -3, -30, -25, - 6, -7, 7, -15, 4, -46, -23, -51, + -11, -1, 43, -1, 29, -18, 6, -54, + -16, 20, -3, 22, -18, -3, -30, -25, + 6, -7, 7, -15, 4, -45, -23, -52, ], [ - -78, -41, -31, -74, 24, -60, 65, -5, + -78, -41, -31, -74, 24, -60, 65, -6, -42, -5, -18, -10, 13, 24, 34, 42, -51, -1, 17, -4, 29, 62, 107, 55, - -34, 8, -6, 23, 29, 98, 14, 3, + -34, 7, -7, 23, 29, 98, 14, 3, -32, -10, 18, 24, 53, 3, 1, -14, -23, 10, 7, 20, 5, -2, -31, -2, - -1, -15, 26, -5, 8, -14, -16, -36, - -14, 1, -20, -1, -30, -18, -41, -39, + -1, -16, 26, -5, 8, -14, -16, -36, + -14, 1, -19, -1, -30, -17, -41, -39, ], [ - 10, 64, 26, 2, 24, -25, 17, -62, - 55, 63, 98, 78, -23, -0, -36, -24, - 6, 80, 79, -13, -1, -126, -60, -68, - -18, 59, 65, 106, -6, 23, -10, -44, - 16, -42, 23, 23, 45, -15, -28, 1, - -4, -53, -14, 51, 15, 24, -0, 1, - -68, -101, -35, -10, 5, 12, 42, -31, + 10, 64, 26, 2, 24, -24, 17, -63, + 55, 63, 98, 78, -22, -0, -35, -24, + 6, 80, 79, -13, -1, -126, -59, -68, + -18, 59, 64, 106, -6, 23, -10, -44, + 17, -42, 23, 23, 45, -15, -28, 1, + -4, -53, -14, 51, 14, 24, -0, 1, + -68, -102, -35, -11, 5, 12, 42, -31, -93, -48, -4, -42, -23, 14, -25, 25, ], [ 10, 11, 22, 38, -30, -19, 35, 9, 15, 18, 36, 23, -2, -17, -9, 10, - -9, 10, -21, -20, -54, -27, -19, -10, - 29, -19, -49, -35, -41, 4, -16, 19, - 8, 6, 20, -67, 24, 38, -1, 9, + -9, 10, -20, -20, -54, -27, -19, -10, + 30, -20, -49, -35, -41, 4, -16, 19, + 8, 7, 21, -67, 23, 38, -1, 9, 27, 3, -31, -16, 48, 69, 3, 4, - -11, 14, -16, -30, -42, 59, -19, 36, - 5, 1, -70, -77, 31, 48, 20, 13, + -11, 14, -16, -30, -42, 59, -20, 37, + 5, 0, -70, -77, 30, 48, 20, 13, ], [ 34, 18, 27, 18, -7, -59, -4, 16, 12, -71, 39, -29, 25, 42, -32, 12, - 44, -12, -63, -84, 18, -42, -77, 28, - -34, -14, -50, -8, -50, -13, -17, -19, + 44, -11, -63, -84, 18, -42, -77, 28, + -34, -14, -51, -9, -50, -13, -17, -19, 1, -33, 42, -5, 2, 64, -23, 9, -2, 16, 33, 41, 5, -58, 42, 81, 8, -33, -18, -76, 28, 82, 30, 45, - -56, 17, -26, 19, 27, 57, -4, 34, + -56, 17, -27, 20, 28, 56, -4, 34, ], [ - 7, 10, 61, 39, 51, 30, -2, 45, - 5, -11, 19, 7, 36, -25, 22, 15, - -28, -63, -50, -14, -53, -41, 4, 30, - 5, -64, -22, -91, -42, -4, 2, 13, - -11, -33, -71, -52, -14, -37, -39, 49, - 20, -26, 14, -21, 0, -11, 30, 76, - -21, 58, -18, -29, -46, 7, -1, 63, + 7, 10, 62, 40, 51, 30, -2, 45, + 5, -12, 19, 7, 36, -25, 22, 15, + -28, -62, -50, -14, -53, -41, 4, 30, + 6, -64, -22, -91, -41, -4, 2, 13, + -11, -33, -72, -52, -14, -37, -39, 49, + 20, -27, 14, -21, 0, -11, 30, 76, + -21, 58, -18, -29, -45, 7, -1, 62, 68, 23, 7, 13, 14, 13, 3, 79, ], [ - 42, 0, 13, -2, 48, 20, 13, 12, - -8, 10, -38, 11, 17, 15, -55, 42, + 42, 0, 13, -2, 48, 21, 13, 12, + -8, 10, -37, 11, 17, 15, -55, 42, -34, 26, -38, -54, -20, -80, -2, -33, 30, -44, -93, -117, -68, -2, -51, 33, 1, 91, 16, -32, 9, -5, 11, 15, 51, -8, 6, 3, -54, 16, -65, 91, 51, 13, 51, -22, 32, -22, 39, 11, - 22, 80, -47, 20, 3, -19, -12, 56, + 22, 80, -46, 21, 3, -18, -12, 56, ], [ - 15, 46, -20, -18, 46, 23, 38, 16, - 62, -19, -15, -28, 30, -42, 23, 26, - 2, -11, -59, -24, -51, -22, -55, 26, + 15, 46, -20, -19, 46, 23, 38, 16, + 62, -18, -15, -28, 30, -42, 23, 26, + 2, -12, -59, -24, -51, -22, -54, 26, 26, -42, -21, -68, -61, -5, -55, 10, 31, 15, -24, 5, -19, -27, -62, -13, - 65, 72, -29, -39, -31, 40, 40, 10, - 65, 37, -38, 29, -60, 15, -11, 42, - 41, 16, 12, 9, -19, 26, 22, 3, + 65, 72, -29, -38, -30, 39, 40, 10, + 65, 38, -38, 29, -60, 15, -11, 42, + 40, 16, 12, 9, -19, 26, 22, 4, ], [ 20, 65, 19, 3, 26, -20, -21, 27, -90, -25, -20, -17, -29, 60, -18, 6, - -29, -52, -25, -35, 8, -26, -5, -10, + -29, -51, -25, -35, 8, -25, -5, -10, 15, 12, -5, 22, -18, -1, -15, 8, - 55, -23, 10, 40, -57, -3, 21, -9, + 55, -23, 10, 40, -57, -4, 21, -9, 19, 28, -1, 25, 42, 44, 69, 13, - 5, 2, 49, -59, 31, -46, 3, -17, - -35, -19, -5, 8, -8, 56, -66, -3, + 5, 1, 49, -60, 31, -46, 3, -17, + -35, -19, -6, 8, -8, 56, -66, -3, ], [ 25, 14, 13, 2, -12, 18, -18, -3, - -17, -40, 10, -28, 35, 39, -27, 22, + -17, -39, 10, -28, 35, 40, -27, 22, -8, 40, 14, -21, -89, -10, 18, -34, 14, -1, 20, 17, 57, -56, 38, -35, 5, -83, -43, 20, -14, 83, 16, 19, - -17, -4, -11, 20, 23, 21, 27, -8, + -16, -4, -11, 20, 23, 22, 27, -8, -31, -31, -36, 50, 28, 4, 9, -1, - -20, 1, 36, -49, 15, -22, -21, 14, + -20, 1, 36, -49, 14, -22, -20, 14, ], ]; internal static readonly short[][] EndGameEnemyBishopTable = [ [ - -52, -28, 2, -3, 30, -13, 14, 18, - 18, -24, -16, -0, -9, 32, 14, 31, + -52, -28, 2, -3, 30, -13, 14, 17, + 18, -24, -17, -0, -9, 32, 14, 31, -19, -44, 4, -10, 21, 7, 27, 18, -12, -1, -48, 12, 28, 4, 21, 14, - -25, 5, 1, -3, 10, 11, -14, 24, + -25, 5, 1, -3, 10, 11, -14, 25, -9, -3, -10, 2, 7, 4, 3, 19, -8, 1, -20, -10, 4, 3, 11, -4, - -10, -6, -0, -14, -0, 12, -2, -16, + -10, -6, -1, -14, -0, 12, -2, -15, ], [ 15, -41, -66, 9, 9, 55, 36, 74, - -22, -37, -5, 25, 2, -12, 56, 27, + -21, -37, -5, 24, 2, -12, 56, 27, -11, 0, 7, 105, -1, -10, -2, 39, - 2, -10, -7, -13, 31, 1, 8, -13, + 2, -9, -7, -13, 31, 1, 8, -13, -4, 2, 2, -4, 10, 16, -3, 17, - 6, -13, -4, 1, -10, -10, 15, -8, + 5, -13, -4, 1, -10, -10, 15, -8, -40, -5, -12, 13, -11, -17, -13, -29, -32, -24, 3, -15, -5, -24, -25, -27, ], [ - -43, -59, -64, -22, 49, -1, -11, -21, - -52, -16, -61, -69, 5, 1, -2, 9, - 105, -16, -4, -23, 147, -19, 13, 7, + -43, -59, -64, -23, 49, -2, -11, -21, + -52, -16, -61, -69, 5, 1, -3, 9, + 104, -16, -4, -23, 146, -19, 13, 7, 8, 2, -8, 3, -8, 63, -2, 18, - -11, -0, 11, 11, -2, -4, 34, 25, - 3, 5, -6, 17, 6, -2, -8, 39, - -32, -9, -2, -6, 12, -5, -12, 3, + -11, -0, 11, 11, -2, -5, 34, 25, + 3, 6, -6, 17, 6, -2, -8, 39, + -32, -9, -2, -6, 12, -5, -12, 2, -21, 13, 10, 12, -10, 32, -21, -9, ], [ - -53, 23, 19, -20, 4, -1, 24, -4, - 3, -21, 7, 9, -18, -7, -8, 22, + -52, 23, 19, -20, 4, -2, 23, -4, + 3, -21, 7, 9, -18, -7, -7, 22, 1, 95, -28, -45, -19, 36, 1, 6, - 36, -1, -10, 10, -16, -7, -1, 6, - -6, -12, 3, -19, 8, -14, -4, 44, + 37, -1, -10, 10, -16, -7, -2, 6, + -6, -13, 3, -19, 8, -14, -4, 44, 0, -7, -14, 0, 2, -11, -12, -4, -4, -3, 3, -11, -13, 9, -11, -4, - -1, -5, 23, 10, 12, -10, -8, 20, + -1, -6, 22, 10, 12, -10, -8, 19, ], [ - 0, 5, 1, 60, -51, -34, -5, 4, - -4, -23, 24, -54, -4, -44, 14, -0, + -1, 6, 2, 60, -51, -35, -5, 4, + -4, -23, 24, -54, -3, -44, 14, -0, 39, -1, 83, -7, -33, -6, 108, -15, 4, 46, -3, -15, -1, -17, -2, 24, - 40, -12, -12, 0, 0, 8, 2, -1, - -5, -19, -10, -4, 7, 0, -5, -21, + 39, -12, -12, 0, 0, 8, 2, -1, + -5, -19, -11, -4, 7, 0, -5, -22, -23, -13, -10, -1, 3, -2, 6, -34, - -19, -10, 9, 10, 12, 13, -0, -0, + -19, -10, 9, 9, 12, 13, -0, -0, ], [ - 15, 18, -7, -3, -9, -40, -14, -73, - 10, -4, -11, 12, -37, -22, -24, -21, - -6, -4, -9, 68, -32, -23, -5, 167, - 17, 0, 64, -11, -15, 10, 3, -9, + 15, 18, -7, -3, -9, -40, -13, -73, + 10, -3, -11, 12, -37, -22, -24, -21, + -6, -4, -9, 68, -32, -23, -5, 166, + 17, 0, 64, -11, -15, 10, 3, -8, -3, 49, -12, 2, 3, 3, -5, -5, 21, -9, -15, -9, 2, -18, 0, -4, - -19, -2, -8, 6, -7, 12, -17, 10, - -11, -6, 16, -6, 3, 8, 17, -0, + -19, -2, -8, 6, -7, 13, -17, 10, + -12, -6, 16, -6, 3, 8, 16, -0, ], [ - 14, 12, 39, 27, 12, -31, -115, -30, + 15, 12, 39, 27, 12, -31, -115, -29, 17, 4, 4, 36, -3, -4, -16, -90, 20, 10, -5, 7, 138, 12, -5, 17, 5, 10, 14, 26, 6, 0, 7, 2, -12, 8, 18, 10, -2, 13, -2, -17, -6, 8, -1, -3, 17, -5, -10, -5, 0, -17, -13, 4, 1, -4, -11, -25, - -32, -21, -1, -7, 6, 11, -9, -33, + -32, -21, -1, -7, 5, 11, -9, -32, ], [ 9, 6, -19, 9, 10, -15, 27, -27, - -16, 3, 14, 14, -43, 11, -29, -3, - -7, 4, -5, 13, 9, 133, -1, 27, + -16, 3, 14, 13, -43, 11, -29, -3, + -7, 4, -5, 13, 9, 134, -1, 28, 2, -10, 1, 31, 1, -11, 19, 3, -6, -5, 24, 2, 10, 5, -18, 21, -1, 2, -3, 3, 10, -11, 0, -12, 8, -15, -12, -2, -4, -8, -11, -36, - -15, -19, -11, -2, -10, -7, -24, -14, + -15, -19, -11, -3, -10, -8, -24, -13, ], [ - -57, 8, -24, 10, 17, 1, 10, 7, + -58, 8, -23, 11, 17, 1, 10, 7, -45, -23, 2, -13, 15, 4, 7, 13, -30, 0, -38, -10, -13, -17, 1, 5, 1, -5, -7, -11, 2, 6, 12, 7, 6, 11, 7, 9, 3, 10, -9, 5, 7, 14, 6, 12, 10, -10, 2, 3, 17, -1, 10, 8, -6, 15, 5, 0, - 3, 23, 13, 4, 9, -9, -10, -4, + 3, 23, 13, 4, 9, -10, -10, -4, ], [ - 6, -4, -22, -7, 24, 8, 28, 8, + 5, -4, -22, -7, 24, 9, 28, 8, -41, 8, -16, 15, 9, 4, -1, -3, -9, -11, -3, -25, -5, -18, 1, -12, - -11, 1, -18, -1, -16, -5, -7, -4, + -11, 1, -17, -1, -16, -5, -7, -4, 10, -5, 9, 3, 13, -20, -3, -13, 6, 11, -12, 10, 6, 1, -4, -2, 19, 12, 13, 13, 13, 8, -3, 1, 9, 8, 11, 8, -1, 10, -1, -2, ], [ - -12, -8, 3, 14, 22, 12, 21, 13, + -13, -8, 3, 14, 22, 12, 21, 13, -2, 0, 8, -1, 14, 2, -3, -4, -5, -1, -25, -25, -34, -15, -0, 2, -7, -14, -1, -5, -4, -20, -1, 5, @@ -4485,18 +4485,18 @@ internal static class TunableEvalParameters -3, -3, 18, 3, 8, 8, 10, 9, ], [ - -11, -1, -4, 5, 9, 12, -1, -27, + -11, -0, -4, 5, 9, 12, -1, -27, 1, -6, 1, 8, -3, 3, -12, -3, - 10, -6, -9, -34, -18, -18, -7, -13, - 4, 7, -14, -4, -11, -6, 1, -4, + 10, -6, -9, -34, -17, -18, -8, -13, + 4, 7, -14, -4, -11, -6, 1, -5, 13, -9, 6, 7, 6, 2, 10, -20, -5, -7, 1, 12, 6, 7, 4, -0, - 3, 3, 12, 6, 12, 7, 3, 23, + 3, 3, 12, 7, 12, 7, 3, 23, 4, 9, 24, 10, 0, 16, -17, 2, ], [ - 7, 9, 1, 30, -4, 5, -5, 14, - 17, 2, 11, -1, 20, -21, -14, -27, + 8, 9, 1, 30, -3, 5, -5, 14, + 17, 2, 11, -1, 21, -20, -14, -27, 3, 5, -9, -3, -7, -8, -24, -16, -2, 2, 2, -16, 1, -18, 8, -16, 14, -6, -9, 15, -8, 2, -8, 7, @@ -4505,18 +4505,18 @@ internal static class TunableEvalParameters -2, -5, 14, 1, 3, 7, 6, 5, ], [ - 25, 6, 31, 13, 1, -14, -9, -22, + 25, 6, 31, 13, 1, -14, -9, -23, 11, 6, -6, 8, -6, 10, -19, -73, 8, 17, 6, -14, -8, -35, -2, -27, 4, 12, 4, 13, -16, -5, -11, -3, -7, 12, 8, -4, 9, -4, 10, -9, 5, 6, -10, 11, 4, 2, -9, 22, 6, -11, 7, 1, 12, 7, -1, 3, - -14, -5, -0, 1, 5, 21, 8, 10, + -14, -5, -0, 1, 5, 20, 8, 10, ], [ -4, 25, 19, 17, -7, 10, 8, 15, - 5, -4, 10, 10, -2, -4, -36, -68, + 5, -4, 10, 10, -2, -4, -35, -68, 15, -8, -6, 4, 5, -14, -36, -56, -2, 5, 13, 19, 14, 1, 5, 0, 8, 3, 16, 24, 4, 7, -3, -7, @@ -4527,7 +4527,7 @@ internal static class TunableEvalParameters [ -24, -12, -6, -19, 6, 10, 8, 11, -12, -22, -14, -23, -9, 32, 24, 33, - -15, -50, -21, 19, 5, 25, 35, 12, + -15, -50, -20, 19, 5, 25, 35, 12, -33, -2, -7, -5, 13, 14, -21, 5, -32, -13, 7, 9, 16, 29, 16, 22, -9, 32, -11, -5, 8, -13, -3, 29, @@ -4538,21 +4538,21 @@ internal static class TunableEvalParameters -28, -34, -35, -13, 39, 23, 14, 12, -22, -7, -29, 14, 30, 38, 30, 2, -5, -10, 5, 23, 20, 15, -6, -24, - 33, 32, 35, 28, 30, 1, -5, -2, + 33, 33, 35, 28, 30, 1, -5, -2, 45, 42, 4, 39, -4, -1, -28, -76, 31, 32, 24, 22, -2, -55, -33, -39, 17, -8, -4, 13, -11, -34, -24, -55, 20, -3, -3, 12, 8, -47, -29, -57, ], [ - -12, -28, -26, -15, -4, -0, 31, 43, + -12, -28, -26, -14, -3, -0, 31, 43, 14, -38, -22, -1, 21, 22, 5, 32, - 17, 8, -14, 0, 32, 3, 35, -12, + 17, 8, -14, 0, 32, 4, 35, -12, 17, 25, 13, 15, 21, 27, -15, 13, 42, 22, 23, 8, 11, -30, -1, -15, -27, 47, -7, 42, -20, 1, -5, -33, -1, -5, -20, 5, -7, -35, -44, -61, - 23, -0, -11, -19, -16, 2, -26, -46, + 23, -0, -11, -19, -16, 1, -26, -46, ], [ 7, 10, -22, -15, 7, -12, 4, 0, @@ -4561,14 +4561,14 @@ internal static class TunableEvalParameters 22, 20, 21, 2, 24, 5, 21, 20, 11, 11, 25, 17, -1, 4, 1, -12, -10, -19, 21, 15, 8, -5, -33, -37, - -12, -33, -10, -4, -1, 19, -22, 13, - 1, 11, -20, -15, -14, -19, -41, -68, + -12, -33, -10, -4, -2, 19, -22, 13, + 1, 11, -20, -15, -13, -19, -41, -68, ], [ 23, 2, -3, 14, -10, -9, -25, -4, 10, 6, 12, -0, -14, -7, -13, 43, -9, 10, -2, -0, -16, -20, 10, 18, - -17, 9, 21, 27, -3, 24, 22, 32, + -17, 9, 21, 27, -4, 24, 22, 32, 1, -16, 1, 17, 9, 17, 8, -8, -10, -5, -22, -8, 19, 42, 6, -28, 5, -35, -23, -1, -8, -1, -16, -16, @@ -4576,9 +4576,9 @@ internal static class TunableEvalParameters ], [ 25, 59, 11, -4, -7, 20, -11, -20, - 19, 22, 26, 6, -12, -6, -44, -2, + 19, 22, 26, 6, -12, -6, -43, -2, 5, 6, 5, 30, 3, -13, -12, 26, - -17, 10, 12, 31, 13, 15, 29, -12, + -17, 10, 11, 31, 13, 15, 29, -12, -16, -9, -8, 9, 6, 24, 38, 2, -55, -28, -2, -7, 25, -13, 27, -9, -41, -48, 0, 1, -7, -23, -1, -2, @@ -4602,302 +4602,302 @@ internal static class TunableEvalParameters -30, 18, -15, -31, 27, 9, 18, 72, -0, -35, -15, -13, -31, -3, 50, 25, -50, -32, -36, -28, -2, -5, -11, -56, - -2, 15, -49, -5, 16, 23, 4, 34, + -2, 15, -49, -5, 16, 23, 4, 35, ], ]; internal static readonly short[][] MiddleGameEnemyRookTable = [ [ - -72, 26, 76, 34, 35, 47, 2, 18, + -72, 26, 77, 34, 35, 48, 2, 18, -80, 99, 85, 83, 30, 33, 21, 15, - -10, 53, 69, 60, 40, 12, 19, -21, - 51, 14, 42, 28, 4, 8, -13, -39, - -33, 3, -8, -22, -37, -31, -2, -28, + -11, 52, 69, 60, 40, 12, 19, -21, + 51, 14, 41, 28, 4, 8, -13, -39, + -34, 3, -8, -23, -37, -31, -1, -28, -42, 3, -32, 5, -50, -29, -29, -27, - -43, -4, 1, -16, -33, -23, -42, -32, - -27, -23, -17, -16, -26, -10, -47, -50, + -43, -4, 1, -16, -33, -23, -41, -32, + -27, -23, -17, -17, -27, -10, -46, -48, ], [ - -147, -112, -116, 38, 124, 29, 53, 28, + -147, -112, -116, 38, 124, 29, 54, 28, 50, -72, -7, 75, 37, 28, 3, 6, - 2, 57, 51, 56, 41, 11, 8, -11, - 18, 28, -1, 14, 23, -14, 6, -11, - -12, 4, 3, 4, -4, -6, -9, -16, - -13, 4, -5, -6, -14, -21, -16, -16, - -28, -5, 1, -8, -7, -5, -8, -27, - -10, -1, 0, -4, -7, -2, -31, -30, - ], - [ - 64, -105, -88, -94, 120, 69, 94, 42, - 10, -5, -78, 54, 22, 11, -7, 12, - 10, 21, 16, 24, 14, 6, 17, 2, - -6, 13, 30, 17, 5, 7, 1, -4, - -12, 12, 4, -2, -2, -9, -7, -16, - -18, -16, 4, -1, -18, -14, -16, -24, - -17, 7, -4, -6, -1, -1, -23, -26, - -15, -10, 5, -6, -5, -2, -29, -27, - ], - [ - 60, 11, -95, -69, -43, 12, 69, 25, - 32, 30, -21, -29, 65, 29, 43, 9, - 4, 6, 6, 53, 4, 50, 11, 17, - 2, 25, 18, 29, 1, 22, -1, -19, - -3, -3, -3, -21, -1, -9, -22, -0, - -1, -7, -8, -6, -22, -47, 3, -29, - -14, -12, 3, -11, -20, -3, -21, -23, - -10, -11, -4, 2, -1, 3, -27, -27, - ], - [ - 63, 44, 65, -65, -88, -98, 68, 20, - 48, 32, 29, 62, -50, -11, -1, 35, - 19, 11, 27, -3, 37, 22, 58, 30, - 2, -6, -9, 11, 7, -16, 41, 7, - -12, -22, 2, -12, 11, -24, -11, -12, - -14, -18, -8, -19, -19, -15, 10, -15, - -22, -8, -14, -18, -1, -8, -12, -25, - -21, -17, -9, -7, -1, -2, -21, -23, - ], - [ - 59, 106, 93, 136, -68, -77, -77, 95, - 12, 24, 30, 48, 31, 9, 48, 32, - -29, -14, 10, 13, 21, 65, 27, -15, - -27, -18, 4, 1, 6, 25, 10, 11, - -26, -34, -30, -25, -7, 1, -6, -5, - -21, -41, -27, -22, -13, -8, 2, -7, - -45, -42, -30, -11, 4, -13, -22, -20, - -28, -28, -25, -13, -3, -7, -21, -22, + 2, 57, 51, 55, 41, 11, 9, -11, + 18, 28, -1, 14, 23, -14, 7, -10, + -12, 4, 3, 3, -4, -7, -9, -16, + -14, 4, -6, -7, -15, -22, -16, -16, + -28, -5, 1, -8, -7, -5, -8, -26, + -10, -1, -0, -4, -7, -2, -30, -29, + ], + [ + 64, -105, -88, -95, 120, 69, 93, 43, + 10, -6, -78, 54, 21, 11, -7, 12, + 11, 21, 16, 24, 14, 5, 17, 2, + -6, 14, 30, 17, 4, 6, 1, -4, + -13, 12, 4, -3, -2, -9, -7, -15, + -18, -16, 4, -2, -19, -14, -16, -24, + -16, 8, -4, -6, -2, -1, -23, -25, + -15, -9, 5, -6, -5, -2, -28, -25, + ], + [ + 61, 12, -96, -69, -44, 12, 68, 25, + 32, 30, -21, -30, 64, 29, 43, 10, + 4, 6, 6, 53, 4, 49, 11, 17, + 3, 25, 18, 29, 1, 22, -1, -18, + -2, -3, -3, -21, -2, -10, -22, 1, + -1, -7, -8, -6, -23, -47, 3, -29, + -13, -12, 3, -11, -21, -3, -21, -22, + -10, -11, -4, 1, -1, 2, -26, -26, + ], + [ + 63, 44, 64, -66, -88, -98, 69, 22, + 48, 32, 29, 62, -51, -12, -1, 35, + 19, 11, 26, -2, 36, 22, 58, 31, + 3, -6, -9, 10, 6, -17, 41, 8, + -12, -22, 2, -12, 11, -24, -11, -11, + -14, -18, -9, -20, -19, -16, 10, -15, + -21, -9, -15, -19, -2, -8, -12, -24, + -21, -17, -9, -8, -1, -3, -20, -21, + ], + [ + 58, 107, 93, 136, -69, -78, -78, 97, + 12, 24, 30, 48, 31, 8, 48, 32, + -28, -14, 10, 12, 21, 64, 27, -14, + -26, -18, 4, 1, 5, 25, 10, 11, + -25, -33, -30, -25, -8, 1, -6, -5, + -21, -41, -28, -23, -13, -8, 2, -6, + -45, -42, -30, -12, 3, -14, -22, -19, + -27, -28, -25, -14, -4, -7, -20, -20, ], [ 8, 54, 10, 45, 107, -245, -100, -76, - 5, -7, 12, 30, 19, 35, 41, 29, - -10, -3, 8, 5, 33, 34, 25, 6, - -6, -7, 7, -2, 17, 26, 30, 12, + 6, -7, 12, 30, 18, 34, 42, 29, + -9, -3, 8, 5, 33, 34, 25, 6, + -6, -7, 7, -2, 17, 26, 30, 13, -6, -9, -6, -7, 3, 8, 9, 6, - -3, -17, -5, -11, -10, 3, 18, 1, - -19, -14, 1, -9, 1, 2, 3, -14, - -10, -18, -10, -5, -5, 6, -14, -15, + -3, -17, -6, -11, -10, 3, 18, 1, + -18, -13, 1, -9, 0, 2, 4, -13, + -9, -18, -10, -6, -5, 5, -14, -14, ], [ - 17, 3, 43, 40, 118, 50, -97, -97, - -6, 9, 27, 18, 47, 64, 87, -72, - -40, -28, 3, 17, 38, 68, 29, 4, + 18, 4, 43, 40, 118, 51, -97, -97, + -6, 9, 27, 18, 47, 64, 88, -72, + -40, -28, 3, 17, 38, 68, 29, 3, -20, -21, -15, -3, 15, 26, 38, 45, - -19, -12, -15, -30, 10, 23, 17, 6, - -20, -40, -18, -17, -22, 3, 8, 7, - -39, -38, -13, -24, -12, -7, 5, -10, - -27, -37, -23, -18, -13, 1, -6, -25, - ], - [ - 58, -45, 38, 56, 31, 19, 3, 7, - -66, -17, 2, 52, 42, 36, 48, 21, - 17, -57, 57, 64, 68, 39, 17, 15, - 6, 54, 34, 14, 17, 11, -18, -6, - -18, -23, 12, -6, -21, -10, -26, -20, - -14, 2, -7, -37, -23, -19, -30, -28, - -44, -9, -12, -35, -16, -14, -25, -30, - -15, -18, -3, -22, -12, -11, -46, -36, - ], - [ - 15, 26, -32, -41, 34, -2, 46, 4, - -14, -44, -26, -45, 57, 50, 62, 24, - 1, 10, -20, 46, 26, 21, 27, 19, - -12, 29, 31, 45, 21, 30, 23, 8, - -26, 5, 16, -21, -6, 4, -21, -11, - -23, -10, -12, 1, -15, -36, -6, -17, - -37, -7, 4, -10, -11, -17, -26, -26, - -16, -8, 2, -9, -14, -11, -23, -35, - ], - [ - 3, 48, -7, 18, -28, 76, 34, 15, - -1, -5, -56, 16, -96, 32, 52, 35, - 27, 14, 33, 10, 17, 28, 43, 40, - -20, -5, 15, 18, 19, 6, 13, 18, - -32, -10, -1, -28, 8, -28, -3, 12, - -20, -22, -5, 20, -19, -23, -11, -31, - -11, 11, 6, 0, -9, 3, -40, -38, - -21, -17, 1, -7, -14, -11, -28, -43, - ], - [ - -4, 61, 42, -47, -6, 21, 2, 68, - 28, 49, 22, -58, 33, 28, -4, 31, - 27, 40, 36, 8, -4, 71, 21, 7, - -5, -9, -11, -4, -17, 27, 30, -30, + -19, -12, -15, -31, 9, 23, 17, 5, + -19, -40, -18, -17, -23, 2, 8, 6, + -38, -38, -13, -25, -12, -7, 5, -10, + -26, -36, -23, -19, -13, 1, -6, -24, + ], + [ + 59, -46, 38, 56, 31, 19, 3, 8, + -65, -18, 2, 52, 42, 36, 48, 22, + 17, -57, 57, 63, 68, 39, 17, 15, + 6, 53, 34, 13, 17, 11, -18, -5, + -17, -23, 11, -6, -21, -11, -26, -20, + -14, 2, -7, -37, -23, -19, -30, -27, + -43, -8, -12, -35, -17, -15, -25, -29, + -14, -18, -3, -22, -12, -12, -45, -35, + ], + [ + 16, 26, -32, -42, 33, -3, 46, 4, + -14, -44, -26, -45, 56, 50, 62, 24, + 1, 11, -20, 46, 26, 21, 28, 20, + -12, 29, 31, 45, 21, 30, 23, 9, + -26, 6, 16, -21, -6, 4, -22, -11, + -23, -10, -13, 1, -15, -37, -6, -16, + -36, -7, 4, -10, -11, -17, -26, -25, + -16, -7, 2, -10, -14, -12, -22, -33, + ], + [ + 4, 48, -7, 17, -28, 76, 34, 14, + -1, -5, -56, 16, -97, 32, 52, 36, + 27, 13, 33, 9, 16, 28, 43, 41, + -20, -5, 14, 17, 19, 5, 13, 18, + -32, -11, -2, -28, 8, -29, -3, 12, + -19, -22, -5, 19, -19, -23, -11, -31, + -10, 11, 6, 0, -9, 3, -40, -37, + -21, -17, 1, -7, -14, -11, -27, -42, + ], + [ + -4, 61, 41, -48, -6, 21, 2, 69, + 29, 49, 22, -58, 33, 28, -4, 31, + 27, 40, 36, 7, -5, 70, 21, 7, + -4, -9, -11, -4, -18, 27, 30, -29, -33, -38, -27, -33, 16, -21, 2, -18, -24, -16, 2, 11, -0, -10, -7, -15, - -17, -5, 2, 4, 11, -19, -38, -34, - -21, -24, -18, -7, -8, -5, -28, -35, + -16, -5, 2, 4, 10, -19, -37, -33, + -21, -23, -18, -7, -9, -5, -28, -33, ], [ - -6, 8, 12, 22, -34, 15, -8, 21, + -6, 8, 12, 22, -35, 14, -8, 22, 28, 30, 58, 50, -33, 12, -10, -10, - 4, 28, 31, 28, 58, 7, 88, 34, - 8, 5, -3, 9, 18, 46, 32, -23, - -29, -35, -44, -3, 3, -10, 7, -1, - -4, -37, -18, -30, -18, -2, 21, -21, - -17, -32, -22, -20, -26, 1, -3, -41, - -26, -27, -22, -18, -6, -2, -15, -28, + 5, 28, 31, 28, 58, 7, 89, 34, + 9, 4, -3, 9, 17, 46, 32, -22, + -29, -35, -44, -4, 3, -10, 7, -1, + -4, -37, -18, -30, -19, -2, 21, -21, + -16, -32, -22, -20, -27, 0, -2, -40, + -26, -27, -22, -18, -6, -2, -14, -27, ], [ - 12, 7, -10, 11, 29, -2, 61, 67, + 12, 7, -10, 11, 28, -2, 61, 67, 22, 34, 23, 50, 23, 52, -55, 51, - -1, 20, 21, 33, 61, 89, -76, 18, - -9, 0, -6, 41, 35, 50, 48, 1, - -32, -41, -33, -16, -2, 9, -12, -15, - -20, -31, -38, -22, -3, -12, 5, -4, - -35, -34, -38, -22, -17, -16, -12, -37, - -29, -35, -38, -25, -16, -11, -33, -34, - ], - [ - -4, -16, -20, -12, 10, 60, 27, 47, - 22, 8, 26, 64, 59, 51, 80, -19, - -10, -10, 15, 25, 64, 107, 138, -63, - -39, -5, -6, -9, 25, 24, 55, 50, - -17, -34, -37, -22, -17, 9, 7, -10, - -22, -31, -37, -31, -24, -11, -2, -23, - -35, -36, -32, -29, -27, -11, -27, -25, - -30, -35, -39, -23, -27, -11, -21, -35, - ], - [ - -15, 7, 27, 14, -23, 7, 34, 2, - 6, -3, 86, 13, 46, 19, -17, -6, - -2, 87, 60, 34, 15, -7, -28, -16, - -9, 101, 94, 112, 25, -23, 28, 16, + -0, 20, 21, 32, 61, 88, -77, 18, + -8, 0, -6, 40, 35, 50, 48, 1, + -32, -41, -33, -17, -3, 9, -12, -14, + -20, -31, -38, -22, -4, -12, 5, -4, + -34, -33, -38, -22, -17, -16, -11, -36, + -29, -35, -38, -25, -16, -11, -32, -33, + ], + [ + -4, -15, -20, -12, 10, 60, 27, 46, + 23, 9, 26, 64, 59, 51, 80, -19, + -10, -10, 14, 24, 64, 107, 138, -63, + -38, -5, -6, -9, 24, 24, 55, 50, + -17, -34, -37, -23, -17, 8, 7, -11, + -21, -31, -37, -32, -24, -11, -2, -24, + -34, -36, -32, -29, -27, -11, -26, -24, + -30, -34, -40, -23, -27, -11, -21, -34, + ], + [ + -15, 7, 27, 14, -23, 7, 34, 3, + 6, -3, 86, 12, 45, 19, -17, -6, + -2, 87, 60, 33, 15, -7, -28, -16, + -9, 101, 94, 112, 24, -23, 28, 16, 12, 66, 66, 31, 24, 13, -15, -124, - -59, 17, -26, 15, 54, -2, -104, -74, - -67, -21, -24, -13, -0, -29, -98, -19, - -52, -34, -5, -23, -6, -59, -44, -84, + -59, 17, -26, 15, 53, -2, -105, -74, + -65, -21, -24, -13, -0, -29, -98, -19, + -52, -34, -5, -24, -6, -59, -43, -83, ], [ - 7, 1, 37, 30, -50, -0, -13, -0, - -10, 50, 80, -27, 4, 39, -18, -45, - -16, 13, 26, -58, -87, -83, -5, -34, + 7, 0, 37, 30, -50, -0, -13, -1, + -10, 49, 80, -27, 4, 39, -18, -45, + -16, 13, 26, -58, -88, -83, -5, -34, 32, -4, -6, -47, -13, 27, -35, 7, -19, -20, -6, 13, -9, 25, -14, -22, - -24, -3, -40, 2, 40, 11, -15, -31, - -6, 15, -25, 22, 68, 12, -73, 24, - 81, -11, 18, 114, 31, 29, 9, 1, + -24, -4, -40, 2, 40, 11, -15, -31, + -6, 15, -24, 22, 68, 12, -73, 24, + 82, -11, 18, 113, 31, 29, 9, 2, ], [ - -37, -57, -42, 14, 15, 38, -9, 5, - -7, 1, -25, -1, 57, 5, -6, -43, - 26, 63, -22, 19, -49, -18, 4, -33, + -37, -56, -42, 14, 14, 38, -9, 5, + -7, 2, -25, -1, 57, 5, -7, -43, + 26, 63, -22, 19, -50, -18, 4, -33, 3, 14, -5, -7, -24, 3, -10, -46, - -8, -9, -24, 42, 18, -20, -27, -38, - -75, -29, -13, -22, 25, -9, 15, -5, - -39, -66, -3, -23, -11, 7, -28, -32, - 90, 107, 52, 60, 106, 18, 58, 57, + -8, -10, -24, 42, 18, -20, -27, -38, + -75, -29, -13, -23, 25, -9, 15, -5, + -39, -65, -3, -23, -11, 7, -28, -33, + 89, 107, 53, 59, 106, 17, 58, 57, ], [ 1, -12, 67, -38, -25, 5, 24, 5, - -31, -35, 4, -65, -42, -37, -33, -19, - -2, -12, -42, -28, -57, -50, -16, -25, + -31, -35, 4, -65, -43, -37, -33, -19, + -1, -12, -42, -28, -57, -49, -16, -26, 7, 16, -19, -23, -22, 9, -79, 7, 35, 8, 38, -17, 23, 13, 0, -18, - -58, -1, -50, 19, 25, 45, 29, -16, - -36, -0, -32, -27, -25, 31, 39, -12, - 32, 62, 91, 37, 114, 117, 51, 47, + -58, -1, -51, 19, 25, 46, 29, -16, + -36, -1, -32, -27, -25, 31, 40, -13, + 31, 62, 91, 37, 115, 117, 51, 48, ], [ - -2, 12, 29, -27, -10, -15, 16, -18, - -28, 15, -7, 46, -2, -73, -25, -32, - -49, -54, -2, -23, -2, -19, 7, 23, - -61, 8, -43, -3, -18, -4, -56, -67, - 5, 34, -16, 9, -9, 52, 17, 32, - -56, -15, 7, -11, -7, -1, -11, 33, - -12, 14, -18, 0, -21, 88, 69, 5, - 23, 10, 20, -11, 49, 134, -9, 82, + -3, 12, 29, -27, -10, -15, 16, -18, + -28, 14, -7, 45, -2, -73, -25, -32, + -49, -54, -1, -23, -2, -19, 7, 24, + -61, 8, -43, -3, -18, -3, -56, -67, + 5, 34, -16, 10, -9, 52, 16, 32, + -56, -15, 6, -11, -7, -1, -11, 33, + -12, 14, -19, 1, -21, 88, 69, 4, + 23, 11, 20, -12, 49, 134, -9, 83, ], [ - 2, -54, -32, -48, 18, 11, -54, 9, + 2, -54, -33, -48, 19, 11, -54, 9, -25, 48, -36, -21, 44, 19, 38, -43, 9, 56, -11, 42, -23, 35, -3, 38, -64, -19, -14, 17, 22, 11, -11, 17, -20, 45, 38, -7, 28, -17, 9, -10, - -35, -17, 1, -27, -52, -3, -35, -43, + -35, -17, 1, -28, -52, -3, -35, -43, 16, -46, 6, 55, -38, -60, 29, 16, -62, -20, 23, 68, 48, 37, 54, 37, ], [ -1, -53, -46, 46, -51, 50, 24, -35, - -43, -13, 15, -50, -80, -17, 13, -7, - -40, -16, -15, -17, -2, 13, 12, 20, - -62, 38, 32, -36, 37, 57, 16, 29, - 20, -7, 27, 65, 8, 10, -3, -3, - 7, -21, -31, -25, 50, 24, -5, -46, + -43, -13, 15, -50, -80, -17, 13, -8, + -40, -15, -15, -17, -2, 13, 12, 20, + -62, 38, 32, -37, 37, 57, 16, 30, + 20, -7, 27, 65, 8, 9, -3, -3, + 7, -21, -30, -25, 50, 23, -5, -47, 5, -2, -49, 15, -11, -38, 10, 8, - 7, -3, 8, 50, 64, -2, 15, 34, + 8, -3, 9, 49, 64, -1, 16, 35, ], [ - -3, -23, -43, -29, -12, 36, -52, -44, + -4, -23, -43, -29, -12, 36, -52, -43, -24, -62, -15, -29, 3, 13, 20, -22, -20, 4, -7, -28, 5, -88, -30, 1, 15, 4, 15, -23, -27, 64, 44, 24, - 16, 31, 5, 94, 18, 22, 18, 5, - -34, 19, -19, -16, 3, -26, 41, 16, + 16, 30, 6, 94, 18, 22, 18, 5, + -34, 19, -19, -16, 2, -26, 41, 16, -1, 15, -24, -33, 17, 16, 37, 11, - -35, 12, 19, -6, -20, 15, 71, 42, + -35, 13, 20, -6, -20, 15, 72, 43, ], ]; internal static readonly short[][] EndGameEnemyRookTable = [ [ - -43, -3, -15, 11, 24, 19, 41, -1, - -100, -7, -31, -14, 17, 5, 18, 15, - -4, -4, -18, 3, 23, 16, 19, 8, - -70, -9, -7, -12, 24, 11, 28, 20, + -43, -3, -16, 11, 24, 18, 41, -1, + -100, -8, -31, -14, 17, 5, 18, 15, + -3, -4, -18, 3, 23, 16, 19, 7, + -70, -9, -7, -12, 24, 11, 28, 19, 14, 11, 9, 17, 43, 10, 18, 14, -23, -16, 3, -17, 18, 3, 3, -15, - -20, 3, -15, -6, 15, -21, -3, -13, - -8, -1, 2, -5, 14, -4, 4, 0, + -19, 3, -15, -6, 15, -21, -3, -13, + -8, -1, 2, -5, 14, -4, 4, 1, ], [ - -141, -130, -125, 56, 15, 79, 45, 64, - -1, 10, 28, -29, 5, 20, 20, 21, - -9, -18, -18, -14, 5, 21, 21, 23, + -141, -130, -125, 56, 16, 79, 45, 64, + -2, 10, 28, -29, 5, 20, 20, 21, + -9, -18, -18, -14, 5, 21, 20, 23, -11, -2, 23, 5, 0, 27, 11, 16, - 6, -10, -2, -4, 13, 21, 19, 12, + 5, -11, -2, -4, 13, 21, 19, 12, -15, -20, -4, 4, 16, 23, -0, 4, -9, -8, -8, -7, 4, 7, -14, -8, - -15, -26, -14, -4, 0, 17, 1, 3, + -15, -26, -14, -4, 0, 17, 1, 4, ], [ - -26, -149, -164, -168, -12, 52, 31, 80, + -25, -149, -164, -168, -12, 52, 31, 80, 17, 32, -139, -2, 22, 26, 44, 27, - 1, -0, 3, 11, 4, 23, 28, 31, - 5, 8, -1, 26, 8, 18, 21, 42, + 1, -0, 3, 11, 4, 23, 29, 31, + 5, 7, -1, 26, 8, 17, 21, 42, -5, -8, 19, 19, 22, 19, 10, 18, -8, 2, -7, 8, 7, 9, 14, 18, - -33, -39, -9, 7, -10, 2, 34, 8, - -4, -9, -15, 5, 1, 14, 5, 6, + -32, -39, -10, 7, -10, 2, 35, 9, + -3, -9, -15, 5, 2, 14, 5, 6, ], [ - 35, 79, -116, -107, -112, 89, 44, 98, + 35, 79, -116, -107, -112, 88, 44, 97, 19, 12, 34, -33, 2, 8, 17, 36, - 17, 15, -1, -43, 7, -27, 40, 19, - 2, -11, -6, -22, -5, -8, 3, 30, + 17, 15, -0, -43, 7, -27, 40, 19, + 2, -11, -6, -23, -5, -8, 4, 30, -15, 1, 1, 4, -10, -2, 18, -2, - -20, -12, -8, -12, -5, 24, -6, 23, - -27, 12, -16, -1, 0, -20, 0, -10, + -21, -12, -8, -12, -5, 24, -6, 23, + -27, 12, -17, -1, 0, -20, 0, -10, 2, 2, -6, -12, -7, -1, -2, -3, ], [ - 26, 69, 42, -138, -145, -140, 66, 96, - 11, 22, 12, 15, -75, 48, 30, 20, - 17, 16, -7, 11, -41, 5, -20, 4, - 18, 29, 23, 4, -7, 14, -12, -6, - 4, 25, -1, 10, -24, 13, 22, 7, + 26, 69, 43, -138, -145, -140, 66, 96, + 10, 22, 11, 15, -75, 47, 30, 19, + 17, 16, -7, 11, -41, 5, -20, 3, + 18, 29, 23, 4, -7, 14, -12, -7, + 5, 25, -1, 11, -23, 12, 22, 7, 3, 4, 0, 2, -5, -4, -17, -5, - -10, 4, 7, -2, -24, -3, 1, -2, - 9, 7, 4, -3, -14, -0, -8, -10, + -10, 4, 7, -2, -24, -4, 2, -0, + 10, 7, 4, -3, -14, 0, -7, -9, ], [ - 64, 51, 69, -5, -127, -144, -144, -49, + 64, 51, 69, -6, -127, -144, -144, -49, 21, 20, 23, -4, -7, -41, 20, 13, - 45, 38, 40, 3, -19, -38, 7, 26, - 35, 38, 15, 2, -10, -17, 9, 11, - 7, 23, 38, 19, -4, -8, 11, 22, + 44, 38, 40, 3, -19, -38, 7, 25, + 35, 37, 15, 2, -10, -17, 8, 10, + 7, 23, 38, 19, -3, -8, 11, 22, -1, 21, 26, 6, -18, -7, -12, -30, 14, 15, 23, -2, -13, -18, -9, -7, 9, -0, 10, 0, -23, 2, -13, -23, @@ -4906,115 +4906,115 @@ internal static class TunableEvalParameters 107, 90, 123, 81, 44, -361, -247, -211, 28, 44, 38, 17, 15, 32, -46, 9, 23, 35, 32, 32, -2, -6, -5, -2, - 23, 39, 21, 23, 12, 1, -12, -4, - 17, 29, 22, 18, 8, 8, 1, -19, + 23, 38, 21, 23, 12, 1, -13, -4, + 17, 28, 21, 18, 8, 8, 1, -18, 9, 14, 11, 12, 4, -15, -32, -33, - 6, 14, 11, 17, -1, 2, -40, -30, - 11, 13, 12, 6, 3, 5, -29, -26, + 6, 13, 11, 16, -1, 2, -40, -29, + 11, 13, 12, 6, 3, 5, -29, -25, ], [ - 83, 93, 81, 67, 28, 101, -139, -143, - 19, 17, 25, 24, 10, -5, 10, -14, - 41, 37, 34, 19, 1, -11, 11, -16, - 6, -3, 29, 11, 1, 9, -25, -63, - -3, -6, 12, 18, -6, -9, -21, -28, - -10, -18, 1, 7, -5, -13, -19, -51, - -7, -0, -12, 9, -2, 1, -34, -49, - -9, -11, -1, 1, 4, -2, -37, -42, + 83, 93, 81, 68, 27, 101, -139, -143, + 19, 16, 25, 25, 10, -5, 10, -14, + 41, 37, 35, 19, 1, -11, 11, -15, + 6, -3, 29, 11, 0, 9, -25, -63, + -3, -7, 12, 18, -6, -9, -21, -27, + -10, -18, 1, 7, -5, -13, -19, -50, + -7, -1, -12, 9, -2, 1, -34, -49, + -9, -11, -1, 1, 4, -2, -37, -41, ], [ -10, 15, 5, -6, 9, 25, 25, 4, 22, 9, 4, -22, -1, 4, -11, -12, -12, -47, -28, -11, -4, 12, 4, 0, - -16, -62, -19, 4, 7, 16, 24, 8, - -3, 17, -18, -1, 18, 27, 15, 9, - -13, -32, -7, 3, 12, 16, 15, 2, - -4, -16, -5, 11, 3, 19, 2, -12, + -16, -62, -19, 4, 7, 16, 24, 7, + -3, 17, -18, -1, 18, 27, 15, 8, + -12, -32, -7, 3, 12, 16, 15, 2, + -4, -16, -5, 11, 3, 18, 2, -12, -8, -10, -13, 11, 7, 21, 8, -9, ], [ - 4, 2, 23, 35, 13, 34, 14, 10, + 3, 2, 23, 35, 14, 34, 14, 10, -2, 1, 12, 5, -10, -5, -12, -5, - 5, 3, -75, -28, 6, 10, 1, -5, + 5, 3, -75, -27, 6, 10, 1, -6, 7, -8, -14, -13, -1, -5, 7, 6, - 3, -5, -5, 5, 15, -1, 15, 2, + 3, -5, -5, 5, 15, -1, 15, 1, -6, -8, -12, -13, 8, 16, 2, -5, - -1, -17, -28, -13, 8, -3, 7, 4, - 5, -1, -14, -4, 15, 19, -1, -1, + -1, -17, -28, -13, 8, -4, 7, 4, + 6, -0, -14, -4, 15, 19, -1, -1, ], [ - 15, 1, 19, 3, 27, -8, 28, 21, - 3, -5, 15, 19, 29, -8, -9, -12, + 15, 0, 20, 3, 27, -8, 28, 21, + 3, -5, 15, 19, 29, -9, -9, -12, -1, 1, -3, -45, 2, 1, 2, -10, - 19, 5, -3, -35, -5, -2, 6, 0, - 9, 6, 2, -12, -5, 16, 6, 3, - -1, -0, -12, -31, -6, 13, 3, 11, + 18, 5, -2, -35, -5, -2, 6, -0, + 8, 6, 2, -12, -5, 16, 6, 2, + -1, -1, -12, -31, -6, 13, 3, 11, -12, -17, -11, -33, -14, -9, 18, 3, - 7, 1, -13, -11, -6, 14, 3, 6, + 7, 2, -13, -11, -5, 15, 4, 7, ], [ - 21, 3, 4, 31, 8, 24, 26, -3, + 21, 3, 4, 32, 8, 24, 26, -3, -2, -7, -2, 2, -0, -6, -15, -15, - 6, 3, 4, 1, -103, -17, -7, 7, - 15, 22, 17, 2, 9, -5, -5, 16, - 12, 27, 25, 10, -19, 8, 0, 10, - -3, 5, -6, -7, -22, -7, 3, 1, - -4, -6, -6, -18, -31, -3, 0, 1, - 8, 2, 6, -8, -10, 5, -7, -1, - ], - [ - 5, 20, 22, 16, 27, 7, 24, 9, - -9, -1, -7, -9, 5, -6, -11, -8, - 10, 7, 5, -3, -12, 11, -29, -11, - 1, 11, 14, 4, -10, -26, -13, 9, - 10, 17, 24, 8, -11, 2, -7, -8, + 6, 2, 4, 1, -103, -17, -7, 7, + 14, 22, 17, 2, 9, -5, -5, 16, + 12, 27, 25, 10, -19, 8, -0, 10, + -3, 5, -6, -7, -23, -7, 2, 1, + -4, -6, -6, -18, -31, -3, 0, 0, + 9, 3, 6, -8, -10, 5, -7, -0, + ], + [ + 5, 21, 22, 16, 27, 7, 24, 8, + -9, -1, -7, -9, 5, -6, -11, -9, + 10, 7, 5, -3, -12, 12, -29, -12, + 1, 11, 14, 4, -10, -25, -13, 9, + 10, 17, 24, 8, -11, 2, -7, -9, -10, 15, 5, 14, 1, -25, -22, -4, -12, -0, 6, 7, 1, -21, -20, -3, - 5, 7, 8, 3, -9, -9, -17, -7, + 5, 7, 8, 3, -9, -9, -17, -6, ], [ - -13, 9, 26, 18, 2, 32, -3, -4, + -14, 8, 26, 18, 2, 32, -3, -4, -14, -3, 4, -3, -1, -21, -5, -28, - -3, 5, 15, 5, -9, -13, -74, -13, + -3, 5, 15, 5, -9, -12, -74, -13, 6, 16, 24, 4, -7, -13, -27, -6, 6, 22, 27, 18, 1, -5, 5, -8, -2, 8, 21, 16, -11, 0, -16, -20, -1, 11, 21, 14, 4, 2, -27, -7, - 5, 7, 16, 11, 1, 6, -15, -15, + 6, 7, 16, 11, 1, 6, -15, -14, ], [ - -6, 20, 42, 40, 24, 8, 26, -11, + -6, 20, 42, 39, 24, 8, 26, -11, -11, 0, 10, -13, -1, -20, -10, -5, - 2, 10, 15, 6, -9, -35, -48, -63, - 14, 13, 21, 20, 4, -6, -6, -56, + 2, 10, 15, 6, -9, -35, -48, -62, + 13, 13, 21, 20, 4, -5, -6, -56, -8, 15, 29, 17, 9, -2, 3, -17, - -13, 1, 13, 15, 10, -0, 2, -30, - -2, 5, 13, 10, 10, -4, -0, -26, + -14, 1, 13, 15, 10, -0, 2, -31, + -2, 5, 13, 10, 10, -4, -1, -26, -6, -6, 16, 3, 8, 6, -9, -36, ], [ - 29, 10, 1, 27, 29, 37, 7, -14, + 29, 10, 1, 27, 29, 37, 6, -14, 7, 5, -24, 9, -8, 11, 14, 4, - -50, -2, -9, 18, 3, 3, 19, 8, - 0, -30, -37, -23, 1, 30, 7, -12, + -50, -2, -9, 18, 3, 3, 20, 8, + 1, -30, -37, -23, 1, 30, 7, -12, -17, -12, -37, -9, -6, -9, 13, 20, 8, -4, 7, -13, -26, 6, 19, 20, - -23, 2, 12, 8, -13, 4, 4, -11, - -11, 6, -11, 6, -4, 13, -17, 3, + -23, 2, 11, 8, -13, 4, 4, -11, + -11, 6, -11, 6, -4, 13, -17, 4, ], [ 4, 3, 14, 33, 42, -0, 8, -9, 7, -4, 10, 28, -0, -1, 6, -9, - 9, -16, -0, 31, 37, 9, 12, -5, + 9, -16, -1, 31, 37, 9, 12, -5, -5, -14, 16, 25, 12, -8, -9, -13, 31, -9, 27, 18, 15, 13, -10, -4, -11, 20, 45, 0, -15, -9, -6, 18, - -34, -42, 0, -12, -19, -3, 38, -1, - -67, -46, -6, -23, -32, -35, -31, -29, + -34, -41, 0, -12, -19, -3, 38, -1, + -67, -45, -6, -23, -32, -35, -31, -28, ], [ 16, 41, 0, 18, 19, 7, 9, 4, - -5, 5, 17, 6, 7, -10, 10, 2, + -6, 5, 18, 6, 7, -11, 10, 2, -11, -8, -10, -2, 28, -16, -10, 11, -5, 23, 0, 9, 25, -12, 27, 18, -0, 20, -19, 5, 27, 12, -1, 16, @@ -5027,49 +5027,49 @@ internal static class TunableEvalParameters 2, 2, 30, 22, 13, 22, -8, -8, -1, 15, 30, -12, 24, 30, 1, -13, 0, 14, 32, 30, -7, 10, 23, -21, - 5, -3, 16, -24, 9, 34, -5, -20, + 5, -3, 16, -23, 9, 34, -5, -20, 29, 7, 29, 56, -6, 11, -15, 7, 9, -7, 9, -63, -19, -8, -29, -29, - -24, -45, -31, -54, -58, -31, -28, -77, + -23, -45, -31, -54, -58, -31, -28, -76, ], [ - -2, 4, 19, 28, 24, 27, 5, -1, + -2, 4, 19, 28, 24, 27, 4, -1, -2, 4, 6, 11, -2, 22, -1, -6, - 12, 15, 1, 16, -5, 12, 2, -18, - 19, 3, 23, 22, -13, 12, 15, 7, + 12, 15, 1, 16, -5, 12, 1, -18, + 19, 4, 23, 22, -13, 12, 15, 7, -20, -22, -10, 24, 31, 17, -20, -20, - 30, 8, 8, 18, 32, 2, 4, -5, + 30, 8, 8, 18, 33, 2, 4, -5, 8, 6, 6, -5, -33, -47, -31, -13, - -20, -23, -9, -1, -48, -38, -43, -44, + -20, -23, -9, -1, -48, -38, -43, -43, ], [ - -8, 24, 29, 42, 24, -12, 36, 3, + -8, 24, 29, 41, 24, -12, 35, 3, -19, -27, 18, 35, 15, -23, 7, 13, -9, -7, 7, -12, 33, -33, 7, -1, 8, 18, 12, 13, 1, -37, 12, -8, - 2, -5, 4, 6, 22, -42, 7, -21, - -5, 24, 2, 12, 27, 43, 25, 14, + 2, -5, 4, 6, 21, -42, 7, -21, + -5, 24, 1, 12, 27, 43, 25, 14, -19, 13, -8, -12, 25, -29, 13, -10, - -4, -18, -26, -30, -5, -71, -39, -54, + -3, -18, -26, -30, -5, -70, -38, -53, ], [ - -11, 0, 32, 7, 28, -9, -5, 33, - -1, -12, 0, 56, 25, -6, -16, 7, + -11, -0, 32, 7, 28, -9, -5, 33, + -1, -12, 1, 56, 25, -6, -16, 7, -1, -2, 14, 29, 21, -20, -21, -4, - 17, -18, 7, 20, -6, -26, -17, 4, + 17, -18, 7, 20, -6, -26, -16, 4, -13, 7, -1, 14, -3, -2, 37, -4, 2, 28, 35, 23, -8, -37, 4, -16, - -3, 2, 46, 18, 3, -10, -54, -21, - -25, -5, -9, -13, -41, -12, -43, -24, + -3, 2, 46, 18, 2, -10, -54, -21, + -25, -4, -9, -13, -41, -12, -43, -23, ], [ - 20, 13, 4, 26, 3, 8, 51, 3, + 20, 13, 4, 26, 3, 8, 51, 4, 18, 20, 4, 26, 2, 1, 5, -5, 10, 6, 11, 12, -19, 6, 10, -16, 4, -1, -25, 5, -3, -35, 2, -32, 13, 8, 4, -27, -7, 2, -2, 7, 8, 15, -14, -1, 8, 16, -2, 32, - 0, 22, 16, 19, -22, 22, -27, -40, + 0, 22, 16, 19, -22, 22, -28, -41, -17, -7, -8, -21, 15, -5, -24, -116, ], ]; @@ -5079,231 +5079,231 @@ internal static class TunableEvalParameters [ -101, -98, 109, 52, -19, -27, -93, -37, -98, -97, 80, 48, -11, -6, -35, -38, - 77, 112, 80, 21, 7, -10, -12, -10, + 76, 112, 80, 21, 7, -10, -12, -10, 27, 49, 25, 28, 5, -40, -2, -21, 19, 15, 2, 2, 1, -14, -18, -23, - 32, 6, 0, 18, 1, -6, -7, -29, - -6, 14, 1, -1, 3, 12, 10, -19, - 18, -2, -8, -4, 21, 27, -5, -24, + 31, 6, -0, 18, 1, -6, -7, -29, + -6, 13, 1, -1, 3, 12, 10, -19, + 18, -2, -8, -4, 21, 28, -5, -24, ], [ -185, -183, -182, 51, 111, 39, 50, 18, - -170, -228, -194, -5, -15, -4, -27, -27, - 18, 13, 32, 50, -3, -7, -2, 15, + -171, -228, -193, -5, -15, -4, -27, -27, + 18, 13, 32, 50, -3, -7, -2, 16, -10, 36, 13, 7, 18, -5, 1, 12, 15, 39, 29, 33, 29, 27, 4, 0, - 24, 33, 30, 27, 26, 24, 32, 3, - 27, 36, 39, 25, 33, 35, 29, 17, + 24, 33, 30, 27, 26, 24, 32, 2, + 27, 35, 39, 25, 33, 35, 29, 17, 16, 24, 21, 21, 24, 24, 6, 11, ], [ - 178, -203, -212, -227, 55, 54, 15, -27, - 61, -238, -183, -194, -13, -7, -23, 0, - 54, 47, 29, -0, 71, -2, 4, -8, - 18, 12, 19, -6, 9, 6, -9, 19, + 179, -203, -212, -228, 55, 55, 14, -28, + 60, -238, -183, -194, -13, -7, -22, 0, + 53, 47, 29, -0, 70, -2, 4, -8, + 17, 12, 19, -6, 9, 6, -9, 19, 41, 36, 20, 19, 20, 14, 14, 10, 22, 40, 41, 22, 16, 19, 27, 13, - 36, 39, 31, 11, 27, 28, 25, 3, - 13, 12, 25, 17, 28, 16, 10, 7, + 36, 38, 31, 11, 27, 28, 25, 3, + 13, 12, 25, 17, 28, 16, 11, 7, ], [ - 65, 85, -204, -169, -159, 117, 49, 18, - 37, 29, -167, -170, -195, -1, 27, -17, + 66, 87, -204, -169, -159, 117, 49, 17, + 36, 28, -167, -170, -195, -1, 27, -17, 18, 57, 34, 18, 1, 61, 26, 9, - 30, -1, 20, 9, -23, 8, 18, 26, - 15, -9, 18, 17, 6, 11, 21, 8, + 30, -1, 19, 9, -23, 8, 18, 26, + 15, -9, 19, 17, 6, 11, 21, 8, 24, 30, -2, 19, 9, 17, -5, -1, - 14, 8, 14, 23, 16, 17, 5, -19, - 14, 13, 1, 30, 10, 24, -1, -8, + 13, 8, 14, 23, 17, 17, 5, -19, + 14, 14, 1, 30, 10, 24, -0, -8, ], [ - -12, 34, 93, -206, -206, -206, 45, 59, - -1, -4, -5, -189, -206, -225, -2, 33, - 17, 19, 37, -3, 21, -22, 102, 40, + -13, 34, 93, -207, -207, -207, 46, 60, + -0, -3, -5, -189, -207, -225, -3, 31, + 17, 19, 38, -3, 21, -22, 102, 39, 7, 19, 9, -22, 17, -5, 13, 48, - 20, 1, 17, 11, 25, 13, 25, 18, - 17, 32, 10, 24, 23, 20, 34, 31, - 19, 15, 26, 25, 38, 32, 21, 26, - 4, 21, 22, 28, 43, 19, 27, 13, + 20, 1, 17, 11, 25, 14, 25, 18, + 17, 33, 10, 24, 23, 20, 34, 31, + 19, 15, 26, 26, 38, 31, 21, 26, + 4, 22, 23, 28, 43, 19, 28, 14, ], [ 34, 36, 8, 60, -187, -175, -173, 113, - 3, 19, 14, -28, -225, -179, -184, 53, - -20, -0, 18, 53, 26, 49, 40, 91, + 3, 18, 14, -28, -225, -180, -184, 53, + -19, 0, 18, 53, 26, 49, 39, 91, 3, 6, 29, 1, -5, 10, 19, 22, 1, 7, 1, 21, 0, 12, 18, 50, -1, 11, 14, 18, 12, 28, 36, 39, 13, 22, 6, 18, 13, 37, 25, 12, - -16, 1, 8, 23, 14, 24, 9, -11, + -16, 2, 8, 23, 14, 24, 10, -11, ], [ - -78, 1, 15, 51, 62, -154, -188, -136, + -78, 1, 15, 51, 62, -154, -187, -136, -26, -29, -20, -27, -40, -85, -151, -141, -6, -1, -7, -2, 56, 36, -5, 17, - -17, -2, -4, 11, 10, 10, 29, -3, - 2, 9, 17, 23, 25, 28, 44, 31, + -17, -2, -4, 11, 10, 10, 28, -3, + 2, 9, 17, 23, 24, 28, 44, 31, 12, 25, 18, 19, 28, 27, 43, 43, 15, 15, 26, 29, 25, 29, 43, 55, - 17, 20, 23, 28, 29, 24, 22, 33, + 17, 20, 23, 28, 29, 24, 23, 33, ], [ - -72, 25, -42, 55, 84, 102, -146, -146, + -72, 26, -41, 55, 84, 103, -146, -146, -46, -26, -37, -14, 28, -5, -106, -172, - -31, 17, -7, 4, 12, 85, 72, 49, + -31, 18, -7, 4, 12, 85, 72, 49, -41, -19, -3, 2, 0, 45, 19, 39, -14, -31, -2, 10, 17, 40, 37, 50, - -6, -1, 5, 4, 16, 9, 34, 44, + -6, -1, 5, 4, 16, 9, 34, 43, -1, -11, 1, 8, 8, 9, 33, 46, - -8, -8, -3, 8, 6, -3, -30, 7, + -8, -8, -3, 9, 6, -3, -30, 7, ], [ - 104, 71, 103, 45, 51, -36, -3, -59, + 104, 72, 103, 44, 51, -37, -3, -60, 40, 31, 141, -4, 38, -2, -19, -47, - -158, -161, -128, 30, -8, -51, -22, -53, - 15, 18, 14, 61, -6, -25, -23, -44, - 20, 82, 14, 7, 22, -20, -30, -50, - 22, 26, 2, 2, -12, -5, -11, -35, - 22, -2, 15, 8, -4, -1, 2, -28, - 4, 37, 5, 1, 15, 9, -6, -19, - ], - [ - 101, 90, 58, 104, -22, 19, 6, -29, - 88, 160, -50, 43, 27, 19, -22, -56, - 59, -160, -166, -162, -17, -13, -2, -46, - 115, 17, 22, 36, 91, -42, -8, -52, + -158, -161, -128, 31, -9, -51, -22, -53, + 15, 18, 15, 61, -6, -25, -23, -45, + 21, 82, 14, 7, 21, -20, -30, -50, + 21, 26, 2, 2, -12, -5, -12, -35, + 22, -3, 15, 8, -4, -1, 2, -28, + 4, 37, 5, 2, 15, 10, -5, -19, + ], + [ + 102, 90, 57, 103, -23, 18, 6, -30, + 88, 160, -50, 43, 27, 20, -22, -56, + 58, -160, -166, -162, -17, -13, -1, -46, + 116, 17, 22, 36, 91, -42, -7, -52, 2, 39, 12, 40, -11, 6, -63, -17, - -1, -1, 18, 5, -10, -31, 5, -57, + -1, -1, 18, 5, -10, -30, 4, -57, -8, -5, -26, -12, -6, -9, -9, 2, - -10, -10, 11, -13, 20, -18, -21, -32, + -10, -9, 12, -13, 20, -17, -21, -32, ], [ - 51, 46, 122, 41, 135, 34, 59, 40, - 26, 13, 53, -72, 68, -13, 15, -5, + 51, 46, 121, 40, 135, 34, 58, 39, + 26, 13, 52, -72, 68, -13, 15, -5, 13, 56, -139, -162, -144, 9, 15, -4, - -0, 58, -18, 63, -36, 65, 23, -33, - 16, -13, -0, 9, -4, -34, 12, -28, - -2, -9, -16, 1, -15, -18, -39, -29, - 5, -25, -4, -16, -0, -17, -13, -19, + 0, 58, -18, 63, -36, 65, 23, -33, + 16, -12, -0, 10, -4, -34, 13, -28, + -3, -9, -16, 0, -16, -18, -39, -29, + 5, -25, -3, -16, -0, -17, -13, -19, -31, -5, -7, 4, -17, -14, -22, -26, ], [ - -29, 68, 102, 92, 44, 92, 57, 53, - -2, 4, 39, 57, 25, 53, 45, 5, - -8, 32, -4, -186, -159, -144, 51, 49, - -11, -36, 87, -18, 60, -50, 69, 3, - -46, 18, -14, -4, 24, 7, -21, 19, + -29, 68, 102, 91, 44, 91, 58, 54, + -2, 5, 40, 57, 25, 53, 44, 4, + -8, 32, -4, -186, -159, -144, 52, 49, + -10, -36, 87, -18, 59, -50, 68, 3, + -45, 18, -14, -4, 24, 7, -21, 19, 28, -16, -23, -8, -8, -0, 8, -17, - -26, -38, -17, -7, 4, -1, -40, -36, - -26, -36, -7, -19, -29, -37, -19, -51, + -26, -38, -17, -7, 5, -1, -41, -36, + -27, -36, -7, -19, -29, -37, -19, -51, ], [ - -62, -22, 3, -12, 190, 108, 135, 76, - -17, 2, -3, 35, 97, 167, 130, 77, - -27, -56, -10, 9, -173, -174, -172, 58, - -37, -13, -30, 62, -30, 44, 15, 89, + -63, -22, 2, -13, 189, 107, 135, 78, + -16, 3, -2, 35, 97, 166, 130, 77, + -27, -56, -9, 10, -173, -175, -173, 57, + -37, -13, -29, 62, -30, 44, 15, 89, -40, -34, 6, 13, 2, 0, 14, 2, -46, -1, -34, -8, -17, -1, -19, -14, - -4, -46, -11, -11, -9, -1, -27, 2, + -4, -46, -11, -10, -9, -1, -27, 2, -35, -25, -23, 6, -32, -17, -25, -25, ], [ - -58, -22, -49, 34, -24, 132, 132, 157, + -58, -22, -49, 34, -24, 132, 133, 157, -9, -44, -44, 22, 23, 168, 144, 227, -46, -15, -26, -10, 10, -134, -171, -202, - -41, -26, -19, -10, 70, 49, 10, 10, + -41, -26, -19, -10, 70, 49, 10, 9, -35, -37, -31, 18, 3, 6, 55, 20, - -38, -28, -1, -20, 1, -2, 35, 9, - -44, -3, -16, -2, -6, -4, -7, 13, + -38, -28, -1, -20, 1, -1, 35, 9, + -44, -3, -16, -2, -6, -5, -8, 13, -4, -18, -13, -6, -9, -24, -6, -42, ], [ - -75, -72, -43, 9, 53, 45, 114, 50, + -75, -72, -42, 9, 53, 45, 114, 50, -57, -57, -24, -18, 20, 56, 144, 56, -47, -36, -47, -7, 35, 122, -83, -103, -65, -15, -33, -12, 5, 125, 68, 27, -36, -21, -18, -5, 14, 7, 32, 42, - -25, -12, -23, 7, 1, 9, 1, 39, + -26, -12, -23, 6, 1, 9, 0, 39, -25, -24, -7, -4, -6, -8, 25, 16, - -32, -8, -21, 1, -23, -2, -16, -15, + -32, -8, -20, 1, -23, -2, -16, -15, ], [ - 71, 40, 29, 51, -47, -16, 6, -76, + 71, 40, 29, 52, -47, -16, 6, -77, 15, 56, 100, 90, 7, 16, -39, -66, - -4, 8, 152, 49, 50, -18, -29, -100, - 14, -21, 99, 52, 43, -64, -30, -18, - 23, 15, 128, 11, -26, -29, -28, -137, - -34, 53, 63, 7, -14, 6, -80, -53, - 10, 46, -36, -22, -29, -51, 8, -43, - -14, 17, -54, -19, -67, -0, -7, -61, + -4, 9, 152, 50, 50, -18, -29, -100, + 14, -21, 100, 52, 43, -64, -30, -18, + 24, 15, 128, 11, -27, -29, -28, -137, + -33, 53, 63, 7, -14, 6, -80, -53, + 10, 46, -36, -23, -28, -51, 8, -43, + -15, 17, -54, -20, -67, -0, -7, -61, ], [ 12, 30, 14, 15, -49, -60, -42, -86, - 87, 40, -5, 35, 29, -14, 9, -19, - 44, 20, -4, 2, 9, 53, -79, -24, + 88, 40, -5, 34, 29, -14, 9, -19, + 44, 20, -4, 2, 10, 53, -79, -24, 12, 3, 2, -6, 3, 24, -51, 13, 23, 27, -15, 16, 23, 27, -4, 21, 15, -10, -2, -20, 31, 14, -20, -36, - 0, 15, -12, 29, 25, 11, 9, -42, + 0, 15, -12, 29, 25, 11, 8, -42, -7, 2, -29, -27, -33, -22, -39, 10, ], [ -66, 14, 54, 27, -34, -57, -70, -70, - 48, 50, 42, 74, 7, 25, 7, -11, - 48, 21, 23, 50, 19, 24, 0, 18, + 48, 51, 43, 74, 7, 25, 7, -11, + 48, 21, 23, 51, 20, 25, 0, 18, 3, 2, -7, -42, 12, 19, -2, -26, - -21, -31, -5, -37, 25, 10, 1, 27, + -21, -31, -5, -37, 25, 9, 1, 27, -11, -3, -3, -34, 3, 16, -7, -32, - -17, -25, 10, -17, 19, -27, -23, -9, + -17, -25, 10, -17, 19, -28, -23, -9, 36, 6, -7, -44, -8, -20, 5, 17, ], [ - -18, 11, -20, 1, -44, -32, -34, -62, - -46, 16, 34, 38, 10, 16, 9, -0, - 36, 23, -7, 86, -6, 22, 77, -11, + -18, 11, -21, 1, -44, -32, -34, -62, + -46, 16, 34, 38, 10, 16, 9, -1, + 36, 23, -7, 87, -6, 22, 77, -11, -9, 36, 21, 13, 5, 17, 13, -14, - -11, 33, -10, -11, 4, 14, 10, -44, - -26, 33, -33, -5, -44, 42, 1, 23, + -11, 32, -10, -11, 4, 14, 10, -44, + -26, 33, -33, -5, -44, 43, 1, 23, -58, -0, 22, 18, -31, -16, -20, 28, - -18, -31, 3, -3, -25, -2, -21, -2, + -18, -32, 3, -3, -25, -2, -21, -2, ], [ -32, -46, -15, 43, 28, 4, -16, -42, - 4, 8, 51, 28, 40, 58, 97, 22, + 3, 8, 51, 28, 40, 58, 98, 22, -19, -11, -23, 13, 42, 1, -17, 73, - -25, -23, -13, 10, 19, 18, -7, 7, - -30, 6, 19, -4, 25, -28, 12, 5, + -25, -22, -13, 10, 19, 18, -7, 7, + -30, 6, 19, -4, 25, -28, 12, 4, -11, -39, 4, -15, -6, 4, 29, 44, - -2, -39, 15, -32, 4, -103, -21, 8, + -2, -40, 15, -32, 4, -103, -21, 8, -37, -23, -17, -19, 2, -15, -24, 14, ], [ -61, -43, -41, -7, 52, -23, -11, -34, - -16, 1, 8, 17, 68, 31, 37, 91, + -16, 1, 8, 17, 69, 31, 38, 91, -8, 32, 20, -6, 53, -15, 76, 17, - -6, 20, -34, 32, -14, -16, 4, 38, - -16, 1, -22, -10, -35, 1, -27, -17, + -6, 21, -34, 32, -14, -16, 4, 38, + -16, 1, -22, -11, -35, 1, -27, -17, -30, -6, 42, -12, -41, -7, -9, 12, 6, 43, 20, 22, 5, -18, -31, 24, -11, -58, -7, 4, -1, 3, -44, -44, ], [ -53, -65, -55, -52, -0, -27, 48, -6, - -39, -5, 9, 44, 33, 23, 12, 69, - -39, -35, 49, 3, 11, 53, 59, 89, - 12, -16, -18, 7, 10, -15, -36, 16, - -25, -28, -13, -34, 49, 12, -12, 10, - 10, -43, -25, 33, 33, -51, -6, -13, + -39, -5, 9, 44, 33, 23, 13, 69, + -39, -36, 49, 3, 11, 53, 59, 89, + 11, -16, -19, 6, 10, -15, -36, 16, + -25, -28, -12, -34, 49, 12, -12, 10, + 10, -42, -25, 33, 33, -51, -6, -13, -24, 12, 26, 14, -33, 1, 22, -38, - -13, 31, 5, 52, 1, -27, -9, -7, + -12, 31, 5, 52, 1, -27, -9, -7, ], [ - -67, -120, -61, 18, 20, -17, -21, -6, + -67, -120, -61, 18, 20, -18, -21, -6, 17, 30, 39, -23, -45, 26, 12, -3, -5, 11, -5, -21, 30, 88, 25, -16, -25, 7, -22, -22, 3, 71, 23, 23, -13, -25, 7, -42, 8, 64, -12, -7, - -20, -28, -20, 24, -23, 30, -1, -5, - -52, 35, -21, 22, 46, 44, -6, -21, + -20, -28, -19, 25, -23, 30, -1, -5, + -52, 34, -20, 22, 46, 44, -6, -21, -15, -6, 28, 12, 8, -3, 15, 14, ], ]; @@ -5314,148 +5314,148 @@ internal static class TunableEvalParameters -147, -144, -0, 78, 80, 86, 114, 53, -148, -146, 10, 46, 80, 52, 41, 33, -79, 35, 46, 70, 51, 36, 33, 29, - 3, 22, 74, 30, 38, 65, 8, -12, - 27, 8, 27, 49, 54, 36, 3, -30, - -56, 1, 11, -15, 31, 27, -5, -1, + 3, 22, 74, 30, 38, 66, 8, -12, + 27, 8, 27, 49, 54, 37, 3, -30, + -56, 2, 11, -15, 31, 27, -5, -1, 0, -36, -40, -20, -9, -20, -75, -9, - -59, -22, -89, -44, -84, -83, -53, -60, + -59, -22, -90, -44, -84, -83, -54, -60, ], [ -221, -222, -220, 67, 27, 34, 59, 71, - -211, -241, -227, 85, 106, 56, 70, 69, + -211, -242, -227, 85, 106, 56, 70, 69, 15, 30, 56, 72, 68, 53, 44, -12, - 63, 19, 46, 89, 46, 52, 46, -6, - 36, 18, 10, 16, 37, 28, 33, 28, - 54, 7, -3, 25, 7, 18, -7, 10, + 63, 18, 46, 89, 46, 52, 46, -6, + 36, 17, 10, 16, 37, 28, 33, 28, + 54, 8, -3, 26, 7, 18, -7, 10, 1, -12, -32, -17, 2, -17, -33, -14, 21, -24, -35, -5, -19, -36, -33, -48, ], [ - -131, -229, -233, -247, 11, 49, 71, 147, - 43, -247, -232, -260, 72, 49, 53, 4, - 95, 41, 77, 42, 53, 47, 15, 48, - 74, 33, 74, 87, 55, 127, 44, 2, - 18, 16, 57, 60, 57, 34, 69, -21, - 44, -23, -1, 11, 48, 16, -26, 18, - -23, -50, -0, 18, 6, 1, -14, -20, - 4, -1, -25, -15, -29, -1, -29, -33, + -131, -230, -233, -247, 11, 48, 72, 147, + 43, -248, -232, -260, 72, 49, 52, 4, + 96, 41, 77, 42, 53, 47, 16, 48, + 74, 33, 74, 88, 55, 127, 44, 2, + 17, 15, 57, 60, 57, 35, 69, -21, + 45, -23, -1, 11, 48, 16, -26, 18, + -23, -49, -0, 18, 6, 1, -14, -20, + 4, -2, -26, -15, -29, -1, -29, -33, ], [ - 52, -11, -165, -151, -143, 62, 68, 84, - 28, 15, -150, -152, -159, 66, -4, 64, + 52, -11, -165, -151, -143, 61, 68, 83, + 29, 16, -150, -152, -159, 66, -4, 64, 5, 68, -6, 2, 43, 88, 15, 13, - 19, 42, -13, 27, 38, -2, 83, 10, - 19, 89, 31, 45, 49, -1, -2, 28, - 12, 4, 21, 33, 7, 4, 36, -14, - -24, 25, -25, 4, -7, -32, 8, 41, - -31, -36, -35, -17, -60, -75, -8, -28, + 20, 42, -12, 27, 38, -2, 83, 10, + 19, 90, 31, 45, 49, -0, -2, 27, + 13, 4, 21, 33, 6, 5, 36, -14, + -23, 25, -25, 4, -7, -31, 8, 42, + -31, -36, -36, -17, -60, -76, -8, -29, ], [ 156, 99, -11, -229, -229, -229, 131, 70, - 49, 44, 63, -219, -229, -230, 73, 70, - 2, 16, 70, 73, 28, 69, 25, 39, - 1, 66, 48, 35, 75, 28, 61, 61, - 42, 19, 18, 18, 48, 37, 30, 35, - 13, 13, 19, -5, 35, -6, 12, -25, - -13, 6, -38, -19, -24, -15, -3, 29, - 5, -45, -49, -36, -65, -16, -65, -31, - ], - [ - 86, 41, 59, 48, -211, -198, -197, 43, - -2, 6, 36, 85, -200, -196, -198, 46, - 36, 5, -15, 42, 7, 19, 45, 28, - 22, 15, 102, 59, 52, 55, 44, 48, - -13, 66, 28, 35, 44, 52, 22, 11, - 26, 6, 32, 40, 21, 9, -3, 19, - -57, -27, 27, -3, 4, -31, -16, 70, - 17, -18, -8, -15, -54, -48, -59, 11, - ], - [ - 186, 130, 105, 67, 36, -379, -399, -385, - 54, 85, 95, 103, 124, -344, -376, -362, + 49, 44, 63, -219, -229, -230, 74, 71, + 3, 16, 70, 73, 28, 69, 25, 39, + 1, 66, 49, 35, 74, 28, 61, 61, + 42, 18, 18, 18, 48, 37, 30, 35, + 13, 14, 19, -5, 35, -6, 13, -24, + -12, 6, -38, -19, -24, -15, -3, 29, + 5, -45, -50, -36, -65, -16, -65, -32, + ], + [ + 86, 41, 59, 48, -212, -198, -197, 44, + -2, 7, 36, 85, -200, -196, -198, 46, + 36, 4, -15, 41, 7, 19, 45, 29, + 22, 15, 101, 59, 52, 56, 44, 48, + -13, 66, 28, 35, 44, 52, 23, 11, + 26, 6, 32, 40, 21, 9, -2, 19, + -57, -28, 27, -3, 4, -31, -16, 71, + 17, -19, -9, -15, -54, -49, -60, 12, + ], + [ + 186, 130, 105, 67, 36, -379, -399, -384, + 54, 85, 95, 103, 124, -343, -376, -362, 34, 56, 83, 70, 79, 60, 72, 46, - 47, 38, 63, 74, 70, 36, 48, 64, - 20, 35, 45, 62, 48, 37, 28, 24, - 1, 29, 32, 41, 47, 22, 12, -3, - 17, -3, 6, 16, 13, -0, -16, -32, - -32, -18, -7, 4, -17, -21, -40, -30, + 47, 38, 63, 74, 69, 36, 48, 64, + 19, 35, 45, 62, 48, 37, 28, 24, + 1, 29, 32, 41, 47, 22, 13, -3, + 17, -3, 6, 16, 14, -0, -16, -31, + -32, -19, -7, 3, -17, -21, -40, -29, ], [ 92, 38, 90, 23, 26, -46, -234, -234, - 39, 36, 74, 80, 62, 112, -205, -268, - 18, -27, 54, 54, 58, 131, 42, 0, + 40, 36, 74, 80, 62, 112, -205, -268, + 18, -27, 54, 54, 57, 132, 43, 0, 30, 36, 12, 45, 61, 18, 77, 7, -13, 35, 22, 51, 38, 16, -13, -13, - -31, 10, 9, 34, 16, 15, -26, -46, + -31, 10, 9, 34, 16, 16, -26, -46, 15, -11, -15, -5, 0, -3, -60, -80, - -17, -37, -33, -35, -28, -34, 10, -72, + -17, -37, -33, -35, -28, -34, 9, -72, ], [ - -5, 19, 10, 11, 20, 62, 22, 51, + -6, 19, 10, 12, 20, 63, 22, 51, -7, -9, -16, 41, 16, 52, 55, 51, - -184, -189, -164, 42, 32, 65, 19, 56, - -11, 30, -6, 5, 19, 28, 29, 35, - 17, -42, -31, 2, 24, 54, 63, 32, - 7, 15, 2, -12, 34, 37, -6, 47, - -4, -19, -37, -33, 11, 11, 7, -1, - -46, -131, -63, -19, -53, -15, -80, 45, - ], - [ - -44, -19, 16, 9, 70, 12, 3, 7, - -19, -18, -40, 40, 20, 50, 55, 72, - -20, -181, -176, -183, 32, 20, 18, 26, - -42, -12, 18, -41, -33, 31, 28, 28, - 36, -37, 45, -56, 18, 39, 69, 19, + -184, -189, -164, 42, 32, 65, 20, 56, + -11, 30, -7, 5, 19, 28, 29, 35, + 17, -42, -31, 2, 24, 54, 63, 31, + 7, 15, 2, -11, 34, 37, -6, 47, + -4, -19, -36, -33, 10, 11, 7, -1, + -46, -130, -63, -19, -54, -16, -81, 45, + ], + [ + -44, -20, 16, 9, 70, 12, 3, 7, + -19, -18, -40, 41, 21, 50, 55, 72, + -20, -181, -175, -183, 33, 20, 17, 26, + -43, -12, 18, -41, -33, 31, 28, 28, + 36, -36, 45, -56, 19, 38, 69, 19, 30, 24, -23, 21, 13, 43, -31, 59, - 10, 8, 29, 9, 12, 25, 1, 13, - 21, -48, -28, 6, -70, 17, -20, 18, + 10, 8, 29, 8, 12, 25, 2, 12, + 21, -48, -28, 6, -70, 17, -20, 19, ], [ - -6, 22, -52, 37, -52, 24, 12, 14, - 19, 40, 29, -112, 23, 74, 64, 47, - -8, -27, -165, -180, -169, 4, 19, 31, - 6, -23, -3, 5, 12, -4, -8, 52, - -2, 15, -14, 51, -38, 42, 16, 43, - -30, 35, 17, 27, 3, 28, 45, 39, + -7, 22, -52, 37, -53, 24, 13, 14, + 19, 41, 30, -112, 23, 74, 64, 47, + -7, -27, -165, -180, -169, 4, 20, 32, + 6, -23, -3, 5, 12, -5, -8, 51, + -1, 15, -14, 51, -38, 42, 16, 43, + -30, 34, 17, 27, 3, 28, 45, 38, -16, 34, 3, 40, 5, 23, 16, 1, - 30, -27, -58, 6, -43, -19, -19, 24, + 30, -27, -58, 6, -43, -19, -19, 25, ], [ - 17, -15, -48, 10, 69, 17, -1, 2, + 17, -15, -48, 10, 69, 17, -2, 2, 39, 44, 3, 23, 23, -4, 13, 63, - -9, -23, 21, -202, -174, -163, 6, -14, - 9, 31, -60, -34, -19, 34, 8, 1, - 41, 6, 7, -27, 31, -22, 51, 50, + -9, -23, 21, -202, -174, -163, 5, -14, + 9, 32, -60, -35, -18, 34, 8, 1, + 40, 6, 7, -27, 31, -22, 51, 50, -33, 38, 19, 2, 17, -3, -26, 40, - 11, 12, -7, 3, -11, 22, 53, 32, - 1, 28, -7, -1, -5, 15, -15, 13, + 11, 12, -8, 3, -11, 22, 53, 32, + 1, 28, -7, -0, -5, 16, -15, 13, ], [ - 42, 27, 29, 44, -102, 78, -21, -30, + 43, 27, 29, 44, -102, 78, -21, -31, 21, 42, 50, 11, -43, 16, -14, 10, 13, 62, 29, 7, -204, -202, -209, 39, 27, -3, 19, -5, -7, -19, -14, -19, - 47, 25, 14, 8, -33, 39, -16, 41, - 31, 23, 47, 11, 10, -4, 43, 45, + 47, 25, 13, 9, -33, 39, -16, 41, + 31, 23, 47, 10, 10, -4, 43, 45, -12, 18, -1, 10, -2, -3, 21, -4, 10, 4, 14, -22, 3, -12, -11, -15, ], [ - 25, 14, 52, 4, 35, -14, 5, -14, + 25, 14, 52, 5, 35, -14, 5, -14, 6, 71, 77, 35, 22, -18, 43, -74, 27, 35, 48, 21, 46, -192, -214, -234, 16, 17, 32, 18, 14, -65, 44, -2, - 20, 37, 47, 33, 20, -19, -6, 5, - 22, 26, 23, 35, 12, 6, -23, 14, - 9, 5, 5, -4, 8, -0, 4, -25, - -36, -22, -11, -15, -13, -11, -43, 13, + 20, 37, 47, 32, 20, -19, -6, 5, + 22, 26, 23, 35, 12, 5, -23, 14, + 9, 5, 5, -4, 8, -0, 5, -25, + -36, -22, -11, -14, -13, -11, -43, 13, ], [ - 50, 31, 50, 17, 18, 37, -7, 20, - 34, 57, 50, 61, 53, 8, -41, -23, - 25, 22, 61, 38, 22, 5, -146, -205, + 51, 31, 49, 17, 18, 37, -7, 20, + 34, 57, 50, 61, 53, 8, -42, -23, + 25, 22, 61, 38, 21, 5, -146, -205, 13, -11, 30, 34, 36, 15, -31, 27, - -14, 1, 23, 35, 39, 27, -38, -32, + -14, 1, 23, 35, 39, 28, -38, -32, -28, 6, 25, 25, 16, -4, -9, -49, 1, -28, 11, -5, -19, -8, -45, -42, -36, -27, -12, -29, -12, -48, -43, -30, @@ -5464,21 +5464,21 @@ internal static class TunableEvalParameters 4, -0, 22, -8, 56, 7, -57, -9, -11, -32, -33, 16, 41, 17, -6, 57, 18, -35, -37, -1, 15, 36, 46, 11, - 23, -3, -27, 15, -13, 36, 13, -24, - 4, -23, -41, 6, 32, 40, -1, 30, + 23, -2, -27, 15, -13, 36, 14, -24, + 4, -23, -41, 6, 32, 40, -0, 30, -1, -55, -35, -11, 16, -17, 50, -10, - 29, -104, 16, -23, -2, -13, -23, -7, + 29, -104, 16, -23, -3, -13, -23, -7, 13, -51, 35, -11, 22, -13, -5, 18, ], [ - 0, 78, 2, 21, -27, 6, -9, -40, + 0, 78, 2, 21, -26, 6, -9, -40, -13, 72, 5, -4, 37, 48, 9, -34, -26, 85, 25, -3, 34, 6, -18, 1, -47, 5, -10, -2, -11, -15, -19, 35, -21, 76, -8, 9, -10, -17, 32, 23, 34, 12, 31, -43, 1, 28, 1, -41, -13, 35, -45, -36, -13, 14, -3, -22, - 0, 12, -65, -71, -17, -72, -41, 42, + 0, 12, -65, -71, -18, -72, -41, 42, ], [ -0, -4, 110, 4, 14, 49, 25, 8, @@ -5488,30 +5488,30 @@ internal static class TunableEvalParameters -41, -69, 25, -36, 1, 7, 34, 65, -119, -7, 30, -24, -35, -10, 66, -1, -30, -17, 50, -51, 7, -25, 6, 29, - -9, -53, 7, -78, -31, -42, 10, 60, + -9, -53, 7, -78, -30, -41, 10, 60, ], [ -33, 34, -18, 76, 30, -14, -19, 17, - -15, -45, -34, 102, -6, 37, 24, -13, - 70, 9, 7, 129, 8, -69, 71, -26, - -17, 31, -28, 46, -31, 12, -15, -25, + -15, -45, -34, 102, -6, 37, 24, -12, + 70, 9, 6, 129, 8, -69, 71, -26, + -17, 31, -28, 47, -31, 12, -15, -25, -30, -17, 1, 35, -21, -9, -9, 29, -16, -53, -8, 64, -14, -53, -28, 42, -88, -50, 12, 62, -25, -14, -52, 49, - -3, -27, -31, 33, -59, 8, -15, -12, + -3, -27, -32, 33, -59, 8, -15, -12, ], [ -21, 23, 16, -28, 67, 8, -17, -2, - -2, 25, 6, 44, 46, 7, 10, 7, + -3, 25, 6, 44, 46, 7, 10, 7, 3, 36, -12, 11, 75, -18, 3, 41, -77, -54, -14, 18, 64, 47, -28, -35, -22, 11, 35, 41, 69, -20, 54, -6, - -24, -27, -51, -3, 25, 20, -32, 27, - -24, -40, 41, -18, 55, -98, -38, -14, + -24, -27, -51, -3, 25, 20, -33, 27, + -25, -40, 41, -18, 55, -98, -38, -14, -39, -66, -58, -65, 48, -4, -37, 13, ], [ - -17, -2, 7, 12, 54, 53, 39, -46, + -16, -2, 7, 13, 54, 53, 39, -46, -40, -16, 35, 25, 40, 91, -9, 23, -0, 8, 5, 9, 3, 40, -51, 27, 30, 13, -22, -17, 9, 10, -13, -59, @@ -5522,21 +5522,21 @@ internal static class TunableEvalParameters ], [ -10, 4, 2, 33, -2, -3, 55, 14, - 8, 51, -4, 53, 10, -11, 33, -29, - 17, -38, 6, 10, 46, -41, 96, -43, - 19, -10, 14, -29, 14, -34, -7, 11, - -25, -19, 5, -2, 3, -8, 21, 16, + 8, 51, -4, 53, 10, -10, 33, -29, + 17, -38, 6, 10, 46, -40, 96, -43, + 20, -10, 14, -29, 14, -34, -7, 11, + -25, -19, 5, -2, 4, -8, 21, 16, 24, 3, 7, -26, -43, -55, 14, 20, - 17, 44, -18, -50, -56, -34, 11, -56, + 16, 44, -18, -50, -56, -34, 11, -56, -3, 35, 0, 13, 15, -38, -4, -50, ], [ -1, -42, -9, 19, 10, -6, -2, -17, -30, 5, 38, -25, 9, 7, -17, 12, - 18, 23, 19, -2, 20, 46, -32, -24, + 18, 23, 19, -2, 20, 46, -32, -25, 3, 22, -19, 13, -11, 12, -7, 16, - -3, 22, 40, 1, 22, 13, -18, -8, - -9, 6, -25, 2, 11, 15, -4, -7, + -3, 22, 40, 1, 22, 13, -17, -8, + -9, 6, -26, 2, 11, 15, -4, -7, -24, 48, -19, 20, 4, 63, -29, -29, -3, 20, -32, -22, 6, -48, -67, 7, ], @@ -5549,170 +5549,170 @@ internal static class TunableEvalParameters 0, 0, 31, 5, -65, 38, -6, -4, -9, 3, 28, 31, 33, 46, -17, 25, -19, 44, -19, -33, -14, -21, -7, -9, - 0, -7, -41, -11, -8, 66, 2, -27, + -0, -7, -41, -11, -8, 66, 2, -27, -1, 9, -16, -19, -1, -42, -16, -4, - -18, 7, 26, 7, 2, -5, 13, 10, + -18, 7, 26, 7, 2, -5, 12, 10, 18, -1, -19, -10, 4, -6, 10, -8, ], [ 0, 0, 0, -2, -40, 5, 13, 10, - 0, 0, 0, 6, 16, -16, 14, -0, - 45, 69, -16, -34, 35, 15, -30, 50, + 0, 0, 0, 6, 16, -16, 14, 0, + 45, 69, -16, -34, 35, 15, -30, 51, -21, -50, -36, -32, -24, -15, 1, -35, - -32, -13, -10, -55, -32, -12, -14, -57, - -5, 4, -7, -5, -31, -17, -16, -10, - -13, 13, 18, 19, 22, 9, 21, 27, - 15, 0, -10, -10, -1, -7, 10, -5, + -32, -14, -10, -55, -32, -13, -14, -57, + -5, 5, -7, -5, -31, -17, -16, -10, + -13, 13, 18, 19, 22, 10, 21, 27, + 15, 0, -10, -10, -1, -7, 10, -6, ], [ -8, 0, 0, 0, -14, -22, -18, -1, 8, 0, 0, 0, -31, 8, 13, 28, - -25, 34, -4, -10, -31, -61, 34, -31, - -58, -22, -45, -25, 15, 23, -23, -8, - -29, -63, -34, 0, -31, -38, -33, -72, - 50, 17, -3, -25, -23, 4, -9, 19, - -3, 36, 27, 15, 22, 17, 34, 32, - 24, 10, 0, -1, 11, 5, 19, 4, + -25, 34, -4, -9, -31, -61, 33, -31, + -58, -23, -45, -25, 15, 22, -23, -7, + -29, -63, -34, 0, -31, -38, -33, -73, + 50, 17, -4, -25, -23, 4, -9, 20, + -3, 36, 27, 14, 22, 17, 34, 33, + 24, 10, 0, -2, 11, 5, 19, 4, ], [ -42, -3, 0, 0, 0, -12, 10, 5, -24, -18, 0, 0, 0, 23, 24, -15, - 12, -17, 32, 15, 5, -36, -8, 6, - 4, 22, -16, 3, -6, -38, 10, 9, - -44, -43, -17, -16, -31, -5, -31, -5, - 48, -1, -3, -23, -8, -11, 17, 1, - -13, 41, 25, 26, 26, 17, 26, 14, - 24, 10, 1, 0, 13, 7, 24, 5, + 12, -17, 31, 15, 6, -36, -8, 6, + 5, 22, -16, 3, -5, -37, 11, 8, + -44, -42, -17, -16, -32, -5, -31, -5, + 48, -1, -4, -23, -8, -12, 17, 1, + -13, 40, 25, 26, 26, 17, 25, 14, + 24, 10, 2, 0, 13, 7, 24, 4, ], [ -26, -16, -21, 0, 0, 0, 5, -9, - 11, -3, 9, 0, 0, 0, -13, 20, - -34, -27, 8, 44, 27, 65, -14, 56, - -20, 31, 39, -9, 24, -36, 54, -58, - 11, 4, -65, -44, -15, -73, -64, -13, - 13, -24, -24, -20, -31, -21, 17, -16, + 11, -3, 9, 0, 0, 0, -13, 19, + -34, -27, 8, 44, 26, 65, -14, 56, + -20, 30, 39, -10, 24, -36, 54, -59, + 11, 4, -65, -43, -15, -73, -63, -13, + 13, -25, -24, -20, -31, -21, 17, -16, -22, 23, 39, 16, 15, 28, 31, 17, - 18, 1, -11, -13, 0, -4, 12, -4, + 17, 1, -11, -13, 0, -4, 12, -4, ], [ 4, -2, -37, 13, 0, 0, 0, -5, -11, 6, 22, -6, 0, 0, 0, 2, - 43, -37, -27, -13, 20, -8, 66, 53, - -35, 15, 3, 15, -6, 37, 19, -26, - -21, -42, 11, 18, 19, 7, 28, -11, + 43, -38, -27, -13, 19, -8, 66, 53, + -35, 15, 3, 15, -5, 37, 19, -26, + -21, -42, 11, 17, 19, 7, 28, -11, 11, -21, -29, -26, -27, -15, -6, -13, - -5, 35, 14, -3, 9, 9, 15, 16, - 12, 7, -5, -7, 4, 0, 16, 1, + -5, 34, 14, -3, 9, 9, 15, 16, + 12, 7, -5, -7, 4, 0, 16, 0, ], [ - -33, 11, 30, 20, -15, 0, 0, 0, - 32, 6, 7, -53, 10, 0, 0, 0, + -33, 10, 30, 20, -15, 0, 0, 0, + 32, 5, 7, -53, 10, 0, 0, 0, -41, -8, -107, -6, -52, 24, 38, -17, -59, -30, 7, 0, -17, -32, -3, 4, - -44, -60, -73, -78, -64, -94, -84, -82, - 33, -9, -26, -28, -37, -35, -11, -16, - -25, 15, 13, 3, -0, 14, 15, 7, + -44, -60, -73, -78, -64, -94, -85, -82, + 33, -10, -26, -28, -37, -35, -11, -16, + -25, 15, 14, 3, -0, 14, 15, 7, 10, -10, -19, -24, -12, -16, 0, -14, ], [ - 47, 21, 7, 5, 19, 22, 0, 0, + 47, 21, 7, 5, 20, 22, 0, 0, -27, 15, 52, 27, 6, -36, 0, 0, - -102, -8, 13, -56, 54, 65, 97, 11, - 64, -23, -51, -13, -50, -2, -31, 24, - -24, -41, -52, -95, -64, -42, -19, -74, + -102, -8, 12, -56, 54, 65, 97, 11, + 65, -23, -51, -14, -50, -2, -31, 24, + -24, -41, -51, -95, -64, -42, -19, -74, -6, 20, -18, 12, -6, 0, 2, 14, - -9, 24, 38, 37, 32, 22, 27, 30, - 18, 5, -4, -5, 4, -1, 14, 0, + -9, 24, 38, 37, 32, 22, 27, 31, + 18, 6, -4, -4, 4, -0, 14, 0, ], [ -5, -11, -28, 20, 33, -67, -13, -16, -7, 10, 8, -46, -30, 33, -14, 35, 0, 0, 0, 25, -80, -8, -6, 29, - 11, 26, 5, -20, -14, -27, -21, 6, - -21, -11, 35, -8, 10, -2, 8, -26, + 11, 26, 5, -20, -14, -27, -20, 6, + -21, -11, 35, -8, 10, -2, 7, -27, -39, 5, -11, 11, 3, -17, 7, -3, -16, 6, 3, -16, -8, -3, -7, 8, - 7, -7, -1, -2, -3, 21, 23, -3, + 7, -6, -1, -2, -3, 21, 23, -3, ], [ 5, -10, -11, -2, -42, -31, -24, 9, - -116, 1, 27, 6, 27, 1, -29, -34, + -116, 2, 27, 6, 27, 1, -29, -34, -12, 0, 0, 0, -63, 8, -12, -34, 26, 19, 56, -9, -12, -57, 14, -15, - -17, -8, -3, 6, 23, 38, 44, 52, - -0, -17, 14, 12, -0, -20, 1, -24, + -17, -8, -2, 7, 23, 38, 44, 52, + 0, -17, 14, 12, -0, -20, 0, -24, 0, -2, -11, -15, -19, -9, -0, -6, 27, -3, -1, -7, 22, 3, 31, 23, ], [ -32, 26, -4, -8, -3, -46, -33, 10, - -64, 35, -17, 12, -9, -38, -0, -83, - 3, -12, 0, 0, 0, 45, -63, 43, - -29, -65, -6, 22, -10, -46, 11, 16, + -64, 35, -17, 12, -9, -39, -0, -83, + 3, -13, 0, 0, 0, 45, -63, 43, + -29, -65, -6, 22, -9, -46, 11, 16, 40, -6, 13, -5, -15, 8, 8, 20, - 23, 11, -14, 10, -21, -9, 7, -1, + 23, 11, -14, 10, -21, -9, 7, -0, 5, 8, -1, -5, 6, -5, 3, 2, 17, 30, 5, 5, 18, 12, 36, 33, ], [ 44, -4, 34, 4, -8, 3, -10, -49, - 34, -27, -79, 13, -7, 4, -0, 11, + 34, -26, -79, 13, -7, 4, -0, 11, -23, -2, -14, 0, 0, 0, -65, -91, 2, -46, -0, 19, -6, 5, 10, 4, -11, -0, 8, 21, -8, -18, 17, -8, -27, -6, 5, 5, 3, 6, 1, 12, 6, 2, -13, 1, 4, 3, 11, 1, - 1, 29, 17, 6, 6, -1, 35, 26, + 1, 29, 17, 7, 6, -1, 35, 26, ], [ -42, 48, -10, -20, 31, 3, -17, -17, 85, -27, -45, -18, 30, -19, 24, -113, -12, -18, 5, -23, 0, 0, 0, -15, - 15, -8, -29, -27, 2, 35, -19, -23, - -28, 7, 20, 27, 8, -3, 12, 15, - -31, 16, -8, 10, -1, 3, 1, -5, - -7, -0, -15, -24, 0, -0, 8, 0, - -11, 15, 7, -4, 21, -1, 23, 14, + 15, -8, -29, -27, 2, 35, -19, -22, + -28, 7, 20, 27, 8, -2, 12, 15, + -31, 16, -8, 9, -1, 3, 1, -5, + -7, -0, -14, -24, 0, -0, 8, 0, + -11, 15, 8, -4, 21, -1, 23, 14, ], [ 16, -1, -28, 36, -23, -21, -9, -1, - -28, 62, 28, 45, 3, 8, -12, 7, + -28, 62, 28, 45, 4, 8, -12, 7, 35, 3, -15, -46, 40, 0, 0, 0, - 10, -26, -11, 9, -47, 24, 21, 5, + 10, -25, -10, 9, -47, 24, 21, 5, 3, 27, 1, 27, 2, -2, 6, -17, -47, -9, -9, -18, -13, 4, -2, -13, - -16, -18, -26, -19, -14, -16, -1, 1, + -16, -17, -26, -19, -14, -16, -1, 1, 15, 1, -4, -14, 1, -24, 1, -16, ], [ 22, 20, -28, -8, -5, 47, 4, -10, -13, 7, 23, 37, 43, 1, -8, 10, - 53, -26, -8, -24, -27, -51, 0, 0, - 12, 30, -1, -58, -20, -20, 19, 30, - 19, -2, 13, -10, 11, -10, -11, -4, + 53, -26, -8, -24, -26, -51, 0, 0, + 12, 30, -2, -58, -21, -20, 19, 30, + 19, -3, 13, -10, 11, -10, -11, -4, -60, -3, -24, -3, -0, -0, -2, -2, - -2, 22, -6, -7, -13, 1, 22, 6, - 20, 25, 9, -11, 3, 0, 7, 2, + -2, 22, -6, -7, -13, 1, 23, 6, + 20, 25, 9, -10, 4, 0, 7, 2, ], [ -1, -5, 21, -41, 15, -41, 8, -14, -11, -39, 28, -26, -17, -67, 35, 22, - 2, -1, -4, 27, 30, -5, -23, -79, + 2, -1, -4, 26, 30, -5, -23, -79, 6, -1, -64, -101, 8, 18, -41, -28, - -6, 54, 8, -18, -23, 27, 12, 17, - 10, 4, 70, 29, -3, -8, 20, -9, - 43, 6, 33, 43, 8, -4, -15, -34, - -16, 13, 55, 42, 43, 7, 84, 47, + -6, 53, 8, -18, -23, 27, 12, 17, + 9, 4, 70, 29, -3, -8, 20, -9, + 43, 6, 33, 43, 8, -4, -16, -34, + -16, 13, 55, 42, 43, 8, 84, 47, ], [ - 3, -5, 25, -6, -4, 17, 9, -33, + 4, -5, 25, -6, -4, 17, 9, -33, 15, 12, -31, 28, -31, -6, 3, 3, - 1, -5, 1, -15, -4, -22, 1, -14, + 1, -5, 1, -15, -4, -22, 2, -14, 6, -2, 30, -44, 14, 22, -7, 27, 15, -23, 14, 36, 24, 31, 78, -18, - 5, 24, -6, 11, 45, -12, -57, -23, + 5, 24, -6, 11, 45, -12, -58, -23, -17, -26, -19, -29, 9, -13, -58, 10, - -30, -20, -11, 16, 16, 18, 22, -4, + -31, -20, -11, 16, 16, 18, 22, -4, ], [ 1, -17, -1, 10, -51, 16, 10, 23, @@ -5731,7 +5731,7 @@ internal static class TunableEvalParameters 10, 41, 2, 8, -43, 23, 7, 33, 16, 62, -7, 1, -16, 70, -0, 66, 32, -10, 2, -5, -1, 7, -18, -28, - 89, -31, 9, -22, -19, 11, -23, 15, + 89, -30, 9, -22, -19, 11, -23, 15, -90, 61, 34, -18, -34, -8, 37, 38, ], [ @@ -5740,19 +5740,19 @@ internal static class TunableEvalParameters -6, -15, 0, 32, -83, -51, -18, -12, -39, 21, 12, 16, 34, -5, -2, 15, 3, 71, 69, 18, 5, -53, -9, 42, - 38, 26, 38, -5, 10, -8, 59, 15, - 45, -5, -17, 10, 6, -2, -22, -48, - -26, 13, 61, 0, -50, -13, 70, -28, + 38, 26, 38, -5, 10, -8, 60, 15, + 45, -5, -17, 9, 6, -2, -22, -48, + -26, 13, 61, -0, -50, -14, 70, -28, ], [ - 37, -23, 20, -48, -13, 16, 6, 15, - 8, -21, 6, -46, 29, -14, 2, 3, + 36, -23, 20, -48, -13, 16, 6, 15, + 7, -21, 6, -46, 29, -14, 2, 3, -4, -16, -13, 34, 5, -18, 2, -22, 44, 49, 29, -8, 15, 16, -40, -10, - 55, 71, 50, 21, -11, 2, 12, 20, - -43, 5, 47, 37, 4, 14, 1, 49, + 55, 71, 50, 22, -11, 2, 12, 20, + -43, 5, 47, 37, 4, 14, 2, 48, -41, -8, -18, 27, -5, -35, -24, -43, - 6, 10, 51, 62, -28, -29, 9, -48, + 6, 11, 52, 61, -28, -29, 9, -48, ], [ -3, -15, -22, -66, -16, 44, 18, -5, @@ -5760,7 +5760,7 @@ internal static class TunableEvalParameters 4, 33, 8, -2, -48, 9, 19, 17, 9, -34, 67, 37, 40, -58, 0, -19, -11, 47, 54, 46, 68, -10, -7, 5, - -27, 21, 49, -13, 18, 3, 28, -1, + -27, 21, 48, -13, 18, 3, 28, -1, 51, -15, -54, 52, -21, 19, -21, -19, -6, 2, -4, -35, -31, -83, -34, -66, ], @@ -5771,8 +5771,8 @@ internal static class TunableEvalParameters 48, -33, -85, 71, -90, 64, 0, -15, 40, -15, 8, 7, 50, 36, -16, -5, 5, -4, -1, 62, 68, 107, 10, 5, - -3, -34, 66, -55, 6, 24, -5, -30, - -11, -25, 12, -6, -7, -23, 11, -35, + -4, -34, 66, -54, 7, 24, -5, -30, + -11, -25, 11, -5, -7, -23, 12, -35, ], ]; @@ -5784,12 +5784,12 @@ internal static class TunableEvalParameters -70, 6, 14, -15, -14, -17, 5, -20, -13, -31, 14, 9, 10, 11, 8, -2, 12, -3, 1, 8, 7, -8, 25, 17, - 6, -8, 11, 12, 6, 20, 17, 16, + 6, -8, 11, 12, 6, 20, 16, 16, 15, 0, -7, -13, -1, -2, -4, -9, -15, 14, 14, 9, 9, 18, 14, 0, ], [ - 0, 0, 0, -21, -7, 15, 26, -1, + 0, 0, 0, -21, -7, 15, 25, -1, 0, 0, 0, -1, 32, -10, -13, -3, -17, -2, -12, 22, -18, 3, 1, -10, -8, -7, 10, 6, -5, -1, -6, 2, @@ -5799,13 +5799,13 @@ internal static class TunableEvalParameters -25, 0, -3, -3, -0, 2, 4, -2, ], [ - -76, 0, 0, 0, -19, 9, -19, -16, + -76, 0, 0, 0, -19, 9, -19, -17, -31, 0, 0, 0, 16, 14, 11, 8, 38, -13, 19, 6, 21, 15, 6, -18, - 11, -4, -7, 3, -13, -16, -0, 6, + 11, -4, -7, 3, -13, -15, -0, 6, 22, 12, 16, 16, 20, 12, 11, 32, - 2, -16, -8, 8, 1, -2, 15, 1, - 1, -12, -13, -14, -7, -8, -19, -19, + 2, -16, -7, 8, 1, -2, 15, 1, + 1, -12, -13, -14, -6, -8, -19, -19, -16, 3, 0, -3, -2, 2, 5, 7, ], [ @@ -5816,24 +5816,24 @@ internal static class TunableEvalParameters 11, 8, 4, 12, 7, -2, 20, -9, -18, -1, -1, 12, 4, -4, 1, 1, 4, -16, -15, -15, -11, -4, -14, -0, - -13, 3, 3, 0, 2, 1, 11, 12, + -13, 3, 3, 0, 1, 1, 11, 12, ], [ - 9, -53, -2, 0, 0, 0, 2, 0, - -12, 29, 1, 0, 0, 0, 4, -10, + 9, -53, -2, 0, 0, 0, 2, -0, + -12, 30, 1, 0, 0, 0, 4, -10, -16, 11, 3, -10, 14, -6, 5, -3, 34, -5, -15, 0, -21, 2, -26, -9, - 7, -0, 19, 18, 13, 15, 10, -7, + 7, -1, 19, 18, 13, 15, 10, -8, -11, 2, 2, 2, 4, -2, -6, 17, - 2, -19, -25, -15, -18, -14, -13, -16, - -11, 0, 2, -2, 0, 1, 10, 11, + 1, -19, -25, -15, -18, -14, -12, -16, + -11, 0, 2, -1, 0, 1, 10, 11, ], [ - 15, 12, -12, 29, 0, 0, 0, -51, + 15, 12, -12, 29, 0, 0, 0, -52, 14, -16, -5, -6, 0, 0, 0, -16, - 10, 2, 11, 3, -5, 27, -7, 16, + 11, 3, 10, 3, -5, 27, -7, 16, -5, 6, 12, -25, 1, -20, -19, 6, - -7, 27, 5, 3, 1, -8, -4, 1, + -7, 27, 5, 3, 1, -8, -5, 1, -35, 3, 4, 4, 4, -1, -10, 6, 0, -23, -14, -2, -11, -8, -9, -11, -20, -2, -2, -1, -1, 0, 6, 8, @@ -5841,11 +5841,11 @@ internal static class TunableEvalParameters [ -54, 5, -23, -25, -13, 0, 0, 0, 28, 7, 22, 19, -26, 0, 0, 0, - 25, 12, 35, 0, 11, -7, 7, -32, - 19, -15, -18, -5, 9, -2, -18, -18, + 25, 12, 35, 1, 11, -7, 7, -32, + 19, -15, -18, -5, 10, -2, -18, -18, 20, 27, 18, 21, 17, 15, 16, 3, -31, -4, 8, 11, 6, 1, -11, -5, - 9, -22, -19, -12, -13, -19, -17, -17, + 10, -22, -19, -12, -13, -19, -17, -17, -27, -4, -5, -11, -10, -6, 0, -2, ], [ @@ -5853,7 +5853,7 @@ internal static class TunableEvalParameters 37, -16, -31, 22, 7, 3, 0, 0, -32, 12, -27, 35, -23, -10, -33, -40, -35, 5, 6, -5, 9, 18, -5, -7, - -21, 25, 14, 32, 22, 20, 11, 30, + -21, 25, 13, 32, 22, 20, 11, 30, -36, -19, 12, 2, 3, -12, -8, -13, 8, -14, -20, -23, -19, -15, -17, -23, -8, 2, -7, -12, -11, -8, 2, 0, @@ -5863,24 +5863,24 @@ internal static class TunableEvalParameters -58, -62, 21, -6, -6, 3, 8, 15, 0, 0, 0, -7, 20, 3, 4, -10, -10, -14, -11, 11, 4, 9, 6, -0, - 23, -3, -7, 8, 9, 13, 2, 16, + 23, -3, -7, 8, 9, 13, 3, 16, 32, -4, 4, 4, 1, 10, 9, 9, - 12, 7, 3, 17, 8, -1, -1, -7, + 12, 7, 3, 17, 8, -1, -2, -7, -1, 21, 14, 9, 16, -4, 6, 8, ], [ -90, -22, -7, 12, 10, 5, -5, 10, -15, 3, -2, -26, -10, 5, 7, 2, 3, 0, 0, 0, 13, 2, 3, 7, - -9, -24, -14, -5, 0, 12, -5, 4, + -9, -24, -15, -5, 0, 12, -5, 4, 15, -6, -3, 2, 3, -2, 1, 2, 15, 0, -6, 3, -0, 2, 1, 5, 4, 4, 8, 9, 7, 4, -2, 2, - -8, 15, 7, 11, 7, 6, 3, -3, + -8, 16, 7, 11, 7, 6, 3, -3, ], [ -19, 15, 14, 14, -18, 15, -18, -9, - 14, 1, 22, 20, 71, 5, 5, 6, + 14, 0, 22, 20, 71, 5, 5, 6, -5, -11, 0, 0, 0, -7, 12, -17, -5, -9, -7, -8, -8, 7, -2, -8, -19, -14, -9, -2, 4, -3, 1, -7, @@ -5894,7 +5894,7 @@ internal static class TunableEvalParameters -5, -5, -0, 0, 0, 0, 3, 15, -14, 2, -11, -11, -4, -8, -14, -3, -8, -6, -4, -4, 4, 2, -9, -10, - -14, -5, -8, 1, -5, -9, -4, -11, + -14, -5, -8, 0, -5, -9, -4, -11, -9, -8, -2, -1, -2, 0, -5, -4, -3, -6, -7, 0, 6, 6, 2, -3, ], @@ -5905,7 +5905,7 @@ internal static class TunableEvalParameters -6, 2, 5, 2, -8, -9, -11, 1, -1, 1, -2, -1, 1, -1, -11, -15, -14, -14, -4, 0, -0, -5, -1, -3, - -8, -9, 1, 8, 3, 2, 2, 2, + -8, -9, 1, 8, 3, 3, 2, 2, -1, -1, -0, 8, 3, 11, 10, 7, ], [ @@ -5920,9 +5920,9 @@ internal static class TunableEvalParameters ], [ -3, -43, -4, -21, 23, -9, -9, -7, - 4, 13, 0, -7, -5, 6, 4, 8, + 4, 14, 0, -7, -5, 6, 4, 8, -11, 6, -3, 15, 2, 21, 0, 0, - -3, -5, 8, 16, 1, 3, -16, -39, + -3, -5, 9, 16, 1, 3, -16, -39, -11, 7, 1, 6, 9, 4, -3, -8, -1, -0, -1, 9, 5, 2, 4, -1, 2, -19, -7, 4, 10, 4, 2, 7, @@ -5934,9 +5934,9 @@ internal static class TunableEvalParameters 7, 11, 17, -8, 7, 10, 4, 1, -8, 16, 25, 20, 7, 3, 26, 6, -11, -10, 19, 16, 21, 4, 6, 14, - -4, 48, 16, 16, 7, 2, -9, -2, + -4, 47, 16, 16, 7, 2, -9, -2, 27, 50, 35, 15, 12, 17, 13, 13, - 37, 28, 30, 22, -10, 8, -2, -26, + 37, 28, 30, 23, -10, 8, -2, -26, ], [ -5, 35, 34, -40, -23, -21, -16, 23, @@ -5945,8 +5945,8 @@ internal static class TunableEvalParameters 15, 11, -20, 19, 2, 4, 15, -7, -23, 3, 12, -7, 6, -2, -8, 29, 33, 62, 7, 11, -1, 10, 17, 7, - -19, 14, 24, 4, 2, 1, 23, -8, - 45, 9, 16, -2, 16, -3, -5, 15, + -19, 14, 24, 4, 3, 1, 23, -8, + 45, 9, 16, -1, 16, -3, -6, 15, ], [ 23, 14, 22, 16, -8, 5, 3, 40, @@ -5955,7 +5955,7 @@ internal static class TunableEvalParameters -9, 3, 1, -10, 2, 1, 14, 12, -21, 23, 4, -27, -7, -8, -5, -3, 3, 9, 4, -9, -14, -12, -3, 4, - -1, 11, 14, 7, 14, 11, 17, -3, + -2, 11, 15, 7, 14, 11, 17, -3, 15, 1, -10, -3, 12, -6, -12, 8, ], [ @@ -5993,7 +5993,7 @@ internal static class TunableEvalParameters 15, 7, -4, -13, -9, 2, -14, -13, -2, -12, -1, 9, -0, -9, -17, -11, 2, 15, -10, 9, -2, -13, 2, 31, - -19, -11, -3, -2, -16, 1, -0, 8, + -19, -11, -3, -3, -16, 1, -0, 8, -3, -9, -10, 9, -0, 8, 11, -3, -23, 14, 13, -7, 16, 11, 23, 16, -4, -7, 2, 13, 15, 24, 11, 35, @@ -6014,9 +6014,9 @@ internal static class TunableEvalParameters public static class EvaluationParams { /// - /// + /// /// - public const int KingShieldBonus = 262111; + public const int KingShieldBonus = 262112; /// /// @@ -6029,14 +6029,14 @@ public static class EvaluationParams public const int BishopPairBonus = 4653087; /// - /// + /// /// - public const int BishopCorneredPenalty = -2752542; + public const int BishopCorneredPenalty = -2687006; /// - /// + /// /// - public const int BishopCorneredAndBlockedPenalty = -9830500; + public const int BishopCorneredAndBlockedPenalty = -9764964; /// /// @@ -6079,9 +6079,9 @@ public static class EvaluationParams public const int PawnPushThreatBonus = 1245206; /// - /// + /// /// - public const int TrappedRookPenalty = 1245206; + public const int TrappedRookPenalty = -983051; public static readonly int[] PassedPawnPushBonus = [ @@ -6128,7 +6128,7 @@ public static class EvaluationParams Pack(-5, -23), Pack(-7, -25), Pack(-5, -33), - Pack(-9, -34), + Pack(-9, -33), Pack(-4, -24), Pack(-5, -19), Pack(-1, -24) @@ -6148,7 +6148,7 @@ public static class EvaluationParams public static readonly int[] ConnectedRooksBonus = [ Pack(-2, -1), - Pack(20, 2), + Pack(19, 2), Pack(18, 3), Pack(20, 2), Pack(26, -4), @@ -6159,7 +6159,7 @@ public static class EvaluationParams public static readonly int[] PawnIslandsBonus = [ - Pack(54, -28), + Pack(55, -28), Pack(6, -11), Pack(-7, 10), Pack(-22, 30), @@ -6176,13 +6176,13 @@ public static class EvaluationParams Pack(129, 118), Pack(124, 111), Pack(117, 104), - Pack(115, 94) + Pack(116, 94) ]; public static readonly int[] BadBishop_BlockedCentralPawnsPenalty = [ Pack(161, 154), - Pack(157, 144), + Pack(158, 144), Pack(154, 124), Pack(152, 104), Pack(148, 98), @@ -6195,8 +6195,8 @@ public static class EvaluationParams public static readonly int[] SafeCheckBonus = [ Pack(0, 0), - Pack(79, -5), - Pack(20, 17), + Pack(78, -5), + Pack(19, 17), Pack(56, -1), Pack(33, 19) ]; @@ -6228,7 +6228,7 @@ public static class EvaluationParams Pack(-29, 1), Pack(-8, -9), Pack(4, 4), - Pack(16, 16), + Pack(15, 16), Pack(26, 28), Pack(31, 44), Pack(36, 44) @@ -6248,7 +6248,7 @@ public static class EvaluationParams public static readonly int[] VirtualKingMobilityBonus = [ - Pack(1, -7), + Pack(1, -6), Pack(-1, -1), Pack(-2, -4), Pack(1, -9), @@ -6263,16 +6263,16 @@ public static class EvaluationParams Pack(7, 6), Pack(5, 7), Pack(2, 9), - Pack(7, 8), + Pack(6, 8), Pack(9, 7), Pack(10, 7), Pack(18, 4), Pack(26, 1), Pack(20, 2), - Pack(32, -1), + Pack(31, -1), Pack(22, 1), Pack(21, 0), - Pack(10, -0), + Pack(10, -1), Pack(4, 0), Pack(-19, -11), Pack(-99, 19) @@ -6296,10 +6296,10 @@ public static class EvaluationParams Pack(-16, -36), Pack(0, 0), Pack(18, 34), - Pack(26, 53), + Pack(26, 52), Pack(36, 63), Pack(41, 72), - Pack(45, 77), + Pack(46, 77), Pack(50, 79), Pack(53, 82), Pack(60, 79), @@ -6312,40 +6312,40 @@ public static class EvaluationParams public static readonly int[] RookMobilityBonus = [ - Pack(-45, -82), + Pack(-46, -85), Pack(0, 0), - Pack(17, 24), - Pack(23, 41), - Pack(32, 49), - Pack(38, 57), - Pack(42, 62), - Pack(49, 64), - Pack(55, 68), - Pack(59, 74), - Pack(64, 76), - Pack(68, 80), - Pack(73, 82), - Pack(80, 83), - Pack(113, 67) + Pack(17, 23), + Pack(23, 40), + Pack(31, 44), + Pack(37, 52), + Pack(42, 58), + Pack(48, 60), + Pack(54, 64), + Pack(58, 70), + Pack(63, 72), + Pack(67, 76), + Pack(72, 78), + Pack(79, 79), + Pack(112, 63) ]; public static readonly int[] QueenMobilityBonus = [ Pack(-791, -663), Pack(0, 0), - Pack(32, 57), + Pack(32, 56), Pack(45, 153), Pack(47, 249), Pack(52, 292), Pack(56, 326), - Pack(61, 345), + Pack(61, 344), Pack(67, 356), Pack(72, 366), Pack(76, 373), Pack(80, 379), Pack(83, 384), - Pack(87, 387), - Pack(88, 391), + Pack(87, 386), + Pack(88, 390), Pack(93, 390), Pack(91, 398), Pack(95, 397), @@ -6363,7 +6363,7 @@ public static class EvaluationParams public static readonly int[] KingMobilityBonus = [ - Pack(48, -109), + Pack(47, -109), Pack(0, -62), Pack(13, -16), Pack(14, 6), @@ -6387,7 +6387,7 @@ public static class EvaluationParams public static readonly int[] KnightThreatsBonus_Defended = [ Pack(-10, -5), - Pack(5, 15), + Pack(5, 14), Pack(32, 35), Pack(56, 9), Pack(29, -5), @@ -6418,8 +6418,8 @@ public static class EvaluationParams [ Pack(-3, 17), Pack(17, 27), - Pack(22, 27), - Pack(-46, 4), + Pack(23, 27), + Pack(-45, 5), Pack(58, -11), Pack(-66, 30) ]; @@ -6428,10 +6428,10 @@ public static class EvaluationParams [ Pack(-21, -3), Pack(-7, 6), - Pack(-5, -3), - Pack(-38, -1), + Pack(-5, -4), + Pack(-38, -0), Pack(58, 42), - Pack(59, 3) + Pack(59, 2) ]; public static readonly int[] QueenThreatsBonus = @@ -6441,7 +6441,7 @@ public static class EvaluationParams Pack(-1, 48), Pack(1, 1), Pack(-7, -10), - Pack(-16, 94) + Pack(-17, 95) ]; public static readonly int[] QueenThreatsBonus_Defended = @@ -6460,7 +6460,7 @@ public static class EvaluationParams Pack(-27, 23), Pack(39, -4), Pack(49, -7), - Pack(-231, -105), + Pack(-232, -105), Pack(0, 0) ]; @@ -6470,7 +6470,7 @@ public static class EvaluationParams Pack(-26, 6), Pack(-9, 6), Pack(44, -4), - Pack(-184, -160), + Pack(-184, -161), Pack(0, 0) ]; @@ -6497,7 +6497,7 @@ public static class EvaluationParams [ Pack(0, 0), Pack(-13, -32), - Pack(-14, -12), + Pack(-15, -12), Pack(2, -11), Pack(1, 7), Pack(-1, 29), @@ -6507,7 +6507,7 @@ public static class EvaluationParams Pack(0, 0), Pack(-7, -33), Pack(-13, -14), - Pack(-8, -5), + Pack(-7, -5), Pack(-14, 17), Pack(-4, 29), Pack(80, 112), @@ -6518,17 +6518,17 @@ public static class EvaluationParams Pack(-12, -19), Pack(0, -16), Pack(-5, 11), - Pack(-16, 37), - Pack(26, 137), + Pack(-15, 37), + Pack(25, 136), ], [ Pack(0, 0), - Pack(-9, -30), + Pack(-10, -30), Pack(-8, -17), - Pack(-0, -2), + Pack(0, -2), Pack(1, 14), Pack(7, 26), - Pack(63, 124), + Pack(62, 124), ], [ Pack(0, 0), @@ -6551,7 +6551,7 @@ public static class EvaluationParams [ Pack(0, 0), Pack(-21, -11), - Pack(-17, -4), + Pack(-18, -4), Pack(-12, 2), Pack(9, 14), Pack(11, 31), @@ -6562,7 +6562,7 @@ public static class EvaluationParams Pack(-19, -16), Pack(-17, -7), Pack(-16, 2), - Pack(-4, 17), + Pack(-5, 17), Pack(31, 18), Pack(92, 112), ], @@ -6582,7 +6582,7 @@ public static class EvaluationParams Pack(-11, 0), Pack(4, 11), Pack(19, 26), - Pack(59, 115), + Pack(60, 115), ], [ Pack(0, 0), @@ -6597,7 +6597,7 @@ public static class EvaluationParams Pack(0, 0), Pack(-19, -17), Pack(-19, -1), - Pack(-11, 3), + Pack(-10, 3), Pack(11, 16), Pack(24, 33), Pack(96, 95), @@ -6616,13 +6616,13 @@ public static class EvaluationParams Pack(-32, 1), Pack(-26, 1), Pack(-6, -3), - Pack(-9, 10), + Pack(-10, 10), Pack(19, 25), - Pack(80, 101), + Pack(81, 101), ], [ Pack(0, 0), - Pack(-106, 21), + Pack(-105, 21), Pack(-49, 9), Pack(-26, 17), Pack(-27, 2), @@ -6640,7 +6640,7 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(-58, 11), + Pack(-59, 11), Pack(-43, 16), Pack(43, 2), Pack(36, 4), @@ -6663,7 +6663,7 @@ public static class EvaluationParams Pack(15, 2), Pack(16, -0), Pack(88, -3), - Pack(103, 79), + Pack(104, 79), ], [ Pack(0, 0), @@ -6712,25 +6712,25 @@ public static class EvaluationParams Pack(-15, -4), Pack(-0, 11), Pack(32, -8), - Pack(51, 129), + Pack(50, 129), ], [ Pack(0, 0), Pack(-21, -41), - Pack(-27, -22), + Pack(-28, -22), Pack(-13, -14), Pack(1, -8), Pack(43, -8), - Pack(97, 111), + Pack(97, 112), ], [ Pack(0, 0), - Pack(-21, -41), + Pack(-22, -41), Pack(-15, -30), Pack(-7, -17), Pack(2, -6), Pack(26, -3), - Pack(67, 138), + Pack(66, 139), ], [ Pack(0, 0), @@ -6739,7 +6739,7 @@ public static class EvaluationParams Pack(-9, -14), Pack(2, 0), Pack(42, -15), - Pack(73, 113), + Pack(72, 113), ], [ Pack(0, 0), @@ -6747,7 +6747,7 @@ public static class EvaluationParams Pack(-23, -19), Pack(-20, -3), Pack(-1, 18), - Pack(23, 7), + Pack(24, 7), Pack(51, 143), ], [ @@ -6792,7 +6792,7 @@ public static class EvaluationParams Pack(-9, -5), Pack(4, -2), Pack(21, 7), - Pack(40, 43), + Pack(41, 43), Pack(98, 86), ], [ @@ -6820,7 +6820,7 @@ public static class EvaluationParams Pack(-23, 9), Pack(-8, 13), Pack(36, 24), - Pack(82, 106), + Pack(83, 106), ], [ Pack(0, 0), @@ -6835,9 +6835,9 @@ public static class EvaluationParams Pack(0, 0), Pack(-12, 2), Pack(-12, 15), - Pack(11, 5), + Pack(11, 4), Pack(-15, 49), - Pack(16, 61), + Pack(17, 61), Pack(107, 101), ], [ @@ -6865,13 +6865,13 @@ public static class EvaluationParams Pack(63, 7), Pack(40, 23), Pack(18, 51), - Pack(100, 75), + Pack(101, 75), ], [ Pack(0, 0), Pack(72, -10), Pack(47, -9), - Pack(2, 19), + Pack(3, 19), Pack(-8, 45), Pack(58, 41), Pack(112, 83), @@ -6889,10 +6889,10 @@ public static class EvaluationParams Pack(0, 0), Pack(-30, 1), Pack(-41, -8), - Pack(6, -1), + Pack(7, -1), Pack(24, 24), - Pack(-30, 66), - Pack(44, 123), + Pack(-30, 67), + Pack(45, 123), ], ]; @@ -6912,7 +6912,7 @@ public static class EvaluationParams Pack(-4, -9), Pack(-19, 8), Pack(-15, 8), - Pack(-8, 8), + Pack(-7, 8), Pack(20, 6), Pack(-3, 42), ], @@ -6928,11 +6928,11 @@ public static class EvaluationParams [ Pack(0, 0), Pack(3, -2), - Pack(-11, 1), + Pack(-10, 1), Pack(-17, -2), Pack(-8, 3), Pack(5, 15), - Pack(4, 8), + Pack(4, 9), ], [ Pack(0, 0), @@ -6956,7 +6956,7 @@ public static class EvaluationParams Pack(0, 0), Pack(-4, 6), Pack(-14, -2), - Pack(-16, 1), + Pack(-17, 1), Pack(-18, 7), Pack(14, -1), Pack(35, 17), @@ -6990,7 +6990,7 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(-21, 2), + Pack(-22, 2), Pack(-9, 5), Pack(-43, 15), Pack(-47, 18), @@ -7004,7 +7004,7 @@ public static class EvaluationParams Pack(-39, 12), Pack(-46, 15), Pack(-26, 17), - Pack(70, -14), + Pack(69, -14), ], [ Pack(0, 0), @@ -7030,8 +7030,8 @@ public static class EvaluationParams Pack(-18, -4), Pack(-26, 7), Pack(-31, 7), - Pack(-13, 7), - Pack(50, -8), + Pack(-14, 7), + Pack(49, -8), ], [ Pack(0, 0), @@ -7039,7 +7039,7 @@ public static class EvaluationParams Pack(-11, 10), Pack(-35, 27), Pack(-30, 32), - Pack(-31, 40), + Pack(-32, 40), Pack(8, 24), ], [ @@ -7047,7 +7047,7 @@ public static class EvaluationParams Pack(81, -14), Pack(80, 1), Pack(10, 16), - Pack(-46, 54), + Pack(-46, 55), Pack(-83, 64), Pack(-8, 19), ], @@ -7057,15 +7057,15 @@ public static class EvaluationParams Pack(37, -12), Pack(60, 12), Pack(-8, 35), - Pack(-44, 67), + Pack(-45, 67), Pack(-2, 20), ], [ Pack(0, 0), Pack(15, 5), - Pack(42, 1), + Pack(41, 1), Pack(27, 14), - Pack(26, 24), + Pack(27, 24), Pack(-48, 50), Pack(26, 14), ], @@ -7122,19 +7122,19 @@ public static class EvaluationParams Pack(0, 0), Pack(2, 3), Pack(4, 9), - Pack(7, 13), - Pack(-7, 21), - Pack(2, 59), - Pack(50, 28), + Pack(8, 13), + Pack(-7, 22), + Pack(2, 60), + Pack(49, 28), ], [ Pack(0, 0), Pack(14, -2), - Pack(26, -10), + Pack(26, -11), Pack(19, -2), Pack(25, 4), Pack(29, 46), - Pack(85, -2), + Pack(85, -4), ], [ Pack(0, 0), @@ -7143,25 +7143,25 @@ public static class EvaluationParams Pack(50, -7), Pack(18, 16), Pack(33, 38), - Pack(69, 11), + Pack(69, 10), ], [ Pack(0, 0), Pack(8, 8), - Pack(19, 9), - Pack(33, 3), + Pack(19, 8), + Pack(32, 3), Pack(59, 1), Pack(24, 63), - Pack(57, 18), + Pack(57, 16), ], [ Pack(0, 0), Pack(17, -13), Pack(29, -7), - Pack(6, 9), + Pack(5, 9), Pack(17, 7), Pack(32, 27), - Pack(123, -8), + Pack(123, -9), ], [ Pack(0, 0), @@ -7192,7 +7192,7 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(6, 4), + Pack(5, 3), Pack(1, 0), Pack(-5, 9), Pack(-5, 15), @@ -7205,7 +7205,7 @@ public static class EvaluationParams Pack(-13, 11), Pack(7, 10), Pack(-1, 17), - Pack(24, -1), + Pack(25, -1), Pack(50, 6), ], [ @@ -7247,11 +7247,11 @@ public static class EvaluationParams [ Pack(0, 0), Pack(-8, -1), - Pack(15, -7), + Pack(16, -7), Pack(-33, 23), Pack(-77, 45), Pack(-89, 55), - Pack(-10, 3), + Pack(-11, 3), ], [ Pack(0, 0), @@ -7286,7 +7286,7 @@ public static class EvaluationParams Pack(-41, 23), Pack(-101, 26), Pack(-121, 40), - Pack(-133, 38), + Pack(-132, 38), Pack(-9, 8), ], [ @@ -7294,7 +7294,7 @@ public static class EvaluationParams Pack(-60, 19), Pack(-88, 27), Pack(-55, 15), - Pack(-73, 19), + Pack(-73, 18), Pack(-166, 43), Pack(-76, 4), ], @@ -7302,15 +7302,15 @@ public static class EvaluationParams Pack(0, 0), Pack(-29, -8), Pack(-20, -1), - Pack(-45, 10), - Pack(-104, 39), + Pack(-46, 10), + Pack(-104, 40), Pack(-88, 38), Pack(-83, 20), ], [ Pack(0, 0), Pack(-26, -12), - Pack(17, 4), + Pack(16, 4), Pack(-68, 28), Pack(-115, 40), Pack(-126, 55), @@ -7376,7 +7376,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-28, -8), + Pack(-28, -9), Pack(0, 0), Pack(0, 0), ], @@ -7402,7 +7402,7 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(-73, 9), + Pack(-74, 9), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7504,7 +7504,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-31, 39), + Pack(-31, 40), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7588,7 +7588,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-9, -4), + Pack(-9, -3), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7610,7 +7610,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(5, -11), + Pack(6, -12), Pack(0, 0), Pack(0, 0), ], @@ -7636,7 +7636,7 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(-28, 15), + Pack(-29, 15), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7658,7 +7658,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-19, -1), + Pack(-20, -1), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7795,48 +7795,48 @@ public static class EvaluationParams Pack(14, 6), Pack(12, 2), Pack(24, 5), - Pack(21, 9), - Pack(20, 4), + Pack(21, 10), + Pack(21, 4), ], [ - Pack(39, -7), - Pack(28, 0), - Pack(12, 7), + Pack(32, -7), + Pack(28, 1), + Pack(13, 7), Pack(19, -9), Pack(11, 10), Pack(19, 7), Pack(4, 25), - Pack(33, -11), + Pack(34, -11), ], [ - Pack(24, 5), - Pack(30, -1), - Pack(4, 19), + Pack(18, 5), + Pack(22, -1), + Pack(5, 19), Pack(20, -8), Pack(6, 14), Pack(20, 3), - Pack(7, 14), - Pack(33, -9), + Pack(8, 14), + Pack(35, -8), ], [ - Pack(16, -0), - Pack(10, 10), - Pack(8, 8), + Pack(11, -1), + Pack(5, 10), + Pack(3, 8), Pack(27, -18), Pack(9, -1), Pack(6, 7), - Pack(-9, 16), - Pack(27, 0), + Pack(-8, 16), + Pack(29, 0), ], [ - Pack(3, -7), - Pack(-1, 13), + Pack(4, -7), + Pack(-0, 13), Pack(-4, 20), Pack(-6, 21), - Pack(23, 15), - Pack(24, 5), - Pack(16, 6), - Pack(-13, 34), + Pack(23, 14), + Pack(19, 5), + Pack(12, 4), + Pack(-18, 32), ], [ Pack(14, -0), @@ -7845,108 +7845,108 @@ public static class EvaluationParams Pack(11, 8), Pack(16, 6), Pack(3, 16), - Pack(14, 19), - Pack(44, 6), + Pack(7, 18), + Pack(37, 6), ], [ - Pack(5, 7), + Pack(6, 7), Pack(7, 12), Pack(5, 15), - Pack(7, 10), + Pack(7, 9), Pack(11, 7), Pack(29, 0), Pack(43, 2), - Pack(48, -13), + Pack(42, -13), ], [ - Pack(4, -2), + Pack(5, -2), Pack(4, 6), Pack(4, 11), Pack(9, 8), Pack(14, 2), Pack(30, 1), Pack(13, 5), - Pack(69, -24), + Pack(70, -24), ], [ - Pack(20, -3), - Pack(40, -16), + Pack(18, -3), + Pack(41, -16), Pack(17, -2), Pack(33, -7), - Pack(16, -1), + Pack(16, -2), Pack(32, -12), - Pack(31, -8), - Pack(32, -9), + Pack(32, -8), + Pack(33, -9), ], [ - Pack(13, -0), - Pack(7, -3), - Pack(52, -15), + Pack(11, 0), + Pack(5, -2), + Pack(53, -15), Pack(12, -3), Pack(25, -7), - Pack(31, -11), - Pack(18, 1), - Pack(35, -11), + Pack(32, -11), + Pack(19, 1), + Pack(36, -11), ], [ - Pack(39, -17), - Pack(40, -12), - Pack(18, -12), - Pack(25, -5), + Pack(37, -16), + Pack(38, -12), + Pack(17, -12), + Pack(26, -5), Pack(38, -9), Pack(31, 2), - Pack(37, -6), - Pack(56, -15), + Pack(38, -6), + Pack(58, -16), ], [ - Pack(26, -7), - Pack(32, -15), + Pack(27, -7), + Pack(33, -15), Pack(27, -6), Pack(21, -3), Pack(45, -2), - Pack(6, 1), - Pack(34, -9), - Pack(47, -11), + Pack(6, 2), + Pack(33, -8), + Pack(45, -11), ], [ - Pack(15, -6), + Pack(17, -6), Pack(30, -5), - Pack(20, -6), + Pack(21, -6), Pack(21, -0), Pack(31, -8), Pack(16, 10), - Pack(25, -2), - Pack(28, 5), + Pack(24, -2), + Pack(26, 5), ], [ - Pack(24, -8), - Pack(27, -8), + Pack(25, -8), + Pack(28, -8), Pack(26, -8), Pack(15, 1), Pack(26, -7), Pack(29, -6), Pack(54, -24), - Pack(34, 1), + Pack(33, 1), ], [ - Pack(9, 9), + Pack(10, 9), Pack(13, 6), Pack(15, 1), Pack(21, -2), Pack(27, -3), Pack(41, -8), - Pack(29, -13), - Pack(21, -4), + Pack(30, -13), + Pack(22, -4), ], [ - Pack(0, -18), - Pack(26, -27), - Pack(61, -30), + Pack(1, -18), + Pack(27, -27), + Pack(61, -29), Pack(15, -19), Pack(15, -7), - Pack(39, -14), - Pack(58, -10), - Pack(42, -9), + Pack(40, -14), + Pack(58, -9), + Pack(43, -9), ], [ Pack(54, -34), @@ -7956,7 +7956,7 @@ public static class EvaluationParams Pack(20, -25), Pack(71, -36), Pack(-1, -11), - Pack(62, -21), + Pack(63, -20), ], [ Pack(144, -50), @@ -7969,18 +7969,18 @@ public static class EvaluationParams Pack(96, -50), ], [ - Pack(219, -66), - Pack(154, -61), + Pack(218, -66), + Pack(153, -61), Pack(158, -77), Pack(113, -65), - Pack(136, -88), + Pack(135, -88), Pack(97, -54), Pack(196, -88), Pack(160, -64), ], [ Pack(132, -48), - Pack(163, -71), + Pack(163, -70), Pack(125, -87), Pack(96, -62), Pack(103, -84), @@ -7989,7 +7989,7 @@ public static class EvaluationParams Pack(148, -61), ], [ - Pack(94, -39), + Pack(94, -38), Pack(108, -56), Pack(58, -56), Pack(49, -42), @@ -7999,24 +7999,24 @@ public static class EvaluationParams Pack(118, -50), ], [ - Pack(56, -27), + Pack(57, -27), Pack(59, -29), - Pack(74, -32), + Pack(75, -32), Pack(46, -37), Pack(110, -31), Pack(40, -27), - Pack(138, -69), - Pack(32, -3), + Pack(139, -68), + Pack(31, -3), ], [ - Pack(95, -19), + Pack(96, -19), Pack(67, -16), Pack(64, -18), Pack(-3, -34), Pack(-30, 16), Pack(29, -10), Pack(45, -29), - Pack(65, -48), + Pack(66, -48), ], ]; @@ -8024,198 +8024,198 @@ public static class EvaluationParams [ [ Pack(6, -3), - Pack(33, -17), - Pack(11, 4), + Pack(34, -17), + Pack(11, 5), Pack(13, 1), Pack(17, -13), - Pack(19, -15), + Pack(20, -15), Pack(-1, 23), - Pack(3, 2), + Pack(5, 2), ], [ - Pack(31, -7), - Pack(2, 4), + Pack(24, -9), + Pack(2, 5), Pack(19, -9), Pack(15, -16), Pack(12, -7), - Pack(17, -18), + Pack(18, -18), Pack(5, -5), - Pack(13, -24), + Pack(14, -23), ], [ - Pack(32, 4), - Pack(32, -15), + Pack(25, 2), + Pack(25, -17), Pack(-13, 20), Pack(17, -15), Pack(14, -1), Pack(8, -2), - Pack(10, -7), - Pack(18, -11), + Pack(11, -7), + Pack(19, -10), ], [ - Pack(28, -13), - Pack(30, -24), - Pack(26, -10), + Pack(22, -16), + Pack(25, -26), + Pack(21, -11), Pack(9, -19), Pack(19, -2), Pack(16, -10), - Pack(-3, 5), - Pack(8, -13), + Pack(-2, 5), + Pack(10, -12), ], [ - Pack(-5, -7), + Pack(-3, -7), Pack(18, -2), Pack(16, 4), Pack(6, 6), Pack(5, 4), - Pack(16, -7), - Pack(17, -4), - Pack(-16, 24), + Pack(11, -9), + Pack(13, -6), + Pack(-20, 20), ], [ - Pack(6, -3), - Pack(25, -19), - Pack(-0, 1), - Pack(20, -15), + Pack(7, -3), + Pack(26, -19), + Pack(-0, 2), + Pack(21, -15), Pack(21, -15), Pack(-22, 8), - Pack(29, -15), - Pack(28, 8), + Pack(21, -16), + Pack(22, 6), ], [ - Pack(5, -3), - Pack(13, -6), + Pack(6, -3), + Pack(14, -6), Pack(12, -3), Pack(11, -5), Pack(10, -2), Pack(16, -4), Pack(5, -9), - Pack(27, 5), + Pack(21, 5), ], [ - Pack(6, -11), - Pack(10, -15), + Pack(7, -10), + Pack(11, -15), Pack(10, -5), Pack(8, 3), Pack(11, 2), Pack(20, -5), - Pack(27, -25), - Pack(31, -30), + Pack(28, -25), + Pack(32, -30), ], [ - Pack(13, -7), + Pack(11, -6), Pack(30, -13), Pack(22, -14), Pack(11, -4), Pack(9, -5), - Pack(6, -7), - Pack(1, -3), - Pack(11, -1), + Pack(7, -7), + Pack(2, -3), + Pack(13, -1), ], [ - Pack(6, -1), - Pack(26, -7), + Pack(4, -0), + Pack(25, -7), Pack(15, -4), Pack(11, -8), Pack(31, -21), - Pack(17, -11), - Pack(5, 1), - Pack(3, 9), + Pack(18, -11), + Pack(6, 1), + Pack(5, 9), ], [ - Pack(0, 4), - Pack(35, -18), - Pack(29, -26), + Pack(-3, 5), + Pack(33, -17), + Pack(29, -25), Pack(22, -10), Pack(40, -19), Pack(15, -6), - Pack(21, -13), - Pack(8, 2), + Pack(22, -13), + Pack(10, 2), ], [ - Pack(-14, 16), - Pack(5, -5), - Pack(17, -14), + Pack(-13, 16), + Pack(6, -5), + Pack(18, -14), Pack(7, -9), Pack(36, -10), - Pack(8, -7), - Pack(21, -14), - Pack(8, 6), + Pack(7, -7), + Pack(20, -13), + Pack(6, 6), ], [ - Pack(-13, 21), - Pack(19, -6), + Pack(-12, 21), + Pack(20, -6), Pack(11, -6), Pack(18, -14), Pack(22, -9), Pack(10, 3), - Pack(30, -10), - Pack(5, 9), + Pack(29, -9), + Pack(3, 10), ], [ - Pack(3, 19), - Pack(14, -3), + Pack(4, 19), + Pack(14, -2), Pack(11, -2), - Pack(1, -1), + Pack(0, -1), Pack(18, -11), Pack(29, -18), - Pack(23, -13), - Pack(0, 9), + Pack(24, -13), + Pack(-1, 9), ], [ - Pack(-4, 30), - Pack(3, 13), + Pack(-3, 30), + Pack(4, 13), Pack(6, -1), Pack(12, -8), Pack(-1, 8), - Pack(30, -12), - Pack(20, -3), - Pack(1, 7), + Pack(31, -12), + Pack(21, -3), + Pack(2, 7), ], [ - Pack(4, -11), + Pack(5, -11), Pack(36, -25), - Pack(35, -41), + Pack(35, -40), Pack(31, -42), Pack(18, -11), - Pack(6, -1), - Pack(19, 4), - Pack(-16, 29), + Pack(6, -0), + Pack(20, 4), + Pack(-15, 29), ], [ - Pack(-32, -29), + Pack(-32, -28), Pack(-21, -9), Pack(-7, -13), Pack(40, -15), Pack(-4, -25), Pack(53, -15), Pack(33, 3), - Pack(-28, 37), + Pack(-27, 38), ], [ Pack(-61, 8), - Pack(-19, -14), + Pack(-20, -14), Pack(-6, -20), Pack(-52, -10), Pack(9, -14), Pack(53, -20), - Pack(90, -16), - Pack(57, -8), + Pack(90, -15), + Pack(57, -7), ], [ - Pack(-52, 33), - Pack(36, -14), - Pack(15, -40), + Pack(-53, 33), + Pack(36, -13), + Pack(14, -40), Pack(-31, 27), Pack(3, -28), - Pack(40, -17), - Pack(52, -16), - Pack(50, 4), + Pack(41, -17), + Pack(52, -15), + Pack(50, 5), ], [ - Pack(-10, 29), - Pack(-8, 3), - Pack(-56, -20), + Pack(-9, 29), + Pack(-7, 3), + Pack(-55, -20), Pack(-4, -10), Pack(-2, -28), Pack(-24, -11), @@ -8226,16 +8226,16 @@ public static class EvaluationParams Pack(12, 21), Pack(-46, 3), Pack(18, -20), - Pack(8, -18), - Pack(-9, -21), + Pack(7, -18), + Pack(-8, -20), Pack(-10, -26), - Pack(-29, -21), - Pack(-17, 10), + Pack(-29, -20), + Pack(-18, 11), ], [ Pack(7, 27), Pack(-15, 3), - Pack(-14, 8), + Pack(-15, 9), Pack(48, -27), Pack(6, -9), Pack(-18, -20), @@ -8246,10 +8246,10 @@ public static class EvaluationParams Pack(-72, 67), Pack(-70, 36), Pack(12, 12), - Pack(25, -32), + Pack(25, -31), Pack(12, 3), Pack(25, -23), - Pack(-13, 7), + Pack(-13, 8), Pack(-66, 6), ], ]; @@ -8264,7 +8264,7 @@ public static class EvaluationParams Pack(28, -26), Pack(7, -1), Pack(11, -25), - Pack(4, -2), + Pack(3, -2), ], [ Pack(89, -35), @@ -8274,7 +8274,7 @@ public static class EvaluationParams Pack(16, -0), Pack(5, -1), Pack(18, -8), - Pack(2, 3), + Pack(1, 3), ], [ Pack(54, -8), @@ -8283,51 +8283,51 @@ public static class EvaluationParams Pack(26, -23), Pack(21, -1), Pack(5, 2), - Pack(15, -12), - Pack(10, -9), + Pack(14, -13), + Pack(10, -10), ], [ Pack(55, -12), Pack(25, -4), - Pack(28, -3), + Pack(28, -4), Pack(45, 24), Pack(21, -6), - Pack(18, 8), - Pack(12, 2), - Pack(23, -4), + Pack(18, 9), + Pack(11, 2), + Pack(21, -4), ], [ Pack(19, 13), Pack(14, 8), Pack(24, 5), Pack(27, -15), - Pack(69, 26), + Pack(70, 26), Pack(26, -4), - Pack(21, 5), - Pack(11, 18), + Pack(20, 5), + Pack(10, 18), ], [ - Pack(23, -14), - Pack(30, -17), + Pack(22, -14), + Pack(29, -17), Pack(31, -18), Pack(26, -6), Pack(17, 3), Pack(78, 18), - Pack(43, -26), - Pack(44, -19), + Pack(42, -26), + Pack(43, -19), ], [ - Pack(1, 7), + Pack(0, 7), Pack(11, -7), Pack(9, 6), Pack(11, 8), Pack(12, 8), Pack(15, -3), - Pack(66, 55), - Pack(75, -25), + Pack(66, 54), + Pack(74, -26), ], [ - Pack(19, -3), + Pack(18, -2), Pack(23, -0), Pack(14, 6), Pack(22, -1), @@ -8337,34 +8337,34 @@ public static class EvaluationParams Pack(178, -12), ], [ - Pack(81, -37), + Pack(80, -37), Pack(86, 9), Pack(22, 2), Pack(34, -18), - Pack(16, -12), - Pack(7, -17), - Pack(14, -16), - Pack(-2, 7), + Pack(16, -13), + Pack(7, -18), + Pack(13, -16), + Pack(-3, 7), ], [ - Pack(59, -31), - Pack(45, -20), - Pack(100, -0), + Pack(58, -31), + Pack(44, -20), + Pack(99, 0), Pack(17, -4), Pack(23, -16), Pack(14, -14), Pack(11, -15), - Pack(15, -9), + Pack(14, -9), ], [ Pack(37, -19), - Pack(30, -13), + Pack(29, -13), Pack(13, -2), Pack(99, 16), Pack(37, -6), Pack(27, -8), Pack(20, -18), - Pack(8, -5), + Pack(7, -5), ], [ Pack(38, -18), @@ -8373,31 +8373,31 @@ public static class EvaluationParams Pack(26, -9), Pack(91, 19), Pack(40, -18), - Pack(42, -16), - Pack(35, -17), + Pack(41, -16), + Pack(34, -17), ], [ - Pack(24, -9), + Pack(23, -9), Pack(30, -20), Pack(31, -16), Pack(35, -16), Pack(21, -5), Pack(113, -5), Pack(41, -16), - Pack(43, -24), + Pack(42, -24), ], [ - Pack(11, 4), + Pack(10, 4), Pack(14, -9), Pack(27, -14), Pack(21, -13), Pack(15, -3), Pack(28, -5), - Pack(100, 18), - Pack(62, -26), + Pack(100, 19), + Pack(61, -26), ], [ - Pack(4, 7), + Pack(3, 7), Pack(12, -5), Pack(25, -12), Pack(23, -8), @@ -8407,8 +8407,8 @@ public static class EvaluationParams Pack(103, 59), ], [ - Pack(115, 0), - Pack(86, -15), + Pack(114, 0), + Pack(85, -15), Pack(42, -22), Pack(24, -21), Pack(3, -13), @@ -8420,17 +8420,17 @@ public static class EvaluationParams Pack(3, -12), Pack(-14, 36), Pack(88, -57), - Pack(84, -58), + Pack(83, -58), Pack(39, -29), Pack(86, -41), Pack(38, -39), - Pack(-25, -14), + Pack(-24, -14), ], [ Pack(76, -29), Pack(84, -55), Pack(29, 43), - Pack(23, -24), + Pack(22, -24), Pack(68, -51), Pack(57, -31), Pack(68, -51), @@ -8438,7 +8438,7 @@ public static class EvaluationParams ], [ Pack(84, -51), - Pack(128, -57), + Pack(127, -57), Pack(84, -60), Pack(-7, 46), Pack(86, -35), @@ -8447,7 +8447,7 @@ public static class EvaluationParams Pack(188, -80), ], [ - Pack(119, -57), + Pack(120, -57), Pack(62, -40), Pack(119, -59), Pack(52, -53), @@ -8457,7 +8457,7 @@ public static class EvaluationParams Pack(163, -60), ], [ - Pack(58, -35), + Pack(59, -35), Pack(82, -46), Pack(48, -38), Pack(83, -55), @@ -8468,11 +8468,11 @@ public static class EvaluationParams ], [ Pack(78, -34), - Pack(41, -21), + Pack(42, -21), Pack(57, -44), Pack(71, -52), - Pack(109, -53), - Pack(159, -44), + Pack(108, -53), + Pack(158, -44), Pack(13, 75), Pack(54, -36), ], @@ -8482,7 +8482,7 @@ public static class EvaluationParams Pack(3, 6), Pack(-50, 16), Pack(33, -17), - Pack(22, -20), + Pack(23, -20), Pack(79, -6), Pack(-24, 59), ], @@ -8507,28 +8507,28 @@ public static class EvaluationParams Pack(-0, 3), Pack(2, 6), Pack(3, 2), - Pack(2, 19), - Pack(-5, 19), + Pack(1, 18), + Pack(-6, 18), ], [ - Pack(23, -5), - Pack(18, -15), + Pack(23, -6), + Pack(18, -16), Pack(14, -11), Pack(5, -6), Pack(3, 8), Pack(1, 16), Pack(3, 9), - Pack(-4, 20), + Pack(-5, 19), ], [ - Pack(6, 21), + Pack(5, 21), Pack(2, -8), Pack(3, -10), - Pack(11, 8), + Pack(12, 7), Pack(9, -2), Pack(5, -19), - Pack(9, -2), - Pack(15, 6), + Pack(8, -2), + Pack(14, 5), ], [ Pack(-8, 42), @@ -8537,32 +8537,32 @@ public static class EvaluationParams Pack(18, -12), Pack(17, 3), Pack(21, -18), - Pack(10, -12), - Pack(2, 12), + Pack(9, -12), + Pack(1, 12), ], [ - Pack(-0, 25), + Pack(-1, 25), Pack(-11, 17), Pack(-2, -1), Pack(7, -7), - Pack(3, 6), + Pack(3, 7), Pack(29, -14), - Pack(13, -16), - Pack(3, 2), + Pack(12, -16), + Pack(1, 2), ], [ - Pack(-7, 20), + Pack(-8, 20), Pack(-5, 7), Pack(-4, 10), - Pack(7, 3), + Pack(8, 3), Pack(5, -1), Pack(2, -7), Pack(36, -7), - Pack(24, -22), + Pack(24, -23), ], [ - Pack(-2, 25), - Pack(2, 19), + Pack(-3, 25), + Pack(1, 19), Pack(-3, 6), Pack(14, -17), Pack(7, -15), @@ -8577,84 +8577,84 @@ public static class EvaluationParams Pack(21, -20), Pack(-2, -2), Pack(1, -5), - Pack(6, 10), - Pack(-12, 26), + Pack(5, 11), + Pack(-13, 27), ], [ - Pack(20, -9), + Pack(19, -9), Pack(2, -11), Pack(38, -27), Pack(23, -15), - Pack(-0, -9), + Pack(0, -9), Pack(10, -6), Pack(4, 5), - Pack(2, 19), + Pack(0, 19), ], [ Pack(-3, 5), - Pack(-8, -4), - Pack(16, -13), + Pack(-9, -4), + Pack(15, -13), Pack(28, -8), Pack(35, -18), Pack(14, -7), Pack(2, -1), - Pack(-6, 17), + Pack(-7, 17), ], [ - Pack(-9, 17), + Pack(-10, 17), Pack(1, -0), - Pack(-3, -0), + Pack(-3, 0), Pack(23, -16), Pack(31, -14), Pack(27, -19), Pack(12, -8), - Pack(-6, 11), + Pack(-7, 11), ], [ - Pack(-11, 23), + Pack(-12, 23), Pack(-13, 14), Pack(0, -1), Pack(21, -14), Pack(26, -18), Pack(32, -17), - Pack(-6, -6), - Pack(4, -1), + Pack(-7, -6), + Pack(3, -1), ], [ Pack(-15, 33), - Pack(-8, 22), + Pack(-9, 22), Pack(14, 1), Pack(13, -3), Pack(10, -8), Pack(29, -23), Pack(39, -21), - Pack(17, -11), + Pack(16, -11), ], [ - Pack(-7, 33), - Pack(-8, 21), + Pack(-8, 33), + Pack(-9, 21), Pack(4, 6), Pack(3, 8), Pack(5, -5), Pack(16, -14), - Pack(33, -24), + Pack(32, -24), Pack(55, -23), ], [ - Pack(105, -66), + Pack(104, -66), Pack(32, -32), Pack(14, -5), Pack(-26, -14), Pack(-7, -9), Pack(16, -6), - Pack(-23, 10), - Pack(-10, 22), + Pack(-24, 10), + Pack(-11, 22), ], [ - Pack(72, -44), + Pack(71, -44), Pack(131, -75), - Pack(34, -34), - Pack(3, -27), + Pack(35, -34), + Pack(2, -27), Pack(-10, -16), Pack(24, -7), Pack(-8, 21), @@ -8663,7 +8663,7 @@ public static class EvaluationParams [ Pack(17, -11), Pack(62, -53), - Pack(73, -33), + Pack(72, -33), Pack(17, -22), Pack(70, -50), Pack(2, 2), @@ -8677,7 +8677,7 @@ public static class EvaluationParams Pack(34, -35), Pack(85, -34), Pack(4, -37), - Pack(11, -6), + Pack(11, -5), Pack(-16, 19), ], [ @@ -8685,9 +8685,9 @@ public static class EvaluationParams Pack(-4, -25), Pack(34, -16), Pack(25, -51), - Pack(21, -20), + Pack(20, -20), Pack(-0, -14), - Pack(63, -27), + Pack(62, -27), Pack(-14, 7), ], [ @@ -8695,26 +8695,26 @@ public static class EvaluationParams Pack(-12, -18), Pack(67, -30), Pack(71, -52), - Pack(3, -46), + Pack(2, -45), Pack(135, -37), Pack(-14, -15), Pack(23, -19), ], [ - Pack(-109, 25), + Pack(-108, 25), Pack(43, -22), Pack(-30, -5), Pack(-16, -9), - Pack(7, -3), + Pack(6, -3), Pack(92, -15), Pack(136, -60), - Pack(22, -14), + Pack(21, -14), ], [ Pack(-26, -4), Pack(-7, -16), Pack(-56, 25), - Pack(-42, 41), + Pack(-43, 41), Pack(8, 27), Pack(-44, 12), Pack(-19, 7), From 6df78dc1935dd5e63f9b6b7332010a077b4e6642 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20C=C3=A1ceres?= Date: Sun, 11 Jan 2026 21:13:00 +0100 Subject: [PATCH 3/5] Differenciate being able to castle vs not --- src/Lynx/Evaluation.cs | 57 +- src/Lynx/TunableEvalParameters.cs | 6919 +++++++++++++++-------------- 2 files changed, 3515 insertions(+), 3461 deletions(-) diff --git a/src/Lynx/Evaluation.cs b/src/Lynx/Evaluation.cs index fa69cbd91..57daf7479 100644 --- a/src/Lynx/Evaluation.cs +++ b/src/Lynx/Evaluation.cs @@ -832,7 +832,6 @@ private int RookAdditionalEvaluation(ref EvaluationContext evaluationContext, in packedBonus += SemiOpenFileRookBonus[bucket][file]; packedBonus += SemiOpenFileRookEnemyBonus[oppositeSideBucket][file]; } - // Trapped rook - impl based on Stash else if (mobility <= 3) { var rank = Constants.Rank[squareIndex]; @@ -849,10 +848,60 @@ private int RookAdditionalEvaluation(ref EvaluationContext evaluationContext, in var rookFile = Constants.File[squareIndex]; var kingFile = Constants.File[sameSideKingSquare]; - // TODO: fix for queenside rook before castling - if (kingFile != rookFile && (kingFile < rookFile) == (kingFile >= EFile)) + if (kingFile != rookFile) { - packedBonus += TrappedRookPenalty; + // Queenside rook + if (kingFile < rookFile && kingFile >= EFile) + { + if (pieceSide == (int)Side.White) + { + if ((_castle & (int)CastlingRights.WQ) == default) + { + packedBonus += BuriedRookPenalty; + } + else + { + packedBonus += TrappedRookPenalty; + } + } + else + { + if ((_castle & (int)CastlingRights.BQ) == default) + { + packedBonus += BuriedRookPenalty; + } + else + { + packedBonus += TrappedRookPenalty; + } + } + } + // Kingside rook + else if (kingFile <= EFile) + { + if (pieceSide == (int)Side.White) + { + if ((_castle & (int)CastlingRights.WK) == default) + { + packedBonus += BuriedRookPenalty; + } + else + { + packedBonus += TrappedRookPenalty; + } + } + else + { + if ((_castle & (int)CastlingRights.BK) == default) + { + packedBonus += BuriedRookPenalty; + } + else + { + packedBonus += TrappedRookPenalty; + } + } + } } } } diff --git a/src/Lynx/TunableEvalParameters.cs b/src/Lynx/TunableEvalParameters.cs index 3c4629fef..6a263f5d0 100644 --- a/src/Lynx/TunableEvalParameters.cs +++ b/src/Lynx/TunableEvalParameters.cs @@ -1,4 +1,4 @@ -// 2026-1-10 11:20:47 6 +// 2026-1-11 20:19:0 6 using static Lynx.Utils; @@ -12,96 +12,96 @@ internal static class TunableEvalParameters [ [ [ - +36, +304, +49, +424, +929, 0, - -36, -304, -49, -424, -929, 0 + +36, +304, +50, +428, +929, 0, + -36, -304, -50, -428, -929, 0 ], [ - +45, +328, +70, +452, +1016, 0, - -45, -328, -70, -452, -1016, 0 + +45, +328, +70, +455, +1018, 0, + -45, -328, -70, -455, -1018, 0 ], [ - +41, +318, +58, +422, +1033, 0, - -41, -318, -58, -422, -1033, 0 + +41, +318, +58, +425, +1034, 0, + -41, -318, -58, -425, -1034, 0 ], [ - +40, +310, +46, +409, +955, 0, - -40, -310, -46, -409, -955, 0 + +40, +310, +46, +412, +957, 0, + -40, -310, -46, -412, -957, 0 ], [ - +33, +309, +50, +427, +1003, 0, - -33, -309, -50, -427, -1003, 0 + +34, +309, +51, +430, +1006, 0, + -34, -309, -51, -430, -1006, 0 ], [ - +38, +311, +55, +405, +964, 0, - -38, -311, -55, -405, -964, 0 + +38, +311, +55, +407, +965, 0, + -38, -311, -55, -407, -965, 0 ], [ - +44, +324, +68, +437, +1036, 0, - -44, -324, -68, -437, -1036, 0 + +44, +324, +68, +439, +1037, 0, + -44, -324, -68, -439, -1037, 0 ], [ - +35, +324, +63, +438, +989, 0, - -35, -324, -63, -438, -989, 0 + +35, +324, +63, +440, +989, 0, + -35, -324, -63, -440, -989, 0 ], [ - +40, +327, +61, +423, +962, 0, - -40, -327, -61, -423, -962, 0 + +40, +327, +61, +427, +962, 0, + -40, -327, -61, -427, -962, 0 ], [ - +35, +309, +45, +400, +955, 0, - -35, -309, -45, -400, -955, 0 + +35, +309, +46, +404, +956, 0, + -35, -309, -46, -404, -956, 0 ], [ - +29, +295, +37, +359, +941, 0, - -29, -295, -37, -359, -941, 0 + +29, +295, +37, +362, +942, 0, + -29, -295, -37, -362, -942, 0 ], [ - +27, +292, +37, +362, +943, 0, - -27, -292, -37, -362, -943, 0 + +27, +292, +38, +365, +943, 0, + -27, -292, -38, -365, -943, 0 ], [ - +35, +314, +60, +398, +966, 0, - -35, -314, -60, -398, -966, 0 + +35, +314, +60, +401, +966, 0, + -35, -314, -60, -401, -966, 0 ], [ - +42, +340, +80, +436, +996, 0, - -42, -340, -80, -436, -996, 0 + +42, +340, +80, +439, +997, 0, + -42, -340, -80, -439, -997, 0 ], [ - +37, +328, +68, +422, +978, 0, - -37, -328, -68, -422, -978, 0 + +37, +328, +68, +424, +979, 0, + -37, -328, -68, -424, -979, 0 ], [ - +14, +267, +4, +346, +812, 0, - -14, -267, -4, -346, -812, 0 + +14, +267, +4, +349, +813, 0, + -14, -267, -4, -349, -813, 0 ], [ - +13, +248, +33, +340, +777, 0, - -13, -248, -33, -340, -777, 0 + +13, +249, +34, +343, +777, 0, + -13, -249, -34, -343, -777, 0 ], [ - +16, +250, +30, +345, +766, 0, - -16, -250, -30, -345, -766, 0 + +16, +250, +30, +347, +766, 0, + -16, -250, -30, -347, -766, 0 ], [ - +16, +253, +30, +348, +749, 0, - -16, -253, -30, -348, -749, 0 + +16, +253, +30, +351, +749, 0, + -16, -253, -30, -351, -749, 0 ], [ - +18, +247, +33, +346, +757, 0, - -18, -247, -33, -346, -757, 0 + +18, +247, +34, +348, +757, 0, + -18, -247, -34, -348, -757, 0 ], [ - +19, +255, +31, +339, +765, 0, - -19, -255, -31, -339, -765, 0 + +19, +255, +31, +341, +766, 0, + -19, -255, -31, -341, -766, 0 ], [ - +8, +248, +30, +347, +776, 0, - -8, -248, -30, -347, -776, 0 + +8, +248, +30, +350, +777, 0, + -8, -248, -30, -350, -777, 0 ], [ - +1, +253, +25, +343, +791, 0, - -1, -253, -25, -343, -791, 0 + +0, +253, +25, +345, +791, 0, + -0, -253, -25, -345, -791, 0 ], ], @@ -111,64 +111,64 @@ internal static class TunableEvalParameters -42, -52, -25, -88, -102, 0 ], [ - +48, +56, +37, +112, +183, 0, - -48, -56, -37, -112, -183, 0 + +48, +56, +38, +113, +183, 0, + -48, -56, -38, -113, -183, 0 ], [ - +44, +43, +24, +88, +212, 0, - -44, -43, -24, -88, -212, 0 + +43, +43, +25, +88, +213, 0, + -43, -43, -25, -88, -213, 0 ], [ +39, +33, +17, +69, +169, 0, -39, -33, -17, -69, -169, 0 ], [ - +41, +40, +24, +88, +207, 0, - -41, -40, -24, -88, -207, 0 + +41, +40, +24, +89, +207, 0, + -41, -40, -24, -89, -207, 0 ], [ - +39, +38, +22, +78, +175, 0, - -39, -38, -22, -78, -175, 0 + +39, +38, +22, +77, +175, 0, + -39, -38, -22, -77, -175, 0 ], [ - +45, +47, +28, +100, +187, 0, - -45, -47, -28, -100, -187, 0 + +45, +47, +28, +101, +188, 0, + -45, -47, -28, -101, -188, 0 ], [ - +40, +52, +31, +97, +146, 0, - -40, -52, -31, -97, -146, 0 + +40, +52, +31, +98, +146, 0, + -40, -52, -31, -98, -146, 0 ], [ - +45, +51, +28, +86, +159, 0, - -45, -51, -28, -86, -159, 0 + +45, +50, +28, +86, +159, 0, + -45, -50, -28, -86, -159, 0 ], [ - +42, +40, +17, +61, +177, 0, - -42, -40, -17, -61, -177, 0 + +42, +40, +17, +61, +178, 0, + -42, -40, -17, -61, -178, 0 ], [ - +35, +29, +3, +31, +181, 0, - -35, -29, -3, -31, -181, 0 + +35, +29, +3, +31, +182, 0, + -35, -29, -3, -31, -182, 0 ], [ - +34, +26, +10, +27, +190, 0, - -34, -26, -10, -27, -190, 0 + +34, +26, +10, +27, +191, 0, + -34, -26, -10, -27, -191, 0 ], [ +41, +45, +21, +60, +196, 0, -41, -45, -21, -60, -196, 0 ], [ - +47, +76, +52, +104, +189, 0, - -47, -76, -52, -104, -189, 0 + +47, +76, +52, +104, +190, 0, + -47, -76, -52, -104, -190, 0 ], [ - +40, +73, +45, +90, +148, 0, - -40, -73, -45, -90, -148, 0 + +40, +73, +45, +91, +148, 0, + -40, -73, -45, -91, -148, 0 ], [ - +24, +9, -18, +3, +41, 0, - -24, -9, +18, -3, -41, 0 + +24, +9, -18, +3, +42, 0, + -24, -9, +18, -3, -42, 0 ], [ +9, -9, -40, +15, +3, 0, @@ -187,8 +187,8 @@ internal static class TunableEvalParameters +6, +19, +57, -9, -3, 0 ], [ - +3, -16, -50, +3, +8, 0, - -3, +16, +50, -3, -8, 0 + +3, -16, -50, +4, +8, 0, + -3, +16, +50, -4, -8, 0 ], [ +13, -5, -37, +4, +7, 0, @@ -205,96 +205,96 @@ internal static class TunableEvalParameters [ [ [ - +42, +284, +48, +565, +799, 0, - -42, -284, -48, -565, -799, 0 + +42, +284, +48, +560, +798, 0, + -42, -284, -48, -560, -798, 0 ], [ - +51, +322, +82, +613, +882, 0, - -51, -322, -82, -613, -882, 0 + +51, +322, +82, +608, +880, 0, + -51, -322, -82, -608, -880, 0 ], [ - +61, +351, +109, +652, +896, 0, - -61, -351, -109, -652, -896, 0 + +61, +351, +109, +647, +894, 0, + -61, -351, -109, -647, -894, 0 ], [ - +49, +318, +70, +597, +821, 0, - -49, -318, -70, -597, -821, 0 + +49, +318, +69, +592, +819, 0, + -49, -318, -69, -592, -819, 0 ], [ - +59, +347, +101, +635, +896, 0, - -59, -347, -101, -635, -896, 0 + +59, +347, +101, +629, +894, 0, + -59, -347, -101, -629, -894, 0 ], [ - +51, +329, +80, +630, +881, 0, - -51, -329, -80, -630, -881, 0 + +51, +329, +80, +625, +879, 0, + -51, -329, -80, -625, -879, 0 ], [ - +65, +394, +151, +732, +1063, 0, - -65, -394, -151, -732, -1063, 0 + +65, +394, +151, +727, +1061, 0, + -65, -394, -151, -727, -1061, 0 ], [ - +41, +297, +62, +607, +864, 0, - -41, -297, -62, -607, -864, 0 + +41, +297, +62, +603, +862, 0, + -41, -297, -62, -603, -862, 0 ], [ - +57, +321, +79, +619, +857, 0, - -57, -321, -79, -619, -857, 0 + +57, +321, +79, +615, +855, 0, + -57, -321, -79, -615, -855, 0 ], [ - +64, +346, +95, +648, +874, 0, - -64, -346, -95, -648, -874, 0 + +64, +346, +95, +643, +872, 0, + -64, -346, -95, -643, -872, 0 ], [ - +67, +361, +105, +669, +888, 0, - -67, -361, -105, -669, -888, 0 + +67, +361, +105, +664, +887, 0, + -67, -361, -105, -664, -887, 0 ], [ - +67, +361, +102, +670, +897, 0, - -67, -361, -102, -670, -897, 0 + +67, +361, +102, +665, +895, 0, + -67, -361, -102, -665, -895, 0 ], [ - +61, +349, +96, +657, +908, 0, - -61, -349, -96, -657, -908, 0 + +61, +349, +96, +653, +906, 0, + -61, -349, -96, -653, -906, 0 ], [ - +55, +337, +85, +650, +914, 0, - -55, -337, -85, -650, -914, 0 + +55, +336, +85, +645, +913, 0, + -55, -336, -85, -645, -913, 0 ], [ - +52, +309, +66, +624, +877, 0, - -52, -309, -66, -624, -877, 0 + +52, +309, +66, +620, +876, 0, + -52, -309, -66, -620, -876, 0 ], [ - +54, +263, +22, +547, +711, 0, - -54, -263, -22, -547, -711, 0 + +54, +263, +22, +542, +710, 0, + -54, -263, -22, -542, -710, 0 ], [ - +58, +243, -20, +517, +649, 0, - -58, -243, +20, -517, -649, 0 + +58, +243, -20, +512, +647, 0, + -58, -243, +20, -512, -647, 0 ], [ - +56, +235, -34, +492, +635, 0, - -56, -235, +34, -492, -635, 0 + +56, +235, -34, +488, +633, 0, + -56, -235, +34, -488, -633, 0 ], [ - +54, +230, -51, +465, +616, 0, - -54, -230, +51, -465, -616, 0 + +54, +230, -51, +461, +614, 0, + -54, -230, +51, -461, -614, 0 ], [ - +49, +227, -61, +460, +622, 0, - -49, -227, +61, -460, -622, 0 + +49, +227, -61, +455, +620, 0, + -49, -227, +61, -455, -620, 0 ], [ - +46, +225, -53, +480, +637, 0, - -46, -225, +53, -480, -637, 0 + +46, +225, -53, +476, +635, 0, + -46, -225, +53, -476, -635, 0 ], [ - +56, +236, -29, +502, +650, 0, - -56, -236, +29, -502, -650, 0 + +56, +236, -29, +497, +648, 0, + -56, -236, +29, -497, -648, 0 ], [ - +60, +260, -2, +523, +666, 0, - -60, -260, +2, -523, -666, 0 + +60, +260, -2, +518, +664, 0, + -60, -260, +2, -518, -664, 0 ], ], @@ -308,32 +308,32 @@ internal static class TunableEvalParameters -61, -59, -41, -130, -222, 0 ], [ - +67, +85, +64, +164, +233, 0, - -67, -85, -64, -164, -233, 0 + +67, +85, +64, +163, +233, 0, + -67, -85, -64, -163, -233, 0 ], [ - +58, +52, +20, +107, +151, 0, - -58, -52, -20, -107, -151, 0 + +58, +52, +20, +107, +152, 0, + -58, -52, -20, -107, -152, 0 ], [ - +66, +83, +51, +145, +229, 0, - -66, -83, -51, -145, -229, 0 + +66, +83, +51, +144, +230, 0, + -66, -83, -51, -144, -230, 0 ], [ - +62, +66, +40, +144, +198, 0, - -62, -66, -40, -144, -198, 0 + +63, +66, +40, +143, +198, 0, + -63, -66, -40, -143, -198, 0 ], [ - +78, +135, +115, +247, +399, 0, - -78, -135, -115, -247, -399, 0 + +78, +135, +114, +247, +398, 0, + -78, -135, -114, -247, -398, 0 ], [ - +61, +51, +27, +143, +234, 0, - -61, -51, -27, -143, -234, 0 + +61, +51, +27, +142, +234, 0, + -61, -51, -27, -142, -234, 0 ], [ - +55, +48, +16, +110, +184, 0, - -55, -48, -16, -110, -184, 0 + +55, +49, +16, +111, +184, 0, + -55, -49, -16, -111, -184, 0 ], [ +58, +66, +34, +134, +190, 0, @@ -376,16 +376,16 @@ internal static class TunableEvalParameters -32, +61, +68, +18, +51, 0 ], [ - +29, -61, -75, -31, -43, 0, - -29, +61, +75, +31, +43, 0 + +29, -61, -75, -30, -43, 0, + -29, +61, +75, +30, +43, 0 ], [ +33, -60, -66, -28, -28, 0, -33, +60, +66, +28, +28, 0 ], [ - +39, -57, -49, -16, -14, 0, - -39, +57, +49, +16, +14, 0 + +39, -57, -49, -16, -15, 0, + -39, +57, +49, +16, +15, 0 ], [ +38, -30, -35, +21, +13, 0, @@ -398,232 +398,232 @@ internal static class TunableEvalParameters [ [ 0, 0, 0, 0, 0, 0, 0, 0, - -150, 26, 61, -10, -68, -34, 38, -20, - -31, 31, 66, 46, 39, 11, 12, 3, - -22, 33, -2, 6, 1, -17, -15, -31, - 12, 26, 13, 10, 4, -5, -23, -24, + -150, 26, 61, -9, -68, -35, 39, -21, + -31, 31, 66, 47, 39, 10, 11, 2, + -22, 33, -3, 6, 1, -18, -15, -31, + 12, 26, 13, 10, 4, -5, -24, -24, 6, 45, 23, 2, -18, -23, -38, -32, - 4, 89, 43, 15, -2, -28, -41, -31, + 4, 89, 43, 16, -1, -27, -41, -30, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -10, -40, -71, 13, 7, -2, -17, -73, - 33, 24, 21, 38, 34, 19, -2, -6, - 42, 12, -2, -2, -3, -8, -11, -18, + -8, -40, -71, 12, 6, -2, -17, -73, + 34, 24, 21, 38, 34, 19, -2, -8, + 43, 12, -2, -3, -3, -9, -11, -20, 45, 6, 4, -0, -3, -5, -12, -16, - 42, 34, 6, -9, -16, -19, -39, -27, - 27, 48, 30, 8, 1, -22, -37, -22, + 42, 34, 6, -9, -16, -19, -39, -26, + 27, 48, 30, 9, 1, -22, -36, -21, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 15, -12, 1, -90, 29, -51, -58, -58, - 8, 39, 18, 38, 12, 21, -6, -12, - 20, 23, 14, 4, -7, -5, -11, -15, - 20, 24, 14, 5, -5, -4, -13, -13, + 17, -11, 1, -91, 29, -51, -57, -59, + 9, 40, 17, 36, 12, 21, -6, -15, + 21, 23, 15, 3, -7, -5, -12, -16, + 20, 24, 15, 4, -5, -4, -13, -14, 28, 42, 22, -7, -11, -13, -31, -32, - 27, 52, 29, 17, 3, -14, -33, -25, + 27, 53, 30, 18, 3, -13, -32, -23, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -2, -49, 3, -111, -39, 26, -23, -20, - -19, 36, 32, 6, 10, 18, 11, -11, - 3, 6, 13, 18, 12, 14, -13, -10, - -5, 4, 18, 11, 14, 10, -8, -12, - -5, 9, 17, 9, 7, 0, -15, -16, - 1, 22, 3, 22, 19, 7, -8, -17, + -1, -49, 4, -112, -39, 26, -23, -21, + -19, 36, 33, 5, 10, 17, 10, -12, + 4, 7, 14, 18, 13, 13, -13, -10, + -5, 4, 19, 11, 14, 9, -9, -12, + -5, 9, 17, 9, 7, 0, -14, -15, + 1, 22, 3, 22, 18, 8, -7, -16, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -31, -27, -53, -12, -46, -49, 3, -11, - -1, 6, 20, 15, -17, 16, -3, -25, - -8, 12, -2, 17, 7, 15, 13, -20, - -6, -4, 14, 16, 9, 19, 8, -19, - 3, 1, 6, 8, 12, 11, 9, -21, - 1, 16, 16, 19, 20, 16, 24, 0, + -31, -28, -53, -12, -47, -50, 3, -9, + -1, 5, 20, 15, -18, 16, -3, -21, + -8, 12, -2, 17, 7, 15, 13, -17, + -5, -4, 14, 16, 10, 19, 8, -16, + 4, 1, 6, 8, 12, 11, 8, -20, + 2, 16, 16, 19, 20, 15, 23, -4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -15, -38, -57, 25, 1, -56, -50, -19, + -15, -38, -58, 25, 1, -57, -50, -18, -12, -7, 8, 19, 27, 17, 13, 27, - -15, -4, -9, 0, 12, 20, 13, 10, - -15, -13, -4, 8, 6, 22, 19, 6, - -15, -16, -8, 7, 7, 25, 19, -0, - -12, -12, -5, 16, 22, 28, 5, -1, + -15, -4, -9, 1, 13, 20, 13, 11, + -15, -13, -4, 8, 6, 22, 20, 6, + -15, -16, -8, 7, 6, 25, 19, -0, + -12, -12, -5, 16, 22, 28, 4, -1, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -18, -38, -4, -28, 3, -12, -10, -37, - 2, 9, 27, 29, 13, 46, 8, 32, - -13, -9, -16, -8, -6, 8, 3, 19, + 2, 10, 27, 30, 13, 46, 8, 32, + -13, -8, -16, -8, -6, 8, 3, 19, -16, -16, -9, -7, -2, 7, 4, 26, - -17, -24, -18, -15, -7, -2, 21, 31, - -12, -18, -18, 10, 11, 21, 32, 19, + -17, -24, -18, -15, -7, -2, 21, 30, + -13, -19, -18, 10, 10, 20, 31, 19, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -22, -1, -21, 4, 19, 15, -54, -80, + -22, -0, -21, 4, 19, 15, -54, -80, 4, 19, 24, 22, 39, 29, 14, -3, - -17, -12, -15, -8, 3, 11, 11, -18, + -17, -12, -15, -8, 3, 12, 11, -18, -14, -19, -9, -3, 7, 8, 14, 10, -17, -27, -20, -8, -6, 12, 10, 32, - -12, -19, -12, -6, 9, 16, 57, 34, + -12, -20, -12, -6, 9, 16, 57, 34, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -5, 21, -5, -20, 37, -41, -101, -34, - 29, 13, 54, 42, 34, 12, -5, -1, - 28, 6, 28, 13, 4, -2, -15, -24, - 20, 12, 20, 17, 2, -4, -14, -25, + -4, 21, -5, -19, 37, -41, -102, -35, + 29, 13, 54, 42, 34, 12, -5, -2, + 28, 6, 28, 13, 4, -2, -15, -25, + 19, 12, 20, 17, 2, -4, -14, -25, 6, 19, 23, 6, -12, -16, -33, -33, - -11, -7, 50, 21, -2, -28, -40, -38, + -11, -6, 50, 21, -2, -28, -40, -37, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 27, 22, -83, 78, -45, -74, -17, -46, - 18, 38, 19, 44, -13, 5, 6, -11, - 14, 40, 7, 22, 15, 10, -10, -19, - 0, 10, 11, 15, 15, 8, -14, -18, - 1, 6, 3, 8, 4, -3, -24, -39, - -2, 10, -5, 26, 21, -11, -32, -37, + 27, 23, -83, 78, -44, -74, -18, -47, + 19, 38, 19, 44, -13, 5, 6, -12, + 14, 40, 7, 22, 15, 10, -10, -20, + 1, 10, 11, 15, 15, 8, -14, -19, + 1, 7, 3, 8, 4, -3, -24, -39, + -2, 10, -5, 26, 21, -10, -32, -37, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -15, 27, 2, -21, -35, -21, -23, -44, - 5, 20, 20, 26, 25, 38, 2, -10, - -12, -1, 23, 1, 18, 14, -6, -10, + -14, 27, 2, -21, -34, -20, -23, -45, + 6, 21, 19, 26, 25, 37, 1, -12, + -11, -1, 23, 1, 19, 14, -6, -11, -17, 6, 23, 6, 23, 14, -11, -15, -14, 12, 7, 3, 5, 4, -8, -41, - -21, 15, 9, -2, 22, 8, -19, -35, + -21, 15, 8, -2, 22, 9, -18, -34, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -55, -20, 6, 41, -45, -6, 10, -35, - -5, -11, 23, 50, 6, 41, 28, -9, - -23, -2, 3, 23, 15, 24, 5, -11, - -25, -16, 11, 16, 21, 21, 11, -12, - -25, -9, 5, -0, 12, 4, -1, -22, - -31, -13, 6, 12, 3, 7, -3, -25, + -57, -20, 6, 41, -46, -6, 11, -35, + -6, -12, 23, 50, 6, 42, 28, -9, + -24, -3, 3, 24, 15, 24, 6, -10, + -26, -17, 11, 16, 21, 21, 12, -12, + -25, -9, 5, 0, 12, 4, -1, -22, + -30, -13, 6, 12, 4, 7, -3, -24, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -30, -9, -37, 26, 46, -70, -30, -21, - -30, 11, 18, 19, 39, 21, 44, 18, + -30, -9, -37, 26, 45, -69, -29, -20, + -30, 11, 18, 19, 39, 21, 44, 19, -16, -7, -11, 9, 20, -2, 27, 11, - -29, -22, 5, 17, 24, -0, 14, 8, + -28, -22, 5, 17, 24, -0, 14, 8, -28, -24, -0, 6, 10, -9, -0, -12, - -31, -20, 1, 25, 25, -1, 1, -8, + -31, -20, 0, 24, 25, -1, 1, -8, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -33, -20, -13, -23, 36, -20, -28, -21, + -33, -20, -13, -23, 36, -20, -28, -20, -3, -4, 6, 20, 35, 50, 23, 13, - -19, -10, -20, 2, 6, 28, 14, 26, + -19, -10, -20, 2, 6, 28, 15, 26, -24, -25, -8, 4, 18, 21, 18, 14, - -25, -28, -21, -6, 4, 23, 15, -16, - -24, -27, -23, 6, 27, 55, -5, -16, + -26, -28, -21, -6, 4, 23, 16, -16, + -25, -28, -23, 6, 26, 55, -5, -16, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -11, -12, -32, -8, 19, -23, 5, -54, 7, 12, 16, 37, 20, 39, 51, 10, - -21, -21, -26, -10, 8, 12, 22, -9, + -21, -21, -26, -10, 8, 12, 23, -9, -16, -22, -14, -2, 11, 32, 17, 10, - -20, -28, -22, -13, -3, 19, 34, 0, - -23, -29, -19, -10, 8, 47, 65, -54, + -20, -28, -22, -13, -3, 19, 34, -0, + -23, -29, -20, -10, 8, 47, 65, -54, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -111, 71, -21, 30, 61, -14, -44, 15, - -25, 10, 73, 4, 9, 34, 12, -16, + -111, 71, -22, 30, 61, -13, -44, 15, + -26, 10, 73, 3, 8, 33, 11, -17, -1, 16, 44, 14, 8, -46, -33, -45, - -30, 44, 11, 27, 9, -42, -32, -43, - -31, 72, 80, 18, 18, -17, -40, -35, - -76, 75, 58, 13, -8, -54, -34, -27, + -31, 44, 11, 27, 9, -42, -32, -44, + -31, 72, 79, 18, 18, -16, -40, -35, + -75, 75, 58, 13, -7, -53, -34, -27, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -21, 26, 76, 67, -40, -36, -30, -9, - -45, 12, 91, 54, 85, 44, 27, -33, - 0, 78, 105, 49, 78, 33, -48, -6, - -86, 46, 53, 29, 39, -3, -100, -66, - -70, 36, 46, 38, -2, -35, -58, -47, - -93, 85, 33, -102, -9, -97, -95, -101, + -21, 26, 76, 67, -40, -36, -30, -10, + -45, 12, 91, 54, 85, 43, 27, -32, + 1, 78, 105, 49, 78, 32, -48, -6, + -86, 46, 53, 29, 39, -3, -100, -65, + -70, 36, 46, 38, -2, -35, -57, -47, + -93, 85, 33, -103, -9, -97, -95, -100, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -113, 55, 41, 66, -1, -16, 23, 7, + -113, 55, 41, 67, -1, -16, 23, 7, 8, 27, 23, 112, 103, -7, -7, -19, - -67, 53, 71, 97, -10, 27, -30, 7, - -57, 5, 77, -10, 12, 8, -44, -57, - -44, -9, 78, 35, -8, 11, -73, -43, - -44, 12, 11, -73, -57, -61, -77, -41, + -68, 53, 71, 97, -10, 26, -30, 7, + -57, 5, 77, -10, 12, 7, -44, -57, + -44, -9, 78, 34, -8, 12, -73, -43, + -44, 11, 11, -73, -57, -61, -76, -41, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -1, -4, 22, 56, -42, 20, 26, 3, - 55, 41, 81, 96, 62, 57, 47, -3, - 10, 15, 54, 33, 22, 33, -25, -18, + 55, 41, 82, 96, 62, 57, 47, -4, + 10, 15, 54, 34, 23, 33, -25, -18, -66, -13, -5, 75, -8, -80, -64, -41, -84, 20, 15, 68, 57, 11, -28, -19, - -66, -71, 34, -26, -87, -76, -124, -62, + -66, -71, 34, -27, -87, -75, -124, -61, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, 11, -11, -62, 67, 15, 47, -46, -20, - 5, 46, 74, 87, 122, 13, 32, 19, - -63, -40, 50, 36, 125, 25, 23, -18, - -54, -9, -8, 8, 93, -39, 9, -52, - -99, -59, -5, 63, 63, 32, -24, -84, - -61, -97, -8, -27, -10, -37, -73, -58, + 5, 46, 74, 87, 121, 13, 32, 19, + -64, -41, 50, 36, 125, 25, 23, -18, + -54, -9, -8, 7, 93, -39, 9, -52, + -99, -60, -5, 64, 63, 32, -24, -84, + -61, -97, -8, -27, -10, -36, -74, -58, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -32, 2, -23, 41, 39, 41, -17, -72, + -32, 2, -23, 41, 39, 41, -16, -72, -69, 27, 12, 55, 64, 105, 105, 17, -35, -46, 48, 54, 51, 177, 90, 48, - -91, -64, -12, -10, -27, 50, 19, -62, + -92, -64, -12, -10, -27, 50, 19, -62, -84, -42, -3, 16, 26, 68, 45, -18, - -97, -99, 8, -102, -21, -48, -49, -86, + -96, -99, 8, -102, -21, -47, -49, -86, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -17, -37, -42, 25, 60, 134, -13, -34, - -32, -38, -27, 44, 49, 141, 64, 41, - -51, -26, 54, -51, 85, 83, 57, -16, - -50, -45, -39, 17, 75, 29, 68, -32, + -32, -38, -27, 43, 49, 141, 64, 42, + -50, -26, 54, -50, 85, 84, 58, -16, + -50, -46, -39, 17, 75, 30, 68, -32, -112, -81, -31, 6, 36, 21, 4, -34, - -72, -80, -52, -42, 20, 1, 14, -78, + -72, -80, -52, -42, 21, 1, 14, -78, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -9, -18, 46, -6, 47, 64, -75, 15, 6, 32, -70, -18, 63, 138, 10, 54, - -101, -77, -43, 33, 41, 111, 32, 32, - -21, -57, -47, 27, 48, 106, 49, 25, - -80, -48, -42, -20, 32, 11, 54, 5, - -101, -80, -95, -72, 0, -36, 37, -4, + -101, -77, -43, 33, 41, 111, 33, 32, + -21, -57, -47, 27, 48, 106, 48, 25, + -80, -48, -41, -20, 32, 11, 54, 5, + -100, -81, -94, -72, 0, -36, 37, -4, 0, 0, 0, 0, 0, 0, 0, 0, ], ]; @@ -632,169 +632,169 @@ internal static class TunableEvalParameters [ [ 0, 0, 0, 0, 0, 0, 0, 0, - 104, -6, -39, -38, -6, -46, -94, -57, - 66, 32, 3, -9, -21, -11, -4, 22, - 25, 13, 10, -0, -11, 0, -0, 12, + 104, -6, -39, -38, -6, -46, -94, -56, + 66, 32, 3, -9, -21, -10, -4, 22, + 25, 13, 10, 0, -11, 0, -0, 12, -6, 0, 6, -0, -7, -6, -1, 4, -19, -16, 4, 2, 7, 1, 6, 5, - -0, 10, 13, 25, -0, 8, 9, 12, + -0, 9, 13, 24, -1, 8, 9, 12, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -4, 9, 45, -79, -59, -70, -49, -29, - 37, 61, 36, 1, -2, -3, 42, 16, - 2, 0, 10, -4, -2, -2, 4, 10, - -15, -13, -2, -4, -2, -2, 2, 2, - -15, -26, 7, 7, 15, 10, 18, 9, - -22, -21, 12, 11, 12, 8, 23, 12, + -3, 9, 44, -79, -59, -70, -49, -29, + 38, 61, 37, 2, -1, -2, 42, 17, + 3, 1, 10, -4, -2, -2, 4, 11, + -15, -13, -2, -4, -2, -2, 3, 2, + -15, -26, 6, 7, 15, 10, 17, 9, + -22, -22, 12, 9, 12, 8, 23, 11, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -27, -1, -66, -11, -82, -41, -29, -22, - 35, 38, 12, -11, 12, 3, 18, 25, - 10, 14, -12, -2, 2, -0, 5, 15, - -4, -6, -8, -4, 4, 3, 2, 8, - -8, -8, -13, 8, 16, 10, 21, 18, - -3, -18, 1, 4, 25, 15, 26, 27, + -27, -1, -67, -11, -82, -41, -30, -23, + 36, 39, 12, -10, 12, 3, 18, 26, + 11, 14, -12, -1, 2, -0, 5, 15, + -4, -5, -8, -3, 4, 3, 2, 8, + -8, -9, -13, 8, 16, 9, 20, 18, + -4, -18, 1, 3, 25, 15, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -28, -9, -53, 24, -10, -71, -52, -34, - 30, 21, 4, 8, 7, -6, 18, 29, + -28, -9, -53, 24, -10, -72, -52, -34, + 31, 22, 4, 9, 8, -5, 18, 29, 9, 3, -5, -22, -5, -8, 15, 5, - 5, 2, -7, -7, 4, -7, 3, 4, - 6, 3, 6, 1, 12, 5, 7, 10, - 12, 8, 2, 14, 9, 6, 14, 18, + 6, 3, -7, -7, 4, -6, 3, 4, + 6, 3, 6, 1, 12, 5, 7, 9, + 11, 8, 2, 14, 8, 5, 14, 18, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -11, -46, -36, -5, -20, -58, -71, -20, - 24, 13, 3, -2, 12, 15, 25, 44, - 6, -11, -2, -8, -11, -13, -5, 20, - 0, 8, -2, 4, 4, -1, 1, 7, - 4, 10, 17, 18, 6, 7, -1, 4, - 8, 20, 19, 12, 16, -9, -2, 8, + -11, -46, -37, -5, -20, -57, -71, -20, + 24, 13, 3, -2, 11, 15, 26, 45, + 6, -11, -2, -8, -11, -13, -4, 20, + -0, 8, -2, 3, 3, -1, 1, 8, + 4, 11, 17, 18, 6, 7, -1, 6, + 7, 19, 18, 12, 16, -10, -3, 5, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -23, -38, -25, -59, -21, -21, 18, -25, - 30, 17, 6, 1, -15, -8, 41, 13, - 20, 4, -5, -9, -17, -17, -0, 12, - 12, 8, 1, -5, -3, -19, -7, -5, + -23, -38, -25, -59, -21, -20, 18, -24, + 30, 17, 6, 1, -15, -8, 41, 14, + 19, 4, -5, -10, -18, -17, -0, 12, + 12, 8, 1, -5, -3, -19, -7, -4, 16, 16, 8, 4, 9, -11, -3, 2, - 23, 23, 18, 20, 9, -1, -5, 9, + 23, 23, 18, 21, 10, -1, -5, 9, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -3, 1, -55, -26, -47, -14, -20, 29, - 26, 3, -13, -18, -8, 1, 18, 35, - 16, 7, -1, -6, -8, -6, -5, 8, - 11, 7, 1, 5, 5, -7, -13, -9, + -4, 0, -55, -26, -47, -14, -20, 30, + 25, 3, -13, -19, -8, 1, 18, 36, + 16, 7, -1, -6, -8, -7, -5, 8, + 10, 7, 1, 5, 5, -7, -13, -9, 14, 15, 11, 19, 15, 6, -20, -18, - 16, 21, 15, 8, 22, 11, -24, -25, + 17, 21, 15, 8, 22, 11, -24, -25, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 21, -46, -22, -56, -26, -28, -1, 41, - 25, 6, -4, -7, -18, 3, 32, 34, + 21, -47, -22, -56, -26, -28, -0, 41, + 25, 5, -4, -8, -19, 3, 31, 34, 13, 5, -7, -14, -10, -7, -5, 10, 6, -3, -3, -1, -7, -1, -15, -16, - 6, 11, 6, 5, 13, 4, -8, -19, + 6, 11, 6, 5, 13, 5, -8, -19, 8, 13, 13, 14, 23, 19, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -6, -26, -13, -38, -66, -44, -24, -45, - 40, 48, 26, 0, -3, -4, 4, 5, + 40, 48, 26, 0, -3, -4, 5, 5, 15, 28, 8, 3, 1, -8, 1, 9, - 4, 8, 6, 4, 2, -5, -6, 3, - -4, -9, 2, 2, 9, 1, 3, 7, - 1, 8, -2, 5, 10, 10, 13, 18, + 4, 8, 6, 4, 2, -4, -6, 3, + -4, -9, 2, 2, 9, 1, 3, 6, + 1, 7, -2, 5, 10, 10, 12, 18, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -41, -30, 16, -57, -43, -48, -11, -43, - 31, 45, 33, 8, 5, 0, 7, 17, + -41, -30, 16, -57, -44, -48, -11, -43, + 31, 45, 33, 8, 4, 0, 7, 17, 18, 10, 9, -4, -4, -9, 6, 7, - 12, 15, -8, -2, -2, -4, 1, 5, - 4, -2, -1, -4, 2, -2, 5, 16, + 12, 15, -8, -2, -2, -4, 1, 6, + 4, -2, -1, -4, 3, -2, 5, 16, 4, 3, 2, -4, -3, 4, 14, 24, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -17, -42, -25, -44, -30, -41, -34, -17, - 27, 26, 20, 7, 20, 3, 9, 25, + -17, -42, -25, -44, -30, -42, -34, -17, + 27, 26, 21, 7, 20, 3, 10, 26, 17, 14, -0, 1, -4, -8, 2, 5, 14, 11, -2, -6, -3, -4, 3, 6, - 10, 1, -2, -9, -3, -3, -1, 13, - 18, 4, -1, 9, -1, 1, 8, 20, + 10, 1, -2, -9, -3, -3, -1, 12, + 18, 4, -1, 9, -0, 1, 8, 20, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -7, -45, -33, -58, -3, -27, -31, -34, - 22, 14, 9, 4, 13, 15, 11, 23, + 22, 14, 9, 4, 13, 15, 11, 22, 14, 7, -1, -5, 3, -4, 7, 8, - 13, 9, 1, -5, -4, -6, 3, 4, - 11, 3, 3, -0, -2, -3, 2, 6, - 21, 14, 4, 2, 7, 1, 4, 13, + 13, 9, 1, -5, -4, -7, 3, 4, + 11, 3, 2, -0, -1, -3, 2, 6, + 21, 14, 5, 2, 7, 1, 4, 13, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -13, -38, -32, -49, -51, -16, 10, -13, + -13, -38, -32, -49, -51, -16, 10, -14, 23, 9, -2, 5, 9, 24, 21, 29, 7, 2, 2, -6, -1, 6, 5, 7, 10, 6, -1, -4, -5, -0, -1, 2, - 10, 8, 2, 1, -4, 1, -6, 3, - 19, 15, 5, -1, 2, -2, -4, 4, + 10, 7, 2, 1, -4, 1, -6, 3, + 19, 15, 6, -1, 2, -2, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -20, -39, -52, -31, -52, -19, 33, 17, - 9, 7, -6, -2, -7, 10, 40, 42, + 8, 7, -6, -2, -7, 10, 40, 42, 6, -3, -2, -7, -1, 1, 17, 7, 4, 0, -1, -1, 0, -5, 2, -4, 5, 5, 6, 8, 6, -8, -6, -3, - 12, 11, 13, 6, 3, -6, 4, -3, + 12, 11, 13, 6, 3, -5, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -27, -39, -44, -39, -47, -28, -2, 39, - 13, -4, 3, -0, 1, 19, 45, 58, + -28, -39, -44, -39, -47, -28, -2, 39, + 13, -4, 3, -0, 1, 19, 45, 57, 4, -2, -8, -9, -10, 4, 9, 24, -2, -8, -6, -9, -0, -3, 3, 1, - 1, -3, 2, 5, 9, 6, -9, -9, - 7, 9, 2, 7, 19, -0, -1, 19, + 1, -3, 2, 5, 9, 7, -9, -9, + 7, 9, 3, 7, 19, -0, -1, 19, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 50, -11, 27, -41, -96, -81, -72, -54, + 50, -11, 28, -41, -96, -81, -72, -54, 50, 72, 51, 14, -14, -24, -13, 8, 30, 43, 22, 3, -4, -6, -7, 5, - 32, 28, 26, 3, -11, -10, -15, -4, - 16, 5, -7, -4, -9, -15, -6, -1, - 38, 8, -3, -6, -13, -2, -9, 4, + 32, 28, 26, 3, -10, -10, -15, -4, + 17, 5, -7, -4, -9, -16, -6, -1, + 38, 8, -3, -6, -14, -2, -9, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -15, 16, 0, -3, -34, -91, -98, -58, 52, 76, 46, 57, -12, -24, -9, -2, - 48, 44, 29, 22, -15, -14, -9, -23, + 47, 44, 29, 22, -15, -14, -9, -23, 43, 24, 12, 8, -14, -15, -10, -14, 13, -0, -5, -3, -14, -12, -16, -15, 40, -12, -8, 31, -14, -1, -6, 7, @@ -802,9 +802,9 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -8, -49, 22, -32, 3, -57, -94, -51, + -8, -49, 22, -32, 3, -57, -94, -52, 48, 40, 76, 33, 22, 2, -31, -13, - 47, 31, 56, 18, 6, -15, -10, -20, + 47, 31, 56, 17, 6, -15, -11, -20, 30, 18, 11, 8, -10, -17, -17, -11, 5, 6, -6, -5, -19, -24, -14, -13, 14, -2, 3, 32, 3, -13, 0, 1, @@ -812,20 +812,20 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -71, -38, -16, 37, -5, -38, -69, -83, + -71, -38, -16, 37, -5, -38, -69, -84, 4, 39, 24, 58, 23, 23, -29, -3, - 19, 17, 21, 60, 5, -4, 6, -2, - 17, 12, 6, 16, -1, 3, 0, -6, + 19, 17, 21, 59, 5, -4, 6, -2, + 17, 12, 6, 16, -1, 3, 0, -7, 15, -11, -7, -7, -8, -17, -15, -11, 11, -4, -14, 27, 7, -3, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -80, -54, -10, -32, 52, -24, -33, -39, + -80, -54, -10, -32, 52, -23, -33, -39, -12, -7, 11, 7, 53, 16, 7, -5, 6, 18, 6, 16, 45, 15, 5, 6, - -1, -2, 1, 3, 18, 15, 1, 5, + -1, -2, 2, 3, 18, 15, 1, 5, 3, -11, -8, -11, 1, -2, -8, 9, 0, 2, -6, 2, 1, 5, 4, 10, 0, 0, 0, 0, 0, 0, 0, 0, @@ -845,15 +845,15 @@ internal static class TunableEvalParameters -78, -68, -47, -73, -14, -22, 50, -6, -13, -2, 16, 3, 47, 21, 66, 26, -11, -8, -18, 20, 7, 23, 54, 38, - -17, -11, -3, -10, -5, 14, 16, 25, + -16, -11, -3, -10, -5, 14, 16, 25, 1, -11, -19, -12, -16, 1, 3, 13, -0, -5, -10, 10, -2, -1, 1, 24, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -111, -94, -20, -78, -57, 3, 43, 17, - 3, -30, 8, 20, 25, 55, 63, 39, + -111, -93, -20, -78, -57, 4, 43, 17, + 3, -30, 8, 19, 25, 55, 63, 39, -1, -16, 1, -14, 32, 25, 60, 33, -15, -20, 4, -16, 8, -5, 40, 39, -4, -20, -18, -22, -7, -9, 11, 19, @@ -865,408 +865,408 @@ internal static class TunableEvalParameters internal static readonly short[][] MiddleGameKnightTable = [ [ - -113, -70, -79, -60, -59, -36, -39, -160, - 27, 13, 4, 40, 61, -28, 17, -37, - 6, 24, 68, 40, 34, 26, 28, 19, - 15, 50, 51, 39, 32, 15, -5, -11, - 19, 46, 38, 38, 18, 22, 15, -14, - 32, 8, 26, 16, 15, -4, -11, -29, - 21, 41, 20, 23, 1, -27, 4, -70, - 13, -1, -4, -3, -24, -16, -59, -65, + -113, -69, -79, -60, -59, -36, -39, -161, + 27, 12, 4, 41, 60, -28, 17, -37, + 6, 24, 67, 39, 34, 26, 29, 19, + 15, 49, 51, 38, 32, 15, -5, -12, + 19, 46, 38, 37, 17, 22, 15, -15, + 32, 7, 25, 15, 15, -4, -11, -29, + 21, 41, 20, 23, 0, -27, 4, -69, + 12, -1, -1, -2, -22, -15, -57, -65, ], [ - -86, -25, 29, 43, -109, -40, -146, -96, - 26, -11, 22, 50, 14, -28, -33, -2, - 24, 20, 39, 41, 6, 20, 2, -6, - 17, 30, 31, 34, 30, 14, 20, 1, + -86, -26, 29, 43, -109, -41, -147, -97, + 26, -11, 22, 50, 14, -28, -33, -1, + 24, 21, 38, 41, 6, 20, 2, -5, + 17, 30, 31, 34, 30, 14, 19, 0, 28, 46, 21, 32, 9, 17, -7, 3, - -5, 13, 16, 12, 6, -8, -4, -16, - -10, 20, 2, -0, 1, -9, -9, -39, - -2, -61, 27, 16, 9, -2, -8, -28, + -5, 13, 17, 12, 6, -8, -4, -17, + -10, 20, 3, -0, 1, -9, -9, -39, + -2, -61, 27, 16, 11, -1, -6, -30, ], [ - -64, -37, -64, 31, 15, -52, -98, 11, - -18, 6, 20, 20, 17, 6, -39, 2, - 4, 28, 9, 22, 18, 10, -23, -20, - 12, 25, 26, 32, 23, 16, 15, 13, + -64, -36, -64, 30, 16, -52, -98, 10, + -18, 6, 20, 20, 16, 6, -40, 2, + 5, 28, 9, 22, 18, 10, -23, -21, + 12, 24, 26, 32, 22, 16, 15, 13, 22, 29, 20, 19, 4, 7, -3, 14, - -7, 3, 23, 2, 4, -6, -0, -26, - 4, -0, 14, 9, -6, -12, -1, -25, - -0, 11, -52, 19, -1, -8, -6, -20, + -7, 3, 23, 3, 4, -6, -1, -27, + 4, -1, 14, 9, -6, -12, -1, -25, + -1, 11, -52, 18, 2, -5, -3, -21, ], [ - -121, -149, -109, -95, -20, -104, -64, -5, - 19, -15, 15, 21, 42, -0, -15, -33, - 37, 14, 44, 21, 27, -0, 36, -17, - 24, 15, 30, 33, 46, 15, 17, 4, - 14, 40, 19, 35, 22, 29, 9, 16, - -14, 15, 12, 23, 4, 13, 16, 1, - -13, -6, 11, 21, 6, -11, 21, -10, - 5, -0, 28, -44, 25, 8, 9, -17, + -120, -152, -110, -95, -22, -102, -67, -6, + 21, -14, 16, 21, 42, -1, -15, -33, + 36, 15, 44, 21, 27, -0, 36, -15, + 24, 15, 30, 33, 45, 16, 17, 4, + 15, 40, 20, 35, 22, 29, 9, 17, + -14, 15, 12, 23, 5, 13, 16, 0, + -13, -5, 10, 21, 6, -11, 20, -10, + 5, -1, 27, -44, 25, 9, 11, -17, ], [ - -67, -108, -88, -91, -14, -66, -96, -51, - -13, -26, 3, -12, 8, 14, -4, -15, - -18, 6, 17, 8, 16, 20, -28, -3, - 22, 15, 20, 24, 25, 29, 18, 12, - 15, 28, 26, 31, 21, 28, 14, 23, - 6, 12, 17, 20, 18, 18, 21, 4, - -7, 3, 5, 16, 21, 18, 9, -6, - 10, 23, 22, 19, -42, 13, 22, 15, + -67, -111, -88, -94, -13, -67, -95, -50, + -13, -27, 3, -13, 9, 14, -3, -15, + -19, 7, 17, 8, 16, 19, -28, -3, + 22, 15, 20, 25, 25, 29, 19, 12, + 16, 28, 27, 31, 21, 29, 14, 23, + 7, 12, 17, 20, 18, 18, 21, 5, + -7, 3, 6, 17, 22, 18, 9, -6, + 7, 23, 23, 20, -43, 11, 20, 13, ], [ - -107, -168, -21, -4, -57, -86, -34, -59, + -108, -169, -23, -4, -56, -87, -32, -59, -25, -19, -5, 23, 0, 2, 11, -34, - 12, -7, 0, 4, 15, 24, 33, -4, - -6, 10, 19, 33, 37, 35, 34, 22, - -13, 6, 15, 33, 27, 33, 34, 42, - -16, -2, 14, 23, 12, 27, 23, 15, - 7, -13, 2, 8, 12, 30, 22, -18, - -10, -17, 1, 15, 29, -45, 32, -7, + 12, -8, 0, 4, 15, 24, 33, -4, + -7, 10, 19, 34, 37, 35, 35, 23, + -12, 6, 16, 33, 27, 33, 35, 42, + -16, -1, 14, 24, 12, 27, 24, 15, + 7, -14, 2, 8, 12, 30, 21, -17, + -9, -17, 0, 14, 28, -44, 30, -7, ], [ - -82, -69, -34, -23, 1, 14, -59, -21, - 8, -18, 2, 4, 19, 15, 4, -12, - 0, 7, 15, 15, 19, 26, -6, -10, + -82, -70, -34, -23, 1, 14, -59, -21, + 8, -17, 2, 4, 19, 15, 5, -12, + 0, 7, 15, 15, 19, 26, -6, -11, 12, 10, 15, 20, 20, 22, 19, 12, 5, 12, 16, 17, 9, 16, 20, 14, - -8, -4, -0, 7, 2, 6, 12, -4, - -18, -11, -7, 4, 1, -6, 13, 2, - -13, -0, -1, 10, 6, 20, -58, -10, + -7, -4, -0, 7, 2, 6, 12, -4, + -18, -11, -7, 5, 1, -7, 13, 2, + -13, -1, -3, 9, 5, 19, -58, -10, ], [ - -75, -32, -124, 11, -72, 43, -70, -4, - 13, -17, 23, -25, 39, 40, 2, 29, - -26, -5, 23, 6, 33, 56, 6, 33, + -75, -32, -123, 11, -72, 43, -70, -5, + 13, -17, 23, -25, 39, 40, 3, 29, + -25, -5, 23, 6, 33, 56, 6, 33, -11, -4, 8, 31, 37, 30, 41, 10, - -8, 18, 17, 27, 11, 22, 41, 34, - -22, -13, -7, 7, 9, 7, 14, 12, + -8, 18, 17, 27, 11, 23, 41, 34, + -22, -13, -7, 8, 9, 7, 14, 12, -36, -18, -22, -4, -1, -11, 10, 18, - -68, -33, -24, -14, -1, 6, 36, -58, + -68, -33, -25, -14, -2, 5, 36, -57, ], [ - -98, 23, 40, 68, -95, -109, -85, -93, - 2, -38, 61, 43, -49, 16, 6, -28, - -31, 44, 77, 27, -4, 22, 7, 13, - 19, 25, 45, 46, 34, 26, 13, 1, - -4, 38, 11, 26, 16, 7, 12, -19, - 14, 26, 10, 7, 2, 2, -8, -9, - -26, 25, 29, 9, -9, -17, -27, -67, - 8, 8, 9, -8, -8, -14, -38, -31, + -99, 24, 39, 68, -95, -109, -84, -94, + 1, -38, 61, 43, -50, 16, 5, -28, + -31, 44, 77, 26, -5, 22, 7, 14, + 19, 25, 45, 46, 34, 26, 12, 0, + -4, 38, 10, 26, 16, 7, 12, -19, + 14, 26, 9, 7, 1, 1, -8, -10, + -26, 25, 29, 9, -9, -17, -27, -66, + 8, 8, 10, -8, -6, -11, -35, -31, ], [ - -101, -18, -98, 34, -17, -60, -69, -89, - 31, -19, -99, 45, 6, 18, -24, -23, - 6, 21, 41, 36, 4, -27, 42, 5, + -102, -18, -97, 34, -17, -61, -70, -89, + 30, -18, -99, 45, 5, 17, -24, -23, + 7, 21, 41, 36, 3, -27, 42, 4, 23, 51, 52, 53, 28, 17, -6, 15, - 14, 46, 22, 21, 27, 23, -1, -20, - -16, 15, 39, 10, 5, 4, 9, -8, - -17, -6, 47, 28, -8, 1, -33, -42, - -3, -4, 17, 6, 2, 0, -15, -44, - ], - [ - -77, -53, -21, -83, -54, -55, -72, -57, - -68, -19, 8, -22, 21, -6, -35, -57, - -6, 26, 35, 26, 10, -1, 25, -39, - 39, 9, 24, 53, 35, 19, 7, 1, - 19, 50, 29, 42, 19, 41, 18, 5, - -2, 15, 26, 38, 20, 5, -4, -8, - 30, 10, 14, 39, 13, -5, -16, -4, - -6, 3, 35, 29, -4, -28, -4, -31, - ], - [ - -53, -47, -51, -69, -126, -58, -80, -119, - -26, -34, -28, -31, -44, -5, -27, -13, - 8, 34, 24, 33, 24, 57, 9, 6, - 4, 24, 41, 45, 39, 34, 19, 9, - -11, 31, 25, 42, 23, 27, 20, 24, - -17, -2, 17, 33, 37, 13, 15, 6, - 35, -0, -11, 29, 45, 16, 12, -8, - -12, -3, -17, 7, 33, 7, 20, -37, - ], - [ - -43, -97, -157, -133, -49, -70, -35, -86, - -35, -28, -23, 14, 25, -39, -11, -31, - -20, 5, 41, 13, 26, 33, 21, 58, + 15, 46, 22, 21, 27, 23, -1, -20, + -16, 15, 39, 10, 5, 3, 9, -8, + -17, -7, 46, 28, -8, 0, -33, -41, + -2, -5, 17, 7, 4, 2, -12, -43, + ], + [ + -77, -53, -22, -84, -54, -56, -73, -56, + -67, -19, 7, -22, 21, -6, -36, -57, + -7, 25, 35, 26, 10, -2, 26, -39, + 39, 9, 24, 53, 35, 18, 7, 0, + 19, 49, 29, 42, 19, 40, 17, 5, + -2, 16, 26, 38, 20, 4, -4, -8, + 30, 10, 14, 39, 13, -5, -15, -3, + -5, 1, 35, 29, -2, -24, -1, -31, + ], + [ + -55, -47, -50, -69, -126, -59, -80, -119, + -27, -35, -28, -32, -45, -5, -28, -13, + 8, 34, 24, 33, 24, 57, 9, 5, + 4, 24, 41, 45, 38, 34, 20, 9, + -11, 31, 25, 42, 23, 26, 20, 24, + -17, -2, 17, 33, 37, 13, 14, 5, + 36, 1, -11, 29, 45, 16, 12, -9, + -12, 1, -13, 10, 33, 6, 18, -36, + ], + [ + -43, -96, -157, -133, -49, -71, -35, -85, + -35, -28, -23, 14, 25, -39, -12, -31, + -20, 5, 42, 13, 26, 33, 21, 57, -3, -2, 10, 42, 47, 44, 36, 19, 22, 27, 39, 32, 26, 31, 46, 35, - -18, 2, 8, 15, 17, 46, 24, -14, - -19, -10, 6, 8, 26, 55, 16, 7, - -18, -25, -1, -4, 13, 18, 27, -8, + -18, 3, 8, 15, 17, 46, 24, -14, + -18, -11, 6, 8, 26, 55, 16, 7, + -16, -26, -1, -4, 13, 18, 25, -8, ], [ - -119, -27, -56, -2, 31, 33, -12, -79, - -59, -55, 1, 48, 5, 26, -5, -40, - -32, -12, 19, 4, 27, 37, 34, 35, - -19, 3, 15, 33, 43, 40, 32, 35, + -119, -27, -55, -2, 31, 33, -13, -78, + -59, -55, 1, 49, 4, 25, -5, -40, + -31, -12, 19, 4, 27, 37, 34, 35, + -19, 4, 15, 33, 44, 40, 32, 35, -17, 2, 12, 41, 26, 25, 21, 29, - -20, -14, 3, 17, 8, 15, 36, 15, - -57, -28, -32, 1, 5, 36, 26, -5, - -64, -28, -14, -8, -16, 1, 34, -35, + -20, -14, 3, 17, 8, 15, 36, 14, + -56, -28, -32, 1, 5, 36, 26, -5, + -63, -28, -15, -8, -17, 1, 33, -35, ], [ - -198, -73, -60, 2, -10, -17, -21, 34, - -37, -38, -14, 67, 31, 69, -24, 58, + -199, -73, -60, 2, -11, -18, -21, 34, + -37, -38, -14, 67, 32, 69, -24, 58, -18, -41, 4, 6, 19, 19, 48, 16, -33, 6, 21, 36, 31, 40, 46, 31, -15, 6, 13, 16, 35, 14, 32, 21, -38, -17, -4, 15, 13, 4, 24, 28, -79, -29, -18, -5, 8, 10, 17, 39, - -49, -31, -23, -1, -16, 15, 12, 6, + -48, -31, -24, -1, -16, 14, 11, 6, ], [ - -5, 15, -64, 17, -17, -14, -7, -40, - 6, -28, 18, 27, 35, 1, 0, -11, - 76, 4, 65, 80, 3, -73, 13, -20, - 29, -12, 50, 73, 22, -59, 13, 30, - 36, 51, 36, 8, 14, -26, -10, 33, - -42, 42, 46, 24, 24, 3, -10, -58, - 39, 18, -23, 0, -25, -40, -73, -65, - 16, 4, -72, 16, 16, -27, -105, -79, + -5, 15, -64, 16, -17, -15, -7, -39, + 6, -29, 19, 27, 35, 1, 1, -11, + 76, 4, 65, 79, 2, -73, 13, -21, + 28, -12, 49, 73, 21, -59, 13, 32, + 36, 51, 36, 7, 14, -26, -11, 33, + -43, 41, 45, 24, 24, 1, -9, -57, + 39, 17, -24, 0, -25, -40, -73, -65, + 16, 8, -70, 19, 17, -25, -103, -81, ], [ - 50, 6, -25, -16, 3, 25, 3, -10, - 17, 24, 36, -35, 14, 18, 6, 12, + 50, 5, -25, -16, 3, 25, 3, -10, + 17, 23, 36, -35, 14, 18, 6, 12, -14, -55, 17, -14, 43, -10, -6, 3, 32, -65, 49, 14, -58, 5, -5, 5, - -9, -9, 27, 28, 59, 26, -7, -23, + -10, -9, 27, 28, 59, 26, -7, -24, 34, 65, -48, 18, 4, -29, -28, -3, - 36, -14, -14, -102, -11, 8, 13, 38, - 7, 28, -29, -28, 1, -25, -18, -60, + 36, -13, -14, -102, -11, 8, 13, 38, + 7, 27, -29, -29, 1, -25, -17, -60, ], [ -7, 15, -31, 7, -4, -0, 4, 19, -16, 4, -2, -57, -35, 20, 43, -6, - -46, -25, -48, 26, 51, -8, 59, -18, - 38, 48, 68, 58, 56, 22, 69, 10, + -46, -25, -49, 26, 51, -9, 59, -18, + 38, 48, 69, 58, 57, 22, 69, 10, 28, -14, 17, 27, 66, -16, -32, -11, 18, 3, -10, -20, -9, -1, -15, 3, - -19, -46, 1, -34, -94, -1, -1, 9, - -25, -15, -19, 9, 22, -22, -75, -38, + -19, -46, 1, -35, -94, -0, -1, 9, + -25, -16, -19, 8, 23, -22, -74, -38, ], [ 7, 0, -9, 36, -33, 10, 4, 27, - 8, 18, -35, -13, -38, -17, 21, 19, - -7, -56, -8, 21, 52, 58, 20, 10, - 48, 11, 20, -47, -23, 17, 11, -14, - 27, 12, -6, -8, 82, -21, 10, 25, - 14, -22, 4, 8, -30, 3, -41, -11, + 8, 19, -35, -13, -39, -17, 21, 19, + -7, -56, -8, 21, 52, 58, 21, 10, + 48, 11, 20, -48, -23, 17, 11, -14, + 27, 12, -6, -8, 82, -22, 10, 25, + 14, -22, 4, 8, -30, 4, -41, -11, -22, -8, -17, -53, -29, -14, -7, -3, - 7, 0, -3, -7, 35, -38, -5, -1, + 7, -1, -3, -7, 35, -37, -3, -1, ], [ - -5, 9, -21, 8, 17, 10, 23, 33, - 13, 7, 25, -42, -12, -10, -19, 26, - 1, -23, -22, -21, 46, 20, -71, -12, - -62, 34, -18, -23, -32, 12, 41, 8, + -5, 9, -21, 8, 17, 10, 23, 34, + 13, 7, 25, -43, -13, -10, -20, 26, + 1, -23, -23, -21, 46, 20, -71, -12, + -62, 34, -18, -24, -32, 12, 41, 8, 2, 20, -26, 48, 48, 50, 12, -19, - 10, -49, 28, -31, -3, -12, 103, 19, - -15, 13, 23, -50, 34, 17, -14, 11, - -17, -73, -24, 15, -49, -17, -16, 19, + 10, -49, 29, -31, -3, -12, 102, 20, + -16, 13, 23, -50, 34, 17, -14, 12, + -16, -71, -23, 16, -49, -17, -16, 19, ], [ -13, -14, -1, -22, 24, -22, 10, -2, - -6, -19, 43, -5, 20, 13, 19, -25, + -6, -19, 43, -6, 20, 13, 19, -25, 13, 9, 26, -15, 75, -10, -24, -24, - 14, 11, 44, -36, -16, 5, 12, 17, + 14, 12, 44, -36, -17, 5, 12, 17, -8, 11, 32, -10, 17, 99, 32, 19, -36, -11, -7, 50, 5, 12, -56, 40, - -25, -11, -12, -15, 29, -10, 12, -7, - -77, -74, -18, -36, -7, -13, -27, 3, + -25, -11, -12, -16, 29, -10, 13, -7, + -78, -74, -18, -36, -7, -13, -27, 3, ], [ 12, -7, 42, 33, -26, -62, 16, 12, -22, -6, 10, 22, 37, -25, 29, 25, - -16, -11, -35, -3, -9, 56, -19, 35, - -9, 51, -18, -43, 7, 59, -30, 30, - -1, -38, 6, -57, -25, 46, 54, 48, - 13, -10, -32, -6, 54, 24, 40, 31, - -17, 13, -1, -57, 33, 30, -26, -15, - -15, -54, -73, -37, -36, -23, -14, 8, + -14, -11, -35, -3, -9, 56, -19, 35, + -8, 51, -18, -43, 7, 59, -30, 30, + -1, -38, 5, -56, -25, 46, 54, 48, + 12, -10, -31, -6, 54, 24, 40, 31, + -17, 13, -1, -58, 33, 30, -26, -15, + -14, -54, -73, -37, -36, -22, -15, 8, ], [ - 6, 18, -3, -6, 63, -28, 15, 12, + 6, 18, -3, -6, 63, -27, 15, 12, 16, -13, 3, 44, 5, 3, -12, -19, -20, -2, -15, 0, 46, 72, 17, 31, -30, 10, 24, 18, 73, 15, 40, 33, 0, -0, -52, -30, 71, 23, 90, 12, - -46, -17, -7, -22, -25, -14, -41, 8, - -25, -16, -25, -81, 47, 25, 2, -15, - -28, -89, -23, -31, -9, -31, -65, 0, + -47, -16, -7, -22, -25, -14, -41, 8, + -25, -17, -25, -81, 47, 25, 2, -15, + -28, -89, -23, -32, -9, -31, -65, 0, ], ]; internal static readonly short[][] EndGameKnightTable = [ [ - -1, -51, 18, 7, 23, -31, -61, -69, + -0, -51, 18, 7, 23, -31, -61, -69, 10, -38, 24, -19, -16, 3, -7, 32, 9, 6, -16, 11, -11, -10, -53, -9, - 7, -14, -2, 10, 15, 4, 7, 15, - 27, -23, 15, 22, 11, 16, -3, 24, - 2, 7, 1, 18, 5, 20, -5, 16, - 28, -13, -9, -13, -11, 8, -29, 4, - -0, 29, 13, -2, 38, 8, 14, -9, - ], - [ - -85, -7, -46, -33, 45, 14, -39, 15, - -2, -17, -24, -48, -24, 3, 20, -37, - -19, -5, -18, -12, 22, -13, 31, 19, - 4, 10, -2, 17, 26, 12, -1, -4, - 5, -9, 18, 29, 16, 24, 12, 9, - -1, -1, -6, 20, 26, 5, 3, -12, - 46, -10, 2, 25, 6, 11, -4, 35, - -7, -48, -0, 15, 6, -14, 3, -4, - ], - [ - -57, -11, 23, -50, -13, -23, -26, -98, - -2, 1, -17, -30, -8, 4, 8, -22, - -29, -13, -3, 8, 7, 19, 25, 1, + 7, -13, -2, 10, 15, 4, 7, 15, + 27, -24, 15, 22, 11, 16, -4, 24, + 2, 8, 1, 18, 5, 20, -5, 16, + 27, -13, -8, -13, -11, 8, -30, 4, + 0, 29, 11, -3, 37, 8, 13, -8, + ], + [ + -84, -6, -46, -33, 45, 14, -38, 15, + -2, -17, -24, -48, -24, 3, 20, -38, + -19, -5, -18, -12, 22, -12, 31, 18, + 4, 10, -2, 17, 26, 12, -0, -3, + 5, -9, 18, 29, 16, 25, 12, 9, + -1, -1, -7, 20, 26, 5, 3, -13, + 46, -10, 2, 25, 5, 11, -3, 35, + -6, -48, -0, 14, 4, -16, 3, -4, + ], + [ + -57, -11, 24, -50, -14, -23, -26, -98, + -2, 0, -17, -30, -7, 4, 9, -22, + -29, -12, -2, 8, 8, 19, 25, 1, 6, 11, 10, 14, 26, 13, -7, -10, - 12, 8, 30, 23, 33, 20, 16, -5, - 20, -6, -6, 20, 13, 13, 1, 27, - -18, 13, 20, 11, 12, 7, -11, -11, - 7, 3, -77, 16, 8, 19, 22, 5, - ], - [ - -49, 18, -9, -28, -17, -45, 5, -94, - -3, 0, -4, -12, -32, 24, -37, -7, - -16, -6, -8, -26, 6, 11, -10, -19, - 4, 5, 4, -1, 10, 6, 23, 5, - 8, -4, 9, 6, 10, 12, 35, 0, - 9, 7, 5, 9, 24, 13, -13, 6, - -6, 16, 7, 23, 12, 20, 11, 2, - 20, 20, 11, -45, 12, 19, 28, 16, - ], - [ - -46, -44, -28, 33, -56, -28, 45, -124, - -1, 3, 4, 14, -31, -14, -4, -38, - 1, 10, -2, 14, -13, 3, 28, -13, - 4, 17, 7, 29, 8, 8, 4, 4, - 30, 5, 25, 13, 20, 23, 14, -8, - 2, -1, 19, 12, 18, -3, 10, 9, - -18, 24, 7, 10, 26, 3, -19, -2, - -13, -4, 10, 31, -73, 28, 22, -17, - ], - [ - -29, 56, -42, -13, -18, 1, -6, -33, - -9, -17, 5, -17, 11, -23, -23, 5, - 3, 18, 19, 6, 6, -4, -10, 12, - 17, 6, 16, 9, 8, 4, -5, -0, - 3, 24, 12, 9, 5, 1, 5, -8, - 6, 1, 3, 14, 17, -9, -6, -12, - -17, 19, 7, 5, 7, 7, 1, -35, - -15, 2, 7, 14, 16, -55, 10, 10, + 12, 8, 30, 23, 34, 20, 16, -5, + 20, -7, -6, 20, 13, 13, 1, 27, + -18, 13, 19, 11, 12, 7, -10, -11, + 8, 3, -77, 17, 6, 17, 22, 5, + ], + [ + -50, 18, -9, -28, -17, -45, 5, -94, + -4, -0, -3, -12, -32, 24, -36, -7, + -15, -6, -8, -26, 6, 11, -10, -19, + 4, 5, 4, -1, 10, 6, 23, 6, + 7, -3, 9, 6, 10, 12, 35, 0, + 9, 7, 4, 9, 24, 13, -13, 6, + -5, 16, 8, 23, 12, 20, 12, 2, + 20, 18, 11, -44, 12, 17, 29, 17, + ], + [ + -47, -43, -28, 33, -56, -28, 45, -126, + -1, 3, 5, 14, -31, -14, -5, -37, + 1, 10, -2, 14, -14, 3, 28, -13, + 5, 16, 7, 29, 8, 8, 4, 4, + 30, 5, 25, 13, 20, 23, 13, -8, + 2, -1, 19, 12, 18, -3, 10, 10, + -18, 24, 7, 10, 26, 3, -19, -3, + -12, -4, 9, 31, -73, 29, 21, -16, + ], + [ + -29, 56, -42, -13, -18, 1, -6, -34, + -9, -17, 5, -17, 11, -23, -22, 5, + 3, 18, 19, 6, 6, -4, -10, 11, + 17, 6, 16, 9, 8, 4, -5, -1, + 3, 24, 12, 9, 4, 1, 5, -8, + 6, 1, 3, 14, 17, -9, -7, -11, + -17, 19, 7, 5, 7, 7, 1, -36, + -16, 4, 8, 14, 17, -55, 10, 9, ], [ -23, 7, -3, -7, -24, -35, -9, -113, - -10, 14, 7, 1, -12, -5, -18, -11, - 8, 4, 14, 4, 5, -9, -10, 3, - 15, 15, 21, 34, 20, 18, 10, 11, + -11, 14, 7, 1, -12, -6, -19, -11, + 8, 3, 14, 4, 5, -9, -11, 3, + 15, 15, 21, 34, 20, 17, 10, 11, 5, 8, 24, 18, 26, 17, 22, 12, - -1, 5, 8, 21, 16, -0, 1, -11, - -4, -2, 6, 9, 6, -0, 8, 11, - -15, -7, -5, 8, 9, 12, -120, -7, + -2, 5, 8, 21, 16, -0, 1, -12, + -3, -2, 6, 9, 5, -0, 8, 11, + -15, -6, -4, 9, 10, 13, -121, -6, ], [ -19, -7, 20, 4, 15, -76, 2, -34, - -19, -5, -29, 18, -37, -7, -4, 1, - 20, -6, 7, -6, -0, -31, 11, -49, + -20, -5, -29, 18, -37, -7, -4, 1, + 20, -6, 6, -6, -0, -31, 10, -49, 11, 7, 11, 16, 12, 12, 17, 1, -5, -6, 9, 23, 25, 15, -7, 9, - -7, -17, 11, 19, 25, 18, 7, 4, + -8, -17, 11, 19, 25, 18, 7, 4, -11, -15, 2, 28, 14, 30, -20, 10, - 6, -15, -23, 13, 2, 3, 20, -23, + 6, -14, -22, 13, 3, 4, 21, -23, ], [ - -11, 14, -46, -0, 4, 20, 4, -38, - -2, 18, -27, -9, 8, -18, -3, -19, - 20, -14, -16, -3, 18, -12, -18, -12, - -2, 16, 12, 9, 5, 5, -5, -13, + -11, 14, -46, -0, 4, 20, 4, -37, + -2, 18, -27, -9, 9, -18, -2, -19, + 20, -14, -16, -3, 19, -12, -18, -12, + -2, 17, 12, 9, 5, 5, -5, -13, 18, -7, 26, 20, 17, 1, -1, 19, - 8, -4, 4, 12, 5, 2, -3, -22, + 8, -3, 4, 13, 5, 2, -3, -22, 13, 9, -9, 9, 1, -7, 11, 32, - -6, -0, 2, -9, 6, -17, 12, -25, + -5, -2, 1, -9, 5, -18, 12, -25, ], [ -30, -8, -24, -28, 13, 16, -5, 12, - -6, 2, 27, -6, 11, -18, 15, -2, - 11, -0, 2, -5, 15, 9, -29, -14, - 13, -11, 5, 11, 14, 7, 7, -8, - 9, 8, 14, 20, 11, 7, 5, -0, + -5, 2, 27, -6, 12, -17, 15, -2, + 10, -0, 2, -5, 15, 9, -29, -14, + 13, -10, 6, 11, 14, 7, 7, -8, + 8, 8, 14, 20, 11, 8, 5, -0, -22, 8, -2, 16, 6, -1, -14, -13, -16, 19, -9, -1, 8, -8, 11, -12, - -56, 5, 9, 6, -12, -14, 19, 2, + -57, 3, 8, 6, -12, -15, 20, 2, ], [ - -23, -15, 5, -9, 4, -2, 11, 6, + -23, -14, 5, -9, 4, -2, 11, 6, 1, 11, -4, 15, -6, 5, 18, 15, - -2, -2, 12, 1, 9, -7, -11, 2, - -8, 11, 11, 9, 7, 14, -1, 2, + -2, -2, 12, 2, 9, -7, -11, 2, + -7, 11, 11, 9, 7, 14, -0, 2, -1, -7, 11, 8, 8, -4, 8, 3, - -14, -6, -7, 2, 2, -7, -5, 3, - -12, -7, 3, 2, 1, -2, 3, -27, - -6, -30, -19, -9, 1, -15, 21, 22, + -14, -6, -7, 2, 2, -7, -5, 4, + -13, -7, 3, 2, 1, -2, 3, -27, + -7, -32, -20, -9, 0, -16, 22, 22, ], [ - -36, -4, 6, 36, 37, -0, -21, -13, - 20, 5, 14, 24, 10, 7, 15, -17, + -35, -4, 6, 36, 38, 0, -22, -13, + 20, 5, 15, 24, 11, 7, 15, -17, -10, -5, 4, -1, 7, -8, -12, 1, 9, 1, 1, 3, 10, -1, 4, 7, 12, -3, 10, 6, 14, 6, 1, 2, - -1, -7, -8, -2, 3, -4, -7, -4, + -1, -7, -8, -2, 3, -4, -6, -4, -47, 1, -6, -1, -5, 2, -19, -22, - -24, -15, -5, 13, 1, 4, -10, 22, + -23, -15, -6, 12, 0, 4, -12, 22, ], [ -36, -11, 29, 30, 5, 3, -44, 8, - -12, 10, 10, 14, -2, 20, 3, 5, + -12, 10, 10, 14, -2, 20, 4, 5, 12, -6, 0, 5, 7, -4, -3, -20, - 6, 8, 14, 11, 9, 4, -4, 12, + 6, 8, 14, 10, 9, 4, -4, 12, -8, 0, 7, 13, 13, 8, 2, -5, - -6, -7, -1, 3, 8, -6, 2, -2, - -15, -13, -10, 2, -3, -5, 5, -9, - -11, -9, -15, -1, -3, 1, -6, -16, + -5, -7, -1, 3, 8, -6, 2, -1, + -15, -13, -10, 3, -3, -5, 5, -9, + -12, -8, -15, -1, -3, 1, -8, -16, ], [ -29, 10, 6, -7, -16, -13, -23, -26, 14, 18, -3, -7, 5, -13, 8, -1, -9, -6, 2, 10, 4, -10, -12, -15, - 4, 1, 7, 8, 15, 6, 11, -1, + 3, 1, 7, 8, 15, 6, 11, -1, -3, 6, 9, 5, 14, 12, 12, 5, - -24, -3, -1, 7, 6, -1, 3, 9, + -24, -3, -1, 7, 6, -1, 3, 10, 1, -9, 14, -0, 0, -22, 44, 6, - 10, -24, -9, -1, -3, 3, -7, 5, + 9, -23, -9, -1, -3, 3, -7, 5, ], [ 22, 10, -26, -1, -2, 3, 3, -62, - -5, -3, 0, -21, 14, -23, 3, -9, - -12, 10, -0, 17, 13, 6, -5, -6, + -5, -4, 0, -21, 14, -23, 3, -9, + -12, 10, -1, 17, 13, 6, -5, -6, -4, -0, 14, 11, 20, 19, 17, 24, - -20, -7, 14, 14, 14, 32, 3, 19, + -20, -7, 14, 14, 14, 31, 3, 19, -9, -12, 4, 2, 5, 6, -4, 15, 17, 0, -8, -3, -2, -15, 3, -12, - -3, -20, -7, -20, 2, -13, -9, -15, + -4, -19, -6, -20, 2, -13, -9, -15, ], [ -30, -20, -44, -16, -51, -3, -9, 16, - 9, 11, 16, -10, -8, 11, -32, -28, - -2, 0, 19, -16, 15, 24, -9, -1, - 9, 30, 19, 5, 19, 37, -18, 3, - 37, 6, 8, 39, 16, 21, -0, 13, - -4, 2, 5, 13, -2, 6, -14, -8, + 9, 12, 16, -10, -8, 11, -32, -28, + -1, 0, 19, -16, 15, 24, -9, -1, + 9, 30, 19, 5, 20, 37, -18, 2, + 37, 7, 8, 39, 16, 21, 0, 13, + -4, 2, 5, 12, -2, 7, -14, -8, 32, 12, -8, 21, 2, 6, -30, -49, - -24, -5, -12, -3, -7, -14, 30, -34, + -23, -5, -13, -4, -7, -15, 29, -33, ], [ - 67, 22, -11, -8, 39, -46, -14, -34, + 68, 22, -11, -8, 39, -46, -14, -33, 14, 23, -14, -44, 2, -7, 21, -18, 44, -5, -9, -9, -14, 9, -21, -34, - -9, 38, 6, 27, 25, 12, 6, -3, + -9, 38, 7, 27, 25, 12, 6, -3, 6, 22, 21, -5, 31, 3, -31, -30, - -18, -20, 23, 5, 1, 1, -1, -8, + -18, -20, 23, 5, 1, 0, -1, -8, -19, -19, -16, 19, -3, -23, 26, 4, - -42, 29, 2, 1, 11, 32, -4, -49, + -42, 28, 2, 1, 11, 32, -4, -49, ], [ -44, 5, 94, -17, -6, -42, -50, -4, @@ -1274,39 +1274,39 @@ internal static class TunableEvalParameters -7, 20, 18, -3, -24, -9, -9, -26, -25, 15, -11, -4, -3, 16, -3, -18, -1, 22, 10, 19, 14, 13, 10, -18, - -13, 16, 2, 1, 8, 1, -3, -25, + -13, 16, 2, 1, 8, 0, -3, -25, -2, -38, -19, 20, 1, -27, 6, -10, - 27, 63, 46, 6, -27, -37, -23, -49, + 27, 62, 46, 6, -27, -37, -23, -49, ], [ 40, 18, 39, 47, 25, 23, 12, 52, -10, 4, 28, 0, 33, -16, -13, 26, -17, -2, 13, 0, -9, -13, -18, 18, - 6, 3, 6, -30, 8, 1, -24, -5, + 6, 3, 6, -30, 8, 1, -23, -5, -14, -19, 7, 4, 3, 5, -4, -22, -28, -19, -3, -0, -10, 7, 8, -31, -21, -11, -30, -7, 1, -9, -16, -1, - -63, 11, 17, -5, 11, -0, -11, 3, + -63, 10, 17, -5, 11, -0, -10, 3, ], [ - -1, 34, 16, 40, -4, 99, 41, 45, + -1, 35, 16, 40, -4, 99, 41, 45, 25, 12, -2, 39, 4, 15, -40, 12, 21, 4, -19, 9, 12, 18, -6, -9, -16, -31, 8, 7, -36, 8, 4, 6, -2, 4, 3, 11, 10, 7, -8, -24, - -37, -30, -13, 10, 5, 5, -41, -5, + -37, -30, -13, 10, 5, 5, -41, -6, -35, 22, -19, -18, -0, -9, -35, 1, - 4, -17, -38, -6, -16, -31, 8, -20, + 4, -17, -38, -6, -16, -31, 7, -20, ], [ -40, -21, 6, 25, 55, 59, 26, 74, -19, -13, 1, -10, -27, 34, 35, -4, - -27, -21, -30, 21, -24, 10, 42, 36, + -27, -20, -30, 21, -23, 10, 42, 36, 22, -5, -10, 14, 15, -22, 4, 7, -7, 5, -7, 9, -2, -21, 12, 6, -20, -24, -13, -19, -9, 13, -3, 26, -46, -13, -11, 1, -6, -43, -17, 18, - -7, -19, 9, 1, 27, -33, -25, 7, + -7, -19, 9, 1, 27, -33, -26, 6, ], [ 33, -39, 3, 10, 0, -78, 40, -1, @@ -1316,430 +1316,430 @@ internal static class TunableEvalParameters -17, 3, 21, 29, 29, 12, -6, 12, -7, -11, 1, 14, 8, -12, -33, -5, -18, 1, -15, -1, 4, -12, -0, -3, - -4, -36, -31, -4, 7, -0, 5, 73, + -4, -36, -31, -4, 6, -0, 5, 73, ], [ -1, -21, -45, -3, 51, -70, -34, 65, -35, 10, 5, 12, 46, -13, -18, 3, 1, -9, 13, 13, -10, 2, 13, 41, 1, -16, -10, 18, 15, 25, 34, 26, - 13, 1, 3, 50, 33, 21, -11, 28, + 13, 1, 3, 50, 33, 20, -11, 28, -44, -28, -7, -3, 3, 27, 0, 5, -8, -2, 2, -41, -3, -30, -22, -1, - -5, 17, 27, -2, -18, -23, -44, -44, + -5, 18, 27, -2, -19, -23, -44, -44, ], ]; internal static readonly short[][] MiddleGameBishopTable = [ [ - -3, -24, -25, -84, -5, -51, 8, -35, - 37, -20, 12, 32, -49, 37, 10, -39, - -19, 1, 19, -1, 20, 29, -31, -8, - 4, 15, 11, -18, 32, 7, -12, -9, - 21, 13, 5, 11, 1, -6, -11, -30, - 62, 18, 15, 22, -2, -24, -1, 3, - 28, 60, 10, 5, -14, -6, -22, -12, - 17, 9, 6, 12, 8, -7, -4, -27, + -4, -23, -26, -84, -4, -50, 7, -34, + 37, -20, 13, 31, -49, 38, 10, -38, + -19, 1, 19, -1, 20, 28, -31, -9, + 4, 14, 11, -19, 32, 7, -12, -9, + 21, 13, 4, 11, 0, -6, -12, -30, + 62, 18, 15, 22, -3, -24, -1, 3, + 28, 60, 10, 5, -14, -6, -23, -12, + 16, 9, 9, 13, 9, -4, -4, -27, ], [ - -17, -127, -7, -8, 45, -8, -95, -64, - -9, -30, 18, -4, 18, -12, -32, -28, - 6, -12, 26, 5, 16, -14, -7, -5, - 36, 10, 1, 16, 2, 3, -0, -3, - 17, 18, 15, 4, -1, 1, 7, -0, - 42, 24, 10, 6, 4, -10, -2, 8, - 3, 52, 19, 12, 1, 5, -10, -13, - 9, -27, 35, 24, 10, 11, 2, 6, + -18, -128, -9, -8, 44, -8, -97, -64, + -9, -30, 17, -4, 18, -12, -33, -29, + 6, -12, 26, 5, 16, -15, -7, -5, + 36, 10, 1, 16, 2, 4, -1, -3, + 17, 18, 15, 4, -1, 1, 8, 0, + 41, 24, 10, 6, 4, -10, -2, 8, + 4, 52, 19, 12, 1, 5, -10, -13, + 10, -27, 35, 24, 11, 15, 2, 5, ], [ - -4, -33, -15, -23, -49, -73, 23, -81, + -5, -33, -16, -22, -49, -74, 23, -81, -15, -22, 6, 3, 9, -11, -9, -27, - 1, 2, 9, 14, 10, -7, -5, -1, - 31, 8, 0, 3, 10, -15, 5, -6, - 21, 30, 5, 16, -7, 2, 2, 12, - 13, 21, 10, 6, 3, -11, 2, 4, - 9, 48, 15, 5, -1, 10, -15, 2, - 16, 12, -15, 12, 13, 8, 1, 8, - ], - [ - -30, -38, -9, -95, -12, -144, -27, -24, - 15, -24, -27, -80, -14, -34, -18, -11, - -1, 29, -8, 22, 3, -12, 7, 14, - -4, 10, 31, 12, 11, 9, 10, 1, - 7, 3, 21, 3, 12, 15, 8, 12, - 24, 2, 8, 19, 24, 5, 11, 10, + 2, 2, 8, 14, 10, -7, -5, -1, + 31, 7, 0, 3, 9, -15, 5, -6, + 20, 31, 5, 16, -7, 2, 2, 12, + 13, 20, 10, 6, 3, -10, 2, 5, + 9, 48, 16, 5, -1, 10, -15, 2, + 16, 12, -15, 12, 15, 13, 1, 8, + ], + [ + -30, -39, -8, -95, -11, -142, -27, -25, + 15, -24, -26, -79, -15, -34, -19, -12, + -1, 28, -8, 22, 3, -11, 7, 13, + -4, 9, 31, 12, 11, 9, 10, 1, + 8, 3, 20, 3, 12, 15, 8, 12, + 24, 2, 8, 19, 24, 6, 11, 10, 29, 28, -1, 22, 8, 16, 10, 26, - 22, 17, 11, -3, 19, 21, 1, 23, + 23, 16, 10, -3, 20, 23, 3, 24, ], [ - -17, -47, -46, -77, -122, -96, -22, 11, - -6, -17, 18, -58, -37, -31, -30, 9, - 8, -6, -25, 4, -21, -7, 0, 12, - -0, 7, 7, -1, 3, 5, 17, -2, - 18, -5, 10, 14, 13, 21, 1, 44, - 15, 3, -1, 13, 19, 13, 27, 19, - 14, 28, 15, 10, 25, 34, 33, 16, - 33, 31, 22, 22, -7, 21, 9, 37, + -15, -47, -47, -79, -122, -97, -22, 11, + -6, -17, 17, -59, -36, -32, -31, 9, + 10, -6, -26, 4, -20, -8, 0, 12, + 0, 7, 7, -1, 3, 5, 18, -1, + 17, -5, 11, 14, 13, 21, 1, 44, + 16, 2, -1, 14, 19, 14, 26, 19, + 14, 29, 15, 11, 26, 34, 34, 15, + 31, 33, 23, 23, -7, 19, 7, 37, ], [ - -32, 2, -66, -47, -111, -72, 35, -32, - -23, -3, -25, 20, -19, -32, -14, 21, - 5, -10, 13, 36, 3, -1, 40, 5, + -31, 3, -66, -48, -112, -72, 35, -31, + -23, -4, -25, 20, -19, -32, -14, 21, + 5, -10, 13, 36, 2, -1, 40, 6, 10, -12, -15, 11, 7, 19, 2, 28, - 6, -17, 0, -6, 30, 11, 24, 11, - -13, 0, -9, 6, 2, 23, 32, 10, - -5, -3, 7, -2, 8, 19, 22, 6, - 2, 22, 8, 25, 22, -12, 1, 26, + 6, -17, 1, -5, 30, 11, 24, 11, + -13, 0, -8, 7, 2, 23, 32, 10, + -5, -3, 7, -1, 8, 19, 22, 5, + 3, 22, 7, 25, 22, -12, -0, 26, ], [ - -12, -10, 14, -60, -31, 10, -26, 15, - -20, -32, 18, -4, -16, -12, -27, -22, - 9, 5, -6, 8, -0, 14, -7, 0, - -4, -7, -2, 1, 1, -2, 9, -1, + -12, -9, 14, -60, -30, 9, -27, 14, + -20, -32, 18, -4, -15, -12, -27, -23, + 10, 5, -5, 8, -0, 14, -7, 1, + -4, -7, -2, 1, 1, -2, 10, -1, -12, -1, -13, -3, -7, 13, 1, 28, - 5, -18, -15, -8, 1, -0, 27, 33, + 5, -17, -15, -7, 1, -0, 27, 33, -2, 4, -7, -2, 0, 21, 39, 20, - 0, 9, 15, 5, 16, 45, -25, 26, + 1, 8, 14, 4, 15, 44, -25, 27, ], [ - -1, -31, -34, -101, -58, 26, -87, -41, - -4, 1, 10, -27, 7, -21, -31, 7, - 17, 10, -14, -4, -1, 37, 18, 20, + -1, -31, -34, -101, -57, 25, -87, -41, + -5, 1, 10, -27, 7, -21, -31, 7, + 17, 10, -14, -3, -1, 38, 18, 21, -15, -11, -7, 11, 3, 19, 19, 4, -7, 7, -2, 6, 14, 26, 9, 16, -4, -22, -12, -1, 2, 10, 28, 36, -7, -3, -8, -2, -3, 12, 28, 51, - -7, -2, 8, -5, 34, 39, 54, -19, + -7, -3, 7, -6, 34, 38, 53, -19, ], [ - -108, 50, -70, -63, -48, -31, -50, -59, - 12, 1, 13, -41, 4, -18, 12, 9, + -108, 50, -70, -63, -48, -31, -49, -60, + 12, 1, 13, -41, 4, -18, 11, 9, -27, 57, 59, 10, 15, -6, -32, -21, 1, 18, 34, 15, 30, 8, -7, -24, - 18, 35, 31, 28, 7, 28, -12, -8, + 18, 35, 30, 28, 7, 28, -12, -8, 24, 41, 35, 12, 9, -9, 2, -9, -15, 52, 38, 16, 4, 3, -36, -24, - -22, 1, -16, 4, 22, 11, -5, -5, + -22, 1, -16, 5, 23, 13, -4, -5, ], [ - -74, -97, -21, -70, 25, -131, -54, -58, - -21, 33, -46, -41, -17, -16, -36, 29, - 18, 39, 36, 28, 21, 48, 4, 31, - 28, 42, 12, 34, 8, -7, 20, 12, - 21, 36, 21, 5, 7, 4, 1, -30, - 0, -4, 31, 29, 20, 5, -3, -1, - 9, 23, 4, 20, 21, 12, -3, -11, - -8, -24, 19, -17, -8, 21, 11, 10, + -75, -97, -20, -71, 25, -131, -55, -57, + -21, 33, -46, -41, -17, -16, -36, 28, + 18, 40, 36, 28, 21, 48, 4, 32, + 28, 41, 12, 34, 8, -7, 20, 12, + 21, 35, 20, 5, 7, 4, 1, -30, + 0, -4, 31, 28, 20, 5, -3, -0, + 8, 23, 4, 20, 21, 12, -3, -11, + -8, -24, 18, -17, -6, 25, 12, 10, ], [ - -9, 10, -49, -99, -44, -49, 1, -95, + -9, 10, -51, -100, -44, -49, 3, -96, 12, -1, 6, -13, 8, -12, -5, 16, - 13, 48, 17, 10, 26, -6, 2, 1, - 29, -4, 36, 10, 38, 24, 19, -22, - -13, 25, -2, 12, 7, 12, -17, -3, - -7, -7, 8, 30, 30, 0, 21, -7, - -5, -2, -2, 18, 18, 7, -16, 2, - 4, -15, -12, 3, -2, 8, -14, -6, + 13, 47, 16, 10, 26, -6, 2, 1, + 29, -4, 37, 11, 38, 24, 19, -22, + -13, 24, -2, 12, 8, 12, -17, -3, + -8, -7, 8, 29, 30, 0, 21, -7, + -5, -2, -2, 19, 18, 8, -16, 3, + 5, -15, -14, 3, -0, 12, -12, -5, ], [ - -69, -68, -14, -59, -91, -40, -33, -42, - 3, 8, 32, -6, -19, 11, -21, 26, - 33, 18, 25, 25, 35, 2, 19, 23, - -27, 13, 16, 22, 11, 12, 3, -17, - 3, -4, 20, 2, 25, -3, 15, -22, - -7, 12, -4, 29, 26, 23, 2, 9, - 14, -1, 15, 5, 41, 8, -2, -17, - 17, 12, 2, -26, 12, -22, -19, 6, + -68, -70, -14, -58, -91, -41, -33, -42, + 3, 7, 32, -6, -20, 10, -21, 26, + 32, 18, 24, 25, 35, 2, 19, 23, + -27, 13, 16, 22, 11, 12, 2, -17, + 3, -4, 20, 2, 25, -3, 15, -21, + -7, 11, -4, 29, 26, 23, 2, 9, + 15, -1, 15, 5, 40, 9, -3, -17, + 17, 13, 7, -24, 13, -25, -19, 6, ], [ - -45, -94, -32, 14, -67, -17, -27, 7, + -45, -93, -33, 13, -68, -18, -28, 8, 5, -10, -0, 16, 14, 24, -16, 36, 15, -0, 17, 16, 14, 13, -2, -14, - -17, -3, 8, 14, 24, 6, 31, 7, + -17, -3, 8, 14, 24, 6, 31, 8, 3, -26, 6, 11, 12, 20, -16, 7, - -23, 4, 6, 11, 28, 20, 12, 2, - 5, -0, 6, -3, 8, -8, 5, 16, - 3, 6, 14, -6, -19, 10, -51, 1, + -23, 4, 6, 11, 28, 20, 13, 1, + 5, 0, 6, -3, 8, -8, 5, 16, + 4, 6, 13, -6, -19, 8, -52, 2, ], [ - -15, -5, -51, -6, -44, -81, -1, -50, + -15, -5, -50, -6, -44, -81, -1, -50, -43, -5, -22, -28, 7, 25, -30, 12, -20, 2, 14, 21, 20, 33, 56, 10, -13, -1, -16, 39, 13, 35, 10, 36, -7, -17, 1, 3, 25, 12, 26, -1, -15, -3, -26, 13, 6, 31, 44, 13, -7, -18, 0, -7, 10, 30, 26, 13, - -23, 2, 4, 15, -5, 0, -13, -32, + -23, 2, 3, 15, -5, -1, -14, -32, ], [ - -8, 17, -76, -34, -20, 28, -21, -4, - 3, -5, -4, -50, 5, -15, -53, -2, - -6, -4, 1, -5, 11, 31, 16, 18, - -16, -14, -16, 15, 25, 33, 12, 17, + -7, 17, -76, -34, -20, 28, -21, -4, + 3, -5, -4, -50, 5, -15, -52, -2, + -6, -4, 1, -5, 11, 32, 16, 18, + -16, -14, -16, 15, 25, 33, 13, 17, -36, -27, -8, 7, 11, 6, 15, 5, -4, -17, -12, -4, 12, 2, 32, 35, - -28, -10, -23, 2, -2, 29, 46, 55, - -11, -3, 11, 4, 15, 11, -10, 15, + -28, -10, -23, 2, -2, 29, 46, 56, + -10, -3, 11, 3, 14, 10, -11, 15, ], [ - -1, 60, 63, 27, 9, -1, 69, -7, - -55, -12, -5, -25, 41, 29, 34, -31, - -52, 85, -37, 60, -26, -18, -52, -53, - 58, -12, -22, 63, 8, -15, -67, -83, - -21, 25, 49, 53, 2, -18, -76, 24, - 8, 85, 46, -18, 17, -0, -22, -24, - 72, -12, -17, 13, -9, 32, -66, -34, - 1, -79, -38, -5, 30, -51, 30, -32, + -3, 60, 62, 27, 9, -1, 69, -7, + -55, -12, -5, -25, 41, 30, 34, -31, + -52, 85, -37, 61, -26, -19, -52, -54, + 58, -13, -22, 63, 8, -16, -67, -84, + -21, 25, 49, 54, 2, -18, -76, 24, + 9, 85, 46, -18, 17, -0, -22, -25, + 73, -12, -17, 13, -10, 32, -67, -35, + 1, -78, -35, -3, 32, -48, 31, -33, ], [ - 1, 1, 12, 2, -10, 7, 5, 2, - 9, 35, -36, 18, 6, -4, 9, -11, - -13, -12, 27, 44, 50, -23, -11, -35, - -53, -39, 36, 107, 53, 47, 2, -23, - -42, 12, -4, 15, 47, 78, -20, 21, + 1, 1, 12, 2, -9, 7, 5, 2, + 9, 35, -35, 18, 6, -4, 9, -11, + -13, -11, 27, 44, 50, -23, -11, -35, + -53, -39, 36, 107, 53, 48, 2, -24, + -42, 12, -4, 15, 46, 78, -20, 21, 23, 70, 15, -26, -6, -18, -29, -27, - 20, -14, 32, -6, -8, -11, -27, 19, - -42, -19, -92, -30, -32, -132, 36, -4, + 20, -14, 32, -6, -8, -11, -26, 19, + -42, -19, -93, -30, -32, -132, 36, -4, ], [ -13, 16, 8, 22, 6, -13, -17, 1, 24, 15, -41, 25, 52, 1, -11, -55, - -16, 85, -63, 2, 57, 15, 33, 28, + -16, 85, -64, 2, 57, 15, 33, 28, -29, 1, 6, -22, 43, 69, -33, 11, - 30, -33, 93, 14, 84, 29, 31, 11, - -28, 13, 33, 25, -36, -16, 2, 16, - 19, -133, 8, -42, -23, -28, -56, 9, - -22, -10, -109, -52, -30, -32, 18, 9, + 30, -33, 93, 14, 84, 29, 30, 11, + -29, 13, 33, 25, -36, -16, 2, 16, + 19, -133, 8, -42, -23, -27, -56, 9, + -22, -10, -111, -52, -30, -30, 18, 9, ], [ -14, -2, 2, 2, -15, -38, -18, -24, - -16, 0, 7, -53, -18, 44, -0, 11, + -15, 0, 7, -53, -18, 44, -0, 11, -23, 29, 12, 3, 28, 67, 33, -0, - 21, 37, -9, -9, 5, -16, 43, 26, - 8, 27, 24, 93, 12, 3, -18, -35, - -19, 4, 90, 103, 42, 30, 5, -12, - -53, -65, -14, -27, 18, -13, -51, -30, - -27, 4, -38, -19, -39, -59, -8, -53, + 20, 37, -9, -9, 5, -16, 43, 26, + 8, 27, 24, 94, 12, 2, -18, -35, + -19, 4, 90, 103, 42, 29, 5, -12, + -53, -65, -15, -27, 18, -13, -51, -29, + -28, 4, -41, -19, -39, -58, -7, -52, ], [ -39, 26, -19, 17, -40, 20, 12, -17, - 9, -9, 3, 20, -14, -7, 4, -8, + 9, -9, 3, 20, -15, -7, 4, -8, -33, -30, 19, 52, -51, 40, 49, 22, -1, -8, 85, 14, -27, -20, 11, -42, 34, 2, 11, 96, 95, -47, 34, -1, - -1, -1, 22, 80, 58, 24, -18, -20, - -14, -68, 13, -35, 14, -57, -74, -3, - -53, -10, -33, -4, -67, 16, -17, -11, + -1, -1, 21, 80, 58, 24, -18, -20, + -14, -68, 12, -35, 14, -57, -74, -4, + -53, -9, -32, -4, -66, 14, -17, -11, ], [ -6, 3, -13, -28, -55, 42, -9, -0, - -45, -18, -30, -15, -7, -36, -8, -10, - -29, 24, -2, 47, 10, -35, -6, 14, - 33, 69, 44, -6, 49, 36, 5, -6, + -45, -18, -29, -15, -7, -36, -7, -10, + -29, 24, -2, 48, 10, -35, -6, 14, + 33, 69, 44, -5, 49, 36, 5, -6, -29, -3, 28, 26, -12, 106, 1, 30, - 4, 47, 26, 15, 10, 67, 23, -15, - -64, 10, 26, 40, -47, -33, -58, -10, - -9, -4, -41, -61, -70, -17, 20, -22, + 4, 47, 26, 14, 10, 67, 23, -15, + -64, 10, 26, 40, -47, -33, -59, -10, + -8, -4, -40, -61, -71, -17, 20, -22, ], [ - -18, -29, -7, 37, -15, 9, -31, -6, - -34, 33, -13, 0, -28, -35, 14, -6, - -8, 29, -8, -0, -51, 94, 33, -32, + -18, -29, -6, 37, -15, 9, -31, -6, + -34, 33, -13, -0, -28, -35, 14, -6, + -8, 29, -8, -0, -51, 94, 34, -32, 1, -9, 89, 73, 55, 91, 28, 9, -20, -26, 19, 32, 43, 0, 23, -19, - 4, 51, 13, 32, 4, 14, -43, 23, - -20, -73, -15, -3, 70, -60, -56, -29, - -27, -12, -90, -51, 8, -33, -38, 10, + 4, 51, 13, 33, 4, 13, -43, 23, + -20, -74, -15, -3, 71, -60, -56, -29, + -26, -11, -90, -51, 8, -35, -38, 11, ], [ - 4, 14, 20, -5, 15, 7, 12, -3, - -15, -57, 19, 6, -21, 18, 10, -23, - 3, -45, 18, 2, 4, 22, 1, -2, + 5, 14, 20, -5, 15, 7, 12, -3, + -15, -57, 19, 6, -21, 19, 10, -23, + 3, -45, 18, 2, 4, 23, 1, -2, 18, 6, -14, -1, 47, 75, 5, 27, -19, -27, 19, 23, 59, 57, 26, -44, - 8, -6, -60, -0, 15, -12, -23, 22, + 8, -6, -60, -0, 14, -12, -23, 21, 28, -17, -17, -1, 16, 4, -57, 11, - -7, -8, -59, -48, 14, -31, -24, -8, + -8, -8, -58, -48, 14, -30, -24, -8, ], ]; internal static readonly short[][] EndGameBishopTable = [ [ - 0, -3, 20, 43, 17, -29, 31, -7, - -29, 19, -20, -19, 1, 3, -62, 10, - 27, 17, -15, 9, 3, -13, 11, 15, + 0, -4, 20, 43, 17, -29, 31, -7, + -29, 19, -20, -19, 2, 3, -62, 10, + 28, 17, -15, 9, 3, -12, 11, 15, 1, 10, 9, 33, -11, 3, 6, 14, - 5, 15, 13, -2, 21, 3, 16, -18, - -23, 2, -5, -16, -0, 10, -30, -32, + 5, 16, 13, -1, 21, 3, 16, -18, + -23, 3, -5, -16, -0, 10, -30, -32, 11, -22, 2, 2, 9, -10, -4, 6, - -16, -3, 10, -3, -11, -4, -5, -14, + -15, -3, 9, -4, -12, -5, -5, -14, ], [ - 29, 45, -4, -29, -27, -14, 52, 34, - 13, 30, -24, 1, -17, -5, -5, 19, - 8, 28, -9, 3, -3, 13, 20, 14, - -29, 13, 7, 3, 23, 6, 13, 0, + 29, 45, -3, -29, -26, -14, 53, 33, + 13, 30, -23, 1, -17, -5, -5, 19, + 8, 28, -9, 3, -3, 12, 20, 14, + -29, 12, 7, 3, 23, 6, 13, -0, 0, -2, 3, 20, 10, 6, -16, -13, - -18, -21, -9, 6, 5, -6, -9, -9, - -57, -9, 11, -4, 1, -4, -17, -15, - -14, -40, 3, -8, 1, 2, 11, -12, + -18, -21, -9, 6, 5, -6, -9, -10, + -57, -9, 11, -4, 1, -5, -17, -15, + -14, -40, 3, -8, -1, 0, 11, -12, ], [ - -38, 19, -33, 8, 6, 6, -19, 51, - 26, -8, -31, -28, -19, -6, -6, 6, + -38, 19, -33, 7, 7, 6, -19, 51, + 25, -7, -32, -27, -19, -6, -6, 6, 4, 23, 17, 8, 11, 12, 24, 30, 3, -2, 5, 13, 7, 23, 3, -3, -21, -21, -6, -2, 18, 7, -8, -20, - -10, -16, -6, 8, 6, 0, 3, -2, - -20, -29, 11, 21, 11, 1, 1, 7, - -14, -8, -66, 11, 5, 18, 22, -10, + -11, -15, -6, 8, 7, 0, 3, -2, + -21, -29, 10, 21, 11, 1, 1, 6, + -14, -8, -66, 12, 3, 17, 21, -10, ], [ - -17, -7, 3, -30, 26, 21, -19, -0, - -12, 15, 20, 25, 12, 11, 1, 6, + -18, -7, 2, -30, 26, 21, -20, -0, + -11, 15, 20, 25, 12, 12, 1, 6, 1, -2, 9, -17, 8, -12, 8, 17, - 10, 4, -1, -1, -9, 18, 6, 10, + 10, 4, -1, -0, -9, 18, 5, 10, 7, 19, 7, 9, 20, 3, 11, -24, -28, -12, 4, 2, -3, -3, 4, -9, - -45, -20, 9, 12, 5, -1, -16, -48, - -17, 6, 11, -27, 10, -0, 18, -4, + -44, -20, 9, 12, 5, -0, -16, -47, + -17, 5, 9, -27, 10, -0, 16, -4, ], [ - -4, 17, -24, 20, 28, 25, 12, -38, - -10, -27, -6, 30, 22, 10, -8, -17, - -1, 25, 12, 13, 23, 3, 6, 6, - 14, 5, 4, 23, 8, 9, -2, 8, + -5, 16, -23, 20, 28, 25, 12, -40, + -10, -27, -6, 30, 21, 10, -7, -16, + -1, 24, 13, 13, 23, 2, 6, 5, + 14, 5, 3, 23, 7, 10, -2, 8, -19, 3, -4, 4, 2, -5, 10, -37, - -10, 8, 9, 5, 1, -9, -6, -8, - 10, -10, -3, 8, 6, -19, -26, -19, - -2, -3, 2, 2, -59, 8, 2, -29, + -10, 8, 9, 6, 1, -8, -7, -7, + 10, -10, -3, 8, 7, -20, -25, -19, + -1, -4, 3, 1, -59, 9, 1, -28, ], [ - 4, -5, 3, 2, 38, -7, -8, -55, + 3, -5, 3, 2, 38, -7, -8, -55, 3, -21, 11, -10, -1, 5, -9, -17, -9, 32, -6, -11, 26, 1, -7, -2, 1, 12, 13, -1, 10, 1, 15, -5, -15, 18, 11, 6, 7, 8, 2, 1, - 7, -3, 3, 17, 20, -16, -19, -15, - -8, 1, 1, 12, 17, 14, -24, -8, - -4, -3, 9, -1, 16, -37, 6, -26, + 7, -4, 3, 17, 20, -16, -19, -14, + -9, 0, 1, 12, 17, 14, -25, -7, + -4, -3, 10, -1, 16, -37, 6, -26, ], [ - 3, -4, -20, 13, 0, -4, 14, -45, - 1, 3, -8, 3, 10, -0, -8, -3, - -1, 12, 6, 5, 12, 3, 18, 24, - 6, 10, 9, 18, 15, 11, 5, 15, - 11, 0, 13, 16, 18, 6, 3, -18, + 4, -4, -20, 13, 0, -4, 14, -45, + 0, 2, -8, 3, 10, -0, -8, -3, + -2, 12, 6, 5, 12, 2, 18, 24, + 5, 10, 9, 18, 15, 11, 5, 15, + 11, 0, 13, 15, 18, 6, 3, -18, 4, 8, 7, 16, 7, -4, -15, -4, - -12, -9, 0, 6, 13, 8, -8, -33, - -11, 4, -3, -0, -2, 0, -109, -36, + -12, -10, 0, 6, 13, 8, -8, -33, + -11, 5, -2, 1, -1, 1, -109, -36, ], [ - 14, 27, -18, 32, 22, -42, 31, -46, + 14, 27, -19, 32, 22, -42, 32, -46, -5, -8, 5, 12, -11, 0, 1, -1, -2, 1, 5, 13, 11, -35, 1, 15, -5, 14, 0, 17, 15, 7, -4, 7, -12, -24, 14, 5, 15, -12, 8, -15, -10, 13, 2, 20, 15, 9, -11, 1, -14, -14, -11, 10, 14, 24, 0, -20, - -15, -6, -4, -12, -17, -1, -8, -20, + -15, -5, -3, -11, -17, -0, -7, -20, ], [ - 43, -22, 5, 17, 7, 8, 28, 15, - -10, -11, 17, 7, -3, -1, -22, -3, - 30, -7, -11, 16, 5, 10, 30, 4, + 43, -22, 5, 17, 8, 8, 27, 15, + -10, -11, 17, 7, -3, -2, -21, -4, + 31, -7, -11, 16, 5, 10, 30, 4, 6, -3, 0, 15, 4, 7, 2, -18, 0, 3, -11, 4, 10, -4, 7, 4, - -22, -14, -10, 2, -0, 1, -10, -17, + -22, -13, -10, 2, 0, 1, -9, -17, -11, -30, -19, -10, 4, -6, -1, 0, - -17, 4, 2, -2, -15, -3, 5, -9, + -16, 3, 1, -3, -15, -4, 5, -9, ], [ 2, 23, -3, 7, -11, 20, 19, 7, 8, -13, 15, 15, 2, -6, -4, -11, 10, 2, -8, 15, 1, -17, 8, -12, -3, -14, 7, 1, 1, 11, 1, -8, - -5, -8, 8, 8, 3, 6, 0, 18, + -4, -8, 9, 9, 3, 6, 0, 18, 7, -4, -10, -3, 1, -11, -2, -7, 0, -14, 1, -3, -2, -2, -10, -10, - -15, 6, -5, -2, 8, -9, 4, -14, + -15, 5, -7, -3, 7, -9, 4, -13, ], [ -2, 1, 15, -1, 9, 4, -12, 24, 5, -2, 3, 2, 4, 14, 2, -9, - 5, -8, -1, 4, 5, 6, 1, 1, - -13, 4, -10, 8, -8, -3, -8, 11, - 4, -4, 6, 9, 3, 2, 2, -1, + 5, -8, -0, 4, 5, 6, 1, 1, + -13, 4, -10, 8, -8, -3, -7, 11, + 4, -4, 6, 10, 3, 2, 2, -1, 2, 7, -6, 0, -4, -5, -13, -11, - 4, -12, -2, -1, -5, -2, -6, -14, - -10, 2, -4, 2, -5, 4, 11, -3, + 3, -12, -2, -1, -5, -2, -6, -14, + -10, 1, -6, 2, -6, 4, 10, -3, ], [ - 14, 18, 1, 12, 3, -9, -1, 3, - -0, -7, -3, -2, -4, 0, 7, -3, - -7, 3, -3, 0, -2, 10, 0, 8, + 14, 19, 0, 12, 4, -9, -1, 3, + -0, -7, -3, -2, -4, 1, 7, -3, + -6, 3, -3, 0, -2, 10, 1, 8, 9, 2, -6, -2, 7, -3, 4, 2, - -10, 5, -3, 11, 1, 9, -2, 10, - 6, -7, -5, -3, 3, -14, 0, -9, - -11, -11, -3, 3, 3, 1, -12, -11, - -17, 7, 10, 9, 1, 10, -1, -22, + -10, 5, -3, 12, 1, 9, -2, 9, + 7, -7, -5, -2, 3, -14, 1, -9, + -12, -12, -3, 3, 3, 1, -12, -11, + -17, 7, 10, 9, 1, 9, -1, -22, ], [ 5, 24, 3, -1, 11, 4, -14, -13, -19, -2, 1, -5, 5, -11, 5, -3, - -3, 8, -7, 2, 14, -0, 19, 17, + -3, 7, -7, 2, 14, -0, 19, 17, 4, 5, 2, 4, 6, 15, -9, -2, 3, 13, 3, 7, 12, 4, 5, -8, 8, -5, -9, 4, -7, -6, -0, -4, - -10, -13, -1, 5, 1, -0, -11, -29, - -14, 4, -5, 1, 5, 8, 2, -24, + -10, -13, -1, 5, 1, 0, -11, -29, + -15, 4, -4, 0, 5, 8, 2, -24, ], [ - -4, 6, 13, 5, 7, 20, 2, 18, + -5, 6, 13, 5, 7, 20, 2, 18, 2, -12, 12, 6, -2, -5, 1, -8, - -4, -2, -4, -2, 10, 5, -10, 16, + -4, -2, -4, -2, 10, 5, -11, 16, -1, -4, 12, -6, 11, -3, 6, -20, -12, 8, 2, 13, 6, 7, -5, 8, 7, 1, 3, 6, 5, -12, -8, -9, 2, -2, -4, 3, -6, -10, -14, -40, - 1, 5, 0, -8, 11, -11, 1, -11, + 1, 5, 1, -8, 11, -11, 1, -12, ], [ - 4, 14, 12, 11, 1, -10, -25, -31, + 4, 14, 12, 11, 1, -9, -25, -31, -4, -23, 12, 28, 10, -19, 31, 9, -14, -0, 6, 16, 21, 3, 8, 21, - 5, 2, 6, 8, 8, -0, 16, 15, + 5, 2, 6, 8, 7, -0, 16, 14, 8, 10, 6, 9, 2, 15, 3, 11, - -11, -7, -1, 11, 1, -1, 3, 7, - -14, -14, 2, -12, -1, -10, -27, -17, - -14, -12, -19, 4, -9, -11, -23, -29, + -12, -7, -1, 11, 1, -2, 3, 7, + -14, -14, 2, -12, -2, -10, -27, -17, + -14, -11, -18, 5, -9, -11, -22, -30, ], [ - 7, -52, -17, 2, 26, -3, -29, 16, + 8, -52, -17, 2, 26, -3, -29, 16, 37, 5, -8, -9, 2, 8, -11, -27, - 38, -4, 23, 5, 9, 23, 1, 19, + 39, -4, 23, 5, 9, 23, 1, 19, 2, 21, 31, 2, 8, 1, 15, 14, 8, -14, 13, -9, -9, 12, 17, 3, - -15, -18, -22, 6, 1, -2, 4, -10, + -15, -18, -22, 6, 0, -2, 4, -9, -7, -15, -11, -15, -0, -23, -3, -28, - -12, 18, -4, 2, -30, 18, -25, 14, + -12, 17, -5, 1, -31, 17, -25, 15, ], [ - 5, -24, -4, 41, -30, -30, -6, -25, + 5, -25, -4, 41, -30, -30, -6, -25, 9, -5, 6, 25, 20, 2, -33, -34, - 11, 14, -8, -2, -10, -4, -17, -12, - 29, 53, 15, -13, -14, -12, -2, -6, + 11, 14, -8, -2, -9, -4, -17, -12, + 29, 53, 16, -13, -14, -11, -2, -6, -10, 25, 12, 7, -7, 3, -23, 12, -5, -7, -13, -3, -4, 0, 13, 6, 2, -16, -20, -14, 7, -5, 14, -1, -42, 16, 31, 18, 20, 36, -33, 43, ], [ - 12, 2, 11, 1, 1, -22, -32, 16, + 12, 2, 11, 1, 2, -22, -32, 16, 42, -15, 4, -3, -9, -32, -9, 0, - 18, -23, 10, 7, 5, -24, -23, -23, + 18, -23, 10, 8, 5, -24, -23, -23, -4, 17, 5, 19, -23, -27, -2, -23, 12, 8, -8, -5, -7, -8, -6, 26, 3, 30, -12, 2, 9, -10, 19, -1, @@ -1758,7 +1758,7 @@ internal static class TunableEvalParameters ], [ -31, -21, -22, -13, -15, 21, 2, 19, - -15, 8, -2, 3, -13, 1, -2, 25, + -15, 8, -2, 3, -13, 1, -3, 25, 10, -22, -5, -24, 29, -14, -8, 7, -9, -1, -14, -7, -14, 27, 8, 19, 4, 13, 10, -14, -17, 11, 19, 40, @@ -1770,7 +1770,7 @@ internal static class TunableEvalParameters -17, -24, -14, -16, -10, 8, -23, 16, -4, -20, 9, -9, -10, -5, 5, 10, 5, -19, -17, -6, 8, 17, 0, 19, - -14, -16, -7, 8, 1, 5, 9, 26, + -14, -16, -7, 8, 1, 5, 8, 26, 29, 5, 3, 6, 5, -14, 14, 4, -9, 8, -5, -7, 2, -12, 42, 24, 32, -20, -13, 1, -3, 19, 10, -16, @@ -1781,418 +1781,418 @@ internal static class TunableEvalParameters -33, -10, -14, -9, -12, -1, 4, 19, -6, -14, -13, 3, 29, -2, 19, -4, 5, -4, -20, -5, 4, 1, 12, 16, - -6, 5, 20, -6, 1, 8, 14, 26, - 29, -3, 11, -6, -3, -4, 4, 18, + -6, 5, 20, -6, 1, 7, 14, 26, + 29, -3, 11, -6, -3, -3, 4, 18, -9, 23, 18, -9, -14, -30, -26, 6, - 7, -8, 25, -3, -5, 9, -8, -13, + 7, -8, 25, -4, -6, 9, -8, -13, ], [ -46, 11, -5, 18, -19, 15, 9, 18, - -9, -21, -1, 4, -31, 37, 20, 5, + -9, -21, -1, 3, -31, 37, 20, 5, -5, -14, -5, 4, -1, 39, 21, -13, -17, -6, 15, 0, 16, 9, 32, 24, -27, -9, -17, -0, 2, 6, 12, 11, - -16, 19, -10, 15, 4, -4, 10, -21, + -16, 19, -10, 15, 5, -4, 10, -21, 5, 2, -20, -3, -31, -14, -32, 27, - 3, -13, 21, -9, 24, 19, -34, -25, + 4, -13, 22, -9, 24, 19, -34, -25, ], ]; internal static readonly short[][] MiddleGameRookTable = [ [ - 6, -12, 8, 13, -12, -26, -1, 8, - 47, 58, -20, -4, 18, 13, -29, -13, - 24, 8, 6, -1, 11, -29, -9, -10, - 16, 66, 45, 31, 35, -6, -17, -9, - 8, 8, 4, 2, 8, 5, -18, -17, - -23, -8, 6, -2, -9, -20, -25, -43, - -13, -14, -8, -13, -7, -18, -15, -23, - -15, 9, 10, 12, 13, -8, 6, -5, - ], - [ - -10, -5, -1, 10, 9, 4, -19, -15, - -37, 41, 17, -13, 11, 11, -3, -22, - 11, 22, 24, 19, 32, -4, 48, -10, - -17, 46, 17, 20, 20, 15, 14, -15, - -15, 30, 1, 2, 1, -11, -0, -17, - -29, -2, -1, -9, 12, -7, -19, -20, - -33, -2, -6, -4, -1, -15, -6, -11, - -30, -114, 18, 15, 16, -0, 26, 12, - ], - [ - 11, 47, -39, -1, 27, 16, 2, -23, - -35, 0, 63, -33, 5, 7, -10, -30, - -10, 15, 42, 20, 29, 28, 20, -5, - 6, -4, 34, 8, 33, 13, 8, -8, - -15, 4, 4, 1, -7, -13, 4, -23, - -28, -8, 20, -9, -5, -12, 0, -33, - -25, 2, 21, -0, -4, -18, -6, -20, - -30, -0, -84, 13, 16, -0, 19, 2, - ], - [ - 22, -50, 3, -41, -2, 32, -34, -30, - -27, -15, -18, 26, -14, 32, 17, -29, - 10, 18, 7, 23, 9, 16, -13, -6, - 28, 19, 28, -0, 13, 25, 27, -19, - -8, 2, -0, 14, 6, 11, 4, -0, - -13, -15, -6, 2, 16, 6, -5, -10, - -27, -1, -12, -3, 1, 9, 0, -0, - -17, -1, 8, -72, 17, 2, 31, 5, - ], - [ - 18, -13, 42, -7, 24, -36, -10, 38, - -26, -48, -28, -31, -20, -21, -29, 4, - -14, -6, -9, 21, -1, 7, -11, 3, - -12, 15, -10, 10, 26, 24, 10, 6, - -11, 6, -5, -1, 1, 24, -2, 11, - -15, 10, -14, -0, 21, 5, -5, 8, - 1, -6, 8, 16, 11, -7, 7, 4, - 16, 10, 9, 19, -89, -0, 13, 42, - ], - [ - -19, -28, -18, -22, 14, -14, -41, 3, - -23, -15, -26, -8, 14, 39, 23, -8, - -4, 12, -18, 13, 11, 6, 14, -20, - -11, -2, -0, 30, 9, 40, 16, 4, - -18, -15, 21, 27, 14, 40, -1, -3, - -22, -1, -11, 13, 5, 31, 4, -4, - -25, -40, 2, 6, 15, 20, -1, -13, - -6, -2, 10, 10, 19, -68, 21, 0, - ], - [ - -10, -12, -16, 0, 6, 25, 48, -19, - -14, -20, -10, -11, -8, 10, 24, 1, - -5, 19, 1, 11, 24, 32, 52, 0, - -3, 8, 4, 18, 6, 19, 28, 1, - -10, -13, -0, -1, -3, -12, 29, -15, - -28, -12, -18, -11, -6, -7, 15, -10, - -8, -13, -13, -5, -1, 2, 31, -28, - -4, 7, 10, 13, 16, 4, -99, -19, - ], - [ - 8, 15, -52, -12, 13, -1, -28, 11, - -18, -10, -16, -18, 1, -11, 16, -6, - -7, 9, -23, 0, 13, 17, 56, 22, - -7, 9, -6, 15, 7, 15, 19, 14, - -30, -2, -1, 10, 11, 1, 22, 1, - -39, -8, -22, -2, 7, -7, 16, 9, - -18, -14, -11, 4, -1, 1, 18, 22, - -2, 8, 11, 9, 18, 15, 29, -100, - ], - [ - 8, 28, 46, -0, -10, -21, -13, -13, - -1, 38, 61, 17, 40, -14, -24, -9, - 17, 1, 59, 52, 14, 28, -14, 8, - -9, 13, 41, -0, -7, -8, -14, -2, - -16, -8, 3, -4, 17, -13, -18, -13, - -40, -8, 4, -23, -6, -4, -27, -38, - -18, -35, -2, -6, -3, -12, -12, -5, - -12, -17, 10, 2, 8, -10, 5, -13, - ], - [ - 31, -8, -22, 25, -5, -10, -1, 0, - 22, 35, 46, 40, 42, 10, -14, -3, - 20, 53, 27, 27, 22, 18, -5, -27, - 6, 24, 14, 38, 23, -1, 1, -37, - -3, -4, -13, 25, -10, -10, -30, -12, - -20, -20, -37, -26, -17, -22, -14, -29, - -20, 1, -57, 8, -5, -37, 14, -30, - -15, -10, 2, 5, 1, -8, 5, -7, - ], - [ - 4, -4, 26, 26, 2, 5, 53, -7, - 13, 16, 9, 49, -27, 21, 28, -9, - 10, 24, 4, 9, -9, -1, 6, -13, - 9, 17, 17, 23, 2, 50, 7, -9, - -13, 10, -21, 4, -59, 20, -11, -9, - -43, -1, -37, 24, -19, -7, -13, -22, - -31, -34, -6, -49, -18, 15, -21, -3, - -12, -3, -6, -2, 3, 10, 4, -2, - ], - [ - -13, -25, 11, -0, 14, 73, -4, -1, - -3, -16, 0, 22, -0, 36, 16, 10, - 5, 15, 2, 8, 8, 47, -4, -5, - 1, 15, 8, -4, -23, 50, -14, -9, - -1, 1, -11, 3, 22, -20, -12, -11, - -5, 7, -7, -6, 10, -17, -39, -30, - -16, -15, 2, -12, -29, -4, -6, -15, - -11, -6, 2, 4, 4, -1, 5, -9, - ], - [ - -10, -6, -14, -4, 26, -4, -3, 42, - -18, -16, -6, 31, 11, 32, 33, 21, - -11, -20, 33, 5, 28, 29, 13, 24, - -14, 5, -20, 7, 7, 2, 25, 13, - -7, -2, 2, -15, -4, 2, 8, 3, - -13, -5, -19, -18, -18, 11, -35, 3, - -28, -27, -3, -9, -3, -43, -3, -4, - -13, -6, 1, 5, 3, -5, 4, -1, - ], - [ - -9, -27, -8, 36, 43, 21, 58, 36, - -22, -16, 23, 20, 19, 47, 40, 13, - -4, 1, 3, 26, 40, 41, -6, 19, + 6, -12, 7, 11, -13, -27, -1, 9, + 47, 59, -20, -5, 17, 12, -29, -12, + 25, 8, 6, -2, 11, -29, -9, -9, + 17, 66, 44, 30, 35, -7, -17, -9, + 8, 8, 3, 1, 7, 4, -18, -17, + -24, -9, 5, -3, -10, -20, -25, -42, + -9, -12, -8, -13, -7, -18, -15, -22, + -13, 10, 11, 11, 13, -8, 7, -3, + ], + [ + -13, -5, -0, 10, 9, 4, -18, -14, + -41, 41, 18, -13, 11, 11, -3, -21, + 7, 21, 24, 19, 32, -4, 49, -8, + -20, 46, 16, 20, 20, 15, 15, -13, + -18, 29, 1, 2, 1, -11, 0, -16, + -31, -3, -1, -9, 12, -6, -19, -19, + -36, 1, -4, -3, -1, -14, -4, -8, + -32, -114, 19, 14, 17, 1, 27, 14, + ], + [ + 9, 43, -39, 1, 27, 16, 4, -21, + -38, -3, 62, -32, 5, 7, -8, -28, + -13, 11, 41, 22, 29, 29, 21, -3, + 3, -8, 33, 10, 33, 13, 9, -6, + -19, -0, 3, 2, -6, -12, 5, -21, + -30, -11, 20, -8, -5, -12, 2, -31, + -29, -3, 22, 2, -3, -16, -3, -15, + -33, -4, -85, 14, 18, 3, 21, 5, + ], + [ + 21, -51, 1, -40, -3, 33, -33, -28, + -28, -17, -20, 27, -15, 32, 18, -28, + 9, 16, 5, 23, 9, 17, -12, -4, + 27, 17, 26, 0, 13, 25, 28, -17, + -9, 0, -2, 14, 6, 12, 5, 1, + -14, -16, -8, 3, 16, 7, -5, -9, + -28, -4, -15, -2, 3, 12, 3, 5, + -17, -2, 6, -72, 17, 3, 32, 7, + ], + [ + 18, -11, 41, -8, 23, -39, -11, 34, + -26, -44, -27, -31, -20, -21, -28, -1, + -13, -4, -8, 22, 0, 5, -12, -1, + -11, 18, -9, 10, 28, 23, 10, 2, + -9, 8, -5, -0, 1, 23, -4, 8, + -14, 12, -13, -1, 22, 4, -6, 5, + 5, -3, 10, 17, 13, -8, 6, -0, + 12, 13, 11, 21, -90, -1, 13, 37, + ], + [ + -19, -28, -18, -22, 14, -14, -43, 2, + -22, -15, -26, -7, 13, 39, 20, -10, + -3, 12, -18, 14, 10, 7, 12, -21, + -10, -2, 0, 30, 9, 41, 14, 3, + -17, -14, 21, 28, 14, 41, -2, -3, + -21, -0, -10, 13, 5, 31, 3, -4, + -25, -39, 2, 7, 15, 21, -3, -15, + -6, -2, 10, 11, 18, -67, 20, 2, + ], + [ + -10, -12, -15, 0, 6, 25, 48, -19, + -13, -20, -10, -10, -8, 10, 23, 0, + -5, 19, 1, 11, 24, 32, 52, -1, + -3, 8, 5, 18, 6, 19, 28, -0, + -10, -13, 0, -0, -3, -12, 29, -16, + -28, -12, -17, -11, -5, -7, 15, -10, + -9, -13, -13, -5, -0, 1, 30, -29, + -3, 7, 10, 14, 17, 4, -99, -18, + ], + [ + 9, 15, -52, -12, 13, -1, -29, 10, + -18, -11, -16, -18, 1, -11, 16, -7, + -7, 9, -23, 1, 14, 17, 56, 21, + -7, 9, -6, 15, 7, 16, 19, 13, + -30, -2, -1, 11, 11, 1, 22, 0, + -39, -8, -21, -1, 8, -6, 16, 9, + -18, -14, -11, 4, -1, 1, 18, 21, + -2, 8, 11, 10, 18, 15, 29, -100, + ], + [ + 7, 27, 46, -1, -10, -22, -13, -12, + -2, 37, 60, 16, 39, -14, -23, -8, + 16, 1, 59, 51, 13, 28, -13, 10, + -10, 13, 41, -1, -7, -8, -12, -0, + -16, -8, 3, -5, 16, -13, -17, -11, + -40, -9, 3, -23, -6, -4, -26, -38, + -20, -35, -1, -6, -3, -12, -11, -3, + -13, -17, 10, 1, 8, -9, 8, -9, + ], + [ + 30, -9, -22, 24, -6, -9, 0, 2, + 20, 34, 46, 39, 41, 10, -13, -1, + 19, 53, 26, 26, 22, 18, -4, -25, + 5, 23, 13, 38, 23, -0, 3, -35, + -5, -5, -14, 25, -10, -10, -29, -11, + -21, -21, -38, -27, -18, -22, -13, -27, + -22, -1, -58, 8, -5, -36, 16, -26, + -16, -11, 2, 4, 1, -6, 7, -3, + ], + [ + 2, -5, 26, 25, 1, 5, 54, -5, + 12, 15, 8, 48, -28, 21, 29, -8, + 8, 23, 3, 9, -10, -1, 7, -11, + 8, 16, 17, 22, 2, 50, 9, -7, + -14, 10, -21, 3, -60, 20, -10, -7, + -45, -1, -38, 24, -19, -7, -12, -21, + -33, -35, -8, -50, -17, 16, -20, 2, + -13, -3, -8, -4, 4, 12, 6, 2, + ], + [ + -11, -23, 11, -1, 14, 72, -5, -2, + -1, -15, 0, 21, -1, 35, 14, 8, + 8, 17, 1, 8, 7, 46, -5, -7, + 3, 16, 8, -4, -23, 49, -15, -11, + 1, 3, -11, 3, 21, -21, -14, -12, + -3, 8, -7, -6, 9, -17, -40, -31, + -11, -12, 3, -12, -30, -5, -8, -17, + -6, -3, 3, 5, 3, -2, 4, -10, + ], + [ + -9, -5, -14, -4, 25, -4, -3, 42, + -18, -16, -6, 31, 11, 32, 32, 20, + -11, -20, 33, 5, 28, 28, 13, 22, + -14, 5, -20, 7, 8, 2, 25, 12, + -6, -2, 3, -15, -4, 2, 7, 2, + -13, -5, -19, -18, -17, 11, -35, 3, + -28, -27, -3, -9, -3, -43, -3, -6, + -13, -6, 1, 5, 3, -4, 4, -0, + ], + [ + -8, -27, -8, 35, 43, 21, 57, 36, + -21, -16, 23, 20, 19, 47, 40, 12, + -4, 1, 3, 27, 40, 41, -6, 18, -22, -11, 7, 24, 15, 23, 27, 7, -23, -27, -4, 15, -15, 3, -4, -10, - -54, -17, -28, -2, -0, -10, -8, -14, - -28, -22, -21, -13, 1, 8, -100, -20, - -22, -13, -6, 2, 0, -7, -23, -3, + -54, -16, -28, -2, -0, -10, -8, -14, + -28, -22, -21, -13, 1, 8, -100, -21, + -22, -13, -6, 2, 1, -7, -23, -2, ], [ - -10, -2, -11, 17, 6, 24, 47, 49, - -15, -16, -11, -9, 27, 45, 38, 31, + -10, -2, -11, 17, 5, 24, 46, 49, + -15, -16, -11, -9, 27, 46, 37, 31, -5, 7, -7, 12, 25, 30, 60, 67, - -19, 9, -8, 17, 12, 6, 19, 0, - -45, -7, -10, -24, -2, -12, 18, 10, + -19, 9, -8, 17, 12, 6, 19, -0, + -45, -7, -10, -24, -1, -12, 18, 10, -37, -21, -20, -18, 1, -9, 15, -27, - -18, -17, -22, -15, -3, -10, 8, -99, - -20, -8, -11, -7, -1, -11, 10, -21, + -18, -17, -22, -15, -3, -10, 7, -100, + -19, -8, -11, -6, -1, -10, 10, -20, ], [ - -32, 33, 70, 39, -9, 27, -1, -17, - 57, 85, 42, 76, 46, 65, -17, 8, - -10, 59, 20, 43, 34, 57, 27, 50, - 3, 25, 40, 33, 30, 18, 7, -64, - -31, -28, -10, 40, -33, 8, -68, -50, - -6, -100, -50, -45, -15, -40, -45, -39, - -22, -11, -44, -9, -46, -46, -8, -44, - -51, 33, 9, -2, 12, -19, -55, -26, + -32, 32, 70, 39, -10, 26, -1, -17, + 57, 84, 41, 75, 45, 64, -17, 8, + -10, 58, 19, 42, 33, 57, 26, 51, + 4, 25, 39, 33, 29, 18, 7, -64, + -30, -28, -10, 39, -34, 7, -69, -50, + -6, -101, -50, -46, -15, -40, -45, -38, + -21, -10, -44, -10, -46, -45, -7, -42, + -49, 34, 9, -2, 12, -18, -54, -23, ], [ 56, 25, 106, 1, 26, 17, 58, 3, - 43, 31, 85, 89, 50, 94, 50, 20, + 43, 32, 85, 89, 50, 93, 50, 20, 2, 49, 50, -5, 8, -1, -5, 3, - -11, -0, -32, 35, 40, -10, 7, 58, - 6, -16, -2, -25, 0, -9, -36, -41, + -11, -0, -32, 35, 40, -10, 6, 58, + 6, -16, -2, -25, -0, -10, -36, -41, -51, 19, 24, 3, -19, -11, 21, 33, - -46, -4, -26, -70, -42, -22, -45, -2, - -145, -54, -90, -37, -36, -11, -125, -82, + -47, -5, -26, -70, -42, -23, -45, -2, + -146, -54, -90, -37, -36, -10, -124, -80, ], [ - 2, -26, 53, -10, 46, 58, 37, 56, + 2, -26, 53, -11, 46, 58, 37, 56, 40, -10, 49, 21, 37, 55, 34, 26, - 17, 40, -17, 85, 3, -17, 28, 27, + 17, 40, -17, 85, 3, -17, 27, 28, -51, 70, 8, -32, -44, 31, 32, 65, - 25, 11, 7, -4, -40, 24, -1, -5, - -10, -74, -35, -11, -0, -2, 9, -23, - 30, 53, 44, -10, -3, 1, -36, -34, - -217, -79, -89, -78, -14, -20, -21, -111, + 25, 11, 7, -3, -40, 24, -1, -5, + -10, -74, -34, -11, -0, -2, 9, -23, + 29, 53, 44, -10, -3, 1, -36, -34, + -218, -79, -90, -78, -13, -19, -20, -110, ], [ 27, 57, -19, 32, -4, 13, 7, 45, - 38, 15, 36, 21, 108, -25, 38, 17, + 37, 15, 36, 21, 108, -25, 38, 17, -13, -5, 54, -3, 16, -3, 25, 3, -33, -2, -21, -31, 38, 20, 38, 77, -5, 26, 17, -26, 61, -24, 9, 28, 8, 32, 24, -3, -50, -28, 24, -40, - -25, -50, -59, 4, -31, 38, 19, 32, - -131, -79, -29, -60, -67, -15, -60, -108, + -25, -50, -60, 4, -31, 38, 19, 33, + -132, -80, -30, -60, -66, -14, -59, -106, ], [ 54, 15, -25, 36, 42, 4, 40, 28, 56, 61, 78, 109, 15, 29, 37, 30, - -60, 23, 17, 17, 7, 51, 44, -29, - 15, -46, 20, -28, -32, -11, -58, 14, + -60, 23, 17, 17, 7, 51, 43, -29, + 15, -46, 20, -28, -32, -12, -58, 14, 35, -9, 14, 21, 49, -31, 54, -32, - -3, -28, -49, -62, 49, 28, 12, -4, - -47, -17, 4, -39, -17, -3, -103, -44, - -86, -22, 21, -95, -56, -17, -12, -62, + -3, -28, -49, -62, 49, 28, 13, -4, + -47, -17, 4, -39, -18, -4, -103, -44, + -84, -22, 21, -93, -57, -17, -12, -62, ], [ - -2, 13, -6, -27, -21, -15, -62, 36, + -2, 14, -6, -27, -21, -15, -62, 36, -22, 53, 1, 56, 47, -18, 31, 29, - -32, -7, 35, 0, 6, 1, 32, 1, + -32, -7, 35, 0, 6, 0, 32, 0, -35, 16, 25, -13, -19, 14, -8, 33, - -10, -13, 15, -5, 57, 22, 30, -9, - 16, 8, 18, -32, -32, 8, -11, -29, - 14, 13, -28, -30, -2, -26, 30, 5, - -48, -57, -11, 48, -46, -28, 48, -55, + -10, -12, 15, -5, 57, 22, 30, -9, + 16, 8, 17, -32, -32, 8, -11, -28, + 14, 13, -28, -31, -3, -26, 30, 4, + -47, -57, -11, 48, -46, -28, 48, -55, ], [ 29, -12, -23, -42, 8, 13, 24, 44, - 60, -3, 6, 50, -18, -14, 56, -23, - 26, -6, 59, 24, 11, 42, 31, 43, + 60, -4, 6, 50, -18, -14, 56, -23, + 26, -5, 59, 24, 11, 42, 31, 43, 9, 3, 17, 43, 40, 68, 63, -18, - -29, 21, -14, 44, 10, -6, -31, -17, - -50, -1, -41, 22, 47, 10, -10, -5, + -29, 21, -15, 44, 10, -5, -30, -17, + -50, -0, -41, 21, 47, 10, -10, -6, -69, 4, -31, 35, 3, 25, -41, -23, -130, -82, -23, -43, -35, -71, -19, -61, ], [ - -15, 32, -26, 45, 59, -50, 40, 4, - -29, 61, 5, 29, 51, 55, 90, 20, + -15, 32, -27, 45, 59, -50, 40, 4, + -28, 61, 5, 29, 51, 55, 90, 20, 3, 5, 61, 46, 32, 92, 70, -10, - 20, 1, 4, -0, 8, 92, 40, 1, - -5, -19, 5, -73, 24, 81, 12, -6, + 20, 0, 4, -0, 8, 92, 40, 1, + -5, -19, 5, -73, 24, 80, 12, -6, -18, -47, -41, 27, -91, -38, 53, -14, - -59, -45, 19, 34, 13, -4, -20, -5, - -206, -73, -65, -14, -101, -5, -14, -141, + -59, -45, 19, 34, 13, -5, -20, -5, + -206, -72, -64, -14, -101, -5, -13, -140, ], ]; internal static readonly short[][] EndGameRookTable = [ [ - 7, 29, 7, -17, 21, -5, -10, 3, - -27, -16, 18, 6, 2, -16, 7, 7, - -11, 8, 9, -3, 4, -0, -21, 9, - 1, -8, -17, -13, -7, -15, 11, -4, - -25, 18, 20, 15, 15, 9, 3, 10, - -35, 17, -5, -2, 4, 11, 4, 17, - -22, 22, 24, 10, 12, 8, 1, 3, - -37, 0, -7, -15, -15, -20, -9, 10, - ], - [ - 19, 32, 8, 25, -2, 13, 20, 14, - 5, -4, 5, 17, 11, 5, 19, 20, - -21, 10, 2, -2, -25, 7, -31, 20, - -5, -15, 17, 3, -6, -12, -15, 9, - -6, -16, 15, 24, 4, 7, -15, 9, - -13, 16, 2, 15, -17, -4, 4, 5, - -33, -11, -1, 12, -4, 2, 5, -0, - -36, -116, 11, 12, -4, -10, -6, 11, - ], - [ - 6, 11, 41, 35, 9, -0, 11, 26, - 23, 12, -19, 45, 6, 7, 22, 21, - -5, -7, -18, 2, -22, -15, -7, 1, - -11, 16, 1, 5, -14, -3, -3, 0, - 11, -3, 2, 15, 8, 11, 2, 6, - -17, -8, 2, 6, 5, 14, -8, 27, - -11, -36, -34, 4, -6, 11, 10, 3, - -27, -33, -155, 12, -3, -8, 7, 17, - ], - [ - 10, 37, 9, 47, 25, -10, 22, 29, - 12, 16, -0, 7, 31, -12, -10, 16, - -17, -8, -5, -3, -6, -4, -9, 3, - -12, -6, -15, 32, 1, -3, -21, 10, - 2, 3, 13, 15, -10, -11, 6, -3, - 2, 14, 7, 21, -6, -4, -2, 10, - 4, -5, -15, 23, -6, -13, -8, -6, - -11, -19, -17, -100, -13, -17, -24, 6, - ], - [ - 32, 21, -10, 9, 3, 41, 7, -1, - 32, 33, 12, 26, 17, 19, 15, 2, - 34, 7, -4, -16, -5, -9, 15, -21, - 21, -2, 14, -1, -9, -8, -10, 9, - 30, 6, 15, 2, 9, -19, 10, -19, - 29, 5, 13, 4, -1, -4, 1, -11, - -4, 11, -19, -24, -22, -12, -11, -21, - 4, -12, -4, -23, -138, -25, -13, -28, - ], - [ - 31, 25, 8, 8, 1, 19, 27, 1, - 23, 20, 9, 12, 3, -7, -8, 0, - 8, 12, 8, -1, -5, -6, -2, -1, - 11, 11, 5, -10, 4, -5, -9, -0, - 16, 29, -7, 3, 9, 7, 7, -13, - 4, 11, 11, 0, 11, -9, -13, -6, - 5, 29, 2, -13, -16, -17, -33, -22, - 2, 5, -3, 3, -6, -133, -25, -31, - ], - [ - 24, 22, 20, 11, 4, 3, 4, 15, - 16, 20, 16, 19, 11, 4, 3, 3, - 15, 2, 6, 1, -5, -17, -21, -7, + 6, 29, 7, -16, 21, -4, -11, 3, + -27, -17, 18, 6, 2, -15, 7, 7, + -11, 8, 10, -3, 4, -0, -21, 9, + 1, -8, -16, -12, -6, -14, 11, -4, + -25, 18, 20, 16, 15, 9, 3, 10, + -34, 17, -4, -1, 4, 11, 4, 17, + -23, 22, 24, 10, 12, 8, 1, 3, + -38, -0, -7, -14, -15, -20, -9, 10, + ], + [ + 19, 32, 8, 26, -2, 13, 20, 14, + 5, -3, 5, 17, 11, 5, 19, 20, + -21, 11, 2, -2, -26, 7, -31, 21, + -5, -14, 17, 3, -6, -12, -15, 9, + -6, -16, 15, 24, 4, 8, -15, 10, + -13, 18, 2, 15, -17, -3, 5, 6, + -37, -12, -2, 12, -4, 2, 5, 0, + -46, -115, 11, 13, -5, -10, -6, 12, + ], + [ + 7, 11, 42, 34, 10, 0, 11, 26, + 24, 12, -18, 45, 7, 7, 22, 21, + -4, -8, -17, 1, -22, -15, -7, 1, + -10, 16, 2, 5, -14, -2, -3, 0, + 12, -3, 3, 14, 8, 11, 2, 7, + -17, -8, 3, 6, 6, 14, -8, 28, + -13, -38, -33, 4, -7, 11, 9, 3, + -32, -39, -154, 12, -4, -9, 7, 19, + ], + [ + 10, 37, 8, 47, 26, -10, 23, 30, + 12, 16, -1, 7, 31, -12, -9, 17, + -18, -8, -6, -2, -5, -3, -8, 4, + -13, -7, -15, 33, 1, -2, -21, 11, + 1, 2, 12, 16, -10, -10, 6, -2, + 2, 14, 6, 21, -6, -3, -1, 12, + 1, -7, -15, 24, -7, -13, -9, -6, + -16, -21, -20, -99, -12, -16, -23, 8, + ], + [ + 32, 21, -8, 10, 5, 42, 7, -2, + 33, 33, 14, 27, 18, 19, 14, 2, + 34, 8, -3, -16, -4, -8, 15, -23, + 21, -2, 15, -0, -8, -8, -11, 7, + 29, 7, 16, 2, 10, -19, 10, -21, + 29, 5, 14, 5, -0, -5, -0, -12, + -3, 12, -18, -24, -22, -13, -14, -26, + 4, -13, -3, -23, -136, -29, -15, -32, + ], + [ + 32, 26, 8, 9, 1, 20, 27, -0, + 24, 20, 9, 13, 4, -6, -9, -0, + 9, 13, 9, -0, -5, -6, -3, -2, + 12, 12, 6, -10, 5, -5, -9, -1, + 17, 30, -7, 3, 9, 7, 6, -14, + 5, 12, 12, 1, 12, -9, -14, -7, + 7, 30, 2, -13, -15, -16, -36, -26, + 4, 6, -2, 4, -5, -132, -31, -38, + ], + [ + 24, 22, 20, 11, 4, 4, 4, 15, + 16, 21, 16, 19, 11, 5, 3, 3, + 16, 2, 6, 1, -5, -17, -20, -8, 11, 7, 4, -5, 1, 2, 7, 1, - 13, 14, 5, 4, 12, 12, -5, -3, - 15, 11, 9, 9, 5, 8, -3, -21, - 4, 7, 3, 4, 3, -6, -27, -31, - 12, 8, 4, 4, 1, 3, -235, -35, + 14, 14, 5, 4, 12, 12, -5, -3, + 16, 11, 9, 8, 5, 9, -3, -22, + 6, 7, 3, 4, 3, -5, -27, -35, + 13, 9, 5, 4, 1, 4, -235, -46, ], [ - 8, -2, 18, 15, -6, 1, 11, -15, - 8, -2, -5, 9, -6, -7, -14, 9, - 7, 3, 5, -9, -10, -17, -27, -27, + 8, -2, 18, 15, -6, 0, 12, -15, + 8, -2, -6, 9, -7, -7, -14, 9, + 7, 3, 5, -10, -10, -17, -26, -27, 6, -3, -2, -9, -10, -2, -3, -27, - 15, 19, -2, -9, -12, 17, 14, 21, + 16, 19, -3, -9, -13, 17, 14, 21, 26, -2, 9, 5, -0, 14, -6, -21, - 4, 7, 10, -1, 16, 9, 3, -36, - 25, 20, 6, 17, 6, 5, 31, -110, + 5, 7, 9, -1, 15, 9, 4, -35, + 26, 21, 6, 17, 6, 5, 32, -110, ], [ - -8, -5, -19, 6, 17, 5, 7, 7, - -5, -9, -22, -3, -9, 7, 17, 13, - -20, -3, -12, -15, -9, -4, 13, 6, - 0, 5, -2, 11, 17, 12, 5, 10, - -10, 11, 11, 15, -6, 15, 13, 5, - 1, 3, -2, 10, 5, -1, 8, 8, - -15, 15, -8, 7, -5, -1, -8, -8, - -15, -8, -13, -7, -11, -17, -6, 3, + -8, -5, -19, 6, 17, 5, 7, 6, + -5, -8, -22, -3, -9, 7, 17, 12, + -20, -3, -12, -15, -9, -4, 13, 5, + 0, 6, -2, 11, 17, 12, 5, 9, + -11, 11, 11, 15, -5, 15, 13, 5, + 2, 4, -2, 10, 5, -1, 8, 8, + -16, 15, -8, 7, -5, -1, -9, -8, + -15, -8, -13, -6, -11, -17, -6, 2, ], [ - 9, 13, 13, -5, 16, 1, -5, 12, - 2, -6, -12, -3, -10, 11, 9, -1, - 5, -11, -9, 3, 5, 16, 5, 11, + 9, 13, 13, -4, 16, 1, -6, 11, + 2, -5, -12, -3, -9, 11, 9, -1, + 5, -11, -9, 3, 5, 16, 4, 11, 1, -10, 1, -3, 1, 11, 3, 7, - -1, 10, 12, -1, 12, 10, 13, 9, - -7, 4, -1, 5, 0, 2, -14, -6, - -7, -11, 16, -10, -5, 4, -28, -6, + -0, 10, 13, -0, 13, 9, 13, 8, + -7, 4, -1, 6, 1, 2, -15, -6, + -7, -12, 16, -10, -5, 4, -29, -6, -7, -5, -23, -10, -11, -20, -10, 4, ], [ - 15, 11, 8, -10, -3, -24, -26, 11, + 15, 11, 8, -10, -3, -24, -27, 11, 4, 11, 11, -16, 19, -8, 1, 11, - 9, 0, 13, -2, 2, -5, 5, 9, - 5, 4, 7, 6, 2, -13, 7, 9, - 7, 0, 13, 7, 25, -10, 12, 2, - 4, 3, 21, -16, 4, -3, -9, -12, - -2, -4, -1, 17, -2, -30, -6, -17, - -12, -2, -1, -8, -17, -33, -3, -4, - ], - [ - 19, 23, 5, -2, -9, -29, -6, 11, - 13, 23, 13, -2, 3, -7, 9, 6, - 11, 14, 12, -0, -8, -15, 7, 6, - 5, 12, 15, 5, 14, -21, 14, 4, - 6, 11, 14, -0, -2, 9, 15, -5, - -5, -5, 1, -8, -15, 5, -3, -9, - -19, -7, -8, -2, 1, -8, -9, -11, - -11, -3, -6, -14, -32, -29, 1, 1, - ], - [ - 16, 14, 12, 2, -3, -1, -0, -9, - 18, 18, 18, -2, 5, -5, -0, -3, - 16, 17, 2, 8, 3, -8, 3, -5, - 19, 5, 20, 7, 7, 4, -8, -8, - 8, 8, 10, 9, 9, -2, -9, -11, - 1, -7, -2, 1, 1, -20, -5, -19, - -3, 1, -5, -2, -7, -11, -15, -18, - -9, -7, -7, -9, -15, -25, -4, -4, + 10, 0, 13, -2, 2, -5, 4, 9, + 5, 4, 7, 6, 2, -13, 7, 8, + 7, 0, 13, 7, 25, -9, 12, 2, + 5, 4, 21, -16, 4, -3, -9, -11, + -3, -4, -1, 17, -2, -30, -6, -18, + -12, -2, -1, -8, -17, -34, -3, -4, + ], + [ + 18, 23, 5, -2, -8, -29, -6, 11, + 12, 23, 13, -2, 3, -6, 10, 6, + 10, 14, 12, -0, -8, -15, 7, 6, + 4, 12, 15, 5, 14, -21, 15, 5, + 6, 11, 14, 0, -2, 10, 16, -4, + -5, -5, 1, -8, -14, 6, -3, -9, + -19, -8, -8, -2, 1, -8, -9, -11, + -12, -4, -7, -14, -32, -29, 1, 2, + ], + [ + 16, 14, 11, 2, -3, -0, -1, -9, + 18, 18, 18, -2, 5, -5, 0, -2, + 16, 17, 1, 8, 3, -7, 3, -5, + 20, 5, 20, 6, 6, 4, -8, -8, + 8, 9, 10, 9, 9, -2, -9, -11, + 1, -7, -2, 1, 1, -20, -4, -19, + -2, 2, -5, -2, -6, -11, -15, -18, + -8, -7, -7, -9, -15, -25, -4, -4, ], [ 16, 21, 7, -15, -17, -11, -13, -20, 13, 17, 1, -2, 1, -9, -6, -9, - 7, 4, 3, -2, -16, -10, 8, -17, + 7, 4, 2, -2, -16, -10, 8, -17, 15, 12, 1, -6, 6, 2, 4, -13, - 12, 15, 2, -4, 15, 11, 6, -4, - 14, 7, 10, -5, 1, 4, -2, -9, - 3, -2, 1, -4, -5, -9, 49, -10, + 12, 15, 2, -5, 15, 11, 6, -4, + 14, 7, 10, -6, 1, 4, -2, -9, + 3, -2, 1, -4, -5, -9, 49, -11, -13, -7, -10, -11, -11, -17, 11, -7, ], [ - 8, 7, 11, -10, 1, -9, -8, -19, + 8, 7, 11, -10, 1, -9, -7, -19, 1, 8, 8, 11, -6, -1, -6, -19, - -2, 1, 1, 0, -5, -10, -14, -25, - 6, -6, 8, -5, -2, 10, 11, -3, + -2, 1, 1, 0, -6, -10, -14, -25, + 6, -6, 7, -5, -3, 9, 11, -3, 12, -2, 1, 22, 11, 21, 2, -5, - 7, -4, -2, 5, -5, 10, 1, 20, - -8, 1, 2, -1, -3, 8, 0, 39, - -20, -10, -6, -10, -9, -4, 6, -21, + 7, -4, -2, 5, -6, 10, 1, 21, + -7, 1, 2, -1, -3, 8, 0, 39, + -20, -10, -6, -10, -10, -4, 6, -19, ], [ 1, 6, -15, 17, 7, -23, -19, -2, -38, -18, -6, -4, -23, -38, -4, -23, - -5, -2, 28, 13, -6, -15, -19, -24, - 6, 18, 5, 13, 5, -23, -2, 7, - 19, 51, 25, 17, 6, -2, 21, 8, - -7, 40, 27, 32, 34, -3, 4, -6, + -5, -2, 28, 13, -5, -15, -19, -24, + 6, 18, 5, 13, 5, -23, -2, 8, + 18, 51, 25, 17, 6, -2, 21, 8, + -6, 40, 27, 32, 34, -3, 4, -6, -23, 17, 23, 1, -4, -18, -47, -28, - 5, -16, 2, 9, -12, -15, 16, 1, + 4, -16, 2, 9, -12, -15, 16, 2, ], [ -26, -8, 13, -1, -28, -29, -38, -14, @@ -2200,278 +2200,278 @@ internal static class TunableEvalParameters 8, 18, 11, 3, -0, -12, -8, -24, 18, 47, 28, 27, -16, -9, -7, -21, 13, 22, 20, 15, 21, 14, 19, 8, - -1, -22, 20, 10, -2, -14, 13, -45, + -1, -22, 19, 10, -2, -14, 13, -45, 23, 5, 24, 26, 4, -27, -17, -57, 23, 9, 55, 4, 5, -30, 19, 11, ], [ -23, 9, 16, 15, -15, -54, -37, -12, - -32, 14, 18, 18, -22, -16, -29, -19, + -32, 14, 17, 18, -22, -16, -29, -19, -11, -4, 8, -2, -26, -2, -18, -6, 16, -2, 22, 42, 9, -25, -19, -8, - -31, 8, 22, 32, 13, 9, -27, 1, - -5, 20, 5, 30, -13, 11, -20, -10, + -32, 8, 22, 32, 13, 9, -27, 2, + -5, 20, 4, 30, -13, 11, -20, -10, -21, -17, 9, 29, -20, 9, 3, 6, - 46, 36, 20, 50, -10, -24, -1, 36, + 46, 36, 20, 50, -10, -24, -1, 37, ], [ -14, -19, 13, 16, 11, -34, -18, -20, -34, -5, 20, 22, -9, 8, -18, -15, - 2, -4, -13, 4, 8, 6, -10, -13, + 2, -5, -13, 4, 8, 6, -10, -12, -2, 6, 27, 31, 23, 3, -6, -17, - -25, -23, 3, -0, 9, 6, 15, -18, - -4, -25, 8, -4, 39, 7, -4, 14, - -16, -1, 4, -5, 29, -8, -20, -37, - 10, 16, 17, 9, 52, -21, 12, 13, + -25, -23, 3, -0, 9, 5, 15, -18, + -4, -25, 8, -4, 38, 7, -4, 14, + -16, -1, 4, -5, 29, -8, -20, -36, + 11, 16, 17, 9, 52, -21, 12, 14, ], [ - -15, -1, 30, 5, 7, -23, -19, -17, + -15, -1, 30, 5, 7, -24, -19, -17, -20, -11, 1, -16, 42, -5, -25, -32, 13, -3, 26, 0, 28, -4, -13, 7, -14, 20, 30, 3, 16, -13, 6, -19, -25, -6, 15, 0, 1, 10, -17, 5, -22, -13, 32, 30, 11, -13, -16, -10, - -21, -6, 6, 14, -13, -15, 5, -2, - -3, 2, 6, 38, 23, 1, -14, 9, + -20, -6, 6, 14, -13, -15, 5, -2, + -3, 2, 6, 37, 24, 1, -14, 10, ], [ -1, 11, -0, 8, -6, 33, 27, -45, -1, 3, 17, -5, 6, 13, -18, -21, - 2, 1, -17, 10, -13, 10, 1, -6, - -19, -7, -0, 4, 0, 6, 29, -11, + 2, 1, -17, 9, -14, 10, 1, -6, + -19, -7, -1, 4, 0, 6, 29, -11, -12, 2, 4, 10, 8, 3, -1, 4, - -38, 0, -4, 15, 10, -23, 14, -11, - -17, -11, 20, 16, 16, 1, -3, -19, + -37, 0, -4, 15, 10, -23, 14, -11, + -17, -10, 20, 16, 16, 1, -3, -19, -19, 15, -8, -24, 12, 7, 11, 8, ], [ 3, 3, -9, -5, -13, -3, 1, -24, - -15, -4, 1, 18, 0, 29, -9, -2, + -15, -4, 1, 18, 0, 29, -9, -3, -15, 10, -13, 14, -2, 3, 12, -24, - 3, 2, -12, 18, -16, -8, 3, -3, - 8, 6, 8, 3, 8, 12, 12, -16, + 4, 2, -12, 18, -16, -8, 4, -3, + 8, 6, 8, 3, 8, 12, 13, -16, 8, 5, 15, 19, -36, 21, -6, 7, - -5, -17, 8, -21, -13, -12, -10, -17, - 10, 14, 6, 17, -8, 14, -9, 26, + -5, -17, 8, -21, -13, -13, -10, -16, + 11, 14, 6, 17, -8, 14, -9, 27, ], [ -2, -12, -16, 6, -37, 9, -5, -3, 6, -14, -16, 3, -34, -3, -7, 3, 6, -9, -22, 14, 1, 8, 1, 36, - -2, -2, 4, 20, -3, -1, 3, 9, - -11, -10, -1, 30, -14, -23, 23, -17, + -2, -2, 4, 20, -4, -1, 3, 9, + -11, -10, -1, 29, -14, -24, 23, -17, -21, 5, -25, 8, 28, 17, 17, 1, - -3, -8, -35, 9, -25, -15, -11, 5, - 29, 0, -15, 20, 12, 2, 26, 61, + -2, -8, -35, 9, -25, -15, -11, 5, + 29, 0, -15, 20, 12, 2, 26, 62, ], ]; internal static readonly short[][] MiddleGameQueenTable = [ [ - 46, 47, -30, -72, 33, 10, -30, -1, + 45, 47, -30, -72, 33, 10, -30, -2, 24, 18, -6, -29, -11, -19, 36, -15, 32, 35, 5, -54, -20, -11, 21, 2, 19, 33, 3, 12, -1, 12, -22, -13, - 15, 40, 5, 2, 12, -0, -1, -35, - -10, 0, 6, 1, 0, -4, -3, -24, - -15, 6, 3, 0, -7, -3, -15, -36, - 15, -19, 12, -4, 13, 15, -11, -11, - ], - [ - 29, 28, 49, 11, 7, 27, -15, -47, - -12, 13, 19, -43, -5, -7, -20, -1, - 18, -21, -19, 7, -11, 4, -10, -11, - 7, -1, 19, 5, -13, 9, -8, 13, - 21, 17, 9, 1, 7, 2, 12, -5, - 3, 11, 4, -4, 5, -3, 5, 11, - -25, 6, 16, 16, 7, 9, 12, 4, - -34, -225, 20, 15, 15, 14, 18, 15, - ], - [ - -23, 4, -42, -18, 3, 1, -40, -18, - -8, -20, -23, -11, -39, -2, -1, 4, - -15, 5, -41, 15, -14, 3, -2, 10, - 12, 12, 1, 7, 4, 18, 11, 11, - 12, 8, 20, 19, 17, 9, 15, 4, + 15, 40, 5, 2, 12, -1, -1, -36, + -9, -0, 6, 1, -0, -5, -3, -24, + -15, 6, 2, -0, -7, -3, -15, -35, + 14, -18, 16, -4, 14, 17, -10, -12, + ], + [ + 29, 28, 48, 10, 6, 26, -15, -48, + -11, 13, 18, -44, -5, -6, -19, -1, + 17, -21, -19, 7, -11, 4, -10, -11, + 6, -1, 19, 5, -13, 9, -8, 13, + 21, 17, 9, 1, 7, 2, 12, -4, + 3, 10, 4, -4, 5, -3, 5, 11, + -25, 6, 17, 16, 7, 9, 12, 4, + -34, -226, 20, 17, 18, 15, 18, 15, + ], + [ + -23, 4, -42, -18, 2, 1, -41, -19, + -7, -20, -23, -12, -40, -2, -1, 4, + -15, 5, -41, 15, -14, 3, -3, 10, + 12, 12, 1, 8, 3, 18, 11, 11, + 12, 9, 20, 19, 17, 9, 15, 4, 13, 14, 16, 8, 16, 8, 14, 16, - 0, 16, 28, 23, 16, 14, 13, -0, - -4, 19, -242, 25, 11, 16, 26, 21, - ], - [ - -11, -31, 9, 60, 71, -21, -45, -13, - -11, -35, -29, -21, 17, -64, -27, -2, - 33, 4, -63, 5, 9, -14, 5, -10, - 39, 10, 16, 9, 11, 25, 14, 9, - -16, 23, 11, 0, 15, 1, 24, 5, - 8, -6, 15, 1, 13, 11, 16, -2, - 0, 6, 2, 11, -1, 9, 11, 18, - -7, 4, 13, -164, 9, 13, 11, -6, - ], - [ - -47, -28, -29, 57, 12, 50, -3, -30, - -4, -40, -33, -35, -10, -9, -23, -5, - -1, -17, -33, -10, -54, -25, -9, -11, - 15, 13, 21, -11, -14, 6, 3, -2, - 18, 21, 1, 0, -9, 13, 3, 30, - 17, 16, 14, 5, 7, 22, 21, 19, - 20, 32, 29, 23, 19, 12, 29, 9, - 18, 25, 23, 17, -212, 13, 18, 30, - ], - [ - -32, -22, 52, 10, 32, 18, -36, 19, - -4, -6, -17, 12, -51, -21, 4, 7, - -5, -12, -9, -8, 24, 9, -1, -9, - 1, -1, -14, 10, 16, 32, 12, 17, + 1, 17, 28, 24, 17, 14, 14, 0, + -4, 18, -242, 25, 15, 19, 27, 22, + ], + [ + -10, -31, 9, 60, 71, -23, -45, -13, + -10, -35, -30, -21, 16, -64, -27, -3, + 33, 4, -64, 4, 9, -13, 5, -10, + 40, 10, 16, 9, 11, 25, 14, 9, + -15, 23, 11, 0, 15, 1, 24, 5, + 8, -6, 15, 2, 13, 11, 16, -2, + 1, 5, 2, 11, -1, 9, 11, 18, + -6, 4, 12, -165, 9, 15, 13, -5, + ], + [ + -46, -27, -29, 56, 11, 49, -3, -30, + -4, -40, -32, -35, -9, -10, -23, -5, + -1, -17, -34, -10, -54, -26, -9, -11, + 16, 13, 22, -11, -14, 6, 4, -1, + 18, 21, 2, 1, -9, 14, 3, 30, + 18, 17, 15, 6, 8, 22, 21, 18, + 20, 33, 30, 24, 20, 12, 29, 7, + 17, 27, 25, 17, -214, 12, 18, 29, + ], + [ + -32, -21, 52, 10, 32, 18, -37, 19, + -4, -6, -18, 12, -51, -21, 3, 6, + -5, -11, -9, -8, 24, 9, -1, -9, + 1, -1, -14, 10, 16, 32, 11, 17, 11, 1, 11, 2, 12, 10, -1, 9, - -4, 6, 16, -2, -5, 11, 6, 4, - -3, -14, 1, 2, 9, 14, -12, 22, - 3, 4, 9, 9, 15, -172, 4, -6, + -4, 6, 16, -2, -5, 11, 6, 5, + -3, -13, 1, 3, 9, 14, -12, 22, + 4, 3, 9, 9, 15, -173, 3, -5, ], [ - -10, 11, 37, 31, -7, -0, 47, -25, + -10, 11, 37, 31, -7, -1, 47, -25, 0, -8, -1, -16, -26, -18, -9, 19, - 10, -8, -11, -12, -23, -13, -15, -14, - 16, 17, 7, 3, 2, 13, -4, 10, - 11, 14, 6, 1, 4, 5, 8, 13, + 10, -8, -11, -12, -23, -13, -15, -13, + 16, 17, 8, 3, 2, 13, -3, 10, + 11, 14, 7, 1, 4, 5, 8, 13, 11, 7, 8, 2, 1, 15, 18, 15, - 13, 11, 7, 6, 10, 18, 8, -27, - 10, 13, 11, 9, 15, 17, -244, -20, + 13, 12, 7, 6, 10, 18, 8, -26, + 10, 13, 10, 9, 14, 15, -245, -20, ], [ - -15, -44, -13, -26, -35, 3, 2, 30, - 10, 6, 8, 14, -23, -6, 2, 44, + -15, -44, -13, -26, -36, 3, 3, 30, + 10, 6, 8, 14, -23, -6, 3, 44, 4, -11, 3, -24, -18, -10, 29, -19, - -3, 5, -7, 7, 5, 35, 17, 15, - -2, -2, -13, -5, 28, -9, 32, 13, - -15, -8, 7, 9, -7, 19, 15, 21, - 1, 7, -2, -9, 4, 3, 26, 21, - 10, 7, 8, 3, 12, 11, 27, -197, + -3, 5, -7, 7, 5, 35, 17, 16, + -2, -2, -12, -5, 28, -9, 32, 13, + -15, -8, 7, 9, -7, 18, 15, 21, + 1, 7, -2, -8, 4, 3, 26, 21, + 10, 7, 7, 3, 12, 10, 26, -197, ], [ - -7, 77, 15, 13, 10, 40, 80, 1, - 8, -37, -0, 8, -29, 5, 4, -8, - 2, 5, 15, 6, -14, -26, -23, -57, + -8, 77, 15, 13, 10, 40, 80, 1, + 8, -37, -1, 7, -29, 6, 3, -9, + 2, 4, 15, 6, -14, -26, -23, -57, 26, -7, -3, 14, 22, -6, 5, -19, - -12, 19, 14, 24, -25, 20, -22, 25, + -12, 19, 14, 24, -25, 21, -23, 26, -21, -10, 15, -24, 7, -3, -13, -10, - -17, -80, 1, 11, -18, -15, -20, 11, - -17, 21, 25, 11, -6, -1, 5, -18, + -17, -80, 1, 11, -18, -15, -20, 12, + -18, 21, 27, 11, -4, 1, 6, -18, ], [ - -56, -19, -2, -33, 28, 61, 15, 25, - 27, 15, 45, 7, -29, 9, 10, -37, - 35, 15, 41, 17, 9, -34, 17, -10, - -25, -6, 8, 20, 31, -11, 5, -12, + -56, -20, -3, -33, 28, 61, 14, 24, + 27, 15, 44, 7, -29, 9, 9, -37, + 34, 15, 41, 17, 9, -34, 17, -10, + -26, -6, 8, 19, 31, -10, 5, -12, -2, -10, -1, 8, -7, 3, 6, -25, - -14, -7, -12, -8, 9, 10, -22, -8, - -26, -27, -33, -12, 0, -9, -5, -2, - 2, -14, -11, 15, -9, 20, 16, 12, + -15, -7, -12, -8, 9, 9, -22, -8, + -26, -28, -33, -12, 0, -9, -5, -1, + 2, -14, -11, 16, -8, 22, 18, 12, ], [ - 2, -60, -8, 26, 33, -30, -46, -59, - -13, -44, -53, 29, -5, 18, 19, 15, - -16, -44, -21, 1, 26, 4, -26, 12, - 4, 21, 17, -10, 50, 5, 13, 21, - -10, 21, 21, 33, 29, 25, 8, -19, - 30, 4, 30, 8, 9, 0, 20, -13, - -53, 11, -14, -12, 1, 1, -1, -9, - -7, -1, -18, 2, 8, 10, -5, 7, + 2, -62, -8, 26, 33, -30, -46, -59, + -13, -44, -53, 28, -5, 18, 18, 14, + -17, -44, -22, 1, 26, 5, -25, 12, + 3, 21, 17, -9, 50, 5, 13, 20, + -11, 20, 21, 32, 29, 25, 8, -19, + 29, 4, 30, 8, 9, 0, 20, -13, + -53, 10, -14, -12, 2, 1, -1, -8, + -7, -1, -18, 3, 11, 14, -2, 8, ], [ - -35, -16, -62, -14, 6, -51, -3, -13, - 12, -5, -11, -11, -43, -1, 47, 16, - 8, 27, 9, -37, 12, 14, 15, 20, - -12, 34, 24, 28, 17, 0, 12, 8, - -9, -9, 34, 24, 15, 28, -8, 6, - -14, -2, 1, 12, 5, 4, 17, 41, - -9, -31, 1, -0, -56, -17, -8, 2, - -22, -2, -4, -6, 16, -25, 19, 1, + -37, -16, -62, -15, 6, -51, -3, -12, + 12, -5, -11, -11, -44, -0, 47, 16, + 8, 27, 9, -37, 12, 14, 15, 19, + -11, 33, 25, 28, 17, 0, 12, 8, + -9, -9, 33, 24, 15, 28, -8, 6, + -14, -2, 1, 11, 4, 4, 17, 41, + -9, -32, 0, -1, -57, -17, -9, 2, + -22, 1, -0, -3, 16, -25, 18, 0, ], [ - -78, -14, -85, 13, -48, 59, 33, 6, + -79, -14, -85, 13, -48, 58, 34, 7, -13, -19, 14, -35, -12, 42, 16, -0, - -19, 19, -28, 48, 56, 66, 25, 24, + -19, 19, -28, 48, 56, 66, 24, 24, -3, -4, 10, 2, 47, -15, 19, 1, - -18, -12, 5, 20, 38, 12, 21, -4, - -11, -9, 3, 9, 26, 5, -1, -12, - -2, -3, -6, 8, -7, -113, -16, -15, - -14, -3, 14, 3, 2, -37, 13, -23, + -18, -13, 5, 20, 39, 12, 21, -4, + -11, -9, 3, 10, 26, 4, -1, -12, + -2, -3, -6, 8, -7, -114, -16, -16, + -14, -3, 14, 2, 2, -37, 12, -22, ], [ - 13, 6, 72, 34, 29, -62, 14, -2, - -26, -14, 26, 15, 22, 6, -13, 46, + 13, 6, 72, 34, 29, -61, 15, -1, + -26, -14, 26, 15, 22, 6, -13, 47, -16, -11, 1, -14, 22, 24, 4, -1, - -12, 16, 25, 21, 29, 35, 2, 3, + -12, 16, 25, 21, 29, 36, 3, 3, -0, -7, -4, 1, 11, 12, 6, -28, - -15, -16, 0, -1, -14, 22, 9, -23, + -15, -16, 0, -1, -14, 21, 9, -23, -3, -18, -8, -16, 0, 2, -51, 1, - -32, -5, -20, -3, -0, -28, -27, -43, + -31, -6, -20, -4, -1, -29, -27, -44, ], [ - -11, -1, 21, 0, 11, 31, 59, 33, - -22, -18, -8, 16, 33, 69, 77, 46, - -17, -22, -6, 4, -5, 30, 10, 4, + -11, -1, 21, 0, 10, 31, 59, 33, + -22, -18, -8, 16, 33, 70, 78, 46, + -16, -22, -6, 4, -5, 30, 10, 4, -31, -28, -14, 0, 31, 5, 26, 2, -25, -22, 1, -19, -1, 1, 18, 18, - -16, -23, -13, -17, -10, 9, 19, 5, + -16, -23, -13, -17, -10, 8, 19, 5, -29, -15, -18, -15, -10, 9, -5, -61, - -20, -15, -17, -5, -11, -12, -13, -11, + -20, -16, -18, -6, -11, -13, -13, -11, ], [ - -7, 22, 2, 32, -18, -38, -13, 17, - 9, 55, 35, -49, 1, -26, -14, -31, + -7, 22, 2, 33, -17, -38, -13, 17, + 9, 54, 35, -49, 1, -27, -15, -30, 2, 12, 64, 15, 6, -25, -39, 66, - -67, 16, -26, 41, 55, -2, 37, -14, - -37, 28, 12, 34, -48, -40, -9, -12, - -19, 21, 8, 42, 10, 11, -34, -51, - -52, -20, 36, 19, 18, -46, 14, 49, - -46, -67, 11, -1, 33, 2, 14, 2, + -67, 15, -26, 41, 55, -2, 36, -15, + -38, 28, 12, 34, -49, -40, -9, -12, + -19, 21, 8, 41, 11, 11, -34, -51, + -51, -21, 36, 19, 18, -47, 14, 49, + -46, -66, 12, 1, 34, 2, 15, 2, ], [ -3, -44, 12, 5, 12, -23, -20, -51, - 20, 13, 8, -14, 17, -29, 18, -18, + 21, 13, 8, -14, 17, -29, 18, -18, 7, 15, 44, 4, 0, 4, -33, -17, 33, 8, 55, 52, -14, 3, 6, -43, 28, 25, -14, 58, 55, 7, 60, 13, - 12, 31, -8, -12, 31, -15, -20, -28, + 12, 31, -7, -12, 31, -15, -20, -28, -11, -27, 22, -6, -42, -25, 16, -4, - 23, -21, -30, -62, -14, -42, 3, -30, + 23, -21, -31, -63, -14, -42, 4, -30, ], [ -16, -79, -29, 17, -20, -69, -12, -3, 32, -17, -22, -5, 21, 44, -46, -34, - -1, 22, 6, 29, 3, -10, 16, 23, + -0, 22, 6, 29, 3, -10, 16, 23, -6, 9, 37, 35, 37, 14, -5, -2, 54, -16, 32, -19, 6, 24, -2, 56, - 32, 2, 7, -8, 14, 6, -23, -38, - 11, 5, -46, -36, -8, 15, 29, 20, - 25, 33, -10, -75, -17, -0, -24, -17, + 32, 2, 7, -7, 14, 5, -23, -38, + 11, 5, -46, -36, -8, 14, 29, 20, + 25, 33, -10, -75, -17, 0, -24, -17, ], [ - -19, -8, -34, -4, 30, -30, 32, -3, + -19, -9, -34, -4, 30, -30, 33, -3, 6, -7, 41, 6, 2, 10, 5, 4, - 16, 10, 36, -23, -14, -3, 5, -3, + 16, 10, 36, -23, -14, -2, 5, -3, 56, 35, 6, 17, -35, 26, 19, -6, -15, -10, -14, -26, 16, 26, 61, -10, -3, 13, -17, 23, -84, -62, -13, 4, - -30, -5, -5, 1, -19, 22, 17, -22, - 6, 18, 20, -96, -9, 30, 3, 8, + -30, -5, -6, 1, -19, 22, 17, -22, + 7, 18, 20, -96, -9, 30, 3, 8, ], [ - -22, -14, 7, 0, -31, -20, -7, 0, + -22, -14, 7, -0, -31, -21, -7, 0, 21, -38, -7, 28, -18, 20, 6, 13, -19, 50, -21, -13, -16, 34, 14, 52, - -10, -12, 33, 2, -2, 4, -18, 45, - 9, -26, 37, -3, 12, 7, 3, -22, + -10, -12, 32, 2, -2, 4, -18, 45, + 9, -26, 37, -4, 12, 7, 3, -22, 1, -12, -20, -11, -29, -5, 25, 34, 5, -40, 29, -34, -32, 18, -6, 40, - -33, 30, -7, -68, -20, 18, 12, 27, + -32, 30, -7, -67, -20, 18, 12, 27, ], [ -61, -13, -20, -5, 12, -7, -35, -26, - -51, 35, -3, -1, 14, 37, 48, -4, - -3, 4, 40, -21, 5, 26, -20, 5, + -51, 35, -3, -2, 14, 37, 47, -4, + -3, 4, 40, -21, 5, 26, -21, 5, 11, 2, -5, 2, 9, 16, 32, 12, -5, 0, -17, -5, 22, 53, -40, -15, -30, 10, 4, 18, 0, -34, 38, 10, @@ -2482,21 +2482,21 @@ internal static class TunableEvalParameters 10, 19, 12, 44, -21, 18, -39, 29, -28, -38, -14, -18, 12, 42, -30, -13, 1, 17, -0, 1, -5, 37, 18, -14, - -40, 42, 6, -2, -25, -4, 47, -11, - -72, 5, 17, 20, 24, 69, -24, 1, - 2, -22, -6, 4, -11, 6, -14, -5, - 30, 16, -36, -20, 28, -8, 5, -27, - -35, -10, -5, -29, 13, 33, -3, 0, + -40, 42, 6, -2, -24, -4, 48, -11, + -72, 6, 17, 20, 24, 69, -24, 1, + 2, -22, -5, 4, -11, 5, -14, -5, + 30, 16, -36, -20, 28, -8, 5, -26, + -35, -10, -5, -30, 13, 33, -3, 0, ], [ 40, -21, -40, 10, 50, -2, 26, -27, -53, 8, -0, 38, 20, -10, 9, -4, -22, 34, 18, -25, -2, 48, 4, 21, - 5, -6, 16, 10, 23, 40, 14, 50, + 5, -6, 16, 10, 22, 40, 14, 50, -50, -11, 0, 14, 70, 6, 6, 12, - -34, -41, -13, 26, 59, -32, 33, -21, - 5, -9, 5, -55, -30, -13, 4, 28, - -72, 13, -30, -51, -62, 9, -11, -22, + -34, -41, -13, 25, 59, -32, 33, -21, + 5, -9, 5, -55, -31, -13, 4, 28, + -72, 13, -30, -52, -61, 9, -11, -22, ], ]; @@ -2504,172 +2504,172 @@ internal static class TunableEvalParameters [ [ -10, -40, 34, 50, -74, -32, -13, -5, - -33, 6, -1, 23, -12, -3, -54, 10, + -33, 6, -0, 22, -12, -3, -54, 10, -12, -40, 3, 63, -11, -25, -37, -43, - 30, 18, 33, -2, 32, -1, 20, 26, - 2, -9, 30, 18, 13, 20, -8, 38, - 14, 17, 17, 9, 9, 7, -1, 64, - -75, -43, 7, 15, 12, -5, 20, 65, - -107, 5, -32, -3, -17, -65, 24, 57, - ], - [ - -24, 21, -36, 5, -46, -11, -5, 62, - 36, -30, 6, 26, 19, -22, 22, 4, - -14, 30, 52, -4, 26, -35, 1, -1, - 45, 67, 1, 32, 61, -2, 35, -28, - -19, 34, 32, 37, -6, 5, 4, 6, - -16, -6, 34, 12, -9, 11, -1, -21, - -9, -41, -23, -5, 4, -19, -25, 20, - 26, -218, -44, -31, -16, -8, -2, 2, - ], - [ - 30, 6, 32, 50, -5, -11, 11, -29, - 6, 41, 48, 22, 45, -26, -6, 20, - 67, -2, 74, -21, 38, 23, -21, -20, - 51, 42, 67, 38, 46, -3, 8, -4, - 26, 32, -4, 14, -16, -15, -16, -11, - -37, 16, 7, 21, -15, 25, -5, 17, - -30, -39, -42, -11, -1, -13, -8, 4, - -34, -101, -232, -67, -4, -40, -9, -27, - ], - [ - -8, 52, 15, -26, -21, -8, 51, -47, - -28, 75, 72, 43, -11, 57, 24, -11, - -49, 33, 100, 0, 36, 25, 2, 1, - -37, 22, 18, 31, 1, 3, -6, -6, - 32, 9, 18, 14, 16, 61, -34, 6, - -18, 6, 15, 9, 3, -3, -13, 11, - -33, -39, -22, -29, -6, -27, 2, -34, - 19, -34, -71, -157, -61, -55, 5, 6, - ], - [ - 47, 49, 46, -14, 36, -45, 28, 5, - -11, 27, 25, 48, 17, 21, 17, 22, - 19, 38, 31, 50, 54, 34, 5, 4, - -17, -15, 29, 66, 83, 24, 13, 35, - -21, -10, 17, 61, 36, 26, 35, -41, - -16, -25, 2, 20, 29, -2, -40, 7, - -40, -60, -57, -27, -35, -15, -80, -3, - -7, -57, -49, -40, -232, -66, -29, -52, - ], - [ - 21, 12, -31, -17, 2, -15, 6, -25, - -38, -24, -14, 13, 49, 24, -9, 0, - 20, -29, -10, 22, -14, -26, 1, 21, - -20, 38, 27, 15, 19, 6, 55, 20, - -25, 9, 13, 38, 48, 20, 53, 11, - 17, -12, -1, 21, 40, 35, 14, 10, - -28, 11, 18, 33, 5, -39, 1, -38, - -39, -28, -16, -23, -24, -217, -40, 36, - ], - [ - 17, -12, -37, -38, 16, 1, -32, 34, - 2, -8, -2, 7, 29, 26, 15, -4, - -6, -0, 2, 11, 25, 33, 50, 29, + 30, 18, 34, -2, 32, -1, 20, 26, + 2, -8, 30, 19, 13, 20, -8, 38, + 14, 18, 18, 10, 11, 7, -0, 65, + -75, -43, 8, 16, 12, -4, 20, 65, + -106, 5, -36, -4, -19, -68, 22, 58, + ], + [ + -24, 21, -35, 6, -45, -10, -5, 63, + 36, -31, 6, 27, 19, -22, 22, 4, + -13, 31, 53, -4, 26, -35, 1, -1, + 45, 67, 2, 32, 61, -2, 35, -28, + -19, 34, 32, 37, -5, 5, 4, 6, + -16, -6, 34, 12, -9, 11, -2, -21, + -9, -42, -24, -5, 3, -19, -25, 20, + 25, -218, -43, -34, -18, -10, -1, 2, + ], + [ + 30, 7, 32, 51, -4, -11, 12, -28, + 5, 41, 48, 23, 46, -25, -6, 20, + 66, -2, 74, -21, 38, 23, -21, -20, + 52, 42, 68, 38, 47, -2, 8, -3, + 25, 31, -4, 15, -16, -15, -15, -11, + -38, 16, 7, 21, -15, 25, -5, 18, + -31, -40, -43, -11, -2, -13, -8, 4, + -35, -100, -232, -67, -8, -44, -11, -27, + ], + [ + -9, 53, 15, -26, -20, -6, 52, -47, + -28, 74, 73, 43, -11, 57, 25, -9, + -49, 34, 100, 2, 36, 25, 2, 2, + -38, 22, 18, 31, 1, 3, -6, -6, + 31, 9, 18, 14, 16, 61, -34, 6, + -19, 5, 15, 8, 3, -3, -13, 12, + -34, -39, -23, -29, -6, -26, 3, -34, + 17, -35, -71, -156, -61, -57, 3, 7, + ], + [ + 46, 48, 47, -13, 37, -44, 27, 4, + -11, 28, 24, 48, 16, 22, 17, 22, + 20, 38, 31, 50, 54, 35, 3, 5, + -17, -15, 28, 66, 83, 24, 12, 35, + -20, -11, 16, 61, 35, 25, 35, -39, + -17, -26, 1, 20, 27, -1, -40, 9, + -39, -62, -58, -27, -34, -16, -81, -2, + -3, -59, -48, -37, -232, -65, -31, -52, + ], + [ + 22, 11, -31, -17, 1, -15, 7, -25, + -38, -24, -14, 14, 49, 24, -9, 1, + 20, -29, -9, 23, -14, -26, 1, 22, + -20, 38, 27, 15, 19, 6, 56, 19, + -25, 9, 13, 37, 48, 20, 53, 11, + 18, -13, -1, 21, 40, 35, 14, 9, + -28, 11, 18, 32, 4, -39, 2, -38, + -40, -27, -15, -23, -23, -217, -38, 34, + ], + [ + 17, -12, -37, -38, 16, 1, -32, 33, + 3, -8, -3, 7, 29, 26, 15, -4, + -6, -0, 2, 11, 25, 32, 50, 28, 1, -4, 10, 15, 33, 15, 53, 16, - 15, 4, 5, 9, 16, 22, 22, 20, - -0, 3, 2, -2, 2, 12, 4, -20, - -3, 15, 8, 9, 9, -34, -45, 10, - 22, 9, 5, 12, -6, -34, -399, 10, + 15, 4, 5, 8, 16, 21, 22, 20, + -1, 2, 2, -3, 2, 11, 4, -20, + -3, 15, 8, 8, 9, -34, -45, 10, + 22, 11, 7, 13, -4, -32, -399, 12, ], [ 20, 30, 21, 11, 40, -1, -24, -29, -37, -39, -20, -30, 17, 1, 3, -60, - -12, -20, -26, 15, 17, 70, -24, 44, - 25, 12, 14, 3, 34, 1, 14, -1, + -12, -20, -26, 15, 16, 70, -24, 44, + 24, 12, 14, 3, 34, 1, 13, -1, -15, 4, 49, 9, -15, 63, -4, 13, - 13, -15, 4, -20, 15, 8, 13, -18, + 13, -15, 4, -20, 15, 7, 13, -19, 2, 16, 13, 49, 26, 20, -39, -68, - 32, -6, 6, 14, 1, -11, -29, -200, + 33, -5, 7, 14, 2, -9, -27, -200, ], [ 14, -62, -12, 3, -37, -25, -83, -5, - 5, 22, 19, -2, 34, -16, -19, -20, - 16, 25, 22, 31, -13, 18, -10, 49, - 2, 39, 48, 34, 9, 16, -2, 30, + 5, 22, 19, -2, 35, -17, -18, -19, + 16, 26, 22, 31, -13, 18, -10, 49, + 2, 39, 48, 34, 9, 17, -2, 30, 49, 21, 35, 19, 53, 10, 25, -18, - -38, -1, 8, 57, -2, 14, 14, 37, - -60, -26, -23, -4, 0, 21, 26, -26, - -42, -148, -85, -41, -4, -14, 1, 6, + -38, -1, 9, 58, -2, 15, 15, 38, + -60, -26, -23, -3, 0, 21, 27, -25, + -41, -149, -88, -43, -6, -16, -0, 7, ], [ - 52, -6, -4, 57, 13, -56, -34, -44, - -6, 11, -21, 16, 37, -51, -38, 47, - -42, 5, -17, 7, -0, -5, -42, -20, - 29, 49, 22, 56, 14, 24, 14, 4, - 7, 31, 47, 22, 41, 3, 1, 36, - -1, 8, 45, 33, 17, 9, 43, 23, - 22, -9, -19, 13, -5, -19, -9, -19, - -51, -80, -26, -104, -44, -52, -19, -14, + 52, -6, -4, 57, 13, -56, -33, -44, + -5, 11, -21, 16, 37, -51, -37, 47, + -41, 5, -16, 7, -0, -5, -42, -20, + 30, 49, 23, 56, 14, 24, 14, 4, + 8, 31, 47, 23, 41, 3, 1, 35, + -0, 9, 45, 33, 17, 10, 44, 23, + 21, -9, -19, 13, -5, -18, -8, -20, + -51, -80, -27, -107, -46, -53, -21, -14, ], [ - -10, 28, 19, -37, 8, 16, 18, 52, - 3, 57, 67, -7, 39, -23, -57, -3, - 25, 56, 23, 14, 21, 9, -23, 14, - 12, 3, 54, 65, 21, 29, 16, -16, - -2, -2, 17, 29, 15, 27, 3, 10, - -49, -22, 5, 7, 17, 17, -18, -3, - 20, -80, -20, -58, -18, -14, -44, 5, - -38, -41, -46, -81, -77, -54, 15, -12, + -11, 29, 20, -37, 8, 16, 19, 53, + 4, 58, 68, -6, 39, -23, -56, -3, + 26, 56, 24, 14, 21, 9, -23, 14, + 13, 3, 54, 65, 21, 29, 17, -15, + -2, -2, 17, 30, 15, 28, 4, 10, + -49, -21, 5, 7, 17, 17, -18, -3, + 20, -79, -20, -58, -19, -14, -44, 4, + -39, -43, -48, -84, -79, -57, 12, -13, ], [ - 67, 32, 71, 51, -17, 36, -1, 9, + 68, 32, 71, 51, -17, 36, -1, 9, -14, -3, 8, 21, 47, -2, -56, -17, - 17, -25, -5, 54, -4, -5, -31, -41, - 23, 3, 10, 31, 26, 53, -9, 2, - 39, 38, 5, 29, 50, 14, 39, 4, - 3, -15, 20, -8, 21, 22, -17, -76, - -7, 36, -11, -39, 2, -21, -3, -69, - 9, -42, -41, -57, -110, -23, -75, -49, + 17, -25, -5, 55, -4, -5, -31, -40, + 23, 3, 9, 31, 26, 53, -9, 2, + 40, 38, 6, 29, 50, 14, 39, 4, + 3, -15, 20, -8, 22, 22, -17, -75, + -7, 37, -10, -38, 3, -21, -3, -69, + 9, -44, -44, -59, -110, -24, -75, -49, ], [ - 34, 19, 37, 5, 40, -50, -41, -12, - -2, -31, -17, 23, 59, -42, -35, -12, - 14, -31, 13, -28, -25, -50, -19, -18, - 4, 21, 1, 16, -10, 40, 14, 15, - 2, 17, 16, 12, 8, 19, 16, 44, - 17, -3, 23, 4, -12, 8, 2, 19, - -33, 2, -9, -9, -6, 13, -38, 24, - -2, -8, -37, -43, -11, 32, -38, 40, + 34, 18, 37, 5, 40, -49, -41, -12, + -2, -31, -16, 23, 59, -42, -35, -12, + 14, -31, 14, -29, -25, -51, -19, -18, + 4, 20, 1, 16, -10, 40, 14, 15, + 1, 17, 16, 12, 8, 19, 15, 44, + 17, -3, 23, 3, -12, 9, 2, 19, + -33, 2, -9, -9, -7, 13, -38, 24, + -2, -8, -37, -42, -11, 32, -38, 39, ], [ - 2, -10, -38, -35, -8, 48, -28, 14, + 2, -10, -38, -35, -8, 47, -29, 14, 20, -16, -43, -12, -19, -7, -0, -40, - 11, -22, -23, 9, -14, -16, -10, -15, - 9, 1, -17, 4, 0, 12, 22, 12, + 10, -22, -23, 9, -14, -16, -10, -16, + 8, 1, -17, 4, 0, 12, 21, 13, -6, 18, 17, 8, 12, 23, 24, 53, - -21, 22, -5, 7, 27, 1, -1, 44, - -14, 23, 3, 20, 9, -35, -25, -27, - 35, 11, 16, -9, -15, -12, -29, 39, + -21, 22, -5, 7, 27, 1, -1, 45, + -14, 23, 3, 20, 9, -35, -25, -28, + 35, 11, 17, -9, -14, -11, -29, 40, ], [ - 6, -15, -14, -4, 5, -21, -44, -26, - 8, -4, -5, -28, -32, -65, -75, -54, - -4, 7, -19, -19, -0, -31, -21, -8, - 28, 38, 34, 8, -7, 33, 18, 25, + 7, -15, -14, -4, 5, -21, -44, -26, + 8, -4, -6, -28, -32, -65, -75, -54, + -4, 6, -19, -19, -0, -31, -21, -8, + 28, 37, 34, 7, -7, 33, 18, 26, 9, 36, 16, 36, 27, 25, 18, 21, - -1, 15, 6, 13, 21, 7, -2, -2, - 42, 31, 10, 26, 20, -22, -35, -43, - 20, 9, -2, -9, 25, -5, 5, -36, + -2, 15, 6, 13, 20, 7, -2, -2, + 42, 31, 10, 25, 20, -22, -35, -43, + 20, 10, -1, -9, 26, -4, 6, -35, ], [ -52, -52, -17, -7, -7, 17, -41, -41, - -2, -23, 1, 19, -2, 3, -41, -64, - 14, 5, 15, 14, -16, 34, -10, -80, + -2, -23, 1, 20, -2, 3, -41, -64, + 14, 5, 14, 14, -16, 34, -10, -81, 69, 46, 37, 57, -13, 24, -15, 8, -0, 38, 14, 34, 94, 63, 17, -32, - -15, 6, 33, -11, 46, 19, 45, 27, - -36, -2, -41, 18, -11, 33, -21, -34, - -59, -34, 23, 39, -15, -22, 6, -98, + -15, 6, 34, -11, 46, 19, 45, 27, + -36, -1, -40, 17, -11, 33, -21, -34, + -59, -34, 22, 37, -16, -22, 5, -98, ], [ -22, -50, -6, -15, -18, 5, -68, -22, -8, -13, -1, 3, -50, -53, -15, -9, - 43, 32, 20, 26, 5, -15, 25, -32, + 43, 32, 20, 26, 6, -15, 25, -32, 31, 41, 61, 30, -7, -2, -8, -31, 34, 49, 19, 21, 25, -1, 66, 21, -14, -21, 15, 12, 64, -30, -35, -21, - -5, -49, 57, 33, -13, 5, 28, -18, + -4, -49, 57, 33, -13, 5, 28, -18, -6, -10, 6, -28, -1, -40, 5, -46, ], [ @@ -2677,18 +2677,18 @@ internal static class TunableEvalParameters 18, -20, -5, 7, -25, 5, -60, -37, 0, 48, -4, 1, 1, -25, -20, -19, 14, 28, 72, 40, 7, 18, -16, -35, - 63, -7, 65, 60, 29, -29, 13, 37, + 63, -7, 65, 61, 29, -29, 13, 37, 29, 41, -10, 59, 24, 0, 1, -40, - -3, -4, -49, -50, -1, 13, -1, 13, + -3, -4, -49, -51, -1, 12, -1, 13, -19, 20, -20, 37, -29, -22, -13, 4, ], [ -32, -12, -14, -71, -35, -43, -35, -14, - 25, -5, 9, 64, 9, -35, -19, -10, + 25, -6, 9, 64, 9, -35, -19, -10, 31, 7, 38, -11, -33, 29, 3, -52, 34, 6, 42, 6, 46, 40, -0, 7, -9, 26, 5, 11, 41, 16, 46, -1, - 18, 85, -19, -0, -25, -21, -11, -35, + 18, 84, -19, -0, -25, -21, -11, -35, -31, -4, -22, -5, 26, -12, -3, -4, 16, -21, 39, -21, -19, 11, -27, -24, ], @@ -2699,16 +2699,16 @@ internal static class TunableEvalParameters 20, -29, 56, 7, 20, 10, 12, 31, 57, -36, 28, 6, 14, 44, 23, 16, -13, 23, -24, -16, -17, -12, 22, 50, - 10, -34, 21, -61, -11, 39, -16, 36, - -6, 43, -16, -24, -47, 26, -47, 51, + 10, -34, 21, -61, -10, 39, -16, 36, + -6, 43, -17, -25, -47, 26, -47, 51, ], [ -21, -32, -44, 6, -18, -65, 19, -54, -22, 32, 6, -7, 17, 3, -13, -36, -10, -53, 7, -13, 31, 15, -40, 12, - 23, -15, -15, 31, 38, -12, 38, 34, + 24, -15, -15, 31, 38, -12, 38, 34, -17, -41, 52, 29, 2, 37, -20, -13, - 6, 15, 3, 27, 57, 19, 43, 21, + 6, 15, 3, 26, 57, 19, 43, 21, 5, 54, 12, 24, -21, -40, -6, 27, -40, -43, -54, -41, 45, -26, 33, 9, ], @@ -2716,20 +2716,20 @@ internal static class TunableEvalParameters 6, 21, -20, 27, -27, -1, -37, -21, -33, -34, 13, -9, -19, 14, -22, -0, 15, -4, -3, -7, -6, 15, 13, -1, - -23, 6, 30, 5, 46, 27, 20, 1, - -18, 23, -44, 39, 14, 47, 35, 18, + -23, 6, 30, 5, 47, 27, 20, 2, + -18, 23, -44, 39, 14, 47, 34, 18, 30, -51, 6, -13, 9, 4, -24, 4, 13, -12, -36, -21, 28, 21, 25, -12, -64, -9, -9, -24, -17, 62, -38, 26, ], [ 55, -5, 18, 12, 25, -43, -60, -89, - -28, -2, 22, -31, -52, 16, 31, -22, - 2, 49, 6, -8, -9, -9, -1, -32, + -29, -2, 22, -31, -52, 16, 31, -22, + 2, 49, 6, -9, -9, -9, -1, -32, -4, 29, 10, 15, -26, 45, 36, 40, - -55, 20, 7, 43, 56, 7, 16, 23, + -55, 20, 7, 43, 57, 7, 16, 23, 5, -5, 37, -31, 90, -21, 15, -38, - -12, -11, 31, -7, -8, 6, -6, 45, + -12, -12, 31, -7, -8, 6, -6, 45, -69, 30, -21, -40, -33, 19, -24, -56, ], ]; @@ -2754,7 +2754,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 43, 0, 0, 0, 0, 0, 0, + 0, 44, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, @@ -2804,7 +2804,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 27, 0, + 0, 0, 0, 0, 0, 0, 28, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, @@ -2814,7 +2814,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 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, -4, ], [ 0, 0, 0, 0, 0, 0, 0, 0, @@ -2832,8 +2832,8 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 0, 0, 0, 0, - 0, 0, 31, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -2843,7 +2843,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -51, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 0, + 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -2887,7 +2887,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, ], [ - -28, 0, 0, 0, 0, 0, 0, 0, + -27, 0, 0, 0, 0, 0, 0, 0, -28, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, @@ -2899,7 +2899,7 @@ internal static class TunableEvalParameters [ 0, 10, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, - 0, 18, 0, 0, 0, 0, 0, 0, + 0, 17, 0, 0, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2918,7 +2918,7 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, -132, 0, 0, 0, 0, - 0, 0, 0, -20, 0, 0, 0, 0, + 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, 0, -120, 0, 0, 0, 0, 0, 0, 0, -141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2947,7 +2947,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, ], [ - 0, 0, 0, 0, 0, 0, -37, 0, + 0, 0, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, -42, 0, @@ -3057,7 +3057,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -10, 0, 0, 0, 0, 0, 0, - 0, -24, 0, 0, 0, 0, 0, 0, + 0, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -3067,7 +3067,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, - 0, 0, -20, 0, 0, 0, 0, 0, + 0, 0, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -3087,7 +3087,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, - 0, 0, 0, 0, -10, 0, 0, 0, + 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -3107,7 +3107,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, -7, 0, + 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -3117,7 +3117,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, -2, - 0, 0, 0, 0, 0, 0, 0, -22, + 0, 0, 0, 0, 0, 0, 0, -23, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -3142,8 +3142,8 @@ internal static class TunableEvalParameters ], [ 0, 0, -29, 0, 0, 0, 0, 0, - 0, 0, -8, 0, 0, 0, 0, 0, - 0, 0, -2, 0, 0, 0, 0, 0, + 0, 0, -7, 0, 0, 0, 0, 0, + 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3154,7 +3154,7 @@ internal static class TunableEvalParameters 0, 0, 0, -14, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3162,7 +3162,7 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, -27, 0, 0, 0, - 0, 0, 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3172,7 +3172,7 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, 0, -3, 0, 0, - 0, 0, 0, 0, 0, 6, 0, 0, + 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3181,7 +3181,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, ], [ - 0, 0, 0, 0, 0, 0, -15, 0, + 0, 0, 0, 0, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, -14, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, 0, 0, 0, 0, -14, 0, @@ -3206,148 +3206,148 @@ internal static class TunableEvalParameters [ [ 0, 0, 0, 0, 0, 0, 0, 0, - -127, 50, 4, -0, -23, -13, -46, -36, - -12, 90, 56, 34, 52, 18, 4, 10, + -126, 50, 4, -1, -23, -13, -45, -36, + -13, 90, 56, 34, 52, 17, 4, 10, -15, 13, 26, 20, 14, -5, -9, 7, - -11, -1, 7, -2, 2, -12, -8, -6, - -27, -10, -8, 9, 2, -11, 9, 8, - -22, -16, -4, -10, -9, 1, 3, -1, + -10, -0, 7, -2, 2, -12, -7, -6, + -26, -10, -8, 9, 2, -11, 9, 8, + -22, -16, -3, -10, -9, 1, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -42, -133, -114, 4, 14, -16, 38, -27, - 25, 18, 62, 42, 38, 19, 18, 5, - -5, -33, 31, 23, 20, 13, 5, 18, - -11, -13, 11, 10, 9, 1, 2, 1, - -29, -21, -6, 3, 4, 3, 16, 11, - -23, -19, -5, -14, -10, 11, 30, 15, + -42, -133, -114, 4, 14, -16, 38, -28, + 25, 17, 61, 42, 37, 18, 17, 5, + -5, -32, 31, 23, 20, 13, 5, 18, + -11, -13, 11, 10, 9, 1, 2, 2, + -29, -21, -6, 3, 4, 3, 17, 12, + -23, -19, -4, -14, -9, 11, 30, 15, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 27, -125, -35, -71, 1, -42, -9, -19, - 11, 37, 58, 46, 55, 10, -7, 14, + 27, -124, -35, -71, 1, -43, -10, -19, + 10, 37, 57, 45, 54, 9, -8, 14, -3, -5, -1, 37, 24, 8, 11, 8, - -14, -10, -4, 20, 15, 1, -7, 3, - -28, -24, -10, 5, 8, 1, 18, 10, - -17, -24, -9, -10, -3, 8, 30, 13, + -14, -10, -4, 20, 15, 1, -7, 4, + -28, -24, -10, 6, 8, 1, 19, 10, + -17, -23, -9, -9, -3, 8, 30, 13, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -26, 23, -24, -32, -22, -81, 3, -31, - -2, 23, 58, 50, 54, 16, 2, -4, - 7, -12, 21, -13, 25, 7, 8, 14, - -8, -11, 6, 1, 14, 4, -0, -0, + -25, 24, -24, -33, -22, -81, 3, -32, + -2, 23, 59, 51, 54, 16, 1, -5, + 8, -12, 20, -13, 25, 7, 8, 14, + -8, -10, 6, 1, 14, 4, -0, -0, -20, -13, -9, -9, -4, 1, 9, 2, - -15, -4, -5, -23, -6, 6, 21, 0, + -15, -4, -5, -23, -5, 6, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -41, -29, 10, -62, -11, -58, -37, -1, - 9, 15, 10, 32, 46, 39, 34, 26, - -8, -2, 6, 12, -0, 12, 1, 13, - -14, -6, 4, 10, 4, 9, -5, -0, - -25, -1, -1, -2, -6, -6, 13, 3, - -12, 5, 4, -3, -13, 5, 18, 4, + -42, -28, 10, -61, -11, -58, -36, -0, + 9, 15, 10, 32, 46, 39, 36, 25, + -8, -2, 6, 13, 0, 13, 1, 12, + -15, -6, 5, 10, 4, 8, -4, -2, + -25, -1, -1, -2, -6, -6, 13, 2, + -12, 6, 4, -3, -13, 5, 18, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -83, -16, 13, 23, -38, -27, -85, 15, - -2, -23, 5, 42, 72, 79, 58, 26, - -15, -1, 19, 7, 29, -11, 12, 10, + -84, -16, 12, 24, -38, -26, -85, 15, + -2, -23, 4, 42, 72, 79, 57, 25, + -15, -1, 18, 7, 28, -10, 12, 11, -20, -18, 2, 11, 13, -1, -3, -3, - -27, -14, 2, 2, 1, -7, -0, -4, - -17, -15, -3, -9, -6, 3, 9, -3, + -27, -14, 2, 2, 1, -7, -1, -4, + -17, -15, -3, -9, -6, 3, 9, -4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -29, -24, -0, 36, 28, -24, -112, -99, + -28, -24, 0, 36, 29, -24, -113, -99, -14, -13, -4, 13, 38, 66, 32, 19, -4, 2, 12, 8, 20, 32, -27, -4, -5, -1, 3, 13, 19, 11, -6, -13, - -10, 4, 2, 7, 9, 2, -1, -12, - 1, 12, 7, -6, -4, 8, 10, -4, + -10, 4, 2, 7, 8, 2, -1, -11, + 1, 12, 7, -5, -4, 8, 10, -5, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 17, -22, -58, 25, 25, 41, -22, -173, + 17, -22, -58, 25, 25, 41, -23, -173, -10, -1, 7, -1, 35, 47, 54, -5, - -3, -9, 3, 12, 22, 26, 16, -14, + -3, -9, 3, 12, 22, 26, 17, -14, -7, -10, -3, -1, 4, 9, 14, -16, -11, -4, -3, 3, 7, 8, 14, -12, - -5, -6, 5, -12, -1, 4, 15, -2, + -5, -6, 5, -12, -0, 4, 15, -2, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -21, 10, -11, 10, -92, 16, -48, -40, - 36, 1, 53, 46, 4, 2, -26, -4, - 9, 23, 34, 18, 13, -6, -5, -0, + -21, 10, -11, 9, -92, 16, -48, -40, + 36, 1, 53, 46, 3, 1, -26, -3, + 9, 23, 34, 18, 13, -6, -5, 0, 2, 2, 16, 6, -3, -3, -1, -4, - -8, -18, 7, -1, 1, -7, 10, 5, - -6, -14, 0, -10, -10, 1, 8, 4, + -7, -18, 7, -1, 2, -7, 10, 5, + -6, -14, 1, -10, -10, 1, 9, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 2, 32, 7, -40, -29, -35, -71, -39, + 3, 33, 7, -40, -30, -35, -71, -39, 35, 77, 64, 84, 37, -14, -2, -18, 8, 5, 26, 22, 23, 5, 5, -14, -6, -1, -3, 8, 7, -8, -11, -6, - -26, -20, -8, 3, -4, -6, -3, -5, + -26, -19, -8, 3, -4, -6, -3, -5, -22, -22, -4, -24, -9, 3, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -57, 16, 11, 42, 26, -19, -62, -22, - -0, 35, 60, 65, 60, 35, 16, -32, + -56, 16, 11, 42, 26, -19, -63, -22, + -0, 36, 61, 65, 60, 35, 16, -32, -6, 7, 17, 29, 14, 10, 7, -7, - -30, -12, -1, -6, 13, -8, -10, -7, - -31, -27, -5, -14, 3, -11, -5, -17, - -29, -21, -13, -11, -3, 1, 4, -7, + -29, -12, -1, -6, 13, -8, -10, -6, + -31, -27, -4, -14, 3, -11, -5, -17, + -29, -21, -13, -11, -3, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -36, 7, 8, 27, -1, -56, -17, -28, - -16, -18, 30, 57, 69, 80, 48, 4, - -20, -0, 21, 19, 35, 17, 19, 7, + -36, 7, 9, 26, -1, -57, -17, -28, + -15, -18, 30, 57, 69, 80, 48, 4, + -20, -0, 21, 18, 35, 17, 19, 7, -28, -16, -3, 3, -4, 4, -3, -13, - -40, -15, -16, -2, -11, -1, -3, -9, - -34, -20, -11, -12, -11, 1, 3, -15, + -39, -15, -16, -2, -11, -1, -3, -9, + -34, -20, -11, -11, -10, 1, 3, -16, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -50, 46, -76, -2, -59, -48, 32, 16, + -50, 46, -76, -2, -59, -47, 33, 16, -18, -1, 2, 57, 19, 63, 86, 35, - -19, -9, 7, 8, 25, 34, 8, 18, + -19, -9, 7, 7, 24, 34, 8, 18, -25, -16, -7, 2, 14, -4, 2, 0, -30, -14, -6, -6, 6, -11, -1, -6, - -25, -10, -4, -14, -13, -0, 3, -7, + -25, -10, -4, -13, -13, -1, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -17, -8, -52, -42, -10, 20, -54, 24, + -17, -8, -52, -42, -10, 21, -54, 23, -9, 2, -11, -8, 41, 71, -18, 63, - -20, -4, 4, 4, 29, 31, 22, 11, + -20, -5, 4, 4, 29, 31, 22, 11, -21, -17, -3, -4, 7, 14, 4, 3, -24, -9, -8, 1, 3, 10, 6, 0, - -13, -12, 0, -9, -11, 7, 16, -6, + -13, -12, 0, -9, -10, 7, 16, -7, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -18, -34, -7, -33, -49, 58, -41, -10, - -3, -7, -15, -24, 9, 55, 113, -76, + -18, -34, -7, -33, -49, 59, -41, -10, + -3, -6, -15, -23, 9, 55, 112, -76, -2, -2, 1, 9, 26, 29, 8, -11, -11, -4, 1, 3, 3, 16, 7, -6, -16, -3, -0, -3, 13, 13, 12, -7, @@ -3356,78 +3356,78 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 47, 29, -84, 31, 39, 4, -92, -33, - -6, 107, 25, 26, -27, 7, -16, 12, - 1, -9, 32, 15, -4, 14, -14, -38, - -11, 49, 21, 26, 5, 0, -36, -29, - -9, -10, 16, -16, -11, -6, -14, -36, - 4, -8, 8, -6, 7, -0, 13, -29, + 47, 29, -84, 30, 38, 4, -92, -33, + -6, 107, 26, 26, -27, 6, -16, 11, + 1, -9, 32, 15, -3, 14, -14, -38, + -11, 49, 21, 26, 6, 0, -36, -29, + -9, -10, 16, -16, -10, -6, -14, -35, + 3, -8, 8, -6, 8, -0, 13, -30, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -41, 25, -1, 20, 27, 13, 8, -2, - 49, 2, -28, 72, 45, 9, -12, -24, - 7, -52, -26, -39, -6, -3, 28, -61, - -7, -36, 0, 18, 24, -9, -10, -71, + 49, 2, -28, 72, 45, 9, -12, -25, + 7, -52, -26, -39, -6, -4, 28, -61, + -6, -36, 0, 19, 24, -9, -10, -71, 59, -34, 9, -30, 20, 42, -40, -36, - -36, 53, 45, 56, 53, 0, -18, -61, + -36, 53, 45, 56, 53, -0, -18, -61, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 20, 21, -31, 1, 60, 29, 38, -46, - -15, -47, 25, -3, 56, 90, -21, -49, + 20, 21, -31, 1, 61, 29, 38, -47, + -15, -46, 25, -3, 55, 90, -21, -49, -45, -11, -36, -19, 35, 108, 10, -29, - -40, 26, 7, -10, 25, 39, -3, -53, - -19, -0, -42, -18, -32, 36, -31, -9, - -30, -21, -9, 34, -3, 42, 15, -44, + -40, 26, 6, -11, 25, 39, -3, -53, + -19, -0, -42, -18, -32, 36, -30, -9, + -30, -21, -9, 35, -3, 41, 15, -45, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -54, 45, 30, 48, 22, 46, 58, -12, - -30, -16, 45, 43, 54, 38, 20, -7, - -31, 15, -38, -48, -36, 77, 10, 3, - -54, -57, -4, -73, 17, 28, -19, -26, + -30, -16, 45, 44, 54, 38, 20, -7, + -31, 15, -38, -48, -37, 77, 10, 3, + -54, -57, -4, -72, 17, 28, -19, -26, -59, -35, -0, -18, 19, -0, -44, -54, -41, -15, 36, -13, 82, 53, 0, -8, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -26, 3, 47, 0, 55, 46, 24, 12, - -39, 26, -0, 53, -26, 21, 75, 27, - -94, 48, 30, -7, -68, -28, 51, -25, - -81, -30, 2, 22, -28, 19, 6, -25, + -26, 3, 47, 0, 55, 46, 24, 11, + -39, 26, 0, 53, -26, 21, 75, 27, + -94, 48, 31, -7, -68, -28, 51, -25, + -81, -30, 2, 23, -28, 19, 6, -25, -61, -38, -22, -16, -84, 37, -2, 30, - -74, 5, -3, 23, 1, 66, 44, 4, + -74, 5, -3, 23, 1, 67, 44, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -20, 22, 13, 75, 0, 6, 14, -11, + -20, 22, 13, 75, 1, 6, 14, -11, -10, 1, 84, 5, -22, -18, 3, 48, -39, 14, -33, 20, -36, -63, -68, -53, -56, -30, 27, -15, -37, -28, 51, 4, - -35, -6, 23, 30, 28, -15, -10, 52, - -88, -52, 3, 20, 76, 56, 73, -2, + -34, -5, 23, 30, 28, -16, -10, 52, + -88, -52, 3, 20, 76, 56, 73, -3, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -40, -53, 36, 57, 49, -28, -27, -17, + -41, -53, 36, 57, 49, -27, -27, -18, -20, 62, 9, 125, 33, 32, -54, 2, - -53, -46, -32, 33, -34, 33, -12, -17, + -53, -46, -32, 33, -34, 33, -12, -18, -55, -54, -61, -9, -25, 23, 22, 8, -78, -53, -13, 33, 15, 7, -19, 35, - -88, -11, -8, 23, 41, 110, 98, 24, + -88, -11, -9, 23, 42, 109, 98, 24, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, -36, -0, 32, 46, 35, -25, 4, -40, - -65, 22, 45, 34, 3, 36, 22, -64, + -65, 22, 45, 35, 3, 36, 23, -64, -92, 53, -0, -19, 30, 52, -19, -58, -22, -22, -44, -2, -14, 69, -15, -22, -6, -30, -35, -12, -36, 11, -78, -14, @@ -3440,8 +3440,8 @@ internal static class TunableEvalParameters [ [ 0, 0, 0, 0, 0, 0, 0, 0, - -164, -215, -0, 15, 30, 17, 56, 33, - -11, -33, -31, 10, 22, 58, 64, 66, + -164, -215, 0, 15, 30, 17, 56, 33, + -11, -32, -31, 10, 22, 58, 65, 67, -16, -11, -20, -11, 5, 29, 33, 33, -14, -11, -5, -6, -2, 12, 22, 27, -7, -7, 3, -10, -7, 5, 1, 2, @@ -3450,67 +3450,67 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -51, -123, -97, -70, -17, 25, 13, 44, - 7, 3, 11, -1, 38, 59, 58, 65, - -11, -3, -21, -14, 7, 18, 29, 32, - -12, -5, -9, -11, -8, 8, 16, 23, - -6, -0, -3, -8, 1, -5, -2, 6, - -10, 4, 9, 9, 12, 0, -7, -5, + -52, -123, -97, -70, -17, 25, 13, 45, + 8, 4, 11, -0, 38, 59, 58, 65, + -10, -3, -21, -14, 6, 18, 30, 32, + -13, -5, -9, -11, -8, 8, 16, 23, + -7, -1, -3, -8, 1, -5, -3, 5, + -10, 4, 9, 8, 11, 0, -7, -5, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -117, -75, -138, -66, -58, 27, 37, 38, - 8, 22, -10, 20, -0, 49, 78, 63, - -11, 3, -19, -11, -11, 23, 30, 45, - -9, 3, -6, -3, -1, 12, 21, 18, + -117, -75, -138, -66, -59, 27, 37, 38, + 9, 22, -9, 20, 0, 49, 78, 63, + -11, 3, -19, -11, -11, 23, 30, 46, + -9, 2, -7, -3, -1, 12, 21, 18, -6, 6, -2, -8, 1, 2, -2, 2, - -6, 12, 11, 13, 11, 8, -6, 7, + -6, 12, 10, 12, 11, 8, -6, 7, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -15, -89, -24, -119, -47, -39, 7, 21, - 37, 11, 9, -13, 7, 22, 61, 63, + -16, -90, -24, -118, -47, -39, 6, 21, + 37, 11, 9, -13, 7, 22, 62, 64, 12, 8, 4, -4, 3, 1, 21, 27, -0, 4, -4, 1, -3, -1, 1, 5, - -4, 0, 1, 5, 5, -1, -8, -3, - 6, 1, -1, 24, 12, -1, -9, 3, + -4, 0, 1, 5, 5, -1, -9, -2, + 6, 1, -1, 24, 12, -1, -9, 2, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 67, 4, -87, -69, -128, -70, -75, 35, - 54, 31, 26, 14, -10, 23, 4, 20, - 39, 23, 22, 10, -5, 7, 9, 11, - 20, 14, -0, 3, 9, -3, 4, -1, - 8, -4, -3, 2, 6, -2, -13, -11, - 5, 0, -7, 10, 14, 1, -6, -2, + 67, 3, -87, -68, -126, -70, -76, 34, + 53, 30, 25, 13, -10, 23, 3, 19, + 39, 23, 22, 10, -5, 7, 9, 12, + 19, 14, -0, 3, 10, -3, 4, 0, + 8, -4, -3, 2, 6, -2, -13, -10, + 6, 1, -6, 10, 14, 2, -5, -1, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 88, 8, -7, -91, -59, -117, -72, -82, - 83, 108, 51, 16, 1, -2, -0, -3, + 88, 8, -6, -91, -59, -117, -72, -83, + 83, 108, 51, 16, 1, -2, 0, -3, 47, 36, 14, -6, -3, -14, -9, -12, 29, 26, 5, -7, -7, -8, -8, -14, 14, 8, -4, 1, -6, -5, -15, -12, - 17, 13, 8, 6, 7, -3, -10, -9, + 17, 13, 8, 6, 6, -3, -10, -9, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 66, 66, 41, -26, -91, -79, -176, -103, - 85, 100, 76, 34, 8, 0, -3, 19, - 35, 29, 18, -1, -11, -25, -6, -13, - 18, 19, 5, -6, -11, -12, -11, -14, + 66, 66, 40, -26, -91, -79, -175, -103, + 86, 100, 76, 34, 7, 0, -3, 20, + 35, 29, 18, -1, -12, -25, -6, -13, + 17, 19, 5, -6, -11, -12, -11, -14, 8, 2, 1, -5, -1, -7, -10, -14, - 5, -2, -2, 8, 6, 3, -6, -17, + 5, -2, -2, 7, 6, 3, -6, -17, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 14, 59, 63, -13, -7, -165, -52, -147, + 14, 59, 63, -13, -7, -165, -52, -146, 80, 110, 88, 91, 63, -9, 8, -15, 33, 32, 18, -2, -10, -30, -17, -22, 12, 13, 3, -2, -17, -21, -27, -22, @@ -3520,42 +3520,42 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -105, -92, -105, -30, 30, 9, 37, 17, + -104, -92, -105, -29, 30, 9, 37, 17, -37, -18, -42, -25, 37, 40, 65, 58, -10, -9, -17, -7, -4, 23, 31, 36, - 5, 2, -2, -1, 2, 6, 14, 18, - 1, 7, -5, 6, 0, 4, -4, 6, + 5, 2, -2, -1, 1, 6, 14, 18, + 1, 7, -5, 6, -0, 4, -4, 6, 5, 13, 3, 17, 3, 7, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -75, -85, -81, -74, -43, 6, 49, 35, + -75, -85, -82, -75, -43, 6, 49, 35, -32, -25, -32, -33, -20, 36, 62, 63, -2, -0, -0, 0, 1, 8, 22, 41, - 2, 10, 2, 10, 1, 6, 13, 20, + 2, 10, 2, 10, 0, 6, 13, 20, 9, 9, 1, 6, 1, 1, 1, 8, 9, 16, 7, 21, 6, 4, 7, 13, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -12, -55, -90, -66, -71, -40, 25, 38, + -12, -56, -90, -66, -71, -40, 25, 38, 15, -28, -44, -34, -20, -10, 23, 54, 8, 1, 7, 6, 8, 6, 13, 31, 9, 8, 14, 16, 10, 6, 10, 14, 7, 12, 7, 15, 6, 7, 2, 8, - 13, 12, 10, 17, 9, 6, 5, 12, + 13, 12, 10, 17, 9, 6, 6, 12, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 8, -7, -50, -81, -45, -52, -47, 12, + 8, -7, -51, -81, -45, -52, -47, 12, 37, 27, -28, -47, -29, -34, -22, 17, - 31, 11, 3, 2, 10, 4, 2, 11, + 32, 11, 3, 2, 10, 4, 2, 11, 20, 13, 6, 17, 17, 10, 8, 11, 14, 6, 6, 12, 13, 6, 2, 6, - 19, 13, 10, 18, 14, 8, 6, 13, + 19, 13, 9, 17, 14, 8, 6, 13, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -3564,38 +3564,38 @@ internal static class TunableEvalParameters 51, 51, 28, -41, -21, -27, -29, -30, 36, 23, 11, 3, -0, -4, 3, -1, 22, 13, 7, 5, 5, 6, 4, 3, - 13, 4, 2, 8, 5, 4, -1, 3, - 15, 7, 4, 13, 12, 6, 3, 8, + 13, 4, 2, 8, 5, 4, -1, 4, + 15, 8, 4, 13, 12, 6, 3, 8, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 1, 22, 68, 28, -44, -109, -9, -123, - 40, 53, 52, 18, -28, -47, -14, -44, + 1, 22, 68, 28, -44, -109, -9, -122, + 41, 53, 52, 18, -28, -47, -14, -44, 35, 29, 19, -2, -6, -17, -3, -9, - 22, 21, 8, 3, -0, -5, -2, -2, + 22, 21, 7, 3, -0, -5, -2, -2, 9, 4, 4, -2, 1, -4, -5, -3, 6, 7, 2, 6, 14, 5, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 5, 24, 29, 38, 24, -89, -122, -105, + 5, 24, 30, 38, 24, -89, -122, -105, 46, 61, 66, 59, 19, -30, -49, -9, 30, 24, 24, 7, -13, -24, -8, -11, 16, 14, 5, 0, -6, -13, -9, -12, 7, 1, -1, 2, -3, -7, -10, -9, - 4, 1, 6, 12, 12, 7, -3, -11, + 4, 1, 6, 12, 12, 7, -3, -12, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -103, -30, -57, -4, 20, 18, 9, -5, + -102, -30, -56, -4, 20, 18, 9, -5, -11, -85, -17, 5, 65, 43, 53, 48, -32, -3, -29, -17, 11, 11, 27, 34, -10, -17, -16, -18, -2, 2, 13, 23, -5, 10, 3, 0, -3, -0, -2, 7, - -6, 20, 13, 7, -0, 9, 3, 20, + -6, 20, 13, 7, -1, 9, 3, 20, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -3603,7 +3603,7 @@ internal static class TunableEvalParameters -42, -31, -31, -27, -7, 9, -12, -2, 5, 6, 13, 14, 13, 39, 42, 31, -19, -2, -8, 5, -2, 10, 4, 16, - -5, -10, -4, -24, -26, -2, -2, 14, + -5, -10, -4, -25, -26, -2, -2, 14, -2, 8, 7, 7, -17, -14, -6, 2, 18, -3, 12, 11, -12, 1, 7, 16, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3611,7 +3611,7 @@ internal static class TunableEvalParameters [ 0, 0, 0, 0, 0, 0, 0, 0, -40, -27, -7, -36, -27, 3, -18, 4, - 16, 8, 8, 9, 6, 15, 50, 45, + 16, 8, 8, 9, 7, 15, 50, 45, -5, -5, -3, 16, -11, -9, 1, 18, -6, -8, -11, 10, -26, -25, -10, 10, -5, -7, 15, 23, -2, -16, -9, -3, @@ -3621,8 +3621,8 @@ internal static class TunableEvalParameters [ 0, 0, 0, 0, 0, 0, 0, 0, -12, -43, -21, 9, -7, -14, -13, 5, - 3, -1, -37, -18, -0, 8, 12, 28, - 3, -15, -4, 4, 14, -16, -7, 4, + 3, -1, -37, -19, -0, 8, 12, 28, + 3, -15, -4, 4, 14, -15, -7, 4, 1, -5, -6, 7, 0, -16, -15, 5, 6, -2, 20, 23, 19, 3, -3, 7, 9, 17, 16, 19, 2, 7, 2, 5, @@ -3630,8 +3630,8 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -1, -10, -24, -9, 3, -12, -25, -20, - 16, -8, 15, -23, 9, -13, -24, -3, + -1, -9, -24, -9, 3, -12, -25, -20, + 16, -8, 15, -23, 9, -13, -24, -4, 17, -14, -16, 6, 22, 13, -25, 4, 6, -9, -7, 0, 4, 2, -14, -0, 6, -5, -3, 21, 37, 19, -5, -6, @@ -3643,7 +3643,7 @@ internal static class TunableEvalParameters -5, 9, -6, -24, -16, 4, -40, -30, 21, 23, 7, 23, 15, 2, -20, -2, 12, 3, 2, -16, 20, 1, -5, -3, - 1, -5, -17, -4, 3, 5, -13, -8, + 0, -5, -17, -4, 3, 5, -13, -8, -7, -9, -14, -9, 30, 24, 9, -8, 8, 5, -0, 9, -1, 9, 3, 13, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3652,7 +3652,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, -17, -20, -23, -1, -22, -20, -21, -16, 25, 13, 38, 33, 37, 7, 21, 12, - 15, 12, 2, -11, 5, -1, -16, 1, + 15, 12, 3, -11, 5, -1, -16, 1, 0, 7, 3, -12, -4, -12, -17, 6, 2, -7, -15, -9, 3, 20, 9, 9, 10, -2, -13, -16, 0, -9, -14, 8, @@ -3661,11 +3661,11 @@ internal static class TunableEvalParameters [ 0, 0, 0, 0, 0, 0, 0, 0, -5, -48, 5, -18, -13, -2, -9, -34, - 14, 11, 9, 19, 16, 4, 3, 1, + 14, 11, 9, 19, 16, 4, 2, 1, 43, 4, 18, 22, -9, -18, -5, 3, - 8, 8, 11, -1, -6, -29, -7, 10, + 8, 8, 11, -1, -6, -29, -7, 9, -2, 3, -0, 4, 9, -3, 23, 1, - 16, 2, 0, -11, -17, -1, -17, -7, + 16, 2, -0, -12, -17, -1, -17, -8, 0, 0, 0, 0, 0, 0, 0, 0, ], ]; @@ -3673,700 +3673,700 @@ internal static class TunableEvalParameters internal static readonly short[][] MiddleGameEnemyKnightTable = [ [ - -97, -77, 52, 28, -4, -104, -34, -64, - 7, -7, 101, 49, 103, 43, -24, -96, - 7, 21, 142, 71, 36, 2, 33, -33, - 25, 75, 33, 70, 44, 15, 23, -43, - 23, 51, 45, 35, 25, 19, 15, -17, - -7, 9, -11, -5, -11, -4, -26, -17, - -25, -24, -4, -1, -4, -23, -25, -36, - -60, -32, -43, -15, -11, -65, -83, -71, - ], - [ - -214, -56, -126, -6, -14, 22, -63, -100, - -46, -19, -15, -31, 50, 24, -4, -53, - -70, 41, 26, 58, 50, 36, 52, -2, - 24, 40, 35, 36, 29, 38, 24, 3, - 10, 7, 36, 24, 47, 32, 29, -3, - 10, 23, 9, 15, 23, 18, -9, -9, - 12, 23, 8, 3, 6, 7, 11, -20, - -3, -9, -9, -3, -3, -14, -13, -27, - ], - [ - -20, -116, -43, -146, -45, -19, -34, -73, - 7, -37, 22, -27, 35, 16, 7, 13, - 25, 9, 42, -126, 69, 40, 28, 25, - 24, 11, 57, 13, 31, 31, 28, 16, - 12, 28, 6, 28, 31, 27, 29, -0, - -3, 13, 1, 16, 16, 16, 2, -14, - -11, 5, 1, 2, 8, 15, 2, -18, - -15, -12, -6, -9, 2, 5, -32, -9, - ], - [ - -39, -78, -143, -33, -145, 5, -102, 44, - -2, -154, -61, -27, 9, -48, 32, 10, - 35, 49, -3, 66, 0, 39, 63, -10, + -97, -77, 51, 28, -4, -106, -35, -63, + 6, -7, 100, 49, 103, 44, -24, -95, + 7, 21, 142, 71, 36, 3, 33, -34, + 25, 75, 34, 71, 44, 16, 23, -42, + 23, 51, 45, 36, 25, 19, 15, -17, + -8, 9, -11, -5, -11, -4, -26, -17, + -25, -23, -4, -1, -4, -23, -25, -36, + -61, -32, -43, -15, -11, -64, -84, -72, + ], + [ + -213, -56, -124, -7, -15, 20, -63, -99, + -47, -19, -16, -33, 50, 23, -4, -54, + -69, 41, 26, 58, 50, 35, 52, -2, + 24, 40, 35, 35, 29, 38, 24, 3, + 10, 7, 36, 23, 47, 32, 29, -3, + 9, 23, 8, 15, 23, 18, -9, -8, + 12, 23, 8, 3, 7, 7, 12, -20, + -2, -9, -7, -2, -2, -13, -13, -26, + ], + [ + -21, -116, -43, -146, -46, -21, -35, -72, + 9, -38, 22, -26, 33, 15, 7, 12, + 24, 9, 43, -126, 68, 39, 28, 25, + 24, 11, 57, 13, 31, 31, 28, 15, + 13, 28, 7, 27, 31, 27, 28, -0, + -3, 13, 2, 16, 16, 16, 2, -14, + -10, 6, 1, 2, 8, 15, 2, -18, + -14, -11, -5, -8, 3, 6, -32, -8, + ], + [ + -40, -77, -142, -33, -144, 5, -104, 47, + -2, -153, -62, -26, 9, -46, 31, 9, + 34, 49, -3, 66, -0, 39, 62, -11, 4, 40, 23, 48, 33, 33, 29, 37, - 19, 17, 12, -1, 49, 28, 32, 21, - -5, 10, 10, 11, 17, 12, 3, 4, - -5, 29, 3, -6, 16, 2, 14, 2, - -10, -18, -3, 9, 5, 4, -26, -14, - ], - [ - -15, -22, -42, -143, -40, -158, 24, -52, - 8, -2, -38, 34, 46, -14, -31, 2, - 51, 39, 8, -137, 63, -79, 41, 18, - 35, 18, 19, 27, 30, 16, 23, 16, - 18, 16, 12, 20, 5, 40, 14, 22, - 1, 6, 3, 8, 17, 7, 10, 15, - -1, 12, 4, 5, 10, 9, 4, 2, - -13, -1, -2, 3, 7, 5, -0, -2, - ], - [ - -17, -12, 11, 12, -117, -38, -196, -121, - 7, 18, 8, -16, -17, 21, -38, -43, - -21, 45, 57, 61, -33, 55, -63, 35, - 14, 36, 10, 22, 24, 57, 37, 40, + 19, 17, 12, -1, 49, 27, 32, 20, + -5, 10, 9, 11, 18, 12, 3, 4, + -4, 29, 4, -6, 16, 2, 14, 3, + -9, -18, -2, 9, 6, 5, -25, -13, + ], + [ + -15, -23, -43, -144, -40, -158, 25, -58, + 6, -2, -36, 34, 46, -15, -34, 2, + 52, 38, 8, -139, 63, -79, 41, 17, + 35, 18, 20, 27, 30, 17, 23, 16, + 19, 17, 12, 21, 6, 40, 15, 22, + 0, 6, 4, 8, 17, 8, 10, 14, + -0, 12, 4, 5, 10, 9, 4, 2, + -12, -1, -2, 4, 7, 6, 1, -2, + ], + [ + -18, -13, 10, 12, -118, -38, -196, -121, + 6, 17, 8, -17, -17, 21, -38, -43, + -21, 45, 56, 60, -33, 56, -63, 35, + 14, 35, 10, 22, 24, 57, 37, 40, 2, 10, 31, 15, 49, 10, 56, 15, - -14, -1, 5, 1, 20, 24, 9, 3, - -27, -12, -7, -7, 15, 6, 22, 4, - -28, -18, -11, 2, 9, -4, -10, -7, + -13, -1, 5, 1, 20, 23, 10, 4, + -27, -12, -7, -7, 15, 7, 22, 5, + -27, -17, -10, 2, 9, -4, -9, -6, ], [ - -120, -135, -44, -47, -23, -181, -47, -126, - -26, 7, 23, 19, -18, 30, 44, -30, - -7, 11, 21, 41, 51, -12, 20, 72, - 11, 26, 40, 29, 19, 38, 26, 21, + -120, -135, -43, -48, -23, -180, -47, -126, + -25, 7, 23, 19, -18, 30, 44, -30, + -7, 11, 21, 41, 51, -13, 20, 73, + 11, 26, 40, 29, 18, 38, 25, 21, 11, 18, 22, 27, 34, 33, 4, 15, - -2, 4, 11, 10, 23, 13, 15, 13, + -3, 3, 11, 10, 23, 13, 15, 13, -12, -4, 5, 6, 11, 22, 8, 15, - -33, 3, -4, 1, 8, 3, -12, -2, + -33, 3, -4, 2, 8, 4, -11, -2, ], [ - -94, -54, -62, 49, 25, 32, -134, -52, - -71, -9, -10, 34, -26, 5, -30, 72, - -10, 3, 14, 75, 60, 78, 25, 18, - -17, 5, 27, 37, 56, 40, 54, 34, + -94, -54, -62, 49, 25, 32, -135, -52, + -70, -9, -10, 34, -26, 5, -30, 72, + -11, 3, 13, 75, 60, 78, 25, 18, + -17, 5, 26, 37, 56, 40, 54, 34, -19, -14, 18, 16, 44, 33, 38, 15, -43, -20, -8, 4, 8, 15, -0, 10, -34, -16, -10, -6, -3, -2, 2, 5, - -39, -35, -44, -25, -3, -10, -31, -23, + -39, -35, -43, -24, -2, -9, -31, -24, ], [ - -227, -37, -14, -4, 10, -46, -143, -24, - -22, -60, 24, 103, 67, 27, -40, -15, - -9, 20, 48, -56, 57, 29, 52, -40, - -61, 38, 43, 51, 55, 37, 9, -11, - 40, 44, 36, 38, 38, 29, 21, 5, - -5, 15, 10, 6, 11, 2, -9, -6, - 11, 1, 7, 16, 9, -2, -25, -35, - -33, -8, -7, -8, 1, -4, -28, -33, + -227, -39, -14, -4, 9, -46, -143, -22, + -22, -60, 24, 102, 67, 27, -39, -15, + -10, 21, 48, -56, 57, 29, 52, -40, + -61, 38, 43, 51, 55, 37, 10, -11, + 40, 44, 36, 38, 38, 30, 21, 5, + -5, 15, 10, 6, 11, 3, -9, -5, + 11, 1, 7, 17, 9, -2, -24, -35, + -34, -9, -6, -8, 0, -5, -28, -34, ], [ - -109, -2, -47, -19, -22, -9, -85, -16, - 31, -30, 2, -15, 27, 19, 8, 0, - -52, -24, 43, 41, -3, 58, 37, 12, - 23, -8, 31, 9, 38, 32, 48, 9, - 17, 22, 12, 48, 47, 22, 13, 8, - -20, 17, -2, 20, 8, -4, -9, -25, - -10, -7, 4, -8, 13, -7, 35, -34, - -31, -10, -5, -13, -19, -21, -51, -38, + -112, -6, -47, -19, -21, -9, -84, -13, + 31, -31, 2, -15, 27, 19, 8, 0, + -52, -24, 44, 42, -3, 58, 36, 13, + 23, -7, 30, 9, 38, 32, 48, 9, + 17, 22, 11, 48, 48, 22, 13, 8, + -20, 17, -2, 20, 9, -3, -9, -24, + -11, -7, 4, -8, 13, -7, 35, -35, + -32, -10, -5, -12, -18, -22, -51, -38, ], [ - -112, -43, -133, 4, -40, -50, -11, 48, - 14, 35, -55, -29, -37, -0, 8, 20, - 45, -16, -6, 37, 40, 63, 30, 26, - 30, 5, -0, 37, 15, 32, 63, 26, - 12, 35, 34, 14, 36, 22, 40, 15, - 9, 3, 6, -2, 14, 4, -20, 2, - -5, -24, -15, -1, 2, -17, -11, -8, - -32, -26, -15, -19, 2, -30, -35, -32, + -112, -43, -132, 4, -41, -51, -11, 49, + 14, 36, -55, -29, -38, -0, 9, 19, + 45, -14, -5, 37, 40, 62, 30, 26, + 30, 5, -0, 37, 15, 32, 64, 26, + 11, 35, 34, 15, 36, 22, 40, 16, + 9, 4, 6, -3, 14, 4, -20, 2, + -6, -25, -15, -2, 2, -17, -10, -9, + -34, -26, -15, -19, 2, -31, -34, -33, ], [ - 3, -21, -6, -80, -97, -26, -23, -67, - 4, 14, 12, -13, -71, -50, 7, 19, + 6, -22, -6, -80, -97, -26, -22, -69, + 5, 14, 12, -14, -71, -51, 7, 19, 37, 28, -5, 19, -6, 18, 17, 47, - 22, 30, 30, -6, 37, 17, 17, 29, - 32, 63, 28, 28, 44, 32, 31, 32, + 22, 30, 29, -7, 36, 17, 17, 30, + 32, 62, 28, 28, 44, 32, 32, 32, -7, -7, 2, 7, 5, 12, -3, -7, - -19, -37, -3, 1, 7, -3, 12, -41, - -36, -32, -18, 2, -16, -5, -21, -18, + -20, -37, -3, 1, 7, -3, 11, -42, + -37, -32, -18, 1, -17, -5, -20, -19, ], [ - -48, -18, -77, 86, -140, -21, -122, -26, - 13, 14, 20, 32, -3, 24, -24, 8, - -40, 17, 39, -15, 0, 50, 20, 3, + -49, -18, -77, 86, -141, -21, -122, -26, + 13, 14, 20, 32, -3, 24, -25, 7, + -40, 18, 39, -15, 0, 50, 20, 3, 22, 19, 38, 38, 32, 47, 5, 13, - -0, 33, 27, 33, 45, 27, 38, 31, - -11, -1, -5, -1, 24, -1, 3, -9, - -33, -15, -11, -5, 8, -1, -4, 2, - -35, -34, -24, -17, -2, -22, -19, -28, + -1, 33, 27, 33, 45, 27, 38, 31, + -11, -1, -5, -1, 24, -1, 3, -8, + -33, -16, -11, -5, 8, -1, -4, 2, + -35, -34, -24, -18, -2, -22, -18, -28, ], [ - -78, -131, -1, 81, 57, 59, -35, -159, - -26, -11, 28, 50, 38, 4, -9, -64, + -78, -130, -1, 81, 57, 59, -35, -161, + -26, -12, 29, 50, 38, 4, -9, -64, 8, 18, 16, 60, 12, 52, 20, -42, -5, 15, 35, 42, 45, 55, 30, -16, - -21, 7, 26, 27, 48, 41, 40, 11, + -20, 7, 26, 27, 48, 40, 40, 11, -27, -18, -10, -0, 24, 3, -9, -9, - -30, -28, -18, -8, 5, -2, -4, -3, - -43, -38, -23, -14, -15, -12, -20, -25, + -30, -28, -18, -9, 5, -2, -4, -3, + -44, -38, -23, -14, -14, -12, -20, -26, ], [ - -90, -64, -40, -37, 71, 33, 50, -68, - -112, -32, -36, 76, 40, 44, 34, 15, + -90, -64, -41, -37, 72, 33, 49, -67, + -112, -32, -36, 75, 40, 44, 33, 15, -27, -5, 14, 59, 100, 97, 29, 2, - -30, 1, 13, 29, 36, 54, 118, 54, + -30, 1, 13, 29, 36, 54, 117, 54, -29, -9, -0, 10, 44, 32, 33, 16, -55, -30, -19, -11, 5, -7, 0, -12, -23, -16, -32, -17, -6, -4, -6, -10, - -68, -47, -50, -25, -26, -26, -13, -27, + -69, -47, -50, -25, -25, -25, -13, -27, ], [ - -33, -24, -12, -32, 3, 17, 15, -32, - 6, -6, 47, 134, 51, -29, -37, -74, - -45, 2, 55, 112, 68, -86, -12, -31, - -41, 24, 38, 86, 85, 23, 18, -53, - 56, 134, 3, 49, 80, -38, -12, 4, - 38, 5, 20, -0, -1, -34, 5, -54, - 3, -3, -32, 24, -43, -26, -77, -109, - 51, -28, -25, -19, -13, -37, -12, -149, + -32, -23, -12, -32, 4, 17, 15, -32, + 7, -6, 48, 135, 51, -30, -37, -74, + -44, 1, 55, 112, 67, -85, -11, -31, + -42, 24, 38, 86, 85, 23, 18, -53, + 56, 135, 4, 49, 80, -38, -12, 5, + 39, 5, 20, -1, -1, -33, 6, -54, + 3, -3, -33, 24, -43, -26, -77, -108, + 52, -28, -26, -20, -13, -39, -15, -150, ], [ 4, 33, -69, 27, -37, -63, -20, 28, - -29, -23, 14, 4, -32, -20, -47, -52, + -29, -23, 14, 4, -32, -20, -47, -51, 26, -43, -45, 27, -32, -24, -39, -17, - 27, -26, 6, 5, 47, 25, 19, 13, - -52, 26, -34, -20, -33, 44, 34, -14, + 28, -26, 6, 5, 47, 25, 19, 13, + -52, 26, -34, -20, -32, 44, 34, -14, -22, 4, 9, 45, 30, 43, 13, -1, - -27, 15, 10, 35, 38, 39, 7, 18, - -1, 31, 31, -11, 1, 40, 14, 0, + -27, 14, 10, 34, 38, 39, 7, 18, + -1, 31, 31, -11, 0, 41, 14, 0, ], [ - -6, 15, -11, 27, -2, -48, -3, 11, - 10, -23, -14, -41, 21, -33, -7, 27, - 23, -46, -30, -56, -17, 47, -4, -1, - 8, -45, -72, -28, -20, -1, -27, 17, - -0, 2, -19, -19, -32, 50, 31, 6, - 11, -26, 10, 13, 7, 46, 22, 25, - -11, 6, 8, -54, 3, 32, -3, 26, + -6, 15, -12, 28, -2, -48, -3, 11, + 10, -23, -14, -41, 21, -32, -7, 27, + 23, -46, -30, -56, -17, 47, -4, -2, + 8, -45, -72, -27, -20, -1, -27, 17, + 0, 3, -19, -19, -32, 51, 31, 6, + 11, -26, 10, 13, 7, 47, 22, 25, + -11, 6, 8, -53, 3, 32, -3, 26, 30, 43, -9, 66, 30, -7, 49, -9, ], [ - -30, -21, -56, -15, 3, -6, 24, 17, + -29, -21, -56, -14, 3, -6, 24, 17, -20, -5, 3, -26, -19, 42, 16, -1, - 11, -40, -36, -40, -15, -2, -52, -11, + 11, -40, -36, -40, -15, -2, -52, -10, 51, 6, -23, 16, -2, -37, -15, 30, -9, 24, -23, 13, -18, -16, -31, 33, - -1, 8, 40, -10, -28, 26, 57, -10, + -1, 8, 41, -10, -28, 26, 57, -10, 17, 11, -15, 9, -1, 40, 17, 6, - 1, 20, 14, 8, 45, 23, 21, -21, + 1, 19, 13, 8, 45, 23, 21, -21, ], [ - 15, 13, -10, -1, 15, -31, 18, 5, - 49, -13, 22, -46, -16, -30, 24, 19, + 15, 12, -10, -1, 15, -31, 18, 5, + 49, -13, 23, -45, -16, -30, 24, 18, 4, 10, -48, -29, -10, -17, -83, -11, - 16, -16, 30, -49, -62, -40, -25, 8, + 16, -16, 29, -49, -62, -40, -25, 8, 25, -59, 6, -9, -34, 14, 19, 50, - 25, 37, 35, -7, -16, 4, -0, 40, - -17, 20, -4, 26, -9, -27, -1, 8, - 46, 10, 27, 30, -15, 47, -13, 34, + 25, 37, 35, -7, -16, 3, -0, 40, + -17, 20, -5, 26, -9, -27, -1, 8, + 46, 9, 27, 30, -15, 47, -13, 34, ], [ 3, -4, -75, -13, -26, -32, 15, 13, - 24, -10, -31, -49, -15, 13, 3, 8, - -15, -67, -17, -62, -50, -30, 3, 8, - 24, 3, 13, -22, -25, -5, -0, 1, + 24, -11, -31, -49, -15, 13, 3, 8, + -14, -67, -17, -62, -50, -31, 3, 8, + 24, 3, 13, -21, -25, -5, -0, 1, 49, -4, -0, 30, -17, -1, -37, 16, - 2, 62, 53, 35, -42, 17, 29, 40, + 2, 62, 53, 35, -42, 17, 29, 39, 6, 7, 6, -53, 12, 25, 9, -6, - 23, 4, 34, 38, 77, -7, 4, 6, + 23, 4, 33, 38, 77, -7, 5, 6, ], [ - 15, -15, -38, -41, -15, -49, 2, -7, + 15, -14, -38, -41, -15, -49, 2, -7, 14, 10, -28, 7, 29, 15, -3, -7, -13, -40, 20, 17, 23, -56, -40, 5, - -12, 10, 43, -23, 0, -34, -35, 4, - -15, 1, -12, -19, -42, -14, -8, 24, - -13, 16, 38, 85, -12, 13, 80, -29, + -12, 11, 43, -23, 0, -34, -35, 4, + -16, 1, -13, -19, -42, -13, -8, 24, + -13, 16, 38, 85, -12, 14, 80, -29, 24, -5, 91, -39, 36, -1, 14, 7, 20, -21, -16, -1, -21, 35, 43, -17, ], [ -45, -38, -30, -17, -30, -9, -7, 7, - 14, -18, 1, -29, -39, -1, -1, 3, + 14, -18, 1, -29, -39, -2, -1, 3, -44, -62, 19, -11, 31, 47, 9, 7, - -59, -41, 11, 44, 46, -9, 11, 9, + -59, -41, 10, 44, 46, -9, 11, 9, -24, -25, 25, -4, 29, 4, -17, 23, - -13, -27, 50, 63, 29, 50, 24, 16, + -13, -27, 50, 63, 29, 50, 24, 15, -14, -8, 29, -9, -22, -3, 9, -13, - 8, -39, 11, 28, 12, -25, 49, 16, + 8, -38, 11, 28, 12, -25, 49, 15, ], ]; internal static readonly short[][] EndGameEnemyKnightTable = [ [ - -60, -17, 13, 32, 48, 30, -86, 31, - -17, -37, -1, 6, -6, 1, 19, 65, - 46, 35, -47, 26, 23, 15, -30, -4, - 2, 34, 27, -3, -1, -2, -18, 18, - 46, 9, -4, 5, 4, -13, -25, -26, + -60, -17, 13, 32, 49, 30, -86, 31, + -17, -37, -0, 6, -6, 1, 20, 64, + 46, 35, -47, 25, 23, 15, -31, -4, + 2, 34, 27, -3, -2, -3, -18, 17, + 46, 9, -4, 5, 3, -13, -25, -26, -10, -23, 2, 2, 12, -28, -20, -25, - 23, 4, -11, -35, 0, -13, -4, -12, - 2, -24, -8, -20, -21, 30, 0, 39, + 23, 4, -11, -34, -0, -13, -4, -12, + 3, -24, -8, -19, -21, 29, 0, 40, ], [ - -84, -59, 79, 3, -9, -44, -11, 5, + -84, -59, 78, 3, -9, -44, -11, 6, 13, 45, 62, -1, 15, 11, 19, 37, - -13, 34, -15, 30, 21, 15, -14, -3, + -13, 34, -15, 30, 21, 15, -14, -4, 17, 7, 29, 20, 42, 3, -4, 11, 29, 12, 25, 25, 5, -4, 4, 11, - -11, -14, 1, 8, -23, -11, -15, -1, - -47, -25, -10, -6, 2, -28, -17, -8, - -37, -25, -17, -9, -4, -10, -30, -28, - ], - [ - -175, -36, -85, 7, 46, 22, -1, 72, - -24, 39, 7, 61, -90, 29, 36, -31, - -21, -84, 5, -36, 3, 22, 7, -23, - 4, 3, 19, 28, 33, 17, 19, 11, - 13, 22, 24, 24, 32, 18, -10, 21, - 2, -1, 2, -1, 6, 0, -3, 3, - -4, 20, -10, 8, -5, -28, -9, 24, - -24, 15, -9, 8, 4, -18, 16, -22, - ], - [ - -48, 25, -22, -52, 20, 44, 33, -26, - 13, -89, 76, -12, 35, -49, 7, 20, - 30, 14, -81, -1, -46, 10, -14, 24, - 24, 2, 17, 32, 13, 19, 8, 3, - 13, 32, 28, 11, 11, 11, -4, 11, - 1, -2, -4, 5, 2, -4, -2, -8, - -1, -40, -10, 3, -10, -4, -16, -40, - -10, 38, -6, -7, 13, -21, 11, -26, - ], - [ - 81, 7, 33, -6, -83, -5, -7, -38, - -9, 44, -60, -28, -15, 29, -57, 17, - -37, 14, 36, -95, 2, -98, 6, -0, - 10, 27, 27, 28, 30, 35, 17, 24, + -11, -14, 1, 8, -23, -11, -14, -1, + -47, -25, -10, -6, 2, -28, -18, -9, + -37, -25, -18, -10, -5, -11, -30, -28, + ], + [ + -174, -35, -85, 7, 46, 23, -1, 72, + -24, 39, 7, 60, -90, 29, 36, -32, + -20, -84, 4, -36, 4, 22, 7, -23, + 4, 2, 19, 28, 33, 18, 19, 11, + 12, 22, 23, 24, 32, 18, -10, 21, + 1, -1, 2, -1, 6, 0, -3, 3, + -5, 20, -10, 8, -5, -27, -9, 24, + -24, 15, -10, 7, 3, -19, 16, -21, + ], + [ + -49, 25, -22, -52, 19, 44, 34, -27, + 13, -89, 77, -12, 35, -48, 7, 20, + 30, 14, -82, -1, -46, 10, -14, 24, + 25, 2, 17, 33, 13, 19, 7, 3, + 13, 31, 28, 11, 11, 11, -4, 11, + 2, -2, -4, 5, 2, -4, -2, -8, + -2, -40, -10, 3, -10, -4, -16, -41, + -11, 38, -7, -6, 13, -23, 11, -26, + ], + [ + 80, 8, 33, -5, -83, -5, -7, -39, + -9, 43, -60, -27, -16, 30, -57, 18, + -38, 14, 35, -95, 2, -98, 8, 0, + 10, 27, 27, 27, 30, 35, 16, 25, 24, 17, 38, 27, 38, -2, 17, 22, - 9, -7, 9, 0, 5, -6, -13, -20, - 11, -22, -17, 4, -13, -0, -6, 18, - -13, 19, -7, 2, -8, -12, -21, -22, + 7, -6, 8, 0, 5, -5, -13, -21, + 12, -22, -17, 4, -13, -0, -5, 16, + -13, 20, -6, 3, -8, -13, -22, -21, ], [ - 32, 43, 37, 5, 56, -66, 13, 19, + 33, 43, 37, 5, 56, -66, 13, 18, 2, 16, 31, -17, 17, -3, 42, -114, 19, 1, 13, 1, -9, -4, -90, -18, 9, -2, 32, 19, 21, 20, 4, -1, - 17, -1, 1, 25, 22, 16, -4, 12, + 17, -1, 1, 25, 22, 16, -4, 11, -4, -13, -7, 10, -3, -16, -15, 1, - 2, 15, -8, -5, -8, -5, -34, -37, - -14, -8, -14, -2, -19, 1, -19, -10, + 2, 15, -8, -5, -8, -6, -33, -38, + -13, -8, -14, -3, -20, 0, -20, -10, ], [ - 21, 35, 47, 16, 35, 11, -135, -125, - 24, 8, 1, 36, -103, 37, -21, 38, - -5, 27, 23, 28, 13, 32, 36, -85, + 22, 34, 47, 16, 35, 10, -135, -125, + 24, 8, 1, 36, -103, 37, -21, 37, + -5, 26, 23, 28, 13, 33, 36, -85, 9, 1, 4, 33, 31, 26, 22, 27, - 7, 4, 8, 16, 33, 22, 24, 12, - -15, -12, -1, 9, 8, -4, -14, -21, + 7, 4, 8, 16, 33, 23, 24, 12, + -14, -12, -1, 9, 8, -4, -14, -21, 2, -4, -13, -7, -10, -26, -14, -4, - -24, -25, -13, -4, -3, -12, -26, -32, + -24, -25, -14, -5, -4, -13, -27, -32, ], [ - 25, -12, 28, 16, 19, 11, -75, -51, - 33, 4, 13, 5, 72, 22, 16, -14, - -18, 6, 19, -1, 14, 19, 19, 70, - -21, -20, -6, -3, 38, 23, 62, 25, - -10, 11, -9, 0, 13, 10, 32, 27, - -37, -5, -16, -8, -16, -11, -7, -17, + 26, -12, 28, 16, 19, 11, -75, -51, + 33, 4, 13, 6, 72, 22, 16, -14, + -18, 6, 19, -1, 14, 19, 19, 69, + -21, -20, -5, -3, 38, 23, 62, 25, + -11, 11, -9, 0, 13, 10, 33, 27, + -36, -5, -16, -8, -16, -11, -7, -16, -12, -13, -28, -19, 1, -22, -14, -32, - -53, -39, 4, -8, -18, -21, -3, -23, + -53, -39, 3, -8, -18, -22, -3, -22, ], [ - -134, -28, 43, -3, -1, 27, 13, -73, - -54, 15, 15, -9, 16, 9, 35, 1, - -17, 10, 9, 37, 12, 11, -19, 17, - 19, 5, 3, 4, 8, 10, 15, 1, + -134, -28, 44, -3, -1, 27, 13, -73, + -54, 14, 15, -9, 16, 9, 34, 1, + -17, 10, 9, 37, 12, 11, -18, 17, + 20, 5, 2, 4, 8, 10, 15, 1, 6, 8, 9, 10, 10, -5, -4, -6, - 9, -8, 6, 13, 10, 0, 3, -26, - 8, 11, 3, -5, -1, 7, 23, -7, - 9, -24, -1, -1, -4, -10, -16, -24, + 9, -8, 6, 13, 10, 1, 3, -26, + 8, 11, 3, -6, -1, 7, 22, -6, + 9, -23, -2, -1, -4, -10, -16, -24, ], [ - -112, -46, -7, 13, 5, 11, 45, -49, + -112, -45, -7, 13, 5, 11, 45, -49, -43, -13, 1, 17, 5, -1, 18, -4, - -14, 4, 4, 15, 8, -6, -1, 7, - -10, -0, 5, 14, 10, 6, -9, 7, + -14, 4, 4, 14, 8, -7, -1, 7, + -10, -1, 5, 14, 10, 6, -10, 7, -1, 13, 11, 2, 7, 4, 2, -0, - 18, -2, 4, 2, 10, 2, -4, 1, - 13, 2, 3, 7, -4, 5, -23, -11, - 0, 3, 5, 7, 14, 1, 24, 7, + 18, -2, 4, 2, 9, 2, -4, 1, + 13, 2, 3, 7, -4, 5, -23, -10, + 1, 3, 6, 7, 14, 1, 24, 7, ], [ - -46, -46, 10, -23, 7, 27, 18, -32, - -30, -17, 8, -29, 30, 3, 4, -5, - -14, 1, 14, 6, -6, -21, 10, -16, - 4, -9, 19, 3, 12, 0, -13, -1, + -47, -46, 10, -23, 7, 28, 18, -32, + -31, -18, 8, -29, 30, 3, 4, -5, + -13, 1, 14, 6, -6, -21, 10, -16, + 4, -9, 19, 4, 12, 0, -13, -1, 8, -2, 7, 9, 11, 6, -5, -3, - -11, 2, 0, 11, 3, 0, 5, -11, + -11, 1, 0, 11, 3, 0, 5, -11, 13, 16, -0, 0, 1, 4, -3, 2, - 6, 14, 7, 2, 4, 8, 17, 12, + 7, 14, 7, 2, 4, 8, 16, 12, ], [ - -18, -29, 13, 34, -2, 3, -4, -55, - -3, 0, -19, 3, 10, 1, -14, -17, - -4, -3, -5, 6, 15, 11, -17, -12, - 7, 9, 3, 25, 5, 8, -13, -3, + -18, -29, 13, 34, -2, 3, -4, -54, + -3, -0, -19, 4, 10, 1, -14, -17, + -4, -2, -5, 6, 15, 11, -17, -12, + 7, 9, 3, 25, 5, 7, -13, -3, 2, -11, -0, 13, 8, 1, -3, -9, - 3, 6, 4, 3, 5, -6, -1, 6, + 3, 6, 4, 3, 5, -6, -0, 6, -3, 21, -4, 1, -2, 5, -0, 23, - 16, 19, 4, -6, 3, -9, -5, -16, + 16, 18, 4, -6, 3, -9, -6, -15, ], [ -5, 11, 53, -22, 67, -4, -17, -85, -2, 3, -2, -1, 4, -15, -34, -11, - 17, 1, 10, 9, 21, -19, 12, -19, - -4, 6, 5, -2, 7, -5, 3, -25, + 17, 1, 10, 10, 21, -19, 12, -19, + -5, 6, 5, -2, 7, -5, 3, -25, 2, -12, 6, 8, 11, 3, 4, -13, -9, -4, 4, 15, 2, 1, -9, -3, 2, 10, 2, 3, 2, 4, 3, -8, - -1, 19, 2, 3, -2, -5, -1, 3, + -1, 19, 2, 3, -2, -5, -2, 3, ], [ - 52, 20, -5, -8, 3, -11, 23, -129, - 6, 2, -7, -4, -2, 38, -11, 1, - -1, -3, 9, 10, 3, 10, 1, -2, + 53, 20, -5, -8, 2, -11, 23, -128, + 6, 2, -8, -4, -2, 38, -11, 1, + -1, -3, 10, 10, 3, 10, 1, -2, -4, -4, -3, 9, 5, 10, 16, -0, 6, -11, 0, 8, 7, 9, -7, 13, - -11, -5, -0, 3, 3, 0, -3, 14, + -10, -5, -0, 3, 3, 0, -3, 14, -9, 7, -1, -4, 3, -6, 0, 15, - -31, -8, -10, -2, 6, 4, -15, 3, + -30, -9, -11, -2, 5, 3, -15, 4, ], [ -1, 31, 23, 16, 19, -16, 96, -75, 24, -3, -1, -4, 12, 3, -17, -9, - -22, -1, 4, -1, 13, -4, 34, 12, - -7, -22, -9, 5, 16, -0, 4, 1, - -7, -13, 6, 3, 15, 16, 35, 17, - -6, -17, -1, 2, 10, 2, 2, 3, - -41, -28, -4, 5, -6, -6, -4, 6, - -37, -26, -12, 11, 17, -13, -15, -37, + -22, -1, 4, -1, 13, -4, 33, 11, + -7, -22, -9, 6, 16, -0, 5, 1, + -7, -13, 6, 3, 15, 16, 36, 17, + -6, -17, -1, 2, 10, 3, 2, 3, + -41, -28, -4, 5, -6, -5, -4, 6, + -37, -26, -12, 11, 17, -14, -15, -37, ], [ - -6, 24, -20, 32, -27, -39, -17, -46, - -16, 20, 6, -19, 6, -22, -9, -36, - 14, 4, 8, -1, 4, 14, 2, -34, - 47, 69, -5, 2, -6, -3, -28, -8, - 7, -5, 15, 2, -12, 30, 13, -42, - -20, -5, 3, 18, 2, 15, -46, 6, - -18, 31, 40, 4, 6, 4, -2, 36, - -12, 14, 27, 4, -4, -23, -2, 6, + -5, 24, -20, 32, -28, -39, -17, -46, + -16, 20, 6, -20, 6, -22, -9, -36, + 14, 4, 8, -1, 4, 13, 2, -35, + 47, 69, -5, 2, -6, -4, -28, -9, + 7, -5, 15, 1, -12, 30, 13, -42, + -20, -5, 3, 18, 2, 15, -47, 6, + -18, 31, 40, 4, 7, 4, -2, 36, + -13, 15, 28, 5, -4, -21, -1, 7, ], [ 17, 33, -73, 53, 23, -67, -74, 31, 45, 16, -34, -16, -35, -24, 7, -46, 72, -9, -32, -13, 11, -31, -12, -4, 33, 8, 4, 6, -5, -22, -36, -39, - 2, 2, 32, 20, 21, -4, -36, -17, - 16, -21, 29, 22, 29, 7, -11, 7, + 2, 2, 32, 20, 21, -5, -36, -17, + 16, -21, 29, 22, 28, 7, -11, 7, -5, 1, 13, 24, 47, 11, -11, 9, -22, 14, 11, 12, -16, 12, -15, 34, ], [ 31, 39, -63, -23, -42, -45, 16, 39, 62, 11, 3, -7, -9, -9, -38, 7, - 16, -9, -1, -43, 1, -6, -41, -1, + 16, -9, -1, -43, 1, -6, -41, -2, 19, 5, -5, 7, -9, 3, -23, -18, - 30, 38, 48, 23, -6, 12, -24, -29, + 31, 38, 48, 23, -6, 12, -24, -29, 20, 10, 12, 19, -0, 24, -6, -5, - -0, -6, -14, 30, 2, 8, -30, -14, - -16, -9, 15, 16, 1, 8, 4, -32, + -0, -6, -14, 30, 2, 8, -30, -13, + -16, -9, 15, 17, 1, 8, 4, -33, ], [ - -50, -41, -72, -1, -17, -34, 40, 25, + -50, -40, -72, -1, -17, -34, 40, 25, 44, -5, 7, -3, -20, -3, -2, 12, - 12, -22, 1, 9, -36, 14, 24, 7, + 13, -22, 1, 9, -36, 14, 24, 7, 3, -15, 11, -16, -15, 13, -26, -19, 7, -12, 7, 12, 14, 3, 22, -19, 18, 19, 16, 25, 26, 34, -17, -15, - 43, -26, 38, 13, 30, 12, 12, -4, + 43, -26, 38, 13, 30, 12, 11, -4, -52, -22, 24, 20, 6, -45, 30, -46, ], [ - -6, -7, 14, -11, -3, -45, 3, 4, + -7, -7, 14, -11, -3, -45, 3, 4, 10, 35, 14, 0, -23, -4, 2, -23, - 5, -30, 23, -39, -18, -15, 6, 10, + 5, -30, 23, -39, -19, -15, 6, 10, 2, 14, -13, 9, -2, -11, -1, 12, - -6, 14, 3, -7, -21, 5, 4, 14, + -6, 14, 3, -7, -21, 6, 4, 14, 15, -18, -20, 28, 3, 6, 9, -5, -59, 4, 39, 18, -18, -2, 39, 21, 30, 13, -39, 1, 15, -9, 18, -2, ], [ 51, -7, -4, -51, -2, 6, -39, 5, - -30, -40, -24, -20, 18, -25, 24, 26, + -30, -40, -25, -20, 18, -25, 24, 26, 1, -33, -6, 23, -14, 14, -3, 43, -39, -18, -14, -3, -18, -16, -4, 50, - -21, -4, -1, -7, 15, 26, 17, 10, + -20, -4, -1, -7, 15, 26, 17, 10, -53, -9, -26, -1, 35, 16, 21, 21, -42, 48, 4, 22, -10, -26, 9, -34, - 14, 5, 13, 2, 30, 24, 34, 18, + 14, 5, 13, 2, 30, 25, 33, 18, ], [ - 87, 55, -20, -56, -17, -52, 51, 54, - -34, -20, -36, -33, 6, -11, -16, 28, - -28, -36, -25, -2, -20, 14, -5, -23, + 87, 55, -20, -56, -17, -52, 50, 54, + -34, -20, -36, -33, 6, -12, -16, 28, + -28, -37, -25, -2, -20, 14, -5, -23, -12, -9, -20, 6, 12, 40, 1, 17, -49, -16, -4, 14, 13, 24, 4, 12, - -33, -32, 4, 12, 27, 15, 38, 31, + -33, -32, 4, 12, 26, 15, 38, 31, -50, -23, -27, 28, -0, -4, 27, -9, - 26, -54, -14, 23, 34, 29, 24, 35, + 25, -54, -14, 23, 34, 29, 24, 34, ], [ -88, -41, -77, 59, -13, 24, -11, 52, -55, -15, 23, -32, 1, 5, 29, -17, -22, 1, -3, 10, 20, 10, -6, 7, - -67, -30, -35, -4, 4, 5, 12, 8, - -26, -56, -3, 7, 37, 17, 29, 31, - -86, 22, 6, -17, 25, 31, 18, 49, + -67, -30, -35, -4, 4, 5, 12, 9, + -26, -55, -3, 7, 37, 17, 29, 31, + -86, 22, 6, -17, 25, 32, 18, 49, 13, -2, -48, -4, 43, 24, 27, 21, - 49, -3, -26, -3, -18, 19, 7, 64, + 49, -2, -26, -3, -18, 19, 7, 64, ], ]; internal static readonly short[][] MiddleGameEnemyBishopTable = [ [ - -98, -28, 4, 61, -9, -127, -74, -87, - 42, 56, 29, 51, -3, -60, 0, -54, + -97, -28, 3, 61, -9, -128, -74, -85, + 42, 56, 29, 51, -3, -61, 1, -55, 65, 101, 44, 45, -22, -29, -13, -47, - -5, 41, 55, 61, 16, 10, 4, -20, - 10, -8, 14, 23, 48, 20, 3, -12, - -3, 9, -6, 21, 18, 25, 14, -18, - -20, -38, -2, 3, 4, 9, 11, -2, - -34, -28, -31, -17, -19, -16, 7, 5, + -4, 41, 55, 61, 17, 9, 5, -20, + 11, -8, 14, 24, 48, 20, 3, -12, + -3, 9, -6, 21, 18, 25, 15, -18, + -20, -38, -3, 3, 4, 9, 11, -2, + -34, -28, -31, -17, -19, -17, 6, 5, ], [ - -27, -37, -77, -71, -97, -111, -86, -60, - 20, 18, 53, -43, 2, 6, -14, -35, - 25, 40, 60, 41, -3, 34, -8, -25, - -2, 4, 26, 32, 61, 5, 26, -4, + -26, -38, -78, -70, -99, -112, -87, -60, + 19, 18, 53, -43, 1, 6, -14, -35, + 25, 40, 60, 41, -3, 34, -9, -25, + -1, 4, 26, 32, 61, 4, 26, -4, -14, 8, 10, 29, 28, 42, 11, -3, -14, 7, 6, 7, 23, 12, 24, -4, - 2, -21, -9, 10, 8, 22, 18, 30, - -1, -15, -2, -5, 9, -1, 24, 7, + 2, -21, -9, 10, 8, 21, 18, 30, + -1, -14, -2, -3, 10, -1, 25, 7, ], [ - 9, -118, -24, -136, -136, -69, -12, -26, - -8, 87, -92, 19, -51, 9, -23, -32, - 74, 57, 13, 62, 47, 20, 19, -21, + 10, -116, -25, -137, -138, -71, -14, -25, + -8, 88, -92, 19, -51, 8, -22, -32, + 75, 57, 12, 62, 46, 20, 18, -21, -22, 17, 15, 25, 37, 47, 19, -3, - -10, -11, 21, 18, 35, 26, 29, -10, + -11, -11, 21, 18, 35, 25, 30, -9, -25, 8, -2, 8, 11, 16, 22, 12, - 13, -20, 5, 3, 14, 4, 27, 7, - -3, -10, -12, -2, 2, -2, 14, 8, + 13, -20, 4, 3, 15, 4, 27, 7, + -3, -9, -12, -1, 4, -2, 14, 8, ], [ - 17, -93, -136, -17, -129, -33, -50, -18, - -1, -13, 3, -63, 3, 2, 13, -39, - -6, 24, 77, 72, 45, 117, 13, 3, - 35, -3, 36, -10, 34, 5, 45, 2, - -6, -2, 4, 31, 7, 10, 11, 17, + 17, -92, -137, -17, -130, -35, -50, -17, + -1, -13, 3, -64, 4, 0, 13, -40, + -6, 25, 77, 72, 44, 115, 13, 3, + 36, -4, 36, -10, 33, 5, 45, 1, + -6, -3, 3, 31, 8, 10, 12, 17, -1, 7, 1, 10, 4, 1, 10, 6, - -4, -12, -4, 12, 9, -3, -1, -19, - 1, -13, -7, -2, 9, -4, 12, -17, + -3, -12, -4, 12, 9, -3, -1, -18, + 1, -12, -7, -2, 10, -3, 14, -16, ], [ - -30, -38, -100, -213, -24, -81, -21, -62, - 0, 15, -33, -36, -28, -40, -21, -12, - -19, 32, 43, 57, 52, 44, 44, 20, - 15, 12, 27, 29, 18, 28, 3, 19, - 14, 19, 20, 25, 29, 8, -2, -7, - 13, 30, 5, 13, 10, -7, 9, 1, + -29, -38, -101, -211, -24, -83, -21, -64, + -1, 15, -33, -36, -29, -41, -21, -12, + -20, 31, 42, 56, 51, 44, 45, 19, + 14, 12, 27, 29, 18, 28, 3, 20, + 15, 19, 20, 26, 29, 8, -2, -7, + 13, 31, 6, 13, 10, -7, 10, -0, 22, 9, 22, 8, 1, 3, 3, 18, - 5, 2, 8, 13, 1, -4, 15, -5, + 6, 2, 8, 13, 3, -4, 15, -5, ], [ - -43, -45, -55, -39, -129, -22, -137, -15, - -3, -25, 45, -26, -1, -41, -9, -39, - -15, 35, -21, 110, 75, 59, 42, 59, - -3, 4, 49, 26, 36, -17, 23, -17, - -6, 16, 21, 38, 12, 33, 10, -10, + -45, -46, -55, -40, -128, -22, -137, -17, + -4, -26, 45, -27, -1, -41, -9, -38, + -15, 35, -21, 109, 75, 59, 41, 59, + -3, 3, 49, 26, 36, -17, 22, -17, + -6, 16, 21, 37, 12, 33, 10, -10, 24, 10, 21, 7, 24, -3, 3, -28, - 18, -2, 4, 21, -6, -9, -3, 3, - 7, -12, 5, -6, 4, -25, -9, -23, + 19, -2, 4, 21, -6, -9, -2, 4, + 7, -11, 5, -5, 5, -24, -8, -22, ], [ - -55, -54, -103, -54, -83, -116, -28, 14, - -18, -4, -11, -25, -9, 5, -47, 51, + -56, -54, -102, -54, -83, -115, -28, 15, + -18, -4, -11, -25, -9, 6, -47, 51, -17, 1, 8, 9, 53, 48, 28, 11, -7, 16, 13, 37, 14, 14, -1, -20, - 9, 7, 28, 28, 30, 5, 12, 6, + 9, 7, 28, 28, 30, 6, 12, 6, -3, 38, 15, 18, 10, 5, -3, -4, - 29, 7, 27, 7, 12, 0, 3, -1, - 19, 19, 4, 8, -3, -7, 1, -0, + 29, 7, 27, 7, 12, -0, 3, -1, + 19, 19, 4, 8, -3, -6, 2, -1, ], [ - -95, -51, -28, -36, -81, -23, 47, -31, + -97, -51, -27, -37, -81, -23, 47, -31, -6, -29, -49, -48, 74, 4, -63, 1, -28, -2, -25, 20, 11, 82, 56, 24, -17, 9, 23, 14, 62, 37, 18, -9, -18, 14, 14, 42, 32, 18, 3, -1, -8, 20, 27, 16, 17, -3, 2, -19, - 3, 12, 15, 9, 5, -9, -12, 5, - 18, 20, -3, -16, -10, -17, -16, -24, + 2, 12, 15, 9, 5, -9, -12, 5, + 18, 21, -3, -16, -9, -16, -15, -24, ], [ - -62, -65, -32, -26, -55, 29, -17, -29, - -81, -34, -53, 49, -17, 17, 1, -36, - -23, 33, 9, 48, 31, 15, 19, -13, - -11, 16, 32, 103, 44, 19, 11, -3, + -62, -65, -32, -27, -55, 29, -17, -29, + -82, -34, -54, 49, -17, 17, 0, -37, + -23, 33, 10, 49, 32, 15, 19, -12, + -11, 16, 32, 103, 43, 19, 11, -3, -9, -9, -1, 26, 45, 13, 18, -15, - -10, -4, -3, 14, 14, 44, 14, 8, - -18, -34, 5, -3, 20, -7, 25, 2, - -29, -24, -26, -4, -6, 16, 7, 14, + -11, -5, -3, 14, 14, 44, 15, 8, + -17, -34, 5, -3, 20, -7, 25, 2, + -29, -25, -26, -4, -7, 15, 7, 14, ], [ - -93, -42, 36, -1, -59, 52, -77, -87, - -29, -44, -39, -48, -40, 26, 19, -19, - -5, -27, 55, 34, 15, 20, -4, -3, - 69, 17, 38, 41, 84, 29, 31, -11, + -94, -42, 35, 0, -59, 52, -78, -86, + -29, -45, -39, -48, -40, 26, 19, -19, + -5, -26, 55, 34, 15, 20, -4, -3, + 68, 17, 39, 41, 84, 29, 31, -11, -20, 25, 14, 28, 7, 79, 17, 32, - -16, -18, 12, -6, 16, -10, 17, 11, - -41, -24, -18, 4, -5, 4, 1, 18, - -16, -30, -3, -20, 13, -16, 19, -10, + -16, -18, 12, -5, 16, -10, 17, 11, + -41, -24, -18, 4, -4, 5, 1, 17, + -16, -30, -3, -21, 13, -16, 19, -10, ], [ - 10, -26, -48, -95, -45, -67, -50, -41, - -14, -47, -21, -84, -56, -12, -3, 16, - 30, 7, 67, 47, 43, 24, -6, -9, - 1, 67, 31, 21, 36, 84, 23, 0, - 38, 25, 22, 26, 26, 12, 72, -13, - -13, -5, -23, 21, -7, 9, 1, 38, - -17, -31, 6, -9, 12, 10, 12, -2, - -23, -7, -19, 7, -24, -2, -13, -13, + 9, -26, -48, -94, -45, -67, -50, -39, + -14, -47, -20, -84, -56, -12, -3, 16, + 31, 7, 68, 48, 43, 24, -6, -9, + 1, 66, 31, 22, 36, 84, 23, 0, + 38, 26, 22, 26, 26, 12, 72, -13, + -12, -5, -23, 21, -7, 9, 1, 38, + -17, -31, 6, -9, 12, 10, 12, -3, + -23, -8, -19, 7, -25, -1, -14, -13, ], [ - -33, -7, 57, -52, -39, -20, 2, -41, - 24, 14, -23, -13, 13, -45, 1, -36, - -36, 19, -11, 42, 38, 71, -8, 33, - 2, -2, 65, 25, 7, 21, 46, -1, + -32, -7, 56, -52, -39, -20, 2, -42, + 23, 14, -23, -13, 13, -45, 0, -36, + -36, 18, -11, 42, 38, 71, -8, 34, + 2, -2, 65, 26, 7, 21, 45, -1, -30, 41, -6, 32, 12, 21, -12, 48, - 48, 2, -3, -16, 20, -28, 14, -25, - 1, -23, -11, 14, -22, -6, -23, -32, - -11, -30, -4, -21, -1, -42, 16, -33, + 47, 2, -3, -16, 20, -28, 13, -25, + 1, -23, -10, 14, -22, -6, -23, -33, + -12, -30, -4, -21, -2, -41, 16, -33, ], [ - 4, 3, 20, -85, 11, -37, 19, -80, - -58, -16, -18, -19, -104, -30, -16, 3, - 13, 3, -1, 1, -16, 19, 16, -21, - -8, 15, 22, 99, 39, 45, 7, 56, + 5, 3, 20, -85, 11, -36, 19, -82, + -57, -16, -18, -18, -105, -29, -16, 3, + 13, 2, -1, 1, -16, 18, 17, -21, + -8, 15, 22, 99, 39, 46, 7, 56, -15, 20, 57, 16, 38, 7, 5, -37, - -1, 52, -6, 18, -1, 1, -21, -17, - 38, -5, 20, -6, 5, -23, 7, -15, - 2, 16, -21, 25, -5, -15, -18, -8, + -1, 52, -6, 18, -1, 1, -22, -17, + 38, -5, 21, -6, 5, -23, 7, -15, + 2, 17, -20, 25, -5, -13, -18, -8, ], [ - -75, 19, -56, 19, -12, 45, 16, -47, - -26, -51, 38, -12, 22, -36, 19, -17, - -51, -3, -32, 60, 11, 40, 23, 12, - 16, -16, 31, 15, 121, 32, 30, -17, + -76, 19, -56, 19, -12, 46, 16, -47, + -26, -51, 39, -12, 22, -36, 19, -17, + -51, -3, -33, 60, 11, 40, 24, 12, + 15, -16, 30, 15, 121, 32, 30, -17, -24, 2, 2, 61, 12, 30, -15, -3, -11, -1, 43, -1, 29, -18, 6, -54, - -16, 20, -3, 22, -18, -3, -30, -25, - 6, -7, 7, -15, 4, -45, -23, -52, + -16, 21, -3, 22, -18, -3, -30, -25, + 6, -7, 7, -15, 4, -45, -24, -52, ], [ - -78, -41, -31, -74, 24, -60, 65, -6, - -42, -5, -18, -10, 13, 24, 34, 42, - -51, -1, 17, -4, 29, 62, 107, 55, - -34, 7, -7, 23, 29, 98, 14, 3, + -79, -41, -30, -74, 24, -59, 65, -6, + -41, -5, -18, -10, 13, 24, 34, 42, + -51, -1, 17, -4, 29, 62, 108, 55, + -34, 8, -6, 23, 29, 97, 14, 3, -32, -10, 18, 24, 53, 3, 1, -14, -23, 10, 7, 20, 5, -2, -31, -2, -1, -16, 26, -5, 8, -14, -16, -36, - -14, 1, -19, -1, -30, -17, -41, -39, + -14, 2, -19, -1, -30, -17, -41, -39, ], [ - 10, 64, 26, 2, 24, -24, 17, -63, - 55, 63, 98, 78, -22, -0, -35, -24, - 6, 80, 79, -13, -1, -126, -59, -68, - -18, 59, 64, 106, -6, 23, -10, -44, - 17, -42, 23, 23, 45, -15, -28, 1, - -4, -53, -14, 51, 14, 24, -0, 1, - -68, -102, -35, -11, 5, 12, 42, -31, - -93, -48, -4, -42, -23, 14, -25, 25, + 10, 63, 26, 2, 24, -24, 17, -62, + 56, 63, 97, 78, -23, 0, -36, -24, + 6, 81, 79, -13, -1, -126, -60, -67, + -18, 59, 65, 106, -5, 23, -10, -44, + 16, -42, 24, 23, 45, -15, -28, 1, + -5, -53, -14, 52, 15, 25, -0, 0, + -68, -102, -34, -10, 5, 13, 42, -32, + -94, -48, -4, -42, -23, 14, -26, 25, ], [ 10, 11, 22, 38, -30, -19, 35, 9, 15, 18, 36, 23, -2, -17, -9, 10, -9, 10, -20, -20, -54, -27, -19, -10, 30, -20, -49, -35, -41, 4, -16, 19, - 8, 7, 21, -67, 23, 38, -1, 9, + 8, 6, 20, -67, 24, 38, -1, 9, 27, 3, -31, -16, 48, 69, 3, 4, -11, 14, -16, -30, -42, 59, -20, 37, - 5, 0, -70, -77, 30, 48, 20, 13, + 5, 0, -70, -77, 31, 48, 20, 13, ], [ 34, 18, 27, 18, -7, -59, -4, 16, 12, -71, 39, -29, 25, 42, -32, 12, 44, -11, -63, -84, 18, -42, -77, 28, - -34, -14, -51, -9, -50, -13, -17, -19, - 1, -33, 42, -5, 2, 64, -23, 9, + -34, -14, -50, -8, -50, -13, -17, -18, + 1, -33, 42, -5, 2, 64, -23, 10, -2, 16, 33, 41, 5, -58, 42, 81, - 8, -33, -18, -76, 28, 82, 30, 45, - -56, 17, -27, 20, 28, 56, -4, 34, + 8, -33, -18, -76, 29, 82, 30, 45, + -56, 17, -27, 19, 27, 56, -4, 34, ], [ - 7, 10, 62, 40, 51, 30, -2, 45, - 5, -12, 19, 7, 36, -25, 22, 15, - -28, -62, -50, -14, -53, -41, 4, 30, - 6, -64, -22, -91, -41, -4, 2, 13, - -11, -33, -72, -52, -14, -37, -39, 49, - 20, -27, 14, -21, 0, -11, 30, 76, - -21, 58, -18, -29, -45, 7, -1, 62, - 68, 23, 7, 13, 14, 13, 3, 79, + 8, 10, 62, 39, 51, 30, -2, 45, + 5, -11, 19, 7, 36, -25, 22, 15, + -28, -63, -50, -14, -53, -41, 4, 30, + 5, -64, -22, -91, -42, -4, 2, 13, + -11, -33, -72, -52, -13, -37, -39, 49, + 20, -26, 14, -21, 0, -11, 30, 76, + -21, 58, -18, -29, -46, 7, -1, 63, + 68, 23, 6, 13, 14, 13, 3, 79, ], [ 42, 0, 13, -2, 48, 21, 13, 12, - -8, 10, -37, 11, 17, 15, -55, 42, - -34, 26, -38, -54, -20, -80, -2, -33, + -8, 10, -38, 11, 17, 15, -55, 42, + -34, 26, -38, -54, -20, -80, -2, -32, 30, -44, -93, -117, -68, -2, -51, 33, 1, 91, 16, -32, 9, -5, 11, 15, 51, -8, 6, 3, -54, 16, -65, 91, 51, 13, 51, -22, 32, -22, 39, 11, - 22, 80, -46, 21, 3, -18, -12, 56, + 22, 80, -47, 20, 2, -20, -12, 56, ], [ 15, 46, -20, -19, 46, 23, 38, 16, 62, -18, -15, -28, 30, -42, 23, 26, - 2, -12, -59, -24, -51, -22, -54, 26, - 26, -42, -21, -68, -61, -5, -55, 10, + 2, -12, -59, -24, -50, -22, -55, 26, + 26, -43, -21, -68, -61, -5, -55, 10, 31, 15, -24, 5, -19, -27, -62, -13, - 65, 72, -29, -38, -30, 39, 40, 10, - 65, 38, -38, 29, -60, 15, -11, 42, - 40, 16, 12, 9, -19, 26, 22, 4, + 65, 72, -29, -38, -31, 39, 40, 10, + 65, 37, -38, 29, -59, 15, -11, 42, + 41, 16, 11, 8, -19, 26, 22, 3, ], [ - 20, 65, 19, 3, 26, -20, -21, 27, - -90, -25, -20, -17, -29, 60, -18, 6, - -29, -51, -25, -35, 8, -25, -5, -10, - 15, 12, -5, 22, -18, -1, -15, 8, - 55, -23, 10, 40, -57, -4, 21, -9, + 20, 65, 20, 3, 26, -20, -21, 27, + -90, -25, -19, -17, -29, 60, -18, 6, + -29, -52, -25, -35, 8, -25, -5, -10, + 15, 12, -5, 22, -18, -1, -14, 8, + 54, -23, 10, 40, -57, -3, 21, -9, 19, 28, -1, 25, 42, 44, 69, 13, - 5, 1, 49, -60, 31, -46, 3, -17, + 6, 1, 49, -59, 31, -46, 3, -17, -35, -19, -6, 8, -8, 56, -66, -3, ], [ 25, 14, 13, 2, -12, 18, -18, -3, - -17, -39, 10, -28, 35, 40, -27, 22, + -17, -40, 10, -28, 35, 39, -27, 22, -8, 40, 14, -21, -89, -10, 18, -34, - 14, -1, 20, 17, 57, -56, 38, -35, + 14, -0, 19, 17, 57, -56, 38, -35, 5, -83, -43, 20, -14, 83, 16, 19, - -16, -4, -11, 20, 23, 22, 27, -8, + -16, -4, -11, 20, 23, 21, 27, -7, -31, -31, -36, 50, 28, 4, 9, -1, -20, 1, 36, -49, 14, -22, -20, 14, ], @@ -4375,84 +4375,84 @@ internal static class TunableEvalParameters internal static readonly short[][] EndGameEnemyBishopTable = [ [ - -52, -28, 2, -3, 30, -13, 14, 17, - 18, -24, -17, -0, -9, 32, 14, 31, - -19, -44, 4, -10, 21, 7, 27, 18, - -12, -1, -48, 12, 28, 4, 21, 14, + -52, -28, 3, -3, 30, -12, 14, 17, + 18, -24, -17, -1, -9, 32, 14, 31, + -18, -44, 4, -10, 21, 7, 27, 18, + -12, -1, -48, 12, 28, 5, 20, 14, -25, 5, 1, -3, 10, 11, -14, 25, - -9, -3, -10, 2, 7, 4, 3, 19, - -8, 1, -20, -10, 4, 3, 11, -4, - -10, -6, -1, -14, -0, 12, -2, -15, + -10, -3, -10, 2, 7, 5, 3, 19, + -7, 1, -19, -10, 4, 3, 11, -4, + -10, -7, -1, -13, -0, 12, -2, -16, ], [ - 15, -41, -66, 9, 9, 55, 36, 74, - -21, -37, -5, 24, 2, -12, 56, 27, - -11, 0, 7, 105, -1, -10, -2, 39, + 14, -41, -65, 9, 9, 55, 37, 74, + -22, -37, -5, 24, 2, -12, 56, 27, + -11, 1, 7, 105, -1, -10, -1, 39, 2, -9, -7, -13, 31, 1, 8, -13, - -4, 2, 2, -4, 10, 16, -3, 17, - 5, -13, -4, 1, -10, -10, 15, -8, - -40, -5, -12, 13, -11, -17, -13, -29, - -32, -24, 3, -15, -5, -24, -25, -27, + -4, 1, 2, -4, 10, 16, -3, 17, + 5, -14, -4, 1, -10, -10, 15, -8, + -40, -5, -11, 13, -11, -17, -13, -28, + -31, -24, 3, -16, -5, -24, -25, -27, ], [ - -43, -59, -64, -23, 49, -2, -11, -21, - -52, -16, -61, -69, 5, 1, -3, 9, - 104, -16, -4, -23, 146, -19, 13, 7, + -43, -59, -64, -22, 49, -1, -10, -22, + -52, -16, -60, -69, 5, 1, -3, 10, + 105, -16, -4, -23, 147, -19, 13, 7, 8, 2, -8, 3, -8, 63, -2, 18, - -11, -0, 11, 11, -2, -5, 34, 25, - 3, 6, -6, 17, 6, -2, -8, 39, - -32, -9, -2, -6, 12, -5, -12, 2, - -21, 13, 10, 12, -10, 32, -21, -9, - ], - [ - -52, 23, 19, -20, 4, -2, 23, -4, - 3, -21, 7, 9, -18, -7, -7, 22, - 1, 95, -28, -45, -19, 36, 1, 6, - 37, -1, -10, 10, -16, -7, -2, 6, - -6, -13, 3, -19, 8, -14, -4, 44, - 0, -7, -14, 0, 2, -11, -12, -4, - -4, -3, 3, -11, -13, 9, -11, -4, - -1, -6, 22, 10, 12, -10, -8, 19, - ], - [ - -1, 6, 2, 60, -51, -35, -5, 4, - -4, -23, 24, -54, -3, -44, 14, -0, - 39, -1, 83, -7, -33, -6, 108, -15, - 4, 46, -3, -15, -1, -17, -2, 24, - 39, -12, -12, 0, 0, 8, 2, -1, - -5, -19, -11, -4, 7, 0, -5, -22, - -23, -13, -10, -1, 3, -2, 6, -34, - -19, -10, 9, 9, 12, 13, -0, -0, - ], - [ - 15, 18, -7, -3, -9, -40, -13, -73, - 10, -3, -11, 12, -37, -22, -24, -21, - -6, -4, -9, 68, -32, -23, -5, 166, - 17, 0, 64, -11, -15, 10, 3, -8, - -3, 49, -12, 2, 3, 3, -5, -5, + -11, -0, 11, 11, -2, -4, 33, 24, + 3, 5, -6, 17, 7, -2, -8, 39, + -33, -9, -2, -6, 12, -5, -12, 2, + -21, 13, 10, 11, -11, 32, -21, -9, + ], + [ + -53, 23, 19, -20, 4, -1, 24, -4, + 3, -21, 7, 9, -18, -6, -8, 23, + 1, 94, -28, -45, -19, 36, 1, 6, + 36, -1, -10, 10, -16, -7, -2, 7, + -6, -12, 3, -19, 8, -14, -4, 43, + 0, -7, -14, -0, 1, -11, -13, -4, + -5, -3, 3, -11, -14, 9, -11, -4, + -1, -6, 22, 10, 11, -10, -9, 20, + ], + [ + -3, 5, 2, 60, -51, -34, -5, 1, + -4, -23, 24, -54, -3, -44, 14, -1, + 39, -1, 85, -7, -33, -6, 108, -15, + 4, 46, -3, -15, -0, -17, -2, 23, + 40, -12, -11, 0, 1, 8, 2, -1, + -5, -18, -10, -3, 7, 1, -5, -22, + -22, -14, -9, -1, 3, -2, 5, -34, + -19, -10, 9, 10, 12, 13, -1, 0, + ], + [ + 16, 18, -7, -3, -9, -40, -14, -72, + 11, -3, -11, 12, -37, -21, -24, -21, + -6, -3, -9, 68, -32, -23, -5, 168, + 17, 1, 64, -11, -15, 10, 3, -9, + -2, 49, -12, 2, 3, 3, -5, -5, 21, -9, -15, -9, 2, -18, 0, -4, - -19, -2, -8, 6, -7, 13, -17, 10, - -12, -6, 16, -6, 3, 8, 16, -0, + -20, -2, -8, 6, -7, 12, -18, 10, + -11, -7, 16, -7, 2, 7, 16, -1, ], [ - 15, 12, 39, 27, 12, -31, -115, -29, + 15, 12, 39, 27, 12, -31, -114, -29, 17, 4, 4, 36, -3, -4, -16, -90, - 20, 10, -5, 7, 138, 12, -5, 17, + 20, 10, -4, 8, 138, 12, -5, 17, 5, 10, 14, 26, 6, 0, 7, 2, -12, 8, 18, 10, -2, 13, -2, -17, -6, 8, -1, -3, 17, -5, -10, -5, - 0, -17, -13, 4, 1, -4, -11, -25, - -32, -21, -1, -7, 5, 11, -9, -32, + 0, -17, -13, 4, 1, -4, -11, -26, + -31, -21, -1, -7, 5, 11, -10, -32, ], [ - 9, 6, -19, 9, 10, -15, 27, -27, - -16, 3, 14, 13, -43, 11, -29, -3, - -7, 4, -5, 13, 9, 134, -1, 28, + 10, 6, -19, 10, 10, -15, 27, -27, + -16, 3, 14, 13, -42, 11, -29, -3, + -7, 5, -5, 13, 9, 134, -1, 28, 2, -10, 1, 31, 1, -11, 19, 3, -6, -5, 24, 2, 10, 5, -18, 21, -1, 2, -3, 3, 10, -11, 0, -12, 8, -15, -12, -2, -4, -8, -11, -36, - -15, -19, -11, -3, -10, -8, -24, -13, + -15, -19, -11, -3, -10, -8, -24, -14, ], [ -58, 8, -23, 11, 17, 1, 10, 7, @@ -4462,77 +4462,77 @@ internal static class TunableEvalParameters 6, 11, 7, 9, 3, 10, -9, 5, 7, 14, 6, 12, 10, -10, 2, 3, 17, -1, 10, 8, -6, 15, 5, 0, - 3, 23, 13, 4, 9, -10, -10, -4, + 3, 24, 13, 4, 9, -9, -10, -4, ], [ 5, -4, -22, -7, 24, 9, 28, 8, - -41, 8, -16, 15, 9, 4, -1, -3, + -41, 8, -16, 15, 8, 4, -1, -3, -9, -11, -3, -25, -5, -18, 1, -12, - -11, 1, -17, -1, -16, -5, -7, -4, + -11, 1, -18, -1, -16, -5, -7, -4, 10, -5, 9, 3, 13, -20, -3, -13, 6, 11, -12, 10, 6, 1, -4, -2, - 19, 12, 13, 13, 13, 8, -3, 1, + 19, 12, 13, 13, 13, 8, -3, 2, 9, 8, 11, 8, -1, 10, -1, -2, ], [ -13, -8, 3, 14, 22, 12, 21, 13, -2, 0, 8, -1, 14, 2, -3, -4, -5, -1, -25, -25, -34, -15, -0, 2, - -7, -14, -1, -5, -4, -20, -1, 5, + -7, -14, -1, -5, -4, -21, -1, 5, -4, -9, 3, -1, 4, 3, -7, -3, - 4, 7, 5, 4, 12, -5, -5, -15, + 4, 7, 5, 4, 12, -5, -5, -14, 10, 7, 7, 10, 4, -5, -7, 7, - -3, -3, 18, 3, 8, 8, 10, 9, + -3, -3, 18, 3, 8, 8, 10, 10, ], [ - -11, -0, -4, 5, 9, 12, -1, -27, + -11, -1, -4, 5, 9, 12, -1, -27, 1, -6, 1, 8, -3, 3, -12, -3, - 10, -6, -9, -34, -17, -18, -8, -13, - 4, 7, -14, -4, -11, -6, 1, -5, - 13, -9, 6, 7, 6, 2, 10, -20, + 10, -6, -9, -34, -18, -18, -8, -13, + 4, 7, -14, -4, -11, -6, 1, -4, + 13, -9, 6, 7, 5, 2, 10, -20, -5, -7, 1, 12, 6, 7, 4, -0, 3, 3, 12, 7, 12, 7, 3, 23, - 4, 9, 24, 10, 0, 16, -17, 2, + 4, 9, 23, 10, 0, 15, -16, 2, ], [ - 8, 9, 1, 30, -3, 5, -5, 14, - 17, 2, 11, -1, 21, -20, -14, -27, + 8, 9, 1, 30, -4, 5, -5, 14, + 17, 2, 11, -1, 21, -21, -14, -27, 3, 5, -9, -3, -7, -8, -24, -16, -2, 2, 2, -16, 1, -18, 8, -16, 14, -6, -9, 15, -8, 2, -8, 7, 6, -19, 5, -0, 14, -1, 5, 3, - -9, -9, 1, 6, 9, 10, -11, 6, + -9, -9, 1, 7, 9, 10, -11, 6, -2, -5, 14, 1, 3, 7, 6, 5, ], [ - 25, 6, 31, 13, 1, -14, -9, -23, + 26, 6, 31, 13, 1, -14, -9, -22, 11, 6, -6, 8, -6, 10, -19, -73, 8, 17, 6, -14, -8, -35, -2, -27, 4, 12, 4, 13, -16, -5, -11, -3, -7, 12, 8, -4, 9, -4, 10, -9, 5, 6, -10, 11, 4, 2, -9, 22, - 6, -11, 7, 1, 12, 7, -1, 3, + 6, -11, 7, 1, 12, 7, -1, 4, -14, -5, -0, 1, 5, 20, 8, 10, ], [ -4, 25, 19, 17, -7, 10, 8, 15, - 5, -4, 10, 10, -2, -4, -35, -68, - 15, -8, -6, 4, 5, -14, -36, -56, + 5, -4, 11, 10, -2, -4, -36, -68, + 15, -7, -6, 4, 5, -14, -36, -56, -2, 5, 13, 19, 14, 1, 5, 0, 8, 3, 16, 24, 4, 7, -3, -7, -12, 4, 1, 10, 11, 1, 7, -24, - -8, -2, 2, 6, 8, -6, -3, 5, - -7, -10, -2, 8, 12, 7, -6, -5, + -8, -2, 2, 6, 8, -6, -2, 5, + -7, -10, -2, 8, 12, 6, -6, -5, ], [ -24, -12, -6, -19, 6, 10, 8, 11, -12, -22, -14, -23, -9, 32, 24, 33, - -15, -50, -20, 19, 5, 25, 35, 12, + -15, -50, -21, 19, 5, 25, 35, 12, -33, -2, -7, -5, 13, 14, -21, 5, -32, -13, 7, 9, 16, 29, 16, 22, - -9, 32, -11, -5, 8, -13, -3, 29, - 24, 21, 24, -0, -45, -6, -43, -8, - 2, 41, -13, 12, -1, -29, 17, -38, + -9, 32, -11, -5, 8, -13, -3, 30, + 24, 21, 24, -1, -45, -7, -43, -8, + 3, 41, -13, 12, -1, -28, 17, -38, ], [ -28, -34, -35, -13, 39, 23, 14, 12, @@ -4545,44 +4545,44 @@ internal static class TunableEvalParameters 20, -3, -3, 12, 8, -47, -29, -57, ], [ - -12, -28, -26, -14, -3, -0, 31, 43, - 14, -38, -22, -1, 21, 22, 5, 32, - 17, 8, -14, 0, 32, 4, 35, -12, + -12, -28, -26, -15, -4, -0, 31, 43, + 14, -38, -22, -1, 21, 21, 5, 32, + 17, 8, -14, 0, 32, 3, 35, -12, 17, 25, 13, 15, 21, 27, -15, 13, 42, 22, 23, 8, 11, -30, -1, -15, -27, 47, -7, 42, -20, 1, -5, -33, - -1, -5, -20, 5, -7, -35, -44, -61, - 23, -0, -11, -19, -16, 1, -26, -46, + -1, -5, -21, 5, -7, -35, -44, -61, + 23, -0, -11, -19, -15, 2, -25, -47, ], [ - 7, 10, -22, -15, 7, -12, 4, 0, + 8, 10, -22, -15, 7, -12, 4, 0, 35, -3, -5, 4, -15, 9, 9, 36, 12, 20, -14, -8, 1, 2, 5, 14, 22, 20, 21, 2, 24, 5, 21, 20, 11, 11, 25, 17, -1, 4, 1, -12, -10, -19, 21, 15, 8, -5, -33, -37, - -12, -33, -10, -4, -2, 19, -22, 13, + -12, -33, -10, -4, -1, 19, -22, 13, 1, 11, -20, -15, -13, -19, -41, -68, ], [ 23, 2, -3, 14, -10, -9, -25, -4, 10, 6, 12, -0, -14, -7, -13, 43, - -9, 10, -2, -0, -16, -20, 10, 18, - -17, 9, 21, 27, -4, 24, 22, 32, + -9, 10, -2, -1, -16, -20, 10, 18, + -17, 9, 21, 27, -3, 23, 22, 32, 1, -16, 1, 17, 9, 17, 8, -8, -10, -5, -22, -8, 19, 42, 6, -28, 5, -35, -23, -1, -8, -1, -16, -16, - -42, 16, -15, 1, -21, -4, 15, -9, + -42, 16, -14, 1, -21, -4, 15, -9, ], [ 25, 59, 11, -4, -7, 20, -11, -20, - 19, 22, 26, 6, -12, -6, -43, -2, + 19, 22, 26, 6, -12, -6, -44, -2, 5, 6, 5, 30, 3, -13, -12, 26, -17, 10, 11, 31, 13, 15, 29, -12, -16, -9, -8, 9, 6, 24, 38, 2, -55, -28, -2, -7, 25, -13, 27, -9, -41, -48, 0, 1, -7, -23, -1, -2, - -20, -30, 6, 2, -8, -10, -18, 4, + -21, -30, 7, 2, -8, -10, -18, 4, ], [ 29, 34, 41, 23, -10, -15, -12, -18, @@ -4591,7 +4591,7 @@ internal static class TunableEvalParameters -33, -17, 0, 26, 12, 23, 14, 38, -57, -18, 7, -12, 11, 12, 60, 10, -28, 8, -24, -7, -31, 47, -5, 18, - -13, -49, -11, -4, 25, -9, 2, -12, + -13, -48, -11, -4, 25, -9, 2, -12, -36, -7, -11, 15, -6, -3, -19, -6, ], [ @@ -4602,405 +4602,405 @@ internal static class TunableEvalParameters -30, 18, -15, -31, 27, 9, 18, 72, -0, -35, -15, -13, -31, -3, 50, 25, -50, -32, -36, -28, -2, -5, -11, -56, - -2, 15, -49, -5, 16, 23, 4, 35, + -2, 15, -49, -5, 16, 23, 4, 34, ], ]; internal static readonly short[][] MiddleGameEnemyRookTable = [ [ - -72, 26, 77, 34, 35, 48, 2, 18, - -80, 99, 85, 83, 30, 33, 21, 15, - -11, 52, 69, 60, 40, 12, 19, -21, - 51, 14, 41, 28, 4, 8, -13, -39, - -34, 3, -8, -23, -37, -31, -1, -28, - -42, 3, -32, 5, -50, -29, -29, -27, - -43, -4, 1, -16, -33, -23, -41, -32, - -27, -23, -17, -17, -27, -10, -46, -48, + -72, 26, 76, 34, 35, 48, 2, 18, + -80, 98, 86, 83, 30, 33, 21, 15, + -11, 52, 69, 60, 39, 12, 19, -21, + 51, 14, 42, 29, 4, 8, -13, -39, + -33, 3, -7, -22, -37, -31, -2, -28, + -42, 2, -32, 5, -50, -29, -29, -27, + -43, -4, 1, -16, -33, -23, -42, -31, + -27, -23, -16, -16, -27, -11, -47, -49, ], [ - -147, -112, -116, 38, 124, 29, 54, 28, - 50, -72, -7, 75, 37, 28, 3, 6, - 2, 57, 51, 55, 41, 11, 9, -11, - 18, 28, -1, 14, 23, -14, 7, -10, + -147, -113, -117, 37, 123, 28, 54, 29, + 50, -73, -6, 75, 37, 27, 3, 6, + 2, 56, 51, 56, 41, 11, 9, -11, + 18, 27, -1, 14, 23, -14, 7, -10, -12, 4, 3, 3, -4, -7, -9, -16, - -14, 4, -6, -7, -15, -22, -16, -16, - -28, -5, 1, -8, -7, -5, -8, -26, - -10, -1, -0, -4, -7, -2, -30, -29, - ], - [ - 64, -105, -88, -95, 120, 69, 93, 43, - 10, -6, -78, 54, 21, 11, -7, 12, - 11, 21, 16, 24, 14, 5, 17, 2, - -6, 14, 30, 17, 4, 6, 1, -4, - -13, 12, 4, -3, -2, -9, -7, -15, - -18, -16, 4, -2, -19, -14, -16, -24, - -16, 8, -4, -6, -2, -1, -23, -25, - -15, -9, 5, -6, -5, -2, -28, -25, - ], - [ - 61, 12, -96, -69, -44, 12, 68, 25, - 32, 30, -21, -30, 64, 29, 43, 10, - 4, 6, 6, 53, 4, 49, 11, 17, - 3, 25, 18, 29, 1, 22, -1, -18, - -2, -3, -3, -21, -2, -10, -22, 1, - -1, -7, -8, -6, -23, -47, 3, -29, - -13, -12, 3, -11, -21, -3, -21, -22, - -10, -11, -4, 1, -1, 2, -26, -26, - ], - [ - 63, 44, 64, -66, -88, -98, 69, 22, - 48, 32, 29, 62, -51, -12, -1, 35, - 19, 11, 26, -2, 36, 22, 58, 31, - 3, -6, -9, 10, 6, -17, 41, 8, - -12, -22, 2, -12, 11, -24, -11, -11, - -14, -18, -9, -20, -19, -16, 10, -15, - -21, -9, -15, -19, -2, -8, -12, -24, - -21, -17, -9, -8, -1, -3, -20, -21, - ], - [ - 58, 107, 93, 136, -69, -78, -78, 97, - 12, 24, 30, 48, 31, 8, 48, 32, - -28, -14, 10, 12, 21, 64, 27, -14, - -26, -18, 4, 1, 5, 25, 10, 11, - -25, -33, -30, -25, -8, 1, -6, -5, - -21, -41, -28, -23, -13, -8, 2, -6, - -45, -42, -30, -12, 3, -14, -22, -19, - -27, -28, -25, -14, -4, -7, -20, -20, - ], - [ - 8, 54, 10, 45, 107, -245, -100, -76, - 6, -7, 12, 30, 18, 34, 42, 29, - -9, -3, 8, 5, 33, 34, 25, 6, - -6, -7, 7, -2, 17, 26, 30, 13, - -6, -9, -6, -7, 3, 8, 9, 6, - -3, -17, -6, -11, -10, 3, 18, 1, - -18, -13, 1, -9, 0, 2, 4, -13, - -9, -18, -10, -6, -5, 5, -14, -14, - ], - [ - 18, 4, 43, 40, 118, 51, -97, -97, + -15, 4, -6, -7, -15, -22, -16, -16, + -27, -4, 2, -8, -7, -5, -7, -26, + -10, -0, 1, -4, -7, -3, -30, -30, + ], + [ + 65, -106, -88, -95, 117, 67, 93, 44, + 10, -6, -78, 54, 22, 11, -6, 12, + 10, 20, 16, 24, 14, 5, 18, 2, + -6, 13, 29, 17, 4, 6, 2, -4, + -13, 12, 3, -3, -2, -9, -6, -15, + -18, -17, 4, -1, -19, -14, -15, -24, + -16, 8, -4, -6, -1, -1, -21, -24, + -15, -9, 5, -6, -5, -3, -28, -26, + ], + [ + 60, 11, -96, -69, -44, 12, 69, 26, + 31, 29, -22, -30, 65, 28, 44, 10, + 3, 6, 5, 54, 4, 49, 11, 18, + 2, 26, 18, 29, 0, 22, -0, -17, + -3, -3, -3, -22, -2, -10, -21, 2, + -2, -7, -9, -6, -23, -47, 3, -28, + -13, -12, 4, -11, -20, -3, -20, -20, + -10, -12, -5, 1, -2, 1, -26, -25, + ], + [ + 63, 45, 65, -67, -89, -99, 68, 20, + 48, 32, 29, 60, -52, -12, 0, 36, + 19, 11, 26, -3, 37, 22, 59, 31, + 3, -6, -8, 11, 8, -16, 42, 8, + -13, -22, 2, -12, 11, -24, -11, -12, + -16, -18, -8, -19, -19, -15, 10, -16, + -23, -8, -13, -17, -1, -8, -12, -25, + -21, -18, -9, -8, -1, -3, -20, -22, + ], + [ + 58, 107, 93, 136, -69, -77, -77, 97, + 12, 23, 30, 48, 31, 9, 48, 33, + -29, -14, 10, 12, 20, 65, 27, -13, + -27, -19, 4, 1, 5, 25, 10, 12, + -26, -33, -30, -25, -8, 1, -5, -4, + -21, -41, -27, -22, -13, -8, 3, -6, + -44, -42, -30, -11, 4, -14, -21, -17, + -28, -28, -25, -14, -4, -8, -20, -20, + ], + [ + 7, 53, 10, 45, 107, -245, -101, -76, + 5, -7, 12, 30, 18, 34, 41, 31, + -9, -3, 8, 5, 33, 34, 25, 8, + -6, -7, 7, -2, 16, 26, 30, 13, + -6, -9, -6, -7, 3, 8, 9, 7, + -3, -17, -6, -12, -11, 3, 18, 1, + -18, -13, 1, -9, 0, 2, 4, -12, + -10, -18, -10, -6, -5, 5, -13, -14, + ], + [ + 17, 3, 43, 40, 118, 51, -97, -98, -6, 9, 27, 18, 47, 64, 88, -72, - -40, -28, 3, 17, 38, 68, 29, 3, - -20, -21, -15, -3, 15, 26, 38, 45, + -40, -28, 3, 17, 38, 68, 29, 4, + -20, -21, -15, -3, 14, 26, 38, 45, -19, -12, -15, -31, 9, 23, 17, 5, - -19, -40, -18, -17, -23, 2, 8, 6, - -38, -38, -13, -25, -12, -7, 5, -10, - -26, -36, -23, -19, -13, 1, -6, -24, + -20, -40, -18, -17, -23, 2, 8, 7, + -38, -38, -13, -25, -12, -7, 6, -9, + -27, -36, -23, -19, -13, 0, -5, -24, ], [ 59, -46, 38, 56, 31, 19, 3, 8, - -65, -18, 2, 52, 42, 36, 48, 22, - 17, -57, 57, 63, 68, 39, 17, 15, - 6, 53, 34, 13, 17, 11, -18, -5, + -65, -18, 2, 52, 42, 36, 48, 21, + 18, -57, 57, 64, 68, 39, 17, 15, + 7, 53, 34, 14, 17, 11, -18, -5, -17, -23, 11, -6, -21, -11, -26, -20, - -14, 2, -7, -37, -23, -19, -30, -27, - -43, -8, -12, -35, -17, -15, -25, -29, - -14, -18, -3, -22, -12, -12, -45, -35, - ], - [ - 16, 26, -32, -42, 33, -3, 46, 4, - -14, -44, -26, -45, 56, 50, 62, 24, - 1, 11, -20, 46, 26, 21, 28, 20, - -12, 29, 31, 45, 21, 30, 23, 9, - -26, 6, 16, -21, -6, 4, -22, -11, - -23, -10, -13, 1, -15, -37, -6, -16, - -36, -7, 4, -10, -11, -17, -26, -25, - -16, -7, 2, -10, -14, -12, -22, -33, - ], - [ - 4, 48, -7, 17, -28, 76, 34, 14, - -1, -5, -56, 16, -97, 32, 52, 36, - 27, 13, 33, 9, 16, 28, 43, 41, - -20, -5, 14, 17, 19, 5, 13, 18, - -32, -11, -2, -28, 8, -29, -3, 12, - -19, -22, -5, 19, -19, -23, -11, -31, - -10, 11, 6, 0, -9, 3, -40, -37, - -21, -17, 1, -7, -14, -11, -27, -42, - ], - [ - -4, 61, 41, -48, -6, 21, 2, 69, - 29, 49, 22, -58, 33, 28, -4, 31, - 27, 40, 36, 7, -5, 70, 21, 7, - -4, -9, -11, -4, -18, 27, 30, -29, - -33, -38, -27, -33, 16, -21, 2, -18, - -24, -16, 2, 11, -0, -10, -7, -15, - -16, -5, 2, 4, 10, -19, -37, -33, - -21, -23, -18, -7, -9, -5, -28, -33, - ], - [ - -6, 8, 12, 22, -35, 14, -8, 22, - 28, 30, 58, 50, -33, 12, -10, -10, - 5, 28, 31, 28, 58, 7, 89, 34, + -14, 2, -8, -37, -23, -19, -30, -28, + -43, -7, -12, -35, -16, -14, -25, -29, + -14, -18, -3, -22, -13, -12, -46, -36, + ], + [ + 16, 26, -32, -42, 33, -2, 46, 4, + -13, -44, -26, -45, 56, 51, 62, 24, + 1, 10, -20, 47, 26, 21, 27, 19, + -12, 29, 31, 45, 21, 31, 23, 8, + -26, 5, 16, -20, -6, 4, -22, -11, + -23, -10, -12, 1, -15, -37, -6, -16, + -36, -7, 5, -10, -11, -17, -26, -25, + -16, -8, 2, -9, -14, -12, -23, -35, + ], + [ + 3, 48, -8, 17, -28, 76, 34, 15, + -1, -5, -56, 16, -96, 32, 52, 36, + 27, 13, 32, 9, 16, 28, 43, 41, + -20, -5, 14, 17, 19, 6, 13, 18, + -32, -10, -2, -28, 8, -28, -3, 13, + -20, -22, -5, 20, -19, -22, -11, -31, + -10, 11, 5, 1, -9, 3, -40, -37, + -22, -17, 0, -7, -14, -11, -27, -43, + ], + [ + -4, 62, 41, -48, -7, 21, 2, 69, + 28, 49, 22, -58, 33, 28, -3, 32, + 27, 40, 36, 7, -5, 71, 21, 7, + -4, -9, -11, -5, -17, 27, 30, -29, + -33, -38, -27, -33, 16, -21, 3, -18, + -24, -16, 1, 11, -0, -9, -7, -15, + -16, -5, 2, 4, 11, -19, -37, -32, + -22, -24, -19, -7, -9, -5, -28, -34, + ], + [ + -6, 8, 12, 22, -34, 14, -7, 23, + 28, 30, 58, 50, -34, 12, -10, -9, + 5, 28, 31, 28, 58, 6, 88, 35, 9, 4, -3, 9, 17, 46, 32, -22, - -29, -35, -44, -4, 3, -10, 7, -1, + -29, -35, -44, -4, 3, -10, 7, -0, -4, -37, -18, -30, -19, -2, 21, -21, - -16, -32, -22, -20, -27, 0, -2, -40, - -26, -27, -22, -18, -6, -2, -14, -27, + -16, -32, -22, -20, -26, 1, -2, -39, + -26, -28, -22, -18, -6, -3, -14, -27, ], [ - 12, 7, -10, 11, 28, -2, 61, 67, - 22, 34, 23, 50, 23, 52, -55, 51, + 12, 8, -10, 11, 28, -2, 61, 67, + 22, 34, 23, 50, 22, 52, -55, 51, -0, 20, 21, 32, 61, 88, -77, 18, -8, 0, -6, 40, 35, 50, 48, 1, - -32, -41, -33, -17, -3, 9, -12, -14, - -20, -31, -38, -22, -4, -12, 5, -4, - -34, -33, -38, -22, -17, -16, -11, -36, - -29, -35, -38, -25, -16, -11, -32, -33, + -32, -41, -33, -17, -3, 9, -13, -14, + -20, -31, -38, -23, -4, -12, 5, -4, + -34, -33, -38, -22, -17, -16, -11, -35, + -30, -35, -38, -25, -16, -11, -32, -33, ], [ - -4, -15, -20, -12, 10, 60, 27, 46, - 23, 9, 26, 64, 59, 51, 80, -19, - -10, -10, 14, 24, 64, 107, 138, -63, + -4, -15, -20, -12, 11, 60, 28, 46, + 22, 9, 26, 64, 59, 51, 80, -19, + -10, -10, 15, 24, 64, 107, 138, -63, -38, -5, -6, -9, 24, 24, 55, 50, -17, -34, -37, -23, -17, 8, 7, -11, - -21, -31, -37, -32, -24, -11, -2, -24, - -34, -36, -32, -29, -27, -11, -26, -24, - -30, -34, -40, -23, -27, -11, -21, -34, + -22, -31, -37, -32, -24, -11, -2, -24, + -34, -36, -32, -29, -27, -11, -26, -23, + -30, -34, -39, -24, -27, -12, -21, -34, ], [ - -15, 7, 27, 14, -23, 7, 34, 3, - 6, -3, 86, 12, 45, 19, -17, -6, - -2, 87, 60, 33, 15, -7, -28, -16, - -9, 101, 94, 112, 24, -23, 28, 16, - 12, 66, 66, 31, 24, 13, -15, -124, - -59, 17, -26, 15, 53, -2, -105, -74, - -65, -21, -24, -13, -0, -29, -98, -19, - -52, -34, -5, -24, -6, -59, -43, -83, + -15, 7, 27, 14, -23, 7, 34, 2, + 6, -3, 86, 13, 46, 19, -17, -6, + -2, 87, 59, 34, 15, -7, -28, -16, + -9, 101, 94, 112, 25, -24, 28, 16, + 11, 66, 66, 31, 24, 13, -14, -124, + -59, 17, -25, 15, 54, -3, -105, -74, + -65, -21, -24, -12, -0, -28, -98, -19, + -52, -34, -6, -23, -7, -59, -44, -84, ], [ - 7, 0, 37, 30, -50, -0, -13, -1, - -10, 49, 80, -27, 4, 39, -18, -45, - -16, 13, 26, -58, -88, -83, -5, -34, + 7, 1, 37, 30, -50, -0, -13, -1, + -10, 50, 80, -27, 4, 39, -18, -45, + -16, 13, 26, -58, -87, -83, -5, -34, 32, -4, -6, -47, -13, 27, -35, 7, - -19, -20, -6, 13, -9, 25, -14, -22, + -19, -20, -6, 13, -8, 25, -14, -22, -24, -4, -40, 2, 40, 11, -15, -31, - -6, 15, -24, 22, 68, 12, -73, 24, - 82, -11, 18, 113, 31, 29, 9, 2, + -6, 15, -25, 22, 68, 12, -73, 24, + 81, -11, 18, 113, 31, 29, 9, 2, ], [ - -37, -56, -42, 14, 14, 38, -9, 5, - -7, 2, -25, -1, 57, 5, -7, -43, - 26, 63, -22, 19, -50, -18, 4, -33, + -37, -56, -42, 15, 15, 38, -9, 5, + -7, 1, -25, -1, 57, 5, -6, -43, + 26, 64, -22, 19, -49, -18, 4, -33, 3, 14, -5, -7, -24, 3, -10, -46, -8, -10, -24, 42, 18, -20, -27, -38, -75, -29, -13, -23, 25, -9, 15, -5, - -39, -65, -3, -23, -11, 7, -28, -33, - 89, 107, 53, 59, 106, 17, 58, 57, + -39, -66, -3, -23, -11, 7, -28, -32, + 89, 107, 52, 59, 106, 17, 58, 56, ], [ - 1, -12, 67, -38, -25, 5, 24, 5, - -31, -35, 4, -65, -43, -37, -33, -19, - -1, -12, -42, -28, -57, -49, -16, -26, + 1, -12, 67, -38, -25, 5, 25, 5, + -31, -34, 4, -64, -42, -37, -33, -19, + -1, -12, -42, -28, -57, -49, -16, -25, 7, 16, -19, -23, -22, 9, -79, 7, 35, 8, 38, -17, 23, 13, 0, -18, - -58, -1, -51, 19, 25, 46, 29, -16, - -36, -1, -32, -27, -25, 31, 40, -13, - 31, 62, 91, 37, 115, 117, 51, 48, + -58, -1, -50, 19, 25, 45, 29, -16, + -36, -1, -32, -27, -25, 31, 39, -13, + 31, 62, 91, 37, 114, 117, 51, 47, ], [ - -3, 12, 29, -27, -10, -15, 16, -18, - -28, 14, -7, 45, -2, -73, -25, -32, - -49, -54, -1, -23, -2, -19, 7, 24, + -2, 12, 29, -27, -10, -14, 16, -18, + -28, 14, -7, 46, -2, -73, -25, -32, + -49, -54, -2, -23, -2, -19, 7, 24, -61, 8, -43, -3, -18, -3, -56, -67, - 5, 34, -16, 10, -9, 52, 16, 32, - -56, -15, 6, -11, -7, -1, -11, 33, - -12, 14, -19, 1, -21, 88, 69, 4, - 23, 11, 20, -12, 49, 134, -9, 83, + 5, 34, -16, 9, -9, 52, 17, 32, + -56, -15, 7, -11, -7, -1, -11, 33, + -12, 14, -18, 0, -21, 88, 69, 5, + 21, 11, 21, -11, 50, 133, -10, 82, ], [ - 2, -54, -33, -48, 19, 11, -54, 9, - -25, 48, -36, -21, 44, 19, 38, -43, + 2, -54, -32, -48, 19, 11, -54, 9, + -25, 48, -36, -21, 44, 19, 39, -43, 9, 56, -11, 42, -23, 35, -3, 38, - -64, -19, -14, 17, 22, 11, -11, 17, + -64, -20, -14, 17, 22, 11, -11, 17, -20, 45, 38, -7, 28, -17, 9, -10, -35, -17, 1, -28, -52, -3, -35, -43, 16, -46, 6, 55, -38, -60, 29, 16, -62, -20, 23, 68, 48, 37, 54, 37, ], [ - -1, -53, -46, 46, -51, 50, 24, -35, + -1, -53, -46, 46, -51, 50, 25, -35, -43, -13, 15, -50, -80, -17, 13, -8, - -40, -15, -15, -17, -2, 13, 12, 20, + -40, -16, -15, -17, -2, 13, 12, 20, -62, 38, 32, -37, 37, 57, 16, 30, - 20, -7, 27, 65, 8, 9, -3, -3, - 7, -21, -30, -25, 50, 23, -5, -47, + 20, -7, 27, 65, 8, 10, -3, -3, + 7, -21, -31, -25, 50, 24, -5, -47, 5, -2, -49, 15, -11, -38, 10, 8, - 8, -3, 9, 49, 64, -1, 16, 35, + 7, -3, 9, 50, 64, -2, 15, 34, ], [ - -4, -23, -43, -29, -12, 36, -52, -43, - -24, -62, -15, -29, 3, 13, 20, -22, - -20, 4, -7, -28, 5, -88, -30, 1, + -3, -23, -43, -29, -12, 36, -52, -43, + -24, -62, -15, -29, 3, 13, 20, -21, + -20, 4, -7, -28, 5, -88, -29, 1, 15, 4, 15, -23, -27, 64, 44, 24, 16, 30, 6, 94, 18, 22, 18, 5, -34, 19, -19, -16, 2, -26, 41, 16, -1, 15, -24, -33, 17, 16, 37, 11, - -35, 13, 20, -6, -20, 15, 72, 43, + -35, 13, 20, -6, -21, 15, 72, 43, ], ]; internal static readonly short[][] EndGameEnemyRookTable = [ [ - -43, -3, -16, 11, 24, 18, 41, -1, - -100, -8, -31, -14, 17, 5, 18, 15, + -43, -3, -15, 11, 24, 18, 41, -1, + -99, -7, -32, -14, 17, 5, 18, 15, -3, -4, -18, 3, 23, 16, 19, 7, -70, -9, -7, -12, 24, 11, 28, 19, - 14, 11, 9, 17, 43, 10, 18, 14, - -23, -16, 3, -17, 18, 3, 3, -15, - -19, 3, -15, -6, 15, -21, -3, -13, - -8, -1, 2, -5, 14, -4, 4, 1, - ], - [ - -141, -130, -125, 56, 16, 79, 45, 64, - -2, 10, 28, -29, 5, 20, 20, 21, - -9, -18, -18, -14, 5, 21, 20, 23, - -11, -2, 23, 5, 0, 27, 11, 16, - 5, -11, -2, -4, 13, 21, 19, 12, - -15, -20, -4, 4, 16, 23, -0, 4, - -9, -8, -8, -7, 4, 7, -14, -8, - -15, -26, -14, -4, 0, 17, 1, 4, - ], - [ - -25, -149, -164, -168, -12, 52, 31, 80, - 17, 32, -139, -2, 22, 26, 44, 27, - 1, -0, 3, 11, 4, 23, 29, 31, - 5, 7, -1, 26, 8, 17, 21, 42, - -5, -8, 19, 19, 22, 19, 10, 18, - -8, 2, -7, 8, 7, 9, 14, 18, - -32, -39, -10, 7, -10, 2, 35, 9, - -3, -9, -15, 5, 2, 14, 5, 6, - ], - [ - 35, 79, -116, -107, -112, 88, 44, 97, - 19, 12, 34, -33, 2, 8, 17, 36, - 17, 15, -0, -43, 7, -27, 40, 19, - 2, -11, -6, -23, -5, -8, 4, 30, - -15, 1, 1, 4, -10, -2, 18, -2, - -21, -12, -8, -12, -5, 24, -6, 23, - -27, 12, -17, -1, 0, -20, 0, -10, - 2, 2, -6, -12, -7, -1, -2, -3, - ], - [ - 26, 69, 43, -138, -145, -140, 66, 96, - 10, 22, 11, 15, -75, 47, 30, 19, - 17, 16, -7, 11, -41, 5, -20, 3, - 18, 29, 23, 4, -7, 14, -12, -7, - 5, 25, -1, 11, -23, 12, 22, 7, - 3, 4, 0, 2, -5, -4, -17, -5, - -10, 4, 7, -2, -24, -4, 2, -0, - 10, 7, 4, -3, -14, 0, -7, -9, - ], - [ - 64, 51, 69, -6, -127, -144, -144, -49, - 21, 20, 23, -4, -7, -41, 20, 13, + 14, 11, 9, 17, 44, 10, 18, 14, + -22, -15, 3, -17, 18, 3, 3, -15, + -20, 3, -15, -6, 15, -21, -3, -13, + -8, -1, 2, -5, 14, -4, 4, 0, + ], + [ + -140, -130, -125, 56, 16, 80, 44, 64, + -1, 11, 28, -29, 6, 20, 20, 21, + -9, -17, -19, -14, 5, 21, 20, 23, + -11, -2, 23, 5, 1, 27, 11, 16, + 5, -10, -2, -4, 13, 21, 19, 12, + -14, -20, -4, 4, 16, 24, -0, 4, + -9, -9, -8, -7, 4, 7, -15, -9, + -15, -26, -14, -4, 0, 17, 0, 3, + ], + [ + -27, -149, -163, -168, -10, 53, 31, 79, + 18, 32, -139, -2, 23, 27, 43, 27, + 2, 0, 4, 11, 4, 23, 28, 31, + 5, 8, -1, 26, 8, 18, 20, 41, + -5, -8, 20, 19, 22, 20, 10, 18, + -8, 3, -6, 8, 7, 9, 13, 18, + -33, -40, -10, 7, -10, 2, 34, 7, + -3, -9, -14, 4, 1, 14, 4, 5, + ], + [ + 34, 79, -116, -107, -112, 88, 44, 96, + 20, 12, 35, -33, 2, 9, 17, 36, + 17, 15, 0, -43, 7, -27, 40, 19, + 2, -11, -6, -22, -5, -8, 3, 29, + -15, 1, 2, 5, -10, -1, 18, -3, + -20, -12, -8, -12, -5, 24, -6, 22, + -27, 11, -17, -1, -0, -21, -0, -12, + 2, 3, -6, -12, -7, -1, -2, -5, + ], + [ + 26, 68, 43, -137, -144, -139, 66, 97, + 11, 22, 12, 15, -74, 48, 29, 20, + 17, 15, -6, 11, -40, 5, -20, 3, + 18, 29, 23, 4, -8, 14, -13, -7, + 4, 25, -1, 11, -24, 13, 22, 7, + 4, 4, 0, 2, -4, -3, -17, -4, + -9, 4, 6, -2, -24, -3, 1, -1, + 11, 7, 4, -3, -15, 0, -9, -10, + ], + [ + 64, 51, 69, -5, -127, -143, -143, -50, + 21, 20, 23, -4, -7, -41, 20, 12, 44, 38, 40, 3, -19, -38, 7, 25, - 35, 37, 15, 2, -10, -17, 8, 10, - 7, 23, 38, 19, -3, -8, 11, 22, + 35, 38, 16, 2, -9, -17, 8, 10, + 7, 23, 39, 19, -3, -7, 11, 21, -1, 21, 26, 6, -18, -7, -12, -30, - 14, 15, 23, -2, -13, -18, -9, -7, - 9, -0, 10, 0, -23, 2, -13, -23, + 13, 15, 23, -2, -14, -18, -10, -9, + 9, 0, 10, 1, -23, 3, -13, -24, ], [ - 107, 90, 123, 81, 44, -361, -247, -211, - 28, 44, 38, 17, 15, 32, -46, 9, - 23, 35, 32, 32, -2, -6, -5, -2, - 23, 38, 21, 23, 12, 1, -13, -4, - 17, 28, 21, 18, 8, 8, 1, -18, - 9, 14, 11, 12, 4, -15, -32, -33, - 6, 13, 11, 16, -1, 2, -40, -29, - 11, 13, 12, 6, 3, 5, -29, -25, + 107, 90, 123, 81, 44, -360, -247, -211, + 28, 44, 38, 17, 16, 32, -45, 8, + 23, 35, 33, 32, -2, -6, -6, -3, + 23, 39, 21, 23, 12, 1, -13, -5, + 17, 29, 22, 18, 8, 8, 0, -19, + 9, 14, 12, 12, 4, -14, -32, -33, + 5, 13, 11, 17, -1, 3, -41, -31, + 11, 13, 12, 6, 3, 5, -30, -26, ], [ - 83, 93, 81, 68, 27, 101, -139, -143, + 84, 93, 81, 68, 28, 101, -139, -142, 19, 16, 25, 25, 10, -5, 10, -14, - 41, 37, 35, 19, 1, -11, 11, -15, - 6, -3, 29, 11, 0, 9, -25, -63, - -3, -7, 12, 18, -6, -9, -21, -27, + 41, 37, 35, 19, 2, -11, 11, -16, + 6, -3, 29, 12, 1, 9, -25, -63, + -3, -6, 12, 19, -6, -9, -21, -27, -10, -18, 1, 7, -5, -13, -19, -50, - -7, -1, -12, 9, -2, 1, -34, -49, - -9, -11, -1, 1, 4, -2, -37, -41, + -8, -1, -11, 9, -2, 1, -34, -50, + -9, -11, -1, 1, 4, -2, -37, -43, ], [ -10, 15, 5, -6, 9, 25, 25, 4, 22, 9, 4, -22, -1, 4, -11, -12, -12, -47, -28, -11, -4, 12, 4, 0, - -16, -62, -19, 4, 7, 16, 24, 7, - -3, 17, -18, -1, 18, 27, 15, 8, - -12, -32, -7, 3, 12, 16, 15, 2, - -4, -16, -5, 11, 3, 18, 2, -12, - -8, -10, -13, 11, 7, 21, 8, -9, + -17, -62, -19, 4, 7, 16, 25, 7, + -4, 18, -18, -1, 19, 27, 15, 8, + -13, -32, -7, 4, 12, 16, 15, 2, + -4, -17, -5, 11, 3, 18, 2, -12, + -9, -10, -13, 11, 8, 21, 8, -9, ], [ - 3, 2, 23, 35, 14, 34, 14, 10, - -2, 1, 12, 5, -10, -5, -12, -5, - 5, 3, -75, -27, 6, 10, 1, -6, + 4, 2, 23, 35, 14, 34, 14, 10, + -2, 1, 13, 5, -10, -5, -12, -5, + 5, 3, -75, -28, 6, 10, 1, -5, 7, -8, -14, -13, -1, -5, 7, 6, - 3, -5, -5, 5, 15, -1, 15, 1, + 3, -5, -5, 5, 15, -1, 15, 2, -6, -8, -12, -13, 8, 16, 2, -5, -1, -17, -28, -13, 8, -4, 7, 4, - 6, -0, -14, -4, 15, 19, -1, -1, + 6, -0, -14, -5, 16, 19, -1, -2, ], [ - 15, 0, 20, 3, 27, -8, 28, 21, - 3, -5, 15, 19, 29, -9, -9, -12, + 15, 1, 20, 3, 28, -8, 28, 21, + 3, -5, 16, 19, 29, -8, -9, -12, -1, 1, -3, -45, 2, 1, 2, -10, - 18, 5, -2, -35, -5, -2, 6, -0, - 8, 6, 2, -12, -5, 16, 6, 2, - -1, -1, -12, -31, -6, 13, 3, 11, - -12, -17, -11, -33, -14, -9, 18, 3, - 7, 2, -13, -11, -5, 15, 4, 7, + 18, 5, -2, -35, -5, -3, 6, -0, + 8, 6, 2, -12, -6, 16, 6, 2, + -1, -0, -12, -31, -6, 13, 3, 11, + -12, -17, -11, -33, -14, -9, 18, 2, + 7, 2, -12, -11, -5, 14, 4, 6, ], [ 21, 3, 4, 32, 8, 24, 26, -3, - -2, -7, -2, 2, -0, -6, -15, -15, + -2, -7, -2, 2, 0, -6, -15, -15, 6, 2, 4, 1, -103, -17, -7, 7, 14, 22, 17, 2, 9, -5, -5, 16, 12, 27, 25, 10, -19, 8, -0, 10, - -3, 5, -6, -7, -23, -7, 2, 1, - -4, -6, -6, -18, -31, -3, 0, 0, - 9, 3, 6, -8, -10, 5, -7, -0, + -3, 5, -6, -7, -22, -7, 2, 1, + -4, -6, -6, -18, -31, -3, -0, 0, + 9, 3, 6, -8, -10, 5, -7, -1, ], [ 5, 21, 22, 16, 27, 7, 24, 8, -9, -1, -7, -9, 5, -6, -11, -9, 10, 7, 5, -3, -12, 12, -29, -12, 1, 11, 14, 4, -10, -25, -13, 9, - 10, 17, 24, 8, -11, 2, -7, -9, - -10, 15, 5, 14, 1, -25, -22, -4, - -12, -0, 6, 7, 1, -21, -20, -3, - 5, 7, 8, 3, -9, -9, -17, -6, + 10, 17, 24, 8, -11, 3, -7, -9, + -10, 15, 5, 14, 1, -25, -22, -5, + -12, 0, 6, 7, 1, -21, -20, -4, + 5, 7, 8, 3, -9, -9, -17, -7, ], [ - -14, 8, 26, 18, 2, 32, -3, -4, + -13, 8, 26, 18, 2, 32, -3, -4, -14, -3, 4, -3, -1, -21, -5, -28, -3, 5, 15, 5, -9, -12, -74, -13, 6, 16, 24, 4, -7, -13, -27, -6, - 6, 22, 27, 18, 1, -5, 5, -8, + 6, 22, 27, 18, 1, -5, 5, -9, -2, 8, 21, 16, -11, 0, -16, -20, - -1, 11, 21, 14, 4, 2, -27, -7, - 6, 7, 16, 11, 1, 6, -15, -14, + -1, 11, 21, 15, 4, 2, -27, -8, + 5, 7, 16, 11, 2, 6, -15, -15, ], [ - -6, 20, 42, 39, 24, 8, 26, -11, + -6, 20, 42, 40, 24, 8, 26, -11, -11, 0, 10, -13, -1, -20, -10, -5, 2, 10, 15, 6, -9, -35, -48, -62, - 13, 13, 21, 20, 4, -5, -6, -56, + 13, 13, 21, 20, 4, -6, -6, -56, -8, 15, 29, 17, 9, -2, 3, -17, - -14, 1, 13, 15, 10, -0, 2, -31, - -2, 5, 13, 10, 10, -4, -1, -26, - -6, -6, 16, 3, 8, 6, -9, -36, + -14, 1, 13, 15, 10, -0, 2, -30, + -2, 5, 13, 10, 10, -4, -1, -27, + -6, -6, 16, 3, 8, 6, -9, -37, ], [ - 29, 10, 1, 27, 29, 37, 6, -14, + 29, 10, 1, 27, 29, 37, 7, -14, 7, 5, -24, 9, -8, 11, 14, 4, - -50, -2, -9, 18, 3, 3, 20, 8, - 1, -30, -37, -23, 1, 30, 7, -12, - -17, -12, -37, -9, -6, -9, 13, 20, - 8, -4, 7, -13, -26, 6, 19, 20, + -50, -2, -9, 18, 3, 3, 19, 8, + 0, -30, -37, -23, 1, 31, 7, -12, + -17, -12, -38, -9, -6, -9, 13, 20, + 8, -4, 7, -13, -26, 6, 19, 19, -23, 2, 11, 8, -13, 4, 4, -11, - -11, 6, -11, 6, -4, 13, -17, 4, + -10, 6, -10, 6, -4, 13, -16, 3, ], [ 4, 3, 14, 33, 42, -0, 8, -9, @@ -5009,16 +5009,16 @@ internal static class TunableEvalParameters -5, -14, 16, 25, 12, -8, -9, -13, 31, -9, 27, 18, 15, 13, -10, -4, -11, 20, 45, 0, -15, -9, -6, 18, - -34, -41, 0, -12, -19, -3, 38, -1, - -67, -45, -6, -23, -32, -35, -31, -28, + -34, -42, 0, -12, -19, -3, 38, -0, + -67, -45, -6, -23, -32, -35, -31, -29, ], [ 16, 41, 0, 18, 19, 7, 9, 4, - -6, 5, 18, 6, 7, -11, 10, 2, + -5, 5, 17, 6, 7, -11, 10, 2, -11, -8, -10, -2, 28, -16, -10, 11, -5, 23, 0, 9, 25, -12, 27, 18, -0, 20, -19, 5, 27, 12, -1, 16, - 18, 12, 4, 12, 18, -2, 29, 7, + 17, 12, 4, 12, 18, -2, 29, 7, 7, 16, -79, -3, 22, 6, 17, -12, -54, -46, -86, -29, -30, -17, -42, -40, ], @@ -5027,518 +5027,518 @@ internal static class TunableEvalParameters 2, 2, 30, 22, 13, 22, -8, -8, -1, 15, 30, -12, 24, 30, 1, -13, 0, 14, 32, 30, -7, 10, 23, -21, - 5, -3, 16, -23, 9, 34, -5, -20, + 5, -3, 16, -24, 9, 34, -5, -20, 29, 7, 29, 56, -6, 11, -15, 7, 9, -7, 9, -63, -19, -8, -29, -29, - -23, -45, -31, -54, -58, -31, -28, -76, + -23, -45, -31, -54, -58, -31, -28, -77, ], [ - -2, 4, 19, 28, 24, 27, 4, -1, - -2, 4, 6, 11, -2, 22, -1, -6, - 12, 15, 1, 16, -5, 12, 1, -18, - 19, 4, 23, 22, -13, 12, 15, 7, + -2, 4, 19, 28, 24, 26, 4, -1, + -2, 4, 6, 11, -2, 21, -1, -5, + 12, 15, 1, 16, -5, 12, 2, -18, + 19, 3, 23, 22, -13, 12, 15, 8, -20, -22, -10, 24, 31, 17, -20, -20, - 30, 8, 8, 18, 33, 2, 4, -5, - 8, 6, 6, -5, -33, -47, -31, -13, - -20, -23, -9, -1, -48, -38, -43, -43, + 30, 8, 8, 18, 32, 2, 4, -5, + 9, 6, 6, -5, -33, -47, -31, -13, + -20, -23, -9, -1, -48, -38, -43, -44, ], [ - -8, 24, 29, 41, 24, -12, 35, 3, - -19, -27, 18, 35, 15, -23, 7, 13, + -8, 24, 29, 42, 24, -12, 35, 3, + -19, -26, 18, 35, 15, -23, 7, 13, -9, -7, 7, -12, 33, -33, 7, -1, - 8, 18, 12, 13, 1, -37, 12, -8, + 8, 18, 12, 13, 1, -38, 12, -8, 2, -5, 4, 6, 21, -42, 7, -21, -5, 24, 1, 12, 27, 43, 25, 14, -19, 13, -8, -12, 25, -29, 13, -10, - -3, -18, -26, -30, -5, -70, -38, -53, + -3, -18, -25, -30, -5, -71, -38, -54, ], [ - -11, -0, 32, 7, 28, -9, -5, 33, + -11, 0, 32, 7, 27, -9, -5, 33, -1, -12, 1, 56, 25, -6, -16, 7, - -1, -2, 14, 29, 21, -20, -21, -4, - 17, -18, 7, 20, -6, -26, -16, 4, - -13, 7, -1, 14, -3, -2, 37, -4, + -1, -2, 14, 29, 21, -20, -21, -3, + 17, -18, 7, 20, -6, -26, -17, 4, + -13, 7, -2, 14, -3, -2, 38, -4, 2, 28, 35, 23, -8, -37, 4, -16, -3, 2, 46, 18, 2, -10, -54, -21, - -25, -4, -9, -13, -41, -12, -43, -23, + -25, -5, -9, -13, -41, -12, -43, -24, ], [ - 20, 13, 4, 26, 3, 8, 51, 4, + 20, 13, 4, 26, 3, 8, 51, 3, 18, 20, 4, 26, 2, 1, 5, -5, 10, 6, 11, 12, -19, 6, 10, -16, - 4, -1, -25, 5, -3, -35, 2, -32, + 4, -0, -25, 5, -3, -35, 2, -32, 13, 8, 4, -27, -7, 2, -2, 7, 8, 15, -14, -1, 8, 16, -2, 32, - 0, 22, 16, 19, -22, 22, -28, -41, - -17, -7, -8, -21, 15, -5, -24, -116, + 0, 22, 16, 19, -22, 22, -27, -40, + -17, -7, -8, -21, 15, -5, -24, -117, ], ]; internal static readonly short[][] MiddleGameEnemyQueenTable = [ [ - -101, -98, 109, 52, -19, -27, -93, -37, - -98, -97, 80, 48, -11, -6, -35, -38, - 76, 112, 80, 21, 7, -10, -12, -10, + -101, -98, 109, 51, -20, -27, -94, -37, + -99, -97, 80, 48, -11, -6, -35, -38, + 77, 113, 80, 21, 7, -10, -12, -10, 27, 49, 25, 28, 5, -40, -2, -21, - 19, 15, 2, 2, 1, -14, -18, -23, - 31, 6, -0, 18, 1, -6, -7, -29, - -6, 13, 1, -1, 3, 12, 10, -19, - 18, -2, -8, -4, 21, 28, -5, -24, - ], - [ - -185, -183, -182, 51, 111, 39, 50, 18, - -171, -228, -193, -5, -15, -4, -27, -27, - 18, 13, 32, 50, -3, -7, -2, 16, - -10, 36, 13, 7, 18, -5, 1, 12, - 15, 39, 29, 33, 29, 27, 4, 0, - 24, 33, 30, 27, 26, 24, 32, 2, - 27, 35, 39, 25, 33, 35, 29, 17, - 16, 24, 21, 21, 24, 24, 6, 11, - ], - [ - 179, -203, -212, -228, 55, 55, 14, -28, - 60, -238, -183, -194, -13, -7, -22, 0, - 53, 47, 29, -0, 70, -2, 4, -8, - 17, 12, 19, -6, 9, 6, -9, 19, - 41, 36, 20, 19, 20, 14, 14, 10, - 22, 40, 41, 22, 16, 19, 27, 13, - 36, 38, 31, 11, 27, 28, 25, 3, - 13, 12, 25, 17, 28, 16, 11, 7, - ], - [ - 66, 87, -204, -169, -159, 117, 49, 17, - 36, 28, -167, -170, -195, -1, 27, -17, - 18, 57, 34, 18, 1, 61, 26, 9, - 30, -1, 19, 9, -23, 8, 18, 26, - 15, -9, 19, 17, 6, 11, 21, 8, - 24, 30, -2, 19, 9, 17, -5, -1, - 13, 8, 14, 23, 17, 17, 5, -19, - 14, 14, 1, 30, 10, 24, -0, -8, - ], - [ - -13, 34, 93, -207, -207, -207, 46, 60, - -0, -3, -5, -189, -207, -225, -3, 31, - 17, 19, 38, -3, 21, -22, 102, 39, - 7, 19, 9, -22, 17, -5, 13, 48, - 20, 1, 17, 11, 25, 14, 25, 18, - 17, 33, 10, 24, 23, 20, 34, 31, - 19, 15, 26, 26, 38, 31, 21, 26, - 4, 22, 23, 28, 43, 19, 28, 14, - ], - [ - 34, 36, 8, 60, -187, -175, -173, 113, - 3, 18, 14, -28, -225, -180, -184, 53, - -19, 0, 18, 53, 26, 49, 39, 91, - 3, 6, 29, 1, -5, 10, 19, 22, + 19, 16, 2, 3, 1, -14, -19, -22, + 32, 6, 0, 18, 1, -5, -7, -29, + -6, 14, 1, -1, 3, 12, 10, -19, + 17, -2, -8, -4, 20, 28, -5, -24, + ], + [ + -185, -183, -182, 50, 111, 38, 51, 17, + -170, -229, -195, -5, -15, -5, -27, -28, + 18, 13, 31, 51, -4, -7, -2, 15, + -10, 36, 13, 7, 18, -6, 1, 12, + 15, 40, 29, 33, 29, 27, 4, 0, + 25, 33, 30, 27, 26, 24, 32, 2, + 27, 36, 39, 25, 33, 35, 29, 17, + 16, 25, 23, 22, 25, 25, 6, 11, + ], + [ + 179, -203, -213, -228, 53, 53, 13, -27, + 60, -238, -184, -195, -13, -7, -23, -0, + 54, 47, 29, -1, 71, -2, 4, -8, + 18, 12, 19, -6, 9, 5, -9, 19, + 42, 36, 20, 19, 21, 13, 14, 10, + 22, 40, 41, 23, 16, 19, 26, 13, + 37, 38, 32, 11, 27, 28, 25, 3, + 13, 13, 25, 17, 29, 17, 12, 7, + ], + [ + 66, 86, -204, -169, -159, 117, 50, 19, + 37, 27, -167, -170, -195, -2, 27, -18, + 17, 58, 36, 18, 1, 61, 25, 9, + 30, -2, 19, 9, -23, 7, 18, 24, + 15, -9, 18, 17, 6, 10, 20, 8, + 24, 30, -2, 18, 9, 17, -5, -1, + 14, 8, 14, 23, 16, 17, 4, -18, + 14, 14, 3, 30, 11, 26, 1, -8, + ], + [ + -13, 35, 94, -207, -207, -207, 44, 57, + -2, -3, -6, -190, -207, -226, -3, 32, + 16, 19, 36, -3, 20, -23, 102, 38, + 8, 20, 9, -22, 17, -5, 13, 48, + 21, 2, 17, 11, 25, 13, 26, 18, + 17, 33, 10, 25, 24, 21, 35, 31, + 19, 15, 26, 26, 38, 32, 21, 27, + 4, 21, 23, 30, 43, 20, 28, 13, + ], + [ + 34, 36, 8, 59, -186, -175, -173, 113, + 3, 18, 14, -28, -225, -178, -184, 53, + -20, -0, 18, 53, 25, 49, 40, 91, + 3, 6, 30, 1, -5, 10, 19, 21, 1, 7, 1, 21, 0, 12, 18, 50, - -1, 11, 14, 18, 12, 28, 36, 39, - 13, 22, 6, 18, 13, 37, 25, 12, - -16, 2, 8, 23, 14, 24, 10, -11, + -1, 11, 14, 18, 12, 28, 36, 38, + 13, 22, 6, 18, 13, 38, 24, 12, + -15, 2, 9, 24, 14, 25, 11, -10, ], [ - -78, 1, 15, 51, 62, -154, -187, -136, - -26, -29, -20, -27, -40, -85, -151, -141, - -6, -1, -7, -2, 56, 36, -5, 17, + -79, 0, 15, 51, 62, -154, -188, -137, + -26, -29, -20, -27, -40, -85, -151, -140, + -7, -1, -7, -1, 56, 36, -4, 17, -17, -2, -4, 11, 10, 10, 28, -3, 2, 9, 17, 23, 24, 28, 44, 31, - 12, 25, 18, 19, 28, 27, 43, 43, - 15, 15, 26, 29, 25, 29, 43, 55, - 17, 20, 23, 28, 29, 24, 23, 33, + 12, 25, 18, 19, 27, 28, 43, 42, + 15, 14, 26, 29, 25, 29, 43, 55, + 17, 20, 23, 28, 29, 25, 24, 33, ], [ - -72, 26, -41, 55, 84, 103, -146, -146, + -73, 25, -42, 55, 84, 102, -146, -146, -46, -26, -37, -14, 28, -5, -106, -172, - -31, 18, -7, 4, 12, 85, 72, 49, + -31, 17, -7, 4, 12, 85, 72, 49, -41, -19, -3, 2, 0, 45, 19, 39, -14, -31, -2, 10, 17, 40, 37, 50, -6, -1, 5, 4, 16, 9, 34, 43, - -1, -11, 1, 8, 8, 9, 33, 46, - -8, -8, -3, 9, 6, -3, -30, 7, + -2, -12, 1, 8, 8, 9, 32, 46, + -9, -7, -3, 9, 6, -2, -29, 7, ], [ - 104, 72, 103, 44, 51, -37, -3, -60, - 40, 31, 141, -4, 38, -2, -19, -47, - -158, -161, -128, 31, -9, -51, -22, -53, - 15, 18, 15, 61, -6, -25, -23, -45, - 21, 82, 14, 7, 21, -20, -30, -50, - 21, 26, 2, 2, -12, -5, -12, -35, - 22, -3, 15, 8, -4, -1, 2, -28, - 4, 37, 5, 2, 15, 10, -5, -19, + 103, 71, 102, 44, 51, -37, -3, -59, + 39, 31, 140, -4, 38, -2, -19, -47, + -159, -162, -128, 30, -8, -52, -22, -54, + 15, 19, 15, 61, -6, -25, -23, -44, + 21, 82, 15, 7, 21, -20, -30, -50, + 22, 26, 2, 2, -12, -5, -11, -35, + 22, -2, 15, 8, -4, -1, 2, -28, + 4, 37, 5, 2, 15, 10, -5, -18, ], [ - 102, 90, 57, 103, -23, 18, 6, -30, - 88, 160, -50, 43, 27, 20, -22, -56, - 58, -160, -166, -162, -17, -13, -1, -46, - 116, 17, 22, 36, 91, -42, -7, -52, - 2, 39, 12, 40, -11, 6, -63, -17, + 102, 90, 57, 103, -23, 18, 6, -29, + 89, 160, -50, 43, 27, 19, -22, -56, + 59, -161, -166, -162, -17, -13, -1, -46, + 116, 17, 22, 37, 91, -42, -7, -53, + 2, 40, 12, 40, -10, 6, -63, -17, -1, -1, 18, 5, -10, -30, 4, -57, - -8, -5, -26, -12, -6, -9, -9, 2, - -10, -9, 12, -13, 20, -17, -21, -32, + -8, -4, -25, -12, -6, -9, -9, 1, + -10, -9, 11, -13, 20, -18, -21, -31, ], [ - 51, 46, 121, 40, 135, 34, 58, 39, - 26, 13, 52, -72, 68, -13, 15, -5, - 13, 56, -139, -162, -144, 9, 15, -4, - 0, 58, -18, 63, -36, 65, 23, -33, - 16, -12, -0, 10, -4, -34, 13, -28, - -3, -9, -16, 0, -16, -18, -39, -29, + 51, 46, 122, 40, 134, 34, 58, 39, + 27, 14, 52, -72, 67, -13, 15, -5, + 13, 57, -139, -163, -145, 9, 15, -4, + 0, 58, -18, 63, -35, 66, 23, -33, + 17, -12, -0, 9, -4, -33, 12, -28, + -3, -9, -16, 1, -15, -18, -39, -29, 5, -25, -3, -16, -0, -17, -13, -19, - -31, -5, -7, 4, -17, -14, -22, -26, + -32, -5, -7, 4, -17, -14, -22, -26, ], [ - -29, 68, 102, 91, 44, 91, 58, 54, - -2, 5, 40, 57, 25, 53, 44, 4, - -8, 32, -4, -186, -159, -144, 52, 49, - -10, -36, 87, -18, 59, -50, 68, 3, + -28, 67, 101, 91, 44, 91, 57, 55, + -2, 4, 40, 56, 25, 52, 45, 5, + -8, 31, -4, -186, -160, -144, 52, 50, + -11, -36, 87, -17, 59, -50, 68, 3, -45, 18, -14, -4, 24, 7, -21, 19, - 28, -16, -23, -8, -8, -0, 8, -17, - -26, -38, -17, -7, 5, -1, -41, -36, - -27, -36, -7, -19, -29, -37, -19, -51, + 28, -16, -23, -7, -8, -0, 8, -17, + -27, -38, -17, -7, 5, -1, -41, -36, + -26, -35, -6, -19, -30, -37, -18, -52, ], [ - -63, -22, 2, -13, 189, 107, 135, 78, - -16, 3, -2, 35, 97, 166, 130, 77, - -27, -56, -9, 10, -173, -175, -173, 57, - -37, -13, -29, 62, -30, 44, 15, 89, - -40, -34, 6, 13, 2, 0, 14, 2, - -46, -1, -34, -8, -17, -1, -19, -14, + -62, -22, 3, -12, 190, 108, 135, 77, + -17, 3, -2, 35, 97, 166, 130, 77, + -27, -56, -9, 10, -173, -174, -172, 58, + -37, -13, -30, 62, -30, 44, 15, 89, + -40, -34, 6, 13, 2, -0, 14, 2, + -46, -2, -34, -8, -18, -0, -19, -15, -4, -46, -11, -10, -9, -1, -27, 2, - -35, -25, -23, 6, -32, -17, -25, -25, + -35, -25, -23, 7, -32, -16, -25, -25, ], [ - -58, -22, -49, 34, -24, 132, 133, 157, - -9, -44, -44, 22, 23, 168, 144, 227, - -46, -15, -26, -10, 10, -134, -171, -202, - -41, -26, -19, -10, 70, 49, 10, 9, + -58, -22, -49, 34, -24, 133, 132, 157, + -9, -43, -44, 22, 23, 169, 144, 228, + -47, -15, -26, -10, 10, -134, -171, -202, + -41, -26, -19, -10, 70, 49, 10, 10, -35, -37, -31, 18, 3, 6, 55, 20, - -38, -28, -1, -20, 1, -1, 35, 9, - -44, -3, -16, -2, -6, -5, -8, 13, + -38, -28, -1, -20, 1, -1, 35, 8, + -44, -3, -16, -2, -6, -4, -8, 13, -4, -18, -13, -6, -9, -24, -6, -42, ], [ - -75, -72, -42, 9, 53, 45, 114, 50, + -75, -72, -42, 9, 54, 45, 114, 51, -57, -57, -24, -18, 20, 56, 144, 56, -47, -36, -47, -7, 35, 122, -83, -103, -65, -15, -33, -12, 5, 125, 68, 27, - -36, -21, -18, -5, 14, 7, 32, 42, - -26, -12, -23, 6, 1, 9, 0, 39, - -25, -24, -7, -4, -6, -8, 25, 16, - -32, -8, -20, 1, -23, -2, -16, -15, + -36, -21, -18, -5, 14, 6, 32, 42, + -26, -11, -23, 6, 0, 9, 0, 39, + -25, -24, -7, -5, -6, -8, 25, 16, + -32, -8, -20, 1, -23, -1, -16, -15, ], [ - 71, 40, 29, 52, -47, -16, 6, -77, - 15, 56, 100, 90, 7, 16, -39, -66, - -4, 9, 152, 50, 50, -18, -29, -100, - 14, -21, 100, 52, 43, -64, -30, -18, - 24, 15, 128, 11, -27, -29, -28, -137, - -33, 53, 63, 7, -14, 6, -80, -53, - 10, 46, -36, -23, -28, -51, 8, -43, - -15, 17, -54, -20, -67, -0, -7, -61, + 72, 39, 29, 51, -48, -16, 6, -77, + 15, 56, 101, 90, 7, 16, -39, -67, + -4, 8, 151, 49, 50, -17, -30, -100, + 14, -21, 99, 52, 42, -63, -29, -18, + 23, 15, 127, 12, -27, -29, -28, -137, + -34, 52, 63, 7, -14, 6, -79, -53, + 10, 47, -35, -22, -27, -52, 8, -43, + -14, 16, -56, -19, -67, -1, -7, -64, ], [ 12, 30, 14, 15, -49, -60, -42, -86, - 88, 40, -5, 34, 29, -14, 9, -19, + 88, 40, -4, 35, 29, -14, 9, -19, 44, 20, -4, 2, 10, 53, -79, -24, - 12, 3, 2, -6, 3, 24, -51, 13, + 12, 3, 2, -6, 3, 23, -51, 13, 23, 27, -15, 16, 23, 27, -4, 21, 15, -10, -2, -20, 31, 14, -20, -36, - 0, 15, -12, 29, 25, 11, 8, -42, + -0, 15, -12, 29, 25, 11, 9, -42, -7, 2, -29, -27, -33, -22, -39, 10, ], [ -66, 14, 54, 27, -34, -57, -70, -70, - 48, 51, 43, 74, 7, 25, 7, -11, - 48, 21, 23, 51, 20, 25, 0, 18, + 48, 50, 42, 74, 7, 25, 7, -11, + 48, 21, 23, 50, 19, 24, 0, 18, 3, 2, -7, -42, 12, 19, -2, -26, - -21, -31, -5, -37, 25, 9, 1, 27, + -21, -31, -5, -37, 25, 10, 1, 27, -11, -3, -3, -34, 3, 16, -7, -32, - -17, -25, 10, -17, 19, -28, -23, -9, + -17, -25, 10, -17, 19, -27, -23, -9, 36, 6, -7, -44, -8, -20, 5, 17, ], [ -18, 11, -21, 1, -44, -32, -34, -62, - -46, 16, 34, 38, 10, 16, 9, -1, - 36, 23, -7, 87, -6, 22, 77, -11, + -46, 16, 34, 38, 10, 16, 10, -1, + 36, 23, -7, 86, -6, 22, 77, -11, -9, 36, 21, 13, 5, 17, 13, -14, -11, 32, -10, -11, 4, 14, 10, -44, - -26, 33, -33, -5, -44, 43, 1, 23, + -26, 33, -33, -5, -44, 42, 1, 23, -58, -0, 22, 18, -31, -16, -20, 28, -18, -32, 3, -3, -25, -2, -21, -2, ], [ -32, -46, -15, 43, 28, 4, -16, -42, - 3, 8, 51, 28, 40, 58, 98, 22, - -19, -11, -23, 13, 42, 1, -17, 73, + 4, 8, 51, 28, 40, 58, 98, 22, + -18, -11, -23, 13, 42, 1, -17, 72, -25, -22, -13, 10, 19, 18, -7, 7, - -30, 6, 19, -4, 25, -28, 12, 4, + -30, 6, 19, -4, 25, -28, 12, 5, -11, -39, 4, -15, -6, 4, 29, 44, - -2, -40, 15, -32, 4, -103, -21, 8, + -2, -39, 15, -32, 4, -103, -21, 8, -37, -23, -17, -19, 2, -15, -24, 14, ], [ -61, -43, -41, -7, 52, -23, -11, -34, -16, 1, 8, 17, 69, 31, 38, 91, - -8, 32, 20, -6, 53, -15, 76, 17, - -6, 21, -34, 32, -14, -16, 4, 38, - -16, 1, -22, -11, -35, 1, -27, -17, + -9, 32, 20, -6, 53, -15, 76, 17, + -6, 20, -34, 32, -14, -16, 4, 38, + -16, 1, -22, -10, -35, 1, -27, -17, -30, -6, 42, -12, -41, -7, -9, 12, 6, 43, 20, 22, 5, -18, -31, 24, -11, -58, -7, 4, -1, 3, -44, -44, ], [ -53, -65, -55, -52, -0, -27, 48, -6, - -39, -5, 9, 44, 33, 23, 13, 69, - -39, -36, 49, 3, 11, 53, 59, 89, + -39, -5, 9, 44, 32, 23, 12, 69, + -39, -35, 49, 3, 11, 53, 59, 89, 11, -16, -19, 6, 10, -15, -36, 16, -25, -28, -12, -34, 49, 12, -12, 10, - 10, -42, -25, 33, 33, -51, -6, -13, + 10, -43, -25, 33, 33, -51, -6, -13, -24, 12, 26, 14, -33, 1, 22, -38, - -12, 31, 5, 52, 1, -27, -9, -7, + -13, 31, 5, 52, 1, -27, -9, -7, ], [ -67, -120, -61, 18, 20, -18, -21, -6, - 17, 30, 39, -23, -45, 26, 12, -3, - -5, 11, -5, -21, 30, 88, 25, -16, - -25, 7, -22, -22, 3, 71, 23, 23, + 17, 29, 39, -23, -45, 26, 12, -3, + -5, 11, -5, -21, 31, 88, 25, -16, + -25, 7, -22, -23, 3, 70, 23, 23, -13, -25, 7, -42, 8, 64, -12, -7, - -20, -28, -19, 25, -23, 30, -1, -5, + -20, -28, -20, 24, -22, 30, -1, -5, -52, 34, -20, 22, 46, 44, -6, -21, - -15, -6, 28, 12, 8, -3, 15, 14, + -15, -6, 29, 12, 8, -3, 15, 14, ], ]; internal static readonly short[][] EndGameEnemyQueenTable = [ [ - -147, -144, -0, 78, 80, 86, 114, 53, - -148, -146, 10, 46, 80, 52, 41, 33, - -79, 35, 46, 70, 51, 36, 33, 29, - 3, 22, 74, 30, 38, 66, 8, -12, - 27, 8, 27, 49, 54, 37, 3, -30, - -56, 2, 11, -15, 31, 27, -5, -1, - 0, -36, -40, -20, -9, -20, -75, -9, - -59, -22, -90, -44, -84, -83, -54, -60, - ], - [ - -221, -222, -220, 67, 27, 34, 59, 71, - -211, -242, -227, 85, 106, 56, 70, 69, - 15, 30, 56, 72, 68, 53, 44, -12, - 63, 18, 46, 89, 46, 52, 46, -6, - 36, 17, 10, 16, 37, 28, 33, 28, - 54, 8, -3, 26, 7, 18, -7, 10, - 1, -12, -32, -17, 2, -17, -33, -14, - 21, -24, -35, -5, -19, -36, -33, -48, - ], - [ - -131, -230, -233, -247, 11, 48, 72, 147, - 43, -248, -232, -260, 72, 49, 52, 4, - 96, 41, 77, 42, 53, 47, 16, 48, - 74, 33, 74, 88, 55, 127, 44, 2, - 17, 15, 57, 60, 57, 35, 69, -21, - 45, -23, -1, 11, 48, 16, -26, 18, - -23, -49, -0, 18, 6, 1, -14, -20, - 4, -2, -26, -15, -29, -1, -29, -33, - ], - [ - 52, -11, -165, -151, -143, 61, 68, 83, - 29, 16, -150, -152, -159, 66, -4, 64, - 5, 68, -6, 2, 43, 88, 15, 13, - 20, 42, -12, 27, 38, -2, 83, 10, - 19, 90, 31, 45, 49, -0, -2, 27, - 13, 4, 21, 33, 6, 5, 36, -14, - -23, 25, -25, 4, -7, -31, 8, 42, - -31, -36, -36, -17, -60, -76, -8, -29, - ], - [ - 156, 99, -11, -229, -229, -229, 131, 70, - 49, 44, 63, -219, -229, -230, 74, 71, - 3, 16, 70, 73, 28, 69, 25, 39, - 1, 66, 49, 35, 74, 28, 61, 61, - 42, 18, 18, 18, 48, 37, 30, 35, - 13, 14, 19, -5, 35, -6, 13, -24, - -12, 6, -38, -19, -24, -15, -3, 29, - 5, -45, -50, -36, -65, -16, -65, -32, - ], - [ - 86, 41, 59, 48, -212, -198, -197, 44, + -147, -144, 0, 79, 81, 86, 114, 53, + -148, -146, 10, 45, 80, 52, 41, 32, + -79, 34, 46, 70, 51, 35, 33, 29, + 3, 22, 74, 31, 38, 65, 8, -12, + 27, 8, 26, 48, 54, 37, 3, -30, + -57, 1, 10, -16, 30, 27, -5, -0, + 0, -36, -40, -20, -10, -20, -75, -9, + -59, -22, -89, -44, -84, -83, -53, -59, + ], + [ + -222, -222, -221, 67, 27, 35, 58, 72, + -211, -242, -228, 85, 106, 57, 71, 70, + 16, 30, 56, 71, 68, 53, 44, -12, + 64, 19, 46, 89, 45, 52, 46, -6, + 37, 17, 10, 16, 37, 28, 33, 28, + 54, 8, -3, 26, 7, 19, -7, 10, + 1, -12, -32, -16, 3, -16, -32, -14, + 20, -26, -37, -4, -20, -37, -34, -48, + ], + [ + -131, -230, -233, -247, 12, 50, 73, 147, + 44, -248, -232, -260, 72, 49, 52, 5, + 95, 41, 77, 42, 52, 46, 15, 48, + 74, 34, 74, 88, 55, 128, 44, 3, + 17, 16, 57, 60, 57, 35, 68, -21, + 45, -22, -1, 11, 48, 17, -25, 19, + -24, -50, -0, 18, 7, 2, -14, -21, + 4, -2, -26, -14, -31, -3, -30, -33, + ], + [ + 51, -11, -166, -152, -144, 61, 67, 82, + 28, 17, -151, -152, -160, 67, -4, 65, + 6, 67, -7, 3, 43, 87, 16, 13, + 20, 43, -12, 27, 38, -2, 83, 13, + 19, 90, 31, 45, 50, 0, -1, 28, + 13, 5, 21, 34, 7, 5, 36, -14, + -25, 24, -25, 4, -6, -31, 9, 40, + -30, -36, -38, -15, -61, -78, -11, -28, + ], + [ + 157, 100, -11, -230, -230, -230, 133, 73, + 51, 44, 63, -220, -230, -231, 74, 72, + 5, 16, 73, 72, 29, 70, 27, 40, + 0, 66, 48, 34, 75, 29, 60, 60, + 40, 17, 17, 17, 48, 38, 28, 35, + 12, 11, 19, -6, 35, -7, 12, -24, + -12, 7, -39, -20, -26, -14, -2, 28, + 6, -44, -49, -41, -65, -17, -65, -31, + ], + [ + 86, 41, 59, 48, -212, -198, -197, 43, -2, 7, 36, 85, -200, -196, -198, 46, - 36, 4, -15, 41, 7, 19, 45, 29, - 22, 15, 101, 59, 52, 56, 44, 48, - -13, 66, 28, 35, 44, 52, 23, 11, - 26, 6, 32, 40, 21, 9, -2, 19, - -57, -28, 27, -3, 4, -31, -16, 71, - 17, -19, -9, -15, -54, -49, -60, 12, + 36, 5, -15, 43, 7, 19, 45, 29, + 22, 16, 101, 60, 52, 56, 44, 49, + -12, 66, 28, 35, 44, 52, 23, 11, + 26, 6, 32, 40, 21, 10, -2, 19, + -57, -28, 26, -3, 4, -31, -15, 70, + 16, -19, -10, -15, -54, -49, -61, 10, ], [ - 186, 130, 105, 67, 36, -379, -399, -384, - 54, 85, 95, 103, 124, -343, -376, -362, + 187, 131, 105, 67, 36, -378, -398, -384, + 54, 85, 95, 103, 124, -343, -376, -361, 34, 56, 83, 70, 79, 60, 72, 46, 47, 38, 63, 74, 69, 36, 48, 64, 19, 35, 45, 62, 48, 37, 28, 24, - 1, 29, 32, 41, 47, 22, 13, -3, - 17, -3, 6, 16, 14, -0, -16, -31, - -32, -19, -7, 3, -17, -21, -40, -29, + 1, 29, 32, 41, 47, 22, 12, -3, + 17, -2, 6, 16, 14, 0, -16, -31, + -32, -19, -7, 4, -18, -23, -43, -31, ], [ - 92, 38, 90, 23, 26, -46, -234, -234, - 40, 36, 74, 80, 62, 112, -205, -268, - 18, -27, 54, 54, 57, 132, 43, 0, - 30, 36, 12, 45, 61, 18, 77, 7, - -13, 35, 22, 51, 38, 16, -13, -13, + 93, 38, 90, 23, 26, -46, -234, -234, + 39, 36, 74, 80, 62, 112, -205, -268, + 18, -27, 54, 54, 57, 131, 42, 0, + 30, 36, 12, 45, 61, 18, 78, 7, + -13, 36, 22, 52, 38, 16, -13, -13, -31, 10, 9, 34, 16, 16, -26, -46, 15, -11, -15, -5, 0, -3, -60, -80, - -17, -37, -33, -35, -28, -34, 9, -72, + -17, -38, -33, -35, -29, -35, 8, -71, ], [ - -6, 19, 10, 12, 20, 63, 22, 51, - -7, -9, -16, 41, 16, 52, 55, 51, - -184, -189, -164, 42, 32, 65, 20, 56, - -11, 30, -7, 5, 19, 28, 29, 35, - 17, -42, -31, 2, 24, 54, 63, 31, + -5, 19, 11, 12, 20, 63, 22, 51, + -6, -9, -16, 41, 16, 52, 55, 51, + -184, -188, -164, 42, 32, 65, 20, 57, + -11, 30, -7, 6, 19, 28, 29, 35, + 16, -42, -31, 2, 24, 54, 63, 31, 7, 15, 2, -11, 34, 37, -6, 47, - -4, -19, -36, -33, 10, 11, 7, -1, - -46, -130, -63, -19, -54, -16, -81, 45, + -4, -19, -37, -33, 10, 11, 7, -2, + -45, -131, -63, -18, -54, -15, -81, 45, ], [ - -44, -20, 16, 9, 70, 12, 3, 7, - -19, -18, -40, 41, 21, 50, 55, 72, - -20, -181, -175, -183, 33, 20, 17, 26, - -43, -12, 18, -41, -33, 31, 28, 28, - 36, -36, 45, -56, 19, 38, 69, 19, - 30, 24, -23, 21, 13, 43, -31, 59, - 10, 8, 29, 8, 12, 25, 2, 12, - 21, -48, -28, 6, -70, 17, -20, 19, + -44, -19, 17, 10, 70, 13, 3, 7, + -19, -18, -39, 41, 21, 50, 55, 72, + -21, -181, -175, -183, 32, 19, 17, 26, + -42, -12, 18, -42, -33, 30, 28, 29, + 37, -37, 45, -55, 18, 38, 69, 18, + 29, 24, -23, 20, 13, 43, -30, 59, + 10, 7, 29, 8, 11, 25, 1, 13, + 21, -48, -27, 6, -69, 18, -20, 18, ], [ - -7, 22, -52, 37, -53, 24, 13, 14, - 19, 41, 30, -112, 23, 74, 64, 47, - -7, -27, -165, -180, -169, 4, 20, 32, - 6, -23, -3, 5, 12, -5, -8, 51, - -1, 15, -14, 51, -38, 42, 16, 43, - -30, 34, 17, 27, 3, 28, 45, 38, - -16, 34, 3, 40, 5, 23, 16, 1, - 30, -27, -58, 6, -43, -19, -19, 25, + -7, 21, -52, 37, -52, 24, 13, 14, + 19, 40, 30, -112, 23, 74, 64, 46, + -8, -28, -165, -180, -169, 4, 20, 31, + 5, -23, -3, 4, 12, -5, -8, 52, + -2, 15, -14, 51, -38, 41, 16, 43, + -30, 35, 17, 27, 3, 29, 45, 39, + -17, 33, 3, 40, 5, 23, 16, 2, + 31, -26, -58, 7, -43, -19, -19, 26, ], [ - 17, -15, -48, 10, 69, 17, -2, 2, - 39, 44, 3, 23, 23, -4, 13, 63, - -9, -23, 21, -202, -174, -163, 5, -14, + 16, -15, -47, 11, 69, 17, -1, 1, + 39, 44, 2, 23, 24, -3, 13, 62, + -10, -22, 21, -202, -174, -163, 5, -15, 9, 32, -60, -35, -18, 34, 8, 1, - 40, 6, 7, -27, 31, -22, 51, 50, - -33, 38, 19, 2, 17, -3, -26, 40, - 11, 12, -8, 3, -11, 22, 53, 32, - 1, 28, -7, -0, -5, 16, -15, 13, + 41, 6, 7, -27, 31, -23, 51, 50, + -33, 39, 19, 2, 17, -3, -27, 40, + 12, 12, -8, 3, -11, 21, 53, 31, + 1, 27, -8, -0, -5, 16, -15, 14, ], [ - 43, 27, 29, 44, -102, 78, -21, -31, - 21, 42, 50, 11, -43, 16, -14, 10, + 42, 27, 29, 44, -102, 78, -21, -31, + 21, 42, 50, 11, -43, 16, -14, 11, 13, 62, 29, 7, -204, -202, -209, 39, - 27, -3, 19, -5, -7, -19, -14, -19, - 47, 25, 13, 9, -33, 39, -16, 41, - 31, 23, 47, 10, 10, -4, 43, 45, - -12, 18, -1, 10, -2, -3, 21, -4, - 10, 4, 14, -22, 3, -12, -11, -15, + 27, -3, 19, -6, -7, -19, -14, -19, + 48, 25, 13, 9, -32, 39, -16, 41, + 31, 24, 47, 10, 10, -4, 44, 46, + -12, 17, -1, 10, -2, -3, 21, -4, + 10, 4, 14, -23, 3, -13, -10, -14, ], [ 25, 14, 52, 5, 35, -14, 5, -14, 6, 71, 77, 35, 22, -18, 43, -74, - 27, 35, 48, 21, 46, -192, -214, -234, + 27, 35, 48, 21, 46, -192, -213, -233, 16, 17, 32, 18, 14, -65, 44, -2, - 20, 37, 47, 32, 20, -19, -6, 5, + 20, 37, 47, 32, 20, -19, -5, 5, 22, 26, 23, 35, 12, 5, -23, 14, - 9, 5, 5, -4, 8, -0, 5, -25, - -36, -22, -11, -14, -13, -11, -43, 13, + 9, 6, 5, -4, 8, -1, 5, -25, + -36, -22, -11, -15, -13, -11, -42, 14, ], [ - 51, 31, 49, 17, 18, 37, -7, 20, - 34, 57, 50, 61, 53, 8, -42, -23, - 25, 22, 61, 38, 21, 5, -146, -205, - 13, -11, 30, 34, 36, 15, -31, 27, + 50, 31, 49, 17, 17, 37, -7, 20, + 34, 57, 50, 61, 53, 8, -41, -23, + 25, 22, 61, 38, 21, 4, -146, -205, + 13, -11, 30, 34, 36, 15, -31, 26, -14, 1, 23, 35, 39, 28, -38, -32, - -28, 6, 25, 25, 16, -4, -9, -49, - 1, -28, 11, -5, -19, -8, -45, -42, - -36, -27, -12, -29, -12, -48, -43, -30, + -27, 6, 25, 25, 16, -4, -9, -49, + 1, -27, 11, -5, -19, -8, -45, -42, + -37, -28, -13, -28, -13, -49, -43, -30, ], [ 4, -0, 22, -8, 56, 7, -57, -9, - -11, -32, -33, 16, 41, 17, -6, 57, + -11, -32, -34, 16, 41, 17, -6, 57, 18, -35, -37, -1, 15, 36, 46, 11, - 23, -2, -27, 15, -13, 36, 14, -24, - 4, -23, -41, 6, 32, 40, -0, 30, + 23, -3, -27, 14, -12, 36, 13, -24, + 4, -23, -41, 6, 32, 40, -1, 30, -1, -55, -35, -11, 16, -17, 50, -10, 29, -104, 16, -23, -3, -13, -23, -7, - 13, -51, 35, -11, 22, -13, -5, 18, + 13, -51, 36, -11, 22, -13, -5, 19, ], [ 0, 78, 2, 21, -26, 6, -9, -40, -13, 72, 5, -4, 37, 48, 9, -34, - -26, 85, 25, -3, 34, 6, -18, 1, - -47, 5, -10, -2, -11, -15, -19, 35, + -26, 86, 25, -3, 34, 6, -18, 1, + -47, 5, -10, -3, -11, -15, -19, 35, -21, 76, -8, 9, -10, -17, 32, 23, 34, 12, 31, -43, 1, 28, 1, -41, -13, 35, -45, -36, -13, 14, -3, -22, - 0, 12, -65, -71, -18, -72, -41, 42, + 1, 12, -65, -71, -18, -72, -41, 42, ], [ -0, -4, 110, 4, 14, 49, 25, 8, - -34, -3, 80, 3, 17, 10, 21, 25, + -34, -2, 80, 3, 17, 10, 21, 25, 6, -19, 62, -11, -9, 6, -29, 4, - -21, -33, 62, -17, -32, -19, -3, 8, - -41, -69, 25, -36, 1, 7, 34, 65, - -119, -7, 30, -24, -35, -10, 66, -1, + -21, -32, 62, -17, -32, -19, -3, 8, + -41, -69, 25, -36, 1, 7, 34, 66, + -119, -7, 30, -23, -35, -10, 66, -1, -30, -17, 50, -51, 7, -25, 6, 29, - -9, -53, 7, -78, -30, -41, 10, 60, + -9, -53, 7, -78, -31, -42, 10, 60, ], [ -33, 34, -18, 76, 30, -14, -19, 17, -15, -45, -34, 102, -6, 37, 24, -12, 70, 9, 6, 129, 8, -69, 71, -26, - -17, 31, -28, 47, -31, 12, -15, -25, + -17, 31, -28, 46, -31, 12, -15, -25, -30, -17, 1, 35, -21, -9, -9, 29, - -16, -53, -8, 64, -14, -53, -28, 42, + -16, -53, -7, 64, -14, -53, -28, 42, -88, -50, 12, 62, -25, -14, -52, 49, - -3, -27, -32, 33, -59, 8, -15, -12, + -3, -28, -32, 33, -60, 8, -15, -12, ], [ -21, 23, 16, -28, 67, 8, -17, -2, - -3, 25, 6, 44, 46, 7, 10, 7, - 3, 36, -12, 11, 75, -18, 3, 41, + -2, 25, 6, 44, 46, 7, 9, 7, + 3, 36, -12, 11, 75, -18, 3, 42, -77, -54, -14, 18, 64, 47, -28, -35, -22, 11, 35, 41, 69, -20, 54, -6, -24, -27, -51, -3, 25, 20, -33, 27, - -25, -40, 41, -18, 55, -98, -38, -14, - -39, -66, -58, -65, 48, -4, -37, 13, + -24, -40, 41, -18, 55, -98, -38, -14, + -39, -66, -58, -64, 48, -4, -37, 13, ], [ -16, -2, 7, 13, 54, 53, 39, -46, -40, -16, 35, 25, 40, 91, -9, 23, - -0, 8, 5, 9, 3, 40, -51, 27, - 30, 13, -22, -17, 9, 10, -13, -59, - -9, -15, 1, 12, -50, 54, -12, -22, + -0, 8, 5, 9, 2, 40, -51, 27, + 30, 13, -22, -17, 8, 10, -13, -59, + -9, -15, 1, 11, -50, 54, -12, -22, -1, 15, -3, -66, -45, 31, -3, -18, - 5, 50, -37, 7, 16, -5, -12, 27, - -22, -43, -6, 34, -71, 43, -32, -64, + 5, 50, -37, 7, 17, -5, -12, 27, + -22, -43, -5, 35, -71, 43, -32, -64, ], [ -10, 4, 2, 33, -2, -3, 55, 14, - 8, 51, -4, 53, 10, -10, 33, -29, - 17, -38, 6, 10, 46, -40, 96, -43, + 8, 51, -4, 53, 10, -11, 33, -29, + 17, -38, 6, 10, 46, -41, 96, -43, 20, -10, 14, -29, 14, -34, -7, 11, - -25, -19, 5, -2, 4, -8, 21, 16, + -25, -19, 5, -2, 3, -8, 21, 16, 24, 3, 7, -26, -43, -55, 14, 20, 16, 44, -18, -50, -56, -34, 11, -56, - -3, 35, 0, 13, 15, -38, -4, -50, + -3, 35, 1, 13, 15, -38, -4, -50, ], [ -1, -42, -9, 19, 10, -6, -2, -17, - -30, 5, 38, -25, 9, 7, -17, 12, - 18, 23, 19, -2, 20, 46, -32, -25, + -30, 5, 38, -25, 10, 7, -17, 12, + 18, 23, 19, -2, 20, 46, -33, -25, 3, 22, -19, 13, -11, 12, -7, 16, - -3, 22, 40, 1, 22, 13, -17, -8, + -3, 22, 40, 1, 22, 13, -18, -8, -9, 6, -26, 2, 11, 15, -4, -7, -24, 48, -19, 20, 4, 63, -29, -29, - -3, 20, -32, -22, 6, -48, -67, 7, + -3, 20, -31, -22, 6, -48, -67, 7, ], ]; @@ -5549,130 +5549,130 @@ internal static class TunableEvalParameters 0, 0, 31, 5, -65, 38, -6, -4, -9, 3, 28, 31, 33, 46, -17, 25, -19, 44, -19, -33, -14, -21, -7, -9, - -0, -7, -41, -11, -8, 66, 2, -27, - -1, 9, -16, -19, -1, -42, -16, -4, + -0, -6, -40, -11, -8, 66, 2, -27, + -1, 9, -17, -19, -1, -42, -16, -4, -18, 7, 26, 7, 2, -5, 12, 10, - 18, -1, -19, -10, 4, -6, 10, -8, + 18, -1, -19, -10, 3, -6, 10, -7, ], [ 0, 0, 0, -2, -40, 5, 13, 10, - 0, 0, 0, 6, 16, -16, 14, 0, - 45, 69, -16, -34, 35, 15, -30, 51, + 0, 0, 0, 6, 16, -16, 14, -0, + 45, 69, -16, -34, 36, 15, -30, 50, -21, -50, -36, -32, -24, -15, 1, -35, - -32, -14, -10, -55, -32, -13, -14, -57, - -5, 5, -7, -5, -31, -17, -16, -10, - -13, 13, 18, 19, 22, 10, 21, 27, - 15, 0, -10, -10, -1, -7, 10, -6, + -32, -14, -10, -55, -31, -13, -14, -56, + -5, 5, -7, -5, -31, -17, -15, -10, + -14, 13, 18, 19, 22, 10, 21, 27, + 15, 0, -10, -9, -1, -6, 10, -5, ], [ -8, 0, 0, 0, -14, -22, -18, -1, - 8, 0, 0, 0, -31, 8, 13, 28, - -25, 34, -4, -9, -31, -61, 33, -31, - -58, -23, -45, -25, 15, 22, -23, -7, - -29, -63, -34, 0, -31, -38, -33, -73, - 50, 17, -4, -25, -23, 4, -9, 20, - -3, 36, 27, 14, 22, 17, 34, 33, - 24, 10, 0, -2, 11, 5, 19, 4, + 8, 0, 0, 0, -31, 9, 13, 28, + -25, 34, -3, -10, -31, -61, 33, -31, + -58, -22, -46, -25, 15, 23, -23, -7, + -29, -63, -33, 0, -32, -38, -32, -72, + 50, 17, -4, -25, -23, 4, -10, 20, + -3, 36, 26, 14, 22, 17, 34, 32, + 24, 10, 0, -1, 11, 5, 20, 4, ], [ - -42, -3, 0, 0, 0, -12, 10, 5, + -42, -4, 0, 0, 0, -12, 10, 5, -24, -18, 0, 0, 0, 23, 24, -15, - 12, -17, 31, 15, 6, -36, -8, 6, - 5, 22, -16, 3, -5, -37, 11, 8, - -44, -42, -17, -16, -32, -5, -31, -5, - 48, -1, -4, -23, -8, -12, 17, 1, - -13, 40, 25, 26, 26, 17, 25, 14, - 24, 10, 2, 0, 13, 7, 24, 4, + 12, -17, 32, 15, 5, -36, -9, 6, + 5, 22, -16, 3, -6, -38, 11, 8, + -44, -43, -18, -16, -31, -5, -31, -5, + 48, -1, -3, -23, -9, -12, 16, 1, + -13, 40, 25, 26, 26, 17, 26, 14, + 24, 9, 1, 0, 14, 7, 24, 5, ], [ - -26, -16, -21, 0, 0, 0, 5, -9, - 11, -3, 9, 0, 0, 0, -13, 19, - -34, -27, 8, 44, 26, 65, -14, 56, - -20, 30, 39, -10, 24, -36, 54, -59, - 11, 4, -65, -43, -15, -73, -63, -13, - 13, -25, -24, -20, -31, -21, 17, -16, - -22, 23, 39, 16, 15, 28, 31, 17, - 17, 1, -11, -13, 0, -4, 12, -4, + -26, -16, -21, 0, 0, 0, 5, -10, + 11, -3, 8, 0, 0, 0, -14, 20, + -34, -28, 8, 43, 26, 66, -14, 56, + -21, 30, 38, -9, 24, -37, 54, -58, + 11, 4, -66, -44, -14, -73, -63, -12, + 13, -25, -24, -20, -31, -20, 17, -16, + -21, 23, 39, 16, 14, 27, 31, 17, + 17, 1, -11, -14, 0, -4, 12, -4, ], [ 4, -2, -37, 13, 0, 0, 0, -5, - -11, 6, 22, -6, 0, 0, 0, 2, - 43, -38, -27, -13, 19, -8, 66, 53, - -35, 15, 3, 15, -5, 37, 19, -26, - -21, -42, 11, 17, 19, 7, 28, -11, - 11, -21, -29, -26, -27, -15, -6, -13, - -5, 34, 14, -3, 9, 9, 15, 16, - 12, 7, -5, -7, 4, 0, 16, 0, - ], - [ - -33, 10, 30, 20, -15, 0, 0, 0, - 32, 5, 7, -53, 10, 0, 0, 0, - -41, -8, -107, -6, -52, 24, 38, -17, - -59, -30, 7, 0, -17, -32, -3, 4, - -44, -60, -73, -78, -64, -94, -85, -82, + -10, 6, 22, -6, 0, 0, 0, 2, + 43, -37, -27, -13, 20, -8, 66, 53, + -35, 15, 3, 14, -6, 37, 19, -26, + -21, -43, 11, 17, 19, 7, 27, -11, + 11, -21, -30, -26, -27, -15, -5, -13, + -5, 35, 15, -4, 9, 9, 15, 16, + 11, 6, -5, -7, 4, 0, 16, 1, + ], + [ + -33, 11, 30, 20, -15, 0, 0, 0, + 32, 6, 7, -53, 11, 0, 0, 0, + -41, -8, -106, -5, -52, 24, 38, -17, + -58, -30, 7, 0, -17, -32, -3, 4, + -44, -60, -73, -78, -64, -94, -84, -82, 33, -10, -26, -28, -37, -35, -11, -16, - -25, 15, 14, 3, -0, 14, 15, 7, - 10, -10, -19, -24, -12, -16, 0, -14, + -25, 15, 13, 3, -0, 14, 14, 7, + 10, -10, -20, -24, -12, -16, 0, -14, ], [ - 47, 21, 7, 5, 20, 22, 0, 0, + 47, 21, 7, 5, 19, 22, 0, 0, -27, 15, 52, 27, 6, -36, 0, 0, - -102, -8, 12, -56, 54, 65, 97, 11, - 65, -23, -51, -14, -50, -2, -31, 24, - -24, -41, -51, -95, -64, -42, -19, -74, - -6, 20, -18, 12, -6, 0, 2, 14, - -9, 24, 38, 37, 32, 22, 27, 31, - 18, 6, -4, -4, 4, -0, 14, 0, + -101, -8, 12, -56, 54, 65, 97, 11, + 64, -23, -51, -14, -50, -2, -31, 24, + -25, -41, -52, -95, -64, -42, -19, -74, + -6, 20, -19, 12, -7, 0, 2, 14, + -9, 24, 38, 37, 31, 22, 26, 30, + 18, 5, -4, -5, 4, -1, 14, 0, ], [ -5, -11, -28, 20, 33, -67, -13, -16, -7, 10, 8, -46, -30, 33, -14, 35, 0, 0, 0, 25, -80, -8, -6, 29, - 11, 26, 5, -20, -14, -27, -20, 6, - -21, -11, 35, -8, 10, -2, 7, -27, + 11, 26, 5, -20, -14, -27, -21, 7, + -22, -11, 35, -8, 10, -2, 7, -27, -39, 5, -11, 11, 3, -17, 7, -3, - -16, 6, 3, -16, -8, -3, -7, 8, - 7, -6, -1, -2, -3, 21, 23, -3, + -16, 6, 3, -16, -8, -2, -7, 9, + 7, -6, -1, -2, -4, 21, 23, -3, ], [ 5, -10, -11, -2, -42, -31, -24, 9, - -116, 2, 27, 6, 27, 1, -29, -34, + -116, 1, 27, 6, 27, 1, -29, -34, -12, 0, 0, 0, -63, 8, -12, -34, 26, 19, 56, -9, -12, -57, 14, -15, - -17, -8, -2, 7, 23, 38, 44, 52, - 0, -17, 14, 12, -0, -20, 0, -24, + -17, -8, -3, 6, 23, 38, 43, 52, + 0, -17, 14, 11, -0, -20, 0, -24, 0, -2, -11, -15, -19, -9, -0, -6, - 27, -3, -1, -7, 22, 3, 31, 23, + 27, -3, -1, -7, 23, 3, 32, 24, ], [ -32, 26, -4, -8, -3, -46, -33, 10, - -64, 35, -17, 12, -9, -39, -0, -83, - 3, -13, 0, 0, 0, 45, -63, 43, - -29, -65, -6, 22, -9, -46, 11, 16, + -64, 35, -17, 12, -9, -39, 0, -83, + 3, -13, 0, 0, 0, 45, -64, 43, + -29, -65, -7, 22, -10, -46, 11, 16, 40, -6, 13, -5, -15, 8, 8, 20, 23, 11, -14, 10, -21, -9, 7, -0, 5, 8, -1, -5, 6, -5, 3, 2, - 17, 30, 5, 5, 18, 12, 36, 33, + 17, 30, 5, 5, 18, 12, 36, 34, ], [ - 44, -4, 34, 4, -8, 3, -10, -49, - 34, -26, -79, 13, -7, 4, -0, 11, + 44, -4, 34, 4, -8, 3, -10, -48, + 34, -27, -79, 13, -7, 4, -0, 11, -23, -2, -14, 0, 0, 0, -65, -91, - 2, -46, -0, 19, -6, 5, 10, 4, + 2, -45, -0, 18, -6, 5, 9, 4, -11, -0, 8, 21, -8, -18, 17, -8, -27, -6, 5, 5, 3, 6, 1, 12, 6, 2, -13, 1, 4, 3, 11, 1, - 1, 29, 17, 7, 6, -1, 35, 26, + 1, 29, 17, 7, 6, -1, 35, 27, ], [ -42, 48, -10, -20, 31, 3, -17, -17, - 85, -27, -45, -18, 30, -19, 24, -113, - -12, -18, 5, -23, 0, 0, 0, -15, + 85, -27, -45, -18, 30, -19, 25, -113, + -12, -18, 5, -22, 0, 0, 0, -15, 15, -8, -29, -27, 2, 35, -19, -22, - -28, 7, 20, 27, 8, -2, 12, 15, + -28, 7, 20, 27, 8, -3, 12, 15, -31, 16, -8, 9, -1, 3, 1, -5, - -7, -0, -14, -24, 0, -0, 8, 0, - -11, 15, 8, -4, 21, -1, 23, 14, + -7, -0, -15, -24, 0, -0, 8, 1, + -11, 15, 7, -4, 21, -1, 23, 14, ], [ 16, -1, -28, 36, -23, -21, -9, -1, @@ -5687,32 +5687,32 @@ internal static class TunableEvalParameters [ 22, 20, -28, -8, -5, 47, 4, -10, -13, 7, 23, 37, 43, 1, -8, 10, - 53, -26, -8, -24, -26, -51, 0, 0, - 12, 30, -2, -58, -21, -20, 19, 30, + 53, -26, -8, -24, -27, -51, 0, 0, + 12, 30, -1, -58, -21, -20, 19, 30, 19, -3, 13, -10, 11, -10, -11, -4, - -60, -3, -24, -3, -0, -0, -2, -2, - -2, 22, -6, -7, -13, 1, 23, 6, - 20, 25, 9, -10, 4, 0, 7, 2, + -61, -3, -24, -3, -0, -0, -2, -2, + -2, 22, -6, -7, -13, 1, 22, 6, + 19, 25, 8, -11, 3, 0, 7, 2, ], [ -1, -5, 21, -41, 15, -41, 8, -14, -11, -39, 28, -26, -17, -67, 35, 22, - 2, -1, -4, 26, 30, -5, -23, -79, + 2, -1, -4, 26, 30, -6, -23, -79, 6, -1, -64, -101, 8, 18, -41, -28, - -6, 53, 8, -18, -23, 27, 12, 17, - 9, 4, 70, 29, -3, -8, 20, -9, - 43, 6, 33, 43, 8, -4, -16, -34, - -16, 13, 55, 42, 43, 8, 84, 47, + -6, 54, 8, -18, -23, 27, 12, 17, + 10, 3, 70, 29, -3, -8, 20, -9, + 43, 7, 33, 43, 8, -4, -15, -34, + -15, 13, 55, 42, 43, 8, 84, 47, ], [ - 4, -5, 25, -6, -4, 17, 9, -33, + 3, -5, 25, -6, -4, 17, 9, -33, 15, 12, -31, 28, -31, -6, 3, 3, - 1, -5, 1, -15, -4, -22, 2, -14, + 1, -5, 1, -15, -4, -22, 1, -14, 6, -2, 30, -44, 14, 22, -7, 27, 15, -23, 14, 36, 24, 31, 78, -18, - 5, 24, -6, 11, 45, -12, -58, -23, + 5, 24, -6, 11, 45, -12, -57, -23, -17, -26, -19, -29, 9, -13, -58, 10, - -31, -20, -11, 16, 16, 18, 22, -4, + -30, -20, -12, 16, 16, 18, 21, -4, ], [ 1, -17, -1, 10, -51, 16, 10, 23, @@ -5721,7 +5721,7 @@ internal static class TunableEvalParameters -31, 16, 31, 6, 24, 4, -28, -22, 23, 14, -13, 30, 35, 69, 44, 69, 4, 7, -2, -10, 67, 81, 14, -39, - 32, -5, -56, 6, -43, -70, -31, -14, + 32, -5, -56, 7, -43, -70, -31, -14, -74, 51, 49, -15, -34, 38, 60, -19, ], [ @@ -5730,8 +5730,8 @@ internal static class TunableEvalParameters 40, 2, -33, -39, 17, 22, -15, -18, 10, 41, 2, 8, -43, 23, 7, 33, 16, 62, -7, 1, -16, 70, -0, 66, - 32, -10, 2, -5, -1, 7, -18, -28, - 89, -30, 9, -22, -19, 11, -23, 15, + 32, -10, 2, -5, -2, 7, -18, -28, + 89, -31, 9, -22, -18, 11, -24, 15, -90, 61, 34, -18, -34, -8, 37, 38, ], [ @@ -5740,19 +5740,19 @@ internal static class TunableEvalParameters -6, -15, 0, 32, -83, -51, -18, -12, -39, 21, 12, 16, 34, -5, -2, 15, 3, 71, 69, 18, 5, -53, -9, 42, - 38, 26, 38, -5, 10, -8, 60, 15, - 45, -5, -17, 9, 6, -2, -22, -48, - -26, 13, 61, -0, -50, -14, 70, -28, + 38, 26, 38, -5, 10, -8, 59, 15, + 45, -5, -17, 10, 6, -2, -22, -47, + -25, 13, 61, 0, -50, -13, 70, -28, ], [ - 36, -23, 20, -48, -13, 16, 6, 15, - 7, -21, 6, -46, 29, -14, 2, 3, + 37, -23, 20, -48, -13, 16, 6, 15, + 8, -21, 6, -46, 29, -14, 2, 3, -4, -16, -13, 34, 5, -18, 2, -22, 44, 49, 29, -8, 15, 16, -40, -10, - 55, 71, 50, 22, -11, 2, 12, 20, - -43, 5, 47, 37, 4, 14, 2, 48, + 56, 71, 50, 21, -11, 2, 12, 20, + -43, 5, 47, 37, 4, 14, 1, 49, -41, -8, -18, 27, -5, -35, -24, -43, - 6, 11, 52, 61, -28, -29, 9, -48, + 6, 10, 51, 62, -28, -29, 8, -48, ], [ -3, -15, -22, -66, -16, 44, 18, -5, @@ -5760,8 +5760,8 @@ internal static class TunableEvalParameters 4, 33, 8, -2, -48, 9, 19, 17, 9, -34, 67, 37, 40, -58, 0, -19, -11, 47, 54, 46, 68, -10, -7, 5, - -27, 21, 48, -13, 18, 3, 28, -1, - 51, -15, -54, 52, -21, 19, -21, -19, + -27, 21, 49, -13, 18, 3, 28, -1, + 51, -15, -53, 52, -21, 19, -21, -19, -6, 2, -4, -35, -31, -83, -34, -66, ], [ @@ -5771,8 +5771,8 @@ internal static class TunableEvalParameters 48, -33, -85, 71, -90, 64, 0, -15, 40, -15, 8, 7, 50, 36, -16, -5, 5, -4, -1, 62, 68, 107, 10, 5, - -4, -34, 66, -54, 7, 24, -5, -30, - -11, -25, 11, -5, -7, -23, 12, -35, + -4, -34, 66, -55, 6, 24, -5, -30, + -10, -25, 12, -5, -7, -23, 11, -35, ], ]; @@ -5781,88 +5781,88 @@ internal static class TunableEvalParameters [ 0, 0, -51, 5, 22, 4, 12, -34, 0, 0, 7, 4, -19, 8, 3, 27, - -70, 6, 14, -15, -14, -17, 5, -20, + -70, 6, 14, -15, -13, -17, 5, -20, -13, -31, 14, 9, 10, 11, 8, -2, 12, -3, 1, 8, 7, -8, 25, 17, 6, -8, 11, 12, 6, 20, 16, 16, - 15, 0, -7, -13, -1, -2, -4, -9, - -15, 14, 14, 9, 9, 18, 14, 0, + 15, 0, -7, -13, -0, -2, -4, -9, + -15, 14, 14, 9, 9, 18, 13, -0, ], [ - 0, 0, 0, -21, -7, 15, 25, -1, + 0, 0, 0, -21, -7, 15, 26, -1, 0, 0, 0, -1, 32, -10, -13, -3, -17, -2, -12, 22, -18, 3, 1, -10, -8, -7, 10, 6, -5, -1, -6, 2, - 15, -18, -11, 16, 16, 8, 13, 47, + 15, -18, -11, 17, 16, 8, 13, 47, -18, -4, 4, 7, 10, 7, 6, 5, 10, -5, -11, -16, -14, -13, -15, -30, -25, 0, -3, -3, -0, 2, 4, -2, ], [ - -76, 0, 0, 0, -19, 9, -19, -17, + -76, 0, 0, 0, -19, 9, -19, -16, -31, 0, 0, 0, 16, 14, 11, 8, 38, -13, 19, 6, 21, 15, 6, -18, - 11, -4, -7, 3, -13, -15, -0, 6, - 22, 12, 16, 16, 20, 12, 11, 32, - 2, -16, -7, 8, 1, -2, 15, 1, - 1, -12, -13, -14, -6, -8, -19, -19, - -16, 3, 0, -3, -2, 2, 5, 7, + 11, -4, -7, 3, -14, -15, -0, 6, + 23, 12, 15, 16, 20, 12, 10, 31, + 2, -16, -8, 8, 1, -2, 16, 1, + 1, -11, -13, -14, -7, -8, -20, -19, + -16, 3, 0, -3, -2, 2, 4, 6, ], [ -53, 19, 0, 0, 0, 27, 2, -15, 15, 5, 0, 0, 0, 1, 7, -42, -2, 9, -7, 7, -10, 3, 2, 52, - 24, -31, 11, -8, 4, -9, -23, -17, + 23, -31, 11, -8, 4, -9, -24, -17, 11, 8, 4, 12, 7, -2, 20, -9, - -18, -1, -1, 12, 4, -4, 1, 1, + -18, -1, -1, 13, 4, -4, 1, 1, 4, -16, -15, -15, -11, -4, -14, -0, -13, 3, 3, 0, 1, 1, 11, 12, ], [ - 9, -53, -2, 0, 0, 0, 2, -0, - -12, 30, 1, 0, 0, 0, 4, -10, - -16, 11, 3, -10, 14, -6, 5, -3, + 9, -53, -2, 0, 0, 0, 2, 0, + -12, 29, 1, 0, 0, 0, 4, -10, + -16, 12, 3, -9, 14, -6, 5, -3, 34, -5, -15, 0, -21, 2, -26, -9, - 7, -1, 19, 18, 13, 15, 10, -8, - -11, 2, 2, 2, 4, -2, -6, 17, - 1, -19, -25, -15, -18, -14, -12, -16, + 7, -1, 20, 18, 13, 15, 10, -8, + -12, 2, 2, 2, 4, -2, -6, 17, + 1, -19, -25, -15, -18, -13, -12, -16, -11, 0, 2, -1, 0, 1, 10, 11, ], [ 15, 12, -12, 29, 0, 0, 0, -52, 14, -16, -5, -6, 0, 0, 0, -16, - 11, 3, 10, 3, -5, 27, -7, 16, + 11, 3, 11, 3, -5, 27, -7, 16, -5, 6, 12, -25, 1, -20, -19, 6, - -7, 27, 5, 3, 1, -8, -5, 1, - -35, 3, 4, 4, 4, -1, -10, 6, + -7, 27, 5, 3, 1, -8, -4, 1, + -35, 3, 4, 4, 4, -1, -10, 5, 0, -23, -14, -2, -11, -8, -9, -11, - -20, -2, -2, -1, -1, 0, 6, 8, + -20, -2, -2, -1, -1, 0, 5, 8, ], [ -54, 5, -23, -25, -13, 0, 0, 0, 28, 7, 22, 19, -26, 0, 0, 0, - 25, 12, 35, 1, 11, -7, 7, -32, + 25, 12, 35, 0, 11, -8, 7, -32, 19, -15, -18, -5, 10, -2, -18, -18, - 20, 27, 18, 21, 17, 15, 16, 3, + 20, 27, 18, 21, 18, 15, 16, 3, -31, -4, 8, 11, 6, 1, -11, -5, - 10, -22, -19, -12, -13, -19, -17, -17, - -27, -4, -5, -11, -10, -6, 0, -2, + 10, -22, -19, -12, -12, -19, -17, -17, + -27, -4, -4, -11, -10, -5, 0, -1, ], [ - 114, -16, 44, -49, -13, -36, 0, 0, + 114, -16, 44, -49, -13, -37, 0, 0, 37, -16, -31, 22, 7, 3, 0, 0, -32, 12, -27, 35, -23, -10, -33, -40, -35, 5, 6, -5, 9, 18, -5, -7, - -21, 25, 13, 32, 22, 20, 11, 30, + -21, 25, 14, 32, 22, 20, 11, 30, -36, -19, 12, 2, 3, -12, -8, -13, - 8, -14, -20, -23, -19, -15, -17, -23, - -8, 2, -7, -12, -11, -8, 2, 0, + 8, -14, -20, -23, -19, -14, -17, -23, + -8, 2, -6, -12, -11, -8, 1, 0, ], [ -86, -3, -52, -8, 11, 26, -11, -7, -58, -62, 21, -6, -6, 3, 8, 15, 0, 0, 0, -7, 20, 3, 4, -10, - -10, -14, -11, 11, 4, 9, 6, -0, + -10, -14, -11, 11, 4, 9, 6, -1, 23, -3, -7, 8, 9, 13, 3, 16, 32, -4, 4, 4, 1, 10, 9, 9, 12, 7, 3, 17, 8, -1, -2, -7, @@ -5872,20 +5872,20 @@ internal static class TunableEvalParameters -90, -22, -7, 12, 10, 5, -5, 10, -15, 3, -2, -26, -10, 5, 7, 2, 3, 0, 0, 0, 13, 2, 3, 7, - -9, -24, -15, -5, 0, 12, -5, 4, + -9, -24, -14, -5, 0, 12, -5, 4, 15, -6, -3, 2, 3, -2, 1, 2, - 15, 0, -6, 3, -0, 2, 1, 5, + 15, 0, -6, 4, -0, 2, 1, 5, 4, 4, 8, 9, 7, 4, -2, 2, - -8, 16, 7, 11, 7, 6, 3, -3, + -8, 15, 7, 11, 7, 6, 3, -3, ], [ -19, 15, 14, 14, -18, 15, -18, -9, - 14, 0, 22, 20, 71, 5, 5, 6, + 14, 1, 22, 20, 71, 5, 5, 6, -5, -11, 0, 0, 0, -7, 12, -17, -5, -9, -7, -8, -8, 7, -2, -8, -19, -14, -9, -2, 4, -3, 1, -7, -15, -10, -4, -2, -2, -5, -6, -3, - -4, -6, -3, 1, -1, -2, -7, -8, + -4, -6, -3, 1, -1, -2, -8, -8, -2, -5, -5, -6, 1, -4, -3, -6, ], [ @@ -5896,7 +5896,7 @@ internal static class TunableEvalParameters -8, -6, -4, -4, 4, 2, -9, -10, -14, -5, -8, 0, -5, -9, -4, -11, -9, -8, -2, -1, -2, 0, -5, -4, - -3, -6, -7, 0, 6, 6, 2, -3, + -3, -6, -7, 0, 6, 5, 2, -3, ], [ -1, -15, -17, 2, -29, -1, -8, -72, @@ -5920,9 +5920,9 @@ internal static class TunableEvalParameters ], [ -3, -43, -4, -21, 23, -9, -9, -7, - 4, 14, 0, -7, -5, 6, 4, 8, + 4, 14, -0, -7, -5, 6, 4, 8, -11, 6, -3, 15, 2, 21, 0, 0, - -3, -5, 9, 16, 1, 3, -16, -39, + -3, -5, 8, 16, 1, 3, -16, -39, -11, 7, 1, 6, 9, 4, -3, -8, -1, -0, -1, 9, 5, 2, 4, -1, 2, -19, -7, 4, 10, 4, 2, 7, @@ -5932,11 +5932,11 @@ internal static class TunableEvalParameters 24, -14, -12, 0, 5, -18, -19, 39, -8, -5, -15, 6, 1, -6, -9, 16, 7, 11, 17, -8, 7, 10, 4, 1, - -8, 16, 25, 20, 7, 3, 26, 6, + -8, 16, 25, 20, 7, 3, 26, 7, -11, -10, 19, 16, 21, 4, 6, 14, - -4, 47, 16, 16, 7, 2, -9, -2, + -4, 48, 16, 16, 7, 2, -9, -2, 27, 50, 35, 15, 12, 17, 13, 13, - 37, 28, 30, 23, -10, 8, -2, -26, + 37, 28, 30, 23, -10, 8, -3, -26, ], [ -5, 35, 34, -40, -23, -21, -16, 23, @@ -5944,9 +5944,9 @@ internal static class TunableEvalParameters 25, -12, -14, 3, 9, 1, -2, 20, 15, 11, -20, 19, 2, 4, 15, -7, -23, 3, 12, -7, 6, -2, -8, 29, - 33, 62, 7, 11, -1, 10, 17, 7, + 33, 61, 7, 11, -1, 10, 17, 7, -19, 14, 24, 4, 3, 1, 23, -8, - 45, 9, 16, -1, 16, -3, -6, 15, + 45, 9, 16, -1, 16, -3, -5, 15, ], [ 23, 14, 22, 16, -8, 5, 3, 40, @@ -5955,7 +5955,7 @@ internal static class TunableEvalParameters -9, 3, 1, -10, 2, 1, 14, 12, -21, 23, 4, -27, -7, -8, -5, -3, 3, 9, 4, -9, -14, -12, -3, 4, - -2, 11, 15, 7, 14, 11, 17, -3, + -1, 11, 14, 7, 14, 11, 17, -3, 15, 1, -10, -3, 12, -6, -12, 8, ], [ @@ -5986,27 +5986,27 @@ internal static class TunableEvalParameters -18, -25, -6, -15, -10, -15, 12, -32, -2, -14, -18, -5, -0, 26, 3, -17, 3, 0, -1, 0, 8, 9, 14, 22, - -8, -6, -20, -19, 4, -4, 8, 21, + -8, -6, -20, -19, 4, -4, 8, 22, ], [ 5, -4, 1, 18, 20, -4, 29, -53, 15, 7, -4, -13, -9, 2, -14, -13, -2, -12, -1, 9, -0, -9, -17, -11, 2, 15, -10, 9, -2, -13, 2, 31, - -19, -11, -3, -3, -16, 1, -0, 8, + -19, -11, -3, -2, -16, 1, -0, 8, -3, -9, -10, 9, -0, 8, 11, -3, -23, 14, 13, -7, 16, 11, 23, 16, - -4, -7, 2, 13, 15, 24, 11, 35, + -4, -7, 2, 13, 14, 24, 11, 35, ], [ - 9, -38, -44, -14, -10, -18, 16, -20, + 10, -38, -44, -14, -10, -18, 16, -20, -22, -4, -18, -22, -33, -6, -20, -14, 4, -26, -21, 3, 6, -9, 9, 9, -19, 17, 20, -10, 33, 19, 40, 25, -13, 14, 1, 7, 12, 20, -18, -4, -23, -11, -11, -0, 9, 14, 69, 3, 5, -2, -12, 21, 19, 43, 36, 39, - 23, 12, 20, 21, 21, 42, 48, 46, + 23, 12, 20, 21, 20, 42, 48, 46, ], ]; } @@ -6034,9 +6034,9 @@ public static class EvaluationParams public const int BishopCorneredPenalty = -2687006; /// - /// + /// /// - public const int BishopCorneredAndBlockedPenalty = -9764964; + public const int BishopCorneredAndBlockedPenalty = -9830499; /// /// @@ -6079,9 +6079,14 @@ public static class EvaluationParams public const int PawnPushThreatBonus = 1245206; /// - /// + /// /// - public const int TrappedRookPenalty = -983051; + public const int TrappedRookPenalty = 1769471; + + /// + /// + /// + public const int BuriedRookPenalty = 262129; public static readonly int[] PassedPawnPushBonus = [ @@ -6108,9 +6113,9 @@ public static class EvaluationParams Pack(76, 5), Pack(138, -16), Pack(203, -37), - Pack(337, -166), + Pack(337, -165), Pack(194, 43), - Pack(177, 24) + Pack(176, 24) ]; public static readonly int[] PieceProtectedByPawnBonus = @@ -6118,17 +6123,17 @@ public static class EvaluationParams Pack(18, 11), Pack(1, 12), Pack(11, 20), - Pack(9, 7), + Pack(8, 7), Pack(-5, 19) ]; public static readonly int[] IsolatedPawnPenalty = [ - Pack(1, -20), + Pack(1, -21), Pack(-5, -23), Pack(-7, -25), Pack(-5, -33), - Pack(-9, -33), + Pack(-9, -34), Pack(-4, -24), Pack(-5, -19), Pack(-1, -24) @@ -6142,7 +6147,7 @@ public static class EvaluationParams Pack(22, 22), Pack(56, 55), Pack(163, 97), - Pack(84, 241) + Pack(83, 241) ]; public static readonly int[] ConnectedRooksBonus = @@ -6159,7 +6164,7 @@ public static class EvaluationParams public static readonly int[] PawnIslandsBonus = [ - Pack(55, -28), + Pack(54, -28), Pack(6, -11), Pack(-7, 10), Pack(-22, 30), @@ -6174,7 +6179,7 @@ public static class EvaluationParams Pack(140, 131), Pack(134, 124), Pack(129, 118), - Pack(124, 111), + Pack(124, 110), Pack(117, 104), Pack(116, 94) ]; @@ -6196,7 +6201,7 @@ public static class EvaluationParams [ Pack(0, 0), Pack(78, -5), - Pack(19, 17), + Pack(20, 17), Pack(56, -1), Pack(33, 19) ]; @@ -6248,7 +6253,7 @@ public static class EvaluationParams public static readonly int[] VirtualKingMobilityBonus = [ - Pack(1, -6), + Pack(1, -8), Pack(-1, -1), Pack(-2, -4), Pack(1, -9), @@ -6263,16 +6268,16 @@ public static class EvaluationParams Pack(7, 6), Pack(5, 7), Pack(2, 9), - Pack(6, 8), + Pack(6, 9), Pack(9, 7), Pack(10, 7), Pack(18, 4), Pack(26, 1), - Pack(20, 2), + Pack(20, 3), Pack(31, -1), Pack(22, 1), Pack(21, 0), - Pack(10, -1), + Pack(10, -0), Pack(4, 0), Pack(-19, -11), Pack(-99, 19) @@ -6299,7 +6304,7 @@ public static class EvaluationParams Pack(26, 52), Pack(36, 63), Pack(41, 72), - Pack(46, 77), + Pack(45, 77), Pack(50, 79), Pack(53, 82), Pack(60, 79), @@ -6312,72 +6317,72 @@ public static class EvaluationParams public static readonly int[] RookMobilityBonus = [ - Pack(-46, -85), + Pack(-48, -81), Pack(0, 0), - Pack(17, 23), - Pack(23, 40), - Pack(31, 44), - Pack(37, 52), - Pack(42, 58), - Pack(48, 60), - Pack(54, 64), - Pack(58, 70), - Pack(63, 72), - Pack(67, 76), - Pack(72, 78), - Pack(79, 79), - Pack(112, 63) + Pack(17, 24), + Pack(22, 42), + Pack(29, 49), + Pack(34, 57), + Pack(39, 62), + Pack(46, 65), + Pack(52, 68), + Pack(56, 74), + Pack(60, 76), + Pack(64, 80), + Pack(69, 82), + Pack(76, 84), + Pack(110, 68) ]; public static readonly int[] QueenMobilityBonus = [ - Pack(-791, -663), + Pack(-792, -661), Pack(0, 0), - Pack(32, 56), - Pack(45, 153), - Pack(47, 249), - Pack(52, 292), - Pack(56, 326), - Pack(61, 344), - Pack(67, 356), - Pack(72, 366), - Pack(76, 373), - Pack(80, 379), - Pack(83, 384), - Pack(87, 386), - Pack(88, 390), - Pack(93, 390), - Pack(91, 398), - Pack(95, 397), - Pack(103, 386), - Pack(116, 376), - Pack(126, 365), - Pack(144, 343), - Pack(161, 334), - Pack(187, 297), - Pack(210, 278), - Pack(293, 216), - Pack(142, 297), - Pack(19, 344) + Pack(32, 58), + Pack(45, 154), + Pack(47, 250), + Pack(52, 293), + Pack(56, 327), + Pack(61, 346), + Pack(67, 357), + Pack(72, 367), + Pack(76, 375), + Pack(80, 380), + Pack(83, 385), + Pack(87, 388), + Pack(88, 392), + Pack(93, 391), + Pack(91, 399), + Pack(95, 398), + Pack(103, 388), + Pack(116, 378), + Pack(126, 366), + Pack(143, 344), + Pack(161, 336), + Pack(187, 299), + Pack(210, 280), + Pack(292, 218), + Pack(142, 298), + Pack(18, 345) ]; public static readonly int[] KingMobilityBonus = [ - Pack(47, -109), - Pack(0, -62), - Pack(13, -16), - Pack(14, 6), + Pack(47, -108), + Pack(-0, -62), + Pack(12, -16), + Pack(13, 6), Pack(4, 7), Pack(-2, 6), Pack(-17, 9), Pack(-30, 9), - Pack(-41, 0) + Pack(-40, 0) ]; public static readonly int[] KnightThreatsBonus = [ Pack(-9, 18), - Pack(1, 7), + Pack(1, 8), Pack(31, 29), Pack(66, -7), Pack(26, -37), @@ -6387,11 +6392,11 @@ public static class EvaluationParams public static readonly int[] KnightThreatsBonus_Defended = [ Pack(-10, -5), - Pack(5, 14), + Pack(5, 15), Pack(32, 35), Pack(56, 9), Pack(29, -5), - Pack(-15, 47) + Pack(-16, 47) ]; public static readonly int[] BishopThreatsBonus = @@ -6401,7 +6406,7 @@ public static class EvaluationParams Pack(-0, 2), Pack(51, 16), Pack(38, 80), - Pack(-63, -4) + Pack(-62, -4) ]; public static readonly int[] BishopThreatsBonus_Defended = @@ -6419,35 +6424,35 @@ public static class EvaluationParams Pack(-3, 17), Pack(17, 27), Pack(23, 27), - Pack(-45, 5), + Pack(-45, 4), Pack(58, -11), - Pack(-66, 30) + Pack(-65, 30) ]; public static readonly int[] RookThreatsBonus_Defended = [ Pack(-21, -3), Pack(-7, 6), - Pack(-5, -4), - Pack(-38, -0), + Pack(-5, -3), + Pack(-38, -1), Pack(58, 42), - Pack(59, 2) + Pack(59, 3) ]; public static readonly int[] QueenThreatsBonus = [ Pack(-2, 6), Pack(6, 20), - Pack(-1, 48), + Pack(-1, 49), Pack(1, 1), Pack(-7, -10), - Pack(-17, 95) + Pack(-16, 94) ]; public static readonly int[] QueenThreatsBonus_Defended = [ Pack(-3, 9), - Pack(1, -13), + Pack(1, -12), Pack(-0, 1), Pack(8, -24), Pack(-1, 1), @@ -6460,7 +6465,7 @@ public static class EvaluationParams Pack(-27, 23), Pack(39, -4), Pack(49, -7), - Pack(-232, -105), + Pack(-231, -105), Pack(0, 0) ]; @@ -6482,7 +6487,7 @@ public static class EvaluationParams Pack(-2, -18), Pack(-6, -0), Pack(11, 13), - Pack(10, 47), + Pack(11, 47), Pack(89, 106), ], [ @@ -6491,42 +6496,42 @@ public static class EvaluationParams Pack(-10, -14), Pack(-2, -8), Pack(10, 13), - Pack(0, 31), - Pack(101, 104), + Pack(1, 31), + Pack(100, 104), ], [ Pack(0, 0), Pack(-13, -32), Pack(-15, -12), - Pack(2, -11), + Pack(2, -12), Pack(1, 7), - Pack(-1, 29), - Pack(66, 134), + Pack(-0, 29), + Pack(65, 135), ], [ Pack(0, 0), Pack(-7, -33), Pack(-13, -14), - Pack(-7, -5), + Pack(-8, -5), Pack(-14, 17), Pack(-4, 29), - Pack(80, 112), + Pack(79, 113), ], [ Pack(0, 0), - Pack(-17, -25), + Pack(-17, -24), Pack(-12, -19), - Pack(0, -16), + Pack(-0, -16), Pack(-5, 11), - Pack(-15, 37), - Pack(25, 136), + Pack(-16, 37), + Pack(25, 137), ], [ Pack(0, 0), - Pack(-10, -30), + Pack(-9, -30), Pack(-8, -17), - Pack(0, -2), - Pack(1, 14), + Pack(-0, -2), + Pack(0, 14), Pack(7, 26), Pack(62, 124), ], @@ -6546,7 +6551,7 @@ public static class EvaluationParams Pack(1, -6), Pack(21, 10), Pack(17, 41), - Pack(79, 115), + Pack(80, 115), ], [ Pack(0, 0), @@ -6562,18 +6567,18 @@ public static class EvaluationParams Pack(-19, -16), Pack(-17, -7), Pack(-16, 2), - Pack(-5, 17), + Pack(-4, 17), Pack(31, 18), Pack(92, 112), ], [ Pack(0, 0), Pack(-4, -21), - Pack(-25, -4), + Pack(-25, -5), Pack(-20, 3), Pack(3, 14), Pack(17, 22), - Pack(66, 120), + Pack(65, 120), ], [ Pack(0, 0), @@ -6586,18 +6591,18 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(-18, -13), + Pack(-17, -13), Pack(-9, -9), Pack(-12, 1), - Pack(8, 15), + Pack(7, 15), Pack(26, 25), Pack(80, 104), ], [ Pack(0, 0), - Pack(-19, -17), + Pack(-18, -17), Pack(-19, -1), - Pack(-10, 3), + Pack(-11, 3), Pack(11, 16), Pack(24, 33), Pack(96, 95), @@ -6606,17 +6611,17 @@ public static class EvaluationParams Pack(0, 0), Pack(-4, -19), Pack(-17, -1), - Pack(-5, 1), + Pack(-6, 1), Pack(22, 16), Pack(25, 27), - Pack(91, 98), + Pack(92, 98), ], [ Pack(0, 0), - Pack(-32, 1), + Pack(-33, 1), Pack(-26, 1), Pack(-6, -3), - Pack(-10, 10), + Pack(-9, 10), Pack(19, 25), Pack(81, 101), ], @@ -6631,7 +6636,7 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(-36, 11), + Pack(-37, 11), Pack(-30, 12), Pack(-44, 9), Pack(18, 2), @@ -6643,9 +6648,9 @@ public static class EvaluationParams Pack(-59, 11), Pack(-43, 16), Pack(43, 2), - Pack(36, 4), + Pack(35, 4), Pack(100, -10), - Pack(173, 70), + Pack(173, 69), ], [ Pack(0, 0), @@ -6668,7 +6673,7 @@ public static class EvaluationParams [ Pack(0, 0), Pack(-33, 10), - Pack(-45, 12), + Pack(-44, 12), Pack(-50, 14), Pack(25, -14), Pack(127, -17), @@ -6676,7 +6681,7 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(-68, 18), + Pack(-67, 18), Pack(-29, 12), Pack(-44, 14), Pack(-18, -5), @@ -6701,9 +6706,9 @@ public static class EvaluationParams Pack(-35, -25), Pack(-29, -22), Pack(-21, -3), - Pack(-10, 12), + Pack(-9, 12), Pack(22, 1), - Pack(65, 137), + Pack(64, 138), ], [ Pack(0, 0), @@ -6712,16 +6717,16 @@ public static class EvaluationParams Pack(-15, -4), Pack(-0, 11), Pack(32, -8), - Pack(50, 129), + Pack(50, 130), ], [ Pack(0, 0), Pack(-21, -41), Pack(-28, -22), Pack(-13, -14), - Pack(1, -8), + Pack(0, -8), Pack(43, -8), - Pack(97, 112), + Pack(96, 112), ], [ Pack(0, 0), @@ -6730,7 +6735,7 @@ public static class EvaluationParams Pack(-7, -17), Pack(2, -6), Pack(26, -3), - Pack(66, 139), + Pack(67, 138), ], [ Pack(0, 0), @@ -6748,7 +6753,7 @@ public static class EvaluationParams Pack(-20, -3), Pack(-1, 18), Pack(24, 7), - Pack(51, 143), + Pack(52, 143), ], [ Pack(0, 0), @@ -6757,7 +6762,7 @@ public static class EvaluationParams Pack(-27, 7), Pack(-12, 13), Pack(16, -34), - Pack(65, 132), + Pack(65, 131), ], [ Pack(0, 0), @@ -6766,12 +6771,12 @@ public static class EvaluationParams Pack(-11, 2), Pack(9, 15), Pack(27, 34), - Pack(105, 99), + Pack(104, 99), ], [ Pack(0, 0), Pack(-27, -14), - Pack(-20, -2), + Pack(-21, -2), Pack(-13, 4), Pack(15, 7), Pack(29, 43), @@ -6792,7 +6797,7 @@ public static class EvaluationParams Pack(-9, -5), Pack(4, -2), Pack(21, 7), - Pack(41, 43), + Pack(40, 43), Pack(98, 86), ], [ @@ -6801,7 +6806,7 @@ public static class EvaluationParams Pack(-20, 2), Pack(-2, 4), Pack(23, 8), - Pack(26, 44), + Pack(26, 43), Pack(92, 93), ], [ @@ -6819,7 +6824,7 @@ public static class EvaluationParams Pack(-20, 2), Pack(-23, 9), Pack(-8, 13), - Pack(36, 24), + Pack(36, 25), Pack(83, 106), ], [ @@ -6864,14 +6869,14 @@ public static class EvaluationParams Pack(46, -4), Pack(63, 7), Pack(40, 23), - Pack(18, 51), - Pack(101, 75), + Pack(17, 51), + Pack(100, 75), ], [ Pack(0, 0), Pack(72, -10), Pack(47, -9), - Pack(3, 19), + Pack(2, 19), Pack(-8, 45), Pack(58, 41), Pack(112, 83), @@ -6883,16 +6888,16 @@ public static class EvaluationParams Pack(27, 8), Pack(23, 26), Pack(-14, 38), - Pack(73, 97), + Pack(72, 97), ], [ Pack(0, 0), Pack(-30, 1), Pack(-41, -8), - Pack(7, -1), + Pack(6, -1), Pack(24, 24), - Pack(-30, 67), - Pack(45, 123), + Pack(-30, 66), + Pack(44, 123), ], ]; @@ -6911,9 +6916,9 @@ public static class EvaluationParams Pack(0, 0), Pack(-4, -9), Pack(-19, 8), - Pack(-15, 8), + Pack(-16, 9), Pack(-7, 8), - Pack(20, 6), + Pack(20, 5), Pack(-3, 42), ], [ @@ -6932,7 +6937,7 @@ public static class EvaluationParams Pack(-17, -2), Pack(-8, 3), Pack(5, 15), - Pack(4, 9), + Pack(5, 8), ], [ Pack(0, 0), @@ -6941,25 +6946,25 @@ public static class EvaluationParams Pack(-18, 4), Pack(-29, 12), Pack(1, 4), - Pack(26, -7), + Pack(26, -8), ], [ Pack(0, 0), - Pack(-7, 4), + Pack(-8, 4), Pack(-21, -3), Pack(-34, 1), Pack(-23, 1), - Pack(4, 3), + Pack(3, 3), Pack(37, -19), ], [ Pack(0, 0), - Pack(-4, 6), + Pack(-5, 6), Pack(-14, -2), - Pack(-17, 1), + Pack(-17, 2), Pack(-18, 7), Pack(14, -1), - Pack(35, 17), + Pack(34, 17), ], [ Pack(0, 0), @@ -6992,10 +6997,10 @@ public static class EvaluationParams Pack(0, 0), Pack(-22, 2), Pack(-9, 5), - Pack(-43, 15), + Pack(-42, 14), Pack(-47, 18), Pack(-43, 30), - Pack(31, -12), + Pack(32, -12), ], [ Pack(0, 0), @@ -7004,7 +7009,7 @@ public static class EvaluationParams Pack(-39, 12), Pack(-46, 15), Pack(-26, 17), - Pack(69, -14), + Pack(70, -14), ], [ Pack(0, 0), @@ -7021,7 +7026,7 @@ public static class EvaluationParams Pack(-11, -3), Pack(-22, 7), Pack(-21, 9), - Pack(1, 8), + Pack(1, 9), Pack(21, 0), ], [ @@ -7037,17 +7042,17 @@ public static class EvaluationParams Pack(0, 0), Pack(-38, 7), Pack(-11, 10), - Pack(-35, 27), + Pack(-34, 27), Pack(-30, 32), - Pack(-32, 40), + Pack(-31, 40), Pack(8, 24), ], [ Pack(0, 0), - Pack(81, -14), + Pack(80, -14), Pack(80, 1), Pack(10, 16), - Pack(-46, 55), + Pack(-46, 54), Pack(-83, 64), Pack(-8, 19), ], @@ -7057,13 +7062,13 @@ public static class EvaluationParams Pack(37, -12), Pack(60, 12), Pack(-8, 35), - Pack(-45, 67), + Pack(-44, 67), Pack(-2, 20), ], [ Pack(0, 0), Pack(15, 5), - Pack(41, 1), + Pack(42, 1), Pack(27, 14), Pack(27, 24), Pack(-48, 50), @@ -7111,7 +7116,7 @@ public static class EvaluationParams [ [ Pack(0, 0), - Pack(15, -9), + Pack(14, -9), Pack(27, -14), Pack(-10, 19), Pack(-30, 36), @@ -7122,50 +7127,50 @@ public static class EvaluationParams Pack(0, 0), Pack(2, 3), Pack(4, 9), - Pack(8, 13), - Pack(-7, 22), - Pack(2, 60), - Pack(49, 28), + Pack(7, 13), + Pack(-7, 21), + Pack(2, 59), + Pack(50, 27), ], [ Pack(0, 0), Pack(14, -2), - Pack(26, -11), - Pack(19, -2), - Pack(25, 4), + Pack(25, -10), + Pack(19, -1), + Pack(24, 5), Pack(29, 46), - Pack(85, -4), + Pack(83, -3), ], [ Pack(0, 0), Pack(8, 10), Pack(24, -1), Pack(50, -7), - Pack(18, 16), + Pack(17, 16), Pack(33, 38), - Pack(69, 10), + Pack(67, 11), ], [ Pack(0, 0), - Pack(8, 8), - Pack(19, 8), - Pack(32, 3), - Pack(59, 1), + Pack(8, 7), + Pack(20, 9), + Pack(33, 3), + Pack(61, 1), Pack(24, 63), - Pack(57, 16), + Pack(57, 18), ], [ Pack(0, 0), Pack(17, -13), Pack(29, -7), Pack(5, 9), - Pack(17, 7), + Pack(18, 7), Pack(32, 27), - Pack(123, -9), + Pack(124, -9), ], [ Pack(0, 0), - Pack(-11, 5), + Pack(-10, 5), Pack(-2, -1), Pack(0, 4), Pack(6, 10), @@ -7176,7 +7181,7 @@ public static class EvaluationParams Pack(0, 0), Pack(-5, 5), Pack(2, 3), - Pack(4, -4), + Pack(4, -5), Pack(-5, 16), Pack(-4, 46), Pack(2, 41), @@ -7192,8 +7197,8 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(5, 3), - Pack(1, 0), + Pack(5, 4), + Pack(1, 1), Pack(-5, 9), Pack(-5, 15), Pack(25, -4), @@ -7203,9 +7208,9 @@ public static class EvaluationParams Pack(0, 0), Pack(11, -3), Pack(-13, 11), - Pack(7, 10), + Pack(6, 10), Pack(-1, 17), - Pack(25, -1), + Pack(24, -1), Pack(50, 6), ], [ @@ -7214,7 +7219,7 @@ public static class EvaluationParams Pack(0, 10), Pack(1, 15), Pack(16, 10), - Pack(38, 2), + Pack(37, 2), Pack(81, 8), ], [ @@ -7246,10 +7251,10 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(-8, -1), - Pack(16, -7), - Pack(-33, 23), - Pack(-77, 45), + Pack(-9, -0), + Pack(15, -7), + Pack(-34, 23), + Pack(-78, 45), Pack(-89, 55), Pack(-11, 3), ], @@ -7265,7 +7270,7 @@ public static class EvaluationParams [ Pack(0, 0), Pack(-35, -8), - Pack(-43, 12), + Pack(-44, 12), Pack(-92, 18), Pack(-111, 36), Pack(-80, 30), @@ -7284,7 +7289,7 @@ public static class EvaluationParams Pack(0, 0), Pack(-105, 33), Pack(-41, 23), - Pack(-101, 26), + Pack(-100, 26), Pack(-121, 40), Pack(-132, 38), Pack(-9, 8), @@ -7294,7 +7299,7 @@ public static class EvaluationParams Pack(-60, 19), Pack(-88, 27), Pack(-55, 15), - Pack(-73, 18), + Pack(-73, 19), Pack(-166, 43), Pack(-76, 4), ], @@ -7302,15 +7307,15 @@ public static class EvaluationParams Pack(0, 0), Pack(-29, -8), Pack(-20, -1), - Pack(-46, 10), - Pack(-104, 40), + Pack(-45, 10), + Pack(-104, 39), Pack(-88, 38), Pack(-83, 20), ], [ Pack(0, 0), Pack(-26, -12), - Pack(16, 4), + Pack(17, 4), Pack(-68, 28), Pack(-115, 40), Pack(-126, 55), @@ -7343,7 +7348,7 @@ public static class EvaluationParams [ Pack(0, 0), Pack(0, 0), - Pack(-26, -16), + Pack(-27, -16), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7354,7 +7359,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-37, 2), + Pack(-36, 2), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7387,7 +7392,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-66, -15), + Pack(-67, -16), Pack(0, 0), ], [ @@ -7402,7 +7407,7 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(-74, 9), + Pack(-73, 9), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7504,7 +7509,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-31, 40), + Pack(-31, 39), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7555,7 +7560,7 @@ public static class EvaluationParams public static readonly int[][] SemiOpenFileKingPenalty = [ [ - Pack(-45, 14), + Pack(-44, 14), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7577,7 +7582,7 @@ public static class EvaluationParams [ Pack(0, 0), Pack(0, 0), - Pack(-1, -9), + Pack(-1, -8), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7588,7 +7593,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-9, -3), + Pack(-8, -4), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7621,7 +7626,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-26, -3), + Pack(-27, -3), Pack(0, 0), ], [ @@ -7636,7 +7641,7 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(-29, 15), + Pack(-28, 15), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7789,164 +7794,164 @@ public static class EvaluationParams public static readonly int[][] OpenFileRookBonus = [ [ - Pack(35, -11), - Pack(22, -16), - Pack(32, -10), + Pack(34, -11), + Pack(21, -15), + Pack(31, -10), Pack(14, 6), Pack(12, 2), - Pack(24, 5), - Pack(21, 10), - Pack(21, 4), + Pack(23, 5), + Pack(20, 10), + Pack(19, 4), ], [ - Pack(32, -7), - Pack(28, 1), - Pack(13, 7), - Pack(19, -9), - Pack(11, 10), - Pack(19, 7), - Pack(4, 25), - Pack(34, -11), + Pack(35, -4), + Pack(27, 1), + Pack(12, 8), + Pack(18, -9), + Pack(10, 11), + Pack(18, 7), + Pack(3, 25), + Pack(32, -11), ], [ - Pack(18, 5), - Pack(22, -1), - Pack(5, 19), - Pack(20, -8), - Pack(6, 14), - Pack(20, 3), - Pack(8, 14), - Pack(35, -8), + Pack(20, 7), + Pack(25, 2), + Pack(4, 19), + Pack(17, -7), + Pack(5, 14), + Pack(19, 4), + Pack(6, 15), + Pack(32, -8), ], [ - Pack(11, -1), - Pack(5, 10), - Pack(3, 8), - Pack(27, -18), - Pack(9, -1), - Pack(6, 7), - Pack(-8, 16), - Pack(29, 0), + Pack(12, 2), + Pack(6, 12), + Pack(4, 10), + Pack(25, -17), + Pack(8, -0), + Pack(5, 8), + Pack(-9, 16), + Pack(27, 0), ], [ - Pack(4, -7), - Pack(-0, 13), - Pack(-4, 20), - Pack(-6, 21), - Pack(23, 14), - Pack(19, 5), - Pack(12, 4), - Pack(-18, 32), + Pack(4, -6), + Pack(-2, 14), + Pack(-3, 19), + Pack(-4, 21), + Pack(23, 15), + Pack(21, 7), + Pack(12, 7), + Pack(-13, 35), ], [ - Pack(14, -0), - Pack(6, 0), + Pack(15, -1), + Pack(7, -0), Pack(3, 8), Pack(11, 8), - Pack(16, 6), + Pack(17, 6), Pack(3, 16), - Pack(7, 18), - Pack(37, 6), + Pack(10, 20), + Pack(39, 8), ], [ - Pack(6, 7), - Pack(7, 12), + Pack(6, 6), + Pack(8, 11), Pack(5, 15), Pack(7, 9), Pack(11, 7), - Pack(29, 0), - Pack(43, 2), - Pack(42, -13), + Pack(30, -0), + Pack(44, 1), + Pack(45, -12), ], [ - Pack(5, -2), - Pack(4, 6), + Pack(5, -3), + Pack(5, 5), Pack(4, 11), Pack(9, 8), Pack(14, 2), - Pack(30, 1), - Pack(13, 5), - Pack(70, -24), + Pack(30, 0), + Pack(14, 4), + Pack(71, -25), ], [ - Pack(18, -3), + Pack(19, -2), Pack(41, -16), - Pack(17, -2), + Pack(16, -2), Pack(33, -7), Pack(16, -2), - Pack(32, -12), - Pack(32, -8), - Pack(33, -9), + Pack(31, -12), + Pack(30, -7), + Pack(30, -8), ], [ - Pack(11, 0), - Pack(5, -2), - Pack(53, -15), + Pack(11, 1), + Pack(6, -2), + Pack(52, -15), Pack(12, -3), Pack(25, -7), - Pack(32, -11), - Pack(19, 1), - Pack(36, -11), + Pack(31, -11), + Pack(17, 2), + Pack(33, -10), ], [ - Pack(37, -16), - Pack(38, -12), + Pack(38, -16), + Pack(39, -12), Pack(17, -12), Pack(26, -5), Pack(38, -9), Pack(31, 2), - Pack(38, -6), - Pack(58, -16), + Pack(36, -6), + Pack(55, -15), ], [ - Pack(27, -7), - Pack(33, -15), - Pack(27, -6), + Pack(24, -6), + Pack(31, -15), + Pack(26, -6), Pack(21, -3), Pack(45, -2), Pack(6, 2), - Pack(33, -8), - Pack(45, -11), + Pack(34, -8), + Pack(46, -11), ], [ Pack(17, -6), Pack(30, -5), - Pack(21, -6), + Pack(20, -6), Pack(21, -0), Pack(31, -8), Pack(16, 10), Pack(24, -2), - Pack(26, 5), + Pack(27, 5), ], [ Pack(25, -8), - Pack(28, -8), + Pack(28, -9), Pack(26, -8), Pack(15, 1), Pack(26, -7), Pack(29, -6), - Pack(54, -24), - Pack(33, 1), + Pack(55, -24), + Pack(34, 1), ], [ Pack(10, 9), - Pack(13, 6), - Pack(15, 1), + Pack(14, 6), + Pack(16, 0), Pack(21, -2), Pack(27, -3), Pack(41, -8), Pack(30, -13), - Pack(22, -4), + Pack(23, -5), ], [ - Pack(1, -18), - Pack(27, -27), + Pack(-1, -18), + Pack(26, -27), Pack(61, -29), Pack(15, -19), Pack(15, -7), - Pack(40, -14), + Pack(39, -14), Pack(58, -9), - Pack(43, -9), + Pack(42, -9), ], [ Pack(54, -34), @@ -7956,40 +7961,40 @@ public static class EvaluationParams Pack(20, -25), Pack(71, -36), Pack(-1, -11), - Pack(63, -20), + Pack(63, -21), ], [ Pack(144, -50), Pack(76, -62), - Pack(82, -78), + Pack(82, -79), Pack(105, -74), Pack(72, -30), Pack(112, -57), - Pack(86, -40), + Pack(86, -41), Pack(96, -50), ], [ - Pack(218, -66), - Pack(153, -61), + Pack(219, -66), + Pack(154, -61), Pack(158, -77), Pack(113, -65), - Pack(135, -88), + Pack(136, -88), Pack(97, -54), Pack(196, -88), - Pack(160, -64), + Pack(160, -65), ], [ Pack(132, -48), - Pack(163, -70), + Pack(163, -71), Pack(125, -87), Pack(96, -62), Pack(103, -84), - Pack(89, -51), + Pack(90, -51), Pack(109, -41), Pack(148, -61), ], [ - Pack(94, -38), + Pack(94, -39), Pack(108, -56), Pack(58, -56), Pack(49, -42), @@ -8001,12 +8006,12 @@ public static class EvaluationParams [ Pack(57, -27), Pack(59, -29), - Pack(75, -32), + Pack(74, -32), Pack(46, -37), Pack(110, -31), Pack(40, -27), - Pack(139, -68), - Pack(31, -3), + Pack(139, -69), + Pack(32, -3), ], [ Pack(96, -19), @@ -8023,199 +8028,199 @@ public static class EvaluationParams public static readonly int[][] SemiOpenFileRookBonus = [ [ - Pack(6, -3), - Pack(34, -17), - Pack(11, 5), + Pack(4, -2), + Pack(31, -16), + Pack(10, 5), Pack(13, 1), - Pack(17, -13), - Pack(20, -15), - Pack(-1, 23), - Pack(5, 2), + Pack(16, -13), + Pack(19, -15), + Pack(-2, 23), + Pack(2, 3), ], [ - Pack(24, -9), - Pack(2, 5), - Pack(19, -9), - Pack(15, -16), - Pack(12, -7), - Pack(18, -18), - Pack(5, -5), - Pack(14, -23), + Pack(26, -3), + Pack(0, 5), + Pack(18, -7), + Pack(14, -16), + Pack(12, -6), + Pack(17, -18), + Pack(4, -4), + Pack(12, -23), ], [ - Pack(25, 2), - Pack(25, -17), - Pack(-13, 20), - Pack(17, -15), + Pack(27, 6), + Pack(27, -12), + Pack(-14, 20), + Pack(14, -13), Pack(14, -1), - Pack(8, -2), - Pack(11, -7), - Pack(19, -10), + Pack(7, -1), + Pack(9, -6), + Pack(16, -9), ], [ - Pack(22, -16), - Pack(25, -26), - Pack(21, -11), - Pack(9, -19), - Pack(19, -2), - Pack(16, -10), - Pack(-2, 5), - Pack(10, -12), + Pack(23, -11), + Pack(26, -22), + Pack(22, -8), + Pack(7, -18), + Pack(19, -1), + Pack(15, -8), + Pack(-3, 6), + Pack(7, -13), ], [ - Pack(-3, -7), - Pack(18, -2), - Pack(16, 4), - Pack(6, 6), - Pack(5, 4), - Pack(11, -9), - Pack(13, -6), - Pack(-20, 20), + Pack(-3, -6), + Pack(17, -1), + Pack(17, 4), + Pack(6, 7), + Pack(3, 5), + Pack(13, -5), + Pack(15, -2), + Pack(-15, 26), ], [ - Pack(7, -3), + Pack(7, -4), Pack(26, -19), - Pack(-0, 2), - Pack(21, -15), + Pack(1, 1), Pack(21, -15), + Pack(22, -15), Pack(-22, 8), - Pack(21, -16), - Pack(22, 6), + Pack(24, -13), + Pack(23, 10), ], [ - Pack(6, -3), - Pack(14, -6), - Pack(12, -3), - Pack(11, -5), + Pack(6, -4), + Pack(15, -7), + Pack(13, -3), + Pack(11, -6), Pack(10, -2), - Pack(16, -4), - Pack(5, -9), - Pack(21, 5), + Pack(17, -5), + Pack(6, -10), + Pack(22, 7), ], [ - Pack(7, -10), + Pack(7, -11), Pack(11, -15), - Pack(10, -5), - Pack(8, 3), - Pack(11, 2), + Pack(10, -6), + Pack(9, 3), + Pack(12, 2), Pack(20, -5), - Pack(28, -25), - Pack(32, -30), + Pack(29, -26), + Pack(33, -31), ], [ - Pack(11, -6), - Pack(30, -13), - Pack(22, -14), - Pack(11, -4), - Pack(9, -5), - Pack(7, -7), - Pack(2, -3), - Pack(13, -1), + Pack(12, -6), + Pack(30, -14), + Pack(22, -13), + Pack(11, -5), + Pack(8, -5), + Pack(6, -6), + Pack(0, -3), + Pack(9, -0), ], [ Pack(4, -0), Pack(25, -7), Pack(15, -4), - Pack(11, -8), + Pack(10, -8), Pack(31, -21), - Pack(18, -11), - Pack(6, 1), - Pack(5, 9), + Pack(17, -11), + Pack(4, 2), + Pack(1, 9), ], [ - Pack(-3, 5), - Pack(33, -17), + Pack(-2, 5), + Pack(34, -17), Pack(29, -25), Pack(22, -10), Pack(40, -19), Pack(15, -6), - Pack(22, -13), - Pack(10, 2), + Pack(20, -13), + Pack(6, 2), ], [ - Pack(-13, 16), - Pack(6, -5), - Pack(18, -14), + Pack(-18, 17), + Pack(4, -4), + Pack(17, -14), Pack(7, -9), Pack(36, -10), Pack(7, -7), - Pack(20, -13), - Pack(6, 6), + Pack(21, -13), + Pack(7, 6), ], [ Pack(-12, 21), Pack(20, -6), - Pack(11, -6), + Pack(11, -7), Pack(18, -14), Pack(22, -9), Pack(10, 3), Pack(29, -9), - Pack(3, 10), + Pack(4, 10), ], [ Pack(4, 19), - Pack(14, -2), + Pack(14, -3), Pack(11, -2), - Pack(0, -1), + Pack(1, -1), Pack(18, -11), Pack(29, -18), Pack(24, -13), - Pack(-1, 9), + Pack(-0, 9), ], [ Pack(-3, 30), Pack(4, 13), - Pack(6, -1), + Pack(7, -1), Pack(12, -8), - Pack(-1, 8), + Pack(-0, 7), Pack(31, -12), - Pack(21, -3), - Pack(2, 7), + Pack(21, -4), + Pack(2, 6), ], [ - Pack(5, -11), - Pack(36, -25), - Pack(35, -40), + Pack(2, -10), + Pack(35, -25), + Pack(34, -40), Pack(31, -42), - Pack(18, -11), - Pack(6, -0), - Pack(20, 4), - Pack(-15, 29), + Pack(17, -11), + Pack(5, -0), + Pack(19, 4), + Pack(-17, 29), ], [ - Pack(-32, -28), + Pack(-32, -29), Pack(-21, -9), Pack(-7, -13), Pack(40, -15), Pack(-4, -25), Pack(53, -15), Pack(33, 3), - Pack(-27, 38), + Pack(-28, 37), ], [ - Pack(-61, 8), - Pack(-20, -14), + Pack(-60, 8), + Pack(-19, -14), Pack(-6, -20), Pack(-52, -10), Pack(9, -14), Pack(53, -20), - Pack(90, -15), - Pack(57, -7), + Pack(90, -16), + Pack(57, -8), ], [ - Pack(-53, 33), - Pack(36, -13), - Pack(14, -40), + Pack(-52, 32), + Pack(36, -14), + Pack(15, -40), Pack(-31, 27), Pack(3, -28), Pack(41, -17), - Pack(52, -15), - Pack(50, 5), + Pack(52, -16), + Pack(50, 4), ], [ - Pack(-9, 29), - Pack(-7, 3), - Pack(-55, -20), + Pack(-10, 29), + Pack(-8, 3), + Pack(-56, -20), Pack(-4, -10), Pack(-2, -28), Pack(-24, -11), @@ -8223,19 +8228,19 @@ public static class EvaluationParams Pack(15, 4), ], [ - Pack(12, 21), + Pack(13, 21), Pack(-46, 3), Pack(18, -20), - Pack(7, -18), - Pack(-8, -20), + Pack(8, -19), + Pack(-9, -21), Pack(-10, -26), - Pack(-29, -20), - Pack(-18, 11), + Pack(-29, -21), + Pack(-18, 10), ], [ Pack(7, 27), Pack(-15, 3), - Pack(-15, 9), + Pack(-14, 9), Pack(48, -27), Pack(6, -9), Pack(-18, -20), @@ -8245,11 +8250,11 @@ public static class EvaluationParams [ Pack(-72, 67), Pack(-70, 36), - Pack(12, 12), - Pack(25, -31), + Pack(12, 11), + Pack(26, -32), Pack(12, 3), Pack(25, -23), - Pack(-13, 8), + Pack(-13, 7), Pack(-66, 6), ], ]; @@ -8262,79 +8267,79 @@ public static class EvaluationParams Pack(35, -9), Pack(18, -4), Pack(28, -26), - Pack(7, -1), - Pack(11, -25), + Pack(7, -0), + Pack(11, -24), Pack(3, -2), ], [ - Pack(89, -35), + Pack(88, -35), Pack(67, 15), - Pack(28, -16), + Pack(28, -15), Pack(19, 8), Pack(16, -0), Pack(5, -1), - Pack(18, -8), - Pack(1, 3), + Pack(17, -7), + Pack(1, 4), ], [ - Pack(54, -8), - Pack(67, -19), + Pack(54, -7), + Pack(66, -19), Pack(73, -3), - Pack(26, -23), - Pack(21, -1), - Pack(5, 2), - Pack(14, -13), - Pack(10, -10), + Pack(26, -22), + Pack(20, -1), + Pack(4, 3), + Pack(13, -11), + Pack(9, -9), ], [ Pack(55, -12), - Pack(25, -4), - Pack(28, -4), - Pack(45, 24), - Pack(21, -6), + Pack(25, -3), + Pack(28, -3), + Pack(45, 25), + Pack(21, -5), Pack(18, 9), - Pack(11, 2), - Pack(21, -4), + Pack(10, 3), + Pack(21, -3), ], [ - Pack(19, 13), + Pack(19, 12), Pack(14, 8), Pack(24, 5), - Pack(27, -15), - Pack(70, 26), - Pack(26, -4), + Pack(26, -15), + Pack(69, 27), + Pack(25, -4), Pack(20, 5), - Pack(10, 18), + Pack(10, 19), ], [ Pack(22, -14), - Pack(29, -17), + Pack(30, -17), Pack(31, -18), Pack(26, -6), Pack(17, 3), - Pack(78, 18), + Pack(79, 18), Pack(42, -26), - Pack(43, -19), + Pack(42, -18), ], [ Pack(0, 7), - Pack(11, -7), + Pack(11, -6), Pack(9, 6), Pack(11, 8), Pack(12, 8), Pack(15, -3), - Pack(66, 54), - Pack(74, -26), + Pack(65, 55), + Pack(73, -24), ], [ Pack(18, -2), - Pack(23, -0), + Pack(23, 0), Pack(14, 6), Pack(22, -1), Pack(21, 2), Pack(28, -4), - Pack(54, -0), - Pack(178, -12), + Pack(53, 0), + Pack(177, -12), ], [ Pack(80, -37), @@ -8342,24 +8347,24 @@ public static class EvaluationParams Pack(22, 2), Pack(34, -18), Pack(16, -13), - Pack(7, -18), + Pack(7, -17), Pack(13, -16), Pack(-3, 7), ], [ - Pack(58, -31), - Pack(44, -20), - Pack(99, 0), + Pack(59, -31), + Pack(45, -20), + Pack(100, -0), Pack(17, -4), Pack(23, -16), Pack(14, -14), Pack(11, -15), - Pack(14, -9), + Pack(15, -9), ], [ - Pack(37, -19), - Pack(29, -13), - Pack(13, -2), + Pack(38, -20), + Pack(30, -14), + Pack(14, -2), Pack(99, 16), Pack(37, -6), Pack(27, -8), @@ -8367,10 +8372,10 @@ public static class EvaluationParams Pack(7, -5), ], [ - Pack(38, -18), + Pack(39, -18), Pack(40, -23), Pack(38, -19), - Pack(26, -9), + Pack(27, -9), Pack(91, 19), Pack(40, -18), Pack(41, -16), @@ -8379,58 +8384,58 @@ public static class EvaluationParams [ Pack(23, -9), Pack(30, -20), - Pack(31, -16), - Pack(35, -16), + Pack(31, -17), + Pack(35, -17), Pack(21, -5), Pack(113, -5), Pack(41, -16), - Pack(42, -24), + Pack(41, -23), ], [ Pack(10, 4), - Pack(14, -9), + Pack(14, -8), Pack(27, -14), Pack(21, -13), Pack(15, -3), Pack(28, -5), Pack(100, 19), - Pack(61, -26), + Pack(60, -26), ], [ Pack(3, 7), - Pack(12, -5), + Pack(11, -5), Pack(25, -12), Pack(23, -8), Pack(29, -12), Pack(29, -7), Pack(54, 1), - Pack(103, 59), + Pack(102, 60), ], [ - Pack(114, 0), - Pack(85, -15), + Pack(115, 0), + Pack(86, -15), Pack(42, -22), - Pack(24, -21), - Pack(3, -13), + Pack(23, -21), + Pack(4, -13), Pack(17, -13), Pack(31, -29), - Pack(7, 6), + Pack(8, 6), ], [ Pack(3, -12), Pack(-14, 36), Pack(88, -57), - Pack(83, -58), + Pack(84, -58), Pack(39, -29), Pack(86, -41), Pack(38, -39), Pack(-24, -14), ], [ - Pack(76, -29), + Pack(77, -29), Pack(84, -55), Pack(29, 43), - Pack(22, -24), + Pack(23, -24), Pack(68, -51), Pack(57, -31), Pack(68, -51), @@ -8438,13 +8443,13 @@ public static class EvaluationParams ], [ Pack(84, -51), - Pack(127, -57), - Pack(84, -60), + Pack(128, -57), + Pack(84, -61), Pack(-7, 46), Pack(86, -35), Pack(141, -80), Pack(106, -58), - Pack(188, -80), + Pack(188, -81), ], [ Pack(120, -57), @@ -8453,7 +8458,7 @@ public static class EvaluationParams Pack(52, -53), Pack(55, 28), Pack(115, -49), - Pack(116, -64), + Pack(117, -64), Pack(163, -60), ], [ @@ -8464,16 +8469,16 @@ public static class EvaluationParams Pack(110, -69), Pack(14, 84), Pack(30, -34), - Pack(139, -59), + Pack(140, -59), ], [ Pack(78, -34), Pack(42, -21), - Pack(57, -44), + Pack(58, -44), Pack(71, -52), - Pack(108, -53), - Pack(158, -44), - Pack(13, 75), + Pack(109, -53), + Pack(159, -44), + Pack(12, 75), Pack(54, -36), ], [ @@ -8491,127 +8496,127 @@ public static class EvaluationParams public static readonly int[][] SemiOpenFileRookEnemyBonus = [ [ - Pack(61, -32), + Pack(60, -32), Pack(25, -23), Pack(9, -18), Pack(9, -14), - Pack(12, -5), + Pack(13, -5), Pack(-8, 24), Pack(-15, 18), Pack(-7, 30), ], [ - Pack(20, -11), + Pack(19, -10), Pack(26, -5), - Pack(8, -6), - Pack(-0, 3), - Pack(2, 6), + Pack(8, -5), + Pack(-1, 4), + Pack(1, 6), Pack(3, 2), - Pack(1, 18), - Pack(-6, 18), + Pack(0, 19), + Pack(-6, 19), ], [ - Pack(23, -6), - Pack(18, -16), - Pack(14, -11), - Pack(5, -6), - Pack(3, 8), - Pack(1, 16), + Pack(22, -4), + Pack(17, -15), + Pack(15, -11), + Pack(4, -5), Pack(3, 9), - Pack(-5, 19), + Pack(0, 16), + Pack(2, 10), + Pack(-5, 21), ], [ - Pack(5, 21), - Pack(2, -8), + Pack(6, 22), + Pack(1, -7), Pack(3, -10), - Pack(12, 7), - Pack(9, -2), + Pack(11, 8), + Pack(8, -1), Pack(5, -19), - Pack(8, -2), - Pack(14, 5), + Pack(7, -0), + Pack(13, 7), ], [ - Pack(-8, 42), + Pack(-9, 42), Pack(-4, 3), - Pack(1, -6), - Pack(18, -12), + Pack(0, -6), + Pack(17, -12), Pack(17, 3), Pack(21, -18), - Pack(9, -12), - Pack(1, 12), + Pack(9, -11), + Pack(-1, 13), ], [ Pack(-1, 25), Pack(-11, 17), Pack(-2, -1), Pack(7, -7), - Pack(3, 7), - Pack(29, -14), - Pack(12, -16), - Pack(1, 2), + Pack(3, 6), + Pack(30, -15), + Pack(11, -15), + Pack(1, 4), ], [ - Pack(-8, 20), + Pack(-7, 20), Pack(-5, 7), Pack(-4, 10), - Pack(8, 3), + Pack(7, 3), Pack(5, -1), Pack(2, -7), - Pack(36, -7), - Pack(24, -23), + Pack(35, -6), + Pack(23, -21), ], [ - Pack(-3, 25), - Pack(1, 19), - Pack(-3, 6), + Pack(-3, 26), + Pack(1, 20), + Pack(-4, 6), Pack(14, -17), Pack(7, -15), - Pack(4, -16), - Pack(19, -13), - Pack(54, -20), + Pack(4, -15), + Pack(18, -13), + Pack(53, -19), ], [ - Pack(37, -26), + Pack(37, -25), Pack(26, -14), Pack(19, -12), Pack(21, -20), Pack(-2, -2), Pack(1, -5), - Pack(5, 11), + Pack(6, 10), Pack(-13, 27), ], [ Pack(19, -9), Pack(2, -11), Pack(38, -27), - Pack(23, -15), - Pack(0, -9), + Pack(22, -15), + Pack(1, -9), Pack(10, -6), Pack(4, 5), - Pack(0, 19), + Pack(1, 19), ], [ Pack(-3, 5), - Pack(-9, -4), - Pack(15, -13), - Pack(28, -8), + Pack(-8, -4), + Pack(16, -13), + Pack(29, -9), Pack(35, -18), Pack(14, -7), Pack(2, -1), - Pack(-7, 17), + Pack(-6, 17), ], [ - Pack(-10, 17), + Pack(-9, 17), Pack(1, -0), - Pack(-3, 0), - Pack(23, -16), + Pack(-3, -0), + Pack(24, -16), Pack(31, -14), Pack(27, -19), Pack(12, -8), Pack(-7, 11), ], [ - Pack(-12, 23), + Pack(-12, 24), Pack(-13, 14), Pack(0, -1), Pack(21, -14), @@ -8622,40 +8627,40 @@ public static class EvaluationParams ], [ Pack(-15, 33), - Pack(-9, 22), + Pack(-9, 23), Pack(14, 1), Pack(13, -3), Pack(10, -8), Pack(29, -23), Pack(39, -21), - Pack(16, -11), + Pack(16, -10), ], [ - Pack(-8, 33), + Pack(-8, 34), Pack(-9, 21), Pack(4, 6), Pack(3, 8), - Pack(5, -5), + Pack(5, -4), Pack(16, -14), Pack(32, -24), - Pack(55, -23), + Pack(54, -22), ], [ - Pack(104, -66), + Pack(105, -66), Pack(32, -32), Pack(14, -5), - Pack(-26, -14), - Pack(-7, -9), + Pack(-27, -13), + Pack(-6, -9), Pack(16, -6), - Pack(-24, 10), - Pack(-11, 22), + Pack(-23, 10), + Pack(-11, 23), ], [ - Pack(71, -44), - Pack(131, -75), + Pack(72, -44), + Pack(132, -75), Pack(35, -34), Pack(2, -27), - Pack(-10, -16), + Pack(-10, -15), Pack(24, -7), Pack(-8, 21), Pack(16, 1), @@ -8663,7 +8668,7 @@ public static class EvaluationParams [ Pack(17, -11), Pack(62, -53), - Pack(72, -33), + Pack(73, -33), Pack(17, -22), Pack(70, -50), Pack(2, 2), @@ -8677,25 +8682,25 @@ public static class EvaluationParams Pack(34, -35), Pack(85, -34), Pack(4, -37), - Pack(11, -5), + Pack(11, -6), Pack(-16, 19), ], [ - Pack(-80, 22), + Pack(-80, 21), Pack(-4, -25), Pack(34, -16), Pack(25, -51), - Pack(20, -20), + Pack(21, -20), Pack(-0, -14), - Pack(62, -27), + Pack(63, -27), Pack(-14, 7), ], [ Pack(-80, 25), Pack(-12, -18), - Pack(67, -30), + Pack(68, -30), Pack(71, -52), - Pack(2, -45), + Pack(3, -46), Pack(135, -37), Pack(-14, -15), Pack(23, -19), @@ -8703,19 +8708,19 @@ public static class EvaluationParams [ Pack(-108, 25), Pack(43, -22), - Pack(-30, -5), + Pack(-29, -5), Pack(-16, -9), - Pack(6, -3), + Pack(7, -3), Pack(92, -15), Pack(136, -60), - Pack(21, -14), + Pack(22, -14), ], [ Pack(-26, -4), Pack(-7, -16), Pack(-56, 25), Pack(-43, 41), - Pack(8, 27), + Pack(7, 27), Pack(-44, 12), Pack(-19, 7), Pack(28, -6), From a676b0c7db60acaa8696499dfb96498c578d36ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20C=C3=A1ceres?= Date: Sun, 11 Jan 2026 22:04:57 +0100 Subject: [PATCH 4/5] Retune with only buried values --- src/Lynx/Evaluation.cs | 16 - src/Lynx/TunableEvalParameters.cs | 12581 ++++++++++++++-------------- 2 files changed, 6288 insertions(+), 6309 deletions(-) diff --git a/src/Lynx/Evaluation.cs b/src/Lynx/Evaluation.cs index 57daf7479..d84652647 100644 --- a/src/Lynx/Evaluation.cs +++ b/src/Lynx/Evaluation.cs @@ -859,10 +859,6 @@ private int RookAdditionalEvaluation(ref EvaluationContext evaluationContext, in { packedBonus += BuriedRookPenalty; } - else - { - packedBonus += TrappedRookPenalty; - } } else { @@ -870,10 +866,6 @@ private int RookAdditionalEvaluation(ref EvaluationContext evaluationContext, in { packedBonus += BuriedRookPenalty; } - else - { - packedBonus += TrappedRookPenalty; - } } } // Kingside rook @@ -885,10 +877,6 @@ private int RookAdditionalEvaluation(ref EvaluationContext evaluationContext, in { packedBonus += BuriedRookPenalty; } - else - { - packedBonus += TrappedRookPenalty; - } } else { @@ -896,10 +884,6 @@ private int RookAdditionalEvaluation(ref EvaluationContext evaluationContext, in { packedBonus += BuriedRookPenalty; } - else - { - packedBonus += TrappedRookPenalty; - } } } } diff --git a/src/Lynx/TunableEvalParameters.cs b/src/Lynx/TunableEvalParameters.cs index 6a263f5d0..be40e9689 100644 --- a/src/Lynx/TunableEvalParameters.cs +++ b/src/Lynx/TunableEvalParameters.cs @@ -1,4 +1,4 @@ -// 2026-1-11 20:19:0 6 +// 2026-1-11 22:4:9 6 using static Lynx.Utils; @@ -12,191 +12,191 @@ internal static class TunableEvalParameters [ [ [ - +36, +304, +50, +428, +929, 0, - -36, -304, -50, -428, -929, 0 + +35, +303, +50, +427, +927, 0, + -35, -303, -50, -427, -927, 0 ], [ - +45, +328, +70, +455, +1018, 0, - -45, -328, -70, -455, -1018, 0 + +45, +327, +71, +454, +1015, 0, + -45, -327, -71, -454, -1015, 0 ], [ - +41, +318, +58, +425, +1034, 0, - -41, -318, -58, -425, -1034, 0 + +41, +318, +59, +425, +1032, 0, + -41, -318, -59, -425, -1032, 0 ], [ - +40, +310, +46, +412, +957, 0, - -40, -310, -46, -412, -957, 0 + +40, +310, +47, +412, +954, 0, + -40, -310, -47, -412, -954, 0 ], [ - +34, +309, +51, +430, +1006, 0, - -34, -309, -51, -430, -1006, 0 + +33, +306, +49, +427, +1002, 0, + -33, -306, -49, -427, -1002, 0 ], [ - +38, +311, +55, +407, +965, 0, - -38, -311, -55, -407, -965, 0 + +38, +309, +56, +406, +962, 0, + -38, -309, -56, -406, -962, 0 ], [ - +44, +324, +68, +439, +1037, 0, - -44, -324, -68, -439, -1037, 0 + +44, +322, +68, +437, +1034, 0, + -44, -322, -68, -437, -1034, 0 ], [ - +35, +324, +63, +440, +989, 0, - -35, -324, -63, -440, -989, 0 + +35, +323, +63, +440, +988, 0, + -35, -323, -63, -440, -988, 0 ], [ - +40, +327, +61, +427, +962, 0, - -40, -327, -61, -427, -962, 0 + +39, +326, +61, +425, +960, 0, + -39, -326, -61, -425, -960, 0 ], [ - +35, +309, +46, +404, +956, 0, - -35, -309, -46, -404, -956, 0 + +34, +308, +45, +402, +952, 0, + -34, -308, -45, -402, -952, 0 ], [ - +29, +295, +37, +362, +942, 0, - -29, -295, -37, -362, -942, 0 + +29, +293, +37, +362, +941, 0, + -29, -293, -37, -362, -941, 0 ], [ - +27, +292, +38, +365, +943, 0, - -27, -292, -38, -365, -943, 0 + +27, +291, +38, +364, +942, 0, + -27, -291, -38, -364, -942, 0 ], [ - +35, +314, +60, +401, +966, 0, - -35, -314, -60, -401, -966, 0 + +34, +313, +59, +399, +967, 0, + -34, -313, -59, -399, -967, 0 ], [ - +42, +340, +80, +439, +997, 0, - -42, -340, -80, -439, -997, 0 + +41, +338, +80, +438, +995, 0, + -41, -338, -80, -438, -995, 0 ], [ - +37, +328, +68, +424, +979, 0, - -37, -328, -68, -424, -979, 0 + +37, +328, +68, +423, +978, 0, + -37, -328, -68, -423, -978, 0 ], [ - +14, +267, +4, +349, +813, 0, - -14, -267, -4, -349, -813, 0 + +14, +264, +4, +349, +811, 0, + -14, -264, -4, -349, -811, 0 ], [ - +13, +249, +34, +343, +777, 0, - -13, -249, -34, -343, -777, 0 + +14, +245, +32, +343, +773, 0, + -14, -245, -32, -343, -773, 0 ], [ - +16, +250, +30, +347, +766, 0, - -16, -250, -30, -347, -766, 0 + +17, +248, +28, +347, +762, 0, + -17, -248, -28, -347, -762, 0 ], [ - +16, +253, +30, +351, +749, 0, - -16, -253, -30, -351, -749, 0 + +15, +252, +29, +350, +747, 0, + -15, -252, -29, -350, -747, 0 ], [ - +18, +247, +34, +348, +757, 0, - -18, -247, -34, -348, -757, 0 + +18, +245, +33, +348, +755, 0, + -18, -245, -33, -348, -755, 0 ], [ - +19, +255, +31, +341, +766, 0, - -19, -255, -31, -341, -766, 0 + +19, +253, +29, +341, +762, 0, + -19, -253, -29, -341, -762, 0 ], [ - +8, +248, +30, +350, +777, 0, - -8, -248, -30, -350, -777, 0 + +7, +244, +28, +351, +773, 0, + -7, -244, -28, -351, -773, 0 ], [ - +0, +253, +25, +345, +791, 0, - -0, -253, -25, -345, -791, 0 + +2, +252, +24, +344, +789, 0, + -2, -252, -24, -344, -789, 0 ], ], [ [ - +42, +52, +25, +88, +102, 0, - -42, -52, -25, -88, -102, 0 + +42, +51, +26, +88, +102, 0, + -42, -51, -26, -88, -102, 0 ], [ - +48, +56, +38, +113, +183, 0, - -48, -56, -38, -113, -183, 0 + +48, +57, +38, +113, +183, 0, + -48, -57, -38, -113, -183, 0 ], [ - +43, +43, +25, +88, +213, 0, - -43, -43, -25, -88, -213, 0 + +43, +44, +25, +89, +213, 0, + -43, -44, -25, -89, -213, 0 ], [ - +39, +33, +17, +69, +169, 0, - -39, -33, -17, -69, -169, 0 + +39, +33, +18, +70, +169, 0, + -39, -33, -18, -70, -169, 0 ], [ - +41, +40, +24, +89, +207, 0, - -41, -40, -24, -89, -207, 0 + +41, +39, +23, +87, +205, 0, + -41, -39, -23, -87, -205, 0 ], [ - +39, +38, +22, +77, +175, 0, - -39, -38, -22, -77, -175, 0 + +38, +38, +22, +78, +174, 0, + -38, -38, -22, -78, -174, 0 ], [ - +45, +47, +28, +101, +188, 0, - -45, -47, -28, -101, -188, 0 + +45, +46, +27, +100, +187, 0, + -45, -46, -27, -100, -187, 0 ], [ - +40, +52, +31, +98, +146, 0, - -40, -52, -31, -98, -146, 0 + +40, +52, +31, +99, +146, 0, + -40, -52, -31, -99, -146, 0 ], [ - +45, +50, +28, +86, +159, 0, - -45, -50, -28, -86, -159, 0 + +44, +51, +28, +86, +158, 0, + -44, -51, -28, -86, -158, 0 ], [ - +42, +40, +17, +61, +178, 0, - -42, -40, -17, -61, -178, 0 + +42, +40, +17, +62, +178, 0, + -42, -40, -17, -62, -178, 0 ], [ - +35, +29, +3, +31, +182, 0, - -35, -29, -3, -31, -182, 0 + +35, +29, +3, +32, +182, 0, + -35, -29, -3, -32, -182, 0 ], [ - +34, +26, +10, +27, +191, 0, - -34, -26, -10, -27, -191, 0 + +34, +27, +10, +28, +191, 0, + -34, -27, -10, -28, -191, 0 ], [ - +41, +45, +21, +60, +196, 0, - -41, -45, -21, -60, -196, 0 + +40, +45, +20, +60, +198, 0, + -40, -45, -20, -60, -198, 0 ], [ - +47, +76, +52, +104, +190, 0, - -47, -76, -52, -104, -190, 0 + +47, +76, +51, +104, +190, 0, + -47, -76, -51, -104, -190, 0 ], [ - +40, +73, +45, +91, +148, 0, - -40, -73, -45, -91, -148, 0 + +40, +73, +46, +92, +149, 0, + -40, -73, -46, -92, -149, 0 ], [ - +24, +9, -18, +3, +42, 0, - -24, -9, +18, -3, -42, 0 + +24, +9, -17, +3, +41, 0, + -24, -9, +17, -3, -41, 0 ], [ - +9, -9, -40, +15, +3, 0, - -9, +9, +40, -15, -3, 0 + +9, -12, -41, +15, +0, 0, + -9, +12, +41, -15, -0, 0 ], [ - +3, -19, -46, +10, +3, 0, - -3, +19, +46, -10, -3, 0 + +3, -19, -47, +10, +2, 0, + -3, +19, +47, -10, -2, 0 ], [ - -9, -11, -54, +12, +2, 0, - +9, +11, +54, -12, -2, 0 + -10, -11, -54, +12, +2, 0, + +10, +11, +54, -12, -2, 0 ], [ - -6, -19, -57, +9, +3, 0, - +6, +19, +57, -9, -3, 0 + -5, -19, -56, +9, +2, 0, + +5, +19, +56, -9, -2, 0 ], [ - +3, -16, -50, +4, +8, 0, - -3, +16, +50, -4, -8, 0 + +3, -17, -50, +2, +7, 0, + -3, +17, +50, -2, -7, 0 ], [ - +13, -5, -37, +4, +7, 0, - -13, +5, +37, -4, -7, 0 + +13, -7, -36, +4, +5, 0, + -13, +7, +36, -4, -5, 0 ], [ - +4, +2, -16, +3, +8, 0, - -4, -2, +16, -3, -8, 0 + +5, +2, -17, +2, +8, 0, + -5, -2, +17, -2, -8, 0 ], ], ]; @@ -205,191 +205,191 @@ internal static class TunableEvalParameters [ [ [ - +42, +284, +48, +560, +798, 0, - -42, -284, -48, -560, -798, 0 + +42, +281, +48, +558, +789, 0, + -42, -281, -48, -558, -789, 0 ], [ - +51, +322, +82, +608, +880, 0, - -51, -322, -82, -608, -880, 0 + +50, +319, +83, +607, +872, 0, + -50, -319, -83, -607, -872, 0 ], [ - +61, +351, +109, +647, +894, 0, - -61, -351, -109, -647, -894, 0 + +61, +348, +109, +646, +885, 0, + -61, -348, -109, -646, -885, 0 ], [ - +49, +318, +69, +592, +819, 0, - -49, -318, -69, -592, -819, 0 + +49, +315, +70, +592, +810, 0, + -49, -315, -70, -592, -810, 0 ], [ - +59, +347, +101, +629, +894, 0, - -59, -347, -101, -629, -894, 0 + +59, +346, +103, +630, +885, 0, + -59, -346, -103, -630, -885, 0 ], [ - +51, +329, +80, +625, +879, 0, - -51, -329, -80, -625, -879, 0 + +51, +327, +81, +625, +871, 0, + -51, -327, -81, -625, -871, 0 ], [ - +65, +394, +151, +727, +1061, 0, - -65, -394, -151, -727, -1061, 0 + +64, +392, +151, +726, +1052, 0, + -64, -392, -151, -726, -1052, 0 ], [ - +41, +297, +62, +603, +862, 0, - -41, -297, -62, -603, -862, 0 + +40, +294, +63, +601, +853, 0, + -40, -294, -63, -601, -853, 0 ], [ - +57, +321, +79, +615, +855, 0, - -57, -321, -79, -615, -855, 0 + +57, +318, +80, +614, +845, 0, + -57, -318, -80, -614, -845, 0 ], [ - +64, +346, +95, +643, +872, 0, - -64, -346, -95, -643, -872, 0 + +64, +344, +96, +643, +864, 0, + -64, -344, -96, -643, -864, 0 ], [ - +67, +361, +105, +664, +887, 0, - -67, -361, -105, -664, -887, 0 + +67, +359, +106, +664, +879, 0, + -67, -359, -106, -664, -879, 0 ], [ - +67, +361, +102, +665, +895, 0, - -67, -361, -102, -665, -895, 0 + +67, +359, +103, +665, +888, 0, + -67, -359, -103, -665, -888, 0 ], [ - +61, +349, +96, +653, +906, 0, - -61, -349, -96, -653, -906, 0 + +61, +347, +98, +653, +897, 0, + -61, -347, -98, -653, -897, 0 ], [ - +55, +336, +85, +645, +913, 0, - -55, -336, -85, -645, -913, 0 + +55, +334, +86, +644, +905, 0, + -55, -334, -86, -644, -905, 0 ], [ - +52, +309, +66, +620, +876, 0, - -52, -309, -66, -620, -876, 0 + +52, +306, +67, +619, +868, 0, + -52, -306, -67, -619, -868, 0 ], [ - +54, +263, +22, +542, +710, 0, - -54, -263, -22, -542, -710, 0 + +53, +260, +22, +541, +700, 0, + -53, -260, -22, -541, -700, 0 ], [ - +58, +243, -20, +512, +647, 0, - -58, -243, +20, -512, -647, 0 + +57, +237, -26, +501, +632, 0, + -57, -237, +26, -501, -632, 0 ], [ - +56, +235, -34, +488, +633, 0, - -56, -235, +34, -488, -633, 0 + +55, +229, -38, +480, +619, 0, + -55, -229, +38, -480, -619, 0 ], [ - +54, +230, -51, +461, +614, 0, - -54, -230, +51, -461, -614, 0 + +54, +226, -51, +459, +604, 0, + -54, -226, +51, -459, -604, 0 ], [ - +49, +227, -61, +455, +620, 0, - -49, -227, +61, -455, -620, 0 + +48, +224, -61, +453, +610, 0, + -48, -224, +61, -453, -610, 0 ], [ - +46, +225, -53, +476, +635, 0, - -46, -225, +53, -476, -635, 0 + +45, +218, -56, +468, +622, 0, + -45, -218, +56, -468, -622, 0 ], [ - +56, +236, -29, +497, +648, 0, - -56, -236, +29, -497, -648, 0 + +55, +230, -34, +487, +634, 0, + -55, -230, +34, -487, -634, 0 ], [ - +60, +260, -2, +518, +664, 0, - -60, -260, +2, -518, -664, 0 + +59, +257, -3, +516, +655, 0, + -59, -257, +3, -516, -655, 0 ], ], [ [ - +49, +20, -8, +77, +148, 0, - -49, -20, +8, -77, -148, 0 + +49, +20, -8, +76, +148, 0, + -49, -20, +8, -76, -148, 0 ], [ +61, +59, +41, +130, +222, 0, -61, -59, -41, -130, -222, 0 ], [ - +67, +85, +64, +163, +233, 0, - -67, -85, -64, -163, -233, 0 + +67, +85, +65, +163, +233, 0, + -67, -85, -65, -163, -233, 0 ], [ - +58, +52, +20, +107, +152, 0, - -58, -52, -20, -107, -152, 0 + +58, +52, +21, +107, +152, 0, + -58, -52, -21, -107, -152, 0 ], [ - +66, +83, +51, +144, +230, 0, - -66, -83, -51, -144, -230, 0 + +66, +84, +53, +146, +229, 0, + -66, -84, -53, -146, -229, 0 ], [ - +63, +66, +40, +143, +198, 0, - -63, -66, -40, -143, -198, 0 + +62, +67, +41, +144, +199, 0, + -62, -67, -41, -144, -199, 0 ], [ - +78, +135, +114, +247, +398, 0, - -78, -135, -114, -247, -398, 0 + +78, +136, +115, +247, +397, 0, + -78, -136, -115, -247, -397, 0 ], [ - +61, +51, +27, +142, +234, 0, - -61, -51, -27, -142, -234, 0 + +61, +50, +27, +142, +234, 0, + -61, -50, -27, -142, -234, 0 ], [ - +55, +49, +16, +111, +184, 0, - -55, -49, -16, -111, -184, 0 + +54, +48, +17, +110, +183, 0, + -54, -48, -17, -110, -183, 0 ], [ - +58, +66, +34, +134, +190, 0, - -58, -66, -34, -134, -190, 0 + +58, +66, +35, +133, +189, 0, + -58, -66, -35, -133, -189, 0 ], [ - +61, +79, +44, +152, +196, 0, - -61, -79, -44, -152, -196, 0 + +61, +80, +45, +152, +197, 0, + -61, -80, -45, -152, -197, 0 ], [ - +61, +81, +41, +155, +200, 0, - -61, -81, -41, -155, -200, 0 + +61, +81, +43, +156, +201, 0, + -61, -81, -43, -156, -201, 0 ], [ - +57, +72, +39, +148, +216, 0, - -57, -72, -39, -148, -216, 0 + +57, +73, +40, +149, +216, 0, + -57, -73, -40, -149, -216, 0 ], [ - +55, +63, +30, +135, +237, 0, - -55, -63, -30, -135, -237, 0 + +55, +64, +31, +135, +237, 0, + -55, -64, -31, -135, -237, 0 ], [ - +55, +44, +16, +117, +225, 0, - -55, -44, -16, -117, -225, 0 + +55, +45, +17, +117, +226, 0, + -55, -45, -17, -117, -226, 0 ], [ - +41, -12, -35, +37, +45, 0, - -41, +12, +35, -37, -45, 0 + +40, -12, -35, +37, +45, 0, + -40, +12, +35, -37, -45, 0 ], [ - +38, -57, -48, -4, -19, 0, - -38, +57, +48, +4, +19, 0 + +37, -62, -54, -9, -24, 0, + -37, +62, +54, +9, +24, 0 ], [ - +40, -54, -56, -15, -32, 0, - -40, +54, +56, +15, +32, 0 + +39, -57, -59, -19, -37, 0, + -39, +57, +59, +19, +37, 0 ], [ - +32, -61, -68, -18, -51, 0, - -32, +61, +68, +18, +51, 0 + +32, -63, -69, -19, -52, 0, + -32, +63, +69, +19, +52, 0 ], [ - +29, -61, -75, -30, -43, 0, - -29, +61, +75, +30, +43, 0 + +29, -62, -75, -31, -45, 0, + -29, +62, +75, +31, +45, 0 ], [ - +33, -60, -66, -28, -28, 0, - -33, +60, +66, +28, +28, 0 + +32, -64, -70, -33, -32, 0, + -32, +64, +70, +33, +32, 0 ], [ - +39, -57, -49, -16, -15, 0, - -39, +57, +49, +16, +15, 0 + +38, -61, -54, -22, -20, 0, + -38, +61, +54, +22, +20, 0 ], [ - +38, -30, -35, +21, +13, 0, - -38, +30, +35, -21, -13, 0 + +37, -30, -35, +21, +12, 0, + -37, +30, +35, -21, -12, 0 ], ], ]; @@ -398,232 +398,232 @@ internal static class TunableEvalParameters [ [ 0, 0, 0, 0, 0, 0, 0, 0, - -150, 26, 61, -9, -68, -35, 39, -21, - -31, 31, 66, 47, 39, 10, 11, 2, - -22, 33, -3, 6, 1, -18, -15, -31, - 12, 26, 13, 10, 4, -5, -24, -24, - 6, 45, 23, 2, -18, -23, -38, -32, - 4, 89, 43, 16, -1, -27, -41, -30, + -144, 27, 60, -8, -71, -36, 35, -17, + -32, 26, 66, 46, 39, 11, 11, 4, + -22, 32, -2, 6, 1, -17, -15, -30, + 11, 26, 13, 10, 4, -5, -23, -24, + 5, 44, 23, 1, -19, -22, -38, -31, + 4, 90, 43, 16, -1, -27, -41, -29, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -8, -40, -71, 12, 6, -2, -17, -73, - 34, 24, 21, 38, 34, 19, -2, -8, - 43, 12, -2, -3, -3, -9, -11, -20, - 45, 6, 4, -0, -3, -5, -12, -16, - 42, 34, 6, -9, -16, -19, -39, -26, - 27, 48, 30, 9, 1, -22, -36, -21, + -10, -42, -64, 11, 4, -7, -18, -69, + 35, 21, 21, 40, 33, 20, -0, -8, + 42, 12, -2, -3, -4, -9, -11, -19, + 45, 6, 4, -0, -3, -6, -12, -17, + 42, 34, 5, -10, -16, -19, -39, -26, + 27, 49, 30, 9, 1, -22, -36, -21, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 17, -11, 1, -91, 29, -51, -57, -59, - 9, 40, 17, 36, 12, 21, -6, -15, - 21, 23, 15, 3, -7, -5, -12, -16, - 20, 24, 15, 4, -5, -4, -13, -14, - 28, 42, 22, -7, -11, -13, -31, -32, - 27, 53, 30, 18, 3, -13, -32, -23, + 16, -7, -7, -85, 25, -52, -55, -56, + 9, 39, 17, 34, 12, 22, -5, -14, + 21, 22, 15, 3, -7, -6, -12, -16, + 20, 24, 15, 4, -4, -4, -13, -15, + 29, 43, 23, -8, -11, -13, -31, -32, + 27, 53, 30, 18, 3, -14, -32, -24, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -1, -49, 4, -112, -39, 26, -23, -21, - -19, 36, 33, 5, 10, 17, 10, -12, - 4, 7, 14, 18, 13, 13, -13, -10, - -5, 4, 19, 11, 14, 9, -9, -12, - -5, 9, 17, 9, 7, 0, -14, -15, - 1, 22, 3, 22, 18, 8, -7, -16, + -4, -43, -2, -108, -32, 23, -25, -22, + -17, 34, 33, 9, 11, 17, 10, -13, + 3, 6, 14, 18, 12, 13, -13, -10, + -5, 3, 19, 11, 15, 9, -9, -13, + -5, 9, 18, 8, 8, -0, -14, -16, + 2, 22, 4, 21, 18, 7, -7, -16, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -31, -28, -53, -12, -47, -50, 3, -9, - -1, 5, 20, 15, -18, 16, -3, -21, - -8, 12, -2, 17, 7, 15, 13, -17, - -5, -4, 14, 16, 10, 19, 8, -16, - 4, 1, 6, 8, 12, 11, 8, -20, - 2, 16, 16, 19, 20, 15, 23, -4, + -32, -24, -56, -21, -44, -47, 8, -7, + -2, 5, 22, 16, -17, 14, -3, -21, + -8, 12, -2, 17, 7, 15, 12, -17, + -5, -5, 14, 16, 10, 19, 7, -18, + 4, 1, 6, 7, 12, 10, 8, -21, + 2, 16, 17, 18, 20, 15, 23, -4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -15, -38, -58, 25, 1, -57, -50, -18, - -12, -7, 8, 19, 27, 17, 13, 27, - -15, -4, -9, 1, 13, 20, 13, 11, - -15, -13, -4, 8, 6, 22, 20, 6, - -15, -16, -8, 7, 6, 25, 19, -0, - -12, -12, -5, 16, 22, 28, 4, -1, + -17, -43, -57, 27, -5, -46, -44, -22, + -12, -7, 9, 20, 26, 19, 15, 24, + -15, -5, -10, 1, 12, 19, 12, 12, + -15, -14, -4, 7, 7, 23, 19, 7, + -15, -17, -8, 7, 6, 25, 20, 1, + -13, -12, -5, 15, 21, 28, 4, -1, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -18, -38, -4, -28, 3, -12, -10, -37, - 2, 10, 27, 30, 13, 46, 8, 32, - -13, -8, -16, -8, -6, 8, 3, 19, - -16, -16, -9, -7, -2, 7, 4, 26, - -17, -24, -18, -15, -7, -2, 21, 30, - -13, -19, -18, 10, 10, 20, 31, 19, + -15, -38, -7, -26, 3, -5, -12, -34, + 3, 10, 26, 29, 16, 45, 7, 31, + -13, -9, -15, -8, -6, 7, 3, 18, + -16, -17, -10, -7, -2, 7, 4, 26, + -17, -24, -18, -15, -7, -2, 20, 30, + -13, -19, -18, 9, 9, 20, 31, 20, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -22, -0, -21, 4, 19, 15, -54, -80, - 4, 19, 24, 22, 39, 29, 14, -3, - -17, -12, -15, -8, 3, 12, 11, -18, - -14, -19, -9, -3, 7, 8, 14, 10, - -17, -27, -20, -8, -6, 12, 10, 32, - -12, -20, -12, -6, 9, 16, 57, 34, + -22, -5, -19, 3, 16, 9, -48, -75, + 6, 18, 24, 23, 41, 30, 14, -0, + -16, -12, -15, -9, 2, 11, 10, -18, + -14, -20, -9, -2, 7, 8, 13, 9, + -17, -28, -20, -8, -6, 12, 10, 32, + -13, -20, -12, -6, 7, 15, 57, 35, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -4, 21, -5, -19, 37, -41, -102, -35, - 29, 13, 54, 42, 34, 12, -5, -2, - 28, 6, 28, 13, 4, -2, -15, -25, - 19, 12, 20, 17, 2, -4, -14, -25, - 6, 19, 23, 6, -12, -16, -33, -33, - -11, -6, 50, 21, -2, -28, -40, -37, + -8, 23, -6, -8, 36, -42, -103, -35, + 30, 10, 54, 42, 31, 14, -6, -5, + 30, 6, 27, 14, 4, -2, -15, -23, + 20, 11, 20, 16, 2, -5, -14, -25, + 6, 18, 24, 5, -11, -17, -33, -33, + -11, -7, 51, 21, -2, -28, -40, -37, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 27, 23, -83, 78, -44, -74, -18, -47, - 19, 38, 19, 44, -13, 5, 6, -12, - 14, 40, 7, 22, 15, 10, -10, -20, - 1, 10, 11, 15, 15, 8, -14, -19, - 1, 7, 3, 8, 4, -3, -24, -39, - -2, 10, -5, 26, 21, -10, -32, -37, + 31, 26, -75, 77, -41, -69, -33, -51, + 19, 41, 21, 43, -10, 7, 4, -15, + 14, 39, 8, 22, 13, 9, -11, -21, + 1, 9, 13, 14, 15, 7, -15, -20, + 2, 6, 5, 6, 5, -3, -25, -39, + -2, 10, -2, 26, 21, -11, -33, -37, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -14, 27, 2, -21, -34, -20, -23, -45, - 6, 21, 19, 26, 25, 37, 1, -12, - -11, -1, 23, 1, 19, 14, -6, -11, - -17, 6, 23, 6, 23, 14, -11, -15, - -14, 12, 7, 3, 5, 4, -8, -41, - -21, 15, 8, -2, 22, 9, -18, -34, + -16, 28, -6, -12, -39, -20, -16, -42, + 5, 16, 21, 26, 22, 36, -1, -15, + -11, -1, 25, 4, 18, 14, -6, -13, + -16, 7, 24, 9, 23, 13, -13, -16, + -14, 13, 7, 3, 6, 3, -7, -41, + -21, 15, 9, -1, 22, 9, -18, -34, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -57, -20, 6, 41, -46, -6, 11, -35, - -6, -12, 23, 50, 6, 42, 28, -9, - -24, -3, 3, 24, 15, 24, 6, -10, - -26, -17, 11, 16, 21, 21, 12, -12, - -25, -9, 5, 0, 12, 4, -1, -22, - -30, -13, 6, 12, 4, 7, -3, -24, + -50, -29, 10, 45, -47, -8, 9, -31, + -7, -13, 21, 43, 6, 45, 29, -9, + -24, -5, 4, 24, 17, 24, 6, -10, + -26, -18, 12, 17, 21, 20, 12, -13, + -25, -10, 5, 2, 12, 4, -2, -23, + -29, -14, 7, 13, 4, 7, -2, -24, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -30, -9, -37, 26, 45, -69, -29, -20, - -30, 11, 18, 19, 39, 21, 44, 19, - -16, -7, -11, 9, 20, -2, 27, 11, - -28, -22, 5, 17, 24, -0, 14, 8, - -28, -24, -0, 6, 10, -9, -0, -12, - -31, -20, 0, 24, 25, -1, 1, -8, + -30, -5, -32, 23, 46, -71, -26, -19, + -30, 11, 16, 17, 39, 18, 40, 20, + -16, -8, -10, 8, 21, -2, 27, 11, + -28, -22, 5, 17, 25, -0, 14, 8, + -27, -25, 1, 6, 10, -8, -1, -12, + -31, -20, 1, 23, 24, -0, 1, -7, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -33, -20, -13, -23, 36, -20, -28, -20, - -3, -4, 6, 20, 35, 50, 23, 13, - -19, -10, -20, 2, 6, 28, 15, 26, - -24, -25, -8, 4, 18, 21, 18, 14, - -26, -28, -21, -6, 4, 23, 16, -16, - -25, -28, -23, 6, 26, 55, -5, -16, + -31, -24, -13, -26, 42, -17, -33, -16, + -2, -5, 8, 20, 37, 50, 27, 13, + -19, -11, -19, 1, 5, 27, 14, 26, + -24, -25, -8, 3, 18, 21, 17, 14, + -26, -28, -21, -7, 4, 23, 16, -16, + -25, -28, -24, 4, 25, 54, -5, -16, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -11, -12, -32, -8, 19, -23, 5, -54, - 7, 12, 16, 37, 20, 39, 51, 10, - -21, -21, -26, -10, 8, 12, 23, -9, - -16, -22, -14, -2, 11, 32, 17, 10, - -20, -28, -22, -13, -3, 19, 34, -0, - -23, -29, -20, -10, 8, 47, 65, -54, + -13, -8, -43, -12, 22, -15, 1, -49, + 6, 11, 15, 36, 22, 39, 50, 11, + -21, -21, -24, -10, 7, 11, 22, -6, + -17, -21, -14, -3, 11, 31, 18, 12, + -20, -28, -22, -14, -3, 18, 34, 2, + -23, -30, -19, -10, 7, 47, 65, -52, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -111, 71, -22, 30, 61, -13, -44, 15, - -26, 10, 73, 3, 8, 33, 11, -17, - -1, 16, 44, 14, 8, -46, -33, -45, - -31, 44, 11, 27, 9, -42, -32, -44, - -31, 72, 79, 18, 18, -16, -40, -35, - -75, 75, 58, 13, -7, -53, -34, -27, + -115, 69, -22, 33, 55, -13, -36, 17, + -28, 7, 73, 4, 4, 34, 9, -19, + 4, 16, 47, 15, 9, -47, -31, -46, + -30, 44, 12, 25, 13, -42, -33, -45, + -23, 72, 78, 16, 19, -17, -42, -36, + -70, 75, 58, 13, -7, -54, -37, -29, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -21, 26, 76, 67, -40, -36, -30, -10, - -45, 12, 91, 54, 85, 43, 27, -32, - 1, 78, 105, 49, 78, 32, -48, -6, - -86, 46, 53, 29, 39, -3, -100, -65, - -70, 36, 46, 38, -2, -35, -57, -47, - -93, 85, 33, -103, -9, -97, -95, -100, + -9, 21, 67, 66, -44, -35, -32, -16, + -40, 14, 94, 47, 94, 32, 27, -30, + -5, 85, 101, 50, 66, 27, -49, -8, + -79, 61, 45, 28, 37, -3, -95, -64, + -77, 46, 41, 44, 1, -33, -55, -49, + -96, 92, 26, -105, 11, -94, -96, -110, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -113, 55, 41, 67, -1, -16, 23, 7, - 8, 27, 23, 112, 103, -7, -7, -19, - -68, 53, 71, 97, -10, 26, -30, 7, - -57, 5, 77, -10, 12, 7, -44, -57, - -44, -9, 78, 34, -8, 12, -73, -43, - -44, 11, 11, -73, -57, -61, -76, -41, + -113, 55, 50, 53, -3, -18, 23, 3, + 7, 28, 34, 103, 102, -8, -7, -9, + -67, 60, 72, 100, -10, 28, -33, 5, + -56, 12, 79, -3, 8, 5, -48, -57, + -41, -2, 74, 36, -9, 12, -73, -45, + -47, 9, 12, -72, -62, -64, -76, -47, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -1, -4, 22, 56, -42, 20, 26, 3, - 55, 41, 82, 96, 62, 57, 47, -4, - 10, 15, 54, 34, 23, 33, -25, -18, - -66, -13, -5, 75, -8, -80, -64, -41, - -84, 20, 15, 68, 57, 11, -28, -19, - -66, -71, 34, -27, -87, -75, -124, -61, + 2, -10, 27, 51, -34, 17, 23, 4, + 47, 38, 69, 99, 66, 54, 46, -1, + 17, 19, 59, 35, 25, 26, -27, -16, + -65, -13, -0, 75, -9, -78, -62, -38, + -90, 22, 13, 71, 58, 9, -29, -19, + -67, -70, 27, -22, -89, -70, -120, -65, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 11, -11, -62, 67, 15, 47, -46, -20, - 5, 46, 74, 87, 121, 13, 32, 19, - -64, -41, 50, 36, 125, 25, 23, -18, - -54, -9, -8, 7, 93, -39, 9, -52, - -99, -60, -5, 64, 63, 32, -24, -84, - -61, -97, -8, -27, -10, -36, -74, -58, + 14, -4, -55, 62, 5, 54, -52, -23, + 6, 46, 82, 89, 118, 1, 31, 10, + -61, -41, 44, 36, 128, 26, 24, -12, + -58, -5, -1, 12, 91, -36, 14, -55, + -99, -59, -3, 54, 63, 33, -23, -89, + -63, -94, -12, -39, -4, -32, -69, -56, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -32, 2, -23, 41, 39, 41, -16, -72, - -69, 27, 12, 55, 64, 105, 105, 17, - -35, -46, 48, 54, 51, 177, 90, 48, - -92, -64, -12, -10, -27, 50, 19, -62, - -84, -42, -3, 16, 26, 68, 45, -18, - -96, -99, 8, -102, -21, -47, -49, -86, + -34, -4, -23, 39, 29, 46, -9, -77, + -72, 31, 2, 57, 57, 112, 103, 12, + -45, -53, 49, 50, 50, 180, 95, 49, + -90, -63, -15, -10, -20, 53, 22, -68, + -84, -41, -2, 22, 31, 75, 50, -16, + -99, -101, 14, -97, -17, -46, -52, -93, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -17, -37, -42, 25, 60, 134, -13, -34, - -32, -38, -27, 43, 49, 141, 64, 42, - -50, -26, 54, -50, 85, 84, 58, -16, - -50, -46, -39, 17, 75, 30, 68, -32, - -112, -81, -31, 6, 36, 21, 4, -34, - -72, -80, -52, -42, 21, 1, 14, -78, + -14, -36, -27, 24, 57, 125, -13, -41, + -41, -48, -32, 37, 47, 142, 62, 51, + -55, -22, 48, -51, 90, 83, 59, -22, + -55, -43, -40, 16, 82, 28, 76, -26, + -116, -83, -26, 4, 35, 27, 24, -29, + -75, -80, -61, -38, 13, 3, 21, -79, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -9, -18, 46, -6, 47, 64, -75, 15, - 6, 32, -70, -18, 63, 138, 10, 54, - -101, -77, -43, 33, 41, 111, 33, 32, - -21, -57, -47, 27, 48, 106, 48, 25, - -80, -48, -41, -20, 32, 11, 54, 5, - -100, -81, -94, -72, 0, -36, 37, -4, + -6, -30, 40, -2, 37, 60, -70, 21, + 4, 29, -64, -18, 68, 135, 10, 52, + -91, -76, -43, 19, 39, 118, 32, 35, + -24, -56, -41, 30, 39, 104, 46, 28, + -76, -46, -46, -21, 30, 13, 55, 5, + -92, -81, -89, -75, 0, -36, 37, -4, 0, 0, 0, 0, 0, 0, 0, 0, ], ]; @@ -632,232 +632,232 @@ internal static class TunableEvalParameters [ [ 0, 0, 0, 0, 0, 0, 0, 0, - 104, -6, -39, -38, -6, -46, -94, -56, - 66, 32, 3, -9, -21, -10, -4, 22, - 25, 13, 10, 0, -11, 0, -0, 12, - -6, 0, 6, -0, -7, -6, -1, 4, - -19, -16, 4, 2, 7, 1, 6, 5, - -0, 9, 13, 24, -1, 8, 9, 12, + 102, -9, -35, -39, -4, -46, -93, -57, + 67, 33, 1, -8, -22, -11, -4, 21, + 25, 13, 10, 0, -11, 0, -2, 12, + -5, 1, 6, 1, -7, -6, -2, 3, + -18, -16, 3, 3, 5, 0, 5, 5, + 0, 9, 13, 24, -0, 8, 9, 12, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -3, 9, 44, -79, -59, -70, -49, -29, - 38, 61, 37, 2, -1, -2, 42, 17, - 3, 1, 10, -4, -2, -2, 4, 11, - -15, -13, -2, -4, -2, -2, 3, 2, - -15, -26, 6, 7, 15, 10, 17, 9, - -22, -22, 12, 9, 12, 8, 23, 11, + -5, 10, 42, -78, -59, -67, -48, -29, + 36, 61, 36, 0, -1, -4, 42, 17, + 3, -1, 11, -2, -0, -1, 4, 10, + -16, -13, -1, -3, -2, -1, 3, 2, + -16, -27, 7, 8, 15, 10, 17, 9, + -22, -22, 12, 10, 12, 9, 23, 11, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -27, -1, -67, -11, -82, -41, -30, -23, - 36, 39, 12, -10, 12, 3, 18, 26, - 11, 14, -12, -1, 2, -0, 5, 15, - -4, -5, -8, -3, 4, 3, 2, 8, - -8, -9, -13, 8, 16, 9, 20, 18, - -4, -18, 1, 3, 25, 15, 26, 26, + -24, -2, -66, -16, -79, -37, -31, -25, + 35, 38, 12, -9, 12, 2, 15, 26, + 12, 14, -12, -1, 3, -0, 5, 16, + -4, -5, -8, -4, 4, 3, 3, 8, + -8, -9, -14, 9, 16, 9, 21, 17, + -4, -18, 1, 3, 26, 15, 27, 26, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -28, -9, -53, 24, -10, -72, -52, -34, - 31, 22, 4, 9, 8, -5, 18, 29, - 9, 3, -5, -22, -5, -8, 15, 5, - 6, 3, -7, -7, 4, -6, 3, 4, - 6, 3, 6, 1, 12, 5, 7, 9, - 11, 8, 2, 14, 8, 5, 14, 18, + -26, -12, -52, 23, -13, -71, -51, -34, + 29, 21, 2, 6, 6, -5, 17, 28, + 9, 3, -5, -21, -5, -9, 15, 5, + 7, 4, -7, -7, 4, -5, 3, 5, + 6, 3, 6, 1, 12, 6, 7, 10, + 12, 9, 2, 14, 9, 6, 15, 19, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -11, -46, -37, -5, -20, -57, -71, -20, - 24, 13, 3, -2, 11, 15, 26, 45, - 6, -11, -2, -8, -11, -13, -4, 20, - -0, 8, -2, 3, 3, -1, 1, 8, - 4, 11, 17, 18, 6, 7, -1, 6, - 7, 19, 18, 12, 16, -10, -3, 5, + -12, -45, -38, -0, -19, -59, -72, -22, + 25, 14, 2, -2, 11, 14, 24, 45, + 6, -11, -1, -9, -11, -13, -3, 20, + -1, 8, -2, 3, 3, -1, 1, 8, + 3, 11, 17, 18, 6, 7, -1, 5, + 8, 20, 19, 12, 15, -10, -2, 8, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -23, -38, -25, -59, -21, -20, 18, -24, - 30, 17, 6, 1, -15, -8, 41, 14, - 19, 4, -5, -10, -18, -17, -0, 12, - 12, 8, 1, -5, -3, -19, -7, -4, - 16, 16, 8, 4, 9, -11, -3, 2, - 23, 23, 18, 21, 10, -1, -5, 9, + -23, -35, -24, -59, -18, -27, 13, -21, + 32, 17, 6, -1, -14, -7, 41, 17, + 20, 3, -5, -10, -17, -17, 1, 11, + 12, 8, 0, -5, -3, -19, -7, -5, + 16, 16, 8, 4, 9, -11, -4, 1, + 24, 23, 17, 22, 10, -0, -5, 9, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -4, 0, -55, -26, -47, -14, -20, 30, - 25, 3, -13, -19, -8, 1, 18, 36, - 16, 7, -1, -6, -8, -7, -5, 8, - 10, 7, 1, 5, 5, -7, -13, -9, - 14, 15, 11, 19, 15, 6, -20, -18, - 17, 21, 15, 8, 22, 11, -24, -25, + -4, 1, -54, -27, -46, -14, -21, 28, + 25, 2, -13, -19, -10, 2, 19, 36, + 16, 7, -1, -5, -8, -6, -6, 7, + 10, 7, 1, 6, 5, -7, -13, -9, + 14, 15, 11, 18, 15, 6, -21, -18, + 16, 21, 15, 9, 22, 12, -23, -25, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 21, -47, -22, -56, -26, -28, -0, 41, - 25, 5, -4, -8, -19, 3, 31, 34, - 13, 5, -7, -14, -10, -7, -5, 10, - 6, -3, -3, -1, -7, -1, -15, -16, - 6, 11, 6, 5, 13, 5, -8, -19, - 8, 13, 13, 14, 23, 19, 6, -10, + 21, -47, -21, -56, -22, -25, -2, 40, + 24, 7, -4, -9, -22, 3, 33, 30, + 12, 5, -7, -13, -9, -7, -5, 9, + 6, -2, -3, -2, -8, -2, -15, -15, + 6, 10, 7, 6, 12, 5, -8, -19, + 9, 12, 13, 15, 25, 20, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -6, -26, -13, -38, -66, -44, -24, -45, - 40, 48, 26, 0, -3, -4, 5, 5, - 15, 28, 8, 3, 1, -8, 1, 9, - 4, 8, 6, 4, 2, -4, -6, 3, - -4, -9, 2, 2, 9, 1, 3, 6, - 1, 7, -2, 5, 10, 10, 12, 18, + -7, -26, -9, -39, -66, -44, -22, -46, + 39, 48, 27, -1, -2, -3, 5, 7, + 15, 28, 8, 2, 1, -8, 0, 9, + 3, 8, 5, 4, 3, -4, -6, 3, + -5, -9, 2, 3, 9, 1, 3, 6, + 0, 8, -2, 5, 10, 10, 12, 17, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -41, -30, 16, -57, -44, -48, -11, -43, - 31, 45, 33, 8, 4, 0, 7, 17, - 18, 10, 9, -4, -4, -9, 6, 7, - 12, 15, -8, -2, -2, -4, 1, 6, - 4, -2, -1, -4, 3, -2, 5, 16, - 4, 3, 2, -4, -3, 4, 14, 24, + -42, -29, 15, -59, -43, -48, -9, -42, + 31, 44, 31, 8, 4, -1, 7, 17, + 17, 10, 9, -4, -3, -9, 6, 7, + 12, 15, -8, -2, -1, -4, 1, 6, + 4, -3, -1, -4, 2, -1, 5, 16, + 4, 2, 2, -4, -2, 4, 14, 24, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -17, -42, -25, -44, -30, -42, -34, -17, - 27, 26, 21, 7, 20, 3, 10, 26, - 17, 14, -0, 1, -4, -8, 2, 5, - 14, 11, -2, -6, -3, -4, 3, 6, - 10, 1, -2, -9, -3, -3, -1, 12, - 18, 4, -1, 9, -0, 1, 8, 20, + -18, -42, -24, -45, -28, -42, -36, -17, + 28, 27, 21, 8, 22, 3, 10, 27, + 16, 14, -1, 0, -4, -8, 2, 6, + 14, 11, -2, -7, -3, -4, 3, 6, + 9, 1, -2, -9, -4, -3, -1, 12, + 18, 4, -1, 9, -1, 1, 9, 20, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -7, -45, -33, -58, -3, -27, -31, -34, - 22, 14, 9, 4, 13, 15, 11, 22, - 14, 7, -1, -5, 3, -4, 7, 8, - 13, 9, 1, -5, -4, -7, 3, 4, - 11, 3, 2, -0, -1, -3, 2, 6, - 21, 14, 5, 2, 7, 1, 4, 13, + -9, -43, -34, -58, -2, -30, -29, -33, + 21, 15, 10, 5, 13, 14, 12, 23, + 14, 7, -1, -5, 2, -4, 7, 8, + 13, 10, 1, -5, -5, -6, 2, 4, + 11, 3, 2, -1, -2, -4, 2, 7, + 21, 14, 4, 2, 6, 1, 3, 13, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -13, -38, -32, -49, -51, -16, 10, -14, - 23, 9, -2, 5, 9, 24, 21, 29, - 7, 2, 2, -6, -1, 6, 5, 7, - 10, 6, -1, -4, -5, -0, -1, 2, - 10, 7, 2, 1, -4, 1, -6, 3, + -15, -39, -32, -48, -52, -15, 10, -15, + 23, 9, -1, 6, 9, 25, 23, 29, + 7, 2, 2, -6, -1, 6, 5, 8, + 10, 6, -2, -3, -5, -0, -1, 3, + 10, 8, 2, 1, -4, 1, -6, 3, 19, 15, 6, -1, 2, -2, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -20, -39, -52, -31, -52, -19, 33, 17, - 8, 7, -6, -2, -7, 10, 40, 42, - 6, -3, -2, -7, -1, 1, 17, 7, - 4, 0, -1, -1, 0, -5, 2, -4, - 5, 5, 6, 8, 6, -8, -6, -3, - 12, 11, 13, 6, 3, -5, 4, -3, + -21, -38, -50, -31, -54, -20, 35, 16, + 8, 7, -6, -2, -8, 10, 39, 43, + 6, -2, -2, -7, -0, 1, 17, 7, + 4, 0, -1, -0, -0, -5, 2, -4, + 5, 5, 6, 8, 7, -8, -6, -3, + 12, 12, 14, 6, 3, -6, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -28, -39, -44, -39, -47, -28, -2, 39, - 13, -4, 3, -0, 1, 19, 45, 57, - 4, -2, -8, -9, -10, 4, 9, 24, - -2, -8, -6, -9, -0, -3, 3, 1, - 1, -3, 2, 5, 9, 7, -9, -9, - 7, 9, 3, 7, 19, -0, -1, 19, + -26, -40, -40, -37, -47, -31, -1, 38, + 13, -2, 3, 1, 0, 19, 46, 57, + 4, -2, -9, -9, -9, 5, 9, 23, + -2, -8, -6, -9, -0, -3, 2, 1, + 1, -3, 1, 5, 9, 7, -9, -10, + 7, 8, 2, 7, 20, -0, -1, 19, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 50, -11, 28, -41, -96, -81, -72, -54, - 50, 72, 51, 14, -14, -24, -13, 8, - 30, 43, 22, 3, -4, -6, -7, 5, - 32, 28, 26, 3, -10, -10, -15, -4, - 17, 5, -7, -4, -9, -16, -6, -1, - 38, 8, -3, -6, -14, -2, -9, 4, + 51, -10, 25, -42, -96, -81, -72, -53, + 51, 72, 51, 15, -12, -25, -12, 9, + 30, 43, 20, 2, -4, -6, -7, 6, + 32, 28, 26, 3, -12, -10, -15, -3, + 16, 5, -6, -3, -9, -16, -6, -1, + 38, 6, -5, -7, -13, -2, -8, 5, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -15, 16, 0, -3, -34, -91, -98, -58, - 52, 76, 46, 57, -12, -24, -9, -2, - 47, 44, 29, 22, -15, -14, -9, -23, - 43, 24, 12, 8, -14, -15, -10, -14, - 13, -0, -5, -3, -14, -12, -16, -15, - 40, -12, -8, 31, -14, -1, -6, 7, + -17, 20, 4, -2, -32, -88, -96, -57, + 47, 78, 44, 57, -14, -21, -9, -1, + 47, 47, 28, 21, -13, -13, -8, -24, + 41, 25, 13, 7, -15, -16, -11, -16, + 14, 1, -5, -4, -16, -13, -17, -15, + 39, -11, -7, 28, -19, -2, -6, 8, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -8, -49, 22, -32, 3, -57, -94, -52, - 48, 40, 76, 33, 22, 2, -31, -13, - 47, 31, 56, 17, 6, -15, -11, -20, - 30, 18, 11, 8, -10, -17, -17, -11, - 5, 6, -6, -5, -19, -24, -14, -13, - 14, -2, 3, 32, 3, -13, 0, 1, + -6, -47, 24, -29, 1, -58, -93, -53, + 46, 38, 75, 34, 20, 2, -31, -14, + 45, 29, 57, 17, 6, -14, -11, -19, + 29, 17, 13, 7, -9, -16, -17, -11, + 4, 6, -4, -6, -19, -23, -14, -13, + 13, -3, 4, 30, 3, -13, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -71, -38, -16, 37, -5, -38, -69, -84, - 4, 39, 24, 58, 23, 23, -29, -3, - 19, 17, 21, 59, 5, -4, 6, -2, - 17, 12, 6, 16, -1, 3, 0, -7, - 15, -11, -7, -7, -8, -17, -15, -11, - 11, -4, -14, 27, 7, -3, 8, 4, + -70, -35, -18, 40, -7, -38, -69, -84, + 5, 39, 26, 59, 22, 22, -29, -4, + 17, 17, 20, 60, 5, -3, 6, -2, + 16, 12, 5, 16, -2, 3, -0, -7, + 16, -11, -7, -8, -8, -17, -15, -11, + 11, -4, -13, 26, 9, -5, 7, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -80, -54, -10, -32, 52, -23, -33, -39, - -12, -7, 11, 7, 53, 16, 7, -5, - 6, 18, 6, 16, 45, 15, 5, 6, - -1, -2, 2, 3, 18, 15, 1, 5, - 3, -11, -8, -11, 1, -2, -8, 9, - 0, 2, -6, 2, 1, 5, 4, 10, + -79, -55, -13, -31, 52, -24, -29, -39, + -11, -8, 10, 7, 52, 18, 7, -3, + 5, 17, 6, 16, 44, 14, 5, 5, + -1, -3, -0, 2, 19, 15, 0, 5, + 3, -10, -9, -10, 2, -3, -8, 10, + 1, 2, -7, 7, -1, 4, 4, 10, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -68, -60, -58, -27, -8, 34, -4, -13, - 4, -8, 5, 14, 20, 35, 2, 32, - -3, 4, -10, 5, 29, 18, 9, 13, - 6, 1, -2, 9, 19, 14, 15, 15, - -6, -13, -11, -21, -1, -4, -7, -4, - 8, 4, -11, -10, -9, 15, 8, 21, + -66, -59, -55, -25, -7, 34, -2, -8, + 5, -9, 7, 12, 20, 34, 1, 31, + -2, 6, -11, 6, 29, 17, 6, 13, + 6, 0, -3, 8, 18, 15, 14, 15, + -6, -14, -12, -21, -2, -5, -9, -4, + 8, 4, -12, -10, -10, 15, 7, 22, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -78, -68, -47, -73, -14, -22, 50, -6, - -13, -2, 16, 3, 47, 21, 66, 26, - -11, -8, -18, 20, 7, 23, 54, 38, - -16, -11, -3, -10, -5, 14, 16, 25, - 1, -11, -19, -12, -16, 1, 3, 13, - -0, -5, -10, 10, -2, -1, 1, 24, + -78, -66, -47, -72, -14, -20, 52, -4, + -10, -2, 16, 3, 46, 19, 66, 22, + -9, -8, -18, 18, 6, 22, 55, 37, + -16, -12, -4, -10, -6, 14, 18, 24, + 2, -11, -20, -12, -16, -0, 2, 13, + -0, -4, -8, 9, -1, -1, 2, 24, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -111, -93, -20, -78, -57, 4, 43, 17, - 3, -30, 8, 19, 25, 55, 63, 39, - -1, -16, 1, -14, 32, 25, 60, 33, - -15, -20, 4, -16, 8, -5, 40, 39, - -4, -20, -18, -22, -7, -9, 11, 19, - -5, -5, 3, 9, -19, 4, 5, 19, + -108, -91, -26, -75, -54, 6, 43, 18, + 2, -30, 6, 21, 26, 55, 62, 38, + -2, -15, 1, -11, 30, 24, 58, 32, + -14, -21, 1, -16, 8, -5, 40, 38, + -5, -20, -17, -20, -7, -10, 11, 19, + -5, -6, 0, 10, -19, 4, 5, 19, 0, 0, 0, 0, 0, 0, 0, 0, ], ]; @@ -865,1872 +865,1872 @@ internal static class TunableEvalParameters internal static readonly short[][] MiddleGameKnightTable = [ [ - -113, -69, -79, -60, -59, -36, -39, -161, - 27, 12, 4, 41, 60, -28, 17, -37, - 6, 24, 67, 39, 34, 26, 29, 19, - 15, 49, 51, 38, 32, 15, -5, -12, - 19, 46, 38, 37, 17, 22, 15, -15, - 32, 7, 25, 15, 15, -4, -11, -29, - 21, 41, 20, 23, 0, -27, 4, -69, - 12, -1, -1, -2, -22, -15, -57, -65, - ], - [ - -86, -26, 29, 43, -109, -41, -147, -97, - 26, -11, 22, 50, 14, -28, -33, -1, - 24, 21, 38, 41, 6, 20, 2, -5, - 17, 30, 31, 34, 30, 14, 19, 0, - 28, 46, 21, 32, 9, 17, -7, 3, - -5, 13, 17, 12, 6, -8, -4, -17, - -10, 20, 3, -0, 1, -9, -9, -39, - -2, -61, 27, 16, 11, -1, -6, -30, - ], - [ - -64, -36, -64, 30, 16, -52, -98, 10, - -18, 6, 20, 20, 16, 6, -40, 2, - 5, 28, 9, 22, 18, 10, -23, -21, - 12, 24, 26, 32, 22, 16, 15, 13, - 22, 29, 20, 19, 4, 7, -3, 14, - -7, 3, 23, 3, 4, -6, -1, -27, - 4, -1, 14, 9, -6, -12, -1, -25, - -1, 11, -52, 18, 2, -5, -3, -21, - ], - [ - -120, -152, -110, -95, -22, -102, -67, -6, - 21, -14, 16, 21, 42, -1, -15, -33, - 36, 15, 44, 21, 27, -0, 36, -15, - 24, 15, 30, 33, 45, 16, 17, 4, - 15, 40, 20, 35, 22, 29, 9, 17, - -14, 15, 12, 23, 5, 13, 16, 0, - -13, -5, 10, 21, 6, -11, 20, -10, - 5, -1, 27, -44, 25, 9, 11, -17, - ], - [ - -67, -111, -88, -94, -13, -67, -95, -50, - -13, -27, 3, -13, 9, 14, -3, -15, - -19, 7, 17, 8, 16, 19, -28, -3, - 22, 15, 20, 25, 25, 29, 19, 12, - 16, 28, 27, 31, 21, 29, 14, 23, - 7, 12, 17, 20, 18, 18, 21, 5, - -7, 3, 6, 17, 22, 18, 9, -6, - 7, 23, 23, 20, -43, 11, 20, 13, - ], - [ - -108, -169, -23, -4, -56, -87, -32, -59, - -25, -19, -5, 23, 0, 2, 11, -34, - 12, -8, 0, 4, 15, 24, 33, -4, - -7, 10, 19, 34, 37, 35, 35, 23, - -12, 6, 16, 33, 27, 33, 35, 42, - -16, -1, 14, 24, 12, 27, 24, 15, - 7, -14, 2, 8, 12, 30, 21, -17, - -9, -17, 0, 14, 28, -44, 30, -7, - ], - [ - -82, -70, -34, -23, 1, 14, -59, -21, - 8, -17, 2, 4, 19, 15, 5, -12, - 0, 7, 15, 15, 19, 26, -6, -11, - 12, 10, 15, 20, 20, 22, 19, 12, - 5, 12, 16, 17, 9, 16, 20, 14, - -7, -4, -0, 7, 2, 6, 12, -4, - -18, -11, -7, 5, 1, -7, 13, 2, - -13, -1, -3, 9, 5, 19, -58, -10, - ], - [ - -75, -32, -123, 11, -72, 43, -70, -5, - 13, -17, 23, -25, 39, 40, 3, 29, - -25, -5, 23, 6, 33, 56, 6, 33, - -11, -4, 8, 31, 37, 30, 41, 10, - -8, 18, 17, 27, 11, 23, 41, 34, - -22, -13, -7, 8, 9, 7, 14, 12, - -36, -18, -22, -4, -1, -11, 10, 18, - -68, -33, -25, -14, -2, 5, 36, -57, - ], - [ - -99, 24, 39, 68, -95, -109, -84, -94, - 1, -38, 61, 43, -50, 16, 5, -28, - -31, 44, 77, 26, -5, 22, 7, 14, - 19, 25, 45, 46, 34, 26, 12, 0, - -4, 38, 10, 26, 16, 7, 12, -19, - 14, 26, 9, 7, 1, 1, -8, -10, - -26, 25, 29, 9, -9, -17, -27, -66, - 8, 8, 10, -8, -6, -11, -35, -31, - ], - [ - -102, -18, -97, 34, -17, -61, -70, -89, - 30, -18, -99, 45, 5, 17, -24, -23, - 7, 21, 41, 36, 3, -27, 42, 4, - 23, 51, 52, 53, 28, 17, -6, 15, - 15, 46, 22, 21, 27, 23, -1, -20, - -16, 15, 39, 10, 5, 3, 9, -8, - -17, -7, 46, 28, -8, 0, -33, -41, - -2, -5, 17, 7, 4, 2, -12, -43, - ], - [ - -77, -53, -22, -84, -54, -56, -73, -56, - -67, -19, 7, -22, 21, -6, -36, -57, - -7, 25, 35, 26, 10, -2, 26, -39, - 39, 9, 24, 53, 35, 18, 7, 0, - 19, 49, 29, 42, 19, 40, 17, 5, - -2, 16, 26, 38, 20, 4, -4, -8, - 30, 10, 14, 39, 13, -5, -15, -3, - -5, 1, 35, 29, -2, -24, -1, -31, - ], - [ - -55, -47, -50, -69, -126, -59, -80, -119, - -27, -35, -28, -32, -45, -5, -28, -13, - 8, 34, 24, 33, 24, 57, 9, 5, - 4, 24, 41, 45, 38, 34, 20, 9, - -11, 31, 25, 42, 23, 26, 20, 24, - -17, -2, 17, 33, 37, 13, 14, 5, - 36, 1, -11, 29, 45, 16, 12, -9, - -12, 1, -13, 10, 33, 6, 18, -36, - ], - [ - -43, -96, -157, -133, -49, -71, -35, -85, - -35, -28, -23, 14, 25, -39, -12, -31, - -20, 5, 42, 13, 26, 33, 21, 57, - -3, -2, 10, 42, 47, 44, 36, 19, - 22, 27, 39, 32, 26, 31, 46, 35, - -18, 3, 8, 15, 17, 46, 24, -14, - -18, -11, 6, 8, 26, 55, 16, 7, - -16, -26, -1, -4, 13, 18, 25, -8, - ], - [ - -119, -27, -55, -2, 31, 33, -13, -78, - -59, -55, 1, 49, 4, 25, -5, -40, - -31, -12, 19, 4, 27, 37, 34, 35, - -19, 4, 15, 33, 44, 40, 32, 35, - -17, 2, 12, 41, 26, 25, 21, 29, - -20, -14, 3, 17, 8, 15, 36, 14, - -56, -28, -32, 1, 5, 36, 26, -5, - -63, -28, -15, -8, -17, 1, 33, -35, - ], - [ - -199, -73, -60, 2, -11, -18, -21, 34, - -37, -38, -14, 67, 32, 69, -24, 58, - -18, -41, 4, 6, 19, 19, 48, 16, - -33, 6, 21, 36, 31, 40, 46, 31, - -15, 6, 13, 16, 35, 14, 32, 21, - -38, -17, -4, 15, 13, 4, 24, 28, - -79, -29, -18, -5, 8, 10, 17, 39, - -48, -31, -24, -1, -16, 14, 11, 6, - ], - [ - -5, 15, -64, 16, -17, -15, -7, -39, - 6, -29, 19, 27, 35, 1, 1, -11, - 76, 4, 65, 79, 2, -73, 13, -21, - 28, -12, 49, 73, 21, -59, 13, 32, - 36, 51, 36, 7, 14, -26, -11, 33, - -43, 41, 45, 24, 24, 1, -9, -57, - 39, 17, -24, 0, -25, -40, -73, -65, - 16, 8, -70, 19, 17, -25, -103, -81, - ], - [ - 50, 5, -25, -16, 3, 25, 3, -10, - 17, 23, 36, -35, 14, 18, 6, 12, - -14, -55, 17, -14, 43, -10, -6, 3, - 32, -65, 49, 14, -58, 5, -5, 5, - -10, -9, 27, 28, 59, 26, -7, -24, - 34, 65, -48, 18, 4, -29, -28, -3, - 36, -13, -14, -102, -11, 8, 13, 38, - 7, 27, -29, -29, 1, -25, -17, -60, - ], - [ - -7, 15, -31, 7, -4, -0, 4, 19, - -16, 4, -2, -57, -35, 20, 43, -6, - -46, -25, -49, 26, 51, -9, 59, -18, - 38, 48, 69, 58, 57, 22, 69, 10, - 28, -14, 17, 27, 66, -16, -32, -11, - 18, 3, -10, -20, -9, -1, -15, 3, - -19, -46, 1, -35, -94, -0, -1, 9, - -25, -16, -19, 8, 23, -22, -74, -38, - ], - [ - 7, 0, -9, 36, -33, 10, 4, 27, - 8, 19, -35, -13, -39, -17, 21, 19, - -7, -56, -8, 21, 52, 58, 21, 10, - 48, 11, 20, -48, -23, 17, 11, -14, - 27, 12, -6, -8, 82, -22, 10, 25, - 14, -22, 4, 8, -30, 4, -41, -11, - -22, -8, -17, -53, -29, -14, -7, -3, - 7, -1, -3, -7, 35, -37, -3, -1, - ], - [ - -5, 9, -21, 8, 17, 10, 23, 34, - 13, 7, 25, -43, -13, -10, -20, 26, - 1, -23, -23, -21, 46, 20, -71, -12, - -62, 34, -18, -24, -32, 12, 41, 8, - 2, 20, -26, 48, 48, 50, 12, -19, - 10, -49, 29, -31, -3, -12, 102, 20, - -16, 13, 23, -50, 34, 17, -14, 12, - -16, -71, -23, 16, -49, -17, -16, 19, - ], - [ - -13, -14, -1, -22, 24, -22, 10, -2, - -6, -19, 43, -6, 20, 13, 19, -25, - 13, 9, 26, -15, 75, -10, -24, -24, - 14, 12, 44, -36, -17, 5, 12, 17, - -8, 11, 32, -10, 17, 99, 32, 19, - -36, -11, -7, 50, 5, 12, -56, 40, - -25, -11, -12, -16, 29, -10, 13, -7, - -78, -74, -18, -36, -7, -13, -27, 3, - ], - [ - 12, -7, 42, 33, -26, -62, 16, 12, - -22, -6, 10, 22, 37, -25, 29, 25, - -14, -11, -35, -3, -9, 56, -19, 35, - -8, 51, -18, -43, 7, 59, -30, 30, - -1, -38, 5, -56, -25, 46, 54, 48, - 12, -10, -31, -6, 54, 24, 40, 31, - -17, 13, -1, -58, 33, 30, -26, -15, - -14, -54, -73, -37, -36, -22, -15, 8, - ], - [ - 6, 18, -3, -6, 63, -27, 15, 12, - 16, -13, 3, 44, 5, 3, -12, -19, - -20, -2, -15, 0, 46, 72, 17, 31, - -30, 10, 24, 18, 73, 15, 40, 33, - 0, -0, -52, -30, 71, 23, 90, 12, - -47, -16, -7, -22, -25, -14, -41, 8, - -25, -17, -25, -81, 47, 25, 2, -15, - -28, -89, -23, -32, -9, -31, -65, 0, + -112, -63, -67, -53, -56, -43, -44, -149, + 27, 18, 8, 36, 57, -21, 18, -43, + 7, 21, 68, 34, 36, 29, 27, 23, + 13, 46, 50, 37, 31, 12, -7, -12, + 17, 45, 38, 38, 14, 21, 10, -17, + 29, 7, 23, 14, 14, -5, -12, -29, + 24, 40, 20, 22, -1, -26, 3, -64, + 13, -1, -3, -2, -22, -16, -55, -65, + ], + [ + -95, -33, 32, 42, -117, -46, -140, -105, + 26, -13, 22, 51, 13, -22, -34, -4, + 24, 22, 40, 44, 8, 20, 3, -2, + 16, 29, 31, 33, 30, 14, 19, 1, + 30, 47, 22, 32, 10, 17, -6, 3, + -6, 14, 16, 12, 7, -7, -2, -16, + -11, 21, 4, -0, 2, -8, -11, -40, + -1, -62, 27, 18, 12, -1, -6, -29, + ], + [ + -67, -36, -68, 35, 18, -46, -95, 5, + -16, 7, 15, 20, 15, 11, -41, -3, + 4, 24, 8, 25, 17, 11, -23, -20, + 11, 24, 26, 30, 21, 16, 14, 14, + 23, 29, 22, 20, 6, 8, -3, 14, + -9, 5, 22, 2, 5, -6, 0, -26, + 4, -1, 15, 8, -6, -12, -1, -22, + -1, 11, -53, 18, 3, -5, -3, -20, + ], + [ + -116, -147, -111, -92, -17, -104, -69, -18, + 20, -18, 14, 25, 40, 1, -15, -34, + 36, 18, 43, 19, 31, -2, 36, -16, + 25, 14, 30, 32, 43, 16, 18, 3, + 16, 39, 21, 35, 21, 31, 10, 16, + -15, 15, 10, 22, 6, 13, 17, 1, + -10, -4, 11, 21, 5, -11, 21, -8, + 5, -2, 27, -45, 26, 10, 10, -17, + ], + [ + -69, -109, -82, -82, -10, -83, -89, -42, + -18, -27, 2, -27, 10, 13, -5, -12, + -19, 7, 16, 9, 14, 20, -27, -4, + 21, 14, 21, 23, 23, 28, 19, 13, + 16, 28, 28, 31, 22, 29, 14, 22, + 7, 14, 16, 20, 19, 18, 22, 5, + -7, 3, 7, 17, 21, 19, 8, -4, + 8, 23, 24, 21, -41, 11, 19, 14, + ], + [ + -111, -166, -24, -15, -57, -75, -29, -59, + -26, -18, -1, 18, -2, -1, 2, -40, + 10, -7, 1, 8, 20, 24, 37, -5, + -6, 6, 18, 33, 36, 34, 35, 24, + -14, 7, 17, 33, 27, 36, 35, 42, + -16, 0, 12, 24, 14, 28, 24, 16, + 7, -14, 3, 8, 13, 31, 21, -15, + -9, -18, 2, 15, 29, -44, 29, -6, + ], + [ + -84, -65, -36, -27, 10, 15, -58, -34, + 8, -18, 5, 7, 20, 16, 4, -12, + -0, 7, 13, 16, 21, 25, -7, -11, + 11, 8, 14, 20, 20, 21, 19, 13, + 6, 12, 17, 17, 11, 17, 19, 14, + -8, -2, -1, 7, 3, 6, 13, -4, + -17, -11, -6, 5, 1, -6, 14, 3, + -13, -1, -2, 9, 6, 19, -57, -9, + ], + [ + -75, -27, -122, 7, -67, 51, -73, 1, + 7, -19, 25, -25, 40, 43, 7, 23, + -24, -6, 21, 6, 34, 51, 3, 30, + -11, -6, 9, 30, 36, 29, 40, 12, + -8, 16, 16, 27, 12, 23, 41, 33, + -24, -12, -7, 7, 11, 8, 15, 12, + -36, -17, -22, -4, -1, -11, 9, 19, + -68, -33, -25, -13, -0, 4, 35, -58, + ], + [ + -101, 24, 47, 66, -94, -109, -81, -98, + 4, -34, 68, 38, -53, 16, 3, -27, + -26, 40, 74, 25, -4, 17, 4, 19, + 21, 24, 43, 44, 32, 26, 13, -1, + -8, 39, 11, 25, 17, 8, 12, -20, + 15, 27, 7, 7, 2, 1, -6, -8, + -23, 23, 30, 9, -10, -15, -28, -69, + 8, 10, 10, -7, -5, -11, -38, -31, + ], + [ + -98, -19, -97, 29, -9, -59, -67, -90, + 25, -20, -100, 45, 11, 17, -27, -21, + 3, 16, 43, 40, 6, -30, 41, 5, + 23, 47, 51, 49, 29, 16, -8, 15, + 16, 47, 23, 22, 28, 21, -2, -17, + -20, 17, 38, 10, 6, 4, 11, -8, + -18, -6, 50, 27, -8, 1, -34, -43, + -1, -3, 18, 8, 4, 1, -14, -43, + ], + [ + -75, -62, -38, -89, -57, -61, -70, -72, + -68, -18, 13, -16, 12, 2, -35, -48, + -4, 31, 37, 21, 14, -2, 29, -38, + 36, 11, 24, 49, 32, 17, 7, 0, + 24, 53, 28, 40, 19, 43, 19, 5, + -1, 16, 23, 38, 21, 7, -2, -6, + 25, 11, 14, 41, 13, -3, -14, -6, + -4, 4, 35, 29, -0, -24, -1, -31, + ], + [ + -53, -48, -56, -54, -123, -63, -94, -120, + -30, -39, -32, -26, -40, 1, -30, -3, + 9, 32, 25, 38, 25, 54, 12, -1, + 0, 22, 42, 44, 37, 33, 22, 9, + -9, 32, 25, 40, 25, 26, 17, 24, + -21, -0, 16, 33, 36, 15, 16, 2, + 31, 2, -13, 28, 51, 18, 11, -10, + -13, 3, -11, 10, 35, 8, 15, -36, + ], + [ + -35, -87, -162, -127, -43, -73, -36, -89, + -36, -36, -20, 17, 32, -38, -8, -29, + -17, 5, 38, 12, 26, 31, 17, 50, + -5, -2, 11, 39, 47, 43, 34, 21, + 23, 26, 40, 31, 25, 30, 48, 34, + -18, 3, 7, 14, 18, 46, 25, -16, + -20, -7, 7, 7, 25, 52, 16, 6, + -16, -26, -2, -5, 12, 17, 23, -7, + ], + [ + -123, -49, -62, 8, 24, 31, -12, -72, + -57, -56, 6, 46, 7, 22, -7, -31, + -30, -10, 17, 8, 28, 41, 32, 33, + -18, 3, 15, 32, 43, 40, 31, 35, + -15, 2, 14, 41, 26, 27, 19, 29, + -22, -13, 2, 17, 9, 14, 37, 16, + -56, -29, -31, 2, 5, 36, 31, -3, + -63, -27, -15, -9, -17, 2, 32, -34, + ], + [ + -206, -58, -56, 3, -10, -3, -23, 45, + -39, -38, -13, 67, 27, 69, -26, 54, + -21, -40, 0, 7, 22, 18, 45, 13, + -34, 4, 19, 35, 29, 38, 42, 31, + -14, 8, 13, 17, 35, 15, 33, 19, + -40, -17, -6, 15, 13, 4, 23, 28, + -79, -30, -18, -6, 7, 11, 16, 45, + -47, -32, -23, -2, -16, 13, 9, 6, + ], + [ + -5, 14, -64, 15, -13, -15, -6, -36, + 3, -33, 16, 34, 30, 3, 3, -19, + 51, 5, 71, 76, 4, -69, 10, -24, + 28, -14, 48, 70, 22, -58, 9, 30, + 37, 57, 37, 10, 18, -33, -13, 38, + -32, 42, 44, 27, 25, 6, -4, -61, + 40, 19, -21, -3, -18, -40, -70, -67, + 17, 0, -72, 14, 20, -26, -96, -79, + ], + [ + 49, 7, -35, -13, 5, 19, 6, -6, + 18, 20, 34, -35, 17, 16, 5, 13, + -13, -71, 10, -9, 45, -6, -5, 5, + 38, -62, 54, 9, -59, 6, 0, 3, + -8, -5, 38, 21, 56, 21, -3, -17, + 31, 59, -42, 16, -12, -11, -26, 1, + 37, -9, -22, -100, -12, 0, 6, 38, + 9, 28, -27, -27, 2, -20, -28, -58, + ], + [ + -5, 15, -32, 9, -2, 1, 5, 20, + -10, -1, -3, -60, -36, 20, 43, -5, + -47, -25, -53, 19, 46, -4, 61, -17, + 40, 49, 67, 54, 65, 28, 70, 8, + 27, -12, 17, 30, 59, -17, -34, -14, + 20, -10, -2, -17, -7, -4, -22, 1, + -17, -46, 4, -29, -82, -2, -3, 7, + -25, -15, -19, 9, 22, -24, -76, -37, + ], + [ + 5, 0, -9, 32, -31, 10, 4, 27, + 7, 21, -36, -20, -41, -18, 16, 20, + -2, -58, -2, 12, 52, 52, 21, 11, + 47, 5, 22, -38, -23, 11, 11, -13, + 25, 9, -2, -3, 73, -29, 14, 19, + 14, -24, 14, 17, -26, -2, -39, -8, + -21, -12, -14, -47, -21, -13, -7, -3, + 7, -1, -3, -7, 39, -36, -4, -3, + ], + [ + -2, 8, -17, 15, 22, 8, 23, 34, + 15, -2, 27, -39, -12, -9, -12, 27, + -4, -25, -14, -11, 50, 10, -67, -8, + -58, 30, -10, -27, -33, 15, 36, -2, + 2, 22, -35, 38, 40, 38, 12, -12, + 10, -50, 27, -25, 3, -20, 97, 19, + -19, 14, 22, -51, 22, 17, -10, 16, + -15, -80, -23, 22, -47, -9, -13, 19, + ], + [ + -12, -14, -0, -19, 24, -25, 9, -2, + -8, -22, 39, 4, 11, 8, 18, -28, + 11, 6, 21, -22, 53, -8, -32, -21, + 14, 7, 44, -31, -6, 16, 15, 18, + -9, 4, 26, -10, 23, 105, 33, 15, + -37, -18, 0, 47, 4, 21, -44, 41, + -25, -7, -15, -9, 29, -11, 24, -8, + -75, -69, -22, -39, -8, -14, -25, 3, + ], + [ + 14, -8, 41, 32, -24, -68, 17, 12, + -19, -3, 6, 18, 37, -23, 27, 26, + -12, -11, -32, -2, -19, 63, -36, 32, + -7, 41, -18, -45, 2, 52, -27, 33, + -2, -35, -11, -51, -14, 45, 61, 53, + 20, -7, -28, -2, 55, 22, 43, 28, + -12, 13, -4, -63, 38, 30, -23, -12, + -13, -55, -72, -35, -35, -23, -15, 9, + ], + [ + 24, 19, -4, -6, 58, -31, 15, 13, + 16, -8, -10, 33, 6, 3, -11, -19, + -26, 12, -14, 5, 46, 70, 20, 38, + -29, 12, 22, 13, 74, 22, 28, 30, + -0, -1, -57, -19, 70, 15, 83, 7, + -46, -18, -17, -20, -26, -18, -41, 5, + -25, -16, -24, -76, 48, 23, 11, -23, + -31, -82, -23, -32, -9, -31, -50, 0, ], ]; internal static readonly short[][] EndGameKnightTable = [ [ - -0, -51, 18, 7, 23, -31, -61, -69, - 10, -38, 24, -19, -16, 3, -7, 32, - 9, 6, -16, 11, -11, -10, -53, -9, - 7, -13, -2, 10, 15, 4, 7, 15, - 27, -24, 15, 22, 11, 16, -4, 24, - 2, 8, 1, 18, 5, 20, -5, 16, - 27, -13, -8, -13, -11, 8, -30, 4, - 0, 29, 11, -3, 37, 8, 13, -8, - ], - [ - -84, -6, -46, -33, 45, 14, -38, 15, - -2, -17, -24, -48, -24, 3, 20, -38, - -19, -5, -18, -12, 22, -12, 31, 18, - 4, 10, -2, 17, 26, 12, -0, -3, - 5, -9, 18, 29, 16, 25, 12, 9, - -1, -1, -7, 20, 26, 5, 3, -13, - 46, -10, 2, 25, 5, 11, -3, 35, - -6, -48, -0, 14, 4, -16, 3, -4, - ], - [ - -57, -11, 24, -50, -14, -23, -26, -98, - -2, 0, -17, -30, -7, 4, 9, -22, - -29, -12, -2, 8, 8, 19, 25, 1, - 6, 11, 10, 14, 26, 13, -7, -10, - 12, 8, 30, 23, 34, 20, 16, -5, - 20, -7, -6, 20, 13, 13, 1, 27, - -18, 13, 19, 11, 12, 7, -10, -11, - 8, 3, -77, 17, 6, 17, 22, 5, - ], - [ - -50, 18, -9, -28, -17, -45, 5, -94, - -4, -0, -3, -12, -32, 24, -36, -7, - -15, -6, -8, -26, 6, 11, -10, -19, - 4, 5, 4, -1, 10, 6, 23, 6, - 7, -3, 9, 6, 10, 12, 35, 0, - 9, 7, 4, 9, 24, 13, -13, 6, - -5, 16, 8, 23, 12, 20, 12, 2, - 20, 18, 11, -44, 12, 17, 29, 17, - ], - [ - -47, -43, -28, 33, -56, -28, 45, -126, - -1, 3, 5, 14, -31, -14, -5, -37, - 1, 10, -2, 14, -14, 3, 28, -13, - 5, 16, 7, 29, 8, 8, 4, 4, - 30, 5, 25, 13, 20, 23, 13, -8, - 2, -1, 19, 12, 18, -3, 10, 10, - -18, 24, 7, 10, 26, 3, -19, -3, - -12, -4, 9, 31, -73, 29, 21, -16, - ], - [ - -29, 56, -42, -13, -18, 1, -6, -34, - -9, -17, 5, -17, 11, -23, -22, 5, - 3, 18, 19, 6, 6, -4, -10, 11, - 17, 6, 16, 9, 8, 4, -5, -1, - 3, 24, 12, 9, 4, 1, 5, -8, - 6, 1, 3, 14, 17, -9, -7, -11, - -17, 19, 7, 5, 7, 7, 1, -36, - -16, 4, 8, 14, 17, -55, 10, 9, - ], - [ - -23, 7, -3, -7, -24, -35, -9, -113, - -11, 14, 7, 1, -12, -6, -19, -11, - 8, 3, 14, 4, 5, -9, -11, 3, - 15, 15, 21, 34, 20, 17, 10, 11, - 5, 8, 24, 18, 26, 17, 22, 12, - -2, 5, 8, 21, 16, -0, 1, -12, - -3, -2, 6, 9, 5, -0, 8, 11, - -15, -6, -4, 9, 10, 13, -121, -6, - ], - [ - -19, -7, 20, 4, 15, -76, 2, -34, - -20, -5, -29, 18, -37, -7, -4, 1, - 20, -6, 6, -6, -0, -31, 10, -49, - 11, 7, 11, 16, 12, 12, 17, 1, - -5, -6, 9, 23, 25, 15, -7, 9, - -8, -17, 11, 19, 25, 18, 7, 4, - -11, -15, 2, 28, 14, 30, -20, 10, - 6, -14, -22, 13, 3, 4, 21, -23, - ], - [ - -11, 14, -46, -0, 4, 20, 4, -37, - -2, 18, -27, -9, 9, -18, -2, -19, - 20, -14, -16, -3, 19, -12, -18, -12, - -2, 17, 12, 9, 5, 5, -5, -13, - 18, -7, 26, 20, 17, 1, -1, 19, - 8, -3, 4, 13, 5, 2, -3, -22, - 13, 9, -9, 9, 1, -7, 11, 32, - -5, -2, 1, -9, 5, -18, 12, -25, - ], - [ - -30, -8, -24, -28, 13, 16, -5, 12, - -5, 2, 27, -6, 12, -17, 15, -2, - 10, -0, 2, -5, 15, 9, -29, -14, - 13, -10, 6, 11, 14, 7, 7, -8, - 8, 8, 14, 20, 11, 8, 5, -0, - -22, 8, -2, 16, 6, -1, -14, -13, - -16, 19, -9, -1, 8, -8, 11, -12, - -57, 3, 8, 6, -12, -15, 20, 2, - ], - [ - -23, -14, 5, -9, 4, -2, 11, 6, - 1, 11, -4, 15, -6, 5, 18, 15, - -2, -2, 12, 2, 9, -7, -11, 2, - -7, 11, 11, 9, 7, 14, -0, 2, - -1, -7, 11, 8, 8, -4, 8, 3, - -14, -6, -7, 2, 2, -7, -5, 4, - -13, -7, 3, 2, 1, -2, 3, -27, - -7, -32, -20, -9, 0, -16, 22, 22, - ], - [ - -35, -4, 6, 36, 38, 0, -22, -13, - 20, 5, 15, 24, 11, 7, 15, -17, - -10, -5, 4, -1, 7, -8, -12, 1, - 9, 1, 1, 3, 10, -1, 4, 7, - 12, -3, 10, 6, 14, 6, 1, 2, - -1, -7, -8, -2, 3, -4, -6, -4, - -47, 1, -6, -1, -5, 2, -19, -22, - -23, -15, -6, 12, 0, 4, -12, 22, - ], - [ - -36, -11, 29, 30, 5, 3, -44, 8, - -12, 10, 10, 14, -2, 20, 4, 5, - 12, -6, 0, 5, 7, -4, -3, -20, - 6, 8, 14, 10, 9, 4, -4, 12, - -8, 0, 7, 13, 13, 8, 2, -5, - -5, -7, -1, 3, 8, -6, 2, -1, - -15, -13, -10, 3, -3, -5, 5, -9, - -12, -8, -15, -1, -3, 1, -8, -16, - ], - [ - -29, 10, 6, -7, -16, -13, -23, -26, - 14, 18, -3, -7, 5, -13, 8, -1, - -9, -6, 2, 10, 4, -10, -12, -15, - 3, 1, 7, 8, 15, 6, 11, -1, - -3, 6, 9, 5, 14, 12, 12, 5, - -24, -3, -1, 7, 6, -1, 3, 10, - 1, -9, 14, -0, 0, -22, 44, 6, - 9, -23, -9, -1, -3, 3, -7, 5, - ], - [ - 22, 10, -26, -1, -2, 3, 3, -62, - -5, -4, 0, -21, 14, -23, 3, -9, - -12, 10, -1, 17, 13, 6, -5, -6, - -4, -0, 14, 11, 20, 19, 17, 24, - -20, -7, 14, 14, 14, 31, 3, 19, - -9, -12, 4, 2, 5, 6, -4, 15, - 17, 0, -8, -3, -2, -15, 3, -12, - -4, -19, -6, -20, 2, -13, -9, -15, - ], - [ - -30, -20, -44, -16, -51, -3, -9, 16, - 9, 12, 16, -10, -8, 11, -32, -28, - -1, 0, 19, -16, 15, 24, -9, -1, - 9, 30, 19, 5, 20, 37, -18, 2, - 37, 7, 8, 39, 16, 21, 0, 13, - -4, 2, 5, 12, -2, 7, -14, -8, - 32, 12, -8, 21, 2, 6, -30, -49, - -23, -5, -13, -4, -7, -15, 29, -33, - ], - [ - 68, 22, -11, -8, 39, -46, -14, -33, - 14, 23, -14, -44, 2, -7, 21, -18, - 44, -5, -9, -9, -14, 9, -21, -34, - -9, 38, 7, 27, 25, 12, 6, -3, - 6, 22, 21, -5, 31, 3, -31, -30, - -18, -20, 23, 5, 1, 0, -1, -8, - -19, -19, -16, 19, -3, -23, 26, 4, - -42, 28, 2, 1, 11, 32, -4, -49, - ], - [ - -44, 5, 94, -17, -6, -42, -50, -4, - 32, 5, 34, -0, 20, 12, 46, -4, - -7, 20, 18, -3, -24, -9, -9, -26, - -25, 15, -11, -4, -3, 16, -3, -18, - -1, 22, 10, 19, 14, 13, 10, -18, - -13, 16, 2, 1, 8, 0, -3, -25, - -2, -38, -19, 20, 1, -27, 6, -10, - 27, 62, 46, 6, -27, -37, -23, -49, - ], - [ - 40, 18, 39, 47, 25, 23, 12, 52, - -10, 4, 28, 0, 33, -16, -13, 26, - -17, -2, 13, 0, -9, -13, -18, 18, - 6, 3, 6, -30, 8, 1, -23, -5, - -14, -19, 7, 4, 3, 5, -4, -22, - -28, -19, -3, -0, -10, 7, 8, -31, - -21, -11, -30, -7, 1, -9, -16, -1, - -63, 10, 17, -5, 11, -0, -10, 3, - ], - [ - -1, 35, 16, 40, -4, 99, 41, 45, - 25, 12, -2, 39, 4, 15, -40, 12, - 21, 4, -19, 9, 12, 18, -6, -9, - -16, -31, 8, 7, -36, 8, 4, 6, - -2, 4, 3, 11, 10, 7, -8, -24, - -37, -30, -13, 10, 5, 5, -41, -6, - -35, 22, -19, -18, -0, -9, -35, 1, - 4, -17, -38, -6, -16, -31, 7, -20, - ], - [ - -40, -21, 6, 25, 55, 59, 26, 74, - -19, -13, 1, -10, -27, 34, 35, -4, - -27, -20, -30, 21, -23, 10, 42, 36, - 22, -5, -10, 14, 15, -22, 4, 7, - -7, 5, -7, 9, -2, -21, 12, 6, - -20, -24, -13, -19, -9, 13, -3, 26, - -46, -13, -11, 1, -6, -43, -17, 18, - -7, -19, 9, 1, 27, -33, -26, 6, - ], - [ - 33, -39, 3, 10, 0, -78, 40, -1, - -29, -40, 26, -20, -47, 19, 18, 17, - 5, -29, 19, -1, -2, 15, -1, 24, - -27, -12, 4, 33, 33, 5, -21, 40, - -17, 3, 21, 29, 29, 12, -6, 12, - -7, -11, 1, 14, 8, -12, -33, -5, - -18, 1, -15, -1, 4, -12, -0, -3, - -4, -36, -31, -4, 6, -0, 5, 73, - ], - [ - -1, -21, -45, -3, 51, -70, -34, 65, - -35, 10, 5, 12, 46, -13, -18, 3, - 1, -9, 13, 13, -10, 2, 13, 41, - 1, -16, -10, 18, 15, 25, 34, 26, - 13, 1, 3, 50, 33, 20, -11, 28, - -44, -28, -7, -3, 3, 27, 0, 5, - -8, -2, 2, -41, -3, -30, -22, -1, - -5, 18, 27, -2, -19, -23, -44, -44, + 3, -60, 16, 9, 22, -30, -63, -62, + 6, -39, 22, -15, -17, 1, -7, 29, + 6, 6, -15, 14, -13, -13, -51, -5, + 9, -13, -0, 10, 14, 4, 11, 15, + 26, -24, 15, 21, 14, 14, -0, 26, + 6, 7, 3, 20, 5, 20, -6, 15, + 24, -12, -8, -10, -11, 8, -32, -2, + 0, 30, 13, -3, 37, 8, 8, -7, + ], + [ + -83, -9, -45, -35, 46, 15, -43, 26, + -5, -14, -25, -50, -24, -1, 21, -32, + -21, -6, -18, -13, 21, -10, 27, 16, + 6, 11, -2, 17, 27, 11, 0, -2, + 2, -11, 20, 29, 16, 25, 10, 12, + -2, -1, -6, 20, 25, 6, 4, -13, + 44, -9, 2, 24, 5, 11, -1, 34, + -5, -48, -0, 13, 6, -15, 3, -3, + ], + [ + -60, -10, 26, -48, -17, -27, -20, -98, + -0, -3, -16, -31, -7, 1, 6, -19, + -29, -9, -2, 7, 10, 17, 24, 1, + 8, 10, 9, 15, 26, 12, -8, -9, + 11, 10, 30, 23, 32, 20, 17, -4, + 22, -7, -6, 19, 12, 14, 1, 27, + -19, 12, 19, 12, 12, 8, -11, -13, + 8, 2, -77, 18, 7, 18, 20, 5, + ], + [ + -53, 17, -15, -29, -24, -46, 17, -91, + -2, 4, -0, -12, -32, 23, -35, -9, + -15, -8, -8, -22, 5, 14, -12, -22, + 4, 7, 4, -2, 12, 5, 20, 7, + 4, -1, 9, 7, 12, 11, 36, -4, + 8, 7, 7, 9, 25, 13, -13, 5, + -9, 14, 7, 22, 13, 21, 12, 2, + 20, 18, 11, -44, 13, 17, 30, 17, + ], + [ + -42, -42, -35, 30, -59, -25, 49, -133, + 3, 1, 4, 21, -31, -11, -6, -40, + 3, 10, -4, 9, -13, 2, 27, -14, + 3, 15, 8, 30, 10, 8, 5, 2, + 32, 5, 24, 12, 19, 21, 13, -6, + 0, 2, 19, 10, 18, -3, 11, 11, + -12, 23, 6, 11, 26, 4, -18, -4, + -12, 2, 11, 31, -75, 29, 22, -14, + ], + [ + -25, 60, -42, -12, -16, 1, -6, -37, + -9, -19, 5, -16, 13, -22, -23, 4, + 1, 16, 17, 5, 4, -7, -11, 9, + 17, 7, 16, 9, 9, 6, -5, -0, + 5, 25, 13, 9, 6, 2, 4, -7, + 3, 1, 3, 14, 17, -9, -5, -11, + -17, 19, 7, 4, 7, 6, 3, -33, + -15, 4, 5, 13, 15, -56, 10, 9, + ], + [ + -26, 4, -1, -3, -26, -34, -8, -105, + -11, 15, 5, -2, -14, -6, -19, -9, + 8, 4, 14, 3, 4, -9, -10, 4, + 15, 15, 22, 33, 19, 18, 9, 12, + 6, 7, 23, 18, 26, 18, 22, 12, + -3, 4, 7, 21, 16, -0, 1, -12, + -3, -1, 7, 9, 6, 0, 9, 11, + -17, -8, -5, 10, 9, 13, -121, -7, + ], + [ + -25, -10, 20, 6, 12, -77, 2, -30, + -18, -4, -27, 18, -36, -8, -6, -0, + 20, -7, 6, -5, -1, -26, 11, -47, + 12, 10, 10, 16, 11, 12, 17, 1, + -6, -4, 10, 23, 24, 14, -8, 11, + -7, -17, 10, 17, 24, 18, 7, 5, + -10, -17, 3, 28, 14, 30, -18, 10, + 4, -17, -21, 11, 1, 3, 21, -23, + ], + [ + -13, 18, -48, 2, 6, 20, 6, -40, + -1, 15, -26, -8, 10, -19, -1, -22, + 18, -11, -14, -2, 17, -12, -19, -13, + -3, 18, 13, 11, 6, 5, -6, -12, + 21, -5, 25, 20, 18, 1, -0, 19, + 9, -3, 6, 13, 5, 1, -5, -27, + 8, 8, -10, 8, 2, -10, 10, 36, + -7, -3, 1, -10, 4, -20, 13, -25, + ], + [ + -36, -14, -21, -26, 11, 14, -5, 10, + -4, 4, 28, -6, 8, -16, 16, -3, + 12, 1, 1, -7, 15, 10, -29, -16, + 13, -9, 5, 13, 13, 7, 8, -7, + 9, 9, 14, 20, 11, 9, 5, 1, + -19, 6, -0, 16, 6, -0, -14, -14, + -13, 18, -10, -2, 8, -8, 12, -8, + -59, 3, 6, 6, -12, -14, 20, 2, + ], + [ + -25, -13, 7, -7, 3, 3, 10, 2, + 1, 9, -5, 14, -2, 4, 18, 13, + -3, -3, 11, 4, 8, -7, -12, 1, + -4, 10, 11, 10, 8, 13, -2, 2, + -1, -7, 12, 9, 8, -3, 8, 3, + -13, -5, -7, 2, 2, -7, -4, 2, + -8, -8, 3, 2, 1, -4, 4, -26, + -7, -34, -19, -8, -0, -16, 21, 23, + ], + [ + -35, -3, 7, 34, 39, -2, -22, -19, + 19, 6, 15, 22, 10, 6, 14, -18, + -9, -5, 3, -1, 8, -8, -12, 2, + 10, 3, 1, 3, 11, -1, 3, 8, + 11, -2, 10, 7, 13, 7, 1, 3, + -0, -7, -7, -2, 4, -5, -6, -2, + -46, 2, -6, -0, -6, 1, -19, -21, + -23, -16, -6, 12, 0, 3, -11, 23, + ], + [ + -37, -15, 31, 28, 6, 3, -43, 6, + -11, 12, 8, 13, -3, 19, 2, 4, + 11, -6, 1, 6, 8, -3, -3, -17, + 6, 8, 14, 11, 9, 4, -4, 10, + -7, 1, 7, 13, 14, 8, 1, -6, + -7, -6, -1, 4, 8, -5, 2, -0, + -15, -12, -11, 3, -3, -4, 5, -8, + -12, -7, -14, -0, -2, 1, -5, -20, + ], + [ + -28, 15, 7, -11, -14, -14, -24, -22, + 14, 17, -5, -5, 4, -12, 7, -1, + -9, -7, 2, 8, 3, -11, -10, -13, + 2, 0, 7, 8, 15, 6, 11, -1, + -3, 6, 8, 5, 14, 11, 14, 4, + -22, -4, -1, 7, 6, -1, 2, 9, + -0, -7, 13, -0, 1, -22, 42, 8, + 9, -24, -9, -2, -2, 3, -8, 5, + ], + [ + 24, 2, -27, 1, -3, -3, 3, -64, + -4, -4, 2, -23, 14, -23, 7, -8, + -8, 10, 2, 17, 12, 7, -4, -4, + -3, 0, 15, 12, 21, 20, 19, 24, + -21, -8, 13, 13, 13, 32, 2, 19, + -9, -10, 4, 3, 5, 7, -1, 16, + 18, -1, -6, -4, -2, -14, 3, -16, + -5, -22, -6, -20, 0, -12, -11, -15, + ], + [ + -29, -20, -44, -15, -49, -5, -9, 18, + 16, 12, 16, -12, -9, 10, -36, -33, + 3, 4, 16, -14, 15, 22, -9, -1, + 6, 33, 18, 3, 19, 38, -19, 5, + 37, 4, 8, 38, 14, 21, 4, 12, + -5, 2, 7, 13, -3, 6, -16, -5, + 31, 12, -8, 22, 2, 4, -32, -42, + -23, -11, -11, 1, -7, -16, 23, -33, + ], + [ + 65, 24, 38, -12, 36, -48, -10, -29, + 21, 22, -19, -44, 11, -11, 18, -18, + 44, -3, -8, -6, -14, 6, -26, -36, + -10, 30, 4, 25, 26, 11, 5, -4, + 5, 21, 15, -5, 29, 3, -30, -30, + -29, -20, 21, 2, 3, -6, -3, -13, + -20, -18, -18, 17, -5, -25, 23, 7, + -40, 27, 2, 2, 13, 33, -4, -48, + ], + [ + -39, 5, 103, -18, -5, -40, -48, -2, + 28, 5, 38, -1, 16, 9, 47, -4, + -11, 19, 17, -2, -27, -11, -9, -25, + -23, 16, -12, -5, -4, 15, -4, -18, + -5, 21, 11, 19, 12, 13, 9, -17, + -13, 18, -1, -0, 6, 1, -3, -25, + -3, -40, -19, 19, 2, -25, 7, -17, + 32, 60, 48, 6, -24, -37, -21, -43, + ], + [ + 39, 20, 24, 44, 26, 24, 11, 52, + -9, 5, 28, 2, 35, -14, -14, 27, + -15, 1, 12, 3, -7, -14, -17, 17, + 8, -1, 6, -33, 8, 2, -23, -4, + -14, -21, 9, 3, 5, 5, -6, -23, + -27, -18, -1, -1, -11, 9, 7, -27, + -19, -16, -28, -8, 2, -8, -15, 0, + -60, 13, 15, -4, 8, 2, -12, -2, + ], + [ + 1, 30, 16, 36, 2, 99, 41, 45, + 25, 10, -5, 38, 5, 15, -35, 12, + 20, 2, -20, 7, 12, 18, -3, -7, + -15, -31, 7, 6, -34, 8, 3, 4, + -4, 5, 5, 13, 13, 7, -11, -21, + -35, -30, -12, 8, 6, 5, -40, -7, + -39, 20, -18, -18, 3, -9, -38, 4, + 4, -11, -35, -12, -18, -30, 4, -20, + ], + [ + -37, -18, 2, 26, 54, 57, 27, 73, + -19, -14, -3, -7, -29, 32, 35, 4, + -29, -19, -28, 20, -19, 8, 42, 34, + 22, -5, -11, 13, 11, -22, 5, 5, + -7, 1, -6, 10, -3, -22, 11, 2, + -19, -27, -12, -18, -6, 10, -6, 25, + -43, -11, -8, 0, -4, -43, -19, 15, + -9, -19, 7, 0, 27, -24, -18, 6, + ], + [ + 35, -34, -3, 9, -1, -30, 39, -2, + -32, -37, 23, -18, -49, 18, 12, 20, + 7, -28, 19, -6, -1, 14, 1, 23, + -29, -12, 4, 31, 33, 7, -19, 39, + -14, 2, 22, 25, 26, 12, -7, 11, + -5, -14, 0, 13, 5, -10, -32, -6, + -14, -4, -17, -0, 3, -12, 2, -6, + -7, -34, -31, -5, 6, -13, -0, 73, + ], + [ + 19, -10, -50, 3, 45, -72, -32, 64, + -35, 13, -1, 6, 46, -11, -19, 12, + -0, -10, 13, 14, -6, 2, 9, 38, + 1, -19, -12, 15, 12, 21, 34, 24, + 15, -0, 4, 44, 32, 20, -14, 24, + -44, -28, -15, -4, 4, 26, -9, 0, + -7, -4, 2, -41, -3, -28, -22, -10, + 3, 18, 24, 7, -19, -21, -27, -44, ], ]; internal static readonly short[][] MiddleGameBishopTable = [ [ - -4, -23, -26, -84, -4, -50, 7, -34, - 37, -20, 13, 31, -49, 38, 10, -38, - -19, 1, 19, -1, 20, 28, -31, -9, - 4, 14, 11, -19, 32, 7, -12, -9, - 21, 13, 4, 11, 0, -6, -12, -30, - 62, 18, 15, 22, -3, -24, -1, 3, - 28, 60, 10, 5, -14, -6, -23, -12, - 16, 9, 9, 13, 9, -4, -4, -27, - ], - [ - -18, -128, -9, -8, 44, -8, -97, -64, - -9, -30, 17, -4, 18, -12, -33, -29, - 6, -12, 26, 5, 16, -15, -7, -5, - 36, 10, 1, 16, 2, 4, -1, -3, - 17, 18, 15, 4, -1, 1, 8, 0, - 41, 24, 10, 6, 4, -10, -2, 8, - 4, 52, 19, 12, 1, 5, -10, -13, - 10, -27, 35, 24, 11, 15, 2, 5, - ], - [ - -5, -33, -16, -22, -49, -74, 23, -81, - -15, -22, 6, 3, 9, -11, -9, -27, - 2, 2, 8, 14, 10, -7, -5, -1, - 31, 7, 0, 3, 9, -15, 5, -6, - 20, 31, 5, 16, -7, 2, 2, 12, - 13, 20, 10, 6, 3, -10, 2, 5, - 9, 48, 16, 5, -1, 10, -15, 2, - 16, 12, -15, 12, 15, 13, 1, 8, - ], - [ - -30, -39, -8, -95, -11, -142, -27, -25, - 15, -24, -26, -79, -15, -34, -19, -12, - -1, 28, -8, 22, 3, -11, 7, 13, - -4, 9, 31, 12, 11, 9, 10, 1, - 8, 3, 20, 3, 12, 15, 8, 12, - 24, 2, 8, 19, 24, 6, 11, 10, - 29, 28, -1, 22, 8, 16, 10, 26, - 23, 16, 10, -3, 20, 23, 3, 24, - ], - [ - -15, -47, -47, -79, -122, -97, -22, 11, - -6, -17, 17, -59, -36, -32, -31, 9, - 10, -6, -26, 4, -20, -8, 0, 12, - 0, 7, 7, -1, 3, 5, 18, -1, - 17, -5, 11, 14, 13, 21, 1, 44, - 16, 2, -1, 14, 19, 14, 26, 19, - 14, 29, 15, 11, 26, 34, 34, 15, - 31, 33, 23, 23, -7, 19, 7, 37, - ], - [ - -31, 3, -66, -48, -112, -72, 35, -31, - -23, -4, -25, 20, -19, -32, -14, 21, - 5, -10, 13, 36, 2, -1, 40, 6, - 10, -12, -15, 11, 7, 19, 2, 28, - 6, -17, 1, -5, 30, 11, 24, 11, - -13, 0, -8, 7, 2, 23, 32, 10, - -5, -3, 7, -1, 8, 19, 22, 5, - 3, 22, 7, 25, 22, -12, -0, 26, - ], - [ - -12, -9, 14, -60, -30, 9, -27, 14, - -20, -32, 18, -4, -15, -12, -27, -23, - 10, 5, -5, 8, -0, 14, -7, 1, - -4, -7, -2, 1, 1, -2, 10, -1, - -12, -1, -13, -3, -7, 13, 1, 28, - 5, -17, -15, -7, 1, -0, 27, 33, - -2, 4, -7, -2, 0, 21, 39, 20, - 1, 8, 14, 4, 15, 44, -25, 27, - ], - [ - -1, -31, -34, -101, -57, 25, -87, -41, - -5, 1, 10, -27, 7, -21, -31, 7, - 17, 10, -14, -3, -1, 38, 18, 21, - -15, -11, -7, 11, 3, 19, 19, 4, - -7, 7, -2, 6, 14, 26, 9, 16, - -4, -22, -12, -1, 2, 10, 28, 36, - -7, -3, -8, -2, -3, 12, 28, 51, - -7, -3, 7, -6, 34, 38, 53, -19, - ], - [ - -108, 50, -70, -63, -48, -31, -49, -60, - 12, 1, 13, -41, 4, -18, 11, 9, - -27, 57, 59, 10, 15, -6, -32, -21, - 1, 18, 34, 15, 30, 8, -7, -24, - 18, 35, 30, 28, 7, 28, -12, -8, - 24, 41, 35, 12, 9, -9, 2, -9, - -15, 52, 38, 16, 4, 3, -36, -24, - -22, 1, -16, 5, 23, 13, -4, -5, - ], - [ - -75, -97, -20, -71, 25, -131, -55, -57, - -21, 33, -46, -41, -17, -16, -36, 28, - 18, 40, 36, 28, 21, 48, 4, 32, - 28, 41, 12, 34, 8, -7, 20, 12, - 21, 35, 20, 5, 7, 4, 1, -30, - 0, -4, 31, 28, 20, 5, -3, -0, - 8, 23, 4, 20, 21, 12, -3, -11, - -8, -24, 18, -17, -6, 25, 12, 10, - ], - [ - -9, 10, -51, -100, -44, -49, 3, -96, - 12, -1, 6, -13, 8, -12, -5, 16, - 13, 47, 16, 10, 26, -6, 2, 1, - 29, -4, 37, 11, 38, 24, 19, -22, - -13, 24, -2, 12, 8, 12, -17, -3, - -8, -7, 8, 29, 30, 0, 21, -7, - -5, -2, -2, 19, 18, 8, -16, 3, - 5, -15, -14, 3, -0, 12, -12, -5, - ], - [ - -68, -70, -14, -58, -91, -41, -33, -42, - 3, 7, 32, -6, -20, 10, -21, 26, - 32, 18, 24, 25, 35, 2, 19, 23, - -27, 13, 16, 22, 11, 12, 2, -17, - 3, -4, 20, 2, 25, -3, 15, -21, - -7, 11, -4, 29, 26, 23, 2, 9, - 15, -1, 15, 5, 40, 9, -3, -17, - 17, 13, 7, -24, 13, -25, -19, 6, - ], - [ - -45, -93, -33, 13, -68, -18, -28, 8, - 5, -10, -0, 16, 14, 24, -16, 36, - 15, -0, 17, 16, 14, 13, -2, -14, - -17, -3, 8, 14, 24, 6, 31, 8, - 3, -26, 6, 11, 12, 20, -16, 7, - -23, 4, 6, 11, 28, 20, 13, 1, - 5, 0, 6, -3, 8, -8, 5, 16, - 4, 6, 13, -6, -19, 8, -52, 2, - ], - [ - -15, -5, -50, -6, -44, -81, -1, -50, - -43, -5, -22, -28, 7, 25, -30, 12, - -20, 2, 14, 21, 20, 33, 56, 10, - -13, -1, -16, 39, 13, 35, 10, 36, - -7, -17, 1, 3, 25, 12, 26, -1, - -15, -3, -26, 13, 6, 31, 44, 13, - -7, -18, 0, -7, 10, 30, 26, 13, - -23, 2, 3, 15, -5, -1, -14, -32, - ], - [ - -7, 17, -76, -34, -20, 28, -21, -4, - 3, -5, -4, -50, 5, -15, -52, -2, - -6, -4, 1, -5, 11, 32, 16, 18, - -16, -14, -16, 15, 25, 33, 13, 17, - -36, -27, -8, 7, 11, 6, 15, 5, - -4, -17, -12, -4, 12, 2, 32, 35, - -28, -10, -23, 2, -2, 29, 46, 56, - -10, -3, 11, 3, 14, 10, -11, 15, - ], - [ - -3, 60, 62, 27, 9, -1, 69, -7, - -55, -12, -5, -25, 41, 30, 34, -31, - -52, 85, -37, 61, -26, -19, -52, -54, - 58, -13, -22, 63, 8, -16, -67, -84, - -21, 25, 49, 54, 2, -18, -76, 24, - 9, 85, 46, -18, 17, -0, -22, -25, - 73, -12, -17, 13, -10, 32, -67, -35, - 1, -78, -35, -3, 32, -48, 31, -33, - ], - [ - 1, 1, 12, 2, -9, 7, 5, 2, - 9, 35, -35, 18, 6, -4, 9, -11, - -13, -11, 27, 44, 50, -23, -11, -35, - -53, -39, 36, 107, 53, 48, 2, -24, - -42, 12, -4, 15, 46, 78, -20, 21, - 23, 70, 15, -26, -6, -18, -29, -27, - 20, -14, 32, -6, -8, -11, -26, 19, - -42, -19, -93, -30, -32, -132, 36, -4, - ], - [ - -13, 16, 8, 22, 6, -13, -17, 1, - 24, 15, -41, 25, 52, 1, -11, -55, - -16, 85, -64, 2, 57, 15, 33, 28, - -29, 1, 6, -22, 43, 69, -33, 11, - 30, -33, 93, 14, 84, 29, 30, 11, - -29, 13, 33, 25, -36, -16, 2, 16, - 19, -133, 8, -42, -23, -27, -56, 9, - -22, -10, -111, -52, -30, -30, 18, 9, - ], - [ - -14, -2, 2, 2, -15, -38, -18, -24, - -15, 0, 7, -53, -18, 44, -0, 11, - -23, 29, 12, 3, 28, 67, 33, -0, - 20, 37, -9, -9, 5, -16, 43, 26, - 8, 27, 24, 94, 12, 2, -18, -35, - -19, 4, 90, 103, 42, 29, 5, -12, - -53, -65, -15, -27, 18, -13, -51, -29, - -28, 4, -41, -19, -39, -58, -7, -52, - ], - [ - -39, 26, -19, 17, -40, 20, 12, -17, - 9, -9, 3, 20, -15, -7, 4, -8, - -33, -30, 19, 52, -51, 40, 49, 22, - -1, -8, 85, 14, -27, -20, 11, -42, - 34, 2, 11, 96, 95, -47, 34, -1, - -1, -1, 21, 80, 58, 24, -18, -20, - -14, -68, 12, -35, 14, -57, -74, -4, - -53, -9, -32, -4, -66, 14, -17, -11, - ], - [ - -6, 3, -13, -28, -55, 42, -9, -0, - -45, -18, -29, -15, -7, -36, -7, -10, - -29, 24, -2, 48, 10, -35, -6, 14, - 33, 69, 44, -5, 49, 36, 5, -6, - -29, -3, 28, 26, -12, 106, 1, 30, - 4, 47, 26, 14, 10, 67, 23, -15, - -64, 10, 26, 40, -47, -33, -59, -10, - -8, -4, -40, -61, -71, -17, 20, -22, - ], - [ - -18, -29, -6, 37, -15, 9, -31, -6, - -34, 33, -13, -0, -28, -35, 14, -6, - -8, 29, -8, -0, -51, 94, 34, -32, - 1, -9, 89, 73, 55, 91, 28, 9, - -20, -26, 19, 32, 43, 0, 23, -19, - 4, 51, 13, 33, 4, 13, -43, 23, - -20, -74, -15, -3, 71, -60, -56, -29, - -26, -11, -90, -51, 8, -35, -38, 11, - ], - [ - 5, 14, 20, -5, 15, 7, 12, -3, - -15, -57, 19, 6, -21, 19, 10, -23, - 3, -45, 18, 2, 4, 23, 1, -2, - 18, 6, -14, -1, 47, 75, 5, 27, - -19, -27, 19, 23, 59, 57, 26, -44, - 8, -6, -60, -0, 14, -12, -23, 21, - 28, -17, -17, -1, 16, 4, -57, 11, - -8, -8, -58, -48, 14, -30, -24, -8, + 5, -19, -26, -81, -0, -56, 3, -37, + 38, -17, 21, 24, -51, 34, 5, -38, + -18, -1, 19, -2, 16, 26, -31, -9, + 3, 18, 11, -19, 32, 7, -10, -7, + 26, 13, 3, 12, 1, -8, -11, -31, + 59, 16, 16, 21, -1, -25, -3, 3, + 28, 58, 9, 6, -13, -6, -23, -11, + 17, 9, 9, 13, 9, -6, -4, -28, + ], + [ + -15, -132, -10, -14, 45, -13, -89, -66, + -7, -30, 15, -5, 21, -8, -30, -27, + 8, -12, 24, 1, 15, -13, -5, -7, + 36, 10, -1, 16, 2, 3, -1, -1, + 19, 18, 15, 3, 1, 1, 9, -1, + 40, 25, 10, 7, 5, -11, -2, 9, + 3, 52, 19, 12, 2, 5, -10, -12, + 10, -28, 35, 24, 11, 13, 3, 5, + ], + [ + -3, -32, -19, -24, -50, -65, 27, -84, + -13, -21, 5, 1, 12, -11, -9, -28, + 2, 3, 6, 14, 8, -5, -5, -1, + 31, 6, -0, 5, 10, -15, 6, -8, + 19, 31, 5, 16, -7, 2, 2, 11, + 13, 19, 11, 6, 4, -11, 2, 4, + 9, 48, 16, 5, -2, 10, -15, 1, + 16, 12, -16, 11, 15, 12, 1, 7, + ], + [ + -32, -41, -11, -91, -16, -146, -23, -21, + 11, -28, -25, -75, -16, -29, -17, -12, + -1, 26, -7, 19, 3, -10, 8, 14, + -7, 9, 31, 11, 12, 7, 12, 3, + 7, 3, 18, 3, 13, 15, 7, 14, + 22, 5, 9, 20, 24, 6, 13, 9, + 29, 26, -2, 22, 9, 16, 10, 27, + 23, 16, 10, -4, 20, 22, 3, 24, + ], + [ + -16, -47, -40, -72, -120, -93, -23, 13, + -4, -17, 14, -58, -27, -31, -30, 8, + 10, -10, -27, -2, -17, -5, 3, 13, + 1, 6, 5, -2, 2, 5, 17, -0, + 16, -6, 9, 14, 12, 20, 1, 42, + 12, 2, -1, 14, 19, 12, 25, 19, + 12, 28, 14, 10, 25, 32, 33, 15, + 30, 33, 22, 23, -7, 17, 7, 36, + ], + [ + -32, 9, -69, -38, -106, -72, 38, -28, + -25, -5, -26, 15, -23, -28, -13, 21, + 7, -5, 12, 35, -0, -2, 40, 4, + 7, -15, -16, 11, 9, 15, 2, 28, + 4, -18, 3, -4, 31, 12, 23, 13, + -14, 1, -8, 7, 3, 21, 30, 12, + -5, -3, 7, -2, 9, 18, 21, 3, + 4, 22, 8, 24, 21, -13, -1, 26, + ], + [ + -12, -7, 14, -55, -27, 9, -30, 12, + -19, -30, 19, -1, -15, -11, -28, -22, + 10, 3, -6, 6, -0, 13, -6, -0, + -5, -8, -3, 1, 2, -3, 10, -2, + -12, -1, -14, -5, -6, 13, 2, 27, + 4, -18, -14, -7, 2, -0, 26, 34, + -2, 4, -7, -2, 0, 21, 39, 19, + 0, 8, 14, 4, 15, 43, -25, 26, + ], + [ + -8, -16, -43, -94, -63, 25, -92, -40, + -3, 1, 12, -28, 2, -20, -29, 4, + 17, 9, -12, -6, 1, 40, 16, 20, + -17, -12, -5, 11, 4, 19, 20, 2, + -5, 10, -2, 6, 16, 25, 9, 15, + -5, -23, -11, -1, 3, 11, 28, 38, + -6, -3, -8, -1, -3, 12, 28, 52, + -5, -2, 6, -5, 33, 37, 53, -20, + ], + [ + -109, 50, -67, -68, -40, -30, -51, -52, + 10, -3, 7, -48, 5, -18, 12, 8, + -24, 56, 58, 9, 13, -6, -33, -18, + 2, 16, 34, 14, 28, 7, -5, -22, + 17, 37, 32, 27, 8, 24, -9, -5, + 23, 40, 36, 12, 10, -11, 0, -8, + -14, 50, 37, 17, 4, 4, -34, -26, + -23, 1, -16, 5, 22, 13, -4, -5, + ], + [ + -84, -91, -17, -71, 20, -134, -60, -53, + -18, 31, -55, -42, -27, -10, -38, 22, + 18, 39, 32, 36, 18, 50, 2, 29, + 34, 45, 12, 34, 8, -9, 21, 13, + 24, 36, 18, 6, 9, 1, 4, -31, + -1, -5, 32, 30, 21, 4, -0, -1, + 9, 24, 7, 21, 21, 12, -3, -11, + -7, -23, 20, -16, -5, 23, 13, 9, + ], + [ + -8, -3, -53, -114, -41, -50, -3, -85, + 9, 2, 7, -10, 9, -8, -5, 18, + 17, 43, 17, 9, 20, -6, 7, -1, + 30, -9, 36, 13, 37, 23, 19, -22, + -11, 21, -4, 13, 8, 13, -15, 1, + -6, -7, 9, 27, 33, 0, 20, -2, + -4, -1, -3, 18, 19, 5, -15, 4, + 5, -13, -13, 5, -0, 11, -11, -5, + ], + [ + -80, -82, -9, -51, -95, -29, -27, -41, + 5, 6, 25, -6, -20, 15, -17, 27, + 30, 18, 25, 23, 37, -1, 22, 29, + -28, 11, 18, 23, 12, 9, 3, -16, + -2, -7, 17, 4, 27, -3, 19, -22, + -7, 7, -5, 29, 28, 20, 2, 7, + 16, -1, 15, 6, 38, 7, -2, -17, + 17, 13, 8, -25, 12, -24, -18, 4, + ], + [ + -40, -90, -35, 16, -67, -27, -28, -2, + 6, -12, -5, 20, 16, 16, -19, 33, + 13, -1, 14, 15, 14, 14, 3, -15, + -16, -1, 7, 16, 23, 8, 29, 12, + 2, -22, 6, 13, 14, 21, -15, 10, + -22, 4, 6, 12, 28, 21, 11, 3, + 6, 0, 6, -2, 9, -8, 7, 15, + 4, 7, 11, -5, -21, 9, -51, 2, + ], + [ + -11, 2, -43, -13, -41, -78, -11, -44, + -40, -3, -19, -22, 5, 23, -28, 9, + -24, 1, 12, 18, 22, 33, 55, 7, + -16, -1, -16, 37, 14, 34, 11, 35, + -11, -16, -1, 4, 27, 12, 27, 1, + -16, -4, -27, 14, 6, 31, 43, 14, + -7, -18, -1, -7, 9, 29, 27, 13, + -23, 2, 1, 16, -5, -1, -13, -30, + ], + [ + -12, 8, -70, -30, -20, 23, -20, -6, + 6, -2, -1, -45, 9, -13, -55, -7, + -1, -4, 4, -5, 13, 27, 16, 18, + -16, -15, -16, 16, 26, 34, 14, 18, + -36, -26, -8, 5, 12, 6, 16, 5, + -5, -17, -12, -3, 12, 2, 31, 36, + -28, -10, -23, 2, -2, 29, 46, 49, + -11, -3, 10, 4, 12, 10, -10, 15, + ], + [ + -0, 58, 61, 29, 9, -1, 65, -1, + -58, -13, 6, -38, 41, 25, 32, -28, + -60, 85, -31, 65, -20, -20, -49, -47, + 58, -18, -22, 63, 16, -18, -63, -91, + -17, 23, 50, 52, 2, -16, -76, 23, + 12, 86, 49, -19, 16, 1, -28, -28, + 71, -11, -14, 11, -9, 30, -70, -33, + 1, -77, -42, -4, 32, -46, 33, -33, + ], + [ + 1, 1, 9, -14, -11, 6, 3, 2, + 3, 29, -36, 13, 0, -3, 9, -8, + -15, -7, 32, 32, 58, -24, -10, -29, + -54, -37, 32, 99, 54, 47, 1, -29, + -41, 18, -1, 11, 36, 65, -16, 21, + 25, 74, 16, -19, -7, -16, -26, -25, + 18, -12, 32, -4, -15, -13, -35, 17, + -42, -20, -66, -29, -30, -102, 36, -5, + ], + [ + -12, 13, 9, 28, 9, -14, -19, -0, + 24, 12, -34, 19, 43, 2, -12, -55, + -29, 85, -58, -2, 52, 18, 32, 29, + -21, -8, 2, -25, 42, 78, -33, 14, + 30, -37, 90, 18, 77, 32, 27, 9, + -37, 20, 41, 21, -34, 5, 10, 7, + 15, -127, 5, -49, -23, -25, -67, 11, + -20, -7, -107, -47, -29, -28, 19, 10, + ], + [ + -12, -4, -3, 2, -15, -39, -18, -26, + -13, -2, 2, -54, -20, 41, 2, 8, + -23, 29, 5, 7, 28, 62, 32, -1, + 22, 39, 2, -11, 2, -18, 40, 26, + 7, 32, 32, 103, 16, 6, -15, -30, + -27, 7, 84, 101, 44, 31, 4, -18, + -49, -63, -12, -26, 18, -13, -54, -28, + -25, 1, -35, -19, -38, -67, -3, -52, + ], + [ + -39, 18, -19, 13, -37, 19, 8, -18, + 10, -7, 2, 22, -25, -5, 8, -10, + -33, -30, 22, 54, -54, 43, 35, 27, + -3, 6, 91, 20, -25, -10, 9, -37, + 33, 1, 6, 98, 95, -51, 28, -8, + -1, -1, 31, 71, 55, 31, -18, -13, + -18, -63, 10, -31, 7, -41, -78, -5, + -55, -9, -38, 5, -63, 1, -19, -11, + ], + [ + -11, 5, -10, -30, -53, 30, -9, -4, + -43, -9, -28, -14, -10, -32, -10, -8, + -28, 31, -13, 54, 7, -35, 0, 14, + 34, 66, 50, -1, 49, 36, -4, -5, + -28, -11, 30, 33, -13, 115, -7, 22, + 12, 44, 25, 17, 15, 48, 31, -15, + -62, 14, 20, 30, -44, -32, -61, -7, + -7, -2, -33, -57, -66, -14, 5, -22, + ], + [ + -23, -32, -6, 48, -13, 8, -33, -6, + -29, 30, -16, -0, -20, -40, 15, -5, + -5, 34, -4, 6, -47, 89, 42, -43, + -13, -5, 87, 69, 46, 92, 23, -2, + -19, -24, 21, 31, 39, 5, 19, -18, + -0, 51, 7, 28, 3, 15, -36, 13, + -21, -70, -7, -8, 67, -54, -56, -24, + -28, -12, -81, -49, 5, -33, -28, 13, + ], + [ + 5, 15, 19, -16, 10, 7, 12, -3, + -16, -53, 19, 4, -18, 17, 11, -18, + 5, -44, 27, 5, 6, 21, 3, -4, + 16, 14, -16, -2, 49, 75, -9, 29, + -19, -25, 26, 18, 62, 55, 23, -37, + 6, -10, -56, 5, 4, -9, -22, 21, + 35, -28, -16, 6, 20, 8, -58, 12, + -7, -8, -89, -48, 22, -31, -26, -1, ], ]; internal static readonly short[][] EndGameBishopTable = [ [ - 0, -4, 20, 43, 17, -29, 31, -7, - -29, 19, -20, -19, 2, 3, -62, 10, - 28, 17, -15, 9, 3, -12, 11, 15, - 1, 10, 9, 33, -11, 3, 6, 14, - 5, 16, 13, -1, 21, 3, 16, -18, - -23, 3, -5, -16, -0, 10, -30, -32, - 11, -22, 2, 2, 9, -10, -4, 6, - -15, -3, 9, -4, -12, -5, -5, -14, - ], - [ - 29, 45, -3, -29, -26, -14, 53, 33, - 13, 30, -23, 1, -17, -5, -5, 19, - 8, 28, -9, 3, -3, 12, 20, 14, - -29, 12, 7, 3, 23, 6, 13, -0, - 0, -2, 3, 20, 10, 6, -16, -13, - -18, -21, -9, 6, 5, -6, -9, -10, - -57, -9, 11, -4, 1, -5, -17, -15, - -14, -40, 3, -8, -1, 0, 11, -12, - ], - [ - -38, 19, -33, 7, 7, 6, -19, 51, - 25, -7, -32, -27, -19, -6, -6, 6, - 4, 23, 17, 8, 11, 12, 24, 30, - 3, -2, 5, 13, 7, 23, 3, -3, - -21, -21, -6, -2, 18, 7, -8, -20, - -11, -15, -6, 8, 7, 0, 3, -2, - -21, -29, 10, 21, 11, 1, 1, 6, - -14, -8, -66, 12, 3, 17, 21, -10, - ], - [ - -18, -7, 2, -30, 26, 21, -20, -0, - -11, 15, 20, 25, 12, 12, 1, 6, - 1, -2, 9, -17, 8, -12, 8, 17, - 10, 4, -1, -0, -9, 18, 5, 10, - 7, 19, 7, 9, 20, 3, 11, -24, - -28, -12, 4, 2, -3, -3, 4, -9, - -44, -20, 9, 12, 5, -0, -16, -47, - -17, 5, 9, -27, 10, -0, 16, -4, - ], - [ - -5, 16, -23, 20, 28, 25, 12, -40, - -10, -27, -6, 30, 21, 10, -7, -16, - -1, 24, 13, 13, 23, 2, 6, 5, - 14, 5, 3, 23, 7, 10, -2, 8, - -19, 3, -4, 4, 2, -5, 10, -37, - -10, 8, 9, 6, 1, -8, -7, -7, - 10, -10, -3, 8, 7, -20, -25, -19, - -1, -4, 3, 1, -59, 9, 1, -28, - ], - [ - 3, -5, 3, 2, 38, -7, -8, -55, - 3, -21, 11, -10, -1, 5, -9, -17, - -9, 32, -6, -11, 26, 1, -7, -2, - 1, 12, 13, -1, 10, 1, 15, -5, - -15, 18, 11, 6, 7, 8, 2, 1, - 7, -4, 3, 17, 20, -16, -19, -14, - -9, 0, 1, 12, 17, 14, -25, -7, - -4, -3, 10, -1, 16, -37, 6, -26, - ], - [ - 4, -4, -20, 13, 0, -4, 14, -45, - 0, 2, -8, 3, 10, -0, -8, -3, - -2, 12, 6, 5, 12, 2, 18, 24, - 5, 10, 9, 18, 15, 11, 5, 15, - 11, 0, 13, 15, 18, 6, 3, -18, - 4, 8, 7, 16, 7, -4, -15, -4, - -12, -10, 0, 6, 13, 8, -8, -33, - -11, 5, -2, 1, -1, 1, -109, -36, - ], - [ - 14, 27, -19, 32, 22, -42, 32, -46, - -5, -8, 5, 12, -11, 0, 1, -1, - -2, 1, 5, 13, 11, -35, 1, 15, - -5, 14, 0, 17, 15, 7, -4, 7, - -12, -24, 14, 5, 15, -12, 8, -15, - -10, 13, 2, 20, 15, 9, -11, 1, - -14, -14, -11, 10, 14, 24, 0, -20, - -15, -5, -3, -11, -17, -0, -7, -20, - ], - [ - 43, -22, 5, 17, 8, 8, 27, 15, - -10, -11, 17, 7, -3, -2, -21, -4, - 31, -7, -11, 16, 5, 10, 30, 4, - 6, -3, 0, 15, 4, 7, 2, -18, - 0, 3, -11, 4, 10, -4, 7, 4, - -22, -13, -10, 2, 0, 1, -9, -17, - -11, -30, -19, -10, 4, -6, -1, 0, - -16, 3, 1, -3, -15, -4, 5, -9, - ], - [ - 2, 23, -3, 7, -11, 20, 19, 7, - 8, -13, 15, 15, 2, -6, -4, -11, - 10, 2, -8, 15, 1, -17, 8, -12, - -3, -14, 7, 1, 1, 11, 1, -8, - -4, -8, 9, 9, 3, 6, 0, 18, - 7, -4, -10, -3, 1, -11, -2, -7, - 0, -14, 1, -3, -2, -2, -10, -10, - -15, 5, -7, -3, 7, -9, 4, -13, - ], - [ - -2, 1, 15, -1, 9, 4, -12, 24, - 5, -2, 3, 2, 4, 14, 2, -9, - 5, -8, -0, 4, 5, 6, 1, 1, - -13, 4, -10, 8, -8, -3, -7, 11, - 4, -4, 6, 10, 3, 2, 2, -1, - 2, 7, -6, 0, -4, -5, -13, -11, - 3, -12, -2, -1, -5, -2, -6, -14, - -10, 1, -6, 2, -6, 4, 10, -3, - ], - [ - 14, 19, 0, 12, 4, -9, -1, 3, - -0, -7, -3, -2, -4, 1, 7, -3, - -6, 3, -3, 0, -2, 10, 1, 8, - 9, 2, -6, -2, 7, -3, 4, 2, - -10, 5, -3, 12, 1, 9, -2, 9, - 7, -7, -5, -2, 3, -14, 1, -9, - -12, -12, -3, 3, 3, 1, -12, -11, - -17, 7, 10, 9, 1, 9, -1, -22, - ], - [ - 5, 24, 3, -1, 11, 4, -14, -13, - -19, -2, 1, -5, 5, -11, 5, -3, - -3, 7, -7, 2, 14, -0, 19, 17, - 4, 5, 2, 4, 6, 15, -9, -2, - 3, 13, 3, 7, 12, 4, 5, -8, - 8, -5, -9, 4, -7, -6, -0, -4, - -10, -13, -1, 5, 1, 0, -11, -29, - -15, 4, -4, 0, 5, 8, 2, -24, - ], - [ - -5, 6, 13, 5, 7, 20, 2, 18, - 2, -12, 12, 6, -2, -5, 1, -8, - -4, -2, -4, -2, 10, 5, -11, 16, - -1, -4, 12, -6, 11, -3, 6, -20, - -12, 8, 2, 13, 6, 7, -5, 8, - 7, 1, 3, 6, 5, -12, -8, -9, - 2, -2, -4, 3, -6, -10, -14, -40, - 1, 5, 1, -8, 11, -11, 1, -12, - ], - [ - 4, 14, 12, 11, 1, -9, -25, -31, - -4, -23, 12, 28, 10, -19, 31, 9, - -14, -0, 6, 16, 21, 3, 8, 21, - 5, 2, 6, 8, 7, -0, 16, 14, - 8, 10, 6, 9, 2, 15, 3, 11, - -12, -7, -1, 11, 1, -2, 3, 7, - -14, -14, 2, -12, -2, -10, -27, -17, - -14, -11, -18, 5, -9, -11, -22, -30, - ], - [ - 8, -52, -17, 2, 26, -3, -29, 16, - 37, 5, -8, -9, 2, 8, -11, -27, - 39, -4, 23, 5, 9, 23, 1, 19, - 2, 21, 31, 2, 8, 1, 15, 14, - 8, -14, 13, -9, -9, 12, 17, 3, - -15, -18, -22, 6, 0, -2, 4, -9, - -7, -15, -11, -15, -0, -23, -3, -28, - -12, 17, -5, 1, -31, 17, -25, 15, - ], - [ - 5, -25, -4, 41, -30, -30, -6, -25, - 9, -5, 6, 25, 20, 2, -33, -34, - 11, 14, -8, -2, -9, -4, -17, -12, - 29, 53, 16, -13, -14, -11, -2, -6, - -10, 25, 12, 7, -7, 3, -23, 12, - -5, -7, -13, -3, -4, 0, 13, 6, - 2, -16, -20, -14, 7, -5, 14, -1, - -42, 16, 31, 18, 20, 36, -33, 43, - ], - [ - 12, 2, 11, 1, 2, -22, -32, 16, - 42, -15, 4, -3, -9, -32, -9, 0, - 18, -23, 10, 8, 5, -24, -23, -23, - -4, 17, 5, 19, -23, -27, -2, -23, - 12, 8, -8, -5, -7, -8, -6, 26, - 3, 30, -12, 2, 9, -10, 19, -1, - 3, 2, -17, 10, -14, -13, 15, -4, - -20, 3, 9, 26, 16, -5, 16, 43, - ], - [ - 2, 26, 7, 5, -3, 1, -27, -45, - -35, -21, -6, 1, 14, -15, -1, -14, - 5, -9, -13, 17, -13, -30, -16, 17, - 13, -2, 7, -11, 9, -6, 0, 2, - 27, 3, -3, -5, -4, 12, 1, 43, - -13, 0, -15, -21, 8, -7, 10, 25, - 10, 17, -7, -10, -4, 3, -5, 26, - 4, -9, 30, 6, -3, 11, 5, 8, - ], - [ - -31, -21, -22, -13, -15, 21, 2, 19, - -15, 8, -2, 3, -13, 1, -3, 25, - 10, -22, -5, -24, 29, -14, -8, 7, - -9, -1, -14, -7, -14, 27, 8, 19, - 4, 13, 10, -14, -17, 11, 19, 40, - 21, 6, -26, -15, -9, 4, -5, 12, - -3, -5, -18, 21, -7, 7, -1, -20, - 20, -15, 13, 12, 28, 13, -3, -21, - ], - [ - -17, -24, -14, -16, -10, 8, -23, 16, - -4, -20, 9, -9, -10, -5, 5, 10, - 5, -19, -17, -6, 8, 17, 0, 19, - -14, -16, -7, 8, 1, 5, 8, 26, - 29, 5, 3, 6, 5, -14, 14, 4, - -9, 8, -5, -7, 2, -12, 42, 24, - 32, -20, -13, 1, -3, 19, 10, -16, - -6, -6, 14, -4, 18, -1, -16, -18, - ], - [ - -32, -11, -21, -3, 30, -6, 20, -10, - -33, -10, -14, -9, -12, -1, 4, 19, - -6, -14, -13, 3, 29, -2, 19, -4, - 5, -4, -20, -5, 4, 1, 12, 16, - -6, 5, 20, -6, 1, 7, 14, 26, - 29, -3, 11, -6, -3, -3, 4, 18, - -9, 23, 18, -9, -14, -30, -26, 6, - 7, -8, 25, -4, -6, 9, -8, -13, - ], - [ - -46, 11, -5, 18, -19, 15, 9, 18, - -9, -21, -1, 3, -31, 37, 20, 5, - -5, -14, -5, 4, -1, 39, 21, -13, - -17, -6, 15, 0, 16, 9, 32, 24, - -27, -9, -17, -0, 2, 6, 12, 11, - -16, 19, -10, 15, 5, -4, 10, -21, - 5, 2, -20, -3, -31, -14, -32, 27, - 4, -13, 22, -9, 24, 19, -34, -25, + -2, -1, 20, 40, 19, -29, 33, -5, + -33, 18, -20, -14, 5, 1, -60, 11, + 29, 17, -16, 7, 4, -12, 12, 15, + 2, 7, 8, 33, -9, 2, 4, 12, + 2, 15, 14, -2, 22, 2, 16, -16, + -23, 4, -6, -15, -2, 10, -28, -31, + 8, -20, 3, 3, 7, -11, -5, 3, + -15, -4, 8, -4, -11, -6, -5, -14, + ], + [ + 30, 44, 1, -25, -26, -16, 52, 29, + 13, 29, -19, 2, -19, -4, -6, 17, + 7, 27, -8, 4, 1, 11, 21, 16, + -32, 10, 9, 5, 25, 5, 12, -3, + -2, -3, 1, 21, 9, 7, -17, -12, + -17, -22, -9, 7, 4, -5, -10, -8, + -56, -10, 11, -4, 0, -5, -17, -15, + -15, -40, 3, -8, 1, 1, 12, -12, + ], + [ + -40, 17, -29, 7, 5, 4, -21, 52, + 25, -8, -31, -25, -19, -7, -7, 7, + 4, 21, 19, 6, 12, 12, 24, 29, + 3, -1, 6, 10, 7, 23, 3, -1, + -22, -21, -6, -2, 18, 7, -7, -19, + -10, -16, -6, 8, 6, 1, 3, 0, + -23, -28, 10, 21, 11, 1, 2, 8, + -14, -9, -67, 12, 4, 19, 23, -10, + ], + [ + -12, -5, 1, -31, 25, 23, -20, -6, + -9, 20, 17, 23, 11, 15, 2, 6, + 3, -2, 8, -14, 7, -13, 5, 19, + 14, 2, -3, 2, -11, 18, 1, 9, + 4, 20, 8, 9, 20, 2, 14, -25, + -25, -13, 3, 1, -1, -5, 3, -8, + -42, -19, 10, 10, 4, -2, -14, -49, + -18, 5, 11, -28, 9, 1, 17, -4, + ], + [ + -5, 15, -29, 19, 31, 24, 10, -39, + -11, -27, -5, 31, 17, 9, -6, -15, + -2, 24, 13, 13, 21, -2, 7, 7, + 12, 7, 2, 26, 9, 9, -2, 8, + -18, 3, -4, 3, 3, -7, 8, -36, + -7, 9, 9, 5, 1, -7, -4, -8, + 9, -10, -2, 8, 6, -19, -25, -16, + -1, -3, 6, 1, -61, 10, 2, -27, + ], + [ + 4, -9, 5, 0, 37, -7, -10, -51, + 5, -20, 11, -7, 3, 4, -7, -17, + -9, 30, -5, -11, 28, 2, -9, 1, + 3, 13, 12, -0, 9, 3, 14, -5, + -13, 16, 10, 6, 6, 8, 2, -1, + 8, -4, 3, 16, 20, -16, -20, -13, + -9, -0, 2, 12, 16, 14, -23, -8, + -5, -3, 8, -2, 15, -39, 7, -26, + ], + [ + 2, -6, -22, 12, -2, -2, 13, -45, + -0, 2, -9, 2, 8, 0, -7, -4, + -1, 12, 7, 5, 14, 3, 18, 25, + 4, 11, 10, 18, 15, 12, 4, 16, + 11, 1, 14, 16, 19, 7, 4, -16, + 5, 8, 7, 16, 7, -5, -14, -5, + -13, -9, 0, 7, 13, 9, -8, -33, + -11, 5, -2, 0, -1, 1, -109, -36, + ], + [ + 13, 19, -12, 29, 22, -42, 34, -36, + -4, -8, 4, 12, -8, -3, -2, -2, + -2, 1, 2, 14, 12, -36, 3, 14, + -4, 14, 1, 16, 14, 5, -5, 10, + -15, -23, 14, 6, 13, -12, 9, -15, + -7, 13, 3, 20, 16, 7, -12, 1, + -15, -13, -11, 11, 14, 24, -0, -19, + -17, -6, -4, -11, -16, -1, -7, -21, + ], + [ + 42, -21, 6, 17, 7, 10, 25, 14, + -10, -8, 19, 9, -3, -2, -22, -5, + 31, -9, -11, 15, 7, 9, 32, 2, + 6, -3, -0, 15, 4, 7, 1, -19, + -0, 1, -11, 5, 9, -3, 6, 3, + -22, -12, -10, 2, -0, 2, -9, -18, + -11, -29, -18, -9, 3, -8, -1, 2, + -17, 4, 1, -4, -15, -4, 4, -8, + ], + [ + 5, 24, -2, 8, -9, 21, 20, 8, + 8, -13, 16, 16, 3, -7, -4, -10, + 11, 3, -7, 14, 1, -16, 10, -11, + -6, -14, 7, 1, 2, 11, 0, -8, + -5, -8, 8, 8, 4, 7, -1, 18, + 7, -3, -10, -4, 1, -11, -3, -8, + -0, -15, -0, -4, -2, -2, -10, -10, + -16, 4, -7, -3, 6, -8, 3, -14, + ], + [ + -2, 2, 14, 2, 7, 3, -12, 24, + 6, -3, 2, 2, 4, 13, 3, -9, + 4, -7, 0, 4, 7, 7, 0, 1, + -12, 6, -9, 7, -7, -3, -7, 12, + 3, -3, 6, 9, 3, 2, 1, -0, + 2, 6, -6, 1, -5, -5, -14, -13, + 2, -11, -3, -1, -5, -0, -7, -15, + -11, 1, -6, 2, -6, 6, 9, -3, + ], + [ + 17, 19, -1, 12, 5, -10, -4, 4, + -2, -7, -2, -2, -4, -2, 7, -4, + -5, 3, -4, 2, -2, 10, -1, 7, + 9, 3, -6, -2, 7, -2, 4, 2, + -8, 6, -2, 11, 1, 9, -2, 9, + 5, -6, -5, -2, 3, -14, -0, -9, + -12, -11, -3, 2, 3, 2, -12, -11, + -17, 7, 11, 8, 1, 9, -2, -22, + ], + [ + 3, 23, 3, -1, 10, 8, -15, -11, + -19, -1, 2, -7, 5, -8, 5, -2, + -2, 8, -7, 1, 12, -0, 17, 18, + 3, 4, 2, 3, 7, 15, -7, -1, + 4, 12, 4, 6, 12, 4, 6, -9, + 8, -5, -8, 4, -7, -7, 0, -6, + -9, -12, -1, 5, 2, 0, -13, -28, + -15, 4, -4, -0, 4, 8, 1, -25, + ], + [ + -3, 5, 12, 7, 5, 19, 4, 17, + 3, -13, 9, 5, -2, -6, 2, -7, + -2, -2, -4, -1, 9, 5, -11, 17, + 1, -3, 11, -6, 11, -2, 6, -18, + -11, 7, 3, 13, 6, 6, -6, 8, + 7, 0, 4, 6, 5, -12, -8, -10, + 2, -1, -4, 2, -5, -9, -14, -40, + 0, 6, 1, -8, 10, -11, 1, -14, + ], + [ + 5, 16, 11, 9, 1, -7, -24, -31, + -6, -23, 11, 28, 8, -18, 32, 12, + -15, 1, 4, 15, 20, 6, 9, 22, + 4, 3, 6, 8, 7, -1, 14, 14, + 9, 9, 6, 9, 4, 14, 3, 10, + -11, -7, -1, 11, 1, -1, 4, 6, + -15, -14, 2, -12, -1, -10, -27, -14, + -14, -12, -18, 3, -9, -11, -24, -28, + ], + [ + 10, -52, -17, 1, 26, -1, -28, 16, + 37, 7, -11, -8, 1, 10, -11, -26, + 39, -5, 22, 2, 8, 20, 2, 18, + 2, 22, 31, 2, 6, 2, 14, 17, + 9, -15, 11, -9, -9, 12, 16, 4, + -18, -20, -24, 6, 2, -0, 8, -11, + -5, -17, -10, -14, -0, -22, -3, -27, + -12, 17, -4, 3, -30, 18, -26, 15, + ], + [ + 7, -22, -3, 36, -25, -34, -7, -27, + 10, -3, 7, 22, 19, 0, -36, -37, + 12, 11, -8, 0, -12, -4, -17, -16, + 28, 48, 17, -11, -14, -11, -1, -3, + -8, 25, 11, 7, -4, 7, -20, 13, + -2, -7, -12, -3, -6, 0, 10, 7, + 2, -18, -19, -12, 9, -6, 13, 1, + -38, 15, 28, 20, 20, 33, -33, 41, + ], + [ + 16, 4, 12, 3, -1, -20, -32, 14, + 43, -14, 2, -3, -9, -31, -10, -4, + 18, -25, 9, 7, 5, -23, -22, -25, + -2, 19, 5, 18, -23, -28, -2, -23, + 12, 7, -7, -5, -8, -7, -5, 24, + 5, 30, -13, 3, 7, -11, 19, -0, + 2, 2, -19, 10, -15, -13, 16, -1, + -19, 2, 8, 26, 16, -5, 14, 43, + ], + [ + 3, 24, 8, 4, -3, 2, -29, -48, + -33, -23, -3, 2, 15, -18, -1, -16, + 5, -9, -13, 18, -13, -29, -17, 18, + 12, -2, 7, -10, 9, -6, 2, 2, + 26, 3, -3, -6, -5, 13, 0, 44, + -12, 0, -15, -20, 8, -7, 9, 23, + 12, 17, -7, -11, -4, 3, -5, 26, + 5, -9, 29, 6, -3, 12, 7, 8, + ], + [ + -32, -20, -17, -13, -15, 20, -1, 18, + -13, 7, -0, 1, -12, 1, -3, 25, + 8, -21, -5, -24, 28, -13, -8, 7, + -10, -4, -16, -7, -13, 26, 8, 19, + 5, 14, 9, -14, -16, 11, 17, 41, + 22, 6, -26, -15, -8, 4, -5, 12, + -2, -6, -17, 20, -6, 4, -0, -19, + 21, -15, 13, 13, 28, 13, -2, -23, + ], + [ + -19, -25, -14, -15, -12, 11, -23, 18, + -5, -21, 9, -9, -8, -6, 4, 9, + 4, -22, -15, -6, 8, 15, -1, 20, + -12, -14, -7, 7, 1, 5, 10, 24, + 28, 5, 3, 5, 6, -16, 14, 2, + -10, 7, -4, -8, 2, -8, 41, 26, + 31, -19, -12, 3, -5, 18, 11, -18, + -5, -7, 13, -3, 20, 1, -16, -16, + ], + [ + -31, -11, -21, -3, 26, -4, 20, -10, + -35, -13, -14, -12, -12, 2, 7, 18, + -8, -14, -13, 4, 28, -1, 11, -3, + 6, -5, -19, -4, 5, -0, 12, 16, + -4, 6, 19, -6, 0, 6, 15, 26, + 30, -4, 12, -4, -4, -5, 1, 17, + -7, 23, 17, -7, -13, -28, -26, 7, + 8, -8, 23, -3, -4, 8, -6, -13, + ], + [ + -44, 11, -11, 16, -26, 13, 9, 17, + -9, -21, -2, 3, -30, 30, 21, 6, + -4, -13, -4, 8, -2, 40, 26, -13, + -19, -8, 15, -0, 13, 10, 35, 14, + -21, -7, -18, -1, 1, 7, 11, 12, + -16, 17, -10, 15, 6, -5, 13, -16, + 4, 5, -20, -3, -30, -14, -29, 24, + 6, -13, 29, -8, 23, 19, -35, -27, ], ]; internal static readonly short[][] MiddleGameRookTable = [ [ - 6, -12, 7, 11, -13, -27, -1, 9, - 47, 59, -20, -5, 17, 12, -29, -12, - 25, 8, 6, -2, 11, -29, -9, -9, - 17, 66, 44, 30, 35, -7, -17, -9, - 8, 8, 3, 1, 7, 4, -18, -17, - -24, -9, 5, -3, -10, -20, -25, -42, - -9, -12, -8, -13, -7, -18, -15, -22, - -13, 10, 11, 11, 13, -8, 7, -3, - ], - [ - -13, -5, -0, 10, 9, 4, -18, -14, - -41, 41, 18, -13, 11, 11, -3, -21, - 7, 21, 24, 19, 32, -4, 49, -8, - -20, 46, 16, 20, 20, 15, 15, -13, - -18, 29, 1, 2, 1, -11, 0, -16, - -31, -3, -1, -9, 12, -6, -19, -19, - -36, 1, -4, -3, -1, -14, -4, -8, - -32, -114, 19, 14, 17, 1, 27, 14, - ], - [ - 9, 43, -39, 1, 27, 16, 4, -21, - -38, -3, 62, -32, 5, 7, -8, -28, - -13, 11, 41, 22, 29, 29, 21, -3, - 3, -8, 33, 10, 33, 13, 9, -6, - -19, -0, 3, 2, -6, -12, 5, -21, - -30, -11, 20, -8, -5, -12, 2, -31, - -29, -3, 22, 2, -3, -16, -3, -15, - -33, -4, -85, 14, 18, 3, 21, 5, - ], - [ - 21, -51, 1, -40, -3, 33, -33, -28, - -28, -17, -20, 27, -15, 32, 18, -28, - 9, 16, 5, 23, 9, 17, -12, -4, - 27, 17, 26, 0, 13, 25, 28, -17, - -9, 0, -2, 14, 6, 12, 5, 1, - -14, -16, -8, 3, 16, 7, -5, -9, - -28, -4, -15, -2, 3, 12, 3, 5, - -17, -2, 6, -72, 17, 3, 32, 7, - ], - [ - 18, -11, 41, -8, 23, -39, -11, 34, - -26, -44, -27, -31, -20, -21, -28, -1, - -13, -4, -8, 22, 0, 5, -12, -1, - -11, 18, -9, 10, 28, 23, 10, 2, - -9, 8, -5, -0, 1, 23, -4, 8, - -14, 12, -13, -1, 22, 4, -6, 5, - 5, -3, 10, 17, 13, -8, 6, -0, - 12, 13, 11, 21, -90, -1, 13, 37, - ], - [ - -19, -28, -18, -22, 14, -14, -43, 2, - -22, -15, -26, -7, 13, 39, 20, -10, - -3, 12, -18, 14, 10, 7, 12, -21, - -10, -2, 0, 30, 9, 41, 14, 3, - -17, -14, 21, 28, 14, 41, -2, -3, - -21, -0, -10, 13, 5, 31, 3, -4, - -25, -39, 2, 7, 15, 21, -3, -15, - -6, -2, 10, 11, 18, -67, 20, 2, - ], - [ - -10, -12, -15, 0, 6, 25, 48, -19, - -13, -20, -10, -10, -8, 10, 23, 0, - -5, 19, 1, 11, 24, 32, 52, -1, - -3, 8, 5, 18, 6, 19, 28, -0, - -10, -13, 0, -0, -3, -12, 29, -16, - -28, -12, -17, -11, -5, -7, 15, -10, - -9, -13, -13, -5, -0, 1, 30, -29, - -3, 7, 10, 14, 17, 4, -99, -18, - ], - [ - 9, 15, -52, -12, 13, -1, -29, 10, - -18, -11, -16, -18, 1, -11, 16, -7, - -7, 9, -23, 1, 14, 17, 56, 21, - -7, 9, -6, 15, 7, 16, 19, 13, - -30, -2, -1, 11, 11, 1, 22, 0, - -39, -8, -21, -1, 8, -6, 16, 9, - -18, -14, -11, 4, -1, 1, 18, 21, - -2, 8, 11, 10, 18, 15, 29, -100, - ], - [ - 7, 27, 46, -1, -10, -22, -13, -12, - -2, 37, 60, 16, 39, -14, -23, -8, - 16, 1, 59, 51, 13, 28, -13, 10, - -10, 13, 41, -1, -7, -8, -12, -0, - -16, -8, 3, -5, 16, -13, -17, -11, - -40, -9, 3, -23, -6, -4, -26, -38, - -20, -35, -1, -6, -3, -12, -11, -3, - -13, -17, 10, 1, 8, -9, 8, -9, - ], - [ - 30, -9, -22, 24, -6, -9, 0, 2, - 20, 34, 46, 39, 41, 10, -13, -1, - 19, 53, 26, 26, 22, 18, -4, -25, - 5, 23, 13, 38, 23, -0, 3, -35, - -5, -5, -14, 25, -10, -10, -29, -11, - -21, -21, -38, -27, -18, -22, -13, -27, - -22, -1, -58, 8, -5, -36, 16, -26, - -16, -11, 2, 4, 1, -6, 7, -3, - ], - [ - 2, -5, 26, 25, 1, 5, 54, -5, - 12, 15, 8, 48, -28, 21, 29, -8, - 8, 23, 3, 9, -10, -1, 7, -11, - 8, 16, 17, 22, 2, 50, 9, -7, - -14, 10, -21, 3, -60, 20, -10, -7, - -45, -1, -38, 24, -19, -7, -12, -21, - -33, -35, -8, -50, -17, 16, -20, 2, - -13, -3, -8, -4, 4, 12, 6, 2, - ], - [ - -11, -23, 11, -1, 14, 72, -5, -2, - -1, -15, 0, 21, -1, 35, 14, 8, - 8, 17, 1, 8, 7, 46, -5, -7, - 3, 16, 8, -4, -23, 49, -15, -11, - 1, 3, -11, 3, 21, -21, -14, -12, - -3, 8, -7, -6, 9, -17, -40, -31, - -11, -12, 3, -12, -30, -5, -8, -17, - -6, -3, 3, 5, 3, -2, 4, -10, - ], - [ - -9, -5, -14, -4, 25, -4, -3, 42, - -18, -16, -6, 31, 11, 32, 32, 20, - -11, -20, 33, 5, 28, 28, 13, 22, - -14, 5, -20, 7, 8, 2, 25, 12, - -6, -2, 3, -15, -4, 2, 7, 2, - -13, -5, -19, -18, -17, 11, -35, 3, - -28, -27, -3, -9, -3, -43, -3, -6, - -13, -6, 1, 5, 3, -4, 4, -0, - ], - [ - -8, -27, -8, 35, 43, 21, 57, 36, - -21, -16, 23, 20, 19, 47, 40, 12, - -4, 1, 3, 27, 40, 41, -6, 18, - -22, -11, 7, 24, 15, 23, 27, 7, - -23, -27, -4, 15, -15, 3, -4, -10, - -54, -16, -28, -2, -0, -10, -8, -14, - -28, -22, -21, -13, 1, 8, -100, -21, - -22, -13, -6, 2, 1, -7, -23, -2, - ], - [ - -10, -2, -11, 17, 5, 24, 46, 49, - -15, -16, -11, -9, 27, 46, 37, 31, - -5, 7, -7, 12, 25, 30, 60, 67, - -19, 9, -8, 17, 12, 6, 19, -0, - -45, -7, -10, -24, -1, -12, 18, 10, - -37, -21, -20, -18, 1, -9, 15, -27, - -18, -17, -22, -15, -3, -10, 7, -100, - -19, -8, -11, -6, -1, -10, 10, -20, - ], - [ - -32, 32, 70, 39, -10, 26, -1, -17, - 57, 84, 41, 75, 45, 64, -17, 8, - -10, 58, 19, 42, 33, 57, 26, 51, - 4, 25, 39, 33, 29, 18, 7, -64, - -30, -28, -10, 39, -34, 7, -69, -50, - -6, -101, -50, -46, -15, -40, -45, -38, - -21, -10, -44, -10, -46, -45, -7, -42, - -49, 34, 9, -2, 12, -18, -54, -23, - ], - [ - 56, 25, 106, 1, 26, 17, 58, 3, - 43, 32, 85, 89, 50, 93, 50, 20, - 2, 49, 50, -5, 8, -1, -5, 3, - -11, -0, -32, 35, 40, -10, 6, 58, - 6, -16, -2, -25, -0, -10, -36, -41, - -51, 19, 24, 3, -19, -11, 21, 33, - -47, -5, -26, -70, -42, -23, -45, -2, - -146, -54, -90, -37, -36, -10, -124, -80, - ], - [ - 2, -26, 53, -11, 46, 58, 37, 56, - 40, -10, 49, 21, 37, 55, 34, 26, - 17, 40, -17, 85, 3, -17, 27, 28, - -51, 70, 8, -32, -44, 31, 32, 65, - 25, 11, 7, -3, -40, 24, -1, -5, - -10, -74, -34, -11, -0, -2, 9, -23, - 29, 53, 44, -10, -3, 1, -36, -34, - -218, -79, -90, -78, -13, -19, -20, -110, - ], - [ - 27, 57, -19, 32, -4, 13, 7, 45, - 37, 15, 36, 21, 108, -25, 38, 17, - -13, -5, 54, -3, 16, -3, 25, 3, - -33, -2, -21, -31, 38, 20, 38, 77, - -5, 26, 17, -26, 61, -24, 9, 28, - 8, 32, 24, -3, -50, -28, 24, -40, - -25, -50, -60, 4, -31, 38, 19, 33, - -132, -80, -30, -60, -66, -14, -59, -106, - ], - [ - 54, 15, -25, 36, 42, 4, 40, 28, - 56, 61, 78, 109, 15, 29, 37, 30, - -60, 23, 17, 17, 7, 51, 43, -29, - 15, -46, 20, -28, -32, -12, -58, 14, - 35, -9, 14, 21, 49, -31, 54, -32, - -3, -28, -49, -62, 49, 28, 13, -4, - -47, -17, 4, -39, -18, -4, -103, -44, - -84, -22, 21, -93, -57, -17, -12, -62, - ], - [ - -2, 14, -6, -27, -21, -15, -62, 36, - -22, 53, 1, 56, 47, -18, 31, 29, - -32, -7, 35, 0, 6, 0, 32, 0, - -35, 16, 25, -13, -19, 14, -8, 33, - -10, -12, 15, -5, 57, 22, 30, -9, - 16, 8, 17, -32, -32, 8, -11, -28, - 14, 13, -28, -31, -3, -26, 30, 4, - -47, -57, -11, 48, -46, -28, 48, -55, - ], - [ - 29, -12, -23, -42, 8, 13, 24, 44, - 60, -4, 6, 50, -18, -14, 56, -23, - 26, -5, 59, 24, 11, 42, 31, 43, - 9, 3, 17, 43, 40, 68, 63, -18, - -29, 21, -15, 44, 10, -5, -30, -17, - -50, -0, -41, 21, 47, 10, -10, -6, - -69, 4, -31, 35, 3, 25, -41, -23, - -130, -82, -23, -43, -35, -71, -19, -61, - ], - [ - -15, 32, -27, 45, 59, -50, 40, 4, - -28, 61, 5, 29, 51, 55, 90, 20, - 3, 5, 61, 46, 32, 92, 70, -10, - 20, 0, 4, -0, 8, 92, 40, 1, - -5, -19, 5, -73, 24, 80, 12, -6, - -18, -47, -41, 27, -91, -38, 53, -14, - -59, -45, 19, 34, 13, -5, -20, -5, - -206, -72, -64, -14, -101, -5, -13, -140, + 9, -12, 13, 6, -11, -28, -2, 5, + 44, 55, -19, -5, 21, 16, -27, -9, + 21, 11, 11, -1, 8, -26, -9, -9, + 13, 67, 42, 29, 33, -7, -16, -7, + 8, 8, 5, 4, 7, 7, -13, -22, + -24, -10, 6, -3, -11, -24, -24, -46, + -11, -12, -7, -15, -9, -18, -16, -23, + -13, 9, 11, 10, 12, -8, 7, -4, + ], + [ + -17, -3, 1, 12, 14, 6, -17, -20, + -43, 45, 18, -10, 10, 9, -4, -23, + 7, 21, 27, 16, 34, -0, 50, -10, + -20, 46, 19, 22, 22, 15, 16, -13, + -18, 30, 0, 2, 1, -11, -1, -17, + -32, -5, -2, -9, 11, -7, -19, -21, + -37, 0, -2, -4, -1, -14, -6, -10, + -32, -115, 20, 14, 16, 1, 27, 14, + ], + [ + 6, 42, -41, -0, 21, 13, 4, -20, + -38, -4, 62, -28, 3, 6, -9, -30, + -13, 17, 45, 21, 29, 33, 20, -4, + 3, -8, 34, 11, 34, 15, 10, -7, + -20, -0, 5, 2, -7, -11, 4, -21, + -29, -11, 21, -8, -6, -12, 1, -31, + -29, -3, 23, 2, -4, -16, -4, -15, + -32, -4, -85, 15, 18, 3, 20, 5, + ], + [ + 23, -48, 3, -42, 3, 33, -40, -29, + -29, -15, -23, 25, -15, 33, 21, -28, + 11, 15, 4, 20, 6, 21, -10, -6, + 25, 19, 24, 0, 13, 28, 27, -18, + -10, -0, -2, 13, 8, 13, 3, -0, + -13, -15, -6, 4, 17, 6, -6, -10, + -28, -4, -14, -3, 3, 13, 2, 3, + -17, -2, 6, -73, 17, 4, 31, 7, + ], + [ + 13, -5, 45, -3, 23, -44, -13, 35, + -28, -44, -31, -31, -9, -17, -28, 1, + -16, -1, -9, 19, -3, 6, -12, -1, + -12, 20, -12, 11, 25, 24, 8, 1, + -9, 6, -4, 0, 1, 20, -3, 9, + -14, 9, -14, -1, 23, 3, -4, 6, + 6, -4, 10, 17, 10, -8, 6, -1, + 12, 14, 12, 21, -87, -2, 12, 38, + ], + [ + -23, -30, -14, -17, 20, -17, -42, -2, + -26, -17, -27, -6, 9, 37, 19, -10, + -7, 17, -12, 15, 13, 6, 13, -20, + -11, 2, -1, 31, 9, 38, 17, 2, + -17, -17, 22, 30, 11, 48, -4, -3, + -21, -1, -10, 16, 6, 31, 4, -4, + -28, -39, 3, 7, 16, 20, -3, -17, + -6, -1, 11, 11, 18, -67, 18, 1, + ], + [ + -10, -9, -22, 0, 10, 22, 48, -19, + -15, -21, -12, -10, -7, 10, 25, 1, + -6, 21, 2, 12, 25, 35, 55, 0, + -2, 8, 5, 19, 7, 21, 29, -2, + -11, -12, -2, -1, -2, -10, 28, -14, + -27, -13, -18, -10, -6, -8, 14, -11, + -10, -15, -14, -6, -1, 1, 29, -29, + -4, 6, 10, 13, 16, 4, -98, -19, + ], + [ + 6, 8, -53, -13, 12, -0, -26, 20, + -20, -11, -19, -20, -1, -7, 19, -6, + -9, 10, -24, -0, 17, 18, 55, 17, + -5, 9, -6, 17, 10, 16, 19, 13, + -29, -4, -3, 8, 14, 3, 23, 1, + -37, -9, -23, -1, 9, -7, 17, 9, + -19, -16, -11, 4, 1, 0, 16, 22, + -2, 8, 11, 9, 18, 15, 29, -100, + ], + [ + 7, 16, 45, -9, -8, -21, -6, -10, + -0, 28, 62, 11, 33, -12, -23, -7, + 17, 2, 57, 51, 15, 29, -10, 7, + -10, 14, 40, 4, -5, -6, -8, -1, + -18, -13, -1, -5, 14, -12, -20, -8, + -40, -10, 5, -21, -5, -2, -25, -35, + -21, -33, 1, -6, -4, -10, -10, -6, + -12, -17, 11, 0, 9, -8, 9, -8, + ], + [ + 31, -11, -27, 30, -12, -9, 3, -2, + 22, 34, 42, 33, 38, 4, -11, -2, + 22, 56, 27, 20, 22, 19, -2, -26, + 5, 22, 7, 41, 25, -1, 5, -27, + -8, -6, -9, 27, -10, -10, -31, -10, + -20, -22, -36, -27, -16, -22, -10, -29, + -23, -0, -60, 9, -3, -36, 16, -25, + -15, -11, 5, 4, 1, -6, 9, -2, + ], + [ + -5, -4, 25, 36, -1, 4, 49, -2, + 11, 13, 13, 50, -24, 17, 26, -2, + 10, 25, -3, 15, -10, -2, 7, -12, + 8, 19, 17, 19, 4, 49, 4, -6, + -11, 7, -24, 5, -55, 16, -13, -6, + -45, -2, -38, 21, -15, -5, -13, -24, + -29, -35, -10, -50, -16, 18, -22, 3, + -14, -4, -8, -4, 4, 12, 6, 1, + ], + [ + -9, -27, 14, 0, 24, 77, 1, -3, + -0, -11, -1, 14, 4, 34, 6, 8, + 13, 15, 1, 0, 8, 39, -5, -4, + 5, 15, 7, -1, -24, 45, -14, -12, + -2, 2, -11, 4, 22, -23, -14, -13, + -2, 7, -7, -6, 7, -17, -41, -27, + -8, -11, 3, -15, -27, -6, -7, -17, + -6, -3, 3, 4, 0, -1, 3, -12, + ], + [ + -3, -3, -15, 4, 25, -2, -4, 42, + -18, -19, -6, 27, 10, 30, 35, 20, + -11, -22, 36, 4, 27, 27, 10, 15, + -13, 5, -20, 10, 9, 2, 27, 15, + -8, -3, 4, -14, -6, -1, 7, -0, + -9, -6, -19, -15, -15, 13, -36, 1, + -30, -26, -4, -9, -3, -44, -3, -8, + -13, -8, 1, 6, 3, -5, 4, -1, + ], + [ + -13, -21, -11, 30, 45, 29, 55, 31, + -23, -17, 22, 21, 18, 53, 42, 13, + -5, 4, 6, 28, 40, 40, -4, 15, + -21, -12, 7, 23, 17, 24, 29, 8, + -27, -28, -4, 16, -13, 1, -1, -13, + -55, -17, -28, 1, -1, -8, -10, -13, + -29, -22, -22, -15, 0, 8, -100, -22, + -22, -12, -5, 2, -0, -7, -22, -2, + ], + [ + -9, -3, -14, 18, 7, 25, 48, 54, + -16, -14, -13, -8, 26, 42, 35, 30, + -7, 5, -8, 14, 31, 32, 62, 70, + -17, 8, -9, 13, 12, 9, 21, -2, + -45, -7, -12, -27, -1, -11, 17, 8, + -36, -22, -19, -18, 1, -9, 14, -25, + -19, -19, -22, -16, -3, -9, 5, -97, + -20, -9, -9, -6, -2, -10, 9, -21, + ], + [ + -27, 35, 73, 47, -16, 21, 4, -12, + 57, 83, 35, 74, 39, 55, -18, 7, + -9, 54, 18, 44, 29, 58, 24, 56, + 0, 18, 38, 34, 34, 25, 3, -64, + -35, -25, 5, 35, -34, 13, -64, -46, + -5, -100, -52, -50, -15, -43, -49, -42, + -24, -10, -45, -13, -35, -48, 1, -42, + -47, 30, 5, -2, 10, -19, -54, -21, + ], + [ + 49, 15, 101, -3, 27, 22, 55, -2, + 42, 35, 90, 85, 61, 94, 61, 28, + -3, 46, 49, 2, 7, 2, -1, 15, + -13, -3, -18, 39, 29, -12, 12, 61, + 11, -21, -4, -27, -4, -12, -32, -42, + -53, 21, 15, -0, -22, -10, 17, 24, + -46, 5, -28, -75, -52, -18, -50, -0, + -118, -54, -97, -33, -52, -19, -117, -80, + ], + [ + 4, -24, 56, -15, 34, 59, 27, 46, + 41, -11, 55, 31, 56, 65, 41, 29, + 9, 45, -15, 81, -2, -22, 35, 38, + -58, 60, 6, -34, -39, 30, 28, 65, + 36, 12, 4, -12, -31, 27, 8, -9, + -16, -65, -27, -13, -0, -9, 10, -27, + 24, 45, 30, -7, -9, -1, -29, -33, + -204, -79, -97, -86, -16, -19, -21, -108, + ], + [ + 30, 51, -22, 42, -6, 15, 0, 41, + 35, 16, 48, 20, 103, -6, 49, 22, + -15, -3, 43, -6, 16, -3, 27, 2, + -38, -2, -15, -28, 35, 12, 35, 78, + -2, 25, 11, -25, 60, -23, 12, 27, + 7, 30, 23, -10, -60, -28, 28, -36, + -19, -50, -58, 11, -38, 41, 20, 31, + -127, -83, -31, -65, -69, -14, -60, -106, + ], + [ + 65, 20, -24, 31, 42, 1, 42, 30, + 54, 65, 85, 122, 18, 26, 40, 19, + -56, 26, 17, 11, -0, 53, 44, -31, + 15, -42, 15, -30, -25, -10, -61, 14, + 33, -12, 13, 16, 51, -32, 56, -25, + -5, -23, -53, -62, 40, 23, 12, -4, + -45, -8, 3, -34, -20, -12, -99, -41, + -88, -17, 18, -106, -55, -13, -20, -69, + ], + [ + -4, 7, -2, -32, -12, -17, -55, 34, + -16, 59, 17, 65, 64, -24, 39, 29, + -31, -14, 28, 8, 3, -1, 32, 4, + -28, 16, 25, -31, -16, 17, -18, 36, + -8, -8, 15, -3, 46, 30, 33, -3, + 9, 13, 15, -22, -28, 10, -13, -25, + 13, 6, -20, -37, -9, -28, 25, 4, + -54, -56, -26, 48, -46, -36, 30, -53, + ], + [ + 12, -8, -19, -30, 4, 22, 24, 28, + 67, 6, 19, 58, 3, -4, 60, -29, + 32, 5, 54, 20, 8, 50, 19, 44, + 8, -3, 19, 37, 47, 65, 59, -22, + -28, 19, -17, 39, 4, -16, -26, -18, + -59, -8, -49, 13, 40, 16, -16, -9, + -71, 3, -30, 33, 5, 26, -39, -13, + -125, -74, -33, -49, -34, -81, -16, -44, + ], + [ + -14, 33, -22, 47, 57, -58, 29, 6, + -29, 60, 4, 27, 45, 59, 83, 21, + 3, -2, 60, 52, 26, 89, 72, -12, + 19, 7, 4, -2, 6, 91, 44, 0, + -10, -20, 4, -70, 24, 80, 7, -7, + -19, -43, -34, 27, -79, -51, 58, -11, + -52, -41, 25, 32, 15, -2, -15, -7, + -200, -69, -65, -19, -106, 0, -8, -146, ], ]; internal static readonly short[][] EndGameRookTable = [ [ - 6, 29, 7, -16, 21, -4, -11, 3, - -27, -17, 18, 6, 2, -15, 7, 7, - -11, 8, 10, -3, 4, -0, -21, 9, - 1, -8, -16, -12, -6, -14, 11, -4, - -25, 18, 20, 16, 15, 9, 3, 10, - -34, 17, -4, -1, 4, 11, 4, 17, - -23, 22, 24, 10, 12, 8, 1, 3, - -38, -0, -7, -14, -15, -20, -9, 10, - ], - [ - 19, 32, 8, 26, -2, 13, 20, 14, - 5, -3, 5, 17, 11, 5, 19, 20, - -21, 11, 2, -2, -26, 7, -31, 21, - -5, -14, 17, 3, -6, -12, -15, 9, - -6, -16, 15, 24, 4, 8, -15, 10, - -13, 18, 2, 15, -17, -3, 5, 6, - -37, -12, -2, 12, -4, 2, 5, 0, - -46, -115, 11, 13, -5, -10, -6, 12, - ], - [ - 7, 11, 42, 34, 10, 0, 11, 26, - 24, 12, -18, 45, 7, 7, 22, 21, - -4, -8, -17, 1, -22, -15, -7, 1, - -10, 16, 2, 5, -14, -2, -3, 0, - 12, -3, 3, 14, 8, 11, 2, 7, - -17, -8, 3, 6, 6, 14, -8, 28, - -13, -38, -33, 4, -7, 11, 9, 3, - -32, -39, -154, 12, -4, -9, 7, 19, - ], - [ - 10, 37, 8, 47, 26, -10, 23, 30, - 12, 16, -1, 7, 31, -12, -9, 17, - -18, -8, -6, -2, -5, -3, -8, 4, - -13, -7, -15, 33, 1, -2, -21, 11, - 1, 2, 12, 16, -10, -10, 6, -2, - 2, 14, 6, 21, -6, -3, -1, 12, - 1, -7, -15, 24, -7, -13, -9, -6, - -16, -21, -20, -99, -12, -16, -23, 8, - ], - [ - 32, 21, -8, 10, 5, 42, 7, -2, - 33, 33, 14, 27, 18, 19, 14, 2, - 34, 8, -3, -16, -4, -8, 15, -23, - 21, -2, 15, -0, -8, -8, -11, 7, - 29, 7, 16, 2, 10, -19, 10, -21, - 29, 5, 14, 5, -0, -5, -0, -12, - -3, 12, -18, -24, -22, -13, -14, -26, - 4, -13, -3, -23, -136, -29, -15, -32, - ], - [ - 32, 26, 8, 9, 1, 20, 27, -0, - 24, 20, 9, 13, 4, -6, -9, -0, - 9, 13, 9, -0, -5, -6, -3, -2, - 12, 12, 6, -10, 5, -5, -9, -1, - 17, 30, -7, 3, 9, 7, 6, -14, - 5, 12, 12, 1, 12, -9, -14, -7, - 7, 30, 2, -13, -15, -16, -36, -26, - 4, 6, -2, 4, -5, -132, -31, -38, - ], - [ - 24, 22, 20, 11, 4, 4, 4, 15, - 16, 21, 16, 19, 11, 5, 3, 3, - 16, 2, 6, 1, -5, -17, -20, -8, - 11, 7, 4, -5, 1, 2, 7, 1, - 14, 14, 5, 4, 12, 12, -5, -3, - 16, 11, 9, 8, 5, 9, -3, -22, - 6, 7, 3, 4, 3, -5, -27, -35, - 13, 9, 5, 4, 1, 4, -235, -46, - ], - [ - 8, -2, 18, 15, -6, 0, 12, -15, - 8, -2, -6, 9, -7, -7, -14, 9, - 7, 3, 5, -10, -10, -17, -26, -27, - 6, -3, -2, -9, -10, -2, -3, -27, - 16, 19, -3, -9, -13, 17, 14, 21, - 26, -2, 9, 5, -0, 14, -6, -21, - 5, 7, 9, -1, 15, 9, 4, -35, - 26, 21, 6, 17, 6, 5, 32, -110, - ], - [ - -8, -5, -19, 6, 17, 5, 7, 6, - -5, -8, -22, -3, -9, 7, 17, 12, - -20, -3, -12, -15, -9, -4, 13, 5, - 0, 6, -2, 11, 17, 12, 5, 9, - -11, 11, 11, 15, -5, 15, 13, 5, - 2, 4, -2, 10, 5, -1, 8, 8, - -16, 15, -8, 7, -5, -1, -9, -8, - -15, -8, -13, -6, -11, -17, -6, 2, - ], - [ - 9, 13, 13, -4, 16, 1, -6, 11, - 2, -5, -12, -3, -9, 11, 9, -1, - 5, -11, -9, 3, 5, 16, 4, 11, - 1, -10, 1, -3, 1, 11, 3, 7, - -0, 10, 13, -0, 13, 9, 13, 8, - -7, 4, -1, 6, 1, 2, -15, -6, - -7, -12, 16, -10, -5, 4, -29, -6, - -7, -5, -23, -10, -11, -20, -10, 4, - ], - [ - 15, 11, 8, -10, -3, -24, -27, 11, - 4, 11, 11, -16, 19, -8, 1, 11, - 10, 0, 13, -2, 2, -5, 4, 9, - 5, 4, 7, 6, 2, -13, 7, 8, - 7, 0, 13, 7, 25, -9, 12, 2, - 5, 4, 21, -16, 4, -3, -9, -11, - -3, -4, -1, 17, -2, -30, -6, -18, - -12, -2, -1, -8, -17, -34, -3, -4, - ], - [ - 18, 23, 5, -2, -8, -29, -6, 11, - 12, 23, 13, -2, 3, -6, 10, 6, - 10, 14, 12, -0, -8, -15, 7, 6, - 4, 12, 15, 5, 14, -21, 15, 5, - 6, 11, 14, 0, -2, 10, 16, -4, - -5, -5, 1, -8, -14, 6, -3, -9, - -19, -8, -8, -2, 1, -8, -9, -11, - -12, -4, -7, -14, -32, -29, 1, 2, - ], - [ - 16, 14, 11, 2, -3, -0, -1, -9, - 18, 18, 18, -2, 5, -5, 0, -2, - 16, 17, 1, 8, 3, -7, 3, -5, - 20, 5, 20, 6, 6, 4, -8, -8, - 8, 9, 10, 9, 9, -2, -9, -11, - 1, -7, -2, 1, 1, -20, -4, -19, - -2, 2, -5, -2, -6, -11, -15, -18, - -8, -7, -7, -9, -15, -25, -4, -4, - ], - [ - 16, 21, 7, -15, -17, -11, -13, -20, - 13, 17, 1, -2, 1, -9, -6, -9, - 7, 4, 2, -2, -16, -10, 8, -17, - 15, 12, 1, -6, 6, 2, 4, -13, - 12, 15, 2, -5, 15, 11, 6, -4, - 14, 7, 10, -6, 1, 4, -2, -9, - 3, -2, 1, -4, -5, -9, 49, -11, - -13, -7, -10, -11, -11, -17, 11, -7, - ], - [ - 8, 7, 11, -10, 1, -9, -7, -19, - 1, 8, 8, 11, -6, -1, -6, -19, - -2, 1, 1, 0, -6, -10, -14, -25, - 6, -6, 7, -5, -3, 9, 11, -3, - 12, -2, 1, 22, 11, 21, 2, -5, - 7, -4, -2, 5, -6, 10, 1, 21, - -7, 1, 2, -1, -3, 8, 0, 39, - -20, -10, -6, -10, -10, -4, 6, -19, - ], - [ - 1, 6, -15, 17, 7, -23, -19, -2, - -38, -18, -6, -4, -23, -38, -4, -23, - -5, -2, 28, 13, -5, -15, -19, -24, - 6, 18, 5, 13, 5, -23, -2, 8, - 18, 51, 25, 17, 6, -2, 21, 8, - -6, 40, 27, 32, 34, -3, 4, -6, - -23, 17, 23, 1, -4, -18, -47, -28, - 4, -16, 2, 9, -12, -15, 16, 2, - ], - [ - -26, -8, 13, -1, -28, -29, -38, -14, - -17, 17, 7, -28, -12, -18, -25, -21, - 8, 18, 11, 3, -0, -12, -8, -24, - 18, 47, 28, 27, -16, -9, -7, -21, - 13, 22, 20, 15, 21, 14, 19, 8, - -1, -22, 19, 10, -2, -14, 13, -45, - 23, 5, 24, 26, 4, -27, -17, -57, - 23, 9, 55, 4, 5, -30, 19, 11, - ], - [ - -23, 9, 16, 15, -15, -54, -37, -12, - -32, 14, 17, 18, -22, -16, -29, -19, - -11, -4, 8, -2, -26, -2, -18, -6, - 16, -2, 22, 42, 9, -25, -19, -8, - -32, 8, 22, 32, 13, 9, -27, 2, - -5, 20, 4, 30, -13, 11, -20, -10, - -21, -17, 9, 29, -20, 9, 3, 6, - 46, 36, 20, 50, -10, -24, -1, 37, - ], - [ - -14, -19, 13, 16, 11, -34, -18, -20, - -34, -5, 20, 22, -9, 8, -18, -15, - 2, -5, -13, 4, 8, 6, -10, -12, - -2, 6, 27, 31, 23, 3, -6, -17, - -25, -23, 3, -0, 9, 5, 15, -18, - -4, -25, 8, -4, 38, 7, -4, 14, - -16, -1, 4, -5, 29, -8, -20, -36, - 11, 16, 17, 9, 52, -21, 12, 14, - ], - [ - -15, -1, 30, 5, 7, -24, -19, -17, - -20, -11, 1, -16, 42, -5, -25, -32, - 13, -3, 26, 0, 28, -4, -13, 7, - -14, 20, 30, 3, 16, -13, 6, -19, - -25, -6, 15, 0, 1, 10, -17, 5, - -22, -13, 32, 30, 11, -13, -16, -10, - -20, -6, 6, 14, -13, -15, 5, -2, - -3, 2, 6, 37, 24, 1, -14, 10, - ], - [ - -1, 11, -0, 8, -6, 33, 27, -45, - -1, 3, 17, -5, 6, 13, -18, -21, - 2, 1, -17, 9, -14, 10, 1, -6, - -19, -7, -1, 4, 0, 6, 29, -11, - -12, 2, 4, 10, 8, 3, -1, 4, - -37, 0, -4, 15, 10, -23, 14, -11, - -17, -10, 20, 16, 16, 1, -3, -19, - -19, 15, -8, -24, 12, 7, 11, 8, - ], - [ - 3, 3, -9, -5, -13, -3, 1, -24, - -15, -4, 1, 18, 0, 29, -9, -3, - -15, 10, -13, 14, -2, 3, 12, -24, - 4, 2, -12, 18, -16, -8, 4, -3, - 8, 6, 8, 3, 8, 12, 13, -16, - 8, 5, 15, 19, -36, 21, -6, 7, - -5, -17, 8, -21, -13, -13, -10, -16, - 11, 14, 6, 17, -8, 14, -9, 27, - ], - [ - -2, -12, -16, 6, -37, 9, -5, -3, - 6, -14, -16, 3, -34, -3, -7, 3, - 6, -9, -22, 14, 1, 8, 1, 36, - -2, -2, 4, 20, -4, -1, 3, 9, - -11, -10, -1, 29, -14, -24, 23, -17, - -21, 5, -25, 8, 28, 17, 17, 1, - -2, -8, -35, 9, -25, -15, -11, 5, - 29, 0, -15, 20, 12, 2, 26, 62, + 6, 28, 4, -14, 21, -4, -9, 3, + -26, -15, 18, 7, -0, -19, 5, 5, + -8, 7, 8, -1, 6, -4, -21, 8, + 4, -7, -16, -11, -6, -14, 11, -4, + -25, 16, 17, 12, 13, 8, -1, 12, + -33, 18, -2, -1, 5, 11, 5, 20, + -22, 21, 24, 10, 13, 7, 1, 4, + -39, 1, -8, -14, -16, -21, -10, 11, + ], + [ + 21, 32, 8, 26, -3, 11, 19, 19, + 6, -6, 4, 16, 11, 8, 21, 20, + -20, 9, -1, 3, -26, 3, -32, 20, + -6, -14, 14, 4, -8, -10, -14, 9, + -8, -17, 15, 24, 3, 8, -13, 7, + -12, 19, 3, 15, -15, -3, 3, 5, + -37, -12, -6, 12, -3, 1, 8, 4, + -44, -116, 10, 14, -5, -10, -5, 11, + ], + [ + 9, 10, 41, 34, 12, -1, 13, 26, + 24, 11, -18, 44, 9, 9, 23, 21, + -4, -8, -20, 0, -21, -17, -7, 1, + -9, 17, 1, 7, -16, -3, -4, 0, + 14, -3, 0, 15, 8, 10, 4, 6, + -17, -6, 1, 7, 6, 15, -11, 26, + -14, -37, -35, 3, -5, 12, 9, 2, + -31, -36, -155, 12, -3, -9, 8, 19, + ], + [ + 8, 38, 8, 48, 23, -11, 26, 30, + 13, 16, 2, 9, 28, -11, -12, 15, + -19, -8, -3, -2, -2, -4, -9, 6, + -13, -9, -14, 34, 0, -2, -19, 11, + 2, 1, 13, 16, -11, -11, 4, -2, + 2, 11, 5, 21, -7, -4, -1, 13, + 2, -7, -15, 23, -9, -14, -8, -3, + -15, -21, -18, -101, -13, -17, -23, 7, + ], + [ + 34, 22, -11, 9, -2, 43, 10, -1, + 34, 33, 14, 28, 11, 18, 12, 1, + 37, 7, -1, -15, -4, -6, 11, -20, + 21, -2, 16, -1, -9, -6, -11, 8, + 29, 7, 13, 2, 8, -16, 9, -19, + 30, 7, 13, 6, -3, -2, -3, -11, + -3, 11, -18, -24, -23, -12, -16, -21, + 9, -13, -5, -23, -139, -28, -16, -29, + ], + [ + 31, 25, 6, 8, 1, 18, 26, -1, + 24, 21, 10, 13, 8, -6, -8, 1, + 10, 12, 6, -1, -6, -6, -4, -0, + 11, 10, 7, -8, 6, -7, -8, -1, + 15, 32, -7, 3, 12, 3, 9, -12, + 6, 11, 9, 1, 11, -9, -13, -9, + 6, 29, 0, -12, -15, -18, -35, -24, + 3, 6, -4, 4, -5, -133, -27, -36, + ], + [ + 24, 20, 23, 10, 2, 5, 2, 15, + 17, 22, 18, 19, 11, 5, 2, 5, + 15, 1, 6, 1, -5, -17, -22, -8, + 11, 7, 4, -5, 1, 1, 5, 2, + 14, 13, 6, 5, 12, 11, -5, -4, + 14, 11, 9, 9, 5, 10, -2, -21, + 5, 8, 4, 4, 3, -5, -28, -34, + 13, 9, 5, 4, 1, 4, -235, -43, + ], + [ + 9, 1, 17, 16, -5, 0, 9, -16, + 7, -2, -6, 9, -6, -8, -16, 7, + 10, 4, 6, -10, -12, -17, -24, -25, + 5, -4, -2, -8, -12, -1, -1, -28, + 14, 20, -1, -5, -14, 16, 15, 20, + 25, -2, 10, 7, -2, 14, -6, -20, + 4, 8, 10, 0, 14, 10, 5, -37, + 25, 20, 6, 18, 5, 5, 31, -110, + ], + [ + -7, -1, -18, 8, 17, 5, 6, 4, + -5, -5, -23, -1, -7, 6, 18, 12, + -19, -1, -11, -14, -8, -7, 13, 5, + 1, 6, -3, 9, 16, 11, 4, 9, + -8, 14, 11, 15, -3, 14, 14, 3, + 2, 4, -2, 9, 4, -3, 6, 7, + -14, 13, -9, 6, -3, -3, -9, -8, + -16, -8, -15, -7, -11, -17, -6, 3, + ], + [ + 8, 13, 15, -5, 18, -1, -7, 13, + 3, -6, -11, 0, -7, 13, 7, -0, + 4, -12, -9, 6, 5, 16, 3, 11, + 2, -8, 2, -3, -0, 11, 1, 5, + 1, 10, 11, 1, 12, 10, 13, 9, + -8, 4, -1, 6, 0, 2, -15, -5, + -8, -12, 17, -10, -6, 3, -30, -6, + -9, -5, -24, -9, -11, -21, -12, 3, + ], + [ + 16, 10, 8, -14, -2, -22, -24, 10, + 3, 12, 9, -16, 18, -6, 1, 10, + 9, -1, 15, -3, 3, -3, 5, 10, + 5, 3, 7, 7, 2, -12, 9, 9, + 6, 1, 15, 5, 25, -8, 13, 2, + 4, 2, 21, -16, 4, -3, -6, -10, + -4, -4, -0, 16, -2, -30, -5, -18, + -11, -2, -1, -9, -17, -33, -4, -3, + ], + [ + 18, 23, 5, -3, -12, -30, -8, 10, + 12, 22, 13, 1, 2, -6, 11, 7, + 8, 14, 11, 3, -8, -12, 7, 5, + 4, 12, 15, 5, 15, -18, 15, 6, + 6, 12, 14, 1, -3, 9, 15, -4, + -5, -4, 1, -7, -14, 6, -4, -10, + -20, -8, -8, -1, 1, -8, -9, -12, + -12, -3, -7, -13, -32, -30, 1, 3, + ], + [ + 14, 13, 11, -1, -3, 0, -0, -9, + 18, 18, 18, -1, 7, -3, -2, -2, + 15, 17, 1, 7, 4, -6, 3, -3, + 19, 5, 20, 6, 6, 5, -10, -8, + 8, 8, 10, 9, 10, -1, -8, -10, + -2, -7, -2, -0, 0, -20, -4, -19, + -2, 1, -5, -2, -7, -9, -16, -18, + -8, -6, -7, -10, -15, -25, -4, -4, + ], + [ + 18, 19, 8, -14, -17, -13, -13, -20, + 14, 17, 2, -3, 2, -11, -6, -9, + 8, 4, 2, -3, -17, -9, 8, -16, + 15, 12, 2, -5, 6, 3, 4, -14, + 14, 14, 2, -4, 15, 11, 6, -4, + 15, 7, 11, -6, 1, 3, -1, -10, + 4, -2, 1, -3, -5, -9, 47, -11, + -13, -8, -11, -12, -11, -17, 10, -7, + ], + [ + 8, 8, 12, -10, 0, -10, -8, -20, + 2, 7, 9, 10, -6, -1, -4, -19, + -2, 1, 2, -1, -7, -10, -14, -25, + 6, -6, 9, -3, -3, 9, 9, -2, + 12, -3, 2, 23, 9, 21, 4, -2, + 6, -5, -1, 5, -5, 10, 2, 19, + -6, 0, 3, -2, -2, 7, 2, 37, + -18, -10, -7, -10, -11, -6, 5, -18, + ], + [ + -0, 4, -16, 15, 10, -20, -18, -5, + -38, -16, -7, -4, -22, -35, -4, -23, + -7, 0, 29, 14, -3, -15, -18, -28, + 5, 20, 5, 15, 5, -25, -1, 6, + 20, 51, 19, 17, 6, -4, 20, 6, + -9, 44, 28, 35, 33, -2, 7, -3, + -21, 16, 23, 3, -8, -16, -48, -28, + 3, -14, 4, 8, -13, -14, 16, 0, + ], + [ + -25, -5, 13, -2, -31, -35, -40, -15, + -18, 17, 4, -24, -21, -23, -30, -25, + 6, 23, 9, 4, -3, -14, -6, -22, + 16, 51, 22, 26, -13, -9, -6, -23, + 12, 23, 22, 18, 21, 14, 18, 10, + -1, -20, 23, 11, -4, -12, 12, -43, + 23, 5, 29, 30, 6, -30, -18, -55, + 15, 11, 59, 6, 9, -29, 18, 14, + ], + [ + -24, 10, 19, 14, -15, -51, -34, -12, + -34, 13, 17, 14, -27, -20, -30, -21, + -11, -7, 8, -2, -25, -5, -20, -10, + 19, -1, 24, 41, 8, -24, -16, -8, + -34, 8, 24, 32, 11, 10, -27, 2, + -6, 16, 4, 29, -12, 11, -19, -9, + -21, -16, 12, 28, -15, 8, 2, 3, + 44, 35, 23, 52, -7, -21, 1, 36, + ], + [ + -14, -16, 13, 12, 10, -34, -17, -18, + -35, -6, 16, 22, -11, 2, -22, -18, + 2, -7, -11, 6, 9, 6, -10, -14, + -2, 6, 24, 31, 25, 8, -4, -16, + -25, -24, 4, -1, 10, 6, 16, -16, + -4, -26, 10, -3, 38, 9, -3, 15, + -16, -2, 4, -4, 29, -7, -19, -36, + 11, 15, 16, 11, 53, -19, 12, 13, + ], + [ + -16, -2, 29, 8, 8, -23, -19, -17, + -20, -14, -4, -21, 40, -7, -26, -30, + 13, -4, 23, 4, 29, -5, -13, 8, + -14, 20, 29, 4, 17, -13, 6, -19, + -22, -5, 14, 5, 3, 10, -19, 7, + -21, -13, 30, 29, 12, -13, -16, -9, + -19, -7, 5, 14, -11, -12, 5, -1, + -1, 1, 4, 40, 25, -0, -13, 11, + ], + [ + -0, 13, 2, 10, -7, 34, 26, -44, + -5, -0, 13, -10, -1, 14, -21, -20, + 0, 1, -15, 6, -13, 11, 2, -6, + -20, -6, 0, 10, -1, 2, 27, -10, + -13, 1, 7, 8, 10, 4, -6, -0, + -36, 1, -2, 15, 8, -18, 15, -11, + -18, -8, 21, 17, 14, 3, -3, -18, + -16, 14, -3, -21, 11, 10, 14, 8, + ], + [ + 5, 6, -12, -6, -9, -5, 5, -20, + -19, -5, -6, 15, -6, 22, -7, -1, + -17, 8, -13, 13, -1, 1, 19, -25, + 1, 6, -15, 18, -19, -10, 1, -2, + 7, 9, 11, 5, 12, 14, 13, -17, + 9, 11, 15, 21, -31, 14, -4, 5, + -5, -16, 3, -22, -11, -13, -11, -18, + 8, 15, 7, 20, -6, 17, -7, 21, + ], + [ + -2, -8, -13, 5, -34, 7, -1, -7, + 6, -16, -16, 0, -31, -6, -5, 3, + 6, -7, -19, 11, 1, 8, 1, 29, + -2, -1, 6, 16, -3, -3, 4, 9, + -10, -8, 1, 28, -13, -23, 20, -18, + -20, 5, -21, 9, 28, 20, 14, -0, + -3, -8, -31, 7, -23, -17, -13, 1, + 29, 0, -11, 18, 14, -0, 24, 63, ], ]; internal static readonly short[][] MiddleGameQueenTable = [ [ - 45, 47, -30, -72, 33, 10, -30, -2, - 24, 18, -6, -29, -11, -19, 36, -15, - 32, 35, 5, -54, -20, -11, 21, 2, - 19, 33, 3, 12, -1, 12, -22, -13, - 15, 40, 5, 2, 12, -1, -1, -36, - -9, -0, 6, 1, -0, -5, -3, -24, - -15, 6, 2, -0, -7, -3, -15, -35, - 14, -18, 16, -4, 14, 17, -10, -12, - ], - [ - 29, 28, 48, 10, 6, 26, -15, -48, - -11, 13, 18, -44, -5, -6, -19, -1, - 17, -21, -19, 7, -11, 4, -10, -11, - 6, -1, 19, 5, -13, 9, -8, 13, - 21, 17, 9, 1, 7, 2, 12, -4, - 3, 10, 4, -4, 5, -3, 5, 11, - -25, 6, 17, 16, 7, 9, 12, 4, - -34, -226, 20, 17, 18, 15, 18, 15, - ], - [ - -23, 4, -42, -18, 2, 1, -41, -19, - -7, -20, -23, -12, -40, -2, -1, 4, - -15, 5, -41, 15, -14, 3, -3, 10, - 12, 12, 1, 8, 3, 18, 11, 11, - 12, 9, 20, 19, 17, 9, 15, 4, - 13, 14, 16, 8, 16, 8, 14, 16, - 1, 17, 28, 24, 17, 14, 14, 0, - -4, 18, -242, 25, 15, 19, 27, 22, - ], - [ - -10, -31, 9, 60, 71, -23, -45, -13, - -10, -35, -30, -21, 16, -64, -27, -3, - 33, 4, -64, 4, 9, -13, 5, -10, - 40, 10, 16, 9, 11, 25, 14, 9, - -15, 23, 11, 0, 15, 1, 24, 5, - 8, -6, 15, 2, 13, 11, 16, -2, - 1, 5, 2, 11, -1, 9, 11, 18, - -6, 4, 12, -165, 9, 15, 13, -5, - ], - [ - -46, -27, -29, 56, 11, 49, -3, -30, - -4, -40, -32, -35, -9, -10, -23, -5, - -1, -17, -34, -10, -54, -26, -9, -11, - 16, 13, 22, -11, -14, 6, 4, -1, - 18, 21, 2, 1, -9, 14, 3, 30, - 18, 17, 15, 6, 8, 22, 21, 18, - 20, 33, 30, 24, 20, 12, 29, 7, - 17, 27, 25, 17, -214, 12, 18, 29, - ], - [ - -32, -21, 52, 10, 32, 18, -37, 19, - -4, -6, -18, 12, -51, -21, 3, 6, - -5, -11, -9, -8, 24, 9, -1, -9, - 1, -1, -14, 10, 16, 32, 11, 17, - 11, 1, 11, 2, 12, 10, -1, 9, - -4, 6, 16, -2, -5, 11, 6, 5, - -3, -13, 1, 3, 9, 14, -12, 22, - 4, 3, 9, 9, 15, -173, 3, -5, - ], - [ - -10, 11, 37, 31, -7, -1, 47, -25, - 0, -8, -1, -16, -26, -18, -9, 19, - 10, -8, -11, -12, -23, -13, -15, -13, - 16, 17, 8, 3, 2, 13, -3, 10, - 11, 14, 7, 1, 4, 5, 8, 13, - 11, 7, 8, 2, 1, 15, 18, 15, - 13, 12, 7, 6, 10, 18, 8, -26, - 10, 13, 10, 9, 14, 15, -245, -20, - ], - [ - -15, -44, -13, -26, -36, 3, 3, 30, - 10, 6, 8, 14, -23, -6, 3, 44, - 4, -11, 3, -24, -18, -10, 29, -19, - -3, 5, -7, 7, 5, 35, 17, 16, - -2, -2, -12, -5, 28, -9, 32, 13, - -15, -8, 7, 9, -7, 18, 15, 21, - 1, 7, -2, -8, 4, 3, 26, 21, - 10, 7, 7, 3, 12, 10, 26, -197, - ], - [ - -8, 77, 15, 13, 10, 40, 80, 1, - 8, -37, -1, 7, -29, 6, 3, -9, - 2, 4, 15, 6, -14, -26, -23, -57, - 26, -7, -3, 14, 22, -6, 5, -19, - -12, 19, 14, 24, -25, 21, -23, 26, - -21, -10, 15, -24, 7, -3, -13, -10, - -17, -80, 1, 11, -18, -15, -20, 12, - -18, 21, 27, 11, -4, 1, 6, -18, - ], - [ - -56, -20, -3, -33, 28, 61, 14, 24, - 27, 15, 44, 7, -29, 9, 9, -37, - 34, 15, 41, 17, 9, -34, 17, -10, - -26, -6, 8, 19, 31, -10, 5, -12, - -2, -10, -1, 8, -7, 3, 6, -25, - -15, -7, -12, -8, 9, 9, -22, -8, - -26, -28, -33, -12, 0, -9, -5, -1, - 2, -14, -11, 16, -8, 22, 18, 12, - ], - [ - 2, -62, -8, 26, 33, -30, -46, -59, - -13, -44, -53, 28, -5, 18, 18, 14, - -17, -44, -22, 1, 26, 5, -25, 12, - 3, 21, 17, -9, 50, 5, 13, 20, - -11, 20, 21, 32, 29, 25, 8, -19, - 29, 4, 30, 8, 9, 0, 20, -13, - -53, 10, -14, -12, 2, 1, -1, -8, - -7, -1, -18, 3, 11, 14, -2, 8, - ], - [ - -37, -16, -62, -15, 6, -51, -3, -12, - 12, -5, -11, -11, -44, -0, 47, 16, - 8, 27, 9, -37, 12, 14, 15, 19, - -11, 33, 25, 28, 17, 0, 12, 8, - -9, -9, 33, 24, 15, 28, -8, 6, - -14, -2, 1, 11, 4, 4, 17, 41, - -9, -32, 0, -1, -57, -17, -9, 2, - -22, 1, -0, -3, 16, -25, 18, 0, - ], - [ - -79, -14, -85, 13, -48, 58, 34, 7, - -13, -19, 14, -35, -12, 42, 16, -0, - -19, 19, -28, 48, 56, 66, 24, 24, - -3, -4, 10, 2, 47, -15, 19, 1, - -18, -13, 5, 20, 39, 12, 21, -4, - -11, -9, 3, 10, 26, 4, -1, -12, - -2, -3, -6, 8, -7, -114, -16, -16, - -14, -3, 14, 2, 2, -37, 12, -22, - ], - [ - 13, 6, 72, 34, 29, -61, 15, -1, - -26, -14, 26, 15, 22, 6, -13, 47, - -16, -11, 1, -14, 22, 24, 4, -1, - -12, 16, 25, 21, 29, 36, 3, 3, - -0, -7, -4, 1, 11, 12, 6, -28, - -15, -16, 0, -1, -14, 21, 9, -23, - -3, -18, -8, -16, 0, 2, -51, 1, - -31, -6, -20, -4, -1, -29, -27, -44, - ], - [ - -11, -1, 21, 0, 10, 31, 59, 33, - -22, -18, -8, 16, 33, 70, 78, 46, - -16, -22, -6, 4, -5, 30, 10, 4, - -31, -28, -14, 0, 31, 5, 26, 2, - -25, -22, 1, -19, -1, 1, 18, 18, - -16, -23, -13, -17, -10, 8, 19, 5, - -29, -15, -18, -15, -10, 9, -5, -61, - -20, -16, -18, -6, -11, -13, -13, -11, - ], - [ - -7, 22, 2, 33, -17, -38, -13, 17, - 9, 54, 35, -49, 1, -27, -15, -30, - 2, 12, 64, 15, 6, -25, -39, 66, - -67, 15, -26, 41, 55, -2, 36, -15, - -38, 28, 12, 34, -49, -40, -9, -12, - -19, 21, 8, 41, 11, 11, -34, -51, - -51, -21, 36, 19, 18, -47, 14, 49, - -46, -66, 12, 1, 34, 2, 15, 2, - ], - [ - -3, -44, 12, 5, 12, -23, -20, -51, - 21, 13, 8, -14, 17, -29, 18, -18, - 7, 15, 44, 4, 0, 4, -33, -17, - 33, 8, 55, 52, -14, 3, 6, -43, - 28, 25, -14, 58, 55, 7, 60, 13, - 12, 31, -7, -12, 31, -15, -20, -28, - -11, -27, 22, -6, -42, -25, 16, -4, - 23, -21, -31, -63, -14, -42, 4, -30, - ], - [ - -16, -79, -29, 17, -20, -69, -12, -3, - 32, -17, -22, -5, 21, 44, -46, -34, - -0, 22, 6, 29, 3, -10, 16, 23, - -6, 9, 37, 35, 37, 14, -5, -2, - 54, -16, 32, -19, 6, 24, -2, 56, - 32, 2, 7, -7, 14, 5, -23, -38, - 11, 5, -46, -36, -8, 14, 29, 20, - 25, 33, -10, -75, -17, 0, -24, -17, - ], - [ - -19, -9, -34, -4, 30, -30, 33, -3, - 6, -7, 41, 6, 2, 10, 5, 4, - 16, 10, 36, -23, -14, -2, 5, -3, - 56, 35, 6, 17, -35, 26, 19, -6, - -15, -10, -14, -26, 16, 26, 61, -10, - -3, 13, -17, 23, -84, -62, -13, 4, - -30, -5, -6, 1, -19, 22, 17, -22, - 7, 18, 20, -96, -9, 30, 3, 8, - ], - [ - -22, -14, 7, -0, -31, -21, -7, 0, - 21, -38, -7, 28, -18, 20, 6, 13, - -19, 50, -21, -13, -16, 34, 14, 52, - -10, -12, 32, 2, -2, 4, -18, 45, - 9, -26, 37, -4, 12, 7, 3, -22, - 1, -12, -20, -11, -29, -5, 25, 34, - 5, -40, 29, -34, -32, 18, -6, 40, - -32, 30, -7, -67, -20, 18, 12, 27, - ], - [ - -61, -13, -20, -5, 12, -7, -35, -26, - -51, 35, -3, -2, 14, 37, 47, -4, - -3, 4, 40, -21, 5, 26, -21, 5, - 11, 2, -5, 2, 9, 16, 32, 12, - -5, 0, -17, -5, 22, 53, -40, -15, - -30, 10, 4, 18, 0, -34, 38, 10, - 15, 53, -23, -23, 3, -5, -1, 28, - -42, -18, -30, -33, 29, -11, 0, 21, - ], - [ - 10, 19, 12, 44, -21, 18, -39, 29, - -28, -38, -14, -18, 12, 42, -30, -13, - 1, 17, -0, 1, -5, 37, 18, -14, - -40, 42, 6, -2, -24, -4, 48, -11, - -72, 6, 17, 20, 24, 69, -24, 1, - 2, -22, -5, 4, -11, 5, -14, -5, - 30, 16, -36, -20, 28, -8, 5, -26, - -35, -10, -5, -30, 13, 33, -3, 0, - ], - [ - 40, -21, -40, 10, 50, -2, 26, -27, - -53, 8, -0, 38, 20, -10, 9, -4, - -22, 34, 18, -25, -2, 48, 4, 21, - 5, -6, 16, 10, 22, 40, 14, 50, - -50, -11, 0, 14, 70, 6, 6, 12, - -34, -41, -13, 25, 59, -32, 33, -21, - 5, -9, 5, -55, -31, -13, 4, 28, - -72, 13, -30, -52, -61, 9, -11, -22, + 48, 47, -31, -65, 33, 13, -26, -9, + 21, 19, -3, -31, -8, -15, 30, -17, + 31, 38, 8, -54, -19, -13, 21, -4, + 20, 34, 4, 9, -1, 8, -24, -11, + 12, 38, 2, 4, 11, -0, -2, -35, + -11, 0, 5, 2, -2, -1, -3, -23, + -14, 5, 2, -1, -7, -3, -15, -33, + 13, -15, 14, -3, 14, 16, -9, -11, + ], + [ + 26, 26, 49, 9, 0, 24, -7, -50, + -8, 14, 17, -45, -7, -3, -20, -1, + 19, -20, -22, 7, -11, 5, -10, -11, + 6, -3, 19, 3, -10, 9, -9, 13, + 22, 17, 8, 1, 7, 1, 14, -4, + 4, 11, 5, -2, 6, -3, 5, 10, + -26, 5, 17, 17, 6, 8, 12, 5, + -35, -225, 20, 16, 18, 15, 18, 15, + ], + [ + -23, -3, -40, -12, 5, 3, -45, -19, + -6, -17, -30, -14, -38, -2, 0, 5, + -15, 5, -40, 14, -17, 3, -3, 10, + 12, 12, 0, 8, 5, 16, 11, 12, + 11, 8, 19, 19, 16, 10, 19, 3, + 13, 15, 16, 9, 17, 8, 15, 15, + -0, 17, 28, 24, 15, 14, 14, 0, + -5, 19, -242, 24, 15, 19, 27, 21, + ], + [ + -13, -31, 6, 57, 83, -20, -41, -20, + -11, -41, -27, -22, 15, -60, -27, -6, + 31, 3, -63, -2, 8, -15, 3, -11, + 41, 9, 16, 7, 12, 28, 13, 7, + -12, 18, 13, -2, 17, 8, 22, 7, + 9, -5, 16, 2, 15, 10, 20, -2, + -0, 5, 1, 11, -2, 11, 11, 19, + -6, 5, 12, -164, 9, 14, 13, -5, + ], + [ + -50, -29, -20, 45, 15, 45, -1, -32, + -6, -40, -34, -40, -6, -10, -23, -4, + -2, -19, -34, -7, -55, -25, -11, -10, + 15, 13, 19, -11, -14, 5, 3, -2, + 20, 21, 4, 1, -9, 16, 3, 31, + 19, 17, 15, 7, 11, 21, 21, 17, + 20, 34, 30, 24, 19, 12, 29, 9, + 17, 26, 25, 16, -212, 10, 18, 29, + ], + [ + -31, -27, 47, 10, 34, 14, -45, 15, + -8, -1, -17, 13, -56, -21, 0, 11, + -2, -12, -11, -3, 23, 15, 2, -8, + 3, 2, -14, 7, 18, 29, 11, 18, + 10, 3, 11, 2, 12, 10, 3, 9, + -3, 4, 18, -1, -3, 11, 5, 4, + -2, -12, 1, 3, 9, 14, -12, 22, + 5, 4, 10, 7, 14, -172, 2, -4, + ], + [ + -14, 12, 35, 27, -7, 3, 49, -21, + 1, -7, -1, -14, -26, -16, -9, 22, + 10, -10, -12, -12, -24, -12, -13, -15, + 15, 15, 7, 3, 4, 12, -4, 11, + 11, 15, 6, 1, 4, 5, 9, 12, + 11, 7, 8, 3, 2, 15, 18, 14, + 13, 11, 7, 6, 9, 18, 8, -27, + 10, 12, 10, 8, 13, 15, -244, -20, + ], + [ + -17, -32, -16, -25, -31, -4, 3, 25, + 12, 5, 3, 9, -20, -6, 11, 49, + 1, -9, -1, -24, -19, -9, 23, -18, + -2, 7, -4, 5, 6, 37, 16, 16, + -3, -3, -12, -6, 30, -8, 32, 12, + -16, -8, 6, 9, -5, 18, 14, 20, + 3, 6, -2, -8, 3, 3, 27, 23, + 9, 6, 7, 3, 11, 9, 24, -198, + ], + [ + -7, 73, 20, 16, 17, 36, 70, -2, + 10, -40, 4, 8, -27, 8, 3, -10, + 4, 2, 16, 5, -15, -25, -23, -54, + 28, -4, -3, 16, 24, -6, 7, -18, + -14, 17, 15, 23, -26, 18, -21, 27, + -20, -10, 13, -23, 8, -4, -15, -9, + -18, -76, -1, 11, -20, -15, -20, 9, + -18, 21, 25, 10, -7, 1, 6, -18, + ], + [ + -57, -24, -2, -33, 22, 56, 16, 24, + 29, 13, 40, 10, -35, 12, 8, -38, + 34, 10, 38, 14, 8, -35, 16, -13, + -26, -12, 7, 15, 34, -14, 4, -10, + -2, -2, -2, 10, -6, 8, 9, -22, + -20, -5, -9, -9, 11, 11, -21, -8, + -21, -27, -31, -10, -0, -11, -2, -1, + 3, -12, -9, 19, -5, 21, 18, 12, + ], + [ + 4, -55, -11, 29, 31, -22, -43, -60, + -20, -44, -51, 27, -7, 18, 24, 17, + -10, -46, -22, -4, 27, 4, -24, 14, + -4, 22, 17, -13, 49, 8, 8, 22, + -8, 12, 19, 32, 30, 23, 5, -16, + 33, 4, 28, 5, 14, 2, 14, -15, + -55, 12, -11, -21, 2, 4, -1, -4, + -9, -1, -19, 4, 12, 13, -1, 7, + ], + [ + -37, -18, -60, -17, 1, -50, -1, -26, + 13, -7, -9, -14, -31, -2, 39, 10, + 10, 32, 9, -30, 14, 7, 18, 23, + -15, 29, 16, 24, 9, 1, 12, 14, + -11, -2, 29, 26, 19, 34, -7, 4, + -16, -4, 1, 15, 6, 2, 14, 44, + -6, -31, 3, 3, -56, -16, -7, 2, + -21, 2, 1, -1, 14, -21, 19, -1, + ], + [ + -74, -19, -76, 7, -34, 55, 32, 16, + -18, -21, 14, -35, -22, 34, 22, 1, + -18, 18, -28, 47, 55, 64, 30, 19, + -0, -7, 10, 4, 44, -20, 20, -0, + -15, -10, 5, 24, 38, 12, 22, -3, + -10, -10, 4, 10, 26, 5, -1, -12, + -3, -4, -5, 8, -7, -108, -20, -17, + -14, -4, 14, 2, 0, -37, 16, -25, + ], + [ + 10, 5, 62, 28, 34, -54, 22, 0, + -29, -10, 27, 16, 19, 10, -15, 47, + -17, -21, 1, -20, 20, 26, 6, 1, + -14, 17, 24, 19, 32, 33, 5, 5, + -0, -8, -6, 3, 14, 12, 8, -28, + -12, -16, -0, 0, -11, 22, 9, -21, + -2, -19, -9, -17, 0, 4, -51, 1, + -32, -6, -19, -5, -3, -29, -26, -43, + ], + [ + -12, -2, 19, 5, 1, 34, 52, 29, + -20, -13, -9, 14, 29, 66, 75, 46, + -18, -25, -2, 7, -0, 30, 10, 4, + -29, -27, -12, -0, 29, 8, 25, 3, + -28, -19, -2, -17, -1, 3, 19, 17, + -16, -23, -13, -16, -8, 8, 19, 6, + -28, -16, -18, -16, -11, 9, -4, -53, + -21, -17, -18, -6, -12, -14, -12, -13, + ], + [ + -7, 24, 3, 37, -15, -34, -13, 12, + 9, 52, 43, -44, 1, -26, -11, -31, + 3, 16, 70, 22, 8, -23, -39, 61, + -65, 17, -18, 42, 49, 9, 38, -15, + -48, 24, 15, 31, -45, -40, -5, -12, + -17, 8, 10, 34, 13, 6, -32, -46, + -48, -23, 29, 15, 8, -50, 11, 46, + -47, -67, 7, 1, 35, -0, 14, 0, + ], + [ + -0, -45, 9, 4, 15, -26, -23, -41, + 14, 12, 9, -2, 16, -20, 16, -17, + 3, 21, 44, 0, 9, -0, -25, -16, + 36, 8, 56, 51, -12, 2, 1, -43, + 26, 19, -13, 44, 38, 12, 52, 14, + 19, 21, -12, -15, 29, -18, -22, -29, + -12, -25, 20, 3, -48, -24, 16, -3, + 19, -21, -28, -39, -15, -39, 2, -29, + ], + [ + -19, -77, -30, 23, -23, -60, -15, -1, + 28, -14, -15, -7, 16, 29, -40, -37, + -2, 29, 20, 37, 2, -9, 13, 19, + -5, 4, 38, 37, 28, 15, -4, 1, + 53, -17, 34, -16, 5, 16, -9, 58, + 24, -2, 8, -7, 18, 7, -29, -28, + 8, 6, -44, -39, -7, 14, 27, 20, + 29, 28, -13, -76, -17, 1, -21, -14, + ], + [ + -23, -2, -28, -6, 31, -33, 26, 0, + 7, -6, 44, 7, 6, 14, -0, 5, + 17, 10, 31, -27, -11, 1, 3, 1, + 43, 40, 5, 24, -45, 29, 21, -8, + -12, -7, -9, -24, 15, 24, 60, -9, + -11, 15, -17, 21, -81, -60, -22, 3, + -31, -7, -8, 6, -17, 20, 21, -19, + 4, 18, 20, -94, -11, 31, 1, 4, + ], + [ + -16, -17, 6, 1, -37, -19, -7, -0, + 22, -37, -7, 29, -18, 16, 9, 11, + -13, 49, -23, -20, -13, 26, 10, 52, + -13, -12, 33, 5, 0, 4, -23, 43, + 2, -19, 32, -3, 9, 5, 4, -15, + 1, -11, -21, -13, -51, -4, 27, 31, + 5, -38, 40, -21, -25, 19, -8, 39, + -30, 27, -7, -56, -24, 19, 14, 29, + ], + [ + -67, -11, -21, -4, 18, -4, -38, -26, + -50, 33, -10, -2, 17, 36, 47, -5, + -3, 2, 26, -24, 4, 34, -18, 4, + 12, 3, -8, 13, 13, 21, 32, -0, + -2, -0, -13, -7, 22, 56, -46, -13, + -31, 20, 1, 21, -15, -39, 41, 15, + 16, 51, -32, -25, 10, -10, -4, 24, + -41, -14, -26, -29, 34, -8, 2, 19, + ], + [ + 11, 19, 8, 38, -25, 12, -52, 30, + -35, -37, -13, -24, 10, 39, -27, -10, + 3, 18, 7, 4, -6, 37, 20, -9, + -37, 46, 8, 11, -10, -4, 41, -15, + -70, 10, 20, 10, 21, 60, -22, -5, + -5, -20, 8, 5, -20, 4, -9, -3, + 31, 25, -33, -16, 22, -14, 4, -24, + -43, -7, -4, -30, 16, 33, -4, -1, + ], + [ + 46, -12, -31, 10, 31, -6, 23, -25, + -50, 6, 4, 42, 21, -11, 11, -8, + -31, 34, 1, -26, -3, 48, 3, 20, + 7, -6, 20, 10, 28, 32, 19, 48, + -47, -6, 7, 18, 57, 5, 0, 16, + -33, -36, -19, 27, 54, -27, 34, -14, + -3, -3, 16, -58, -20, -21, -3, 26, + -70, 5, -28, -46, -61, 10, -8, -27, ], ]; internal static readonly short[][] EndGameQueenTable = [ [ - -10, -40, 34, 50, -74, -32, -13, -5, - -33, 6, -0, 22, -12, -3, -54, 10, - -12, -40, 3, 63, -11, -25, -37, -43, - 30, 18, 34, -2, 32, -1, 20, 26, - 2, -8, 30, 19, 13, 20, -8, 38, - 14, 18, 18, 10, 11, 7, -0, 65, - -75, -43, 8, 16, 12, -4, 20, 65, - -106, 5, -36, -4, -19, -68, 22, 58, - ], - [ - -24, 21, -35, 6, -45, -10, -5, 63, - 36, -31, 6, 27, 19, -22, 22, 4, - -13, 31, 53, -4, 26, -35, 1, -1, - 45, 67, 2, 32, 61, -2, 35, -28, - -19, 34, 32, 37, -5, 5, 4, 6, - -16, -6, 34, 12, -9, 11, -2, -21, - -9, -42, -24, -5, 3, -19, -25, 20, - 25, -218, -43, -34, -18, -10, -1, 2, - ], - [ - 30, 7, 32, 51, -4, -11, 12, -28, - 5, 41, 48, 23, 46, -25, -6, 20, - 66, -2, 74, -21, 38, 23, -21, -20, - 52, 42, 68, 38, 47, -2, 8, -3, - 25, 31, -4, 15, -16, -15, -15, -11, - -38, 16, 7, 21, -15, 25, -5, 18, - -31, -40, -43, -11, -2, -13, -8, 4, - -35, -100, -232, -67, -8, -44, -11, -27, - ], - [ - -9, 53, 15, -26, -20, -6, 52, -47, - -28, 74, 73, 43, -11, 57, 25, -9, - -49, 34, 100, 2, 36, 25, 2, 2, - -38, 22, 18, 31, 1, 3, -6, -6, - 31, 9, 18, 14, 16, 61, -34, 6, - -19, 5, 15, 8, 3, -3, -13, 12, - -34, -39, -23, -29, -6, -26, 3, -34, - 17, -35, -71, -156, -61, -57, 3, 7, - ], - [ - 46, 48, 47, -13, 37, -44, 27, 4, - -11, 28, 24, 48, 16, 22, 17, 22, - 20, 38, 31, 50, 54, 35, 3, 5, - -17, -15, 28, 66, 83, 24, 12, 35, - -20, -11, 16, 61, 35, 25, 35, -39, - -17, -26, 1, 20, 27, -1, -40, 9, - -39, -62, -58, -27, -34, -16, -81, -2, - -3, -59, -48, -37, -232, -65, -31, -52, - ], - [ - 22, 11, -31, -17, 1, -15, 7, -25, - -38, -24, -14, 14, 49, 24, -9, 1, - 20, -29, -9, 23, -14, -26, 1, 22, - -20, 38, 27, 15, 19, 6, 56, 19, - -25, 9, 13, 37, 48, 20, 53, 11, - 18, -13, -1, 21, 40, 35, 14, 9, - -28, 11, 18, 32, 4, -39, 2, -38, - -40, -27, -15, -23, -23, -217, -38, 34, - ], - [ - 17, -12, -37, -38, 16, 1, -32, 33, - 3, -8, -3, 7, 29, 26, 15, -4, - -6, -0, 2, 11, 25, 32, 50, 28, - 1, -4, 10, 15, 33, 15, 53, 16, - 15, 4, 5, 8, 16, 21, 22, 20, - -1, 2, 2, -3, 2, 11, 4, -20, - -3, 15, 8, 8, 9, -34, -45, 10, - 22, 11, 7, 13, -4, -32, -399, 12, - ], - [ - 20, 30, 21, 11, 40, -1, -24, -29, - -37, -39, -20, -30, 17, 1, 3, -60, - -12, -20, -26, 15, 16, 70, -24, 44, - 24, 12, 14, 3, 34, 1, 13, -1, - -15, 4, 49, 9, -15, 63, -4, 13, - 13, -15, 4, -20, 15, 7, 13, -19, - 2, 16, 13, 49, 26, 20, -39, -68, - 33, -5, 7, 14, 2, -9, -27, -200, - ], - [ - 14, -62, -12, 3, -37, -25, -83, -5, - 5, 22, 19, -2, 35, -17, -18, -19, - 16, 26, 22, 31, -13, 18, -10, 49, - 2, 39, 48, 34, 9, 17, -2, 30, - 49, 21, 35, 19, 53, 10, 25, -18, - -38, -1, 9, 58, -2, 15, 15, 38, - -60, -26, -23, -3, 0, 21, 27, -25, - -41, -149, -88, -43, -6, -16, -0, 7, - ], - [ - 52, -6, -4, 57, 13, -56, -33, -44, - -5, 11, -21, 16, 37, -51, -37, 47, - -41, 5, -16, 7, -0, -5, -42, -20, - 30, 49, 23, 56, 14, 24, 14, 4, - 8, 31, 47, 23, 41, 3, 1, 35, - -0, 9, 45, 33, 17, 10, 44, 23, - 21, -9, -19, 13, -5, -18, -8, -20, - -51, -80, -27, -107, -46, -53, -21, -14, - ], - [ - -11, 29, 20, -37, 8, 16, 19, 53, - 4, 58, 68, -6, 39, -23, -56, -3, - 26, 56, 24, 14, 21, 9, -23, 14, - 13, 3, 54, 65, 21, 29, 17, -15, - -2, -2, 17, 30, 15, 28, 4, 10, - -49, -21, 5, 7, 17, 17, -18, -3, - 20, -79, -20, -58, -19, -14, -44, 4, - -39, -43, -48, -84, -79, -57, 12, -13, - ], - [ - 68, 32, 71, 51, -17, 36, -1, 9, - -14, -3, 8, 21, 47, -2, -56, -17, - 17, -25, -5, 55, -4, -5, -31, -40, - 23, 3, 9, 31, 26, 53, -9, 2, - 40, 38, 6, 29, 50, 14, 39, 4, - 3, -15, 20, -8, 22, 22, -17, -75, - -7, 37, -10, -38, 3, -21, -3, -69, - 9, -44, -44, -59, -110, -24, -75, -49, - ], - [ - 34, 18, 37, 5, 40, -49, -41, -12, - -2, -31, -16, 23, 59, -42, -35, -12, - 14, -31, 14, -29, -25, -51, -19, -18, - 4, 20, 1, 16, -10, 40, 14, 15, - 1, 17, 16, 12, 8, 19, 15, 44, - 17, -3, 23, 3, -12, 9, 2, 19, - -33, 2, -9, -9, -7, 13, -38, 24, - -2, -8, -37, -42, -11, 32, -38, 39, - ], - [ - 2, -10, -38, -35, -8, 47, -29, 14, - 20, -16, -43, -12, -19, -7, -0, -40, - 10, -22, -23, 9, -14, -16, -10, -16, - 8, 1, -17, 4, 0, 12, 21, 13, - -6, 18, 17, 8, 12, 23, 24, 53, - -21, 22, -5, 7, 27, 1, -1, 45, - -14, 23, 3, 20, 9, -35, -25, -28, - 35, 11, 17, -9, -14, -11, -29, 40, - ], - [ - 7, -15, -14, -4, 5, -21, -44, -26, - 8, -4, -6, -28, -32, -65, -75, -54, - -4, 6, -19, -19, -0, -31, -21, -8, - 28, 37, 34, 7, -7, 33, 18, 26, - 9, 36, 16, 36, 27, 25, 18, 21, - -2, 15, 6, 13, 20, 7, -2, -2, - 42, 31, 10, 25, 20, -22, -35, -43, - 20, 10, -1, -9, 26, -4, 6, -35, - ], - [ - -52, -52, -17, -7, -7, 17, -41, -41, - -2, -23, 1, 20, -2, 3, -41, -64, - 14, 5, 14, 14, -16, 34, -10, -81, - 69, 46, 37, 57, -13, 24, -15, 8, - -0, 38, 14, 34, 94, 63, 17, -32, - -15, 6, 34, -11, 46, 19, 45, 27, - -36, -1, -40, 17, -11, 33, -21, -34, - -59, -34, 22, 37, -16, -22, 5, -98, - ], - [ - -22, -50, -6, -15, -18, 5, -68, -22, - -8, -13, -1, 3, -50, -53, -15, -9, - 43, 32, 20, 26, 6, -15, 25, -32, - 31, 41, 61, 30, -7, -2, -8, -31, - 34, 49, 19, 21, 25, -1, 66, 21, - -14, -21, 15, 12, 64, -30, -35, -21, - -4, -49, 57, 33, -13, 5, 28, -18, - -6, -10, 6, -28, -1, -40, 5, -46, - ], - [ - -49, 28, -53, 7, -18, -43, -37, -38, - 18, -20, -5, 7, -25, 5, -60, -37, - 0, 48, -4, 1, 1, -25, -20, -19, - 14, 28, 72, 40, 7, 18, -16, -35, - 63, -7, 65, 61, 29, -29, 13, 37, - 29, 41, -10, 59, 24, 0, 1, -40, - -3, -4, -49, -51, -1, 12, -1, 13, - -19, 20, -20, 37, -29, -22, -13, 4, - ], - [ - -32, -12, -14, -71, -35, -43, -35, -14, - 25, -6, 9, 64, 9, -35, -19, -10, - 31, 7, 38, -11, -33, 29, 3, -52, - 34, 6, 42, 6, 46, 40, -0, 7, - -9, 26, 5, 11, 41, 16, 46, -1, - 18, 84, -19, -0, -25, -21, -11, -35, - -31, -4, -22, -5, 26, -12, -3, -4, - 16, -21, 39, -21, -19, 11, -27, -24, - ], - [ - -4, -27, -25, -22, -37, -56, -27, -22, - 10, -10, -46, 3, 31, -4, -29, 3, - -22, 37, -8, -3, -20, -1, 1, 21, - 20, -29, 56, 7, 20, 10, 12, 31, - 57, -36, 28, 6, 14, 44, 23, 16, - -13, 23, -24, -16, -17, -12, 22, 50, - 10, -34, 21, -61, -10, 39, -16, 36, - -6, 43, -17, -25, -47, 26, -47, 51, - ], - [ - -21, -32, -44, 6, -18, -65, 19, -54, - -22, 32, 6, -7, 17, 3, -13, -36, - -10, -53, 7, -13, 31, 15, -40, 12, - 24, -15, -15, 31, 38, -12, 38, 34, - -17, -41, 52, 29, 2, 37, -20, -13, - 6, 15, 3, 26, 57, 19, 43, 21, - 5, 54, 12, 24, -21, -40, -6, 27, - -40, -43, -54, -41, 45, -26, 33, 9, - ], - [ - 6, 21, -20, 27, -27, -1, -37, -21, - -33, -34, 13, -9, -19, 14, -22, -0, - 15, -4, -3, -7, -6, 15, 13, -1, - -23, 6, 30, 5, 47, 27, 20, 2, - -18, 23, -44, 39, 14, 47, 34, 18, - 30, -51, 6, -13, 9, 4, -24, 4, - 13, -12, -36, -21, 28, 21, 25, -12, - -64, -9, -9, -24, -17, 62, -38, 26, - ], - [ - 55, -5, 18, 12, 25, -43, -60, -89, - -29, -2, 22, -31, -52, 16, 31, -22, - 2, 49, 6, -9, -9, -9, -1, -32, - -4, 29, 10, 15, -26, 45, 36, 40, - -55, 20, 7, 43, 57, 7, 16, 23, - 5, -5, 37, -31, 90, -21, 15, -38, - -12, -12, 31, -7, -8, 6, -6, 45, - -69, 30, -21, -40, -33, 19, -24, -56, + -13, -42, 31, 47, -72, -29, -14, -3, + -27, 4, -1, 20, -12, -6, -47, 12, + -13, -48, 3, 60, -15, -20, -32, -38, + 29, 13, 26, 2, 28, 4, 18, 28, + 5, -5, 35, 16, 16, 24, -9, 40, + 23, 20, 18, 5, 15, -1, -2, 61, + -67, -42, 9, 14, 10, -4, 21, 65, + -107, 2, -35, -4, -21, -67, 22, 53, + ], + [ + -22, 16, -37, 9, -43, -8, -15, 62, + 31, -31, 10, 28, 18, -23, 24, 8, + -13, 27, 59, -2, 25, -37, 1, -5, + 49, 67, 2, 33, 57, -1, 36, -29, + -21, 32, 33, 37, -4, 11, 2, 3, + -15, -8, 36, 11, -7, 11, -2, -21, + -6, -38, -24, -6, 3, -17, -23, 20, + 26, -218, -43, -33, -21, -10, -1, -0, + ], + [ + 29, 12, 32, 49, -9, -6, 19, -30, + 3, 38, 51, 28, 38, -20, -4, 19, + 68, 0, 67, -14, 44, 23, -19, -17, + 53, 40, 69, 36, 45, -4, 9, -1, + 25, 31, -5, 13, -15, -12, -20, -10, + -39, 13, 8, 20, -15, 25, -6, 21, + -27, -43, -42, -15, -2, -16, -11, 4, + -35, -104, -232, -68, -9, -45, -12, -28, + ], + [ + -1, 42, 18, -23, -24, -7, 49, -43, + -23, 81, 65, 49, -11, 52, 24, -1, + -45, 32, 93, 8, 36, 26, 3, -3, + -43, 24, 15, 34, 1, 4, -7, 1, + 27, 14, 17, 14, 16, 51, -25, 5, + -19, 6, 17, 11, 1, -1, -21, 12, + -34, -38, -20, -30, -5, -32, 9, -40, + 17, -36, -79, -157, -59, -57, 1, 7, + ], + [ + 49, 52, 40, -3, 33, -38, 25, 6, + -6, 32, 29, 50, 16, 22, 12, 17, + 17, 40, 30, 42, 53, 30, 10, 4, + -19, -19, 35, 64, 83, 24, 19, 39, + -23, -16, 8, 61, 39, 23, 36, -40, + -18, -25, 1, 16, 25, -0, -35, 8, + -44, -65, -59, -29, -37, -15, -79, -5, + -1, -55, -49, -35, -232, -62, -32, -52, + ], + [ + 20, 14, -29, -16, 2, -13, 13, -27, + -33, -29, -13, 13, 53, 27, -5, -2, + 20, -29, -3, 16, -13, -30, 2, 17, + -19, 35, 26, 18, 17, 8, 57, 17, + -25, 8, 14, 39, 48, 22, 49, 11, + 17, -12, -3, 21, 37, 39, 12, 12, + -26, 7, 18, 32, 1, -39, -0, -43, + -42, -28, -17, -20, -25, -218, -35, 31, + ], + [ + 19, -11, -37, -35, 14, -3, -33, 29, + 2, -10, -3, 5, 28, 27, 18, -7, + -6, 0, 2, 13, 26, 29, 48, 30, + 2, -2, 11, 14, 31, 17, 53, 15, + 16, 2, 5, 9, 17, 24, 23, 22, + 0, 3, 4, -2, 2, 12, 5, -21, + -0, 14, 8, 8, 8, -33, -43, 10, + 20, 12, 6, 11, -4, -33, -399, 10, + ], + [ + 19, 23, 24, 15, 35, 1, -29, -26, + -41, -37, -15, -23, 13, -1, -9, -67, + -12, -23, -22, 18, 13, 69, -15, 42, + 22, 8, 11, 3, 34, -2, 16, 1, + -12, 6, 46, 10, -15, 63, -0, 17, + 12, -16, 5, -19, 14, 8, 15, -16, + -1, 18, 14, 48, 27, 21, -38, -71, + 33, -1, 10, 13, 0, -9, -26, -200, + ], + [ + 16, -58, -14, 0, -39, -24, -77, -3, + 6, 21, 14, -5, 37, -18, -17, -17, + 11, 30, 22, 32, -11, 16, -12, 40, + -0, 42, 49, 30, 6, 19, -4, 28, + 51, 24, 33, 19, 54, 12, 28, -18, + -39, -4, 13, 55, -1, 17, 17, 34, + -57, -27, -21, -6, 3, 20, 26, -18, + -46, -149, -87, -40, -1, -18, 0, 5, + ], + [ + 52, -2, -7, 60, 17, -52, -35, -46, + -13, 11, -20, 12, 36, -51, -34, 48, + -37, 11, -14, 12, 1, -3, -43, -20, + 34, 53, 25, 60, 11, 28, 15, 3, + 10, 24, 47, 22, 43, 1, -6, 37, + 11, 5, 40, 35, 18, 7, 44, 21, + 16, -13, -23, 11, -5, -16, -13, -15, + -55, -81, -33, -110, -50, -54, -22, -12, + ], + [ + -19, 27, 19, -39, 12, 10, 16, 52, + 7, 60, 69, -7, 40, -23, -63, -6, + 25, 57, 29, 20, 22, 12, -19, 8, + 18, 5, 54, 63, 23, 30, 20, -21, + -5, 6, 16, 28, 15, 31, 9, 9, + -50, -19, 11, 11, 10, 17, -8, -2, + 22, -81, -25, -52, -20, -14, -42, 4, + -37, -46, -54, -93, -83, -58, 11, -10, + ], + [ + 66, 32, 74, 52, -12, 34, -3, 16, + -13, 1, 5, 27, 41, 1, -52, -9, + 15, -33, -3, 48, -5, -2, -28, -45, + 26, 4, 15, 36, 33, 49, -7, -2, + 39, 33, 7, 29, 46, 13, 41, 5, + 9, -10, 20, -7, 22, 25, -12, -82, + -9, 31, -14, -42, -1, -22, -7, -61, + 4, -44, -42, -69, -106, -33, -76, -43, + ], + [ + 29, 22, 30, 8, 32, -51, -36, -21, + 3, -29, -9, 25, 67, -35, -40, -11, + 11, -28, 16, -28, -25, -48, -27, -15, + 6, 26, 3, 15, -5, 44, 13, 15, + 1, 16, 16, 9, 11, 19, 16, 40, + 14, -4, 24, 4, -11, 9, 2, 20, + -33, 2, -11, -8, -8, 10, -35, 20, + -1, -6, -39, -43, -12, 25, -48, 43, + ], + [ + 4, -8, -35, -29, -14, 44, -34, 11, + 22, -18, -41, -14, -16, -13, -2, -40, + 12, -15, -21, 15, -11, -21, -12, -20, + 8, 2, -18, 5, -2, 12, 17, 11, + -8, 18, 20, 6, 10, 25, 21, 54, + -19, 24, -5, 7, 26, 3, -2, 43, + -15, 23, 2, 20, 8, -36, -26, -25, + 35, 14, 16, -6, -12, -11, -28, 37, + ], + [ + 7, -15, -13, -8, 10, -25, -41, -23, + 9, -6, -2, -28, -28, -60, -72, -54, + 0, 8, -24, -21, -3, -32, -21, -6, + 28, 38, 30, 8, -4, 29, 17, 25, + 13, 31, 18, 34, 26, 24, 17, 23, + -0, 13, 7, 15, 20, 8, -1, -2, + 41, 32, 9, 25, 17, -20, -34, -44, + 19, 14, 2, -14, 25, -6, 3, -39, + ], + [ + -49, -55, -21, -10, -10, 16, -39, -37, + -1, -27, -6, 21, -4, -1, -42, -68, + 13, 5, 10, 6, -20, 40, -12, -76, + 67, 43, 36, 55, -8, 22, -9, 3, + 7, 35, 13, 37, 93, 61, 15, -32, + -14, 14, 29, -10, 43, 25, 46, 23, + -32, 2, -44, 22, -2, 32, -25, -30, + -59, -30, 23, 38, -16, -23, 10, -95, + ], + [ + -23, -47, -6, -19, -22, 7, -72, -24, + -10, -7, -6, 0, -49, -47, -11, -12, + 38, 29, 18, 25, 3, -14, 33, -32, + 36, 40, 55, 28, -0, -3, -16, -32, + 35, 40, 16, 22, 20, 10, 53, 23, + -1, -31, 8, 10, 62, -33, -34, -22, + -4, -37, 60, 45, -17, 9, 27, -12, + -14, -8, 12, -34, 0, -35, 13, -47, + ], + [ + -44, 25, -55, 7, -18, -39, -35, -34, + 17, -13, -1, 8, -25, -10, -62, -43, + 1, 50, -8, -1, 2, -28, -12, -21, + 20, 24, 69, 37, 8, 30, -16, -28, + 62, -8, 62, 59, 28, -35, 10, 39, + 14, 38, -7, 53, 27, -3, 11, -20, + -10, -6, -49, -52, -1, 12, -4, 15, + -9, 8, -25, 39, -31, -20, -11, 6, + ], + [ + -29, -11, -18, -70, -38, -48, -35, -9, + 30, -3, 8, 61, 11, -29, -24, -6, + 28, 0, 38, -5, -31, 33, 1, -49, + 31, 12, 39, 6, 46, 33, 1, 3, + -7, 29, 8, 12, 45, 19, 46, -3, + -0, 86, -19, -6, -23, -17, -23, -30, + -32, -3, -20, 1, 24, -11, 5, -4, + 13, -18, 36, -19, -19, 15, -33, -27, + ], + [ + -2, -28, -19, -19, -39, -57, -29, -19, + 14, -10, -49, 6, 21, -7, -26, -6, + -8, 31, -3, -1, -23, -8, -12, 23, + 17, -35, 51, 7, 23, 9, 9, 29, + 55, -21, 21, 11, 13, 40, 19, 22, + -11, 24, -26, -14, -21, -12, 29, 44, + 7, -32, 27, -55, -2, 43, -18, 32, + -7, 35, -14, -18, -47, 29, -44, 55, + ], + [ + -23, -31, -46, 5, -21, -61, 17, -54, + -20, 28, 1, -0, 14, -1, -17, -33, + -13, -51, 11, -18, 33, 16, -35, 9, + 26, -23, -13, 34, 32, -11, 32, 34, + -17, -46, 50, 31, 2, 39, -23, -7, + 2, 18, 3, 33, 54, 17, 46, 27, + 7, 50, 1, 21, -13, -52, -7, 24, + -36, -37, -47, -40, 55, -20, 36, 8, + ], + [ + -2, 25, -20, 25, -33, -5, -30, -24, + -32, -34, 16, -8, -18, 10, -15, 4, + 19, -4, -2, -10, -3, 10, 21, 0, + -18, -0, 24, 0, 42, 19, 12, -1, + -19, 27, -42, 35, 8, 43, 36, 9, + 25, -47, 8, -15, 8, 4, -30, 9, + 15, 1, -41, -12, 25, 21, 26, -9, + -58, -4, -6, -20, -16, 64, -39, 25, + ], + [ + 55, 1, 19, 9, 23, -46, -61, -90, + -24, -5, 30, -25, -57, 6, 28, -35, + -0, 49, -2, -4, -14, -6, 1, -38, + -1, 28, 15, 15, -18, 43, 42, 40, + -50, 29, 17, 44, 57, 5, 14, 25, + 2, -8, 36, -30, 81, -22, 10, -29, + -25, 2, 30, -14, 7, 3, -11, 41, + -66, 20, -16, -32, -37, 20, -19, -61, ], ]; @@ -2743,8 +2743,8 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 32, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 0, 0, 0, 0, + 34, 0, 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, @@ -2784,7 +2784,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 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, -3, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, @@ -2814,16 +2814,16 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 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, -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, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 17, 0, 0, 0, 0, 0, 0, - 0, 34, 0, 0, 0, 0, 0, 0, - 0, 52, 0, 0, 0, 0, 0, 0, + 0, 18, 0, 0, 0, 0, 0, 0, + 0, 36, 0, 0, 0, 0, 0, 0, + 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -2832,7 +2832,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, - 0, 0, 6, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], @@ -2841,8 +2841,8 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -51, 0, 0, 0, 0, - 0, 0, 0, -9, 0, 0, 0, 0, + 0, 0, 0, -47, 0, 0, 0, 0, + 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], @@ -2851,8 +2851,8 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -35, 0, 0, 0, - 0, 0, 0, 0, -5, 0, 0, 0, + 0, 0, 0, 0, -31, 0, 0, 0, + 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], @@ -2861,7 +2861,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 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, -8, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2871,9 +2871,9 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -14, 0, - 0, 0, 0, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, 29, 0, + 0, 0, 0, 0, 0, 0, -12, 0, + 0, 0, 0, 0, 0, 0, 17, 0, + 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -2883,84 +2883,84 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, 0, 0, 0, 0, 0, -23, - 0, 0, 0, 0, 0, 0, 0, 20, + 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, ], [ - -27, 0, 0, 0, 0, 0, 0, 0, - -28, 0, 0, 0, 0, 0, 0, 0, - -2, 0, 0, 0, 0, 0, 0, 0, - -36, 0, 0, 0, 0, 0, 0, 0, + -32, 0, 0, 0, 0, 0, 0, 0, + -24, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + -37, 0, 0, 0, 0, 0, 0, 0, -41, 0, 0, 0, 0, 0, 0, 0, - -2, 0, 0, 0, 0, 0, 0, 0, + -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ - 0, 10, 0, 0, 0, 0, 0, 0, - 0, -0, 0, 0, 0, 0, 0, 0, - 0, 17, 0, 0, 0, 0, 0, 0, - 0, -26, 0, 0, 0, 0, 0, 0, + 0, 8, 0, 0, 0, 0, 0, 0, + 0, -1, 0, 0, 0, 0, 0, 0, + 0, 12, 0, 0, 0, 0, 0, 0, + 0, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -13, 0, 0, 0, 0, 0, - 0, 0, -39, 0, 0, 0, 0, 0, - 0, 0, -73, 0, 0, 0, 0, 0, + 0, 0, -29, 0, 0, 0, 0, 0, + 0, 0, -16, 0, 0, 0, 0, 0, + 0, 0, -42, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ - 0, 0, 0, -132, 0, 0, 0, 0, - 0, 0, 0, -19, 0, 0, 0, 0, - 0, 0, 0, -120, 0, 0, 0, 0, - 0, 0, 0, -141, 0, 0, 0, 0, + 0, 0, 0, -136, 0, 0, 0, 0, + 0, 0, 0, -26, 0, 0, 0, 0, + 0, 0, 0, -116, 0, 0, 0, 0, + 0, 0, 0, -139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ - 0, 0, 0, 0, -75, 0, 0, 0, - 0, 0, 0, 0, -33, 0, 0, 0, - 0, 0, 0, 0, -62, 0, 0, 0, - 0, 0, 0, 0, -138, 0, 0, 0, + 0, 0, 0, 0, -74, 0, 0, 0, + 0, 0, 0, 0, -34, 0, 0, 0, + 0, 0, 0, 0, -63, 0, 0, 0, + 0, 0, 0, 0, -136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ - 0, 0, 0, 0, 0, -91, 0, 0, - 0, 0, 0, 0, 0, -47, 0, 0, - 0, 0, 0, 0, 0, -27, 0, 0, - 0, 0, 0, 0, 0, -65, 0, 0, + 0, 0, 0, 0, 0, -89, 0, 0, + 0, 0, 0, 0, 0, -52, 0, 0, + 0, 0, 0, 0, 0, -31, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ - 0, 0, 0, 0, 0, 0, -36, 0, - 0, 0, 0, 0, 0, 0, 11, 0, + 0, 0, 0, 0, 0, 0, -45, 0, 0, 0, 0, 0, 0, 0, 15, 0, - 0, 0, 0, 0, 0, 0, -42, 0, + 0, 0, 0, 0, 0, 0, 13, 0, + 0, 0, 0, 0, 0, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ - 0, 0, 0, 0, 0, 0, 0, -64, - 0, 0, 0, 0, 0, 0, 0, -8, - 0, 0, 0, 0, 0, 0, 0, -43, - 0, 0, 0, 0, 0, 0, 0, -78, + 0, 0, 0, 0, 0, 0, 0, -73, + 0, 0, 0, 0, 0, 0, 0, -2, + 0, 0, 0, 0, 0, 0, 0, -38, + 0, 0, 0, 0, 0, 0, 0, -76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2978,7 +2978,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, - -16, 0, 0, 0, 0, 0, 0, 0, + -15, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, @@ -3048,7 +3048,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 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, 25, ], [ 0, 0, 0, 0, 0, 0, 0, 0, @@ -3066,8 +3066,8 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, - 0, 0, -1, 0, 0, 0, 0, 0, - 0, 0, -19, 0, 0, 0, 0, 0, + 0, 0, -2, 0, 0, 0, 0, 0, + 0, 0, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -3075,8 +3075,8 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 26, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 0, + 0, 0, 0, 25, 0, 0, 0, 0, + 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], @@ -3085,9 +3085,9 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 21, 0, 0, 0, + 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, - 0, 0, 0, 0, -9, 0, 0, 0, + 0, 0, 0, 0, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -3106,8 +3106,8 @@ internal static class TunableEvalParameters 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, 4, 0, - 0, 0, 0, 0, 0, 0, -6, 0, + 0, 0, 0, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ @@ -3121,17 +3121,17 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, ], [ - -89, 0, 0, 0, 0, 0, 0, 0, + -88, 0, 0, 0, 0, 0, 0, 0, -46, 0, 0, 0, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, - -30, 0, 0, 0, 0, 0, 0, 0, - -42, 0, 0, 0, 0, 0, 0, 0, + -29, 0, 0, 0, 0, 0, 0, 0, + -41, 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, -58, 0, 0, 0, 0, 0, 0, + 0, -54, 0, 0, 0, 0, 0, 0, 0, -33, 0, 0, 0, 0, 0, 0, 0, -28, 0, 0, 0, 0, 0, 0, 0, -34, 0, 0, 0, 0, 0, 0, @@ -3141,7 +3141,7 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, ], [ - 0, 0, -29, 0, 0, 0, 0, 0, + 0, 0, -27, 0, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, @@ -3151,10 +3151,10 @@ internal static class TunableEvalParameters 0, 0, 0, 0, 0, 0, 0, 0, ], [ - 0, 0, 0, -14, 0, 0, 0, 0, - 0, 0, 0, -12, 0, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 0, + 0, 0, 0, -13, 0, 0, 0, 0, + 0, 0, 0, -13, 0, 0, 0, 0, + 0, 0, 0, 8, 0, 0, 0, 0, + 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3162,7 +3162,7 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, -27, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3172,29 +3172,29 @@ internal static class TunableEvalParameters ], [ 0, 0, 0, 0, 0, -3, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 8, 0, 0, + 0, 0, 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -14, 0, - 0, 0, 0, 0, 0, 0, -12, 0, - 0, 0, 0, 0, 0, 0, -14, 0, + 0, 0, 0, 0, 0, 0, -15, 0, + 0, 0, 0, 0, 0, 0, -19, 0, + 0, 0, 0, 0, 0, 0, -15, 0, + 0, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ - 0, 0, 0, 0, 0, 0, 0, -97, - 0, 0, 0, 0, 0, 0, 0, -53, - 0, 0, 0, 0, 0, 0, 0, -43, - 0, 0, 0, 0, 0, 0, 0, -40, + 0, 0, 0, 0, 0, 0, 0, -91, + 0, 0, 0, 0, 0, 0, 0, -51, + 0, 0, 0, 0, 0, 0, 0, -42, + 0, 0, 0, 0, 0, 0, 0, -39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3206,232 +3206,232 @@ internal static class TunableEvalParameters [ [ 0, 0, 0, 0, 0, 0, 0, 0, - -126, 50, 4, -1, -23, -13, -45, -36, - -13, 90, 56, 34, 52, 17, 4, 10, - -15, 13, 26, 20, 14, -5, -9, 7, - -10, -0, 7, -2, 2, -12, -7, -6, - -26, -10, -8, 9, 2, -11, 9, 8, - -22, -16, -3, -10, -9, 1, 3, -1, + -125, 50, 4, -3, -19, -19, -46, -34, + -14, 93, 55, 34, 47, 14, 3, 9, + -15, 12, 26, 20, 13, -2, -7, 7, + -10, 0, 7, -2, 1, -12, -6, -5, + -26, -9, -9, 9, 2, -10, 11, 10, + -21, -16, -4, -10, -10, 2, 4, -1, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -42, -133, -114, 4, 14, -16, 38, -28, - 25, 17, 61, 42, 37, 18, 17, 5, - -5, -32, 31, 23, 20, 13, 5, 18, - -11, -13, 11, 10, 9, 1, 2, 2, - -29, -21, -6, 3, 4, 3, 17, 12, - -23, -19, -4, -14, -9, 11, 30, 15, + -42, -136, -112, -0, 17, -16, 38, -26, + 24, 19, 62, 42, 38, 16, 17, 5, + -6, -33, 30, 22, 20, 13, 6, 17, + -11, -12, 11, 10, 9, 1, 3, 2, + -29, -21, -6, 4, 4, 3, 17, 12, + -23, -19, -5, -13, -9, 11, 31, 15, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 27, -124, -35, -71, 1, -43, -10, -19, - 10, 37, 57, 45, 54, 9, -8, 14, - -3, -5, -1, 37, 24, 8, 11, 8, - -14, -10, -4, 20, 15, 1, -7, 4, + 25, -123, -41, -70, 1, -39, -9, -18, + 10, 37, 57, 49, 52, 10, -8, 14, + -3, -5, -3, 37, 23, 8, 11, 7, + -14, -10, -4, 21, 15, 2, -7, 4, -28, -24, -10, 6, 8, 1, 19, 10, - -17, -23, -9, -9, -3, 8, 30, 13, + -17, -23, -9, -9, -3, 9, 30, 13, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -25, 24, -24, -33, -22, -81, 3, -32, - -2, 23, 59, 51, 54, 16, 1, -5, - 8, -12, 20, -13, 25, 7, 8, 14, - -8, -10, 6, 1, 14, 4, -0, -0, - -20, -13, -9, -9, -4, 1, 9, 2, - -15, -4, -5, -23, -5, 6, 21, 0, + -24, 25, -24, -33, -23, -80, 2, -34, + -2, 24, 57, 49, 54, 14, 1, -4, + 7, -12, 20, -14, 25, 5, 9, 13, + -8, -9, 7, 1, 13, 4, 1, 1, + -20, -12, -9, -8, -4, 2, 10, 3, + -15, -3, -6, -22, -5, 6, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -42, -28, 10, -61, -11, -58, -36, -0, - 9, 15, 10, 32, 46, 39, 36, 25, - -8, -2, 6, 13, 0, 13, 1, 12, - -15, -6, 5, 10, 4, 8, -4, -2, - -25, -1, -1, -2, -6, -6, 13, 2, - -12, 6, 4, -3, -13, 5, 18, 4, + -37, -36, 11, -60, -16, -57, -34, 2, + 8, 15, 7, 31, 42, 36, 37, 24, + -7, -2, 5, 13, -0, 13, 1, 12, + -14, -6, 5, 10, 4, 9, -4, -0, + -24, -1, -1, -1, -6, -5, 13, 3, + -12, 6, 4, -2, -12, 5, 18, 5, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -84, -16, 12, 24, -38, -26, -85, 15, - -2, -23, 4, 42, 72, 79, 57, 25, - -15, -1, 18, 7, 28, -10, 12, 11, - -20, -18, 2, 11, 13, -1, -3, -3, - -27, -14, 2, 2, 1, -7, -1, -4, - -17, -15, -3, -9, -6, 3, 9, -4, + -81, -21, 18, 30, -38, -37, -84, 16, + -3, -22, 7, 39, 74, 80, 59, 27, + -14, -1, 17, 5, 27, -12, 13, 9, + -19, -17, 1, 11, 13, -1, -3, -3, + -27, -14, 1, 3, 0, -8, -0, -3, + -18, -15, -3, -9, -6, 2, 10, -4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -28, -24, 0, 36, 29, -24, -113, -99, - -14, -13, -4, 13, 38, 66, 32, 19, - -4, 2, 12, 8, 20, 32, -27, -4, - -5, -1, 3, 13, 19, 11, -6, -13, - -10, 4, 2, 7, 8, 2, -1, -11, - 1, 12, 7, -5, -4, 8, 10, -5, + -29, -23, 1, 34, 29, -24, -117, -97, + -12, -13, -4, 14, 36, 66, 33, 18, + -4, 3, 12, 9, 20, 31, -28, -5, + -5, -1, 3, 13, 19, 11, -6, -12, + -10, 5, 2, 7, 9, 2, -0, -11, + 0, 12, 7, -5, -3, 8, 10, -5, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 17, -22, -58, 25, 25, 41, -23, -173, - -10, -1, 7, -1, 35, 47, 54, -5, - -3, -9, 3, 12, 22, 26, 17, -14, - -7, -10, -3, -1, 4, 9, 14, -16, - -11, -4, -3, 3, 7, 8, 14, -12, - -5, -6, 5, -12, -0, 4, 15, -2, + 14, -26, -53, 22, 23, 45, -23, -174, + -11, 0, 6, 1, 35, 48, 54, -5, + -4, -8, 2, 12, 22, 26, 16, -15, + -8, -10, -2, -1, 4, 10, 14, -16, + -11, -4, -3, 3, 7, 8, 14, -13, + -6, -6, 5, -11, 0, 4, 16, -4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -21, 10, -11, 9, -92, 16, -48, -40, - 36, 1, 53, 46, 3, 1, -26, -3, - 9, 23, 34, 18, 13, -6, -5, 0, - 2, 2, 16, 6, -3, -3, -1, -4, - -7, -18, 7, -1, 2, -7, 10, 5, - -6, -14, 1, -10, -10, 1, 9, 4, + -17, 17, -15, 4, -91, 14, -46, -40, + 36, 2, 51, 42, 2, -1, -28, -3, + 8, 22, 33, 18, 13, -5, -6, -0, + 2, 2, 16, 7, -3, -3, -0, -3, + -8, -17, 7, 1, 2, -6, 10, 5, + -6, -14, 1, -9, -9, 1, 9, 3, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 3, 33, 7, -40, -30, -35, -71, -39, - 35, 77, 64, 84, 37, -14, -2, -18, - 8, 5, 26, 22, 23, 5, 5, -14, - -6, -1, -3, 8, 7, -8, -11, -6, - -26, -19, -8, 3, -4, -6, -3, -5, - -22, -22, -4, -24, -9, 3, 5, -9, + -4, 15, 14, -33, -34, -36, -64, -37, + 36, 77, 66, 88, 39, -11, -3, -18, + 7, 4, 25, 21, 23, 6, 5, -14, + -6, -1, -3, 8, 7, -8, -12, -7, + -26, -20, -9, 4, -3, -5, -4, -6, + -21, -22, -4, -23, -8, 3, 4, -10, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -56, 16, 11, 42, 26, -19, -63, -22, - -0, 36, 61, 65, 60, 35, 16, -32, - -6, 7, 17, 29, 14, 10, 7, -7, - -29, -12, -1, -6, 13, -8, -10, -6, - -31, -27, -4, -14, 3, -11, -5, -17, - -29, -21, -13, -11, -3, 0, 4, -7, + -52, 8, 3, 40, 30, -16, -58, -24, + -0, 38, 56, 59, 68, 37, 14, -31, + -6, 9, 17, 29, 14, 8, 6, -6, + -29, -13, -2, -7, 12, -7, -10, -7, + -31, -26, -5, -14, 4, -10, -4, -18, + -28, -22, -13, -10, -2, 1, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -36, 7, 9, 26, -1, -57, -17, -28, - -15, -18, 30, 57, 69, 80, 48, 4, - -20, -0, 21, 18, 35, 17, 19, 7, - -28, -16, -3, 3, -4, 4, -3, -13, - -39, -15, -16, -2, -11, -1, -3, -9, - -34, -20, -11, -11, -10, 1, 3, -16, + -33, 7, 7, 21, -4, -55, -19, -27, + -13, -13, 31, 59, 68, 77, 50, 4, + -20, 2, 21, 18, 33, 17, 17, 7, + -28, -16, -2, 3, -4, 3, -4, -13, + -39, -14, -15, -1, -11, -2, -3, -8, + -35, -19, -12, -11, -10, 0, 2, -16, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -50, 46, -76, -2, -59, -47, 33, 16, - -18, -1, 2, 57, 19, 63, 86, 35, - -19, -9, 7, 7, 24, 34, 8, 18, - -25, -16, -7, 2, 14, -4, 2, 0, - -30, -14, -6, -6, 6, -11, -1, -6, - -25, -10, -4, -13, -13, -1, 3, -7, + -46, 42, -76, 3, -59, -47, 27, 16, + -20, -3, 2, 56, 10, 59, 87, 35, + -18, -8, 6, 8, 26, 34, 9, 17, + -25, -16, -7, 2, 14, -3, 2, 1, + -29, -14, -5, -5, 7, -10, -1, -6, + -25, -10, -4, -13, -13, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -17, -8, -52, -42, -10, 21, -54, 23, - -9, 2, -11, -8, 41, 71, -18, 63, - -20, -5, 4, 4, 29, 31, 22, 11, - -21, -17, -3, -4, 7, 14, 4, 3, - -24, -9, -8, 1, 3, 10, 6, 0, - -13, -12, 0, -9, -10, 7, 16, -7, + -13, -1, -54, -37, -22, 22, -53, 24, + -10, 2, -11, -9, 41, 74, -17, 65, + -20, -5, 2, 3, 27, 31, 21, 11, + -22, -17, -4, -4, 6, 14, 4, 3, + -24, -9, -9, 1, 3, 10, 6, 0, + -13, -11, -1, -10, -10, 6, 15, -7, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -18, -34, -7, -33, -49, 59, -41, -10, - -3, -6, -15, -23, 9, 55, 112, -76, - -2, -2, 1, 9, 26, 29, 8, -11, - -11, -4, 1, 3, 3, 16, 7, -6, - -16, -3, -0, -3, 13, 13, 12, -7, - -8, -4, -0, -12, -1, 11, 20, -0, + -15, -39, -3, -32, -52, 56, -41, -9, + -4, -6, -15, -23, 8, 54, 110, -72, + -2, -3, 0, 10, 26, 28, 8, -11, + -12, -4, 1, 2, 3, 17, 8, -6, + -16, -2, -0, -3, 13, 12, 13, -6, + -9, -3, -1, -11, 0, 11, 21, -1, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 47, 29, -84, 30, 38, 4, -92, -33, - -6, 107, 26, 26, -27, 6, -16, 11, - 1, -9, 32, 15, -3, 14, -14, -38, - -11, 49, 21, 26, 6, 0, -36, -29, - -9, -10, 16, -16, -10, -6, -14, -35, - 3, -8, 8, -6, 8, -0, 13, -30, + 48, 32, -80, 12, 38, 10, -87, -39, + 5, 101, 18, 25, -28, 2, -23, 9, + 3, -9, 33, 17, -1, 15, -14, -34, + -11, 52, 21, 28, 7, -0, -37, -30, + -7, -9, 17, -17, -11, -4, -13, -33, + 2, -8, 11, -4, 10, 2, 10, -29, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -41, 25, -1, 20, 27, 13, 8, -2, - 49, 2, -28, 72, 45, 9, -12, -25, - 7, -52, -26, -39, -6, -4, 28, -61, - -6, -36, 0, 19, 24, -9, -10, -71, - 59, -34, 9, -30, 20, 42, -40, -36, - -36, 53, 45, 56, 53, -0, -18, -61, + -43, 24, 1, 13, 27, 15, 6, 13, + 48, -11, -20, 63, 51, 14, -11, -25, + 6, -48, -23, -39, -6, -2, 27, -65, + -7, -38, 4, 20, 31, -12, -13, -62, + 58, -35, 19, -30, 12, 46, -41, -31, + -33, 54, 41, 36, 52, -6, -22, -61, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 20, 21, -31, 1, 61, 29, 38, -47, - -15, -46, 25, -3, 55, 90, -21, -49, - -45, -11, -36, -19, 35, 108, 10, -29, - -40, 26, 6, -11, 25, 39, -3, -53, - -19, -0, -42, -18, -32, 36, -30, -9, - -30, -21, -9, 35, -3, 41, 15, -45, + 26, 24, -35, 6, 62, 25, 36, -51, + -12, -48, 25, -1, 66, 81, -14, -54, + -43, -15, -35, -17, 36, 107, 12, -22, + -44, 29, 6, -10, 26, 39, -7, -54, + -16, -3, -42, -22, -28, 37, -35, -15, + -24, -22, -2, 31, -5, 42, 9, -48, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -54, 45, 30, 48, 22, 46, 58, -12, - -30, -16, 45, 44, 54, 38, 20, -7, - -31, 15, -38, -48, -37, 77, 10, 3, - -54, -57, -4, -72, 17, 28, -19, -26, - -59, -35, -0, -18, 19, -0, -44, -54, - -41, -15, 36, -13, 82, 53, 0, -8, + -52, 45, 33, 57, 21, 48, 49, -11, + -35, -19, 50, 42, 59, 38, 16, -12, + -24, 9, -30, -53, -40, 68, 8, 5, + -55, -61, 3, -74, 21, 24, -14, -26, + -56, -39, 10, -20, 17, -3, -36, -54, + -41, -14, 40, -12, 85, 48, -2, -15, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -26, 3, 47, 0, 55, 46, 24, 11, - -39, 26, 0, 53, -26, 21, 75, 27, - -94, 48, 31, -7, -68, -28, 51, -25, - -81, -30, 2, 23, -28, 19, 6, -25, - -61, -38, -22, -16, -84, 37, -2, 30, - -74, 5, -3, 23, 1, 67, 44, 4, + -32, 4, 46, 11, 51, 42, 29, 13, + -38, 25, -1, 42, -23, 21, 77, 31, + -87, 50, 36, -11, -66, -23, 50, -23, + -81, -31, -3, 17, -27, 20, 0, -29, + -60, -34, -27, -20, -83, 39, -7, 27, + -76, 8, -3, 28, -2, 69, 46, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -20, 22, 13, 75, 1, 6, 14, -11, - -10, 1, 84, 5, -22, -18, 3, 48, - -39, 14, -33, 20, -36, -63, -68, -53, - -56, -30, 27, -15, -37, -28, 51, 4, - -34, -5, 23, 30, 28, -16, -10, 52, - -88, -52, 3, 20, 76, 56, 73, -3, + -20, 15, 14, 68, 1, 13, 18, -10, + -6, -9, 83, 4, -19, -20, 5, 45, + -40, 18, -26, 24, -32, -68, -66, -51, + -51, -28, 29, -11, -30, -33, 53, 1, + -40, -9, 24, 15, 29, -18, -4, 50, + -90, -51, 5, 20, 71, 52, 73, -0, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -41, -53, 36, 57, 49, -27, -27, -18, - -20, 62, 9, 125, 33, 32, -54, 2, - -53, -46, -32, 33, -34, 33, -12, -18, - -55, -54, -61, -9, -25, 23, 22, 8, - -78, -53, -13, 33, 15, 7, -19, 35, - -88, -11, -9, 23, 42, 109, 98, 24, + -39, -49, 33, 62, 36, -22, -21, -17, + -33, 56, 9, 125, 40, 26, -57, 5, + -55, -46, -29, 19, -36, 38, -17, -10, + -51, -56, -58, -8, -20, 23, 19, 10, + -78, -53, -14, 33, 21, 14, -18, 40, + -87, -15, -8, 25, 41, 112, 84, 22, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -36, -0, 32, 46, 35, -25, 4, -40, - -65, 22, 45, 35, 3, 36, 23, -64, - -92, 53, -0, -19, 30, 52, -19, -58, - -22, -22, -44, -2, -14, 69, -15, -22, - -6, -30, -35, -12, -36, 11, -78, -14, - -59, -5, 23, 34, 85, 86, 122, -13, + -35, 13, 27, 44, 33, -22, -1, -43, + -71, 16, 50, 35, 6, 46, 18, -63, + -91, 47, 4, -17, 26, 46, -12, -63, + -21, -21, -35, -9, -13, 73, -9, -40, + -6, -29, -32, -22, -27, 12, -69, -9, + -56, -15, 23, 28, 79, 88, 121, -8, 0, 0, 0, 0, 0, 0, 0, 0, ], ]; @@ -3440,232 +3440,232 @@ internal static class TunableEvalParameters [ [ 0, 0, 0, 0, 0, 0, 0, 0, - -164, -215, 0, 15, 30, 17, 56, 33, - -11, -32, -31, 10, 22, 58, 65, 67, - -16, -11, -20, -11, 5, 29, 33, 33, - -14, -11, -5, -6, -2, 12, 22, 27, - -7, -7, 3, -10, -7, 5, 1, 2, - -12, 3, 3, 7, 7, 8, 9, 9, + -165, -213, -4, 16, 27, 23, 59, 31, + -10, -33, -31, 9, 23, 59, 63, 67, + -16, -11, -20, -12, 5, 29, 31, 32, + -15, -10, -4, -5, -2, 12, 22, 28, + -7, -7, 3, -10, -7, 5, -1, 1, + -12, 3, 4, 8, 7, 8, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -52, -123, -97, -70, -17, 25, 13, 45, - 8, 4, 11, -0, 38, 59, 58, 65, - -10, -3, -21, -14, 6, 18, 30, 32, - -13, -5, -9, -11, -8, 8, 16, 23, - -7, -1, -3, -8, 1, -5, -3, 5, - -10, 4, 9, 8, 11, 0, -7, -5, + -52, -121, -96, -71, -15, 23, 13, 44, + 9, 4, 12, -1, 38, 60, 59, 65, + -10, -2, -20, -14, 7, 18, 30, 32, + -12, -5, -9, -10, -8, 9, 16, 23, + -7, -0, -4, -9, 0, -5, -3, 4, + -10, 4, 8, 8, 10, -0, -8, -6, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -117, -75, -138, -66, -59, 27, 37, 38, - 9, 22, -9, 20, 0, 49, 78, 63, - -11, 3, -19, -11, -11, 23, 30, 46, - -9, 2, -7, -3, -1, 12, 21, 18, + -114, -75, -133, -66, -61, 22, 38, 38, + 8, 22, -10, 19, -1, 45, 78, 64, + -11, 4, -18, -11, -11, 23, 30, 46, + -9, 3, -7, -3, -1, 12, 22, 17, -6, 6, -2, -8, 1, 2, -2, 2, - -6, 12, 10, 12, 11, 8, -6, 7, + -6, 12, 10, 11, 11, 8, -7, 7, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -16, -90, -24, -118, -47, -39, 6, 21, - 37, 11, 9, -13, 7, 22, 62, 64, - 12, 8, 4, -4, 3, 1, 21, 27, - -0, 4, -4, 1, -3, -1, 1, 5, - -4, 0, 1, 5, 5, -1, -9, -2, - 6, 1, -1, 24, 12, -1, -9, 2, + -15, -93, -24, -116, -47, -42, 11, 22, + 35, 11, 9, -13, 7, 23, 63, 62, + 12, 8, 3, -3, 3, 2, 20, 28, + 0, 4, -3, 1, -2, -1, 1, 4, + -4, 0, 2, 5, 5, -1, -8, -4, + 6, 1, -0, 24, 12, -0, -9, 2, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 67, 3, -87, -68, -126, -70, -76, 34, - 53, 30, 25, 13, -10, 23, 3, 19, - 39, 23, 22, 10, -5, 7, 9, 12, - 19, 14, -0, 3, 10, -3, 4, 0, - 8, -4, -3, 2, 6, -2, -13, -10, - 6, 1, -6, 10, 14, 2, -5, -1, + 62, 8, -84, -69, -125, -70, -80, 37, + 53, 32, 27, 14, -9, 22, 6, 21, + 38, 23, 22, 8, -5, 7, 9, 12, + 18, 13, 0, 3, 11, -3, 4, -1, + 7, -3, -3, 2, 6, -3, -12, -10, + 5, 0, -7, 9, 14, 2, -6, -2, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 88, 8, -6, -91, -59, -117, -72, -83, - 83, 108, 51, 16, 1, -2, 0, -3, - 47, 36, 14, -6, -3, -14, -9, -12, - 29, 26, 5, -7, -7, -8, -8, -14, - 14, 8, -4, 1, -6, -5, -15, -12, - 17, 13, 8, 6, 6, -3, -10, -9, + 87, 8, -8, -95, -59, -111, -72, -81, + 84, 109, 48, 17, 1, -2, 0, -3, + 47, 36, 15, -6, -3, -14, -9, -12, + 28, 26, 5, -7, -7, -9, -8, -15, + 14, 8, -4, 0, -5, -5, -15, -13, + 16, 13, 7, 7, 7, -3, -10, -10, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 66, 66, 40, -26, -91, -79, -175, -103, - 86, 100, 76, 34, 7, 0, -3, 20, - 35, 29, 18, -1, -12, -25, -6, -13, - 17, 19, 5, -6, -11, -12, -11, -14, - 8, 2, 1, -5, -1, -7, -10, -14, - 5, -2, -2, 7, 6, 3, -6, -17, + 67, 66, 38, -25, -91, -79, -172, -102, + 84, 101, 76, 34, 8, 0, -3, 20, + 34, 29, 18, -1, -12, -25, -5, -13, + 17, 19, 4, -7, -11, -12, -11, -14, + 8, 2, 1, -4, -1, -7, -10, -14, + 5, -2, -2, 7, 5, 3, -6, -17, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 14, 59, 63, -13, -7, -165, -52, -146, - 80, 110, 88, 91, 63, -9, 8, -15, - 33, 32, 18, -2, -10, -30, -17, -22, - 12, 13, 3, -2, -17, -21, -27, -22, - 2, -1, 0, -6, -7, -15, -24, -21, - 0, -5, -6, 19, -3, 3, -15, -31, + 14, 60, 60, -10, -8, -163, -52, -143, + 82, 108, 87, 92, 62, -7, 8, -15, + 33, 33, 18, -2, -10, -30, -17, -22, + 12, 13, 2, -3, -17, -21, -27, -22, + 2, -1, 0, -6, -8, -15, -24, -20, + -0, -6, -7, 18, -3, 3, -16, -30, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -104, -92, -105, -29, 30, 9, 37, 17, - -37, -18, -42, -25, 37, 40, 65, 58, - -10, -9, -17, -7, -4, 23, 31, 36, - 5, 2, -2, -1, 1, 6, 14, 18, - 1, 7, -5, 6, -0, 4, -4, 6, + -106, -93, -103, -27, 31, 10, 37, 16, + -37, -18, -41, -24, 36, 40, 65, 57, + -9, -8, -17, -7, -4, 22, 31, 36, + 5, 2, -2, -0, 1, 7, 14, 18, + 1, 7, -5, 5, -0, 3, -4, 6, 5, 13, 3, 17, 3, 7, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -75, -85, -82, -75, -43, 6, 49, 35, - -32, -25, -32, -33, -20, 36, 62, 63, - -2, -0, -0, 0, 1, 8, 22, 41, + -71, -80, -84, -76, -41, 7, 47, 34, + -32, -25, -33, -35, -20, 36, 62, 63, + -2, -0, -0, -0, 1, 8, 22, 40, 2, 10, 2, 10, 0, 6, 13, 20, - 9, 9, 1, 6, 1, 1, 1, 8, - 9, 16, 7, 21, 6, 4, 7, 13, + 8, 9, 2, 6, 1, 1, 1, 8, + 9, 16, 7, 20, 5, 4, 6, 13, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -12, -56, -90, -66, -71, -40, 25, 38, - 15, -28, -44, -34, -20, -10, 23, 54, - 8, 1, 7, 6, 8, 6, 13, 31, - 9, 8, 14, 16, 10, 6, 10, 14, - 7, 12, 7, 15, 6, 7, 2, 8, - 13, 12, 10, 17, 9, 6, 6, 12, + -13, -55, -89, -68, -71, -37, 24, 39, + 15, -28, -43, -32, -21, -9, 24, 54, + 9, 1, 7, 6, 8, 7, 13, 31, + 9, 9, 14, 16, 10, 6, 10, 14, + 7, 12, 7, 14, 5, 6, 2, 8, + 13, 12, 10, 17, 8, 6, 6, 12, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 8, -7, -51, -81, -45, -52, -47, 12, - 37, 27, -28, -47, -29, -34, -22, 17, - 32, 11, 3, 2, 10, 4, 2, 11, - 20, 13, 6, 17, 17, 10, 8, 11, + 8, -9, -52, -80, -45, -51, -45, 13, + 36, 26, -27, -48, -29, -33, -22, 16, + 32, 10, 3, 3, 10, 4, 2, 11, + 20, 13, 6, 17, 16, 10, 8, 11, 14, 6, 6, 12, 13, 6, 2, 6, - 19, 13, 9, 17, 14, 8, 6, 13, + 20, 13, 9, 17, 14, 8, 6, 13, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 25, -9, 41, -53, -49, -59, -75, -45, - 51, 51, 28, -41, -21, -27, -29, -30, - 36, 23, 11, 3, -0, -4, 3, -1, - 22, 13, 7, 5, 5, 6, 4, 3, - 13, 4, 2, 8, 5, 4, -1, 4, - 15, 8, 4, 13, 12, 6, 3, 8, + 24, -6, 40, -54, -48, -57, -73, -46, + 51, 52, 28, -41, -20, -24, -29, -29, + 36, 22, 11, 3, -1, -4, 2, -1, + 21, 13, 7, 5, 5, 5, 4, 3, + 13, 4, 2, 7, 4, 4, -1, 3, + 15, 8, 4, 13, 12, 5, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 1, 22, 68, 28, -44, -109, -9, -122, - 41, 53, 52, 18, -28, -47, -14, -44, - 35, 29, 19, -2, -6, -17, -3, -9, - 22, 21, 7, 3, -0, -5, -2, -2, - 9, 4, 4, -2, 1, -4, -5, -3, + -2, 19, 68, 25, -39, -109, -6, -122, + 41, 53, 51, 18, -27, -47, -14, -45, + 35, 29, 18, -2, -6, -17, -3, -9, + 22, 21, 8, 2, -0, -5, -2, -2, + 9, 4, 4, -3, 1, -4, -6, -3, 6, 7, 2, 6, 14, 5, -1, 4, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - 5, 24, 30, 38, 24, -89, -122, -105, - 46, 61, 66, 59, 19, -30, -49, -9, - 30, 24, 24, 7, -13, -24, -8, -11, - 16, 14, 5, 0, -6, -13, -9, -12, - 7, 1, -1, 2, -3, -7, -10, -9, - 4, 1, 6, 12, 12, 7, -3, -12, + 5, 25, 28, 39, 26, -89, -120, -105, + 47, 61, 67, 58, 20, -30, -49, -7, + 29, 24, 24, 6, -13, -24, -8, -10, + 16, 14, 4, -0, -6, -13, -9, -12, + 6, 1, -2, 2, -3, -7, -11, -10, + 4, 1, 6, 12, 11, 7, -3, -12, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -102, -30, -56, -4, 20, 18, 9, -5, - -11, -85, -17, 5, 65, 43, 53, 48, - -32, -3, -29, -17, 11, 11, 27, 34, - -10, -17, -16, -18, -2, 2, 13, 23, - -5, 10, 3, 0, -3, -0, -2, 7, - -6, 20, 13, 7, -1, 9, 3, 20, + -102, -32, -56, -1, 21, 16, 9, -2, + -14, -84, -18, 4, 64, 43, 52, 47, + -32, -3, -30, -17, 10, 11, 27, 34, + -10, -18, -16, -18, -3, 2, 13, 22, + -6, 11, 2, 1, -2, -0, -2, 7, + -5, 21, 13, 6, -0, 9, 5, 20, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -42, -31, -31, -27, -7, 9, -12, -2, - 5, 6, 13, 14, 13, 39, 42, 31, - -19, -2, -8, 5, -2, 10, 4, 16, - -5, -10, -4, -25, -26, -2, -2, 14, - -2, 8, 7, 7, -17, -14, -6, 2, - 18, -3, 12, 11, -12, 1, 7, 16, + -36, -32, -24, -22, -10, 7, -14, -7, + 5, 4, 11, 15, 10, 37, 41, 29, + -18, -3, -9, 6, -2, 10, 3, 16, + -4, -9, -4, -24, -27, -2, -1, 13, + -1, 9, 6, 7, -15, -14, -6, 1, + 18, -3, 11, 14, -11, 3, 8, 16, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -40, -27, -7, -36, -27, 3, -18, 4, - 16, 8, 8, 9, 7, 15, 50, 45, - -5, -5, -3, 16, -11, -9, 1, 18, - -6, -8, -11, 10, -26, -25, -10, 10, - -5, -7, 15, 23, -2, -16, -9, -3, - 15, 19, 10, 8, 13, -7, -9, 9, + -41, -24, -6, -36, -25, 4, -20, 5, + 15, 7, 9, 8, 4, 16, 47, 46, + -5, -5, -2, 15, -11, -9, 1, 17, + -6, -9, -11, 10, -25, -25, -10, 10, + -5, -5, 15, 23, -2, -16, -8, -2, + 13, 19, 10, 9, 12, -7, -8, 10, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -12, -43, -21, 9, -7, -14, -13, 5, - 3, -1, -37, -19, -0, 8, 12, 28, - 3, -15, -4, 4, 14, -15, -7, 4, - 1, -5, -6, 7, 0, -16, -15, 5, - 6, -2, 20, 23, 19, 3, -3, 7, - 9, 17, 16, 19, 2, 7, 2, 5, + -12, -44, -20, 8, -7, -12, -13, 4, + 4, -2, -38, -15, -2, 6, 11, 28, + 2, -15, -5, 4, 15, -15, -7, 4, + 1, -4, -7, 8, -1, -16, -15, 5, + 6, -1, 19, 23, 19, 3, -4, 7, + 9, 16, 16, 18, 3, 8, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -1, -9, -24, -9, 3, -12, -25, -20, - 16, -8, 15, -23, 9, -13, -24, -4, - 17, -14, -16, 6, 22, 13, -25, 4, - 6, -9, -7, 0, 4, 2, -14, -0, - 6, -5, -3, 21, 37, 19, -5, -6, - 8, -1, 11, 13, 22, 12, 7, 5, + 0, -9, -24, -8, 4, -14, -27, -19, + 16, -6, 14, -22, 8, -13, -23, -4, + 16, -14, -16, 6, 22, 12, -24, 4, + 6, -9, -6, 0, 3, 1, -13, 1, + 6, -5, -2, 21, 36, 20, -5, -6, + 9, -1, 11, 11, 23, 12, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -5, 9, -6, -24, -16, 4, -40, -30, - 21, 23, 7, 23, 15, 2, -20, -2, - 12, 3, 2, -16, 20, 1, -5, -3, - 0, -5, -17, -4, 3, 5, -13, -8, - -7, -9, -14, -9, 30, 24, 9, -8, - 8, 5, -0, 9, -1, 9, 3, 13, + -3, 10, -4, -21, -17, -1, -39, -30, + 20, 23, 7, 22, 11, 3, -20, -3, + 12, 2, 1, -14, 20, 2, -5, -3, + 1, -5, -17, -4, 2, 5, -13, -8, + -6, -9, -14, -7, 30, 24, 9, -8, + 8, 5, -1, 8, 1, 9, 3, 13, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -17, -20, -23, -1, -22, -20, -21, -16, - 25, 13, 38, 33, 37, 7, 21, 12, - 15, 12, 3, -11, 5, -1, -16, 1, - 0, 7, 3, -12, -4, -12, -17, 6, - 2, -7, -15, -9, 3, 20, 9, 9, - 10, -2, -13, -16, 0, -9, -14, 8, + -18, -19, -20, -2, -20, -17, -19, -18, + 25, 11, 37, 31, 33, 7, 21, 10, + 14, 11, 2, -8, 6, -1, -16, -1, + -0, 8, 2, -11, -5, -12, -16, 7, + 1, -7, -14, -9, 1, 19, 9, 8, + 10, -0, -12, -15, 0, -10, -12, 9, 0, 0, 0, 0, 0, 0, 0, 0, ], [ 0, 0, 0, 0, 0, 0, 0, 0, - -5, -48, 5, -18, -13, -2, -9, -34, - 14, 11, 9, 19, 16, 4, 2, 1, - 43, 4, 18, 22, -9, -18, -5, 3, - 8, 8, 11, -1, -6, -29, -7, 9, - -2, 3, -0, 4, 9, -3, 23, 1, - 16, 2, -0, -12, -17, -1, -17, -8, + -5, -48, 5, -20, -11, -4, -7, -38, + 14, 11, 10, 20, 17, 2, 3, 1, + 43, 4, 18, 22, -8, -17, -7, 4, + 8, 6, 8, -0, -7, -30, -8, 16, + -1, 3, -1, 6, 7, -3, 21, 0, + 15, 3, -1, -9, -15, -3, -17, -9, 0, 0, 0, 0, 0, 0, 0, 0, ], ]; @@ -3673,2340 +3673,2340 @@ internal static class TunableEvalParameters internal static readonly short[][] MiddleGameEnemyKnightTable = [ [ - -97, -77, 51, 28, -4, -106, -35, -63, - 6, -7, 100, 49, 103, 44, -24, -95, - 7, 21, 142, 71, 36, 3, 33, -34, - 25, 75, 34, 71, 44, 16, 23, -42, - 23, 51, 45, 36, 25, 19, 15, -17, - -8, 9, -11, -5, -11, -4, -26, -17, - -25, -23, -4, -1, -4, -23, -25, -36, - -61, -32, -43, -15, -11, -64, -84, -72, + -95, -77, 49, 18, -9, -105, -35, -71, + -10, -7, 96, 48, 105, 43, -25, -97, + 5, 22, 138, 71, 35, 4, 34, -27, + 25, 73, 34, 73, 46, 18, 25, -41, + 24, 53, 46, 35, 26, 20, 18, -16, + -6, 9, -10, -4, -10, -3, -26, -18, + -24, -23, -4, -0, -2, -23, -23, -32, + -61, -31, -41, -13, -11, -61, -82, -71, ], [ - -213, -56, -124, -7, -15, 20, -63, -99, - -47, -19, -16, -33, 50, 23, -4, -54, - -69, 41, 26, 58, 50, 35, 52, -2, + -208, -57, -122, -16, -13, 21, -64, -97, + -48, -20, -5, -34, 50, 19, -3, -49, + -68, 39, 24, 55, 48, 36, 50, -3, 24, 40, 35, 35, 29, 38, 24, 3, - 10, 7, 36, 23, 47, 32, 29, -3, - 9, 23, 8, 15, 23, 18, -9, -8, - 12, 23, 8, 3, 7, 7, 12, -20, - -2, -9, -7, -2, -2, -13, -13, -26, - ], - [ - -21, -116, -43, -146, -46, -21, -35, -72, - 9, -38, 22, -26, 33, 15, 7, 12, - 24, 9, 43, -126, 68, 39, 28, 25, - 24, 11, 57, 13, 31, 31, 28, 15, - 13, 28, 7, 27, 31, 27, 28, -0, - -3, 13, 2, 16, 16, 16, 2, -14, - -10, 6, 1, 2, 8, 15, 2, -18, - -14, -11, -5, -8, 3, 6, -32, -8, - ], - [ - -40, -77, -142, -33, -144, 5, -104, 47, - -2, -153, -62, -26, 9, -46, 31, 9, - 34, 49, -3, 66, -0, 39, 62, -11, - 4, 40, 23, 48, 33, 33, 29, 37, - 19, 17, 12, -1, 49, 27, 32, 20, - -5, 10, 9, 11, 18, 12, 3, 4, - -4, 29, 4, -6, 16, 2, 14, 3, - -9, -18, -2, 9, 6, 5, -25, -13, - ], - [ - -15, -23, -43, -144, -40, -158, 25, -58, - 6, -2, -36, 34, 46, -15, -34, 2, - 52, 38, 8, -139, 63, -79, 41, 17, - 35, 18, 20, 27, 30, 17, 23, 16, - 19, 17, 12, 21, 6, 40, 15, 22, - 0, 6, 4, 8, 17, 8, 10, 14, - -0, 12, 4, 5, 10, 9, 4, 2, - -12, -1, -2, 4, 7, 6, 1, -2, - ], - [ - -18, -13, 10, 12, -118, -38, -196, -121, - 6, 17, 8, -17, -17, 21, -38, -43, - -21, 45, 56, 60, -33, 56, -63, 35, - 14, 35, 10, 22, 24, 57, 37, 40, - 2, 10, 31, 15, 49, 10, 56, 15, - -13, -1, 5, 1, 20, 23, 10, 4, - -27, -12, -7, -7, 15, 7, 22, 5, - -27, -17, -10, 2, 9, -4, -9, -6, - ], - [ - -120, -135, -43, -48, -23, -180, -47, -126, - -25, 7, 23, 19, -18, 30, 44, -30, - -7, 11, 21, 41, 51, -13, 20, 73, - 11, 26, 40, 29, 18, 38, 25, 21, - 11, 18, 22, 27, 34, 33, 4, 15, - -3, 3, 11, 10, 23, 13, 15, 13, - -12, -4, 5, 6, 11, 22, 8, 15, - -33, 3, -4, 2, 8, 4, -11, -2, - ], - [ - -94, -54, -62, 49, 25, 32, -135, -52, - -70, -9, -10, 34, -26, 5, -30, 72, - -11, 3, 13, 75, 60, 78, 25, 18, - -17, 5, 26, 37, 56, 40, 54, 34, - -19, -14, 18, 16, 44, 33, 38, 15, - -43, -20, -8, 4, 8, 15, -0, 10, - -34, -16, -10, -6, -3, -2, 2, 5, - -39, -35, -43, -24, -2, -9, -31, -24, - ], - [ - -227, -39, -14, -4, 9, -46, -143, -22, - -22, -60, 24, 102, 67, 27, -39, -15, - -10, 21, 48, -56, 57, 29, 52, -40, - -61, 38, 43, 51, 55, 37, 10, -11, - 40, 44, 36, 38, 38, 30, 21, 5, - -5, 15, 10, 6, 11, 3, -9, -5, - 11, 1, 7, 17, 9, -2, -24, -35, - -34, -9, -6, -8, 0, -5, -28, -34, - ], - [ - -112, -6, -47, -19, -21, -9, -84, -13, - 31, -31, 2, -15, 27, 19, 8, 0, - -52, -24, 44, 42, -3, 58, 36, 13, - 23, -7, 30, 9, 38, 32, 48, 9, - 17, 22, 11, 48, 48, 22, 13, 8, - -20, 17, -2, 20, 9, -3, -9, -24, - -11, -7, 4, -8, 13, -7, 35, -35, - -32, -10, -5, -12, -18, -22, -51, -38, - ], - [ - -112, -43, -132, 4, -41, -51, -11, 49, - 14, 36, -55, -29, -38, -0, 9, 19, - 45, -14, -5, 37, 40, 62, 30, 26, - 30, 5, -0, 37, 15, 32, 64, 26, - 11, 35, 34, 15, 36, 22, 40, 16, - 9, 4, 6, -3, 14, 4, -20, 2, - -6, -25, -15, -2, 2, -17, -10, -9, - -34, -26, -15, -19, 2, -31, -34, -33, - ], - [ - 6, -22, -6, -80, -97, -26, -22, -69, - 5, 14, 12, -14, -71, -51, 7, 19, - 37, 28, -5, 19, -6, 18, 17, 47, - 22, 30, 29, -7, 36, 17, 17, 30, - 32, 62, 28, 28, 44, 32, 32, 32, - -7, -7, 2, 7, 5, 12, -3, -7, - -20, -37, -3, 1, 7, -3, 11, -42, - -37, -32, -18, 1, -17, -5, -20, -19, - ], - [ - -49, -18, -77, 86, -141, -21, -122, -26, - 13, 14, 20, 32, -3, 24, -25, 7, - -40, 18, 39, -15, 0, 50, 20, 3, - 22, 19, 38, 38, 32, 47, 5, 13, - -1, 33, 27, 33, 45, 27, 38, 31, - -11, -1, -5, -1, 24, -1, 3, -8, - -33, -16, -11, -5, 8, -1, -4, 2, - -35, -34, -24, -18, -2, -22, -18, -28, - ], - [ - -78, -130, -1, 81, 57, 59, -35, -161, - -26, -12, 29, 50, 38, 4, -9, -64, - 8, 18, 16, 60, 12, 52, 20, -42, - -5, 15, 35, 42, 45, 55, 30, -16, - -20, 7, 26, 27, 48, 40, 40, 11, - -27, -18, -10, -0, 24, 3, -9, -9, - -30, -28, -18, -9, 5, -2, -4, -3, - -44, -38, -23, -14, -14, -12, -20, -26, - ], - [ - -90, -64, -41, -37, 72, 33, 49, -67, - -112, -32, -36, 75, 40, 44, 33, 15, - -27, -5, 14, 59, 100, 97, 29, 2, - -30, 1, 13, 29, 36, 54, 117, 54, - -29, -9, -0, 10, 44, 32, 33, 16, - -55, -30, -19, -11, 5, -7, 0, -12, - -23, -16, -32, -17, -6, -4, -6, -10, - -69, -47, -50, -25, -25, -25, -13, -27, - ], - [ - -32, -23, -12, -32, 4, 17, 15, -32, - 7, -6, 48, 135, 51, -30, -37, -74, - -44, 1, 55, 112, 67, -85, -11, -31, - -42, 24, 38, 86, 85, 23, 18, -53, - 56, 135, 4, 49, 80, -38, -12, 5, - 39, 5, 20, -1, -1, -33, 6, -54, - 3, -3, -33, 24, -43, -26, -77, -108, - 52, -28, -26, -20, -13, -39, -15, -150, - ], - [ - 4, 33, -69, 27, -37, -63, -20, 28, - -29, -23, 14, 4, -32, -20, -47, -51, - 26, -43, -45, 27, -32, -24, -39, -17, - 28, -26, 6, 5, 47, 25, 19, 13, - -52, 26, -34, -20, -32, 44, 34, -14, - -22, 4, 9, 45, 30, 43, 13, -1, - -27, 14, 10, 34, 38, 39, 7, 18, - -1, 31, 31, -11, 0, 41, 14, 0, - ], - [ - -6, 15, -12, 28, -2, -48, -3, 11, - 10, -23, -14, -41, 21, -32, -7, 27, - 23, -46, -30, -56, -17, 47, -4, -2, - 8, -45, -72, -27, -20, -1, -27, 17, - 0, 3, -19, -19, -32, 51, 31, 6, - 11, -26, 10, 13, 7, 47, 22, 25, - -11, 6, 8, -53, 3, 32, -3, 26, - 30, 43, -9, 66, 30, -7, 49, -9, - ], - [ - -29, -21, -56, -14, 3, -6, 24, 17, - -20, -5, 3, -26, -19, 42, 16, -1, - 11, -40, -36, -40, -15, -2, -52, -10, - 51, 6, -23, 16, -2, -37, -15, 30, - -9, 24, -23, 13, -18, -16, -31, 33, - -1, 8, 41, -10, -28, 26, 57, -10, - 17, 11, -15, 9, -1, 40, 17, 6, - 1, 19, 13, 8, 45, 23, 21, -21, - ], - [ - 15, 12, -10, -1, 15, -31, 18, 5, - 49, -13, 23, -45, -16, -30, 24, 18, - 4, 10, -48, -29, -10, -17, -83, -11, - 16, -16, 29, -49, -62, -40, -25, 8, - 25, -59, 6, -9, -34, 14, 19, 50, - 25, 37, 35, -7, -16, 3, -0, 40, - -17, 20, -5, 26, -9, -27, -1, 8, - 46, 9, 27, 30, -15, 47, -13, 34, - ], - [ - 3, -4, -75, -13, -26, -32, 15, 13, - 24, -11, -31, -49, -15, 13, 3, 8, - -14, -67, -17, -62, -50, -31, 3, 8, - 24, 3, 13, -21, -25, -5, -0, 1, - 49, -4, -0, 30, -17, -1, -37, 16, - 2, 62, 53, 35, -42, 17, 29, 39, - 6, 7, 6, -53, 12, 25, 9, -6, - 23, 4, 33, 38, 77, -7, 5, 6, - ], - [ - 15, -14, -38, -41, -15, -49, 2, -7, - 14, 10, -28, 7, 29, 15, -3, -7, - -13, -40, 20, 17, 23, -56, -40, 5, - -12, 11, 43, -23, 0, -34, -35, 4, - -16, 1, -13, -19, -42, -13, -8, 24, - -13, 16, 38, 85, -12, 14, 80, -29, - 24, -5, 91, -39, 36, -1, 14, 7, - 20, -21, -16, -1, -21, 35, 43, -17, - ], - [ - -45, -38, -30, -17, -30, -9, -7, 7, - 14, -18, 1, -29, -39, -2, -1, 3, - -44, -62, 19, -11, 31, 47, 9, 7, - -59, -41, 10, 44, 46, -9, 11, 9, - -24, -25, 25, -4, 29, 4, -17, 23, - -13, -27, 50, 63, 29, 50, 24, 15, - -14, -8, 29, -9, -22, -3, 9, -13, - 8, -38, 11, 28, 12, -25, 49, 15, + 9, 6, 35, 23, 46, 32, 29, -2, + 9, 22, 9, 15, 22, 17, -10, -8, + 12, 23, 7, 3, 6, 7, 11, -18, + -2, -8, -7, -2, -2, -12, -12, -26, + ], + [ + -16, -115, -44, -143, -41, -20, -35, -68, + 7, -38, 24, -25, 31, 11, 7, 14, + 26, 8, 41, -126, 67, 38, 27, 25, + 25, 12, 56, 13, 31, 31, 29, 14, + 12, 28, 5, 27, 30, 27, 29, -1, + -2, 11, 2, 16, 15, 16, 1, -15, + -11, 6, 0, 3, 8, 14, 3, -18, + -14, -12, -6, -8, 3, 6, -30, -9, + ], + [ + -46, -80, -147, -33, -141, 2, -105, 48, + -3, -150, -58, -20, 11, -47, 31, 10, + 37, 49, -5, 68, -2, 39, 62, -11, + 4, 40, 23, 47, 34, 33, 31, 37, + 19, 17, 12, -2, 48, 26, 32, 17, + -5, 9, 10, 12, 17, 13, 3, 6, + -4, 29, 2, -6, 17, 2, 13, -0, + -9, -17, -2, 9, 6, 6, -23, -13, + ], + [ + -18, -21, -33, -144, -39, -153, 20, -57, + 14, -5, -35, 29, 40, -10, -33, 4, + 50, 36, 9, -137, 63, -77, 42, 16, + 35, 19, 17, 27, 31, 17, 23, 14, + 18, 17, 11, 21, 5, 38, 15, 24, + 0, 5, 4, 9, 17, 8, 9, 13, + -2, 14, 2, 5, 10, 8, 5, 1, + -12, -1, -2, 4, 7, 5, 1, -3, + ], + [ + -19, 8, -6, 10, -103, -38, -187, -117, + 8, 19, 6, -17, -18, 25, -41, -42, + -16, 44, 53, 60, -34, 54, -62, 33, + 12, 36, 9, 24, 23, 54, 37, 36, + 1, 10, 30, 14, 46, 8, 54, 12, + -14, -2, 5, 1, 19, 23, 8, 5, + -25, -11, -8, -6, 14, 7, 21, 2, + -27, -17, -10, 2, 8, -4, -7, -6, + ], + [ + -122, -133, -45, -39, -27, -185, -46, -132, + -26, 8, 23, 19, -18, 30, 44, -30, + -7, 11, 23, 39, 50, -13, 21, 72, + 12, 27, 40, 30, 18, 38, 25, 20, + 10, 18, 22, 28, 33, 33, 5, 16, + -2, 2, 12, 10, 23, 13, 14, 13, + -13, -4, 4, 7, 12, 22, 9, 14, + -32, 3, -4, 2, 8, 4, -11, -2, + ], + [ + -84, -69, -64, 48, 19, 32, -139, -52, + -65, -10, -8, 35, -27, 2, -32, 70, + -18, 4, 16, 73, 59, 78, 22, 20, + -15, 8, 27, 38, 57, 41, 57, 34, + -19, -13, 18, 17, 44, 32, 39, 16, + -41, -21, -7, 5, 9, 16, 0, 11, + -35, -16, -9, -5, -2, -1, 3, 4, + -40, -34, -43, -23, -3, -8, -28, -22, + ], + [ + -230, -37, -15, -8, 13, -43, -149, -21, + -25, -64, 23, 110, 69, 30, -37, -16, + -11, 20, 47, -45, 56, 29, 48, -39, + -63, 38, 40, 49, 55, 40, 9, -11, + 38, 42, 35, 39, 39, 26, 24, 10, + -2, 15, 12, 6, 10, 3, -11, -6, + 13, 1, 7, 16, 8, -2, -26, -39, + -33, -8, -7, -9, 1, -4, -27, -34, + ], + [ + -110, -10, -60, -20, -14, -7, -84, -9, + 31, -31, -13, -13, 28, 16, 9, -3, + -51, -18, 47, 39, -5, 56, 42, 8, + 24, -4, 32, 11, 35, 31, 47, 6, + 16, 23, 9, 50, 47, 24, 14, 10, + -18, 16, 0, 21, 9, -6, -8, -29, + -13, -7, 3, -7, 12, -7, 38, -30, + -31, -10, -5, -13, -17, -21, -47, -37, + ], + [ + -112, -45, -111, 8, -38, -50, -26, 41, + 16, 33, -59, -23, -43, -2, 11, 16, + 44, -24, -6, 41, 40, 45, 29, 27, + 32, 4, 2, 41, 18, 31, 64, 29, + 16, 34, 32, 13, 36, 21, 42, 16, + 12, 3, 8, -2, 13, 3, -19, 5, + -6, -23, -14, -0, 3, -18, -14, -9, + -33, -27, -13, -18, 3, -29, -32, -33, + ], + [ + 9, -30, -4, -74, -100, -20, -12, -69, + 3, 14, 10, -19, -68, -52, 13, 20, + 35, 30, -7, 20, -8, 18, 6, 47, + 22, 29, 28, 0, 34, 16, 16, 28, + 31, 62, 27, 29, 42, 32, 31, 36, + -11, -8, 2, 8, 4, 10, -3, -6, + -19, -34, -3, 1, 5, -5, 13, -42, + -37, -30, -18, 1, -17, -3, -19, -19, + ], + [ + -54, -14, -77, 92, -135, -35, -110, -37, + 10, 17, 17, 32, 0, 29, -29, 2, + -38, 17, 40, -15, 0, 49, 18, 4, + 23, 22, 37, 38, 29, 46, 6, 13, + 3, 31, 25, 34, 47, 25, 38, 31, + -12, -3, -4, 1, 23, -1, 1, -7, + -31, -15, -11, -5, 6, -1, -3, 5, + -35, -32, -26, -17, -0, -22, -15, -29, + ], + [ + -92, -131, 15, 78, 47, 61, -39, -160, + -29, -6, 26, 50, 37, 11, -11, -67, + 12, 18, 20, 58, 8, 50, 21, -42, + -5, 19, 35, 43, 46, 56, 30, -22, + -18, 8, 25, 27, 47, 41, 41, 11, + -26, -18, -10, 2, 24, 4, -9, -9, + -31, -29, -18, -8, 6, -0, -5, -3, + -44, -36, -22, -13, -14, -12, -18, -26, + ], + [ + -78, -58, -42, -33, 75, 33, 49, -70, + -111, -34, -37, 75, 40, 44, 33, 17, + -33, -6, 13, 54, 101, 103, 30, 2, + -29, 1, 12, 30, 37, 52, 109, 50, + -30, -9, -0, 10, 42, 33, 34, 16, + -54, -30, -18, -11, 5, -7, -1, -11, + -22, -17, -33, -16, -5, -4, -4, -12, + -70, -48, -48, -26, -26, -25, -12, -28, + ], + [ + -30, -23, -22, -32, 4, 18, 17, -33, + 8, -6, 40, 133, 39, -21, -39, -72, + -57, 3, 58, 106, 69, -77, -8, -37, + -44, 32, 45, 87, 86, 25, 16, -50, + 49, 132, 2, 48, 83, -42, -14, 8, + 30, 4, 23, 0, 2, -33, 8, -50, + 3, -6, -30, 25, -43, -27, -73, -96, + 51, -30, -22, -20, -8, -46, -14, -150, + ], + [ + 4, 36, -70, 37, -31, -70, -17, 31, + -26, -17, 13, -8, -37, -12, -52, -51, + 27, -46, -43, 24, -34, -30, -44, -18, + 28, -52, 0, 1, 53, 21, 13, 11, + -45, 24, -36, -9, -27, 36, 35, -14, + -18, 7, 14, 47, 30, 57, 19, -2, + -23, 16, 15, 31, 50, 39, 10, 20, + 2, 26, 33, -6, 4, 38, -16, 3, + ], + [ + -7, 16, -8, 24, -0, -58, -2, 10, + 10, -29, -23, -40, 17, -25, -7, 24, + 23, -58, -34, -58, -2, 36, -10, -0, + 8, -52, -69, -41, -27, -1, -27, 21, + 5, 4, -21, -14, -36, 60, 31, 1, + 11, -17, 12, 18, 8, 54, 27, 22, + -11, 6, 9, -52, 9, 35, 8, 25, + 30, 46, -6, 63, 30, -9, 46, -8, + ], + [ + -29, -19, -61, -16, 3, -6, 23, 17, + -19, -10, 2, -25, -15, 44, 20, -2, + 13, -37, -33, -40, -18, -6, -42, -9, + 50, -0, -26, 11, -7, -28, -14, 25, + -8, 22, -25, 6, -19, -21, -37, 32, + -4, 8, 38, -11, -29, 26, 67, -2, + 16, 11, -17, 9, 2, 43, 17, 5, + 1, 18, 13, 10, 44, 36, 26, -21, + ], + [ + 15, 8, -11, 17, 26, -30, 19, 5, + 45, -21, 24, -52, -11, -28, 23, 22, + 3, 18, -39, -25, -3, -14, -89, -7, + 7, -17, 30, -53, -64, -46, -28, 13, + 28, -58, 6, -7, -32, 8, 23, 49, + 21, 35, 36, -6, -11, -4, -2, 30, + -16, 18, -2, 26, -15, -31, -1, 8, + 49, 6, 22, 30, -12, 42, -11, 38, + ], + [ + 1, -3, -79, -9, -28, -31, 19, 15, + 18, -18, -15, -54, -15, 15, -3, 9, + -21, -71, -22, -60, -53, -21, 2, 8, + 27, -7, 29, -31, -23, -13, -1, -3, + 56, -3, 4, 24, -20, -3, -42, 11, + 2, 62, 48, 35, -40, 16, 35, 44, + 5, 12, 7, -44, 16, 25, 14, -5, + 25, 8, 36, 37, 72, -11, 4, 7, + ], + [ + 16, -12, -42, -37, -11, -55, 2, -6, + 15, -1, -13, 9, 20, 15, -5, -3, + -16, -37, 15, 24, 24, -56, -44, 4, + -11, -1, 42, -33, -7, -32, -40, 4, + -16, 9, -3, -13, -27, -3, -12, 22, + -14, 18, 22, 87, -7, 14, 82, -31, + 21, -3, 96, -47, 37, 1, 12, 8, + 21, -18, -18, -8, -17, 39, 35, -15, + ], + [ + -44, -37, -34, -15, -33, -5, -5, 6, + 16, -16, -1, -32, -33, -6, -1, 4, + -44, -64, 7, 1, 36, 51, 5, 8, + -53, -50, 8, 31, 47, -6, 10, 22, + -27, -18, 30, -10, 31, -6, -17, 25, + -12, -25, 38, 54, 23, 51, 35, 15, + -12, -6, 26, -3, -22, -2, 8, -12, + 8, -40, 1, 30, 23, -22, 48, 16, ], ]; internal static readonly short[][] EndGameEnemyKnightTable = [ [ - -60, -17, 13, 32, 49, 30, -86, 31, - -17, -37, -0, 6, -6, 1, 20, 64, - 46, 35, -47, 25, 23, 15, -31, -4, - 2, 34, 27, -3, -2, -3, -18, 17, - 46, 9, -4, 5, 3, -13, -25, -26, - -10, -23, 2, 2, 12, -28, -20, -25, - 23, 4, -11, -34, -0, -13, -4, -12, - 3, -24, -8, -19, -21, 29, 0, 40, - ], - [ - -84, -59, 78, 3, -9, -44, -11, 6, - 13, 45, 62, -1, 15, 11, 19, 37, - -13, 34, -15, 30, 21, 15, -14, -4, - 17, 7, 29, 20, 42, 3, -4, 11, - 29, 12, 25, 25, 5, -4, 4, 11, - -11, -14, 1, 8, -23, -11, -14, -1, - -47, -25, -10, -6, 2, -28, -18, -9, - -37, -25, -18, -10, -5, -11, -30, -28, - ], - [ - -174, -35, -85, 7, 46, 23, -1, 72, - -24, 39, 7, 60, -90, 29, 36, -32, - -20, -84, 4, -36, 4, 22, 7, -23, - 4, 2, 19, 28, 33, 18, 19, 11, - 12, 22, 23, 24, 32, 18, -10, 21, - 1, -1, 2, -1, 6, 0, -3, 3, - -5, 20, -10, 8, -5, -27, -9, 24, - -24, 15, -10, 7, 3, -19, 16, -21, - ], - [ - -49, 25, -22, -52, 19, 44, 34, -27, - 13, -89, 77, -12, 35, -48, 7, 20, - 30, 14, -82, -1, -46, 10, -14, 24, - 25, 2, 17, 33, 13, 19, 7, 3, - 13, 31, 28, 11, 11, 11, -4, 11, - 2, -2, -4, 5, 2, -4, -2, -8, - -2, -40, -10, 3, -10, -4, -16, -41, - -11, 38, -7, -6, 13, -23, 11, -26, - ], - [ - 80, 8, 33, -5, -83, -5, -7, -39, - -9, 43, -60, -27, -16, 30, -57, 18, - -38, 14, 35, -95, 2, -98, 8, 0, - 10, 27, 27, 27, 30, 35, 16, 25, - 24, 17, 38, 27, 38, -2, 17, 22, - 7, -6, 8, 0, 5, -5, -13, -21, - 12, -22, -17, 4, -13, -0, -5, 16, - -13, 20, -6, 3, -8, -13, -22, -21, - ], - [ - 33, 43, 37, 5, 56, -66, 13, 18, - 2, 16, 31, -17, 17, -3, 42, -114, - 19, 1, 13, 1, -9, -4, -90, -18, - 9, -2, 32, 19, 21, 20, 4, -1, - 17, -1, 1, 25, 22, 16, -4, 11, - -4, -13, -7, 10, -3, -16, -15, 1, - 2, 15, -8, -5, -8, -6, -33, -38, - -13, -8, -14, -3, -20, 0, -20, -10, - ], - [ - 22, 34, 47, 16, 35, 10, -135, -125, - 24, 8, 1, 36, -103, 37, -21, 37, - -5, 26, 23, 28, 13, 33, 36, -85, - 9, 1, 4, 33, 31, 26, 22, 27, - 7, 4, 8, 16, 33, 23, 24, 12, - -14, -12, -1, 9, 8, -4, -14, -21, - 2, -4, -13, -7, -10, -26, -14, -4, - -24, -25, -14, -5, -4, -13, -27, -32, - ], - [ - 26, -12, 28, 16, 19, 11, -75, -51, - 33, 4, 13, 6, 72, 22, 16, -14, - -18, 6, 19, -1, 14, 19, 19, 69, - -21, -20, -5, -3, 38, 23, 62, 25, - -11, 11, -9, 0, 13, 10, 33, 27, - -36, -5, -16, -8, -16, -11, -7, -16, - -12, -13, -28, -19, 1, -22, -14, -32, - -53, -39, 3, -8, -18, -22, -3, -22, - ], - [ - -134, -28, 44, -3, -1, 27, 13, -73, - -54, 14, 15, -9, 16, 9, 34, 1, - -17, 10, 9, 37, 12, 11, -18, 17, - 20, 5, 2, 4, 8, 10, 15, 1, - 6, 8, 9, 10, 10, -5, -4, -6, - 9, -8, 6, 13, 10, 1, 3, -26, - 8, 11, 3, -6, -1, 7, 22, -6, - 9, -23, -2, -1, -4, -10, -16, -24, - ], - [ - -112, -45, -7, 13, 5, 11, 45, -49, - -43, -13, 1, 17, 5, -1, 18, -4, - -14, 4, 4, 14, 8, -7, -1, 7, - -10, -1, 5, 14, 10, 6, -10, 7, - -1, 13, 11, 2, 7, 4, 2, -0, - 18, -2, 4, 2, 9, 2, -4, 1, - 13, 2, 3, 7, -4, 5, -23, -10, - 1, 3, 6, 7, 14, 1, 24, 7, - ], - [ - -47, -46, 10, -23, 7, 28, 18, -32, - -31, -18, 8, -29, 30, 3, 4, -5, - -13, 1, 14, 6, -6, -21, 10, -16, - 4, -9, 19, 4, 12, 0, -13, -1, - 8, -2, 7, 9, 11, 6, -5, -3, - -11, 1, 0, 11, 3, 0, 5, -11, - 13, 16, -0, 0, 1, 4, -3, 2, - 7, 14, 7, 2, 4, 8, 16, 12, - ], - [ - -18, -29, 13, 34, -2, 3, -4, -54, - -3, -0, -19, 4, 10, 1, -14, -17, - -4, -2, -5, 6, 15, 11, -17, -12, - 7, 9, 3, 25, 5, 7, -13, -3, - 2, -11, -0, 13, 8, 1, -3, -9, - 3, 6, 4, 3, 5, -6, -0, 6, - -3, 21, -4, 1, -2, 5, -0, 23, - 16, 18, 4, -6, 3, -9, -6, -15, - ], - [ - -5, 11, 53, -22, 67, -4, -17, -85, - -2, 3, -2, -1, 4, -15, -34, -11, - 17, 1, 10, 10, 21, -19, 12, -19, - -5, 6, 5, -2, 7, -5, 3, -25, - 2, -12, 6, 8, 11, 3, 4, -13, - -9, -4, 4, 15, 2, 1, -9, -3, - 2, 10, 2, 3, 2, 4, 3, -8, - -1, 19, 2, 3, -2, -5, -2, 3, - ], - [ - 53, 20, -5, -8, 2, -11, 23, -128, - 6, 2, -8, -4, -2, 38, -11, 1, - -1, -3, 10, 10, 3, 10, 1, -2, - -4, -4, -3, 9, 5, 10, 16, -0, - 6, -11, 0, 8, 7, 9, -7, 13, - -10, -5, -0, 3, 3, 0, -3, 14, - -9, 7, -1, -4, 3, -6, 0, 15, - -30, -9, -11, -2, 5, 3, -15, 4, - ], - [ - -1, 31, 23, 16, 19, -16, 96, -75, - 24, -3, -1, -4, 12, 3, -17, -9, - -22, -1, 4, -1, 13, -4, 33, 11, - -7, -22, -9, 6, 16, -0, 5, 1, - -7, -13, 6, 3, 15, 16, 36, 17, - -6, -17, -1, 2, 10, 3, 2, 3, - -41, -28, -4, 5, -6, -5, -4, 6, - -37, -26, -12, 11, 17, -14, -15, -37, - ], - [ - -5, 24, -20, 32, -28, -39, -17, -46, - -16, 20, 6, -20, 6, -22, -9, -36, - 14, 4, 8, -1, 4, 13, 2, -35, - 47, 69, -5, 2, -6, -4, -28, -9, - 7, -5, 15, 1, -12, 30, 13, -42, - -20, -5, 3, 18, 2, 15, -47, 6, - -18, 31, 40, 4, 7, 4, -2, 36, - -13, 15, 28, 5, -4, -21, -1, 7, - ], - [ - 17, 33, -73, 53, 23, -67, -74, 31, - 45, 16, -34, -16, -35, -24, 7, -46, - 72, -9, -32, -13, 11, -31, -12, -4, - 33, 8, 4, 6, -5, -22, -36, -39, - 2, 2, 32, 20, 21, -5, -36, -17, - 16, -21, 29, 22, 28, 7, -11, 7, - -5, 1, 13, 24, 47, 11, -11, 9, - -22, 14, 11, 12, -16, 12, -15, 34, - ], - [ - 31, 39, -63, -23, -42, -45, 16, 39, - 62, 11, 3, -7, -9, -9, -38, 7, - 16, -9, -1, -43, 1, -6, -41, -2, - 19, 5, -5, 7, -9, 3, -23, -18, - 31, 38, 48, 23, -6, 12, -24, -29, - 20, 10, 12, 19, -0, 24, -6, -5, - -0, -6, -14, 30, 2, 8, -30, -13, - -16, -9, 15, 17, 1, 8, 4, -33, - ], - [ - -50, -40, -72, -1, -17, -34, 40, 25, - 44, -5, 7, -3, -20, -3, -2, 12, - 13, -22, 1, 9, -36, 14, 24, 7, - 3, -15, 11, -16, -15, 13, -26, -19, - 7, -12, 7, 12, 14, 3, 22, -19, - 18, 19, 16, 25, 26, 34, -17, -15, - 43, -26, 38, 13, 30, 12, 11, -4, - -52, -22, 24, 20, 6, -45, 30, -46, - ], - [ - -7, -7, 14, -11, -3, -45, 3, 4, - 10, 35, 14, 0, -23, -4, 2, -23, - 5, -30, 23, -39, -19, -15, 6, 10, - 2, 14, -13, 9, -2, -11, -1, 12, - -6, 14, 3, -7, -21, 6, 4, 14, - 15, -18, -20, 28, 3, 6, 9, -5, - -59, 4, 39, 18, -18, -2, 39, 21, - 30, 13, -39, 1, 15, -9, 18, -2, - ], - [ - 51, -7, -4, -51, -2, 6, -39, 5, - -30, -40, -25, -20, 18, -25, 24, 26, - 1, -33, -6, 23, -14, 14, -3, 43, - -39, -18, -14, -3, -18, -16, -4, 50, - -20, -4, -1, -7, 15, 26, 17, 10, - -53, -9, -26, -1, 35, 16, 21, 21, - -42, 48, 4, 22, -10, -26, 9, -34, - 14, 5, 13, 2, 30, 25, 33, 18, - ], - [ - 87, 55, -20, -56, -17, -52, 50, 54, - -34, -20, -36, -33, 6, -12, -16, 28, - -28, -37, -25, -2, -20, 14, -5, -23, - -12, -9, -20, 6, 12, 40, 1, 17, - -49, -16, -4, 14, 13, 24, 4, 12, - -33, -32, 4, 12, 26, 15, 38, 31, - -50, -23, -27, 28, -0, -4, 27, -9, - 25, -54, -14, 23, 34, 29, 24, 34, - ], - [ - -88, -41, -77, 59, -13, 24, -11, 52, - -55, -15, 23, -32, 1, 5, 29, -17, - -22, 1, -3, 10, 20, 10, -6, 7, - -67, -30, -35, -4, 4, 5, 12, 9, - -26, -55, -3, 7, 37, 17, 29, 31, - -86, 22, 6, -17, 25, 32, 18, 49, - 13, -2, -48, -4, 43, 24, 27, 21, - 49, -2, -26, -3, -18, 19, 7, 64, + -59, -20, 1, 35, 50, 26, -80, 30, + -12, -42, 4, 8, -9, 1, 25, 66, + 50, 35, -44, 25, 22, 15, -28, -5, + 2, 36, 27, -4, -2, -2, -20, 16, + 45, 8, -4, 9, 3, -12, -29, -25, + -9, -21, 3, 2, 11, -26, -20, -23, + 22, 6, -10, -34, 0, -11, -3, -19, + 5, -26, -10, -20, -21, 27, 1, 38, + ], + [ + -84, -59, 74, 8, -13, -45, -12, 8, + 13, 47, 54, -2, 15, 13, 16, 34, + -14, 36, -16, 31, 23, 16, -12, -3, + 18, 5, 28, 20, 42, 3, -4, 10, + 30, 14, 23, 25, 5, -3, 4, 10, + -9, -13, -0, 8, -23, -10, -13, -1, + -43, -25, -10, -6, 1, -28, -19, -8, + -36, -23, -18, -9, -5, -11, -27, -28, + ], + [ + -168, -36, -85, 5, 45, 17, 5, 70, + -25, 41, 5, 60, -89, 31, 39, -32, + -21, -84, 4, -38, 3, 22, 7, -25, + 3, 3, 19, 28, 32, 18, 18, 9, + 11, 21, 23, 24, 32, 18, -11, 24, + 1, -0, 1, -1, 7, 0, -4, 6, + -3, 19, -9, 7, -4, -27, -11, 23, + -25, 16, -8, 8, 5, -17, 16, -22, + ], + [ + -42, 30, -20, -52, 20, 49, 35, -28, + 16, -89, 72, -20, 35, -49, 4, 21, + 29, 13, -81, -2, -47, 9, -13, 23, + 24, 4, 15, 33, 12, 20, 7, 0, + 13, 30, 27, 11, 13, 12, -5, 17, + 3, -3, -2, 5, 1, -7, -2, -11, + 4, -43, -9, 2, -10, -4, -14, -38, + -13, 37, -8, -6, 12, -23, 12, -26, + ], + [ + 85, 6, 27, -1, -84, 1, -16, -43, + -6, 42, -62, -24, -16, 26, -59, 16, + -36, 15, 35, -96, 1, -100, 9, 0, + 12, 28, 28, 28, 28, 36, 17, 28, + 23, 17, 39, 28, 37, -1, 18, 22, + 10, -7, 7, 1, 4, -6, -12, -20, + 13, -24, -15, 6, -12, 0, -8, 14, + -14, 20, -5, 2, -11, -9, -19, -20, + ], + [ + 34, 42, 40, 8, 46, -67, 14, 17, + 4, 16, 31, -18, 19, -1, 42, -114, + 16, 2, 14, 1, -12, -3, -90, -19, + 11, -2, 31, 19, 22, 22, 5, -1, + 16, -2, 2, 24, 23, 14, -3, 14, + -2, -13, -6, 10, -2, -16, -14, -1, + 1, 14, -6, -6, -7, -9, -35, -37, + -15, -10, -13, -3, -18, 1, -20, -10, + ], + [ + 28, 35, 47, 13, 37, 16, -136, -118, + 24, 8, -0, 35, -104, 36, -25, 46, + -4, 27, 22, 28, 13, 29, 35, -87, + 8, 0, 3, 33, 31, 25, 22, 26, + 6, 4, 8, 15, 32, 22, 23, 12, + -15, -11, -1, 8, 7, -5, -14, -23, + 1, -5, -13, -7, -10, -26, -15, -6, + -25, -25, -14, -5, -5, -13, -24, -32, + ], + [ + 16, -10, 31, 14, 21, 9, -79, -50, + 33, 6, 13, 5, 73, 21, 15, -10, + -16, 5, 19, 1, 12, 20, 18, 72, + -22, -20, -6, -2, 39, 24, 60, 25, + -10, 13, -10, 0, 12, 10, 32, 27, + -35, -5, -15, -7, -16, -12, -7, -16, + -13, -15, -28, -18, 0, -20, -15, -30, + -51, -39, 2, -6, -18, -20, -2, -25, + ], + [ + -133, -26, 45, -1, -3, 24, 18, -75, + -54, 14, 16, -11, 14, 8, 35, -2, + -15, 12, 8, 35, 12, 11, -16, 17, + 22, 5, 2, 4, 7, 8, 14, 1, + 8, 8, 10, 9, 10, -3, -6, -12, + 7, -8, 4, 13, 11, -1, 3, -25, + 9, 11, 3, -4, -0, 6, 23, -2, + 8, -23, -2, -0, -4, -10, -16, -24, + ], + [ + -112, -44, -4, 9, 6, 6, 43, -48, + -42, -12, 6, 18, 2, -0, 19, -3, + -11, 4, 2, 14, 9, -6, -3, 7, + -10, -1, 5, 14, 10, 6, -8, 9, + 0, 12, 12, 1, 7, 3, 2, -2, + 16, -1, 4, 2, 10, 3, -5, 4, + 14, 2, 4, 8, -2, 6, -24, -13, + 1, 2, 5, 8, 13, 0, 21, 6, + ], + [ + -44, -45, 8, -23, 8, 28, 21, -34, + -31, -17, 11, -27, 32, 2, 4, -5, + -13, 4, 15, 4, -5, -17, 11, -16, + 2, -8, 18, 1, 11, 1, -14, -3, + 6, -3, 7, 9, 12, 6, -5, -2, + -13, 1, -1, 10, 3, 0, 4, -13, + 12, 15, -1, -1, 0, 4, -2, -0, + 6, 15, 6, 2, 2, 7, 17, 13, + ], + [ + -17, -22, 13, 35, -2, -4, -10, -57, + -3, 1, -18, 5, 9, 0, -15, -17, + -4, -3, -3, 5, 16, 11, -14, -12, + 6, 9, 3, 24, 6, 7, -12, -3, + 1, -11, 0, 12, 9, 1, -1, -10, + 4, 6, 3, 3, 5, -5, -1, 6, + -3, 21, -5, 0, -0, 5, -0, 24, + 17, 15, 3, -6, 1, -10, -6, -15, + ], + [ + -3, 8, 52, -23, 64, -3, -19, -83, + -0, 4, -1, -1, 5, -15, -30, -9, + 15, -1, 10, 9, 21, -17, 13, -18, + -5, 6, 5, -2, 7, -4, 2, -25, + -1, -13, 6, 7, 8, 4, 5, -12, + -6, -4, 3, 14, 2, 2, -8, -3, + 1, 9, 2, 4, 3, 4, 3, -9, + -0, 16, 3, 2, -2, -3, -2, 5, + ], + [ + 50, 20, -8, -6, 9, -9, 24, -123, + 7, 1, -8, -4, -1, 36, -13, 1, + -3, -3, 9, 10, 4, 11, 0, -3, + -4, -6, -3, 9, 6, 9, 16, 1, + 5, -12, 1, 9, 9, 10, -6, 15, + -10, -5, -0, 3, 3, 0, -3, 15, + -8, 6, -2, -4, 2, -7, 0, 11, + -29, -9, -11, -4, 5, 3, -18, 2, + ], + [ + -7, 34, 24, 14, 17, -16, 94, -74, + 24, -1, -2, -5, 13, 2, -19, -14, + -19, -1, 4, 1, 13, -4, 33, 13, + -10, -21, -8, 6, 17, 1, 6, 3, + -8, -11, 5, 3, 17, 15, 35, 17, + -5, -17, -3, 2, 10, 2, 2, 0, + -42, -28, -3, 5, -5, -4, -7, 6, + -34, -24, -11, 13, 16, -13, -16, -35, + ], + [ + -5, 24, -17, 34, -27, -58, -2, -45, + -15, 18, 10, -20, 10, -21, -11, -36, + 18, -1, 8, -0, 6, 10, 1, -35, + 47, 67, -4, 1, -6, -4, -27, -8, + 7, -5, 17, 2, -13, 30, 13, -42, + -16, -3, 2, 19, -1, 13, -50, 4, + -17, 33, 40, 4, 8, 2, -1, 29, + -13, 16, 27, 6, -7, -21, -3, 8, + ], + [ + 16, 30, -35, 48, 22, -56, -71, 34, + 46, 19, -37, -14, -37, -24, 3, -46, + 70, -11, -32, -12, 11, -34, -20, -8, + 33, 10, 6, 4, -6, -21, -37, -37, + 3, 2, 33, 15, 20, -6, -37, -19, + 16, -20, 27, 17, 28, 5, -11, -1, + -4, 2, 14, 23, 44, 8, -10, 13, + -23, 16, 11, 9, -21, 10, -9, 34, + ], + [ + 31, 34, -51, -24, -41, -18, 12, 37, + 64, 8, 5, -6, -10, -11, -37, 7, + 15, -3, -1, -40, -0, -6, -42, -3, + 18, 6, -4, 7, -10, -1, -23, -22, + 28, 37, 48, 18, -7, 10, -21, -29, + 18, 10, 9, 17, -1, 25, -12, -8, + 3, -10, -15, 32, 1, 8, -20, -11, + -15, -11, 15, 15, 1, 5, 1, -32, + ], + [ + -49, -37, -67, -1, -16, -33, 40, 26, + 39, -6, 5, -3, -20, -3, -2, 10, + 10, -20, 1, 11, -34, 13, 21, 8, + 5, -15, 10, -14, -12, 12, -26, -16, + 7, -13, 6, 11, 10, 6, 22, -16, + 14, 20, 14, 24, 27, 34, -17, -12, + 40, -26, 36, 12, 30, 11, 10, -4, + -50, -24, 23, 18, 6, -45, 32, -44, + ], + [ + -5, -14, 11, -17, -5, -35, 6, 4, + 8, 30, 14, 0, -21, -4, 1, -22, + -0, -27, 22, -41, -19, -13, 8, 10, + 1, 12, -14, 9, -1, -10, -1, 12, + -3, 16, 1, -5, -20, 6, 2, 15, + 11, -17, -19, 28, 3, 10, 10, -6, + -62, 3, 40, 19, -18, -2, 38, 23, + 26, 9, -38, -1, 15, -4, 19, 1, + ], + [ + 46, -13, -10, -51, -3, 12, -37, 10, + -30, -40, -27, -20, 18, -25, 23, 28, + -2, -33, -7, 24, -12, 13, -5, 41, + -38, -18, -16, -8, -21, -15, -3, 48, + -18, -5, -1, -7, 15, 21, 20, 9, + -53, -11, -23, 1, 35, 16, 17, 24, + -43, 44, 5, 21, -8, -26, 8, -27, + 20, 8, 12, 3, 30, 27, 33, 20, + ], + [ + 89, 55, -19, -55, -18, -48, 48, 58, + -35, -18, -40, -33, 2, -14, -15, 25, + -24, -41, -25, -1, -19, 14, -6, -21, + -12, -9, -22, 6, 12, 41, 0, 19, + -50, -14, -2, 13, 12, 23, -0, 9, + -36, -32, 6, 11, 27, 16, 34, 31, + -53, -24, -30, 27, -0, 2, 32, -9, + 26, -50, -10, 27, 34, 28, 21, 36, + ], + [ + -82, -39, -86, 61, -21, 28, -2, 52, + -54, -12, 17, -29, 3, 2, 27, -12, + -28, -1, -5, 9, 18, 8, -9, 8, + -54, -30, -32, -5, 3, 1, 14, 11, + -22, -56, -4, 7, 34, 15, 32, 29, + -87, 19, 8, -16, 21, 29, 22, 47, + 15, -1, -49, -8, 41, 24, 21, 22, + 50, -5, -26, 2, -8, 19, 3, 62, ], ]; internal static readonly short[][] MiddleGameEnemyBishopTable = [ [ - -97, -28, 3, 61, -9, -128, -74, -85, - 42, 56, 29, 51, -3, -61, 1, -55, - 65, 101, 44, 45, -22, -29, -13, -47, - -4, 41, 55, 61, 17, 9, 5, -20, - 11, -8, 14, 24, 48, 20, 3, -12, - -3, 9, -6, 21, 18, 25, 15, -18, - -20, -38, -3, 3, 4, 9, 11, -2, - -34, -28, -31, -17, -19, -17, 6, 5, - ], - [ - -26, -38, -78, -70, -99, -112, -87, -60, - 19, 18, 53, -43, 1, 6, -14, -35, - 25, 40, 60, 41, -3, 34, -9, -25, - -1, 4, 26, 32, 61, 4, 26, -4, - -14, 8, 10, 29, 28, 42, 11, -3, - -14, 7, 6, 7, 23, 12, 24, -4, - 2, -21, -9, 10, 8, 21, 18, 30, - -1, -14, -2, -3, 10, -1, 25, 7, - ], - [ - 10, -116, -25, -137, -138, -71, -14, -25, - -8, 88, -92, 19, -51, 8, -22, -32, - 75, 57, 12, 62, 46, 20, 18, -21, - -22, 17, 15, 25, 37, 47, 19, -3, - -11, -11, 21, 18, 35, 25, 30, -9, - -25, 8, -2, 8, 11, 16, 22, 12, - 13, -20, 4, 3, 15, 4, 27, 7, - -3, -9, -12, -1, 4, -2, 14, 8, - ], - [ - 17, -92, -137, -17, -130, -35, -50, -17, - -1, -13, 3, -64, 4, 0, 13, -40, - -6, 25, 77, 72, 44, 115, 13, 3, - 36, -4, 36, -10, 33, 5, 45, 1, - -6, -3, 3, 31, 8, 10, 12, 17, - -1, 7, 1, 10, 4, 1, 10, 6, - -3, -12, -4, 12, 9, -3, -1, -18, - 1, -12, -7, -2, 10, -3, 14, -16, - ], - [ - -29, -38, -101, -211, -24, -83, -21, -64, - -1, 15, -33, -36, -29, -41, -21, -12, - -20, 31, 42, 56, 51, 44, 45, 19, - 14, 12, 27, 29, 18, 28, 3, 20, - 15, 19, 20, 26, 29, 8, -2, -7, - 13, 31, 6, 13, 10, -7, 10, -0, - 22, 9, 22, 8, 1, 3, 3, 18, - 6, 2, 8, 13, 3, -4, 15, -5, - ], - [ - -45, -46, -55, -40, -128, -22, -137, -17, - -4, -26, 45, -27, -1, -41, -9, -38, - -15, 35, -21, 109, 75, 59, 41, 59, - -3, 3, 49, 26, 36, -17, 22, -17, - -6, 16, 21, 37, 12, 33, 10, -10, - 24, 10, 21, 7, 24, -3, 3, -28, - 19, -2, 4, 21, -6, -9, -2, 4, - 7, -11, 5, -5, 5, -24, -8, -22, - ], - [ - -56, -54, -102, -54, -83, -115, -28, 15, - -18, -4, -11, -25, -9, 6, -47, 51, - -17, 1, 8, 9, 53, 48, 28, 11, - -7, 16, 13, 37, 14, 14, -1, -20, - 9, 7, 28, 28, 30, 6, 12, 6, - -3, 38, 15, 18, 10, 5, -3, -4, - 29, 7, 27, 7, 12, -0, 3, -1, - 19, 19, 4, 8, -3, -6, 2, -1, - ], - [ - -97, -51, -27, -37, -81, -23, 47, -31, - -6, -29, -49, -48, 74, 4, -63, 1, - -28, -2, -25, 20, 11, 82, 56, 24, - -17, 9, 23, 14, 62, 37, 18, -9, - -18, 14, 14, 42, 32, 18, 3, -1, - -8, 20, 27, 16, 17, -3, 2, -19, - 2, 12, 15, 9, 5, -9, -12, 5, - 18, 21, -3, -16, -9, -16, -15, -24, - ], - [ - -62, -65, -32, -27, -55, 29, -17, -29, - -82, -34, -54, 49, -17, 17, 0, -37, - -23, 33, 10, 49, 32, 15, 19, -12, - -11, 16, 32, 103, 43, 19, 11, -3, - -9, -9, -1, 26, 45, 13, 18, -15, - -11, -5, -3, 14, 14, 44, 15, 8, - -17, -34, 5, -3, 20, -7, 25, 2, - -29, -25, -26, -4, -7, 15, 7, 14, - ], - [ - -94, -42, 35, 0, -59, 52, -78, -86, - -29, -45, -39, -48, -40, 26, 19, -19, - -5, -26, 55, 34, 15, 20, -4, -3, - 68, 17, 39, 41, 84, 29, 31, -11, - -20, 25, 14, 28, 7, 79, 17, 32, - -16, -18, 12, -5, 16, -10, 17, 11, - -41, -24, -18, 4, -4, 5, 1, 17, - -16, -30, -3, -21, 13, -16, 19, -10, - ], - [ - 9, -26, -48, -94, -45, -67, -50, -39, - -14, -47, -20, -84, -56, -12, -3, 16, - 31, 7, 68, 48, 43, 24, -6, -9, - 1, 66, 31, 22, 36, 84, 23, 0, - 38, 26, 22, 26, 26, 12, 72, -13, - -12, -5, -23, 21, -7, 9, 1, 38, - -17, -31, 6, -9, 12, 10, 12, -3, - -23, -8, -19, 7, -25, -1, -14, -13, - ], - [ - -32, -7, 56, -52, -39, -20, 2, -42, - 23, 14, -23, -13, 13, -45, 0, -36, - -36, 18, -11, 42, 38, 71, -8, 34, - 2, -2, 65, 26, 7, 21, 45, -1, - -30, 41, -6, 32, 12, 21, -12, 48, - 47, 2, -3, -16, 20, -28, 13, -25, - 1, -23, -10, 14, -22, -6, -23, -33, - -12, -30, -4, -21, -2, -41, 16, -33, - ], - [ - 5, 3, 20, -85, 11, -36, 19, -82, - -57, -16, -18, -18, -105, -29, -16, 3, - 13, 2, -1, 1, -16, 18, 17, -21, - -8, 15, 22, 99, 39, 46, 7, 56, - -15, 20, 57, 16, 38, 7, 5, -37, - -1, 52, -6, 18, -1, 1, -22, -17, - 38, -5, 21, -6, 5, -23, 7, -15, - 2, 17, -20, 25, -5, -13, -18, -8, - ], - [ - -76, 19, -56, 19, -12, 46, 16, -47, - -26, -51, 39, -12, 22, -36, 19, -17, - -51, -3, -33, 60, 11, 40, 24, 12, - 15, -16, 30, 15, 121, 32, 30, -17, - -24, 2, 2, 61, 12, 30, -15, -3, - -11, -1, 43, -1, 29, -18, 6, -54, - -16, 21, -3, 22, -18, -3, -30, -25, - 6, -7, 7, -15, 4, -45, -24, -52, - ], - [ - -79, -41, -30, -74, 24, -59, 65, -6, - -41, -5, -18, -10, 13, 24, 34, 42, - -51, -1, 17, -4, 29, 62, 108, 55, - -34, 8, -6, 23, 29, 97, 14, 3, - -32, -10, 18, 24, 53, 3, 1, -14, - -23, 10, 7, 20, 5, -2, -31, -2, - -1, -16, 26, -5, 8, -14, -16, -36, - -14, 2, -19, -1, -30, -17, -41, -39, - ], - [ - 10, 63, 26, 2, 24, -24, 17, -62, - 56, 63, 97, 78, -23, 0, -36, -24, - 6, 81, 79, -13, -1, -126, -60, -67, - -18, 59, 65, 106, -5, 23, -10, -44, - 16, -42, 24, 23, 45, -15, -28, 1, - -5, -53, -14, 52, 15, 25, -0, 0, - -68, -102, -34, -10, 5, 13, 42, -32, - -94, -48, -4, -42, -23, 14, -26, 25, - ], - [ - 10, 11, 22, 38, -30, -19, 35, 9, - 15, 18, 36, 23, -2, -17, -9, 10, - -9, 10, -20, -20, -54, -27, -19, -10, - 30, -20, -49, -35, -41, 4, -16, 19, - 8, 6, 20, -67, 24, 38, -1, 9, - 27, 3, -31, -16, 48, 69, 3, 4, - -11, 14, -16, -30, -42, 59, -20, 37, - 5, 0, -70, -77, 31, 48, 20, 13, - ], - [ - 34, 18, 27, 18, -7, -59, -4, 16, - 12, -71, 39, -29, 25, 42, -32, 12, - 44, -11, -63, -84, 18, -42, -77, 28, - -34, -14, -50, -8, -50, -13, -17, -18, - 1, -33, 42, -5, 2, 64, -23, 10, - -2, 16, 33, 41, 5, -58, 42, 81, - 8, -33, -18, -76, 29, 82, 30, 45, - -56, 17, -27, 19, 27, 56, -4, 34, - ], - [ - 8, 10, 62, 39, 51, 30, -2, 45, - 5, -11, 19, 7, 36, -25, 22, 15, - -28, -63, -50, -14, -53, -41, 4, 30, - 5, -64, -22, -91, -42, -4, 2, 13, - -11, -33, -72, -52, -13, -37, -39, 49, - 20, -26, 14, -21, 0, -11, 30, 76, - -21, 58, -18, -29, -46, 7, -1, 63, - 68, 23, 6, 13, 14, 13, 3, 79, - ], - [ - 42, 0, 13, -2, 48, 21, 13, 12, - -8, 10, -38, 11, 17, 15, -55, 42, - -34, 26, -38, -54, -20, -80, -2, -32, - 30, -44, -93, -117, -68, -2, -51, 33, - 1, 91, 16, -32, 9, -5, 11, 15, - 51, -8, 6, 3, -54, 16, -65, 91, - 51, 13, 51, -22, 32, -22, 39, 11, - 22, 80, -47, 20, 2, -20, -12, 56, - ], - [ - 15, 46, -20, -19, 46, 23, 38, 16, - 62, -18, -15, -28, 30, -42, 23, 26, - 2, -12, -59, -24, -50, -22, -55, 26, - 26, -43, -21, -68, -61, -5, -55, 10, - 31, 15, -24, 5, -19, -27, -62, -13, - 65, 72, -29, -38, -31, 39, 40, 10, - 65, 37, -38, 29, -59, 15, -11, 42, - 41, 16, 11, 8, -19, 26, 22, 3, - ], - [ - 20, 65, 20, 3, 26, -20, -21, 27, - -90, -25, -19, -17, -29, 60, -18, 6, - -29, -52, -25, -35, 8, -25, -5, -10, - 15, 12, -5, 22, -18, -1, -14, 8, - 54, -23, 10, 40, -57, -3, 21, -9, - 19, 28, -1, 25, 42, 44, 69, 13, - 6, 1, 49, -59, 31, -46, 3, -17, - -35, -19, -6, 8, -8, 56, -66, -3, - ], - [ - 25, 14, 13, 2, -12, 18, -18, -3, - -17, -40, 10, -28, 35, 39, -27, 22, - -8, 40, 14, -21, -89, -10, 18, -34, - 14, -0, 19, 17, 57, -56, 38, -35, - 5, -83, -43, 20, -14, 83, 16, 19, - -16, -4, -11, 20, 23, 21, 27, -7, - -31, -31, -36, 50, 28, 4, 9, -1, - -20, 1, 36, -49, 14, -22, -20, 14, + -95, -34, -1, 60, -13, -128, -70, -83, + 46, 53, 34, 47, -1, -54, -1, -47, + 64, 103, 43, 49, -18, -28, -12, -46, + -6, 43, 56, 64, 17, 11, 3, -19, + 6, -9, 13, 22, 47, 19, 1, -13, + -5, 9, -8, 21, 17, 25, 13, -19, + -20, -38, -4, 1, 3, 9, 11, -1, + -35, -29, -31, -18, -20, -15, 6, 4, + ], + [ + -21, -38, -80, -68, -89, -112, -86, -57, + 17, 20, 51, -42, -5, 2, -15, -34, + 23, 40, 60, 35, -5, 30, -12, -27, + -1, 4, 28, 31, 60, 5, 26, -6, + -14, 7, 11, 29, 28, 43, 10, -1, + -12, 8, 6, 7, 23, 14, 25, -5, + 2, -21, -9, 10, 7, 22, 18, 31, + -1, -15, -1, -3, 10, -0, 25, 7, + ], + [ + 11, -107, -25, -139, -145, -73, -17, -17, + -8, 87, -95, 18, -55, 5, -21, -31, + 75, 57, 13, 64, 48, 18, 16, -20, + -21, 19, 15, 25, 35, 48, 18, -3, + -9, -11, 22, 18, 34, 25, 30, -10, + -26, 8, -3, 8, 10, 17, 22, 13, + 13, -20, 4, 3, 14, 4, 27, 7, + -3, -10, -11, -1, 4, -1, 14, 9, + ], + [ + 16, -88, -141, -18, -133, -31, -54, -14, + 2, -10, 1, -62, 2, -2, 7, -43, + -7, 29, 76, 77, 44, 122, 10, 3, + 35, -2, 37, -9, 34, 6, 41, 0, + -3, -2, 3, 31, 5, 9, 12, 18, + 1, 7, -1, 8, 3, 3, 9, 6, + -4, -12, -4, 10, 7, -3, -0, -18, + 1, -12, -7, -2, 10, -3, 13, -16, + ], + [ + -34, -37, -93, -207, -23, -73, -23, -65, + -2, 17, -31, -34, -40, -39, -25, -10, + -21, 30, 40, 62, 53, 41, 47, 19, + 13, 13, 26, 29, 17, 29, 3, 20, + 15, 18, 20, 25, 28, 9, -3, -7, + 15, 31, 5, 12, 9, -7, 10, -1, + 23, 8, 22, 8, 1, 3, 3, 16, + 5, 2, 7, 13, 3, -3, 15, -5, + ], + [ + -45, -40, -53, -41, -122, -22, -136, -10, + -4, -22, 43, -33, -1, -45, -9, -39, + -14, 36, -24, 110, 71, 62, 42, 57, + -3, 3, 46, 27, 34, -15, 23, -19, + -6, 20, 21, 38, 11, 31, 8, -9, + 28, 9, 21, 4, 24, -4, 4, -29, + 19, -3, 4, 21, -6, -9, -3, 4, + 7, -11, 5, -6, 5, -23, -8, -22, + ], + [ + -58, -57, -98, -57, -81, -120, -27, 15, + -19, -5, -11, -27, -11, 6, -50, 51, + -18, 2, 7, 11, 53, 50, 28, 12, + -6, 17, 14, 37, 14, 15, -2, -20, + 9, 6, 29, 28, 29, 6, 12, 7, + -1, 38, 14, 17, 10, 5, -1, -5, + 29, 7, 27, 8, 12, 0, 3, -0, + 18, 19, 5, 8, -2, -5, 2, 0, + ], + [ + -108, -61, -24, -38, -76, -31, 49, -31, + -7, -29, -50, -47, 73, 3, -63, 2, + -27, -3, -25, 24, 11, 80, 57, 26, + -18, 10, 24, 14, 64, 38, 17, -7, + -17, 12, 15, 43, 31, 18, 3, -1, + -7, 21, 28, 15, 16, -2, 2, -18, + 4, 12, 16, 10, 5, -8, -11, 5, + 18, 20, -2, -15, -8, -16, -15, -23, + ], + [ + -62, -60, -30, -17, -56, 23, -29, -44, + -88, -39, -52, 51, -18, 16, -4, -31, + -19, 37, 11, 46, 35, 14, 21, -14, + -13, 19, 34, 100, 43, 22, 11, -2, + -9, -9, 2, 26, 45, 12, 17, -16, + -9, -4, -4, 15, 14, 46, 16, 9, + -16, -33, 5, -3, 19, -7, 25, 3, + -29, -24, -26, -5, -5, 16, 8, 14, + ], + [ + -90, -44, 33, -0, -66, 56, -76, -80, + -24, -48, -32, -49, -39, 23, 26, -17, + -6, -22, 55, 29, 11, 20, -3, -6, + 64, 19, 39, 41, 82, 29, 29, -10, + -16, 23, 12, 29, 6, 79, 15, 32, + -17, -19, 11, -7, 15, -9, 15, 11, + -41, -23, -18, 5, -6, 5, -0, 16, + -15, -31, -2, -21, 14, -15, 19, -10, + ], + [ + 18, -27, -44, -101, -40, -69, -37, -40, + -14, -49, -29, -73, -61, -15, -2, 9, + 29, 8, 65, 54, 44, 24, -7, -9, + 2, 67, 29, 19, 32, 78, 27, 0, + 38, 23, 24, 27, 22, 13, 74, -11, + -15, -5, -23, 18, -7, 9, 3, 40, + -21, -31, 7, -9, 13, 10, 13, -3, + -24, -7, -18, 7, -25, -0, -14, -13, + ], + [ + -20, -16, 50, -54, -39, -13, 3, -35, + 23, 17, -16, -10, 14, -36, -5, -39, + -33, 21, -10, 48, 38, 57, -9, 27, + 5, -4, 65, 26, 7, 22, 45, -3, + -24, 39, -7, 33, 10, 18, -13, 45, + 43, 2, -0, -17, 19, -28, 9, -23, + 1, -21, -11, 12, -22, -6, -24, -33, + -12, -30, -5, -21, -2, -40, 16, -33, + ], + [ + -2, -3, 10, -80, 15, -36, 11, -78, + -58, -8, -21, -20, -113, -28, -18, 0, + 9, 4, 2, 2, -12, 24, 22, -18, + -10, 16, 22, 96, 40, 46, 12, 57, + -16, 17, 57, 16, 36, 8, 3, -38, + 1, 53, -5, 17, -1, 2, -19, -18, + 36, -4, 20, -5, 5, -21, 6, -15, + 3, 17, -20, 26, -5, -13, -17, -9, + ], + [ + -71, 16, -49, 16, -9, 35, 8, -45, + -23, -47, 42, -11, 31, -40, 13, -16, + -49, -2, -34, 60, 13, 39, 22, -7, + 17, -14, 30, 16, 122, 31, 32, -17, + -25, 1, 3, 63, 11, 30, -15, -2, + -9, 1, 43, -3, 27, -16, 7, -53, + -15, 21, -3, 21, -18, -3, -31, -25, + 6, -7, 7, -15, 4, -43, -22, -51, + ], + [ + -79, -31, -27, -77, 33, -64, 62, -6, + -39, -9, -17, -18, 9, 27, 35, 42, + -52, 4, 14, -3, 27, 60, 125, 55, + -30, 6, -8, 21, 30, 96, 13, 4, + -34, -10, 18, 24, 51, 2, 1, -13, + -23, 10, 5, 19, 4, -2, -29, -2, + -2, -17, 25, -6, 7, -14, -17, -37, + -15, -0, -19, -1, -30, -16, -41, -39, + ], + [ + 10, 59, 24, 5, 24, -30, 16, -64, + 62, 59, 100, 72, -10, 5, -42, -25, + 5, 77, 81, -19, 3, -122, -58, -68, + -5, 57, 63, 98, -12, 24, -6, -38, + 26, -36, 24, 16, 45, -10, -27, -3, + -15, -48, -17, 51, 9, 23, 7, -5, + -66, -101, -27, -11, 8, 9, 41, -33, + -93, -50, -5, -41, -23, 11, -26, 25, + ], + [ + 13, 10, 25, 36, -31, -20, 27, 9, + 10, 17, 36, 29, -8, -9, -7, 11, + -11, 12, -28, -28, -48, -32, -20, -6, + 24, -20, -40, -38, -50, 7, -9, 18, + 3, 7, 30, -54, 27, 40, 3, 8, + 9, 11, -27, -11, 52, 72, 10, 1, + -7, 7, -14, -28, -42, 55, -22, 34, + 10, 4, -90, -56, 31, 23, 21, 12, + ], + [ + 29, 10, 29, 27, -10, -55, -6, 15, + 14, -66, 30, -30, 21, 36, -24, 5, + 48, -13, -62, -102, 15, -46, -71, 37, + -34, -17, -38, -6, -46, -10, -12, -17, + 0, -37, 38, -3, 1, 58, -22, 12, + 1, 21, 34, 47, 5, -58, 32, 86, + 6, -24, -20, -84, 24, 84, 35, 47, + -55, 19, -29, 12, 28, 59, -6, 34, + ], + [ + 7, 9, 59, 43, 49, 26, -4, 44, + 8, -16, 17, -1, 37, -23, 24, 10, + -28, -65, -43, -10, -56, -35, -2, 36, + -1, -60, -27, -87, -46, 2, 0, 13, + -14, -33, -78, -54, -13, -36, -31, 48, + 20, -34, 17, -25, 8, -8, 32, 79, + -18, 55, -19, -28, -43, 9, -3, 62, + 65, 25, 13, 19, 11, 10, 7, 77, + ], + [ + 37, 10, 16, -6, 47, 20, 18, 11, + -11, 10, -43, 12, 16, 20, -53, 44, + -33, 20, -24, -50, -26, -85, -1, -39, + 18, -44, -84, -113, -50, -6, -55, 16, + -5, 93, 18, -26, 12, -6, 9, 14, + 49, -9, 11, 4, -50, 14, -67, 89, + 49, 21, 49, -20, 32, -34, 40, 12, + 23, 76, -46, 17, 11, -23, -10, 56, + ], + [ + 12, 44, -25, -22, 43, 21, 36, 16, + 62, -22, -24, -35, 35, -38, 28, 25, + 2, -14, -61, -31, -50, -22, -60, 40, + 22, -46, -24, -50, -54, -9, -58, 9, + 30, 22, -21, 7, -10, -30, -67, -12, + 62, 63, -34, -21, -26, 39, 43, 1, + 63, 41, -37, 26, -48, 33, -9, 44, + 41, 15, 20, 12, -27, 12, 17, 0, + ], + [ + 15, 62, 17, 1, 25, -16, -22, 27, + -86, -28, -21, -21, -24, 64, -12, 6, + -30, -57, -27, -36, 6, -23, -6, -11, + 13, 6, -8, 19, -16, -7, -21, 7, + 53, -20, 4, 37, -48, -4, 21, -7, + 10, 24, 20, 30, 46, 42, 62, 13, + 3, 7, 49, -56, 32, -40, -6, -15, + -34, -12, -10, 7, 2, 56, -63, 0, + ], + [ + 19, 16, 12, 3, -14, 16, -14, -5, + -15, -38, 22, -27, 34, 35, -18, 21, + -12, 38, 12, -22, -87, -6, 26, -32, + 20, -3, 3, 1, 56, -55, 21, -25, + 8, -79, -51, 14, -8, 83, 17, 20, + -15, -4, -10, 22, 28, 23, 27, -3, + -32, -30, -34, 48, 27, 7, -2, -1, + -17, -0, 36, -43, 13, -21, -19, 16, ], ]; internal static readonly short[][] EndGameEnemyBishopTable = [ [ - -52, -28, 3, -3, 30, -12, 14, 17, - 18, -24, -17, -1, -9, 32, 14, 31, - -18, -44, 4, -10, 21, 7, 27, 18, - -12, -1, -48, 12, 28, 5, 20, 14, - -25, 5, 1, -3, 10, 11, -14, 25, - -10, -3, -10, 2, 7, 5, 3, 19, - -7, 1, -19, -10, 4, 3, 11, -4, - -10, -7, -1, -13, -0, 12, -2, -16, - ], - [ - 14, -41, -65, 9, 9, 55, 37, 74, - -22, -37, -5, 24, 2, -12, 56, 27, - -11, 1, 7, 105, -1, -10, -1, 39, - 2, -9, -7, -13, 31, 1, 8, -13, - -4, 1, 2, -4, 10, 16, -3, 17, - 5, -14, -4, 1, -10, -10, 15, -8, - -40, -5, -11, 13, -11, -17, -13, -28, - -31, -24, 3, -16, -5, -24, -25, -27, - ], - [ - -43, -59, -64, -22, 49, -1, -10, -22, - -52, -16, -60, -69, 5, 1, -3, 10, - 105, -16, -4, -23, 147, -19, 13, 7, - 8, 2, -8, 3, -8, 63, -2, 18, - -11, -0, 11, 11, -2, -4, 33, 24, - 3, 5, -6, 17, 7, -2, -8, 39, - -33, -9, -2, -6, 12, -5, -12, 2, - -21, 13, 10, 11, -11, 32, -21, -9, - ], - [ - -53, 23, 19, -20, 4, -1, 24, -4, - 3, -21, 7, 9, -18, -6, -8, 23, - 1, 94, -28, -45, -19, 36, 1, 6, - 36, -1, -10, 10, -16, -7, -2, 7, - -6, -12, 3, -19, 8, -14, -4, 43, - 0, -7, -14, -0, 1, -11, -13, -4, - -5, -3, 3, -11, -14, 9, -11, -4, - -1, -6, 22, 10, 11, -10, -9, 20, - ], - [ - -3, 5, 2, 60, -51, -34, -5, 1, - -4, -23, 24, -54, -3, -44, 14, -1, - 39, -1, 85, -7, -33, -6, 108, -15, - 4, 46, -3, -15, -0, -17, -2, 23, - 40, -12, -11, 0, 1, 8, 2, -1, - -5, -18, -10, -3, 7, 1, -5, -22, - -22, -14, -9, -1, 3, -2, 5, -34, - -19, -10, 9, 10, 12, 13, -1, 0, - ], - [ - 16, 18, -7, -3, -9, -40, -14, -72, - 11, -3, -11, 12, -37, -21, -24, -21, - -6, -3, -9, 68, -32, -23, -5, 168, - 17, 1, 64, -11, -15, 10, 3, -9, - -2, 49, -12, 2, 3, 3, -5, -5, - 21, -9, -15, -9, 2, -18, 0, -4, - -20, -2, -8, 6, -7, 12, -18, 10, - -11, -7, 16, -7, 2, 7, 16, -1, - ], - [ - 15, 12, 39, 27, 12, -31, -114, -29, - 17, 4, 4, 36, -3, -4, -16, -90, - 20, 10, -4, 8, 138, 12, -5, 17, - 5, 10, 14, 26, 6, 0, 7, 2, - -12, 8, 18, 10, -2, 13, -2, -17, - -6, 8, -1, -3, 17, -5, -10, -5, + -51, -33, 2, -4, 31, -13, 11, 15, + 15, -20, -19, 2, -12, 27, 13, 28, + -16, -51, 3, -10, 19, 7, 23, 16, + -12, -0, -49, 13, 27, 5, 21, 14, + -22, 6, 4, -3, 12, 11, -13, 27, + -3, -3, -9, 1, 7, 5, 5, 19, + -9, 2, -16, -7, 4, 3, 12, -2, + -10, -6, 0, -12, 1, 12, -4, -14, + ], + [ + 8, -41, -65, 9, 6, 54, 35, 72, + -23, -38, -6, 25, 7, -11, 56, 26, + -11, 0, 8, 107, -0, -8, 1, 41, + 1, -8, -9, -14, 30, 3, 11, -9, + -2, 3, 2, -4, 10, 16, -1, 15, + 6, -14, -4, -1, -10, -10, 14, -8, + -40, -4, -11, 13, -10, -17, -14, -32, + -31, -24, 1, -16, -6, -24, -26, -27, + ], + [ + -42, -61, -65, -23, 49, 4, -9, -27, + -52, -18, -56, -69, 7, 1, -4, 9, + 106, -16, -2, -25, 152, -18, 14, 7, + 8, 4, -8, 3, -7, 64, -2, 20, + -12, -2, 9, 10, -1, -3, 34, 25, + 1, 6, -6, 17, 6, -3, -8, 35, + -30, -10, -1, -7, 12, -6, -13, 4, + -21, 13, 10, 11, -13, 32, -22, -10, + ], + [ + -49, 27, 19, -21, 4, 1, 25, -8, + 2, -24, 5, 13, -19, -8, -2, 27, + 1, 96, -29, -48, -19, 26, 4, 10, + 35, -2, -12, 11, -17, -8, 3, 6, + -6, -12, 3, -21, 9, -13, -6, 43, + -2, -7, -12, -0, 1, -12, -11, -8, + -5, -2, 3, -11, -12, 10, -10, -4, + -1, -7, 24, 10, 9, -9, -9, 19, + ], + [ + 3, 5, -5, 59, -53, -36, -7, 5, + -3, -26, 23, -56, 0, -46, 16, -2, + 41, -1, 82, -7, -30, -4, 108, -14, + 6, 43, -2, -15, -1, -18, -4, 23, + 39, -11, -10, 2, 1, 9, 1, 0, + -4, -20, -11, -2, 7, 2, -4, -22, + -25, -13, -11, -1, 3, -1, 4, -30, + -19, -11, 10, 10, 11, 13, -0, -1, + ], + [ + 16, 16, -7, -4, -11, -41, -16, -71, + 9, -5, -11, 16, -38, -23, -26, -21, + -6, -3, -8, 68, -31, -23, -2, 171, + 17, 1, 70, -12, -14, 9, 3, -8, + -3, 47, -11, 1, 3, 1, -6, -6, + 19, -9, -15, -7, 3, -17, 1, -3, + -20, -2, -9, 5, -7, 13, -17, 8, + -11, -8, 17, -6, 3, 8, 14, -0, + ], + [ + 17, 13, 37, 26, 11, -32, -115, -31, + 18, 6, 4, 38, -0, -7, -15, -91, + 20, 9, -4, 7, 134, 12, -5, 16, + 6, 10, 13, 27, 7, -1, 9, 1, + -11, 9, 17, 10, -1, 13, -2, -18, + -6, 8, -1, -2, 16, -4, -9, -5, 0, -17, -13, 4, 1, -4, -11, -26, - -31, -21, -1, -7, 5, 11, -10, -32, - ], - [ - 10, 6, -19, 10, 10, -15, 27, -27, - -16, 3, 14, 13, -42, 11, -29, -3, - -7, 5, -5, 13, 9, 134, -1, 28, - 2, -10, 1, 31, 1, -11, 19, 3, - -6, -5, 24, 2, 10, 5, -18, 21, - -1, 2, -3, 3, 10, -11, 0, -12, - 8, -15, -12, -2, -4, -8, -11, -36, - -15, -19, -11, -3, -10, -8, -24, -14, - ], - [ - -58, 8, -23, 11, 17, 1, 10, 7, - -45, -23, 2, -13, 15, 4, 7, 13, - -30, 0, -38, -10, -13, -17, 1, 5, - 1, -5, -7, -11, 2, 6, 12, 7, - 6, 11, 7, 9, 3, 10, -9, 5, - 7, 14, 6, 12, 10, -10, 2, 3, - 17, -1, 10, 8, -6, 15, 5, 0, - 3, 24, 13, 4, 9, -9, -10, -4, - ], - [ - 5, -4, -22, -7, 24, 9, 28, 8, - -41, 8, -16, 15, 8, 4, -1, -3, - -9, -11, -3, -25, -5, -18, 1, -12, - -11, 1, -18, -1, -16, -5, -7, -4, - 10, -5, 9, 3, 13, -20, -3, -13, - 6, 11, -12, 10, 6, 1, -4, -2, - 19, 12, 13, 13, 13, 8, -3, 2, - 9, 8, 11, 8, -1, 10, -1, -2, - ], - [ - -13, -8, 3, 14, 22, 12, 21, 13, - -2, 0, 8, -1, 14, 2, -3, -4, - -5, -1, -25, -25, -34, -15, -0, 2, - -7, -14, -1, -5, -4, -21, -1, 5, - -4, -9, 3, -1, 4, 3, -7, -3, - 4, 7, 5, 4, 12, -5, -5, -14, - 10, 7, 7, 10, 4, -5, -7, 7, - -3, -3, 18, 3, 8, 8, 10, 10, - ], - [ - -11, -1, -4, 5, 9, 12, -1, -27, - 1, -6, 1, 8, -3, 3, -12, -3, - 10, -6, -9, -34, -18, -18, -8, -13, - 4, 7, -14, -4, -11, -6, 1, -4, - 13, -9, 6, 7, 5, 2, 10, -20, - -5, -7, 1, 12, 6, 7, 4, -0, - 3, 3, 12, 7, 12, 7, 3, 23, - 4, 9, 23, 10, 0, 15, -16, 2, - ], - [ - 8, 9, 1, 30, -4, 5, -5, 14, - 17, 2, 11, -1, 21, -21, -14, -27, - 3, 5, -9, -3, -7, -8, -24, -16, - -2, 2, 2, -16, 1, -18, 8, -16, - 14, -6, -9, 15, -8, 2, -8, 7, - 6, -19, 5, -0, 14, -1, 5, 3, - -9, -9, 1, 7, 9, 10, -11, 6, - -2, -5, 14, 1, 3, 7, 6, 5, - ], - [ - 26, 6, 31, 13, 1, -14, -9, -22, - 11, 6, -6, 8, -6, 10, -19, -73, - 8, 17, 6, -14, -8, -35, -2, -27, - 4, 12, 4, 13, -16, -5, -11, -3, - -7, 12, 8, -4, 9, -4, 10, -9, - 5, 6, -10, 11, 4, 2, -9, 22, - 6, -11, 7, 1, 12, 7, -1, 4, - -14, -5, -0, 1, 5, 20, 8, 10, - ], - [ - -4, 25, 19, 17, -7, 10, 8, 15, - 5, -4, 11, 10, -2, -4, -36, -68, - 15, -7, -6, 4, 5, -14, -36, -56, - -2, 5, 13, 19, 14, 1, 5, 0, - 8, 3, 16, 24, 4, 7, -3, -7, - -12, 4, 1, 10, 11, 1, 7, -24, - -8, -2, 2, 6, 8, -6, -2, 5, - -7, -10, -2, 8, 12, 6, -6, -5, - ], - [ - -24, -12, -6, -19, 6, 10, 8, 11, - -12, -22, -14, -23, -9, 32, 24, 33, - -15, -50, -21, 19, 5, 25, 35, 12, - -33, -2, -7, -5, 13, 14, -21, 5, - -32, -13, 7, 9, 16, 29, 16, 22, - -9, 32, -11, -5, 8, -13, -3, 30, - 24, 21, 24, -1, -45, -7, -43, -8, - 3, 41, -13, 12, -1, -28, 17, -38, - ], - [ - -28, -34, -35, -13, 39, 23, 14, 12, - -22, -7, -29, 14, 30, 38, 30, 2, - -5, -10, 5, 23, 20, 15, -6, -24, - 33, 33, 35, 28, 30, 1, -5, -2, - 45, 42, 4, 39, -4, -1, -28, -76, - 31, 32, 24, 22, -2, -55, -33, -39, - 17, -8, -4, 13, -11, -34, -24, -55, - 20, -3, -3, 12, 8, -47, -29, -57, - ], - [ - -12, -28, -26, -15, -4, -0, 31, 43, - 14, -38, -22, -1, 21, 21, 5, 32, - 17, 8, -14, 0, 32, 3, 35, -12, - 17, 25, 13, 15, 21, 27, -15, 13, - 42, 22, 23, 8, 11, -30, -1, -15, - -27, 47, -7, 42, -20, 1, -5, -33, - -1, -5, -21, 5, -7, -35, -44, -61, - 23, -0, -11, -19, -15, 2, -25, -47, - ], - [ - 8, 10, -22, -15, 7, -12, 4, 0, - 35, -3, -5, 4, -15, 9, 9, 36, - 12, 20, -14, -8, 1, 2, 5, 14, - 22, 20, 21, 2, 24, 5, 21, 20, - 11, 11, 25, 17, -1, 4, 1, -12, - -10, -19, 21, 15, 8, -5, -33, -37, - -12, -33, -10, -4, -1, 19, -22, 13, - 1, 11, -20, -15, -13, -19, -41, -68, - ], - [ - 23, 2, -3, 14, -10, -9, -25, -4, - 10, 6, 12, -0, -14, -7, -13, 43, - -9, 10, -2, -1, -16, -20, 10, 18, - -17, 9, 21, 27, -3, 23, 22, 32, - 1, -16, 1, 17, 9, 17, 8, -8, - -10, -5, -22, -8, 19, 42, 6, -28, - 5, -35, -23, -1, -8, -1, -16, -16, - -42, 16, -14, 1, -21, -4, 15, -9, - ], - [ - 25, 59, 11, -4, -7, 20, -11, -20, - 19, 22, 26, 6, -12, -6, -44, -2, - 5, 6, 5, 30, 3, -13, -12, 26, - -17, 10, 11, 31, 13, 15, 29, -12, - -16, -9, -8, 9, 6, 24, 38, 2, - -55, -28, -2, -7, 25, -13, 27, -9, - -41, -48, 0, 1, -7, -23, -1, -2, - -21, -30, 7, 2, -8, -10, -18, 4, - ], - [ - 29, 34, 41, 23, -10, -15, -12, -18, - -23, 23, 21, 22, 21, -30, -33, -8, - -15, 11, 13, 18, 30, -9, -7, -19, - -33, -17, 0, 26, 12, 23, 14, 38, - -57, -18, 7, -12, 11, 12, 60, 10, - -28, 8, -24, -7, -31, 47, -5, 18, - -13, -48, -11, -4, 25, -9, 2, -12, - -36, -7, -11, 15, -6, -3, -19, -6, - ], - [ - 66, 44, 16, 17, -25, 10, -13, -54, - 16, -6, 16, 35, 16, -8, -12, 19, - -8, -22, 20, 2, 7, -31, -10, 10, - -19, -17, 10, 5, 6, 29, 36, -20, - -30, 18, -15, -31, 27, 9, 18, 72, - -0, -35, -15, -13, -31, -3, 50, 25, - -50, -32, -36, -28, -2, -5, -11, -56, - -2, 15, -49, -5, 16, 23, 4, 34, + -31, -22, -2, -7, 5, 11, -10, -32, + ], + [ + 15, 9, -21, 8, 12, -12, 24, -27, + -14, 4, 18, 12, -43, 13, -29, -2, + -9, 5, -5, 11, 9, 133, -2, 26, + 2, -10, 3, 31, -0, -12, 18, 0, + -4, -5, 24, 2, 10, 5, -18, 20, + 3, -0, -3, 5, 10, -11, 1, -10, + 6, -15, -12, -2, -6, -10, -11, -37, + -14, -19, -13, -3, -10, -8, -24, -14, + ], + [ + -56, 5, -23, 8, 17, 2, 13, 15, + -42, -22, 0, -15, 14, 4, 9, 12, + -31, -2, -36, -8, -14, -16, -1, 5, + 3, -6, -7, -11, 2, 6, 12, 6, + 5, 11, 7, 10, 3, 10, -9, 6, + 6, 13, 6, 12, 10, -11, 2, 3, + 15, -0, 9, 8, -5, 15, 4, -1, + 2, 22, 13, 4, 9, -10, -10, -5, + ], + [ + 6, -2, -20, -8, 25, 8, 28, 5, + -41, 9, -14, 15, 9, 5, -3, -4, + -10, -12, -2, -22, -4, -19, 0, -12, + -9, 1, -17, -1, -17, -5, -6, -4, + 10, -5, 9, 2, 13, -21, -2, -14, + 5, 12, -10, 11, 6, 1, -3, -3, + 18, 12, 13, 13, 13, 7, -2, 2, + 9, 8, 10, 8, -2, 9, -1, -3, + ], + [ + -13, -6, 2, 15, 21, 13, 21, 14, + -2, 2, 10, -2, 15, 3, -4, -3, + -6, -1, -24, -27, -34, -15, -0, 1, + -6, -14, -2, -5, -3, -20, -2, 3, + -4, -9, 3, -1, 5, 2, -8, -4, + 5, 7, 6, 5, 11, -5, -5, -13, + 12, 6, 7, 9, 3, -5, -7, 7, + -2, -4, 17, 2, 8, 7, 10, 9, + ], + [ + -12, 2, -3, 5, 9, 13, 0, -28, + 1, -6, 1, 6, -4, 1, -10, -3, + 9, -6, -9, -34, -18, -17, -7, -12, + 3, 6, -14, -4, -12, -5, 1, -4, + 11, -8, 6, 7, 6, 3, 10, -18, + -4, -7, -0, 12, 6, 7, 6, -1, + 2, 3, 12, 7, 12, 6, 4, 22, + 4, 9, 23, 9, 1, 15, -18, 1, + ], + [ + 8, 11, 3, 28, -4, 5, -4, 12, + 18, 2, 12, -1, 21, -19, -15, -27, + 4, 4, -9, -4, -7, -8, -24, -16, + -1, 2, 2, -15, 1, -17, 6, -17, + 14, -6, -9, 15, -7, 2, -8, 8, + 5, -19, 5, 0, 14, -1, 5, 4, + -9, -9, 1, 7, 9, 9, -11, 5, + -2, -6, 15, 1, 3, 7, 5, 6, + ], + [ + 23, 7, 29, 14, 0, -13, -7, -22, + 10, 5, -7, 8, -7, 11, -20, -72, + 7, 17, 8, -13, -8, -34, -1, -23, + 3, 12, 4, 13, -15, -6, -11, -5, + -7, 12, 7, -4, 9, -3, 10, -10, + 4, 6, -10, 11, 5, 1, -8, 23, + 5, -11, 7, 2, 13, 7, -1, 3, + -13, -6, -0, 0, 5, 19, 8, 9, + ], + [ + -3, 21, 17, 19, -9, 11, 8, 16, + 6, -4, 10, 16, -1, -5, -34, -65, + 16, -9, -5, 3, 5, -13, -39, -54, + -3, 7, 12, 19, 13, 3, 5, 1, + 9, 3, 15, 24, 4, 6, -5, -8, + -13, 4, 2, 11, 11, 1, 6, -23, + -9, -2, 2, 6, 7, -6, -2, 2, + -7, -9, -2, 7, 12, 4, -8, -5, + ], + [ + -24, -12, -5, -21, 8, 10, 5, 19, + -9, -21, -17, -25, -11, 31, 24, 33, + -14, -48, -20, 21, 5, 23, 34, 12, + -32, -2, -7, -4, 13, 15, -23, 6, + -29, -14, 6, 10, 15, 26, 16, 20, + -5, 32, -10, -5, 9, -14, -6, 29, + 23, 21, 23, -1, -43, -6, -43, -9, + 4, 42, -11, 11, -1, -29, 14, -39, + ], + [ + -23, -42, -30, -16, 38, 27, 17, 11, + -19, -5, -31, 9, 28, 35, 30, 2, + -6, -9, 3, 24, 21, 15, -7, -27, + 30, 31, 33, 29, 31, -2, -7, -2, + 42, 40, 2, 37, -7, -0, -26, -75, + 36, 31, 25, 20, -4, -55, -36, -34, + 17, -5, -5, 12, -10, -31, -25, -51, + 17, -4, 2, 11, 8, -40, -26, -57, + ], + [ + -14, -28, -24, -15, -8, 1, 31, 46, + 13, -37, -19, -1, 20, 16, 4, 31, + 20, 8, -16, 3, 29, 4, 34, -11, + 18, 22, 12, 13, 20, 26, -13, 10, + 41, 23, 23, 7, 11, -30, 1, -17, + -27, 48, -7, 40, -18, -0, -2, -34, + -3, -7, -22, 6, -7, -34, -44, -53, + 23, 1, -11, -16, -14, 1, -25, -48, + ], + [ + 6, 13, -24, -13, 7, -13, 4, -1, + 36, -2, -5, 3, -15, 11, 9, 35, + 10, 20, -15, -8, 2, 1, 6, 14, + 21, 19, 20, 1, 26, 4, 22, 19, + 14, 12, 25, 17, -2, 4, 1, -10, + -10, -20, 21, 15, 8, -5, -33, -42, + -10, -34, -10, -3, -3, 19, -22, 11, + 2, 10, -20, -16, -12, -17, -37, -68, + ], + [ + 21, 1, 0, 13, -9, -9, -26, -5, + 9, 5, 13, -2, -14, -7, -11, 42, + -12, 10, -4, 0, -14, -20, 9, 18, + -16, 10, 19, 27, -5, 23, 23, 33, + -3, -14, 1, 17, 9, 16, 8, -6, + -10, -4, -22, -8, 19, 41, 6, -25, + 5, -36, -22, -1, -8, 0, -14, -16, + -43, 17, -15, 2, -20, -3, 16, -10, + ], + [ + 27, 59, 11, -4, -8, 20, -13, -15, + 20, 20, 24, 6, -13, -7, -47, -3, + 6, 7, 4, 28, 2, -14, -13, 23, + -20, 9, 11, 27, 11, 15, 29, -10, + -17, -10, -9, 8, 6, 23, 37, 2, + -55, -25, -1, -9, 25, -12, 26, -5, + -39, -46, 1, 1, -7, -24, -2, -4, + -21, -29, 5, 2, -5, -6, -15, 11, + ], + [ + 26, 35, 49, 21, -12, -15, -20, -15, + -26, 23, 20, 21, 19, -30, -34, -6, + -14, 10, 14, 20, 28, -9, -6, -21, + -34, -14, 2, 26, 11, 22, 14, 32, + -52, -18, 6, -10, 10, 12, 60, 11, + -27, 4, -27, -8, -29, 47, -3, 19, + -10, -48, -11, -2, 25, -10, 3, -10, + -34, -6, -11, 16, -8, -3, -15, -7, + ], + [ + 63, 44, 19, 24, -24, 9, -14, -58, + 11, -5, 16, 36, 15, -7, -10, 13, + -6, -23, 18, 0, 7, -28, -11, 11, + -19, -16, 10, 9, 6, 30, 28, -19, + -28, 17, -12, -29, 27, 7, 19, 72, + 1, -33, -14, -14, -29, -2, 47, 24, + -49, -32, -36, -29, -2, -4, -9, -54, + -1, 11, -48, -6, 15, 22, 8, 34, ], ]; internal static readonly short[][] MiddleGameEnemyRookTable = [ [ - -72, 26, 76, 34, 35, 48, 2, 18, - -80, 98, 86, 83, 30, 33, 21, 15, - -11, 52, 69, 60, 39, 12, 19, -21, - 51, 14, 42, 29, 4, 8, -13, -39, - -33, 3, -7, -22, -37, -31, -2, -28, - -42, 2, -32, 5, -50, -29, -29, -27, - -43, -4, 1, -16, -33, -23, -42, -31, - -27, -23, -16, -16, -27, -11, -47, -49, - ], - [ - -147, -113, -117, 37, 123, 28, 54, 29, - 50, -73, -6, 75, 37, 27, 3, 6, - 2, 56, 51, 56, 41, 11, 9, -11, - 18, 27, -1, 14, 23, -14, 7, -10, - -12, 4, 3, 3, -4, -7, -9, -16, - -15, 4, -6, -7, -15, -22, -16, -16, - -27, -4, 2, -8, -7, -5, -7, -26, - -10, -0, 1, -4, -7, -3, -30, -30, - ], - [ - 65, -106, -88, -95, 117, 67, 93, 44, - 10, -6, -78, 54, 22, 11, -6, 12, - 10, 20, 16, 24, 14, 5, 18, 2, - -6, 13, 29, 17, 4, 6, 2, -4, - -13, 12, 3, -3, -2, -9, -6, -15, - -18, -17, 4, -1, -19, -14, -15, -24, - -16, 8, -4, -6, -1, -1, -21, -24, - -15, -9, 5, -6, -5, -3, -28, -26, - ], - [ - 60, 11, -96, -69, -44, 12, 69, 26, - 31, 29, -22, -30, 65, 28, 44, 10, - 3, 6, 5, 54, 4, 49, 11, 18, - 2, 26, 18, 29, 0, 22, -0, -17, - -3, -3, -3, -22, -2, -10, -21, 2, - -2, -7, -9, -6, -23, -47, 3, -28, - -13, -12, 4, -11, -20, -3, -20, -20, - -10, -12, -5, 1, -2, 1, -26, -25, - ], - [ - 63, 45, 65, -67, -89, -99, 68, 20, - 48, 32, 29, 60, -52, -12, 0, 36, - 19, 11, 26, -3, 37, 22, 59, 31, - 3, -6, -8, 11, 8, -16, 42, 8, - -13, -22, 2, -12, 11, -24, -11, -12, - -16, -18, -8, -19, -19, -15, 10, -16, - -23, -8, -13, -17, -1, -8, -12, -25, - -21, -18, -9, -8, -1, -3, -20, -22, - ], - [ - 58, 107, 93, 136, -69, -77, -77, 97, - 12, 23, 30, 48, 31, 9, 48, 33, - -29, -14, 10, 12, 20, 65, 27, -13, - -27, -19, 4, 1, 5, 25, 10, 12, - -26, -33, -30, -25, -8, 1, -5, -4, - -21, -41, -27, -22, -13, -8, 3, -6, - -44, -42, -30, -11, 4, -14, -21, -17, - -28, -28, -25, -14, -4, -8, -20, -20, - ], - [ - 7, 53, 10, 45, 107, -245, -101, -76, - 5, -7, 12, 30, 18, 34, 41, 31, - -9, -3, 8, 5, 33, 34, 25, 8, - -6, -7, 7, -2, 16, 26, 30, 13, - -6, -9, -6, -7, 3, 8, 9, 7, - -3, -17, -6, -12, -11, 3, 18, 1, - -18, -13, 1, -9, 0, 2, 4, -12, + -73, 27, 62, 44, 35, 50, 2, 22, + -81, 93, 86, 83, 33, 30, 18, 15, + -9, 51, 67, 61, 36, 12, 18, -17, + 46, 14, 41, 27, 4, 7, -13, -36, + -32, 3, -9, -27, -31, -28, -2, -25, + -42, 3, -33, 4, -48, -27, -27, -25, + -44, -3, 1, -19, -35, -23, -41, -29, + -26, -22, -18, -16, -26, -10, -45, -47, + ], + [ + -146, -113, -117, 32, 119, 31, 55, 33, + 43, -74, -9, 73, 38, 27, 4, 8, + 2, 55, 42, 60, 41, 13, 10, -10, + 20, 31, 0, 13, 22, -13, 6, -10, + -12, 3, 3, 5, -3, -7, -8, -15, + -15, 6, -7, -8, -14, -23, -16, -15, + -25, -3, -0, -6, -6, -6, -6, -25, + -10, 0, -0, -4, -6, -2, -29, -29, + ], + [ + 64, -107, -89, -96, 105, 70, 93, 42, + 11, -2, -80, 54, 21, 12, -5, 11, + 11, 22, 23, 19, 13, -0, 16, 2, + -3, 15, 33, 15, 3, 6, 2, -6, + -12, 13, 3, -1, -4, -9, -5, -15, + -19, -16, 4, -1, -17, -13, -12, -23, + -15, 9, -5, -5, -0, -0, -22, -23, + -16, -9, 4, -6, -4, -2, -27, -26, + ], + [ + 58, 11, -96, -70, -45, 14, 70, 24, + 33, 30, -26, -32, 63, 30, 48, 10, + 0, 10, 8, 48, 6, 49, 8, 21, + 1, 27, 21, 27, 0, 22, -3, -19, + -3, -4, -2, -22, -2, -11, -19, 1, + -2, -6, -8, -7, -23, -44, 2, -28, + -13, -11, 3, -11, -19, -4, -20, -18, + -10, -11, -5, 1, -1, 2, -25, -26, + ], + [ + 59, 43, 71, -65, -87, -97, 62, 19, + 47, 36, 30, 55, -51, -10, 1, 35, + 23, 8, 22, -1, 40, 22, 58, 31, + 3, -9, -9, 12, 8, -18, 42, 8, + -13, -20, 1, -10, 9, -26, -10, -11, + -16, -15, -8, -18, -18, -15, 9, -18, + -23, -9, -15, -16, -0, -8, -11, -24, + -22, -18, -11, -8, -0, -3, -20, -22, + ], + [ + 57, 113, 107, 139, -70, -78, -78, 98, + 14, 21, 29, 49, 32, 6, 53, 28, + -28, -13, 5, 7, 19, 63, 27, -8, + -28, -19, 6, -3, 6, 24, 7, 14, + -26, -33, -26, -25, -6, -0, -6, -5, + -24, -41, -26, -21, -15, -9, 1, -6, + -45, -43, -28, -11, 0, -14, -22, -17, + -28, -28, -27, -15, -4, -9, -21, -20, + ], + [ + 9, 51, 18, 48, 104, -239, -100, -76, + 6, -8, 13, 31, 19, 34, 40, 31, + -9, -5, 7, 5, 32, 31, 23, 8, + -8, -7, 6, -3, 16, 24, 30, 14, + -6, -10, -6, -7, 2, 7, 10, 6, + -5, -17, -6, -12, -10, 2, 18, 2, + -18, -13, 1, -8, -0, 2, 6, -11, -10, -18, -10, -6, -5, 5, -13, -14, ], [ - 17, 3, 43, 40, 118, 51, -97, -98, - -6, 9, 27, 18, 47, 64, 88, -72, - -40, -28, 3, 17, 38, 68, 29, 4, - -20, -21, -15, -3, 14, 26, 38, 45, - -19, -12, -15, -31, 9, 23, 17, 5, - -20, -40, -18, -17, -23, 2, 8, 7, - -38, -38, -13, -25, -12, -7, 6, -9, - -27, -36, -23, -19, -13, 0, -5, -24, - ], - [ - 59, -46, 38, 56, 31, 19, 3, 8, - -65, -18, 2, 52, 42, 36, 48, 21, - 18, -57, 57, 64, 68, 39, 17, 15, - 7, 53, 34, 14, 17, 11, -18, -5, - -17, -23, 11, -6, -21, -11, -26, -20, - -14, 2, -8, -37, -23, -19, -30, -28, - -43, -7, -12, -35, -16, -14, -25, -29, - -14, -18, -3, -22, -13, -12, -46, -36, - ], - [ - 16, 26, -32, -42, 33, -2, 46, 4, - -13, -44, -26, -45, 56, 51, 62, 24, - 1, 10, -20, 47, 26, 21, 27, 19, - -12, 29, 31, 45, 21, 31, 23, 8, - -26, 5, 16, -20, -6, 4, -22, -11, - -23, -10, -12, 1, -15, -37, -6, -16, - -36, -7, 5, -10, -11, -17, -26, -25, - -16, -8, 2, -9, -14, -12, -23, -35, - ], - [ - 3, 48, -8, 17, -28, 76, 34, 15, - -1, -5, -56, 16, -96, 32, 52, 36, - 27, 13, 32, 9, 16, 28, 43, 41, - -20, -5, 14, 17, 19, 6, 13, 18, - -32, -10, -2, -28, 8, -28, -3, 13, - -20, -22, -5, 20, -19, -22, -11, -31, - -10, 11, 5, 1, -9, 3, -40, -37, - -22, -17, 0, -7, -14, -11, -27, -43, - ], - [ - -4, 62, 41, -48, -7, 21, 2, 69, - 28, 49, 22, -58, 33, 28, -3, 32, - 27, 40, 36, 7, -5, 71, 21, 7, - -4, -9, -11, -5, -17, 27, 30, -29, - -33, -38, -27, -33, 16, -21, 3, -18, - -24, -16, 1, 11, -0, -9, -7, -15, - -16, -5, 2, 4, 11, -19, -37, -32, - -22, -24, -19, -7, -9, -5, -28, -34, - ], - [ - -6, 8, 12, 22, -34, 14, -7, 23, - 28, 30, 58, 50, -34, 12, -10, -9, - 5, 28, 31, 28, 58, 6, 88, 35, - 9, 4, -3, 9, 17, 46, 32, -22, - -29, -35, -44, -4, 3, -10, 7, -0, - -4, -37, -18, -30, -19, -2, 21, -21, - -16, -32, -22, -20, -26, 1, -2, -39, - -26, -28, -22, -18, -6, -3, -14, -27, - ], - [ - 12, 8, -10, 11, 28, -2, 61, 67, - 22, 34, 23, 50, 22, 52, -55, 51, - -0, 20, 21, 32, 61, 88, -77, 18, - -8, 0, -6, 40, 35, 50, 48, 1, - -32, -41, -33, -17, -3, 9, -13, -14, - -20, -31, -38, -23, -4, -12, 5, -4, - -34, -33, -38, -22, -17, -16, -11, -35, - -30, -35, -38, -25, -16, -11, -32, -33, - ], - [ - -4, -15, -20, -12, 11, 60, 28, 46, - 22, 9, 26, 64, 59, 51, 80, -19, - -10, -10, 15, 24, 64, 107, 138, -63, - -38, -5, -6, -9, 24, 24, 55, 50, - -17, -34, -37, -23, -17, 8, 7, -11, - -22, -31, -37, -32, -24, -11, -2, -24, - -34, -36, -32, -29, -27, -11, -26, -23, - -30, -34, -39, -24, -27, -12, -21, -34, - ], - [ - -15, 7, 27, 14, -23, 7, 34, 2, - 6, -3, 86, 13, 46, 19, -17, -6, - -2, 87, 59, 34, 15, -7, -28, -16, - -9, 101, 94, 112, 25, -24, 28, 16, - 11, 66, 66, 31, 24, 13, -14, -124, - -59, 17, -25, 15, 54, -3, -105, -74, - -65, -21, -24, -12, -0, -28, -98, -19, - -52, -34, -6, -23, -7, -59, -44, -84, - ], - [ - 7, 1, 37, 30, -50, -0, -13, -1, - -10, 50, 80, -27, 4, 39, -18, -45, - -16, 13, 26, -58, -87, -83, -5, -34, - 32, -4, -6, -47, -13, 27, -35, 7, - -19, -20, -6, 13, -8, 25, -14, -22, - -24, -4, -40, 2, 40, 11, -15, -31, - -6, 15, -25, 22, 68, 12, -73, 24, - 81, -11, 18, 113, 31, 29, 9, 2, - ], - [ - -37, -56, -42, 15, 15, 38, -9, 5, - -7, 1, -25, -1, 57, 5, -6, -43, - 26, 64, -22, 19, -49, -18, 4, -33, - 3, 14, -5, -7, -24, 3, -10, -46, - -8, -10, -24, 42, 18, -20, -27, -38, - -75, -29, -13, -23, 25, -9, 15, -5, - -39, -66, -3, -23, -11, 7, -28, -32, - 89, 107, 52, 59, 106, 17, 58, 56, - ], - [ - 1, -12, 67, -38, -25, 5, 25, 5, - -31, -34, 4, -64, -42, -37, -33, -19, - -1, -12, -42, -28, -57, -49, -16, -25, - 7, 16, -19, -23, -22, 9, -79, 7, - 35, 8, 38, -17, 23, 13, 0, -18, - -58, -1, -50, 19, 25, 45, 29, -16, - -36, -1, -32, -27, -25, 31, 39, -13, - 31, 62, 91, 37, 114, 117, 51, 47, - ], - [ - -2, 12, 29, -27, -10, -14, 16, -18, - -28, 14, -7, 46, -2, -73, -25, -32, - -49, -54, -2, -23, -2, -19, 7, 24, - -61, 8, -43, -3, -18, -3, -56, -67, - 5, 34, -16, 9, -9, 52, 17, 32, - -56, -15, 7, -11, -7, -1, -11, 33, - -12, 14, -18, 0, -21, 88, 69, 5, - 21, 11, 21, -11, 50, 133, -10, 82, - ], - [ - 2, -54, -32, -48, 19, 11, -54, 9, - -25, 48, -36, -21, 44, 19, 39, -43, - 9, 56, -11, 42, -23, 35, -3, 38, - -64, -20, -14, 17, 22, 11, -11, 17, - -20, 45, 38, -7, 28, -17, 9, -10, - -35, -17, 1, -28, -52, -3, -35, -43, - 16, -46, 6, 55, -38, -60, 29, 16, - -62, -20, 23, 68, 48, 37, 54, 37, - ], - [ - -1, -53, -46, 46, -51, 50, 25, -35, - -43, -13, 15, -50, -80, -17, 13, -8, - -40, -16, -15, -17, -2, 13, 12, 20, - -62, 38, 32, -37, 37, 57, 16, 30, - 20, -7, 27, 65, 8, 10, -3, -3, - 7, -21, -31, -25, 50, 24, -5, -47, - 5, -2, -49, 15, -11, -38, 10, 8, - 7, -3, 9, 50, 64, -2, 15, 34, - ], - [ - -3, -23, -43, -29, -12, 36, -52, -43, - -24, -62, -15, -29, 3, 13, 20, -21, - -20, 4, -7, -28, 5, -88, -29, 1, - 15, 4, 15, -23, -27, 64, 44, 24, - 16, 30, 6, 94, 18, 22, 18, 5, - -34, 19, -19, -16, 2, -26, 41, 16, - -1, 15, -24, -33, 17, 16, 37, 11, - -35, 13, 20, -6, -21, 15, 72, 43, + 25, 0, 48, 43, 120, 52, -99, -99, + -5, 7, 31, 18, 46, 61, 83, -73, + -39, -30, 3, 16, 36, 68, 31, 2, + -21, -21, -14, -6, 12, 25, 38, 44, + -21, -13, -13, -31, 8, 21, 17, 6, + -21, -40, -18, -19, -22, 4, 7, 7, + -37, -37, -12, -24, -12, -7, 6, -6, + -27, -36, -23, -19, -13, 0, -6, -24, + ], + [ + 52, -42, 27, 63, 32, 18, 1, 11, + -62, -19, 0, 54, 48, 38, 44, 21, + 9, -57, 51, 68, 71, 39, 16, 14, + 7, 50, 30, 12, 21, 9, -17, -6, + -15, -23, 17, -8, -19, -11, -22, -18, + -16, 2, -8, -37, -24, -19, -30, -28, + -42, -5, -15, -33, -16, -15, -22, -30, + -15, -18, -3, -22, -12, -12, -45, -36, + ], + [ + 18, 28, -40, -42, 33, 0, 45, 4, + -14, -54, -24, -49, 61, 53, 63, 27, + 2, 12, -22, 46, 32, 22, 26, 23, + -7, 30, 41, 42, 21, 29, 18, 7, + -25, 8, 16, -22, -6, 6, -19, -11, + -24, -10, -18, -1, -14, -36, -6, -17, + -36, -7, 6, -12, -11, -18, -25, -24, + -17, -8, 1, -11, -15, -13, -23, -35, + ], + [ + 6, 54, -10, 16, -25, 75, 31, 17, + 0, -5, -52, 11, -91, 34, 50, 35, + 23, 9, 34, 8, 10, 29, 47, 43, + -19, -4, 14, 15, 17, 4, 14, 18, + -32, -11, -6, -23, 9, -25, -3, 12, + -21, -21, -6, 20, -17, -24, -12, -30, + -12, 7, 3, 5, -11, 2, -39, -37, + -22, -16, -1, -6, -13, -11, -27, -42, + ], + [ + -1, 63, 39, -49, 4, 16, 3, 66, + 27, 46, 22, -48, 35, 16, -4, 29, + 30, 38, 34, 13, -6, 71, 26, 12, + -8, -8, -6, -3, -10, 24, 32, -33, + -32, -39, -25, -31, 14, -21, 2, -16, + -28, -17, 3, 8, -4, -8, -7, -18, + -18, -4, -0, 4, 13, -19, -37, -30, + -24, -26, -21, -8, -11, -6, -27, -35, + ], + [ + -5, 7, 13, 25, -30, 3, -0, 25, + 26, 34, 61, 51, -41, 24, -13, -10, + 8, 24, 27, 28, 58, 5, 85, 34, + 9, 3, -4, 9, 15, 54, 31, -20, + -28, -32, -44, -5, 0, -13, 9, -1, + -5, -39, -18, -30, -22, -2, 21, -21, + -16, -33, -23, -18, -27, -3, -2, -38, + -26, -28, -24, -18, -6, -4, -13, -28, + ], + [ + 13, 5, -8, 8, 31, 2, 52, 67, + 24, 32, 25, 52, 26, 64, -56, 60, + 3, 17, 21, 32, 60, 86, -78, 21, + -7, -1, -6, 38, 38, 49, 43, -2, + -31, -43, -33, -16, -3, 6, -10, -17, + -23, -30, -38, -26, -4, -14, 7, -5, + -34, -33, -38, -22, -18, -16, -10, -36, + -30, -35, -38, -26, -16, -12, -31, -33, + ], + [ + -6, -16, -18, -14, 11, 63, 33, 59, + 23, 8, 27, 60, 59, 52, 74, -15, + -9, -7, 16, 20, 58, 112, 138, -65, + -39, -8, -7, -10, 23, 25, 53, 53, + -17, -34, -41, -22, -18, 9, 5, -13, + -23, -31, -37, -31, -23, -13, -0, -26, + -36, -35, -30, -29, -26, -10, -24, -23, + -30, -34, -40, -24, -27, -12, -20, -35, + ], + [ + -23, 5, 22, 20, -24, 15, 32, 6, + 3, 15, 90, 8, 46, 22, -14, -3, + -4, 94, 65, 37, 6, -8, -24, -18, + -10, 102, 91, 112, 17, -24, 22, 20, + 1, 57, 70, 26, 19, 12, -10, -125, + -60, 12, -19, 9, 53, -1, -104, -72, + -64, -18, -23, -11, 3, -26, -92, -24, + -53, -35, -6, -28, -10, -56, -43, -83, + ], + [ + 17, -7, 27, 16, -49, -4, -6, -8, + -6, 48, 101, -17, 15, 48, -4, -47, + -15, 16, 30, -57, -94, -76, -5, -33, + 31, 8, -8, -35, -8, 28, -28, 12, + -20, -22, -3, 12, -11, 28, -22, -17, + -29, -3, -40, 5, 42, 6, -17, -29, + -11, 13, -29, 19, 57, 12, -68, 18, + 82, -24, 18, 104, 25, 31, 3, -22, + ], + [ + -38, -58, -41, 27, 18, 36, -10, -1, + -5, 10, -20, -1, 57, -1, 5, -30, + 19, 67, -34, 26, -45, -29, 9, -37, + 6, 16, -5, 6, -22, -3, -13, -42, + -2, -15, -25, 28, 22, -12, -24, -38, + -63, -31, -12, -24, 24, -12, 19, -10, + -36, -70, -2, -27, -12, 7, -30, -26, + 90, 102, 42, 55, 96, 13, 54, 49, + ], + [ + -1, -7, 66, -34, -31, 8, 24, -6, + -37, -38, 3, -68, -34, -33, -31, -29, + -9, -14, -36, -27, -53, -48, -8, -21, + 5, 16, -26, -24, -22, 17, -76, 8, + 34, 8, 31, -4, 21, 8, -7, -17, + -59, 3, -46, 18, 25, 45, 25, -15, + -35, 8, -28, -29, -28, 35, 45, -11, + 38, 62, 84, 35, 110, 111, 48, 48, + ], + [ + -1, 16, 32, -20, -9, -13, 11, -30, + -37, 19, -11, 47, -11, -71, -19, -46, + -48, -53, 4, -29, -4, 4, -1, 20, + -60, 0, -46, 0, -18, -5, -42, -59, + 8, 35, -19, 6, -9, 52, 22, 32, + -57, -18, -4, 3, -7, -5, -13, 32, + -10, 12, -17, -5, -21, 87, 66, -1, + 19, 17, 32, -14, 44, 135, -21, 99, + ], + [ + -4, -70, -25, -37, 10, 12, -56, 5, + -22, 48, -35, -11, 58, 5, 53, -34, + 6, 59, -5, 42, -32, 37, 15, 35, + -68, -21, -17, 10, 30, 14, -5, 14, + -23, 47, 34, -6, 28, -15, 18, -14, + -38, -13, -7, -23, -57, -2, -42, -50, + 16, -51, 2, 51, -31, -60, 25, 14, + -60, -12, 33, 66, 46, 27, 48, 39, + ], + [ + -16, -54, -51, 42, -47, 38, 30, -42, + -32, -9, 16, -41, -68, 3, 13, -8, + -30, -4, -10, -15, 2, 22, 8, 13, + -58, 35, 29, -42, 47, 60, 13, 27, + 17, -18, 28, 62, 9, 12, -1, -2, + 12, -19, -34, -34, 49, 25, -4, -49, + 7, -5, -44, 9, -13, -39, 1, 3, + 2, -2, -3, 52, 53, 4, 20, 32, + ], + [ + -1, -24, -33, -43, 1, 34, -53, -49, + -35, -59, -17, -29, 2, 7, 25, -19, + -23, 18, -7, -28, 14, -85, -29, 3, + 7, 2, 15, -19, -25, 68, 42, 23, + 16, 29, 8, 89, 16, 29, 18, 5, + -31, 10, -11, -12, 3, -36, 43, 17, + -3, 20, -20, -36, 15, 14, 32, 11, + -30, 11, 20, -11, -24, 10, 70, 46, ], ]; internal static readonly short[][] EndGameEnemyRookTable = [ [ - -43, -3, -15, 11, 24, 18, 41, -1, - -99, -7, -32, -14, 17, 5, 18, 15, - -3, -4, -18, 3, 23, 16, 19, 7, - -70, -9, -7, -12, 24, 11, 28, 19, - 14, 11, 9, 17, 44, 10, 18, 14, - -22, -15, 3, -17, 18, 3, 3, -15, - -20, 3, -15, -6, 15, -21, -3, -13, - -8, -1, 2, -5, 14, -4, 4, 0, - ], - [ - -140, -130, -125, 56, 16, 80, 44, 64, - -1, 11, 28, -29, 6, 20, 20, 21, - -9, -17, -19, -14, 5, 21, 20, 23, - -11, -2, 23, 5, 1, 27, 11, 16, - 5, -10, -2, -4, 13, 21, 19, 12, - -14, -20, -4, 4, 16, 24, -0, 4, - -9, -9, -8, -7, 4, 7, -15, -9, - -15, -26, -14, -4, 0, 17, 0, 3, - ], - [ - -27, -149, -163, -168, -10, 53, 31, 79, - 18, 32, -139, -2, 23, 27, 43, 27, - 2, 0, 4, 11, 4, 23, 28, 31, - 5, 8, -1, 26, 8, 18, 20, 41, - -5, -8, 20, 19, 22, 20, 10, 18, - -8, 3, -6, 8, 7, 9, 13, 18, - -33, -40, -10, 7, -10, 2, 34, 7, - -3, -9, -14, 4, 1, 14, 4, 5, - ], - [ - 34, 79, -116, -107, -112, 88, 44, 96, - 20, 12, 35, -33, 2, 9, 17, 36, - 17, 15, 0, -43, 7, -27, 40, 19, - 2, -11, -6, -22, -5, -8, 3, 29, - -15, 1, 2, 5, -10, -1, 18, -3, - -20, -12, -8, -12, -5, 24, -6, 22, - -27, 11, -17, -1, -0, -21, -0, -12, - 2, 3, -6, -12, -7, -1, -2, -5, - ], - [ - 26, 68, 43, -137, -144, -139, 66, 97, - 11, 22, 12, 15, -74, 48, 29, 20, - 17, 15, -6, 11, -40, 5, -20, 3, - 18, 29, 23, 4, -8, 14, -13, -7, - 4, 25, -1, 11, -24, 13, 22, 7, - 4, 4, 0, 2, -4, -3, -17, -4, - -9, 4, 6, -2, -24, -3, 1, -1, - 11, 7, 4, -3, -15, 0, -9, -10, - ], - [ - 64, 51, 69, -5, -127, -143, -143, -50, - 21, 20, 23, -4, -7, -41, 20, 12, - 44, 38, 40, 3, -19, -38, 7, 25, - 35, 38, 16, 2, -9, -17, 8, 10, - 7, 23, 39, 19, -3, -7, 11, 21, - -1, 21, 26, 6, -18, -7, -12, -30, - 13, 15, 23, -2, -14, -18, -10, -9, - 9, 0, 10, 1, -23, 3, -13, -24, - ], - [ - 107, 90, 123, 81, 44, -360, -247, -211, - 28, 44, 38, 17, 16, 32, -45, 8, - 23, 35, 33, 32, -2, -6, -6, -3, - 23, 39, 21, 23, 12, 1, -13, -5, - 17, 29, 22, 18, 8, 8, 0, -19, - 9, 14, 12, 12, 4, -14, -32, -33, - 5, 13, 11, 17, -1, 3, -41, -31, - 11, 13, 12, 6, 3, 5, -30, -26, - ], - [ - 84, 93, 81, 68, 28, 101, -139, -142, - 19, 16, 25, 25, 10, -5, 10, -14, - 41, 37, 35, 19, 2, -11, 11, -16, - 6, -3, 29, 12, 1, 9, -25, -63, - -3, -6, 12, 19, -6, -9, -21, -27, - -10, -18, 1, 7, -5, -13, -19, -50, - -8, -1, -11, 9, -2, 1, -34, -50, - -9, -11, -1, 1, 4, -2, -37, -43, - ], - [ - -10, 15, 5, -6, 9, 25, 25, 4, - 22, 9, 4, -22, -1, 4, -11, -12, - -12, -47, -28, -11, -4, 12, 4, 0, - -17, -62, -19, 4, 7, 16, 25, 7, - -4, 18, -18, -1, 19, 27, 15, 8, - -13, -32, -7, 4, 12, 16, 15, 2, - -4, -17, -5, 11, 3, 18, 2, -12, - -9, -10, -13, 11, 8, 21, 8, -9, - ], - [ - 4, 2, 23, 35, 14, 34, 14, 10, - -2, 1, 13, 5, -10, -5, -12, -5, - 5, 3, -75, -28, 6, 10, 1, -5, - 7, -8, -14, -13, -1, -5, 7, 6, - 3, -5, -5, 5, 15, -1, 15, 2, - -6, -8, -12, -13, 8, 16, 2, -5, - -1, -17, -28, -13, 8, -4, 7, 4, - 6, -0, -14, -5, 16, 19, -1, -2, - ], - [ - 15, 1, 20, 3, 28, -8, 28, 21, - 3, -5, 16, 19, 29, -8, -9, -12, - -1, 1, -3, -45, 2, 1, 2, -10, - 18, 5, -2, -35, -5, -3, 6, -0, - 8, 6, 2, -12, -6, 16, 6, 2, - -1, -0, -12, -31, -6, 13, 3, 11, - -12, -17, -11, -33, -14, -9, 18, 2, - 7, 2, -12, -11, -5, 14, 4, 6, - ], - [ - 21, 3, 4, 32, 8, 24, 26, -3, - -2, -7, -2, 2, 0, -6, -15, -15, - 6, 2, 4, 1, -103, -17, -7, 7, - 14, 22, 17, 2, 9, -5, -5, 16, - 12, 27, 25, 10, -19, 8, -0, 10, - -3, 5, -6, -7, -22, -7, 2, 1, - -4, -6, -6, -18, -31, -3, -0, 0, - 9, 3, 6, -8, -10, 5, -7, -1, - ], - [ - 5, 21, 22, 16, 27, 7, 24, 8, - -9, -1, -7, -9, 5, -6, -11, -9, - 10, 7, 5, -3, -12, 12, -29, -12, - 1, 11, 14, 4, -10, -25, -13, 9, - 10, 17, 24, 8, -11, 3, -7, -9, - -10, 15, 5, 14, 1, -25, -22, -5, - -12, 0, 6, 7, 1, -21, -20, -4, - 5, 7, 8, 3, -9, -9, -17, -7, - ], - [ - -13, 8, 26, 18, 2, 32, -3, -4, - -14, -3, 4, -3, -1, -21, -5, -28, - -3, 5, 15, 5, -9, -12, -74, -13, - 6, 16, 24, 4, -7, -13, -27, -6, - 6, 22, 27, 18, 1, -5, 5, -9, - -2, 8, 21, 16, -11, 0, -16, -20, - -1, 11, 21, 15, 4, 2, -27, -8, - 5, 7, 16, 11, 2, 6, -15, -15, - ], - [ - -6, 20, 42, 40, 24, 8, 26, -11, - -11, 0, 10, -13, -1, -20, -10, -5, - 2, 10, 15, 6, -9, -35, -48, -62, - 13, 13, 21, 20, 4, -6, -6, -56, - -8, 15, 29, 17, 9, -2, 3, -17, - -14, 1, 13, 15, 10, -0, 2, -30, - -2, 5, 13, 10, 10, -4, -1, -27, - -6, -6, 16, 3, 8, 6, -9, -37, - ], - [ - 29, 10, 1, 27, 29, 37, 7, -14, - 7, 5, -24, 9, -8, 11, 14, 4, - -50, -2, -9, 18, 3, 3, 19, 8, - 0, -30, -37, -23, 1, 31, 7, -12, - -17, -12, -38, -9, -6, -9, 13, 20, - 8, -4, 7, -13, -26, 6, 19, 19, - -23, 2, 11, 8, -13, 4, 4, -11, - -10, 6, -10, 6, -4, 13, -16, 3, - ], - [ - 4, 3, 14, 33, 42, -0, 8, -9, - 7, -4, 10, 28, -0, -1, 6, -9, - 9, -16, -1, 31, 37, 9, 12, -5, - -5, -14, 16, 25, 12, -8, -9, -13, - 31, -9, 27, 18, 15, 13, -10, -4, - -11, 20, 45, 0, -15, -9, -6, 18, - -34, -42, 0, -12, -19, -3, 38, -0, - -67, -45, -6, -23, -32, -35, -31, -29, - ], - [ - 16, 41, 0, 18, 19, 7, 9, 4, - -5, 5, 17, 6, 7, -11, 10, 2, - -11, -8, -10, -2, 28, -16, -10, 11, - -5, 23, 0, 9, 25, -12, 27, 18, - -0, 20, -19, 5, 27, 12, -1, 16, - 17, 12, 4, 12, 18, -2, 29, 7, - 7, 16, -79, -3, 22, 6, 17, -12, - -54, -46, -86, -29, -30, -17, -42, -40, - ], - [ - 3, 1, 15, 46, 17, 35, 6, -2, - 2, 2, 30, 22, 13, 22, -8, -8, - -1, 15, 30, -12, 24, 30, 1, -13, - 0, 14, 32, 30, -7, 10, 23, -21, - 5, -3, 16, -24, 9, 34, -5, -20, - 29, 7, 29, 56, -6, 11, -15, 7, - 9, -7, 9, -63, -19, -8, -29, -29, - -23, -45, -31, -54, -58, -31, -28, -77, - ], - [ - -2, 4, 19, 28, 24, 26, 4, -1, - -2, 4, 6, 11, -2, 21, -1, -5, - 12, 15, 1, 16, -5, 12, 2, -18, - 19, 3, 23, 22, -13, 12, 15, 8, - -20, -22, -10, 24, 31, 17, -20, -20, - 30, 8, 8, 18, 32, 2, 4, -5, - 9, 6, 6, -5, -33, -47, -31, -13, - -20, -23, -9, -1, -48, -38, -43, -44, - ], - [ - -8, 24, 29, 42, 24, -12, 35, 3, - -19, -26, 18, 35, 15, -23, 7, 13, - -9, -7, 7, -12, 33, -33, 7, -1, - 8, 18, 12, 13, 1, -38, 12, -8, - 2, -5, 4, 6, 21, -42, 7, -21, - -5, 24, 1, 12, 27, 43, 25, 14, - -19, 13, -8, -12, 25, -29, 13, -10, - -3, -18, -25, -30, -5, -71, -38, -54, - ], - [ - -11, 0, 32, 7, 27, -9, -5, 33, - -1, -12, 1, 56, 25, -6, -16, 7, - -1, -2, 14, 29, 21, -20, -21, -3, - 17, -18, 7, 20, -6, -26, -17, 4, - -13, 7, -2, 14, -3, -2, 38, -4, - 2, 28, 35, 23, -8, -37, 4, -16, - -3, 2, 46, 18, 2, -10, -54, -21, - -25, -5, -9, -13, -41, -12, -43, -24, - ], - [ - 20, 13, 4, 26, 3, 8, 51, 3, - 18, 20, 4, 26, 2, 1, 5, -5, - 10, 6, 11, 12, -19, 6, 10, -16, - 4, -0, -25, 5, -3, -35, 2, -32, - 13, 8, 4, -27, -7, 2, -2, 7, - 8, 15, -14, -1, 8, 16, -2, 32, - 0, 22, 16, 19, -22, 22, -27, -40, - -17, -7, -8, -21, 15, -5, -24, -117, + -43, -3, -9, 8, 24, 18, 41, -3, + -98, -6, -31, -14, 18, 6, 20, 15, + -5, -4, -16, 2, 25, 16, 19, 6, + -67, -9, -6, -11, 22, 13, 27, 19, + 16, 10, 9, 20, 38, 10, 17, 12, + -23, -17, 2, -16, 18, -0, 2, -14, + -17, 1, -16, -4, 17, -20, -1, -14, + -8, -2, 3, -6, 14, -4, 2, 1, + ], + [ + -140, -130, -125, 57, 17, 79, 43, 61, + 2, 8, 29, -28, 5, 20, 19, 21, + -7, -17, -15, -17, 4, 20, 20, 24, + -11, -4, 20, 6, 2, 25, 11, 17, + 6, -8, -2, -4, 12, 20, 17, 13, + -15, -22, -3, 5, 17, 25, 2, 4, + -9, -9, -6, -6, 3, 8, -15, -6, + -14, -28, -15, -4, -0, 17, -2, 4, + ], + [ + -28, -149, -163, -168, -5, 56, 35, 82, + 18, 32, -140, -2, 23, 26, 42, 26, + 2, -1, -2, 12, 5, 27, 30, 31, + 4, 6, -4, 27, 8, 17, 20, 43, + -5, -9, 20, 17, 22, 21, 10, 19, + -9, 0, -6, 8, 7, 8, 11, 18, + -32, -41, -10, 6, -11, 2, 35, 7, + -3, -9, -14, 3, 1, 14, 4, 5, + ], + [ + 38, 75, -116, -107, -112, 85, 38, 100, + 20, 13, 38, -35, 2, 9, 15, 37, + 19, 13, 2, -41, 6, -26, 43, 16, + 4, -12, -3, -18, -7, -10, 3, 32, + -14, 5, 2, 4, -8, -0, 12, -2, + -21, -12, -8, -10, -6, 21, -6, 22, + -27, 11, -18, 1, 0, -21, -1, -13, + 1, 2, -6, -12, -8, -2, -4, -3, + ], + [ + 30, 73, 35, -138, -146, -140, 68, 101, + 13, 21, 13, 17, -77, 47, 28, 22, + 15, 17, -5, 10, -41, 4, -20, 5, + 20, 29, 23, 3, -10, 15, -16, -4, + 8, 23, -0, 7, -23, 14, 21, 7, + 5, 2, 1, 3, -8, -5, -18, -2, + -8, 2, 8, -3, -26, -4, -2, -1, + 11, 8, 5, -4, -15, 0, -9, -9, + ], + [ + 65, 49, 63, -6, -128, -144, -144, -51, + 21, 21, 23, -4, -8, -42, 20, 14, + 45, 36, 41, 6, -17, -37, 7, 22, + 35, 38, 14, 5, -9, -15, 9, 8, + 7, 24, 37, 19, -4, -8, 13, 23, + 1, 21, 24, 5, -18, -5, -12, -29, + 14, 15, 21, -3, -12, -18, -8, -8, + 8, -0, 10, 2, -23, 3, -12, -23, + ], + [ + 105, 94, 120, 79, 45, -357, -247, -212, + 28, 44, 38, 16, 15, 33, -48, 9, + 24, 36, 34, 32, -1, -5, -6, -1, + 23, 39, 21, 24, 12, 2, -12, -5, + 15, 29, 21, 18, 8, 8, -1, -18, + 9, 15, 12, 12, 4, -14, -32, -33, + 5, 12, 10, 17, -1, 2, -41, -30, + 11, 12, 12, 6, 3, 5, -29, -26, + ], + [ + 80, 96, 84, 69, 31, 100, -139, -142, + 18, 17, 22, 24, 11, -4, 13, -15, + 39, 37, 34, 19, 4, -10, 9, -15, + 7, -2, 29, 13, 1, 11, -22, -61, + -1, -6, 10, 17, -6, -9, -21, -31, + -10, -17, 0, 6, -5, -15, -17, -49, + -11, -1, -12, 9, -2, -0, -35, -53, + -10, -11, -2, 1, 5, -2, -37, -43, + ], + [ + -9, 16, 8, -8, 9, 26, 25, 2, + 21, 4, 4, -23, -3, 2, -10, -12, + -9, -48, -25, -13, -5, 13, 4, 0, + -16, -59, -16, 5, 6, 18, 25, 8, + -6, 16, -20, -1, 17, 25, 13, 9, + -13, -31, -7, 3, 12, 17, 16, 4, + -5, -17, -3, 9, 2, 19, 1, -9, + -8, -9, -12, 11, 7, 22, 8, -9, + ], + [ + 4, 2, 24, 35, 13, 34, 15, 10, + -1, 5, 12, 7, -12, -6, -11, -7, + 5, 3, -76, -27, 3, 9, 1, -6, + 6, -8, -21, -14, -2, -4, 10, 6, + 4, -6, -7, 5, 13, -2, 14, 1, + -6, -8, -10, -12, 8, 16, 3, -4, + 0, -16, -28, -12, 9, -3, 7, 3, + 6, -0, -14, -4, 16, 19, -0, -0, + ], + [ + 15, -1, 20, 3, 27, -7, 28, 20, + 3, -5, 13, 22, 29, -9, -8, -11, + 0, 2, -3, -47, 5, -1, 0, -10, + 19, 4, -2, -34, -3, -3, 6, -1, + 8, 7, 3, -13, -5, 15, 6, 2, + -1, -1, -12, -31, -6, 14, 3, 11, + -11, -16, -10, -34, -13, -7, 17, 3, + 7, 1, -12, -11, -6, 14, 3, 6, + ], + [ + 20, 3, 6, 33, 7, 25, 25, -3, + -1, -6, -2, 0, 3, -3, -15, -14, + 6, 3, 5, 1, -104, -17, -9, 6, + 16, 22, 16, 2, 5, -4, -6, 17, + 11, 27, 24, 9, -17, 8, -0, 9, + -2, 5, -6, -6, -22, -7, 1, 1, + -3, -6, -5, -18, -32, -3, -0, -2, + 10, 3, 7, -8, -9, 5, -8, -1, + ], + [ + 4, 21, 22, 14, 26, 7, 22, 7, + -8, -2, -8, -10, 7, -7, -11, -8, + 9, 8, 7, -3, -12, 8, -28, -11, + 1, 12, 14, 3, -9, -31, -13, 9, + 9, 16, 24, 8, -10, 5, -7, -8, + -10, 16, 5, 13, 2, -25, -22, -4, + -12, 1, 7, 6, 1, -20, -20, -3, + 5, 7, 10, 4, -8, -8, -17, -6, + ], + [ + -13, 10, 25, 21, 1, 31, -1, -4, + -14, -2, 4, -3, -3, -25, -5, -31, + -3, 6, 14, 6, -8, -12, -76, -13, + 6, 15, 24, 6, -9, -14, -30, -4, + 6, 23, 27, 17, 1, -3, 4, -9, + -0, 8, 21, 17, -10, 1, -19, -19, + -2, 11, 21, 15, 5, 2, -28, -7, + 6, 7, 16, 11, 2, 7, -16, -15, + ], + [ + -4, 20, 40, 41, 24, 6, 25, -12, + -10, 0, 10, -11, -2, -21, -8, -3, + 2, 10, 15, 8, -7, -36, -48, -64, + 14, 13, 20, 20, 5, -5, -5, -59, + -7, 14, 29, 17, 10, -1, 4, -15, + -13, 1, 11, 15, 9, 0, 1, -29, + -1, 4, 11, 10, 10, -6, -1, -28, + -6, -7, 16, 3, 8, 6, -10, -36, + ], + [ + 28, 11, 3, 26, 28, 35, 7, -13, + 7, 1, -25, 10, -10, 10, 14, 2, + -48, -3, -10, 16, 4, 6, 20, 9, + -5, -30, -35, -23, -0, 30, 10, -14, + -12, -8, -38, -8, -6, -7, 12, 19, + 8, -2, 3, -11, -28, 8, 21, 17, + -23, 2, 10, 8, -15, 3, 2, -6, + -11, 7, -8, 8, -5, 11, -17, 4, + ], + [ + 1, 1, 15, 36, 37, 0, 12, -12, + 2, -4, -1, 23, -3, -6, 3, -13, + 5, -16, -1, 34, 39, 8, 15, -6, + -6, 0, 17, 24, 11, -10, -11, -14, + 31, -12, 30, 18, 17, 9, -4, -3, + -13, 26, 46, 3, -15, -7, -4, 11, + -35, -42, 2, -9, -17, -2, 38, -5, + -66, -46, -4, -19, -30, -32, -25, -23, + ], + [ + 16, 42, 3, 15, 20, 6, 8, 5, + -7, 2, 14, 6, 3, -9, 9, -5, + -12, -10, -11, -3, 30, -17, -8, 11, + -6, 22, 0, 6, 27, -13, 24, 17, + -2, 23, -18, 9, 29, 10, -2, 17, + 13, 11, 7, 11, 22, -1, 26, 10, + 6, 17, -73, -2, 23, 5, 16, -14, + -53, -44, -86, -26, -24, -16, -39, -39, + ], + [ + 3, -1, 16, 45, 18, 32, 11, 0, + -1, 2, 26, 23, 11, 20, -8, -7, + 0, 14, 27, -10, 22, 29, 0, -14, + 0, 14, 32, 28, -5, 8, 23, -20, + 3, -3, 16, -13, 11, 33, -2, -20, + 26, 5, 27, 55, -5, 10, -16, 7, + 10, -6, 8, -67, -16, -8, -30, -27, + -25, -44, -30, -51, -56, -30, -28, -75, + ], + [ + -2, 4, 21, 26, 22, 25, 7, 2, + -3, 3, 6, 12, -3, 19, -2, -2, + 12, 15, -1, 18, -4, 4, 3, -16, + 18, 5, 25, 22, -12, 10, 12, 5, + -19, -22, -8, 25, 29, 15, -22, -20, + 31, 10, 12, 16, 33, 4, 4, -6, + 8, 7, 7, -2, -34, -47, -31, -15, + -18, -24, -10, 1, -49, -40, -41, -48, + ], + [ + -7, 28, 25, 40, 25, -15, 37, 2, + -22, -26, 18, 29, 10, -22, 1, 10, + -9, -6, 4, -11, 33, -34, 4, -1, + 7, 20, 12, 15, 0, -31, 11, -9, + 1, -4, 8, 7, 19, -39, 6, -20, + -3, 24, 2, 12, 28, 46, 25, 15, + -19, 13, -9, -11, 23, -29, 16, -9, + -5, -17, -28, -29, -4, -71, -35, -52, + ], + [ + -10, -0, 30, 8, 25, -4, -6, 32, + -6, -14, -1, 54, 23, -14, -17, 6, + -4, -4, 13, 26, 17, -20, -21, -5, + 15, -18, 7, 22, -9, -24, -15, 3, + -12, 11, -0, 16, -3, -2, 45, -3, + 1, 27, 35, 28, -9, -34, 10, -18, + -5, 4, 44, 19, 3, -7, -53, -19, + -24, -4, -5, -10, -39, -12, -46, -23, + ], + [ + 22, 12, 6, 24, -1, 3, 51, 5, + 20, 21, 9, 25, 1, 2, 4, -6, + 9, 4, 11, 13, -20, 5, 11, -18, + 4, -1, -22, 5, -3, -38, 3, -33, + 13, 9, 8, -28, -5, 0, -4, 6, + 9, 16, -10, -0, 7, 13, -3, 31, + -1, 20, 17, 19, -25, 20, -26, -40, + -16, -8, -4, -16, 13, -6, -24, -117, ], ]; internal static readonly short[][] MiddleGameEnemyQueenTable = [ [ - -101, -98, 109, 51, -20, -27, -94, -37, - -99, -97, 80, 48, -11, -6, -35, -38, - 77, 113, 80, 21, 7, -10, -12, -10, - 27, 49, 25, 28, 5, -40, -2, -21, - 19, 16, 2, 3, 1, -14, -19, -22, - 32, 6, 0, 18, 1, -5, -7, -29, - -6, 14, 1, -1, 3, 12, 10, -19, - 17, -2, -8, -4, 20, 28, -5, -24, - ], - [ - -185, -183, -182, 50, 111, 38, 51, 17, - -170, -229, -195, -5, -15, -5, -27, -28, - 18, 13, 31, 51, -4, -7, -2, 15, - -10, 36, 13, 7, 18, -6, 1, 12, - 15, 40, 29, 33, 29, 27, 4, 0, - 25, 33, 30, 27, 26, 24, 32, 2, - 27, 36, 39, 25, 33, 35, 29, 17, - 16, 25, 23, 22, 25, 25, 6, 11, - ], - [ - 179, -203, -213, -228, 53, 53, 13, -27, - 60, -238, -184, -195, -13, -7, -23, -0, - 54, 47, 29, -1, 71, -2, 4, -8, - 18, 12, 19, -6, 9, 5, -9, 19, - 42, 36, 20, 19, 21, 13, 14, 10, - 22, 40, 41, 23, 16, 19, 26, 13, - 37, 38, 32, 11, 27, 28, 25, 3, - 13, 13, 25, 17, 29, 17, 12, 7, - ], - [ - 66, 86, -204, -169, -159, 117, 50, 19, - 37, 27, -167, -170, -195, -2, 27, -18, - 17, 58, 36, 18, 1, 61, 25, 9, - 30, -2, 19, 9, -23, 7, 18, 24, - 15, -9, 18, 17, 6, 10, 20, 8, - 24, 30, -2, 18, 9, 17, -5, -1, - 14, 8, 14, 23, 16, 17, 4, -18, - 14, 14, 3, 30, 11, 26, 1, -8, - ], - [ - -13, 35, 94, -207, -207, -207, 44, 57, - -2, -3, -6, -190, -207, -226, -3, 32, - 16, 19, 36, -3, 20, -23, 102, 38, - 8, 20, 9, -22, 17, -5, 13, 48, - 21, 2, 17, 11, 25, 13, 26, 18, - 17, 33, 10, 25, 24, 21, 35, 31, - 19, 15, 26, 26, 38, 32, 21, 27, - 4, 21, 23, 30, 43, 20, 28, 13, - ], - [ - 34, 36, 8, 59, -186, -175, -173, 113, - 3, 18, 14, -28, -225, -178, -184, 53, - -20, -0, 18, 53, 25, 49, 40, 91, - 3, 6, 30, 1, -5, 10, 19, 21, - 1, 7, 1, 21, 0, 12, 18, 50, - -1, 11, 14, 18, 12, 28, 36, 38, - 13, 22, 6, 18, 13, 38, 24, 12, - -15, 2, 9, 24, 14, 25, 11, -10, - ], - [ - -79, 0, 15, 51, 62, -154, -188, -137, - -26, -29, -20, -27, -40, -85, -151, -140, - -7, -1, -7, -1, 56, 36, -4, 17, - -17, -2, -4, 11, 10, 10, 28, -3, - 2, 9, 17, 23, 24, 28, 44, 31, - 12, 25, 18, 19, 27, 28, 43, 42, - 15, 14, 26, 29, 25, 29, 43, 55, - 17, 20, 23, 28, 29, 25, 24, 33, - ], - [ - -73, 25, -42, 55, 84, 102, -146, -146, - -46, -26, -37, -14, 28, -5, -106, -172, - -31, 17, -7, 4, 12, 85, 72, 49, - -41, -19, -3, 2, 0, 45, 19, 39, - -14, -31, -2, 10, 17, 40, 37, 50, - -6, -1, 5, 4, 16, 9, 34, 43, - -2, -12, 1, 8, 8, 9, 32, 46, - -9, -7, -3, 9, 6, -2, -29, 7, - ], - [ - 103, 71, 102, 44, 51, -37, -3, -59, - 39, 31, 140, -4, 38, -2, -19, -47, - -159, -162, -128, 30, -8, -52, -22, -54, - 15, 19, 15, 61, -6, -25, -23, -44, - 21, 82, 15, 7, 21, -20, -30, -50, - 22, 26, 2, 2, -12, -5, -11, -35, - 22, -2, 15, 8, -4, -1, 2, -28, - 4, 37, 5, 2, 15, 10, -5, -18, - ], - [ - 102, 90, 57, 103, -23, 18, 6, -29, - 89, 160, -50, 43, 27, 19, -22, -56, - 59, -161, -166, -162, -17, -13, -1, -46, - 116, 17, 22, 37, 91, -42, -7, -53, - 2, 40, 12, 40, -10, 6, -63, -17, - -1, -1, 18, 5, -10, -30, 4, -57, - -8, -4, -25, -12, -6, -9, -9, 1, - -10, -9, 11, -13, 20, -18, -21, -31, - ], - [ - 51, 46, 122, 40, 134, 34, 58, 39, - 27, 14, 52, -72, 67, -13, 15, -5, - 13, 57, -139, -163, -145, 9, 15, -4, - 0, 58, -18, 63, -35, 66, 23, -33, - 17, -12, -0, 9, -4, -33, 12, -28, - -3, -9, -16, 1, -15, -18, -39, -29, - 5, -25, -3, -16, -0, -17, -13, -19, - -32, -5, -7, 4, -17, -14, -22, -26, - ], - [ - -28, 67, 101, 91, 44, 91, 57, 55, - -2, 4, 40, 56, 25, 52, 45, 5, - -8, 31, -4, -186, -160, -144, 52, 50, - -11, -36, 87, -17, 59, -50, 68, 3, - -45, 18, -14, -4, 24, 7, -21, 19, - 28, -16, -23, -7, -8, -0, 8, -17, - -27, -38, -17, -7, 5, -1, -41, -36, - -26, -35, -6, -19, -30, -37, -18, -52, - ], - [ - -62, -22, 3, -12, 190, 108, 135, 77, - -17, 3, -2, 35, 97, 166, 130, 77, - -27, -56, -9, 10, -173, -174, -172, 58, - -37, -13, -30, 62, -30, 44, 15, 89, - -40, -34, 6, 13, 2, -0, 14, 2, - -46, -2, -34, -8, -18, -0, -19, -15, - -4, -46, -11, -10, -9, -1, -27, 2, - -35, -25, -23, 7, -32, -16, -25, -25, - ], - [ - -58, -22, -49, 34, -24, 133, 132, 157, - -9, -43, -44, 22, 23, 169, 144, 228, - -47, -15, -26, -10, 10, -134, -171, -202, - -41, -26, -19, -10, 70, 49, 10, 10, - -35, -37, -31, 18, 3, 6, 55, 20, - -38, -28, -1, -20, 1, -1, 35, 8, - -44, -3, -16, -2, -6, -4, -8, 13, - -4, -18, -13, -6, -9, -24, -6, -42, - ], - [ - -75, -72, -42, 9, 54, 45, 114, 51, - -57, -57, -24, -18, 20, 56, 144, 56, - -47, -36, -47, -7, 35, 122, -83, -103, - -65, -15, -33, -12, 5, 125, 68, 27, - -36, -21, -18, -5, 14, 6, 32, 42, - -26, -11, -23, 6, 0, 9, 0, 39, - -25, -24, -7, -5, -6, -8, 25, 16, - -32, -8, -20, 1, -23, -1, -16, -15, - ], - [ - 72, 39, 29, 51, -48, -16, 6, -77, - 15, 56, 101, 90, 7, 16, -39, -67, - -4, 8, 151, 49, 50, -17, -30, -100, - 14, -21, 99, 52, 42, -63, -29, -18, - 23, 15, 127, 12, -27, -29, -28, -137, - -34, 52, 63, 7, -14, 6, -79, -53, - 10, 47, -35, -22, -27, -52, 8, -43, - -14, 16, -56, -19, -67, -1, -7, -64, - ], - [ - 12, 30, 14, 15, -49, -60, -42, -86, - 88, 40, -4, 35, 29, -14, 9, -19, - 44, 20, -4, 2, 10, 53, -79, -24, - 12, 3, 2, -6, 3, 23, -51, 13, - 23, 27, -15, 16, 23, 27, -4, 21, - 15, -10, -2, -20, 31, 14, -20, -36, - -0, 15, -12, 29, 25, 11, 9, -42, - -7, 2, -29, -27, -33, -22, -39, 10, - ], - [ - -66, 14, 54, 27, -34, -57, -70, -70, - 48, 50, 42, 74, 7, 25, 7, -11, - 48, 21, 23, 50, 19, 24, 0, 18, - 3, 2, -7, -42, 12, 19, -2, -26, - -21, -31, -5, -37, 25, 10, 1, 27, - -11, -3, -3, -34, 3, 16, -7, -32, - -17, -25, 10, -17, 19, -27, -23, -9, - 36, 6, -7, -44, -8, -20, 5, 17, - ], - [ - -18, 11, -21, 1, -44, -32, -34, -62, - -46, 16, 34, 38, 10, 16, 10, -1, - 36, 23, -7, 86, -6, 22, 77, -11, - -9, 36, 21, 13, 5, 17, 13, -14, - -11, 32, -10, -11, 4, 14, 10, -44, - -26, 33, -33, -5, -44, 42, 1, 23, - -58, -0, 22, 18, -31, -16, -20, 28, - -18, -32, 3, -3, -25, -2, -21, -2, - ], - [ - -32, -46, -15, 43, 28, 4, -16, -42, - 4, 8, 51, 28, 40, 58, 98, 22, - -18, -11, -23, 13, 42, 1, -17, 72, - -25, -22, -13, 10, 19, 18, -7, 7, - -30, 6, 19, -4, 25, -28, 12, 5, - -11, -39, 4, -15, -6, 4, 29, 44, - -2, -39, 15, -32, 4, -103, -21, 8, - -37, -23, -17, -19, 2, -15, -24, 14, - ], - [ - -61, -43, -41, -7, 52, -23, -11, -34, - -16, 1, 8, 17, 69, 31, 38, 91, - -9, 32, 20, -6, 53, -15, 76, 17, - -6, 20, -34, 32, -14, -16, 4, 38, - -16, 1, -22, -10, -35, 1, -27, -17, - -30, -6, 42, -12, -41, -7, -9, 12, - 6, 43, 20, 22, 5, -18, -31, 24, - -11, -58, -7, 4, -1, 3, -44, -44, - ], - [ - -53, -65, -55, -52, -0, -27, 48, -6, - -39, -5, 9, 44, 32, 23, 12, 69, - -39, -35, 49, 3, 11, 53, 59, 89, - 11, -16, -19, 6, 10, -15, -36, 16, - -25, -28, -12, -34, 49, 12, -12, 10, - 10, -43, -25, 33, 33, -51, -6, -13, - -24, 12, 26, 14, -33, 1, 22, -38, - -13, 31, 5, 52, 1, -27, -9, -7, - ], - [ - -67, -120, -61, 18, 20, -18, -21, -6, - 17, 29, 39, -23, -45, 26, 12, -3, - -5, 11, -5, -21, 31, 88, 25, -16, - -25, 7, -22, -23, 3, 70, 23, 23, - -13, -25, 7, -42, 8, 64, -12, -7, - -20, -28, -20, 24, -22, 30, -1, -5, - -52, 34, -20, 22, 46, 44, -6, -21, - -15, -6, 29, 12, 8, -3, 15, 14, + -101, -97, 107, 40, -13, -30, -102, -37, + -98, -97, 83, 51, -12, -11, -35, -38, + 72, 115, 82, 20, 7, -12, -9, -8, + 24, 51, 24, 29, 5, -40, 3, -21, + 20, 17, 3, 2, 2, -18, -18, -23, + 33, 6, 2, 19, 0, -4, -7, -26, + -7, 16, 2, -1, 3, 12, 9, -18, + 19, -2, -7, -2, 18, 28, -5, -23, + ], + [ + -186, -183, -182, 51, 112, 36, 48, 14, + -170, -227, -194, -6, -11, -5, -29, -28, + 17, 12, 29, 54, -3, -7, -3, 15, + -10, 37, 12, 10, 16, -4, 1, 10, + 15, 41, 30, 34, 29, 27, 3, -1, + 24, 32, 29, 26, 25, 24, 31, 4, + 28, 36, 39, 25, 33, 35, 29, 17, + 16, 25, 24, 22, 26, 26, 6, 12, + ], + [ + 181, -203, -213, -228, 55, 52, 14, -25, + 59, -236, -184, -194, -12, -9, -25, -1, + 54, 50, 28, -1, 71, 0, 3, -8, + 18, 12, 19, -5, 7, 6, -7, 17, + 43, 36, 21, 20, 20, 13, 13, 11, + 21, 39, 40, 21, 15, 19, 25, 13, + 36, 38, 32, 11, 28, 27, 25, 2, + 12, 13, 24, 18, 29, 18, 12, 7, + ], + [ + 69, 88, -204, -169, -159, 106, 49, 24, + 36, 28, -167, -170, -194, -2, 29, -16, + 17, 58, 36, 20, -1, 59, 23, 8, + 28, -0, 20, 12, -22, 6, 17, 22, + 13, -6, 19, 17, 2, 10, 20, 7, + 23, 32, -2, 17, 8, 17, -6, 0, + 15, 10, 16, 25, 16, 17, 5, -18, + 15, 14, 3, 30, 11, 27, 2, -8, + ], + [ + -15, 34, 96, -205, -205, -205, 39, 49, + -3, -2, -3, -189, -206, -223, -2, 30, + 16, 17, 36, -2, 21, -21, 105, 36, + 7, 18, 10, -19, 16, -3, 13, 50, + 20, 2, 17, 11, 26, 12, 24, 17, + 17, 33, 9, 25, 23, 22, 34, 29, + 18, 14, 26, 26, 38, 31, 22, 27, + 5, 22, 23, 30, 43, 21, 29, 13, + ], + [ + 34, 37, 3, 51, -185, -174, -172, 114, + -1, 14, 11, -33, -223, -178, -183, 50, + -17, 2, 21, 57, 22, 48, 40, 92, + 6, 5, 30, -2, -5, 7, 19, 23, + 1, 7, 6, 22, 3, 15, 18, 47, + -0, 9, 13, 18, 10, 26, 36, 39, + 15, 23, 8, 18, 14, 38, 24, 13, + -14, 3, 11, 24, 15, 24, 11, -10, + ], + [ + -79, -7, 19, 47, 71, -154, -187, -137, + -27, -29, -21, -29, -41, -86, -152, -139, + -7, -1, -6, -1, 57, 38, -5, 19, + -17, -1, -5, 12, 9, 10, 28, -3, + 2, 8, 18, 23, 24, 28, 44, 31, + 11, 25, 18, 19, 26, 28, 43, 43, + 15, 14, 26, 29, 25, 28, 43, 55, + 17, 20, 23, 29, 30, 26, 24, 33, + ], + [ + -73, 19, -42, 61, 81, 114, -146, -146, + -47, -29, -39, -13, 28, -7, -107, -172, + -31, 20, -7, 1, 14, 88, 73, 50, + -38, -18, -1, 2, -0, 43, 20, 38, + -16, -30, -1, 8, 14, 40, 36, 50, + -7, -1, 5, 3, 14, 9, 33, 43, + -3, -11, 1, 8, 9, 8, 32, 44, + -8, -7, -3, 9, 7, -1, -30, 7, + ], + [ + 102, 69, 102, 44, 45, -43, 3, -56, + 37, 24, 139, -5, 41, -4, -24, -50, + -158, -161, -128, 35, -7, -50, -27, -51, + 22, 21, 21, 61, -3, -23, -26, -48, + 20, 82, 18, 5, 21, -24, -31, -49, + 20, 27, 3, 3, -12, -4, -12, -32, + 22, -2, 15, 7, -3, -1, 2, -28, + 5, 38, 8, 1, 14, 11, -5, -17, + ], + [ + 106, 106, 49, 115, -19, 18, 3, -31, + 88, 159, -31, 36, 30, 19, -23, -54, + 58, -161, -167, -163, -16, -5, -6, -49, + 110, 13, 19, 34, 94, -46, -7, -50, + -0, 40, 13, 40, -9, 2, -64, -20, + -4, -3, 17, 3, -13, -31, 2, -56, + -8, -2, -26, -9, -7, -10, -11, -1, + -12, -9, 10, -14, 19, -17, -21, -31, + ], + [ + 48, 52, 128, 49, 124, 33, 57, 37, + 26, 10, 53, -59, 65, -12, 17, -10, + 12, 58, -141, -164, -146, 12, 20, 0, + 3, 59, -17, 63, -30, 70, 17, -35, + 15, -13, -6, 7, -5, -31, 15, -32, + -3, -7, -11, 1, -16, -18, -39, -31, + 0, -24, -1, -15, -2, -20, -20, -20, + -31, -10, -9, 3, -17, -14, -23, -25, + ], + [ + -23, 67, 100, 85, 39, 108, 54, 55, + -6, 3, 39, 64, 22, 64, 48, 3, + -4, 26, -5, -186, -161, -146, 55, 47, + -17, -34, 85, -20, 68, -46, 61, 4, + -45, 24, -15, -7, 22, 6, -22, 21, + 24, -17, -25, -8, -9, -5, 7, -18, + -27, -38, -16, -11, 5, -2, -39, -33, + -26, -39, -5, -17, -31, -37, -17, -52, + ], + [ + -63, -24, 16, -18, 192, 110, 139, 80, + -15, 3, -9, 29, 86, 172, 130, 76, + -24, -56, -7, 9, -175, -177, -175, 56, + -37, -13, -23, 69, -28, 44, 15, 92, + -41, -34, 5, 12, -2, -2, 15, -1, + -47, -3, -36, -6, -19, -0, -23, -15, + -4, -47, -12, -10, -7, -1, -27, 3, + -34, -25, -25, 6, -31, -12, -25, -26, + ], + [ + -58, -18, -48, 30, -21, 126, 137, 161, + -11, -43, -41, 21, 21, 163, 138, 224, + -49, -19, -33, -11, 14, -135, -172, -202, + -40, -29, -22, -10, 66, 51, 11, 13, + -34, -37, -30, 17, 1, 6, 55, 23, + -36, -27, -1, -20, -2, 0, 36, 11, + -47, -2, -15, -2, -5, -3, -7, 14, + -3, -18, -12, -6, -8, -21, -3, -42, + ], + [ + -78, -72, -41, 9, 56, 47, 114, 53, + -57, -58, -23, -22, 15, 49, 144, 50, + -48, -35, -47, -10, 38, 123, -84, -105, + -65, -17, -36, -13, 3, 127, 73, 26, + -36, -20, -17, -2, 15, 6, 32, 41, + -24, -12, -23, 6, -1, 11, 2, 42, + -24, -23, -7, -4, -5, -7, 25, 16, + -29, -8, -20, 3, -22, 0, -16, -14, + ], + [ + 74, 20, 32, 43, -42, -16, 7, -74, + 27, 57, 99, 89, 14, 25, -44, -62, + 0, 4, 140, 50, 57, -16, -21, -90, + 16, -20, 94, 49, 37, -70, -34, -26, + 29, 17, 123, 8, -23, -27, -24, -131, + -31, 48, 64, 12, -13, 8, -86, -53, + 13, 42, -32, -23, -25, -53, 7, -48, + -16, 16, -55, -28, -67, -1, -9, -62, + ], + [ + 14, 31, 7, 12, -48, -58, -48, -94, + 86, 42, -7, 43, 21, -18, 11, -7, + 44, 9, 2, -0, 6, 51, -108, -23, + 15, 3, 1, -1, 10, 29, -45, 7, + 24, 30, -12, 17, 20, 35, -7, 22, + 18, -13, -3, -18, 38, 11, -19, -27, + -3, 15, -13, 46, 20, 4, 11, -39, + -14, -1, -24, -28, -31, -23, -39, 15, + ], + [ + -77, 4, 54, 42, -33, -58, -73, -69, + 50, 64, 35, 75, -4, 17, 9, -7, + 47, 25, 22, 45, 19, 24, -1, 15, + 4, 2, 0, -37, 15, 13, -2, -23, + -24, -27, -13, -36, 25, 9, 4, 30, + -9, -3, 1, -31, 0, 17, -7, -28, + -15, -27, 8, -15, 9, -28, -21, -8, + 33, 5, -6, -39, -11, -14, 7, 16, + ], + [ + -12, 6, -26, 1, -44, -36, -36, -69, + -47, 12, 39, 38, 10, 26, 9, -1, + 31, 18, -2, 75, -4, 15, 77, -9, + -7, 34, 24, 24, 7, 15, 10, -10, + -14, 30, -11, -7, 3, 12, 8, -46, + -28, 31, -32, -1, -42, 40, 9, 21, + -50, -2, 22, 18, -31, -9, -21, 31, + -16, -31, 12, -0, -29, -7, -23, -1, + ], + [ + -33, -37, -15, 41, 27, 3, -12, -48, + 1, 6, 52, 27, 39, 61, 108, 21, + -15, -15, -27, 19, 42, 4, -20, 66, + -25, -12, -12, 14, 20, 16, -11, 4, + -32, 3, 18, -9, 24, -30, 12, 3, + -12, -36, 5, -16, -4, 4, 25, 41, + -3, -40, 16, -34, 3, -100, -22, 11, + -35, -24, -23, -20, 9, -17, -16, 10, + ], + [ + -66, -41, -45, -8, 48, -26, -11, -28, + -23, -0, 16, 13, 76, 29, 40, 89, + -5, 42, 21, -14, 51, -22, 82, 10, + -11, 21, -34, 22, -10, -14, 2, 45, + -15, -3, -12, -13, -34, 7, -27, -6, + -30, -5, 44, -11, -45, -6, -13, 9, + 7, 42, 17, 24, 3, -18, -28, 25, + -12, -47, -6, 3, -9, 2, -42, -46, + ], + [ + -52, -51, -62, -47, -1, -21, 41, -9, + -39, 1, 11, 46, 31, 32, 17, 72, + -39, -34, 53, 7, 5, 56, 65, 86, + 12, -23, -17, 4, 3, -14, -36, 15, + -28, -27, -9, -38, 48, 16, -9, 13, + 11, -37, -32, 32, 35, -53, -3, -11, + -26, 18, 33, 11, -36, 4, 23, -34, + -26, 22, 4, 47, -3, -39, -8, -9, + ], + [ + -72, -120, -56, 18, 14, -19, -21, -13, + 17, 33, 37, -18, -33, 22, 13, 10, + -8, 15, -6, -14, 33, 84, 45, -21, + -30, 3, -27, -24, 2, 68, 19, 19, + -10, -26, 9, -37, 5, 70, -15, -4, + -25, -27, -15, 23, -18, 34, -1, -5, + -54, 37, -20, 21, 45, 37, -5, -18, + -13, -7, 26, 10, 5, -2, 13, 0, ], ]; internal static readonly short[][] EndGameEnemyQueenTable = [ [ - -147, -144, 0, 79, 81, 86, 114, 53, - -148, -146, 10, 45, 80, 52, 41, 32, - -79, 34, 46, 70, 51, 35, 33, 29, - 3, 22, 74, 31, 38, 65, 8, -12, - 27, 8, 26, 48, 54, 37, 3, -30, - -57, 1, 10, -16, 30, 27, -5, -0, - 0, -36, -40, -20, -10, -20, -75, -9, - -59, -22, -89, -44, -84, -83, -53, -59, - ], - [ - -222, -222, -221, 67, 27, 35, 58, 72, - -211, -242, -228, 85, 106, 57, 71, 70, - 16, 30, 56, 71, 68, 53, 44, -12, - 64, 19, 46, 89, 45, 52, 46, -6, - 37, 17, 10, 16, 37, 28, 33, 28, - 54, 8, -3, 26, 7, 19, -7, 10, - 1, -12, -32, -16, 3, -16, -32, -14, - 20, -26, -37, -4, -20, -37, -34, -48, - ], - [ - -131, -230, -233, -247, 12, 50, 73, 147, - 44, -248, -232, -260, 72, 49, 52, 5, - 95, 41, 77, 42, 52, 46, 15, 48, - 74, 34, 74, 88, 55, 128, 44, 3, - 17, 16, 57, 60, 57, 35, 68, -21, - 45, -22, -1, 11, 48, 17, -25, 19, - -24, -50, -0, 18, 7, 2, -14, -21, - 4, -2, -26, -14, -31, -3, -30, -33, - ], - [ - 51, -11, -166, -152, -144, 61, 67, 82, - 28, 17, -151, -152, -160, 67, -4, 65, - 6, 67, -7, 3, 43, 87, 16, 13, - 20, 43, -12, 27, 38, -2, 83, 13, - 19, 90, 31, 45, 50, 0, -1, 28, - 13, 5, 21, 34, 7, 5, 36, -14, - -25, 24, -25, 4, -6, -31, 9, 40, - -30, -36, -38, -15, -61, -78, -11, -28, - ], - [ - 157, 100, -11, -230, -230, -230, 133, 73, - 51, 44, 63, -220, -230, -231, 74, 72, - 5, 16, 73, 72, 29, 70, 27, 40, - 0, 66, 48, 34, 75, 29, 60, 60, - 40, 17, 17, 17, 48, 38, 28, 35, - 12, 11, 19, -6, 35, -7, 12, -24, - -12, 7, -39, -20, -26, -14, -2, 28, - 6, -44, -49, -41, -65, -17, -65, -31, - ], - [ - 86, 41, 59, 48, -212, -198, -197, 43, - -2, 7, 36, 85, -200, -196, -198, 46, - 36, 5, -15, 43, 7, 19, 45, 29, - 22, 16, 101, 60, 52, 56, 44, 49, - -12, 66, 28, 35, 44, 52, 23, 11, - 26, 6, 32, 40, 21, 10, -2, 19, - -57, -28, 26, -3, 4, -31, -15, 70, - 16, -19, -10, -15, -54, -49, -61, 10, - ], - [ - 187, 131, 105, 67, 36, -378, -398, -384, - 54, 85, 95, 103, 124, -343, -376, -361, - 34, 56, 83, 70, 79, 60, 72, 46, - 47, 38, 63, 74, 69, 36, 48, 64, - 19, 35, 45, 62, 48, 37, 28, 24, - 1, 29, 32, 41, 47, 22, 12, -3, - 17, -2, 6, 16, 14, 0, -16, -31, - -32, -19, -7, 4, -18, -23, -43, -31, - ], - [ - 93, 38, 90, 23, 26, -46, -234, -234, - 39, 36, 74, 80, 62, 112, -205, -268, - 18, -27, 54, 54, 57, 131, 42, 0, - 30, 36, 12, 45, 61, 18, 78, 7, - -13, 36, 22, 52, 38, 16, -13, -13, - -31, 10, 9, 34, 16, 16, -26, -46, - 15, -11, -15, -5, 0, -3, -60, -80, - -17, -38, -33, -35, -29, -35, 8, -71, - ], - [ - -5, 19, 11, 12, 20, 63, 22, 51, - -6, -9, -16, 41, 16, 52, 55, 51, - -184, -188, -164, 42, 32, 65, 20, 57, - -11, 30, -7, 6, 19, 28, 29, 35, - 16, -42, -31, 2, 24, 54, 63, 31, - 7, 15, 2, -11, 34, 37, -6, 47, - -4, -19, -37, -33, 10, 11, 7, -2, - -45, -131, -63, -18, -54, -15, -81, 45, - ], - [ - -44, -19, 17, 10, 70, 13, 3, 7, - -19, -18, -39, 41, 21, 50, 55, 72, - -21, -181, -175, -183, 32, 19, 17, 26, - -42, -12, 18, -42, -33, 30, 28, 29, - 37, -37, 45, -55, 18, 38, 69, 18, - 29, 24, -23, 20, 13, 43, -30, 59, - 10, 7, 29, 8, 11, 25, 1, 13, - 21, -48, -27, 6, -69, 18, -20, 18, - ], - [ - -7, 21, -52, 37, -52, 24, 13, 14, - 19, 40, 30, -112, 23, 74, 64, 46, - -8, -28, -165, -180, -169, 4, 20, 31, - 5, -23, -3, 4, 12, -5, -8, 52, - -2, 15, -14, 51, -38, 41, 16, 43, - -30, 35, 17, 27, 3, 29, 45, 39, - -17, 33, 3, 40, 5, 23, 16, 2, - 31, -26, -58, 7, -43, -19, -19, 26, - ], - [ - 16, -15, -47, 11, 69, 17, -1, 1, - 39, 44, 2, 23, 24, -3, 13, 62, - -10, -22, 21, -202, -174, -163, 5, -15, - 9, 32, -60, -35, -18, 34, 8, 1, - 41, 6, 7, -27, 31, -23, 51, 50, - -33, 39, 19, 2, 17, -3, -27, 40, - 12, 12, -8, 3, -11, 21, 53, 31, - 1, 27, -8, -0, -5, 16, -15, 14, - ], - [ - 42, 27, 29, 44, -102, 78, -21, -31, - 21, 42, 50, 11, -43, 16, -14, 11, - 13, 62, 29, 7, -204, -202, -209, 39, - 27, -3, 19, -6, -7, -19, -14, -19, - 48, 25, 13, 9, -32, 39, -16, 41, - 31, 24, 47, 10, 10, -4, 44, 46, - -12, 17, -1, 10, -2, -3, 21, -4, - 10, 4, 14, -23, 3, -13, -10, -14, - ], - [ - 25, 14, 52, 5, 35, -14, 5, -14, - 6, 71, 77, 35, 22, -18, 43, -74, - 27, 35, 48, 21, 46, -192, -213, -233, - 16, 17, 32, 18, 14, -65, 44, -2, - 20, 37, 47, 32, 20, -19, -5, 5, - 22, 26, 23, 35, 12, 5, -23, 14, - 9, 6, 5, -4, 8, -1, 5, -25, - -36, -22, -11, -15, -13, -11, -42, 14, - ], - [ - 50, 31, 49, 17, 17, 37, -7, 20, - 34, 57, 50, 61, 53, 8, -41, -23, - 25, 22, 61, 38, 21, 4, -146, -205, - 13, -11, 30, 34, 36, 15, -31, 26, - -14, 1, 23, 35, 39, 28, -38, -32, - -27, 6, 25, 25, 16, -4, -9, -49, - 1, -27, 11, -5, -19, -8, -45, -42, - -37, -28, -13, -28, -13, -49, -43, -30, - ], - [ - 4, -0, 22, -8, 56, 7, -57, -9, - -11, -32, -34, 16, 41, 17, -6, 57, - 18, -35, -37, -1, 15, 36, 46, 11, - 23, -3, -27, 14, -12, 36, 13, -24, - 4, -23, -41, 6, 32, 40, -1, 30, - -1, -55, -35, -11, 16, -17, 50, -10, - 29, -104, 16, -23, -3, -13, -23, -7, - 13, -51, 36, -11, 22, -13, -5, 19, - ], - [ - 0, 78, 2, 21, -26, 6, -9, -40, - -13, 72, 5, -4, 37, 48, 9, -34, - -26, 86, 25, -3, 34, 6, -18, 1, - -47, 5, -10, -3, -11, -15, -19, 35, - -21, 76, -8, 9, -10, -17, 32, 23, - 34, 12, 31, -43, 1, 28, 1, -41, - -13, 35, -45, -36, -13, 14, -3, -22, - 1, 12, -65, -71, -18, -72, -41, 42, - ], - [ - -0, -4, 110, 4, 14, 49, 25, 8, - -34, -2, 80, 3, 17, 10, 21, 25, - 6, -19, 62, -11, -9, 6, -29, 4, - -21, -32, 62, -17, -32, -19, -3, 8, - -41, -69, 25, -36, 1, 7, 34, 66, - -119, -7, 30, -23, -35, -10, 66, -1, - -30, -17, 50, -51, 7, -25, 6, 29, - -9, -53, 7, -78, -31, -42, 10, 60, - ], - [ - -33, 34, -18, 76, 30, -14, -19, 17, - -15, -45, -34, 102, -6, 37, 24, -12, - 70, 9, 6, 129, 8, -69, 71, -26, - -17, 31, -28, 46, -31, 12, -15, -25, - -30, -17, 1, 35, -21, -9, -9, 29, - -16, -53, -7, 64, -14, -53, -28, 42, - -88, -50, 12, 62, -25, -14, -52, 49, - -3, -28, -32, 33, -60, 8, -15, -12, - ], - [ - -21, 23, 16, -28, 67, 8, -17, -2, - -2, 25, 6, 44, 46, 7, 9, 7, - 3, 36, -12, 11, 75, -18, 3, 42, - -77, -54, -14, 18, 64, 47, -28, -35, - -22, 11, 35, 41, 69, -20, 54, -6, - -24, -27, -51, -3, 25, 20, -33, 27, - -24, -40, 41, -18, 55, -98, -38, -14, - -39, -66, -58, -64, 48, -4, -37, 13, - ], - [ - -16, -2, 7, 13, 54, 53, 39, -46, - -40, -16, 35, 25, 40, 91, -9, 23, - -0, 8, 5, 9, 2, 40, -51, 27, - 30, 13, -22, -17, 8, 10, -13, -59, - -9, -15, 1, 11, -50, 54, -12, -22, - -1, 15, -3, -66, -45, 31, -3, -18, - 5, 50, -37, 7, 17, -5, -12, 27, - -22, -43, -5, 35, -71, 43, -32, -64, - ], - [ - -10, 4, 2, 33, -2, -3, 55, 14, - 8, 51, -4, 53, 10, -11, 33, -29, - 17, -38, 6, 10, 46, -41, 96, -43, - 20, -10, 14, -29, 14, -34, -7, 11, - -25, -19, 5, -2, 3, -8, 21, 16, - 24, 3, 7, -26, -43, -55, 14, 20, - 16, 44, -18, -50, -56, -34, 11, -56, - -3, 35, 1, 13, 15, -38, -4, -50, - ], - [ - -1, -42, -9, 19, 10, -6, -2, -17, - -30, 5, 38, -25, 10, 7, -17, 12, - 18, 23, 19, -2, 20, 46, -33, -25, - 3, 22, -19, 13, -11, 12, -7, 16, - -3, 22, 40, 1, 22, 13, -18, -8, - -9, 6, -26, 2, 11, 15, -4, -7, - -24, 48, -19, 20, 4, 63, -29, -29, - -3, 20, -31, -22, 6, -48, -67, 7, + -147, -144, -1, 84, 76, 89, 122, 53, + -148, -145, 10, 40, 78, 57, 41, 30, + -75, 32, 43, 72, 54, 39, 32, 27, + 9, 19, 73, 29, 40, 62, 2, -11, + 28, 6, 27, 52, 51, 41, 3, -28, + -63, 3, 11, -19, 31, 28, -6, -5, + -1, -38, -39, -17, -8, -20, -74, -12, + -61, -17, -92, -47, -76, -85, -49, -62, + ], + [ + -221, -222, -220, 64, 23, 33, 63, 75, + -210, -241, -227, 85, 100, 58, 74, 68, + 18, 34, 55, 69, 71, 52, 47, -9, + 62, 16, 48, 83, 50, 48, 43, -1, + 38, 12, 8, 15, 37, 25, 35, 32, + 55, 9, -2, 27, 5, 17, -5, 9, + -7, -11, -33, -16, 4, -17, -31, -13, + 22, -22, -39, -4, -21, -36, -33, -49, + ], + [ + -144, -229, -233, -246, 9, 51, 74, 141, + 46, -246, -232, -259, 73, 49, 52, 6, + 91, 40, 81, 45, 48, 44, 16, 49, + 71, 37, 70, 87, 58, 124, 40, 2, + 13, 19, 59, 61, 54, 34, 67, -22, + 46, -20, 2, 12, 48, 17, -23, 17, + -20, -44, 0, 20, 5, 2, -17, -20, + 9, 1, -23, -17, -29, -3, -31, -31, + ], + [ + 47, -8, -166, -152, -144, 68, 70, 87, + 25, 18, -151, -152, -159, 66, -7, 62, + 3, 63, -3, -4, 44, 93, 15, 17, + 25, 41, -9, 30, 34, 3, 84, 16, + 23, 88, 35, 48, 54, -4, -4, 26, + 12, 4, 21, 37, 3, 7, 41, -14, + -28, 18, -26, 1, -3, -34, 10, 39, + -33, -40, -40, -17, -59, -81, -12, -24, + ], + [ + 161, 101, -7, -229, -229, -229, 126, 90, + 53, 46, 60, -220, -229, -231, 76, 70, + 5, 24, 71, 73, 27, 66, 18, 43, + 1, 69, 46, 34, 75, 26, 58, 52, + 45, 19, 16, 18, 46, 36, 26, 36, + 6, 11, 20, -8, 31, -10, 13, -18, + -10, 10, -37, -19, -22, -13, -12, 25, + 3, -43, -51, -45, -60, -14, -71, -28, + ], + [ + 84, 38, 66, 55, -212, -199, -198, 45, + 4, 13, 35, 84, -200, -197, -199, 44, + 31, 6, -16, 45, 13, 25, 46, 27, + 22, 16, 97, 64, 52, 60, 48, 47, + -12, 67, 21, 34, 39, 52, 23, 15, + 28, 7, 34, 39, 23, 14, -3, 17, + -60, -33, 25, -2, 2, -29, -19, 64, + 11, -21, -11, -14, -59, -42, -65, 10, + ], + [ + 188, 136, 103, 68, 29, -378, -397, -383, + 54, 84, 93, 107, 126, -343, -375, -361, + 36, 57, 82, 69, 84, 62, 73, 47, + 48, 36, 64, 74, 71, 36, 51, 64, + 18, 35, 45, 61, 49, 35, 26, 22, + -0, 28, 31, 40, 46, 21, 13, -2, + 16, -1, 7, 16, 15, -1, -17, -33, + -30, -21, -8, 3, -19, -23, -44, -30, + ], + [ + 100, 41, 92, 20, 20, -51, -234, -234, + 39, 37, 74, 80, 60, 115, -206, -267, + 18, -28, 50, 61, 59, 128, 46, -3, + 30, 33, 13, 46, 58, 23, 73, 4, + -8, 34, 22, 51, 40, 14, -15, -13, + -30, 10, 8, 35, 17, 16, -26, -43, + 13, -12, -15, -5, -0, -4, -59, -71, + -17, -39, -35, -35, -30, -37, 9, -71, + ], + [ + -5, 21, 1, 13, 24, 70, 15, 52, + -4, -20, -20, 45, 16, 53, 57, 52, + -183, -187, -163, 39, 32, 66, 26, 55, + -11, 26, -11, 5, 20, 28, 33, 38, + 21, -44, -31, 7, 25, 56, 62, 30, + 9, 13, 2, -13, 32, 36, -5, 41, + -4, -19, -36, -27, 10, 9, 10, -7, + -44, -128, -66, -17, -52, -15, -79, 43, + ], + [ + -47, -26, 12, -0, 66, 10, 5, 7, + -19, -9, -20, 46, 17, 48, 56, 71, + -21, -180, -175, -182, 33, 13, 23, 33, + -35, -10, 12, -46, -36, 34, 24, 23, + 34, -34, 41, -55, 17, 45, 69, 19, + 32, 23, -21, 22, 13, 45, -24, 55, + 8, -0, 25, 8, 14, 23, 8, 13, + 19, -48, -30, 7, -66, 17, -22, 14, + ], + [ + -2, 20, -56, 44, -52, 23, 12, 13, + 20, 41, 36, -106, 20, 72, 59, 43, + -9, -29, -167, -182, -171, 4, 17, 27, + 4, -22, -1, 10, 8, -11, -4, 53, + -1, 14, -8, 53, -36, 36, 13, 45, + -29, 31, 9, 23, 1, 24, 44, 43, + -9, 34, -0, 41, 11, 21, 21, -9, + 32, -17, -59, 7, -40, -18, -15, 25, + ], + [ + 12, -14, -44, 17, 68, 7, -0, 1, + 41, 46, 6, 30, 20, -6, 11, 67, + -12, -19, 21, -203, -176, -165, 2, -10, + 16, 30, -59, -32, -23, 30, 10, -2, + 38, 3, 8, -24, 28, -20, 48, 47, + -25, 39, 23, 3, 15, 2, -25, 43, + 14, 12, -7, 5, -11, 22, 46, 31, + -1, 27, -8, -2, -9, 17, -19, 13, + ], + [ + 41, 28, 21, 50, -101, 82, -21, -32, + 17, 42, 55, 17, -37, 14, -11, 9, + 10, 61, 27, 8, -205, -202, -209, 39, + 23, -4, 15, -12, -9, -21, -10, -27, + 50, 25, 16, 10, -29, 37, -17, 43, + 31, 24, 46, 9, 11, -2, 46, 52, + -13, 17, -3, 10, -1, -2, 21, -2, + 5, 2, 17, -20, 1, -19, -11, -15, + ], + [ + 26, 12, 52, 6, 35, -12, 3, -19, + 8, 68, 73, 35, 23, -14, 45, -73, + 31, 37, 55, 22, 44, -193, -214, -233, + 16, 20, 36, 20, 17, -63, 43, -5, + 19, 38, 45, 35, 20, -21, -6, 4, + 21, 24, 24, 34, 14, 4, -21, 15, + 13, 7, 5, -3, 8, -3, -0, -26, + -36, -25, -13, -11, -16, -11, -51, 15, + ], + [ + 54, 33, 52, 16, 16, 35, -9, 22, + 35, 57, 46, 65, 58, 12, -37, -28, + 25, 22, 62, 43, 19, 5, -147, -206, + 13, -8, 34, 36, 39, 13, -36, 28, + -14, 1, 23, 34, 40, 30, -38, -30, + -30, 7, 24, 24, 17, -5, -11, -52, + -4, -28, 11, -5, -19, -8, -47, -42, + -36, -28, -15, -30, -13, -47, -42, -34, + ], + [ + 5, 11, 23, -4, 48, 7, -57, -11, + 1, -35, -36, 13, 39, 20, -3, 50, + 27, -42, -33, -3, 8, 38, 47, 5, + 24, -6, -28, 16, -9, 39, 12, -21, + 5, -22, -38, 4, 27, 40, -1, 34, + -3, -57, -42, -15, 15, -15, 53, -8, + 26, -101, 11, -22, -6, -11, -22, -7, + 13, -52, 38, -7, 23, -17, -1, 16, + ], + [ + 6, 75, -1, 19, -23, 5, -6, -38, + -17, 83, 3, 3, 34, 45, 7, -32, + -23, 69, 19, -2, 35, 10, -9, -8, + -43, 8, -11, -2, -16, -17, -14, 41, + -14, 82, -8, 4, -4, -19, 22, 23, + 39, 6, 30, -40, -4, 27, -0, -25, + -9, 37, -50, -44, -25, 8, -2, -15, + -5, 3, -63, -72, -17, -72, -39, 49, + ], + [ + -4, -10, 111, 5, 16, 41, 18, 6, + -32, -4, 73, 2, 22, 6, 17, 31, + 4, -23, 64, -9, -10, -1, -27, -3, + -20, -32, 72, -19, -33, -14, -3, 13, + -41, -66, 16, -33, 2, 4, 36, 67, + -112, -5, 37, -19, -35, -8, 60, 6, + -32, -17, 48, -51, 1, -28, 9, 31, + -13, -57, 9, -73, -36, -36, 17, 59, + ], + [ + -32, 31, -13, 73, 30, -17, -20, 14, + -15, -43, -35, 99, -6, 32, 23, -13, + 66, 6, 4, 120, 11, -68, 78, -18, + -19, 30, -25, 57, -30, 10, -15, -27, + -35, -22, -0, 41, -19, -14, -8, 27, + -21, -53, -7, 70, -12, -50, -27, 38, + -84, -49, 14, 63, -24, -9, -54, 51, + -1, -29, -22, 37, -61, 3, -21, -9, + ], + [ + -21, 27, 10, -29, 65, 7, -16, -1, + -6, 23, 12, 46, 46, 1, 6, 9, + 3, 32, -11, 18, 76, -27, 4, 41, + -74, -50, -22, 16, 67, 47, -29, -35, + -24, 12, 36, 38, 69, -19, 54, -8, + -26, -28, -47, -7, 29, 22, -36, 26, + -22, -34, 41, -19, 55, -100, -38, -10, + -36, -67, -55, -64, 57, -4, -35, 7, + ], + [ + -18, -4, 4, 14, 52, 56, 36, -44, + -41, -15, 34, 24, 35, 91, -12, 11, + 6, 6, 10, 5, 1, 41, -53, 16, + 26, 7, -26, -20, 10, 16, -18, -54, + -5, -13, 2, 7, -47, 66, -12, -23, + -5, 20, 4, -64, -49, 34, -8, -22, + 8, 48, -39, 11, 13, -6, -6, 24, + -22, -26, -1, 36, -72, 44, -27, -67, + ], + [ + -11, 1, 6, 31, -8, -2, 48, 15, + 15, 47, -1, 45, 4, -19, 30, -37, + 16, -31, 4, 10, 38, -40, 106, -55, + 26, -15, 9, -28, 13, -30, -5, 4, + -21, -17, 9, -11, 3, -2, 28, 17, + 28, 14, 5, -20, -46, -59, 21, 24, + 17, 51, -14, -48, -49, -27, 12, -46, + -2, 23, -1, 7, 8, -40, -1, -49, + ], + [ + -3, -37, -15, 18, 11, -7, 4, -26, + -26, 0, 38, -23, 9, 3, -12, 21, + 14, 33, 16, 1, 20, 41, -38, -27, + 3, 17, -21, 10, -5, 12, -10, 11, + -6, 19, 37, -4, 21, 20, -18, -3, + -19, 9, -28, -3, 10, 19, -2, -6, + -30, 59, -19, 27, 13, 61, -26, -24, + 2, 17, -32, -23, 5, -43, -63, -2, ], ]; internal static readonly short[][] MiddleGameEnemyKingTable = [ [ - 0, 0, 4, -2, 26, -27, -17, 2, - 0, 0, 31, 5, -65, 38, -6, -4, - -9, 3, 28, 31, 33, 46, -17, 25, - -19, 44, -19, -33, -14, -21, -7, -9, - -0, -6, -40, -11, -8, 66, 2, -27, - -1, 9, -17, -19, -1, -42, -16, -4, - -18, 7, 26, 7, 2, -5, 12, 10, - 18, -1, -19, -10, 3, -6, 10, -7, - ], - [ - 0, 0, 0, -2, -40, 5, 13, 10, - 0, 0, 0, 6, 16, -16, 14, -0, - 45, 69, -16, -34, 36, 15, -30, 50, - -21, -50, -36, -32, -24, -15, 1, -35, - -32, -14, -10, -55, -31, -13, -14, -56, - -5, 5, -7, -5, -31, -17, -15, -10, - -14, 13, 18, 19, 22, 10, 21, 27, - 15, 0, -10, -9, -1, -6, 10, -5, - ], - [ - -8, 0, 0, 0, -14, -22, -18, -1, - 8, 0, 0, 0, -31, 9, 13, 28, - -25, 34, -3, -10, -31, -61, 33, -31, - -58, -22, -46, -25, 15, 23, -23, -7, - -29, -63, -33, 0, -32, -38, -32, -72, - 50, 17, -4, -25, -23, 4, -10, 20, - -3, 36, 26, 14, 22, 17, 34, 32, - 24, 10, 0, -1, 11, 5, 20, 4, - ], - [ - -42, -4, 0, 0, 0, -12, 10, 5, - -24, -18, 0, 0, 0, 23, 24, -15, - 12, -17, 32, 15, 5, -36, -9, 6, - 5, 22, -16, 3, -6, -38, 11, 8, - -44, -43, -18, -16, -31, -5, -31, -5, - 48, -1, -3, -23, -9, -12, 16, 1, - -13, 40, 25, 26, 26, 17, 26, 14, - 24, 9, 1, 0, 14, 7, 24, 5, - ], - [ - -26, -16, -21, 0, 0, 0, 5, -10, - 11, -3, 8, 0, 0, 0, -14, 20, - -34, -28, 8, 43, 26, 66, -14, 56, - -21, 30, 38, -9, 24, -37, 54, -58, - 11, 4, -66, -44, -14, -73, -63, -12, - 13, -25, -24, -20, -31, -20, 17, -16, - -21, 23, 39, 16, 14, 27, 31, 17, - 17, 1, -11, -14, 0, -4, 12, -4, - ], - [ - 4, -2, -37, 13, 0, 0, 0, -5, - -10, 6, 22, -6, 0, 0, 0, 2, - 43, -37, -27, -13, 20, -8, 66, 53, - -35, 15, 3, 14, -6, 37, 19, -26, - -21, -43, 11, 17, 19, 7, 27, -11, - 11, -21, -30, -26, -27, -15, -5, -13, - -5, 35, 15, -4, 9, 9, 15, 16, - 11, 6, -5, -7, 4, 0, 16, 1, - ], - [ - -33, 11, 30, 20, -15, 0, 0, 0, - 32, 6, 7, -53, 11, 0, 0, 0, - -41, -8, -106, -5, -52, 24, 38, -17, - -58, -30, 7, 0, -17, -32, -3, 4, - -44, -60, -73, -78, -64, -94, -84, -82, - 33, -10, -26, -28, -37, -35, -11, -16, - -25, 15, 13, 3, -0, 14, 14, 7, - 10, -10, -20, -24, -12, -16, 0, -14, - ], - [ - 47, 21, 7, 5, 19, 22, 0, 0, - -27, 15, 52, 27, 6, -36, 0, 0, - -101, -8, 12, -56, 54, 65, 97, 11, - 64, -23, -51, -14, -50, -2, -31, 24, - -25, -41, -52, -95, -64, -42, -19, -74, - -6, 20, -19, 12, -7, 0, 2, 14, - -9, 24, 38, 37, 31, 22, 26, 30, - 18, 5, -4, -5, 4, -1, 14, 0, - ], - [ - -5, -11, -28, 20, 33, -67, -13, -16, - -7, 10, 8, -46, -30, 33, -14, 35, - 0, 0, 0, 25, -80, -8, -6, 29, - 11, 26, 5, -20, -14, -27, -21, 7, - -22, -11, 35, -8, 10, -2, 7, -27, - -39, 5, -11, 11, 3, -17, 7, -3, - -16, 6, 3, -16, -8, -2, -7, 9, - 7, -6, -1, -2, -4, 21, 23, -3, - ], - [ - 5, -10, -11, -2, -42, -31, -24, 9, - -116, 1, 27, 6, 27, 1, -29, -34, - -12, 0, 0, 0, -63, 8, -12, -34, - 26, 19, 56, -9, -12, -57, 14, -15, - -17, -8, -3, 6, 23, 38, 43, 52, - 0, -17, 14, 11, -0, -20, 0, -24, - 0, -2, -11, -15, -19, -9, -0, -6, - 27, -3, -1, -7, 23, 3, 32, 24, - ], - [ - -32, 26, -4, -8, -3, -46, -33, 10, - -64, 35, -17, 12, -9, -39, 0, -83, - 3, -13, 0, 0, 0, 45, -64, 43, - -29, -65, -7, 22, -10, -46, 11, 16, - 40, -6, 13, -5, -15, 8, 8, 20, - 23, 11, -14, 10, -21, -9, 7, -0, - 5, 8, -1, -5, 6, -5, 3, 2, - 17, 30, 5, 5, 18, 12, 36, 34, - ], - [ - 44, -4, 34, 4, -8, 3, -10, -48, - 34, -27, -79, 13, -7, 4, -0, 11, - -23, -2, -14, 0, 0, 0, -65, -91, - 2, -45, -0, 18, -6, 5, 9, 4, - -11, -0, 8, 21, -8, -18, 17, -8, - -27, -6, 5, 5, 3, 6, 1, 12, - 6, 2, -13, 1, 4, 3, 11, 1, - 1, 29, 17, 7, 6, -1, 35, 27, - ], - [ - -42, 48, -10, -20, 31, 3, -17, -17, - 85, -27, -45, -18, 30, -19, 25, -113, - -12, -18, 5, -22, 0, 0, 0, -15, - 15, -8, -29, -27, 2, 35, -19, -22, - -28, 7, 20, 27, 8, -3, 12, 15, - -31, 16, -8, 9, -1, 3, 1, -5, - -7, -0, -15, -24, 0, -0, 8, 1, - -11, 15, 7, -4, 21, -1, 23, 14, - ], - [ - 16, -1, -28, 36, -23, -21, -9, -1, - -28, 62, 28, 45, 4, 8, -12, 7, - 35, 3, -15, -46, 40, 0, 0, 0, - 10, -25, -10, 9, -47, 24, 21, 5, - 3, 27, 1, 27, 2, -2, 6, -17, - -47, -9, -9, -18, -13, 4, -2, -13, - -16, -17, -26, -19, -14, -16, -1, 1, - 15, 1, -4, -14, 1, -24, 1, -16, - ], - [ - 22, 20, -28, -8, -5, 47, 4, -10, - -13, 7, 23, 37, 43, 1, -8, 10, - 53, -26, -8, -24, -27, -51, 0, 0, - 12, 30, -1, -58, -21, -20, 19, 30, - 19, -3, 13, -10, 11, -10, -11, -4, - -61, -3, -24, -3, -0, -0, -2, -2, - -2, 22, -6, -7, -13, 1, 22, 6, - 19, 25, 8, -11, 3, 0, 7, 2, - ], - [ - -1, -5, 21, -41, 15, -41, 8, -14, - -11, -39, 28, -26, -17, -67, 35, 22, - 2, -1, -4, 26, 30, -6, -23, -79, - 6, -1, -64, -101, 8, 18, -41, -28, - -6, 54, 8, -18, -23, 27, 12, 17, - 10, 3, 70, 29, -3, -8, 20, -9, - 43, 7, 33, 43, 8, -4, -15, -34, - -15, 13, 55, 42, 43, 8, 84, 47, - ], - [ - 3, -5, 25, -6, -4, 17, 9, -33, - 15, 12, -31, 28, -31, -6, 3, 3, - 1, -5, 1, -15, -4, -22, 1, -14, - 6, -2, 30, -44, 14, 22, -7, 27, - 15, -23, 14, 36, 24, 31, 78, -18, - 5, 24, -6, 11, 45, -12, -57, -23, - -17, -26, -19, -29, 9, -13, -58, 10, - -30, -20, -12, 16, 16, 18, 21, -4, - ], - [ - 1, -17, -1, 10, -51, 16, 10, 23, - -10, -44, -33, 11, -33, -24, -25, 13, - 32, 19, 3, -5, -4, -38, 37, 3, - -31, 16, 31, 6, 24, 4, -28, -22, - 23, 14, -13, 30, 35, 69, 44, 69, - 4, 7, -2, -10, 67, 81, 14, -39, - 32, -5, -56, 7, -43, -70, -31, -14, - -74, 51, 49, -15, -34, 38, 60, -19, - ], - [ - -5, -1, 37, 5, 49, 5, 1, 2, - 50, -5, -29, 25, -26, 18, 7, 48, - 40, 2, -33, -39, 17, 22, -15, -18, - 10, 41, 2, 8, -43, 23, 7, 33, - 16, 62, -7, 1, -16, 70, -0, 66, - 32, -10, 2, -5, -2, 7, -18, -28, - 89, -31, 9, -22, -18, 11, -24, 15, - -90, 61, 34, -18, -34, -8, 37, 38, - ], - [ - -20, -2, 34, -36, 6, 4, -2, 16, - -14, 22, 19, -10, 43, 16, 26, 40, - -6, -15, 0, 32, -83, -51, -18, -12, - -39, 21, 12, 16, 34, -5, -2, 15, - 3, 71, 69, 18, 5, -53, -9, 42, - 38, 26, 38, -5, 10, -8, 59, 15, - 45, -5, -17, 10, 6, -2, -22, -47, - -25, 13, 61, 0, -50, -13, 70, -28, - ], - [ - 37, -23, 20, -48, -13, 16, 6, 15, - 8, -21, 6, -46, 29, -14, 2, 3, - -4, -16, -13, 34, 5, -18, 2, -22, - 44, 49, 29, -8, 15, 16, -40, -10, - 56, 71, 50, 21, -11, 2, 12, 20, - -43, 5, 47, 37, 4, 14, 1, 49, - -41, -8, -18, 27, -5, -35, -24, -43, - 6, 10, 51, 62, -28, -29, 8, -48, - ], - [ - -3, -15, -22, -66, -16, 44, 18, -5, - 49, 10, -48, 31, 19, 35, -37, -20, - 4, 33, 8, -2, -48, 9, 19, 17, - 9, -34, 67, 37, 40, -58, 0, -19, - -11, 47, 54, 46, 68, -10, -7, 5, - -27, 21, 49, -13, 18, 3, 28, -1, - 51, -15, -53, 52, -21, 19, -21, -19, - -6, 2, -4, -35, -31, -83, -34, -66, - ], - [ - 6, 1, -46, -11, -22, -9, 22, 1, - 4, -5, 11, -58, -10, -14, 8, 22, - -4, 54, 103, -67, 63, -28, -2, -8, - 48, -33, -85, 71, -90, 64, 0, -15, - 40, -15, 8, 7, 50, 36, -16, -5, - 5, -4, -1, 62, 68, 107, 10, 5, - -4, -34, 66, -55, 6, 24, -5, -30, - -10, -25, 12, -5, -7, -23, 11, -35, + 0, 0, 5, -2, 28, -27, -14, -0, + 0, 0, 31, 8, -62, 30, -6, -5, + -8, 6, 28, 23, 33, 43, -21, 27, + -20, 49, -23, -30, -13, -13, -6, -6, + 3, -4, -36, -8, -5, 68, 4, -23, + 1, 6, -19, -18, -7, -42, -17, -7, + -18, 7, 24, 5, 3, -7, 11, 8, + 18, -2, -19, -10, 0, -7, 9, -9, + ], + [ + 0, 0, 0, -3, -35, 7, 13, 12, + 0, 0, 0, 10, 13, -12, 15, -1, + 44, 69, -8, -33, 36, 12, -35, 42, + -23, -54, -38, -33, -22, -18, 9, -30, + -34, -13, -11, -57, -29, -23, -21, -64, + -4, 4, -6, -3, -32, -16, -11, -5, + -13, 14, 18, 19, 20, 14, 22, 27, + 16, 0, -10, -10, -1, -6, 9, -6, + ], + [ + -8, 0, 0, 0, -13, -21, -19, 0, + 13, 0, 0, 0, -31, 12, 13, 26, + -25, 35, -1, -9, -31, -55, 33, -29, + -56, -30, -46, -28, 11, 13, -23, -6, + -31, -63, -30, 6, -29, -43, -34, -66, + 49, 18, -5, -29, -26, 5, -8, 18, + -3, 36, 26, 14, 21, 19, 35, 31, + 24, 10, 0, -1, 11, 4, 19, 4, + ], + [ + -41, -7, 0, 0, 0, -13, 9, 6, + -25, -16, 0, 0, 0, 21, 23, -9, + 11, -18, 33, 20, 8, -39, -6, 5, + -11, 20, -17, 1, -11, -29, 10, 9, + -38, -44, -21, -16, -20, -5, -25, -2, + 54, -0, -2, -24, -14, -12, 14, -1, + -13, 42, 26, 27, 21, 17, 25, 13, + 24, 10, 1, 0, 13, 7, 24, 5, + ], + [ + -24, -18, -21, 0, 0, 0, 6, -10, + 10, -8, 5, 0, 0, 0, -17, 30, + -30, -20, 5, 34, 29, 73, -16, 52, + -22, 34, 39, -11, 19, -50, 58, -63, + 10, 6, -63, -38, -26, -77, -64, -15, + 11, -25, -22, -19, -26, -18, 17, -14, + -21, 23, 38, 14, 15, 28, 31, 17, + 20, 1, -11, -13, 0, -4, 12, -4, + ], + [ + 4, -8, -36, 11, 0, 0, 0, -6, + -7, 9, 23, -3, 0, 0, 0, 2, + 45, -41, -29, -8, 23, -10, 65, 48, + -31, 16, -1, 9, -3, 39, 17, -23, + -22, -42, 11, 15, 21, 11, 29, -10, + 6, -22, -27, -26, -26, -16, -7, -15, + -6, 36, 14, -2, 8, 9, 15, 16, + 13, 6, -4, -7, 4, 0, 16, 1, + ], + [ + -32, 8, 27, 19, -14, 0, 0, 0, + 36, 4, 6, -53, 15, 0, 0, 0, + -48, -1, -102, -5, -60, 18, 39, -19, + -58, -35, 5, 3, -11, -35, -6, 1, + -44, -56, -76, -78, -71, -92, -87, -86, + 34, -10, -27, -29, -39, -36, -11, -16, + -25, 15, 13, 3, 1, 14, 15, 7, + 12, -9, -19, -24, -12, -16, 0, -14, + ], + [ + 45, 16, 4, 3, 18, 21, 0, 0, + -27, 22, 49, 30, 11, -38, 0, 0, + -99, -3, 8, -56, 43, 60, 109, 15, + 63, -26, -43, -13, -45, -2, -36, 18, + -22, -46, -58, -95, -67, -45, -21, -75, + -8, 22, -18, 13, -2, 3, 4, 15, + -8, 26, 40, 36, 30, 23, 27, 30, + 18, 6, -4, -5, 4, -1, 14, 0, + ], + [ + -3, -12, -27, 21, 39, -67, -16, -16, + -7, 11, 7, -40, -29, 24, -13, 37, + 0, 0, 0, 24, -74, -7, 3, 22, + 7, 28, -2, -23, -16, -16, -19, 8, + -24, -9, 34, -8, 9, 3, 9, -24, + -38, 3, -11, 9, 3, -19, 5, 0, + -16, 5, 3, -17, -8, -5, -8, 5, + 7, -7, -2, -3, -5, 20, 21, -3, + ], + [ + 7, -7, -9, -11, -45, -34, -24, 10, + -106, 2, 25, 6, 29, 1, -23, -31, + -20, 0, 0, 0, -56, 7, -9, -29, + 27, 14, 52, -9, -14, -56, 13, -19, + -17, -11, -2, 5, 24, 35, 42, 50, + -2, -14, 12, 10, -2, -21, 2, -26, + 1, 0, -10, -14, -19, -7, -1, -6, + 26, -3, -1, -6, 21, 1, 32, 26, + ], + [ + -34, 21, -3, -10, -6, -46, -36, 10, + -74, 26, -17, 13, -8, -37, -11, -79, + 1, -11, 0, 0, 0, 52, -58, 51, + -24, -68, -7, 21, -8, -51, 13, 13, + 47, -6, 12, -9, -14, 9, 6, 19, + 26, 13, -14, 12, -21, -7, 7, 3, + 4, 9, 1, -4, 6, -5, 4, 4, + 17, 31, 3, 6, 17, 12, 36, 33, + ], + [ + 34, -8, 33, 5, -11, -0, -6, -49, + 30, -30, -80, 15, -5, 6, -3, 4, + -21, -9, -15, 0, 0, 0, -67, -88, + 5, -41, -2, 16, -3, 6, 8, 1, + -11, -2, 6, 21, -11, -19, 22, -12, + -26, -5, 6, 4, 4, 6, 1, 15, + 6, 5, -11, 1, 6, 3, 11, 2, + 3, 29, 18, 6, 8, -3, 36, 26, + ], + [ + -38, 37, -9, -17, 29, 6, -20, -16, + 82, -26, -50, -9, 26, -18, 15, -109, + -6, -14, 2, -22, 0, 0, 0, -4, + 14, -10, -26, -31, 3, 38, -21, -21, + -30, 6, 21, 24, 9, -2, 15, 15, + -31, 15, -8, 9, -1, 4, 1, -8, + -7, 0, -14, -24, 1, -2, 8, 1, + -10, 18, 8, -3, 22, -2, 22, 13, + ], + [ + 13, 2, -32, 37, -21, -14, -15, -1, + -32, 59, 40, 42, -3, 11, -11, 4, + 41, 1, -20, -49, 40, 0, 0, 0, + 16, -22, -10, 3, -50, 26, 18, 3, + -6, 28, 2, 23, 1, -2, 4, -17, + -45, -8, -11, -18, -14, 3, -3, -12, + -15, -17, -25, -15, -14, -17, 0, 1, + 15, 2, -4, -15, 1, -23, 0, -16, + ], + [ + 22, 23, -27, -8, 2, 44, 8, -10, + -15, 1, 26, 38, 38, -3, -10, 11, + 61, -24, -10, -32, -25, -42, 0, 0, + 10, 30, -3, -53, -20, -27, 15, 26, + 18, -5, 14, -16, 9, -6, -9, -1, + -62, -1, -25, -3, -2, -1, -4, -2, + -2, 21, -4, -6, -12, 1, 23, 3, + 21, 27, 7, -11, 4, 0, 7, 3, + ], + [ + 1, -1, 23, -35, 11, -38, 5, -13, + -13, -36, 30, -26, -22, -64, 35, 26, + 3, -5, -3, 25, 27, -10, -27, -83, + 4, -2, -61, -98, 8, 16, -40, -32, + -5, 53, 12, -19, -15, 26, 16, 20, + 10, 2, 69, 29, 1, -9, 23, -10, + 39, 10, 27, 44, 5, -5, -21, -38, + -16, 15, 52, 47, 44, 5, 84, 47, + ], + [ + 5, -8, 16, -9, -7, 23, 5, -34, + 15, 7, -26, 19, -34, -16, 5, -5, + -1, -3, 7, -14, -4, -24, -3, -18, + 9, 4, 35, -40, 16, 22, -9, 32, + 13, -24, 12, 49, 31, 34, 72, -23, + 4, 25, -6, 15, 47, -8, -57, -18, + -25, -28, -14, -31, 10, -12, -53, 11, + -30, -15, -5, 21, 12, 24, 23, -9, + ], + [ + -4, -15, 4, 8, -45, 14, 16, 13, + -10, -47, -30, 8, -30, -25, -21, 7, + 26, 22, 4, -1, -4, -40, 40, 8, + -25, 7, 23, 19, 26, -0, -30, -16, + 19, 12, -12, 30, 38, 61, 41, 71, + 6, 8, -3, -10, 70, 85, 11, -43, + 38, 2, -52, 7, -44, -63, -28, -13, + -78, 45, 47, -16, -29, 42, 62, -17, + ], + [ + -5, -1, 36, 6, 50, 2, 1, 4, + 51, -0, -35, 18, -27, 22, 10, 45, + 41, 4, -32, -30, 20, 18, -22, -16, + 3, 41, -3, 5, -41, 25, 8, 34, + 14, 64, -7, 0, -19, 71, 4, 69, + 30, -12, 12, -4, -1, 3, -13, -31, + 90, -32, 9, -21, -16, 4, -24, 17, + -88, 59, 36, -21, -23, -9, 35, 36, + ], + [ + -22, 2, 26, -33, 8, 3, -8, 17, + -7, 30, 17, -18, 43, 16, 32, 45, + -6, -27, -4, 38, -85, -51, -8, -14, + -36, 24, 14, 12, 35, -2, 1, 14, + 9, 68, 63, 20, 5, -48, 0, 41, + 38, 20, 41, -6, 11, -8, 58, 12, + 43, -7, -19, 8, 3, -3, -22, -46, + -29, 9, 63, 3, -47, -19, 67, -26, + ], + [ + 33, -15, 17, -47, -19, 11, 14, 7, + 9, -23, 9, -44, 26, -9, -5, 2, + -2, -14, -10, 30, 6, -21, 1, -19, + 38, 47, 36, -6, 19, 20, -43, -3, + 61, 70, 50, 26, -15, -0, 7, 22, + -43, 10, 52, 33, 9, 13, -4, 52, + -38, -15, -21, 22, -6, -38, -26, -43, + 5, 10, 50, 59, -23, -28, 16, -40, + ], + [ + 6, -6, -23, -66, -23, 43, 17, -4, + 41, 10, -57, 18, 18, 37, -26, -17, + -3, 30, 10, 11, -44, 4, 8, 18, + 12, -31, 64, 40, 33, -51, 1, -21, + -5, 50, 57, 45, 70, 4, -8, 5, + -24, 20, 43, -9, 18, 1, 34, -3, + 56, -25, -58, 56, -19, 21, -18, -15, + -10, -2, -6, -36, -29, -80, -32, -73, + ], + [ + 9, 6, -33, -10, -21, -7, 19, 4, + 10, 2, 12, -58, -2, -13, 11, 17, + -2, 41, 93, -70, 54, -22, -7, -9, + 53, -24, -82, 71, -92, 54, 1, -13, + 30, -14, 13, 5, 49, 29, -14, -5, + 2, -4, -5, 60, 69, 101, 10, 5, + -3, -33, 62, -60, 13, 19, -3, -26, + -13, -22, 9, -10, -9, -20, 17, -34, ], ]; internal static readonly short[][] EndGameEnemyKingTable = [ [ - 0, 0, -51, 5, 22, 4, 12, -34, - 0, 0, 7, 4, -19, 8, 3, 27, - -70, 6, 14, -15, -13, -17, 5, -20, - -13, -31, 14, 9, 10, 11, 8, -2, - 12, -3, 1, 8, 7, -8, 25, 17, - 6, -8, 11, 12, 6, 20, 16, 16, - 15, 0, -7, -13, -0, -2, -4, -9, - -15, 14, 14, 9, 9, 18, 13, -0, - ], - [ - 0, 0, 0, -21, -7, 15, 26, -1, - 0, 0, 0, -1, 32, -10, -13, -3, - -17, -2, -12, 22, -18, 3, 1, -10, - -8, -7, 10, 6, -5, -1, -6, 2, - 15, -18, -11, 17, 16, 8, 13, 47, - -18, -4, 4, 7, 10, 7, 6, 5, - 10, -5, -11, -16, -14, -13, -15, -30, - -25, 0, -3, -3, -0, 2, 4, -2, - ], - [ - -76, 0, 0, 0, -19, 9, -19, -16, - -31, 0, 0, 0, 16, 14, 11, 8, - 38, -13, 19, 6, 21, 15, 6, -18, - 11, -4, -7, 3, -14, -15, -0, 6, - 23, 12, 15, 16, 20, 12, 10, 31, - 2, -16, -8, 8, 1, -2, 16, 1, - 1, -11, -13, -14, -7, -8, -20, -19, - -16, 3, 0, -3, -2, 2, 4, 6, - ], - [ - -53, 19, 0, 0, 0, 27, 2, -15, - 15, 5, 0, 0, 0, 1, 7, -42, - -2, 9, -7, 7, -10, 3, 2, 52, - 23, -31, 11, -8, 4, -9, -24, -17, - 11, 8, 4, 12, 7, -2, 20, -9, - -18, -1, -1, 13, 4, -4, 1, 1, - 4, -16, -15, -15, -11, -4, -14, -0, - -13, 3, 3, 0, 1, 1, 11, 12, - ], - [ - 9, -53, -2, 0, 0, 0, 2, 0, - -12, 29, 1, 0, 0, 0, 4, -10, - -16, 12, 3, -9, 14, -6, 5, -3, - 34, -5, -15, 0, -21, 2, -26, -9, - 7, -1, 20, 18, 13, 15, 10, -8, - -12, 2, 2, 2, 4, -2, -6, 17, - 1, -19, -25, -15, -18, -13, -12, -16, - -11, 0, 2, -1, 0, 1, 10, 11, - ], - [ - 15, 12, -12, 29, 0, 0, 0, -52, - 14, -16, -5, -6, 0, 0, 0, -16, - 11, 3, 11, 3, -5, 27, -7, 16, - -5, 6, 12, -25, 1, -20, -19, 6, - -7, 27, 5, 3, 1, -8, -4, 1, - -35, 3, 4, 4, 4, -1, -10, 5, - 0, -23, -14, -2, -11, -8, -9, -11, - -20, -2, -2, -1, -1, 0, 5, 8, - ], - [ - -54, 5, -23, -25, -13, 0, 0, 0, - 28, 7, 22, 19, -26, 0, 0, 0, - 25, 12, 35, 0, 11, -8, 7, -32, - 19, -15, -18, -5, 10, -2, -18, -18, - 20, 27, 18, 21, 18, 15, 16, 3, - -31, -4, 8, 11, 6, 1, -11, -5, - 10, -22, -19, -12, -12, -19, -17, -17, - -27, -4, -4, -11, -10, -5, 0, -1, - ], - [ - 114, -16, 44, -49, -13, -37, 0, 0, - 37, -16, -31, 22, 7, 3, 0, 0, - -32, 12, -27, 35, -23, -10, -33, -40, - -35, 5, 6, -5, 9, 18, -5, -7, - -21, 25, 14, 32, 22, 20, 11, 30, - -36, -19, 12, 2, 3, -12, -8, -13, - 8, -14, -20, -23, -19, -14, -17, -23, - -8, 2, -6, -12, -11, -8, 1, 0, - ], - [ - -86, -3, -52, -8, 11, 26, -11, -7, - -58, -62, 21, -6, -6, 3, 8, 15, - 0, 0, 0, -7, 20, 3, 4, -10, - -10, -14, -11, 11, 4, 9, 6, -1, - 23, -3, -7, 8, 9, 13, 3, 16, - 32, -4, 4, 4, 1, 10, 9, 9, - 12, 7, 3, 17, 8, -1, -2, -7, - -1, 21, 14, 9, 16, -4, 6, 8, - ], - [ - -90, -22, -7, 12, 10, 5, -5, 10, - -15, 3, -2, -26, -10, 5, 7, 2, - 3, 0, 0, 0, 13, 2, 3, 7, - -9, -24, -14, -5, 0, 12, -5, 4, - 15, -6, -3, 2, 3, -2, 1, 2, - 15, 0, -6, 4, -0, 2, 1, 5, - 4, 4, 8, 9, 7, 4, -2, 2, - -8, 15, 7, 11, 7, 6, 3, -3, - ], - [ - -19, 15, 14, 14, -18, 15, -18, -9, - 14, 1, 22, 20, 71, 5, 5, 6, - -5, -11, 0, 0, 0, -7, 12, -17, - -5, -9, -7, -8, -8, 7, -2, -8, - -19, -14, -9, -2, 4, -3, 1, -7, - -15, -10, -4, -2, -2, -5, -6, -3, - -4, -6, -3, 1, -1, -2, -8, -8, - -2, -5, -5, -6, 1, -4, -3, -6, - ], - [ - 1, -11, 11, 17, 21, -8, 8, -34, - 0, 6, 9, 14, 7, 18, 5, -20, - -5, -5, -0, 0, 0, 0, 3, 15, - -14, 2, -11, -11, -4, -8, -14, -3, - -8, -6, -4, -4, 4, 2, -9, -10, - -14, -5, -8, 0, -5, -9, -4, -11, - -9, -8, -2, -1, -2, 0, -5, -4, - -3, -6, -7, 0, 6, 5, 2, -3, - ], - [ - -1, -15, -17, 2, -29, -1, -8, -72, - -0, 6, 18, 5, 18, -10, -1, -14, - -1, -4, 1, 1, 0, 0, 0, 5, - -6, 2, 5, 2, -8, -9, -11, 1, - -1, 1, -2, -1, 1, -1, -11, -15, - -14, -14, -4, 0, -0, -5, -1, -3, - -8, -9, 1, 8, 3, 3, 2, 2, - -1, -1, -0, 8, 3, 11, 10, 7, - ], - [ - -12, -16, -19, -12, -28, -20, -10, 7, - 19, -19, -9, -7, -10, 5, -1, -59, - -4, -9, 7, 7, -8, 0, 0, 0, - 3, 9, 8, -4, 16, -14, -23, -36, - -7, 1, 5, -4, 9, -2, -13, -17, - -10, -1, -4, 11, 5, -1, -1, 3, - -3, -7, 0, 6, 3, 6, 6, 4, - -28, -1, -1, -1, 9, 15, 16, 15, - ], - [ - -3, -43, -4, -21, 23, -9, -9, -7, - 4, 14, -0, -7, -5, 6, 4, 8, - -11, 6, -3, 15, 2, 21, 0, 0, - -3, -5, 8, 16, 1, 3, -16, -39, - -11, 7, 1, 6, 9, 4, -3, -8, - -1, -0, -1, 9, 5, 2, 4, -1, - 2, -19, -7, 4, 10, 4, 2, 7, - -22, -13, -7, 6, 8, 6, 16, 13, - ], - [ - 24, -14, -12, 0, 5, -18, -19, 39, - -8, -5, -15, 6, 1, -6, -9, 16, - 7, 11, 17, -8, 7, 10, 4, 1, - -8, 16, 25, 20, 7, 3, 26, 7, - -11, -10, 19, 16, 21, 4, 6, 14, - -4, 48, 16, 16, 7, 2, -9, -2, - 27, 50, 35, 15, 12, 17, 13, 13, - 37, 28, 30, 23, -10, 8, -3, -26, - ], - [ - -5, 35, 34, -40, -23, -21, -16, 23, - -53, -34, -1, -23, -24, 3, -5, 13, - 25, -12, -14, 3, 9, 1, -2, 20, - 15, 11, -20, 19, 2, 4, 15, -7, - -23, 3, 12, -7, 6, -2, -8, 29, - 33, 61, 7, 11, -1, 10, 17, 7, - -19, 14, 24, 4, 3, 1, 23, -8, - 45, 9, 16, -1, 16, -3, -5, 15, - ], - [ - 23, 14, 22, 16, -8, 5, 3, 40, - -12, 13, -14, -6, -14, -1, 10, 9, - -4, -28, -9, -20, -1, -1, -14, 2, - -9, 3, 1, -10, 2, 1, 14, 12, - -21, 23, 4, -27, -7, -8, -5, -3, - 3, 9, 4, -9, -14, -12, -3, 4, - -1, 11, 14, 7, 14, 11, 17, -3, - 15, 1, -10, -3, 12, -6, -12, 8, - ], - [ - 50, 20, 69, 20, 4, -19, -44, 66, - -10, 8, -23, -5, 24, -4, 2, 1, - -11, 9, -16, -4, -8, -3, 12, -12, - 1, 3, -10, -11, -21, 4, 5, -13, - -18, -15, -20, -8, -22, -9, 1, -11, - -30, 2, 33, -26, -9, -5, 2, 5, - -29, 18, 5, 8, 11, 3, 10, -1, - 27, -7, -8, 2, 9, 0, 9, -3, - ], - [ - 24, 34, -3, 15, -15, 4, -7, -2, - -4, 7, 15, 10, 15, -6, -7, 7, - 20, -0, 2, -28, 6, 7, 4, -9, - -10, -4, 6, 4, -6, 4, 2, 6, - -22, -21, -19, 8, -40, 14, 4, -18, - -27, -16, -9, -62, 13, -3, -2, -15, - -15, 8, 12, 8, 4, 8, 16, 14, - 17, -2, -5, 5, 8, 3, 12, 18, - ], - [ - 16, 17, 15, 24, 36, 38, 52, 22, - 17, 3, -5, 5, -30, -20, -17, 17, - -2, -9, -3, -7, -13, -17, -31, -9, - -1, 3, -10, -1, -0, -1, 22, -17, - -18, -25, -6, -15, -10, -15, 12, -32, - -2, -14, -18, -5, -0, 26, 3, -17, - 3, 0, -1, 0, 8, 9, 14, 22, - -8, -6, -20, -19, 4, -4, 8, 22, - ], - [ - 5, -4, 1, 18, 20, -4, 29, -53, - 15, 7, -4, -13, -9, 2, -14, -13, - -2, -12, -1, 9, -0, -9, -17, -11, - 2, 15, -10, 9, -2, -13, 2, 31, - -19, -11, -3, -2, -16, 1, -0, 8, - -3, -9, -10, 9, -0, 8, 11, -3, - -23, 14, 13, -7, 16, 11, 23, 16, - -4, -7, 2, 13, 14, 24, 11, 35, - ], - [ - 10, -38, -44, -14, -10, -18, 16, -20, - -22, -4, -18, -22, -33, -6, -20, -14, - 4, -26, -21, 3, 6, -9, 9, 9, - -19, 17, 20, -10, 33, 19, 40, 25, - -13, 14, 1, 7, 12, 20, -18, -4, - -23, -11, -11, -0, 9, 14, 69, 3, - 5, -2, -12, 21, 19, 43, 36, 39, - 23, 12, 20, 21, 20, 42, 48, 46, + 0, 0, -42, 10, 21, 6, 10, -35, + 0, 0, 4, 3, -17, 11, 3, 28, + -67, 4, 14, -15, -14, -18, 4, -20, + -14, -31, 13, 6, 9, 8, 7, -1, + 10, -4, -0, 6, 7, -9, 23, 18, + 5, -7, 11, 11, 8, 20, 16, 16, + 16, -0, -7, -12, -2, -2, -3, -9, + -16, 13, 13, 9, 10, 18, 14, 1, + ], + [ + 0, 0, 0, -23, -7, 10, 25, 4, + 0, 0, 0, -1, 32, -12, -13, -6, + -18, -3, -12, 23, -17, 5, 1, -10, + -7, -7, 11, 8, -6, 2, -9, 0, + 15, -17, -11, 17, 15, 11, 16, 48, + -17, -4, 4, 6, 9, 7, 3, 6, + 9, -5, -12, -15, -14, -14, -14, -31, + -25, 0, -3, -3, 0, 2, 4, -2, + ], + [ + -75, 0, 0, 0, -18, 9, -18, -15, + -32, 0, 0, 0, 16, 13, 10, 6, + 35, -13, 17, 6, 20, 15, 5, -17, + 13, -3, -5, 3, -12, -14, 0, 4, + 22, 11, 15, 14, 20, 14, 10, 30, + 2, -17, -7, 9, 1, -2, 15, 1, + 2, -10, -13, -14, -7, -9, -20, -19, + -16, 3, 0, -3, -2, 2, 5, 6, + ], + [ + -52, 14, 0, 0, 0, 23, 5, -14, + 14, 6, 0, 0, 0, 6, 5, -39, + -1, 11, -7, 8, -10, 2, 1, 49, + 25, -29, 11, -8, 5, -10, -23, -17, + 11, 9, 4, 12, 4, -1, 18, -9, + -19, -2, -2, 13, 5, -4, 1, 3, + 4, -17, -15, -15, -9, -5, -14, -1, + -13, 3, 3, 0, 2, 0, 10, 11, + ], + [ + 8, -58, -4, 0, 0, 0, -1, 4, + -14, 31, 4, 0, 0, 0, 7, -10, + -15, 9, 3, -8, 14, -8, 5, -2, + 34, -3, -16, -0, -20, 4, -26, -11, + 7, -0, 19, 17, 16, 15, 9, -6, + -11, 2, 1, 1, 2, -2, -7, 15, + 1, -19, -24, -14, -18, -14, -12, -17, + -11, -0, 2, -2, 0, 1, 10, 10, + ], + [ + 14, 6, -11, 29, 0, 0, 0, -53, + 15, -15, -3, -6, 0, 0, 0, -15, + 11, 3, 10, 1, -4, 26, -6, 16, + -6, 8, 12, -23, -0, -19, -19, 7, + -6, 27, 5, 4, -0, -9, -6, -1, + -35, 3, 3, 4, 3, -1, -10, 6, + 1, -23, -14, -3, -10, -8, -8, -10, + -20, -2, -2, -0, -1, 0, 5, 8, + ], + [ + -54, 2, -23, -25, -13, 0, 0, 0, + 23, 7, 21, 20, -26, 0, 0, 0, + 27, 10, 34, -0, 13, -6, 6, -30, + 19, -13, -17, -6, 9, -1, -17, -18, + 22, 26, 19, 21, 19, 15, 17, 3, + -31, -2, 7, 11, 6, 2, -11, -4, + 10, -22, -19, -12, -12, -19, -18, -17, + -28, -4, -5, -10, -10, -5, 0, -1, + ], + [ + 111, -20, 40, -49, -14, -38, 0, 0, + 37, -16, -29, 22, 7, 2, 0, 0, + -33, 11, -27, 33, -20, -5, -35, -39, + -31, 6, 6, -5, 8, 19, -4, -6, + -22, 27, 17, 32, 23, 21, 13, 29, + -35, -18, 12, 1, 1, -13, -9, -12, + 8, -15, -21, -22, -19, -14, -17, -24, + -9, 2, -6, -11, -10, -8, 1, 0, + ], + [ + -82, -2, -49, -9, 8, 24, -12, 2, + -59, -61, 18, -5, -5, 5, 6, 13, + 0, 0, 0, -7, 20, 2, 1, -10, + -11, -14, -10, 10, 4, 6, 7, -3, + 23, -3, -7, 7, 8, 12, 2, 15, + 32, -4, 4, 4, 1, 11, 9, 8, + 12, 7, 3, 17, 8, -0, -1, -6, + -2, 21, 15, 10, 16, -3, 6, 7, + ], + [ + -90, -23, -7, 12, 10, 5, -4, 15, + -14, 5, 1, -27, -10, 4, 6, 1, + 3, 0, 0, 0, 13, 3, 2, 6, + -9, -23, -14, -5, 0, 12, -6, 3, + 14, -5, -4, 2, 3, -2, 1, 2, + 15, 0, -6, 4, 0, 2, -1, 6, + 4, 4, 8, 9, 7, 3, -1, 1, + -8, 16, 6, 12, 8, 6, 3, -5, + ], + [ + -24, 16, 14, 13, -19, 15, -18, -10, + 16, 2, 25, 21, 71, 4, 8, 6, + -4, -12, 0, 0, 0, -7, 11, -18, + -6, -9, -6, -8, -8, 7, -3, -9, + -20, -13, -8, -1, 4, -3, 2, -7, + -15, -10, -4, -2, -2, -6, -6, -4, + -3, -6, -4, 1, -1, -2, -8, -8, + -1, -5, -4, -6, 2, -4, -3, -7, + ], + [ + 3, -12, 9, 19, 21, -8, 4, -39, + 1, 7, 9, 11, 5, 18, 8, -17, + -5, -5, 1, 0, 0, 0, 3, 15, + -15, 1, -10, -11, -4, -8, -13, -3, + -7, -5, -3, -5, 5, 2, -9, -9, + -14, -4, -8, 1, -5, -9, -5, -12, + -9, -9, -2, -1, -2, 0, -5, -4, + -3, -6, -7, 0, 5, 6, 1, -2, + ], + [ + -5, -17, -17, 2, -28, -2, -13, -73, + 1, 6, 17, 5, 17, -9, 5, -15, + -1, -4, 2, 1, 0, 0, 0, 5, + -5, 2, 5, 2, -8, -9, -11, 1, + -1, 2, -2, -1, 0, -2, -11, -15, + -13, -13, -3, 0, -0, -5, -2, -2, + -7, -9, 1, 9, 3, 3, 3, 2, + -1, -2, -0, 8, 4, 11, 10, 7, + ], + [ + -12, -18, -17, -13, -29, -17, -14, 5, + 19, -18, -11, -6, -9, 4, -5, -56, + -4, -8, 6, 8, -8, 0, 0, 0, + 0, 8, 7, -4, 16, -15, -21, -35, + -4, 1, 5, -3, 9, -2, -12, -17, + -11, -1, -4, 11, 5, -1, -1, 3, + -2, -7, 1, 5, 3, 7, 6, 4, + -28, -1, -0, 0, 9, 15, 16, 15, + ], + [ + -1, -43, -6, -22, 22, -9, -7, -7, + 2, 13, -1, -5, -5, 8, 4, 8, + -16, 6, -3, 16, 2, 20, 0, 0, + -2, -5, 9, 14, 1, 4, -15, -38, + -11, 8, 1, 7, 9, 4, -3, -9, + 1, -1, -1, 9, 5, 2, 5, -1, + 1, -19, -8, 4, 10, 4, 1, 8, + -23, -13, -6, 6, 8, 6, 16, 13, + ], + [ + 25, -13, -12, 1, 6, -16, -18, 45, + -8, -5, -14, 7, 1, -6, -10, 14, + 7, 14, 15, -9, 7, 9, 4, 0, + -15, 13, 23, 19, 7, 1, 25, 6, + -8, -11, 19, 17, 20, 4, 8, 13, + -1, 48, 15, 17, 6, 2, -10, -2, + 27, 48, 35, 15, 12, 16, 14, 15, + 38, 27, 30, 21, -9, 8, -2, -24, + ], + [ + -2, 35, 27, -41, -23, -20, -12, 21, + -52, -37, -6, -22, -24, 3, -10, 12, + 22, -7, -17, 2, 8, 1, 1, 19, + 20, 10, -19, 18, 3, 4, 15, -5, + -23, 1, 12, -9, 6, -2, -6, 30, + 27, 63, 6, 10, -2, 11, 17, 6, + -19, 14, 23, 6, 3, 3, 23, -7, + 46, 10, 14, -1, 20, -2, -3, 19, + ], + [ + 18, 31, 20, 16, -5, 7, 6, 36, + -4, 15, -15, -13, -11, -0, 9, 7, + -2, -30, -7, -21, -2, -2, -15, 1, + -9, -1, 2, -7, 2, 1, 13, 12, + -22, 21, 2, -25, -7, -8, -4, -3, + 1, 10, 3, -15, -14, -13, -3, 5, + -4, 10, 14, 6, 14, 11, 17, -2, + 12, 0, -10, -3, 11, -7, -11, 9, + ], + [ + 50, 26, 69, 20, 4, -18, -44, 60, + -8, 7, -19, -5, 24, -3, 3, 4, + -12, 7, -13, -5, -10, -3, 12, -10, + 0, 2, -12, -10, -21, 3, 5, -12, + -18, -15, -21, -12, -23, -9, 1, -11, + -29, 3, 36, -23, -7, -5, 1, 6, + -31, 18, 5, 8, 11, 4, 11, -1, + 28, -6, -8, 1, 8, 0, 9, -2, + ], + [ + 24, 32, -4, 16, -15, 2, -6, 0, + -4, 6, 10, 11, 13, -5, -7, 7, + 20, 2, 3, -26, 6, 8, 3, -9, + -10, -5, 6, 2, -5, 3, 2, 7, + -23, -20, -18, 10, -39, 14, 3, -17, + -27, -15, -9, -63, 14, -3, -2, -15, + -15, 8, 12, 8, 4, 8, 15, 14, + 17, -1, -5, 4, 7, 4, 13, 18, + ], + [ + 18, 19, 16, 22, 33, 39, 54, 16, + 15, -3, -6, 7, -27, -22, -17, 18, + -1, -8, -3, -7, -13, -16, -29, -8, + 0, 4, -12, -1, -1, -2, 19, -15, + -20, -24, -7, -15, -8, -15, 12, -31, + -2, -14, -18, -5, -2, 25, 0, -17, + 1, 2, 1, 1, 8, 9, 15, 21, + -7, -5, -20, -17, 3, -4, 7, 19, + ], + [ + 7, 2, 0, 19, 24, -4, 40, -47, + 14, 4, -0, -11, -12, -1, -22, -10, + -2, -13, -2, 6, -2, -10, -18, -9, + 2, 12, -10, 7, -1, -11, 0, 32, + -19, -12, -3, -2, -16, 1, -4, 7, + -4, -8, -9, 8, -0, 8, 22, -4, + -22, 17, 13, -7, 15, 11, 21, 15, + -1, -3, 4, 12, 15, 22, 11, 37, + ], + [ + 11, -38, -40, -14, -10, -15, 5, -21, + -22, -3, -16, -22, -36, -8, -21, -17, + 3, -25, -21, 4, 7, -9, 10, 9, + -19, 18, 20, -10, 32, 20, 40, 28, + -14, 12, -1, 7, 13, 20, -21, -4, + -23, -13, -12, 1, 9, 14, 72, 3, + 5, -2, -12, 23, 19, 45, 35, 38, + 23, 12, 21, 21, 19, 42, 46, 44, ], ]; } @@ -6014,9 +6014,9 @@ internal static class TunableEvalParameters public static class EvaluationParams { /// - /// + /// /// - public const int KingShieldBonus = 262112; + public const int KingShieldBonus = 262111; /// /// @@ -6024,14 +6024,14 @@ public static class EvaluationParams public const int KingShieldNonAttackedBonus = 13; /// - /// + /// /// - public const int BishopPairBonus = 4653087; + public const int BishopPairBonus = 4587551; /// - /// + /// /// - public const int BishopCorneredPenalty = -2687006; + public const int BishopCorneredPenalty = -2752542; /// /// @@ -6049,19 +6049,19 @@ public static class EvaluationParams public const int PieceAttackedByPawnPenalty = -2687030; /// - /// + /// /// - public const int PawnKingRingAttacksBonus = -327654; + public const int PawnKingRingAttacksBonus = -327653; /// - /// + /// /// - public const int KnightKingRingAttacksBonus = -655333; + public const int KnightKingRingAttacksBonus = -655332; /// - /// + /// /// - public const int BishopKingRingAttacksBonus = -327657; + public const int BishopKingRingAttacksBonus = -262121; /// /// @@ -6079,14 +6079,9 @@ public static class EvaluationParams public const int PawnPushThreatBonus = 1245206; /// - /// + /// /// - public const int TrappedRookPenalty = 1769471; - - /// - /// - /// - public const int BuriedRookPenalty = 262129; + public const int BuriedRookPenalty = -131088; public static readonly int[] PassedPawnPushBonus = [ @@ -6095,27 +6090,27 @@ public static class EvaluationParams Pack(3, 7), Pack(-1, 2), Pack(8, 20), - Pack(9, 36), - Pack(3, 78), - Pack(-7, 135) + Pack(10, 36), + Pack(3, 77), + Pack(-4, 132) ]; public static readonly int[] TotalKingRingAttacksBonus = [ - Pack(19, -1), + Pack(19, -0), Pack(-7, -6), Pack(-28, 0), Pack(-40, 4), - Pack(-42, 4), - Pack(-34, 4), + Pack(-42, 3), + Pack(-34, 3), Pack(-14, 10), - Pack(18, 11), - Pack(76, 5), - Pack(138, -16), - Pack(203, -37), - Pack(337, -165), - Pack(194, 43), - Pack(176, 24) + Pack(18, 10), + Pack(75, 4), + Pack(137, -17), + Pack(195, -29), + Pack(338, -166), + Pack(194, 51), + Pack(180, 33) ]; public static readonly int[] PieceProtectedByPawnBonus = @@ -6129,11 +6124,11 @@ public static class EvaluationParams public static readonly int[] IsolatedPawnPenalty = [ - Pack(1, -21), + Pack(1, -20), Pack(-5, -23), Pack(-7, -25), Pack(-5, -33), - Pack(-9, -34), + Pack(-9, -33), Pack(-4, -24), Pack(-5, -19), Pack(-1, -24) @@ -6143,55 +6138,55 @@ public static class EvaluationParams [ Pack(0, 0), Pack(6, 4), - Pack(19, 13), + Pack(18, 13), Pack(22, 22), - Pack(56, 55), - Pack(163, 97), - Pack(83, 241) + Pack(57, 54), + Pack(161, 97), + Pack(97, 237) ]; public static readonly int[] ConnectedRooksBonus = [ Pack(-2, -1), - Pack(19, 2), - Pack(18, 3), - Pack(20, 2), - Pack(26, -4), - Pack(26, -2), - Pack(16, 25), - Pack(26, -4) + Pack(19, 3), + Pack(18, 4), + Pack(19, 3), + Pack(25, -4), + Pack(25, -2), + Pack(15, 25), + Pack(24, -4) ]; public static readonly int[] PawnIslandsBonus = [ - Pack(54, -28), + Pack(55, -28), Pack(6, -11), Pack(-7, 10), Pack(-22, 30), - Pack(-31, 50) + Pack(-31, 51) ]; public static readonly int[] BadBishop_SameColorPawnsPenalty = [ - Pack(151, 149), - Pack(149, 149), - Pack(146, 138), - Pack(140, 131), - Pack(134, 124), - Pack(129, 118), + Pack(151, 147), + Pack(148, 148), + Pack(145, 137), + Pack(139, 130), + Pack(133, 123), + Pack(128, 117), Pack(124, 110), Pack(117, 104), - Pack(116, 94) + Pack(114, 91) ]; public static readonly int[] BadBishop_BlockedCentralPawnsPenalty = [ - Pack(161, 154), - Pack(158, 144), - Pack(154, 124), - Pack(152, 104), - Pack(148, 98), - Pack(117, 96), + Pack(161, 153), + Pack(157, 142), + Pack(154, 123), + Pack(151, 103), + Pack(148, 97), + Pack(113, 91), Pack(0, 0), Pack(0, 0), Pack(0, 0) @@ -6201,9 +6196,9 @@ public static class EvaluationParams [ Pack(0, 0), Pack(78, -5), - Pack(20, 17), + Pack(19, 17), Pack(56, -1), - Pack(33, 19) + Pack(34, 18) ]; public static readonly int[] UnsafeCheckBonus = @@ -6211,32 +6206,32 @@ public static class EvaluationParams Pack(0, 0), Pack(10, -2), Pack(12, 14), - Pack(14, 3), + Pack(15, 3), Pack(7, 9) ]; public static readonly int[] FriendlyKingDistanceToPassedPawnBonus = [ Pack(0, 0), - Pack(22, 28), + Pack(23, 28), Pack(13, 24), Pack(10, 12), Pack(13, 4), Pack(15, 1), - Pack(11, 1), + Pack(11, 0), Pack(11, -3) ]; public static readonly int[] EnemyKingDistanceToPassedPawnPenalty = [ Pack(0, 0), - Pack(-29, 1), - Pack(-8, -9), + Pack(-30, 2), + Pack(-9, -9), Pack(4, 4), - Pack(15, 16), - Pack(26, 28), + Pack(16, 16), + Pack(27, 28), Pack(31, 44), - Pack(36, 44) + Pack(37, 43) ]; public static readonly int[] BackwardsPawnPenalty = @@ -6246,133 +6241,133 @@ public static class EvaluationParams Pack(-3, -17), Pack(3, -11), Pack(-6, -6), - Pack(-21, -17), + Pack(-21, -16), Pack(0, 0), Pack(0, 0) ]; public static readonly int[] VirtualKingMobilityBonus = [ - Pack(1, -8), - Pack(-1, -1), - Pack(-2, -4), - Pack(1, -9), - Pack(3, -9), - Pack(6, -9), + Pack(2, -8), + Pack(-0, -2), + Pack(-1, -5), + Pack(2, -9), + Pack(4, -9), + Pack(7, -9), Pack(8, -8), Pack(10, -7), Pack(14, -6), - Pack(12, -2), + Pack(13, -2), Pack(10, 2), Pack(8, 4), Pack(7, 6), Pack(5, 7), Pack(2, 9), - Pack(6, 9), + Pack(6, 8), + Pack(8, 7), Pack(9, 7), - Pack(10, 7), - Pack(18, 4), + Pack(17, 4), Pack(26, 1), - Pack(20, 3), - Pack(31, -1), + Pack(20, 2), + Pack(30, -1), Pack(22, 1), - Pack(21, 0), - Pack(10, -0), - Pack(4, 0), - Pack(-19, -11), - Pack(-99, 19) + Pack(20, 1), + Pack(7, 1), + Pack(-2, 3), + Pack(-14, -10), + Pack(-113, 23) ]; public static readonly int[] KnightMobilityBonus = [ - Pack(-28, -81), + Pack(-28, -80), Pack(0, 0), - Pack(14, 34), + Pack(15, 34), Pack(26, 51), - Pack(37, 62), - Pack(45, 75), - Pack(55, 78), + Pack(37, 61), + Pack(46, 75), + Pack(55, 77), Pack(62, 79), - Pack(74, 63) + Pack(74, 62) ]; public static readonly int[] BishopMobilityBonus = [ - Pack(-16, -36), + Pack(-16, -35), Pack(0, 0), - Pack(18, 34), - Pack(26, 52), - Pack(36, 63), - Pack(41, 72), - Pack(45, 77), - Pack(50, 79), - Pack(53, 82), - Pack(60, 79), - Pack(64, 80), - Pack(82, 70), - Pack(87, 74), - Pack(100, 55), + Pack(18, 33), + Pack(26, 51), + Pack(36, 62), + Pack(41, 71), + Pack(45, 76), + Pack(50, 78), + Pack(54, 81), + Pack(60, 78), + Pack(64, 78), + Pack(83, 69), + Pack(88, 73), + Pack(101, 54), Pack(0, 0) ]; public static readonly int[] RookMobilityBonus = [ - Pack(-48, -81), + Pack(-48, -86), Pack(0, 0), Pack(17, 24), - Pack(22, 42), - Pack(29, 49), - Pack(34, 57), - Pack(39, 62), - Pack(46, 65), - Pack(52, 68), - Pack(56, 74), - Pack(60, 76), - Pack(64, 80), - Pack(69, 82), - Pack(76, 84), - Pack(110, 68) + Pack(22, 41), + Pack(28, 45), + Pack(34, 53), + Pack(39, 59), + Pack(45, 61), + Pack(51, 64), + Pack(56, 70), + Pack(60, 72), + Pack(64, 76), + Pack(69, 78), + Pack(76, 80), + Pack(110, 63) ]; public static readonly int[] QueenMobilityBonus = [ - Pack(-792, -661), + Pack(-790, -653), Pack(0, 0), - Pack(32, 58), - Pack(45, 154), - Pack(47, 250), - Pack(52, 293), + Pack(31, 58), + Pack(45, 153), + Pack(47, 249), + Pack(52, 291), Pack(56, 327), - Pack(61, 346), + Pack(61, 345), Pack(67, 357), Pack(72, 367), - Pack(76, 375), + Pack(76, 374), Pack(80, 380), Pack(83, 385), - Pack(87, 388), - Pack(88, 392), + Pack(87, 387), + Pack(88, 391), Pack(93, 391), - Pack(91, 399), - Pack(95, 398), - Pack(103, 388), - Pack(116, 378), + Pack(91, 398), + Pack(95, 397), + Pack(103, 386), + Pack(116, 377), Pack(126, 366), - Pack(143, 344), - Pack(161, 336), - Pack(187, 299), - Pack(210, 280), - Pack(292, 218), - Pack(142, 298), - Pack(18, 345) + Pack(144, 343), + Pack(161, 334), + Pack(188, 297), + Pack(215, 273), + Pack(286, 220), + Pack(146, 289), + Pack(21, 340) ]; public static readonly int[] KingMobilityBonus = [ - Pack(47, -108), - Pack(-0, -62), + Pack(52, -106), + Pack(-0, -61), Pack(12, -16), - Pack(13, 6), - Pack(4, 7), + Pack(14, 6), + Pack(4, 8), Pack(-2, 6), Pack(-17, 9), Pack(-30, 9), @@ -6382,21 +6377,21 @@ public static class EvaluationParams public static readonly int[] KnightThreatsBonus = [ Pack(-9, 18), - Pack(1, 8), + Pack(-2, 11), Pack(31, 29), - Pack(66, -7), - Pack(26, -37), + Pack(67, -7), + Pack(26, -36), Pack(75, 8) ]; public static readonly int[] KnightThreatsBonus_Defended = [ Pack(-10, -5), - Pack(5, 15), + Pack(2, 17), Pack(32, 35), - Pack(56, 9), + Pack(59, 8), Pack(29, -5), - Pack(-16, 47) + Pack(-15, 46) ]; public static readonly int[] BishopThreatsBonus = @@ -6405,7 +6400,7 @@ public static class EvaluationParams Pack(27, 30), Pack(-0, 2), Pack(51, 16), - Pack(38, 80), + Pack(39, 79), Pack(-62, -4) ]; @@ -6414,9 +6409,9 @@ public static class EvaluationParams Pack(-8, -10), Pack(21, 29), Pack(0, -2), - Pack(76, 35), - Pack(44, 98), - Pack(-2, 22) + Pack(75, 36), + Pack(42, 100), + Pack(-2, 21) ]; public static readonly int[] RookThreatsBonus = @@ -6424,28 +6419,28 @@ public static class EvaluationParams Pack(-3, 17), Pack(17, 27), Pack(23, 27), - Pack(-45, 4), - Pack(58, -11), - Pack(-65, 30) + Pack(-49, 7), + Pack(59, -11), + Pack(-66, 30) ]; public static readonly int[] RookThreatsBonus_Defended = [ Pack(-21, -3), Pack(-7, 6), - Pack(-5, -3), - Pack(-38, -1), - Pack(58, 42), - Pack(59, 3) + Pack(-5, -4), + Pack(-41, 1), + Pack(59, 42), + Pack(58, 2) ]; public static readonly int[] QueenThreatsBonus = [ Pack(-2, 6), - Pack(6, 20), - Pack(-1, 49), + Pack(5, 20), + Pack(-1, 48), Pack(1, 1), - Pack(-7, -10), + Pack(-8, -9), Pack(-16, 94) ]; @@ -6453,10 +6448,10 @@ public static class EvaluationParams [ Pack(-3, 9), Pack(1, -12), - Pack(-0, 1), - Pack(8, -24), - Pack(-1, 1), - Pack(34, 33) + Pack(-0, -0), + Pack(7, -24), + Pack(-2, 0), + Pack(33, 31) ]; public static readonly int[] KingThreatsBonus = @@ -6464,18 +6459,18 @@ public static class EvaluationParams Pack(38, 29), Pack(-27, 23), Pack(39, -4), - Pack(49, -7), - Pack(-231, -105), + Pack(45, -6), + Pack(-230, -105), Pack(0, 0) ]; public static readonly int[] KingThreatsBonus_Defended = [ - Pack(10, 19), + Pack(9, 19), Pack(-26, 6), Pack(-9, 6), - Pack(44, -4), - Pack(-184, -161), + Pack(45, -4), + Pack(-182, -160), Pack(0, 0) ]; @@ -6483,210 +6478,210 @@ public static class EvaluationParams [ [ Pack(0, 0), - Pack(-16, -10), - Pack(-2, -18), - Pack(-6, -0), - Pack(11, 13), - Pack(11, 47), - Pack(89, 106), + Pack(-16, -11), + Pack(-1, -18), + Pack(-5, -1), + Pack(10, 14), + Pack(11, 46), + Pack(87, 107), ], [ Pack(0, 0), - Pack(-18, -13), + Pack(-19, -13), Pack(-10, -14), Pack(-2, -8), - Pack(10, 13), - Pack(1, 31), - Pack(100, 104), + Pack(10, 12), + Pack(1, 32), + Pack(99, 104), ], [ Pack(0, 0), - Pack(-13, -32), + Pack(-14, -32), Pack(-15, -12), Pack(2, -12), - Pack(1, 7), - Pack(-0, 29), - Pack(65, 135), + Pack(2, 7), + Pack(1, 28), + Pack(66, 133), ], [ Pack(0, 0), - Pack(-7, -33), - Pack(-13, -14), + Pack(-9, -32), + Pack(-14, -13), Pack(-8, -5), - Pack(-14, 17), - Pack(-4, 29), - Pack(79, 113), + Pack(-13, 16), + Pack(-4, 28), + Pack(82, 109), ], [ Pack(0, 0), - Pack(-17, -24), + Pack(-18, -25), Pack(-12, -19), - Pack(-0, -16), - Pack(-5, 11), - Pack(-16, 37), - Pack(25, 137), + Pack(-1, -15), + Pack(-5, 12), + Pack(-15, 37), + Pack(26, 135), ], [ Pack(0, 0), - Pack(-9, -30), + Pack(-10, -29), Pack(-8, -17), - Pack(-0, -2), - Pack(0, 14), + Pack(-1, -1), + Pack(1, 14), Pack(7, 26), - Pack(62, 124), + Pack(62, 123), ], [ Pack(0, 0), - Pack(-14, -28), - Pack(-8, -20), - Pack(-1, -5), + Pack(-15, -28), + Pack(-8, -19), + Pack(-2, -5), Pack(12, 15), Pack(3, 53), - Pack(56, 115), + Pack(58, 113), ], [ Pack(0, 0), - Pack(-7, -28), - Pack(-4, -15), - Pack(1, -6), + Pack(-8, -28), + Pack(-3, -16), + Pack(0, -6), Pack(21, 10), - Pack(17, 41), - Pack(80, 115), + Pack(17, 42), + Pack(80, 113), ], [ Pack(0, 0), - Pack(-21, -11), + Pack(-22, -11), Pack(-18, -4), Pack(-12, 2), - Pack(9, 14), - Pack(11, 31), - Pack(106, 94), + Pack(10, 13), + Pack(13, 30), + Pack(105, 95), ], [ Pack(0, 0), - Pack(-19, -16), - Pack(-17, -7), + Pack(-18, -16), + Pack(-19, -6), Pack(-16, 2), Pack(-4, 17), - Pack(31, 18), - Pack(92, 112), + Pack(28, 20), + Pack(91, 111), ], [ Pack(0, 0), - Pack(-4, -21), - Pack(-25, -5), - Pack(-20, 3), - Pack(3, 14), - Pack(17, 22), - Pack(65, 120), + Pack(-6, -21), + Pack(-25, -4), + Pack(-22, 3), + Pack(1, 14), + Pack(17, 21), + Pack(67, 118), ], [ Pack(0, 0), - Pack(-13, -19), - Pack(-18, -7), - Pack(-11, 0), + Pack(-14, -19), + Pack(-17, -7), + Pack(-10, 0), Pack(4, 11), - Pack(19, 26), - Pack(60, 115), + Pack(21, 26), + Pack(62, 114), ], [ Pack(0, 0), - Pack(-17, -13), - Pack(-9, -9), + Pack(-19, -13), + Pack(-8, -9), Pack(-12, 1), - Pack(7, 15), - Pack(26, 25), - Pack(80, 104), + Pack(8, 15), + Pack(25, 24), + Pack(83, 103), ], [ Pack(0, 0), - Pack(-18, -17), + Pack(-19, -17), Pack(-19, -1), - Pack(-11, 3), - Pack(11, 16), - Pack(24, 33), - Pack(96, 95), + Pack(-10, 3), + Pack(11, 15), + Pack(23, 34), + Pack(95, 95), ], [ Pack(0, 0), - Pack(-4, -19), + Pack(-5, -18), Pack(-17, -1), Pack(-6, 1), Pack(22, 16), - Pack(25, 27), - Pack(92, 98), + Pack(24, 27), + Pack(91, 97), ], [ Pack(0, 0), - Pack(-33, 1), - Pack(-26, 1), - Pack(-6, -3), - Pack(-9, 10), - Pack(19, 25), - Pack(81, 101), + Pack(-34, 1), + Pack(-30, 2), + Pack(-5, -3), + Pack(-10, 10), + Pack(23, 24), + Pack(84, 98), ], [ Pack(0, 0), - Pack(-105, 21), - Pack(-49, 9), - Pack(-26, 17), - Pack(-27, 2), - Pack(78, -4), - Pack(110, 101), + Pack(-89, 18), + Pack(-40, 7), + Pack(-24, 16), + Pack(-23, 0), + Pack(84, -7), + Pack(108, 101), ], [ Pack(0, 0), - Pack(-37, 11), - Pack(-30, 12), - Pack(-44, 9), - Pack(18, 2), - Pack(78, -19), - Pack(157, 86), + Pack(-32, 10), + Pack(-26, 11), + Pack(-41, 8), + Pack(18, 1), + Pack(80, -19), + Pack(152, 84), ], [ Pack(0, 0), - Pack(-59, 11), - Pack(-43, 16), - Pack(43, 2), + Pack(-54, 10), + Pack(-44, 16), + Pack(42, 2), Pack(35, 4), - Pack(100, -10), - Pack(173, 69), + Pack(96, -9), + Pack(167, 69), ], [ Pack(0, 0), - Pack(-13, 10), - Pack(-13, 8), - Pack(22, 3), - Pack(39, 2), - Pack(64, 13), - Pack(117, 80), + Pack(-6, 9), + Pack(-15, 8), + Pack(20, 3), + Pack(44, 2), + Pack(60, 12), + Pack(117, 79), ], [ Pack(0, 0), - Pack(-18, 6), - Pack(-2, -4), - Pack(15, 2), + Pack(-6, 4), + Pack(-5, -4), + Pack(14, 1), Pack(16, -0), - Pack(88, -3), - Pack(104, 79), + Pack(88, -4), + Pack(93, 83), ], [ Pack(0, 0), - Pack(-33, 10), - Pack(-44, 12), + Pack(-32, 10), + Pack(-50, 12), Pack(-50, 14), Pack(25, -14), - Pack(127, -17), - Pack(113, 98), + Pack(130, -18), + Pack(108, 98), ], [ Pack(0, 0), - Pack(-67, 18), - Pack(-29, 12), - Pack(-44, 14), - Pack(-18, -5), - Pack(17, 13), - Pack(61, 137), + Pack(-69, 18), + Pack(-28, 12), + Pack(-40, 13), + Pack(-25, -4), + Pack(28, 11), + Pack(58, 139), ], ]; @@ -6694,210 +6689,210 @@ public static class EvaluationParams [ [ Pack(0, 0), - Pack(-29, -16), + Pack(-27, -16), Pack(-33, -3), - Pack(-19, -10), - Pack(2, -3), - Pack(-9, 10), - Pack(87, 91), + Pack(-21, -9), + Pack(1, -2), + Pack(-7, 9), + Pack(84, 93), ], [ Pack(0, 0), - Pack(-35, -25), - Pack(-29, -22), - Pack(-21, -3), - Pack(-9, 12), - Pack(22, 1), - Pack(64, 138), + Pack(-34, -24), + Pack(-29, -21), + Pack(-21, -4), + Pack(-10, 12), + Pack(20, 1), + Pack(64, 137), ], [ Pack(0, 0), Pack(-28, -36), Pack(-27, -21), Pack(-15, -4), - Pack(-0, 11), - Pack(32, -8), + Pack(-1, 11), + Pack(31, -7), Pack(50, 130), ], [ Pack(0, 0), - Pack(-21, -41), - Pack(-28, -22), + Pack(-19, -42), + Pack(-28, -21), Pack(-13, -14), Pack(0, -8), - Pack(43, -8), - Pack(96, 112), + Pack(43, -7), + Pack(96, 111), ], [ Pack(0, 0), - Pack(-22, -41), - Pack(-15, -30), + Pack(-22, -40), + Pack(-15, -29), Pack(-7, -17), - Pack(2, -6), - Pack(26, -3), - Pack(67, 138), + Pack(3, -6), + Pack(26, -2), + Pack(64, 141), ], [ Pack(0, 0), - Pack(-24, -35), - Pack(-17, -22), - Pack(-9, -14), + Pack(-23, -35), + Pack(-16, -22), + Pack(-9, -13), Pack(2, 0), - Pack(42, -15), + Pack(40, -15), Pack(72, 113), ], [ Pack(0, 0), Pack(-29, -28), - Pack(-23, -19), + Pack(-24, -18), Pack(-20, -3), - Pack(-1, 18), - Pack(24, 7), - Pack(52, 143), + Pack(-1, 19), + Pack(24, 8), + Pack(49, 144), ], [ Pack(0, 0), - Pack(-23, -28), - Pack(-28, -18), + Pack(-22, -28), + Pack(-29, -18), Pack(-27, 7), - Pack(-12, 13), - Pack(16, -34), - Pack(65, 131), + Pack(-13, 14), + Pack(15, -35), + Pack(62, 133), ], [ Pack(0, 0), - Pack(-23, -13), - Pack(-29, -1), - Pack(-11, 2), + Pack(-24, -13), + Pack(-28, -1), + Pack(-10, 2), Pack(9, 15), - Pack(27, 34), - Pack(104, 99), + Pack(27, 35), + Pack(103, 98), ], [ Pack(0, 0), Pack(-27, -14), - Pack(-21, -2), + Pack(-19, -3), Pack(-13, 4), Pack(15, 7), - Pack(29, 43), - Pack(100, 94), + Pack(28, 44), + Pack(94, 95), ], [ Pack(0, 0), - Pack(-25, -11), - Pack(-8, -3), - Pack(-3, 2), + Pack(-26, -11), + Pack(-9, -2), + Pack(-2, 2), Pack(24, 7), - Pack(28, 48), - Pack(125, 89), + Pack(27, 47), + Pack(123, 89), ], [ Pack(0, 0), - Pack(-18, -17), + Pack(-17, -18), Pack(-9, -5), - Pack(4, -2), - Pack(21, 7), - Pack(40, 43), - Pack(98, 86), + Pack(5, -2), + Pack(20, 7), + Pack(41, 43), + Pack(94, 86), ], [ Pack(0, 0), Pack(-24, -11), Pack(-20, 2), - Pack(-2, 4), - Pack(23, 8), - Pack(26, 43), - Pack(92, 93), + Pack(-1, 3), + Pack(22, 9), + Pack(28, 42), + Pack(87, 95), ], [ Pack(0, 0), - Pack(-17, -13), - Pack(-19, 2), + Pack(-18, -13), + Pack(-18, 2), Pack(-17, 9), - Pack(11, 14), - Pack(32, 40), - Pack(99, 102), + Pack(12, 13), + Pack(31, 40), + Pack(100, 100), ], [ Pack(0, 0), Pack(-16, -18), - Pack(-20, 2), - Pack(-23, 9), + Pack(-20, 1), + Pack(-24, 9), Pack(-8, 13), - Pack(36, 25), - Pack(83, 106), + Pack(34, 22), + Pack(82, 107), ], [ Pack(0, 0), - Pack(-16, -15), + Pack(-14, -15), Pack(-33, 1), - Pack(-11, -9), - Pack(15, 7), - Pack(-1, 28), - Pack(101, 101), + Pack(-10, -9), + Pack(14, 9), + Pack(-0, 30), + Pack(96, 100), ], [ Pack(0, 0), - Pack(-12, 2), - Pack(-12, 15), - Pack(11, 4), - Pack(-15, 49), - Pack(17, 61), - Pack(107, 101), + Pack(-8, 2), + Pack(-17, 14), + Pack(7, 4), + Pack(-18, 46), + Pack(20, 57), + Pack(116, 94), ], [ Pack(0, 0), - Pack(2, 10), - Pack(10, -0), - Pack(37, 16), - Pack(18, 34), - Pack(-28, 50), - Pack(104, 99), + Pack(-3, 11), + Pack(15, -0), + Pack(30, 16), + Pack(22, 33), + Pack(-21, 48), + Pack(105, 96), ], [ Pack(0, 0), - Pack(41, -3), - Pack(9, 15), - Pack(25, 16), - Pack(36, 29), - Pack(11, 64), - Pack(97, 91), + Pack(42, -4), + Pack(10, 14), + Pack(24, 17), + Pack(35, 28), + Pack(14, 65), + Pack(98, 89), ], [ Pack(0, 0), - Pack(52, -0), - Pack(46, -4), - Pack(63, 7), - Pack(40, 23), - Pack(17, 51), - Pack(100, 75), + Pack(47, 0), + Pack(43, -4), + Pack(62, 8), + Pack(42, 22), + Pack(16, 51), + Pack(109, 72), ], [ Pack(0, 0), - Pack(72, -10), - Pack(47, -9), - Pack(2, 19), - Pack(-8, 45), - Pack(58, 41), - Pack(112, 83), + Pack(62, -8), + Pack(54, -10), + Pack(5, 18), + Pack(-6, 41), + Pack(58, 42), + Pack(113, 79), ], [ Pack(0, 0), - Pack(7, 10), - Pack(24, -2), - Pack(27, 8), - Pack(23, 26), - Pack(-14, 38), - Pack(72, 97), + Pack(9, 9), + Pack(23, -3), + Pack(21, 9), + Pack(19, 25), + Pack(-7, 36), + Pack(77, 92), ], [ Pack(0, 0), - Pack(-30, 1), + Pack(-23, -0), Pack(-41, -8), - Pack(6, -1), - Pack(24, 24), - Pack(-30, 66), - Pack(44, 123), + Pack(8, -1), + Pack(32, 24), + Pack(-25, 63), + Pack(48, 119), ], ]; @@ -6905,210 +6900,210 @@ public static class EvaluationParams [ [ Pack(0, 0), - Pack(-7, -2), + Pack(-8, -0), Pack(-15, 8), - Pack(-21, 8), - Pack(-9, 2), - Pack(-13, 2), - Pack(33, 17), + Pack(-20, 8), + Pack(-10, 3), + Pack(-13, 3), + Pack(31, 16), ], [ Pack(0, 0), - Pack(-4, -9), - Pack(-19, 8), - Pack(-16, 9), - Pack(-7, 8), - Pack(20, 5), + Pack(-3, -10), + Pack(-20, 9), + Pack(-15, 9), + Pack(-6, 8), + Pack(21, 5), Pack(-3, 42), ], [ Pack(0, 0), - Pack(-3, -3), + Pack(-2, -3), Pack(-3, -9), - Pack(-18, 3), - Pack(-19, 7), - Pack(-8, 27), - Pack(15, -5), + Pack(-19, 5), + Pack(-19, 8), + Pack(-9, 27), + Pack(17, -6), ], [ Pack(0, 0), - Pack(3, -2), - Pack(-10, 1), - Pack(-17, -2), - Pack(-8, 3), - Pack(5, 15), - Pack(5, 8), + Pack(6, -3), + Pack(-9, -0), + Pack(-15, -2), + Pack(-7, 4), + Pack(6, 17), + Pack(-1, 14), ], [ Pack(0, 0), - Pack(4, -11), - Pack(-6, -2), - Pack(-18, 4), - Pack(-29, 12), - Pack(1, 4), - Pack(26, -8), + Pack(7, -11), + Pack(-8, -1), + Pack(-17, 5), + Pack(-27, 11), + Pack(-1, 5), + Pack(22, -4), ], [ Pack(0, 0), - Pack(-8, 4), - Pack(-21, -3), - Pack(-34, 1), - Pack(-23, 1), - Pack(3, 3), - Pack(37, -19), + Pack(-6, 3), + Pack(-22, -3), + Pack(-31, -0), + Pack(-25, 2), + Pack(5, 2), + Pack(41, -18), ], [ Pack(0, 0), - Pack(-5, 6), - Pack(-14, -2), - Pack(-17, 2), + Pack(-4, 6), + Pack(-13, -2), + Pack(-16, 1), Pack(-18, 7), - Pack(14, -1), - Pack(34, 17), + Pack(15, -0), + Pack(32, 20), ], [ Pack(0, 0), - Pack(-17, 18), - Pack(-17, 0), - Pack(-17, 1), - Pack(-22, 6), - Pack(-8, 16), - Pack(5, 13), + Pack(-15, 17), + Pack(-19, 2), + Pack(-15, 1), + Pack(-21, 6), + Pack(-8, 15), + Pack(3, 16), ], [ Pack(0, 0), - Pack(-14, -1), - Pack(-28, 10), - Pack(-16, 13), - Pack(-24, 16), - Pack(-21, 30), - Pack(25, 27), + Pack(-12, -2), + Pack(-28, 11), + Pack(-15, 13), + Pack(-24, 17), + Pack(-22, 30), + Pack(22, 26), ], [ Pack(0, 0), - Pack(-10, -2), - Pack(-18, 5), - Pack(-26, 10), - Pack(-30, 17), - Pack(-47, 38), - Pack(23, 8), + Pack(-11, -1), + Pack(-16, 5), + Pack(-25, 10), + Pack(-29, 17), + Pack(-43, 37), + Pack(17, 10), ], [ Pack(0, 0), - Pack(-22, 2), - Pack(-9, 5), - Pack(-42, 14), - Pack(-47, 18), - Pack(-43, 30), - Pack(32, -12), + Pack(-19, 1), + Pack(-10, 5), + Pack(-42, 15), + Pack(-41, 17), + Pack(-39, 28), + Pack(30, -9), ], [ Pack(0, 0), - Pack(-14, 2), - Pack(-24, 6), - Pack(-39, 12), - Pack(-46, 15), + Pack(-12, 1), + Pack(-24, 5), + Pack(-38, 12), + Pack(-46, 14), Pack(-26, 17), - Pack(70, -14), + Pack(65, -13), ], [ Pack(0, 0), - Pack(-19, 3), + Pack(-14, 1), Pack(-27, 5), - Pack(-34, 12), - Pack(-37, 10), - Pack(-33, 14), - Pack(26, -7), + Pack(-31, 11), + Pack(-36, 10), + Pack(-32, 14), + Pack(22, -5), ], [ Pack(0, 0), - Pack(-20, 6), - Pack(-11, -3), + Pack(-19, 5), + Pack(-10, -3), Pack(-22, 7), - Pack(-21, 9), - Pack(1, 9), - Pack(21, 0), + Pack(-22, 10), + Pack(0, 8), + Pack(24, 1), ], [ Pack(0, 0), - Pack(-29, 2), + Pack(-30, 3), Pack(-18, -4), Pack(-26, 7), - Pack(-31, 7), - Pack(-14, 7), - Pack(49, -8), + Pack(-32, 7), + Pack(-11, 6), + Pack(49, -7), ], [ Pack(0, 0), - Pack(-38, 7), - Pack(-11, 10), - Pack(-34, 27), - Pack(-30, 32), - Pack(-31, 40), - Pack(8, 24), + Pack(-45, 9), + Pack(-9, 9), + Pack(-35, 27), + Pack(-34, 33), + Pack(-36, 41), + Pack(5, 25), ], [ Pack(0, 0), - Pack(80, -14), - Pack(80, 1), - Pack(10, 16), - Pack(-46, 54), - Pack(-83, 64), - Pack(-8, 19), + Pack(69, -12), + Pack(72, 2), + Pack(6, 15), + Pack(-42, 52), + Pack(-79, 62), + Pack(-3, 13), ], [ Pack(0, 0), Pack(-34, -3), - Pack(37, -12), - Pack(60, 12), - Pack(-8, 35), - Pack(-44, 67), - Pack(-2, 20), + Pack(40, -12), + Pack(55, 12), + Pack(-6, 34), + Pack(-47, 66), + Pack(10, 15), ], [ Pack(0, 0), - Pack(15, 5), - Pack(42, 1), + Pack(16, 6), + Pack(46, 1), Pack(27, 14), - Pack(27, 24), - Pack(-48, 50), - Pack(26, 14), + Pack(24, 23), + Pack(-41, 48), + Pack(33, 12), ], [ Pack(0, 0), - Pack(-71, 14), - Pack(42, 7), + Pack(-70, 12), + Pack(46, 6), Pack(20, 9), - Pack(-17, 29), - Pack(-28, 32), - Pack(17, 3), + Pack(-25, 30), + Pack(-21, 31), + Pack(13, 4), ], [ Pack(0, 0), - Pack(3, 3), - Pack(59, 11), - Pack(-16, 17), - Pack(-46, 36), - Pack(-68, 50), - Pack(25, 10), + Pack(-2, 5), + Pack(58, 11), + Pack(-14, 16), + Pack(-46, 34), + Pack(-63, 47), + Pack(37, -0), ], [ Pack(0, 0), - Pack(-34, -1), - Pack(58, -13), - Pack(45, 0), - Pack(-51, 43), - Pack(-144, 63), - Pack(-71, 10), + Pack(-33, -2), + Pack(61, -14), + Pack(43, -0), + Pack(-48, 42), + Pack(-145, 62), + Pack(-62, 3), ], [ Pack(0, 0), - Pack(41, -18), - Pack(-9, -4), - Pack(-12, 6), - Pack(-30, 46), - Pack(-85, 40), - Pack(-11, -13), + Pack(33, -17), + Pack(-14, -4), + Pack(-18, 7), + Pack(-28, 46), + Pack(-94, 40), + Pack(-18, -18), ], ]; @@ -7116,217 +7111,217 @@ public static class EvaluationParams [ [ Pack(0, 0), - Pack(14, -9), - Pack(27, -14), - Pack(-10, 19), + Pack(9, -7), + Pack(25, -13), + Pack(-7, 17), Pack(-30, 36), - Pack(-12, 51), - Pack(71, -17), + Pack(-15, 52), + Pack(73, -19), ], [ Pack(0, 0), - Pack(2, 3), - Pack(4, 9), - Pack(7, 13), - Pack(-7, 21), - Pack(2, 59), - Pack(50, 27), + Pack(1, 3), + Pack(6, 8), + Pack(6, 14), + Pack(-8, 21), + Pack(1, 60), + Pack(47, 28), ], [ Pack(0, 0), - Pack(14, -2), - Pack(25, -10), - Pack(19, -1), - Pack(24, 5), - Pack(29, 46), - Pack(83, -3), + Pack(14, -1), + Pack(24, -9), + Pack(18, -1), + Pack(23, 4), + Pack(29, 47), + Pack(84, -1), ], [ Pack(0, 0), - Pack(8, 10), - Pack(24, -1), - Pack(50, -7), - Pack(17, 16), - Pack(33, 38), - Pack(67, 11), + Pack(6, 11), + Pack(25, -1), + Pack(48, -7), + Pack(18, 15), + Pack(31, 37), + Pack(65, 13), ], [ Pack(0, 0), - Pack(8, 7), - Pack(20, 9), - Pack(33, 3), - Pack(61, 1), - Pack(24, 63), - Pack(57, 18), + Pack(7, 6), + Pack(18, 8), + Pack(30, 3), + Pack(59, 1), + Pack(29, 60), + Pack(56, 16), ], [ Pack(0, 0), Pack(17, -13), - Pack(29, -7), - Pack(5, 9), - Pack(18, 7), - Pack(32, 27), - Pack(124, -9), + Pack(28, -6), + Pack(7, 8), + Pack(15, 7), + Pack(30, 26), + Pack(111, -6), ], [ Pack(0, 0), - Pack(-10, 5), - Pack(-2, -1), - Pack(0, 4), - Pack(6, 10), - Pack(0, 46), - Pack(-13, 75), + Pack(-12, 5), + Pack(-1, -2), + Pack(-0, 4), + Pack(5, 10), + Pack(1, 45), + Pack(-12, 74), ], [ Pack(0, 0), - Pack(-5, 5), - Pack(2, 3), - Pack(4, -5), - Pack(-5, 16), - Pack(-4, 46), - Pack(2, 41), + Pack(-5, 4), + Pack(3, 2), + Pack(5, -4), + Pack(-7, 16), + Pack(-3, 47), + Pack(5, 38), ], [ Pack(0, 0), - Pack(3, -4), - Pack(10, -12), - Pack(-5, 1), - Pack(-16, 12), - Pack(2, 12), - Pack(66, -16), + Pack(1, -3), + Pack(8, -11), + Pack(-8, 1), + Pack(-18, 13), + Pack(3, 11), + Pack(62, -15), ], [ Pack(0, 0), - Pack(5, 4), - Pack(1, 1), - Pack(-5, 9), - Pack(-5, 15), + Pack(5, 3), + Pack(1, 0), + Pack(-2, 9), + Pack(-6, 15), Pack(25, -4), - Pack(44, 3), + Pack(51, 1), ], [ Pack(0, 0), Pack(11, -3), - Pack(-13, 11), - Pack(6, 10), - Pack(-1, 17), - Pack(24, -1), - Pack(50, 6), + Pack(-11, 10), + Pack(4, 10), + Pack(-2, 17), + Pack(26, -1), + Pack(45, 6), ], [ Pack(0, 0), - Pack(7, 5), - Pack(0, 10), - Pack(1, 15), + Pack(4, 5), + Pack(1, 10), + Pack(-0, 15), Pack(16, 10), - Pack(37, 2), - Pack(81, 8), + Pack(32, 2), + Pack(82, 7), ], [ Pack(0, 0), - Pack(10, -3), + Pack(13, -4), Pack(1, 1), Pack(-6, 7), Pack(12, 4), - Pack(24, -3), - Pack(88, -19), + Pack(24, -2), + Pack(91, -21), ], [ Pack(0, 0), Pack(-7, -5), - Pack(-1, -10), - Pack(-7, -3), - Pack(-5, 8), - Pack(-9, 10), - Pack(25, -8), + Pack(-0, -10), + Pack(-5, -3), + Pack(-6, 9), + Pack(-7, 9), + Pack(23, -7), ], [ Pack(0, 0), - Pack(-17, 1), - Pack(-9, -7), - Pack(-4, -3), - Pack(-21, 15), - Pack(-21, 15), - Pack(-12, 10), + Pack(-20, 2), + Pack(-8, -6), + Pack(-3, -3), + Pack(-19, 15), + Pack(-24, 18), + Pack(-10, 9), ], [ Pack(0, 0), - Pack(-9, -0), - Pack(15, -7), - Pack(-34, 23), - Pack(-78, 45), - Pack(-89, 55), - Pack(-11, 3), + Pack(-8, -1), + Pack(12, -6), + Pack(-33, 24), + Pack(-77, 44), + Pack(-85, 52), + Pack(-16, 5), ], [ Pack(0, 0), - Pack(-9, -11), - Pack(-9, -12), - Pack(-54, 20), - Pack(-84, 24), - Pack(-162, 46), - Pack(-63, 4), + Pack(-14, -11), + Pack(-3, -12), + Pack(-48, 19), + Pack(-76, 25), + Pack(-153, 43), + Pack(-61, 4), ], [ Pack(0, 0), - Pack(-35, -8), - Pack(-44, 12), - Pack(-92, 18), - Pack(-111, 36), - Pack(-80, 30), - Pack(-29, -2), + Pack(-31, -8), + Pack(-44, 11), + Pack(-86, 18), + Pack(-108, 34), + Pack(-76, 27), + Pack(-28, -3), ], [ Pack(0, 0), - Pack(-49, 21), - Pack(-18, 1), - Pack(-59, 14), - Pack(-122, 38), - Pack(-155, 26), - Pack(-37, -9), + Pack(-41, 20), + Pack(-17, 1), + Pack(-57, 13), + Pack(-120, 37), + Pack(-156, 24), + Pack(-35, -10), ], [ Pack(0, 0), - Pack(-105, 33), - Pack(-41, 23), - Pack(-100, 26), - Pack(-121, 40), - Pack(-132, 38), - Pack(-9, 8), + Pack(-99, 32), + Pack(-36, 22), + Pack(-102, 25), + Pack(-121, 39), + Pack(-132, 37), + Pack(-15, 9), ], [ Pack(0, 0), - Pack(-60, 19), - Pack(-88, 27), - Pack(-55, 15), - Pack(-73, 19), - Pack(-166, 43), - Pack(-76, 4), + Pack(-51, 17), + Pack(-95, 28), + Pack(-59, 16), + Pack(-67, 19), + Pack(-161, 40), + Pack(-70, 2), ], [ Pack(0, 0), - Pack(-29, -8), - Pack(-20, -1), - Pack(-45, 10), - Pack(-104, 39), - Pack(-88, 38), - Pack(-83, 20), + Pack(-33, -6), + Pack(-25, 1), + Pack(-43, 8), + Pack(-97, 37), + Pack(-81, 36), + Pack(-77, 18), ], [ Pack(0, 0), - Pack(-26, -12), - Pack(17, 4), - Pack(-68, 28), - Pack(-115, 40), - Pack(-126, 55), - Pack(-86, 4), + Pack(-24, -13), + Pack(24, 3), + Pack(-72, 30), + Pack(-119, 39), + Pack(-126, 54), + Pack(-74, 2), ], ]; public static readonly int[][] OpenFileKingPenalty = [ [ - Pack(-98, 12), + Pack(-99, 13), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7348,7 +7343,7 @@ public static class EvaluationParams [ Pack(0, 0), Pack(0, 0), - Pack(-27, -16), + Pack(-26, -16), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7359,7 +7354,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-36, 2), + Pack(-38, 2), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7370,7 +7365,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-34, -2), + Pack(-33, -4), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7381,7 +7376,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-28, -9), + Pack(-27, -8), Pack(0, 0), Pack(0, 0), ], @@ -7403,11 +7398,11 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-64, 2), + Pack(-65, 2), ], [ Pack(0, 0), - Pack(-73, 9), + Pack(-75, 8), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7418,7 +7413,7 @@ public static class EvaluationParams [ Pack(0, 0), Pack(0, 0), - Pack(-50, -3), + Pack(-48, -3), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7429,7 +7424,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-51, -1), + Pack(-48, -1), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7440,7 +7435,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-48, 0), + Pack(-47, 0), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7451,7 +7446,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-59, 5), + Pack(-58, 6), Pack(0, 0), Pack(0, 0), ], @@ -7462,7 +7457,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-68, 6), + Pack(-67, 7), Pack(0, 0), ], [ @@ -7473,10 +7468,10 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-69, 18), + Pack(-67, 18), ], [ - Pack(-93, 40), + Pack(-92, 41), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7487,7 +7482,7 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(-65, 20), + Pack(-77, 33), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7498,7 +7493,7 @@ public static class EvaluationParams [ Pack(0, 0), Pack(0, 0), - Pack(-66, 34), + Pack(-71, 40), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7509,7 +7504,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-31, 39), + Pack(-33, 41), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7520,7 +7515,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-7, 37), + Pack(-13, 39), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7531,7 +7526,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-89, 44), + Pack(-94, 49), Pack(0, 0), Pack(0, 0), ], @@ -7542,7 +7537,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-70, 26), + Pack(-77, 36), Pack(0, 0), ], [ @@ -7553,14 +7548,14 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-71, 65), + Pack(-70, 65), ], ]; public static readonly int[][] SemiOpenFileKingPenalty = [ [ - Pack(-44, 14), + Pack(-45, 15), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7571,7 +7566,7 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(-28, 4), + Pack(-27, 4), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7582,7 +7577,7 @@ public static class EvaluationParams [ Pack(0, 0), Pack(0, 0), - Pack(-1, -8), + Pack(-1, -9), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7593,7 +7588,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-8, -4), + Pack(-9, -4), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7604,7 +7599,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-12, -7), + Pack(-11, -8), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7615,7 +7610,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(6, -12), + Pack(5, -11), Pack(0, 0), Pack(0, 0), ], @@ -7626,7 +7621,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-27, -3), + Pack(-27, -4), Pack(0, 0), ], [ @@ -7641,7 +7636,7 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(-28, 15), + Pack(-30, 14), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7652,7 +7647,7 @@ public static class EvaluationParams [ Pack(0, 0), Pack(0, 0), - Pack(-14, -2), + Pack(-12, -2), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7663,7 +7658,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-20, -1), + Pack(-16, -1), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7674,7 +7669,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-15, 2), + Pack(-14, 2), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7685,7 +7680,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-33, 6), + Pack(-31, 5), Pack(0, 0), Pack(0, 0), ], @@ -7707,10 +7702,10 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-33, 14), + Pack(-31, 14), ], [ - Pack(-51, 11), + Pack(-48, 12), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7721,7 +7716,7 @@ public static class EvaluationParams ], [ Pack(0, 0), - Pack(-44, 4), + Pack(-40, 9), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7732,7 +7727,7 @@ public static class EvaluationParams [ Pack(0, 0), Pack(0, 0), - Pack(-11, 2), + Pack(-9, 4), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7743,7 +7738,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-38, 26), + Pack(-35, 26), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7754,7 +7749,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-31, 29), + Pack(-25, 28), Pack(0, 0), Pack(0, 0), Pack(0, 0), @@ -7765,7 +7760,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-45, 16), + Pack(-38, 16), Pack(0, 0), Pack(0, 0), ], @@ -7776,7 +7771,7 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(1, -6), + Pack(-2, 0), Pack(0, 0), ], [ @@ -7787,943 +7782,943 @@ public static class EvaluationParams Pack(0, 0), Pack(0, 0), Pack(0, 0), - Pack(-92, 30), + Pack(-93, 32), ], ]; public static readonly int[][] OpenFileRookBonus = [ [ - Pack(34, -11), - Pack(21, -15), - Pack(31, -10), + Pack(33, -11), + Pack(19, -14), + Pack(28, -8), Pack(14, 6), - Pack(12, 2), - Pack(23, 5), - Pack(20, 10), - Pack(19, 4), + Pack(11, 3), + Pack(22, 6), + Pack(18, 11), + Pack(17, 4), ], [ - Pack(35, -4), + Pack(35, -7), Pack(27, 1), - Pack(12, 8), - Pack(18, -9), - Pack(10, 11), - Pack(18, 7), + Pack(11, 10), + Pack(18, -10), + Pack(9, 12), + Pack(17, 7), Pack(3, 25), - Pack(32, -11), + Pack(33, -12), ], [ - Pack(20, 7), - Pack(25, 2), - Pack(4, 19), + Pack(19, 8), + Pack(24, 1), + Pack(4, 20), Pack(17, -7), - Pack(5, 14), - Pack(19, 4), - Pack(6, 15), - Pack(32, -8), + Pack(6, 14), + Pack(17, 5), + Pack(6, 14), + Pack(33, -8), ], [ - Pack(12, 2), - Pack(6, 12), - Pack(4, 10), - Pack(25, -17), + Pack(12, 1), + Pack(5, 13), + Pack(2, 9), + Pack(27, -19), Pack(8, -0), - Pack(5, 8), + Pack(3, 8), Pack(-9, 16), - Pack(27, 0), + Pack(26, 0), ], [ - Pack(4, -6), - Pack(-2, 14), + Pack(3, -7), + Pack(-3, 13), Pack(-3, 19), - Pack(-4, 21), - Pack(23, 15), - Pack(21, 7), - Pack(12, 7), - Pack(-13, 35), + Pack(-5, 20), + Pack(19, 18), + Pack(20, 4), + Pack(12, 8), + Pack(-14, 32), ], [ - Pack(15, -1), - Pack(7, -0), - Pack(3, 8), - Pack(11, 8), - Pack(17, 6), - Pack(3, 16), - Pack(10, 20), - Pack(39, 8), + Pack(14, 1), + Pack(6, 1), + Pack(5, 8), + Pack(11, 7), + Pack(17, 4), + Pack(1, 19), + Pack(9, 20), + Pack(39, 6), ], [ - Pack(6, 6), - Pack(8, 11), + Pack(6, 7), + Pack(7, 11), Pack(5, 15), Pack(7, 9), - Pack(11, 7), - Pack(30, -0), - Pack(44, 1), - Pack(45, -12), + Pack(11, 8), + Pack(29, 0), + Pack(43, 2), + Pack(45, -14), ], [ - Pack(5, -3), - Pack(5, 5), + Pack(5, -2), + Pack(4, 7), Pack(4, 11), - Pack(9, 8), - Pack(14, 2), - Pack(30, 0), - Pack(14, 4), - Pack(71, -25), + Pack(9, 6), + Pack(14, 3), + Pack(29, 1), + Pack(14, 5), + Pack(73, -23), ], [ - Pack(19, -2), + Pack(19, -3), Pack(41, -16), - Pack(16, -2), - Pack(33, -7), - Pack(16, -2), - Pack(31, -12), - Pack(30, -7), - Pack(30, -8), + Pack(15, -0), + Pack(32, -7), + Pack(15, -2), + Pack(28, -10), + Pack(26, -6), + Pack(29, -8), ], [ - Pack(11, 1), - Pack(6, -2), - Pack(52, -15), - Pack(12, -3), - Pack(25, -7), - Pack(31, -11), - Pack(17, 2), - Pack(33, -10), + Pack(11, 0), + Pack(7, -2), + Pack(51, -14), + Pack(12, -4), + Pack(23, -7), + Pack(29, -10), + Pack(15, 3), + Pack(32, -11), ], [ - Pack(38, -16), - Pack(39, -12), - Pack(17, -12), - Pack(26, -5), - Pack(38, -9), - Pack(31, 2), - Pack(36, -6), - Pack(55, -15), + Pack(37, -16), + Pack(39, -11), + Pack(18, -12), + Pack(24, -4), + Pack(35, -8), + Pack(29, 2), + Pack(37, -6), + Pack(52, -15), ], [ - Pack(24, -6), - Pack(31, -15), - Pack(26, -6), - Pack(21, -3), - Pack(45, -2), - Pack(6, 2), - Pack(34, -8), - Pack(46, -11), + Pack(21, -5), + Pack(29, -14), + Pack(27, -6), + Pack(22, -4), + Pack(43, -2), + Pack(4, 2), + Pack(33, -8), + Pack(44, -11), ], [ - Pack(17, -6), - Pack(30, -5), - Pack(20, -6), - Pack(21, -0), - Pack(31, -8), - Pack(16, 10), - Pack(24, -2), - Pack(27, 5), + Pack(16, -6), + Pack(31, -5), + Pack(21, -6), + Pack(21, 0), + Pack(29, -8), + Pack(15, 11), + Pack(24, -1), + Pack(26, 6), ], [ Pack(25, -8), - Pack(28, -9), - Pack(26, -8), - Pack(15, 1), Pack(26, -7), - Pack(29, -6), + Pack(24, -8), + Pack(15, 2), + Pack(25, -7), + Pack(28, -5), Pack(55, -24), - Pack(34, 1), + Pack(34, 2), ], [ Pack(10, 9), - Pack(14, 6), - Pack(16, 0), - Pack(21, -2), - Pack(27, -3), - Pack(41, -8), - Pack(30, -13), - Pack(23, -5), + Pack(14, 7), + Pack(14, 1), + Pack(22, -1), + Pack(25, -2), + Pack(38, -7), + Pack(29, -12), + Pack(18, -2), ], [ - Pack(-1, -18), - Pack(26, -27), - Pack(61, -29), - Pack(15, -19), - Pack(15, -7), - Pack(39, -14), - Pack(58, -9), - Pack(42, -9), - ], - [ - Pack(54, -34), - Pack(66, -51), - Pack(71, -70), - Pack(21, -14), - Pack(20, -25), - Pack(71, -36), - Pack(-1, -11), - Pack(63, -21), - ], - [ - Pack(144, -50), - Pack(76, -62), - Pack(82, -79), - Pack(105, -74), - Pack(72, -30), - Pack(112, -57), - Pack(86, -41), - Pack(96, -50), - ], - [ - Pack(219, -66), - Pack(154, -61), - Pack(158, -77), - Pack(113, -65), - Pack(136, -88), - Pack(97, -54), - Pack(196, -88), - Pack(160, -65), - ], - [ - Pack(132, -48), - Pack(163, -71), - Pack(125, -87), - Pack(96, -62), - Pack(103, -84), - Pack(90, -51), - Pack(109, -41), - Pack(148, -61), - ], - [ - Pack(94, -39), - Pack(108, -56), - Pack(58, -56), - Pack(49, -42), - Pack(137, -65), - Pack(80, -63), - Pack(106, -58), - Pack(118, -50), - ], - [ - Pack(57, -27), - Pack(59, -29), - Pack(74, -32), - Pack(46, -37), - Pack(110, -31), - Pack(40, -27), - Pack(139, -69), - Pack(32, -3), - ], - [ - Pack(96, -19), - Pack(67, -16), - Pack(64, -18), - Pack(-3, -34), - Pack(-30, 16), - Pack(29, -10), - Pack(45, -29), - Pack(66, -48), + Pack(1, -17), + Pack(25, -27), + Pack(58, -27), + Pack(17, -20), + Pack(15, -8), + Pack(33, -12), + Pack(56, -9), + Pack(37, -6), + ], + [ + Pack(60, -37), + Pack(82, -59), + Pack(89, -79), + Pack(37, -23), + Pack(45, -33), + Pack(98, -47), + Pack(19, -20), + Pack(77, -30), + ], + [ + Pack(151, -52), + Pack(83, -64), + Pack(95, -84), + Pack(110, -74), + Pack(87, -36), + Pack(135, -65), + Pack(97, -45), + Pack(117, -56), + ], + [ + Pack(216, -66), + Pack(145, -57), + Pack(163, -78), + Pack(123, -68), + Pack(132, -87), + Pack(98, -56), + Pack(200, -90), + Pack(166, -68), + ], + [ + Pack(127, -49), + Pack(162, -71), + Pack(125, -86), + Pack(99, -63), + Pack(107, -86), + Pack(101, -53), + Pack(116, -41), + Pack(148, -62), + ], + [ + Pack(114, -45), + Pack(121, -60), + Pack(72, -62), + Pack(59, -46), + Pack(146, -68), + Pack(107, -74), + Pack(108, -59), + Pack(122, -53), + ], + [ + Pack(75, -34), + Pack(82, -41), + Pack(95, -41), + Pack(68, -47), + Pack(129, -39), + Pack(67, -37), + Pack(147, -75), + Pack(38, -8), + ], + [ + Pack(94, -19), + Pack(66, -16), + Pack(62, -20), + Pack(4, -33), + Pack(-35, 16), + Pack(34, -9), + Pack(45, -28), + Pack(64, -45), ], ]; public static readonly int[][] SemiOpenFileRookBonus = [ [ - Pack(4, -2), - Pack(31, -16), - Pack(10, 5), + Pack(2, -2), + Pack(28, -14), + Pack(7, 6), Pack(13, 1), - Pack(16, -13), - Pack(19, -15), - Pack(-2, 23), + Pack(16, -12), + Pack(18, -13), + Pack(-1, 22), Pack(2, 3), ], [ - Pack(26, -3), - Pack(0, 5), - Pack(18, -7), - Pack(14, -16), - Pack(12, -6), - Pack(17, -18), - Pack(4, -4), - Pack(12, -23), + Pack(25, -5), + Pack(-1, 5), + Pack(16, -5), + Pack(14, -17), + Pack(12, -5), + Pack(16, -17), + Pack(4, -5), + Pack(11, -21), ], [ - Pack(27, 6), - Pack(27, -12), - Pack(-14, 20), + Pack(26, 5), + Pack(25, -13), + Pack(-18, 23), Pack(14, -13), - Pack(14, -1), - Pack(7, -1), + Pack(15, -2), + Pack(6, -1), Pack(9, -6), - Pack(16, -9), + Pack(14, -9), ], [ - Pack(23, -11), - Pack(26, -22), - Pack(22, -8), - Pack(7, -18), - Pack(19, -1), - Pack(15, -8), - Pack(-3, 6), - Pack(7, -13), + Pack(21, -12), + Pack(24, -22), + Pack(21, -10), + Pack(6, -18), + Pack(20, 1), + Pack(14, -10), + Pack(-2, 4), + Pack(5, -10), ], [ - Pack(-3, -6), - Pack(17, -1), - Pack(17, 4), + Pack(-3, -9), + Pack(16, -1), + Pack(15, 5), Pack(6, 7), - Pack(3, 5), - Pack(13, -5), - Pack(15, -2), - Pack(-15, 26), + Pack(6, 6), + Pack(13, -7), + Pack(15, -3), + Pack(-17, 22), ], [ - Pack(7, -4), - Pack(26, -19), - Pack(1, 1), - Pack(21, -15), - Pack(22, -15), - Pack(-22, 8), - Pack(24, -13), - Pack(23, 10), + Pack(9, -2), + Pack(24, -19), + Pack(-0, 2), + Pack(22, -17), + Pack(23, -16), + Pack(-23, 12), + Pack(23, -14), + Pack(23, 9), ], [ Pack(6, -4), - Pack(15, -7), - Pack(13, -3), - Pack(11, -6), - Pack(10, -2), - Pack(17, -5), - Pack(6, -10), - Pack(22, 7), + Pack(13, -5), + Pack(12, -4), + Pack(11, -5), + Pack(11, -2), + Pack(17, -4), + Pack(6, -9), + Pack(20, 7), ], [ Pack(7, -11), - Pack(11, -15), + Pack(10, -14), Pack(10, -6), - Pack(9, 3), - Pack(12, 2), + Pack(8, 3), + Pack(12, 3), Pack(20, -5), - Pack(29, -26), - Pack(33, -31), + Pack(28, -26), + Pack(29, -27), ], [ - Pack(12, -6), - Pack(30, -14), - Pack(22, -13), - Pack(11, -5), + Pack(12, -7), + Pack(28, -14), + Pack(21, -13), + Pack(12, -5), Pack(8, -5), - Pack(6, -6), - Pack(0, -3), - Pack(9, -0), + Pack(5, -5), + Pack(-0, -4), + Pack(9, 1), ], [ Pack(4, -0), - Pack(25, -7), - Pack(15, -4), - Pack(10, -8), - Pack(31, -21), - Pack(17, -11), - Pack(4, 2), - Pack(1, 9), + Pack(21, -6), + Pack(13, -4), + Pack(10, -9), + Pack(30, -21), + Pack(17, -10), + Pack(3, 2), + Pack(2, 8), ], [ - Pack(-2, 5), - Pack(34, -17), + Pack(-1, 6), + Pack(31, -15), Pack(29, -25), - Pack(22, -10), + Pack(20, -9), Pack(40, -19), - Pack(15, -6), - Pack(20, -13), - Pack(6, 2), + Pack(12, -5), + Pack(21, -13), + Pack(6, 3), ], [ - Pack(-18, 17), - Pack(4, -4), + Pack(-20, 19), + Pack(3, -5), Pack(17, -14), - Pack(7, -9), - Pack(36, -10), - Pack(7, -7), - Pack(21, -13), + Pack(10, -11), + Pack(36, -9), + Pack(7, -6), + Pack(19, -12), Pack(7, 6), ], [ - Pack(-12, 21), - Pack(20, -6), - Pack(11, -7), - Pack(18, -14), - Pack(22, -9), + Pack(-13, 21), + Pack(17, -5), + Pack(10, -6), + Pack(17, -14), + Pack(23, -10), Pack(10, 3), - Pack(29, -9), + Pack(29, -10), Pack(4, 10), ], [ Pack(4, 19), - Pack(14, -3), - Pack(11, -2), - Pack(1, -1), + Pack(13, -2), + Pack(9, -1), + Pack(1, -0), Pack(18, -11), - Pack(29, -18), - Pack(24, -13), - Pack(-0, 9), + Pack(29, -17), + Pack(23, -12), + Pack(0, 10), ], [ Pack(-3, 30), - Pack(4, 13), - Pack(7, -1), - Pack(12, -8), - Pack(-0, 7), - Pack(31, -12), + Pack(3, 12), + Pack(5, -1), + Pack(12, -7), + Pack(-0, 8), + Pack(30, -12), Pack(21, -4), - Pack(2, 6), + Pack(-1, 6), ], [ - Pack(2, -10), - Pack(35, -25), - Pack(34, -40), - Pack(31, -42), - Pack(17, -11), - Pack(5, -0), - Pack(19, 4), - Pack(-17, 29), + Pack(2, -9), + Pack(32, -25), + Pack(37, -42), + Pack(32, -42), + Pack(20, -11), + Pack(2, 0), + Pack(19, 3), + Pack(-16, 31), ], [ - Pack(-32, -29), - Pack(-21, -9), - Pack(-7, -13), - Pack(40, -15), - Pack(-4, -25), - Pack(53, -15), - Pack(33, 3), - Pack(-28, 37), + Pack(-23, -31), + Pack(-19, -14), + Pack(-4, -17), + Pack(43, -19), + Pack(-2, -26), + Pack(55, -17), + Pack(31, 1), + Pack(-32, 32), ], [ - Pack(-60, 8), - Pack(-19, -14), - Pack(-6, -20), - Pack(-52, -10), - Pack(9, -14), - Pack(53, -20), - Pack(90, -16), - Pack(57, -8), - ], - [ - Pack(-52, 32), - Pack(36, -14), - Pack(15, -40), - Pack(-31, 27), - Pack(3, -28), - Pack(41, -17), - Pack(52, -16), - Pack(50, 4), - ], - [ - Pack(-10, 29), - Pack(-8, 3), - Pack(-56, -20), - Pack(-4, -10), - Pack(-2, -28), - Pack(-24, -11), - Pack(-1, 6), - Pack(15, 4), + Pack(-62, 8), + Pack(-6, -14), + Pack(-1, -18), + Pack(-52, -8), + Pack(15, -17), + Pack(51, -21), + Pack(93, -19), + Pack(64, -9), ], [ - Pack(13, 21), - Pack(-46, 3), - Pack(18, -20), - Pack(8, -19), - Pack(-9, -21), - Pack(-10, -26), - Pack(-29, -21), - Pack(-18, 10), + Pack(-51, 31), + Pack(33, -13), + Pack(18, -41), + Pack(-29, 26), + Pack(-5, -23), + Pack(46, -20), + Pack(52, -17), + Pack(47, 5), ], [ - Pack(7, 27), - Pack(-15, 3), - Pack(-14, 9), - Pack(48, -27), - Pack(6, -9), - Pack(-18, -20), - Pack(17, -2), - Pack(18, -3), + Pack(-7, 26), + Pack(2, -1), + Pack(-53, -17), + Pack(-21, -6), + Pack(-5, -28), + Pack(-24, -10), + Pack(7, 5), + Pack(4, 6), ], [ - Pack(-72, 67), - Pack(-70, 36), - Pack(12, 11), - Pack(26, -32), - Pack(12, 3), - Pack(25, -23), - Pack(-13, 7), - Pack(-66, 6), + Pack(11, 20), + Pack(-45, 2), + Pack(24, -24), + Pack(5, -18), + Pack(-14, -20), + Pack(-4, -28), + Pack(-33, -16), + Pack(-14, 6), + ], + [ + Pack(20, 21), + Pack(-2, -5), + Pack(-8, 8), + Pack(48, -25), + Pack(13, -15), + Pack(-8, -20), + Pack(17, -3), + Pack(25, -6), + ], + [ + Pack(-69, 68), + Pack(-68, 36), + Pack(10, 9), + Pack(27, -30), + Pack(10, 1), + Pack(28, -21), + Pack(-11, 6), + Pack(-55, 4), ], ]; public static readonly int[][] OpenFileRookEnemyBonus = [ [ - Pack(100, 23), - Pack(62, -9), - Pack(35, -9), - Pack(18, -4), - Pack(28, -26), - Pack(7, -0), - Pack(11, -24), - Pack(3, -2), + Pack(106, 19), + Pack(62, -7), + Pack(36, -10), + Pack(19, -4), + Pack(27, -25), + Pack(7, 0), + Pack(14, -25), + Pack(2, -1), ], [ - Pack(88, -35), - Pack(67, 15), - Pack(28, -15), + Pack(89, -36), + Pack(68, 16), + Pack(29, -16), Pack(19, 8), - Pack(16, -0), - Pack(5, -1), - Pack(17, -7), - Pack(1, 4), + Pack(17, -1), + Pack(7, -2), + Pack(18, -7), + Pack(1, 2), ], [ - Pack(54, -7), - Pack(66, -19), - Pack(73, -3), - Pack(26, -22), - Pack(20, -1), - Pack(4, 3), - Pack(13, -11), + Pack(55, -8), + Pack(66, -18), + Pack(72, -1), + Pack(26, -23), + Pack(20, -0), + Pack(6, 2), + Pack(14, -12), Pack(9, -9), ], [ Pack(55, -12), - Pack(25, -3), - Pack(28, -3), - Pack(45, 25), + Pack(26, -4), + Pack(27, -4), + Pack(43, 25), Pack(21, -5), - Pack(18, 9), - Pack(10, 3), - Pack(21, -3), + Pack(20, 8), + Pack(12, 3), + Pack(24, -5), ], [ - Pack(19, 12), + Pack(20, 11), Pack(14, 8), - Pack(24, 5), - Pack(26, -15), - Pack(69, 27), - Pack(25, -4), + Pack(26, 3), + Pack(27, -16), + Pack(72, 23), + Pack(28, -4), Pack(20, 5), - Pack(10, 19), + Pack(10, 17), ], [ - Pack(22, -14), - Pack(30, -17), - Pack(31, -18), + Pack(23, -14), + Pack(28, -16), + Pack(31, -17), Pack(26, -6), - Pack(17, 3), - Pack(79, 18), - Pack(42, -26), - Pack(42, -18), + Pack(19, 3), + Pack(81, 15), + Pack(44, -28), + Pack(44, -18), ], [ - Pack(0, 7), - Pack(11, -6), + Pack(1, 7), + Pack(12, -7), Pack(9, 6), Pack(11, 8), - Pack(12, 8), - Pack(15, -3), - Pack(65, 55), - Pack(73, -24), + Pack(13, 8), + Pack(16, -4), + Pack(66, 55), + Pack(72, -24), ], [ - Pack(18, -2), - Pack(23, 0), + Pack(17, -1), + Pack(24, -1), Pack(14, 6), - Pack(22, -1), - Pack(21, 2), - Pack(28, -4), - Pack(53, 0), - Pack(177, -12), + Pack(23, -2), + Pack(23, 1), + Pack(30, -4), + Pack(54, -1), + Pack(175, -13), ], [ - Pack(80, -37), - Pack(86, 9), - Pack(22, 2), + Pack(81, -37), + Pack(84, 10), + Pack(24, 1), Pack(34, -18), - Pack(16, -13), - Pack(7, -17), - Pack(13, -16), - Pack(-3, 7), + Pack(15, -12), + Pack(8, -19), + Pack(14, -17), + Pack(-2, 6), ], [ - Pack(59, -31), - Pack(45, -20), - Pack(100, -0), + Pack(59, -32), + Pack(44, -20), + Pack(103, -1), Pack(17, -4), - Pack(23, -16), - Pack(14, -14), + Pack(24, -15), + Pack(15, -14), Pack(11, -15), Pack(15, -9), ], [ - Pack(38, -20), - Pack(30, -14), - Pack(14, -2), - Pack(99, 16), - Pack(37, -6), + Pack(38, -19), + Pack(29, -13), + Pack(17, -3), + Pack(96, 16), + Pack(37, -7), Pack(27, -8), - Pack(20, -18), - Pack(7, -5), + Pack(22, -18), + Pack(10, -6), ], [ Pack(39, -18), - Pack(40, -23), - Pack(38, -19), - Pack(27, -9), - Pack(91, 19), - Pack(40, -18), - Pack(41, -16), - Pack(34, -17), + Pack(39, -23), + Pack(39, -19), + Pack(26, -10), + Pack(88, 20), + Pack(41, -19), + Pack(39, -16), + Pack(35, -17), ], [ Pack(23, -9), - Pack(30, -20), - Pack(31, -17), - Pack(35, -17), - Pack(21, -5), - Pack(113, -5), - Pack(41, -16), - Pack(41, -23), + Pack(30, -21), + Pack(33, -17), + Pack(35, -16), + Pack(22, -6), + Pack(118, -7), + Pack(39, -16), + Pack(42, -24), ], [ Pack(10, 4), - Pack(14, -8), + Pack(14, -9), Pack(27, -14), - Pack(21, -13), - Pack(15, -3), - Pack(28, -5), - Pack(100, 19), - Pack(60, -26), + Pack(22, -14), + Pack(16, -3), + Pack(30, -6), + Pack(102, 18), + Pack(62, -27), ], [ - Pack(3, 7), - Pack(11, -5), - Pack(25, -12), + Pack(5, 6), + Pack(12, -5), + Pack(25, -11), Pack(23, -8), - Pack(29, -12), - Pack(29, -7), - Pack(54, 1), - Pack(102, 60), + Pack(31, -12), + Pack(29, -8), + Pack(54, 0), + Pack(102, 58), ], [ - Pack(115, 0), - Pack(86, -15), - Pack(42, -22), - Pack(23, -21), - Pack(4, -13), - Pack(17, -13), - Pack(31, -29), - Pack(8, 6), + Pack(113, 2), + Pack(90, -17), + Pack(41, -22), + Pack(27, -21), + Pack(8, -13), + Pack(16, -12), + Pack(32, -30), + Pack(4, 7), ], [ - Pack(3, -12), - Pack(-14, 36), - Pack(88, -57), - Pack(84, -58), - Pack(39, -29), - Pack(86, -41), - Pack(38, -39), - Pack(-24, -14), + Pack(9, -14), + Pack(-9, 48), + Pack(105, -65), + Pack(93, -63), + Pack(51, -34), + Pack(106, -51), + Pack(51, -49), + Pack(-8, -20), ], [ - Pack(77, -29), - Pack(84, -55), - Pack(29, 43), - Pack(23, -24), - Pack(68, -51), - Pack(57, -31), - Pack(68, -51), - Pack(74, -54), + Pack(76, -28), + Pack(91, -59), + Pack(18, 46), + Pack(24, -26), + Pack(64, -54), + Pack(69, -36), + Pack(87, -56), + Pack(90, -61), ], [ - Pack(84, -51), + Pack(83, -49), Pack(128, -57), - Pack(84, -61), - Pack(-7, 46), + Pack(88, -61), + Pack(3, 41), Pack(86, -35), - Pack(141, -80), - Pack(106, -58), - Pack(188, -81), - ], - [ - Pack(120, -57), - Pack(62, -40), - Pack(119, -59), - Pack(52, -53), - Pack(55, 28), - Pack(115, -49), - Pack(117, -64), - Pack(163, -60), - ], - [ - Pack(59, -35), - Pack(82, -46), - Pack(48, -38), - Pack(83, -55), - Pack(110, -69), - Pack(14, 84), - Pack(30, -34), - Pack(140, -59), - ], - [ - Pack(78, -34), - Pack(42, -21), - Pack(58, -44), - Pack(71, -52), - Pack(109, -53), - Pack(159, -44), - Pack(12, 75), - Pack(54, -36), - ], - [ - Pack(-50, -1), - Pack(10, -8), - Pack(3, 6), - Pack(-50, 16), - Pack(33, -17), - Pack(23, -20), - Pack(79, -6), - Pack(-24, 59), + Pack(152, -84), + Pack(108, -61), + Pack(174, -78), + ], + [ + Pack(118, -57), + Pack(58, -39), + Pack(120, -60), + Pack(63, -57), + Pack(41, 32), + Pack(114, -48), + Pack(116, -65), + Pack(157, -59), + ], + [ + Pack(62, -35), + Pack(94, -51), + Pack(50, -38), + Pack(95, -60), + Pack(115, -70), + Pack(-1, 94), + Pack(39, -39), + Pack(143, -58), + ], + [ + Pack(85, -37), + Pack(49, -25), + Pack(72, -50), + Pack(87, -59), + Pack(120, -56), + Pack(172, -52), + Pack(-4, 90), + Pack(55, -37), + ], + [ + Pack(-42, -2), + Pack(14, -10), + Pack(8, 3), + Pack(-51, 17), + Pack(34, -16), + Pack(28, -19), + Pack(73, -4), + Pack(-16, 55), ], ]; public static readonly int[][] SemiOpenFileRookEnemyBonus = [ [ - Pack(60, -32), - Pack(25, -23), - Pack(9, -18), - Pack(9, -14), - Pack(13, -5), - Pack(-8, 24), + Pack(60, -33), + Pack(25, -21), + Pack(12, -20), + Pack(9, -13), + Pack(10, -3), + Pack(-9, 27), Pack(-15, 18), - Pack(-7, 30), + Pack(-9, 30), ], [ - Pack(19, -10), - Pack(26, -5), - Pack(8, -5), - Pack(-1, 4), - Pack(1, 6), + Pack(19, -11), + Pack(27, -5), + Pack(10, -4), + Pack(-2, 4), + Pack(1, 5), Pack(3, 2), - Pack(0, 19), - Pack(-6, 19), + Pack(1, 20), + Pack(-4, 17), ], [ - Pack(22, -4), - Pack(17, -15), - Pack(15, -11), - Pack(4, -5), - Pack(3, 9), - Pack(0, 16), - Pack(2, 10), - Pack(-5, 21), + Pack(23, -7), + Pack(18, -14), + Pack(16, -11), + Pack(4, -6), + Pack(2, 8), + Pack(1, 16), + Pack(1, 10), + Pack(-5, 20), ], [ - Pack(6, 22), - Pack(1, -7), - Pack(3, -10), + Pack(5, 21), + Pack(3, -9), + Pack(4, -10), Pack(11, 8), - Pack(8, -1), - Pack(5, -19), - Pack(7, -0), - Pack(13, 7), + Pack(8, -3), + Pack(5, -17), + Pack(7, 1), + Pack(14, 4), ], [ - Pack(-9, 42), - Pack(-4, 3), - Pack(0, -6), - Pack(17, -12), - Pack(17, 3), - Pack(21, -18), - Pack(9, -11), - Pack(-1, 13), + Pack(-9, 39), + Pack(-2, 4), + Pack(2, -7), + Pack(17, -11), + Pack(17, 5), + Pack(22, -19), + Pack(7, -10), + Pack(-1, 12), ], [ Pack(-1, 25), - Pack(-11, 17), - Pack(-2, -1), + Pack(-9, 17), + Pack(-1, 0), Pack(7, -7), - Pack(3, 6), - Pack(30, -15), - Pack(11, -15), - Pack(1, 4), + Pack(4, 6), + Pack(29, -14), + Pack(13, -15), + Pack(1, 3), ], [ Pack(-7, 20), - Pack(-5, 7), - Pack(-4, 10), + Pack(-3, 6), + Pack(-3, 10), Pack(7, 3), Pack(5, -1), - Pack(2, -7), - Pack(35, -6), - Pack(23, -21), + Pack(3, -7), + Pack(36, -8), + Pack(23, -22), ], [ Pack(-3, 26), - Pack(1, 20), - Pack(-4, 6), + Pack(2, 18), + Pack(-3, 7), Pack(14, -17), - Pack(7, -15), - Pack(4, -15), - Pack(18, -13), - Pack(53, -19), + Pack(7, -16), + Pack(4, -14), + Pack(20, -14), + Pack(54, -19), ], [ - Pack(37, -25), - Pack(26, -14), - Pack(19, -12), - Pack(21, -20), - Pack(-2, -2), - Pack(1, -5), - Pack(6, 10), - Pack(-13, 27), + Pack(37, -26), + Pack(28, -15), + Pack(22, -14), + Pack(22, -20), + Pack(-3, -1), + Pack(0, -5), + Pack(4, 12), + Pack(-12, 26), ], [ - Pack(19, -9), - Pack(2, -11), - Pack(38, -27), + Pack(17, -8), + Pack(2, -10), + Pack(39, -26), Pack(22, -15), - Pack(1, -9), - Pack(10, -6), - Pack(4, 5), - Pack(1, 19), + Pack(0, -8), + Pack(9, -5), + Pack(-0, 5), + Pack(1, 18), ], [ - Pack(-3, 5), - Pack(-8, -4), - Pack(16, -13), - Pack(29, -9), + Pack(-2, 5), + Pack(-7, -4), + Pack(17, -13), + Pack(26, -8), Pack(35, -18), - Pack(14, -7), - Pack(2, -1), - Pack(-6, 17), + Pack(16, -8), + Pack(1, 0), + Pack(-7, 17), ], [ - Pack(-9, 17), - Pack(1, -0), - Pack(-3, -0), - Pack(24, -16), - Pack(31, -14), - Pack(27, -19), - Pack(12, -8), - Pack(-7, 11), + Pack(-7, 15), + Pack(3, -1), + Pack(-1, -1), + Pack(23, -15), + Pack(28, -12), + Pack(29, -20), + Pack(12, -7), + Pack(-9, 12), ], [ - Pack(-12, 24), - Pack(-13, 14), - Pack(0, -1), + Pack(-9, 22), + Pack(-12, 14), + Pack(3, -2), Pack(21, -14), - Pack(26, -18), - Pack(32, -17), - Pack(-7, -6), - Pack(3, -1), + Pack(27, -19), + Pack(32, -18), + Pack(-5, -7), + Pack(2, -2), ], [ Pack(-15, 33), - Pack(-9, 23), - Pack(14, 1), - Pack(13, -3), - Pack(10, -8), - Pack(29, -23), - Pack(39, -21), - Pack(16, -10), + Pack(-6, 22), + Pack(14, 2), + Pack(13, -4), + Pack(10, -9), + Pack(31, -23), + Pack(38, -18), + Pack(17, -11), ], [ - Pack(-8, 34), - Pack(-9, 21), - Pack(4, 6), - Pack(3, 8), + Pack(-9, 34), + Pack(-8, 21), + Pack(5, 5), + Pack(3, 7), Pack(5, -4), Pack(16, -14), - Pack(32, -24), - Pack(54, -22), + Pack(31, -24), + Pack(56, -23), ], [ - Pack(105, -66), + Pack(110, -63), Pack(32, -32), - Pack(14, -5), - Pack(-27, -13), - Pack(-6, -9), - Pack(16, -6), - Pack(-23, 10), - Pack(-11, 23), + Pack(13, -5), + Pack(-23, -14), + Pack(-8, -7), + Pack(13, -5), + Pack(-26, 10), + Pack(-11, 21), ], [ - Pack(72, -44), - Pack(132, -75), - Pack(35, -34), - Pack(2, -27), - Pack(-10, -15), - Pack(24, -7), - Pack(-8, 21), - Pack(16, 1), + Pack(83, -44), + Pack(124, -77), + Pack(36, -35), + Pack(-4, -26), + Pack(-8, -17), + Pack(26, -9), + Pack(-13, 17), + Pack(11, 1), ], [ - Pack(17, -11), - Pack(62, -53), - Pack(73, -33), - Pack(17, -22), - Pack(70, -50), - Pack(2, 2), - Pack(-2, -11), - Pack(-85, 15), - ], - [ - Pack(-15, -3), - Pack(28, -30), - Pack(37, -61), - Pack(34, -35), - Pack(85, -34), - Pack(4, -37), - Pack(11, -6), - Pack(-16, 19), - ], - [ - Pack(-80, 21), - Pack(-4, -25), - Pack(34, -16), - Pack(25, -51), - Pack(21, -20), - Pack(-0, -14), - Pack(63, -27), - Pack(-14, 7), - ], - [ - Pack(-80, 25), - Pack(-12, -18), - Pack(68, -30), - Pack(71, -52), - Pack(3, -46), - Pack(135, -37), - Pack(-14, -15), - Pack(23, -19), + Pack(27, -14), + Pack(54, -50), + Pack(71, -35), + Pack(21, -24), + Pack(63, -51), + Pack(8, -1), + Pack(-4, -13), + Pack(-73, 13), ], [ - Pack(-108, 25), - Pack(43, -22), - Pack(-29, -5), - Pack(-16, -9), - Pack(7, -3), - Pack(92, -15), - Pack(136, -60), - Pack(22, -14), + Pack(-9, -4), + Pack(31, -31), + Pack(34, -58), + Pack(33, -34), + Pack(84, -34), + Pack(10, -37), + Pack(11, -7), + Pack(-14, 18), ], [ - Pack(-26, -4), - Pack(-7, -16), - Pack(-56, 25), - Pack(-43, 41), - Pack(7, 27), - Pack(-44, 12), - Pack(-19, 7), - Pack(28, -6), + Pack(-88, 23), + Pack(-2, -25), + Pack(27, -15), + Pack(21, -50), + Pack(24, -21), + Pack(-2, -12), + Pack(60, -27), + Pack(-18, 8), + ], + [ + Pack(-89, 28), + Pack(-16, -20), + Pack(67, -29), + Pack(72, -53), + Pack(10, -47), + Pack(132, -34), + Pack(-12, -16), + Pack(19, -16), + ], + [ + Pack(-96, 20), + Pack(32, -20), + Pack(-40, -1), + Pack(-16, -11), + Pack(18, -4), + Pack(97, -18), + Pack(147, -66), + Pack(9, -10), + ], + [ + Pack(-35, 2), + Pack(-11, -11), + Pack(-62, 21), + Pack(-49, 45), + Pack(12, 29), + Pack(-52, 18), + Pack(-17, 9), + Pack(26, -2), ], ]; From e936ad6b09991ecf56af05e6a64ba2a0bfe2cb65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20C=C3=A1ceres?= Date: Mon, 12 Jan 2026 18:08:07 +0100 Subject: [PATCH 5/5] Exclude non-DFRC posiitions --- src/Lynx/Evaluation.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Lynx/Evaluation.cs b/src/Lynx/Evaluation.cs index d84652647..021f502bb 100644 --- a/src/Lynx/Evaluation.cs +++ b/src/Lynx/Evaluation.cs @@ -832,7 +832,9 @@ private int RookAdditionalEvaluation(ref EvaluationContext evaluationContext, in packedBonus += SemiOpenFileRookBonus[bucket][file]; packedBonus += SemiOpenFileRookEnemyBonus[oppositeSideBucket][file]; } - else if (mobility <= 3) + // Trapped rook + else if (Configuration.EngineSettings.IsChess960 + && mobility <= 3) { var rank = Constants.Rank[squareIndex];