ok

Mini Shell

Direktori : /opt/cloudlinux/venv/lib64/python3.11/site-packages/guppy/heapy/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/guppy/heapy/__pycache__/Path.cpython-311.pyc

�

�܋f�8��t�ddlZddlmZGd�d��ZGd�d��ZGd�d��ZGd	�d
��ZGd�d��ZGd
�d��ZGd�d��Z	Gd�d��Z
Gd�d��ZGd�d��ZGd�d��Z
Gd�d��ZGd�d��ZejGd�de����ZGd�d e��ZejGd!�d"����ZGd#�d$��ZGd%�d&��ZGd'�d(��ZGd)�d*��ZGd+�d,��ZdS)-�N)�property_nondatac��eZdZdZdZdd�ZdS)�R_NORELATION���NTc��d|zS)Nz%s.??���self�a�safes   �G/opt/cloudlinux/venv/lib64/python3.11/site-packages/guppy/heapy/Path.py�strazR_NORELATION.stra
s����{���T)�__name__�
__module__�__qualname__�code�rrrrr
rrs2������
�D��A������rrc��eZdZdZdd�ZdS)�
R_IDENTITYrTc��|S�Nrr	s   r
rzR_IDENTITY.stras���rNr�rrrrrrrr
rrs-�������D������rrc��eZdZdZdZdS)�R_ATTRIBUTE�z%s.%sN�rrrr�strpatrrr
rrs�������D�
�F�F�Frrc��eZdZdZdd�ZdS)�
R_INDEXVAL�Tc�`�|r |�d|�|j���d�S|�d|j�d�S)N�[�])�safereprrr	s   r
rzR_INDEXVAL.strasB���	*� �q�q�$�-�-���"7�"7�"7�"7�8�8� �q�q�$�&�&�&�)�)rNrrrrr
r!r!s-�������D�*�*�*�*�*�*rr!c��eZdZdZdZdS)�
R_INDEXKEY�z
%s.keys()[%r]Nrrrr
r(r($s�������D�
�F�F�Frr(c��eZdZdZdZdS)�R_INTERATTR�z%s->%sNrrrr
r+r+)s�������D�
�F�F�Frr+c��eZdZdZdZdS)�	R_HASATTR�z%s.__dict__.keys()[%r]Nrrrr
r.r..s�������D�
%�F�F�Frr.c��eZdZdZdZdS)�R_LOCAL_VAR�z%s.f_locals[%r]Nrrrr
r1r13s�������D�
�F�F�Frr1c��eZdZdZdZdS)�R_CELL�z%s.f_locals [%r]Nrrrr
r4r48s�������D�
�F�F�Frr4c��eZdZdZdZdS)�R_STACK�z%s->f_valuestack[%d]Nrrrr
r7r7=s�������D�
#�F�F�Frr7c��eZdZdZdZdS)�R_INSET�	zlist(%s)[%d]Nrrrr
r:r:Bs�������D�
�F�F�Frr:c��eZdZdZdd�ZdS)�R_RELSRC�
Tc��|j|fzSr)rr	s   r
rz
R_RELSRC.straJs���v���}�rNrrrrr
r=r=Gs-������
�D������rr=c��eZdZdZdS)�R_LIMIT�N)rrrrrrr
rArANs������
�D�D�DrrAc�:�eZdZdZdd�Zd�Zd�Zd�Zd�Zdd	�Z	d
S)
�RelationBase�r�
isinvertedrc�"�||_||_dSrrE)r
rrFs   r
�__init__zRelationBase.__init__Vs�����$����rc�N�t|t��s:tt|����tt|����kS|j|jkr|j|jkSt|j��t|j��urDtt|j����tt|j����kS	|j|jkS#t$r-t|j��t|j��kcYSwxYwr)�
isinstancerD�id�typerr�	TypeError�r
�others  r
�__lt__zRelationBase.__lt__Zs����%��.�.�	4��d�4�j�j�>�>�B�t�E�{�{�O�O�3�3��9��
�"�"��9�u�z�)�)����<�<�t�E�G�}�}�,�,��d�4�6�l�l�#�#�b��e�g���&7�&7�7�7�	,��6�E�G�#�#���	,�	,�	,��d�f�:�:��5�7���+�+�+�+�	,���s�C-�-4D$�#D$c�t�t|t��r"|j|jkrdS|j|jkSdS)NF)rJrDrrrNs  r
�__eq__zRelationBase.__eq__fs<���e�\�*�*�	��y�E�J�&�&��u��6�U�W�$�$��5rc�,�|�d��S)N�%s�r�r
s r
�__str__zRelationBase.__str__ns���y�y����rc�D�|�|j|j��Sr)�	__class__rrFrVs r
�invertedzRelationBase.invertedqs���~�~�d�f�$�/�&9�:�:�:rTc�$�|j||jfzSr)rrr	s   r
rzRelationBase.strats���{�a���[�(�(rN)rr)
rrr�	__slots__rHrPrRrWrZrrrr
rDrDRs}������!�I�%�%�%�%�
,�
,�
,�������;�;�;�)�)�)�)�)�)rrDc��eZdZd�Zdd�ZdS)�
MultiRelationc��||_dSr)�rels)r
r`s  r
rHzMultiRelation.__init__ys
����	�	�	rTc�`���dd���fd�|jD����zdzS)N�<�,c�>��g|]}|��������S)�rrU)�.0�xrrs  ��r
�
<listcomp>z&MultiRelation.stra.<locals>.<listcomp>}s)���E�E�E�a�Q�V�V�A�D�V�1�1�E�E�Er�>)�joinr`r	s ``r
rzMultiRelation.stra|s:�����3�8�8�E�E�E�E�E�4�9�E�E�E�F�F�F�s�J�JrNr)rrrrHrrrr
r^r^xs=���������K�K�K�K�K�Krr^c�F�eZdZd�Zd�Zd�Zd�Zdd�Zd�Zd�Z	d	�Z
d
�ZdS)
�Pathc���||_|dd�|_||_|d|_|d|_d|_|dkr|jj}t|��r||��}||_dS)NrrrT�_str_of_src_)	�mod�path�index�src�tgt�	strprefix�brief�callable�srcname)r
rorprqrws     r
rHz
Path.__init__�sx���������H��	���
���7�����8�������n�$�$��h�n�G��G���	$��g�d�m�m�G�����rc�B�t|��t|��kSr��strrNs  r
rPzPath.__lt__�s���4�y�y�3�u�:�:�%�%rc�B�t|��t|��kSrryrNs  r
rRzPath.__eq__�s���4�y�y�C��J�J�&�&rc�P�tt|j��dz
dz��S)Nrr")�int�lenrprVs r
�__len__zPath.__len__�s"���C��	�N�N�Q�&�!�+�,�,�,rTc��|jrR|j}tdt|j��d��D]&}|j|}|�||���}�'nd}|S)Nrr"rez<Empty Path>)rprt�ranger~r)r
r�s�irs     r
rz	Path.stra�si���9�	���A��1�c�$�)�n�n�a�0�0�
)�
)���I�a�L���F�F�1�4�F�(�(���
)��A��rc�*�|���SrrUrVs r
rWzPath.__str__�����y�y�{�{�rc�:�tt|����Sr)�reprrzrVs r
�__repr__z
Path.__repr__�s���C��I�I���rc#�PK�d|jt|��|jzfzV�dS)Nz%2d: %s)rqrzrwrVs r
�_get_line_iterzPath._get_line_iter�s1�����4�:�s�4�y�y�4�<�'?�@�@�@�@�@�@�@rc�$�d�|jD��S)Nc�,�g|]}t|����Sr)rL)rfrgs  r
rhzPath.types.<locals>.<listcomp>�s��+�+�+�A��Q���+�+�+r)rprVs r
�typesz
Path.types�s��+�+���+�+�+�+rNr)rrrrHrPrRrrrWr�r�r�rrr
rlrl�s����������&�&�&�'�'�'�-�-�-�����������A�A�A�,�,�,�,�,rrlc�*�eZdZdd�Zd�Zdd�Zd�ZdS)�	PathsIterNc�d�||_|j|_||_|�|��dSr)�pathsro�stop�reset)r
r��startr�s    r
rHzPathsIter.__init__�s1����
��9�����	��
�
�5�����rc��|SrrrVs r
�__iter__zPathsIter.__iter__�s���rc�Z��|�d}|dkr/|jj}|dkr||z}d|cxkr|ksnd|_dS|jj��fd��jjD��}g}g}d}|r�|dkrd|dc}\}}	nAt
|��D]/\}\}}	||j�|	��z}
||
krn|
}�0J�|�|��|�|��|j	�
|jj|	��}|��||_||_
||_||_dS)Nrrc�H��g|]}d|��j��f��S)rT)�by�er)rfrr�Srcs  �r
rhz#PathsIter.reset.<locals>.<listcomp>�s*���
?�
?�
?��t�S�V�V�C�F�^�^�$�
?�
?�
?r)r��numpaths�isatendr��byid�parts�	enumerate�
numpaths_from�appendro�
sortedrels�IG�pos�idxs�srs)r
�idx�ln�srr�r��npr��relrr�npnextr�s           @r
r�zPathsIter.reset�sh����;��C��!�8�8���$�B��Q�w�w��3�h����M�M�M�M�r�M�M�M�M� ������j�n��
?�
?�
?�
?����
?�
?�
?������
���
	9��a�x�x� !�2�a�5�
��:�C���%.�r�]�]���M�A�z��S��$�*�":�":�3�"?�"?�?�F��V�|�|����B�B��1��K�K��N�N�N��J�J�r�N�N�N���$�$�T�Z�]�C�8�8�B��
	9������	�����x����rc���|j}|js|j�|j|jkrt�g}t|j��D]y\}}|j|}|�0|j�	|j
|d��}||j|<||\}}|�|��|�|���z|j�|||j|j
��}|xjdz
c_|dkrd|j|xxdz
cc<|j|t|j|��krn3|dkr
d|j|<d|j|<|dz}|dk�dd|_d|_|S)Nrrr)r�r�r�r��
StopIterationr�r�r�ror�r�r�rlrwr~)	r
r�rp�row�colr�r��dst�rps	         r
�__next__zPathsIter.__next__�st���
���L�	 ��	�%�$�(�d�i�*?�*?�����!�$�)�,�,�	�	�H�C����#��B��z��X�(�(���4��8�<�<�� "����
��#�w�H�C���K�K������K�K������
�X�]�]�5�$���%�-�
@�
@�����A�
����Q�h�h��I�c�N�N�N�a��N�N�N��y��~��D�H�S�M� 2� 2�2�2���Q�w�w� $����
��D�I�c�N��1�H�C��Q�h�h��D�L��D�H��	r�NNr)rrrrHr�r�r�rrr
r�r��s[�������������  �  �  �  �D����rr�c��eZdZd�Zd�Zd�Zdd�Zd�Zd�ZeZ	d	�Z
d
�Zd�Zd�Z
ee
�
��Zed���Zejd���Zd�Zd�Zd�Zd�ZdS)�
ShortestPathsc�D�||_||_|jx|_}|j|_|j|_||_|���x|_}g}|j}|rn|j	�
|��}|���|�|��|�
|��|���}|�n|r[|���|���|�|d�����|_n|���|_t)|��|_g}t-|��D]\}	}
|	dkr:|�
|�|
�������|�
|�|
���������t)|��|_|j�|��d|_dS)Nrr>)�sg�Dstro�_hiding_tag_rw�top�	nodegraphr��nodes�G�domain_restricted�invert�updater��
get_domain�pop�reverse�idsetr��iso�tuple�edgesr��	get_range�sets�OutputHandling�setup_printing�maxpaths)r
r�r�ror��Edges�Y�Rr�r��es           r
rHzShortestPaths.__init__�s��������������3��,����z�������}�}���&���"����I���	���&�&�q�)�)�A�
�H�H�J�J�J��I�I�a�L�L�L��L�L��O�O�O������A��	��	!��I�I�K�K�K��M�M�O�O�O��y�y��q��!4�!4�!6�!6�7�7�D�H�H��w�w�y�y�D�H��5�\�\��
����e�$�$�	2�	2�D�A�q��A�v�v����C�I�I�a�l�l�n�n�5�5�6�6�6��K�K��	�	�!�+�+�-�-�0�0�1�1�1�1��$�K�K��	���)�)�$�/�/�/���
�
�
rc�t�	t|�|�����S#t$rt�wxYw)N)r�)�next�iterr��
IndexError�r
r�s  r
�__getitem__zShortestPaths.__getitem__sD��	���	�	��	�,�,�-�-�-���	�	�	���	���s�"%�7c�*�|���Sr)r�rVs r
r�zShortestPaths.__iter__$r�rrNc�$�t|||��Sr)r�)r
r�r�s   r
r�zShortestPaths.iter's����u�d�+�+�+rc� �t|��Sr)�listrVs r
�aslistzShortestPaths.aslist*s���D�z�z�rc���|j|��|jj��}|j|jjusJ�|j�|j|j|���S)N)�avoid_edges)	�edges_at�updatedr��
AvoidEdgesr�ro�shpathsr�r�)r
�args�avoids   r
�copy_but_avoid_edges_at_levelsz,ShortestPaths.copy_but_avoid_edges_at_levels-s]����
�t�$�,�,�T�W�-?�@�@���!�T�X�%:�:�:�:�:��x�����$�(���F�F�Frc��dSrrrVs r
�depthzShortestPaths.depth;s���rc���|j���}|D]"}|�|j|���#|j|jjjjksJ�|Sr)ror�r�r�r��_parent�View)r
r��Er�s    r
r�zShortestPaths.edges_at>sb���H��� � ���	&�	&�C�
�H�H�T�Z��_�%�%�%�%��~���!1�!6�!C�C�C�C�C��rc������	|j�n�#t$rw|j�d������|j���d��|jjD]}��	|d����|_YnwxYw|jj
j�|j�����fd��d}|jD]}|�|��z
}�|S)NT)�
is_mappingrc����|}|�9d}�|D])}�|}|��|��}||�||��zz
}�*|�|<|S�Nrr)�y�n�z�snr��NPr��numedgess    ����r
r�z'ShortestPaths.numpaths_from.<locals>.npQsm����1��A��y����A��-�-�A��A��B��z��R��U�U����h�h�q�!�n�n�,�,�A�A���1���Hrr)r��AttributeErrorror��add_edges_n1r�r�r�r��add_edge�hvr�)	r
r�r��numrrr�r�r�r�s	     @@@@r
r�zShortestPaths.numpaths_fromEs������	���B�B���	�	�	���#�#�t�#�4�4�B��O�O�D�G�.�.�0�0�$�7�7�7��x�~�
$�
$�����C��#�#�#�#��D�G�G�G�	�����8�;�'��
�W��
	�
	�
	�
	�
	�
	�
	�
	����9�	�	�C��2�2�c�7�7�N�C�C��
s��A>B�Bc�H�|�|j��}||_|Sr)r�r�r�)r
r�s  r
�
_get_numpathszShortestPaths._get_numpathsas#��� � ���*�*����
��
r)�fgetc��|jjSr��printer�max_more_linesrVs r
r�zShortestPaths.maxpathshs
���|�*�*rc��||j_dSrr)r
�values  r
r�zShortestPaths.maxpathsls��&+���#�#�#rc��|jSr�r�rVs r
�_oh_get_num_lineszShortestPaths._oh_get_num_linesps
���}�rc#�HK�|D]}|���Ed{V���dSr)r�)r
�els  r
�_oh_get_line_iterzShortestPaths._oh_get_line_iterssF�����	+�	+�B��(�(�*�*�*�*�*�*�*�*�*�*�	+�	+rc�&�|j|dzz
}d|zS)Nrz<... %d more paths ...>r)r
�start_lineno�
end_lineno�nummores    r
�_oh_get_more_msgzShortestPaths._oh_get_more_msgws���-��A��.��(�7�2�2rc��|jrdSdS)Nz<No more paths>rrVs r
�_oh_get_empty_msgzShortestPaths._oh_get_empty_msg{s���=�	%�$�$��tr)rN)rrrrHr�r�r�r�r��avoidedr�r�r�r�rr��propertyr��setterrr
rrrrr
r�r��sA������"�"�"�H������,�,�,�,����G�G�G�-�G�
�
�
�������8���
 ��]�3�3�3�H�
