(cherry picked from commit d79341b6d9b2c9fec00471f48cbb70cebd98e21d)
(cherry picked from commit 37c2d3a2b07ae8a1836dfb80fe098810f0b69f74)