Ë
    ¨Œj³0  ã                   óì  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlmZmZmZmZmZmZmZmZ ddlmZmZ ddlmZ eedf   Z ej6                  e«      Zd	ee   d
ee   fd„Z G d„ d«      Z	 d(dededee   d
ee   fd„Z e
dedee   d
eeee   ee   f      fd„«       Z!	 	 	 d)dedededede"dee   d
eee"   eef   fd„Z#	 	 d*dedededee   d
eee"   ef   f
d„Z$deeeee   f      de"d
eeee   f   fd„Z%ded
ee   fd„Z&	 	 	 d+ded e"d!e"d
efd"„Z'	 	 	 	 	 	 d,dee   d#eee      d$e"de"d%e"dee   d
e"fd&„Z(	 	 	 	 	 d-dee   d#eee      d$e"d%e"dee   d
eeee   f   fd'„Z)y).é    N)ÚOrderedDict)Úcontextmanager)ÚIOÚDictÚIterableÚIteratorÚMappingÚOptionalÚTupleÚUnioné   )ÚBindingÚparse_stream)Úparse_variableszos.PathLike[str]ÚmappingsÚreturnc              #   óŽ   K  — | D ]<  }|j                   r*t        j                  d|j                  j                  «       |–— Œ> y ­w)Nz;python-dotenv could not parse statement starting at line %s)ÚerrorÚloggerÚwarningÚoriginalÚline)r   Úmappings     úU/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/dotenv/main.pyÚwith_warn_for_invalid_linesr      s<   è ø€ ÛˆØ�=Š=Ü�N‰NØMØ× Ñ ×%Ñ%ôð ‹ñ ùs   ‚AAc                   óÖ   — e Zd Z	 	 	 	 	 ddee   deee      dedee   dededdfd	„Ze	de
ee      fd
„«       Zdeeee   f   fd„Zde
eeee   f      fd„Zdefd„Zdedee   fd„Zy)ÚDotEnvNÚdotenv_pathÚstreamÚverboseÚencodingÚinterpolateÚoverrider   c                 óf   — || _         || _        d | _        || _        || _        || _        || _        y ©N)r   r   Ú_dictr    r!   r"   r#   )Úselfr   r   r    r!   r"   r#   s          r   Ú__init__zDotEnv.__init__#   s7   € ð /:ˆÔØ)/ˆŒØ9=ˆŒ
Ø$ˆŒØ'/ˆŒØ!,ˆÔØ&ˆ�ó    c              #   ó°  K  — | j                   rXt        j                  j                  | j                   «      r/t	        | j                   | j
                  ¬«      5 }|–— d d d «       y | j                  �| j                  –— y | j                  r$t        j                  d| j                   xs d«       t        j                  d«      –— y # 1 sw Y   y xY w­w)N©r!   z3python-dotenv could not find configuration file %s.ú.envÚ )r   ÚosÚpathÚisfileÚopenr!   r   r    r   ÚinfoÚioÚStringIO)r'   r   s     r   Ú_get_streamzDotEnv._get_stream4   s™   è ø€ à×Ò¤§¡§¡¨t×/?Ñ/?Ô @Ü�d×&Ñ&°·±Õ?À6Ø’÷ @Ð?à�[‰[Ð$Ø—+‘+Óà�|Š|Ü—‘ØIØ×$Ñ$Ò.¨ôô —+‘+˜b“/Ó!÷ @Ð?üs   ‚ACÁC
ÁA,CÃ
CÃCc                 ó  — | j                   r| j                   S | j                  «       }| j                  r1t        t	        || j
                  ¬«      «      | _         | j                   S t        |«      | _         | j                   S )zReturn dotenv as dict)r#   )r&   Úparser"   r   Úresolve_variablesr#   )r'   Ú
