NBC: Walmart agrees to pay $3.1 billion over sale of opioids at its pharmacies