
    |*&iS
                     p    S SK r S SKrS SKrS SKrS SKJr  S SKJrJr  S SK	J
r
  SrSrSrS\\\4   4S	 jrg)
    N)Dict)ensure_cache_directoryis_cache_valid)print_greyed_outdatasetz;https://github.com/trickest/cve/archive/refs/heads/main.zipiQ returnc                   ^ U R                  S5      n[        R                  R                  US5      m0 nSnU4S jn[	        X5        [        U T[        5      (       d  U" 5         [        R                  R                  T5      (       d  [        S5        U$  [        S5        0 n[        R                  " TS5       nUR                  5        H  nUR                  S5      (       d  M  UR                  5       R                  S	5      n[        U5      S
:  d  MK  US   n	U	R!                  SS5      n
UR#                  U5       nUR%                  5       R'                  S5      XZ'   S S S 5        M     S S S 5        Un[        S5        U$ ! , (       d  f       M  = f! , (       d  f       N/= f! [        R(                   a    [        S5        0 n U$ [*         a  n[        SU 35        0 n S nAU$ S nAff = f)N	cache_dirzcve-main.zipTRICKEST_CVE_DATA_LOADERc                    >  [        S5        [        R                  " [        SSS9n U R                  S:X  a<  [        TS5       nUR                  U R                  5        S S S 5        [        S5        g [        SU R                   35        g ! , (       d  f       N3= f! [         a  n[        S	U 35         S nAg S nAff = f)
NzB[*] TRICKEST_CVE_DATA_LOADER: Downloading CVE repository as zip...<   T)timeoutfollow_redirects   wbz+[+] CVE repository downloaded successfully.zJ[!] TRICKEST_CVE_DATA_LOADER: Failed to download repository. Status code: z<[!] TRICKEST_CVE_DATA_LOADER: Error downloading repository: )
r   httpxgetREPO_URLstatus_codeopenwritecontent	Exceptionprint)responseferepo_zip_paths      G/home/kali/cveseeker/services/cache/loaders/trickest_cve_data_loader.pydownload_repo_as_zip4load_trickest_cve_data.<locals>.download_repo_as_zip   s    
	Vabyy2MH##s*-.!GGH,,- / !NO #mnv  oC  oC  nD  "E  F	 /.
  	VPQRPSTUU	Vs6   AB B B 4B 
BB 
C (B;;C zY[!] TRICKEST_CVE_DATA_LOADER: Failed to load CVE repository. Falling back to empty cache.z=[*] TRICKEST_CVE_DATA_LOADER: Loading CVE data into memory...rz.md/    zutf-8z:[+] TRICKEST_CVE_DATA_LOADER: CVE data loaded into memory.z_[!] TRICKEST_CVE_DATA_LOADER: Invalid ZIP file format. Please verify the downloaded repository.zB[!] TRICKEST_CVE_DATA_LOADER: Error loading CVE data into memory: )r   ospathjoinr   r   CACHE_DURATIONexistsr   zipfileZipFilenamelistendswithstripsplitlenreplacer   readdecode
BadZipFiler   )configr
   datanamer    
temp_cachezip_ref	file_namepartscve_filecve_idr   r   r   s                @r   load_trickest_cve_datar@      s   

;'IGGLLN;MD%DV 9+&-@@77>>-((tuXY
__]C0G$--/	%%e,,%OO-33C8E5zQ#(9!)!1!1%!<$\\)4121IJ. 54 0 1 UV K 54 10  z{
 K	  ]^_]`abK	sZ   $F' ;(F',F(F?"F!F-F' 
FF
F$ F' '!G/	G/G**G/)r'   timer,   r   typingr   services.cache.loaders.loaderr   r   terminal.clir   	CACHE_DIRr   r*   strr@        r   <module>rI      s=    	     P )	H1d38n 1rH   