Mini Shell
a
�DOg.m � L @ s�
d Z ddlZddlZddlZddlZddlZg d�ZejZdZdZ dZ
dZdZG d d
� d
e
�ZddlmZ dd
� Zeddedd�Zdd� Zeddedd�Zdd� Zeddedd�Zdd� Zeddedd�Zd d!� Zed"d#ed$d�Z�d�d&d'�Zed(eed)d�Zd*d+� Zed,eed-d�Zd.d/� Z ed0ee d1d�Z!d2d3� Z"ed4e e"d5d�Z#d6d7� Z$ed8e
e$d9d�Z%d:d;� Z&ed<e e&d=d�Z'd>d?� Z(ed@ee(dAd�Z)dBdC� Z*edDee*dEd�Z+dFdG� Z,edHee,dId�Z-dJdK� Z.edLee.dMd�Z/dNdO� Z0edPe e0dQd�Z1dRdS� Z2edTee2dUd�Z3dVdW� Z4edXee4dYd�Z5dZd[� Z6d\d]� Z7ed^ee6d_d�Z8ed`ee7dad�Z9dbdc� Z:eddee:ded�Z;dfdg� Z<edhd#e<did�Z=ddjlm>Z> dkdl� Z?edme e?dnd�Z@dodp� ZAedqe
eAdrd�ZBG dsdt� dte
�ZCeCdueDdvdw� ZEZFeCdxeDeGfdydw�ZHeCdzeGd{dw�ZIeCd|eJd}dw�ZKeCd~eLeMfddw� ZNZOeCd�eLd�dw�ZPeCd�eQd�dw�ZReCd�eMd�dw�ZSeCd�eTd�d�dw�ZUeCd�eVd�dw�ZWeCd�eXd�dw�ZYeCd�eZd�dw�Z[eCd�e\d�dw�Z]eCd�e\d�dw�Z^eCd�e
d�dw�Z_eCd�e
d�dw�Z`eCd�eCd�dw�ZaeCd�eCd�dw�ZbG d�d�� d�e
�ZcecZdedd�d�e8g eHgdd�d��edd�d�eg eEgdd�d��edd�d�eg eEgdd�d��edd�d�eg eEgdd�d��edd�d�e9g eEgdd�d��edd�d�e@g eEgdd�d��edd�d�eBg eEgdd�d��edd�d�eg eNgdd�d��edd�d�e%g eNgdd�d��edd�d�e#g eNgdd�d��edd�d�e)g ePgd�d�d��edd�d�e'g ePgd�d�d��edd�d�e+g ePgdd�d��edd�d�e-g eRgd�d�d��edd�d�dg e_gd�d�d��edd�d�de_ge_gd�d�d��edd�d�dg eUgdd�d��edd�d�dg eIgdd�d��edd�d�dg eIgdd�d��edd�d�e/g eSgdd�d��edd�d�e1g eSgdd�d��edd�d�e3g eSgdd�d��edd�d�e5g eSgdd�d��edd�d�e;g eKgdd�d��edd�d�e=g eKgdd�d��edd�d�dg eYgdd�d��edd�d�deYe`geYgdd�d��edd�d�deYeaebgeYgdd�d��edd�d�deaebgeYgdd�d��edd�d�dg eWgdd�d��edd�d�deaebgeWgdd�d��edd�d�de`geWgdd�d��edd��d de`e`geWgd�dd��ed�d�dde`e`e`geWgd�dd��ed�d�ddg e[gd�dd��ed�d�d deaebge[gd�d
d��ed�d�dde[e`e`ge[gd�d
d��ed�d�dde[eaebge[gd�dd��ed�d�ddg e]gd�dd��ed�d�dde]eaebge]gd�dd��ed�d�ddeaebge^gd�dd��ed�d�dde`gg d�dd��ed�d�dde`ge`e`gd�dd��ed�d �d!dg eagd�d"d��ed�d#�d$deaebgg d�d%d��ed�d&�d'e8g e`gd�d(d��ed�d)�d*eg e`gd�d+d��ed�d,�d-eg e`gd�d.d��ed�d/�d0e8g g d�d1d��ed�d2�d3eg g d�d4d��ed�d5�d6eg g d�d7d��ed�d8�d9de`ge`gd�d:d��ed�d;�d<eg e`gd�d=d��ed�d>�d?eg e`gd�d@d��ed�dA�dBeg e`gd�dCd��ed�dD�dEe!g e`gd�dFd��ed�dG�dHdeSeSge`gd�dId��ed�dJ�dKde`e`ge`gd�dLd��ed�dM�dNde`e`ge`gd�dOd��ed�dP�dQe!eaebge`gd�dRd��ed�dS�dTdeae`ebge`gd�dUd��ed�dV�dWde`e`ge`gd�dXd��ed�dY�dZde`e`e`ge`gd�d[d��ed�d\�d]eg g d�d^d��ed�d_�d`de`gg d�dad��ed�db�dceg g d�ddd��ed�de�dfeg e`gd�dgd��ed�dh�dide`ge`gd�djd��gDZe[di Zfi Zgehee�D ]n\ZiZjejjkefv �r<el�dkejjkefejjk eif ��ejjmegv �rdel�dlejjmegejjm eif ��eiefejjk<