# %% SOI Device

# -------------------------------------------------------------
# Left Electrode
# -------------------------------------------------------------

# Set up lattice
vector_a = [5.43, 0.0, 0.0]*Angstrom
vector_b = [0.0, 42.0335, 0.0]*Angstrom
vector_c = [0.0, 0.0, 5.43]*Angstrom
left_electrode_lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
left_electrode_elements = [Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen]

# Define coordinates
left_electrode_coordinates = [[  2.981689948314,  18.30175       ,   0.266689948316],
                              [  0.266689948315,  21.01675       ,   0.266689948316],
                              [  2.981689948314,  23.73175       ,   0.266689948316],
                              [  0.800069844946,  15.999976675985,   0.800069844947],
                              [  5.163310051685,  26.033523324015,   0.800069844947],
                              [  1.624189948314,  16.94425       ,   1.624189948316],
                              [  4.339189948314,  19.65925       ,   1.624189948316],
                              [  1.624189948314,  22.37425       ,   1.624189948316],
                              [  4.339189948314,  25.08925       ,   1.624189948316],
                              [  2.448310051683,  15.999976675985,   2.448310051684],
                              [  3.515069844946,  26.033523324015,   2.448310051684],
                              [  0.266689948315,  18.30175       ,   2.981689948316],
                              [  2.981689948314,  21.01675       ,   2.981689948316],
                              [  0.266689948315,  23.73175       ,   2.981689948316],
                              [  3.515069844946,  15.999976675985,   3.515069844947],
                              [  2.448310051683,  26.033523324015,   3.515069844947],
                              [  4.339189948314,  16.94425       ,   4.339189948316],
                              [  1.624189948314,  19.65925       ,   4.339189948316],
                              [  4.339189948314,  22.37425       ,   4.339189948316],
                              [  1.624189948314,  25.08925       ,   4.339189948316],
                              [  5.163310051685,  15.999976675985,   5.163310051684],
                              [  0.800069844946,  26.033523324015,   5.163310051684]]*Angstrom

# Set up configuration
left_electrode = BulkConfiguration(
    bravais_lattice=left_electrode_lattice,
    elements=left_electrode_elements,
    cartesian_coordinates=left_electrode_coordinates
    )

# Add dielectric region
dielectric_region_0 = BoxRegion(
    3.9,
    xmin = 0.0*Angstrom, xmax = 5.43*Angstrom,
    ymin = 0.0*Angstrom, ymax = 14.5*Angstrom,
    zmin = 0.0*Angstrom, zmax = 5.43*Angstrom,
)

dielectric_region_1 = BoxRegion(
    3.9,
    xmin = 0.0*Angstrom, xmax = 5.43*Angstrom,
    ymin = 27.5*Angstrom, ymax = 42.0335*Angstrom,
    zmin = 0.0*Angstrom, zmax = 5.43*Angstrom,
)

dielectric_regions = [dielectric_region_0, dielectric_region_1]
left_electrode.setDielectricRegions(dielectric_regions)

# Add external potential
external_potential = AtomicCompensationCharge([
    ('doping_0', 0.001),
    ('doping_1', 0.001),
    ('doping_2', 0.002),
    ('doping_3', 0.0002),
    ('doping_4', 0.002)
    ])

left_electrode.setExternalPotential(external_potential)

# -------------------------------------------------------------
# Right Electrode
# -------------------------------------------------------------

# Set up lattice
vector_a = [5.43, 0.0, 0.0]*Angstrom
vector_b = [0.0, 42.0335, 0.0]*Angstrom
vector_c = [0.0, 0.0, 5.43]*Angstrom
right_electrode_lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
right_electrode_elements = [Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                            Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                            Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen,
                            Hydrogen]

# Define coordinates
right_electrode_coordinates = [[  2.981689948314,  18.30175       ,   0.266689948316],
                               [  0.266689948315,  21.01675       ,   0.266689948316],
                               [  2.981689948314,  23.73175       ,   0.266689948316],
                               [  0.800069844946,  15.999976675985,   0.800069844947],
                               [  5.163310051685,  26.033523324015,   0.800069844947],
                               [  1.624189948314,  16.94425       ,   1.624189948316],
                               [  4.339189948314,  19.65925       ,   1.624189948316],
                               [  1.624189948314,  22.37425       ,   1.624189948316],
                               [  4.339189948314,  25.08925       ,   1.624189948316],
                               [  2.448310051683,  15.999976675985,   2.448310051684],
                               [  3.515069844946,  26.033523324015,   2.448310051684],
                               [  0.266689948315,  18.30175       ,   2.981689948316],
                               [  2.981689948314,  21.01675       ,   2.981689948316],
                               [  0.266689948315,  23.73175       ,   2.981689948316],
                               [  3.515069844946,  15.999976675985,   3.515069844947],
                               [  2.448310051683,  26.033523324015,   3.515069844947],
                               [  4.339189948314,  16.94425       ,   4.339189948316],
                               [  1.624189948314,  19.65925       ,   4.339189948316],
                               [  4.339189948314,  22.37425       ,   4.339189948316],
                               [  1.624189948314,  25.08925       ,   4.339189948316],
                               [  5.163310051685,  15.999976675985,   5.163310051684],
                               [  0.800069844946,  26.033523324015,   5.163310051684]]*Angstrom

# Set up configuration
right_electrode = BulkConfiguration(
    bravais_lattice=right_electrode_lattice,
    elements=right_electrode_elements,
    cartesian_coordinates=right_electrode_coordinates
    )

# Add dielectric region
dielectric_region_0 = BoxRegion(
    3.9,
    xmin = 0.0*Angstrom, xmax = 5.43*Angstrom,
    ymin = 0.0*Angstrom, ymax = 14.5*Angstrom,
    zmin = 0.0*Angstrom, zmax = 5.43*Angstrom,
)

dielectric_region_1 = BoxRegion(
    3.9,
    xmin = 0.0*Angstrom, xmax = 5.43*Angstrom,
    ymin = 27.5*Angstrom, ymax = 42.0335*Angstrom,
    zmin = 0.0*Angstrom, zmax = 5.43*Angstrom,
)

dielectric_regions = [dielectric_region_0, dielectric_region_1]
right_electrode.setDielectricRegions(dielectric_regions)

# Add external potential
external_potential = AtomicCompensationCharge([
    ('doping_0', 0.001),
    ('doping_1', 0.001),
    ('doping_2', 0.002),
    ('doping_3', 0.0002),
    ('doping_4', 0.002)
    ])

right_electrode.setExternalPotential(external_potential)

# -------------------------------------------------------------
# Central Region
# -------------------------------------------------------------

# Set up lattice
vector_a = [5.43, 0.0, 0.0]*Angstrom
vector_b = [0.0, 42.0335, 0.0]*Angstrom
vector_c = [0.0, 0.0, 228.06]*Angstrom
central_region_lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
central_region_elements = [Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Silicon,
                           Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen, Hydrogen,
                           Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen, Silicon,
                           Silicon, Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon,
                           Silicon, Hydrogen, Hydrogen, Silicon, Silicon, Silicon, Hydrogen,
                           Hydrogen, Silicon, Silicon, Silicon, Silicon, Hydrogen, Hydrogen]

