(cherry picked from commit 861add3d72bcfc6c6a8976eb82dc3e7b5288883e)
(cherry picked from commit ffaf58f0a98bd987bbe76e8669bb22c405dcd62a)