(cherry picked from commit 5925c1f48ad05bf94195b986c1fdefc52a20ae42)
(cherry picked from commit 9435fc5e20e25ce66ec85bde033daff51f39f69c)