# Define coordinates
central_region_coordinates = [[   2.981689948314,   18.30175       ,    0.266689948316],
                              [   0.266689948315,   21.01675       ,    0.266689948316],
                              [   2.981689948314,   23.73175       ,    0.266689948316],
                              [   0.800069844946,   15.999976675985,    0.800069844947],
                              [   5.163310051685,   26.033523324015,    0.800069844947],
                              [   1.624189948314,   16.94425       ,    1.624189948316],
                              [   4.339189948314,   19.65925       ,    1.624189948316],
                              [   1.624189948314,   22.37425       ,    1.624189948316],
                              [   4.339189948314,   25.08925       ,    1.624189948316],
                              [   2.448310051683,   15.999976675985,    2.448310051684],
                              [   3.515069844946,   26.033523324015,    2.448310051684],
                              [   0.266689948315,   18.30175       ,    2.981689948316],
                              [   2.981689948314,   21.01675       ,    2.981689948316],
                              [   0.266689948315,   23.73175       ,    2.981689948316],
                              [   3.515069844946,   15.999976675985,    3.515069844947],
                              [   2.448310051683,   26.033523324015,    3.515069844947],
                              [   4.339189948314,   16.94425       ,    4.339189948316],
                              [   1.624189948314,   19.65925       ,    4.339189948316],
                              [   4.339189948314,   22.37425       ,    4.339189948316],
                              [   1.624189948314,   25.08925       ,    4.339189948316],
                              [   5.163310051685,   15.999976675985,    5.163310051684],
                              [   0.800069844946,   26.033523324015,    5.163310051684],
                              [   2.981689948314,   18.30175       ,    5.696689948316],
                              [   0.266689948315,   21.01675       ,    5.696689948316],
                              [   2.981689948314,   23.73175       ,    5.696689948316],
                              [   0.800069844946,   15.999976675985,    6.230069844947],
                              [   5.163310051685,   26.033523324015,    6.230069844947],
                              [   1.624189948314,   16.94425       ,    7.054189948316],
                              [   4.339189948314,   19.65925       ,    7.054189948316],
                              [   1.624189948314,   22.37425       ,    7.054189948316],
                              [   4.339189948314,   25.08925       ,    7.054189948316],
                              [   2.448310051683,   15.999976675985,    7.878310051684],
                              [   3.515069844946,   26.033523324015,    7.878310051684],
                              [   0.266689948315,   18.30175       ,    8.411689948316],
                              [   2.981689948314,   21.01675       ,    8.411689948316],
                              [   0.266689948315,   23.73175       ,    8.411689948316],
                              [   3.515069844946,   15.999976675985,    8.945069844947],
                              [   2.448310051683,   26.033523324015,    8.945069844947],
                              [   4.339189948314,   16.94425       ,    9.769189948316],
                              [   1.624189948314,   19.65925       ,    9.769189948316],
                              [   4.339189948314,   22.37425       ,    9.769189948316],
                              [   1.624189948314,   25.08925       ,    9.769189948316],
                              [   5.163310051685,   15.999976675985,   10.593310051684],
                              [   0.800069844946,   26.033523324015,   10.593310051684],
                              [   2.981689948314,   18.30175       ,   11.126689948316],
                              [   0.266689948315,   21.01675       ,   11.126689948316],
                              [   2.981689948314,   23.73175       ,   11.126689948316],
                              [   0.800069844946,   15.999976675985,   11.660069844947],
                              [   5.163310051685,   26.033523324015,   11.660069844947],
                              [   1.624189948314,   16.94425       ,   12.484189948316],
                              [   4.339189948314,   19.65925       ,   12.484189948316],
                              [   1.624189948314,   22.37425       ,   12.484189948316],
                              [   4.339189948314,   25.08925       ,   12.484189948316],
                              [   2.448310051683,   15.999976675985,   13.308310051684],
                              [   3.515069844946,   26.033523324015,   13.308310051684],
                              [   0.266689948315,   18.30175       ,   13.841689948316],
                              [   2.981689948314,   21.01675       ,   13.841689948316],
                              [   0.266689948315,   23.73175       ,   13.841689948316],
                              [   3.515069844946,   15.999976675985,   14.375069844947],
                              [   2.448310051683,   26.033523324015,   14.375069844947],
                              [   4.339189948314,   16.94425       ,   15.199189948316],
                              [   1.624189948314,   19.65925       ,   15.199189948316],
                              [   4.339189948314,   22.37425       ,   15.199189948316],
                              [   1.624189948314,   25.08925       ,   15.199189948316],
                              [   5.163310051685,   15.999976675985,   16.023310051684],
                              [   0.800069844946,   26.033523324015,   16.023310051684],
                              [   2.981689948314,   18.30175       ,   16.556689948316],
                              [   0.266689948315,   21.01675       ,   16.556689948316],
                              [   2.981689948314,   23.73175       ,   16.556689948316],
                              [   0.800069844946,   15.999976675985,   17.090069844947],
                              [   5.163310051685,   26.033523324015,   17.090069844947],
                              [   1.624189948314,   16.94425       ,   17.914189948316],
                              [   4.339189948314,   19.65925       ,   17.914189948316],
                              [   1.624189948314,   22.37425       ,   17.914189948316],
                              [   4.339189948314,   25.08925       ,   17.914189948316],
                              [   2.448310051683,   15.999976675985,   18.738310051684],
                              [   3.515069844946,   26.033523324015,   18.738310051684],
                              [   0.266689948315,   18.30175       ,   19.271689948316],
                              [   2.981689948314,   21.01675       ,   19.271689948316],
                              [   0.266689948315,   23.73175       ,   19.271689948316],
                              [   3.515069844946,   15.999976675985,   19.805069844947],
                              [   2.448310051683,   26.033523324015,   19.805069844947],
                              [   4.339189948314,   16.94425       ,   20.629189948316],
                              [   1.624189948314,   19.65925       ,   20.629189948316],
                              [   4.339189948314,   22.37425       ,   20.629189948316],
                              [   1.624189948314,   25.08925       ,   20.629189948316],
                              [   5.163310051685,   15.999976675985,   21.453310051684],
                              [   0.800069844946,   26.033523324015,   21.453310051684],
                              [   2.981689948314,   18.30175       ,   21.986689948316],
                              [   0.266689948315,   21.01675       ,   21.986689948316],
                              [   2.981689948314,   23.73175       ,   21.986689948316],
                              [   0.800069844946,   15.999976675985,   22.520069844947],
                              [   5.163310051685,   26.033523324015,   22.520069844947],
                              [   1.624189948314,   16.94425       ,   23.344189948316],
                              [   4.339189948314,   19.65925       ,   23.344189948316],
                              [   1.624189948314,   22.37425       ,   23.344189948316],
                              [   4.339189948314,   25.08925       ,   23.344189948316],
                              [   2.448310051683,   15.999976675985,   24.168310051684],
                              [   3.515069844946,   26.033523324015,   24.168310051684],
                              [   0.266689948315,   18.30175       ,   24.701689948316],
                              [   2.981689948314,   21.01675       ,   24.701689948316],
                              [   0.266689948315,   23.73175       ,   24.701689948316],
                              [   3.515069844946,   15.999976675985,   25.235069844947],
                              [   2.448310051683,   26.033523324015,   25.235069844947],
                              [   4.339189948314,   16.94425       ,   26.059189948316],
                              [   1.624189948314,   19.65925       ,   26.059189948316],
                              [   4.339189948314,   22.37425       ,   26.059189948316],
                              [   1.624189948314,   25.08925       ,   26.059189948316],
                              [   5.163310051685,   15.999976675985,   26.883310051684],
                              [   0.800069844946,   26.033523324015,   26.883310051684],
                              [   2.981689948314,   18.30175       ,   27.416689948316],
                              [   0.266689948315,   21.01675       ,   27.416689948316],
                              [   2.981689948314,   23.73175       ,   27.416689948316],
                              [   0.800069844946,   15.999976675985,   27.950069844947],
                              [   5.163310051685,   26.033523324015,   27.950069844947],
                              [   1.624189948314,   16.94425       ,   28.774189948316],
                              [   4.339189948314,   19.65925       ,   28.774189948316],
                              [   1.624189948314,   22.37425       ,   28.774189948316],
                              [   4.339189948314,   25.08925       ,   28.774189948316],
                              [   2.448310051683,   15.999976675985,   29.598310051684],
                              [   3.515069844946,   26.033523324015,   29.598310051684],
                              [   0.266689948315,   18.30175       ,   30.131689948316],
                              [   2.981689948314,   21.01675       ,   30.131689948316],
                              [   0.266689948315,   23.73175       ,   30.131689948316],
                              [   3.515069844946,   15.999976675985,   30.665069844947],
                              [   2.448310051683,   26.033523324015,   30.665069844947],
                              [   4.339189948314,   16.94425       ,   31.489189948316],
                              [   1.624189948314,   19.65925       ,   31.489189948316],
                              [   4.339189948314,   22.37425       ,   31.489189948316],
                              [   1.624189948314,   25.08925       ,   31.489189948316],
                              [   5.163310051685,   15.999976675985,   32.313310051684],
                              [   0.800069844946,   26.033523324015,   32.313310051684],
                              [   2.981689948314,   18.30175       ,   32.846689948316],
                              [   0.266689948315,   21.01675       ,   32.846689948316],
                              [   2.981689948314,   23.73175       ,   32.846689948316],
                              [   0.800069844946,   15.999976675985,   33.380069844947],
                              [   5.163310051685,   26.033523324015,   33.380069844947],
                              [   1.624189948314,   16.94425       ,   34.204189948316],
                              [   4.339189948314,   19.65925       ,   34.204189948316],
                              [   1.624189948314,   22.37425       ,   34.204189948316],
                              [   4.339189948314,   25.08925       ,   34.204189948316],
                              [   2.448310051683,   15.999976675985,   35.028310051684],
                              [   3.515069844946,   26.033523324015,   35.028310051684],
                              [   0.266689948315,   18.30175       ,   35.561689948316],
                              [   2.981689948314,   21.01675       ,   35.561689948316],
                              [   0.266689948315,   23.73175       ,   35.561689948316],
                              [   3.515069844946,   15.999976675985,   36.095069844947],
                              [   2.448310051683,   26.033523324015,   36.095069844947],
                              [   4.339189948314,   16.94425       ,   36.919189948316],
                              [   1.624189948314,   19.65925       ,   36.919189948316],
                              [   4.339189948314,   22.37425       ,   36.919189948316],
                              [   1.624189948314,   25.08925       ,   36.919189948316],
                              [   5.163310051685,   15.999976675985,   37.743310051684],
                              [   0.800069844946,   26.033523324015,   37.743310051684],
                              [   2.981689948314,   18.30175       ,   38.276689948316],
                              [   0.266689948315,   21.01675       ,   38.276689948316],
                              [   2.981689948314,   23.73175       ,   38.276689948316],
                              [   0.800069844946,   15.999976675985,   38.810069844947],
                              [   5.163310051685,   26.033523324015,   38.810069844947],
                              [   1.624189948314,   16.94425       ,   39.634189948316],
                              [   4.339189948314,   19.65925       ,   39.634189948316],
                              [   1.624189948314,   22.37425       ,   39.634189948316],
                              [   4.339189948314,   25.08925       ,   39.634189948316],
                              [   2.448310051683,   15.999976675985,   40.458310051684],
                              [   3.515069844946,   26.033523324015,   40.458310051684],
                              [   0.266689948315,   18.30175       ,   40.991689948316],
                              [   2.981689948314,   21.01675       ,   40.991689948316],
                              [   0.266689948315,   23.73175       ,   40.991689948316],
                              [   3.515069844946,   15.999976675985,   41.525069844947],
                              [   2.448310051683,   26.033523324015,   41.525069844947],
                              [   4.339189948314,   16.94425       ,   42.349189948316],
                              [   1.624189948314,   19.65925       ,   42.349189948316],
                              [   4.339189948314,   22.37425       ,   42.349189948316],
                              [   1.624189948314,   25.08925       ,   42.349189948316],
                              [   5.163310051685,   15.999976675985,   43.173310051684],
                              [   0.800069844946,   26.033523324015,   43.173310051684],
                              [   2.981689948314,   18.30175       ,   43.706689948316],
                              [   0.266689948315,   21.01675       ,   43.706689948316],
                              [   2.981689948314,   23.73175       ,   43.706689948316],
                              [   0.800069844946,   15.999976675985,   44.240069844947],
                              [   5.163310051685,   26.033523324015,   44.240069844947],
                              [   1.624189948314,   16.94425       ,   45.064189948316],
                              [   4.339189948314,   19.65925       ,   45.064189948316],
                              [   1.624189948314,   22.37425       ,   45.064189948316],
                              [   4.339189948314,   25.08925       ,   45.064189948316],
                              [   2.448310051683,   15.999976675985,   45.888310051684],
                              [   3.515069844946,   26.033523324015,   45.888310051684],
                              [   0.266689948315,   18.30175       ,   46.421689948316],
                              [   2.981689948314,   21.01675       ,   46.421689948316],
                              [   0.266689948315,   23.73175       ,   46.421689948316],
                              [   3.515069844946,   15.999976675985,   46.955069844947],
                              [   2.448310051683,   26.033523324015,   46.955069844947],
                              [   4.339189948314,   16.94425       ,   47.779189948316],
                              [   1.624189948314,   19.65925       ,   47.779189948316],
                              [   4.339189948314,   22.37425       ,   47.779189948316],
                              [   1.624189948314,   25.08925       ,   47.779189948316],
                              [   5.163310051685,   15.999976675985,   48.603310051684],
                              [   0.800069844946,   26.033523324015,   48.603310051684],
                              [   2.981689948314,   18.30175       ,   49.136689948316],
                              [   0.266689948315,   21.01675       ,   49.136689948316],
                              [   2.981689948314,   23.73175       ,   49.136689948316],
                              [   0.800069844946,   15.999976675985,   49.670069844947],
                              [   5.163310051685,   26.033523324015,   49.670069844947],
                              [   1.624189948314,   16.94425       ,   50.494189948316],
                              [   4.339189948314,   19.65925       ,   50.494189948316],
                              [   1.624189948314,   22.37425       ,   50.494189948316],
                              [   4.339189948314,   25.08925       ,   50.494189948316],
                              [   2.448310051683,   15.999976675985,   51.318310051684],
                              [   3.515069844946,   26.033523324015,   51.318310051684],
                              [   0.266689948315,   18.30175       ,   51.851689948316],
                              [   2.981689948314,   21.01675       ,   51.851689948316],
                              [   0.266689948315,   23.73175       ,   51.851689948316],
                              [   3.515069844946,   15.999976675985,   52.385069844947],
                              [   2.448310051683,   26.033523324015,   52.385069844947],
                              [   4.339189948314,   16.94425       ,   53.209189948316],
                              [   1.624189948314,   19.65925       ,   53.209189948316],
                              [   4.339189948314,   22.37425       ,   53.209189948316],
                              [   1.624189948314,   25.08925       ,   53.209189948316],
                              [   5.163310051685,   15.999976675985,   54.033310051684],
                              [   0.800069844946,   26.033523324015,   54.033310051684],
                              [   2.981689948314,   18.30175       ,   54.566689948316],
                              [   0.266689948315,   21.01675       ,   54.566689948316],
                              [   2.981689948314,   23.73175       ,   54.566689948316],
                              [   0.800069844946,   15.999976675985,   55.100069844947],
                              [   5.163310051685,   26.033523324015,   55.100069844947],
                              [   1.624189948314,   16.94425       ,   55.924189948316],
                              [   4.339189948314,   19.65925       ,   55.924189948316],
                              [   1.624189948314,   22.37425       ,   55.924189948316],
                              [   4.339189948314,   25.08925       ,   55.924189948316],
                              [   2.448310051683,   15.999976675985,   56.748310051684],
                              [   3.515069844946,   26.033523324015,   56.748310051684],
                              [   0.266689948315,   18.30175       ,   57.281689948316],
                              [   2.981689948314,   21.01675       ,   57.281689948316],
                              [   0.266689948315,   23.73175       ,   57.281689948316],
                              [   3.515069844946,   15.999976675985,   57.815069844947],
                              [   2.448310051683,   26.033523324015,   57.815069844947],
                              [   4.339189948314,   16.94425       ,   58.639189948316],
                              [   1.624189948314,   19.65925       ,   58.639189948316],
                              [   4.339189948314,   22.37425       ,   58.639189948316],
                              [   1.624189948314,   25.08925       ,   58.639189948316],
                              [   5.163310051685,   15.999976675985,   59.463310051684],
                              [   0.800069844946,   26.033523324015,   59.463310051684],
                              [   2.981689948314,   18.30175       ,   59.996689948316],
                              [   0.266689948315,   21.01675       ,   59.996689948316],
                              [   2.981689948314,   23.73175       ,   59.996689948316],
                              [   0.800069844946,   15.999976675985,   60.530069844947],
                              [   5.163310051685,   26.033523324015,   60.530069844947],
                              [   1.624189948314,   16.94425       ,   61.354189948316],
                              [   4.339189948314,   19.65925       ,   61.354189948316],
                              [   1.624189948314,   22.37425       ,   61.354189948316],
                              [   4.339189948314,   25.08925       ,   61.354189948316],
                              [   2.448310051683,   15.999976675985,   62.178310051684],
                              [   3.515069844946,   26.033523324015,   62.178310051684],
                              [   0.266689948315,   18.30175       ,   62.711689948316],
                              [   2.981689948314,   21.01675       ,   62.711689948316],
                              [   0.266689948315,   23.73175       ,   62.711689948316],
                              [   3.515069844946,   15.999976675985,   63.245069844947],
                              [   2.448310051683,   26.033523324015,   63.245069844947],
                              [   4.339189948314,   16.94425       ,   64.069189948316],
                              [   1.624189948314,   19.65925       ,   64.069189948316],
                              [   4.339189948314,   22.37425       ,   64.069189948316],
                              [   1.624189948314,   25.08925       ,   64.069189948316],
                              [   5.163310051685,   15.999976675985,   64.893310051684],
                              [   0.800069844946,   26.033523324015,   64.893310051684],
                              [   2.981689948314,   18.30175       ,   65.426689948316],
                              [   0.266689948315,   21.01675       ,   65.426689948316],
                              [   2.981689948314,   23.73175       ,   65.426689948316],
                              [   0.800069844946,   15.999976675985,   65.960069844947],
                              [   5.163310051685,   26.033523324015,   65.960069844947],
                              [   1.624189948314,   16.94425       ,   66.784189948316],
                              [   4.339189948314,   19.65925       ,   66.784189948316],
                              [   1.624189948314,   22.37425       ,   66.784189948316],
                              [   4.339189948314,   25.08925       ,   66.784189948316],
                              [   2.448310051683,   15.999976675985,   67.608310051684],
                              [   3.515069844946,   26.033523324015,   67.608310051684],
                              [   0.266689948315,   18.30175       ,   68.141689948316],
                              [   2.981689948314,   21.01675       ,   68.141689948316],
                              [   0.266689948315,   23.73175       ,   68.141689948316],
                              [   3.515069844946,   15.999976675985,   68.675069844947],
                              [   2.448310051683,   26.033523324015,   68.675069844947],
                              [   4.339189948314,   16.94425       ,   69.499189948316],
                              [   1.624189948314,   19.65925       ,   69.499189948316],
                              [   4.339189948314,   22.37425       ,   69.499189948316],
                              [   1.624189948314,   25.08925       ,   69.499189948316],
                              [   5.163310051685,   15.999976675985,   70.323310051684],
                              [   0.800069844946,   26.033523324015,   70.323310051684],
                              [   2.981689948314,   18.30175       ,   70.856689948316],
                              [   0.266689948315,   21.01675       ,   70.856689948316],
                              [   2.981689948314,   23.73175       ,   70.856689948316],
                              [   0.800069844946,   15.999976675985,   71.390069844947],
                              [   5.163310051685,   26.033523324015,   71.390069844947],
                              [   1.624189948314,   16.94425       ,   72.214189948316],
                              [   4.339189948314,   19.65925       ,   72.214189948316],
                              [   1.624189948314,   22.37425       ,   72.214189948316],
                              [   4.339189948314,   25.08925       ,   72.214189948316],
                              [   2.448310051683,   15.999976675985,   73.038310051684],
                              [   3.515069844946,   26.033523324015,   73.038310051684],
                              [   0.266689948315,   18.30175       ,   73.571689948316],
                              [   2.981689948314,   21.01675       ,   73.571689948316],
                              [   0.266689948315,   23.73175       ,   73.571689948316],
                              [   3.515069844946,   15.999976675985,   74.105069844947],
                              [   2.448310051683,   26.033523324015,   74.105069844947],
                              [   4.339189948314,   16.94425       ,   74.929189948316],
                              [   1.624189948314,   19.65925       ,   74.929189948316],
                              [   4.339189948314,   22.37425       ,   74.929189948316],
                              [   1.624189948314,   25.08925       ,   74.929189948316],
                              [   5.163310051685,   15.999976675985,   75.753310051684],
                              [   0.800069844946,   26.033523324015,   75.753310051684],
                              [   2.981689948314,   18.30175       ,   76.286689948316],
                              [   0.266689948315,   21.01675       ,   76.286689948316],
                              [   2.981689948314,   23.73175       ,   76.286689948316],
                              [   0.800069844946,   15.999976675985,   76.820069844947],
                              [   5.163310051685,   26.033523324015,   76.820069844947],
                              [   1.624189948314,   16.94425       ,   77.644189948316],
                              [   4.339189948314,   19.65925       ,   77.644189948316],
                              [   1.624189948314,   22.37425       ,   77.644189948316],
                              [   4.339189948314,   25.08925       ,   77.644189948316],
                              [   2.448310051683,   15.999976675985,   78.468310051684],
                              [   3.515069844946,   26.033523324015,   78.468310051684],
                              [   0.266689948315,   18.30175       ,   79.001689948316],
                              [   2.981689948314,   21.01675       ,   79.001689948316],
                              [   0.266689948315,   23.73175       ,   79.001689948316],
                              [   3.515069844946,   15.999976675985,   79.535069844947],
                              [   2.448310051683,   26.033523324015,   79.535069844947],
                              [   4.339189948314,   16.94425       ,   80.359189948316],
                              [   1.624189948314,   19.65925       ,   80.359189948316],
                              [   4.339189948314,   22.37425       ,   80.359189948316],
                              [   1.624189948314,   25.08925       ,   80.359189948316],
                              [   5.163310051685,   15.999976675985,   81.183310051684],
                              [   0.800069844946,   26.033523324015,   81.183310051684],
                              [   2.981689948314,   18.30175       ,   81.716689948316],
                              [   0.266689948315,   21.01675       ,   81.716689948316],
                              [   2.981689948314,   23.73175       ,   81.716689948316],
                              [   0.800069844946,   15.999976675985,   82.250069844947],
                              [   5.163310051685,   26.033523324015,   82.250069844947],
                              [   1.624189948314,   16.94425       ,   83.074189948316],
                              [   4.339189948314,   19.65925       ,   83.074189948316],
                              [   1.624189948314,   22.37425       ,   83.074189948316],
                              [   4.339189948314,   25.08925       ,   83.074189948316],
                              [   2.448310051683,   15.999976675985,   83.898310051684],
                              [   3.515069844946,   26.033523324015,   83.898310051684],
                              [   0.266689948315,   18.30175       ,   84.431689948316],
                              [   2.981689948314,   21.01675       ,   84.431689948316],
                              [   0.266689948315,   23.73175       ,   84.431689948316],
                              [   3.515069844946,   15.999976675985,   84.965069844947],
                              [   2.448310051683,   26.033523324015,   84.965069844947],
                              [   4.339189948314,   16.94425       ,   85.789189948316],
                              [   1.624189948314,   19.65925       ,   85.789189948316],
                              [   4.339189948314,   22.37425       ,   85.789189948316],
                              [   1.624189948314,   25.08925       ,   85.789189948316],
                              [   5.163310051685,   15.999976675985,   86.613310051684],
                              [   0.800069844946,   26.033523324015,   86.613310051684],
                              [   2.981689948314,   18.30175       ,   87.146689948316],
                              [   0.266689948315,   21.01675       ,   87.146689948316],
                              [   2.981689948314,   23.73175       ,   87.146689948316],
                              [   0.800069844946,   15.999976675985,   87.680069844947],
                              [   5.163310051685,   26.033523324015,   87.680069844947],
                              [   1.624189948314,   16.94425       ,   88.504189948316],
                              [   4.339189948314,   19.65925       ,   88.504189948316],
                              [   1.624189948314,   22.37425       ,   88.504189948316],
                              [   4.339189948314,   25.08925       ,   88.504189948316],
                              [   2.448310051683,   15.999976675985,   89.328310051684],
                              [   3.515069844946,   26.033523324015,   89.328310051684],
                              [   0.266689948315,   18.30175       ,   89.861689948316],
                              [   2.981689948314,   21.01675       ,   89.861689948316],
                              [   0.266689948315,   23.73175       ,   89.861689948316],
                              [   3.515069844946,   15.999976675985,   90.395069844947],
                              [   2.448310051683,   26.033523324015,   90.395069844947],
                              [   4.339189948314,   16.94425       ,   91.219189948316],
                              [   1.624189948314,   19.65925       ,   91.219189948316],
                              [   4.339189948314,   22.37425       ,   91.219189948316],
                              [   1.624189948314,   25.08925       ,   91.219189948316],
                              [   5.163310051685,   15.999976675985,   92.043310051684],
                              [   0.800069844946,   26.033523324015,   92.043310051684],
                              [   2.981689948314,   18.30175       ,   92.576689948316],
                              [   0.266689948315,   21.01675       ,   92.576689948316],
                              [   2.981689948314,   23.73175       ,   92.576689948316],
                              [   0.800069844946,   15.999976675985,   93.110069844947],
                              [   5.163310051685,   26.033523324015,   93.110069844947],
                              [   1.624189948314,   16.94425       ,   93.934189948316],
                              [   4.339189948314,   19.65925       ,   93.934189948316],
                              [   1.624189948314,   22.37425       ,   93.934189948316],
                              [   4.339189948314,   25.08925       ,   93.934189948316],
                              [   2.448310051683,   15.999976675985,   94.758310051684],
                              [   3.515069844946,   26.033523324015,   94.758310051684],
                              [   0.266689948315,   18.30175       ,   95.291689948316],
                              [   2.981689948314,   21.01675       ,   95.291689948316],
                              [   0.266689948315,   23.73175       ,   95.291689948316],
                              [   3.515069844946,   15.999976675985,   95.825069844947],
                              [   2.448310051683,   26.033523324015,   95.825069844947],
                              [   4.339189948314,   16.94425       ,   96.649189948316],
                              [   1.624189948314,   19.65925       ,   96.649189948316],
                              [   4.339189948314,   22.37425       ,   96.649189948316],
                              [   1.624189948314,   25.08925       ,   96.649189948316],
                              [   5.163310051685,   15.999976675985,   97.473310051684],
                              [   0.800069844946,   26.033523324015,   97.473310051684],
                              [   2.981689948314,   18.30175       ,   98.006689948316],
                              [   0.266689948315,   21.01675       ,   98.006689948316],
                              [   2.981689948314,   23.73175       ,   98.006689948316],
                              [   0.800069844946,   15.999976675985,   98.540069844947],
                              [   5.163310051685,   26.033523324015,   98.540069844947],
                              [   1.624189948314,   16.94425       ,   99.364189948316],
                              [   4.339189948314,   19.65925       ,   99.364189948316],
                              [   1.624189948314,   22.37425       ,   99.364189948316],
                              [   4.339189948314,   25.08925       ,   99.364189948316],
                              [   2.448310051683,   15.999976675985,  100.188310051684],
                              [   3.515069844946,   26.033523324015,  100.188310051684],
                              [   0.266689948315,   18.30175       ,  100.721689948316],
                              [   2.981689948314,   21.01675       ,  100.721689948316],
                              [   0.266689948315,   23.73175       ,  100.721689948316],
                              [   3.515069844946,   15.999976675985,  101.255069844947],
                              [   2.448310051683,   26.033523324015,  101.255069844947],
                              [   4.339189948314,   16.94425       ,  102.079189948316],
                              [   1.624189948314,   19.65925       ,  102.079189948316],
                              [   4.339189948314,   22.37425       ,  102.079189948316],
                              [   1.624189948314,   25.08925       ,  102.079189948316],
                              [   5.163310051685,   15.999976675985,  102.903310051684],
                              [   0.800069844946,   26.033523324015,  102.903310051684],
                              [   2.981689948314,   18.30175       ,  103.436689948316],
                              [   0.266689948315,   21.01675       ,  103.436689948316],
                              [   2.981689948314,   23.73175       ,  103.436689948316],
                              [   0.800069844946,   15.999976675985,  103.970069844947],
                              [   5.163310051685,   26.033523324015,  103.970069844947],
                              [   1.624189948314,   16.94425       ,  104.794189948316],
                              [   4.339189948314,   19.65925       ,  104.794189948316],
                              [   1.624189948314,   22.37425       ,  104.794189948316],
                              [   4.339189948314,   25.08925       ,  104.794189948316],
                              [   2.448310051683,   15.999976675985,  105.618310051684],
                              [   3.515069844946,   26.033523324015,  105.618310051684],
                              [   0.266689948315,   18.30175       ,  106.151689948316],
                              [   2.981689948314,   21.01675       ,  106.151689948316],
                              [   0.266689948315,   23.73175       ,  106.151689948316],
                              [   3.515069844946,   15.999976675985,  106.685069844947],
                              [   2.448310051683,   26.033523324015,  106.685069844947],
                              [   4.339189948314,   16.94425       ,  107.509189948316],
                              [   1.624189948314,   19.65925       ,  107.509189948316],
                              [   4.339189948314,   22.37425       ,  107.509189948316],
                              [   1.624189948314,   25.08925       ,  107.509189948316],
                              [   5.163310051685,   15.999976675985,  108.333310051684],
                              [   0.800069844946,   26.033523324015,  108.333310051684],
                              [   2.981689948314,   18.30175       ,  108.866689948316],
                              [   0.266689948315,   21.01675       ,  108.866689948316],
                              [   2.981689948314,   23.73175       ,  108.866689948316],
                              [   0.800069844946,   15.999976675985,  109.400069844947],
                              [   5.163310051685,   26.033523324015,  109.400069844947],
                              [   1.624189948314,   16.94425       ,  110.224189948316],
                              [   4.339189948314,   19.65925       ,  110.224189948316],
                              [   1.624189948314,   22.37425       ,  110.224189948316],
                              [   4.339189948314,   25.08925       ,  110.224189948316],
                              [   2.448310051683,   15.999976675985,  111.048310051684],
                              [   3.515069844946,   26.033523324015,  111.048310051684],
                              [   0.266689948315,   18.30175       ,  111.581689948316],
                              [   2.981689948314,   21.01675       ,  111.581689948316],
                              [   0.266689948315,   23.73175       ,  111.581689948316],
                              [   3.515069844946,   15.999976675985,  112.115069844947],
                              [   2.448310051683,   26.033523324015,  112.115069844947],
                              [   4.339189948314,   16.94425       ,  112.939189948316],
                              [   1.624189948314,   19.65925       ,  112.939189948316],
                              [   4.339189948314,   22.37425       ,  112.939189948316],
                              [   1.624189948314,   25.08925       ,  112.939189948316],
                              [   5.163310051685,   15.999976675985,  113.763310051684],
                              [   0.800069844946,   26.033523324015,  113.763310051684],
                              [   2.981689948314,   18.30175       ,  114.296689948316],
                              [   0.266689948315,   21.01675       ,  114.296689948316],
                              [   2.981689948314,   23.73175       ,  114.296689948316],
                              [   0.800069844946,   15.999976675985,  114.830069844947],
                              [   5.163310051685,   26.033523324015,  114.830069844947],
                              [   1.624189948314,   16.94425       ,  115.654189948316],
                              [   4.339189948314,   19.65925       ,  115.654189948316],
                              [   1.624189948314,   22.37425       ,  115.654189948316],
                              [   4.339189948314,   25.08925       ,  115.654189948316],
                              [   2.448310051683,   15.999976675985,  116.478310051684],
                              [   3.515069844946,   26.033523324015,  116.478310051684],
                              [   0.266689948315,   18.30175       ,  117.011689948316],
                              [   2.981689948314,   21.01675       ,  117.011689948316],
                              [   0.266689948315,   23.73175       ,  117.011689948316],
                              [   3.515069844946,   15.999976675985,  117.545069844947],
                              [   2.448310051683,   26.033523324015,  117.545069844947],
                              [   4.339189948314,   16.94425       ,  118.369189948316],
                              [   1.624189948314,   19.65925       ,  118.369189948316],
                              [   4.339189948314,   22.37425       ,  118.369189948316],
                              [   1.624189948314,   25.08925       ,  118.369189948316],
                              [   5.163310051685,   15.999976675985,  119.193310051684],
                              [   0.800069844946,   26.033523324015,  119.193310051684],
                              [   2.981689948314,   18.30175       ,  119.726689948316],
                              [   0.266689948315,   21.01675       ,  119.726689948316],
                              [   2.981689948314,   23.73175       ,  119.726689948316],
                              [   0.800069844946,   15.999976675985,  120.260069844947],
                              [   5.163310051685,   26.033523324015,  120.260069844947],
                              [   1.624189948314,   16.94425       ,  121.084189948316],
                              [   4.339189948314,   19.65925       ,  121.084189948316],
                              [   1.624189948314,   22.37425       ,  121.084189948316],
                              [   4.339189948314,   25.08925       ,  121.084189948316],
                              [   2.448310051683,   15.999976675985,  121.908310051684],
                              [   3.515069844946,   26.033523324015,  121.908310051684],
                              [   0.266689948315,   18.30175       ,  122.441689948316],
                              [   2.981689948314,   21.01675       ,  122.441689948316],
                              [   0.266689948315,   23.73175       ,  122.441689948316],
                              [   3.515069844946,   15.999976675985,  122.975069844947],
                              [   2.448310051683,   26.033523324015,  122.975069844947],
                              [   4.339189948314,   16.94425       ,  123.799189948316],
                              [   1.624189948314,   19.65925       ,  123.799189948316],
                              [   4.339189948314,   22.37425       ,  123.799189948316],
                              [   1.624189948314,   25.08925       ,  123.799189948316],
                              [   5.163310051685,   15.999976675985,  124.623310051684],
                              [   0.800069844946,   26.033523324015,  124.623310051684],
                              [   2.981689948314,   18.30175       ,  125.156689948316],
                              [   0.266689948315,   21.01675       ,  125.156689948316],
                              [   2.981689948314,   23.73175       ,  125.156689948316],
                              [   0.800069844946,   15.999976675985,  125.690069844947],
                              [   5.163310051685,   26.033523324015,  125.690069844947],
                              [   1.624189948314,   16.94425       ,  126.514189948316],
                              [   4.339189948314,   19.65925       ,  126.514189948316],
                              [   1.624189948314,   22.37425       ,  126.514189948316],
                              [   4.339189948314,   25.08925       ,  126.514189948316],
                              [   2.448310051683,   15.999976675985,  127.338310051684],
                              [   3.515069844946,   26.033523324015,  127.338310051684],
                              [   0.266689948315,   18.30175       ,  127.871689948316],
                              [   2.981689948314,   21.01675       ,  127.871689948316],
                              [   0.266689948315,   23.73175       ,  127.871689948316],
                              [   3.515069844946,   15.999976675985,  128.405069844947],
                              [   2.448310051683,   26.033523324015,  128.405069844947],
                              [   4.339189948314,   16.94425       ,  129.229189948316],
                              [   1.624189948314,   19.65925       ,  129.229189948316],
                              [   4.339189948314,   22.37425       ,  129.229189948316],
                              [   1.624189948314,   25.08925       ,  129.229189948316],
                              [   5.163310051685,   15.999976675985,  130.053310051684],
                              [   0.800069844946,   26.033523324015,  130.053310051684],
                              [   2.981689948314,   18.30175       ,  130.586689948316],
                              [   0.266689948315,   21.01675       ,  130.586689948316],
                              [   2.981689948314,   23.73175       ,  130.586689948316],
                              [   0.800069844946,   15.999976675985,  131.120069844947],
                              [   5.163310051685,   26.033523324015,  131.120069844947],
                              [   1.624189948314,   16.94425       ,  131.944189948316],
                              [   4.339189948314,   19.65925       ,  131.944189948316],
                              [   1.624189948314,   22.37425       ,  131.944189948316],
                              [   4.339189948314,   25.08925       ,  131.944189948316],
                              [   2.448310051683,   15.999976675985,  132.768310051684],
                              [   3.515069844946,   26.033523324015,  132.768310051684],
                              [   0.266689948315,   18.30175       ,  133.301689948316],
                              [   2.981689948314,   21.01675       ,  133.301689948316],
                              [   0.266689948315,   23.73175       ,  133.301689948316],
                              [   3.515069844946,   15.999976675985,  133.835069844947],
                              [   2.448310051683,   26.033523324015,  133.835069844947],
                              [   4.339189948314,   16.94425       ,  134.659189948316],
                              [   1.624189948314,   19.65925       ,  134.659189948316],
                              [   4.339189948314,   22.37425       ,  134.659189948316],
                              [   1.624189948314,   25.08925       ,  134.659189948316],
                              [   5.163310051685,   15.999976675985,  135.483310051684],
                              [   0.800069844946,   26.033523324015,  135.483310051684],
                              [   2.981689948314,   18.30175       ,  136.016689948316],
                              [   0.266689948315,   21.01675       ,  136.016689948316],
                              [   2.981689948314,   23.73175       ,  136.016689948316],
                              [   0.800069844946,   15.999976675985,  136.550069844947],
                              [   5.163310051685,   26.033523324015,  136.550069844947],
                              [   1.624189948314,   16.94425       ,  137.374189948316],
                              [   4.339189948314,   19.65925       ,  137.374189948316],
                              [   1.624189948314,   22.37425       ,  137.374189948316],
                              [   4.339189948314,   25.08925       ,  137.374189948316],
                              [   2.448310051683,   15.999976675985,  138.198310051684],
                              [   3.515069844946,   26.033523324015,  138.198310051684],
                              [   0.266689948315,   18.30175       ,  138.731689948316],
                              [   2.981689948314,   21.01675       ,  138.731689948316],
                              [   0.266689948315,   23.73175       ,  138.731689948316],
                              [   3.515069844946,   15.999976675985,  139.265069844947],
                              [   2.448310051683,   26.033523324015,  139.265069844947],
                              [   4.339189948314,   16.94425       ,  140.089189948316],
                              [   1.624189948314,   19.65925       ,  140.089189948316],
                              [   4.339189948314,   22.37425       ,  140.089189948316],
                              [   1.624189948314,   25.08925       ,  140.089189948316],
                              [   5.163310051685,   15.999976675985,  140.913310051684],
                              [   0.800069844946,   26.033523324015,  140.913310051684],
                              [   2.981689948314,   18.30175       ,  141.446689948316],
                              [   0.266689948315,   21.01675       ,  141.446689948316],
                              [   2.981689948314,   23.73175       ,  141.446689948316],
                              [   0.800069844946,   15.999976675985,  141.980069844947],
                              [   5.163310051685,   26.033523324015,  141.980069844947],
                              [   1.624189948314,   16.94425       ,  142.804189948316],
                              [   4.339189948314,   19.65925       ,  142.804189948316],
                              [   1.624189948314,   22.37425       ,  142.804189948316],
                              [   4.339189948314,   25.08925       ,  142.804189948316],
                              [   2.448310051683,   15.999976675985,  143.628310051684],
                              [   3.515069844946,   26.033523324015,  143.628310051684],
                              [   0.266689948315,   18.30175       ,  144.161689948316],
                              [   2.981689948314,   21.01675       ,  144.161689948316],
                              [   0.266689948315,   23.73175       ,  144.161689948316],
                              [   3.515069844946,   15.999976675985,  144.695069844947],
                              [   2.448310051683,   26.033523324015,  144.695069844947],
                              [   4.339189948314,   16.94425       ,  145.519189948316],
                              [   1.624189948314,   19.65925       ,  145.519189948316],
                              [   4.339189948314,   22.37425       ,  145.519189948316],
                              [   1.624189948314,   25.08925       ,  145.519189948316],
                              [   5.163310051685,   15.999976675985,  146.343310051684],
                              [   0.800069844946,   26.033523324015,  146.343310051684],
                              [   2.981689948314,   18.30175       ,  146.876689948316],
                              [   0.266689948315,   21.01675       ,  146.876689948316],
                              [   2.981689948314,   23.73175       ,  146.876689948316],
                              [   0.800069844946,   15.999976675985,  147.410069844947],
                              [   5.163310051685,   26.033523324015,  147.410069844947],
                              [   1.624189948314,   16.94425       ,  148.234189948316],
                              [   4.339189948314,   19.65925       ,  148.234189948316],
                              [   1.624189948314,   22.37425       ,  148.234189948316],
                              [   4.339189948314,   25.08925       ,  148.234189948316],
                              [   2.448310051683,   15.999976675985,  149.058310051684],
                              [   3.515069844946,   26.033523324015,  149.058310051684],
                              [   0.266689948315,   18.30175       ,  149.591689948316],
                              [   2.981689948314,   21.01675       ,  149.591689948316],
                              [   0.266689948315,   23.73175       ,  149.591689948316],
                              [   3.515069844946,   15.999976675985,  150.125069844947],
                              [   2.448310051683,   26.033523324015,  150.125069844947],
                              [   4.339189948314,   16.94425       ,  150.949189948316],
                              [   1.624189948314,   19.65925       ,  150.949189948316],
                              [   4.339189948314,   22.37425       ,  150.949189948316],
                              [   1.624189948314,   25.08925       ,  150.949189948316],
                              [   5.163310051685,   15.999976675985,  151.773310051684],
                              [   0.800069844946,   26.033523324015,  151.773310051684],
                              [   2.981689948314,   18.30175       ,  152.306689948316],
                              [   0.266689948315,   21.01675       ,  152.306689948316],
                              [   2.981689948314,   23.73175       ,  152.306689948316],
                              [   0.800069844946,   15.999976675985,  152.840069844947],
                              [   5.163310051685,   26.033523324015,  152.840069844947],
                              [   1.624189948314,   16.94425       ,  153.664189948316],
                              [   4.339189948314,   19.65925       ,  153.664189948316],
                              [   1.624189948314,   22.37425       ,  153.664189948316],
                              [   4.339189948314,   25.08925       ,  153.664189948316],
                              [   2.448310051683,   15.999976675985,  154.488310051684],
                              [   3.515069844946,   26.033523324015,  154.488310051684],
                              [   0.266689948315,   18.30175       ,  155.021689948316],
                              [   2.981689948314,   21.01675       ,  155.021689948316],
                              [   0.266689948315,   23.73175       ,  155.021689948316],
                              [   3.515069844946,   15.999976675985,  155.555069844947],
                              [   2.448310051683,   26.033523324015,  155.555069844947],
                              [   4.339189948314,   16.94425       ,  156.379189948316],
                              [   1.624189948314,   19.65925       ,  156.379189948316],
                              [   4.339189948314,   22.37425       ,  156.379189948316],
                              [   1.624189948314,   25.08925       ,  156.379189948316],
                              [   5.163310051685,   15.999976675985,  157.203310051684],
                              [   0.800069844946,   26.033523324015,  157.203310051684],
                              [   2.981689948314,   18.30175       ,  157.736689948316],
                              [   0.266689948315,   21.01675       ,  157.736689948316],
                              [   2.981689948314,   23.73175       ,  157.736689948316],
                              [   0.800069844946,   15.999976675985,  158.270069844947],
                              [   5.163310051685,   26.033523324015,  158.270069844947],
                              [   1.624189948314,   16.94425       ,  159.094189948316],
                              [   4.339189948314,   19.65925       ,  159.094189948316],
                              [   1.624189948314,   22.37425       ,  159.094189948316],
                              [   4.339189948314,   25.08925       ,  159.094189948316],
                              [   2.448310051683,   15.999976675985,  159.918310051684],
                              [   3.515069844946,   26.033523324015,  159.918310051684],
                              [   0.266689948315,   18.30175       ,  160.451689948316],
                              [   2.981689948314,   21.01675       ,  160.451689948316],
                              [   0.266689948315,   23.73175       ,  160.451689948316],
                              [   3.515069844946,   15.999976675985,  160.985069844947],
                              [   2.448310051683,   26.033523324015,  160.985069844947],
                              [   4.339189948314,   16.94425       ,  161.809189948316],
                              [   1.624189948314,   19.65925       ,  161.809189948316],
                              [   4.339189948314,   22.37425       ,  161.809189948316],
                              [   1.624189948314,   25.08925       ,  161.809189948316],
                              [   5.163310051685,   15.999976675985,  162.633310051684],
                              [   0.800069844946,   26.033523324015,  162.633310051684],
                              [   2.981689948314,   18.30175       ,  163.166689948316],
                              [   0.266689948315,   21.01675       ,  163.166689948316],
                              [   2.981689948314,   23.73175       ,  163.166689948316],
                              [   0.800069844946,   15.999976675985,  163.700069844947],
                              [   5.163310051685,   26.033523324015,  163.700069844947],
                              [   1.624189948314,   16.94425       ,  164.524189948316],
                              [   4.339189948314,   19.65925       ,  164.524189948316],
                              [   1.624189948314,   22.37425       ,  164.524189948316],
                              [   4.339189948314,   25.08925       ,  164.524189948316],
                              [   2.448310051683,   15.999976675985,  165.348310051684],
                              [   3.515069844946,   26.033523324015,  165.348310051684],
                              [   0.266689948315,   18.30175       ,  165.881689948316],
                              [   2.981689948314,   21.01675       ,  165.881689948316],
                              [   0.266689948315,   23.73175       ,  165.881689948316],
                              [   3.515069844946,   15.999976675985,  166.415069844947],
                              [   2.448310051683,   26.033523324015,  166.415069844947],
                              [   4.339189948314,   16.94425       ,  167.239189948316],
                              [   1.624189948314,   19.65925       ,  167.239189948316],
                              [   4.339189948314,   22.37425       ,  167.239189948316],
                              [   1.624189948314,   25.08925       ,  167.239189948316],
                              [   5.163310051685,   15.999976675985,  168.063310051684],
                              [   0.800069844946,   26.033523324015,  168.063310051684],
                              [   2.981689948314,   18.30175       ,  168.596689948316],
                              [   0.266689948315,   21.01675       ,  168.596689948316],
                              [   2.981689948314,   23.73175       ,  168.596689948316],
                              [   0.800069844946,   15.999976675985,  169.130069844947],
                              [   5.163310051685,   26.033523324015,  169.130069844947],
                              [   1.624189948314,   16.94425       ,  169.954189948316],
                              [   4.339189948314,   19.65925       ,  169.954189948316],
                              [   1.624189948314,   22.37425       ,  169.954189948316],
                              [   4.339189948314,   25.08925       ,  169.954189948316],
                              [   2.448310051683,   15.999976675985,  170.778310051684],
                              [   3.515069844946,   26.033523324015,  170.778310051684],
                              [   0.266689948315,   18.30175       ,  171.311689948316],
                              [   2.981689948314,   21.01675       ,  171.311689948316],
                              [   0.266689948315,   23.73175       ,  171.311689948316],
                              [   3.515069844946,   15.999976675985,  171.845069844947],
                              [   2.448310051683,   26.033523324015,  171.845069844947],
                              [   4.339189948314,   16.94425       ,  172.669189948316],
                              [   1.624189948314,   19.65925       ,  172.669189948316],
                              [   4.339189948314,   22.37425       ,  172.669189948316],
                              [   1.624189948314,   25.08925       ,  172.669189948316],
                              [   5.163310051685,   15.999976675985,  173.493310051684],
                              [   0.800069844946,   26.033523324015,  173.493310051684],
                              [   2.981689948314,   18.30175       ,  174.026689948316],
                              [   0.266689948315,   21.01675       ,  174.026689948316],
                              [   2.981689948314,   23.73175       ,  174.026689948316],
                              [   0.800069844946,   15.999976675985,  174.560069844947],
                              [   5.163310051685,   26.033523324015,  174.560069844947],
                              [   1.624189948314,   16.94425       ,  175.384189948316],
                              [   4.339189948314,   19.65925       ,  175.384189948316],
                              [   1.624189948314,   22.37425       ,  175.384189948316],
                              [   4.339189948314,   25.08925       ,  175.384189948316],
                              [   2.448310051683,   15.999976675985,  176.208310051684],
                              [   3.515069844946,   26.033523324015,  176.208310051684],
                              [   0.266689948315,   18.30175       ,  176.741689948316],
                              [   2.981689948314,   21.01675       ,  176.741689948316],
                              [   0.266689948315,   23.73175       ,  176.741689948316],
                              [   3.515069844946,   15.999976675985,  177.275069844947],
                              [   2.448310051683,   26.033523324015,  177.275069844947],
                              [   4.339189948314,   16.94425       ,  178.099189948316],
                              [   1.624189948314,   19.65925       ,  178.099189948316],
                              [   4.339189948314,   22.37425       ,  178.099189948316],
                              [   1.624189948314,   25.08925       ,  178.099189948316],
                              [   5.163310051685,   15.999976675985,  178.923310051684],
                              [   0.800069844946,   26.033523324015,  178.923310051684],
                              [   2.981689948314,   18.30175       ,  179.456689948316],
                              [   0.266689948315,   21.01675       ,  179.456689948316],
                              [   2.981689948314,   23.73175       ,  179.456689948316],
                              [   0.800069844946,   15.999976675985,  179.990069844947],
                              [   5.163310051685,   26.033523324015,  179.990069844947],
                              [   1.624189948314,   16.94425       ,  180.814189948316],
                              [   4.339189948314,   19.65925       ,  180.814189948316],
                              [   1.624189948314,   22.37425       ,  180.814189948316],
                              [   4.339189948314,   25.08925       ,  180.814189948316],
                              [   2.448310051683,   15.999976675985,  181.638310051684],
                              [   3.515069844946,   26.033523324015,  181.638310051684],
                              [   0.266689948315,   18.30175       ,  182.171689948316],
                              [   2.981689948314,   21.01675       ,  182.171689948316],
                              [   0.266689948315,   23.73175       ,  182.171689948316],
                              [   3.515069844946,   15.999976675985,  182.705069844947],
                              [   2.448310051683,   26.033523324015,  182.705069844947],
                              [   4.339189948314,   16.94425       ,  183.529189948316],
                              [   1.624189948314,   19.65925       ,  183.529189948316],
                              [   4.339189948314,   22.37425       ,  183.529189948316],
                              [   1.624189948314,   25.08925       ,  183.529189948316],
                              [   5.163310051685,   15.999976675985,  184.353310051684],
                              [   0.800069844946,   26.033523324015,  184.353310051684],
                              [   2.981689948314,   18.30175       ,  184.886689948316],
                              [   0.266689948315,   21.01675       ,  184.886689948316],
                              [   2.981689948314,   23.73175       ,  184.886689948316],
                              [   0.800069844946,   15.999976675985,  185.420069844947],
                              [   5.163310051685,   26.033523324015,  185.420069844947],
                              [   1.624189948314,   16.94425       ,  186.244189948316],
                              [   4.339189948314,   19.65925       ,  186.244189948316],
                              [   1.624189948314,   22.37425       ,  186.244189948316],
                              [   4.339189948314,   25.08925       ,  186.244189948316],
                              [   2.448310051683,   15.999976675985,  187.068310051684],
                              [   3.515069844946,   26.033523324015,  187.068310051684],
                              [   0.266689948315,   18.30175       ,  187.601689948316],
                              [   2.981689948314,   21.01675       ,  187.601689948316],
                              [   0.266689948315,   23.73175       ,  187.601689948316],
                              [   3.515069844946,   15.999976675985,  188.135069844947],
                              [   2.448310051683,   26.033523324015,  188.135069844947],
                              [   4.339189948314,   16.94425       ,  188.959189948316],
                              [   1.624189948314,   19.65925       ,  188.959189948316],
                              [   4.339189948314,   22.37425       ,  188.959189948316],
                              [   1.624189948314,   25.08925       ,  188.959189948316],
                              [   5.163310051685,   15.999976675985,  189.783310051684],
                              [   0.800069844946,   26.033523324015,  189.783310051684],
                              [   2.981689948314,   18.30175       ,  190.316689948316],
                              [   0.266689948315,   21.01675       ,  190.316689948316],
                              [   2.981689948314,   23.73175       ,  190.316689948316],
                              [   0.800069844946,   15.999976675985,  190.850069844947],
                              [   5.163310051685,   26.033523324015,  190.850069844947],
                              [   1.624189948314,   16.94425       ,  191.674189948316],
                              [   4.339189948314,   19.65925       ,  191.674189948316],
                              [   1.624189948314,   22.37425       ,  191.674189948316],
                              [   4.339189948314,   25.08925       ,  191.674189948316],
                              [   2.448310051683,   15.999976675985,  192.498310051684],
                              [   3.515069844946,   26.033523324015,  192.498310051684],
                              [   0.266689948315,   18.30175       ,  193.031689948316],
                              [   2.981689948314,   21.01675       ,  193.031689948316],
                              [   0.266689948315,   23.73175       ,  193.031689948316],
                              [   3.515069844946,   15.999976675985,  193.565069844947],
                              [   2.448310051683,   26.033523324015,  193.565069844947],
                              [   4.339189948314,   16.94425       ,  194.389189948316],
                              [   1.624189948314,   19.65925       ,  194.389189948316],
                              [   4.339189948314,   22.37425       ,  194.389189948316],
                              [   1.624189948314,   25.08925       ,  194.389189948316],
                              [   5.163310051685,   15.999976675985,  195.213310051684],
                              [   0.800069844946,   26.033523324015,  195.213310051684],
                              [   2.981689948314,   18.30175       ,  195.746689948316],
                              [   0.266689948315,   21.01675       ,  195.746689948316],
                              [   2.981689948314,   23.73175       ,  195.746689948316],
                              [   0.800069844946,   15.999976675985,  196.280069844947],
                              [   5.163310051685,   26.033523324015,  196.280069844947],
                              [   1.624189948314,   16.94425       ,  197.104189948316],
                              [   4.339189948314,   19.65925       ,  197.104189948316],
                              [   1.624189948314,   22.37425       ,  197.104189948316],
                              [   4.339189948314,   25.08925       ,  197.104189948316],
                              [   2.448310051683,   15.999976675985,  197.928310051684],
                              [   3.515069844946,   26.033523324015,  197.928310051684],
                              [   0.266689948315,   18.30175       ,  198.461689948316],
                              [   2.981689948314,   21.01675       ,  198.461689948316],
                              [   0.266689948315,   23.73175       ,  198.461689948316],
                              [   3.515069844946,   15.999976675985,  198.995069844947],
                              [   2.448310051683,   26.033523324015,  198.995069844947],
                              [   4.339189948314,   16.94425       ,  199.819189948316],
                              [   1.624189948314,   19.65925       ,  199.819189948316],
                              [   4.339189948314,   22.37425       ,  199.819189948316],
                              [   1.624189948314,   25.08925       ,  199.819189948316],
                              [   5.163310051685,   15.999976675985,  200.643310051684],
                              [   0.800069844946,   26.033523324015,  200.643310051684],
                              [   2.981689948314,   18.30175       ,  201.176689948316],
                              [   0.266689948315,   21.01675       ,  201.176689948316],
                              [   2.981689948314,   23.73175       ,  201.176689948316],
                              [   0.800069844946,   15.999976675985,  201.710069844947],
                              [   5.163310051685,   26.033523324015,  201.710069844947],
                              [   1.624189948314,   16.94425       ,  202.534189948316],
                              [   4.339189948314,   19.65925       ,  202.534189948316],
                              [   1.624189948314,   22.37425       ,  202.534189948316],
                              [   4.339189948314,   25.08925       ,  202.534189948316],
                              [   2.448310051683,   15.999976675985,  203.358310051684],
                              [   3.515069844946,   26.033523324015,  203.358310051684],
                              [   0.266689948315,   18.30175       ,  203.891689948316],
                              [   2.981689948314,   21.01675       ,  203.891689948316],
                              [   0.266689948315,   23.73175       ,  203.891689948316],
                              [   3.515069844946,   15.999976675985,  204.425069844947],
                              [   2.448310051683,   26.033523324015,  204.425069844947],
                              [   4.339189948314,   16.94425       ,  205.249189948316],
                              [   1.624189948314,   19.65925       ,  205.249189948316],
                              [   4.339189948314,   22.37425       ,  205.249189948316],
                              [   1.624189948314,   25.08925       ,  205.249189948316],
                              [   5.163310051685,   15.999976675985,  206.073310051684],
                              [   0.800069844946,   26.033523324015,  206.073310051684],
                              [   2.981689948314,   18.30175       ,  206.606689948316],
                              [   0.266689948315,   21.01675       ,  206.606689948316],
                              [   2.981689948314,   23.73175       ,  206.606689948316],
                              [   0.800069844946,   15.999976675985,  207.140069844947],
                              [   5.163310051685,   26.033523324015,  207.140069844947],
                              [   1.624189948314,   16.94425       ,  207.964189948316],
                              [   4.339189948314,   19.65925       ,  207.964189948316],
                              [   1.624189948314,   22.37425       ,  207.964189948316],
                              [   4.339189948314,   25.08925       ,  207.964189948316],
                              [   2.448310051683,   15.999976675985,  208.788310051684],
                              [   3.515069844946,   26.033523324015,  208.788310051684],
                              [   0.266689948315,   18.30175       ,  209.321689948316],
                              [   2.981689948314,   21.01675       ,  209.321689948316],
                              [   0.266689948315,   23.73175       ,  209.321689948316],
                              [   3.515069844946,   15.999976675985,  209.855069844947],
                              [   2.448310051683,   26.033523324015,  209.855069844947],
                              [   4.339189948314,   16.94425       ,  210.679189948316],
                              [   1.624189948314,   19.65925       ,  210.679189948316],
                              [   4.339189948314,   22.37425       ,  210.679189948316],
                              [   1.624189948314,   25.08925       ,  210.679189948316],
                              [   5.163310051685,   15.999976675985,  211.503310051684],
                              [   0.800069844946,   26.033523324015,  211.503310051684],
                              [   2.981689948314,   18.30175       ,  212.036689948316],
                              [   0.266689948315,   21.01675       ,  212.036689948316],
                              [   2.981689948314,   23.73175       ,  212.036689948316],
                              [   0.800069844946,   15.999976675985,  212.570069844947],
                              [   5.163310051685,   26.033523324015,  212.570069844947],
                              [   1.624189948314,   16.94425       ,  213.394189948316],
                              [   4.339189948314,   19.65925       ,  213.394189948316],
                              [   1.624189948314,   22.37425       ,  213.394189948316],
                              [   4.339189948314,   25.08925       ,  213.394189948316],
                              [   2.448310051683,   15.999976675985,  214.218310051684],
                              [   3.515069844946,   26.033523324015,  214.218310051684],
                              [   0.266689948315,   18.30175       ,  214.751689948316],
                              [   2.981689948314,   21.01675       ,  214.751689948316],
                              [   0.266689948315,   23.73175       ,  214.751689948316],
                              [   3.515069844946,   15.999976675985,  215.285069844947],
                              [   2.448310051683,   26.033523324015,  215.285069844947],
                              [   4.339189948314,   16.94425       ,  216.109189948316],
                              [   1.624189948314,   19.65925       ,  216.109189948316],
                              [   4.339189948314,   22.37425       ,  216.109189948316],
                              [   1.624189948314,   25.08925       ,  216.109189948316],
                              [   5.163310051685,   15.999976675985,  216.933310051684],
                              [   0.800069844946,   26.033523324015,  216.933310051684],
                              [   2.981689948314,   18.30175       ,  217.466689948316],
                              [   0.266689948315,   21.01675       ,  217.466689948316],
                              [   2.981689948314,   23.73175       ,  217.466689948316],
                              [   0.800069844946,   15.999976675985,  218.000069844947],
                              [   5.163310051685,   26.033523324015,  218.000069844947],
                              [   1.624189948314,   16.94425       ,  218.824189948316],
                              [   4.339189948314,   19.65925       ,  218.824189948316],
                              [   1.624189948314,   22.37425       ,  218.824189948316],
                              [   4.339189948314,   25.08925       ,  218.824189948316],
                              [   2.448310051683,   15.999976675985,  219.648310051684],
                              [   3.515069844946,   26.033523324015,  219.648310051684],
                              [   0.266689948315,   18.30175       ,  220.181689948316],
                              [   2.981689948314,   21.01675       ,  220.181689948316],
                              [   0.266689948315,   23.73175       ,  220.181689948316],
                              [   3.515069844946,   15.999976675985,  220.715069844947],
                              [   2.448310051683,   26.033523324015,  220.715069844947],
                              [   4.339189948314,   16.94425       ,  221.539189948316],
                              [   1.624189948314,   19.65925       ,  221.539189948316],
                              [   4.339189948314,   22.37425       ,  221.539189948316],
                              [   1.624189948314,   25.08925       ,  221.539189948316],
                              [   5.163310051685,   15.999976675985,  222.363310051684],
                              [   0.800069844946,   26.033523324015,  222.363310051684],
                              [   2.981689948314,   18.30175       ,  222.896689948316],
                              [   0.266689948315,   21.01675       ,  222.896689948316],
                              [   2.981689948314,   23.73175       ,  222.896689948316],
                              [   0.800069844946,   15.999976675985,  223.430069844947],
                              [   5.163310051685,   26.033523324015,  223.430069844947],
                              [   1.624189948314,   16.94425       ,  224.254189948316],
                              [   4.339189948314,   19.65925       ,  224.254189948316],
                              [   1.624189948314,   22.37425       ,  224.254189948316],
                              [   4.339189948314,   25.08925       ,  224.254189948316],
                              [   2.448310051683,   15.999976675985,  225.078310051684],
                              [   3.515069844946,   26.033523324015,  225.078310051684],
                              [   0.266689948315,   18.30175       ,  225.611689948316],
                              [   2.981689948314,   21.01675       ,  225.611689948316],
                              [   0.266689948315,   23.73175       ,  225.611689948316],
                              [   3.515069844946,   15.999976675985,  226.145069844947],
                              [   2.448310051683,   26.033523324015,  226.145069844947],
                              [   4.339189948314,   16.94425       ,  226.969189948316],
                              [   1.624189948314,   19.65925       ,  226.969189948316],
                              [   4.339189948314,   22.37425       ,  226.969189948316],
                              [   1.624189948314,   25.08925       ,  226.969189948316],
                              [   5.163310051685,   15.999976675985,  227.793310051684],
                              [   0.800069844946,   26.033523324015,  227.793310051684]]*Angstrom

