Del Potro overcomes Federer to claim Swiss Indoors title