Fragment-based domain shuffling approach for the synthesis of pyran-based macrocycles