upstream: 41e905e5f5dacf58b1233b04b5959652d9165fa5
