(cherry picked from commit c9b7cdfe) (cherry picked from commit a298341d) (cherry picked from commit f826593e) (cherry picked from commit 6223e0b5) (cherry picked from commit a57d0e88)