(cherry picked from commit 18e4b1f33eb5bb803bc35100f80b61fd82642645)
(cherry picked from commit 103685269e632dba60c717f5168a99481695a6ab)