(cherry picked from commit 2e9c433d90de7c5d9d52b0ec438b5881f3ca4b6c)
(cherry picked from commit ad3759624703c4434634bea8b6357a56b893e6a0)