(cherry picked from commit 7caeec86a016fc7427d71ac3713adb2293c2e1ce)
(cherry picked from commit 41a09289cda3137f96c69c69c924af34f0e64865)