# Set up configuration
central_region = BulkConfiguration(
    bravais_lattice=central_region_lattice,
    elements=central_region_elements,
    cartesian_coordinates=central_region_coordinates
    )

# Add metallic region
metallic_region_0 = BoxRegion(
    1.0*Volt,
    xmin = 0.0*Angstrom, xmax = 5.43*Angstrom,
    ymin = 41.0*Angstrom, ymax = 42.0335*Angstrom,
    zmin = 96.9255*Angstrom, zmax = 131.1345*Angstrom,
)

metallic_regions = [metallic_region_0]
central_region.setMetallicRegions(metallic_regions)

# Add dielectric region
dielectric_region_0 = BoxRegion(
    3.9,
    xmin = 0.0*Angstrom, xmax = 5.43*Angstrom,
    ymin = 0.0*Angstrom, ymax = 14.5*Angstrom,
    zmin = 0.0*Angstrom, zmax = 228.06*Angstrom,
)

dielectric_region_1 = BoxRegion(
    3.9,
    xmin = 0.0*Angstrom, xmax = 5.43*Angstrom,
    ymin = 27.5*Angstrom, ymax = 42.0335*Angstrom,
    zmin = 0.0*Angstrom, zmax = 228.06*Angstrom,
)

dielectric_regions = [dielectric_region_0, dielectric_region_1]
central_region.setDielectricRegions(dielectric_regions)

