As a side note, this story illustrates the importance of a good guy always having a weapon available. It doesn’t have to be a firearm. Some folks just aren’t into that.
But police-grade pepper spray can work (Sabre and Fox are good brands). Or maybe even a baseball bat in the trunk of your car. The hero in this particular story was in his car when he heard the girl’s screams. A Louisville Slugger would have come in handy.
Agreed. Different weapons can work as protection for different people. Maybe one of the weapons you listed would’ve kept this young hero from being injured himself. Whatever the case, kudos to him for saving the day, and I hope he and the other victims recover fully.