Event Loop с async-функциями

В каком порядке строки выведутся в консоль?

function sync() { console.log('A'); } async function async1() { console.log('B'); await async2(); console.log('C'); } async function async2() { console.log('D'); await sync(); console.log('E'); } console.log('F'); async1(); new Promise(function (resolve) { console.log('H'); resolve(); console.log('I'); }) .then(() => console.log('J')) .then(() => console.log('K')) console.log('L');

В задаче нужно вернуть массив со строками, в каком порядке они бы вывелись в консоль при запуске кода.