(cherry picked from commit a64bc235effc97b4926ce8fe4182a295e2835425)
(cherry picked from commit 8ec415117d16c652bd79d6333b901b8dccdf192c)