__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
3
�Pf{ � @ sP d dl mZ d dlZd dlZd dlZd dlZdd� Zdd� Zdd� Zd d
� Z dS )� )�absolute_importNc C sP t jd�} y
| j}W n tk
r( dS X t j|_|� }t|t�sL|jd�}|S )z9Returns glibc version string, or None if not using glibc.N�ascii) �ctypesZCDLL�gnu_get_libc_version�AttributeErrorZc_char_pZrestype�
isinstance�str�decode)Zprocess_namespacer �version_str� r �/usr/lib/python3.6/glibc.py�glibc_version_string s
r
c C sH t jd| �}|s$tjd| t� dS t|jd��|koFt|jd��|kS )Nz$(?P<major>[0-9]+)\.(?P<minor>[0-9]+)z=Expected glibc version with 2 components major.minor, got: %sF�major�minor)�re�match�warnings�warn�RuntimeWarning�int�group)r
�required_major�
minimum_minor�mr r r �check_glibc_version# s
r c C s t � }|d krdS t|| |�S )NF)r
r )r r r
r r r �have_compatible_glibc3 s r c C s"