raw_valuess     r   ÚdictzDotEnv.dictC   se   € à�:Š:Ø—:‘:Ðà—Z‘Z“\ˆ
à×ÒÜ$Ü! *°t·}±}ÔEóˆDŒJð �z‰zÐô % ZÓ0ˆDŒJà�z‰zÐr)   c              #   óØ   K  — | j                  «       5 }t        t        |«      «      D ])  }|j                  €Œ|j                  |j                  f–— Œ+ 	 d d d «       y # 1 sw Y   y xY w­wr%   )r5   r   r   ÚkeyÚvalue)r'   r   r   s      r   r7   zDotEnv.parseS   sQ   è ø€ Ø×ÑÔ 6Ü6´|ÀFÓ7KÖL�Ø—;‘;Ñ*Ø!Ÿ+™+ w§}¡}Ð4Ó4ñ M÷  ×Ñüs!   ‚A*“$A¸AÁ	A*ÁA'Á#A*c                 óÜ   — | j                  «       sy| j                  «       j                  «       D ]:  \  }}|t        j                  v r| j                  sŒ%|€Œ(|t        j                  |<   Œ< y)zI
        Load the current dotenv as system environment variable.
        FT)r:   Úitemsr.   Úenvironr#   )r'   ÚkÚvs      r   Úset_as_environment_variablesz#DotEnv.set_as_environment_variablesY   sX   € ð �y‰yŒ{Øà—I‘I“K×%Ñ%Ö'‰DˆAˆqØ”B—J‘J‰ t§}¢}ØØ‰}Ø !”—
‘
˜1’ð	 (ð r)   r<   c                 ó�   — | j                  «       }||v r||   S | j                  r!t        j                  d|| j                  «       y)Ú zKey %s not found in %s.N)r:   r    r   r   r   )r'   r<   Údatas      r   Úgetz
DotEnv.geth   s?   € à�y‰y‹{ˆà�$‰;Ø˜‘9Ðà�<Š<Ü�N‰NÐ4°c¸4×;KÑ;KÔLàr)   )NFNTT)Ú__name__Ú
__module__Ú__qualname__r
   ÚStrPathr   ÚstrÚboolr(   r   r   r5   r   r:   r   r7   rC   rG   © r)   r   r   r   "   sî   „ ð %)ØØ"&Ø Øñ'à˜gÑ&ð'ð ˜˜C™Ñ!ð'ð ð	'ð
 ˜3‘-ð'ð ð'ð ð'ð 
ó'ð" ð"˜X b¨¡gÑ.ò "ó ð"ð�d˜3 ¨¡Ð-Ñ.ó ð 5�x  c¨8°C©=Ð&8Ñ 9Ñ:ó 5ð¨dó ð
�sð 
˜x¨™}ô 
r)   r   r   Ú
key_to_getr!   c                 ó<   — t        | d|¬«      j                  |«      S )z
    Get the value of a given key from the given .env.

    Returns `None` if the key isn't found or doesn't have a value.
    T)r    r!   )r   rG   )r   rO   r!   s      r   Úget_keyrQ   u   s   € ô �+ t°hÔ?×CÑCÀJÓOÐOr)   r/   c              #   óº  K  — t        j                  | «      j                  «        t        j                  d|d¬«      5 }d }	 t        | |¬«      5 }||f–— d d d «       d d d «       €!t        j                  j                  | «       y t        j                  j                  «       |d ‚# 1 sw Y   ŒVxY w# t        $ r}|}Y d }~Œid }~ww xY w# 1 sw Y   ŒrxY w­w)NÚwF)Úmoder!   Údeleter+   )ÚpathlibÚPathÚtouchÚtempfileÚNamedTemporaryFiler1   ÚBaseExceptionÚshutilÚmoveÚnamer.   Úunlink)r/   r!   Údestr   ÚsourceÚerrs         r   Úrewriterc   ‚   s´   è ø€ ô
 ‡L�L�Ó×ÑÔä	×	$Ñ	$¨#¸ÈÕ	OÐSWØˆð	Ü�d XÕ.°&Ø˜t�nÒ$÷ /÷ 
Pð €}Ü�‰�D—I‘I˜tÕ$ä
�	‰	�$—)‘)ÔØ˜Ð÷ /Ð.ûäò 	Ø�Eûð	ú÷ 
PÐ	OüsY   ‚<C¾CÁB7ÁB+ÁB7ÁACÂ+B4	Â0B7Â7	CÃ CÃCÃCÃCÃCÃCÚ
key_to_setÚvalue_to_setÚ
quote_modeÚexportc                 óŽ  — |dvrt        d|› �«      ‚|dk(  xs |dk(  xr |j                  «        }|r"dj                  |j                  dd«      «      }n|}|r
d|› d	|› d
�}n|› d	|› d
�}t	        | |¬«      5 \  }	}
d}d}t        t        |	«      «      D ]p  }|j                  |k(  r|
j                  |«       d}Œ&|
j                  |j                  j                  «       |j                  j                  j                  d
«       }Œr |s$|r|
j                  d
«       |
j                  |«       ddd«       d||fS # 1 sw Y   ŒxY w)z³
    Adds or Updates a key/value to the given .env

    If the .env path given doesn't exist, fails instead of risking creating
    an orphan .env somewhere in the filesystem
    )ÚalwaysÚautoÚneverzUnknown quote_mode: ri   rj   z'{}'Ú'z\'zexport Ú=Ú
