On the Performance of Cache and Energy HarvestingAssisted NOMA in D2D Communications With Hardware Impairments