
    rh              	       L    d dl Z d dlmZmZ ddedeeeef      deeef   fdZy)    N)DictOptional
dotenv_strenvironreturnc                    i }t        j                  dt         j                        }| j                         D ]O  }|j	                         }|r|j                  d      r(|j                  |      }|s<|j                  d      }d}|j                  d      r|j                  d      xs d}|j	                         }|j                  d      r|j                  d      s"|j                  d	      r|j                  d	      r~|dd
 }|j                  dd      j                  dd      j                  dd      j                  dd      }|j                  d      r&|j                  dd      }n||j                  |      }|K|||<   R |S )z
    Parse a DOTENV-format string and return a dictionary of key-value pairs.
    Handles quoted values, comments, export keyword, and blank lines.
    a  
        ^\s*
        (?:export[^\S\n]+)?               # optional export
        ([A-Za-z_][A-Za-z0-9_]*)          # key
        [^\S\n]*(=)?[^\S\n]*
        (                                 # value group
            (?:
                '(?:\\'|[^'])*'           # single-quoted value
                | \"(?:\\\"|[^\"])*\"     # double-quoted value
                | [^#\n\r]+?              # unquoted value
            )
        )?
        [^\S\n]*(?:\#.*)?$                # optional inline comment
    #   N       "'z\n
z\t	z\"z\\\z\$$)recompileVERBOSE
splitlinesstrip
startswithmatchgroupendswithreplaceget)	r   r   envline_patternliner   keyvalraw_vals	            p/var/www/html/ai-insurance-compliance-backend/venv/lib/python3.12/site-packages/huggingface_hub/utils/_dotenv.pyload_dotenvr'      sg   
 C::	 	

L$ %%' zz|ts+""4(++a.CC{{1~++a..BmmoNN3'CLL,=3>>RUCV[^[g[ghk[la)C++eT2::5$GOOPUWZ[ccdikopC))#.!kk%5$kk#&C/2 J    )N)r   typingr   r   strr'    r(   r&   <module>r,      s=    	 !1C 1(4S>*B 1dSVX[S[n 1r(   