(cherry picked from commit 1c1c86026d86b106c09d02f4944d096611112b9b)
(cherry picked from commit ab29e9dead5ff5595090bd90245c7ede849a104c)