hardware lib