1. J'arriverai avant qu'ils n'aient mangé.
2. Nous voulons que tu aies rangé ta chambre avant ce soir.
3. J'ai attendu qu'il soit monté dans le train pour partir
I use Avoir when Transitive as is #2 but why avoir in #1 which is intransitive as is #3.
This is the most confusing subject I have encountered so far. Please explain.