�+�+��X�+��_�,�,��_�,����+�+�+�3�3�3�����rr�c�*�eZdZ	dd�Zd�Zd�Zd�ZdS)�
ShortestGraphNc��||_||_||_||_||_|�|jdkr|j}n|j}||_|�|j	}||_	dS)Nr)
ror�r��DstSetsr��count�	srcname_1�	srcname_nrw�dstname)r
ror�rr�r�rwrs        r
rHzShortestGraph.__init__�sc��������������$����?��y�A�~�~��-����-������?��k�G�����rc�N�|j�||j|��Sr)ror�rr�s  r
r�zShortestGraph.__getitem__�s!���x�%�%�d�D�L��,=�>�>�>rc�*�t|j��Sr)r~rrVs r
rzShortestGraph.__len__�s���4�<� � � rc���g}t|��D]F\}}|�d|j|fz��|�t|�����Gd�|��S)Nz--- %s[%d] ---�
)r�r�rrzrj)r
�lstr��ps    r
r�zShortestGraph.__repr__�sj�����d�O�O�	�	�D�A�q��J�J�'�4�<��*;�;�<�<�<��J�J�s�1�v�v������y�y��~�~�rr�)rrrrHr�rr�rrr
rr�sX������'+�����"?�?�?�!�!�!�����rrc�|�eZdZdZdZdZdZdZdZd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zdd�Z		dd�Zd�ZdS)�_GLUECLAMP_)r�)�outputrrr�rnr�)
z_parent.ImpSet:mutnodesetz_parent:OutputHandlingz_parent.Use:idsetz_parent.Use:isoz_parent.Use:Nothingz_parent.Use:reprefixz_parent.UniSet:idset_adaptz_parent.View:hvz_parent.View:nodegraphz_parent:Viewc����i}t�j��D]X}|�d��rAt�|��}G�fd�d|�j��}d|zx|_|_|||j<�Y|S)N�R_c�,��eZdZ�jZ�jZdS)�%_GLUECLAMP_._get_rel_table.<locals>.rN)rrrr&r�rVs�r
rr)�s��������=�D�#�}�H�H�Hrr�Based_)�dir�_module�
startswith�getattrrDrrr)r
�table�name�crs`    r
�_get_rel_tablez_GLUECLAMP_._get_rel_table�s���������%�%�	"�	"�D����t�$�$�
"��D�$�'�'��-�-�-�-�-�-�-��4�,�-�-�-�/7�t�m�;����� !��a�f�
���rc�$�|jjjSr)r�r�r�rVs r
�_get__hiding_tag_z_GLUECLAMP_._get__hiding_tag_�s����(9�(F�!Frc�B�|jtjd��S�N�)�	rel_tablerrrVs r
�
_get_identityz_GLUECLAMP_._get_identity�s��$C�D�N�:�?�$C�B�$G�$G�Grc�B�|jtjd��Sr6)r8rrrVs r
�_get_norelationz_GLUECLAMP_._get_norelation�s��&G�d�n�\�5F�&G��&K�&K�Krc�$�|jjjSr)�_root�reprlibr�rVs r
�
_get_safereprz_GLUECLAMP_._get_saferepr�s��D�J�$6�$;�;rc��|jjSr)r��
shpathsteprVs r
�_get_shpathstepz_GLUECLAMP_._get_shpathstep�s��d�g�&8�8rc���g}|j}|jD]H}||D]=}||��}|�||��D]}|�||f����>�I|�d����|S)Nc��|dSr�r)rgs r
�<lambda>z(_GLUECLAMP_.sortedrels.<locals>.<lambda>�s
��Q�q�T�r)�key)r�r��	relationsr��sort)	r
r�r��tr�rrr�r�r�s	         r
r�z_GLUECLAMP_.sortedrels�s������h���9�	)�	)�C��#�w�
)�
)���c�#�h�h���>�>�#�s�3�3�)�)�C��H�H�c�3�Z�(�(�(�(�)�
)�	
���>�>��"�"�"��rc���|���}|rT|�|��}|���|�|��|���}|�T|Sr)r�r�r�r�r�)r
r�r�r�r�s     r
�prunedinvertedz_GLUECLAMP_.prunedinverted�sf��
�^�^�
�
���	��#�#�A�&�&�A�
�H�H�J�J�J��I�I�a�L�L�L������A�	�	�
�	rc��|�||��}t|��dkrt|��}n|s|j}n|d}|S)Nrr)rGr~r^�
norelation)r
rrr��tabrs     r
�relationz_GLUECLAMP_.relation�sR���n�n�S�#�&�&���s�8�8�a�<�<��c�"�"�A�A��	���A�A��A��A��rc��g}||ur|�|j��|j�||��}t	|��D]3\}}|D]+}|�|j||�����,�4|s|jg}|Sr)r��identityr��relater�r8rM)r
rrr�rN�rawrelr��rsrs        r
rGz_GLUECLAMP_.relations�s������#�:�:��J�J�t�}�%�%�%������S�)�)���v�&�&�	1�	1�E�A�r��
1�
1���
�
�,�4�>�!�,�Q�/�/�0�0�0�0�
1��	$��?�#�C��
rNrc�@�|�|g|||��dSr�)�shpgraph)r
r�rr�avoid_nodesr�s     r
r�z_GLUECLAMP_.shpaths�s!���}�}�c�U�C��k�B�B�1�E�Erc	��|�I|�|jj��}|�'|jj|jjjur
d|jz}n|�|��}|�|j}n|�|��}|�|��}	|�	||||	��\}
}|�
||
|||	||��S)Nz%sRoot)r�r��root�heapyc�	RootState�reprefix�idset_adapt�Nothingr��shpgraph_algorithmr)r
rrrrWr�rwrr��
AvoidNodesr�r�s           r
rVz_GLUECLAMP_.shpgraph�s����;��(�(�4�9�>�*�*�C���4�9�>�T�Y�5E�5O�#O�#O�"�T�]�2����"�"�3�'�'�C�����J�J��)�)�+�6�6�J��^�^�K�0�0�
��,�,��S�*�j�2�2�
��7��!�!�$��7�C��")�7�4�4�	4rc���||z
j}��|j��}����}tt	|����}�jgt
|��z}|rS|rQ||z}��||||��}g}	|D])\}
}||z}|r|||
<�|	�|
|f���*|	}|r|�Q|�fd�|D��fS)Nc�:��g|]}��|����Sr)r])rf�Dr
s  �r
rhz2_GLUECLAMP_.shpgraph_algorithm.<locals>.<listcomp>s'���8�8�8�1�4�#�#�A�&�&�8�8�8r)	r��
mutnodesetr�r�r�r^r~rAr�)
r
rr�r`r��U�Sr��unseen�unseen_r�rc�D_s
`            r
r_z_GLUECLAMP_.shpgraph_algorithm
s���
�:�
�$���O�O�J�,�-�-���N�N�����i��(�(�)�)���<�.��W���-���
	�F�
	�
��F�A�����1�a��4�4�A��G��
+�
+���1���U���+�!#�G�A�J�J��N�N�A�q�6�*�*�*�*��F��
	�F�
	��8�8�8�8��8�8�8�8�8r)NNr)NNrNN)rrr�	_preload_�	_chgable_rrr�	_imports_r2r4r9r;r?rBr�rKrOrGr�rVr_rrr
r$r$�s�������!�I�4�I��I��I��G��I����G�F�F�G�G�G�K�K�K�;�;�;�8�8�8�	�	�	�������
�
�
�F�F�F�F�IK�'+�4�4�4�4�&9�9�9�9�9rr$c�(�eZdZGd�d��ZdS)�_Specification_c�L�eZdZed�dd����dS)�_Specification_.GlueTypeExprz!shpgraph        <in>    callable
z<in>z = lambda IN : N)rrr�exec�replacerrr
�GlueTypeExprrps=����������G�F�%�&�&�	(�	(�	(�	(�	(rrsN)rrrrsrrr
rnrns<������(�(�(�(�(�(�(�(�(�(rrn)�	functools�guppy.etc.Descriptorrrrrr!r(r+r.r1r4r7r:r=rA�total_ordering�objectrDr^rlr�r�rr$rnrrr
�<module>rxs�������1�1�1�1�1�1�������������������������
*�*�*�*�*�*�*�*���������
��������
&�&�&�&�&�&�&�&�
��������
 � � � � � � � �
$�$�$�$�$�$�$�$�
��������
������������������")�")�")�")�")�6�")�")���")�JK�K�K�K�K�L�K�K�K���+,�+,�+,�+,�+,�+,�+,���+,�\G�G�G�G�G�G�G�G�TE�E�E�E�E�E�E�E�P��������By9�y9�y9�y9�y9�y9�y9�y9�x(�(�(�(�(�(�(�(�(�(r

Zerion Mini Shell 1.0