# Add external potential
external_potential = AtomicCompensationCharge([
    ('doping_0', 0.001),
    ('doping_1', 0.001),
    ('doping_2', 0.002),
    ('doping_3', 0.0002),
    ('doping_4', 0.002)
    ])

central_region.setExternalPotential(external_potential)

soi_device = DeviceConfiguration(
    central_region,
    [left_electrode, right_electrode],
    equivalent_electrode_lengths=[5.43, 5.43]*Angstrom,
    transverse_electrode_repetitions=[[1, 1], [1, 1]],
    )

# Add tags
soi_device.addTags('doping_0', [308, 309, 310, 313, 314, 315, 316, 319, 320, 321,
                                324, 325, 326, 327, 330, 331, 332, 335, 336, 337,
                                338, 341, 342, 343, 346, 347, 348, 349])
soi_device.addTags('doping_1', [577, 578, 579, 580, 583, 584, 585, 588, 589, 590,
                                591, 594, 595, 596, 599, 600, 601, 602, 605, 606,
                                607, 610, 611, 612, 613, 616, 617, 618])
soi_device.addTags('doping_2', [  0,   1,   2,   5,   6,   7,   8,  11,  12,  13,
                                 16,  17,  18,  19,  22,  23,  24,  27,  28,  29,
                                 30,  33,  34,  35,  38,  39,  40,  41,  44,  45,
                                 46,  49,  50,  51,  52,  55,  56,  57,  60,  61,
                                 62,  63,  66,  67,  68,  71,  72,  73,  74,  77,
                                 78,  79,  82,  83,  84,  85,  88,  89,  90,  93,
                                 94,  95,  96,  99, 100, 101, 104, 105, 106, 107,
                                110, 111, 112, 115, 116, 117, 118, 121, 122, 123,
                                126, 127, 128, 129, 132, 133, 134, 137, 138, 139,
                                140, 143, 144, 145, 148, 149, 150, 151, 154, 155,
                                156, 159, 160, 161, 162, 165, 166, 167, 170, 171,
                                172, 173, 176, 177, 178, 181, 182, 183, 184, 187,
                                188, 189, 192, 193, 194, 195, 198, 199, 200, 203,
                                204, 205, 206, 209, 210, 211, 214, 215, 216, 217,
                                220, 221, 222, 225, 226, 227, 228, 231, 232, 233,
                                236, 237, 238, 239, 242, 243, 244, 247, 248, 249,
                                250, 253, 254, 255, 258, 259, 260, 261, 264, 265,
                                266, 269, 270, 271, 272, 275, 276, 277, 280, 281,
                                282, 283, 286, 287, 288, 291, 292, 293, 294, 297,
                                298, 299, 302, 303, 304, 305])
