Navy Midshipmen vs Army Black Knights

Army Black KnightsArmyARMY
2-10
17
2-10
F
| 1 | 2 | 3 | 4 | T | |
|---|---|---|---|---|---|
Army ARMY | 10 | 7 | 0 | 0 | 17 |
Navy NAVY | 7 | 7 | 7 | 0 | 21 |

21
Navy MidshipmenNavyNAVY
10-2
21
10-2
1° Cuarto
Saque inicial
15:00 - 1°
Daniel Grochowski kickoff for 65 yds for a touchback
Pase de 9 yardas
14:30 - 1°
Keenan Reynolds pass complete to Jamir Tillman for 9 yds to the Navy 34
1º y 10 en NAVY 25
Carrera de 8 yardas
14:00 - 1°
Chris Swain run for 8 yds to the Navy 42 for a 1ST down
2º y 1 en NAVY 34
Carrera de 4 yardas
13:30 - 1°
Chris Swain run for 4 yds to the Navy 46
1º y 10 en NAVY 42
Pase de 3 yardas
13:00 - 1°
Keenan Reynolds pass complete to Jamir Tillman for 3 yds to the Navy 49
2º y 6 en NAVY 46
Carrera de -2 yardas
12:40 - 1°
Dishan Romine run for a loss of 2 yards to the Navy 47
3º y 3 en NAVY 49
Punt
11:44 - 1°
Alex Barta punt for 43 yds , Edgar Poe returns for 50 yds to the Navy 40
4º y 5 en NAVY 47
Carrera de -8 yardas
11:30 - 1°
Chris Carter run for 7 yds to the Navy 33 ARMY Penalty, Personal Foul (Jaryn Villegas) to the Navy 48
1º y 10 en NAVY 40
Fumble Recovery (Own)
10:45 - 1°
Chris Carter run for a loss of 2 yards to the 50 yard line Chris Carter fumbled, recovered by Army Chris Carter , return to the 50 yard line
2º y 18 en NAVY 48
Pase de 31 yardas
10:30 - 1°
Chris Carter pass complete to Edgar Poe for 31 yds to the Navy 19 for a 1ST down
3º y 20 en 50
Carrera de 2 yardas
9:45 - 1°
Chris Carter run for 2 yds to the Navy 17
1º y 10 en NAVY 19
Carrera de 3 yardas
9:00 - 1°
Aaron Kemper run for 3 yds to the Navy 14
2º y 8 en NAVY 17
Pase Incompleto
8:35 - 1°
Chris Carter pass incomplete to Kelvin White, broken up by Daiquan Thomasson
3º y 5 en NAVY 14
Gol de Campo es bueno
8:31 - 1°
Daniel Grochowski 32 Yd Field Goal
4º y 5 en NAVY 14
Saque inicial
8:31 - 1°
Daniel Grochowski kickoff for 65 yds for a touchback
Carrera de 17 yardas
8:25 - 1°
Keenan Reynolds run for 17 yds to the Navy 42 for a 1ST down
1º y 10 en NAVY 25
Carrera para anotación de 58
7:58 - 1°
Keenan Reynolds 58 Yd Run (Austin Grebe Kick)
1º y 10 en NAVY 42
Saque inicial
7:53 - 1°
Austin Grebe kickoff for 64 yds , Marcus Hyatt return for 17 yds to the Army 18
Carrera de 4 yardas
7:20 - 1°
Aaron Kemper run for 4 yds to the Army 22
1º y 10 en ARMY 18
Carrera de 9 yardas
7:00 - 1°
Nicholas Black run for 9 yds to the Army 31 for a 1ST down
2º y 6 en ARMY 22
Carrera de 2 yardas
6:20 - 1°
Matt Giachinta run for 2 yds to the Army 33
1º y 10 en ARMY 31
Carrera de 5 yardas
5:40 - 1°
Jordan Asberry run for 5 yds to the Army 38
2º y 8 en ARMY 33
Carrera de 5 yardas
5:20 - 1°
Chris Carter run for 5 yds to the Army 43 for a 1ST down
3º y 3 en ARMY 38
Pase de 28 yardas
4:38 - 1°
Chris Carter pass complete to Edgar Poe for 13 yds to the NAVY 44 for a 1ST down NAVY Penalty, Illegal Use of Hands (Amos Mason) to the Navy 29 for a 1ST down
1º y 10 en NAVY 43
Carrera para anotación de 29
4:10 - 1°
Tyler Campbell 29 Yd Run (Daniel Grochowski Kick)
1º y 10 en NAVY 29
Saque inicial
4:10 - 1°
Daniel Grochowski kickoff for 65 yds for a touchback
Pase de 35 yardas
4:03 - 1°
Keenan Reynolds pass complete to Jamir Tillman for 35 yds to the NAVY 40 for a 1ST down ARMY Penalty, Defensive Pass Interference (Chris Carnegie) declined for a 1ST down
1º y 10 en NAVY 25
Carrera de -1 yardas
3:30 - 1°
Keenan Reynolds run for a loss of 1 yard to the Army 41
1º y 10 en ARMY 40
Pase de 5 yardas
3:15 - 1°
Keenan Reynolds pass complete to Jamir Tillman for 5 yds to the Army 36
2º y 11 en ARMY 41
Carrera de -2 yardas
2:40 - 1°
Keenan Reynolds run for a loss of 2 yards to the Army 38 NAVY Penalty, Offensive Holding (Joey Gaston) declined
3º y 6 en ARMY 36
Punt
2:18 - 1°
Alex Barta punt for 32 yds, downed at the Army 6
4º y 8 en ARMY 38
Carrera de 2 yardas
2:00 - 1°
Chris Carter run for 2 yds to the Army 8
1º y 10 en ARMY 6
Carrera de 2 yardas
1:30 - 1°
Chris Carter run for 2 yds to the Army 10
2º y 8 en ARMY 8
Pase Incompleto
0:51 - 1°
Chris Carter pass incomplete to Edgar Poe
3º y 6 en ARMY 10
Punt
0:45 - 1°
Alex Tardieu punt for 40 yds, fair catch by Calvin Cass Jr. at the 50 yard line
4º y 6 en ARMY 10
2° Cuarto
Carrera de 5 yardas
0:20 - 1°
Keenan Reynolds run for 5 yds to the Army 45
1º y 10 en 50
Carrera de 3 yardas
0:00 - 1°
Keenan Reynolds run for 3 yds to the Army 42
2º y 5 en ARMY 45
End of 1st Quarter
Carrera de 3 yardas
14:56 - 2°
Chris Swain run for 3 yds to the Army 39 for a 1ST down
3º y 2 en ARMY 42
Carrera de 35 yardas
14:21 - 2°
Keenan Reynolds run for 35 yds to the Army 4 for a 1ST down
1º y 10 en ARMY 39
Carrera de 1 yardas
13:40 - 2°
Chris Swain run for 1 yd to the Army 3
1º y Gol en ARMY 4
Carrera de 2 yardas
12:50 - 2°
Chris Swain run for 2 yds to the Army 1
2º y Gol en ARMY 3
Carrera para anotación de 1
12:18 - 2°
Keenan Reynolds 1 Yd Run (Austin Grebe Kick)
3º y Gol en ARMY 1
Saque inicial
12:18 - 2°
Austin Grebe kickoff for 65 yds for a touchback
Carrera de 5 yardas
12:00 - 2°
Aaron Kemper run for 5 yds to the Army 30
1º y 10 en ARMY 25
Carrera de -1 yardas
11:15 - 2°
Jordan Asberry run for a loss of 1 yard to the Army 29
2º y 5 en ARMY 30
Carrera de 10 yardas
10:30 - 2°
Chris Carter run for 10 yds to the Army 39 for a 1ST down
3º y 6 en ARMY 29
Carrera de 1 yardas
9:45 - 2°
Aaron Kemper run for 1 yd to the Army 40
1º y 10 en ARMY 39
Carrera de 7 yardas
9:00 - 2°
Jordan Asberry run for 7 yds to the Army 47
2º y 9 en ARMY 40
(8:49 - 2°) Timeout ARMY, clock 08:49
Carrera de 7 yardas
8:40 - 2°
Chris Carter run for 7 yds to the Navy 46 for a 1ST down
3º y 2 en ARMY 47
Pase Incompleto
8:03 - 2°
Chris Carter pass incomplete to Edgar Poe, broken up by Brendon Clements
1º y 10 en NAVY 46
Carrera de 2 yardas
7:45 - 2°
Tyler Campbell run for 2 yds to the Navy 44
2º y 10 en NAVY 46
Pase de 8 yardas
7:00 - 2°
Chris Carter pass complete to Edgar Poe for 8 yds to the Navy 36 for a 1ST down
3º y 8 en NAVY 44
Carrera de 4 yardas
6:20 - 2°
Christian Drake run for 4 yds to the Navy 32
1º y 10 en NAVY 36
Carrera de -3 yardas
6:00 - 2°
Nicholas Black run for a loss of 3 yards to the Navy 35
2º y 6 en NAVY 32
Carrera de -2 yardas
5:15 - 2°
Chris Carter run for a loss of 2 yards to the Navy 37
3º y 9 en NAVY 35
Punt
4:24 - 2°
Alex Tardieu punt for 37 yds for a touchback
4º y 11 en NAVY 37
Fumble Recovery (Own)
4:00 - 2°
TEAM run for a loss of 4 yards to the Navy 16 TEAM fumbled, recovered by Navy DeBrandon Sanders
1º y 10 en NAVY 20
Carrera de -2 yardas
3:30 - 2°
Keenan Reynolds run for a loss of 2 yards to the Navy 14
2º y 14 en NAVY 16
Pase Incompleto
3:00 - 2°
Keenan Reynolds pass incomplete to Jamir Tillman, broken up by Brandon Jackson
3º y 16 en NAVY 14
Punt
2:48 - 2°
Alex Barta punt for 42 yds , Edgar Poe returns for 2 yds to the Army 46
4º y 16 en NAVY 14
Carrera de 15 yardas
2:36 - 2°
Christian Drake run for 15 yds to the Navy 39 for a 1ST down
1º y 10 en ARMY 46
Pase para touchdown
2:08 - 2°
Edgar Poe 39 Yd pass from Chris Carter (Daniel Grochowski Kick)
1º y 10 en NAVY 39
Saque inicial
1:59 - 2°
Daniel Grochowski kickoff for 65 yds , Dishan Romine return for 42 yds to the Navy 42
Carrera de 5 yardas
1:40 - 2°
Chris Swain run for 5 yds to the Navy 47
1º y 10 en NAVY 42
Pase Incompleto
1:35 - 2°
Keenan Reynolds pass incomplete to Jamir Tillman
2º y 5 en NAVY 47
Carrera de 4 yardas
1:10 - 2°
Chris Swain run for 4 yds to the Army 49
3º y 5 en NAVY 47
Carrera de 3 yardas
0:45 - 2°
DeBrandon Sanders run for 3 yds to the Army 46 for a 1ST down
4º y 1 en ARMY 49
(0:43 - 2°) Timeout NAVY, clock 00:43
Pase Incompleto
0:40 - 2°
Keenan Reynolds pass incomplete to Dishan Romine, broken up by Jeremy Timpf
1º y 10 en ARMY 46
Pase Incompleto
0:34 - 2°
Keenan Reynolds pass incomplete to Jamir Tillman, broken up by Jordan Smith
2º y 10 en ARMY 46
Pase Incompleto
0:28 - 2°
Keenan Reynolds pass incomplete to Jamir Tillman
3º y 10 en ARMY 46
(0:28 - 2°) Timeout ARMY, clock 00:28
Punt
0:18 - 2°
Alex Barta punt for 45 yds, downed at the Army 1
4º y 10 en ARMY 46
Carrera de 1 yardas
0:16 - 2°
Chris Carter run for 1 yd to the Army 2
1º y 10 en ARMY 1
(0:16 - 2°) Timeout NAVY, clock 00:16
Carrera de 1 yardas
0:00 - 2°
Chris Carter run for 1 yd to the Army 3
2º y 9 en ARMY 2
End of 2nd Quarter
3° Cuarto
Saque inicial
15:00 - 3°
Austin Grebe kickoff for 65 yds for a touchback
Carrera de 2 yardas
14:30 - 3°
Chris Carter run for 2 yds to the Army 27
1º y 10 en ARMY 25
Carrera de -13 yardas
14:17 - 3°
Tyler Campbell run for no gain to the Army 27 ARMY Penalty, Illegal Block (Kelvin White) to the Army 14
2º y 8 en ARMY 27
Pase de 7 yardas
13:45 - 3°
Chris Carter pass complete to Nicholas Black for 7 yds to the Army 21
2º y 21 en ARMY 14
Pase Incompleto
13:17 - 3°
Chris Carter pass incomplete to Edgar Poe
3º y 14 en ARMY 21
Punt
13:09 - 3°
Alex Tardieu punt for 47 yds, fair catch by Calvin Cass Jr. at the Navy 32
4º y 14 en ARMY 21
Carrera de 2 yardas
12:50 - 3°
Chris Swain run for 2 yds to the Navy 34
1º y 10 en NAVY 32
Carrera de 3 yardas
12:25 - 3°
Chris Swain run for 3 yds to the Navy 37
2º y 8 en NAVY 34
Pase Incompleto
11:58 - 3°
Keenan Reynolds pass incomplete to Jamir Tillman
3º y 5 en NAVY 37
Punt
11:52 - 3°
Alex Barta punt for 37 yds, fair catch by Edgar Poe at the Army 26
4º y 5 en NAVY 37
Carrera de 5 yardas
11:30 - 3°
Chris Carter run for 5 yds to the Army 31
1º y 10 en ARMY 26
Carrera de 2 yardas
10:50 - 3°
Aaron Kemper run for 2 yds to the Army 33
2º y 5 en ARMY 31
Sack
10:15 - 3°
Chris Carter sacked by D.J. Palmore for a loss of 9 yards to the Army 24
3º y 3 en ARMY 33
Punt
9:47 - 3°
Alex Tardieu punt for 47 yds, fair catch by Calvin Cass Jr. at the Navy 29
4º y 12 en ARMY 24
Pase Incompleto
9:40 - 3°
Keenan Reynolds pass incomplete to Jamir Tillman, broken up by Xavier Moss
1º y 10 en NAVY 29
Carrera de 4 yardas
9:25 - 3°
Chris Swain run for 4 yds to the Navy 33
2º y 10 en NAVY 29
Carrera de 1 yardas
8:50 - 3°
Keenan Reynolds run for 1 yd to the Navy 34
3º y 6 en NAVY 33
Punt
8:11 - 3°
Alex Barta punt for 66 yds for a touchback
4º y 5 en NAVY 34
Carrera de 0 yardas
7:45 - 3°
Chris Carter run for no gain to the Army 20
1º y 10 en ARMY 20
Carrera de -2 yardas
7:20 - 3°
Jordan Asberry run for a loss of 2 yards to the Army 18
2º y 10 en ARMY 20
Sack
6:40 - 3°
Chris Carter sacked by Jarvis Polu for a loss of 9 yards to the Army 9
3º y 12 en ARMY 18
Punt
6:01 - 3°
Alex Tardieu punt for 41 yds, fair catch by Calvin Cass Jr. at the 50 yard line
4º y 21 en ARMY 9
Pase para touchdown
5:51 - 3°
Jamir Tillman 50 Yd pass from Keenan Reynolds (Austin Grebe Kick)
1º y 10 en 50
Saque inicial
5:44 - 3°
Austin Grebe kickoff for 63 yds , Marcus Hyatt return for 19 yds to the Army 21
Carrera de 5 yardas
5:30 - 3°
Tyler Campbell run for 5 yds to the Army 26
1º y 10 en ARMY 21
Pase Incompleto
4:57 - 3°
Chris Carter pass incomplete, broken up by Will Anthony
2º y 5 en ARMY 26
Sack
4:45 - 3°
Chris Carter sacked by Will Anthony for a loss of 8 yards to the Army 18
3º y 5 en ARMY 26
Punt
4:15 - 3°
Alex Tardieu punt for 46 yds, fair catch by Calvin Cass Jr. at the Navy 36
4º y 13 en ARMY 18
Carrera de 6 yardas
4:00 - 3°
Keenan Reynolds run for 6 yds to the Navy 42
1º y 10 en NAVY 36
Carrera de 1 yardas
3:30 - 3°
Chris Swain run for 1 yd to the Navy 43
2º y 4 en NAVY 42
Carrera de 0 yardas
2:50 - 3°
Keenan Reynolds run for no gain to the Navy 43
3º y 3 en NAVY 43
Punt
2:21 - 3°
Alex Barta punt for 36 yds, fair catch by Edgar Poe at the Army 21
4º y 3 en NAVY 43
4° Cuarto
Pase de 30 yardas
2:15 - 3°
Chris Carter pass complete to Edgar Poe for 30 yds to the Navy 49 for a 1ST down
1º y 10 en ARMY 21
Carrera de 18 yardas
1:42 - 3°
Aaron Kemper run for 18 yds to the Navy 31 for a 1ST down
1º y 10 en NAVY 49
Carrera de 3 yardas
1:00 - 3°
Chris Carter run for 3 yds to the Navy 28
1º y 10 en NAVY 31
Carrera de 6 yardas
0:22 - 3°
Chris Carter run for 6 yds to the Navy 22
2º y 7 en NAVY 28
End of 3rd Quarter
Carrera de 3 yardas
14:30 - 4°
Matt Giachinta run for 3 yds to the Navy 19 for a 1ST down
3º y 1 en NAVY 22
Carrera de 5 yardas
14:00 - 4°
Aaron Kemper run for 5 yds to the Navy 14
1º y 10 en NAVY 19
Carrera de -4 yardas
13:30 - 4°
Chris Carter run for a loss of 4 yards to the Navy 18
2º y 5 en NAVY 14
Pase de 6 yardas
13:00 - 4°
Chris Carter pass complete to DeAndre Bell for 6 yds to the Navy 12
3º y 9 en NAVY 18
Field Goal Missed
12:19 - 4°
Daniel Grochowski 29 yd FG MISSED
4º y 3 en NAVY 12
Carrera de 11 yardas
12:14 - 4°
Chris Swain run for 11 yds to the Navy 31 for a 1ST down
1º y 10 en NAVY 20
Carrera de 2 yardas
11:30 - 4°
Keenan Reynolds run for 2 yds to the Navy 33
1º y 10 en NAVY 31
Carrera de 2 yardas
11:00 - 4°
Keenan Reynolds run for 2 yds to the Navy 35
2º y 8 en NAVY 33
Carrera de 1 yardas
10:20 - 4°
Quentin Ezell run for 1 yd to the Navy 36
3º y 6 en NAVY 35
Punt
9:46 - 4°
Alex Barta punt for 36 yds, downed at the Army 28
4º y 5 en NAVY 36
Fumble Recovery (Own)
9:20 - 4°
Chris Carter run for no gain to the Army 28 Chris Carter fumbled, recovered by Army Chris Carter
1º y 10 en ARMY 28
Pase de 39 yardas
9:00 - 4°
Chris Carter pass complete to DeAndre Bell for 39 yds to the Navy 33 for a 1ST down
2º y 10 en ARMY 28
Recuperación de balón suelto
8:33 - 4°
Chris Carter run for a loss of 1 yard to the Navy 34 Chris Carter fumbled, recovered by Navy Ted Colburn
1º y 10 en NAVY 33
Pase de 11 yardas
8:15 - 4°
Keenan Reynolds pass complete to Demond Brown for 11 yds to the Navy 45 for a 1ST down
1º y 10 en NAVY 34
Carrera de 5 yardas
7:45 - 4°
Chris Swain run for 5 yds to the 50 yard line
1º y 10 en NAVY 45
Carrera de 4 yardas
7:00 - 4°
Chris Swain run for 4 yds to the Army 46
2º y 5 en 50
Carrera de 2 yardas
6:30 - 4°
Keenan Reynolds run for 2 yds to the Army 44 for a 1ST down
3º y 1 en ARMY 46
Carrera de 3 yardas
5:30 - 4°
Quentin Ezell run for 3 yds to the Army 41
1º y 10 en ARMY 44
Carrera de 0 yardas
4:30 - 4°
Keenan Reynolds run for no gain to the Army 41
2º y 7 en ARMY 41
Carrera de 0 yardas
4:00 - 4°
Keenan Reynolds run for no gain to the Army 41
3º y 7 en ARMY 41
(3:43 - 4°) Timeout NAVY, clock 03:43
Punt
3:36 - 4°
Alex Barta punt for 41 yds for a touchback
4º y 7 en ARMY 41
Intercepción
3:27 - 4°
Chris Carter pass intercepted Lorentez Barbour return for 1 yd to the Army 44
1º y 10 en ARMY 20
Carrera de 3 yardas
3:25 - 4°
Keenan Reynolds run for 3 yds to the Army 41
1º y 10 en ARMY 44
(3:22 - 4°) Timeout ARMY, clock 03:22
Carrera de 5 yardas
3:17 - 4°
Chris Swain run for 5 yds to the Army 36
2º y 7 en ARMY 41
(3:17 - 4°) Timeout ARMY, clock 03:17
5 yardas de castigo
3:17 - 4°
NAVY Penalty, False Start (Brandon Greene) to the Army 41
3º y 2 en ARMY 36
(3:17 - 4°) Timeout NAVY, clock 03:17
Pase Incompleto
3:12 - 4°
Keenan Reynolds pass incomplete to Tyler Carmona
3º y 7 en ARMY 41
Punt
3:03 - 4°
Alex Barta punt for 41 yds for a touchback
4º y 7 en ARMY 41
Pase de 35 yardas
2:50 - 4°
Chris Carter pass complete to Tyler Campbell for 35 yds to the Navy 45 for a 1ST down
1º y 10 en ARMY 20
Carrera de 6 yardas
2:30 - 4°
Jordan Asberry run for 6 yds to the Navy 39
1º y 10 en NAVY 45
Intercepción
2:03 - 4°
DeAndre Bell pass intercepted Daiquan Thomasson return for no gain to the Navy 3
2º y 4 en NAVY 39
Carrera de 1 yardas
1:30 - 4°
Keenan Reynolds run for 1 yd to the Navy 4
1º y 10 en NAVY 3
Carrera de 1 yardas
1:10 - 4°
Keenan Reynolds run for 1 yd to the Navy 5
2º y 9 en NAVY 4
(1:08 - 4°) Timeout ARMY, clock 01:08
Carrera de 4 yardas
0:30 - 4°
Keenan Reynolds run for 4 yds to the Navy 9
3º y 8 en NAVY 5
(0:21 - 4°) Timeout NAVY, clock 00:21
Punt
0:11 - 4°
Alex Barta punt for 50 yds , Edgar Poe returns for 1 yd to the Army 42
4º y 4 en NAVY 9
Pase Incompleto
0:05 - 4°
Luke Langdon pass incomplete
1º y 10 en ARMY 42
Pase Incompleto
0:00 - 4°
Kelvin White pass incomplete
2º y 10 en ARMY 42
End of 4th Quarter
Información del partido
Philadelphia, PC


