(cherry picked from commit 04a42bc6d4e247f11d35c03c8b2f32b9e9795b79)
(cherry picked from commit 0ae6139e92110f3dbf7fcf766263880725f69dff)