(cherry picked from commit 6c0b98f24c6aaf425fe654a4d44146e097352606)
(cherry picked from commit 2efd40b8049efc4c35622a7997cc47b10b468b4d)