(cherry picked from commit 5a91eaa5dccad031fd3313be0bc054ca0dc42eba)
(cherry picked from commit 3d550377bf49a62968114ff7e6b658dcba268876)