soi_device.addTags('doping_3', [352, 353, 354, 357, 358, 359, 360, 363, 364, 365,
                                368, 369, 370, 371, 374, 375, 376, 379, 380, 381,
                                382, 385, 386, 387, 390, 391, 392, 393, 396, 397,
                                398, 401, 402, 403, 404, 407, 408, 409, 412, 413,
                                414, 415, 418, 419, 420, 423, 424, 425, 426, 429,
                                430, 431, 434, 435, 436, 437, 440, 441, 442, 445,
                                446, 447, 448, 451, 452, 453, 456, 457, 458, 459,
                                462, 463, 464, 467, 468, 469, 470, 473, 474, 475,
                                478, 479, 480, 481, 484, 485, 486, 489, 490, 491,
                                492, 495, 496, 497, 500, 501, 502, 503, 506, 507,
                                508, 511, 512, 513, 514, 517, 518, 519, 522, 523,
                                524, 525, 528, 529, 530, 533, 534, 535, 536, 539,
                                540, 541, 544, 545, 546, 547, 550, 551, 552, 555,
                                556, 557, 558, 561, 562, 563, 566, 567, 568, 569,
                                572, 573, 574])
soi_device.addTags('doping_4', [621, 622, 623, 624, 627, 628, 629, 632, 633, 634,
                                635, 638, 639, 640, 643, 644, 645, 646, 649, 650,
                                651, 654, 655, 656, 657, 660, 661, 662, 665, 666,
                                667, 668, 671, 672, 673, 676, 677, 678, 679, 682,
                                683, 684, 687, 688, 689, 690, 693, 694, 695, 698,
                                699, 700, 701, 704, 705, 706, 709, 710, 711, 712,
                                715, 716, 717, 720, 721, 722, 723, 726, 727, 728,
                                731, 732, 733, 734, 737, 738, 739, 742, 743, 744,
                                745, 748, 749, 750, 753, 754, 755, 756, 759, 760,
                                761, 764, 765, 766, 767, 770, 771, 772, 775, 776,
                                777, 778, 781, 782, 783, 786, 787, 788, 789, 792,
                                793, 794, 797, 798, 799, 800, 803, 804, 805, 808,
                                809, 810, 811, 814, 815, 816, 819, 820, 821, 822,
                                825, 826, 827, 830, 831, 832, 833, 836, 837, 838,
                                841, 842, 843, 844, 847, 848, 849, 852, 853, 854,
                                855, 858, 859, 860, 863, 864, 865, 866, 869, 870,
                                871, 874, 875, 876, 877, 880, 881, 882, 885, 886,
                                887, 888, 891, 892, 893, 896, 897, 898, 899, 902,
                                903, 904, 907, 908, 909, 910, 913, 914, 915, 918,
                                919, 920, 921])


