/usr/share/cagefs-skeleton/lib/python3.9/site-packages/certbot/_internal/cli/__pycache__
a }|�g, � @ s d Z ddlZddlZddlZddlZddlmZ ddlmZ ddlmZ ddlm Z ddlm Z ddlmZ dd lmZ dd lm Z ddlmZ ddlmZ dd lmZ ddlmZ ddlmZ ddlmZ er�ddlmZ d;eeeeef d�dd�Zeed�dd�Zd<eee e d�dd�ZG dd� d�ZG dd � d ej �Z!G d!d"� d"ej"�Z#e ej$ej%f e e ee d#�d$d%�Z&G d&d'� d'e'�Z(eed(�d)d*�Z)G d+d,� d,ej"�Z*ee ee d-�d.d/�Z+G d0d1� d1ej"�Z,G d2d3� d3ej"�Z-G d4d5� d5ej"�Z.ee/d(�d6d7�Z0eej%dd8�d9d:�Z1dS )=z"Certbot command line util function� N)�Any)�Iterable)�List)�Optional)�Sequence)�Tuple)� TYPE_CHECKING)�Union)� challenges)� configuration)�errors)�util)� constants)�os)�helpful�rb)�filename�mode�returnc C s~ zHt j�| �} t| |��}|�� }W d � n1 s60 Y | |fW S tyx } zt�|j��W Y d}~n d}~0 0 dS )a Returns the given file's contents. :param str filename: path to file :param str mode: open mode (see `open`) :returns: absolute path of filename and its contents :rtype: tuple :raises argparse.ArgumentTypeError: File does not exist or is not readable. N) r �path�abspath�open�read�OSError�argparse�ArgumentTypeError�strerror)r r Zthe_file�contents�exc� r �C/usr/lib/python3.9/site-packages/certbot/_internal/cli/cli_utils.py� read_file s & r! )�namer c C s t �tj| �S )zDefault value for CLI flag.)�copy�deepcopyr ZCLI_DEFAULTS)r"