abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs absabs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs absabs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs absabs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs absabs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs absabs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs abs