# %% Set DeviceSemiEmpiricalCalculator

# %% DeviceSemiEmpiricalCalculator

hamiltonian_parametrization = SlaterKosterHamiltonianParametrization(
    basis_set=Boykin.SiH_Basis)

exact_exchange_parameters = ExactExchangeParameters(
    aux_basis_tolerance=0.001,
    number_of_waves=1024,
    maximum_wave_vector=50.0,
    integral_tolerance=0.0001,
    relative_screening_tolerance=0.01,
    use_admm=False,
    basis_set_admm=BasisGGAPseudoDojo.ADMM
)

k_point_sampling = MonkhorstPackGrid(
    na=3,
    nb=1,
    nc=174,
    symmetries=[
        ([[ 1., 0., 0.],
          [ 0., 1., 0.],
          [ 0., 0., 1.]], [ 0., 0., 0.]),
        ([[-1., 0., 0.],
          [ 0.,-1., 0.],
          [ 0., 0.,-1.]], [ 0., 0., 0.]),
    ],
    force_timereversal=True,
    k_point_shift=None,
    shift_to_gamma=[True, True, True]
)

numerical_accuracy_parameters = NumericalAccuracyParameters(
    density_mesh_cutoff=10.0*Hartree,
    k_point_sampling=k_point_sampling,
    radial_step_size=0.01*Angstrom,
    density_cutoff=1e-06,
    interaction_max_range=10.0*Angstrom,
    number_of_reciprocal_points=1024,
    reciprocal_energy_cutoff=1250.0*Hartree,
    bands_per_electron=1.2,
    occupation_method=FermiDirac(
        broadening=300.0*Kelvin
    ),
    exx_grid_cutoff=10.0*Hartree,
    exact_exchange_parameters=exact_exchange_parameters,
    paw_grid_tolerance=1e-07
)

