(cherry picked from commit 16fd7d543fff457809aef8e7375be9df77c8d829)
(cherry picked from commit ebd77f8bf51dad12b015f982f1862a6689c09ec9)