(cherry picked from commit a9faeb1bdb58334b7446b776dcfba79e7ea75a8c)
(cherry picked from commit 23f483ac452c6f140b399351918caaffb54c7129)