(cherry picked from commit 9cefb1b9e009575ee7f6a5aef631cb344b6e1df8)
(cherry picked from commit 58f6dec2325bdf78689fb4894d76c0dd7b591df3)