Completado
Adaptado
Optimizado y nuevos errores y excepciones