(cherry picked from commit c65f76f56278f74082c4fa792ed49104d5d33c38)
(cherry picked from commit 488e409a1898e9c739cc0bd24cb9791636dfd6b3)