In general, USB cables have only plugs on their ends, while hosts and devices have only receptacles. USB cables and device have only what on their ends?