(cherry picked from commit 2d7bee4f06a77751da82f7c66906cbed00284e05)
(cherry picked from commit b6f069a7e4035b26382ea297933662a83d9a5e26)