algorithm = PulayMixer(
    noncollinear_mixing=False,
    restart_strategy=AdaptiveHistoryRestart(
        effective_rank_fraction=0.5
    )
)

iteration_control_parameters = IterationControlParameters(
    tolerance=1e-05,
    max_steps=200,
    algorithm=algorithm,
    damping_factor=0.1,
    number_of_history_steps=20,
    start_mixing_after_step=0,
    mixing_variable=HamiltonianVariable,
    preconditioner=Preconditioner.Off,
    linear_dependence_threshold=0.0,
    max_exx_updates=50,
    non_convergence_behavior=ContinueCalculation(),
    enable_scf_stop_file=True
)

non_equilibrium_method = GreensFunction()

equilibrium_method = GreensFunction()

device_algorithm_parameters = DeviceAlgorithmParameters(
    initial_density_type=NeutralAtom(
        electrode_constraint_length=10.0*Angstrom,
        ),
    electrode_constraint=ElectrodeConstraint.Off,
    self_energy_calculator_real=RecursionSelfEnergy(
        storage_strategy=SaveInMemory(),
        ),
    self_energy_calculator_complex=RecursionSelfEnergy(
        storage_strategy=SaveInMemory(),
        ),
    non_equilibrium_method=non_equilibrium_method,
    equilibrium_method=equilibrium_method,
    store_grids=True,
    store_basis_on_grid=Automatic,
    scf_restart_step_length=0.1*Angstrom,
    enforce_different_electrodes=False,
    neumann_self_energy_update_strategy=SurfaceAverage
)

