Hurricane Odile slams Mexican peninsula