§
    ŠŠtj?  ã                   óR   — d dl Z d dlmZ  G d„ de¦  «        Z G d„ de¦  «        ZdS )é    N)ÚActionc                   ó.   ‡ — e Zd ZdZddˆ fd„Zd	d„Zˆ xZS )
Úenva   
    Get argument values from ``PET_{dest}`` before defaulting to the given ``default`` value.

    For flags (e.g. ``--standalone``)
    use ``check_env`` instead.

    .. note:: when multiple option strings are specified, ``dest`` is
              the longest option string (e.g. for ``"-f", "--foo"``
              the env var to set is ``PET_FOO`` not ``PET_F``)

    Example:
    ::

     parser.add_argument("-f", "--foo", action=env, default="bar")

     ./program                                      -> args.foo="bar"
     ./program -f baz                               -> args.foo="baz"
     ./program --foo baz                            -> args.foo="baz"
     PET_FOO="env_bar" ./program -f baz    -> args.foo="baz"
     PET_FOO="env_bar" ./program --foo baz -> args.foo="baz"
     PET_FOO="env_bar" ./program           -> args.foo="env_bar"

     parser.add_argument("-f", "--foo", action=env, required=True)

     ./program                                      -> fails
     ./program -f baz                               -> args.foo="baz"
     PET_FOO="env_bar" ./program           -> args.foo="env_bar"
     PET_FOO="env_bar" ./program -f baz    -> args.foo="baz"
    NFÚreturnc                 ó¸   •— d|                      ¦   «         › �}t          j                             ||¦  «        }|rd} t	          ¦   «         j        d|||dœ|¤Ž d S )NÚPET_F)ÚdestÚdefaultÚrequired© )ÚupperÚosÚenvironÚgetÚsuperÚ__init__)Úselfr	   r
   r   ÚkwargsÚenv_nameÚ	__class__s         €ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/distributed/argparse_util.pyr   zenv.__init__,   sh   ø€ Ø(˜$Ÿ*š*™,œ,Ð(Ð(ˆÝ”*—.’. ¨7Ñ3Ô3ˆð ð 	ØˆHà�‰ŒÔÐQ˜d¨G¸hÐQÐQÈ&ÐQÐQÐQÐQÐQó    c                 ó2   — t          || j        |¦  «         d S ©N)Úsetattrr	   ©r   ÚparserÚ	namespaceÚvaluesÚoption_strings        r   Ú__call__zenv.__call__9   s   € Ý�	˜4œ9 fÑ-Ô-Ð-Ð-Ð-r   )NF©r   Nr   ©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r!   Ú__classcell__©r   s   @r   r   r      sg   ø€ € € € € ðð ð<Rð Rð Rð Rð Rð Rð Rð.ð .ð .ð .ð .ð .ð .ð .r   r   c                   ó.   ‡ — e Zd ZdZddˆ fd„Zd	d„Zˆ xZS )
Ú	check_envaè  
    Check whether the env var ``PET_{dest}`` exists before defaulting to the given ``default`` value.

    Equivalent to
    ``store_true`` argparse built-in action except that the argument can
    be omitted from the commandline if the env var is present and has a
    non-zero value.

    .. note:: it is redundant to pass ``default=True`` for arguments
              that use this action because a flag should be ``True``
              when present and ``False`` otherwise.

    Example:
    ::

     parser.add_argument("--verbose", action=check_env)

     ./program                                  -> args.verbose=False
     ./program --verbose                        -> args.verbose=True
     PET_VERBOSE=1 ./program           -> args.verbose=True
     PET_VERBOSE=0 ./program           -> args.verbose=False
     PET_VERBOSE=0 ./program --verbose -> args.verbose=True

    Anti-pattern (don't do this):

    ::

     parser.add_argument("--verbose", action=check_env, default=True)

     ./program                                  -> args.verbose=True
     ./program --verbose                        -> args.verbose=True
     PET_VERBOSE=1 ./program           -> args.verbose=True
     PET_VERBOSE=0 ./program           -> args.verbose=False

    Fr   Nc                 óî   •— d|                      ¦   «         › �}t          t          t          j                             ||rdnd¦  «        ¦  «        ¦  «        } t          ¦   «         j        d|d|ddœ|¤Ž d S )Nr   Ú1Ú0Tr   )r	   Úconstr
   Únargsr   )r   ÚboolÚintr   r   r   r   r   )r   r	   r
   r   r   r   s        €r   r   zcheck_env.__init__b   st   ø€ Ø(˜$Ÿ*š*™,œ,Ð(Ð(ˆÝ•s�2œ:Ÿ>š>¨(¸7Ð4K°C°CÈÑLÔLÑMÔMÑNÔNˆØ�‰ŒÔÐS˜d¨$¸ÀqÐSÐSÈFÐSÐSÐSÐSÐSr   c                 ó<   — t          || j        | j        ¦  «         d S r   )r   r	   r/   r   s        r   r!   zcheck_env.__call__g   s   € Ý�	˜4œ9 d¤jÑ1Ô1Ð1Ð1Ð1r   )Fr"   r   r#   r)   s   @r   r+   r+   =   sh   ø€ € € € € ð"ð "ðHTð Tð Tð Tð Tð Tð Tð
2ð 2ð 2ð 2ð 2ð 2ð 2ð 2r   r+   )r   Úargparser   r   r+   r   r   r   ú<module>r5      s�   ðð 
€	€	€	Ø Ð Ð Ð Ð Ð ð-.ð -.ð -.ð -.ð -.ˆ&ñ -.ô -.ð -.ð`+2ð +2ð +2ð +2ð +2�ñ +2ô +2ð +2ð +2ð +2r   