� ��cS, � � � d dl mZmZ d dlmZmZ d dlmZ d dlmZ d dlm Z m Z d dlmZm Z mZ d dlmZ d dlT d d lmZmZmZ d d lmZmZ d dlmZ d dlmZ d d lmZ d dlm Z G d� d� � Z!ddd�Z"dZ#dZ$dddddd�Z%ddd�Z&de'de'fd�Z(e)j* fde'd e+d!e'd"e'ddf d#�Z,d$e'de'fd%�Z-d&ede.fd'�Z/d&ed(e'd)e'dd*fd,�Z0d&ed-e'ddfd.�Z1d&eddfd/�Z2e3d0k �rw e� � 5 Z4e4j5 �6 d1e"d2 � � e4j7 �8 d3d4d5d6d7d8d9d:d;d<d=d>d?d@� � � e/e4� � \ Z9Z:Z; e� � Z< e0e4e9e:� � d*k r� e=dA e,dBdCdDe)j>