Commit 131ad4a9 authored by Markus Scheidgen's avatar Markus Scheidgen
Browse files

Added actual parsers qbox, fleur, molcas, dmol. Other parser related fixed....

Added actual parsers qbox, fleur, molcas,  dmol. Other parser related fixed. Processing catching sys.exit in tasks and parsers.
parent fb04e0e0
...@@ -48,81 +48,108 @@ ...@@ -48,81 +48,108 @@
[submodule "dependencies/parsers/gaussian"] [submodule "dependencies/parsers/gaussian"]
path = dependencies/parsers/gaussian path = dependencies/parsers/gaussian
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-gaussian.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-gaussian.git
branch = nomad-fair
[submodule "dependencies/parsers/quantum-espresso"] [submodule "dependencies/parsers/quantum-espresso"]
path = dependencies/parsers/quantum-espresso path = dependencies/parsers/quantum-espresso
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-quantum-espresso.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-quantum-espresso.git
branch = nomad-fair
[submodule "dependencies/parsers/abinit"] [submodule "dependencies/parsers/abinit"]
path = dependencies/parsers/abinit path = dependencies/parsers/abinit
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-abinit.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-abinit.git
branch = nomad-fair
[submodule "dependencies/parsers/orca"] [submodule "dependencies/parsers/orca"]
path = dependencies/parsers/orca path = dependencies/parsers/orca
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-orca.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-orca.git
branch = nomad-fair
[submodule "dependencies/parsers/castep"] [submodule "dependencies/parsers/castep"]
path = dependencies/parsers/castep path = dependencies/parsers/castep
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-castep.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-castep.git
branch = nomad-fair
[submodule "dependencies/parsers/dl-poly"] [submodule "dependencies/parsers/dl-poly"]
path = dependencies/parsers/dl-poly path = dependencies/parsers/dl-poly
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-dl-poly.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-dl-poly.git
branch = nomad-fair
[submodule "dependencies/parsers/lib-atoms"] [submodule "dependencies/parsers/lib-atoms"]
path = dependencies/parsers/lib-atoms path = dependencies/parsers/lib-atoms
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-lib-atoms.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-lib-atoms.git
branch = nomad-fair
[submodule "dependencies/parsers/octopus"] [submodule "dependencies/parsers/octopus"]
path = dependencies/parsers/octopus path = dependencies/parsers/octopus
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-octopus.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-octopus.git
branch = nomad-fair
[submodule "dependencies/parsers/phonopy"] [submodule "dependencies/parsers/phonopy"]
path = dependencies/parsers/phonopy path = dependencies/parsers/phonopy
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-phonopy.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-phonopy.git
branch = nomad-fair
[submodule "dependencies/parsers/phonopy-library"] [submodule "dependencies/parsers/phonopy-library"]
path = dependencies/parsers/phonopy-library path = dependencies/parsers/phonopy-library
url = https://gitlab.mpcdf.mpg.de/nomad-lab/phonopy.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/phonopy.git
branch = nomad-fair
[submodule "dependencies/parsers/gpaw"] [submodule "dependencies/parsers/gpaw"]
path = dependencies/parsers/gpaw path = dependencies/parsers/gpaw
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-gpaw.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-gpaw.git
branch = nomad-fair
[submodule "dependencies/parsers/atk"] [submodule "dependencies/parsers/atk"]
path = dependencies/parsers/atk path = dependencies/parsers/atk
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-atk.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-atk.git
branch = nomad-fair
[submodule "dependencies/parsers/gulp"] [submodule "dependencies/parsers/gulp"]
path = dependencies/parsers/gulp path = dependencies/parsers/gulp
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-gulp.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-gulp.git
branch = nomad-fair
[submodule "dependencies/parsers/siesta"] [submodule "dependencies/parsers/siesta"]
path = dependencies/parsers/siesta path = dependencies/parsers/siesta
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-siesta.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-siesta.git
branch = nomad-fair
[submodule "dependencies/parsers/elk"] [submodule "dependencies/parsers/elk"]
path = dependencies/parsers/elk path = dependencies/parsers/elk
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-elk.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-elk.git
branch = nomad-fair
[submodule "dependencies/parsers/elastic"] [submodule "dependencies/parsers/elastic"]
path = dependencies/parsers/elastic path = dependencies/parsers/elastic
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-elastic.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-elastic.git
branch = nomad-fair
[submodule "dependencies/parsers/gamess"] [submodule "dependencies/parsers/gamess"]
path = dependencies/parsers/gamess path = dependencies/parsers/gamess
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-gamess.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-gamess.git
branch = nomad-fair
[submodule "dependencies/parsers/turbomole"] [submodule "dependencies/parsers/turbomole"]
path = dependencies/parsers/turbomole path = dependencies/parsers/turbomole
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-turbomole.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-turbomole.git
branch = nomad-fair
[submodule "dependencies/parsers/photoemission"] [submodule "dependencies/parsers/photoemission"]
path = dependencies/parsers/photoemission path = dependencies/parsers/photoemission
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-photoemission.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-photoemission.git
branch = nomad-fair
[submodule "dependencies/parsers/skeleton"] [submodule "dependencies/parsers/skeleton"]
path = dependencies/parsers/skeleton path = dependencies/parsers/skeleton
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-skeleton.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-skeleton.git
branch = nomad-fair
[submodule "dependencies/parsers/mpes"] [submodule "dependencies/parsers/mpes"]
path = dependencies/parsers/mpes path = dependencies/parsers/mpes
url = https://gitlab.mpcdf.mpg.de/rpx/parser-mpes.git url = https://gitlab.mpcdf.mpg.de/rpx/parser-mpes.git
branch = nomad-fair
[submodule "dependencies/parsers/aptfim"] [submodule "dependencies/parsers/aptfim"]
path = dependencies/parsers/aptfim path = dependencies/parsers/aptfim
url = https://gitlab.mpcdf.mpg.de/mkuehbac/parser-aptfim.git url = https://gitlab.mpcdf.mpg.de/mkuehbac/parser-aptfim.git
branch = nomad-fair
[submodule "dependencies/parsers/dmol3"] [submodule "dependencies/parsers/dmol3"]
path = dependencies/parsers/dmol3 path = dependencies/parsers/dmol3
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-dmol3.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-dmol3.git
branch = nomad-fair
[submodule "dependencies/parsers/fleur"] [submodule "dependencies/parsers/fleur"]
path = dependencies/parsers/fleur path = dependencies/parsers/fleur
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-fleur.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-fleur.git
branch = nomad-fair
[submodule "dependencies/parsers/molcas"] [submodule "dependencies/parsers/molcas"]
path = dependencies/parsers/molcas path = dependencies/parsers/molcas
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-molcas.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-molcas.git
branch = nomad-fair
[submodule "dependencies/parsers/qbox"] [submodule "dependencies/parsers/qbox"]
path = dependencies/parsers/qbox path = dependencies/parsers/qbox
url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-qbox.git url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-qbox.git
branch = nomad-fair
[submodule "dependencies/parsers/onetep"] [submodule "dependencies/parsers/onetep"]
path = dependencies/parsers/onetep path = dependencies/parsers/onetep
url = git@gitlab.mpcdf.mpg.de:nomad-lab/parser-onetep url = https://gitlab.mpcdf.mpg.de/nomad-lab/parser-onetep.git
branch = nomad-fair
Subproject commit 71f7a2ad0d77d376e30d3c1a8ae55920fc7d7e5c Subproject commit cd354f066cb8b85904a2725bb93abf7c443b3fdf
Subproject commit c99f640b45db448ae0551f8d1f5bb629b1320463 Subproject commit d7ac806d8301d2d218fde1f59c94ba433b8ecc9f
Subproject commit ae86931a771b057413509156f2eed00c8a344e40 Subproject commit 05eac2c24d6bc81d5e0585d46bc0e098bf4a0dd4
Subproject commit 92d5084cb99c23b5f41f615813ff64278d2b1aa9 Subproject commit 6b536f8f244da0fb7177d17d21543a922f7bff8f
Subproject commit 801fd628bbdcf6f7db32c05dd56eb682e94972e9 Subproject commit b932711d741c2457a80bf2447c180ce49c23e6c9
Subproject commit be07b5592a2da940ee31ddf02bdf63f7d556a084 Subproject commit ae1f7175bea210eff43d52a30a454f4f9acce30b
Subproject commit 3e58c0dd55681c6f719b80dac3eeade2da9a3608 Subproject commit f914e0c0bafc0922ab77a4347462a15b62d2efa7
...@@ -375,31 +375,39 @@ parsers = [ ...@@ -375,31 +375,39 @@ parsers = [
mainfile_mime_re=r'(application/json)|(text/.*)', mainfile_mime_re=r'(application/json)|(text/.*)',
mainfile_name_re=(r'.*.aptfim') mainfile_name_re=(r'.*.aptfim')
), ),
MissingParser( LegacyParser(
name='parsers/qbox', code_name='qbox', domain='DFT', name='parsers/qbox', code_name='qbox', domain='DFT',
parser_class_name='qboxparser.QboxParser',
mainfile_mime_re=r'(application/xml)|(text/.*)',
mainfile_contents_re=(r'http://qboxcode.org') mainfile_contents_re=(r'http://qboxcode.org')
), ),
MissingParser( LegacyParser(
name='parsers/dmol', code_name='DMol3', domain='DFT', name='parsers/dmol', code_name='DMol3', domain='DFT',
mainfile_name_re=r'.*\.outmol' parser_class_name='dmol3parser.Dmol3Parser',
mainfile_name_re=r'.*\.outmol',
mainfile_contents_re=r'Materials Studio DMol\^3'
), ),
MissingParser( LegacyParser(
name='parser/fleur', code_name='fleur', domain='DFT', name='parser/fleur', code_name='fleur', domain='DFT',
parser_class_name='fleurparser.FleurParser',
mainfile_contents_re=r'This output is generated by fleur.' mainfile_contents_re=r'This output is generated by fleur.'
), ),
MissingParser( LegacyParser(
name='parser/molcas', code_name='MOLCAS', domain='DFT', name='parser/molcas', code_name='MOLCAS', domain='DFT',
parser_class_name='molcasparser.MolcasParser',
mainfile_contents_re=r'M O L C A S' mainfile_contents_re=r'M O L C A S'
), ),
MissingParser( LegacyParser(
name='parser/onetep', code_name='ONETEP', domain='DFT', name='parser/onetep', code_name='ONETEP', domain='DFT',
parser_class_name='onetepparser.OnetepParser',
mainfile_contents_re=r'####### # # ####### ####### ####### ######' mainfile_contents_re=r'####### # # ####### ####### ####### ######'
), ),
# These are supposedly octopus files, but they do not look like octopus files at all # These are supposedly octopus files, but they do not look like octopus files at all
MissingParser( # TODO We have migrated the wrong octopus mainfiles .. this should be removed now
name='parser/octopus', code_name='Octopus', domain='DFT', # MissingParser(
mainfile_name_re=r'(inp)|(.*/inp)' # name='parser/octopus', code_name='Octopus', domain='DFT',
), # mainfile_name_re=r'(inp)|(.*/inp)'
# ),
# We already have crystal with mainfile_contents_re, but this one does not always properly match # We already have crystal with mainfile_contents_re, but this one does not always properly match
LegacyParser( LegacyParser(
name='parsers/crystal', code_name='Crystal', name='parsers/crystal', code_name='Crystal',
......
...@@ -491,6 +491,8 @@ def proc_task(task, cls_name, self_id, func_attr): ...@@ -491,6 +491,8 @@ def proc_task(task, cls_name, self_id, func_attr):
self.fail(e) self.fail(e)
except Exception as e: except Exception as e:
self.fail(e) self.fail(e)
except SystemExit as e:
self.fail(e)
finally: finally:
if deleted is None or not deleted: if deleted is None or not deleted:
self.process_status = PROCESS_COMPLETED self.process_status = PROCESS_COMPLETED
......
...@@ -274,6 +274,11 @@ class Calc(Proc): ...@@ -274,6 +274,11 @@ class Calc(Proc):
'parser failed with exception', level=logging.ERROR, 'parser failed with exception', level=logging.ERROR,
exc_info=e, error=str(e), **context) exc_info=e, error=str(e), **context)
return return
except SystemExit:
self.fail(
'parser raised system exit', level=logging.ERROR,
error='system exit', **context)
return
# add the non code specific calc metadata to the backend # add the non code specific calc metadata to the backend
# all other quantities have been determined by parsers/normalizers # all other quantities have been determined by parsers/normalizers
...@@ -659,17 +664,16 @@ class Upload(Proc): ...@@ -659,17 +664,16 @@ class Upload(Proc):
if parser is None: if parser is None:
logger.warn( logger.warn(
'no parser matches during re-process, use old parser', 'no parser matches during re-process, use old parser',
calc_id=calc.calcid) calc_id=calc.calc_id)
elif calc.parser != parser.name: elif calc.parser != parser.name:
calc.parser = parser.name calc.parser = parser.name
logger.info( logger.info(
'different parser matches during re-process, use new parser', 'different parser matches during re-process, use new parser',
calc_id=calc.calcid, parser=parser.name) calc_id=calc.calc_id, parser=parser.name)
calc.re_process_calc() calc.re_process_calc()
except Exception as e: except Exception as e:
# try to remove the staging copy in failure case # try to remove the staging copy in failure case
staging_upload_files = self.upload_files.to_staging_upload_files() if staging_upload_files is not None and staging_upload_files.exists():
if staging_upload_files.exist():
staging_upload_files.delete() staging_upload_files.delete()
raise e raise e
......
This diff is collapsed.
energy parameters for window 1 spin 1 mix= 1.000000
atom s p d f
--> 1 3.00000 3.00000 3.00000 4.00000 change: FFFF skiplo: 0
--> 2 3.00000 3.00000 3.00000 4.00000 change: FFFF skiplo: 0
strho=F,film=F,dos=F,isec1=99,ndir= 0,secvar=F
alpha Si
any any ,invs=F,zrfs=F,invs2=F,jspins=1,l_noco=F,l_J=F
0.00000000 5.16735528 5.16735528
5.16735528 0.00000000 5.16735528
5.16735528 5.16735528 0.00000000 0.00000000 1.00000000
pbe non-relativi
igrd=1,lwb=F,ndvgrd=6,idsprs=0,chng=-0.100D-11
2
**********************************
Si 14 4 8 711 2.150000 0.016000
1,force =T,nlo= 0,llo=
1.000000 1.000000 1.000000 8.000000
**********************************
Si 14 4 8 711 2.150000 0.016000
1,force =T,nlo= 0,llo=
-0.125000 -0.130000 -0.135000 1.000000
**********************************
11.100000 9.300000
vchk=F,cdinf=F,pot8=F,gw=0,numbands= 0
lpr=0,form66=F,l_f=F,eonly=F,eig66=F,soc66=T
6 6
1 0
ellow, elup, valence electrons:
-0.80000 1.00000 8.00000
3.70000 =kmax
gauss=F 0.00100tria=F
0.000000 0.000000,l_soc=F,spav=F,off=F
frcor=F,slice=F,ctail=T,disp=F,kcrel=0,u2f=F,f2u=F,bmt=F
itmax=20,maxiter= 99,imix= 7,alpha= 0.05,spinf= 2.00
swsp=F 0.00 0.00
lflip=F 1 1
vacdos=F,layers= 0,integ=F,star=F,nstars= 0 0.00 0.00 0.00 0.00,nstm=0,tworkf= 0.000000
iplot=F,score=F,plpot=F,band=F
0 0.000000 0.000000,nnne= 0,pallst=F
xa= 2.00000,thetad= 330.00000,epsdisp= 0.00001,epsforce= 0.00001
relax 111 111
emin_dos= -0.50000,emax_dos= 0.50000,sig_dos= 0.01500
nkpt= 783
This diff is collapsed.
365 18.0000000000
8.00000 8.00000 8.00000 2.00000
6.00000 8.00000 8.00000 2.00000
4.00000 8.00000 8.00000 2.00000
2.00000 8.00000 8.00000 2.00000
0.00000 8.00000 8.00000 2.00000
-2.00000 8.00000 8.00000 2.00000
4.00000 10.00000 10.00000 2.00000
6.00000 10.00000 10.00000 2.00000
10.00000 8.00000 8.00000 2.00000
8.00000 6.00000 8.00000 2.00000
6.00000 6.00000 8.00000 2.00000
4.00000 6.00000 8.00000 2.00000
2.00000 6.00000 8.00000 2.00000
0.00000 6.00000 8.00000 2.00000
-2.00000 6.00000 8.00000 2.00000
-4.00000 6.00000 8.00000 2.00000
12.00000 6.00000 8.00000 2.00000
10.00000 6.00000 8.00000 2.00000
8.00000 4.00000 8.00000 2.00000
6.00000 4.00000 8.00000 2.00000
4.00000 4.00000 8.00000 2.00000
2.00000 4.00000 8.00000 2.00000
0.00000 4.00000 8.00000 2.00000
-2.00000 4.00000 8.00000 2.00000
-4.00000 4.00000 8.00000 2.00000
12.00000 4.00000 8.00000 2.00000
10.00000 4.00000 8.00000 2.00000
8.00000 2.00000 8.00000 2.00000
6.00000 2.00000 8.00000 2.00000
4.00000 2.00000 8.00000 2.00000
2.00000 2.00000 8.00000 2.00000
0.00000 2.00000 8.00000 2.00000
-2.00000 2.00000 8.00000 2.00000
-4.00000 2.00000 8.00000 2.00000
12.00000 2.00000 8.00000 2.00000
10.00000 2.00000 8.00000 2.00000
8.00000 0.00000 8.00000 2.00000
6.00000 0.00000 8.00000 2.00000
4.00000 0.00000 8.00000 2.00000
2.00000 0.00000 8.00000 2.00000
0.00000 0.00000 8.00000 2.00000
-2.00000 0.00000 8.00000 2.00000
4.00000 0.00000 10.00000 2.00000
6.00000 0.00000 10.00000 2.00000
10.00000 0.00000 8.00000 2.00000
8.00000 -2.00000 8.00000 2.00000
6.00000 -2.00000 8.00000 2.00000
4.00000 -2.00000 8.00000 2.00000
2.00000 -2.00000 8.00000 2.00000
0.00000 -2.00000 8.00000 2.00000
2.00000 2.00000 10.00000 2.00000
4.00000 2.00000 10.00000 2.00000
6.00000 2.00000 10.00000 2.00000
8.00000 2.00000 10.00000 2.00000
10.00000 4.00000 10.00000 2.00000
6.00000 -4.00000 8.00000 2.00000
4.00000 -4.00000 8.00000 2.00000
2.00000 -4.00000 8.00000 2.00000
0.00000 4.00000 10.00000 2.00000
2.00000 4.00000 10.00000 2.00000
4.00000 4.00000 10.00000 2.00000
6.00000 4.00000 10.00000 2.00000
8.00000 4.00000 10.00000 2.00000
10.00000 6.00000 10.00000 2.00000
6.00000 12.00000 8.00000 2.00000
4.00000 12.00000 8.00000 2.00000
2.00000 12.00000 8.00000 2.00000
0.00000 6.00000 10.00000 2.00000
2.00000 6.00000 10.00000 2.00000
4.00000 6.00000 10.00000 2.00000
6.00000 6.00000 10.00000 2.00000
8.00000 6.00000 10.00000 2.00000
8.00000 10.00000 8.00000 2.00000
6.00000 10.00000 8.00000 2.00000
4.00000 10.00000 8.00000 2.00000
2.00000 10.00000 8.00000 2.00000
0.00000 10.00000 8.00000 2.00000
2.00000 8.00000 10.00000 2.00000
4.00000 8.00000 10.00000 2.00000
6.00000 8.00000 10.00000 2.00000
8.00000 8.00000 10.00000 2.00000
8.00000 8.00000 6.00000 2.00000
6.00000 8.00000 6.00000 2.00000
4.00000 8.00000 6.00000 2.00000
2.00000 8.00000 6.00000 2.00000
0.00000 8.00000 6.00000 2.00000
-2.00000 8.00000 6.00000 2.00000
-4.00000 8.00000 6.00000 2.00000
12.00000 8.00000 6.00000 2.00000
10.00000 8.00000 6.00000 2.00000
8.00000 6.00000 6.00000 2.00000
6.00000 6.00000 6.00000 2.00000
4.00000 6.00000 6.00000 2.00000
2.00000 6.00000 6.00000 2.00000
0.00000 6.00000 6.00000 2.00000
-2.00000 6.00000 6.00000 2.00000
-4.00000 6.00000 6.00000 2.00000
12.00000 6.00000 6.00000 2.00000
10.00000 6.00000 6.00000 2.00000
8.00000 4.00000 6.00000 2.00000
6.00000 4.00000 6.00000 2.00000
4.00000 4.00000 6.00000 2.00000
2.00000 4.00000 6.00000 2.00000
0.00000 4.00000 6.00000 2.00000
-2.00000 4.00000 6.00000 2.00000
-4.00000 4.00000 6.00000 2.00000
12.00000 4.00000 6.00000 2.00000
10.00000 4.00000 6.00000 2.00000
8.00000 2.00000 6.00000 2.00000
6.00000 2.00000 6.00000 2.00000
4.00000 2.00000 6.00000 2.00000
2.00000 2.00000 6.00000 2.00000
0.00000 2.00000 6.00000 2.00000
-2.00000 2.00000 6.00000 2.00000
-4.00000 2.00000 6.00000 2.00000
-6.00000 2.00000 6.00000 2.00000
10.00000 2.00000 6.00000 2.00000
8.00000 0.00000 6.00000 2.00000
6.00000 0.00000 6.00000 2.00000
4.00000 0.00000 6.00000 2.00000
2.00000 0.00000 6.00000 2.00000
0.00000 0.00000 6.00000 2.00000
-2.00000 0.00000 6.00000 2.00000
-4.00000 0.00000 6.00000 2.00000
-6.00000 0.00000 6.00000 2.00000
10.00000 0.00000 6.00000 2.00000
8.00000 -2.00000 6.00000 2.00000
6.00000 -2.00000 6.00000 2.00000
4.00000 -2.00000 6.00000 2.00000
2.00000 -2.00000 6.00000 2.00000
0.00000 -2.00000 6.00000 2.00000
-2.00000 -2.00000 6.00000 2.00000
-4.00000 -2.00000 6.00000 2.00000
-6.00000 -2.00000 6.00000 2.00000
10.00000 -2.00000 6.00000 2.00000
8.00000 -4.00000 6.00000 2.00000
6.00000 -4.00000 6.00000 2.00000
4.00000 -4.00000 6.00000 2.00000
2.00000 -4.00000 6.00000 2.00000
0.00000 -4.00000 6.00000 2.00000
-2.00000 -4.00000 6.00000 2.00000
-4.00000 -4.00000 6.00000 2.00000
6.00000 4.00000 12.00000 2.00000
8.00000 4.00000 12.00000 2.00000
8.00000 12.00000 6.00000 2.00000
6.00000 12.00000 6.00000 2.00000
4.00000 12.00000 6.00000 2.00000
2.00000 -6.00000 6.00000 2.00000
0.00000 -6.00000 6.00000 2.00000
-2.00000 -6.00000 6.00000 2.00000
4.00000 6.00000 12.00000 2.00000
6.00000 6.00000 12.00000 2.00000
8.00000 6.00000 12.00000 2.00000
8.00000 10.00000 6.00000 2.00000
6.00000 10.00000 6.00000 2.00000
4.00000 10.00000 6.00000 2.00000
2.00000 10.00000 6.00000 2.00000
0.00000 10.00000 6.00000 2.00000
-2.00000 10.00000 6.00000 2.00000
4.00000 8.00000 12.00000 2.00000
6.00000 8.00000 12.00000 2.00000
10.00000 10.00000 6.00000 2.00000
8.00000 8.00000 4.00000 2.00000
6.00000 8.00000 4.00000 2.00000
4.00000 8.00000 4.00000 2.00000
2.00000 8.00000 4.00000 2.00000
0.00000 8.00000 4.00000 2.00000
-2.00000 8.00000 4.00000 2.00000
-4.00000 8.00000 4.00000 2.00000
12.00000 8.00000 4.00000 2.00000
10.00000 8.00000 4.00000 2.00000
8.00000 6.00000 4.00000 2.00000
6.00000 6.00000 4.00000 2.00000
4.00000 6.00000 4.00000 2.00000
2.00000 6.00000 4.00000 2.00000
0.00000 6.00000 4.00000 2.00000
-2.00000 6.00000 4.00000 2.00000
-4.00000 6.00000 4.00000 2.00000
12.00000 6.00000 4.00000 2.00000
10.00000 6.00000 4.00000 2.00000
8.00000 4.00000 4.00000 2.00000
6.00000 4.00000 4.00000 2.00000
4.00000 4.00000 4.00000 2.00000
2.00000 4.00000 4.00000 2.00000
0.00000 4.00000 4.00000 2.00000
-2.00000 4.00000 4.00000 2.00000
-4.00000 4.00000 4.00000 2.00000
-6.00000 4.00000 4.00000 2.00000
10.00000 4.00000 4.00000 2.00000
8.00000 2.00000 4.00000 2.00000
6.00000 2.00000 4.00000 2.00000
4.00000 2.00000 4.00000 2.00000
2.00000 2.00000 4.00000 2.00000
0.00000 2.00000 4.00000 2.00000
-2.00000 2.00000 4.00000 2.00000
-4.00000 2.00000 4.00000 2.00000
-6.00000 2.00000 4.00000 2.00000
10.00000 2.00000 4.00000 2.00000
8.00000 0.00000 4.00000 2.00000
6.00000 0.00000 4.00000 2.00000
4.00000 0.00000 4.00000 2.00000
2.00000 0.00000 4.00000 2.00000
0.00000 0.00000 4.00000 2.00000
-2.00000 0.00000 4.00000 2.00000
-4.00000 0.00000 4.00000 2.00000
-6.00000 0.00000 4.00000 2.00000
10.00000 0.00000 4.00000 2.00000
8.00000 -2.00000 4.00000 2.00000
6.00000 -2.00000 4.00000 2.00000
4.00000 -2.00000 4.00000 2.00000
2.00000 -2.00000 4.00000 2.00000
0.00000 -2.00000 4.00000 2.00000
-2.00000 -2.00000 4.00000 2.00000
-4.00000 -2.00000 4.00000 2.00000
-6.00000 -2.00000 4.00000 2.00000
-8.00000 -2.00000 4.00000 2.00000
8.00000 -4.00000 4.00000 2.00000
6.00000 -4.00000 4.00000 2.00000
4.00000 -4.00000 4.00000 2.00000
2.00000 -4.00000 4.00000 2.00000
0.00000 -4.00000 4.00000 2.00000
-2.00000 -4.00000 4.00000 2.00000
-4.00000 -4.00000 4.00000 2.00000
-6.00000 -4.00000 4.00000 2.00000
-8.00000 -4.00000 4.00000 2.00000
8.00000 12.00000 4.00000 2.00000
6.00000 12.00000 4.00000 2.00000
-4.00000 6.00000 -4.00000 2.00000
2.00000 -6.00000 4.00000 2.00000
0.00000 -6.00000 4.00000 2.00000
-2.00000 -6.00000 4.00000 2.00000
-4.00000 -6.00000 4.00000 2.00000
-6.00000 -6.00000 4.00000 2.00000
-8.00000 -6.00000 4.00000 2.00000
8.00000 10.00000 4.00000 2.00000
6.00000 10.00000 4.00000 2.00000
4.00000 10.00000 4.00000 2.00000
2.00000 10.00000 4.00000 2.00000
0.00000 10.00000 4.00000 2.00000
2.00000 8.00000 -4.00000 2.00000
4.00000 8.00000 -4.00000 2.00000
6.00000 8.00000 -4.00000 2.00000
10.00000 10.00000 4.00000 2.00000
8.00000 8.00000 2.00000 2.00000
6.00000 8.00000 2.00000 2.00000
4.00000 8.00000 2.00000 2.00000
2.00000 8.00000 2.00000 2.00000
0.00000 8.00000 2.00000 2.00000
-2.00000 8.00000 2.00000 2.00000
-4.00000 8.00000 2.00000 2.00000
12.00000 8.00000 2.00000 2.00000
10.00000 8.00000 2.00000 2.00000
8.00000 6.00000 2.00000 2.00000
6.00000 6.00000 2.00000 2.00000
4.00000 6.00000 2.00000 2.00000
2.00000 6.00000 2.00000 2.00000
0.00000 6.00000 2.00000 2.00000
-2.00000 6.00000 2.00000 2.00000
-4.00000 6.00000 2.00000 2.00000