(cherry picked from commit 0a1d4ed7d922341ab431940ad5c8e5f6a16a2310)
(cherry picked from commit c01d648a3e78108a3c6cb18183194e002bb4dfc0)