2025 Posiciones
FBS
| American ConferenceAmerican Conference | CONF | GEN |
|---|---|---|
| Tulane | 7-1 | 11-3 |
| North Texas | 7-1 | 12-2 |
| Navy | 7-1 | 11-2 |
| East Carolina | 6-2 | 9-4 |
| South Florida | 6-2 | 9-4 |
| Army | 4-4 | 7-6 |
| Memphis | 4-4 | 8-5 |
| UTSA | 4-4 | 7-6 |
| Temple | 3-5 | 5-7 |
| Florida Atlantic | 3-5 | 4-8 |
| Rice | 2-6 | 5-8 |
| UAB | 2-6 | 4-8 |
| Tulsa | 1-7 | 4-8 |
| Charlotte | 0-8 | 1-11 |
Noticias - NCAAF

Así anunció su retiro Aaron Rodgers
El quarterback habló con la prensa sobre lo que será su última campaña en la NFL.
1d

¿Qué esperar del juego entre 49ers y Vikings?
San Francisco y Minnesota llegarán a la Ciudad de México con algunos de los mejores jugadores de la NFL en su posición.
5d

Corredor de Missouri resultó herido en tiroteo durante concierto
De acuerdo con la universidad, Ahmad Hardy, quien fue elegido al primer equipo All-SEC la temporada pasada, se encuentra en condición estable.
10d
GAMBLING PROBLEM? CALL 1-800-GAMBLER, (800) 327-5050 or visit gamblinghelplinema.org (MA). Call 877-8-HOPENY/text HOPENY (467369) (NY). Please Gamble Responsibly. 888-789-7777/visit ccpg.org (CT), or visit www.mdgamblinghelp.org (MD). 21+ and present in most states. (18+ DC/KY/NH/WY). Void in ONT/OR/NH. Eligibility restrictions apply. On behalf of Boot Hill Casino & Resort (KS). Terms: sportsbook.draftkings.com/promos.
Copyright: © 2026 ESPN Enterprises, LLC. All rights reserved.