r+   FTN)Ú
ValueErrorÚisalnumÚformatÚreplacerc   r   r   r<   Úwriter   ÚstringÚendswith)r   rd   re   rf   rg   r!   ÚquoteÚ	value_outÚline_outra   r`   ÚreplacedÚmissing_newliner   s                 r   Úset_keyr{   ˜   sY  € ð Ð4Ñ4ÜÐ/°
¨|Ð<Ó=Ð=à˜(Ñ"ò Ø�fÑÒ; \×%9Ñ%9Ó%;Ð!;ð 
ñ Ø—M‘M ,×"6Ñ"6°s¸EÓ"BÓC‰	à ˆ	ÙØ˜Z˜L¨¨)¨°BÐ7‰à �\  9 +¨RÐ0ˆä	� xÕ	0±N°V¸TØˆØˆÜ2´<ÀÓ3GÖHˆGØ�{‰{˜jÒ(Ø—
‘
˜8Ô$Ø‘à—
‘
˜7×+Ñ+×2Ñ2Ô3Ø&-×&6Ñ&6×&=Ñ&=×&FÑ&FÀtÓ&LÐ"L‘ð Iñ ÙØ—
‘
˜4Ô Ø�J‰J�xÔ ÷ 
1ð �˜\Ð)Ð)÷ 
1Ð	0ús   Á9B5D;Ä;EÚkey_to_unsetc                 ó¦  — t         j                  j                  | «      st        j	                  d| «       d|fS d}t        | |¬«      5 \  }}t        t        |«      «      D ]9  }|j                  |k(  rd}Œ|j                  |j                  j                  «       Œ; 	 ddd«       |st        j	                  d|| «       d|fS ||fS # 1 sw Y   Œ*xY w)z¢
    Removes a given key from the given `.env` file.

    If the .env path given doesn't exist, fails.
    If the given key doesn't exist in the .env, fails.
    z(Can't delete from %s - it doesn't exist.NFr+   Tz/Key %s not removed from %s - key doesn't exist.)r.   r/   Úexistsr   r   rc   r   r   r<   rs   r   rt   )r   r|   rf   r!   Úremovedra   r`   r   s           r   Ú	unset_keyr€   È   s¿   € ô �7‰7�>‰>˜+Ô&Ü�‰ÐAÀ;ÔOØ�\Ð!Ð!à€GÜ	� xÕ	0±N°V¸TÜ2´<ÀÓ3GÖHˆGØ�{‰{˜lÒ*Ø‘à—
‘
˜7×+Ñ+×2Ñ2Õ3ñ	 I÷ 
1ñ Ü�‰Ø=¸|È[ô	
ð �\Ð!Ð!à�LÐ Ð ÷ 
1Ð	0ús   Á	ACÃCÚvaluesr#   c                 óH  ‡— i }| D ]™  \  }}|€d }nŠt        |«      }i Š|r1‰j                  t        j                  «       ‰j                  |«       n0‰j                  |«       ‰j                  t        j                  «       dj	                  ˆfd„|D «       «      }|||<   Œ› |S )Nr-   c              3   ó@   •K  — | ]  }|j                  ‰«      –— Œ y ­wr%   )Úresolve)Ú.0ÚatomÚenvs     €r   Ú	<genexpr>z$resolve_variables.<locals>.<genexpr>û   s   øè ø€ ÐA¹5°4˜TŸ\™\¨#×.¹5ùs   ƒ)r   Úupdater.   r@   Újoin)r�   r#   Ú
new_valuesr^   r=   ÚresultÚatomsr‡   s          @r   r8   r8   é   s’   ø€ ð ,.€Jã‰ˆˆeØˆ=Ø‰Fä# EÓ*ˆEØ,.ˆCÙØ—
‘
œ2Ÿ:™:Ô&Ø—
‘
˜:Õ&à—
‘
˜:Ô&Ø—
‘
œ2Ÿ:™:Ô&Ø—W‘WÓA¹5ÓAÓAˆFà!ˆ
�4Òð ð  Ðr)   c              #   óð  K  — t         j                  j                  | «      st        d«      ‚t         j                  j	                  | «      rt         j                  j                  | «      } d}t         j                  j                  | «      }||k7  rd|–— t         j                  j                  t         j                  j                  |t         j                  j                  «      «      }||}}||k7  rŒcyy­w)zL
    Yield directories starting from the given directory up to the root
    zStarting path not foundN)	r.   r/   r~   ÚIOErrorr0   ÚdirnameÚabspathrŠ   Úpardir)r/   Úlast_dirÚcurrent_dirÚ
