Synchronous version