Per il parse error, c'è una graffa di troppo (}) nella penultima riga. Il resto non l'ho controllato.