U ��W� � @ s� d dl Z d dlZd dlmZ d dlmZ d dlmZ ddlm Z m Z mZ ddlm Z mZmZmZ ddlmZmZmZmZmZ dd lmZmZ dd lmZmZ ddlmZmZ ddl m!Z!m"Z" dd l#m$Z$m%Z%m&Z& ddl'm(Z(m)Z) e*� Z+dZ,dZ-d1dd�Z.d2dd�Z/dd� Z0dd� Z1ed3dd��Z2dd� Z3G dd� de*�Z4G d d!� d!e*�Z5G d"d#� d#e5�Z6G d$d%� d%e6�Z7G d&d'� d'e7�Z8G d(d)� d)e7�Z9G d*d+� d+e*�Z:G d,d-� d-e:�Z;G d.d/� d/e:�Z<dd0l=m>Z>m?Z? dS )4� N)�contextmanager)�repeat)�update_wrapper� )�convert_type�IntRange�BOOL)�make_str�make_default_short_help�echo�get_os_args)�ClickException� UsageError�BadParameter�Abort�MissingParameter)�prompt�confirm)� HelpFormatter�join_options)�OptionParser� split_opt)�push_context�pop_context)�PY2�isidentifier� iteritems)�_check_for_unicode_literals�_verify_python3_envzCOMMAND [ARGS]...z*COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]...c C sX |dkrd|� dd��� }tj�|�}|s0dS ddlm} || |||�rTt�d� dS )z1Internal handler for the bash completion support.Nz_%s_COMPLETE�-�_r )�bashcomplete) �replace�upper�os�environ�get� _bashcompleter! �sys�exit)�cmd� prog_name�complete_varZcomplete_instrr! � r- �/core.pyr'