File: //opt/cppython/lib/python3.8/site-packages/s3transfer/__pycache__/crt.cpython-38.pyc
U
LD�gh� � @ s d dl Z d dlZd dlZd dlmZ d dlZd dlZd dlZ d dl
Z d dlmZm
Z
mZmZ d dlmZmZmZmZmZ d dlmZmZmZ d dl mZ d dlmZ d dlmZ d d lmZ d d
l m!Z!m"Z" d dl#m$Z$m%Z% d dl&m'Z' d d
l(m)Z)m*Z* d dl+m,Z, d dl-m.Z.m/Z/m0Z0m1Z1 e �2e3�Z4da5dd� Z6dddde% ddfdd�Z7d2dd�Z8G dd� d�Z9G dd� de*�Z:G dd� de)�Z;G dd� d�Z<G d d!� d!e<�Z=G d"d#� d#e�Z>G d$d%� d%�Z?G d&d'� d'�Z@G d(d)� d)�ZAG d*d+� d+�ZBG d,d-� d-�ZCG d.d/� d/�ZDG d0d1� d1�ZEdS )3� N)�BytesIO)�AwsCredentials�AwsCredentialsProvider�AwsSigningAlgorithm�AwsSigningConfig)�ClientBootstrap�ClientTlsContext�DefaultHostResolver�EventLoopGroup�TlsContextOptions)�S3Client�S3RequestTlsMode�
S3RequestType)�UNSIGNED)�urlsplit)�Config)�NoCredentialsError)� ArnParser�InvalidArnException)�FULL_OBJECT_CHECKSUM_ARGS�MB)�TransferNotDoneError)�BaseTransferFuture�BaseTransferMeta)�TransferManager)�CallArgs�OSUtils�
get_callbacks�is_s3express_bucketc C s@ t d kr<tj�| �}z|�� W n tk
r6 Y d S X |a t S �N)�CRT_S3_PROCESS_LOCK�awscrt�s3ZCrossProcessLock�acquire�RuntimeError)�nameZcrt_lock� r&