parent_dirs       r   Ú_walk_to_rootr–     s§   è ø€ ô �7‰7�>‰>˜$ÔÜÐ/Ó0Ð0ä	‡w�w‡~�~�dÔÜ�w‰w�‰˜tÓ$ˆà€HÜ—'‘'—/‘/ $Ó'€KØ
�kÒ
!ØÒÜ—W‘W—_‘_¤R§W¡W§\¡\°+¼r¿w¹w¿~¹~Ó%NÓOˆ
Ø +¨Z�+ˆð �kÕ
!ùs   ‚C1C6Ã4C6ÚfilenameÚraise_error_if_not_foundÚusecwdc                 ó~  — d„ }d„ }|s |«       s |«       st        t        dd«      rt        j                  «       }�n t        j                  «       }t
        }|j                  j                  |k(  s3t        j                  j                  |j                  j                  «      sh|j                  €J ‚|j                  }|j                  j                  |k(  rŒ4t        j                  j                  |j                  j                  «      sŒh|j                  j                  }t        j                  j                  t        j                  j                  |«      «      }t        |«      D ]E  }	t        j                  j                  |	| «      }
t        j                  j                  |
«      sŒC|
c S  |rt!        d«      ‚y)z‡
    Search in increasingly higher folders for the given file

    Returns path to the file if found, or an empty string otherwise
    c                  óž   — t        t        d«      st        t        d«      ry	 t        ddddg¬«      } t        | d«       S # t        $ r Y yw xY w)	z<Decide whether this is running in a REPL or IPython notebookÚps1Úps2TÚ__main__NÚ__file__)ÚfromlistF)ÚhasattrÚsysÚ
__import__ÚModuleNotFoundError)Úmains    r   Ú_is_interactivez$find_dotenv.<locals>._is_interactive  sU   € ä”3˜Ô¤'¬#¨uÔ"5Øð	Ü˜j¨$°À
¸|ÔLˆDô ˜4 Ó,Ð,Ð,øô #ò 	Ùð	ús   £A  Á 	AÁAc                  ó.   — t        j                  «       d uS r%   )r¢   ÚgettracerN   r)   r   Ú_is_debuggerz!find_dotenv.<locals>._is_debugger)  s   € Ü�|‰|‹~ TÐ)Ð)r)   ÚfrozenFzFile not foundr-   )Úgetattrr¢   r.   ÚgetcwdÚ	_getframerŸ   Úf_codeÚco_filenamer/   r~   Úf_backr�   r‘   r–   rŠ   r0   r�   )r—   r˜   r™   r¦   r©   r/   ÚframeÚcurrent_fileÚframe_filenamer�   Ú
check_paths              r   Úfind_dotenvrµ     s8  € ò-ò*ñ ‘Ô"¡l¤n¼ÄÀXÈuÔ8Uä�y‰y‹{Šô —‘“ˆÜˆà�l‰l×&Ñ&¨,Ò6¼b¿g¹g¿n¹nØ�L‰L×$Ñ$ô?
ð —<‘<Ð+Ð+Ð+Ø—L‘LˆEð	 �l‰l×&Ñ&¨,Ó6¼b¿g¹g¿n¹nØ�L‰L×$Ñ$õ?
ð
 Ÿ™×1Ñ1ˆÜ�w‰w�‰œrŸw™wŸ™¨~Ó>Ó?ˆä  Ö&ˆÜ—W‘W—\‘\ '¨8Ó4ˆ
