(cherry picked from commit 05eb5a5b9da2ab3fba64ea08591fd787a736549e)
(cherry picked from commit e42b61f67a8352c9d9bc30207031989785295b65)