(cherry picked from commit e29e5db7) (cherry picked from commit 1d17c002) (cherry picked from commit bc321efb) (cherry picked from commit dc5c5cd5)