Ü�7‰7�>‰>˜*Õ%ØÒð 'ñ
  ÜÐ&Ó'Ð'àr)   r   r    r"   c                 ó`   — | €|€
t        «       } t        | |||||¬«      }|j                  «       S )a–  Parse a .env file and then load all the variables found as environment variables.

    Parameters:
        dotenv_path: Absolute or relative path to .env file.
        stream: Text stream (such as `io.StringIO`) with .env content, used if
            `dotenv_path` is `None`.
        verbose: Whether to output a warning the .env file is missing.
        override: Whether to override the system environment variables with the variables
            from the `.env` file.
        encoding: Encoding to be used to read the file.
    Returns:
        Bool: True if at least one environment variable is set else False

    If both `dotenv_path` and `stream` are `None`, `find_dotenv()` is used to find the
    .env file with it's default parameters. If you need to change the default parameters
    of `find_dotenv()`, you can explicitly call `find_dotenv()` and pass the result
    to this function as `dotenv_path`.
    ©r   r   r    r"   r#   r!   )rµ   r   rC   )r   r   r    r#   r"   r!   Údotenvs          r   Úload_dotenvr¹   G  sB   € ð4 Ð˜v˜~Ü!“mˆäØØØØØØô€Fð ×.Ñ.Ó0Ð0r)   c                 ó\   — | €|€
t        «       } t        | |||d|¬«      j                  «       S )a‘  
    Parse a .env file and return its content as a dict.

    The returned dict will have `None` values for keys without values in the .env file.
    For example, `foo=bar` results in `{"foo": "bar"}` whereas `foo` alone results in
    `{"foo": None}`

    Parameters:
        dotenv_path: Absolute or relative path to the .env file.
        stream: `StringIO` object with .env content, used if `dotenv_path` is `None`.
        verbose: Whether to output a warning if the .env file is missing.
        encoding: Encoding to be used to read the file.

    If both `dotenv_path` and `stream` are `None`, `find_dotenv()` is used to find the
    .env file.
    Tr·   )rµ   r   r:   )r   r   r    r"   r!   s        r   Údotenv_valuesr»   o  s=   € ð. Ð˜v˜~Ü!“mˆäØØØØØØô÷ �dƒfðr)   )úutf-8)ri   Fr¼   )ri   r¼   )r,   FF)NNFFTr¼   )NNFTr¼   )*r3   Úloggingr.   rV   r\   r¢   rY   Úcollectionsr   Ú
contextlibr   Útypingr   r   r   r   r	   r
   r   r   Úparserr   r   Ú	variablesr   rL   rK   Ú	getLoggerrH   r   r   r   rQ   rc   rM   r{   r€   r8   r–   rµ   r¹   r»   rN   r)   r   Ú<module>rÄ      s  ðÛ 	Û Û 	Û Û Û 
Û Ý #Ý %ß P× PÓ Pç )Ý &ð �Ð'Ð'Ñ
(€à	ˆ×	Ñ	˜8Ó	$€ð¨(°7Ñ*;ð ÀÈÑ@Qó ÷Pñ Pðl &ñ
PØð
Pàð
Pð �s‰mð
Pð ˆc�]ó	
Pð ðØ
ðà�s‰mðð ˆe�B�s‘G˜R ™WÐ$Ñ%Ñ&òó ðð2 ØØ%ñ-*Øð-*àð-*ð ð-*ð ð	-*ð
 ð-*ð �s‰mð-*ð ˆ8�D‰>˜3 Ð#Ñ$ó-*ðf Ø%ñ	!Øð!àð!ð ð!ð �s‰mð	!ð
 ˆ8�D‰>˜3ÐÑó!ðBØ�U˜3 ¨¡Ð-Ñ.Ñ/ðàðð ˆS�(˜3‘-ÐÑ óð28˜ð 8 ¨¡ó 8ð& Ø%*Øñ0Øð0à"ð0ð ð0ð 	ó	0ðh &*Ø $ØØØØ%ñ%1Ø˜'Ñ"ð%1à�R˜‘WÑð%1ð ð%1ð ð	%1ð
 ð%1ð �s‰mð%1ð 
ó%1ðR &*Ø $ØØØ%ñ!Ø˜'Ñ"ð!à�R˜‘WÑð!ð ð!ð ð	!ð
 �s‰mð!ð 
ˆ#ˆx˜‰}Ð
Ñô!r)   