(cherry picked from commit 18a91fe4df0448d9f7de91602646ecf5a51c52e4) (cherry picked from commit b85bbca74565b18dfa6689c9545d07bff5d31f83)
(cherry picked from commit 18a91fe4df0448d9f7de91602646ecf5a51c52e4) (cherry picked from commit b85bbca74565b18dfa6689c9545d07bff5d31f83)