hardwares-and-softwares