Ë
    Î£jð  ã                   ó’   — d dl mZ dgg d¢dœZ	 ddee   deeee   f   deeef   dz  d	eeeeee   f   f   fd
„Zded	ee   fd„Zy)é    )ÚPathz_modern casual preloader)z_mcp hellfire hale fix.vpkz_mcp mvm victory screen fix.vpkz_mcp saxton hale fix.vpk)ÚfoldersÚfilesNÚ
load_orderÚaddon_contentsÚaddon_name_mappingÚreturnc                 óz  — |€i }i }t        | «      D ]¦  \  }}|}||v r||   j                  d|«      }||vrŒ&t        ||   «      }i }t        | «      D ][  \  }	}
|	|kD  sŒ|
}|
|v r||
   j                  d|
«      }||v sŒ,t        ||   «      }|j                  |«      }|sŒNt	        |«      ||
<   Œ] |sŒ¢|||<   Œ¨ |S )aº  
    Detect which addons will overwrite files from other addons based on load order.

    Args:
        load_order: List of addon display names in display order (top = highest priority)
        addon_contents: Dict mapping folder names to list of files
        addon_name_mapping: Optional dict mapping display names to addon info with 'file_path'

    Returns:
        Dict mapping addon name to {overwritten_addon: [conflicting_files]}
    Ú	file_path)Ú	enumerateÚgetÚsetÚintersectionÚlist)r   r   r   Úall_overwritesÚposÚ
addon_nameÚfolder_nameÚaddon_filesÚ
overwritesÚ	other_posÚ
other_nameÚother_folder_nameÚother_filesÚcommon_filess                 úJC:\Users\pivot\Documents\cueki\casual-preloader\core\services\conflicts.pyÚdetect_addon_overwritesr      s  € ð" Ð!ØÐà€Nä$ ZÖ0‰ˆˆZà ˆØÐ+Ñ+Ø,¨ZÑ8×<Ñ<¸[È*ÓUˆKà˜nÑ,Øä˜.¨Ñ5Ó6ˆØˆ
ô &/¨zÖ%:Ñ!ˆI�zØ˜3‹Ø$.Ð!ØÐ!3Ñ3Ø(:¸:Ñ(F×(JÑ(JÈ;ÐXbÓ(cÐ%à$¨Ò6Ü"% nÐ5FÑ&GÓ"H�KØ#.×#;Ñ#;¸KÓ#H�LÚ#Ü15°lÓ1C˜
 :Ò.ð &;ò Ø)3ˆN˜:Ò&ð5 1ð8 Ðó    Ú
custom_dirc                 óR  — | j                  «       sg S g }t        d   D ]=  }| |z  }|j                  «       sŒ|j                  «       sŒ*|j                  d|› �«       Œ? t        d   D ]=  }| |z  }|j                  «       sŒ|j	                  «       sŒ*|j                  d|› �«       Œ? |S )zÔ
    Scan the custom directory for legacy MCP files that may conflict.

    Args:
        custom_dir: Path to the tf/custom directory

    Returns:
        List of found conflicting items (formatted strings)
    r   zFolder: r   zFile: )ÚexistsÚLEGACY_MCP_ITEMSÚis_dirÚappendÚis_file)r   Úfound_conflictsr   Úfolder_pathÚ	file_namer   s         r   Úscan_for_legacy_conflictsr)   D   s®   € ð ×ÑÔØˆ	à€Oä'¨	Ô2ˆØ  ;Ñ.ˆØ×ÑÕ K×$6Ñ$6Õ$8Ø×"Ñ" X¨k¨]Ð#;Õ<ð 3ô
 & gÔ.ˆ	Ø Ñ*ˆ	Ø×ÑÕ )×"3Ñ"3Õ"5Ø×"Ñ" V¨I¨;Ð#7Õ8ð /ð
 Ðr   )N)Úpathlibr   r"   r   ÚstrÚdictr   r)   © r   r   Ú<module>r.      s˜   ðÝ ð
 +Ð+òñÐ ð 26ñ2Ø�S‘	ð2à˜˜d 3™i˜Ñ(ð2ð ˜S $˜Y™¨$Ñ.ð2ð 
ˆ#ˆt�C˜˜c™�NÑ#Ð
#Ñ$ó	2ðj¨$ð °4¸±9ô r   