diff --git a/example/obs_json/observation_1.json b/example/obs_json/observation_1.json index be0ebb9..c385147 100644 --- a/example/obs_json/observation_1.json +++ b/example/obs_json/observation_1.json @@ -1,55 +1,782 @@ { "target_passcode": [ - 24, - 12, - 3, - 53 + 14, + 5, + 8, + 4 ], "observations": [ { "keypad": [ [ - 0, - 37, - 47, + 27, + 1, + 29, 30, - 49, - 23, - 24, - 43, + 13, + 41, + 33, + 16, 8 ], [ 18, - 19, - 20, + 37, + 2, 12, - 40, + 31, 50, - 33, - 52, - 44 + 15, + 34, + 35 ], [ - 9, + 45, 28, - 2, + 47, 3, - 13, + 49, 32, - 51, - 7, - 35 + 6, + 43, + 53 ], [ 36, 10, + 20, + 39, + 4, + 14, + 51, + 52, + 26 + ], + [ + 0, + 19, + 38, + 48, + 40, + 5, + 24, + 7, + 44 + ], + [ + 9, + 46, 11, + 21, + 22, + 23, + 42, + 25, + 17 + ] + ], + "key_selection": [ + 3, + 4, + 0, + 3 + ] + }, + { + "keypad": [ + [ + 45, + 19, + 2, + 48, + 31, + 41, + 24, + 34, + 35 + ], + [ + 18, + 28, + 20, + 3, + 22, + 32, + 33, + 52, + 8 + ], + [ + 27, + 10, + 29, + 30, + 49, + 50, + 6, + 43, + 17 + ], + [ + 36, + 46, + 38, + 12, + 40, + 23, + 15, + 7, + 26 + ], + [ + 0, + 37, + 47, + 21, + 4, + 5, + 51, + 16, + 44 + ], + [ + 9, + 1, + 11, + 39, + 13, + 14, + 42, + 25, + 53 + ] + ], + "key_selection": [ + 5, + 4, + 1, + 4 + ] + }, + { + "keypad": [ + [ + 45, + 1, + 11, + 30, + 13, + 14, + 6, + 7, + 35 + ], + [ + 18, + 28, + 29, + 3, + 40, + 50, + 42, + 52, + 8 + ], + [ + 36, + 46, + 2, + 21, + 22, + 5, + 24, + 16, + 17 + ], + [ + 0, + 10, + 38, + 39, + 31, + 32, + 51, + 25, + 44 + ], + [ + 9, + 37, + 47, + 48, + 49, + 41, + 15, + 34, + 53 + ], + [ + 27, + 19, + 20, + 12, + 4, + 23, + 33, + 43, + 26 + ] + ], + "key_selection": [ + 0, + 2, + 1, + 5 + ] + }, + { + "keypad": [ + [ + 18, + 46, + 20, + 30, + 49, + 5, + 15, + 34, + 17 + ], + [ + 0, + 28, + 11, + 48, + 22, + 32, + 42, + 16, + 53 + ], + [ + 36, + 19, + 38, + 3, + 4, + 23, + 33, + 7, + 26 + ], + [ + 9, + 37, + 47, + 39, + 31, + 14, + 6, + 52, + 35 + ], + [ + 27, + 1, + 2, + 21, + 13, + 41, + 51, + 43, + 44 + ], + [ + 45, + 10, + 29, + 12, + 40, + 50, + 24, + 25, + 8 + ] + ], + "key_selection": [ + 3, + 0, + 5, + 2 + ] + }, + { + "keypad": [ + [ + 36, + 46, + 38, + 48, + 22, + 32, + 33, + 43, + 35 + ], + [ + 0, + 28, + 2, + 12, + 31, + 14, + 51, + 25, + 8 + ], + [ + 18, + 1, + 29, + 30, + 40, + 23, + 15, + 52, + 53 + ], + [ + 9, + 37, + 47, + 39, + 4, + 5, + 42, + 34, + 44 + ], + [ + 45, + 10, + 20, + 21, + 49, + 41, + 24, + 16, + 26 + ], + [ + 27, + 19, + 11, + 3, + 13, + 50, + 6, + 7, + 17 + ] + ], + "key_selection": [ + 1, + 3, + 1, + 3 + ] + }, + { + "keypad": [ + [ + 18, + 37, + 47, + 30, + 4, + 41, + 33, + 43, + 26 + ], + [ + 27, + 10, + 38, + 12, + 40, + 50, + 51, + 34, + 17 + ], + [ + 0, + 46, + 2, + 3, + 49, + 14, + 6, + 16, + 35 + ], + [ + 9, + 1, + 29, + 21, + 31, + 32, + 42, + 7, + 8 + ], + [ + 45, + 28, + 11, + 48, + 13, + 23, + 24, + 52, + 44 + ], + [ + 36, + 19, + 20, 39, 22, 5, 15, + 25, + 53 + ] + ], + "key_selection": [ + 2, + 5, + 3, + 0 + ] + }, + { + "keypad": [ + [ + 45, + 10, + 11, + 21, + 22, + 5, + 42, + 7, + 26 + ], + [ + 9, + 1, + 38, + 30, + 31, + 23, + 51, + 16, + 44 + ], + [ + 36, + 37, + 2, + 39, + 49, + 50, + 33, + 25, + 35 + ], + [ + 0, + 28, + 29, + 48, + 40, + 14, + 15, 34, + 8 + ], + [ + 27, + 19, + 20, + 3, + 13, + 41, + 24, + 43, + 17 + ], + [ + 18, + 46, + 47, + 12, + 4, + 32, + 6, + 52, + 53 + ] + ], + "key_selection": [ + 3, + 0, + 3, + 5 + ] + }, + { + "keypad": [ + [ + 45, + 19, + 20, + 48, + 4, + 32, + 33, + 34, + 8 + ], + [ + 0, + 46, + 38, + 12, + 49, + 5, + 51, + 43, + 53 + ], + [ + 27, + 28, + 11, + 30, + 22, + 23, + 24, + 16, + 35 + ], + [ + 18, + 10, + 47, + 39, + 31, + 41, + 42, + 52, + 26 + ], + [ + 9, + 1, + 2, + 3, + 40, + 14, + 6, + 25, + 44 + ], + [ + 36, + 37, + 29, + 21, + 13, + 50, + 15, + 7, + 17 + ] + ], + "key_selection": [ + 4, + 1, + 0, + 0 + ] + }, + { + "keypad": [ + [ + 9, + 1, + 29, + 30, + 40, + 41, + 42, + 7, + 26 + ], + [ + 36, + 19, + 2, + 48, + 13, + 23, + 51, + 34, + 17 + ], + [ + 45, + 10, + 47, + 12, + 4, + 5, + 6, + 16, + 8 + ], + [ + 18, + 28, + 20, + 21, + 49, + 14, + 33, + 43, + 53 + ], + [ + 0, + 37, + 38, + 3, + 22, + 32, + 24, + 25, + 44 + ], + [ + 27, + 46, + 11, + 39, + 31, + 50, + 15, + 52, + 35 + ] + ], + "key_selection": [ + 3, + 2, + 2, + 2 + ] + }, + { + "keypad": [ + [ + 27, + 46, + 11, + 30, + 40, + 41, + 6, + 7, + 53 + ], + [ + 45, + 10, + 47, + 3, + 13, + 32, + 24, + 34, + 35 + ], + [ + 9, + 19, + 29, + 39, + 4, + 50, + 33, + 43, + 44 + ], + [ + 36, + 37, + 38, + 48, + 49, + 14, + 51, + 25, + 26 + ], + [ + 0, + 1, + 2, + 12, + 22, + 23, + 42, + 52, + 17 + ], + [ + 18, + 28, + 20, + 21, + 31, + 5, + 15, + 16, + 8 + ] + ], + "key_selection": [ + 3, + 5, + 5, + 2 + ] + }, + { + "keypad": [ + [ + 45, + 37, + 11, + 3, + 49, + 14, + 51, + 16, 26 ], [ @@ -57,26 +784,2339 @@ 46, 29, 48, + 4, + 50, + 6, + 34, + 8 + ], + [ + 0, + 1, + 47, + 39, + 13, + 32, + 42, + 52, + 53 + ], + [ + 9, + 28, + 2, + 30, 31, 41, - 42, + 15, 25, + 35 + ], + [ + 18, + 10, + 20, + 21, + 40, + 5, + 24, + 43, + 44 + ], + [ + 36, + 19, + 38, + 12, + 22, + 23, + 33, + 7, + 17 + ] + ], + "key_selection": [ + 0, + 4, + 1, + 1 + ] + }, + { + "keypad": [ + [ + 0, + 37, + 11, + 48, + 40, + 50, + 6, + 52, + 8 + ], + [ + 9, + 46, + 38, + 39, + 13, + 32, + 24, + 7, + 17 + ], + [ + 27, + 19, + 2, + 3, + 31, + 14, + 33, + 34, + 53 + ], + [ + 45, + 10, + 29, + 30, + 22, + 41, + 15, + 25, + 26 + ], + [ + 36, + 1, + 47, + 21, + 49, + 23, + 42, + 43, + 44 + ], + [ + 18, + 28, + 20, + 12, + 4, + 5, + 51, + 16, + 35 + ] + ], + "key_selection": [ + 2, + 5, + 0, + 5 + ] + }, + { + "keypad": [ + [ + 27, + 19, + 29, + 3, + 4, + 5, + 24, + 52, + 17 + ], + [ + 9, + 28, + 47, + 39, + 49, + 50, + 33, + 25, + 35 + ], + [ + 18, + 46, + 20, + 30, + 13, + 41, + 42, + 43, + 8 + ], + [ + 45, + 1, + 2, + 48, + 40, + 14, + 15, + 7, + 26 + ], + [ + 36, + 37, + 11, + 21, + 22, + 23, + 51, + 16, + 53 + ], + [ + 0, + 10, + 38, + 12, + 31, + 32, + 6, + 34, + 44 + ] + ], + "key_selection": [ + 3, + 0, + 2, + 0 + ] + }, + { + "keypad": [ + [ + 0, + 28, + 11, + 3, + 4, + 32, + 6, + 52, + 35 + ], + [ + 27, + 46, + 38, + 21, + 49, + 5, + 24, + 34, + 8 + ], + [ + 36, + 1, + 47, + 39, + 40, + 14, + 15, + 25, + 44 + ], + [ + 9, + 19, + 2, + 48, + 31, + 50, + 33, + 43, + 26 + ], + [ + 18, + 37, + 29, + 30, + 22, + 23, + 42, + 16, + 17 + ], + [ + 45, + 10, + 20, + 12, + 13, + 41, + 51, + 7, + 53 + ] + ], + "key_selection": [ + 2, + 1, + 1, + 0 + ] + }, + { + "keypad": [ + [ + 9, + 1, + 38, + 39, + 13, + 5, + 33, + 7, + 53 + ], + [ + 45, + 46, + 47, + 48, + 31, + 50, + 51, + 52, + 8 + ], + [ + 0, + 37, + 2, + 30, + 4, + 23, + 6, + 25, + 35 + ], + [ + 18, + 10, + 20, + 12, + 49, + 32, + 42, + 43, + 17 + ], + [ + 36, + 28, + 11, + 21, + 40, + 14, + 15, + 34, + 44 + ], + [ + 27, + 19, + 29, + 3, + 22, + 41, + 24, + 16, + 26 + ] + ], + "key_selection": [ + 4, + 0, + 1, + 2 + ] + }, + { + "keypad": [ + [ + 9, + 19, + 20, + 30, + 49, + 50, + 6, + 52, + 8 + ], + [ + 36, + 46, + 2, + 3, + 31, + 14, + 15, + 34, + 44 + ], + [ + 0, + 37, + 47, + 39, + 40, + 41, + 24, + 16, 17 ], [ 45, 1, - 38, + 29, + 48, + 4, + 32, + 33, + 7, + 26 + ], + [ + 27, + 28, + 11, 21, + 13, + 23, + 51, + 25, + 53 + ], + [ + 18, + 10, + 38, + 12, + 22, + 5, + 42, + 43, + 35 + ] + ], + "key_selection": [ + 1, + 5, + 0, + 3 + ] + }, + { + "keypad": [ + [ + 45, + 46, + 29, + 3, + 4, + 23, + 24, + 43, + 44 + ], + [ + 0, + 1, + 11, + 39, + 13, + 50, + 42, + 7, + 8 + ], + [ + 36, + 19, + 2, + 21, + 40, + 5, + 51, + 16, + 26 + ], + [ + 27, + 28, + 47, + 12, + 22, + 32, + 15, + 52, + 53 + ], + [ + 9, + 10, + 38, + 30, + 49, + 41, + 6, + 25, + 17 + ], + [ + 18, + 37, + 20, + 48, + 31, + 14, + 33, + 34, + 35 + ] + ], + "key_selection": [ + 5, + 2, + 1, + 0 + ] + }, + { + "keypad": [ + [ + 36, + 37, + 20, + 21, + 40, + 50, + 42, + 52, + 17 + ], + [ + 18, + 28, + 2, + 12, + 13, + 5, + 15, + 34, + 53 + ], + [ + 0, + 46, + 29, + 30, + 49, + 23, + 24, + 25, + 35 + ], + [ + 9, + 1, + 47, + 39, 4, 14, + 51, + 7, + 8 + ], + [ + 45, + 19, + 38, + 48, + 22, + 32, + 33, + 16, + 44 + ], + [ + 27, + 10, + 11, + 3, + 31, + 41, 6, + 43, + 26 + ] + ], + "key_selection": [ + 3, + 1, + 3, + 3 + ] + }, + { + "keypad": [ + [ + 45, + 19, + 47, + 30, + 4, + 23, + 42, + 43, + 17 + ], + [ + 18, + 46, + 29, + 39, + 40, + 32, + 51, + 25, + 26 + ], + [ + 27, + 1, + 38, + 12, + 22, + 14, + 15, + 52, + 53 + ], + [ + 36, + 28, + 20, + 3, + 49, + 5, + 6, + 16, + 8 + ], + [ + 9, + 10, + 2, + 21, + 31, + 41, + 33, + 34, + 44 + ], + [ + 0, + 37, + 11, + 48, + 13, + 50, + 24, + 7, + 35 + ] + ], + "key_selection": [ + 2, + 3, + 3, + 0 + ] + }, + { + "keypad": [ + [ + 27, + 1, + 2, + 30, + 22, + 23, + 51, + 43, + 8 + ], + [ + 0, + 28, + 29, + 21, + 13, + 50, + 42, + 16, + 17 + ], + [ + 45, + 37, + 38, + 39, + 49, + 32, + 24, + 7, + 44 + ], + [ + 36, + 46, + 20, + 12, + 31, + 5, + 33, + 52, + 35 + ], + [ + 18, + 10, + 11, + 3, + 40, + 14, + 15, + 25, + 53 + ], + [ + 9, + 19, + 47, + 48, + 4, + 41, + 6, + 34, + 26 + ] + ], + "key_selection": [ + 4, + 3, + 0, + 5 + ] + }, + { + "keypad": [ + [ + 9, + 28, + 20, + 12, + 22, + 32, + 24, + 52, + 53 + ], + [ + 45, + 19, + 2, + 30, + 40, + 50, + 33, + 34, + 44 + ], + [ + 0, + 1, + 29, + 21, + 4, + 41, + 15, + 43, + 35 + ], + [ + 18, + 37, + 47, + 39, + 13, + 23, + 42, + 25, + 8 + ], + [ + 36, + 46, + 38, + 48, + 49, + 14, + 6, + 7, + 17 + ], + [ + 27, + 10, + 11, + 3, + 31, + 5, + 51, + 16, + 26 + ] + ], + "key_selection": [ + 4, + 5, + 3, + 2 + ] + }, + { + "keypad": [ + [ + 36, + 19, + 20, + 12, + 13, + 32, + 15, + 16, + 26 + ], + [ + 27, + 46, + 29, + 3, + 40, + 14, + 51, + 43, + 8 + ], + [ + 9, + 1, + 2, + 39, + 31, + 41, + 33, + 25, + 17 + ], + [ + 18, + 28, + 38, + 48, + 22, + 23, + 42, + 34, + 53 + ], + [ + 45, + 37, + 11, + 30, + 49, + 5, + 6, + 52, + 35 + ], + [ + 0, + 10, + 47, + 21, + 4, + 50, + 24, + 7, + 44 + ] + ], + "key_selection": [ + 1, + 4, + 1, + 5 + ] + }, + { + "keypad": [ + [ + 18, + 1, + 38, + 39, + 22, + 50, + 42, + 7, + 35 + ], + [ + 36, + 10, + 11, + 48, + 49, + 23, + 51, + 16, + 17 + ], + [ + 0, + 19, + 29, + 30, + 31, + 14, + 15, + 34, + 53 + ], + [ + 27, + 28, + 2, + 21, + 13, + 41, + 6, + 52, + 26 + ], + [ + 9, + 46, + 20, + 12, + 40, + 32, + 24, + 43, + 8 + ], + [ + 45, + 37, + 47, + 3, + 4, + 5, + 33, + 25, + 44 + ] + ], + "key_selection": [ + 2, + 5, + 4, + 5 + ] + }, + { + "keypad": [ + [ + 27, + 1, + 2, + 21, + 40, + 50, + 24, + 52, + 44 + ], + [ + 9, + 10, + 20, + 3, + 49, + 32, + 42, + 43, + 8 + ], + [ + 36, + 28, + 11, + 39, + 31, + 5, + 51, + 25, + 35 + ], + [ + 18, + 46, + 47, + 48, + 22, + 23, + 6, + 34, + 17 + ], + [ + 0, + 19, + 38, + 12, + 13, + 14, + 33, + 7, + 53 + ], + [ + 45, + 37, + 29, + 30, + 4, + 41, + 15, + 16, + 26 + ] + ], + "key_selection": [ + 4, + 2, + 1, + 5 + ] + }, + { + "keypad": [ + [ + 18, + 1, + 20, + 12, + 40, + 32, + 15, + 16, + 53 + ], + [ + 45, + 10, + 47, + 21, + 13, + 23, + 24, + 34, + 26 + ], + [ + 9, + 19, + 11, + 39, + 49, + 5, + 42, + 7, + 17 + ], + [ + 27, + 28, + 29, + 30, + 31, + 41, + 51, + 52, + 8 + ], + [ + 0, + 37, + 38, + 48, + 4, + 50, + 6, + 25, + 44 + ], + [ + 36, + 46, + 2, + 3, + 22, + 14, + 33, + 43, + 35 + ] + ], + "key_selection": [ + 5, + 2, + 3, + 4 + ] + }, + { + "keypad": [ + [ + 45, + 46, + 2, + 39, + 13, + 41, + 6, + 34, + 17 + ], + [ + 27, + 19, + 11, + 12, + 22, + 5, + 24, + 25, + 26 + ], + [ + 18, + 1, + 29, + 3, + 4, + 23, + 51, + 7, + 8 + ], + [ + 9, + 37, + 47, + 48, + 40, + 50, + 33, + 16, + 35 + ], + [ + 36, + 28, + 38, + 21, + 49, + 32, + 15, + 43, + 44 + ], + [ + 0, + 10, + 20, + 30, + 31, + 14, + 42, + 52, + 53 + ] + ], + "key_selection": [ + 5, + 1, + 2, + 2 + ] + }, + { + "keypad": [ + [ + 9, + 19, + 29, + 39, + 4, + 32, + 15, + 52, + 8 + ], + [ + 0, + 37, + 47, + 3, + 13, + 5, + 6, + 25, + 26 + ], + [ + 36, + 28, + 38, + 48, + 40, + 23, + 33, + 34, + 35 + ], + [ + 27, + 1, + 2, + 12, + 31, + 14, + 24, + 7, + 44 + ], + [ + 18, + 46, + 20, + 21, + 22, + 50, + 42, + 43, + 17 + ], + [ + 45, + 10, + 11, + 30, + 49, + 41, + 51, 16, 53 ] ], "key_selection": [ + 3, + 1, 0, + 0 + ] + }, + { + "keypad": [ + [ + 27, + 19, + 47, + 48, + 22, + 32, + 6, + 25, + 8 + ], + [ + 0, + 46, + 11, + 12, + 13, + 50, + 33, + 52, + 44 + ], + [ + 36, + 28, + 20, + 39, + 49, + 41, + 51, + 16, + 53 + ], + [ + 45, + 1, + 29, + 30, + 40, + 14, + 42, + 7, + 35 + ], + [ + 9, + 37, + 2, + 21, + 31, + 23, + 24, + 43, + 26 + ], + [ + 18, + 10, + 38, + 3, + 4, + 5, + 15, + 34, + 17 + ] + ], + "key_selection": [ + 3, + 5, + 0, + 5 + ] + }, + { + "keypad": [ + [ + 36, + 46, + 29, + 3, + 4, + 50, + 33, + 7, + 44 + ], + [ + 9, + 28, + 2, + 30, + 49, + 32, + 42, + 25, + 35 + ], + [ + 27, + 37, + 11, + 39, + 22, + 5, + 51, + 52, + 17 + ], + [ + 0, + 1, + 20, + 21, + 31, + 23, + 24, + 43, + 53 + ], + [ + 18, + 19, + 47, + 48, + 13, + 41, + 15, + 16, + 26 + ], + [ + 45, + 10, + 38, + 12, + 40, + 14, + 6, + 34, + 8 + ] + ], + "key_selection": [ + 5, + 2, + 5, + 0 + ] + }, + { + "keypad": [ + [ + 27, + 37, + 29, + 12, + 22, + 41, + 24, + 52, + 44 + ], + [ + 45, + 19, + 38, + 39, + 49, + 50, + 42, + 25, + 35 + ], + [ + 9, + 46, + 20, + 48, + 13, + 14, + 6, + 16, + 26 + ], + [ + 18, + 10, + 47, + 30, + 4, + 23, + 51, + 7, + 17 + ], + [ + 36, + 1, + 11, + 3, + 40, + 5, + 15, + 43, + 53 + ], + [ + 0, + 28, + 2, + 21, + 31, + 32, + 33, + 34, + 8 + ] + ], + "key_selection": [ + 2, + 4, + 5, + 3 + ] + }, + { + "keypad": [ + [ + 9, + 28, + 11, + 48, + 40, + 5, + 42, + 52, + 53 + ], + [ + 45, + 1, + 38, + 39, + 49, + 23, + 51, + 25, + 17 + ], + [ + 18, + 46, + 29, + 30, + 22, + 41, + 6, + 16, + 35 + ], + [ + 0, + 37, + 47, + 12, + 31, + 14, + 24, + 43, + 44 + ], + [ + 27, + 10, + 2, + 21, + 13, + 50, + 33, + 7, + 8 + ], + [ + 36, + 19, + 20, + 3, + 4, + 32, + 15, + 34, + 26 + ] + ], + "key_selection": [ + 3, + 0, + 4, + 5 + ] + }, + { + "keypad": [ + [ + 0, + 1, + 38, + 12, + 4, + 32, + 33, + 43, + 53 + ], + [ + 9, + 10, + 11, + 48, + 49, + 14, + 51, + 7, + 26 + ], + [ + 45, + 28, + 47, + 39, + 13, + 41, + 24, + 16, + 8 + ], + [ + 18, + 46, + 29, + 21, + 22, + 5, + 6, + 25, + 44 + ], + [ + 27, + 37, + 2, + 30, + 40, + 23, + 42, + 34, + 35 + ], + [ + 36, + 19, + 20, + 3, + 31, + 50, + 15, + 52, + 17 + ] + ], + "key_selection": [ + 1, + 3, + 2, + 0 + ] + }, + { + "keypad": [ + [ + 27, + 28, + 29, + 21, + 4, + 14, + 15, + 52, + 8 + ], + [ + 36, + 19, + 38, + 30, + 31, + 41, + 24, + 43, + 35 + ], + [ + 0, + 37, + 47, + 48, + 49, + 23, + 33, + 7, + 26 + ], + [ + 18, + 1, + 20, + 3, + 13, + 50, + 51, + 34, + 53 + ], + [ + 9, + 46, + 11, + 12, + 22, + 5, + 6, + 16, + 17 + ], + [ + 45, + 10, + 2, + 39, + 40, + 32, + 42, + 25, + 44 + ] + ], + "key_selection": [ + 0, + 4, + 0, + 0 + ] + }, + { + "keypad": [ + [ + 36, + 10, + 47, + 39, + 40, + 14, + 51, + 43, + 53 + ], + [ + 45, + 1, + 11, + 30, + 4, + 50, + 42, + 52, + 44 + ], + [ + 18, + 19, + 29, + 48, + 49, + 5, + 6, + 16, + 26 + ], + [ + 27, + 28, + 38, + 12, + 13, + 41, + 33, + 34, + 8 + ], + [ + 0, + 37, + 2, + 3, + 22, + 23, + 15, + 25, + 17 + ], + [ + 9, + 46, + 20, + 21, + 31, + 32, + 24, + 7, + 35 + ] + ], + "key_selection": [ + 0, + 2, + 3, + 1 + ] + }, + { + "keypad": [ + [ + 27, + 37, + 38, + 48, + 40, + 50, + 42, + 43, + 17 + ], + [ + 9, + 19, + 47, + 21, + 4, + 23, + 33, + 16, + 53 + ], + [ + 36, + 10, + 29, + 12, + 13, + 32, + 24, + 7, + 26 + ], + [ + 18, + 46, + 11, + 39, + 49, + 5, + 15, + 25, + 35 + ], + [ + 45, + 28, + 2, + 30, + 22, + 41, + 51, + 52, + 8 + ], + [ + 0, + 1, + 20, + 3, + 31, + 14, + 6, + 34, + 44 + ] + ], + "key_selection": [ + 5, + 3, + 4, + 1 + ] + }, + { + "keypad": [ + [ + 9, + 10, + 20, + 21, + 4, + 23, + 51, + 7, + 53 + ], + [ + 18, + 46, + 38, + 48, + 31, + 14, + 6, + 43, + 35 + ], + [ + 0, + 37, + 2, + 30, + 40, + 50, + 24, + 25, + 17 + ], + [ + 27, + 1, + 11, + 39, + 13, + 41, + 33, + 52, + 44 + ], + [ + 36, + 28, + 47, + 3, + 22, + 5, + 15, + 16, + 8 + ], + [ + 45, + 19, + 29, + 12, + 49, + 32, + 42, + 34, + 26 + ] + ], + "key_selection": [ + 1, + 4, + 4, + 0 + ] + }, + { + "keypad": [ + [ + 27, + 19, + 20, + 48, + 31, + 14, + 33, + 25, + 35 + ], + [ + 45, + 46, + 11, + 30, + 40, + 41, + 51, + 34, + 8 + ], + [ + 36, + 1, + 47, + 3, + 49, + 32, + 6, + 52, + 53 + ], + [ + 9, + 28, + 2, + 12, + 13, + 5, + 42, + 16, + 44 + ], + [ + 18, + 10, + 29, + 21, + 4, + 23, + 15, + 7, + 26 + ], + [ + 0, + 37, + 38, + 39, + 22, + 50, + 24, + 43, + 17 + ] + ], + "key_selection": [ + 0, + 3, + 1, + 4 + ] + }, + { + "keypad": [ + [ + 9, + 19, + 2, + 30, + 49, + 32, + 6, + 16, + 44 + ], + [ + 27, + 28, + 38, + 12, + 40, + 23, + 42, + 34, + 35 + ], + [ + 18, + 10, + 11, + 21, + 31, + 50, + 15, + 7, + 26 + ], + [ + 36, + 37, + 47, + 39, + 4, + 41, + 33, + 52, + 8 + ], + [ + 45, + 1, + 29, + 3, + 13, + 14, + 51, + 25, + 53 + ], + [ + 0, + 46, + 20, + 48, + 22, + 5, + 24, + 43, + 17 + ] + ], + "key_selection": [ + 4, + 5, + 3, + 3 + ] + }, + { + "keypad": [ + [ + 36, + 37, + 20, + 48, + 4, + 32, + 6, + 52, + 44 + ], + [ + 9, + 19, + 2, + 21, + 31, + 14, + 24, + 43, + 17 + ], + [ + 18, + 46, + 47, + 3, + 13, + 41, + 42, + 7, + 26 + ], + [ + 0, + 28, + 29, + 39, + 22, + 50, + 51, + 25, + 53 + ], + [ + 45, + 1, + 38, + 12, + 49, + 23, + 15, + 16, + 8 + ], + [ + 27, + 10, + 11, + 30, + 40, + 5, + 33, + 34, + 35 + ] + ], + "key_selection": [ + 1, + 5, + 4, + 0 + ] + }, + { + "keypad": [ + [ + 27, + 28, + 11, + 48, + 31, + 32, + 42, + 52, + 35 + ], + [ + 36, + 46, + 2, + 12, + 40, + 14, + 33, + 25, + 8 + ], + [ + 45, + 37, + 29, + 30, + 49, + 5, + 15, + 7, + 17 + ], + [ + 18, + 1, + 38, + 39, + 22, + 50, + 51, + 16, + 53 + ], + [ + 9, + 19, + 47, + 21, + 4, + 23, + 24, + 43, + 26 + ], + [ + 0, + 10, + 20, + 3, + 13, + 41, + 6, + 34, + 44 + ] + ], + "key_selection": [ + 1, + 2, + 1, + 4 + ] + }, + { + "keypad": [ + [ + 18, + 10, + 20, + 3, + 49, + 50, + 6, + 52, + 17 + ], + [ + 0, + 46, + 2, + 39, + 40, + 5, + 24, + 34, + 35 + ], + [ + 45, + 19, + 29, + 48, + 22, + 41, + 33, + 43, + 8 + ], + [ + 27, + 1, + 38, + 30, + 31, + 32, + 42, + 16, + 53 + ], + [ + 36, + 37, + 11, + 21, + 13, + 14, + 51, + 7, + 26 + ], + [ + 9, + 28, + 47, + 12, + 4, + 23, + 15, + 25, + 44 + ] + ], + "key_selection": [ + 4, 1, 2, 5 @@ -85,304 +3125,76 @@ { "keypad": [ [ - 45, - 46, + 27, + 28, 2, 3, - 31, - 50, - 6, - 7, - 35 - ], - [ - 9, - 28, - 29, - 21, - 13, + 22, 23, - 51, - 34, + 42, + 52, 53 ], [ - 18, - 1, - 11, - 30, - 40, - 5, - 33, - 25, - 17 - ], - [ - 36, - 19, - 20, - 12, - 22, + 0, + 37, + 38, + 39, + 13, 41, 15, 16, - 26 - ], - [ - 27, - 37, - 47, - 39, - 49, - 32, - 42, - 43, 44 ], [ - 0, - 10, - 38, - 48, - 4, - 14, - 24, - 52, - 8 - ] - ], - "key_selection": [ - 5, - 3, - 0, - 1 - ] - }, - { - "keypad": [ - [ - 27, + 9, 46, - 11, - 21, + 47, + 48, 40, - 32, - 42, - 34, + 50, + 33, + 25, 8 ], [ 45, - 10, - 47, - 48, + 1, + 11, + 30, 31, - 14, - 24, - 16, - 17 - ], - [ - 18, - 37, - 20, - 3, - 49, 5, - 15, - 43, + 51, + 34, 35 ], [ - 9, - 28, - 38, - 39, + 18, + 19, + 29, + 21, 4, - 41, - 33, - 52, + 14, + 6, + 7, 26 ], [ 36, - 1, - 29, + 10, + 20, 12, - 13, - 50, - 6, - 7, - 44 - ], - [ - 0, - 19, - 2, - 30, - 22, - 23, - 51, - 25, - 53 + 49, + 32, + 24, + 43, + 17 ] ], "key_selection": [ - 1, 4, - 2, - 5 - ] - }, - { - "keypad": [ - [ - 18, - 10, - 2, - 30, - 49, - 32, - 15, - 43, - 17 - ], - [ - 36, - 37, - 38, - 48, - 40, - 23, - 6, - 34, - 53 - ], - [ - 0, - 28, - 11, - 12, - 4, - 14, - 42, - 25, - 26 - ], - [ - 45, - 46, - 47, - 21, - 31, - 5, - 24, - 16, - 8 - ], - [ - 9, - 19, - 29, - 3, - 22, - 41, - 33, - 7, - 35 - ], - [ - 27, - 1, - 20, - 39, - 13, - 50, - 51, - 52, - 44 - ] - ], - "key_selection": [ 3, 2, - 4, - 1 - ] - }, - { - "keypad": [ - [ - 27, - 37, - 38, - 39, - 31, - 50, - 6, - 25, - 44 - ], - [ - 0, - 1, - 2, - 21, - 40, - 41, - 42, - 34, - 17 - ], - [ - 9, - 19, - 47, - 48, - 4, - 5, - 51, - 16, - 26 - ], - [ - 36, - 10, - 11, - 12, - 13, - 32, - 15, - 43, - 35 - ], - [ - 18, - 28, - 29, - 30, - 22, - 14, - 24, - 52, - 53 - ], - [ - 45, - 46, - 20, - 3, - 49, - 23, - 33, - 7, - 8 - ] - ], - "key_selection": [ - 4, - 3, - 5, 4 ] }, @@ -390,151 +3202,151 @@ "keypad": [ [ 0, - 37, - 47, - 12, - 49, - 23, - 51, + 19, + 20, + 39, + 31, + 32, + 24, + 43, + 35 + ], + [ + 27, + 10, + 2, + 48, + 4, + 5, + 15, + 7, + 44 + ], + [ + 45, + 28, + 11, + 21, + 22, + 50, + 6, 34, 53 ], [ - 9, - 1, - 2, - 30, - 13, - 32, - 42, - 25, + 18, + 46, + 47, + 3, + 49, + 41, + 33, + 52, 26 ], [ - 27, - 19, - 29, - 21, - 22, - 5, - 6, - 43, + 36, + 1, + 38, + 12, + 40, + 23, + 42, + 25, 8 ], [ - 36, - 28, - 11, - 3, - 4, + 9, + 37, + 29, + 30, + 13, 14, - 15, - 52, - 17 - ], - [ - 45, - 46, - 20, - 48, - 31, - 50, - 33, + 51, 16, - 35 - ], - [ - 18, - 10, - 38, - 39, - 40, - 41, - 24, - 7, - 44 + 17 ] ], "key_selection": [ 5, - 0, - 3, - 0 + 1, + 4, + 1 ] }, { "keypad": [ [ - 36, + 9, 37, - 47, - 39, - 31, - 5, - 15, + 2, + 48, + 22, + 50, + 24, 25, + 17 + ], + [ + 27, + 28, + 47, + 21, + 31, + 32, + 33, + 52, 35 ], [ 18, 10, 29, - 3, - 22, - 32, - 6, - 7, - 17 - ], - [ - 45, - 1, - 20, - 48, - 4, + 12, + 13, 23, 51, + 7, + 44 + ], + [ + 36, + 19, + 20, + 30, + 4, + 14, + 42, 34, 8 ], [ 0, - 19, - 2, - 12, - 49, - 14, - 33, - 43, - 53 + 1, + 38, + 39, + 40, + 41, + 6, + 16, + 26 ], [ - 27, + 45, 46, 11, - 30, - 13, - 41, - 24, - 16, - 44 - ], - [ - 9, - 28, - 38, - 21, - 40, - 50, - 42, - 52, - 26 + 3, + 49, + 5, + 15, + 43, + 53 ] ], "key_selection": [ - 4, 3, - 1, + 5, + 3, 3 ] }, @@ -542,150 +3354,74 @@ "keypad": [ [ 27, - 37, - 47, - 21, - 4, - 41, - 15, - 52, - 26 - ], - [ - 45, 28, - 20, - 12, - 40, - 23, - 33, - 25, - 53 - ], - [ - 9, - 1, 38, - 30, - 49, - 5, - 42, - 34, - 17 - ], - [ - 0, - 10, - 2, - 48, - 13, - 50, + 12, + 4, + 14, 6, - 7, + 16, 44 ], [ - 36, + 0, 19, - 11, - 39, - 31, - 14, + 47, + 48, + 13, + 41, 51, 43, - 8 - ], - [ - 18, - 46, - 29, - 3, - 22, - 32, - 24, - 16, - 35 - ] - ], - "key_selection": [ - 5, - 1, - 5, - 1 - ] - }, - { - "keypad": [ - [ - 0, - 1, - 47, - 12, - 49, - 41, - 15, - 7, 53 ], [ 9, - 28, + 46, 11, 39, - 40, - 23, - 42, - 34, - 26 + 22, + 5, + 15, + 25, + 35 ], [ 45, - 37, - 2, - 30, - 13, - 5, - 33, - 25, - 44 - ], - [ - 27, - 46, - 38, - 21, - 22, - 32, - 51, - 52, - 8 - ], - [ - 36, - 19, - 20, - 48, - 4, - 14, - 6, - 16, - 17 - ], - [ - 18, 10, 29, 3, 31, 50, + 42, + 7, + 17 + ], + [ + 36, + 37, + 20, + 30, + 49, + 23, 24, - 43, - 35 + 52, + 26 + ], + [ + 18, + 1, + 2, + 21, + 40, + 32, + 33, + 34, + 8 ] ], "key_selection": [ - 5, 0, + 2, 5, 0 ] @@ -693,380 +3429,152 @@ { "keypad": [ [ - 18, - 10, - 47, - 30, - 31, - 32, - 6, - 25, - 17 - ], - [ - 45, + 27, 28, - 2, + 11, 39, 13, 50, - 15, - 43, - 26 - ], - [ - 9, - 1, - 38, - 21, - 4, - 41, - 24, - 16, - 8 - ], - [ - 0, - 37, - 11, - 3, - 49, - 5, - 42, + 33, 52, 44 ], [ - 36, - 19, - 29, + 45, + 46, + 38, + 48, + 22, + 5, + 51, + 34, + 17 + ], + [ + 0, + 37, + 47, 12, 40, 23, - 51, - 34, + 24, + 25, + 26 + ], + [ + 18, + 10, + 29, + 21, + 49, + 14, + 42, + 43, + 35 + ], + [ + 9, + 1, + 2, + 30, + 4, + 32, + 6, + 16, 53 ], [ - 27, - 46, + 36, + 19, 20, - 48, - 22, - 14, - 33, + 3, + 31, + 41, + 15, 7, - 35 + 8 ] ], "key_selection": [ - 2, - 4, 3, + 1, + 5, 4 ] }, { "keypad": [ + [ + 45, + 46, + 29, + 3, + 49, + 23, + 51, + 16, + 44 + ], [ 36, 10, - 11, + 2, 39, + 31, + 32, + 42, + 52, + 17 + ], + [ + 18, + 37, + 38, + 12, + 22, + 14, + 15, + 34, + 35 + ], + [ + 0, + 19, + 47, + 30, 13, - 50, + 5, 33, 7, 8 ], - [ - 9, - 19, - 47, - 12, - 4, - 5, - 15, - 52, - 53 - ], [ 27, - 37, - 2, - 30, - 22, - 23, - 42, - 16, - 35 - ], - [ - 18, - 46, - 29, - 21, - 40, - 32, - 6, - 34, - 17 - ], - [ - 0, 1, 20, - 48, - 31, - 14, - 24, - 25, - 44 - ], - [ - 45, - 28, - 38, - 3, - 49, - 41, - 51, - 43, - 26 - ] - ], - "key_selection": [ - 4, - 1, - 5, - 1 - ] - }, - { - "keypad": [ - [ - 27, - 46, - 47, - 48, - 31, - 23, - 42, - 25, - 17 - ], - [ - 9, - 28, - 2, - 12, - 49, - 5, - 24, - 16, - 8 - ], - [ - 45, - 37, - 29, - 39, - 13, - 32, - 33, - 7, - 35 - ], - [ - 0, - 10, - 11, 21, 40, - 50, - 15, - 43, - 53 - ], - [ - 18, - 19, - 38, - 3, - 22, 41, 6, - 52, - 26 - ], - [ - 36, - 1, - 20, - 30, - 4, - 14, - 51, - 34, - 44 - ] - ], - "key_selection": [ - 1, - 1, - 4, - 3 - ] - }, - { - "keypad": [ - [ - 18, - 10, - 38, - 12, - 40, - 41, - 24, 43, - 44 - ], - [ - 0, - 46, - 47, - 30, - 49, - 32, - 42, - 16, - 17 - ], - [ - 9, - 19, - 29, - 48, - 13, - 5, - 51, - 25, - 8 - ], - [ - 27, - 28, - 2, - 21, - 22, - 50, - 15, - 7, - 53 - ], - [ - 36, - 1, - 11, - 3, - 4, - 23, - 33, - 52, - 35 - ], - [ - 45, - 37, - 20, - 39, - 31, - 14, - 6, - 34, - 26 - ] - ], - "key_selection": [ - 0, - 0, - 4, - 3 - ] - }, - { - "keypad": [ - [ - 27, - 37, - 47, - 48, - 40, - 14, - 51, - 25, - 8 - ], - [ - 0, - 1, - 11, - 39, - 22, - 5, - 15, - 43, - 44 - ], - [ - 45, - 28, - 29, - 30, - 31, - 32, - 24, - 16, 26 ], [ 9, - 19, - 38, - 21, - 49, - 23, - 33, - 52, - 35 - ], - [ - 36, - 46, - 20, - 12, - 13, - 41, - 42, - 34, - 17 - ], - [ - 18, - 10, - 2, - 3, + 28, + 11, + 48, 4, 50, - 6, - 7, + 24, + 25, 53 ] ], "key_selection": [ 2, - 4, - 5, + 3, + 3, 5 ] }, @@ -1074,911 +3582,151 @@ "keypad": [ [ 27, - 28, - 47, - 3, - 49, - 32, - 42, - 52, - 44 - ], - [ - 18, - 10, - 20, - 12, - 13, - 14, - 24, - 7, - 17 - ], - [ - 0, - 46, - 38, - 48, - 4, - 50, - 15, - 34, - 53 - ], - [ - 36, - 1, - 29, - 39, - 31, - 41, - 33, - 25, - 35 - ], - [ - 9, - 19, - 11, - 21, - 22, - 5, - 6, - 43, - 26 - ], - [ - 45, 37, - 2, - 30, - 40, - 23, - 51, - 16, - 8 - ] - ], - "key_selection": [ - 1, - 1, - 0, - 2 - ] - }, - { - "keypad": [ - [ - 45, - 1, - 2, - 3, - 22, - 23, - 24, - 43, - 8 - ], - [ - 9, - 28, - 29, - 12, - 4, - 50, - 33, - 25, - 53 - ], - [ - 18, - 19, - 20, - 39, - 49, - 32, - 15, - 52, - 35 - ], - [ - 36, - 46, 47, 21, - 31, + 22, 41, 42, - 16, - 17 - ], - [ - 27, - 10, - 11, - 30, - 40, - 5, - 51, - 7, - 44 - ], - [ - 0, - 37, - 38, - 48, - 13, - 14, - 6, 34, - 26 - ] - ], - "key_selection": [ - 0, - 1, - 0, - 1 - ] - }, - { - "keypad": [ - [ - 45, - 28, - 20, - 30, - 40, - 32, - 51, - 52, - 44 + 17 ], [ 36, 10, 11, - 48, - 49, - 41, - 42, - 25, - 53 - ], - [ - 18, - 46, - 2, - 3, - 13, - 23, - 15, - 7, - 26 - ], - [ - 27, - 19, - 38, - 21, + 39, 31, 50, 33, - 43, - 17 - ], - [ - 9, - 1, - 47, - 12, - 4, - 14, - 24, - 34, - 8 - ], - [ - 0, - 37, - 29, - 39, - 22, - 5, - 6, 16, - 35 - ] - ], - "key_selection": [ - 4, - 4, - 2, - 1 - ] - }, - { - "keypad": [ - [ - 27, - 37, - 47, - 48, - 13, - 14, - 24, - 52, - 35 - ], - [ - 18, - 28, - 29, - 3, - 40, - 50, - 15, - 25, 53 ], - [ - 9, - 1, - 2, - 39, - 49, - 41, - 6, - 16, - 44 - ], [ 0, - 10, + 19, 20, - 30, - 22, - 5, + 3, + 4, + 14, 51, - 43, - 8 - ], - [ - 45, - 46, - 38, - 12, - 31, - 23, - 42, - 34, - 26 - ], - [ - 36, - 19, - 11, - 21, - 4, - 32, - 33, - 7, - 17 - ] - ], - "key_selection": [ - 0, - 4, - 1, - 1 - ] - }, - { - "keypad": [ - [ - 0, - 10, - 20, - 3, - 49, - 23, - 42, - 7, + 25, 26 ], [ 45, 28, - 2, - 39, - 22, - 32, - 33, - 52, - 8 - ], - [ - 27, - 46, - 47, - 30, - 4, - 14, - 24, - 25, - 53 - ], - [ - 18, - 19, 38, - 48, - 40, + 12, + 13, 5, 6, 43, 35 ], [ - 36, - 37, + 18, + 46, 29, - 12, - 31, - 41, - 15, - 16, - 17 - ], - [ - 9, - 1, - 11, - 21, - 13, - 50, - 51, - 34, - 44 - ] - ], - "key_selection": [ - 2, - 4, - 0, - 2 - ] - }, - { - "keypad": [ - [ - 9, - 1, - 38, - 21, - 22, - 5, + 30, + 49, + 23, 24, 52, 8 ], - [ - 27, - 19, - 11, - 3, - 40, - 50, - 42, - 7, - 44 - ], - [ - 18, - 46, - 29, - 12, - 13, - 41, - 6, - 25, - 17 - ], - [ - 0, - 28, - 47, - 48, - 4, - 14, - 33, - 43, - 35 - ], - [ - 45, - 10, - 2, - 39, - 49, - 23, - 51, - 34, - 53 - ], - [ - 36, - 37, - 20, - 30, - 31, - 32, - 15, - 16, - 26 - ] - ], - "key_selection": [ - 0, - 2, - 1, - 4 - ] - }, - { - "keypad": [ - [ - 36, - 46, - 29, - 3, - 22, - 50, - 33, - 7, - 35 - ], - [ - 27, - 1, - 20, - 21, - 40, - 5, - 15, - 52, - 26 - ], - [ - 0, - 37, - 38, - 30, - 4, - 32, - 6, - 34, - 17 - ], - [ - 18, - 10, - 11, - 39, - 13, - 14, - 42, - 16, - 44 - ], [ 9, - 28, - 47, - 48, - 31, - 23, - 24, - 43, - 53 - ], - [ - 45, - 19, - 2, - 12, - 49, - 41, - 51, - 25, - 8 - ] - ], - "key_selection": [ - 4, - 5, - 0, - 4 - ] - }, - { - "keypad": [ - [ - 9, - 10, - 47, - 39, - 4, - 50, - 42, - 52, - 17 - ], - [ - 36, 1, - 11, - 30, + 2, + 48, 40, 32, - 51, - 34, - 35 - ], - [ - 18, - 28, - 38, - 3, - 49, - 41, 15, - 25, - 44 - ], - [ - 45, - 37, - 20, - 21, - 13, - 23, - 6, - 43, - 53 - ], - [ - 0, - 46, - 29, - 12, - 22, - 14, - 24, 7, - 26 - ], - [ - 27, - 19, - 2, - 48, - 31, - 5, - 33, - 16, - 8 + 44 ] ], "key_selection": [ - 4, - 4, - 2, - 3 - ] - }, - { - "keypad": [ - [ - 36, - 1, - 47, - 30, - 49, - 32, - 33, - 34, - 8 - ], - [ - 27, - 28, - 29, - 48, - 4, - 41, - 6, - 43, - 35 - ], - [ - 18, - 37, - 2, - 12, - 22, - 23, - 51, - 25, - 44 - ], - [ - 0, - 46, - 38, - 3, - 31, - 14, - 15, - 16, - 17 - ], - [ - 45, - 10, - 20, - 21, - 13, - 50, - 42, - 52, - 53 - ], - [ - 9, - 19, - 11, - 39, - 40, - 5, - 24, - 7, - 26 - ] - ], - "key_selection": [ - 5, 2, 3, - 4 + 4, + 2 ] }, { "keypad": [ [ 27, - 19, + 37, 11, - 21, - 22, - 23, - 42, + 48, + 40, + 32, + 6, 34, - 26 - ], - [ - 0, - 28, - 47, - 39, - 13, - 5, - 33, - 16, - 35 + 53 ], [ 45, - 46, + 28, 38, 3, - 40, + 49, 14, - 6, + 42, + 43, + 26 + ], + [ + 18, + 19, + 20, + 39, + 4, + 41, + 15, 25, 8 ], [ 36, 1, - 2, - 30, - 31, - 50, - 51, - 43, - 44 - ], - [ - 18, - 10, - 20, - 48, - 49, - 41, - 15, - 7, - 53 - ], - [ - 9, - 37, - 29, - 12, - 4, - 32, - 24, - 52, - 17 - ] - ], - "key_selection": [ - 5, - 5, - 2, - 4 - ] - }, - { - "keypad": [ - [ - 36, - 1, - 38, - 48, - 49, - 5, - 33, - 52, - 44 - ], - [ - 45, - 28, - 29, - 12, - 40, - 32, - 42, - 16, - 8 - ], - [ - 0, - 37, - 11, - 39, - 31, - 14, - 24, - 25, - 17 - ], - [ - 18, - 19, 47, 21, 13, - 41, + 5, 51, - 34, - 26 + 16, + 17 ], [ 9, 46, 2, - 3, + 30, 22, 23, - 6, + 33, 7, - 53 + 35 ], [ - 27, + 0, 10, - 20, - 30, - 4, + 29, + 12, + 31, 50, - 15, - 43, - 35 + 24, + 52, + 44 ] ], "key_selection": [ - 2, 1, - 4, - 4 - ] - }, - { - "keypad": [ - [ - 9, - 46, - 11, - 3, - 4, - 32, - 42, - 25, - 26 - ], - [ - 36, - 19, - 38, - 48, - 40, - 5, - 15, - 52, - 44 - ], - [ - 45, - 10, - 29, - 30, - 31, - 14, - 33, - 7, - 53 - ], - [ - 0, - 1, - 20, - 39, - 49, - 41, - 24, - 34, - 35 - ], - [ - 27, - 37, - 47, - 12, - 13, - 23, - 6, - 16, - 17 - ], - [ - 18, - 28, - 2, - 21, - 22, - 50, - 51, - 43, - 8 - ] - ], - "key_selection": [ 3, - 4, - 0, + 2, 2 ] }, @@ -1986,1825 +3734,77 @@ "keypad": [ [ 0, - 10, - 11, - 39, + 28, + 47, + 48, 22, - 32, - 15, - 43, - 8 - ], - [ - 45, - 37, - 38, - 30, - 40, 41, - 33, - 34, + 24, + 43, 17 ], [ 18, - 46, - 29, - 12, + 1, + 20, + 39, 31, 5, - 42, + 6, 16, 26 ], [ 36, - 28, - 2, - 48, + 19, + 29, + 30, 13, - 23, - 51, - 52, - 35 - ], - [ - 9, - 1, - 20, - 3, - 49, - 50, - 6, - 25, + 32, + 15, + 34, 44 ], [ - 27, - 19, - 47, + 9, + 37, + 11, 21, - 4, + 49, + 23, + 42, + 25, + 8 + ], + [ + 27, + 10, + 2, + 12, + 40, 14, - 24, - 7, + 33, + 52, 53 + ], + [ + 45, + 46, + 38, + 3, + 4, + 50, + 51, + 7, + 35 ] ], "key_selection": [ - 5, - 2, 4, + 1, + 3, 5 ] - }, - { - "keypad": [ - [ - 9, - 19, - 29, - 30, - 40, - 5, - 42, - 25, - 17 - ], - [ - 36, - 1, - 2, - 12, - 22, - 32, - 6, - 16, - 35 - ], - [ - 18, - 46, - 38, - 21, - 31, - 50, - 15, - 43, - 44 - ], - [ - 0, - 10, - 20, - 48, - 13, - 14, - 33, - 52, - 53 - ], - [ - 27, - 28, - 11, - 3, - 4, - 41, - 24, - 34, - 8 - ], - [ - 45, - 37, - 47, - 39, - 49, - 23, - 51, - 7, - 26 - ] - ], - "key_selection": [ - 4, - 1, - 4, - 3 - ] - }, - { - "keypad": [ - [ - 36, - 10, - 29, - 39, - 22, - 23, - 33, - 43, - 53 - ], - [ - 9, - 37, - 11, - 48, - 13, - 41, - 15, - 16, - 44 - ], - [ - 0, - 28, - 20, - 3, - 40, - 14, - 6, - 34, - 26 - ], - [ - 18, - 1, - 2, - 21, - 4, - 5, - 24, - 7, - 8 - ], - [ - 27, - 19, - 47, - 12, - 49, - 32, - 51, - 25, - 35 - ], - [ - 45, - 46, - 38, - 30, - 31, - 50, - 42, - 52, - 17 - ] - ], - "key_selection": [ - 3, - 4, - 2, - 0 - ] - }, - { - "keypad": [ - [ - 9, - 28, - 38, - 48, - 4, - 50, - 24, - 25, - 26 - ], - [ - 18, - 46, - 2, - 3, - 22, - 32, - 15, - 7, - 44 - ], - [ - 0, - 19, - 47, - 30, - 13, - 23, - 6, - 52, - 8 - ], - [ - 45, - 1, - 20, - 21, - 40, - 14, - 33, - 16, - 35 - ], - [ - 36, - 37, - 29, - 39, - 31, - 5, - 51, - 43, - 17 - ], - [ - 27, - 10, - 11, - 12, - 49, - 41, - 42, - 34, - 53 - ] - ], - "key_selection": [ - 0, - 5, - 1, - 5 - ] - }, - { - "keypad": [ - [ - 36, - 28, - 11, - 12, - 13, - 14, - 33, - 34, - 44 - ], - [ - 18, - 1, - 38, - 39, - 4, - 41, - 24, - 16, - 8 - ], - [ - 0, - 46, - 2, - 3, - 49, - 23, - 51, - 25, - 26 - ], - [ - 27, - 37, - 47, - 48, - 40, - 5, - 15, - 43, - 35 - ], - [ - 45, - 10, - 29, - 30, - 31, - 32, - 6, - 52, - 53 - ], - [ - 9, - 19, - 20, - 21, - 22, - 50, - 42, - 7, - 17 - ] - ], - "key_selection": [ - 1, - 0, - 2, - 4 - ] - }, - { - "keypad": [ - [ - 18, - 10, - 29, - 39, - 13, - 41, - 24, - 7, - 35 - ], - [ - 0, - 37, - 38, - 3, - 22, - 32, - 6, - 52, - 8 - ], - [ - 9, - 46, - 11, - 12, - 49, - 50, - 51, - 43, - 53 - ], - [ - 27, - 19, - 47, - 21, - 40, - 23, - 42, - 25, - 26 - ], - [ - 45, - 28, - 20, - 48, - 4, - 14, - 33, - 34, - 44 - ], - [ - 36, - 1, - 2, - 30, - 31, - 5, - 15, - 16, - 17 - ] - ], - "key_selection": [ - 0, - 2, - 1, - 2 - ] - }, - { - "keypad": [ - [ - 45, - 37, - 11, - 48, - 40, - 5, - 15, - 16, - 8 - ], - [ - 9, - 19, - 38, - 21, - 13, - 14, - 33, - 7, - 26 - ], - [ - 18, - 28, - 47, - 3, - 31, - 32, - 6, - 34, - 17 - ], - [ - 27, - 1, - 2, - 39, - 22, - 50, - 51, - 52, - 35 - ], - [ - 0, - 46, - 29, - 30, - 49, - 41, - 42, - 25, - 53 - ], - [ - 36, - 10, - 20, - 12, - 4, - 23, - 24, - 43, - 44 - ] - ], - "key_selection": [ - 5, - 5, - 2, - 4 - ] - }, - { - "keypad": [ - [ - 9, - 28, - 2, - 48, - 13, - 32, - 42, - 16, - 35 - ], - [ - 0, - 1, - 11, - 21, - 40, - 50, - 33, - 25, - 53 - ], - [ - 27, - 19, - 47, - 12, - 49, - 5, - 51, - 34, - 8 - ], - [ - 36, - 10, - 38, - 3, - 31, - 14, - 24, - 43, - 26 - ], - [ - 45, - 46, - 29, - 30, - 22, - 23, - 6, - 7, - 44 - ], - [ - 18, - 37, - 20, - 39, - 4, - 41, - 15, - 52, - 17 - ] - ], - "key_selection": [ - 3, - 2, - 3, - 1 - ] - }, - { - "keypad": [ - [ - 36, - 37, - 2, - 12, - 40, - 41, - 15, - 7, - 53 - ], - [ - 18, - 28, - 11, - 3, - 13, - 32, - 33, - 34, - 8 - ], - [ - 9, - 1, - 20, - 30, - 4, - 5, - 24, - 16, - 44 - ], - [ - 45, - 46, - 38, - 48, - 22, - 23, - 6, - 43, - 26 - ], - [ - 27, - 19, - 47, - 39, - 31, - 14, - 42, - 52, - 17 - ], - [ - 0, - 10, - 29, - 21, - 49, - 50, - 51, - 25, - 35 - ] - ], - "key_selection": [ - 2, - 0, - 1, - 0 - ] - }, - { - "keypad": [ - [ - 36, - 28, - 2, - 3, - 13, - 41, - 24, - 43, - 53 - ], - [ - 18, - 10, - 29, - 48, - 49, - 5, - 51, - 34, - 35 - ], - [ - 45, - 46, - 20, - 21, - 31, - 23, - 6, - 52, - 8 - ], - [ - 27, - 37, - 38, - 12, - 4, - 14, - 42, - 16, - 44 - ], - [ - 9, - 19, - 11, - 30, - 22, - 50, - 15, - 25, - 26 - ], - [ - 0, - 1, - 47, - 39, - 40, - 32, - 33, - 7, - 17 - ] - ], - "key_selection": [ - 0, - 3, - 0, - 0 - ] - }, - { - "keypad": [ - [ - 45, - 28, - 29, - 48, - 4, - 14, - 6, - 34, - 53 - ], - [ - 18, - 10, - 20, - 39, - 31, - 50, - 24, - 16, - 26 - ], - [ - 0, - 37, - 2, - 12, - 13, - 41, - 15, - 7, - 35 - ], - [ - 27, - 1, - 47, - 3, - 22, - 5, - 51, - 43, - 8 - ], - [ - 9, - 46, - 11, - 21, - 49, - 23, - 42, - 25, - 44 - ], - [ - 36, - 19, - 38, - 30, - 40, - 32, - 33, - 52, - 17 - ] - ], - "key_selection": [ - 1, - 2, - 3, - 0 - ] - }, - { - "keypad": [ - [ - 27, - 37, - 47, - 30, - 4, - 32, - 24, - 34, - 44 - ], - [ - 45, - 28, - 38, - 21, - 31, - 23, - 33, - 52, - 8 - ], - [ - 9, - 19, - 20, - 3, - 13, - 50, - 42, - 16, - 35 - ], - [ - 0, - 1, - 2, - 48, - 40, - 5, - 6, - 43, - 17 - ], - [ - 36, - 46, - 11, - 12, - 22, - 41, - 51, - 7, - 53 - ], - [ - 18, - 10, - 29, - 39, - 49, - 14, - 15, - 25, - 26 - ] - ], - "key_selection": [ - 0, - 4, - 2, - 4 - ] - }, - { - "keypad": [ - [ - 27, - 10, - 47, - 3, - 4, - 23, - 42, - 43, - 53 - ], - [ - 36, - 46, - 20, - 39, - 13, - 14, - 33, - 16, - 35 - ], - [ - 0, - 37, - 11, - 21, - 40, - 50, - 24, - 52, - 17 - ], - [ - 45, - 1, - 29, - 12, - 31, - 5, - 15, - 34, - 8 - ], - [ - 9, - 28, - 2, - 30, - 22, - 41, - 6, - 7, - 26 - ], - [ - 18, - 19, - 38, - 48, - 49, - 32, - 51, - 25, - 44 - ] - ], - "key_selection": [ - 2, - 3, - 0, - 0 - ] - }, - { - "keypad": [ - [ - 0, - 37, - 38, - 12, - 4, - 41, - 33, - 43, - 44 - ], - [ - 9, - 1, - 20, - 3, - 49, - 50, - 42, - 7, - 35 - ], - [ - 36, - 10, - 29, - 48, - 40, - 23, - 51, - 34, - 26 - ], - [ - 45, - 19, - 11, - 39, - 31, - 5, - 24, - 16, - 8 - ], - [ - 27, - 46, - 2, - 21, - 13, - 14, - 6, - 25, - 53 - ], - [ - 18, - 28, - 47, - 30, - 22, - 32, - 15, - 52, - 17 - ] - ], - "key_selection": [ - 3, - 0, - 1, - 4 - ] - }, - { - "keypad": [ - [ - 36, - 28, - 47, - 30, - 13, - 50, - 15, - 34, - 8 - ], - [ - 27, - 19, - 20, - 48, - 31, - 41, - 6, - 52, - 35 - ], - [ - 18, - 46, - 29, - 3, - 22, - 32, - 33, - 7, - 17 - ], - [ - 45, - 1, - 38, - 21, - 4, - 23, - 24, - 16, - 53 - ], - [ - 0, - 37, - 11, - 12, - 49, - 14, - 42, - 25, - 26 - ], - [ - 9, - 10, - 2, - 39, - 40, - 5, - 51, - 43, - 44 - ] - ], - "key_selection": [ - 3, - 4, - 2, - 3 - ] - }, - { - "keypad": [ - [ - 0, - 46, - 47, - 3, - 22, - 5, - 42, - 7, - 8 - ], - [ - 36, - 19, - 38, - 12, - 40, - 41, - 15, - 34, - 44 - ], - [ - 9, - 10, - 20, - 21, - 13, - 32, - 6, - 25, - 53 - ], - [ - 27, - 37, - 2, - 48, - 4, - 50, - 24, - 43, - 35 - ], - [ - 18, - 1, - 11, - 39, - 49, - 14, - 51, - 16, - 26 - ], - [ - 45, - 28, - 29, - 30, - 31, - 23, - 33, - 52, - 17 - ] - ], - "key_selection": [ - 3, - 1, - 0, - 2 - ] - }, - { - "keypad": [ - [ - 27, - 37, - 20, - 3, - 22, - 32, - 33, - 7, - 53 - ], - [ - 18, - 1, - 29, - 21, - 13, - 50, - 15, - 34, - 17 - ], - [ - 0, - 10, - 2, - 12, - 49, - 23, - 42, - 16, - 26 - ], - [ - 36, - 46, - 38, - 48, - 40, - 5, - 24, - 43, - 44 - ], - [ - 9, - 28, - 11, - 30, - 4, - 41, - 51, - 52, - 35 - ], - [ - 45, - 19, - 47, - 39, - 31, - 14, - 6, - 25, - 8 - ] - ], - "key_selection": [ - 3, - 2, - 0, - 0 - ] - }, - { - "keypad": [ - [ - 0, - 10, - 2, - 3, - 40, - 50, - 15, - 43, - 26 - ], - [ - 27, - 1, - 38, - 21, - 31, - 41, - 42, - 25, - 35 - ], - [ - 36, - 19, - 29, - 30, - 49, - 32, - 24, - 7, - 8 - ], - [ - 9, - 28, - 20, - 12, - 4, - 5, - 51, - 34, - 44 - ], - [ - 18, - 37, - 11, - 48, - 22, - 14, - 6, - 52, - 53 - ], - [ - 45, - 46, - 47, - 39, - 13, - 23, - 33, - 16, - 17 - ] - ], - "key_selection": [ - 2, - 3, - 0, - 4 - ] - }, - { - "keypad": [ - [ - 18, - 19, - 2, - 30, - 49, - 14, - 6, - 52, - 17 - ], - [ - 9, - 37, - 29, - 3, - 13, - 50, - 42, - 34, - 8 - ], - [ - 36, - 28, - 20, - 39, - 4, - 5, - 15, - 25, - 35 - ], - [ - 45, - 46, - 38, - 12, - 22, - 41, - 33, - 43, - 26 - ], - [ - 27, - 1, - 47, - 21, - 40, - 23, - 51, - 7, - 53 - ], - [ - 0, - 10, - 11, - 48, - 31, - 32, - 24, - 16, - 44 - ] - ], - "key_selection": [ - 5, - 3, - 1, - 4 - ] - }, - { - "keypad": [ - [ - 36, - 46, - 38, - 39, - 4, - 32, - 33, - 16, - 17 - ], - [ - 45, - 37, - 47, - 48, - 49, - 14, - 51, - 7, - 26 - ], - [ - 0, - 1, - 29, - 21, - 13, - 50, - 24, - 52, - 44 - ], - [ - 27, - 19, - 20, - 30, - 31, - 41, - 6, - 43, - 53 - ], - [ - 18, - 10, - 11, - 12, - 40, - 5, - 15, - 25, - 8 - ], - [ - 9, - 28, - 2, - 3, - 22, - 23, - 42, - 34, - 35 - ] - ], - "key_selection": [ - 2, - 4, - 5, - 3 - ] - }, - { - "keypad": [ - [ - 9, - 1, - 38, - 39, - 4, - 32, - 42, - 16, - 53 - ], - [ - 18, - 28, - 11, - 21, - 22, - 50, - 33, - 25, - 17 - ], - [ - 0, - 10, - 29, - 12, - 31, - 5, - 24, - 52, - 35 - ], - [ - 36, - 19, - 47, - 30, - 49, - 14, - 15, - 34, - 26 - ], - [ - 27, - 37, - 2, - 48, - 40, - 23, - 6, - 43, - 8 - ], - [ - 45, - 46, - 20, - 3, - 13, - 41, - 51, - 7, - 44 - ] - ], - "key_selection": [ - 2, - 2, - 5, - 0 - ] - }, - { - "keypad": [ - [ - 18, - 28, - 20, - 21, - 22, - 14, - 33, - 25, - 26 - ], - [ - 27, - 10, - 2, - 3, - 13, - 5, - 51, - 43, - 44 - ], - [ - 9, - 19, - 38, - 12, - 31, - 41, - 15, - 16, - 53 - ], - [ - 45, - 1, - 47, - 39, - 40, - 50, - 6, - 7, - 17 - ], - [ - 0, - 46, - 29, - 30, - 49, - 32, - 42, - 52, - 8 - ], - [ - 36, - 37, - 11, - 48, - 4, - 23, - 24, - 34, - 35 - ] - ], - "key_selection": [ - 5, - 2, - 1, - 2 - ] - }, - { - "keypad": [ - [ - 9, - 46, - 29, - 48, - 4, - 14, - 24, - 16, - 26 - ], - [ - 45, - 19, - 20, - 30, - 22, - 32, - 33, - 7, - 53 - ], - [ - 27, - 37, - 47, - 12, - 40, - 23, - 42, - 43, - 8 - ], - [ - 36, - 1, - 2, - 3, - 31, - 41, - 15, - 52, - 35 - ], - [ - 18, - 28, - 38, - 21, - 13, - 5, - 6, - 34, - 17 - ], - [ - 0, - 10, - 11, - 39, - 49, - 50, - 51, - 25, - 44 - ] - ], - "key_selection": [ - 0, - 2, - 3, - 1 - ] - }, - { - "keypad": [ - [ - 45, - 37, - 11, - 12, - 31, - 41, - 24, - 7, - 44 - ], - [ - 0, - 28, - 29, - 21, - 4, - 5, - 42, - 16, - 17 - ], - [ - 36, - 10, - 47, - 39, - 40, - 23, - 6, - 34, - 35 - ], - [ - 18, - 1, - 20, - 30, - 13, - 14, - 15, - 43, - 8 - ], - [ - 9, - 19, - 38, - 3, - 49, - 50, - 51, - 25, - 53 - ], - [ - 27, - 46, - 2, - 48, - 22, - 32, - 33, - 52, - 26 - ] - ], - "key_selection": [ - 0, - 0, - 4, - 4 - ] } ] } \ No newline at end of file diff --git a/example/obs_png/run_001/observation_001.png b/example/obs_png/run_001/observation_001.png index 43c1365..3eed23d 100644 Binary files a/example/obs_png/run_001/observation_001.png and b/example/obs_png/run_001/observation_001.png differ diff --git a/example/obs_png/run_001/observation_002.png b/example/obs_png/run_001/observation_002.png index ab4efc4..bd9672e 100644 Binary files a/example/obs_png/run_001/observation_002.png and b/example/obs_png/run_001/observation_002.png differ diff --git a/example/obs_png/run_001/observation_003.png b/example/obs_png/run_001/observation_003.png index 4239315..6a7a165 100644 Binary files a/example/obs_png/run_001/observation_003.png and b/example/obs_png/run_001/observation_003.png differ diff --git a/example/obs_png/run_001/observation_004.png b/example/obs_png/run_001/observation_004.png index 5bff1ed..f16bc1f 100644 Binary files a/example/obs_png/run_001/observation_004.png and b/example/obs_png/run_001/observation_004.png differ diff --git a/example/obs_png/run_001/observation_005.png b/example/obs_png/run_001/observation_005.png index 1872cba..de3fa80 100644 Binary files a/example/obs_png/run_001/observation_005.png and b/example/obs_png/run_001/observation_005.png differ diff --git a/example/obs_png/run_001/observation_006.png b/example/obs_png/run_001/observation_006.png index 10af2f0..0422a37 100644 Binary files a/example/obs_png/run_001/observation_006.png and b/example/obs_png/run_001/observation_006.png differ diff --git a/example/obs_png/run_001/observation_007.png b/example/obs_png/run_001/observation_007.png index 7bc8970..1165a59 100644 Binary files a/example/obs_png/run_001/observation_007.png and b/example/obs_png/run_001/observation_007.png differ diff --git a/example/obs_png/run_001/observation_008.png b/example/obs_png/run_001/observation_008.png index 4adbe51..9065476 100644 Binary files a/example/obs_png/run_001/observation_008.png and b/example/obs_png/run_001/observation_008.png differ diff --git a/example/obs_png/run_001/observation_009.png b/example/obs_png/run_001/observation_009.png index 73ca6a6..6249fcf 100644 Binary files a/example/obs_png/run_001/observation_009.png and b/example/obs_png/run_001/observation_009.png differ diff --git a/example/obs_png/run_001/observation_010.png b/example/obs_png/run_001/observation_010.png index 87dde84..12b85ff 100644 Binary files a/example/obs_png/run_001/observation_010.png and b/example/obs_png/run_001/observation_010.png differ diff --git a/example/obs_png/run_001/observation_011.png b/example/obs_png/run_001/observation_011.png index 1bd48f4..8ba9907 100644 Binary files a/example/obs_png/run_001/observation_011.png and b/example/obs_png/run_001/observation_011.png differ diff --git a/example/obs_png/run_001/observation_012.png b/example/obs_png/run_001/observation_012.png index 33319aa..62f8d64 100644 Binary files a/example/obs_png/run_001/observation_012.png and b/example/obs_png/run_001/observation_012.png differ diff --git a/example/obs_png/run_001/observation_013.png b/example/obs_png/run_001/observation_013.png index 40d818a..d839e75 100644 Binary files a/example/obs_png/run_001/observation_013.png and b/example/obs_png/run_001/observation_013.png differ diff --git a/example/obs_png/run_001/observation_014.png b/example/obs_png/run_001/observation_014.png index f1e5847..a9a1efd 100644 Binary files a/example/obs_png/run_001/observation_014.png and b/example/obs_png/run_001/observation_014.png differ diff --git a/example/obs_png/run_001/observation_015.png b/example/obs_png/run_001/observation_015.png index 624a610..0039f0d 100644 Binary files a/example/obs_png/run_001/observation_015.png and b/example/obs_png/run_001/observation_015.png differ diff --git a/example/obs_png/run_001/observation_016.png b/example/obs_png/run_001/observation_016.png index 62b467e..34b7d2f 100644 Binary files a/example/obs_png/run_001/observation_016.png and b/example/obs_png/run_001/observation_016.png differ diff --git a/example/obs_png/run_001/observation_017.png b/example/obs_png/run_001/observation_017.png index f5ad56d..f48f211 100644 Binary files a/example/obs_png/run_001/observation_017.png and b/example/obs_png/run_001/observation_017.png differ diff --git a/example/obs_png/run_001/observation_018.png b/example/obs_png/run_001/observation_018.png index 0b71682..a06eeb2 100644 Binary files a/example/obs_png/run_001/observation_018.png and b/example/obs_png/run_001/observation_018.png differ diff --git a/example/obs_png/run_001/observation_019.png b/example/obs_png/run_001/observation_019.png index eec52e2..e3f33c7 100644 Binary files a/example/obs_png/run_001/observation_019.png and b/example/obs_png/run_001/observation_019.png differ diff --git a/example/obs_png/run_001/observation_020.png b/example/obs_png/run_001/observation_020.png index bb09be3..3d3ad3b 100644 Binary files a/example/obs_png/run_001/observation_020.png and b/example/obs_png/run_001/observation_020.png differ diff --git a/example/obs_png/run_001/observation_021.png b/example/obs_png/run_001/observation_021.png index 9bce116..b02e5c2 100644 Binary files a/example/obs_png/run_001/observation_021.png and b/example/obs_png/run_001/observation_021.png differ diff --git a/example/obs_png/run_001/observation_022.png b/example/obs_png/run_001/observation_022.png index 701dd41..68f18a6 100644 Binary files a/example/obs_png/run_001/observation_022.png and b/example/obs_png/run_001/observation_022.png differ diff --git a/example/obs_png/run_001/observation_023.png b/example/obs_png/run_001/observation_023.png index c0a24c5..2922cef 100644 Binary files a/example/obs_png/run_001/observation_023.png and b/example/obs_png/run_001/observation_023.png differ diff --git a/example/obs_png/run_001/observation_024.png b/example/obs_png/run_001/observation_024.png index bd7f903..6a95441 100644 Binary files a/example/obs_png/run_001/observation_024.png and b/example/obs_png/run_001/observation_024.png differ diff --git a/example/obs_png/run_001/observation_025.png b/example/obs_png/run_001/observation_025.png index 2709e8e..44427f7 100644 Binary files a/example/obs_png/run_001/observation_025.png and b/example/obs_png/run_001/observation_025.png differ diff --git a/example/obs_png/run_001/observation_026.png b/example/obs_png/run_001/observation_026.png index dd65c25..4e95ef1 100644 Binary files a/example/obs_png/run_001/observation_026.png and b/example/obs_png/run_001/observation_026.png differ diff --git a/example/obs_png/run_001/observation_027.png b/example/obs_png/run_001/observation_027.png index 3e66c5e..0e87054 100644 Binary files a/example/obs_png/run_001/observation_027.png and b/example/obs_png/run_001/observation_027.png differ diff --git a/example/obs_png/run_001/observation_028.png b/example/obs_png/run_001/observation_028.png index 372bde1..ebeec24 100644 Binary files a/example/obs_png/run_001/observation_028.png and b/example/obs_png/run_001/observation_028.png differ diff --git a/example/obs_png/run_001/observation_029.png b/example/obs_png/run_001/observation_029.png index 6640bda..3a89727 100644 Binary files a/example/obs_png/run_001/observation_029.png and b/example/obs_png/run_001/observation_029.png differ diff --git a/example/obs_png/run_001/observation_030.png b/example/obs_png/run_001/observation_030.png index 714ed32..b12846f 100644 Binary files a/example/obs_png/run_001/observation_030.png and b/example/obs_png/run_001/observation_030.png differ diff --git a/example/obs_png/run_001/observation_031.png b/example/obs_png/run_001/observation_031.png index 10f4d51..bf75b0d 100644 Binary files a/example/obs_png/run_001/observation_031.png and b/example/obs_png/run_001/observation_031.png differ diff --git a/example/obs_png/run_001/observation_032.png b/example/obs_png/run_001/observation_032.png index b20f966..5bd89ed 100644 Binary files a/example/obs_png/run_001/observation_032.png and b/example/obs_png/run_001/observation_032.png differ diff --git a/example/obs_png/run_001/observation_033.png b/example/obs_png/run_001/observation_033.png index b4ec189..10c585f 100644 Binary files a/example/obs_png/run_001/observation_033.png and b/example/obs_png/run_001/observation_033.png differ diff --git a/example/obs_png/run_001/observation_034.png b/example/obs_png/run_001/observation_034.png index d4f6a77..b17caad 100644 Binary files a/example/obs_png/run_001/observation_034.png and b/example/obs_png/run_001/observation_034.png differ diff --git a/example/obs_png/run_001/observation_035.png b/example/obs_png/run_001/observation_035.png index 8ab013f..3879ca7 100644 Binary files a/example/obs_png/run_001/observation_035.png and b/example/obs_png/run_001/observation_035.png differ diff --git a/example/obs_png/run_001/observation_036.png b/example/obs_png/run_001/observation_036.png index ee35418..70c8ecd 100644 Binary files a/example/obs_png/run_001/observation_036.png and b/example/obs_png/run_001/observation_036.png differ diff --git a/example/obs_png/run_001/observation_037.png b/example/obs_png/run_001/observation_037.png index 4ab0519..cff7b3c 100644 Binary files a/example/obs_png/run_001/observation_037.png and b/example/obs_png/run_001/observation_037.png differ diff --git a/example/obs_png/run_001/observation_038.png b/example/obs_png/run_001/observation_038.png index 89d10ed..08b8298 100644 Binary files a/example/obs_png/run_001/observation_038.png and b/example/obs_png/run_001/observation_038.png differ diff --git a/example/obs_png/run_001/observation_039.png b/example/obs_png/run_001/observation_039.png index c974adb..edd6267 100644 Binary files a/example/obs_png/run_001/observation_039.png and b/example/obs_png/run_001/observation_039.png differ diff --git a/example/obs_png/run_001/observation_040.png b/example/obs_png/run_001/observation_040.png index 4c79e40..ff1c7eb 100644 Binary files a/example/obs_png/run_001/observation_040.png and b/example/obs_png/run_001/observation_040.png differ diff --git a/example/obs_png/run_001/observation_041.png b/example/obs_png/run_001/observation_041.png index a2a2e5e..0728aa4 100644 Binary files a/example/obs_png/run_001/observation_041.png and b/example/obs_png/run_001/observation_041.png differ diff --git a/example/obs_png/run_001/observation_042.png b/example/obs_png/run_001/observation_042.png index 7d20666..6008947 100644 Binary files a/example/obs_png/run_001/observation_042.png and b/example/obs_png/run_001/observation_042.png differ diff --git a/example/obs_png/run_001/observation_043.png b/example/obs_png/run_001/observation_043.png index f1af348..550218f 100644 Binary files a/example/obs_png/run_001/observation_043.png and b/example/obs_png/run_001/observation_043.png differ diff --git a/example/obs_png/run_001/observation_044.png b/example/obs_png/run_001/observation_044.png index 5cfe764..f3b79f3 100644 Binary files a/example/obs_png/run_001/observation_044.png and b/example/obs_png/run_001/observation_044.png differ diff --git a/example/obs_png/run_001/observation_045.png b/example/obs_png/run_001/observation_045.png index faaf4f2..a78d7df 100644 Binary files a/example/obs_png/run_001/observation_045.png and b/example/obs_png/run_001/observation_045.png differ diff --git a/example/obs_png/run_001/observation_046.png b/example/obs_png/run_001/observation_046.png index 5005f2e..8c72ec7 100644 Binary files a/example/obs_png/run_001/observation_046.png and b/example/obs_png/run_001/observation_046.png differ diff --git a/example/obs_png/run_001/observation_047.png b/example/obs_png/run_001/observation_047.png index 332ef48..90faa2d 100644 Binary files a/example/obs_png/run_001/observation_047.png and b/example/obs_png/run_001/observation_047.png differ diff --git a/example/obs_png/run_001/observation_048.png b/example/obs_png/run_001/observation_048.png index 865b95a..cfee09c 100644 Binary files a/example/obs_png/run_001/observation_048.png and b/example/obs_png/run_001/observation_048.png differ diff --git a/example/obs_png/run_001/observation_049.png b/example/obs_png/run_001/observation_049.png index 2f72ebb..d83965e 100644 Binary files a/example/obs_png/run_001/observation_049.png and b/example/obs_png/run_001/observation_049.png differ diff --git a/example/obs_png/run_001/observation_050.png b/example/obs_png/run_001/observation_050.png index 1d70781..cfbaafe 100644 Binary files a/example/obs_png/run_001/observation_050.png and b/example/obs_png/run_001/observation_050.png differ diff --git a/src/visualnkode.py b/src/visualnkode.py index 2a0215c..369cd0a 100644 --- a/src/visualnkode.py +++ b/src/visualnkode.py @@ -180,20 +180,34 @@ def render_observation_to_png( draw.text((x, y), header2, font=header_font, fill=fg_color) y += h2_h + section_spacing - # Draw row boxes - for (text, (tw, th), box_h) in zip(row_texts, row_text_sizes, row_box_heights): + # Draw row boxes with evenly spaced numbers + max_box_width = max(row_box_widths) if row_box_widths else 0 + for row, box_h in zip(obs.keypad, row_box_heights): box_left = x box_top = y - box_right = x + max(row_box_widths) # make all boxes same width for neatness + box_right = x + max_box_width box_bottom = y + box_h - # rectangle - draw.rectangle([box_left, box_top, box_right, box_bottom], fill=row_fill, outline=row_outline, width=2) + # draw row rectangle + draw.rectangle( + [box_left, box_top, box_right, box_bottom], + fill=row_fill, + outline=row_outline, + width=2 + ) - # text centered vertically, left-padded - text_x = box_left + row_padding_xy[0] - text_y = box_top + (box_h - th) // 2 - draw.text((text_x, text_y), text, font=body_font, fill=fg_color) + # evenly spaced numbers + n = len(row) + if n > 0: + available_width = max_box_width - 2 * row_padding_xy[0] + spacing = available_width / (n + 1) + + for idx, num in enumerate(row, start=1): + num_text = str(num) + num_w, num_h = _text_size(draw, num_text, body_font) + num_x = box_left + row_padding_xy[0] + spacing * idx - num_w / 2 + num_y = box_top + (box_h - num_h) // 2 + draw.text((num_x, num_y), num_text, font=body_font, fill=fg_color) y = box_bottom + row_spacing