|  |  | @ -1,5 +1,5 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | # functions common among cars |  |  |  | # functions common among cars | 
			
		
	
		
		
			
				
					
					|  |  |  | from collections import namedtuple |  |  |  | from collections import defaultdict, namedtuple | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | from dataclasses import dataclass |  |  |  | from dataclasses import dataclass | 
			
		
	
		
		
			
				
					
					|  |  |  | from enum import IntFlag, ReprEnum |  |  |  | from enum import IntFlag, ReprEnum | 
			
		
	
		
		
			
				
					
					|  |  |  | from dataclasses import replace |  |  |  | from dataclasses import replace | 
			
		
	
	
		
		
			
				
					|  |  | @ -301,3 +301,15 @@ class Platforms(str, ReprEnum): | 
			
		
	
		
		
			
				
					
					|  |  |  |   @classmethod |  |  |  |   @classmethod | 
			
		
	
		
		
			
				
					
					|  |  |  |   def with_flags(cls, flags: IntFlag) -> set['Platforms']: |  |  |  |   def with_flags(cls, flags: IntFlag) -> set['Platforms']: | 
			
		
	
		
		
			
				
					
					|  |  |  |     return {p for p in cls if p.config.flags & flags} |  |  |  |     return {p for p in cls if p.config.flags & flags} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   @classmethod | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   def print_debug(cls, flags): | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     platforms_with_flag = defaultdict(list) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     for flag in flags: | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       for platform in cls: | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if platform.config.flags & flag: | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           assert flag.name is not None | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |           platforms_with_flag[flag.name].append(platform) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     for flag, platforms in platforms_with_flag.items(): | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       print(f"{flag:20s}: {', '.join(p.name for p in platforms)}") | 
			
		
	
	
		
		
			
				
					|  |  | 
 |