§
    Ë ¢j9
  ã                  óÀ   — d Z ddlmZ ddlZddlmZ  ed¦  «        Ze ed¦  «         ed¦  «         ed¦  «         ed	¦  «        fZd
Zdd„Z	ddd„Z
ddd„Zddd„ZdS )zbLocate Content.ggpk, HashCache.dat, and an optional Oodle DLL. Never writes into the game install.é    )ÚannotationsN)ÚPathzGC:\Program Files (x86)\Grinding Gear Games\Path of Exile 2\Content.ggpkzAC:\Program Files\Grinding Gear Games\Path of Exile 2\Content.ggpkzJC:\Program Files (x86)\Steam\steamapps\common\Path of Exile 2\Content.ggpkz=D:\SteamLibrary\steamapps\common\Path of Exile 2\Content.ggpkz=E:\SteamLibrary\steamapps\common\Path of Exile 2\Content.ggpk)z
libooz.dllz
oozlib.dllzoo2core.dllzoo2core_9_win64.dllzoo2core_8_win64.dllzoo2core_7_win64.dllÚreturnr   c                 ód   — t          t          ¦  «                             ¦   «         j        d         S )Né   )r   Ú__file__ÚresolveÚparents© ó    ú=C:\Projects\AutoPOE2\src\assistant_tool\ggpk_extract\paths.pyÚ
_repo_rootr      s"   € Ý•‰>Œ>×!Ò!Ñ#Ô#Ô+¨AÔ.Ð.r   Úexplicitústr | Path | NoneúPath | Nonec                óN  — | r't          | ¦  «        }|                     ¦   «         r|nd S t          j                             dd¦  «                             ¦   «         }|r%t          |¦  «        }|                     ¦   «         r|S t          D ]}|                     ¦   «         r|c S Œd S )NÚAUTOPOE2_GGPKÚ )r   Úis_fileÚosÚenvironÚgetÚstripÚ_GGPK_CANDIDATES)r   ÚpÚenvÚcands       r   Úfind_content_ggpkr      s§   € Øð *Ý�‰NŒNˆØ—I’I‘K”KÐ)ˆqˆq TÐ)Ý
Œ*�.Š.˜¨"Ñ
-Ô
-×
3Ò
3Ñ
5Ô
5€CØ
ð Ý�‰IŒIˆØ�9Š9‰;Œ;ð 	ØˆHÝ ð ð ˆØ�<Š<‰>Œ>ð 	ØˆKˆKˆKð	àˆ4r   Úggpkc                óª   — | � | j         dz  }|                     ¦   «         r|S t          ¦   «         }|r |j         dz  }|                     ¦   «         r|S d S )NzHashCache.dat)Úparentr   r   )r   r   Úfounds      r   Úfind_hashcacher#   .   sb   € ØÐØŒK˜/Ñ)ˆØ�9Š9‰;Œ;ð 	ØˆHÝÑÔ€EØð ØŒL˜?Ñ*ˆØ�9Š9‰;Œ;ð 	ØˆHØˆ4r   c                óî  — | r't          | ¦  «        }|                     ¦   «         r|nd S t          j                             dd¦  «                             ¦   «         }|r%t          |¦  «        }|                     ¦   «         r|S t          ¦   «         dz  dz  g}t          ¦   «         }|r<|                     |j	        ¦  «         |                     |j	        j	        dz  ¦  «         | 
                    t          d¦  «        t          d¦  «        g¦  «         |D ]]}|                     ¦   «         sŒt          D ]!}||z  }|                     ¦   «         r|c c S Œ"|                     d¦  «        D ]}|c c S Œ^d S )	NÚAUTOPOE2_OODLE_DLLr   ÚtoolsÚbinzPath of Exilez8C:\Program Files (x86)\Grinding Gear Games\Path of Exilez;C:\Program Files (x86)\Steam\steamapps\common\Path of Exilezoo2core*.dll)r   r   r   r   r   r   r   r   Úappendr!   ÚextendÚis_dirÚ_OODLE_NAMESÚglob)r   r   r   Úsearch_dirsr   ÚfolderÚnamer   s           r   Úfind_oodle_dllr0   ;   s™  € Øð *Ý�‰NŒNˆØ—I’I‘K”KÐ)ˆqˆq TÐ)Ý
Œ*�.Š.Ð-¨rÑ
2Ô
2×
8Ò
8Ñ
:Ô
:€CØ
ð Ý�‰IŒIˆØ�9Š9‰;Œ;ð 	ØˆHÝ)™|œ|¨gÑ5¸Ñ=Ð>€KÝÑÔ€DØð AØ×Ò˜4œ;Ñ'Ô'Ð'Ø×Ò˜4œ;Ô-°Ñ?Ñ@Ô@Ð@Ø×ÒåÐLÑMÔMÝÐOÑPÔPð	
ñô ð ð ð ð ˆØ�}Š}‰Œð 	ØÝ ð 	ð 	ˆDØ˜D‘=ˆDØ�|Š|‰~Œ~ð Ø�����ðà—K’K Ñ/Ô/ð 	ð 	ˆDØˆKˆKˆKˆKˆKð	àˆ4r   )r   r   )N)r   r   r   r   )r   r   r   r   )Ú__doc__Ú
__future__r   r   Úpathlibr   ÚDEFAULT_GGPK_PATHr   r+   r   r   r#   r0   r   r   r   ú<module>r5      sþ   ðØ hÐ hØ "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø Ð Ð Ð Ð Ð à�DÐcÑdÔdÐ ð Ø€DÐ	MÑNÔNØ€DÐ	VÑWÔWØ€DÐ	IÑJÔJØ€DÐ	IÑJÔJðÐ ð€ð/ð /ð /ð /ðð ð ð ð ð
ð 
ð 
ð 
ð 
ðð ð ð ð ð ð r   