poisson_solver = ParallelConjugateGradientSolver(
    boundary_conditions=[
        [PeriodicBoundaryCondition(), PeriodicBoundaryCondition()],
        [NeumannBoundaryCondition(), NeumannBoundaryCondition()],
        [DirichletBoundaryCondition(), DirichletBoundaryCondition()]
    ],
    solvent_dielectric_constant=1.0
)

contour_parameters = ContourParameters(
    equilibrium_contour = SemiCircleContour(
        integral_lower_bound=1.5*Hartree,
        circle_eccentricity=0.3,
        logarithmic_bunching=0.3,
        circle_points=30,
        fermi_line_points=10,
        fermi_function_poles=8
    ),
    non_equilibrium_contour = RealAxisContour(
        real_axis_point_density=0.001*Hartree,
        real_axis_infinitesimal=0.001*Hartree,
        real_axis_kbt_padding_factor=5.0
    ),
    method = DoubleContour()
)

checkpoint_handler = NoCheckpointHandler

parallel_parameters = ParallelParameters(
    processes_per_neb_image=Automatic,
    processes_per_individual=Automatic,
    processes_per_bias_point=Automatic,
    processes_per_saddle_search=1
)

calculator = DeviceSemiEmpiricalCalculator(
    hamiltonian_parametrization=hamiltonian_parametrization,
    electrode_calculators=None,
    pair_potentials=None,
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    iteration_control_parameters=iteration_control_parameters,
    device_algorithm_parameters=device_algorithm_parameters,
    poisson_solver=poisson_solver,
    contour_parameters=contour_parameters,
    electrode_voltages=[ 0.0,  0.0]*Volt,
    electrode_temperatures=[ 300.0,  300.0]*Kelvin,
    checkpoint_handler=checkpoint_handler,
    spin_polarization=Unpolarized,
    parallel_parameters=parallel_parameters
)


# %% Set Calculator

soi_device.setCalculator(calculator)

nlsave('soi_device_results.hdf5', soi_device)


# %% IVCharacteristics

gate_potential_alignment = GatePotentialAlignment()

kpoints = MonkhorstPackGrid(
    na=9,
    nb=1,
    nc=1,
    symmetries=[
        ([[ 1., 0., 0.],
          [ 0., 1., 0.],
          [ 0., 0., 1.]], [ 0., 0., 0.]),
        ([[-1., 0., 0.],
          [ 0.,-1., 0.],
          [ 0., 0.,-1.]], [ 0., 0., 0.]),
    ],
    force_timereversal=True,
    k_point_shift=None,
    shift_to_gamma=[True, True, True]
)

self_energy_calculator = RecursionSelfEnergy(
    storage_strategy=NoStorage()
)

device_transmission_method = GreensFunction()

iv_characteristics = IVCharacteristics(
    configuration=soi_device,
    filename='soi_device_results.hdf5',
    object_id='ivc',
    gate_regions=None,
    gate_source_voltages=numpy.linspace(-0.3, 0.0, 7)*Volt,
    drain_source_voltages=numpy.linspace(0.05, 0.05, 1)*Volt,
    gate_potential_alignment=gate_potential_alignment,
    energies=None,
    kpoints=kpoints,
    kpoints_weights=None,
    self_energy_calculator=self_energy_calculator,
    energy_zero_parameter=AverageFermiLevel,
    infinitesimal=1e-06*eV,
    log_filename_prefix='iv_characteristics_',
    number_of_processes_per_task=ProcessesPerNode,
    device_transmission_method=device_transmission_method,
    enforce_zero_transmission_in_band_gap=True,
    source_electrode=Left,
    max_initial_state_configurations=3
)
iv_characteristics.addVoltages(gate_source_voltages=numpy.linspace(-0.9, -0.35, 12)*Volt)
iv_characteristics.update()
