(cherry picked from commit 29f80967105380f32119b40e7b8547ad104c3ff5)
(cherry picked from commit 98ee9c02cef3e7689ca7cf302bb18a133cb117e2)