(cherry picked from commit 86ae43bc23afb68dc6c6b13b147e4e64a2d34077)
(cherry picked from commit 9f01e630a91bb3acf70f9d769752d5ce9316b670)