Iranian president vows to avenge killing of Hamas official