(cherry picked from commit ffc82fa01c6b212e79475dc7d9fc1ddc17141f36)
(cherry picked from commit 54e2067551d50a02e330f11f694e4c4fdfae50e3)