diff --git a/JSmol.min.js b/assets/compressed_sensing_2018/JSmol.min.js
similarity index 100%
rename from JSmol.min.js
rename to assets/compressed_sensing_2018/JSmol.min.js
diff --git a/data/Logo_MPG.png b/assets/compressed_sensing_2018/Logo_MPG.png
similarity index 100%
rename from data/Logo_MPG.png
rename to assets/compressed_sensing_2018/Logo_MPG.png
diff --git a/data/Logo_NOMAD.png b/assets/compressed_sensing_2018/Logo_NOMAD.png
similarity index 100%
rename from data/Logo_NOMAD.png
rename to assets/compressed_sensing_2018/Logo_NOMAD.png
diff --git a/j2s/J/Jmol.properties b/assets/compressed_sensing_2018/j2s/J/Jmol.properties
similarity index 100%
rename from j2s/J/Jmol.properties
rename to assets/compressed_sensing_2018/j2s/J/Jmol.properties
diff --git a/j2s/J/adapter/readers/aflow/AFLOWReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/aflow/AFLOWReader.js
similarity index 100%
rename from j2s/J/adapter/readers/aflow/AFLOWReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/aflow/AFLOWReader.js
diff --git a/j2s/J/adapter/readers/cif/Cif2DataParser.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/Cif2DataParser.js
similarity index 100%
rename from j2s/J/adapter/readers/cif/Cif2DataParser.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/Cif2DataParser.js
diff --git a/j2s/J/adapter/readers/cif/Cif2Reader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/Cif2Reader.js
similarity index 100%
rename from j2s/J/adapter/readers/cif/Cif2Reader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/Cif2Reader.js
diff --git a/j2s/J/adapter/readers/cif/CifReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/CifReader.js
similarity index 100%
rename from j2s/J/adapter/readers/cif/CifReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/CifReader.js
diff --git a/j2s/J/adapter/readers/cif/MMCifReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/MMCifReader.js
similarity index 100%
rename from j2s/J/adapter/readers/cif/MMCifReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/MMCifReader.js
diff --git a/j2s/J/adapter/readers/cif/MMCifValidationParser.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/MMCifValidationParser.js
similarity index 100%
rename from j2s/J/adapter/readers/cif/MMCifValidationParser.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/MMCifValidationParser.js
diff --git a/j2s/J/adapter/readers/cif/MMTFReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/MMTFReader.js
similarity index 100%
rename from j2s/J/adapter/readers/cif/MMTFReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/MMTFReader.js
diff --git a/j2s/J/adapter/readers/cif/MSCifParser.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/MSCifParser.js
similarity index 100%
rename from j2s/J/adapter/readers/cif/MSCifParser.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/MSCifParser.js
diff --git a/j2s/J/adapter/readers/cif/MSRdr.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/MSRdr.js
similarity index 100%
rename from j2s/J/adapter/readers/cif/MSRdr.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/MSRdr.js
diff --git a/j2s/J/adapter/readers/cif/Subsystem.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/Subsystem.js
similarity index 100%
rename from j2s/J/adapter/readers/cif/Subsystem.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/cif/Subsystem.js
diff --git a/j2s/J/adapter/readers/molxyz/Mol3DReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/molxyz/Mol3DReader.js
similarity index 100%
rename from j2s/J/adapter/readers/molxyz/Mol3DReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/molxyz/Mol3DReader.js
diff --git a/j2s/J/adapter/readers/molxyz/MolReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/molxyz/MolReader.js
similarity index 100%
rename from j2s/J/adapter/readers/molxyz/MolReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/molxyz/MolReader.js
diff --git a/j2s/J/adapter/readers/molxyz/V3000Rdr.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/molxyz/V3000Rdr.js
similarity index 100%
rename from j2s/J/adapter/readers/molxyz/V3000Rdr.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/molxyz/V3000Rdr.js
diff --git a/j2s/J/adapter/readers/molxyz/XyzReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/molxyz/XyzReader.js
similarity index 100%
rename from j2s/J/adapter/readers/molxyz/XyzReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/molxyz/XyzReader.js
diff --git a/j2s/J/adapter/readers/more/BinaryDcdReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/more/BinaryDcdReader.js
similarity index 100%
rename from j2s/J/adapter/readers/more/BinaryDcdReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/more/BinaryDcdReader.js
diff --git a/j2s/J/adapter/readers/more/ForceFieldReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/more/ForceFieldReader.js
similarity index 100%
rename from j2s/J/adapter/readers/more/ForceFieldReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/more/ForceFieldReader.js
diff --git a/j2s/J/adapter/readers/more/GromacsReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/more/GromacsReader.js
similarity index 100%
rename from j2s/J/adapter/readers/more/GromacsReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/more/GromacsReader.js
diff --git a/j2s/J/adapter/readers/more/JcampdxReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/more/JcampdxReader.js
similarity index 100%
rename from j2s/J/adapter/readers/more/JcampdxReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/more/JcampdxReader.js
diff --git a/j2s/J/adapter/readers/more/MdCrdReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/more/MdCrdReader.js
similarity index 100%
rename from j2s/J/adapter/readers/more/MdCrdReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/more/MdCrdReader.js
diff --git a/j2s/J/adapter/readers/more/MdTopReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/more/MdTopReader.js
similarity index 100%
rename from j2s/J/adapter/readers/more/MdTopReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/more/MdTopReader.js
diff --git a/j2s/J/adapter/readers/more/Mol2Reader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/more/Mol2Reader.js
similarity index 100%
rename from j2s/J/adapter/readers/more/Mol2Reader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/more/Mol2Reader.js
diff --git a/j2s/J/adapter/readers/more/TlsDataOnlyReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/more/TlsDataOnlyReader.js
similarity index 100%
rename from j2s/J/adapter/readers/more/TlsDataOnlyReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/more/TlsDataOnlyReader.js
diff --git a/j2s/J/adapter/readers/pdb/JmolDataReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/pdb/JmolDataReader.js
similarity index 100%
rename from j2s/J/adapter/readers/pdb/JmolDataReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/pdb/JmolDataReader.js
diff --git a/j2s/J/adapter/readers/pdb/P2nReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/pdb/P2nReader.js
similarity index 100%
rename from j2s/J/adapter/readers/pdb/P2nReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/pdb/P2nReader.js
diff --git a/j2s/J/adapter/readers/pdb/PdbReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/pdb/PdbReader.js
similarity index 100%
rename from j2s/J/adapter/readers/pdb/PdbReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/pdb/PdbReader.js
diff --git a/j2s/J/adapter/readers/pdb/PqrReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/pdb/PqrReader.js
similarity index 100%
rename from j2s/J/adapter/readers/pdb/PqrReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/pdb/PqrReader.js
diff --git a/j2s/J/adapter/readers/pymol/JmolObject.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/pymol/JmolObject.js
similarity index 100%
rename from j2s/J/adapter/readers/pymol/JmolObject.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/pymol/JmolObject.js
diff --git a/j2s/J/adapter/readers/pymol/PickleReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/pymol/PickleReader.js
similarity index 100%
rename from j2s/J/adapter/readers/pymol/PickleReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/pymol/PickleReader.js
diff --git a/j2s/J/adapter/readers/pymol/PyMOL.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/pymol/PyMOL.js
similarity index 100%
rename from j2s/J/adapter/readers/pymol/PyMOL.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/pymol/PyMOL.js
diff --git a/j2s/J/adapter/readers/pymol/PyMOLGroup.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/pymol/PyMOLGroup.js
similarity index 100%
rename from j2s/J/adapter/readers/pymol/PyMOLGroup.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/pymol/PyMOLGroup.js
diff --git a/j2s/J/adapter/readers/pymol/PyMOLReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/pymol/PyMOLReader.js
similarity index 100%
rename from j2s/J/adapter/readers/pymol/PyMOLReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/pymol/PyMOLReader.js
diff --git a/j2s/J/adapter/readers/pymol/PyMOLScene.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/pymol/PyMOLScene.js
similarity index 100%
rename from j2s/J/adapter/readers/pymol/PyMOLScene.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/pymol/PyMOLScene.js
diff --git a/j2s/J/adapter/readers/quantum/AdfReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/AdfReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/AdfReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/AdfReader.js
diff --git a/j2s/J/adapter/readers/quantum/BasisFunctionReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/BasisFunctionReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/BasisFunctionReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/BasisFunctionReader.js
diff --git a/j2s/J/adapter/readers/quantum/CsfReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/CsfReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/CsfReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/CsfReader.js
diff --git a/j2s/J/adapter/readers/quantum/DgridReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/DgridReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/DgridReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/DgridReader.js
diff --git a/j2s/J/adapter/readers/quantum/GamessReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/GamessReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/GamessReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/GamessReader.js
diff --git a/j2s/J/adapter/readers/quantum/GamessUKReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/GamessUKReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/GamessUKReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/GamessUKReader.js
diff --git a/j2s/J/adapter/readers/quantum/GamessUSReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/GamessUSReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/GamessUSReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/GamessUSReader.js
diff --git a/j2s/J/adapter/readers/quantum/GaussianFchkReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/GaussianFchkReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/GaussianFchkReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/GaussianFchkReader.js
diff --git a/j2s/J/adapter/readers/quantum/GaussianReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/GaussianReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/GaussianReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/GaussianReader.js
diff --git a/j2s/J/adapter/readers/quantum/GaussianWfnReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/GaussianWfnReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/GaussianWfnReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/GaussianWfnReader.js
diff --git a/j2s/J/adapter/readers/quantum/GenNBOReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/GenNBOReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/GenNBOReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/GenNBOReader.js
diff --git a/j2s/J/adapter/readers/quantum/JaguarReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/JaguarReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/JaguarReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/JaguarReader.js
diff --git a/j2s/J/adapter/readers/quantum/MOReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/MOReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/MOReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/MOReader.js
diff --git a/j2s/J/adapter/readers/quantum/MoldenReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/MoldenReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/MoldenReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/MoldenReader.js
diff --git a/j2s/J/adapter/readers/quantum/MopacGraphfReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/MopacGraphfReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/MopacGraphfReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/MopacGraphfReader.js
diff --git a/j2s/J/adapter/readers/quantum/MopacSlaterReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/MopacSlaterReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/MopacSlaterReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/MopacSlaterReader.js
diff --git a/j2s/J/adapter/readers/quantum/NBOParser.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/NBOParser.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/NBOParser.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/NBOParser.js
diff --git a/j2s/J/adapter/readers/quantum/NWChemReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/NWChemReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/NWChemReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/NWChemReader.js
diff --git a/j2s/J/adapter/readers/quantum/PsiReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/PsiReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/PsiReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/PsiReader.js
diff --git a/j2s/J/adapter/readers/quantum/QCJSONReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/QCJSONReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/QCJSONReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/QCJSONReader.js
diff --git a/j2s/J/adapter/readers/quantum/QchemReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/QchemReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/QchemReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/QchemReader.js
diff --git a/j2s/J/adapter/readers/quantum/SlaterReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/SlaterReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/SlaterReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/SlaterReader.js
diff --git a/j2s/J/adapter/readers/quantum/WebMOReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/WebMOReader.js
similarity index 100%
rename from j2s/J/adapter/readers/quantum/WebMOReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/quantum/WebMOReader.js
diff --git a/j2s/J/adapter/readers/simple/AlchemyReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/AlchemyReader.js
similarity index 100%
rename from j2s/J/adapter/readers/simple/AlchemyReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/AlchemyReader.js
diff --git a/j2s/J/adapter/readers/simple/AmpacReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/AmpacReader.js
similarity index 100%
rename from j2s/J/adapter/readers/simple/AmpacReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/AmpacReader.js
diff --git a/j2s/J/adapter/readers/simple/CubeReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/CubeReader.js
similarity index 100%
rename from j2s/J/adapter/readers/simple/CubeReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/CubeReader.js
diff --git a/j2s/J/adapter/readers/simple/FoldingXyzReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/FoldingXyzReader.js
similarity index 100%
rename from j2s/J/adapter/readers/simple/FoldingXyzReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/FoldingXyzReader.js
diff --git a/j2s/J/adapter/readers/simple/GhemicalMMReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/GhemicalMMReader.js
similarity index 100%
rename from j2s/J/adapter/readers/simple/GhemicalMMReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/GhemicalMMReader.js
diff --git a/j2s/J/adapter/readers/simple/HyperChemReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/HyperChemReader.js
similarity index 100%
rename from j2s/J/adapter/readers/simple/HyperChemReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/HyperChemReader.js
diff --git a/j2s/J/adapter/readers/simple/InputReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/InputReader.js
similarity index 100%
rename from j2s/J/adapter/readers/simple/InputReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/InputReader.js
diff --git a/j2s/J/adapter/readers/simple/JSONReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/JSONReader.js
similarity index 100%
rename from j2s/J/adapter/readers/simple/JSONReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/JSONReader.js
diff --git a/j2s/J/adapter/readers/simple/JmeReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/JmeReader.js
similarity index 100%
rename from j2s/J/adapter/readers/simple/JmeReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/JmeReader.js
diff --git a/j2s/J/adapter/readers/simple/MopacArchiveReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/MopacArchiveReader.js
similarity index 100%
rename from j2s/J/adapter/readers/simple/MopacArchiveReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/MopacArchiveReader.js
diff --git a/j2s/J/adapter/readers/simple/MopacReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/MopacReader.js
similarity index 100%
rename from j2s/J/adapter/readers/simple/MopacReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/MopacReader.js
diff --git a/j2s/J/adapter/readers/simple/TinkerReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/TinkerReader.js
similarity index 100%
rename from j2s/J/adapter/readers/simple/TinkerReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/simple/TinkerReader.js
diff --git a/j2s/J/adapter/readers/spartan/OdysseyReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/spartan/OdysseyReader.js
similarity index 100%
rename from j2s/J/adapter/readers/spartan/OdysseyReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/spartan/OdysseyReader.js
diff --git a/j2s/J/adapter/readers/spartan/SpartanArchive.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/spartan/SpartanArchive.js
similarity index 100%
rename from j2s/J/adapter/readers/spartan/SpartanArchive.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/spartan/SpartanArchive.js
diff --git a/j2s/J/adapter/readers/spartan/SpartanInputReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/spartan/SpartanInputReader.js
similarity index 100%
rename from j2s/J/adapter/readers/spartan/SpartanInputReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/spartan/SpartanInputReader.js
diff --git a/j2s/J/adapter/readers/spartan/SpartanReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/spartan/SpartanReader.js
similarity index 100%
rename from j2s/J/adapter/readers/spartan/SpartanReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/spartan/SpartanReader.js
diff --git a/j2s/J/adapter/readers/spartan/SpartanSmolReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/spartan/SpartanSmolReader.js
similarity index 100%
rename from j2s/J/adapter/readers/spartan/SpartanSmolReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/spartan/SpartanSmolReader.js
diff --git a/j2s/J/adapter/readers/spartan/SpartanUtil.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/spartan/SpartanUtil.js
similarity index 100%
rename from j2s/J/adapter/readers/spartan/SpartanUtil.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/spartan/SpartanUtil.js
diff --git a/j2s/J/adapter/readers/xml/XmlArgusReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlArgusReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xml/XmlArgusReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlArgusReader.js
diff --git a/j2s/J/adapter/readers/xml/XmlChem3dReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlChem3dReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xml/XmlChem3dReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlChem3dReader.js
diff --git a/j2s/J/adapter/readers/xml/XmlCmlReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlCmlReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xml/XmlCmlReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlCmlReader.js
diff --git a/j2s/J/adapter/readers/xml/XmlHandler.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlHandler.js
similarity index 100%
rename from j2s/J/adapter/readers/xml/XmlHandler.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlHandler.js
diff --git a/j2s/J/adapter/readers/xml/XmlMOReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlMOReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xml/XmlMOReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlMOReader.js
diff --git a/j2s/J/adapter/readers/xml/XmlMagResReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlMagResReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xml/XmlMagResReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlMagResReader.js
diff --git a/j2s/J/adapter/readers/xml/XmlMolproReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlMolproReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xml/XmlMolproReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlMolproReader.js
diff --git a/j2s/J/adapter/readers/xml/XmlOdysseyReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlOdysseyReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xml/XmlOdysseyReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlOdysseyReader.js
diff --git a/j2s/J/adapter/readers/xml/XmlQEReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlQEReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xml/XmlQEReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlQEReader.js
diff --git a/j2s/J/adapter/readers/xml/XmlReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xml/XmlReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlReader.js
diff --git a/j2s/J/adapter/readers/xml/XmlVaspReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlVaspReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xml/XmlVaspReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlVaspReader.js
diff --git a/j2s/J/adapter/readers/xml/XmlXsdReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlXsdReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xml/XmlXsdReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xml/XmlXsdReader.js
diff --git a/j2s/J/adapter/readers/xtal/AbinitReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/AbinitReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/AbinitReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/AbinitReader.js
diff --git a/j2s/J/adapter/readers/xtal/AimsReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/AimsReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/AimsReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/AimsReader.js
diff --git a/j2s/J/adapter/readers/xtal/BilbaoReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/BilbaoReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/BilbaoReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/BilbaoReader.js
diff --git a/j2s/J/adapter/readers/xtal/CastepReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/CastepReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/CastepReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/CastepReader.js
diff --git a/j2s/J/adapter/readers/xtal/CgdReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/CgdReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/CgdReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/CgdReader.js
diff --git a/j2s/J/adapter/readers/xtal/CrystalReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/CrystalReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/CrystalReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/CrystalReader.js
diff --git a/j2s/J/adapter/readers/xtal/DmolReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/DmolReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/DmolReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/DmolReader.js
diff --git a/j2s/J/adapter/readers/xtal/EspressoReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/EspressoReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/EspressoReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/EspressoReader.js
diff --git a/j2s/J/adapter/readers/xtal/GulpReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/GulpReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/GulpReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/GulpReader.js
diff --git a/j2s/J/adapter/readers/xtal/JanaReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/JanaReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/JanaReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/JanaReader.js
diff --git a/j2s/J/adapter/readers/xtal/MagresReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/MagresReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/MagresReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/MagresReader.js
diff --git a/j2s/J/adapter/readers/xtal/ShelxReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/ShelxReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/ShelxReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/ShelxReader.js
diff --git a/j2s/J/adapter/readers/xtal/SiestaReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/SiestaReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/SiestaReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/SiestaReader.js
diff --git a/j2s/J/adapter/readers/xtal/VaspChgcarReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/VaspChgcarReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/VaspChgcarReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/VaspChgcarReader.js
diff --git a/j2s/J/adapter/readers/xtal/VaspOutcarReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/VaspOutcarReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/VaspOutcarReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/VaspOutcarReader.js
diff --git a/j2s/J/adapter/readers/xtal/VaspPoscarReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/VaspPoscarReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/VaspPoscarReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/VaspPoscarReader.js
diff --git a/j2s/J/adapter/readers/xtal/Wien2kReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/Wien2kReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/Wien2kReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/Wien2kReader.js
diff --git a/j2s/J/adapter/readers/xtal/XcrysdenReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/XcrysdenReader.js
similarity index 100%
rename from j2s/J/adapter/readers/xtal/XcrysdenReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/readers/xtal/XcrysdenReader.js
diff --git a/j2s/J/adapter/smarter/Atom.js b/assets/compressed_sensing_2018/j2s/J/adapter/smarter/Atom.js
similarity index 100%
rename from j2s/J/adapter/smarter/Atom.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/smarter/Atom.js
diff --git a/j2s/J/adapter/smarter/AtomIterator.js b/assets/compressed_sensing_2018/j2s/J/adapter/smarter/AtomIterator.js
similarity index 100%
rename from j2s/J/adapter/smarter/AtomIterator.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/smarter/AtomIterator.js
diff --git a/j2s/J/adapter/smarter/AtomSetCollection.js b/assets/compressed_sensing_2018/j2s/J/adapter/smarter/AtomSetCollection.js
similarity index 100%
rename from j2s/J/adapter/smarter/AtomSetCollection.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/smarter/AtomSetCollection.js
diff --git a/j2s/J/adapter/smarter/AtomSetCollectionReader.js b/assets/compressed_sensing_2018/j2s/J/adapter/smarter/AtomSetCollectionReader.js
similarity index 100%
rename from j2s/J/adapter/smarter/AtomSetCollectionReader.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/smarter/AtomSetCollectionReader.js
diff --git a/j2s/J/adapter/smarter/AtomSetObject.js b/assets/compressed_sensing_2018/j2s/J/adapter/smarter/AtomSetObject.js
similarity index 100%
rename from j2s/J/adapter/smarter/AtomSetObject.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/smarter/AtomSetObject.js
diff --git a/j2s/J/adapter/smarter/Bond.js b/assets/compressed_sensing_2018/j2s/J/adapter/smarter/Bond.js
similarity index 100%
rename from j2s/J/adapter/smarter/Bond.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/smarter/Bond.js
diff --git a/j2s/J/adapter/smarter/BondIterator.js b/assets/compressed_sensing_2018/j2s/J/adapter/smarter/BondIterator.js
similarity index 100%
rename from j2s/J/adapter/smarter/BondIterator.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/smarter/BondIterator.js
diff --git a/j2s/J/adapter/smarter/MSInterface.js b/assets/compressed_sensing_2018/j2s/J/adapter/smarter/MSInterface.js
similarity index 100%
rename from j2s/J/adapter/smarter/MSInterface.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/smarter/MSInterface.js
diff --git a/j2s/J/adapter/smarter/Resolver.js b/assets/compressed_sensing_2018/j2s/J/adapter/smarter/Resolver.js
similarity index 100%
rename from j2s/J/adapter/smarter/Resolver.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/smarter/Resolver.js
diff --git a/j2s/J/adapter/smarter/SmarterJmolAdapter.js b/assets/compressed_sensing_2018/j2s/J/adapter/smarter/SmarterJmolAdapter.js
similarity index 100%
rename from j2s/J/adapter/smarter/SmarterJmolAdapter.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/smarter/SmarterJmolAdapter.js
diff --git a/j2s/J/adapter/smarter/Structure.js b/assets/compressed_sensing_2018/j2s/J/adapter/smarter/Structure.js
similarity index 100%
rename from j2s/J/adapter/smarter/Structure.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/smarter/Structure.js
diff --git a/j2s/J/adapter/smarter/StructureIterator.js b/assets/compressed_sensing_2018/j2s/J/adapter/smarter/StructureIterator.js
similarity index 100%
rename from j2s/J/adapter/smarter/StructureIterator.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/smarter/StructureIterator.js
diff --git a/j2s/J/adapter/smarter/XtalSymmetry.js b/assets/compressed_sensing_2018/j2s/J/adapter/smarter/XtalSymmetry.js
similarity index 100%
rename from j2s/J/adapter/smarter/XtalSymmetry.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/smarter/XtalSymmetry.js
diff --git a/j2s/J/adapter/writers/QCJSONWriter.js b/assets/compressed_sensing_2018/j2s/J/adapter/writers/QCJSONWriter.js
similarity index 100%
rename from j2s/J/adapter/writers/QCJSONWriter.js
rename to assets/compressed_sensing_2018/j2s/J/adapter/writers/QCJSONWriter.js
diff --git a/j2s/J/api/AtomIndexIterator.js b/assets/compressed_sensing_2018/j2s/J/api/AtomIndexIterator.js
similarity index 100%
rename from j2s/J/api/AtomIndexIterator.js
rename to assets/compressed_sensing_2018/j2s/J/api/AtomIndexIterator.js
diff --git a/j2s/J/api/GenericGraphics.js b/assets/compressed_sensing_2018/j2s/J/api/GenericGraphics.js
similarity index 100%
rename from j2s/J/api/GenericGraphics.js
rename to assets/compressed_sensing_2018/j2s/J/api/GenericGraphics.js
diff --git a/j2s/J/api/Interface.js b/assets/compressed_sensing_2018/j2s/J/api/Interface.js
similarity index 100%
rename from j2s/J/api/Interface.js
rename to assets/compressed_sensing_2018/j2s/J/api/Interface.js
diff --git a/j2s/J/api/JSVInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JSVInterface.js
similarity index 100%
rename from j2s/J/api/JSVInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JSVInterface.js
diff --git a/j2s/J/api/JmolAbstractButton.js b/assets/compressed_sensing_2018/j2s/J/api/JmolAbstractButton.js
similarity index 100%
rename from j2s/J/api/JmolAbstractButton.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolAbstractButton.js
diff --git a/j2s/J/api/JmolAdapter.js b/assets/compressed_sensing_2018/j2s/J/api/JmolAdapter.js
similarity index 100%
rename from j2s/J/api/JmolAdapter.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolAdapter.js
diff --git a/j2s/J/api/JmolAdapterAtomIterator.js b/assets/compressed_sensing_2018/j2s/J/api/JmolAdapterAtomIterator.js
similarity index 100%
rename from j2s/J/api/JmolAdapterAtomIterator.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolAdapterAtomIterator.js
diff --git a/j2s/J/api/JmolAdapterBondIterator.js b/assets/compressed_sensing_2018/j2s/J/api/JmolAdapterBondIterator.js
similarity index 100%
rename from j2s/J/api/JmolAdapterBondIterator.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolAdapterBondIterator.js
diff --git a/j2s/J/api/JmolAdapterStructureIterator.js b/assets/compressed_sensing_2018/j2s/J/api/JmolAdapterStructureIterator.js
similarity index 100%
rename from j2s/J/api/JmolAdapterStructureIterator.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolAdapterStructureIterator.js
diff --git a/j2s/J/api/JmolAnnotationParser.js b/assets/compressed_sensing_2018/j2s/J/api/JmolAnnotationParser.js
similarity index 100%
rename from j2s/J/api/JmolAnnotationParser.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolAnnotationParser.js
diff --git a/j2s/J/api/JmolAppAPI.js b/assets/compressed_sensing_2018/j2s/J/api/JmolAppAPI.js
similarity index 100%
rename from j2s/J/api/JmolAppAPI.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolAppAPI.js
diff --git a/j2s/J/api/JmolAppConsoleInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolAppConsoleInterface.js
similarity index 100%
rename from j2s/J/api/JmolAppConsoleInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolAppConsoleInterface.js
diff --git a/j2s/J/api/JmolAppletInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolAppletInterface.js
similarity index 100%
rename from j2s/J/api/JmolAppletInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolAppletInterface.js
diff --git a/j2s/J/api/JmolAudioPlayer.js b/assets/compressed_sensing_2018/j2s/J/api/JmolAudioPlayer.js
similarity index 100%
rename from j2s/J/api/JmolAudioPlayer.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolAudioPlayer.js
diff --git a/j2s/J/api/JmolCallbackListener.js b/assets/compressed_sensing_2018/j2s/J/api/JmolCallbackListener.js
similarity index 100%
rename from j2s/J/api/JmolCallbackListener.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolCallbackListener.js
diff --git a/j2s/J/api/JmolDataManager.js b/assets/compressed_sensing_2018/j2s/J/api/JmolDataManager.js
similarity index 100%
rename from j2s/J/api/JmolDataManager.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolDataManager.js
diff --git a/j2s/J/api/JmolDialogInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolDialogInterface.js
similarity index 100%
rename from j2s/J/api/JmolDialogInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolDialogInterface.js
diff --git a/j2s/J/api/JmolDomReaderInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolDomReaderInterface.js
similarity index 100%
rename from j2s/J/api/JmolDomReaderInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolDomReaderInterface.js
diff --git a/j2s/J/api/JmolDropEditor.js b/assets/compressed_sensing_2018/j2s/J/api/JmolDropEditor.js
similarity index 100%
rename from j2s/J/api/JmolDropEditor.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolDropEditor.js
diff --git a/j2s/J/api/JmolEnvCalc.js b/assets/compressed_sensing_2018/j2s/J/api/JmolEnvCalc.js
similarity index 100%
rename from j2s/J/api/JmolEnvCalc.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolEnvCalc.js
diff --git a/j2s/J/api/JmolFilesReaderInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolFilesReaderInterface.js
similarity index 100%
rename from j2s/J/api/JmolFilesReaderInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolFilesReaderInterface.js
diff --git a/j2s/J/api/JmolGestureServerInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolGestureServerInterface.js
similarity index 100%
rename from j2s/J/api/JmolGestureServerInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolGestureServerInterface.js
diff --git a/j2s/J/api/JmolGraphicsInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolGraphicsInterface.js
similarity index 100%
rename from j2s/J/api/JmolGraphicsInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolGraphicsInterface.js
diff --git a/j2s/J/api/JmolJDXMOLParser.js b/assets/compressed_sensing_2018/j2s/J/api/JmolJDXMOLParser.js
similarity index 100%
rename from j2s/J/api/JmolJDXMOLParser.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolJDXMOLParser.js
diff --git a/j2s/J/api/JmolJDXMOLReader.js b/assets/compressed_sensing_2018/j2s/J/api/JmolJDXMOLReader.js
similarity index 100%
rename from j2s/J/api/JmolJDXMOLReader.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolJDXMOLReader.js
diff --git a/j2s/J/api/JmolJSpecView.js b/assets/compressed_sensing_2018/j2s/J/api/JmolJSpecView.js
similarity index 100%
rename from j2s/J/api/JmolJSpecView.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolJSpecView.js
diff --git a/j2s/J/api/JmolMeasurementClient.js b/assets/compressed_sensing_2018/j2s/J/api/JmolMeasurementClient.js
similarity index 100%
rename from j2s/J/api/JmolMeasurementClient.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolMeasurementClient.js
diff --git a/j2s/J/api/JmolModulationSet.js b/assets/compressed_sensing_2018/j2s/J/api/JmolModulationSet.js
similarity index 100%
rename from j2s/J/api/JmolModulationSet.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolModulationSet.js
diff --git a/j2s/J/api/JmolMovieCreatorInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolMovieCreatorInterface.js
similarity index 100%
rename from j2s/J/api/JmolMovieCreatorInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolMovieCreatorInterface.js
diff --git a/j2s/J/api/JmolNMRInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolNMRInterface.js
similarity index 100%
rename from j2s/J/api/JmolNMRInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolNMRInterface.js
diff --git a/j2s/J/api/JmolNavigatorInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolNavigatorInterface.js
similarity index 100%
rename from j2s/J/api/JmolNavigatorInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolNavigatorInterface.js
diff --git a/j2s/J/api/JmolParallelProcessor.js b/assets/compressed_sensing_2018/j2s/J/api/JmolParallelProcessor.js
similarity index 100%
rename from j2s/J/api/JmolParallelProcessor.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolParallelProcessor.js
diff --git a/j2s/J/api/JmolPatternMatcher.js b/assets/compressed_sensing_2018/j2s/J/api/JmolPatternMatcher.js
similarity index 100%
rename from j2s/J/api/JmolPatternMatcher.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolPatternMatcher.js
diff --git a/j2s/J/api/JmolPdfCreatorInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolPdfCreatorInterface.js
similarity index 100%
rename from j2s/J/api/JmolPdfCreatorInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolPdfCreatorInterface.js
diff --git a/j2s/J/api/JmolPropertyManager.js b/assets/compressed_sensing_2018/j2s/J/api/JmolPropertyManager.js
similarity index 100%
rename from j2s/J/api/JmolPropertyManager.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolPropertyManager.js
diff --git a/j2s/J/api/JmolRendererInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolRendererInterface.js
similarity index 100%
rename from j2s/J/api/JmolRendererInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolRendererInterface.js
diff --git a/j2s/J/api/JmolRepaintManager.js b/assets/compressed_sensing_2018/j2s/J/api/JmolRepaintManager.js
similarity index 100%
rename from j2s/J/api/JmolRepaintManager.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolRepaintManager.js
diff --git a/j2s/J/api/JmolSceneGenerator.js b/assets/compressed_sensing_2018/j2s/J/api/JmolSceneGenerator.js
similarity index 100%
rename from j2s/J/api/JmolSceneGenerator.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolSceneGenerator.js
diff --git a/j2s/J/api/JmolScriptEditorInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolScriptEditorInterface.js
similarity index 100%
rename from j2s/J/api/JmolScriptEditorInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolScriptEditorInterface.js
diff --git a/j2s/J/api/JmolScriptEvaluator.js b/assets/compressed_sensing_2018/j2s/J/api/JmolScriptEvaluator.js
similarity index 100%
rename from j2s/J/api/JmolScriptEvaluator.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolScriptEvaluator.js
diff --git a/j2s/J/api/JmolScriptFunction.js b/assets/compressed_sensing_2018/j2s/J/api/JmolScriptFunction.js
similarity index 100%
rename from j2s/J/api/JmolScriptFunction.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolScriptFunction.js
diff --git a/j2s/J/api/JmolScriptManager.js b/assets/compressed_sensing_2018/j2s/J/api/JmolScriptManager.js
similarity index 100%
rename from j2s/J/api/JmolScriptManager.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolScriptManager.js
diff --git a/j2s/J/api/JmolSelectionListener.js b/assets/compressed_sensing_2018/j2s/J/api/JmolSelectionListener.js
similarity index 100%
rename from j2s/J/api/JmolSelectionListener.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolSelectionListener.js
diff --git a/j2s/J/api/JmolStatusListener.js b/assets/compressed_sensing_2018/j2s/J/api/JmolStatusListener.js
similarity index 100%
rename from j2s/J/api/JmolStatusListener.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolStatusListener.js
diff --git a/j2s/J/api/JmolSyncInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolSyncInterface.js
similarity index 100%
rename from j2s/J/api/JmolSyncInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolSyncInterface.js
diff --git a/j2s/J/api/JmolToJSmolInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolToJSmolInterface.js
similarity index 100%
rename from j2s/J/api/JmolToJSmolInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolToJSmolInterface.js
diff --git a/j2s/J/api/JmolTouchSimulatorInterface.js b/assets/compressed_sensing_2018/j2s/J/api/JmolTouchSimulatorInterface.js
similarity index 100%
rename from j2s/J/api/JmolTouchSimulatorInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolTouchSimulatorInterface.js
diff --git a/j2s/J/api/JmolViewer.js b/assets/compressed_sensing_2018/j2s/J/api/JmolViewer.js
similarity index 100%
rename from j2s/J/api/JmolViewer.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolViewer.js
diff --git a/j2s/J/api/JmolZipUtilities.js b/assets/compressed_sensing_2018/j2s/J/api/JmolZipUtilities.js
similarity index 100%
rename from j2s/J/api/JmolZipUtilities.js
rename to assets/compressed_sensing_2018/j2s/J/api/JmolZipUtilities.js
diff --git a/j2s/J/api/PymolAtomReader.js b/assets/compressed_sensing_2018/j2s/J/api/PymolAtomReader.js
similarity index 100%
rename from j2s/J/api/PymolAtomReader.js
rename to assets/compressed_sensing_2018/j2s/J/api/PymolAtomReader.js
diff --git a/j2s/J/api/SmilesMatcherInterface.js b/assets/compressed_sensing_2018/j2s/J/api/SmilesMatcherInterface.js
similarity index 100%
rename from j2s/J/api/SmilesMatcherInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/SmilesMatcherInterface.js
diff --git a/j2s/J/api/SymmetryInterface.js b/assets/compressed_sensing_2018/j2s/J/api/SymmetryInterface.js
similarity index 100%
rename from j2s/J/api/SymmetryInterface.js
rename to assets/compressed_sensing_2018/j2s/J/api/SymmetryInterface.js
diff --git a/j2s/J/api/Translator.js b/assets/compressed_sensing_2018/j2s/J/api/Translator.js
similarity index 100%
rename from j2s/J/api/Translator.js
rename to assets/compressed_sensing_2018/j2s/J/api/Translator.js
diff --git a/j2s/J/appletjs/Jmol.js b/assets/compressed_sensing_2018/j2s/J/appletjs/Jmol.js
similarity index 100%
rename from j2s/J/appletjs/Jmol.js
rename to assets/compressed_sensing_2018/j2s/J/appletjs/Jmol.js
diff --git a/j2s/J/atomdata/AtomData.js b/assets/compressed_sensing_2018/j2s/J/atomdata/AtomData.js
similarity index 100%
rename from j2s/J/atomdata/AtomData.js
rename to assets/compressed_sensing_2018/j2s/J/atomdata/AtomData.js
diff --git a/j2s/J/atomdata/AtomDataServer.js b/assets/compressed_sensing_2018/j2s/J/atomdata/AtomDataServer.js
similarity index 100%
rename from j2s/J/atomdata/AtomDataServer.js
rename to assets/compressed_sensing_2018/j2s/J/atomdata/AtomDataServer.js
diff --git a/j2s/J/atomdata/RadiusData.js b/assets/compressed_sensing_2018/j2s/J/atomdata/RadiusData.js
similarity index 100%
rename from j2s/J/atomdata/RadiusData.js
rename to assets/compressed_sensing_2018/j2s/J/atomdata/RadiusData.js
diff --git a/j2s/J/awtjs/Platform.js b/assets/compressed_sensing_2018/j2s/J/awtjs/Platform.js
similarity index 100%
rename from j2s/J/awtjs/Platform.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/Platform.js
diff --git a/j2s/J/awtjs/swing/AbstractButton.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/AbstractButton.js
similarity index 100%
rename from j2s/J/awtjs/swing/AbstractButton.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/AbstractButton.js
diff --git a/j2s/J/awtjs/swing/AbstractTableModel.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/AbstractTableModel.js
similarity index 100%
rename from j2s/J/awtjs/swing/AbstractTableModel.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/AbstractTableModel.js
diff --git a/j2s/J/awtjs/swing/ButtonGroup.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/ButtonGroup.js
similarity index 100%
rename from j2s/J/awtjs/swing/ButtonGroup.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/ButtonGroup.js
diff --git a/j2s/J/awtjs/swing/Cell.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/Cell.js
similarity index 100%
rename from j2s/J/awtjs/swing/Cell.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/Cell.js
diff --git a/j2s/J/awtjs/swing/ColumnSelectionModel.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/ColumnSelectionModel.js
similarity index 100%
rename from j2s/J/awtjs/swing/ColumnSelectionModel.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/ColumnSelectionModel.js
diff --git a/j2s/J/awtjs/swing/Document.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/Document.js
similarity index 100%
rename from j2s/J/awtjs/swing/Document.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/Document.js
diff --git a/j2s/J/awtjs/swing/FlowLayout.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/FlowLayout.js
similarity index 100%
rename from j2s/J/awtjs/swing/FlowLayout.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/FlowLayout.js
diff --git a/j2s/J/awtjs/swing/Grid.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/Grid.js
similarity index 100%
rename from j2s/J/awtjs/swing/Grid.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/Grid.js
diff --git a/j2s/J/awtjs/swing/GridBagConstraints.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/GridBagConstraints.js
similarity index 100%
rename from j2s/J/awtjs/swing/GridBagConstraints.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/GridBagConstraints.js
diff --git a/j2s/J/awtjs/swing/GridBagLayout.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/GridBagLayout.js
similarity index 100%
rename from j2s/J/awtjs/swing/GridBagLayout.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/GridBagLayout.js
diff --git a/j2s/J/awtjs/swing/HTMLElement.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/HTMLElement.js
similarity index 100%
rename from j2s/J/awtjs/swing/HTMLElement.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/HTMLElement.js
diff --git a/j2s/J/awtjs/swing/HTMLWindowEvent.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/HTMLWindowEvent.js
similarity index 100%
rename from j2s/J/awtjs/swing/HTMLWindowEvent.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/HTMLWindowEvent.js
diff --git a/j2s/J/awtjs/swing/Insets.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/Insets.js
similarity index 100%
rename from j2s/J/awtjs/swing/Insets.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/Insets.js
diff --git a/j2s/J/awtjs/swing/JButton.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JButton.js
similarity index 100%
rename from j2s/J/awtjs/swing/JButton.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JButton.js
diff --git a/j2s/J/awtjs/swing/JCheckBox.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JCheckBox.js
similarity index 100%
rename from j2s/J/awtjs/swing/JCheckBox.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JCheckBox.js
diff --git a/j2s/J/awtjs/swing/JCheckBoxMenuItem.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JCheckBoxMenuItem.js
similarity index 100%
rename from j2s/J/awtjs/swing/JCheckBoxMenuItem.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JCheckBoxMenuItem.js
diff --git a/j2s/J/awtjs/swing/JComboBox.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JComboBox.js
similarity index 100%
rename from j2s/J/awtjs/swing/JComboBox.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JComboBox.js
diff --git a/j2s/J/awtjs/swing/JComponent.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JComponent.js
similarity index 100%
rename from j2s/J/awtjs/swing/JComponent.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JComponent.js
diff --git a/j2s/J/awtjs/swing/JComponentImp.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JComponentImp.js
similarity index 100%
rename from j2s/J/awtjs/swing/JComponentImp.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JComponentImp.js
diff --git a/j2s/J/awtjs/swing/JContentPane.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JContentPane.js
similarity index 100%
rename from j2s/J/awtjs/swing/JContentPane.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JContentPane.js
diff --git a/j2s/J/awtjs/swing/JDialog.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JDialog.js
similarity index 100%
rename from j2s/J/awtjs/swing/JDialog.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JDialog.js
diff --git a/j2s/J/awtjs/swing/JEditorPane.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JEditorPane.js
similarity index 100%
rename from j2s/J/awtjs/swing/JEditorPane.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JEditorPane.js
diff --git a/j2s/J/awtjs/swing/JLabel.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JLabel.js
similarity index 100%
rename from j2s/J/awtjs/swing/JLabel.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JLabel.js
diff --git a/j2s/J/awtjs/swing/JMenu.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JMenu.js
similarity index 100%
rename from j2s/J/awtjs/swing/JMenu.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JMenu.js
diff --git a/j2s/J/awtjs/swing/JMenuItem.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JMenuItem.js
similarity index 100%
rename from j2s/J/awtjs/swing/JMenuItem.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JMenuItem.js
diff --git a/j2s/J/awtjs/swing/JPanel.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JPanel.js
similarity index 100%
rename from j2s/J/awtjs/swing/JPanel.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JPanel.js
diff --git a/j2s/J/awtjs/swing/JPopupMenu.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JPopupMenu.js
similarity index 100%
rename from j2s/J/awtjs/swing/JPopupMenu.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JPopupMenu.js
diff --git a/j2s/J/awtjs/swing/JRadioButtonMenuItem.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JRadioButtonMenuItem.js
similarity index 100%
rename from j2s/J/awtjs/swing/JRadioButtonMenuItem.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JRadioButtonMenuItem.js
diff --git a/j2s/J/awtjs/swing/JScrollPane.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JScrollPane.js
similarity index 100%
rename from j2s/J/awtjs/swing/JScrollPane.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JScrollPane.js
diff --git a/j2s/J/awtjs/swing/JSplitPane.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JSplitPane.js
similarity index 100%
rename from j2s/J/awtjs/swing/JSplitPane.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JSplitPane.js
diff --git a/j2s/J/awtjs/swing/JTable.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JTable.js
similarity index 100%
rename from j2s/J/awtjs/swing/JTable.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JTable.js
diff --git a/j2s/J/awtjs/swing/JTextField.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JTextField.js
similarity index 100%
rename from j2s/J/awtjs/swing/JTextField.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JTextField.js
diff --git a/j2s/J/awtjs/swing/JTextPane.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/JTextPane.js
similarity index 100%
rename from j2s/J/awtjs/swing/JTextPane.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/JTextPane.js
diff --git a/j2s/J/awtjs/swing/ListSelectionModel.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/ListSelectionModel.js
similarity index 100%
rename from j2s/J/awtjs/swing/ListSelectionModel.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/ListSelectionModel.js
diff --git a/j2s/J/awtjs/swing/SwingConstants.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/SwingConstants.js
similarity index 100%
rename from j2s/J/awtjs/swing/SwingConstants.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/SwingConstants.js
diff --git a/j2s/J/awtjs/swing/TableCellRenderer.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/TableCellRenderer.js
similarity index 100%
rename from j2s/J/awtjs/swing/TableCellRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/TableCellRenderer.js
diff --git a/j2s/J/awtjs/swing/TableColumn.js b/assets/compressed_sensing_2018/j2s/J/awtjs/swing/TableColumn.js
similarity index 100%
rename from j2s/J/awtjs/swing/TableColumn.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs/swing/TableColumn.js
diff --git a/j2s/J/awtjs2d/Display.js b/assets/compressed_sensing_2018/j2s/J/awtjs2d/Display.js
similarity index 100%
rename from j2s/J/awtjs2d/Display.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs2d/Display.js
diff --git a/j2s/J/awtjs2d/Image.js b/assets/compressed_sensing_2018/j2s/J/awtjs2d/Image.js
similarity index 100%
rename from j2s/J/awtjs2d/Image.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs2d/Image.js
diff --git a/j2s/J/awtjs2d/JSFile.js b/assets/compressed_sensing_2018/j2s/J/awtjs2d/JSFile.js
similarity index 100%
rename from j2s/J/awtjs2d/JSFile.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs2d/JSFile.js
diff --git a/j2s/J/awtjs2d/JSFont.js b/assets/compressed_sensing_2018/j2s/J/awtjs2d/JSFont.js
similarity index 100%
rename from j2s/J/awtjs2d/JSFont.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs2d/JSFont.js
diff --git a/j2s/J/awtjs2d/JSModelKitPopup.js b/assets/compressed_sensing_2018/j2s/J/awtjs2d/JSModelKitPopup.js
similarity index 100%
rename from j2s/J/awtjs2d/JSModelKitPopup.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs2d/JSModelKitPopup.js
diff --git a/j2s/J/awtjs2d/JmolJSPopup.js b/assets/compressed_sensing_2018/j2s/J/awtjs2d/JmolJSPopup.js
similarity index 100%
rename from j2s/J/awtjs2d/JmolJSPopup.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs2d/JmolJSPopup.js
diff --git a/j2s/J/awtjs2d/JsG2D.js b/assets/compressed_sensing_2018/j2s/J/awtjs2d/JsG2D.js
similarity index 100%
rename from j2s/J/awtjs2d/JsG2D.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs2d/JsG2D.js
diff --git a/j2s/J/awtjs2d/Mouse.js b/assets/compressed_sensing_2018/j2s/J/awtjs2d/Mouse.js
similarity index 100%
rename from j2s/J/awtjs2d/Mouse.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs2d/Mouse.js
diff --git a/j2s/J/awtjs2d/Platform.js b/assets/compressed_sensing_2018/j2s/J/awtjs2d/Platform.js
similarity index 100%
rename from j2s/J/awtjs2d/Platform.js
rename to assets/compressed_sensing_2018/j2s/J/awtjs2d/Platform.js
diff --git a/j2s/J/bspt/Bspf.js b/assets/compressed_sensing_2018/j2s/J/bspt/Bspf.js
similarity index 100%
rename from j2s/J/bspt/Bspf.js
rename to assets/compressed_sensing_2018/j2s/J/bspt/Bspf.js
diff --git a/j2s/J/bspt/Bspt.js b/assets/compressed_sensing_2018/j2s/J/bspt/Bspt.js
similarity index 100%
rename from j2s/J/bspt/Bspt.js
rename to assets/compressed_sensing_2018/j2s/J/bspt/Bspt.js
diff --git a/j2s/J/bspt/CubeIterator.js b/assets/compressed_sensing_2018/j2s/J/bspt/CubeIterator.js
similarity index 100%
rename from j2s/J/bspt/CubeIterator.js
rename to assets/compressed_sensing_2018/j2s/J/bspt/CubeIterator.js
diff --git a/j2s/J/bspt/Element.js b/assets/compressed_sensing_2018/j2s/J/bspt/Element.js
similarity index 100%
rename from j2s/J/bspt/Element.js
rename to assets/compressed_sensing_2018/j2s/J/bspt/Element.js
diff --git a/j2s/J/bspt/Leaf.js b/assets/compressed_sensing_2018/j2s/J/bspt/Leaf.js
similarity index 100%
rename from j2s/J/bspt/Leaf.js
rename to assets/compressed_sensing_2018/j2s/J/bspt/Leaf.js
diff --git a/j2s/J/bspt/Node.js b/assets/compressed_sensing_2018/j2s/J/bspt/Node.js
similarity index 100%
rename from j2s/J/bspt/Node.js
rename to assets/compressed_sensing_2018/j2s/J/bspt/Node.js
diff --git a/j2s/J/bspt/PointIterator.js b/assets/compressed_sensing_2018/j2s/J/bspt/PointIterator.js
similarity index 100%
rename from j2s/J/bspt/PointIterator.js
rename to assets/compressed_sensing_2018/j2s/J/bspt/PointIterator.js
diff --git a/j2s/J/c/CBK.js b/assets/compressed_sensing_2018/j2s/J/c/CBK.js
similarity index 100%
rename from j2s/J/c/CBK.js
rename to assets/compressed_sensing_2018/j2s/J/c/CBK.js
diff --git a/j2s/J/c/FIL.js b/assets/compressed_sensing_2018/j2s/J/c/FIL.js
similarity index 100%
rename from j2s/J/c/FIL.js
rename to assets/compressed_sensing_2018/j2s/J/c/FIL.js
diff --git a/j2s/J/c/HB.js b/assets/compressed_sensing_2018/j2s/J/c/HB.js
similarity index 100%
rename from j2s/J/c/HB.js
rename to assets/compressed_sensing_2018/j2s/J/c/HB.js
diff --git a/j2s/J/c/PAL.js b/assets/compressed_sensing_2018/j2s/J/c/PAL.js
similarity index 100%
rename from j2s/J/c/PAL.js
rename to assets/compressed_sensing_2018/j2s/J/c/PAL.js
diff --git a/j2s/J/c/STER.js b/assets/compressed_sensing_2018/j2s/J/c/STER.js
similarity index 100%
rename from j2s/J/c/STER.js
rename to assets/compressed_sensing_2018/j2s/J/c/STER.js
diff --git a/j2s/J/c/STR.js b/assets/compressed_sensing_2018/j2s/J/c/STR.js
similarity index 100%
rename from j2s/J/c/STR.js
rename to assets/compressed_sensing_2018/j2s/J/c/STR.js
diff --git a/j2s/J/c/VDW.js b/assets/compressed_sensing_2018/j2s/J/c/VDW.js
similarity index 100%
rename from j2s/J/c/VDW.js
rename to assets/compressed_sensing_2018/j2s/J/c/VDW.js
diff --git a/j2s/J/console/GenericConsole.js b/assets/compressed_sensing_2018/j2s/J/console/GenericConsole.js
similarity index 100%
rename from j2s/J/console/GenericConsole.js
rename to assets/compressed_sensing_2018/j2s/J/console/GenericConsole.js
diff --git a/j2s/J/console/GenericTextArea.js b/assets/compressed_sensing_2018/j2s/J/console/GenericTextArea.js
similarity index 100%
rename from j2s/J/console/GenericTextArea.js
rename to assets/compressed_sensing_2018/j2s/J/console/GenericTextArea.js
diff --git a/j2s/J/consolejs/AppletConsole.js b/assets/compressed_sensing_2018/j2s/J/consolejs/AppletConsole.js
similarity index 100%
rename from j2s/J/consolejs/AppletConsole.js
rename to assets/compressed_sensing_2018/j2s/J/consolejs/AppletConsole.js
diff --git a/j2s/J/consolejs/JSConsole.js b/assets/compressed_sensing_2018/j2s/J/consolejs/JSConsole.js
similarity index 100%
rename from j2s/J/consolejs/JSConsole.js
rename to assets/compressed_sensing_2018/j2s/J/consolejs/JSConsole.js
diff --git a/j2s/J/dssx/AnnotationParser.js b/assets/compressed_sensing_2018/j2s/J/dssx/AnnotationParser.js
similarity index 100%
rename from j2s/J/dssx/AnnotationParser.js
rename to assets/compressed_sensing_2018/j2s/J/dssx/AnnotationParser.js
diff --git a/j2s/J/dssx/Bridge.js b/assets/compressed_sensing_2018/j2s/J/dssx/Bridge.js
similarity index 100%
rename from j2s/J/dssx/Bridge.js
rename to assets/compressed_sensing_2018/j2s/J/dssx/Bridge.js
diff --git a/j2s/J/dssx/DSSP.js b/assets/compressed_sensing_2018/j2s/J/dssx/DSSP.js
similarity index 100%
rename from j2s/J/dssx/DSSP.js
rename to assets/compressed_sensing_2018/j2s/J/dssx/DSSP.js
diff --git a/j2s/J/dssx/DSSR0.js b/assets/compressed_sensing_2018/j2s/J/dssx/DSSR0.js
similarity index 100%
rename from j2s/J/dssx/DSSR0.js
rename to assets/compressed_sensing_2018/j2s/J/dssx/DSSR0.js
diff --git a/j2s/J/dssx/DSSR1.js b/assets/compressed_sensing_2018/j2s/J/dssx/DSSR1.js
similarity index 100%
rename from j2s/J/dssx/DSSR1.js
rename to assets/compressed_sensing_2018/j2s/J/dssx/DSSR1.js
diff --git a/j2s/J/export/Export3D.js b/assets/compressed_sensing_2018/j2s/J/export/Export3D.js
similarity index 100%
rename from j2s/J/export/Export3D.js
rename to assets/compressed_sensing_2018/j2s/J/export/Export3D.js
diff --git a/j2s/J/export/JSExporter.js b/assets/compressed_sensing_2018/j2s/J/export/JSExporter.js
similarity index 100%
rename from j2s/J/export/JSExporter.js
rename to assets/compressed_sensing_2018/j2s/J/export/JSExporter.js
diff --git a/j2s/J/export/MeshData.js b/assets/compressed_sensing_2018/j2s/J/export/MeshData.js
similarity index 100%
rename from j2s/J/export/MeshData.js
rename to assets/compressed_sensing_2018/j2s/J/export/MeshData.js
diff --git a/j2s/J/export/UseTable.js b/assets/compressed_sensing_2018/j2s/J/export/UseTable.js
similarity index 100%
rename from j2s/J/export/UseTable.js
rename to assets/compressed_sensing_2018/j2s/J/export/UseTable.js
diff --git a/j2s/J/export/_IdtfExporter.js b/assets/compressed_sensing_2018/j2s/J/export/_IdtfExporter.js
similarity index 100%
rename from j2s/J/export/_IdtfExporter.js
rename to assets/compressed_sensing_2018/j2s/J/export/_IdtfExporter.js
diff --git a/j2s/J/export/_MayaExporter.js b/assets/compressed_sensing_2018/j2s/J/export/_MayaExporter.js
similarity index 100%
rename from j2s/J/export/_MayaExporter.js
rename to assets/compressed_sensing_2018/j2s/J/export/_MayaExporter.js
diff --git a/j2s/J/export/_ObjExporter.js b/assets/compressed_sensing_2018/j2s/J/export/_ObjExporter.js
similarity index 100%
rename from j2s/J/export/_ObjExporter.js
rename to assets/compressed_sensing_2018/j2s/J/export/_ObjExporter.js
diff --git a/j2s/J/export/_PovrayExporter.js b/assets/compressed_sensing_2018/j2s/J/export/_PovrayExporter.js
similarity index 100%
rename from j2s/J/export/_PovrayExporter.js
rename to assets/compressed_sensing_2018/j2s/J/export/_PovrayExporter.js
diff --git a/j2s/J/export/_StlExporter.js b/assets/compressed_sensing_2018/j2s/J/export/_StlExporter.js
similarity index 100%
rename from j2s/J/export/_StlExporter.js
rename to assets/compressed_sensing_2018/j2s/J/export/_StlExporter.js
diff --git a/j2s/J/export/_TachyonExporter.js b/assets/compressed_sensing_2018/j2s/J/export/_TachyonExporter.js
similarity index 100%
rename from j2s/J/export/_TachyonExporter.js
rename to assets/compressed_sensing_2018/j2s/J/export/_TachyonExporter.js
diff --git a/j2s/J/export/_VrmlExporter.js b/assets/compressed_sensing_2018/j2s/J/export/_VrmlExporter.js
similarity index 100%
rename from j2s/J/export/_VrmlExporter.js
rename to assets/compressed_sensing_2018/j2s/J/export/_VrmlExporter.js
diff --git a/j2s/J/export/_X3dExporter.js b/assets/compressed_sensing_2018/j2s/J/export/_X3dExporter.js
similarity index 100%
rename from j2s/J/export/_X3dExporter.js
rename to assets/compressed_sensing_2018/j2s/J/export/_X3dExporter.js
diff --git a/j2s/J/export/__CartesianExporter.js b/assets/compressed_sensing_2018/j2s/J/export/__CartesianExporter.js
similarity index 100%
rename from j2s/J/export/__CartesianExporter.js
rename to assets/compressed_sensing_2018/j2s/J/export/__CartesianExporter.js
diff --git a/j2s/J/export/__RayTracerExporter.js b/assets/compressed_sensing_2018/j2s/J/export/__RayTracerExporter.js
similarity index 100%
rename from j2s/J/export/__RayTracerExporter.js
rename to assets/compressed_sensing_2018/j2s/J/export/__RayTracerExporter.js
diff --git a/j2s/J/export/___Exporter.js b/assets/compressed_sensing_2018/j2s/J/export/___Exporter.js
similarity index 100%
rename from j2s/J/export/___Exporter.js
rename to assets/compressed_sensing_2018/j2s/J/export/___Exporter.js
diff --git a/j2s/J/g3d/CircleRenderer.js b/assets/compressed_sensing_2018/j2s/J/g3d/CircleRenderer.js
similarity index 100%
rename from j2s/J/g3d/CircleRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/CircleRenderer.js
diff --git a/j2s/J/g3d/CylinderRenderer.js b/assets/compressed_sensing_2018/j2s/J/g3d/CylinderRenderer.js
similarity index 100%
rename from j2s/J/g3d/CylinderRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/CylinderRenderer.js
diff --git a/j2s/J/g3d/G3DRenderer.js b/assets/compressed_sensing_2018/j2s/J/g3d/G3DRenderer.js
similarity index 100%
rename from j2s/J/g3d/G3DRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/G3DRenderer.js
diff --git a/j2s/J/g3d/Graphics3D.js b/assets/compressed_sensing_2018/j2s/J/g3d/Graphics3D.js
similarity index 100%
rename from j2s/J/g3d/Graphics3D.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/Graphics3D.js
diff --git a/j2s/J/g3d/HermiteRenderer.js b/assets/compressed_sensing_2018/j2s/J/g3d/HermiteRenderer.js
similarity index 100%
rename from j2s/J/g3d/HermiteRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/HermiteRenderer.js
diff --git a/j2s/J/g3d/LineRenderer.js b/assets/compressed_sensing_2018/j2s/J/g3d/LineRenderer.js
similarity index 100%
rename from j2s/J/g3d/LineRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/LineRenderer.js
diff --git a/j2s/J/g3d/Pixelator.js b/assets/compressed_sensing_2018/j2s/J/g3d/Pixelator.js
similarity index 100%
rename from j2s/J/g3d/Pixelator.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/Pixelator.js
diff --git a/j2s/J/g3d/PixelatorScreened.js b/assets/compressed_sensing_2018/j2s/J/g3d/PixelatorScreened.js
similarity index 100%
rename from j2s/J/g3d/PixelatorScreened.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/PixelatorScreened.js
diff --git a/j2s/J/g3d/PixelatorShaded.js b/assets/compressed_sensing_2018/j2s/J/g3d/PixelatorShaded.js
similarity index 100%
rename from j2s/J/g3d/PixelatorShaded.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/PixelatorShaded.js
diff --git a/j2s/J/g3d/PixelatorT.js b/assets/compressed_sensing_2018/j2s/J/g3d/PixelatorT.js
similarity index 100%
rename from j2s/J/g3d/PixelatorT.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/PixelatorT.js
diff --git a/j2s/J/g3d/Platform3D.js b/assets/compressed_sensing_2018/j2s/J/g3d/Platform3D.js
similarity index 100%
rename from j2s/J/g3d/Platform3D.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/Platform3D.js
diff --git a/j2s/J/g3d/PrecisionRenderer.js b/assets/compressed_sensing_2018/j2s/J/g3d/PrecisionRenderer.js
similarity index 100%
rename from j2s/J/g3d/PrecisionRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/PrecisionRenderer.js
diff --git a/j2s/J/g3d/SphereRenderer.js b/assets/compressed_sensing_2018/j2s/J/g3d/SphereRenderer.js
similarity index 100%
rename from j2s/J/g3d/SphereRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/SphereRenderer.js
diff --git a/j2s/J/g3d/TextRenderer.js b/assets/compressed_sensing_2018/j2s/J/g3d/TextRenderer.js
similarity index 100%
rename from j2s/J/g3d/TextRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/TextRenderer.js
diff --git a/j2s/J/g3d/TextString.js b/assets/compressed_sensing_2018/j2s/J/g3d/TextString.js
similarity index 100%
rename from j2s/J/g3d/TextString.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/TextString.js
diff --git a/j2s/J/g3d/TriangleRenderer.js b/assets/compressed_sensing_2018/j2s/J/g3d/TriangleRenderer.js
similarity index 100%
rename from j2s/J/g3d/TriangleRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/g3d/TriangleRenderer.js
diff --git a/j2s/J/geodesic/EnvelopeCalculation.js b/assets/compressed_sensing_2018/j2s/J/geodesic/EnvelopeCalculation.js
similarity index 100%
rename from j2s/J/geodesic/EnvelopeCalculation.js
rename to assets/compressed_sensing_2018/j2s/J/geodesic/EnvelopeCalculation.js
diff --git a/j2s/J/i18n/GT.js b/assets/compressed_sensing_2018/j2s/J/i18n/GT.js
similarity index 100%
rename from j2s/J/i18n/GT.js
rename to assets/compressed_sensing_2018/j2s/J/i18n/GT.js
diff --git a/j2s/J/i18n/Language.js b/assets/compressed_sensing_2018/j2s/J/i18n/Language.js
similarity index 100%
rename from j2s/J/i18n/Language.js
rename to assets/compressed_sensing_2018/j2s/J/i18n/Language.js
diff --git a/j2s/J/i18n/Resource.js b/assets/compressed_sensing_2018/j2s/J/i18n/Resource.js
similarity index 100%
rename from j2s/J/i18n/Resource.js
rename to assets/compressed_sensing_2018/j2s/J/i18n/Resource.js
diff --git a/j2s/J/image/AviCreator.js b/assets/compressed_sensing_2018/j2s/J/image/AviCreator.js
similarity index 100%
rename from j2s/J/image/AviCreator.js
rename to assets/compressed_sensing_2018/j2s/J/image/AviCreator.js
diff --git a/j2s/J/io/DOMReader.js b/assets/compressed_sensing_2018/j2s/J/io/DOMReader.js
similarity index 100%
rename from j2s/J/io/DOMReader.js
rename to assets/compressed_sensing_2018/j2s/J/io/DOMReader.js
diff --git a/j2s/J/io/FileReader.js b/assets/compressed_sensing_2018/j2s/J/io/FileReader.js
similarity index 100%
rename from j2s/J/io/FileReader.js
rename to assets/compressed_sensing_2018/j2s/J/io/FileReader.js
diff --git a/j2s/J/io/FilesReader.js b/assets/compressed_sensing_2018/j2s/J/io/FilesReader.js
similarity index 100%
rename from j2s/J/io/FilesReader.js
rename to assets/compressed_sensing_2018/j2s/J/io/FilesReader.js
diff --git a/j2s/J/io/JmolUtil.js b/assets/compressed_sensing_2018/j2s/J/io/JmolUtil.js
similarity index 100%
rename from j2s/J/io/JmolUtil.js
rename to assets/compressed_sensing_2018/j2s/J/io/JmolUtil.js
diff --git a/j2s/J/jsv/JDXMOLParser.js b/assets/compressed_sensing_2018/j2s/J/jsv/JDXMOLParser.js
similarity index 100%
rename from j2s/J/jsv/JDXMOLParser.js
rename to assets/compressed_sensing_2018/j2s/J/jsv/JDXMOLParser.js
diff --git a/j2s/J/jsv/JSpecView.js b/assets/compressed_sensing_2018/j2s/J/jsv/JSpecView.js
similarity index 100%
rename from j2s/J/jsv/JSpecView.js
rename to assets/compressed_sensing_2018/j2s/J/jsv/JSpecView.js
diff --git a/j2s/J/jvxl/api/MeshDataServer.js b/assets/compressed_sensing_2018/j2s/J/jvxl/api/MeshDataServer.js
similarity index 100%
rename from j2s/J/jvxl/api/MeshDataServer.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/api/MeshDataServer.js
diff --git a/j2s/J/jvxl/api/VertexDataServer.js b/assets/compressed_sensing_2018/j2s/J/jvxl/api/VertexDataServer.js
similarity index 100%
rename from j2s/J/jvxl/api/VertexDataServer.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/api/VertexDataServer.js
diff --git a/j2s/J/jvxl/calc/MarchingCubes.js b/assets/compressed_sensing_2018/j2s/J/jvxl/calc/MarchingCubes.js
similarity index 100%
rename from j2s/J/jvxl/calc/MarchingCubes.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/calc/MarchingCubes.js
diff --git a/j2s/J/jvxl/calc/MarchingSquares.js b/assets/compressed_sensing_2018/j2s/J/jvxl/calc/MarchingSquares.js
similarity index 100%
rename from j2s/J/jvxl/calc/MarchingSquares.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/calc/MarchingSquares.js
diff --git a/j2s/J/jvxl/data/JvxlCoder.js b/assets/compressed_sensing_2018/j2s/J/jvxl/data/JvxlCoder.js
similarity index 100%
rename from j2s/J/jvxl/data/JvxlCoder.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/data/JvxlCoder.js
diff --git a/j2s/J/jvxl/data/JvxlData.js b/assets/compressed_sensing_2018/j2s/J/jvxl/data/JvxlData.js
similarity index 100%
rename from j2s/J/jvxl/data/JvxlData.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/data/JvxlData.js
diff --git a/j2s/J/jvxl/data/MeshData.js b/assets/compressed_sensing_2018/j2s/J/jvxl/data/MeshData.js
similarity index 100%
rename from j2s/J/jvxl/data/MeshData.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/data/MeshData.js
diff --git a/j2s/J/jvxl/data/VolumeData.js b/assets/compressed_sensing_2018/j2s/J/jvxl/data/VolumeData.js
similarity index 100%
rename from j2s/J/jvxl/data/VolumeData.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/data/VolumeData.js
diff --git a/j2s/J/jvxl/readers/ApbsReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/ApbsReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/ApbsReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/ApbsReader.js
diff --git a/j2s/J/jvxl/readers/AtomDataReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/AtomDataReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/AtomDataReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/AtomDataReader.js
diff --git a/j2s/J/jvxl/readers/AtomPropertyMapper.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/AtomPropertyMapper.js
similarity index 100%
rename from j2s/J/jvxl/readers/AtomPropertyMapper.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/AtomPropertyMapper.js
diff --git a/j2s/J/jvxl/readers/BCifDensityReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/BCifDensityReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/BCifDensityReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/BCifDensityReader.js
diff --git a/j2s/J/jvxl/readers/CastepDensityReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/CastepDensityReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/CastepDensityReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/CastepDensityReader.js
diff --git a/j2s/J/jvxl/readers/CifDensityReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/CifDensityReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/CifDensityReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/CifDensityReader.js
diff --git a/j2s/J/jvxl/readers/CubeReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/CubeReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/CubeReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/CubeReader.js
diff --git a/j2s/J/jvxl/readers/DelPhiBinaryReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/DelPhiBinaryReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/DelPhiBinaryReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/DelPhiBinaryReader.js
diff --git a/j2s/J/jvxl/readers/Dsn6BinaryReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/Dsn6BinaryReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/Dsn6BinaryReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/Dsn6BinaryReader.js
diff --git a/j2s/J/jvxl/readers/EfvetReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/EfvetReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/EfvetReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/EfvetReader.js
diff --git a/j2s/J/jvxl/readers/IsoFxyReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoFxyReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/IsoFxyReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoFxyReader.js
diff --git a/j2s/J/jvxl/readers/IsoFxyzReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoFxyzReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/IsoFxyzReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoFxyzReader.js
diff --git a/j2s/J/jvxl/readers/IsoIntersectReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoIntersectReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/IsoIntersectReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoIntersectReader.js
diff --git a/j2s/J/jvxl/readers/IsoMOReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoMOReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/IsoMOReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoMOReader.js
diff --git a/j2s/J/jvxl/readers/IsoMepReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoMepReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/IsoMepReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoMepReader.js
diff --git a/j2s/J/jvxl/readers/IsoMlpReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoMlpReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/IsoMlpReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoMlpReader.js
diff --git a/j2s/J/jvxl/readers/IsoPlaneReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoPlaneReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/IsoPlaneReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoPlaneReader.js
diff --git a/j2s/J/jvxl/readers/IsoShapeReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoShapeReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/IsoShapeReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoShapeReader.js
diff --git a/j2s/J/jvxl/readers/IsoSolventReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoSolventReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/IsoSolventReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/IsoSolventReader.js
diff --git a/j2s/J/jvxl/readers/JaguarReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/JaguarReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/JaguarReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/JaguarReader.js
diff --git a/j2s/J/jvxl/readers/JvxlReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/JvxlReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/JvxlReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/JvxlReader.js
diff --git a/j2s/J/jvxl/readers/JvxlXmlReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/JvxlXmlReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/JvxlXmlReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/JvxlXmlReader.js
diff --git a/j2s/J/jvxl/readers/KinemageReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/KinemageReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/KinemageReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/KinemageReader.js
diff --git a/j2s/J/jvxl/readers/MapFileReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/MapFileReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/MapFileReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/MapFileReader.js
diff --git a/j2s/J/jvxl/readers/MrcBinaryReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/MrcBinaryReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/MrcBinaryReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/MrcBinaryReader.js
diff --git a/j2s/J/jvxl/readers/MsmsReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/MsmsReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/MsmsReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/MsmsReader.js
diff --git a/j2s/J/jvxl/readers/NffReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/NffReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/NffReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/NffReader.js
diff --git a/j2s/J/jvxl/readers/ObjReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/ObjReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/ObjReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/ObjReader.js
diff --git a/j2s/J/jvxl/readers/Parameters.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/Parameters.js
similarity index 100%
rename from j2s/J/jvxl/readers/Parameters.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/Parameters.js
diff --git a/j2s/J/jvxl/readers/PeriodicVolumeFileReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/PeriodicVolumeFileReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/PeriodicVolumeFileReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/PeriodicVolumeFileReader.js
diff --git a/j2s/J/jvxl/readers/PltFormattedReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/PltFormattedReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/PltFormattedReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/PltFormattedReader.js
diff --git a/j2s/J/jvxl/readers/Pmesh4Reader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/Pmesh4Reader.js
similarity index 100%
rename from j2s/J/jvxl/readers/Pmesh4Reader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/Pmesh4Reader.js
diff --git a/j2s/J/jvxl/readers/PmeshReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/PmeshReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/PmeshReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/PmeshReader.js
diff --git a/j2s/J/jvxl/readers/PolygonFileReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/PolygonFileReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/PolygonFileReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/PolygonFileReader.js
diff --git a/j2s/J/jvxl/readers/PyMOLMeshReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/PyMOLMeshReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/PyMOLMeshReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/PyMOLMeshReader.js
diff --git a/j2s/J/jvxl/readers/Ras3DReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/Ras3DReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/Ras3DReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/Ras3DReader.js
diff --git a/j2s/J/jvxl/readers/SurfaceFileReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/SurfaceFileReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/SurfaceFileReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/SurfaceFileReader.js
diff --git a/j2s/J/jvxl/readers/SurfaceGenerator.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/SurfaceGenerator.js
similarity index 100%
rename from j2s/J/jvxl/readers/SurfaceGenerator.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/SurfaceGenerator.js
diff --git a/j2s/J/jvxl/readers/SurfaceReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/SurfaceReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/SurfaceReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/SurfaceReader.js
diff --git a/j2s/J/jvxl/readers/UhbdReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/UhbdReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/UhbdReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/UhbdReader.js
diff --git a/j2s/J/jvxl/readers/VaspChgcarReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/VaspChgcarReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/VaspChgcarReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/VaspChgcarReader.js
diff --git a/j2s/J/jvxl/readers/VolumeDataReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/VolumeDataReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/VolumeDataReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/VolumeDataReader.js
diff --git a/j2s/J/jvxl/readers/VolumeFileReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/VolumeFileReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/VolumeFileReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/VolumeFileReader.js
diff --git a/j2s/J/jvxl/readers/XmlReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/XmlReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/XmlReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/XmlReader.js
diff --git a/j2s/J/jvxl/readers/XplorReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/XplorReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/XplorReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/XplorReader.js
diff --git a/j2s/J/jvxl/readers/XsfReader.js b/assets/compressed_sensing_2018/j2s/J/jvxl/readers/XsfReader.js
similarity index 100%
rename from j2s/J/jvxl/readers/XsfReader.js
rename to assets/compressed_sensing_2018/j2s/J/jvxl/readers/XsfReader.js
diff --git a/j2s/J/modelkit/ModelKitPopupResourceBundle.js b/assets/compressed_sensing_2018/j2s/J/modelkit/ModelKitPopupResourceBundle.js
similarity index 100%
rename from j2s/J/modelkit/ModelKitPopupResourceBundle.js
rename to assets/compressed_sensing_2018/j2s/J/modelkit/ModelKitPopupResourceBundle.js
diff --git a/j2s/J/modelkit/images/atoms.png b/assets/compressed_sensing_2018/j2s/J/modelkit/images/atoms.png
similarity index 100%
rename from j2s/J/modelkit/images/atoms.png
rename to assets/compressed_sensing_2018/j2s/J/modelkit/images/atoms.png
diff --git a/j2s/J/modelkit/images/bonds.png b/assets/compressed_sensing_2018/j2s/J/modelkit/images/bonds.png
similarity index 100%
rename from j2s/J/modelkit/images/bonds.png
rename to assets/compressed_sensing_2018/j2s/J/modelkit/images/bonds.png
diff --git a/j2s/J/modelkit/images/dotdotdot.png b/assets/compressed_sensing_2018/j2s/J/modelkit/images/dotdotdot.png
similarity index 100%
rename from j2s/J/modelkit/images/dotdotdot.png
rename to assets/compressed_sensing_2018/j2s/J/modelkit/images/dotdotdot.png
diff --git a/j2s/J/modelkit/images/undoButton.gif b/assets/compressed_sensing_2018/j2s/J/modelkit/images/undoButton.gif
similarity index 100%
rename from j2s/J/modelkit/images/undoButton.gif
rename to assets/compressed_sensing_2018/j2s/J/modelkit/images/undoButton.gif
diff --git a/j2s/J/navigate/Navigator.js b/assets/compressed_sensing_2018/j2s/J/navigate/Navigator.js
similarity index 100%
rename from j2s/J/navigate/Navigator.js
rename to assets/compressed_sensing_2018/j2s/J/navigate/Navigator.js
diff --git a/j2s/J/popup/GenericSwingPopup.js b/assets/compressed_sensing_2018/j2s/J/popup/GenericSwingPopup.js
similarity index 100%
rename from j2s/J/popup/GenericSwingPopup.js
rename to assets/compressed_sensing_2018/j2s/J/popup/GenericSwingPopup.js
diff --git a/j2s/J/popup/JSSwingPopupHelper.js b/assets/compressed_sensing_2018/j2s/J/popup/JSSwingPopupHelper.js
similarity index 100%
rename from j2s/J/popup/JSSwingPopupHelper.js
rename to assets/compressed_sensing_2018/j2s/J/popup/JSSwingPopupHelper.js
diff --git a/j2s/J/popup/JmolGenericPopup.js b/assets/compressed_sensing_2018/j2s/J/popup/JmolGenericPopup.js
similarity index 100%
rename from j2s/J/popup/JmolGenericPopup.js
rename to assets/compressed_sensing_2018/j2s/J/popup/JmolGenericPopup.js
diff --git a/j2s/J/popup/MainPopupResourceBundle.js b/assets/compressed_sensing_2018/j2s/J/popup/MainPopupResourceBundle.js
similarity index 100%
rename from j2s/J/popup/MainPopupResourceBundle.js
rename to assets/compressed_sensing_2018/j2s/J/popup/MainPopupResourceBundle.js
diff --git a/j2s/J/popup/PopupHelper.js b/assets/compressed_sensing_2018/j2s/J/popup/PopupHelper.js
similarity index 100%
rename from j2s/J/popup/PopupHelper.js
rename to assets/compressed_sensing_2018/j2s/J/popup/PopupHelper.js
diff --git a/j2s/J/popup/PopupResource.js b/assets/compressed_sensing_2018/j2s/J/popup/PopupResource.js
similarity index 100%
rename from j2s/J/popup/PopupResource.js
rename to assets/compressed_sensing_2018/j2s/J/popup/PopupResource.js
diff --git a/j2s/J/quantum/MOCalculation.js b/assets/compressed_sensing_2018/j2s/J/quantum/MOCalculation.js
similarity index 100%
rename from j2s/J/quantum/MOCalculation.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/MOCalculation.js
diff --git a/j2s/J/quantum/MepCalculation.js b/assets/compressed_sensing_2018/j2s/J/quantum/MepCalculation.js
similarity index 100%
rename from j2s/J/quantum/MepCalculation.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/MepCalculation.js
diff --git a/j2s/J/quantum/MlpCalculation.js b/assets/compressed_sensing_2018/j2s/J/quantum/MlpCalculation.js
similarity index 100%
rename from j2s/J/quantum/MlpCalculation.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/MlpCalculation.js
diff --git a/j2s/J/quantum/NMRCalculation.js b/assets/compressed_sensing_2018/j2s/J/quantum/NMRCalculation.js
similarity index 100%
rename from j2s/J/quantum/NMRCalculation.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/NMRCalculation.js
diff --git a/j2s/J/quantum/NciCalculation.js b/assets/compressed_sensing_2018/j2s/J/quantum/NciCalculation.js
similarity index 100%
rename from j2s/J/quantum/NciCalculation.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/NciCalculation.js
diff --git a/j2s/J/quantum/QMAtom.js b/assets/compressed_sensing_2018/j2s/J/quantum/QMAtom.js
similarity index 100%
rename from j2s/J/quantum/QMAtom.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/QMAtom.js
diff --git a/j2s/J/quantum/QS.js b/assets/compressed_sensing_2018/j2s/J/quantum/QS.js
similarity index 100%
rename from j2s/J/quantum/QS.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/QS.js
diff --git a/j2s/J/quantum/QuantumCalculation.js b/assets/compressed_sensing_2018/j2s/J/quantum/QuantumCalculation.js
similarity index 100%
rename from j2s/J/quantum/QuantumCalculation.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/QuantumCalculation.js
diff --git a/j2s/J/quantum/QuantumPlaneCalculation.js b/assets/compressed_sensing_2018/j2s/J/quantum/QuantumPlaneCalculation.js
similarity index 100%
rename from j2s/J/quantum/QuantumPlaneCalculation.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/QuantumPlaneCalculation.js
diff --git a/j2s/J/quantum/SlaterData.js b/assets/compressed_sensing_2018/j2s/J/quantum/SlaterData.js
similarity index 100%
rename from j2s/J/quantum/SlaterData.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/SlaterData.js
diff --git a/j2s/J/quantum/atomicLipophilicity.txt b/assets/compressed_sensing_2018/j2s/J/quantum/atomicLipophilicity.txt
similarity index 100%
rename from j2s/J/quantum/atomicLipophilicity.txt
rename to assets/compressed_sensing_2018/j2s/J/quantum/atomicLipophilicity.txt
diff --git a/j2s/J/quantum/mo/DataAdder.js b/assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdder.js
similarity index 100%
rename from j2s/J/quantum/mo/DataAdder.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdder.js
diff --git a/j2s/J/quantum/mo/DataAdder11H.js b/assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdder11H.js
similarity index 100%
rename from j2s/J/quantum/mo/DataAdder11H.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdder11H.js
diff --git a/j2s/J/quantum/mo/DataAdder13I.js b/assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdder13I.js
similarity index 100%
rename from j2s/J/quantum/mo/DataAdder13I.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdder13I.js
diff --git a/j2s/J/quantum/mo/DataAdder7F.js b/assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdder7F.js
similarity index 100%
rename from j2s/J/quantum/mo/DataAdder7F.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdder7F.js
diff --git a/j2s/J/quantum/mo/DataAdder9G.js b/assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdder9G.js
similarity index 100%
rename from j2s/J/quantum/mo/DataAdder9G.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdder9G.js
diff --git a/j2s/J/quantum/mo/DataAdderF.js b/assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdderF.js
similarity index 100%
rename from j2s/J/quantum/mo/DataAdderF.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdderF.js
diff --git a/j2s/J/quantum/mo/DataAdderG.js b/assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdderG.js
similarity index 100%
rename from j2s/J/quantum/mo/DataAdderG.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdderG.js
diff --git a/j2s/J/quantum/mo/DataAdderH.js b/assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdderH.js
similarity index 100%
rename from j2s/J/quantum/mo/DataAdderH.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdderH.js
diff --git a/j2s/J/quantum/mo/DataAdderI.js b/assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdderI.js
similarity index 100%
rename from j2s/J/quantum/mo/DataAdderI.js
rename to assets/compressed_sensing_2018/j2s/J/quantum/mo/DataAdderI.js
diff --git a/j2s/J/quantum/nmr_data.txt b/assets/compressed_sensing_2018/j2s/J/quantum/nmr_data.txt
similarity index 100%
rename from j2s/J/quantum/nmr_data.txt
rename to assets/compressed_sensing_2018/j2s/J/quantum/nmr_data.txt
diff --git a/j2s/J/render/AxesRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/AxesRenderer.js
similarity index 100%
rename from j2s/J/render/AxesRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/AxesRenderer.js
diff --git a/j2s/J/render/BallsRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/BallsRenderer.js
similarity index 100%
rename from j2s/J/render/BallsRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/BallsRenderer.js
diff --git a/j2s/J/render/BbcageRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/BbcageRenderer.js
similarity index 100%
rename from j2s/J/render/BbcageRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/BbcageRenderer.js
diff --git a/j2s/J/render/CageRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/CageRenderer.js
similarity index 100%
rename from j2s/J/render/CageRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/CageRenderer.js
diff --git a/j2s/J/render/EchoRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/EchoRenderer.js
similarity index 100%
rename from j2s/J/render/EchoRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/EchoRenderer.js
diff --git a/j2s/J/render/FontLineShapeRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/FontLineShapeRenderer.js
similarity index 100%
rename from j2s/J/render/FontLineShapeRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/FontLineShapeRenderer.js
diff --git a/j2s/J/render/FrankRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/FrankRenderer.js
similarity index 100%
rename from j2s/J/render/FrankRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/FrankRenderer.js
diff --git a/j2s/J/render/HalosRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/HalosRenderer.js
similarity index 100%
rename from j2s/J/render/HalosRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/HalosRenderer.js
diff --git a/j2s/J/render/HoverRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/HoverRenderer.js
similarity index 100%
rename from j2s/J/render/HoverRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/HoverRenderer.js
diff --git a/j2s/J/render/LabelsRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/LabelsRenderer.js
similarity index 100%
rename from j2s/J/render/LabelsRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/LabelsRenderer.js
diff --git a/j2s/J/render/MeasuresRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/MeasuresRenderer.js
similarity index 100%
rename from j2s/J/render/MeasuresRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/MeasuresRenderer.js
diff --git a/j2s/J/render/MeshRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/MeshRenderer.js
similarity index 100%
rename from j2s/J/render/MeshRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/MeshRenderer.js
diff --git a/j2s/J/render/RepaintManager.js b/assets/compressed_sensing_2018/j2s/J/render/RepaintManager.js
similarity index 100%
rename from j2s/J/render/RepaintManager.js
rename to assets/compressed_sensing_2018/j2s/J/render/RepaintManager.js
diff --git a/j2s/J/render/ShapeRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/ShapeRenderer.js
similarity index 100%
rename from j2s/J/render/ShapeRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/ShapeRenderer.js
diff --git a/j2s/J/render/StarsRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/StarsRenderer.js
similarity index 100%
rename from j2s/J/render/StarsRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/StarsRenderer.js
diff --git a/j2s/J/render/SticksRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/SticksRenderer.js
similarity index 100%
rename from j2s/J/render/SticksRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/SticksRenderer.js
diff --git a/j2s/J/render/TextRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/TextRenderer.js
similarity index 100%
rename from j2s/J/render/TextRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/TextRenderer.js
diff --git a/j2s/J/render/UccageRenderer.js b/assets/compressed_sensing_2018/j2s/J/render/UccageRenderer.js
similarity index 100%
rename from j2s/J/render/UccageRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/render/UccageRenderer.js
diff --git a/j2s/J/renderbio/BackboneRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderbio/BackboneRenderer.js
similarity index 100%
rename from j2s/J/renderbio/BackboneRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderbio/BackboneRenderer.js
diff --git a/j2s/J/renderbio/BioMeshRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderbio/BioMeshRenderer.js
similarity index 100%
rename from j2s/J/renderbio/BioMeshRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderbio/BioMeshRenderer.js
diff --git a/j2s/J/renderbio/BioShapeRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderbio/BioShapeRenderer.js
similarity index 100%
rename from j2s/J/renderbio/BioShapeRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderbio/BioShapeRenderer.js
diff --git a/j2s/J/renderbio/CartoonRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderbio/CartoonRenderer.js
similarity index 100%
rename from j2s/J/renderbio/CartoonRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderbio/CartoonRenderer.js
diff --git a/j2s/J/renderbio/MeshRibbonRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderbio/MeshRibbonRenderer.js
similarity index 100%
rename from j2s/J/renderbio/MeshRibbonRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderbio/MeshRibbonRenderer.js
diff --git a/j2s/J/renderbio/NucleicRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderbio/NucleicRenderer.js
similarity index 100%
rename from j2s/J/renderbio/NucleicRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderbio/NucleicRenderer.js
diff --git a/j2s/J/renderbio/RibbonsRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderbio/RibbonsRenderer.js
similarity index 100%
rename from j2s/J/renderbio/RibbonsRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderbio/RibbonsRenderer.js
diff --git a/j2s/J/renderbio/RocketRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderbio/RocketRenderer.js
similarity index 100%
rename from j2s/J/renderbio/RocketRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderbio/RocketRenderer.js
diff --git a/j2s/J/renderbio/RocketsRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderbio/RocketsRenderer.js
similarity index 100%
rename from j2s/J/renderbio/RocketsRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderbio/RocketsRenderer.js
diff --git a/j2s/J/renderbio/StrandsRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderbio/StrandsRenderer.js
similarity index 100%
rename from j2s/J/renderbio/StrandsRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderbio/StrandsRenderer.js
diff --git a/j2s/J/renderbio/TraceRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderbio/TraceRenderer.js
similarity index 100%
rename from j2s/J/renderbio/TraceRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderbio/TraceRenderer.js
diff --git a/j2s/J/rendercgo/CGORenderer.js b/assets/compressed_sensing_2018/j2s/J/rendercgo/CGORenderer.js
similarity index 100%
rename from j2s/J/rendercgo/CGORenderer.js
rename to assets/compressed_sensing_2018/j2s/J/rendercgo/CGORenderer.js
diff --git a/j2s/J/renderspecial/DipolesRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderspecial/DipolesRenderer.js
similarity index 100%
rename from j2s/J/renderspecial/DipolesRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderspecial/DipolesRenderer.js
diff --git a/j2s/J/renderspecial/DotsRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderspecial/DotsRenderer.js
similarity index 100%
rename from j2s/J/renderspecial/DotsRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderspecial/DotsRenderer.js
diff --git a/j2s/J/renderspecial/DrawRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderspecial/DrawRenderer.js
similarity index 100%
rename from j2s/J/renderspecial/DrawRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderspecial/DrawRenderer.js
diff --git a/j2s/J/renderspecial/EllipsoidsRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderspecial/EllipsoidsRenderer.js
similarity index 100%
rename from j2s/J/renderspecial/EllipsoidsRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderspecial/EllipsoidsRenderer.js
diff --git a/j2s/J/renderspecial/GeoSurfaceRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderspecial/GeoSurfaceRenderer.js
similarity index 100%
rename from j2s/J/renderspecial/GeoSurfaceRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderspecial/GeoSurfaceRenderer.js
diff --git a/j2s/J/renderspecial/PolyhedraRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderspecial/PolyhedraRenderer.js
similarity index 100%
rename from j2s/J/renderspecial/PolyhedraRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderspecial/PolyhedraRenderer.js
diff --git a/j2s/J/renderspecial/VectorsRenderer.js b/assets/compressed_sensing_2018/j2s/J/renderspecial/VectorsRenderer.js
similarity index 100%
rename from j2s/J/renderspecial/VectorsRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/renderspecial/VectorsRenderer.js
diff --git a/j2s/J/rendersurface/ContactRenderer.js b/assets/compressed_sensing_2018/j2s/J/rendersurface/ContactRenderer.js
similarity index 100%
rename from j2s/J/rendersurface/ContactRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/rendersurface/ContactRenderer.js
diff --git a/j2s/J/rendersurface/IsosurfaceRenderer.js b/assets/compressed_sensing_2018/j2s/J/rendersurface/IsosurfaceRenderer.js
similarity index 100%
rename from j2s/J/rendersurface/IsosurfaceRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/rendersurface/IsosurfaceRenderer.js
diff --git a/j2s/J/rendersurface/LcaoCartoonRenderer.js b/assets/compressed_sensing_2018/j2s/J/rendersurface/LcaoCartoonRenderer.js
similarity index 100%
rename from j2s/J/rendersurface/LcaoCartoonRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/rendersurface/LcaoCartoonRenderer.js
diff --git a/j2s/J/rendersurface/MolecularOrbitalRenderer.js b/assets/compressed_sensing_2018/j2s/J/rendersurface/MolecularOrbitalRenderer.js
similarity index 100%
rename from j2s/J/rendersurface/MolecularOrbitalRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/rendersurface/MolecularOrbitalRenderer.js
diff --git a/j2s/J/rendersurface/NBORenderer.js b/assets/compressed_sensing_2018/j2s/J/rendersurface/NBORenderer.js
similarity index 100%
rename from j2s/J/rendersurface/NBORenderer.js
rename to assets/compressed_sensing_2018/j2s/J/rendersurface/NBORenderer.js
diff --git a/j2s/J/rendersurface/Plot3DRenderer.js b/assets/compressed_sensing_2018/j2s/J/rendersurface/Plot3DRenderer.js
similarity index 100%
rename from j2s/J/rendersurface/Plot3DRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/rendersurface/Plot3DRenderer.js
diff --git a/j2s/J/rendersurface/PmeshRenderer.js b/assets/compressed_sensing_2018/j2s/J/rendersurface/PmeshRenderer.js
similarity index 100%
rename from j2s/J/rendersurface/PmeshRenderer.js
rename to assets/compressed_sensing_2018/j2s/J/rendersurface/PmeshRenderer.js
diff --git a/j2s/J/shape/AtomShape.js b/assets/compressed_sensing_2018/j2s/J/shape/AtomShape.js
similarity index 100%
rename from j2s/J/shape/AtomShape.js
rename to assets/compressed_sensing_2018/j2s/J/shape/AtomShape.js
diff --git a/j2s/J/shape/Axes.js b/assets/compressed_sensing_2018/j2s/J/shape/Axes.js
similarity index 100%
rename from j2s/J/shape/Axes.js
rename to assets/compressed_sensing_2018/j2s/J/shape/Axes.js
diff --git a/j2s/J/shape/Balls.js b/assets/compressed_sensing_2018/j2s/J/shape/Balls.js
similarity index 100%
rename from j2s/J/shape/Balls.js
rename to assets/compressed_sensing_2018/j2s/J/shape/Balls.js
diff --git a/j2s/J/shape/Bbcage.js b/assets/compressed_sensing_2018/j2s/J/shape/Bbcage.js
similarity index 100%
rename from j2s/J/shape/Bbcage.js
rename to assets/compressed_sensing_2018/j2s/J/shape/Bbcage.js
diff --git a/j2s/J/shape/Echo.js b/assets/compressed_sensing_2018/j2s/J/shape/Echo.js
similarity index 100%
rename from j2s/J/shape/Echo.js
rename to assets/compressed_sensing_2018/j2s/J/shape/Echo.js
diff --git a/j2s/J/shape/FontLineShape.js b/assets/compressed_sensing_2018/j2s/J/shape/FontLineShape.js
similarity index 100%
rename from j2s/J/shape/FontLineShape.js
rename to assets/compressed_sensing_2018/j2s/J/shape/FontLineShape.js
diff --git a/j2s/J/shape/Frank.js b/assets/compressed_sensing_2018/j2s/J/shape/Frank.js
similarity index 100%
rename from j2s/J/shape/Frank.js
rename to assets/compressed_sensing_2018/j2s/J/shape/Frank.js
diff --git a/j2s/J/shape/Halos.js b/assets/compressed_sensing_2018/j2s/J/shape/Halos.js
similarity index 100%
rename from j2s/J/shape/Halos.js
rename to assets/compressed_sensing_2018/j2s/J/shape/Halos.js
diff --git a/j2s/J/shape/Hover.js b/assets/compressed_sensing_2018/j2s/J/shape/Hover.js
similarity index 100%
rename from j2s/J/shape/Hover.js
rename to assets/compressed_sensing_2018/j2s/J/shape/Hover.js
diff --git a/j2s/J/shape/Labels.js b/assets/compressed_sensing_2018/j2s/J/shape/Labels.js
similarity index 100%
rename from j2s/J/shape/Labels.js
rename to assets/compressed_sensing_2018/j2s/J/shape/Labels.js
diff --git a/j2s/J/shape/Measures.js b/assets/compressed_sensing_2018/j2s/J/shape/Measures.js
similarity index 100%
rename from j2s/J/shape/Measures.js
rename to assets/compressed_sensing_2018/j2s/J/shape/Measures.js
diff --git a/j2s/J/shape/Mesh.js b/assets/compressed_sensing_2018/j2s/J/shape/Mesh.js
similarity index 100%
rename from j2s/J/shape/Mesh.js
rename to assets/compressed_sensing_2018/j2s/J/shape/Mesh.js
diff --git a/j2s/J/shape/MeshCollection.js b/assets/compressed_sensing_2018/j2s/J/shape/MeshCollection.js
similarity index 100%
rename from j2s/J/shape/MeshCollection.js
rename to assets/compressed_sensing_2018/j2s/J/shape/MeshCollection.js
diff --git a/j2s/J/shape/Shape.js b/assets/compressed_sensing_2018/j2s/J/shape/Shape.js
similarity index 100%
rename from j2s/J/shape/Shape.js
rename to assets/compressed_sensing_2018/j2s/J/shape/Shape.js
diff --git a/j2s/J/shape/Stars.js b/assets/compressed_sensing_2018/j2s/J/shape/Stars.js
similarity index 100%
rename from j2s/J/shape/Stars.js
rename to assets/compressed_sensing_2018/j2s/J/shape/Stars.js
diff --git a/j2s/J/shape/Sticks.js b/assets/compressed_sensing_2018/j2s/J/shape/Sticks.js
similarity index 100%
rename from j2s/J/shape/Sticks.js
rename to assets/compressed_sensing_2018/j2s/J/shape/Sticks.js
diff --git a/j2s/J/shape/TextShape.js b/assets/compressed_sensing_2018/j2s/J/shape/TextShape.js
similarity index 100%
rename from j2s/J/shape/TextShape.js
rename to assets/compressed_sensing_2018/j2s/J/shape/TextShape.js
diff --git a/j2s/J/shape/Uccage.js b/assets/compressed_sensing_2018/j2s/J/shape/Uccage.js
similarity index 100%
rename from j2s/J/shape/Uccage.js
rename to assets/compressed_sensing_2018/j2s/J/shape/Uccage.js
diff --git a/j2s/J/shapebio/Backbone.js b/assets/compressed_sensing_2018/j2s/J/shapebio/Backbone.js
similarity index 100%
rename from j2s/J/shapebio/Backbone.js
rename to assets/compressed_sensing_2018/j2s/J/shapebio/Backbone.js
diff --git a/j2s/J/shapebio/BioShape.js b/assets/compressed_sensing_2018/j2s/J/shapebio/BioShape.js
similarity index 100%
rename from j2s/J/shapebio/BioShape.js
rename to assets/compressed_sensing_2018/j2s/J/shapebio/BioShape.js
diff --git a/j2s/J/shapebio/BioShapeCollection.js b/assets/compressed_sensing_2018/j2s/J/shapebio/BioShapeCollection.js
similarity index 100%
rename from j2s/J/shapebio/BioShapeCollection.js
rename to assets/compressed_sensing_2018/j2s/J/shapebio/BioShapeCollection.js
diff --git a/j2s/J/shapebio/Cartoon.js b/assets/compressed_sensing_2018/j2s/J/shapebio/Cartoon.js
similarity index 100%
rename from j2s/J/shapebio/Cartoon.js
rename to assets/compressed_sensing_2018/j2s/J/shapebio/Cartoon.js
diff --git a/j2s/J/shapebio/MeshRibbon.js b/assets/compressed_sensing_2018/j2s/J/shapebio/MeshRibbon.js
similarity index 100%
rename from j2s/J/shapebio/MeshRibbon.js
rename to assets/compressed_sensing_2018/j2s/J/shapebio/MeshRibbon.js
diff --git a/j2s/J/shapebio/Ribbons.js b/assets/compressed_sensing_2018/j2s/J/shapebio/Ribbons.js
similarity index 100%
rename from j2s/J/shapebio/Ribbons.js
rename to assets/compressed_sensing_2018/j2s/J/shapebio/Ribbons.js
diff --git a/j2s/J/shapebio/Rockets.js b/assets/compressed_sensing_2018/j2s/J/shapebio/Rockets.js
similarity index 100%
rename from j2s/J/shapebio/Rockets.js
rename to assets/compressed_sensing_2018/j2s/J/shapebio/Rockets.js
diff --git a/j2s/J/shapebio/Strands.js b/assets/compressed_sensing_2018/j2s/J/shapebio/Strands.js
similarity index 100%
rename from j2s/J/shapebio/Strands.js
rename to assets/compressed_sensing_2018/j2s/J/shapebio/Strands.js
diff --git a/j2s/J/shapebio/Trace.js b/assets/compressed_sensing_2018/j2s/J/shapebio/Trace.js
similarity index 100%
rename from j2s/J/shapebio/Trace.js
rename to assets/compressed_sensing_2018/j2s/J/shapebio/Trace.js
diff --git a/j2s/J/shapecgo/CGO.js b/assets/compressed_sensing_2018/j2s/J/shapecgo/CGO.js
similarity index 100%
rename from j2s/J/shapecgo/CGO.js
rename to assets/compressed_sensing_2018/j2s/J/shapecgo/CGO.js
diff --git a/j2s/J/shapecgo/CGOMesh.js b/assets/compressed_sensing_2018/j2s/J/shapecgo/CGOMesh.js
similarity index 100%
rename from j2s/J/shapecgo/CGOMesh.js
rename to assets/compressed_sensing_2018/j2s/J/shapecgo/CGOMesh.js
diff --git a/j2s/J/shapespecial/Dipole.js b/assets/compressed_sensing_2018/j2s/J/shapespecial/Dipole.js
similarity index 100%
rename from j2s/J/shapespecial/Dipole.js
rename to assets/compressed_sensing_2018/j2s/J/shapespecial/Dipole.js
diff --git a/j2s/J/shapespecial/Dipoles.js b/assets/compressed_sensing_2018/j2s/J/shapespecial/Dipoles.js
similarity index 100%
rename from j2s/J/shapespecial/Dipoles.js
rename to assets/compressed_sensing_2018/j2s/J/shapespecial/Dipoles.js
diff --git a/j2s/J/shapespecial/Dots.js b/assets/compressed_sensing_2018/j2s/J/shapespecial/Dots.js
similarity index 100%
rename from j2s/J/shapespecial/Dots.js
rename to assets/compressed_sensing_2018/j2s/J/shapespecial/Dots.js
diff --git a/j2s/J/shapespecial/Draw.js b/assets/compressed_sensing_2018/j2s/J/shapespecial/Draw.js
similarity index 100%
rename from j2s/J/shapespecial/Draw.js
rename to assets/compressed_sensing_2018/j2s/J/shapespecial/Draw.js
diff --git a/j2s/J/shapespecial/DrawMesh.js b/assets/compressed_sensing_2018/j2s/J/shapespecial/DrawMesh.js
similarity index 100%
rename from j2s/J/shapespecial/DrawMesh.js
rename to assets/compressed_sensing_2018/j2s/J/shapespecial/DrawMesh.js
diff --git a/j2s/J/shapespecial/Ellipsoid.js b/assets/compressed_sensing_2018/j2s/J/shapespecial/Ellipsoid.js
similarity index 100%
rename from j2s/J/shapespecial/Ellipsoid.js
rename to assets/compressed_sensing_2018/j2s/J/shapespecial/Ellipsoid.js
diff --git a/j2s/J/shapespecial/Ellipsoids.js b/assets/compressed_sensing_2018/j2s/J/shapespecial/Ellipsoids.js
similarity index 100%
rename from j2s/J/shapespecial/Ellipsoids.js
rename to assets/compressed_sensing_2018/j2s/J/shapespecial/Ellipsoids.js
diff --git a/j2s/J/shapespecial/GeoSurface.js b/assets/compressed_sensing_2018/j2s/J/shapespecial/GeoSurface.js
similarity index 100%
rename from j2s/J/shapespecial/GeoSurface.js
rename to assets/compressed_sensing_2018/j2s/J/shapespecial/GeoSurface.js
diff --git a/j2s/J/shapespecial/Polyhedra.js b/assets/compressed_sensing_2018/j2s/J/shapespecial/Polyhedra.js
similarity index 100%
rename from j2s/J/shapespecial/Polyhedra.js
rename to assets/compressed_sensing_2018/j2s/J/shapespecial/Polyhedra.js
diff --git a/j2s/J/shapespecial/Polyhedron.js b/assets/compressed_sensing_2018/j2s/J/shapespecial/Polyhedron.js
similarity index 100%
rename from j2s/J/shapespecial/Polyhedron.js
rename to assets/compressed_sensing_2018/j2s/J/shapespecial/Polyhedron.js
diff --git a/j2s/J/shapespecial/Vectors.js b/assets/compressed_sensing_2018/j2s/J/shapespecial/Vectors.js
similarity index 100%
rename from j2s/J/shapespecial/Vectors.js
rename to assets/compressed_sensing_2018/j2s/J/shapespecial/Vectors.js
diff --git a/j2s/J/shapesurface/Contact.js b/assets/compressed_sensing_2018/j2s/J/shapesurface/Contact.js
similarity index 100%
rename from j2s/J/shapesurface/Contact.js
rename to assets/compressed_sensing_2018/j2s/J/shapesurface/Contact.js
diff --git a/j2s/J/shapesurface/Isosurface.js b/assets/compressed_sensing_2018/j2s/J/shapesurface/Isosurface.js
similarity index 100%
rename from j2s/J/shapesurface/Isosurface.js
rename to assets/compressed_sensing_2018/j2s/J/shapesurface/Isosurface.js
diff --git a/j2s/J/shapesurface/IsosurfaceMesh.js b/assets/compressed_sensing_2018/j2s/J/shapesurface/IsosurfaceMesh.js
similarity index 100%
rename from j2s/J/shapesurface/IsosurfaceMesh.js
rename to assets/compressed_sensing_2018/j2s/J/shapesurface/IsosurfaceMesh.js
diff --git a/j2s/J/shapesurface/LcaoCartoon.js b/assets/compressed_sensing_2018/j2s/J/shapesurface/LcaoCartoon.js
similarity index 100%
rename from j2s/J/shapesurface/LcaoCartoon.js
rename to assets/compressed_sensing_2018/j2s/J/shapesurface/LcaoCartoon.js
diff --git a/j2s/J/shapesurface/MolecularOrbital.js b/assets/compressed_sensing_2018/j2s/J/shapesurface/MolecularOrbital.js
similarity index 100%
rename from j2s/J/shapesurface/MolecularOrbital.js
rename to assets/compressed_sensing_2018/j2s/J/shapesurface/MolecularOrbital.js
diff --git a/j2s/J/shapesurface/NBO.js b/assets/compressed_sensing_2018/j2s/J/shapesurface/NBO.js
similarity index 100%
rename from j2s/J/shapesurface/NBO.js
rename to assets/compressed_sensing_2018/j2s/J/shapesurface/NBO.js
diff --git a/j2s/J/shapesurface/PMeshWriter.js b/assets/compressed_sensing_2018/j2s/J/shapesurface/PMeshWriter.js
similarity index 100%
rename from j2s/J/shapesurface/PMeshWriter.js
rename to assets/compressed_sensing_2018/j2s/J/shapesurface/PMeshWriter.js
diff --git a/j2s/J/shapesurface/Plot3D.js b/assets/compressed_sensing_2018/j2s/J/shapesurface/Plot3D.js
similarity index 100%
rename from j2s/J/shapesurface/Plot3D.js
rename to assets/compressed_sensing_2018/j2s/J/shapesurface/Plot3D.js
diff --git a/j2s/J/shapesurface/Pmesh.js b/assets/compressed_sensing_2018/j2s/J/shapesurface/Pmesh.js
similarity index 100%
rename from j2s/J/shapesurface/Pmesh.js
rename to assets/compressed_sensing_2018/j2s/J/shapesurface/Pmesh.js
diff --git a/j2s/J/thread/AnimationThread.js b/assets/compressed_sensing_2018/j2s/J/thread/AnimationThread.js
similarity index 100%
rename from j2s/J/thread/AnimationThread.js
rename to assets/compressed_sensing_2018/j2s/J/thread/AnimationThread.js
diff --git a/j2s/J/thread/HoverWatcherThread.js b/assets/compressed_sensing_2018/j2s/J/thread/HoverWatcherThread.js
similarity index 100%
rename from j2s/J/thread/HoverWatcherThread.js
rename to assets/compressed_sensing_2018/j2s/J/thread/HoverWatcherThread.js
diff --git a/j2s/J/thread/JmolThread.js b/assets/compressed_sensing_2018/j2s/J/thread/JmolThread.js
similarity index 100%
rename from j2s/J/thread/JmolThread.js
rename to assets/compressed_sensing_2018/j2s/J/thread/JmolThread.js
diff --git a/j2s/J/thread/MoveToThread.js b/assets/compressed_sensing_2018/j2s/J/thread/MoveToThread.js
similarity index 100%
rename from j2s/J/thread/MoveToThread.js
rename to assets/compressed_sensing_2018/j2s/J/thread/MoveToThread.js
diff --git a/j2s/J/thread/SpinThread.js b/assets/compressed_sensing_2018/j2s/J/thread/SpinThread.js
similarity index 100%
rename from j2s/J/thread/SpinThread.js
rename to assets/compressed_sensing_2018/j2s/J/thread/SpinThread.js
diff --git a/j2s/J/thread/TimeoutThread.js b/assets/compressed_sensing_2018/j2s/J/thread/TimeoutThread.js
similarity index 100%
rename from j2s/J/thread/TimeoutThread.js
rename to assets/compressed_sensing_2018/j2s/J/thread/TimeoutThread.js
diff --git a/j2s/J/thread/VibrationThread.js b/assets/compressed_sensing_2018/j2s/J/thread/VibrationThread.js
similarity index 100%
rename from j2s/J/thread/VibrationThread.js
rename to assets/compressed_sensing_2018/j2s/J/thread/VibrationThread.js
diff --git a/j2s/JM/AlphaMonomer.js b/assets/compressed_sensing_2018/j2s/JM/AlphaMonomer.js
similarity index 100%
rename from j2s/JM/AlphaMonomer.js
rename to assets/compressed_sensing_2018/j2s/JM/AlphaMonomer.js
diff --git a/j2s/JM/AlphaPolymer.js b/assets/compressed_sensing_2018/j2s/JM/AlphaPolymer.js
similarity index 100%
rename from j2s/JM/AlphaPolymer.js
rename to assets/compressed_sensing_2018/j2s/JM/AlphaPolymer.js
diff --git a/j2s/JM/AminoMonomer.js b/assets/compressed_sensing_2018/j2s/JM/AminoMonomer.js
similarity index 100%
rename from j2s/JM/AminoMonomer.js
rename to assets/compressed_sensing_2018/j2s/JM/AminoMonomer.js
diff --git a/j2s/JM/AminoPolymer.js b/assets/compressed_sensing_2018/j2s/JM/AminoPolymer.js
similarity index 100%
rename from j2s/JM/AminoPolymer.js
rename to assets/compressed_sensing_2018/j2s/JM/AminoPolymer.js
diff --git a/j2s/JM/Annotation.js b/assets/compressed_sensing_2018/j2s/JM/Annotation.js
similarity index 100%
rename from j2s/JM/Annotation.js
rename to assets/compressed_sensing_2018/j2s/JM/Annotation.js
diff --git a/j2s/JM/Atom.js b/assets/compressed_sensing_2018/j2s/JM/Atom.js
similarity index 100%
rename from j2s/JM/Atom.js
rename to assets/compressed_sensing_2018/j2s/JM/Atom.js
diff --git a/j2s/JM/AtomCollection.js b/assets/compressed_sensing_2018/j2s/JM/AtomCollection.js
similarity index 100%
rename from j2s/JM/AtomCollection.js
rename to assets/compressed_sensing_2018/j2s/JM/AtomCollection.js
diff --git a/j2s/JM/AtomIteratorWithinModel.js b/assets/compressed_sensing_2018/j2s/JM/AtomIteratorWithinModel.js
similarity index 100%
rename from j2s/JM/AtomIteratorWithinModel.js
rename to assets/compressed_sensing_2018/j2s/JM/AtomIteratorWithinModel.js
diff --git a/j2s/JM/AtomIteratorWithinModelSet.js b/assets/compressed_sensing_2018/j2s/JM/AtomIteratorWithinModelSet.js
similarity index 100%
rename from j2s/JM/AtomIteratorWithinModelSet.js
rename to assets/compressed_sensing_2018/j2s/JM/AtomIteratorWithinModelSet.js
diff --git a/j2s/JM/BasePair.js b/assets/compressed_sensing_2018/j2s/JM/BasePair.js
similarity index 100%
rename from j2s/JM/BasePair.js
rename to assets/compressed_sensing_2018/j2s/JM/BasePair.js
diff --git a/j2s/JM/BioExt.js b/assets/compressed_sensing_2018/j2s/JM/BioExt.js
similarity index 100%
rename from j2s/JM/BioExt.js
rename to assets/compressed_sensing_2018/j2s/JM/BioExt.js
diff --git a/j2s/JM/BioModel.js b/assets/compressed_sensing_2018/j2s/JM/BioModel.js
similarity index 100%
rename from j2s/JM/BioModel.js
rename to assets/compressed_sensing_2018/j2s/JM/BioModel.js
diff --git a/j2s/JM/BioModelSet.js b/assets/compressed_sensing_2018/j2s/JM/BioModelSet.js
similarity index 100%
rename from j2s/JM/BioModelSet.js
rename to assets/compressed_sensing_2018/j2s/JM/BioModelSet.js
diff --git a/j2s/JM/BioPolymer.js b/assets/compressed_sensing_2018/j2s/JM/BioPolymer.js
similarity index 100%
rename from j2s/JM/BioPolymer.js
rename to assets/compressed_sensing_2018/j2s/JM/BioPolymer.js
diff --git a/j2s/JM/BioResolver.js b/assets/compressed_sensing_2018/j2s/JM/BioResolver.js
similarity index 100%
rename from j2s/JM/BioResolver.js
rename to assets/compressed_sensing_2018/j2s/JM/BioResolver.js
diff --git a/j2s/JM/Bond.js b/assets/compressed_sensing_2018/j2s/JM/Bond.js
similarity index 100%
rename from j2s/JM/Bond.js
rename to assets/compressed_sensing_2018/j2s/JM/Bond.js
diff --git a/j2s/JM/BondCollection.js b/assets/compressed_sensing_2018/j2s/JM/BondCollection.js
similarity index 100%
rename from j2s/JM/BondCollection.js
rename to assets/compressed_sensing_2018/j2s/JM/BondCollection.js
diff --git a/j2s/JM/BondIterator.js b/assets/compressed_sensing_2018/j2s/JM/BondIterator.js
similarity index 100%
rename from j2s/JM/BondIterator.js
rename to assets/compressed_sensing_2018/j2s/JM/BondIterator.js
diff --git a/j2s/JM/BondIteratorSelected.js b/assets/compressed_sensing_2018/j2s/JM/BondIteratorSelected.js
similarity index 100%
rename from j2s/JM/BondIteratorSelected.js
rename to assets/compressed_sensing_2018/j2s/JM/BondIteratorSelected.js
diff --git a/j2s/JM/BondSet.js b/assets/compressed_sensing_2018/j2s/JM/BondSet.js
similarity index 100%
rename from j2s/JM/BondSet.js
rename to assets/compressed_sensing_2018/j2s/JM/BondSet.js
diff --git a/j2s/JM/CarbohydrateMonomer.js b/assets/compressed_sensing_2018/j2s/JM/CarbohydrateMonomer.js
similarity index 100%
rename from j2s/JM/CarbohydrateMonomer.js
rename to assets/compressed_sensing_2018/j2s/JM/CarbohydrateMonomer.js
diff --git a/j2s/JM/CarbohydratePolymer.js b/assets/compressed_sensing_2018/j2s/JM/CarbohydratePolymer.js
similarity index 100%
rename from j2s/JM/CarbohydratePolymer.js
rename to assets/compressed_sensing_2018/j2s/JM/CarbohydratePolymer.js
diff --git a/j2s/JM/Chain.js b/assets/compressed_sensing_2018/j2s/JM/Chain.js
similarity index 100%
rename from j2s/JM/Chain.js
rename to assets/compressed_sensing_2018/j2s/JM/Chain.js
diff --git a/j2s/JM/FF/AtomType.js b/assets/compressed_sensing_2018/j2s/JM/FF/AtomType.js
similarity index 100%
rename from j2s/JM/FF/AtomType.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/AtomType.js
diff --git a/j2s/JM/FF/Calculation.js b/assets/compressed_sensing_2018/j2s/JM/FF/Calculation.js
similarity index 100%
rename from j2s/JM/FF/Calculation.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/Calculation.js
diff --git a/j2s/JM/FF/Calculations.js b/assets/compressed_sensing_2018/j2s/JM/FF/Calculations.js
similarity index 100%
rename from j2s/JM/FF/Calculations.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/Calculations.js
diff --git a/j2s/JM/FF/CalculationsMMFF.js b/assets/compressed_sensing_2018/j2s/JM/FF/CalculationsMMFF.js
similarity index 100%
rename from j2s/JM/FF/CalculationsMMFF.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/CalculationsMMFF.js
diff --git a/j2s/JM/FF/CalculationsUFF.js b/assets/compressed_sensing_2018/j2s/JM/FF/CalculationsUFF.js
similarity index 100%
rename from j2s/JM/FF/CalculationsUFF.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/CalculationsUFF.js
diff --git a/j2s/JM/FF/FFParam.js b/assets/compressed_sensing_2018/j2s/JM/FF/FFParam.js
similarity index 100%
rename from j2s/JM/FF/FFParam.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/FFParam.js
diff --git a/j2s/JM/FF/ForceField.js b/assets/compressed_sensing_2018/j2s/JM/FF/ForceField.js
similarity index 100%
rename from j2s/JM/FF/ForceField.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/ForceField.js
diff --git a/j2s/JM/FF/ForceFieldMMFF.js b/assets/compressed_sensing_2018/j2s/JM/FF/ForceFieldMMFF.js
similarity index 100%
rename from j2s/JM/FF/ForceFieldMMFF.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/ForceFieldMMFF.js
diff --git a/j2s/JM/FF/ForceFieldUFF.js b/assets/compressed_sensing_2018/j2s/JM/FF/ForceFieldUFF.js
similarity index 100%
rename from j2s/JM/FF/ForceFieldUFF.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/ForceFieldUFF.js
diff --git a/j2s/JM/FF/MMFFAngleCalc.js b/assets/compressed_sensing_2018/j2s/JM/FF/MMFFAngleCalc.js
similarity index 100%
rename from j2s/JM/FF/MMFFAngleCalc.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/MMFFAngleCalc.js
diff --git a/j2s/JM/FF/MMFFDistanceCalc.js b/assets/compressed_sensing_2018/j2s/JM/FF/MMFFDistanceCalc.js
similarity index 100%
rename from j2s/JM/FF/MMFFDistanceCalc.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/MMFFDistanceCalc.js
diff --git a/j2s/JM/FF/MMFFESCalc.js b/assets/compressed_sensing_2018/j2s/JM/FF/MMFFESCalc.js
similarity index 100%
rename from j2s/JM/FF/MMFFESCalc.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/MMFFESCalc.js
diff --git a/j2s/JM/FF/MMFFOOPCalc.js b/assets/compressed_sensing_2018/j2s/JM/FF/MMFFOOPCalc.js
similarity index 100%
rename from j2s/JM/FF/MMFFOOPCalc.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/MMFFOOPCalc.js
diff --git a/j2s/JM/FF/MMFFSBCalc.js b/assets/compressed_sensing_2018/j2s/JM/FF/MMFFSBCalc.js
similarity index 100%
rename from j2s/JM/FF/MMFFSBCalc.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/MMFFSBCalc.js
diff --git a/j2s/JM/FF/MMFFTorsionCalc.js b/assets/compressed_sensing_2018/j2s/JM/FF/MMFFTorsionCalc.js
similarity index 100%
rename from j2s/JM/FF/MMFFTorsionCalc.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/MMFFTorsionCalc.js
diff --git a/j2s/JM/FF/MMFFVDWCalc.js b/assets/compressed_sensing_2018/j2s/JM/FF/MMFFVDWCalc.js
similarity index 100%
rename from j2s/JM/FF/MMFFVDWCalc.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/MMFFVDWCalc.js
diff --git a/j2s/JM/FF/UFFAngleCalc.js b/assets/compressed_sensing_2018/j2s/JM/FF/UFFAngleCalc.js
similarity index 100%
rename from j2s/JM/FF/UFFAngleCalc.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/UFFAngleCalc.js
diff --git a/j2s/JM/FF/UFFDistanceCalc.js b/assets/compressed_sensing_2018/j2s/JM/FF/UFFDistanceCalc.js
similarity index 100%
rename from j2s/JM/FF/UFFDistanceCalc.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/UFFDistanceCalc.js
diff --git a/j2s/JM/FF/UFFOOPCalc.js b/assets/compressed_sensing_2018/j2s/JM/FF/UFFOOPCalc.js
similarity index 100%
rename from j2s/JM/FF/UFFOOPCalc.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/UFFOOPCalc.js
diff --git a/j2s/JM/FF/UFFTorsionCalc.js b/assets/compressed_sensing_2018/j2s/JM/FF/UFFTorsionCalc.js
similarity index 100%
rename from j2s/JM/FF/UFFTorsionCalc.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/UFFTorsionCalc.js
diff --git a/j2s/JM/FF/UFFVDWCalc.js b/assets/compressed_sensing_2018/j2s/JM/FF/UFFVDWCalc.js
similarity index 100%
rename from j2s/JM/FF/UFFVDWCalc.js
rename to assets/compressed_sensing_2018/j2s/JM/FF/UFFVDWCalc.js
diff --git a/j2s/JM/FF/data/MMFF94-smarts.txt b/assets/compressed_sensing_2018/j2s/JM/FF/data/MMFF94-smarts.txt
similarity index 100%
rename from j2s/JM/FF/data/MMFF94-smarts.txt
rename to assets/compressed_sensing_2018/j2s/JM/FF/data/MMFF94-smarts.txt
diff --git a/j2s/JM/FF/data/UFF.txt b/assets/compressed_sensing_2018/j2s/JM/FF/data/UFF.txt
similarity index 100%
rename from j2s/JM/FF/data/UFF.txt
rename to assets/compressed_sensing_2018/j2s/JM/FF/data/UFF.txt
diff --git a/j2s/JM/FF/data/mmff94.par.txt b/assets/compressed_sensing_2018/j2s/JM/FF/data/mmff94.par.txt
similarity index 100%
rename from j2s/JM/FF/data/mmff94.par.txt
rename to assets/compressed_sensing_2018/j2s/JM/FF/data/mmff94.par.txt
diff --git a/j2s/JM/Group.js b/assets/compressed_sensing_2018/j2s/JM/Group.js
similarity index 100%
rename from j2s/JM/Group.js
rename to assets/compressed_sensing_2018/j2s/JM/Group.js
diff --git a/j2s/JM/HBond.js b/assets/compressed_sensing_2018/j2s/JM/HBond.js
similarity index 100%
rename from j2s/JM/HBond.js
rename to assets/compressed_sensing_2018/j2s/JM/HBond.js
diff --git a/j2s/JM/Helix.js b/assets/compressed_sensing_2018/j2s/JM/Helix.js
similarity index 100%
rename from j2s/JM/Helix.js
rename to assets/compressed_sensing_2018/j2s/JM/Helix.js
diff --git a/j2s/JM/LabelToken.js b/assets/compressed_sensing_2018/j2s/JM/LabelToken.js
similarity index 100%
rename from j2s/JM/LabelToken.js
rename to assets/compressed_sensing_2018/j2s/JM/LabelToken.js
diff --git a/j2s/JM/Measurement.js b/assets/compressed_sensing_2018/j2s/JM/Measurement.js
similarity index 100%
rename from j2s/JM/Measurement.js
rename to assets/compressed_sensing_2018/j2s/JM/Measurement.js
diff --git a/j2s/JM/MeasurementData.js b/assets/compressed_sensing_2018/j2s/JM/MeasurementData.js
similarity index 100%
rename from j2s/JM/MeasurementData.js
rename to assets/compressed_sensing_2018/j2s/JM/MeasurementData.js
diff --git a/j2s/JM/MeasurementPending.js b/assets/compressed_sensing_2018/j2s/JM/MeasurementPending.js
similarity index 100%
rename from j2s/JM/MeasurementPending.js
rename to assets/compressed_sensing_2018/j2s/JM/MeasurementPending.js
diff --git a/j2s/JM/MinAngle.js b/assets/compressed_sensing_2018/j2s/JM/MinAngle.js
similarity index 100%
rename from j2s/JM/MinAngle.js
rename to assets/compressed_sensing_2018/j2s/JM/MinAngle.js
diff --git a/j2s/JM/MinAtom.js b/assets/compressed_sensing_2018/j2s/JM/MinAtom.js
similarity index 100%
rename from j2s/JM/MinAtom.js
rename to assets/compressed_sensing_2018/j2s/JM/MinAtom.js
diff --git a/j2s/JM/MinBond.js b/assets/compressed_sensing_2018/j2s/JM/MinBond.js
similarity index 100%
rename from j2s/JM/MinBond.js
rename to assets/compressed_sensing_2018/j2s/JM/MinBond.js
diff --git a/j2s/JM/MinObject.js b/assets/compressed_sensing_2018/j2s/JM/MinObject.js
similarity index 100%
rename from j2s/JM/MinObject.js
rename to assets/compressed_sensing_2018/j2s/JM/MinObject.js
diff --git a/j2s/JM/MinPosition.js b/assets/compressed_sensing_2018/j2s/JM/MinPosition.js
similarity index 100%
rename from j2s/JM/MinPosition.js
rename to assets/compressed_sensing_2018/j2s/JM/MinPosition.js
diff --git a/j2s/JM/MinTorsion.js b/assets/compressed_sensing_2018/j2s/JM/MinTorsion.js
similarity index 100%
rename from j2s/JM/MinTorsion.js
rename to assets/compressed_sensing_2018/j2s/JM/MinTorsion.js
diff --git a/j2s/JM/MinimizationThread.js b/assets/compressed_sensing_2018/j2s/JM/MinimizationThread.js
similarity index 100%
rename from j2s/JM/MinimizationThread.js
rename to assets/compressed_sensing_2018/j2s/JM/MinimizationThread.js
diff --git a/j2s/JM/Minimizer.js b/assets/compressed_sensing_2018/j2s/JM/Minimizer.js
similarity index 100%
rename from j2s/JM/Minimizer.js
rename to assets/compressed_sensing_2018/j2s/JM/Minimizer.js
diff --git a/j2s/JM/Model.js b/assets/compressed_sensing_2018/j2s/JM/Model.js
similarity index 100%
rename from j2s/JM/Model.js
rename to assets/compressed_sensing_2018/j2s/JM/Model.js
diff --git a/j2s/JM/ModelLoader.js b/assets/compressed_sensing_2018/j2s/JM/ModelLoader.js
similarity index 100%
rename from j2s/JM/ModelLoader.js
rename to assets/compressed_sensing_2018/j2s/JM/ModelLoader.js
diff --git a/j2s/JM/ModelSet.js b/assets/compressed_sensing_2018/j2s/JM/ModelSet.js
similarity index 100%
rename from j2s/JM/ModelSet.js
rename to assets/compressed_sensing_2018/j2s/JM/ModelSet.js
diff --git a/j2s/JM/Monomer.js b/assets/compressed_sensing_2018/j2s/JM/Monomer.js
similarity index 100%
rename from j2s/JM/Monomer.js
rename to assets/compressed_sensing_2018/j2s/JM/Monomer.js
diff --git a/j2s/JM/NucleicMonomer.js b/assets/compressed_sensing_2018/j2s/JM/NucleicMonomer.js
similarity index 100%
rename from j2s/JM/NucleicMonomer.js
rename to assets/compressed_sensing_2018/j2s/JM/NucleicMonomer.js
diff --git a/j2s/JM/NucleicPolymer.js b/assets/compressed_sensing_2018/j2s/JM/NucleicPolymer.js
similarity index 100%
rename from j2s/JM/NucleicPolymer.js
rename to assets/compressed_sensing_2018/j2s/JM/NucleicPolymer.js
diff --git a/j2s/JM/Orientation.js b/assets/compressed_sensing_2018/j2s/JM/Orientation.js
similarity index 100%
rename from j2s/JM/Orientation.js
rename to assets/compressed_sensing_2018/j2s/JM/Orientation.js
diff --git a/j2s/JM/PhosphorusMonomer.js b/assets/compressed_sensing_2018/j2s/JM/PhosphorusMonomer.js
similarity index 100%
rename from j2s/JM/PhosphorusMonomer.js
rename to assets/compressed_sensing_2018/j2s/JM/PhosphorusMonomer.js
diff --git a/j2s/JM/PhosphorusPolymer.js b/assets/compressed_sensing_2018/j2s/JM/PhosphorusPolymer.js
similarity index 100%
rename from j2s/JM/PhosphorusPolymer.js
rename to assets/compressed_sensing_2018/j2s/JM/PhosphorusPolymer.js
diff --git a/j2s/JM/ProteinStructure.js b/assets/compressed_sensing_2018/j2s/JM/ProteinStructure.js
similarity index 100%
rename from j2s/JM/ProteinStructure.js
rename to assets/compressed_sensing_2018/j2s/JM/ProteinStructure.js
diff --git a/j2s/JM/Sheet.js b/assets/compressed_sensing_2018/j2s/JM/Sheet.js
similarity index 100%
rename from j2s/JM/Sheet.js
rename to assets/compressed_sensing_2018/j2s/JM/Sheet.js
diff --git a/j2s/JM/StateScript.js b/assets/compressed_sensing_2018/j2s/JM/StateScript.js
similarity index 100%
rename from j2s/JM/StateScript.js
rename to assets/compressed_sensing_2018/j2s/JM/StateScript.js
diff --git a/j2s/JM/Structure.js b/assets/compressed_sensing_2018/j2s/JM/Structure.js
similarity index 100%
rename from j2s/JM/Structure.js
rename to assets/compressed_sensing_2018/j2s/JM/Structure.js
diff --git a/j2s/JM/Text.js b/assets/compressed_sensing_2018/j2s/JM/Text.js
similarity index 100%
rename from j2s/JM/Text.js
rename to assets/compressed_sensing_2018/j2s/JM/Text.js
diff --git a/j2s/JM/TickInfo.js b/assets/compressed_sensing_2018/j2s/JM/TickInfo.js
similarity index 100%
rename from j2s/JM/TickInfo.js
rename to assets/compressed_sensing_2018/j2s/JM/TickInfo.js
diff --git a/j2s/JM/Trajectory.js b/assets/compressed_sensing_2018/j2s/JM/Trajectory.js
similarity index 100%
rename from j2s/JM/Trajectory.js
rename to assets/compressed_sensing_2018/j2s/JM/Trajectory.js
diff --git a/j2s/JM/Turn.js b/assets/compressed_sensing_2018/j2s/JM/Turn.js
similarity index 100%
rename from j2s/JM/Turn.js
rename to assets/compressed_sensing_2018/j2s/JM/Turn.js
diff --git a/j2s/JM/Util.js b/assets/compressed_sensing_2018/j2s/JM/Util.js
similarity index 100%
rename from j2s/JM/Util.js
rename to assets/compressed_sensing_2018/j2s/JM/Util.js
diff --git a/j2s/JS/CIPChirality.js b/assets/compressed_sensing_2018/j2s/JS/CIPChirality.js
similarity index 100%
rename from j2s/JS/CIPChirality.js
rename to assets/compressed_sensing_2018/j2s/JS/CIPChirality.js
diff --git a/j2s/JS/CIPData.js b/assets/compressed_sensing_2018/j2s/JS/CIPData.js
similarity index 100%
rename from j2s/JS/CIPData.js
rename to assets/compressed_sensing_2018/j2s/JS/CIPData.js
diff --git a/j2s/JS/CIPDataSmiles.js b/assets/compressed_sensing_2018/j2s/JS/CIPDataSmiles.js
similarity index 100%
rename from j2s/JS/CIPDataSmiles.js
rename to assets/compressed_sensing_2018/j2s/JS/CIPDataSmiles.js
diff --git a/j2s/JS/CIPDataTracker.js b/assets/compressed_sensing_2018/j2s/JS/CIPDataTracker.js
similarity index 100%
rename from j2s/JS/CIPDataTracker.js
rename to assets/compressed_sensing_2018/j2s/JS/CIPDataTracker.js
diff --git a/j2s/JS/CmdExt.js b/assets/compressed_sensing_2018/j2s/JS/CmdExt.js
similarity index 100%
rename from j2s/JS/CmdExt.js
rename to assets/compressed_sensing_2018/j2s/JS/CmdExt.js
diff --git a/j2s/JS/CommandWatcherThread.js b/assets/compressed_sensing_2018/j2s/JS/CommandWatcherThread.js
similarity index 100%
rename from j2s/JS/CommandWatcherThread.js
rename to assets/compressed_sensing_2018/j2s/JS/CommandWatcherThread.js
diff --git a/j2s/JS/ContextToken.js b/assets/compressed_sensing_2018/j2s/JS/ContextToken.js
similarity index 100%
rename from j2s/JS/ContextToken.js
rename to assets/compressed_sensing_2018/j2s/JS/ContextToken.js
diff --git a/j2s/JS/FileLoadThread.js b/assets/compressed_sensing_2018/j2s/JS/FileLoadThread.js
similarity index 100%
rename from j2s/JS/FileLoadThread.js
rename to assets/compressed_sensing_2018/j2s/JS/FileLoadThread.js
diff --git a/j2s/JS/HallInfo.js b/assets/compressed_sensing_2018/j2s/JS/HallInfo.js
similarity index 100%
rename from j2s/JS/HallInfo.js
rename to assets/compressed_sensing_2018/j2s/JS/HallInfo.js
diff --git a/j2s/JS/HallRotation.js b/assets/compressed_sensing_2018/j2s/JS/HallRotation.js
similarity index 100%
rename from j2s/JS/HallRotation.js
rename to assets/compressed_sensing_2018/j2s/JS/HallRotation.js
diff --git a/j2s/JS/HallRotationTerm.js b/assets/compressed_sensing_2018/j2s/JS/HallRotationTerm.js
similarity index 100%
rename from j2s/JS/HallRotationTerm.js
rename to assets/compressed_sensing_2018/j2s/JS/HallRotationTerm.js
diff --git a/j2s/JS/HallTranslation.js b/assets/compressed_sensing_2018/j2s/JS/HallTranslation.js
similarity index 100%
rename from j2s/JS/HallTranslation.js
rename to assets/compressed_sensing_2018/j2s/JS/HallTranslation.js
diff --git a/j2s/JS/InvalidSmilesException.js b/assets/compressed_sensing_2018/j2s/JS/InvalidSmilesException.js
similarity index 100%
rename from j2s/JS/InvalidSmilesException.js
rename to assets/compressed_sensing_2018/j2s/JS/InvalidSmilesException.js
diff --git a/j2s/JS/IsoExt.js b/assets/compressed_sensing_2018/j2s/JS/IsoExt.js
similarity index 100%
rename from j2s/JS/IsoExt.js
rename to assets/compressed_sensing_2018/j2s/JS/IsoExt.js
diff --git a/j2s/JS/MathExt.js b/assets/compressed_sensing_2018/j2s/JS/MathExt.js
similarity index 100%
rename from j2s/JS/MathExt.js
rename to assets/compressed_sensing_2018/j2s/JS/MathExt.js
diff --git a/j2s/JS/PointGroup.js b/assets/compressed_sensing_2018/j2s/JS/PointGroup.js
similarity index 100%
rename from j2s/JS/PointGroup.js
rename to assets/compressed_sensing_2018/j2s/JS/PointGroup.js
diff --git a/j2s/JS/PolyhedronStereoSorter.js b/assets/compressed_sensing_2018/j2s/JS/PolyhedronStereoSorter.js
similarity index 100%
rename from j2s/JS/PolyhedronStereoSorter.js
rename to assets/compressed_sensing_2018/j2s/JS/PolyhedronStereoSorter.js
diff --git a/j2s/JS/SV.js b/assets/compressed_sensing_2018/j2s/JS/SV.js
similarity index 100%
rename from j2s/JS/SV.js
rename to assets/compressed_sensing_2018/j2s/JS/SV.js
diff --git a/j2s/JS/ScriptCompiler.js b/assets/compressed_sensing_2018/j2s/JS/ScriptCompiler.js
similarity index 100%
rename from j2s/JS/ScriptCompiler.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptCompiler.js
diff --git a/j2s/JS/ScriptContext.js b/assets/compressed_sensing_2018/j2s/JS/ScriptContext.js
similarity index 100%
rename from j2s/JS/ScriptContext.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptContext.js
diff --git a/j2s/JS/ScriptDelayThread.js b/assets/compressed_sensing_2018/j2s/JS/ScriptDelayThread.js
similarity index 100%
rename from j2s/JS/ScriptDelayThread.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptDelayThread.js
diff --git a/j2s/JS/ScriptError.js b/assets/compressed_sensing_2018/j2s/JS/ScriptError.js
similarity index 100%
rename from j2s/JS/ScriptError.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptError.js
diff --git a/j2s/JS/ScriptEval.js b/assets/compressed_sensing_2018/j2s/JS/ScriptEval.js
similarity index 100%
rename from j2s/JS/ScriptEval.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptEval.js
diff --git a/j2s/JS/ScriptException.js b/assets/compressed_sensing_2018/j2s/JS/ScriptException.js
similarity index 100%
rename from j2s/JS/ScriptException.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptException.js
diff --git a/j2s/JS/ScriptExpr.js b/assets/compressed_sensing_2018/j2s/JS/ScriptExpr.js
similarity index 100%
rename from j2s/JS/ScriptExpr.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptExpr.js
diff --git a/j2s/JS/ScriptExt.js b/assets/compressed_sensing_2018/j2s/JS/ScriptExt.js
similarity index 100%
rename from j2s/JS/ScriptExt.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptExt.js
diff --git a/j2s/JS/ScriptFlowContext.js b/assets/compressed_sensing_2018/j2s/JS/ScriptFlowContext.js
similarity index 100%
rename from j2s/JS/ScriptFlowContext.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptFlowContext.js
diff --git a/j2s/JS/ScriptFunction.js b/assets/compressed_sensing_2018/j2s/JS/ScriptFunction.js
similarity index 100%
rename from j2s/JS/ScriptFunction.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptFunction.js
diff --git a/j2s/JS/ScriptInterruption.js b/assets/compressed_sensing_2018/j2s/JS/ScriptInterruption.js
similarity index 100%
rename from j2s/JS/ScriptInterruption.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptInterruption.js
diff --git a/j2s/JS/ScriptManager.js b/assets/compressed_sensing_2018/j2s/JS/ScriptManager.js
similarity index 100%
rename from j2s/JS/ScriptManager.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptManager.js
diff --git a/j2s/JS/ScriptMathProcessor.js b/assets/compressed_sensing_2018/j2s/JS/ScriptMathProcessor.js
similarity index 100%
rename from j2s/JS/ScriptMathProcessor.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptMathProcessor.js
diff --git a/j2s/JS/ScriptParallelProcessor.js b/assets/compressed_sensing_2018/j2s/JS/ScriptParallelProcessor.js
similarity index 100%
rename from j2s/JS/ScriptParallelProcessor.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptParallelProcessor.js
diff --git a/j2s/JS/ScriptParam.js b/assets/compressed_sensing_2018/j2s/JS/ScriptParam.js
similarity index 100%
rename from j2s/JS/ScriptParam.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptParam.js
diff --git a/j2s/JS/ScriptProcess.js b/assets/compressed_sensing_2018/j2s/JS/ScriptProcess.js
similarity index 100%
rename from j2s/JS/ScriptProcess.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptProcess.js
diff --git a/j2s/JS/ScriptProcessRunnable.js b/assets/compressed_sensing_2018/j2s/JS/ScriptProcessRunnable.js
similarity index 100%
rename from j2s/JS/ScriptProcessRunnable.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptProcessRunnable.js
diff --git a/j2s/JS/ScriptQueueThread.js b/assets/compressed_sensing_2018/j2s/JS/ScriptQueueThread.js
similarity index 100%
rename from j2s/JS/ScriptQueueThread.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptQueueThread.js
diff --git a/j2s/JS/ScriptTokenParser.js b/assets/compressed_sensing_2018/j2s/JS/ScriptTokenParser.js
similarity index 100%
rename from j2s/JS/ScriptTokenParser.js
rename to assets/compressed_sensing_2018/j2s/JS/ScriptTokenParser.js
diff --git a/j2s/JS/SmilesAromatic.js b/assets/compressed_sensing_2018/j2s/JS/SmilesAromatic.js
similarity index 100%
rename from j2s/JS/SmilesAromatic.js
rename to assets/compressed_sensing_2018/j2s/JS/SmilesAromatic.js
diff --git a/j2s/JS/SmilesAtom.js b/assets/compressed_sensing_2018/j2s/JS/SmilesAtom.js
similarity index 100%
rename from j2s/JS/SmilesAtom.js
rename to assets/compressed_sensing_2018/j2s/JS/SmilesAtom.js
diff --git a/j2s/JS/SmilesBond.js b/assets/compressed_sensing_2018/j2s/JS/SmilesBond.js
similarity index 100%
rename from j2s/JS/SmilesBond.js
rename to assets/compressed_sensing_2018/j2s/JS/SmilesBond.js
diff --git a/j2s/JS/SmilesExt.js b/assets/compressed_sensing_2018/j2s/JS/SmilesExt.js
similarity index 100%
rename from j2s/JS/SmilesExt.js
rename to assets/compressed_sensing_2018/j2s/JS/SmilesExt.js
diff --git a/j2s/JS/SmilesGenerator.js b/assets/compressed_sensing_2018/j2s/JS/SmilesGenerator.js
similarity index 100%
rename from j2s/JS/SmilesGenerator.js
rename to assets/compressed_sensing_2018/j2s/JS/SmilesGenerator.js
diff --git a/j2s/JS/SmilesMatcher.js b/assets/compressed_sensing_2018/j2s/JS/SmilesMatcher.js
similarity index 100%
rename from j2s/JS/SmilesMatcher.js
rename to assets/compressed_sensing_2018/j2s/JS/SmilesMatcher.js
diff --git a/j2s/JS/SmilesMeasure.js b/assets/compressed_sensing_2018/j2s/JS/SmilesMeasure.js
similarity index 100%
rename from j2s/JS/SmilesMeasure.js
rename to assets/compressed_sensing_2018/j2s/JS/SmilesMeasure.js
diff --git a/j2s/JS/SmilesParser.js b/assets/compressed_sensing_2018/j2s/JS/SmilesParser.js
similarity index 100%
rename from j2s/JS/SmilesParser.js
rename to assets/compressed_sensing_2018/j2s/JS/SmilesParser.js
diff --git a/j2s/JS/SmilesRing.js b/assets/compressed_sensing_2018/j2s/JS/SmilesRing.js
similarity index 100%
rename from j2s/JS/SmilesRing.js
rename to assets/compressed_sensing_2018/j2s/JS/SmilesRing.js
diff --git a/j2s/JS/SmilesRingSet.js b/assets/compressed_sensing_2018/j2s/JS/SmilesRingSet.js
similarity index 100%
rename from j2s/JS/SmilesRingSet.js
rename to assets/compressed_sensing_2018/j2s/JS/SmilesRingSet.js
diff --git a/j2s/JS/SmilesSearch.js b/assets/compressed_sensing_2018/j2s/JS/SmilesSearch.js
similarity index 100%
rename from j2s/JS/SmilesSearch.js
rename to assets/compressed_sensing_2018/j2s/JS/SmilesSearch.js
diff --git a/j2s/JS/SmilesStereo.js b/assets/compressed_sensing_2018/j2s/JS/SmilesStereo.js
similarity index 100%
rename from j2s/JS/SmilesStereo.js
rename to assets/compressed_sensing_2018/j2s/JS/SmilesStereo.js
diff --git a/j2s/JS/SpaceGroup.js b/assets/compressed_sensing_2018/j2s/JS/SpaceGroup.js
similarity index 100%
rename from j2s/JS/SpaceGroup.js
rename to assets/compressed_sensing_2018/j2s/JS/SpaceGroup.js
diff --git a/j2s/JS/Symmetry.js b/assets/compressed_sensing_2018/j2s/JS/Symmetry.js
similarity index 100%
rename from j2s/JS/Symmetry.js
rename to assets/compressed_sensing_2018/j2s/JS/Symmetry.js
diff --git a/j2s/JS/SymmetryDesc.js b/assets/compressed_sensing_2018/j2s/JS/SymmetryDesc.js
similarity index 100%
rename from j2s/JS/SymmetryDesc.js
rename to assets/compressed_sensing_2018/j2s/JS/SymmetryDesc.js
diff --git a/j2s/JS/SymmetryInfo.js b/assets/compressed_sensing_2018/j2s/JS/SymmetryInfo.js
similarity index 100%
rename from j2s/JS/SymmetryInfo.js
rename to assets/compressed_sensing_2018/j2s/JS/SymmetryInfo.js
diff --git a/j2s/JS/SymmetryOperation.js b/assets/compressed_sensing_2018/j2s/JS/SymmetryOperation.js
similarity index 100%
rename from j2s/JS/SymmetryOperation.js
rename to assets/compressed_sensing_2018/j2s/JS/SymmetryOperation.js
diff --git a/j2s/JS/T.js b/assets/compressed_sensing_2018/j2s/JS/T.js
similarity index 100%
rename from j2s/JS/T.js
rename to assets/compressed_sensing_2018/j2s/JS/T.js
diff --git a/j2s/JS/UnitCell.js b/assets/compressed_sensing_2018/j2s/JS/UnitCell.js
similarity index 100%
rename from j2s/JS/UnitCell.js
rename to assets/compressed_sensing_2018/j2s/JS/UnitCell.js
diff --git a/j2s/JS/UnitCellIterator.js b/assets/compressed_sensing_2018/j2s/JS/UnitCellIterator.js
similarity index 100%
rename from j2s/JS/UnitCellIterator.js
rename to assets/compressed_sensing_2018/j2s/JS/UnitCellIterator.js
diff --git a/j2s/JS/VTemp.js b/assets/compressed_sensing_2018/j2s/JS/VTemp.js
similarity index 100%
rename from j2s/JS/VTemp.js
rename to assets/compressed_sensing_2018/j2s/JS/VTemp.js
diff --git a/j2s/JSV/api/AnnotationData.js b/assets/compressed_sensing_2018/j2s/JSV/api/AnnotationData.js
similarity index 100%
rename from j2s/JSV/api/AnnotationData.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/AnnotationData.js
diff --git a/j2s/JSV/api/AppletFrame.js b/assets/compressed_sensing_2018/j2s/JSV/api/AppletFrame.js
similarity index 100%
rename from j2s/JSV/api/AppletFrame.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/AppletFrame.js
diff --git a/j2s/JSV/api/ExportInterface.js b/assets/compressed_sensing_2018/j2s/JSV/api/ExportInterface.js
similarity index 100%
rename from j2s/JSV/api/ExportInterface.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/ExportInterface.js
diff --git a/j2s/JSV/api/JSVAppInterface.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVAppInterface.js
similarity index 100%
rename from j2s/JSV/api/JSVAppInterface.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVAppInterface.js
diff --git a/j2s/JSV/api/JSVAppletInterface.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVAppletInterface.js
similarity index 100%
rename from j2s/JSV/api/JSVAppletInterface.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVAppletInterface.js
diff --git a/j2s/JSV/api/JSVExporter.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVExporter.js
similarity index 100%
rename from j2s/JSV/api/JSVExporter.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVExporter.js
diff --git a/j2s/JSV/api/JSVFileDropper.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVFileDropper.js
similarity index 100%
rename from j2s/JSV/api/JSVFileDropper.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVFileDropper.js
diff --git a/j2s/JSV/api/JSVFileHelper.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVFileHelper.js
similarity index 100%
rename from j2s/JSV/api/JSVFileHelper.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVFileHelper.js
diff --git a/j2s/JSV/api/JSVMainPanel.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVMainPanel.js
similarity index 100%
rename from j2s/JSV/api/JSVMainPanel.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVMainPanel.js
diff --git a/j2s/JSV/api/JSVPanel.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVPanel.js
similarity index 100%
rename from j2s/JSV/api/JSVPanel.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVPanel.js
diff --git a/j2s/JSV/api/JSVPdfWriter.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVPdfWriter.js
similarity index 100%
rename from j2s/JSV/api/JSVPdfWriter.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVPdfWriter.js
diff --git a/j2s/JSV/api/JSVPopupMenu.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVPopupMenu.js
similarity index 100%
rename from j2s/JSV/api/JSVPopupMenu.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVPopupMenu.js
diff --git a/j2s/JSV/api/JSVPrintDialog.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVPrintDialog.js
similarity index 100%
rename from j2s/JSV/api/JSVPrintDialog.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVPrintDialog.js
diff --git a/j2s/JSV/api/JSVTree.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVTree.js
similarity index 100%
rename from j2s/JSV/api/JSVTree.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVTree.js
diff --git a/j2s/JSV/api/JSVTreeNode.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVTreeNode.js
similarity index 100%
rename from j2s/JSV/api/JSVTreeNode.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVTreeNode.js
diff --git a/j2s/JSV/api/JSVTreePath.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVTreePath.js
similarity index 100%
rename from j2s/JSV/api/JSVTreePath.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVTreePath.js
diff --git a/j2s/JSV/api/JSVViewPanel.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVViewPanel.js
similarity index 100%
rename from j2s/JSV/api/JSVViewPanel.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVViewPanel.js
diff --git a/j2s/JSV/api/JSVZipInterface.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVZipInterface.js
similarity index 100%
rename from j2s/JSV/api/JSVZipInterface.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVZipInterface.js
diff --git a/j2s/JSV/api/JSVZipReader.js b/assets/compressed_sensing_2018/j2s/JSV/api/JSVZipReader.js
similarity index 100%
rename from j2s/JSV/api/JSVZipReader.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/JSVZipReader.js
diff --git a/j2s/JSV/api/PanelListener.js b/assets/compressed_sensing_2018/j2s/JSV/api/PanelListener.js
similarity index 100%
rename from j2s/JSV/api/PanelListener.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/PanelListener.js
diff --git a/j2s/JSV/api/PlatformDialog.js b/assets/compressed_sensing_2018/j2s/JSV/api/PlatformDialog.js
similarity index 100%
rename from j2s/JSV/api/PlatformDialog.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/PlatformDialog.js
diff --git a/j2s/JSV/api/ScriptInterface.js b/assets/compressed_sensing_2018/j2s/JSV/api/ScriptInterface.js
similarity index 100%
rename from j2s/JSV/api/ScriptInterface.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/ScriptInterface.js
diff --git a/j2s/JSV/api/SourceReader.js b/assets/compressed_sensing_2018/j2s/JSV/api/SourceReader.js
similarity index 100%
rename from j2s/JSV/api/SourceReader.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/SourceReader.js
diff --git a/j2s/JSV/api/VisibleInterface.js b/assets/compressed_sensing_2018/j2s/JSV/api/VisibleInterface.js
similarity index 100%
rename from j2s/JSV/api/VisibleInterface.js
rename to assets/compressed_sensing_2018/j2s/JSV/api/VisibleInterface.js
diff --git a/j2s/JSV/app/GenericMouse.js b/assets/compressed_sensing_2018/j2s/JSV/app/GenericMouse.js
similarity index 100%
rename from j2s/JSV/app/GenericMouse.js
rename to assets/compressed_sensing_2018/j2s/JSV/app/GenericMouse.js
diff --git a/j2s/JSV/app/JSVApp.js b/assets/compressed_sensing_2018/j2s/JSV/app/JSVApp.js
similarity index 100%
rename from j2s/JSV/app/JSVApp.js
rename to assets/compressed_sensing_2018/j2s/JSV/app/JSVApp.js
diff --git a/j2s/JSV/app/JSVAppPro.js b/assets/compressed_sensing_2018/j2s/JSV/app/JSVAppPro.js
similarity index 100%
rename from j2s/JSV/app/JSVAppPro.js
rename to assets/compressed_sensing_2018/j2s/JSV/app/JSVAppPro.js
diff --git a/j2s/JSV/appletjs/JSVApplet.js b/assets/compressed_sensing_2018/j2s/JSV/appletjs/JSVApplet.js
similarity index 100%
rename from j2s/JSV/appletjs/JSVApplet.js
rename to assets/compressed_sensing_2018/j2s/JSV/appletjs/JSVApplet.js
diff --git a/j2s/JSV/appletjs/JSVAppletPro.js b/assets/compressed_sensing_2018/j2s/JSV/appletjs/JSVAppletPro.js
similarity index 100%
rename from j2s/JSV/appletjs/JSVAppletPro.js
rename to assets/compressed_sensing_2018/j2s/JSV/appletjs/JSVAppletPro.js
diff --git a/j2s/JSV/common/Annotation.js b/assets/compressed_sensing_2018/j2s/JSV/common/Annotation.js
similarity index 100%
rename from j2s/JSV/common/Annotation.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/Annotation.js
diff --git a/j2s/JSV/common/ColorParameters.js b/assets/compressed_sensing_2018/j2s/JSV/common/ColorParameters.js
similarity index 100%
rename from j2s/JSV/common/ColorParameters.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/ColorParameters.js
diff --git a/j2s/JSV/common/ColoredAnnotation.js b/assets/compressed_sensing_2018/j2s/JSV/common/ColoredAnnotation.js
similarity index 100%
rename from j2s/JSV/common/ColoredAnnotation.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/ColoredAnnotation.js
diff --git a/j2s/JSV/common/CoordComparator.js b/assets/compressed_sensing_2018/j2s/JSV/common/CoordComparator.js
similarity index 100%
rename from j2s/JSV/common/CoordComparator.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/CoordComparator.js
diff --git a/j2s/JSV/common/Coordinate.js b/assets/compressed_sensing_2018/j2s/JSV/common/Coordinate.js
similarity index 100%
rename from j2s/JSV/common/Coordinate.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/Coordinate.js
diff --git a/j2s/JSV/common/ExportType.js b/assets/compressed_sensing_2018/j2s/JSV/common/ExportType.js
similarity index 100%
rename from j2s/JSV/common/ExportType.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/ExportType.js
diff --git a/j2s/JSV/common/GraphSet.js b/assets/compressed_sensing_2018/j2s/JSV/common/GraphSet.js
similarity index 100%
rename from j2s/JSV/common/GraphSet.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/GraphSet.js
diff --git a/j2s/JSV/common/ImageView.js b/assets/compressed_sensing_2018/j2s/JSV/common/ImageView.js
similarity index 100%
rename from j2s/JSV/common/ImageView.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/ImageView.js
diff --git a/j2s/JSV/common/Integral.js b/assets/compressed_sensing_2018/j2s/JSV/common/Integral.js
similarity index 100%
rename from j2s/JSV/common/Integral.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/Integral.js
diff --git a/j2s/JSV/common/IntegralComparator.js b/assets/compressed_sensing_2018/j2s/JSV/common/IntegralComparator.js
similarity index 100%
rename from j2s/JSV/common/IntegralComparator.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/IntegralComparator.js
diff --git a/j2s/JSV/common/IntegralData.js b/assets/compressed_sensing_2018/j2s/JSV/common/IntegralData.js
similarity index 100%
rename from j2s/JSV/common/IntegralData.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/IntegralData.js
diff --git a/j2s/JSV/common/JSVFileManager.js b/assets/compressed_sensing_2018/j2s/JSV/common/JSVFileManager.js
similarity index 100%
rename from j2s/JSV/common/JSVFileManager.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/JSVFileManager.js
diff --git a/j2s/JSV/common/JSVZipFileSequentialReader.js b/assets/compressed_sensing_2018/j2s/JSV/common/JSVZipFileSequentialReader.js
similarity index 100%
rename from j2s/JSV/common/JSVZipFileSequentialReader.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/JSVZipFileSequentialReader.js
diff --git a/j2s/JSV/common/JSVZipUtil.js b/assets/compressed_sensing_2018/j2s/JSV/common/JSVZipUtil.js
similarity index 100%
rename from j2s/JSV/common/JSVZipUtil.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/JSVZipUtil.js
diff --git a/j2s/JSV/common/JSVersion.js b/assets/compressed_sensing_2018/j2s/JSV/common/JSVersion.js
similarity index 100%
rename from j2s/JSV/common/JSVersion.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/JSVersion.js
diff --git a/j2s/JSV/common/JSViewer.js b/assets/compressed_sensing_2018/j2s/JSV/common/JSViewer.js
similarity index 100%
rename from j2s/JSV/common/JSViewer.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/JSViewer.js
diff --git a/j2s/JSV/common/Measurement.js b/assets/compressed_sensing_2018/j2s/JSV/common/Measurement.js
similarity index 100%
rename from j2s/JSV/common/Measurement.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/Measurement.js
diff --git a/j2s/JSV/common/MeasurementData.js b/assets/compressed_sensing_2018/j2s/JSV/common/MeasurementData.js
similarity index 100%
rename from j2s/JSV/common/MeasurementData.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/MeasurementData.js
diff --git a/j2s/JSV/common/PDFWriter.js b/assets/compressed_sensing_2018/j2s/JSV/common/PDFWriter.js
similarity index 100%
rename from j2s/JSV/common/PDFWriter.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/PDFWriter.js
diff --git a/j2s/JSV/common/PanelData.js b/assets/compressed_sensing_2018/j2s/JSV/common/PanelData.js
similarity index 100%
rename from j2s/JSV/common/PanelData.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/PanelData.js
diff --git a/j2s/JSV/common/PanelNode.js b/assets/compressed_sensing_2018/j2s/JSV/common/PanelNode.js
similarity index 100%
rename from j2s/JSV/common/PanelNode.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/PanelNode.js
diff --git a/j2s/JSV/common/Parameters.js b/assets/compressed_sensing_2018/j2s/JSV/common/Parameters.js
similarity index 100%
rename from j2s/JSV/common/Parameters.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/Parameters.js
diff --git a/j2s/JSV/common/PeakData.js b/assets/compressed_sensing_2018/j2s/JSV/common/PeakData.js
similarity index 100%
rename from j2s/JSV/common/PeakData.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/PeakData.js
diff --git a/j2s/JSV/common/PeakInfo.js b/assets/compressed_sensing_2018/j2s/JSV/common/PeakInfo.js
similarity index 100%
rename from j2s/JSV/common/PeakInfo.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/PeakInfo.js
diff --git a/j2s/JSV/common/PeakPick.js b/assets/compressed_sensing_2018/j2s/JSV/common/PeakPick.js
similarity index 100%
rename from j2s/JSV/common/PeakPick.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/PeakPick.js
diff --git a/j2s/JSV/common/PeakPickEvent.js b/assets/compressed_sensing_2018/j2s/JSV/common/PeakPickEvent.js
similarity index 100%
rename from j2s/JSV/common/PeakPickEvent.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/PeakPickEvent.js
diff --git a/j2s/JSV/common/PlotWidget.js b/assets/compressed_sensing_2018/j2s/JSV/common/PlotWidget.js
similarity index 100%
rename from j2s/JSV/common/PlotWidget.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/PlotWidget.js
diff --git a/j2s/JSV/common/PrintLayout.js b/assets/compressed_sensing_2018/j2s/JSV/common/PrintLayout.js
similarity index 100%
rename from j2s/JSV/common/PrintLayout.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/PrintLayout.js
diff --git a/j2s/JSV/common/RepaintManager.js b/assets/compressed_sensing_2018/j2s/JSV/common/RepaintManager.js
similarity index 100%
rename from j2s/JSV/common/RepaintManager.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/RepaintManager.js
diff --git a/j2s/JSV/common/ScaleData.js b/assets/compressed_sensing_2018/j2s/JSV/common/ScaleData.js
similarity index 100%
rename from j2s/JSV/common/ScaleData.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/ScaleData.js
diff --git a/j2s/JSV/common/ScriptToken.js b/assets/compressed_sensing_2018/j2s/JSV/common/ScriptToken.js
similarity index 100%
rename from j2s/JSV/common/ScriptToken.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/ScriptToken.js
diff --git a/j2s/JSV/common/ScriptTokenizer.js b/assets/compressed_sensing_2018/j2s/JSV/common/ScriptTokenizer.js
similarity index 100%
rename from j2s/JSV/common/ScriptTokenizer.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/ScriptTokenizer.js
diff --git a/j2s/JSV/common/Spectrum.js b/assets/compressed_sensing_2018/j2s/JSV/common/Spectrum.js
similarity index 100%
rename from j2s/JSV/common/Spectrum.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/Spectrum.js
diff --git a/j2s/JSV/common/SubSpecChangeEvent.js b/assets/compressed_sensing_2018/j2s/JSV/common/SubSpecChangeEvent.js
similarity index 100%
rename from j2s/JSV/common/SubSpecChangeEvent.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/SubSpecChangeEvent.js
diff --git a/j2s/JSV/common/TODO.txt b/assets/compressed_sensing_2018/j2s/JSV/common/TODO.txt
similarity index 100%
rename from j2s/JSV/common/TODO.txt
rename to assets/compressed_sensing_2018/j2s/JSV/common/TODO.txt
diff --git a/j2s/JSV/common/ViewData.js b/assets/compressed_sensing_2018/j2s/JSV/common/ViewData.js
similarity index 100%
rename from j2s/JSV/common/ViewData.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/ViewData.js
diff --git a/j2s/JSV/common/Visible.js b/assets/compressed_sensing_2018/j2s/JSV/common/Visible.js
similarity index 100%
rename from j2s/JSV/common/Visible.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/Visible.js
diff --git a/j2s/JSV/common/XYScaleConverter.js b/assets/compressed_sensing_2018/j2s/JSV/common/XYScaleConverter.js
similarity index 100%
rename from j2s/JSV/common/XYScaleConverter.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/XYScaleConverter.js
diff --git a/j2s/JSV/common/ZoomEvent.js b/assets/compressed_sensing_2018/j2s/JSV/common/ZoomEvent.js
similarity index 100%
rename from j2s/JSV/common/ZoomEvent.js
rename to assets/compressed_sensing_2018/j2s/JSV/common/ZoomEvent.js
diff --git a/j2s/JSV/dialog/DialogManager.js b/assets/compressed_sensing_2018/j2s/JSV/dialog/DialogManager.js
similarity index 100%
rename from j2s/JSV/dialog/DialogManager.js
rename to assets/compressed_sensing_2018/j2s/JSV/dialog/DialogManager.js
diff --git a/j2s/JSV/dialog/DialogParams.js b/assets/compressed_sensing_2018/j2s/JSV/dialog/DialogParams.js
similarity index 100%
rename from j2s/JSV/dialog/DialogParams.js
rename to assets/compressed_sensing_2018/j2s/JSV/dialog/DialogParams.js
diff --git a/j2s/JSV/dialog/IntegrationDialog.js b/assets/compressed_sensing_2018/j2s/JSV/dialog/IntegrationDialog.js
similarity index 100%
rename from j2s/JSV/dialog/IntegrationDialog.js
rename to assets/compressed_sensing_2018/j2s/JSV/dialog/IntegrationDialog.js
diff --git a/j2s/JSV/dialog/JSVDialog.js b/assets/compressed_sensing_2018/j2s/JSV/dialog/JSVDialog.js
similarity index 100%
rename from j2s/JSV/dialog/JSVDialog.js
rename to assets/compressed_sensing_2018/j2s/JSV/dialog/JSVDialog.js
diff --git a/j2s/JSV/dialog/MeasurementsDialog.js b/assets/compressed_sensing_2018/j2s/JSV/dialog/MeasurementsDialog.js
similarity index 100%
rename from j2s/JSV/dialog/MeasurementsDialog.js
rename to assets/compressed_sensing_2018/j2s/JSV/dialog/MeasurementsDialog.js
diff --git a/j2s/JSV/dialog/OverlayLegendDialog.js b/assets/compressed_sensing_2018/j2s/JSV/dialog/OverlayLegendDialog.js
similarity index 100%
rename from j2s/JSV/dialog/OverlayLegendDialog.js
rename to assets/compressed_sensing_2018/j2s/JSV/dialog/OverlayLegendDialog.js
diff --git a/j2s/JSV/dialog/PeakListDialog.js b/assets/compressed_sensing_2018/j2s/JSV/dialog/PeakListDialog.js
similarity index 100%
rename from j2s/JSV/dialog/PeakListDialog.js
rename to assets/compressed_sensing_2018/j2s/JSV/dialog/PeakListDialog.js
diff --git a/j2s/JSV/dialog/ViewsDialog.js b/assets/compressed_sensing_2018/j2s/JSV/dialog/ViewsDialog.js
similarity index 100%
rename from j2s/JSV/dialog/ViewsDialog.js
rename to assets/compressed_sensing_2018/j2s/JSV/dialog/ViewsDialog.js
diff --git a/j2s/JSV/exception/JSVException.js b/assets/compressed_sensing_2018/j2s/JSV/exception/JSVException.js
similarity index 100%
rename from j2s/JSV/exception/JSVException.js
rename to assets/compressed_sensing_2018/j2s/JSV/exception/JSVException.js
diff --git a/j2s/JSV/export/AMLExporter.js b/assets/compressed_sensing_2018/j2s/JSV/export/AMLExporter.js
similarity index 100%
rename from j2s/JSV/export/AMLExporter.js
rename to assets/compressed_sensing_2018/j2s/JSV/export/AMLExporter.js
diff --git a/j2s/JSV/export/CMLExporter.js b/assets/compressed_sensing_2018/j2s/JSV/export/CMLExporter.js
similarity index 100%
rename from j2s/JSV/export/CMLExporter.js
rename to assets/compressed_sensing_2018/j2s/JSV/export/CMLExporter.js
diff --git a/j2s/JSV/export/ExportInterface.js b/assets/compressed_sensing_2018/j2s/JSV/export/ExportInterface.js
similarity index 100%
rename from j2s/JSV/export/ExportInterface.js
rename to assets/compressed_sensing_2018/j2s/JSV/export/ExportInterface.js
diff --git a/j2s/JSV/export/Exporter.js b/assets/compressed_sensing_2018/j2s/JSV/export/Exporter.js
similarity index 100%
rename from j2s/JSV/export/Exporter.js
rename to assets/compressed_sensing_2018/j2s/JSV/export/Exporter.js
diff --git a/j2s/JSV/export/FormContext.js b/assets/compressed_sensing_2018/j2s/JSV/export/FormContext.js
similarity index 100%
rename from j2s/JSV/export/FormContext.js
rename to assets/compressed_sensing_2018/j2s/JSV/export/FormContext.js
diff --git a/j2s/JSV/export/FormExporter.js b/assets/compressed_sensing_2018/j2s/JSV/export/FormExporter.js
similarity index 100%
rename from j2s/JSV/export/FormExporter.js
rename to assets/compressed_sensing_2018/j2s/JSV/export/FormExporter.js
diff --git a/j2s/JSV/export/JDXCompressor.js b/assets/compressed_sensing_2018/j2s/JSV/export/JDXCompressor.js
similarity index 100%
rename from j2s/JSV/export/JDXCompressor.js
rename to assets/compressed_sensing_2018/j2s/JSV/export/JDXCompressor.js
diff --git a/j2s/JSV/export/JDXExporter.js b/assets/compressed_sensing_2018/j2s/JSV/export/JDXExporter.js
similarity index 100%
rename from j2s/JSV/export/JDXExporter.js
rename to assets/compressed_sensing_2018/j2s/JSV/export/JDXExporter.js
diff --git a/j2s/JSV/export/SVGExporter.js b/assets/compressed_sensing_2018/j2s/JSV/export/SVGExporter.js
similarity index 100%
rename from j2s/JSV/export/SVGExporter.js
rename to assets/compressed_sensing_2018/j2s/JSV/export/SVGExporter.js
diff --git a/j2s/JSV/export/XMLExporter.js b/assets/compressed_sensing_2018/j2s/JSV/export/XMLExporter.js
similarity index 100%
rename from j2s/JSV/export/XMLExporter.js
rename to assets/compressed_sensing_2018/j2s/JSV/export/XMLExporter.js
diff --git a/j2s/JSV/export/resources/animl_nmr.vm b/assets/compressed_sensing_2018/j2s/JSV/export/resources/animl_nmr.vm
similarity index 100%
rename from j2s/JSV/export/resources/animl_nmr.vm
rename to assets/compressed_sensing_2018/j2s/JSV/export/resources/animl_nmr.vm
diff --git a/j2s/JSV/export/resources/animl_tmp.vm b/assets/compressed_sensing_2018/j2s/JSV/export/resources/animl_tmp.vm
similarity index 100%
rename from j2s/JSV/export/resources/animl_tmp.vm
rename to assets/compressed_sensing_2018/j2s/JSV/export/resources/animl_tmp.vm
diff --git a/j2s/JSV/export/resources/cml_nmr.vm b/assets/compressed_sensing_2018/j2s/JSV/export/resources/cml_nmr.vm
similarity index 100%
rename from j2s/JSV/export/resources/cml_nmr.vm
rename to assets/compressed_sensing_2018/j2s/JSV/export/resources/cml_nmr.vm
diff --git a/j2s/JSV/export/resources/cml_tmp.vm b/assets/compressed_sensing_2018/j2s/JSV/export/resources/cml_tmp.vm
similarity index 100%
rename from j2s/JSV/export/resources/cml_tmp.vm
rename to assets/compressed_sensing_2018/j2s/JSV/export/resources/cml_tmp.vm
diff --git a/j2s/JSV/export/resources/plot.vm b/assets/compressed_sensing_2018/j2s/JSV/export/resources/plot.vm
similarity index 100%
rename from j2s/JSV/export/resources/plot.vm
rename to assets/compressed_sensing_2018/j2s/JSV/export/resources/plot.vm
diff --git a/j2s/JSV/export/resources/plot_ink.vm b/assets/compressed_sensing_2018/j2s/JSV/export/resources/plot_ink.vm
similarity index 100%
rename from j2s/JSV/export/resources/plot_ink.vm
rename to assets/compressed_sensing_2018/j2s/JSV/export/resources/plot_ink.vm
diff --git a/j2s/JSV/js2d/DialogTableModel.js b/assets/compressed_sensing_2018/j2s/JSV/js2d/DialogTableModel.js
similarity index 100%
rename from j2s/JSV/js2d/DialogTableModel.js
rename to assets/compressed_sensing_2018/j2s/JSV/js2d/DialogTableModel.js
diff --git a/j2s/JSV/js2d/Display.js b/assets/compressed_sensing_2018/j2s/JSV/js2d/Display.js
similarity index 100%
rename from j2s/JSV/js2d/Display.js
rename to assets/compressed_sensing_2018/j2s/JSV/js2d/Display.js
diff --git a/j2s/JSV/js2d/Image.js b/assets/compressed_sensing_2018/j2s/JSV/js2d/Image.js
similarity index 100%
rename from j2s/JSV/js2d/Image.js
rename to assets/compressed_sensing_2018/j2s/JSV/js2d/Image.js
diff --git a/j2s/JSV/js2d/JsDialog.js b/assets/compressed_sensing_2018/j2s/JSV/js2d/JsDialog.js
similarity index 100%
rename from j2s/JSV/js2d/JsDialog.js
rename to assets/compressed_sensing_2018/j2s/JSV/js2d/JsDialog.js
diff --git a/j2s/JSV/js2d/JsDialogManager.js b/assets/compressed_sensing_2018/j2s/JSV/js2d/JsDialogManager.js
similarity index 100%
rename from j2s/JSV/js2d/JsDialogManager.js
rename to assets/compressed_sensing_2018/j2s/JSV/js2d/JsDialogManager.js
diff --git a/j2s/JSV/js2d/JsFile.js b/assets/compressed_sensing_2018/j2s/JSV/js2d/JsFile.js
similarity index 100%
rename from j2s/JSV/js2d/JsFile.js
rename to assets/compressed_sensing_2018/j2s/JSV/js2d/JsFile.js
diff --git a/j2s/JSV/js2d/JsFileHelper.js b/assets/compressed_sensing_2018/j2s/JSV/js2d/JsFileHelper.js
similarity index 100%
rename from j2s/JSV/js2d/JsFileHelper.js
rename to assets/compressed_sensing_2018/j2s/JSV/js2d/JsFileHelper.js
diff --git a/j2s/JSV/js2d/JsFont.js b/assets/compressed_sensing_2018/j2s/JSV/js2d/JsFont.js
similarity index 100%
rename from j2s/JSV/js2d/JsFont.js
rename to assets/compressed_sensing_2018/j2s/JSV/js2d/JsFont.js
diff --git a/j2s/JSV/js2d/JsG2D.js b/assets/compressed_sensing_2018/j2s/JSV/js2d/JsG2D.js
similarity index 100%
rename from j2s/JSV/js2d/JsG2D.js
rename to assets/compressed_sensing_2018/j2s/JSV/js2d/JsG2D.js
diff --git a/j2s/JSV/js2d/JsMainPanel.js b/assets/compressed_sensing_2018/j2s/JSV/js2d/JsMainPanel.js
similarity index 100%
rename from j2s/JSV/js2d/JsMainPanel.js
rename to assets/compressed_sensing_2018/j2s/JSV/js2d/JsMainPanel.js
diff --git a/j2s/JSV/js2d/JsPanel.js b/assets/compressed_sensing_2018/j2s/JSV/js2d/JsPanel.js
similarity index 100%
rename from j2s/JSV/js2d/JsPanel.js
rename to assets/compressed_sensing_2018/j2s/JSV/js2d/JsPanel.js
diff --git a/j2s/JSV/js2d/JsParameters.js b/assets/compressed_sensing_2018/j2s/JSV/js2d/JsParameters.js
similarity index 100%
rename from j2s/JSV/js2d/JsParameters.js
rename to assets/compressed_sensing_2018/j2s/JSV/js2d/JsParameters.js
diff --git a/j2s/JSV/js2d/JsPlatform.js b/assets/compressed_sensing_2018/j2s/JSV/js2d/JsPlatform.js
similarity index 100%
rename from j2s/JSV/js2d/JsPlatform.js
rename to assets/compressed_sensing_2018/j2s/JSV/js2d/JsPlatform.js
diff --git a/j2s/JSV/js2d/JsPopup.js b/assets/compressed_sensing_2018/j2s/JSV/js2d/JsPopup.js
similarity index 100%
rename from j2s/JSV/js2d/JsPopup.js
rename to assets/compressed_sensing_2018/j2s/JSV/js2d/JsPopup.js
diff --git a/j2s/JSV/popup/JSVGenericPopup.js b/assets/compressed_sensing_2018/j2s/JSV/popup/JSVGenericPopup.js
similarity index 100%
rename from j2s/JSV/popup/JSVGenericPopup.js
rename to assets/compressed_sensing_2018/j2s/JSV/popup/JSVGenericPopup.js
diff --git a/j2s/JSV/popup/JSVPopupResourceBundle.js b/assets/compressed_sensing_2018/j2s/JSV/popup/JSVPopupResourceBundle.js
similarity index 100%
rename from j2s/JSV/popup/JSVPopupResourceBundle.js
rename to assets/compressed_sensing_2018/j2s/JSV/popup/JSVPopupResourceBundle.js
diff --git a/j2s/JSV/source/AnIMLReader.js b/assets/compressed_sensing_2018/j2s/JSV/source/AnIMLReader.js
similarity index 100%
rename from j2s/JSV/source/AnIMLReader.js
rename to assets/compressed_sensing_2018/j2s/JSV/source/AnIMLReader.js
diff --git a/j2s/JSV/source/CMLReader.js b/assets/compressed_sensing_2018/j2s/JSV/source/CMLReader.js
similarity index 100%
rename from j2s/JSV/source/CMLReader.js
rename to assets/compressed_sensing_2018/j2s/JSV/source/CMLReader.js
diff --git a/j2s/JSV/source/JDXDataObject.js b/assets/compressed_sensing_2018/j2s/JSV/source/JDXDataObject.js
similarity index 100%
rename from j2s/JSV/source/JDXDataObject.js
rename to assets/compressed_sensing_2018/j2s/JSV/source/JDXDataObject.js
diff --git a/j2s/JSV/source/JDXDecompressor.js b/assets/compressed_sensing_2018/j2s/JSV/source/JDXDecompressor.js
similarity index 100%
rename from j2s/JSV/source/JDXDecompressor.js
rename to assets/compressed_sensing_2018/j2s/JSV/source/JDXDecompressor.js
diff --git a/j2s/JSV/source/JDXHeader.js b/assets/compressed_sensing_2018/j2s/JSV/source/JDXHeader.js
similarity index 100%
rename from j2s/JSV/source/JDXHeader.js
rename to assets/compressed_sensing_2018/j2s/JSV/source/JDXHeader.js
diff --git a/j2s/JSV/source/JDXReader.js b/assets/compressed_sensing_2018/j2s/JSV/source/JDXReader.js
similarity index 100%
rename from j2s/JSV/source/JDXReader.js
rename to assets/compressed_sensing_2018/j2s/JSV/source/JDXReader.js
diff --git a/j2s/JSV/source/JDXSource.js b/assets/compressed_sensing_2018/j2s/JSV/source/JDXSource.js
similarity index 100%
rename from j2s/JSV/source/JDXSource.js
rename to assets/compressed_sensing_2018/j2s/JSV/source/JDXSource.js
diff --git a/j2s/JSV/source/JDXSourceStreamTokenizer.js b/assets/compressed_sensing_2018/j2s/JSV/source/JDXSourceStreamTokenizer.js
similarity index 100%
rename from j2s/JSV/source/JDXSourceStreamTokenizer.js
rename to assets/compressed_sensing_2018/j2s/JSV/source/JDXSourceStreamTokenizer.js
diff --git a/j2s/JSV/source/XMLParser.js b/assets/compressed_sensing_2018/j2s/JSV/source/XMLParser.js
similarity index 100%
rename from j2s/JSV/source/XMLParser.js
rename to assets/compressed_sensing_2018/j2s/JSV/source/XMLParser.js
diff --git a/j2s/JSV/source/XMLReader.js b/assets/compressed_sensing_2018/j2s/JSV/source/XMLReader.js
similarity index 100%
rename from j2s/JSV/source/XMLReader.js
rename to assets/compressed_sensing_2018/j2s/JSV/source/XMLReader.js
diff --git a/j2s/JSV/tree/SimpleTree.js b/assets/compressed_sensing_2018/j2s/JSV/tree/SimpleTree.js
similarity index 100%
rename from j2s/JSV/tree/SimpleTree.js
rename to assets/compressed_sensing_2018/j2s/JSV/tree/SimpleTree.js
diff --git a/j2s/JSV/tree/SimpleTreeEnumeration.js b/assets/compressed_sensing_2018/j2s/JSV/tree/SimpleTreeEnumeration.js
similarity index 100%
rename from j2s/JSV/tree/SimpleTreeEnumeration.js
rename to assets/compressed_sensing_2018/j2s/JSV/tree/SimpleTreeEnumeration.js
diff --git a/j2s/JSV/tree/SimpleTreeModel.js b/assets/compressed_sensing_2018/j2s/JSV/tree/SimpleTreeModel.js
similarity index 100%
rename from j2s/JSV/tree/SimpleTreeModel.js
rename to assets/compressed_sensing_2018/j2s/JSV/tree/SimpleTreeModel.js
diff --git a/j2s/JSV/tree/SimpleTreeNode.js b/assets/compressed_sensing_2018/j2s/JSV/tree/SimpleTreeNode.js
similarity index 100%
rename from j2s/JSV/tree/SimpleTreeNode.js
rename to assets/compressed_sensing_2018/j2s/JSV/tree/SimpleTreeNode.js
diff --git a/j2s/JSV/tree/SimpleTreePath.js b/assets/compressed_sensing_2018/j2s/JSV/tree/SimpleTreePath.js
similarity index 100%
rename from j2s/JSV/tree/SimpleTreePath.js
rename to assets/compressed_sensing_2018/j2s/JSV/tree/SimpleTreePath.js
diff --git a/j2s/JU/A4.js b/assets/compressed_sensing_2018/j2s/JU/A4.js
similarity index 100%
rename from j2s/JU/A4.js
rename to assets/compressed_sensing_2018/j2s/JU/A4.js
diff --git a/j2s/JU/AU.js b/assets/compressed_sensing_2018/j2s/JU/AU.js
similarity index 100%
rename from j2s/JU/AU.js
rename to assets/compressed_sensing_2018/j2s/JU/AU.js
diff --git a/j2s/JU/Adler32.js b/assets/compressed_sensing_2018/j2s/JU/Adler32.js
similarity index 100%
rename from j2s/JU/Adler32.js
rename to assets/compressed_sensing_2018/j2s/JU/Adler32.js
diff --git a/j2s/JU/AjaxURLConnection.js b/assets/compressed_sensing_2018/j2s/JU/AjaxURLConnection.js
similarity index 100%
rename from j2s/JU/AjaxURLConnection.js
rename to assets/compressed_sensing_2018/j2s/JU/AjaxURLConnection.js
diff --git a/j2s/JU/AjaxURLStreamHandler.js b/assets/compressed_sensing_2018/j2s/JU/AjaxURLStreamHandler.js
similarity index 100%
rename from j2s/JU/AjaxURLStreamHandler.js
rename to assets/compressed_sensing_2018/j2s/JU/AjaxURLStreamHandler.js
diff --git a/j2s/JU/AjaxURLStreamHandlerFactory.js b/assets/compressed_sensing_2018/j2s/JU/AjaxURLStreamHandlerFactory.js
similarity index 100%
rename from j2s/JU/AjaxURLStreamHandlerFactory.js
rename to assets/compressed_sensing_2018/j2s/JU/AjaxURLStreamHandlerFactory.js
diff --git a/j2s/JU/ArrayDataReader.js b/assets/compressed_sensing_2018/j2s/JU/ArrayDataReader.js
similarity index 100%
rename from j2s/JU/ArrayDataReader.js
rename to assets/compressed_sensing_2018/j2s/JU/ArrayDataReader.js
diff --git a/j2s/JU/BArray.js b/assets/compressed_sensing_2018/j2s/JU/BArray.js
similarity index 100%
rename from j2s/JU/BArray.js
rename to assets/compressed_sensing_2018/j2s/JU/BArray.js
diff --git a/j2s/JU/BC.js b/assets/compressed_sensing_2018/j2s/JU/BC.js
similarity index 100%
rename from j2s/JU/BC.js
rename to assets/compressed_sensing_2018/j2s/JU/BC.js
diff --git a/j2s/JU/BS.js b/assets/compressed_sensing_2018/j2s/JU/BS.js
similarity index 100%
rename from j2s/JU/BS.js
rename to assets/compressed_sensing_2018/j2s/JU/BS.js
diff --git a/j2s/JU/BSUtil.js b/assets/compressed_sensing_2018/j2s/JU/BSUtil.js
similarity index 100%
rename from j2s/JU/BSUtil.js
rename to assets/compressed_sensing_2018/j2s/JU/BSUtil.js
diff --git a/j2s/JU/BZone.js b/assets/compressed_sensing_2018/j2s/JU/BZone.js
similarity index 100%
rename from j2s/JU/BZone.js
rename to assets/compressed_sensing_2018/j2s/JU/BZone.js
diff --git a/j2s/JU/Base64.js b/assets/compressed_sensing_2018/j2s/JU/Base64.js
similarity index 100%
rename from j2s/JU/Base64.js
rename to assets/compressed_sensing_2018/j2s/JU/Base64.js
diff --git a/j2s/JU/BinaryDocument.js b/assets/compressed_sensing_2018/j2s/JU/BinaryDocument.js
similarity index 100%
rename from j2s/JU/BinaryDocument.js
rename to assets/compressed_sensing_2018/j2s/JU/BinaryDocument.js
diff --git a/j2s/JU/BoxInfo.js b/assets/compressed_sensing_2018/j2s/JU/BoxInfo.js
similarity index 100%
rename from j2s/JU/BoxInfo.js
rename to assets/compressed_sensing_2018/j2s/JU/BoxInfo.js
diff --git a/j2s/JU/C.js b/assets/compressed_sensing_2018/j2s/JU/C.js
similarity index 100%
rename from j2s/JU/C.js
rename to assets/compressed_sensing_2018/j2s/JU/C.js
diff --git a/j2s/JU/CRC32.js b/assets/compressed_sensing_2018/j2s/JU/CRC32.js
similarity index 100%
rename from j2s/JU/CRC32.js
rename to assets/compressed_sensing_2018/j2s/JU/CRC32.js
diff --git a/j2s/JU/CU.js b/assets/compressed_sensing_2018/j2s/JU/CU.js
similarity index 100%
rename from j2s/JU/CU.js
rename to assets/compressed_sensing_2018/j2s/JU/CU.js
diff --git a/j2s/JU/Checksum.js b/assets/compressed_sensing_2018/j2s/JU/Checksum.js
similarity index 100%
rename from j2s/JU/Checksum.js
rename to assets/compressed_sensing_2018/j2s/JU/Checksum.js
diff --git a/j2s/JU/CifDataParser.js b/assets/compressed_sensing_2018/j2s/JU/CifDataParser.js
similarity index 100%
rename from j2s/JU/CifDataParser.js
rename to assets/compressed_sensing_2018/j2s/JU/CifDataParser.js
diff --git a/j2s/JU/ColorEncoder.js b/assets/compressed_sensing_2018/j2s/JU/ColorEncoder.js
similarity index 100%
rename from j2s/JU/ColorEncoder.js
rename to assets/compressed_sensing_2018/j2s/JU/ColorEncoder.js
diff --git a/j2s/JU/CommandHistory.js b/assets/compressed_sensing_2018/j2s/JU/CommandHistory.js
similarity index 100%
rename from j2s/JU/CommandHistory.js
rename to assets/compressed_sensing_2018/j2s/JU/CommandHistory.js
diff --git a/j2s/JU/CompoundDocDirEntry.js b/assets/compressed_sensing_2018/j2s/JU/CompoundDocDirEntry.js
similarity index 100%
rename from j2s/JU/CompoundDocDirEntry.js
rename to assets/compressed_sensing_2018/j2s/JU/CompoundDocDirEntry.js
diff --git a/j2s/JU/CompoundDocHeader.js b/assets/compressed_sensing_2018/j2s/JU/CompoundDocHeader.js
similarity index 100%
rename from j2s/JU/CompoundDocHeader.js
rename to assets/compressed_sensing_2018/j2s/JU/CompoundDocHeader.js
diff --git a/j2s/JU/CompoundDocument.js b/assets/compressed_sensing_2018/j2s/JU/CompoundDocument.js
similarity index 100%
rename from j2s/JU/CompoundDocument.js
rename to assets/compressed_sensing_2018/j2s/JU/CompoundDocument.js
diff --git a/j2s/JU/ContactPair.js b/assets/compressed_sensing_2018/j2s/JU/ContactPair.js
similarity index 100%
rename from j2s/JU/ContactPair.js
rename to assets/compressed_sensing_2018/j2s/JU/ContactPair.js
diff --git a/j2s/JU/DF.js b/assets/compressed_sensing_2018/j2s/JU/DF.js
similarity index 100%
rename from j2s/JU/DF.js
rename to assets/compressed_sensing_2018/j2s/JU/DF.js
diff --git a/j2s/JU/DataReader.js b/assets/compressed_sensing_2018/j2s/JU/DataReader.js
similarity index 100%
rename from j2s/JU/DataReader.js
rename to assets/compressed_sensing_2018/j2s/JU/DataReader.js
diff --git a/j2s/JU/DebugJS.js b/assets/compressed_sensing_2018/j2s/JU/DebugJS.js
similarity index 100%
rename from j2s/JU/DebugJS.js
rename to assets/compressed_sensing_2018/j2s/JU/DebugJS.js
diff --git a/j2s/JU/DefaultLogger.js b/assets/compressed_sensing_2018/j2s/JU/DefaultLogger.js
similarity index 100%
rename from j2s/JU/DefaultLogger.js
rename to assets/compressed_sensing_2018/j2s/JU/DefaultLogger.js
diff --git a/j2s/JU/Deflate.js b/assets/compressed_sensing_2018/j2s/JU/Deflate.js
similarity index 100%
rename from j2s/JU/Deflate.js
rename to assets/compressed_sensing_2018/j2s/JU/Deflate.js
diff --git a/j2s/JU/Deflater.js b/assets/compressed_sensing_2018/j2s/JU/Deflater.js
similarity index 100%
rename from j2s/JU/Deflater.js
rename to assets/compressed_sensing_2018/j2s/JU/Deflater.js
diff --git a/j2s/JU/DeflaterOutputStream.js b/assets/compressed_sensing_2018/j2s/JU/DeflaterOutputStream.js
similarity index 100%
rename from j2s/JU/DeflaterOutputStream.js
rename to assets/compressed_sensing_2018/j2s/JU/DeflaterOutputStream.js
diff --git a/j2s/JU/Edge.js b/assets/compressed_sensing_2018/j2s/JU/Edge.js
similarity index 100%
rename from j2s/JU/Edge.js
rename to assets/compressed_sensing_2018/j2s/JU/Edge.js
diff --git a/j2s/JU/Eigen.js b/assets/compressed_sensing_2018/j2s/JU/Eigen.js
similarity index 100%
rename from j2s/JU/Eigen.js
rename to assets/compressed_sensing_2018/j2s/JU/Eigen.js
diff --git a/j2s/JU/EigenSort.js b/assets/compressed_sensing_2018/j2s/JU/EigenSort.js
similarity index 100%
rename from j2s/JU/EigenSort.js
rename to assets/compressed_sensing_2018/j2s/JU/EigenSort.js
diff --git a/j2s/JU/Elements.js b/assets/compressed_sensing_2018/j2s/JU/Elements.js
similarity index 100%
rename from j2s/JU/Elements.js
rename to assets/compressed_sensing_2018/j2s/JU/Elements.js
diff --git a/j2s/JU/Encoding.js b/assets/compressed_sensing_2018/j2s/JU/Encoding.js
similarity index 100%
rename from j2s/JU/Encoding.js
rename to assets/compressed_sensing_2018/j2s/JU/Encoding.js
diff --git a/j2s/JU/Escape.js b/assets/compressed_sensing_2018/j2s/JU/Escape.js
similarity index 100%
rename from j2s/JU/Escape.js
rename to assets/compressed_sensing_2018/j2s/JU/Escape.js
diff --git a/j2s/JU/GData.js b/assets/compressed_sensing_2018/j2s/JU/GData.js
similarity index 100%
rename from j2s/JU/GData.js
rename to assets/compressed_sensing_2018/j2s/JU/GData.js
diff --git a/j2s/JU/GZIPException.js b/assets/compressed_sensing_2018/j2s/JU/GZIPException.js
similarity index 100%
rename from j2s/JU/GZIPException.js
rename to assets/compressed_sensing_2018/j2s/JU/GZIPException.js
diff --git a/j2s/JU/GZIPHeader.js b/assets/compressed_sensing_2018/j2s/JU/GZIPHeader.js
similarity index 100%
rename from j2s/JU/GZIPHeader.js
rename to assets/compressed_sensing_2018/j2s/JU/GZIPHeader.js
diff --git a/j2s/JU/GZIPInputStream.js b/assets/compressed_sensing_2018/j2s/JU/GZIPInputStream.js
similarity index 100%
rename from j2s/JU/GZIPInputStream.js
rename to assets/compressed_sensing_2018/j2s/JU/GZIPInputStream.js
diff --git a/j2s/JU/GZIPOutputStream.js b/assets/compressed_sensing_2018/j2s/JU/GZIPOutputStream.js
similarity index 100%
rename from j2s/JU/GZIPOutputStream.js
rename to assets/compressed_sensing_2018/j2s/JU/GZIPOutputStream.js
diff --git a/j2s/JU/GenericApplet.js b/assets/compressed_sensing_2018/j2s/JU/GenericApplet.js
similarity index 100%
rename from j2s/JU/GenericApplet.js
rename to assets/compressed_sensing_2018/j2s/JU/GenericApplet.js
diff --git a/j2s/JU/Geodesic.js b/assets/compressed_sensing_2018/j2s/JU/Geodesic.js
similarity index 100%
rename from j2s/JU/Geodesic.js
rename to assets/compressed_sensing_2018/j2s/JU/Geodesic.js
diff --git a/j2s/JU/InfBlocks.js b/assets/compressed_sensing_2018/j2s/JU/InfBlocks.js
similarity index 100%
rename from j2s/JU/InfBlocks.js
rename to assets/compressed_sensing_2018/j2s/JU/InfBlocks.js
diff --git a/j2s/JU/InfCodes.js b/assets/compressed_sensing_2018/j2s/JU/InfCodes.js
similarity index 100%
rename from j2s/JU/InfCodes.js
rename to assets/compressed_sensing_2018/j2s/JU/InfCodes.js
diff --git a/j2s/JU/InfTree.js b/assets/compressed_sensing_2018/j2s/JU/InfTree.js
similarity index 100%
rename from j2s/JU/InfTree.js
rename to assets/compressed_sensing_2018/j2s/JU/InfTree.js
diff --git a/j2s/JU/Inflate.js b/assets/compressed_sensing_2018/j2s/JU/Inflate.js
similarity index 100%
rename from j2s/JU/Inflate.js
rename to assets/compressed_sensing_2018/j2s/JU/Inflate.js
diff --git a/j2s/JU/Inflater.js b/assets/compressed_sensing_2018/j2s/JU/Inflater.js
similarity index 100%
rename from j2s/JU/Inflater.js
rename to assets/compressed_sensing_2018/j2s/JU/Inflater.js
diff --git a/j2s/JU/InflaterInputStream.js b/assets/compressed_sensing_2018/j2s/JU/InflaterInputStream.js
similarity index 100%
rename from j2s/JU/InflaterInputStream.js
rename to assets/compressed_sensing_2018/j2s/JU/InflaterInputStream.js
diff --git a/j2s/JU/Int2IntHash.js b/assets/compressed_sensing_2018/j2s/JU/Int2IntHash.js
similarity index 100%
rename from j2s/JU/Int2IntHash.js
rename to assets/compressed_sensing_2018/j2s/JU/Int2IntHash.js
diff --git a/j2s/JU/JSJSONParser.js b/assets/compressed_sensing_2018/j2s/JU/JSJSONParser.js
similarity index 100%
rename from j2s/JU/JSJSONParser.js
rename to assets/compressed_sensing_2018/j2s/JU/JSJSONParser.js
diff --git a/j2s/JU/JSONException.js b/assets/compressed_sensing_2018/j2s/JU/JSONException.js
similarity index 100%
rename from j2s/JU/JSONException.js
rename to assets/compressed_sensing_2018/j2s/JU/JSONException.js
diff --git a/j2s/JU/JSONWriter.js b/assets/compressed_sensing_2018/j2s/JU/JSONWriter.js
similarity index 100%
rename from j2s/JU/JSONWriter.js
rename to assets/compressed_sensing_2018/j2s/JU/JSONWriter.js
diff --git a/j2s/JU/JZlib.js b/assets/compressed_sensing_2018/j2s/JU/JZlib.js
similarity index 100%
rename from j2s/JU/JZlib.js
rename to assets/compressed_sensing_2018/j2s/JU/JZlib.js
diff --git a/j2s/JU/JmolAudio.js b/assets/compressed_sensing_2018/j2s/JU/JmolAudio.js
similarity index 100%
rename from j2s/JU/JmolAudio.js
rename to assets/compressed_sensing_2018/j2s/JU/JmolAudio.js
diff --git a/j2s/JU/JmolMolecule.js b/assets/compressed_sensing_2018/j2s/JU/JmolMolecule.js
similarity index 100%
rename from j2s/JU/JmolMolecule.js
rename to assets/compressed_sensing_2018/j2s/JU/JmolMolecule.js
diff --git a/j2s/JU/LimitedLineReader.js b/assets/compressed_sensing_2018/j2s/JU/LimitedLineReader.js
similarity index 100%
rename from j2s/JU/LimitedLineReader.js
rename to assets/compressed_sensing_2018/j2s/JU/LimitedLineReader.js
diff --git a/j2s/JU/ListDataReader.js b/assets/compressed_sensing_2018/j2s/JU/ListDataReader.js
similarity index 100%
rename from j2s/JU/ListDataReader.js
rename to assets/compressed_sensing_2018/j2s/JU/ListDataReader.js
diff --git a/j2s/JU/Logger.js b/assets/compressed_sensing_2018/j2s/JU/Logger.js
similarity index 100%
rename from j2s/JU/Logger.js
rename to assets/compressed_sensing_2018/j2s/JU/Logger.js
diff --git a/j2s/JU/LoggerInterface.js b/assets/compressed_sensing_2018/j2s/JU/LoggerInterface.js
similarity index 100%
rename from j2s/JU/LoggerInterface.js
rename to assets/compressed_sensing_2018/j2s/JU/LoggerInterface.js
diff --git a/j2s/JU/Lst.js b/assets/compressed_sensing_2018/j2s/JU/Lst.js
similarity index 100%
rename from j2s/JU/Lst.js
rename to assets/compressed_sensing_2018/j2s/JU/Lst.js
diff --git a/j2s/JU/M3.js b/assets/compressed_sensing_2018/j2s/JU/M3.js
similarity index 100%
rename from j2s/JU/M3.js
rename to assets/compressed_sensing_2018/j2s/JU/M3.js
diff --git a/j2s/JU/M34.js b/assets/compressed_sensing_2018/j2s/JU/M34.js
similarity index 100%
rename from j2s/JU/M34.js
rename to assets/compressed_sensing_2018/j2s/JU/M34.js
diff --git a/j2s/JU/M4.js b/assets/compressed_sensing_2018/j2s/JU/M4.js
similarity index 100%
rename from j2s/JU/M4.js
rename to assets/compressed_sensing_2018/j2s/JU/M4.js
diff --git a/j2s/JU/Matrix.js b/assets/compressed_sensing_2018/j2s/JU/Matrix.js
similarity index 100%
rename from j2s/JU/Matrix.js
rename to assets/compressed_sensing_2018/j2s/JU/Matrix.js
diff --git a/j2s/JU/Measure.js b/assets/compressed_sensing_2018/j2s/JU/Measure.js
similarity index 100%
rename from j2s/JU/Measure.js
rename to assets/compressed_sensing_2018/j2s/JU/Measure.js
diff --git a/j2s/JU/MeshCapper.js b/assets/compressed_sensing_2018/j2s/JU/MeshCapper.js
similarity index 100%
rename from j2s/JU/MeshCapper.js
rename to assets/compressed_sensing_2018/j2s/JU/MeshCapper.js
diff --git a/j2s/JU/MeshSlicer.js b/assets/compressed_sensing_2018/j2s/JU/MeshSlicer.js
similarity index 100%
rename from j2s/JU/MeshSlicer.js
rename to assets/compressed_sensing_2018/j2s/JU/MeshSlicer.js
diff --git a/j2s/JU/MeshSurface.js b/assets/compressed_sensing_2018/j2s/JU/MeshSurface.js
similarity index 100%
rename from j2s/JU/MeshSurface.js
rename to assets/compressed_sensing_2018/j2s/JU/MeshSurface.js
diff --git a/j2s/JU/MessagePackReader.js b/assets/compressed_sensing_2018/j2s/JU/MessagePackReader.js
similarity index 100%
rename from j2s/JU/MessagePackReader.js
rename to assets/compressed_sensing_2018/j2s/JU/MessagePackReader.js
diff --git a/j2s/JU/Modulation.js b/assets/compressed_sensing_2018/j2s/JU/Modulation.js
similarity index 100%
rename from j2s/JU/Modulation.js
rename to assets/compressed_sensing_2018/j2s/JU/Modulation.js
diff --git a/j2s/JU/ModulationSet.js b/assets/compressed_sensing_2018/j2s/JU/ModulationSet.js
similarity index 100%
rename from j2s/JU/ModulationSet.js
rename to assets/compressed_sensing_2018/j2s/JU/ModulationSet.js
diff --git a/j2s/JU/Node.js b/assets/compressed_sensing_2018/j2s/JU/Node.js
similarity index 100%
rename from j2s/JU/Node.js
rename to assets/compressed_sensing_2018/j2s/JU/Node.js
diff --git a/j2s/JU/Normix.js b/assets/compressed_sensing_2018/j2s/JU/Normix.js
similarity index 100%
rename from j2s/JU/Normix.js
rename to assets/compressed_sensing_2018/j2s/JU/Normix.js
diff --git a/j2s/JU/OC.js b/assets/compressed_sensing_2018/j2s/JU/OC.js
similarity index 100%
rename from j2s/JU/OC.js
rename to assets/compressed_sensing_2018/j2s/JU/OC.js
diff --git a/j2s/JU/P3.js b/assets/compressed_sensing_2018/j2s/JU/P3.js
similarity index 100%
rename from j2s/JU/P3.js
rename to assets/compressed_sensing_2018/j2s/JU/P3.js
diff --git a/j2s/JU/P3i.js b/assets/compressed_sensing_2018/j2s/JU/P3i.js
similarity index 100%
rename from j2s/JU/P3i.js
rename to assets/compressed_sensing_2018/j2s/JU/P3i.js
diff --git a/j2s/JU/P4.js b/assets/compressed_sensing_2018/j2s/JU/P4.js
similarity index 100%
rename from j2s/JU/P4.js
rename to assets/compressed_sensing_2018/j2s/JU/P4.js
diff --git a/j2s/JU/PT.js b/assets/compressed_sensing_2018/j2s/JU/PT.js
similarity index 100%
rename from j2s/JU/PT.js
rename to assets/compressed_sensing_2018/j2s/JU/PT.js
diff --git a/j2s/JU/Parser.js b/assets/compressed_sensing_2018/j2s/JU/Parser.js
similarity index 100%
rename from j2s/JU/Parser.js
rename to assets/compressed_sensing_2018/j2s/JU/Parser.js
diff --git a/j2s/JU/PatternMatcher.js b/assets/compressed_sensing_2018/j2s/JU/PatternMatcher.js
similarity index 100%
rename from j2s/JU/PatternMatcher.js
rename to assets/compressed_sensing_2018/j2s/JU/PatternMatcher.js
diff --git a/j2s/JU/Point3fi.js b/assets/compressed_sensing_2018/j2s/JU/Point3fi.js
similarity index 100%
rename from j2s/JU/Point3fi.js
rename to assets/compressed_sensing_2018/j2s/JU/Point3fi.js
diff --git a/j2s/JU/Quat.js b/assets/compressed_sensing_2018/j2s/JU/Quat.js
similarity index 100%
rename from j2s/JU/Quat.js
rename to assets/compressed_sensing_2018/j2s/JU/Quat.js
diff --git a/j2s/JU/Rdr.js b/assets/compressed_sensing_2018/j2s/JU/Rdr.js
similarity index 100%
rename from j2s/JU/Rdr.js
rename to assets/compressed_sensing_2018/j2s/JU/Rdr.js
diff --git a/j2s/JU/Rectangle.js b/assets/compressed_sensing_2018/j2s/JU/Rectangle.js
similarity index 100%
rename from j2s/JU/Rectangle.js
rename to assets/compressed_sensing_2018/j2s/JU/Rectangle.js
diff --git a/j2s/JU/Rgb16.js b/assets/compressed_sensing_2018/j2s/JU/Rgb16.js
similarity index 100%
rename from j2s/JU/Rgb16.js
rename to assets/compressed_sensing_2018/j2s/JU/Rgb16.js
diff --git a/j2s/JU/SB.js b/assets/compressed_sensing_2018/j2s/JU/SB.js
similarity index 100%
rename from j2s/JU/SB.js
rename to assets/compressed_sensing_2018/j2s/JU/SB.js
diff --git a/j2s/JU/Shader.js b/assets/compressed_sensing_2018/j2s/JU/Shader.js
similarity index 100%
rename from j2s/JU/Shader.js
rename to assets/compressed_sensing_2018/j2s/JU/Shader.js
diff --git a/j2s/JU/SimpleEdge.js b/assets/compressed_sensing_2018/j2s/JU/SimpleEdge.js
similarity index 100%
rename from j2s/JU/SimpleEdge.js
rename to assets/compressed_sensing_2018/j2s/JU/SimpleEdge.js
diff --git a/j2s/JU/SimpleNode.js b/assets/compressed_sensing_2018/j2s/JU/SimpleNode.js
similarity index 100%
rename from j2s/JU/SimpleNode.js
rename to assets/compressed_sensing_2018/j2s/JU/SimpleNode.js
diff --git a/j2s/JU/SimpleUnitCell.js b/assets/compressed_sensing_2018/j2s/JU/SimpleUnitCell.js
similarity index 100%
rename from j2s/JU/SimpleUnitCell.js
rename to assets/compressed_sensing_2018/j2s/JU/SimpleUnitCell.js
diff --git a/j2s/JU/StaticTree.js b/assets/compressed_sensing_2018/j2s/JU/StaticTree.js
similarity index 100%
rename from j2s/JU/StaticTree.js
rename to assets/compressed_sensing_2018/j2s/JU/StaticTree.js
diff --git a/j2s/JU/StringDataReader.js b/assets/compressed_sensing_2018/j2s/JU/StringDataReader.js
similarity index 100%
rename from j2s/JU/StringDataReader.js
rename to assets/compressed_sensing_2018/j2s/JU/StringDataReader.js
diff --git a/j2s/JU/T3.js b/assets/compressed_sensing_2018/j2s/JU/T3.js
similarity index 100%
rename from j2s/JU/T3.js
rename to assets/compressed_sensing_2018/j2s/JU/T3.js
diff --git a/j2s/JU/T3d.js b/assets/compressed_sensing_2018/j2s/JU/T3d.js
similarity index 100%
rename from j2s/JU/T3d.js
rename to assets/compressed_sensing_2018/j2s/JU/T3d.js
diff --git a/j2s/JU/T3i.js b/assets/compressed_sensing_2018/j2s/JU/T3i.js
similarity index 100%
rename from j2s/JU/T3i.js
rename to assets/compressed_sensing_2018/j2s/JU/T3i.js
diff --git a/j2s/JU/T4.js b/assets/compressed_sensing_2018/j2s/JU/T4.js
similarity index 100%
rename from j2s/JU/T4.js
rename to assets/compressed_sensing_2018/j2s/JU/T4.js
diff --git a/j2s/JU/TempArray.js b/assets/compressed_sensing_2018/j2s/JU/TempArray.js
similarity index 100%
rename from j2s/JU/TempArray.js
rename to assets/compressed_sensing_2018/j2s/JU/TempArray.js
diff --git a/j2s/JU/Tensor.js b/assets/compressed_sensing_2018/j2s/JU/Tensor.js
similarity index 100%
rename from j2s/JU/Tensor.js
rename to assets/compressed_sensing_2018/j2s/JU/Tensor.js
diff --git a/j2s/JU/Tree.js b/assets/compressed_sensing_2018/j2s/JU/Tree.js
similarity index 100%
rename from j2s/JU/Tree.js
rename to assets/compressed_sensing_2018/j2s/JU/Tree.js
diff --git a/j2s/JU/TriangleData.js b/assets/compressed_sensing_2018/j2s/JU/TriangleData.js
similarity index 100%
rename from j2s/JU/TriangleData.js
rename to assets/compressed_sensing_2018/j2s/JU/TriangleData.js
diff --git a/j2s/JU/Triangulator.js b/assets/compressed_sensing_2018/j2s/JU/Triangulator.js
similarity index 100%
rename from j2s/JU/Triangulator.js
rename to assets/compressed_sensing_2018/j2s/JU/Triangulator.js
diff --git a/j2s/JU/Txt.js b/assets/compressed_sensing_2018/j2s/JU/Txt.js
similarity index 100%
rename from j2s/JU/Txt.js
rename to assets/compressed_sensing_2018/j2s/JU/Txt.js
diff --git a/j2s/JU/V3.js b/assets/compressed_sensing_2018/j2s/JU/V3.js
similarity index 100%
rename from j2s/JU/V3.js
rename to assets/compressed_sensing_2018/j2s/JU/V3.js
diff --git a/j2s/JU/V3d.js b/assets/compressed_sensing_2018/j2s/JU/V3d.js
similarity index 100%
rename from j2s/JU/V3d.js
rename to assets/compressed_sensing_2018/j2s/JU/V3d.js
diff --git a/j2s/JU/Vibration.js b/assets/compressed_sensing_2018/j2s/JU/Vibration.js
similarity index 100%
rename from j2s/JU/Vibration.js
rename to assets/compressed_sensing_2018/j2s/JU/Vibration.js
diff --git a/j2s/JU/XmlUtil.js b/assets/compressed_sensing_2018/j2s/JU/XmlUtil.js
similarity index 100%
rename from j2s/JU/XmlUtil.js
rename to assets/compressed_sensing_2018/j2s/JU/XmlUtil.js
diff --git a/j2s/JU/ZStream.js b/assets/compressed_sensing_2018/j2s/JU/ZStream.js
similarity index 100%
rename from j2s/JU/ZStream.js
rename to assets/compressed_sensing_2018/j2s/JU/ZStream.js
diff --git a/j2s/JU/ZStreamException.js b/assets/compressed_sensing_2018/j2s/JU/ZStreamException.js
similarity index 100%
rename from j2s/JU/ZStreamException.js
rename to assets/compressed_sensing_2018/j2s/JU/ZStreamException.js
diff --git a/j2s/JU/ZipData.js b/assets/compressed_sensing_2018/j2s/JU/ZipData.js
similarity index 100%
rename from j2s/JU/ZipData.js
rename to assets/compressed_sensing_2018/j2s/JU/ZipData.js
diff --git a/j2s/JU/ZipTools.js b/assets/compressed_sensing_2018/j2s/JU/ZipTools.js
similarity index 100%
rename from j2s/JU/ZipTools.js
rename to assets/compressed_sensing_2018/j2s/JU/ZipTools.js
diff --git a/j2s/JU/package.js b/assets/compressed_sensing_2018/j2s/JU/package.js
similarity index 100%
rename from j2s/JU/package.js
rename to assets/compressed_sensing_2018/j2s/JU/package.js
diff --git a/j2s/JV/ActionManager.js b/assets/compressed_sensing_2018/j2s/JV/ActionManager.js
similarity index 100%
rename from j2s/JV/ActionManager.js
rename to assets/compressed_sensing_2018/j2s/JV/ActionManager.js
diff --git a/j2s/JV/AnimationManager.js b/assets/compressed_sensing_2018/j2s/JV/AnimationManager.js
similarity index 100%
rename from j2s/JV/AnimationManager.js
rename to assets/compressed_sensing_2018/j2s/JV/AnimationManager.js
diff --git a/j2s/JV/ChimeMessenger.js b/assets/compressed_sensing_2018/j2s/JV/ChimeMessenger.js
similarity index 100%
rename from j2s/JV/ChimeMessenger.js
rename to assets/compressed_sensing_2018/j2s/JV/ChimeMessenger.js
diff --git a/j2s/JV/ColorManager.js b/assets/compressed_sensing_2018/j2s/JV/ColorManager.js
similarity index 100%
rename from j2s/JV/ColorManager.js
rename to assets/compressed_sensing_2018/j2s/JV/ColorManager.js
diff --git a/j2s/JV/DataManager.js b/assets/compressed_sensing_2018/j2s/JV/DataManager.js
similarity index 100%
rename from j2s/JV/DataManager.js
rename to assets/compressed_sensing_2018/j2s/JV/DataManager.js
diff --git a/j2s/JV/FileManager.js b/assets/compressed_sensing_2018/j2s/JV/FileManager.js
similarity index 100%
rename from j2s/JV/FileManager.js
rename to assets/compressed_sensing_2018/j2s/JV/FileManager.js
diff --git a/j2s/JV/GlobalSettings.js b/assets/compressed_sensing_2018/j2s/JV/GlobalSettings.js
similarity index 100%
rename from j2s/JV/GlobalSettings.js
rename to assets/compressed_sensing_2018/j2s/JV/GlobalSettings.js
diff --git a/j2s/JV/JC.js b/assets/compressed_sensing_2018/j2s/JV/JC.js
similarity index 100%
rename from j2s/JV/JC.js
rename to assets/compressed_sensing_2018/j2s/JV/JC.js
diff --git a/j2s/JV/JmolAsyncException.js b/assets/compressed_sensing_2018/j2s/JV/JmolAsyncException.js
similarity index 100%
rename from j2s/JV/JmolAsyncException.js
rename to assets/compressed_sensing_2018/j2s/JV/JmolAsyncException.js
diff --git a/j2s/JV/JmolChimeMessenger.js b/assets/compressed_sensing_2018/j2s/JV/JmolChimeMessenger.js
similarity index 100%
rename from j2s/JV/JmolChimeMessenger.js
rename to assets/compressed_sensing_2018/j2s/JV/JmolChimeMessenger.js
diff --git a/j2s/JV/JmolStateCreator.js b/assets/compressed_sensing_2018/j2s/JV/JmolStateCreator.js
similarity index 100%
rename from j2s/JV/JmolStateCreator.js
rename to assets/compressed_sensing_2018/j2s/JV/JmolStateCreator.js
diff --git a/j2s/JV/ModelManager.js b/assets/compressed_sensing_2018/j2s/JV/ModelManager.js
similarity index 100%
rename from j2s/JV/ModelManager.js
rename to assets/compressed_sensing_2018/j2s/JV/ModelManager.js
diff --git a/j2s/JV/MouseState.js b/assets/compressed_sensing_2018/j2s/JV/MouseState.js
similarity index 100%
rename from j2s/JV/MouseState.js
rename to assets/compressed_sensing_2018/j2s/JV/MouseState.js
diff --git a/j2s/JV/OutputManager.js b/assets/compressed_sensing_2018/j2s/JV/OutputManager.js
similarity index 100%
rename from j2s/JV/OutputManager.js
rename to assets/compressed_sensing_2018/j2s/JV/OutputManager.js
diff --git a/j2s/JV/OutputManagerJS.js b/assets/compressed_sensing_2018/j2s/JV/OutputManagerJS.js
similarity index 100%
rename from j2s/JV/OutputManagerJS.js
rename to assets/compressed_sensing_2018/j2s/JV/OutputManagerJS.js
diff --git a/j2s/JV/PropertyManager.js b/assets/compressed_sensing_2018/j2s/JV/PropertyManager.js
similarity index 100%
rename from j2s/JV/PropertyManager.js
rename to assets/compressed_sensing_2018/j2s/JV/PropertyManager.js
diff --git a/j2s/JV/SelectionManager.js b/assets/compressed_sensing_2018/j2s/JV/SelectionManager.js
similarity index 100%
rename from j2s/JV/SelectionManager.js
rename to assets/compressed_sensing_2018/j2s/JV/SelectionManager.js
diff --git a/j2s/JV/ShapeManager.js b/assets/compressed_sensing_2018/j2s/JV/ShapeManager.js
similarity index 100%
rename from j2s/JV/ShapeManager.js
rename to assets/compressed_sensing_2018/j2s/JV/ShapeManager.js
diff --git a/j2s/JV/StateCreator.js b/assets/compressed_sensing_2018/j2s/JV/StateCreator.js
similarity index 100%
rename from j2s/JV/StateCreator.js
rename to assets/compressed_sensing_2018/j2s/JV/StateCreator.js
diff --git a/j2s/JV/StateManager.js b/assets/compressed_sensing_2018/j2s/JV/StateManager.js
similarity index 100%
rename from j2s/JV/StateManager.js
rename to assets/compressed_sensing_2018/j2s/JV/StateManager.js
diff --git a/j2s/JV/StatusManager.js b/assets/compressed_sensing_2018/j2s/JV/StatusManager.js
similarity index 100%
rename from j2s/JV/StatusManager.js
rename to assets/compressed_sensing_2018/j2s/JV/StatusManager.js
diff --git a/j2s/JV/TransformManager.js b/assets/compressed_sensing_2018/j2s/JV/TransformManager.js
similarity index 100%
rename from j2s/JV/TransformManager.js
rename to assets/compressed_sensing_2018/j2s/JV/TransformManager.js
diff --git a/j2s/JV/TransformManager4D.js b/assets/compressed_sensing_2018/j2s/JV/TransformManager4D.js
similarity index 100%
rename from j2s/JV/TransformManager4D.js
rename to assets/compressed_sensing_2018/j2s/JV/TransformManager4D.js
diff --git a/j2s/JV/Viewer.js b/assets/compressed_sensing_2018/j2s/JV/Viewer.js
similarity index 100%
rename from j2s/JV/Viewer.js
rename to assets/compressed_sensing_2018/j2s/JV/Viewer.js
diff --git a/j2s/JV/binding/Binding.js b/assets/compressed_sensing_2018/j2s/JV/binding/Binding.js
similarity index 100%
rename from j2s/JV/binding/Binding.js
rename to assets/compressed_sensing_2018/j2s/JV/binding/Binding.js
diff --git a/j2s/JV/binding/DragBinding.js b/assets/compressed_sensing_2018/j2s/JV/binding/DragBinding.js
similarity index 100%
rename from j2s/JV/binding/DragBinding.js
rename to assets/compressed_sensing_2018/j2s/JV/binding/DragBinding.js
diff --git a/j2s/JV/binding/JmolBinding.js b/assets/compressed_sensing_2018/j2s/JV/binding/JmolBinding.js
similarity index 100%
rename from j2s/JV/binding/JmolBinding.js
rename to assets/compressed_sensing_2018/j2s/JV/binding/JmolBinding.js
diff --git a/j2s/JV/binding/PfaatBinding.js b/assets/compressed_sensing_2018/j2s/JV/binding/PfaatBinding.js
similarity index 100%
rename from j2s/JV/binding/PfaatBinding.js
rename to assets/compressed_sensing_2018/j2s/JV/binding/PfaatBinding.js
diff --git a/j2s/JV/binding/RasmolBinding.js b/assets/compressed_sensing_2018/j2s/JV/binding/RasmolBinding.js
similarity index 100%
rename from j2s/JV/binding/RasmolBinding.js
rename to assets/compressed_sensing_2018/j2s/JV/binding/RasmolBinding.js
diff --git a/j2s/JV/package.js b/assets/compressed_sensing_2018/j2s/JV/package.js
similarity index 100%
rename from j2s/JV/package.js
rename to assets/compressed_sensing_2018/j2s/JV/package.js
diff --git a/j2s/Jmol.properties b/assets/compressed_sensing_2018/j2s/Jmol.properties
similarity index 100%
rename from j2s/Jmol.properties
rename to assets/compressed_sensing_2018/j2s/Jmol.properties
diff --git a/j2s/core/corebinary.js b/assets/compressed_sensing_2018/j2s/core/corebinary.js
similarity index 100%
rename from j2s/core/corebinary.js
rename to assets/compressed_sensing_2018/j2s/core/corebinary.js
diff --git a/j2s/core/corebinary.z.js b/assets/compressed_sensing_2018/j2s/core/corebinary.z.js
similarity index 100%
rename from j2s/core/corebinary.z.js
rename to assets/compressed_sensing_2018/j2s/core/corebinary.z.js
diff --git a/j2s/core/corebio.js b/assets/compressed_sensing_2018/j2s/core/corebio.js
similarity index 100%
rename from j2s/core/corebio.js
rename to assets/compressed_sensing_2018/j2s/core/corebio.js
diff --git a/j2s/core/corebio.z.js b/assets/compressed_sensing_2018/j2s/core/corebio.z.js
similarity index 100%
rename from j2s/core/corebio.z.js
rename to assets/compressed_sensing_2018/j2s/core/corebio.z.js
diff --git a/j2s/core/coreconsole.js b/assets/compressed_sensing_2018/j2s/core/coreconsole.js
similarity index 100%
rename from j2s/core/coreconsole.js
rename to assets/compressed_sensing_2018/j2s/core/coreconsole.js
diff --git a/j2s/core/coreconsole.z.js b/assets/compressed_sensing_2018/j2s/core/coreconsole.z.js
similarity index 100%
rename from j2s/core/coreconsole.z.js
rename to assets/compressed_sensing_2018/j2s/core/coreconsole.z.js
diff --git a/j2s/core/corejmol.js b/assets/compressed_sensing_2018/j2s/core/corejmol.js
similarity index 100%
rename from j2s/core/corejmol.js
rename to assets/compressed_sensing_2018/j2s/core/corejmol.js
diff --git a/j2s/core/corejmol.z.js b/assets/compressed_sensing_2018/j2s/core/corejmol.z.js
similarity index 100%
rename from j2s/core/corejmol.z.js
rename to assets/compressed_sensing_2018/j2s/core/corejmol.z.js
diff --git a/j2s/core/corejmoljsv.js b/assets/compressed_sensing_2018/j2s/core/corejmoljsv.js
similarity index 100%
rename from j2s/core/corejmoljsv.js
rename to assets/compressed_sensing_2018/j2s/core/corejmoljsv.js
diff --git a/j2s/core/corejmoljsv.z.js b/assets/compressed_sensing_2018/j2s/core/corejmoljsv.z.js
similarity index 100%
rename from j2s/core/corejmoljsv.z.js
rename to assets/compressed_sensing_2018/j2s/core/corejmoljsv.z.js
diff --git a/j2s/core/corejsv.js b/assets/compressed_sensing_2018/j2s/core/corejsv.js
similarity index 100%
rename from j2s/core/corejsv.js
rename to assets/compressed_sensing_2018/j2s/core/corejsv.js
diff --git a/j2s/core/corejsv.z.js b/assets/compressed_sensing_2018/j2s/core/corejsv.z.js
similarity index 100%
rename from j2s/core/corejsv.z.js
rename to assets/compressed_sensing_2018/j2s/core/corejsv.z.js
diff --git a/j2s/core/corejsvdialog.js b/assets/compressed_sensing_2018/j2s/core/corejsvdialog.js
similarity index 100%
rename from j2s/core/corejsvdialog.js
rename to assets/compressed_sensing_2018/j2s/core/corejsvdialog.js
diff --git a/j2s/core/corejsvdialog.z.js b/assets/compressed_sensing_2018/j2s/core/corejsvdialog.z.js
similarity index 100%
rename from j2s/core/corejsvdialog.z.js
rename to assets/compressed_sensing_2018/j2s/core/corejsvdialog.z.js
diff --git a/j2s/core/corejsvexport.js b/assets/compressed_sensing_2018/j2s/core/corejsvexport.js
similarity index 100%
rename from j2s/core/corejsvexport.js
rename to assets/compressed_sensing_2018/j2s/core/corejsvexport.js
diff --git a/j2s/core/corejsvexport.z.js b/assets/compressed_sensing_2018/j2s/core/corejsvexport.z.js
similarity index 100%
rename from j2s/core/corejsvexport.z.js
rename to assets/compressed_sensing_2018/j2s/core/corejsvexport.z.js
diff --git a/j2s/core/corejsvmenu.js b/assets/compressed_sensing_2018/j2s/core/corejsvmenu.js
similarity index 100%
rename from j2s/core/corejsvmenu.js
rename to assets/compressed_sensing_2018/j2s/core/corejsvmenu.js
diff --git a/j2s/core/corejsvmenu.z.js b/assets/compressed_sensing_2018/j2s/core/corejsvmenu.z.js
similarity index 100%
rename from j2s/core/corejsvmenu.z.js
rename to assets/compressed_sensing_2018/j2s/core/corejsvmenu.z.js
diff --git a/j2s/core/coremenu.js b/assets/compressed_sensing_2018/j2s/core/coremenu.js
similarity index 100%
rename from j2s/core/coremenu.js
rename to assets/compressed_sensing_2018/j2s/core/coremenu.js
diff --git a/j2s/core/coremenu.z.js b/assets/compressed_sensing_2018/j2s/core/coremenu.z.js
similarity index 100%
rename from j2s/core/coremenu.z.js
rename to assets/compressed_sensing_2018/j2s/core/coremenu.z.js
diff --git a/j2s/core/coremin.js b/assets/compressed_sensing_2018/j2s/core/coremin.js
similarity index 100%
rename from j2s/core/coremin.js
rename to assets/compressed_sensing_2018/j2s/core/coremin.js
diff --git a/j2s/core/coremin.z.js b/assets/compressed_sensing_2018/j2s/core/coremin.z.js
similarity index 100%
rename from j2s/core/coremin.z.js
rename to assets/compressed_sensing_2018/j2s/core/coremin.z.js
diff --git a/j2s/core/coreprop.js b/assets/compressed_sensing_2018/j2s/core/coreprop.js
similarity index 100%
rename from j2s/core/coreprop.js
rename to assets/compressed_sensing_2018/j2s/core/coreprop.js
diff --git a/j2s/core/coreprop.z.js b/assets/compressed_sensing_2018/j2s/core/coreprop.z.js
similarity index 100%
rename from j2s/core/coreprop.z.js
rename to assets/compressed_sensing_2018/j2s/core/coreprop.z.js
diff --git a/j2s/core/corepymol.js b/assets/compressed_sensing_2018/j2s/core/corepymol.js
similarity index 100%
rename from j2s/core/corepymol.js
rename to assets/compressed_sensing_2018/j2s/core/corepymol.js
diff --git a/j2s/core/corepymol.z.js b/assets/compressed_sensing_2018/j2s/core/corepymol.z.js
similarity index 100%
rename from j2s/core/corepymol.z.js
rename to assets/compressed_sensing_2018/j2s/core/corepymol.z.js
diff --git a/j2s/core/corescript.js b/assets/compressed_sensing_2018/j2s/core/corescript.js
similarity index 100%
rename from j2s/core/corescript.js
rename to assets/compressed_sensing_2018/j2s/core/corescript.js
diff --git a/j2s/core/corescript.z.js b/assets/compressed_sensing_2018/j2s/core/corescript.z.js
similarity index 100%
rename from j2s/core/corescript.z.js
rename to assets/compressed_sensing_2018/j2s/core/corescript.z.js
diff --git a/j2s/core/corescriptcmd.js b/assets/compressed_sensing_2018/j2s/core/corescriptcmd.js
similarity index 100%
rename from j2s/core/corescriptcmd.js
rename to assets/compressed_sensing_2018/j2s/core/corescriptcmd.js
diff --git a/j2s/core/corescriptcmd.z.js b/assets/compressed_sensing_2018/j2s/core/corescriptcmd.z.js
similarity index 100%
rename from j2s/core/corescriptcmd.z.js
rename to assets/compressed_sensing_2018/j2s/core/corescriptcmd.z.js
diff --git a/j2s/core/corescriptmath.js b/assets/compressed_sensing_2018/j2s/core/corescriptmath.js
similarity index 100%
rename from j2s/core/corescriptmath.js
rename to assets/compressed_sensing_2018/j2s/core/corescriptmath.js
diff --git a/j2s/core/corescriptmath.z.js b/assets/compressed_sensing_2018/j2s/core/corescriptmath.z.js
similarity index 100%
rename from j2s/core/corescriptmath.z.js
rename to assets/compressed_sensing_2018/j2s/core/corescriptmath.z.js
diff --git a/j2s/core/coresmiles.js b/assets/compressed_sensing_2018/j2s/core/coresmiles.js
similarity index 100%
rename from j2s/core/coresmiles.js
rename to assets/compressed_sensing_2018/j2s/core/coresmiles.js
diff --git a/j2s/core/coresmiles.z.js b/assets/compressed_sensing_2018/j2s/core/coresmiles.z.js
similarity index 100%
rename from j2s/core/coresmiles.z.js
rename to assets/compressed_sensing_2018/j2s/core/coresmiles.z.js
diff --git a/j2s/core/corestate.js b/assets/compressed_sensing_2018/j2s/core/corestate.js
similarity index 100%
rename from j2s/core/corestate.js
rename to assets/compressed_sensing_2018/j2s/core/corestate.js
diff --git a/j2s/core/corestate.z.js b/assets/compressed_sensing_2018/j2s/core/corestate.z.js
similarity index 100%
rename from j2s/core/corestate.z.js
rename to assets/compressed_sensing_2018/j2s/core/corestate.z.js
diff --git a/j2s/core/coresurface.js b/assets/compressed_sensing_2018/j2s/core/coresurface.js
similarity index 100%
rename from j2s/core/coresurface.js
rename to assets/compressed_sensing_2018/j2s/core/coresurface.js
diff --git a/j2s/core/coresurface.z.js b/assets/compressed_sensing_2018/j2s/core/coresurface.z.js
similarity index 100%
rename from j2s/core/coresurface.z.js
rename to assets/compressed_sensing_2018/j2s/core/coresurface.z.js
diff --git a/j2s/core/coreswing.js b/assets/compressed_sensing_2018/j2s/core/coreswing.js
similarity index 100%
rename from j2s/core/coreswing.js
rename to assets/compressed_sensing_2018/j2s/core/coreswing.js
diff --git a/j2s/core/coreswing.z.js b/assets/compressed_sensing_2018/j2s/core/coreswing.z.js
similarity index 100%
rename from j2s/core/coreswing.z.js
rename to assets/compressed_sensing_2018/j2s/core/coreswing.z.js
diff --git a/j2s/core/coresym.js b/assets/compressed_sensing_2018/j2s/core/coresym.js
similarity index 100%
rename from j2s/core/coresym.js
rename to assets/compressed_sensing_2018/j2s/core/coresym.js
diff --git a/j2s/core/coresym.z.js b/assets/compressed_sensing_2018/j2s/core/coresym.z.js
similarity index 100%
rename from j2s/core/coresym.z.js
rename to assets/compressed_sensing_2018/j2s/core/coresym.z.js
diff --git a/j2s/core/coretext.js b/assets/compressed_sensing_2018/j2s/core/coretext.js
similarity index 100%
rename from j2s/core/coretext.js
rename to assets/compressed_sensing_2018/j2s/core/coretext.js
diff --git a/j2s/core/coretext.z.js b/assets/compressed_sensing_2018/j2s/core/coretext.z.js
similarity index 100%
rename from j2s/core/coretext.z.js
rename to assets/compressed_sensing_2018/j2s/core/coretext.z.js
diff --git a/j2s/core/corezip.js b/assets/compressed_sensing_2018/j2s/core/corezip.js
similarity index 100%
rename from j2s/core/corezip.js
rename to assets/compressed_sensing_2018/j2s/core/corezip.js
diff --git a/j2s/core/corezip.z.js b/assets/compressed_sensing_2018/j2s/core/corezip.z.js
similarity index 100%
rename from j2s/core/corezip.z.js
rename to assets/compressed_sensing_2018/j2s/core/corezip.z.js
diff --git a/j2s/core/package.js b/assets/compressed_sensing_2018/j2s/core/package.js
similarity index 100%
rename from j2s/core/package.js
rename to assets/compressed_sensing_2018/j2s/core/package.js
diff --git a/j2s/img/JSmol_spinner.gif b/assets/compressed_sensing_2018/j2s/img/JSmol_spinner.gif
similarity index 100%
rename from j2s/img/JSmol_spinner.gif
rename to assets/compressed_sensing_2018/j2s/img/JSmol_spinner.gif
diff --git a/j2s/img/cursor_wait.gif b/assets/compressed_sensing_2018/j2s/img/cursor_wait.gif
similarity index 100%
rename from j2s/img/cursor_wait.gif
rename to assets/compressed_sensing_2018/j2s/img/cursor_wait.gif
diff --git a/j2s/img/play_make_live.jpg b/assets/compressed_sensing_2018/j2s/img/play_make_live.jpg
similarity index 100%
rename from j2s/img/play_make_live.jpg
rename to assets/compressed_sensing_2018/j2s/img/play_make_live.jpg
diff --git a/j2s/java/awt/Event.js b/assets/compressed_sensing_2018/j2s/java/awt/Event.js
similarity index 100%
rename from j2s/java/awt/Event.js
rename to assets/compressed_sensing_2018/j2s/java/awt/Event.js
diff --git a/j2s/java/awt/event/InputEvent.js b/assets/compressed_sensing_2018/j2s/java/awt/event/InputEvent.js
similarity index 100%
rename from j2s/java/awt/event/InputEvent.js
rename to assets/compressed_sensing_2018/j2s/java/awt/event/InputEvent.js
diff --git a/j2s/java/awt/event/KeyEvent.js b/assets/compressed_sensing_2018/j2s/java/awt/event/KeyEvent.js
similarity index 100%
rename from j2s/java/awt/event/KeyEvent.js
rename to assets/compressed_sensing_2018/j2s/java/awt/event/KeyEvent.js
diff --git a/j2s/java/awt/event/MouseEvent.js b/assets/compressed_sensing_2018/j2s/java/awt/event/MouseEvent.js
similarity index 100%
rename from j2s/java/awt/event/MouseEvent.js
rename to assets/compressed_sensing_2018/j2s/java/awt/event/MouseEvent.js
diff --git a/j2s/java/awt/event/MouseWheelEvent.js b/assets/compressed_sensing_2018/j2s/java/awt/event/MouseWheelEvent.js
similarity index 100%
rename from j2s/java/awt/event/MouseWheelEvent.js
rename to assets/compressed_sensing_2018/j2s/java/awt/event/MouseWheelEvent.js
diff --git a/j2s/java/error.z.js b/assets/compressed_sensing_2018/j2s/java/error.z.js
similarity index 100%
rename from j2s/java/error.z.js
rename to assets/compressed_sensing_2018/j2s/java/error.z.js
diff --git a/j2s/java/io/BufferedInputStream.js b/assets/compressed_sensing_2018/j2s/java/io/BufferedInputStream.js
similarity index 100%
rename from j2s/java/io/BufferedInputStream.js
rename to assets/compressed_sensing_2018/j2s/java/io/BufferedInputStream.js
diff --git a/j2s/java/io/BufferedOutputStream.js b/assets/compressed_sensing_2018/j2s/java/io/BufferedOutputStream.js
similarity index 100%
rename from j2s/java/io/BufferedOutputStream.js
rename to assets/compressed_sensing_2018/j2s/java/io/BufferedOutputStream.js
diff --git a/j2s/java/io/BufferedReader.js b/assets/compressed_sensing_2018/j2s/java/io/BufferedReader.js
similarity index 100%
rename from j2s/java/io/BufferedReader.js
rename to assets/compressed_sensing_2018/j2s/java/io/BufferedReader.js
diff --git a/j2s/java/io/BufferedWriter.js b/assets/compressed_sensing_2018/j2s/java/io/BufferedWriter.js
similarity index 100%
rename from j2s/java/io/BufferedWriter.js
rename to assets/compressed_sensing_2018/j2s/java/io/BufferedWriter.js
diff --git a/j2s/java/io/ByteArrayInputStream.js b/assets/compressed_sensing_2018/j2s/java/io/ByteArrayInputStream.js
similarity index 100%
rename from j2s/java/io/ByteArrayInputStream.js
rename to assets/compressed_sensing_2018/j2s/java/io/ByteArrayInputStream.js
diff --git a/j2s/java/io/ByteArrayOutputStream.js b/assets/compressed_sensing_2018/j2s/java/io/ByteArrayOutputStream.js
similarity index 100%
rename from j2s/java/io/ByteArrayOutputStream.js
rename to assets/compressed_sensing_2018/j2s/java/io/ByteArrayOutputStream.js
diff --git a/j2s/java/io/CharArrayReader.js b/assets/compressed_sensing_2018/j2s/java/io/CharArrayReader.js
similarity index 100%
rename from j2s/java/io/CharArrayReader.js
rename to assets/compressed_sensing_2018/j2s/java/io/CharArrayReader.js
diff --git a/j2s/java/io/CharArrayWriter.js b/assets/compressed_sensing_2018/j2s/java/io/CharArrayWriter.js
similarity index 100%
rename from j2s/java/io/CharArrayWriter.js
rename to assets/compressed_sensing_2018/j2s/java/io/CharArrayWriter.js
diff --git a/j2s/java/io/CharConversionException.js b/assets/compressed_sensing_2018/j2s/java/io/CharConversionException.js
similarity index 100%
rename from j2s/java/io/CharConversionException.js
rename to assets/compressed_sensing_2018/j2s/java/io/CharConversionException.js
diff --git a/j2s/java/io/Closeable.js b/assets/compressed_sensing_2018/j2s/java/io/Closeable.js
similarity index 100%
rename from j2s/java/io/Closeable.js
rename to assets/compressed_sensing_2018/j2s/java/io/Closeable.js
diff --git a/j2s/java/io/DataInput.js b/assets/compressed_sensing_2018/j2s/java/io/DataInput.js
similarity index 100%
rename from j2s/java/io/DataInput.js
rename to assets/compressed_sensing_2018/j2s/java/io/DataInput.js
diff --git a/j2s/java/io/DataInputStream.js b/assets/compressed_sensing_2018/j2s/java/io/DataInputStream.js
similarity index 100%
rename from j2s/java/io/DataInputStream.js
rename to assets/compressed_sensing_2018/j2s/java/io/DataInputStream.js
diff --git a/j2s/java/io/DataOutput.js b/assets/compressed_sensing_2018/j2s/java/io/DataOutput.js
similarity index 100%
rename from j2s/java/io/DataOutput.js
rename to assets/compressed_sensing_2018/j2s/java/io/DataOutput.js
diff --git a/j2s/java/io/EOFException.js b/assets/compressed_sensing_2018/j2s/java/io/EOFException.js
similarity index 100%
rename from j2s/java/io/EOFException.js
rename to assets/compressed_sensing_2018/j2s/java/io/EOFException.js
diff --git a/j2s/java/io/Externalizable.js b/assets/compressed_sensing_2018/j2s/java/io/Externalizable.js
similarity index 100%
rename from j2s/java/io/Externalizable.js
rename to assets/compressed_sensing_2018/j2s/java/io/Externalizable.js
diff --git a/j2s/java/io/FileInputStream.js b/assets/compressed_sensing_2018/j2s/java/io/FileInputStream.js
similarity index 100%
rename from j2s/java/io/FileInputStream.js
rename to assets/compressed_sensing_2018/j2s/java/io/FileInputStream.js
diff --git a/j2s/java/io/FileNotFoundException.js b/assets/compressed_sensing_2018/j2s/java/io/FileNotFoundException.js
similarity index 100%
rename from j2s/java/io/FileNotFoundException.js
rename to assets/compressed_sensing_2018/j2s/java/io/FileNotFoundException.js
diff --git a/j2s/java/io/FileOutputStream.js b/assets/compressed_sensing_2018/j2s/java/io/FileOutputStream.js
similarity index 100%
rename from j2s/java/io/FileOutputStream.js
rename to assets/compressed_sensing_2018/j2s/java/io/FileOutputStream.js
diff --git a/j2s/java/io/FilterInputStream.js b/assets/compressed_sensing_2018/j2s/java/io/FilterInputStream.js
similarity index 100%
rename from j2s/java/io/FilterInputStream.js
rename to assets/compressed_sensing_2018/j2s/java/io/FilterInputStream.js
diff --git a/j2s/java/io/FilterOutputStream.js b/assets/compressed_sensing_2018/j2s/java/io/FilterOutputStream.js
similarity index 100%
rename from j2s/java/io/FilterOutputStream.js
rename to assets/compressed_sensing_2018/j2s/java/io/FilterOutputStream.js
diff --git a/j2s/java/io/Flushable.js b/assets/compressed_sensing_2018/j2s/java/io/Flushable.js
similarity index 100%
rename from j2s/java/io/Flushable.js
rename to assets/compressed_sensing_2018/j2s/java/io/Flushable.js
diff --git a/j2s/java/io/IOException.js b/assets/compressed_sensing_2018/j2s/java/io/IOException.js
similarity index 100%
rename from j2s/java/io/IOException.js
rename to assets/compressed_sensing_2018/j2s/java/io/IOException.js
diff --git a/j2s/java/io/InputStream.js b/assets/compressed_sensing_2018/j2s/java/io/InputStream.js
similarity index 100%
rename from j2s/java/io/InputStream.js
rename to assets/compressed_sensing_2018/j2s/java/io/InputStream.js
diff --git a/j2s/java/io/InputStreamReader.js b/assets/compressed_sensing_2018/j2s/java/io/InputStreamReader.js
similarity index 100%
rename from j2s/java/io/InputStreamReader.js
rename to assets/compressed_sensing_2018/j2s/java/io/InputStreamReader.js
diff --git a/j2s/java/io/InterruptedIOException.js b/assets/compressed_sensing_2018/j2s/java/io/InterruptedIOException.js
similarity index 100%
rename from j2s/java/io/InterruptedIOException.js
rename to assets/compressed_sensing_2018/j2s/java/io/InterruptedIOException.js
diff --git a/j2s/java/io/InvalidClassException.js b/assets/compressed_sensing_2018/j2s/java/io/InvalidClassException.js
similarity index 100%
rename from j2s/java/io/InvalidClassException.js
rename to assets/compressed_sensing_2018/j2s/java/io/InvalidClassException.js
diff --git a/j2s/java/io/InvalidObjectException.js b/assets/compressed_sensing_2018/j2s/java/io/InvalidObjectException.js
similarity index 100%
rename from j2s/java/io/InvalidObjectException.js
rename to assets/compressed_sensing_2018/j2s/java/io/InvalidObjectException.js
diff --git a/j2s/java/io/NotActiveException.js b/assets/compressed_sensing_2018/j2s/java/io/NotActiveException.js
similarity index 100%
rename from j2s/java/io/NotActiveException.js
rename to assets/compressed_sensing_2018/j2s/java/io/NotActiveException.js
diff --git a/j2s/java/io/NotSerializableException.js b/assets/compressed_sensing_2018/j2s/java/io/NotSerializableException.js
similarity index 100%
rename from j2s/java/io/NotSerializableException.js
rename to assets/compressed_sensing_2018/j2s/java/io/NotSerializableException.js
diff --git a/j2s/java/io/ObjectStreamException.js b/assets/compressed_sensing_2018/j2s/java/io/ObjectStreamException.js
similarity index 100%
rename from j2s/java/io/ObjectStreamException.js
rename to assets/compressed_sensing_2018/j2s/java/io/ObjectStreamException.js
diff --git a/j2s/java/io/ObjectStreamField.js b/assets/compressed_sensing_2018/j2s/java/io/ObjectStreamField.js
similarity index 100%
rename from j2s/java/io/ObjectStreamField.js
rename to assets/compressed_sensing_2018/j2s/java/io/ObjectStreamField.js
diff --git a/j2s/java/io/OptionalDataException.js b/assets/compressed_sensing_2018/j2s/java/io/OptionalDataException.js
similarity index 100%
rename from j2s/java/io/OptionalDataException.js
rename to assets/compressed_sensing_2018/j2s/java/io/OptionalDataException.js
diff --git a/j2s/java/io/OutputStream.js b/assets/compressed_sensing_2018/j2s/java/io/OutputStream.js
similarity index 100%
rename from j2s/java/io/OutputStream.js
rename to assets/compressed_sensing_2018/j2s/java/io/OutputStream.js
diff --git a/j2s/java/io/PushbackInputStream.js b/assets/compressed_sensing_2018/j2s/java/io/PushbackInputStream.js
similarity index 100%
rename from j2s/java/io/PushbackInputStream.js
rename to assets/compressed_sensing_2018/j2s/java/io/PushbackInputStream.js
diff --git a/j2s/java/io/Reader.js b/assets/compressed_sensing_2018/j2s/java/io/Reader.js
similarity index 100%
rename from j2s/java/io/Reader.js
rename to assets/compressed_sensing_2018/j2s/java/io/Reader.js
diff --git a/j2s/java/io/SequenceInputStream.js b/assets/compressed_sensing_2018/j2s/java/io/SequenceInputStream.js
similarity index 100%
rename from j2s/java/io/SequenceInputStream.js
rename to assets/compressed_sensing_2018/j2s/java/io/SequenceInputStream.js
diff --git a/j2s/java/io/Serializable.js b/assets/compressed_sensing_2018/j2s/java/io/Serializable.js
similarity index 100%
rename from j2s/java/io/Serializable.js
rename to assets/compressed_sensing_2018/j2s/java/io/Serializable.js
diff --git a/j2s/java/io/StreamCorruptedException.js b/assets/compressed_sensing_2018/j2s/java/io/StreamCorruptedException.js
similarity index 100%
rename from j2s/java/io/StreamCorruptedException.js
rename to assets/compressed_sensing_2018/j2s/java/io/StreamCorruptedException.js
diff --git a/j2s/java/io/StringBufferInputStream.js b/assets/compressed_sensing_2018/j2s/java/io/StringBufferInputStream.js
similarity index 100%
rename from j2s/java/io/StringBufferInputStream.js
rename to assets/compressed_sensing_2018/j2s/java/io/StringBufferInputStream.js
diff --git a/j2s/java/io/StringReader.js b/assets/compressed_sensing_2018/j2s/java/io/StringReader.js
similarity index 100%
rename from j2s/java/io/StringReader.js
rename to assets/compressed_sensing_2018/j2s/java/io/StringReader.js
diff --git a/j2s/java/io/StringWriter.js b/assets/compressed_sensing_2018/j2s/java/io/StringWriter.js
similarity index 100%
rename from j2s/java/io/StringWriter.js
rename to assets/compressed_sensing_2018/j2s/java/io/StringWriter.js
diff --git a/j2s/java/io/SyncFailedException.js b/assets/compressed_sensing_2018/j2s/java/io/SyncFailedException.js
similarity index 100%
rename from j2s/java/io/SyncFailedException.js
rename to assets/compressed_sensing_2018/j2s/java/io/SyncFailedException.js
diff --git a/j2s/java/io/UTFDataFormatException.js b/assets/compressed_sensing_2018/j2s/java/io/UTFDataFormatException.js
similarity index 100%
rename from j2s/java/io/UTFDataFormatException.js
rename to assets/compressed_sensing_2018/j2s/java/io/UTFDataFormatException.js
diff --git a/j2s/java/io/UnsupportedEncodingException.js b/assets/compressed_sensing_2018/j2s/java/io/UnsupportedEncodingException.js
similarity index 100%
rename from j2s/java/io/UnsupportedEncodingException.js
rename to assets/compressed_sensing_2018/j2s/java/io/UnsupportedEncodingException.js
diff --git a/j2s/java/io/WriteAbortedException.js b/assets/compressed_sensing_2018/j2s/java/io/WriteAbortedException.js
similarity index 100%
rename from j2s/java/io/WriteAbortedException.js
rename to assets/compressed_sensing_2018/j2s/java/io/WriteAbortedException.js
diff --git a/j2s/java/io/Writer.js b/assets/compressed_sensing_2018/j2s/java/io/Writer.js
similarity index 100%
rename from j2s/java/io/Writer.js
rename to assets/compressed_sensing_2018/j2s/java/io/Writer.js
diff --git a/j2s/java/lang/AbstractMethodError.js b/assets/compressed_sensing_2018/j2s/java/lang/AbstractMethodError.js
similarity index 100%
rename from j2s/java/lang/AbstractMethodError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/AbstractMethodError.js
diff --git a/j2s/java/lang/AbstractStringBuilder.js b/assets/compressed_sensing_2018/j2s/java/lang/AbstractStringBuilder.js
similarity index 100%
rename from j2s/java/lang/AbstractStringBuilder.js
rename to assets/compressed_sensing_2018/j2s/java/lang/AbstractStringBuilder.js
diff --git a/j2s/java/lang/Appendable.js b/assets/compressed_sensing_2018/j2s/java/lang/Appendable.js
similarity index 100%
rename from j2s/java/lang/Appendable.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Appendable.js
diff --git a/j2s/java/lang/ArithmeticException.js b/assets/compressed_sensing_2018/j2s/java/lang/ArithmeticException.js
similarity index 100%
rename from j2s/java/lang/ArithmeticException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/ArithmeticException.js
diff --git a/j2s/java/lang/ArrayIndexOutOfBoundsException.js b/assets/compressed_sensing_2018/j2s/java/lang/ArrayIndexOutOfBoundsException.js
similarity index 100%
rename from j2s/java/lang/ArrayIndexOutOfBoundsException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/ArrayIndexOutOfBoundsException.js
diff --git a/j2s/java/lang/ArrayStoreException.js b/assets/compressed_sensing_2018/j2s/java/lang/ArrayStoreException.js
similarity index 100%
rename from j2s/java/lang/ArrayStoreException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/ArrayStoreException.js
diff --git a/j2s/java/lang/AssertionError.js b/assets/compressed_sensing_2018/j2s/java/lang/AssertionError.js
similarity index 100%
rename from j2s/java/lang/AssertionError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/AssertionError.js
diff --git a/j2s/java/lang/Boolean.js b/assets/compressed_sensing_2018/j2s/java/lang/Boolean.js
similarity index 100%
rename from j2s/java/lang/Boolean.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Boolean.js
diff --git a/j2s/java/lang/Byte.js b/assets/compressed_sensing_2018/j2s/java/lang/Byte.js
similarity index 100%
rename from j2s/java/lang/Byte.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Byte.js
diff --git a/j2s/java/lang/CharSequence.js b/assets/compressed_sensing_2018/j2s/java/lang/CharSequence.js
similarity index 100%
rename from j2s/java/lang/CharSequence.js
rename to assets/compressed_sensing_2018/j2s/java/lang/CharSequence.js
diff --git a/j2s/java/lang/Character.js b/assets/compressed_sensing_2018/j2s/java/lang/Character.js
similarity index 100%
rename from j2s/java/lang/Character.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Character.js
diff --git a/j2s/java/lang/Class.js b/assets/compressed_sensing_2018/j2s/java/lang/Class.js
similarity index 100%
rename from j2s/java/lang/Class.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Class.js
diff --git a/j2s/java/lang/ClassCastException.js b/assets/compressed_sensing_2018/j2s/java/lang/ClassCastException.js
similarity index 100%
rename from j2s/java/lang/ClassCastException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/ClassCastException.js
diff --git a/j2s/java/lang/ClassCircularityError.js b/assets/compressed_sensing_2018/j2s/java/lang/ClassCircularityError.js
similarity index 100%
rename from j2s/java/lang/ClassCircularityError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/ClassCircularityError.js
diff --git a/j2s/java/lang/ClassExt.js b/assets/compressed_sensing_2018/j2s/java/lang/ClassExt.js
similarity index 100%
rename from j2s/java/lang/ClassExt.js
rename to assets/compressed_sensing_2018/j2s/java/lang/ClassExt.js
diff --git a/j2s/java/lang/ClassFormatError.js b/assets/compressed_sensing_2018/j2s/java/lang/ClassFormatError.js
similarity index 100%
rename from j2s/java/lang/ClassFormatError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/ClassFormatError.js
diff --git a/j2s/java/lang/ClassLoader.js b/assets/compressed_sensing_2018/j2s/java/lang/ClassLoader.js
similarity index 100%
rename from j2s/java/lang/ClassLoader.js
rename to assets/compressed_sensing_2018/j2s/java/lang/ClassLoader.js
diff --git a/j2s/java/lang/ClassLoaderProgressMonitor.js b/assets/compressed_sensing_2018/j2s/java/lang/ClassLoaderProgressMonitor.js
similarity index 100%
rename from j2s/java/lang/ClassLoaderProgressMonitor.js
rename to assets/compressed_sensing_2018/j2s/java/lang/ClassLoaderProgressMonitor.js
diff --git a/j2s/java/lang/ClassNotFoundException.js b/assets/compressed_sensing_2018/j2s/java/lang/ClassNotFoundException.js
similarity index 100%
rename from j2s/java/lang/ClassNotFoundException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/ClassNotFoundException.js
diff --git a/j2s/java/lang/CloneNotSupportedException.js b/assets/compressed_sensing_2018/j2s/java/lang/CloneNotSupportedException.js
similarity index 100%
rename from j2s/java/lang/CloneNotSupportedException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/CloneNotSupportedException.js
diff --git a/j2s/java/lang/Cloneable.js b/assets/compressed_sensing_2018/j2s/java/lang/Cloneable.js
similarity index 100%
rename from j2s/java/lang/Cloneable.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Cloneable.js
diff --git a/j2s/java/lang/Comparable.js b/assets/compressed_sensing_2018/j2s/java/lang/Comparable.js
similarity index 100%
rename from j2s/java/lang/Comparable.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Comparable.js
diff --git a/j2s/java/lang/Console.js b/assets/compressed_sensing_2018/j2s/java/lang/Console.js
similarity index 100%
rename from j2s/java/lang/Console.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Console.js
diff --git a/j2s/java/lang/Double.js b/assets/compressed_sensing_2018/j2s/java/lang/Double.js
similarity index 100%
rename from j2s/java/lang/Double.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Double.js
diff --git a/j2s/java/lang/Encoding.js b/assets/compressed_sensing_2018/j2s/java/lang/Encoding.js
similarity index 100%
rename from j2s/java/lang/Encoding.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Encoding.js
diff --git a/j2s/java/lang/Enum.js b/assets/compressed_sensing_2018/j2s/java/lang/Enum.js
similarity index 100%
rename from j2s/java/lang/Enum.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Enum.js
diff --git a/j2s/java/lang/Error.js b/assets/compressed_sensing_2018/j2s/java/lang/Error.js
similarity index 100%
rename from j2s/java/lang/Error.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Error.js
diff --git a/j2s/java/lang/Exception.js b/assets/compressed_sensing_2018/j2s/java/lang/Exception.js
similarity index 100%
rename from j2s/java/lang/Exception.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Exception.js
diff --git a/j2s/java/lang/ExceptionInInitializerError.js b/assets/compressed_sensing_2018/j2s/java/lang/ExceptionInInitializerError.js
similarity index 100%
rename from j2s/java/lang/ExceptionInInitializerError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/ExceptionInInitializerError.js
diff --git a/j2s/java/lang/Float.js b/assets/compressed_sensing_2018/j2s/java/lang/Float.js
similarity index 100%
rename from j2s/java/lang/Float.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Float.js
diff --git a/j2s/java/lang/IllegalAccessError.js b/assets/compressed_sensing_2018/j2s/java/lang/IllegalAccessError.js
similarity index 100%
rename from j2s/java/lang/IllegalAccessError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/IllegalAccessError.js
diff --git a/j2s/java/lang/IllegalAccessException.js b/assets/compressed_sensing_2018/j2s/java/lang/IllegalAccessException.js
similarity index 100%
rename from j2s/java/lang/IllegalAccessException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/IllegalAccessException.js
diff --git a/j2s/java/lang/IllegalArgumentException.js b/assets/compressed_sensing_2018/j2s/java/lang/IllegalArgumentException.js
similarity index 100%
rename from j2s/java/lang/IllegalArgumentException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/IllegalArgumentException.js
diff --git a/j2s/java/lang/IllegalMonitorStateException.js b/assets/compressed_sensing_2018/j2s/java/lang/IllegalMonitorStateException.js
similarity index 100%
rename from j2s/java/lang/IllegalMonitorStateException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/IllegalMonitorStateException.js
diff --git a/j2s/java/lang/IllegalStateException.js b/assets/compressed_sensing_2018/j2s/java/lang/IllegalStateException.js
similarity index 100%
rename from j2s/java/lang/IllegalStateException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/IllegalStateException.js
diff --git a/j2s/java/lang/IllegalThreadStateException.js b/assets/compressed_sensing_2018/j2s/java/lang/IllegalThreadStateException.js
similarity index 100%
rename from j2s/java/lang/IllegalThreadStateException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/IllegalThreadStateException.js
diff --git a/j2s/java/lang/IncompatibleClassChangeError.js b/assets/compressed_sensing_2018/j2s/java/lang/IncompatibleClassChangeError.js
similarity index 100%
rename from j2s/java/lang/IncompatibleClassChangeError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/IncompatibleClassChangeError.js
diff --git a/j2s/java/lang/IndexOutOfBoundsException.js b/assets/compressed_sensing_2018/j2s/java/lang/IndexOutOfBoundsException.js
similarity index 100%
rename from j2s/java/lang/IndexOutOfBoundsException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/IndexOutOfBoundsException.js
diff --git a/j2s/java/lang/InstantiationError.js b/assets/compressed_sensing_2018/j2s/java/lang/InstantiationError.js
similarity index 100%
rename from j2s/java/lang/InstantiationError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/InstantiationError.js
diff --git a/j2s/java/lang/InstantiationException.js b/assets/compressed_sensing_2018/j2s/java/lang/InstantiationException.js
similarity index 100%
rename from j2s/java/lang/InstantiationException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/InstantiationException.js
diff --git a/j2s/java/lang/Integer.js b/assets/compressed_sensing_2018/j2s/java/lang/Integer.js
similarity index 100%
rename from j2s/java/lang/Integer.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Integer.js
diff --git a/j2s/java/lang/InternalError.js b/assets/compressed_sensing_2018/j2s/java/lang/InternalError.js
similarity index 100%
rename from j2s/java/lang/InternalError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/InternalError.js
diff --git a/j2s/java/lang/InterruptedException.js b/assets/compressed_sensing_2018/j2s/java/lang/InterruptedException.js
similarity index 100%
rename from j2s/java/lang/InterruptedException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/InterruptedException.js
diff --git a/j2s/java/lang/Iterable.js b/assets/compressed_sensing_2018/j2s/java/lang/Iterable.js
similarity index 100%
rename from j2s/java/lang/Iterable.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Iterable.js
diff --git a/j2s/java/lang/LinkageError.js b/assets/compressed_sensing_2018/j2s/java/lang/LinkageError.js
similarity index 100%
rename from j2s/java/lang/LinkageError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/LinkageError.js
diff --git a/j2s/java/lang/Long.js b/assets/compressed_sensing_2018/j2s/java/lang/Long.js
similarity index 100%
rename from j2s/java/lang/Long.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Long.js
diff --git a/j2s/java/lang/NegativeArraySizeException.js b/assets/compressed_sensing_2018/j2s/java/lang/NegativeArraySizeException.js
similarity index 100%
rename from j2s/java/lang/NegativeArraySizeException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/NegativeArraySizeException.js
diff --git a/j2s/java/lang/NoClassDefFoundError.js b/assets/compressed_sensing_2018/j2s/java/lang/NoClassDefFoundError.js
similarity index 100%
rename from j2s/java/lang/NoClassDefFoundError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/NoClassDefFoundError.js
diff --git a/j2s/java/lang/NoSuchFieldError.js b/assets/compressed_sensing_2018/j2s/java/lang/NoSuchFieldError.js
similarity index 100%
rename from j2s/java/lang/NoSuchFieldError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/NoSuchFieldError.js
diff --git a/j2s/java/lang/NoSuchFieldException.js b/assets/compressed_sensing_2018/j2s/java/lang/NoSuchFieldException.js
similarity index 100%
rename from j2s/java/lang/NoSuchFieldException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/NoSuchFieldException.js
diff --git a/j2s/java/lang/NoSuchMethodError.js b/assets/compressed_sensing_2018/j2s/java/lang/NoSuchMethodError.js
similarity index 100%
rename from j2s/java/lang/NoSuchMethodError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/NoSuchMethodError.js
diff --git a/j2s/java/lang/NoSuchMethodException.js b/assets/compressed_sensing_2018/j2s/java/lang/NoSuchMethodException.js
similarity index 100%
rename from j2s/java/lang/NoSuchMethodException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/NoSuchMethodException.js
diff --git a/j2s/java/lang/NullPointerException.js b/assets/compressed_sensing_2018/j2s/java/lang/NullPointerException.js
similarity index 100%
rename from j2s/java/lang/NullPointerException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/NullPointerException.js
diff --git a/j2s/java/lang/Number.js b/assets/compressed_sensing_2018/j2s/java/lang/Number.js
similarity index 100%
rename from j2s/java/lang/Number.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Number.js
diff --git a/j2s/java/lang/NumberFormatException.js b/assets/compressed_sensing_2018/j2s/java/lang/NumberFormatException.js
similarity index 100%
rename from j2s/java/lang/NumberFormatException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/NumberFormatException.js
diff --git a/j2s/java/lang/OutOfMemoryError.js b/assets/compressed_sensing_2018/j2s/java/lang/OutOfMemoryError.js
similarity index 100%
rename from j2s/java/lang/OutOfMemoryError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/OutOfMemoryError.js
diff --git a/j2s/java/lang/Readable.js b/assets/compressed_sensing_2018/j2s/java/lang/Readable.js
similarity index 100%
rename from j2s/java/lang/Readable.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Readable.js
diff --git a/j2s/java/lang/Runnable.js b/assets/compressed_sensing_2018/j2s/java/lang/Runnable.js
similarity index 100%
rename from j2s/java/lang/Runnable.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Runnable.js
diff --git a/j2s/java/lang/RuntimeException.js b/assets/compressed_sensing_2018/j2s/java/lang/RuntimeException.js
similarity index 100%
rename from j2s/java/lang/RuntimeException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/RuntimeException.js
diff --git a/j2s/java/lang/SecurityException.js b/assets/compressed_sensing_2018/j2s/java/lang/SecurityException.js
similarity index 100%
rename from j2s/java/lang/SecurityException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/SecurityException.js
diff --git a/j2s/java/lang/Short.js b/assets/compressed_sensing_2018/j2s/java/lang/Short.js
similarity index 100%
rename from j2s/java/lang/Short.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Short.js
diff --git a/j2s/java/lang/StackOverflowError.js b/assets/compressed_sensing_2018/j2s/java/lang/StackOverflowError.js
similarity index 100%
rename from j2s/java/lang/StackOverflowError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/StackOverflowError.js
diff --git a/j2s/java/lang/StackTraceElement.js b/assets/compressed_sensing_2018/j2s/java/lang/StackTraceElement.js
similarity index 100%
rename from j2s/java/lang/StackTraceElement.js
rename to assets/compressed_sensing_2018/j2s/java/lang/StackTraceElement.js
diff --git a/j2s/java/lang/StrictMath.js b/assets/compressed_sensing_2018/j2s/java/lang/StrictMath.js
similarity index 100%
rename from j2s/java/lang/StrictMath.js
rename to assets/compressed_sensing_2018/j2s/java/lang/StrictMath.js
diff --git a/j2s/java/lang/String.js b/assets/compressed_sensing_2018/j2s/java/lang/String.js
similarity index 100%
rename from j2s/java/lang/String.js
rename to assets/compressed_sensing_2018/j2s/java/lang/String.js
diff --git a/j2s/java/lang/StringBuffer.js b/assets/compressed_sensing_2018/j2s/java/lang/StringBuffer.js
similarity index 100%
rename from j2s/java/lang/StringBuffer.js
rename to assets/compressed_sensing_2018/j2s/java/lang/StringBuffer.js
diff --git a/j2s/java/lang/StringBuilder.js b/assets/compressed_sensing_2018/j2s/java/lang/StringBuilder.js
similarity index 100%
rename from j2s/java/lang/StringBuilder.js
rename to assets/compressed_sensing_2018/j2s/java/lang/StringBuilder.js
diff --git a/j2s/java/lang/StringBuilder.z.js b/assets/compressed_sensing_2018/j2s/java/lang/StringBuilder.z.js
similarity index 100%
rename from j2s/java/lang/StringBuilder.z.js
rename to assets/compressed_sensing_2018/j2s/java/lang/StringBuilder.z.js
diff --git a/j2s/java/lang/StringIndexOutOfBoundsException.js b/assets/compressed_sensing_2018/j2s/java/lang/StringIndexOutOfBoundsException.js
similarity index 100%
rename from j2s/java/lang/StringIndexOutOfBoundsException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/StringIndexOutOfBoundsException.js
diff --git a/j2s/java/lang/Thread.js b/assets/compressed_sensing_2018/j2s/java/lang/Thread.js
similarity index 100%
rename from j2s/java/lang/Thread.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Thread.js
diff --git a/j2s/java/lang/ThreadDeath.js b/assets/compressed_sensing_2018/j2s/java/lang/ThreadDeath.js
similarity index 100%
rename from j2s/java/lang/ThreadDeath.js
rename to assets/compressed_sensing_2018/j2s/java/lang/ThreadDeath.js
diff --git a/j2s/java/lang/ThreadGroup.js b/assets/compressed_sensing_2018/j2s/java/lang/ThreadGroup.js
similarity index 100%
rename from j2s/java/lang/ThreadGroup.js
rename to assets/compressed_sensing_2018/j2s/java/lang/ThreadGroup.js
diff --git a/j2s/java/lang/Throwable.js b/assets/compressed_sensing_2018/j2s/java/lang/Throwable.js
similarity index 100%
rename from j2s/java/lang/Throwable.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Throwable.js
diff --git a/j2s/java/lang/TypeNotPresentException.js b/assets/compressed_sensing_2018/j2s/java/lang/TypeNotPresentException.js
similarity index 100%
rename from j2s/java/lang/TypeNotPresentException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/TypeNotPresentException.js
diff --git a/j2s/java/lang/UnknownError.js b/assets/compressed_sensing_2018/j2s/java/lang/UnknownError.js
similarity index 100%
rename from j2s/java/lang/UnknownError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/UnknownError.js
diff --git a/j2s/java/lang/UnsatisfiedLinkError.js b/assets/compressed_sensing_2018/j2s/java/lang/UnsatisfiedLinkError.js
similarity index 100%
rename from j2s/java/lang/UnsatisfiedLinkError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/UnsatisfiedLinkError.js
diff --git a/j2s/java/lang/UnsupportedClassVersionError.js b/assets/compressed_sensing_2018/j2s/java/lang/UnsupportedClassVersionError.js
similarity index 100%
rename from j2s/java/lang/UnsupportedClassVersionError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/UnsupportedClassVersionError.js
diff --git a/j2s/java/lang/UnsupportedOperationException.js b/assets/compressed_sensing_2018/j2s/java/lang/UnsupportedOperationException.js
similarity index 100%
rename from j2s/java/lang/UnsupportedOperationException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/UnsupportedOperationException.js
diff --git a/j2s/java/lang/VerifyError.js b/assets/compressed_sensing_2018/j2s/java/lang/VerifyError.js
similarity index 100%
rename from j2s/java/lang/VerifyError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/VerifyError.js
diff --git a/j2s/java/lang/VirtualMachineError.js b/assets/compressed_sensing_2018/j2s/java/lang/VirtualMachineError.js
similarity index 100%
rename from j2s/java/lang/VirtualMachineError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/VirtualMachineError.js
diff --git a/j2s/java/lang/Void.js b/assets/compressed_sensing_2018/j2s/java/lang/Void.js
similarity index 100%
rename from j2s/java/lang/Void.js
rename to assets/compressed_sensing_2018/j2s/java/lang/Void.js
diff --git a/j2s/java/lang/reflect.z.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect.z.js
similarity index 100%
rename from j2s/java/lang/reflect.z.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect.z.js
diff --git a/j2s/java/lang/reflect/AccessibleObject.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/AccessibleObject.js
similarity index 100%
rename from j2s/java/lang/reflect/AccessibleObject.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/AccessibleObject.js
diff --git a/j2s/java/lang/reflect/AnnotatedElement.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/AnnotatedElement.js
similarity index 100%
rename from j2s/java/lang/reflect/AnnotatedElement.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/AnnotatedElement.js
diff --git a/j2s/java/lang/reflect/Array.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/Array.js
similarity index 100%
rename from j2s/java/lang/reflect/Array.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/Array.js
diff --git a/j2s/java/lang/reflect/Constructor.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/Constructor.js
similarity index 100%
rename from j2s/java/lang/reflect/Constructor.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/Constructor.js
diff --git a/j2s/java/lang/reflect/Field.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/Field.js
similarity index 100%
rename from j2s/java/lang/reflect/Field.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/Field.js
diff --git a/j2s/java/lang/reflect/GenericDeclaration.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/GenericDeclaration.js
similarity index 100%
rename from j2s/java/lang/reflect/GenericDeclaration.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/GenericDeclaration.js
diff --git a/j2s/java/lang/reflect/GenericSignatureFormatError.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/GenericSignatureFormatError.js
similarity index 100%
rename from j2s/java/lang/reflect/GenericSignatureFormatError.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/GenericSignatureFormatError.js
diff --git a/j2s/java/lang/reflect/InvocationHandler.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/InvocationHandler.js
similarity index 100%
rename from j2s/java/lang/reflect/InvocationHandler.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/InvocationHandler.js
diff --git a/j2s/java/lang/reflect/InvocationTargetException.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/InvocationTargetException.js
similarity index 100%
rename from j2s/java/lang/reflect/InvocationTargetException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/InvocationTargetException.js
diff --git a/j2s/java/lang/reflect/MalformedParameterizedTypeException.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/MalformedParameterizedTypeException.js
similarity index 100%
rename from j2s/java/lang/reflect/MalformedParameterizedTypeException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/MalformedParameterizedTypeException.js
diff --git a/j2s/java/lang/reflect/Member.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/Member.js
similarity index 100%
rename from j2s/java/lang/reflect/Member.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/Member.js
diff --git a/j2s/java/lang/reflect/Method.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/Method.js
similarity index 100%
rename from j2s/java/lang/reflect/Method.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/Method.js
diff --git a/j2s/java/lang/reflect/Modifier.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/Modifier.js
similarity index 100%
rename from j2s/java/lang/reflect/Modifier.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/Modifier.js
diff --git a/j2s/java/lang/reflect/Proxy.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/Proxy.js
similarity index 100%
rename from j2s/java/lang/reflect/Proxy.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/Proxy.js
diff --git a/j2s/java/lang/reflect/ReflectPermission.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/ReflectPermission.js
similarity index 100%
rename from j2s/java/lang/reflect/ReflectPermission.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/ReflectPermission.js
diff --git a/j2s/java/lang/reflect/TypeVariable.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/TypeVariable.js
similarity index 100%
rename from j2s/java/lang/reflect/TypeVariable.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/TypeVariable.js
diff --git a/j2s/java/lang/reflect/UndeclaredThrowableException.js b/assets/compressed_sensing_2018/j2s/java/lang/reflect/UndeclaredThrowableException.js
similarity index 100%
rename from j2s/java/lang/reflect/UndeclaredThrowableException.js
rename to assets/compressed_sensing_2018/j2s/java/lang/reflect/UndeclaredThrowableException.js
diff --git a/j2s/java/net/MalformedURLException.js b/assets/compressed_sensing_2018/j2s/java/net/MalformedURLException.js
similarity index 100%
rename from j2s/java/net/MalformedURLException.js
rename to assets/compressed_sensing_2018/j2s/java/net/MalformedURLException.js
diff --git a/j2s/java/net/Parts.js b/assets/compressed_sensing_2018/j2s/java/net/Parts.js
similarity index 100%
rename from j2s/java/net/Parts.js
rename to assets/compressed_sensing_2018/j2s/java/net/Parts.js
diff --git a/j2s/java/net/URL.js b/assets/compressed_sensing_2018/j2s/java/net/URL.js
similarity index 100%
rename from j2s/java/net/URL.js
rename to assets/compressed_sensing_2018/j2s/java/net/URL.js
diff --git a/j2s/java/net/URLConnection.js b/assets/compressed_sensing_2018/j2s/java/net/URLConnection.js
similarity index 100%
rename from j2s/java/net/URLConnection.js
rename to assets/compressed_sensing_2018/j2s/java/net/URLConnection.js
diff --git a/j2s/java/net/URLDecoder.js b/assets/compressed_sensing_2018/j2s/java/net/URLDecoder.js
similarity index 100%
rename from j2s/java/net/URLDecoder.js
rename to assets/compressed_sensing_2018/j2s/java/net/URLDecoder.js
diff --git a/j2s/java/net/URLEncoder.js b/assets/compressed_sensing_2018/j2s/java/net/URLEncoder.js
similarity index 100%
rename from j2s/java/net/URLEncoder.js
rename to assets/compressed_sensing_2018/j2s/java/net/URLEncoder.js
diff --git a/j2s/java/net/URLStreamHandler.js b/assets/compressed_sensing_2018/j2s/java/net/URLStreamHandler.js
similarity index 100%
rename from j2s/java/net/URLStreamHandler.js
rename to assets/compressed_sensing_2018/j2s/java/net/URLStreamHandler.js
diff --git a/j2s/java/net/URLStreamHandlerFactory.js b/assets/compressed_sensing_2018/j2s/java/net/URLStreamHandlerFactory.js
similarity index 100%
rename from j2s/java/net/URLStreamHandlerFactory.js
rename to assets/compressed_sensing_2018/j2s/java/net/URLStreamHandlerFactory.js
diff --git a/j2s/java/net/UnknownServiceException.js b/assets/compressed_sensing_2018/j2s/java/net/UnknownServiceException.js
similarity index 100%
rename from j2s/java/net/UnknownServiceException.js
rename to assets/compressed_sensing_2018/j2s/java/net/UnknownServiceException.js
diff --git a/j2s/java/text/Annotation.js b/assets/compressed_sensing_2018/j2s/java/text/Annotation.js
similarity index 100%
rename from j2s/java/text/Annotation.js
rename to assets/compressed_sensing_2018/j2s/java/text/Annotation.js
diff --git a/j2s/java/text/MessageFormat.js b/assets/compressed_sensing_2018/j2s/java/text/MessageFormat.js
similarity index 100%
rename from j2s/java/text/MessageFormat.js
rename to assets/compressed_sensing_2018/j2s/java/text/MessageFormat.js
diff --git a/j2s/java/util/AbstractCollection.js b/assets/compressed_sensing_2018/j2s/java/util/AbstractCollection.js
similarity index 100%
rename from j2s/java/util/AbstractCollection.js
rename to assets/compressed_sensing_2018/j2s/java/util/AbstractCollection.js
diff --git a/j2s/java/util/AbstractList.js b/assets/compressed_sensing_2018/j2s/java/util/AbstractList.js
similarity index 100%
rename from j2s/java/util/AbstractList.js
rename to assets/compressed_sensing_2018/j2s/java/util/AbstractList.js
diff --git a/j2s/java/util/AbstractMap.js b/assets/compressed_sensing_2018/j2s/java/util/AbstractMap.js
similarity index 100%
rename from j2s/java/util/AbstractMap.js
rename to assets/compressed_sensing_2018/j2s/java/util/AbstractMap.js
diff --git a/j2s/java/util/AbstractQueue.js b/assets/compressed_sensing_2018/j2s/java/util/AbstractQueue.js
similarity index 100%
rename from j2s/java/util/AbstractQueue.js
rename to assets/compressed_sensing_2018/j2s/java/util/AbstractQueue.js
diff --git a/j2s/java/util/AbstractSequentialList.js b/assets/compressed_sensing_2018/j2s/java/util/AbstractSequentialList.js
similarity index 100%
rename from j2s/java/util/AbstractSequentialList.js
rename to assets/compressed_sensing_2018/j2s/java/util/AbstractSequentialList.js
diff --git a/j2s/java/util/AbstractSet.js b/assets/compressed_sensing_2018/j2s/java/util/AbstractSet.js
similarity index 100%
rename from j2s/java/util/AbstractSet.js
rename to assets/compressed_sensing_2018/j2s/java/util/AbstractSet.js
diff --git a/j2s/java/util/ArrayList.js b/assets/compressed_sensing_2018/j2s/java/util/ArrayList.js
similarity index 100%
rename from j2s/java/util/ArrayList.js
rename to assets/compressed_sensing_2018/j2s/java/util/ArrayList.js
diff --git a/j2s/java/util/Arrays.js b/assets/compressed_sensing_2018/j2s/java/util/Arrays.js
similarity index 100%
rename from j2s/java/util/Arrays.js
rename to assets/compressed_sensing_2018/j2s/java/util/Arrays.js
diff --git a/j2s/java/util/BitSet.js b/assets/compressed_sensing_2018/j2s/java/util/BitSet.js
similarity index 100%
rename from j2s/java/util/BitSet.js
rename to assets/compressed_sensing_2018/j2s/java/util/BitSet.js
diff --git a/j2s/java/util/Collection.js b/assets/compressed_sensing_2018/j2s/java/util/Collection.js
similarity index 100%
rename from j2s/java/util/Collection.js
rename to assets/compressed_sensing_2018/j2s/java/util/Collection.js
diff --git a/j2s/java/util/Collections.js b/assets/compressed_sensing_2018/j2s/java/util/Collections.js
similarity index 100%
rename from j2s/java/util/Collections.js
rename to assets/compressed_sensing_2018/j2s/java/util/Collections.js
diff --git a/j2s/java/util/Comparator.js b/assets/compressed_sensing_2018/j2s/java/util/Comparator.js
similarity index 100%
rename from j2s/java/util/Comparator.js
rename to assets/compressed_sensing_2018/j2s/java/util/Comparator.js
diff --git a/j2s/java/util/ConcurrentModificationException.js b/assets/compressed_sensing_2018/j2s/java/util/ConcurrentModificationException.js
similarity index 100%
rename from j2s/java/util/ConcurrentModificationException.js
rename to assets/compressed_sensing_2018/j2s/java/util/ConcurrentModificationException.js
diff --git a/j2s/java/util/Date.js b/assets/compressed_sensing_2018/j2s/java/util/Date.js
similarity index 100%
rename from j2s/java/util/Date.js
rename to assets/compressed_sensing_2018/j2s/java/util/Date.js
diff --git a/j2s/java/util/Dictionary.js b/assets/compressed_sensing_2018/j2s/java/util/Dictionary.js
similarity index 100%
rename from j2s/java/util/Dictionary.js
rename to assets/compressed_sensing_2018/j2s/java/util/Dictionary.js
diff --git a/j2s/java/util/DuplicateFormatFlagsException.js b/assets/compressed_sensing_2018/j2s/java/util/DuplicateFormatFlagsException.js
similarity index 100%
rename from j2s/java/util/DuplicateFormatFlagsException.js
rename to assets/compressed_sensing_2018/j2s/java/util/DuplicateFormatFlagsException.js
diff --git a/j2s/java/util/EmptyStackException.js b/assets/compressed_sensing_2018/j2s/java/util/EmptyStackException.js
similarity index 100%
rename from j2s/java/util/EmptyStackException.js
rename to assets/compressed_sensing_2018/j2s/java/util/EmptyStackException.js
diff --git a/j2s/java/util/Enumeration.js b/assets/compressed_sensing_2018/j2s/java/util/Enumeration.js
similarity index 100%
rename from j2s/java/util/Enumeration.js
rename to assets/compressed_sensing_2018/j2s/java/util/Enumeration.js
diff --git a/j2s/java/util/EventListener.js b/assets/compressed_sensing_2018/j2s/java/util/EventListener.js
similarity index 100%
rename from j2s/java/util/EventListener.js
rename to assets/compressed_sensing_2018/j2s/java/util/EventListener.js
diff --git a/j2s/java/util/EventListenerProxy.js b/assets/compressed_sensing_2018/j2s/java/util/EventListenerProxy.js
similarity index 100%
rename from j2s/java/util/EventListenerProxy.js
rename to assets/compressed_sensing_2018/j2s/java/util/EventListenerProxy.js
diff --git a/j2s/java/util/EventObject.js b/assets/compressed_sensing_2018/j2s/java/util/EventObject.js
similarity index 100%
rename from j2s/java/util/EventObject.js
rename to assets/compressed_sensing_2018/j2s/java/util/EventObject.js
diff --git a/j2s/java/util/FormatFlagsConversionMismatchException.js b/assets/compressed_sensing_2018/j2s/java/util/FormatFlagsConversionMismatchException.js
similarity index 100%
rename from j2s/java/util/FormatFlagsConversionMismatchException.js
rename to assets/compressed_sensing_2018/j2s/java/util/FormatFlagsConversionMismatchException.js
diff --git a/j2s/java/util/FormatterClosedException.js b/assets/compressed_sensing_2018/j2s/java/util/FormatterClosedException.js
similarity index 100%
rename from j2s/java/util/FormatterClosedException.js
rename to assets/compressed_sensing_2018/j2s/java/util/FormatterClosedException.js
diff --git a/j2s/java/util/HashMap.js b/assets/compressed_sensing_2018/j2s/java/util/HashMap.js
similarity index 100%
rename from j2s/java/util/HashMap.js
rename to assets/compressed_sensing_2018/j2s/java/util/HashMap.js
diff --git a/j2s/java/util/HashSet.js b/assets/compressed_sensing_2018/j2s/java/util/HashSet.js
similarity index 100%
rename from j2s/java/util/HashSet.js
rename to assets/compressed_sensing_2018/j2s/java/util/HashSet.js
diff --git a/j2s/java/util/Hashtable.js b/assets/compressed_sensing_2018/j2s/java/util/Hashtable.js
similarity index 100%
rename from j2s/java/util/Hashtable.js
rename to assets/compressed_sensing_2018/j2s/java/util/Hashtable.js
diff --git a/j2s/java/util/IdentityHashMap.js b/assets/compressed_sensing_2018/j2s/java/util/IdentityHashMap.js
similarity index 100%
rename from j2s/java/util/IdentityHashMap.js
rename to assets/compressed_sensing_2018/j2s/java/util/IdentityHashMap.js
diff --git a/j2s/java/util/IllegalFormatCodePointException.js b/assets/compressed_sensing_2018/j2s/java/util/IllegalFormatCodePointException.js
similarity index 100%
rename from j2s/java/util/IllegalFormatCodePointException.js
rename to assets/compressed_sensing_2018/j2s/java/util/IllegalFormatCodePointException.js
diff --git a/j2s/java/util/IllegalFormatConversionException.js b/assets/compressed_sensing_2018/j2s/java/util/IllegalFormatConversionException.js
similarity index 100%
rename from j2s/java/util/IllegalFormatConversionException.js
rename to assets/compressed_sensing_2018/j2s/java/util/IllegalFormatConversionException.js
diff --git a/j2s/java/util/IllegalFormatException.js b/assets/compressed_sensing_2018/j2s/java/util/IllegalFormatException.js
similarity index 100%
rename from j2s/java/util/IllegalFormatException.js
rename to assets/compressed_sensing_2018/j2s/java/util/IllegalFormatException.js
diff --git a/j2s/java/util/IllegalFormatFlagsException.js b/assets/compressed_sensing_2018/j2s/java/util/IllegalFormatFlagsException.js
similarity index 100%
rename from j2s/java/util/IllegalFormatFlagsException.js
rename to assets/compressed_sensing_2018/j2s/java/util/IllegalFormatFlagsException.js
diff --git a/j2s/java/util/IllegalFormatPrecisionException.js b/assets/compressed_sensing_2018/j2s/java/util/IllegalFormatPrecisionException.js
similarity index 100%
rename from j2s/java/util/IllegalFormatPrecisionException.js
rename to assets/compressed_sensing_2018/j2s/java/util/IllegalFormatPrecisionException.js
diff --git a/j2s/java/util/IllegalFormatWidthException.js b/assets/compressed_sensing_2018/j2s/java/util/IllegalFormatWidthException.js
similarity index 100%
rename from j2s/java/util/IllegalFormatWidthException.js
rename to assets/compressed_sensing_2018/j2s/java/util/IllegalFormatWidthException.js
diff --git a/j2s/java/util/InputMismatchException.js b/assets/compressed_sensing_2018/j2s/java/util/InputMismatchException.js
similarity index 100%
rename from j2s/java/util/InputMismatchException.js
rename to assets/compressed_sensing_2018/j2s/java/util/InputMismatchException.js
diff --git a/j2s/java/util/InvalidPropertiesFormatException.js b/assets/compressed_sensing_2018/j2s/java/util/InvalidPropertiesFormatException.js
similarity index 100%
rename from j2s/java/util/InvalidPropertiesFormatException.js
rename to assets/compressed_sensing_2018/j2s/java/util/InvalidPropertiesFormatException.js
diff --git a/j2s/java/util/Iterator.js b/assets/compressed_sensing_2018/j2s/java/util/Iterator.js
similarity index 100%
rename from j2s/java/util/Iterator.js
rename to assets/compressed_sensing_2018/j2s/java/util/Iterator.js
diff --git a/j2s/java/util/LinkedHashMap.js b/assets/compressed_sensing_2018/j2s/java/util/LinkedHashMap.js
similarity index 100%
rename from j2s/java/util/LinkedHashMap.js
rename to assets/compressed_sensing_2018/j2s/java/util/LinkedHashMap.js
diff --git a/j2s/java/util/LinkedHashSet.js b/assets/compressed_sensing_2018/j2s/java/util/LinkedHashSet.js
similarity index 100%
rename from j2s/java/util/LinkedHashSet.js
rename to assets/compressed_sensing_2018/j2s/java/util/LinkedHashSet.js
diff --git a/j2s/java/util/LinkedList.js b/assets/compressed_sensing_2018/j2s/java/util/LinkedList.js
similarity index 100%
rename from j2s/java/util/LinkedList.js
rename to assets/compressed_sensing_2018/j2s/java/util/LinkedList.js
diff --git a/j2s/java/util/List.js b/assets/compressed_sensing_2018/j2s/java/util/List.js
similarity index 100%
rename from j2s/java/util/List.js
rename to assets/compressed_sensing_2018/j2s/java/util/List.js
diff --git a/j2s/java/util/ListIterator.js b/assets/compressed_sensing_2018/j2s/java/util/ListIterator.js
similarity index 100%
rename from j2s/java/util/ListIterator.js
rename to assets/compressed_sensing_2018/j2s/java/util/ListIterator.js
diff --git a/j2s/java/util/ListResourceBundle.js b/assets/compressed_sensing_2018/j2s/java/util/ListResourceBundle.js
similarity index 100%
rename from j2s/java/util/ListResourceBundle.js
rename to assets/compressed_sensing_2018/j2s/java/util/ListResourceBundle.js
diff --git a/j2s/java/util/Locale.js b/assets/compressed_sensing_2018/j2s/java/util/Locale.js
similarity index 100%
rename from j2s/java/util/Locale.js
rename to assets/compressed_sensing_2018/j2s/java/util/Locale.js
diff --git a/j2s/java/util/Map.js b/assets/compressed_sensing_2018/j2s/java/util/Map.js
similarity index 100%
rename from j2s/java/util/Map.js
rename to assets/compressed_sensing_2018/j2s/java/util/Map.js
diff --git a/j2s/java/util/MapEntry.js b/assets/compressed_sensing_2018/j2s/java/util/MapEntry.js
similarity index 100%
rename from j2s/java/util/MapEntry.js
rename to assets/compressed_sensing_2018/j2s/java/util/MapEntry.js
diff --git a/j2s/java/util/MissingFormatArgumentException.js b/assets/compressed_sensing_2018/j2s/java/util/MissingFormatArgumentException.js
similarity index 100%
rename from j2s/java/util/MissingFormatArgumentException.js
rename to assets/compressed_sensing_2018/j2s/java/util/MissingFormatArgumentException.js
diff --git a/j2s/java/util/MissingFormatWidthException.js b/assets/compressed_sensing_2018/j2s/java/util/MissingFormatWidthException.js
similarity index 100%
rename from j2s/java/util/MissingFormatWidthException.js
rename to assets/compressed_sensing_2018/j2s/java/util/MissingFormatWidthException.js
diff --git a/j2s/java/util/MissingResourceException.js b/assets/compressed_sensing_2018/j2s/java/util/MissingResourceException.js
similarity index 100%
rename from j2s/java/util/MissingResourceException.js
rename to assets/compressed_sensing_2018/j2s/java/util/MissingResourceException.js
diff --git a/j2s/java/util/NoSuchElementException.js b/assets/compressed_sensing_2018/j2s/java/util/NoSuchElementException.js
similarity index 100%
rename from j2s/java/util/NoSuchElementException.js
rename to assets/compressed_sensing_2018/j2s/java/util/NoSuchElementException.js
diff --git a/j2s/java/util/Observable.js b/assets/compressed_sensing_2018/j2s/java/util/Observable.js
similarity index 100%
rename from j2s/java/util/Observable.js
rename to assets/compressed_sensing_2018/j2s/java/util/Observable.js
diff --git a/j2s/java/util/Observer.js b/assets/compressed_sensing_2018/j2s/java/util/Observer.js
similarity index 100%
rename from j2s/java/util/Observer.js
rename to assets/compressed_sensing_2018/j2s/java/util/Observer.js
diff --git a/j2s/java/util/Properties.js b/assets/compressed_sensing_2018/j2s/java/util/Properties.js
similarity index 100%
rename from j2s/java/util/Properties.js
rename to assets/compressed_sensing_2018/j2s/java/util/Properties.js
diff --git a/j2s/java/util/Queue.js b/assets/compressed_sensing_2018/j2s/java/util/Queue.js
similarity index 100%
rename from j2s/java/util/Queue.js
rename to assets/compressed_sensing_2018/j2s/java/util/Queue.js
diff --git a/j2s/java/util/Random.js b/assets/compressed_sensing_2018/j2s/java/util/Random.js
similarity index 100%
rename from j2s/java/util/Random.js
rename to assets/compressed_sensing_2018/j2s/java/util/Random.js
diff --git a/j2s/java/util/RandomAccess.js b/assets/compressed_sensing_2018/j2s/java/util/RandomAccess.js
similarity index 100%
rename from j2s/java/util/RandomAccess.js
rename to assets/compressed_sensing_2018/j2s/java/util/RandomAccess.js
diff --git a/j2s/java/util/ResourceBundle.js b/assets/compressed_sensing_2018/j2s/java/util/ResourceBundle.js
similarity index 100%
rename from j2s/java/util/ResourceBundle.js
rename to assets/compressed_sensing_2018/j2s/java/util/ResourceBundle.js
diff --git a/j2s/java/util/Set.js b/assets/compressed_sensing_2018/j2s/java/util/Set.js
similarity index 100%
rename from j2s/java/util/Set.js
rename to assets/compressed_sensing_2018/j2s/java/util/Set.js
diff --git a/j2s/java/util/SortedMap.js b/assets/compressed_sensing_2018/j2s/java/util/SortedMap.js
similarity index 100%
rename from j2s/java/util/SortedMap.js
rename to assets/compressed_sensing_2018/j2s/java/util/SortedMap.js
diff --git a/j2s/java/util/SortedSet.js b/assets/compressed_sensing_2018/j2s/java/util/SortedSet.js
similarity index 100%
rename from j2s/java/util/SortedSet.js
rename to assets/compressed_sensing_2018/j2s/java/util/SortedSet.js
diff --git a/j2s/java/util/Stack.js b/assets/compressed_sensing_2018/j2s/java/util/Stack.js
similarity index 100%
rename from j2s/java/util/Stack.js
rename to assets/compressed_sensing_2018/j2s/java/util/Stack.js
diff --git a/j2s/java/util/StringTokenizer.js b/assets/compressed_sensing_2018/j2s/java/util/StringTokenizer.js
similarity index 100%
rename from j2s/java/util/StringTokenizer.js
rename to assets/compressed_sensing_2018/j2s/java/util/StringTokenizer.js
diff --git a/j2s/java/util/TooManyListenersException.js b/assets/compressed_sensing_2018/j2s/java/util/TooManyListenersException.js
similarity index 100%
rename from j2s/java/util/TooManyListenersException.js
rename to assets/compressed_sensing_2018/j2s/java/util/TooManyListenersException.js
diff --git a/j2s/java/util/TreeMap.js b/assets/compressed_sensing_2018/j2s/java/util/TreeMap.js
similarity index 100%
rename from j2s/java/util/TreeMap.js
rename to assets/compressed_sensing_2018/j2s/java/util/TreeMap.js
diff --git a/j2s/java/util/TreeSet.js b/assets/compressed_sensing_2018/j2s/java/util/TreeSet.js
similarity index 100%
rename from j2s/java/util/TreeSet.js
rename to assets/compressed_sensing_2018/j2s/java/util/TreeSet.js
diff --git a/j2s/java/util/UnknownFormatConversionException.js b/assets/compressed_sensing_2018/j2s/java/util/UnknownFormatConversionException.js
similarity index 100%
rename from j2s/java/util/UnknownFormatConversionException.js
rename to assets/compressed_sensing_2018/j2s/java/util/UnknownFormatConversionException.js
diff --git a/j2s/java/util/UnknownFormatFlagsException.js b/assets/compressed_sensing_2018/j2s/java/util/UnknownFormatFlagsException.js
similarity index 100%
rename from j2s/java/util/UnknownFormatFlagsException.js
rename to assets/compressed_sensing_2018/j2s/java/util/UnknownFormatFlagsException.js
diff --git a/j2s/java/util/Vector.js b/assets/compressed_sensing_2018/j2s/java/util/Vector.js
similarity index 100%
rename from j2s/java/util/Vector.js
rename to assets/compressed_sensing_2018/j2s/java/util/Vector.js
diff --git a/j2s/java/util/WeakHashMap.js b/assets/compressed_sensing_2018/j2s/java/util/WeakHashMap.js
similarity index 100%
rename from j2s/java/util/WeakHashMap.js
rename to assets/compressed_sensing_2018/j2s/java/util/WeakHashMap.js
diff --git a/j2s/java/util/regex/MatchResult.js b/assets/compressed_sensing_2018/j2s/java/util/regex/MatchResult.js
similarity index 100%
rename from j2s/java/util/regex/MatchResult.js
rename to assets/compressed_sensing_2018/j2s/java/util/regex/MatchResult.js
diff --git a/j2s/java/util/regex/Matcher.js b/assets/compressed_sensing_2018/j2s/java/util/regex/Matcher.js
similarity index 100%
rename from j2s/java/util/regex/Matcher.js
rename to assets/compressed_sensing_2018/j2s/java/util/regex/Matcher.js
diff --git a/j2s/java/util/regex/Pattern.js b/assets/compressed_sensing_2018/j2s/java/util/regex/Pattern.js
similarity index 100%
rename from j2s/java/util/regex/Pattern.js
rename to assets/compressed_sensing_2018/j2s/java/util/regex/Pattern.js
diff --git a/j2s/java/util/regex/PatternSyntaxException.js b/assets/compressed_sensing_2018/j2s/java/util/regex/PatternSyntaxException.js
similarity index 100%
rename from j2s/java/util/regex/PatternSyntaxException.js
rename to assets/compressed_sensing_2018/j2s/java/util/regex/PatternSyntaxException.js
diff --git a/j2s/java/util/zip/CRC32.js b/assets/compressed_sensing_2018/j2s/java/util/zip/CRC32.js
similarity index 100%
rename from j2s/java/util/zip/CRC32.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/CRC32.js
diff --git a/j2s/java/util/zip/CheckedInputStream.js b/assets/compressed_sensing_2018/j2s/java/util/zip/CheckedInputStream.js
similarity index 100%
rename from j2s/java/util/zip/CheckedInputStream.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/CheckedInputStream.js
diff --git a/j2s/java/util/zip/Checksum.js b/assets/compressed_sensing_2018/j2s/java/util/zip/Checksum.js
similarity index 100%
rename from j2s/java/util/zip/Checksum.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/Checksum.js
diff --git a/j2s/java/util/zip/Deflater.js b/assets/compressed_sensing_2018/j2s/java/util/zip/Deflater.js
similarity index 100%
rename from j2s/java/util/zip/Deflater.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/Deflater.js
diff --git a/j2s/java/util/zip/DeflaterOutputStream.js b/assets/compressed_sensing_2018/j2s/java/util/zip/DeflaterOutputStream.js
similarity index 100%
rename from j2s/java/util/zip/DeflaterOutputStream.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/DeflaterOutputStream.js
diff --git a/j2s/java/util/zip/GZIPInputStream.js b/assets/compressed_sensing_2018/j2s/java/util/zip/GZIPInputStream.js
similarity index 100%
rename from j2s/java/util/zip/GZIPInputStream.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/GZIPInputStream.js
diff --git a/j2s/java/util/zip/Inflater.js b/assets/compressed_sensing_2018/j2s/java/util/zip/Inflater.js
similarity index 100%
rename from j2s/java/util/zip/Inflater.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/Inflater.js
diff --git a/j2s/java/util/zip/InflaterInputStream.js b/assets/compressed_sensing_2018/j2s/java/util/zip/InflaterInputStream.js
similarity index 100%
rename from j2s/java/util/zip/InflaterInputStream.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/InflaterInputStream.js
diff --git a/j2s/java/util/zip/ZStreamRef.js b/assets/compressed_sensing_2018/j2s/java/util/zip/ZStreamRef.js
similarity index 100%
rename from j2s/java/util/zip/ZStreamRef.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/ZStreamRef.js
diff --git a/j2s/java/util/zip/ZipConstants.js b/assets/compressed_sensing_2018/j2s/java/util/zip/ZipConstants.js
similarity index 100%
rename from j2s/java/util/zip/ZipConstants.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/ZipConstants.js
diff --git a/j2s/java/util/zip/ZipConstants64.js b/assets/compressed_sensing_2018/j2s/java/util/zip/ZipConstants64.js
similarity index 100%
rename from j2s/java/util/zip/ZipConstants64.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/ZipConstants64.js
diff --git a/j2s/java/util/zip/ZipEntry.js b/assets/compressed_sensing_2018/j2s/java/util/zip/ZipEntry.js
similarity index 100%
rename from j2s/java/util/zip/ZipEntry.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/ZipEntry.js
diff --git a/j2s/java/util/zip/ZipException.js b/assets/compressed_sensing_2018/j2s/java/util/zip/ZipException.js
similarity index 100%
rename from j2s/java/util/zip/ZipException.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/ZipException.js
diff --git a/j2s/java/util/zip/ZipInputStream.js b/assets/compressed_sensing_2018/j2s/java/util/zip/ZipInputStream.js
similarity index 100%
rename from j2s/java/util/zip/ZipInputStream.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/ZipInputStream.js
diff --git a/j2s/java/util/zip/ZipOutputStream.js b/assets/compressed_sensing_2018/j2s/java/util/zip/ZipOutputStream.js
similarity index 100%
rename from j2s/java/util/zip/ZipOutputStream.js
rename to assets/compressed_sensing_2018/j2s/java/util/zip/ZipOutputStream.js
diff --git a/j2s/javajs/J2SIgnoreImport.js b/assets/compressed_sensing_2018/j2s/javajs/J2SIgnoreImport.js
similarity index 100%
rename from j2s/javajs/J2SIgnoreImport.js
rename to assets/compressed_sensing_2018/j2s/javajs/J2SIgnoreImport.js
diff --git a/j2s/javajs/J2SRequireImport.js b/assets/compressed_sensing_2018/j2s/javajs/J2SRequireImport.js
similarity index 100%
rename from j2s/javajs/J2SRequireImport.js
rename to assets/compressed_sensing_2018/j2s/javajs/J2SRequireImport.js
diff --git a/j2s/javajs/api/BytePoster.js b/assets/compressed_sensing_2018/j2s/javajs/api/BytePoster.js
similarity index 100%
rename from j2s/javajs/api/BytePoster.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/BytePoster.js
diff --git a/j2s/javajs/api/EigenInterface.js b/assets/compressed_sensing_2018/j2s/javajs/api/EigenInterface.js
similarity index 100%
rename from j2s/javajs/api/EigenInterface.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/EigenInterface.js
diff --git a/j2s/javajs/api/GenericBinaryDocument.js b/assets/compressed_sensing_2018/j2s/javajs/api/GenericBinaryDocument.js
similarity index 100%
rename from j2s/javajs/api/GenericBinaryDocument.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/GenericBinaryDocument.js
diff --git a/j2s/javajs/api/GenericBinaryDocumentReader.js b/assets/compressed_sensing_2018/j2s/javajs/api/GenericBinaryDocumentReader.js
similarity index 100%
rename from j2s/javajs/api/GenericBinaryDocumentReader.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/GenericBinaryDocumentReader.js
diff --git a/j2s/javajs/api/GenericCifDataParser.js b/assets/compressed_sensing_2018/j2s/javajs/api/GenericCifDataParser.js
similarity index 100%
rename from j2s/javajs/api/GenericCifDataParser.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/GenericCifDataParser.js
diff --git a/j2s/javajs/api/GenericColor.js b/assets/compressed_sensing_2018/j2s/javajs/api/GenericColor.js
similarity index 100%
rename from j2s/javajs/api/GenericColor.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/GenericColor.js
diff --git a/j2s/javajs/api/GenericFileInterface.js b/assets/compressed_sensing_2018/j2s/javajs/api/GenericFileInterface.js
similarity index 100%
rename from j2s/javajs/api/GenericFileInterface.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/GenericFileInterface.js
diff --git a/j2s/javajs/api/GenericImageEncoder.js b/assets/compressed_sensing_2018/j2s/javajs/api/GenericImageEncoder.js
similarity index 100%
rename from j2s/javajs/api/GenericImageEncoder.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/GenericImageEncoder.js
diff --git a/j2s/javajs/api/GenericLineReader.js b/assets/compressed_sensing_2018/j2s/javajs/api/GenericLineReader.js
similarity index 100%
rename from j2s/javajs/api/GenericLineReader.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/GenericLineReader.js
diff --git a/j2s/javajs/api/GenericOutputChannel.js b/assets/compressed_sensing_2018/j2s/javajs/api/GenericOutputChannel.js
similarity index 100%
rename from j2s/javajs/api/GenericOutputChannel.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/GenericOutputChannel.js
diff --git a/j2s/javajs/api/GenericZipInputStream.js b/assets/compressed_sensing_2018/j2s/javajs/api/GenericZipInputStream.js
similarity index 100%
rename from j2s/javajs/api/GenericZipInputStream.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/GenericZipInputStream.js
diff --git a/j2s/javajs/api/GenericZipTools.js b/assets/compressed_sensing_2018/j2s/javajs/api/GenericZipTools.js
similarity index 100%
rename from j2s/javajs/api/GenericZipTools.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/GenericZipTools.js
diff --git a/j2s/javajs/api/Interface.js b/assets/compressed_sensing_2018/j2s/javajs/api/Interface.js
similarity index 100%
rename from j2s/javajs/api/Interface.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/Interface.js
diff --git a/j2s/javajs/api/JSFunction.js b/assets/compressed_sensing_2018/j2s/javajs/api/JSFunction.js
similarity index 100%
rename from j2s/javajs/api/JSFunction.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/JSFunction.js
diff --git a/j2s/javajs/api/JSInterface.js b/assets/compressed_sensing_2018/j2s/javajs/api/JSInterface.js
similarity index 100%
rename from j2s/javajs/api/JSInterface.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/JSInterface.js
diff --git a/j2s/javajs/api/JSONEncodable.js b/assets/compressed_sensing_2018/j2s/javajs/api/JSONEncodable.js
similarity index 100%
rename from j2s/javajs/api/JSONEncodable.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/JSONEncodable.js
diff --git a/j2s/javajs/api/ZInputStream.js b/assets/compressed_sensing_2018/j2s/javajs/api/ZInputStream.js
similarity index 100%
rename from j2s/javajs/api/ZInputStream.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/ZInputStream.js
diff --git a/j2s/javajs/api/js/J2SObjectInterface.js b/assets/compressed_sensing_2018/j2s/javajs/api/js/J2SObjectInterface.js
similarity index 100%
rename from j2s/javajs/api/js/J2SObjectInterface.js
rename to assets/compressed_sensing_2018/j2s/javajs/api/js/J2SObjectInterface.js
diff --git a/j2s/javajs/awt/BorderLayout.js b/assets/compressed_sensing_2018/j2s/javajs/awt/BorderLayout.js
similarity index 100%
rename from j2s/javajs/awt/BorderLayout.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/BorderLayout.js
diff --git a/j2s/javajs/awt/Color.js b/assets/compressed_sensing_2018/j2s/javajs/awt/Color.js
similarity index 100%
rename from j2s/javajs/awt/Color.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/Color.js
diff --git a/j2s/javajs/awt/Component.js b/assets/compressed_sensing_2018/j2s/javajs/awt/Component.js
similarity index 100%
rename from j2s/javajs/awt/Component.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/Component.js
diff --git a/j2s/javajs/awt/Container.js b/assets/compressed_sensing_2018/j2s/javajs/awt/Container.js
similarity index 100%
rename from j2s/javajs/awt/Container.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/Container.js
diff --git a/j2s/javajs/awt/Dimension.js b/assets/compressed_sensing_2018/j2s/javajs/awt/Dimension.js
similarity index 100%
rename from j2s/javajs/awt/Dimension.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/Dimension.js
diff --git a/j2s/javajs/awt/EventManager.js b/assets/compressed_sensing_2018/j2s/javajs/awt/EventManager.js
similarity index 100%
rename from j2s/javajs/awt/EventManager.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/EventManager.js
diff --git a/j2s/javajs/awt/Font.js b/assets/compressed_sensing_2018/j2s/javajs/awt/Font.js
similarity index 100%
rename from j2s/javajs/awt/Font.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/Font.js
diff --git a/j2s/javajs/awt/FontManager.js b/assets/compressed_sensing_2018/j2s/javajs/awt/FontManager.js
similarity index 100%
rename from j2s/javajs/awt/FontManager.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/FontManager.js
diff --git a/j2s/javajs/awt/GenericImageDialog.js b/assets/compressed_sensing_2018/j2s/javajs/awt/GenericImageDialog.js
similarity index 100%
rename from j2s/javajs/awt/GenericImageDialog.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/GenericImageDialog.js
diff --git a/j2s/javajs/awt/GenericMenuInterface.js b/assets/compressed_sensing_2018/j2s/javajs/awt/GenericMenuInterface.js
similarity index 100%
rename from j2s/javajs/awt/GenericMenuInterface.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/GenericMenuInterface.js
diff --git a/j2s/javajs/awt/GenericMouseInterface.js b/assets/compressed_sensing_2018/j2s/javajs/awt/GenericMouseInterface.js
similarity index 100%
rename from j2s/javajs/awt/GenericMouseInterface.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/GenericMouseInterface.js
diff --git a/j2s/javajs/awt/GenericPlatform.js b/assets/compressed_sensing_2018/j2s/javajs/awt/GenericPlatform.js
similarity index 100%
rename from j2s/javajs/awt/GenericPlatform.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/GenericPlatform.js
diff --git a/j2s/javajs/awt/LayoutManager.js b/assets/compressed_sensing_2018/j2s/javajs/awt/LayoutManager.js
similarity index 100%
rename from j2s/javajs/awt/LayoutManager.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/LayoutManager.js
diff --git a/j2s/javajs/awt/PlatformViewer.js b/assets/compressed_sensing_2018/j2s/javajs/awt/PlatformViewer.js
similarity index 100%
rename from j2s/javajs/awt/PlatformViewer.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/PlatformViewer.js
diff --git a/j2s/javajs/awt/SC.js b/assets/compressed_sensing_2018/j2s/javajs/awt/SC.js
similarity index 100%
rename from j2s/javajs/awt/SC.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/SC.js
diff --git a/j2s/javajs/awt/event/ActionEvent.js b/assets/compressed_sensing_2018/j2s/javajs/awt/event/ActionEvent.js
similarity index 100%
rename from j2s/javajs/awt/event/ActionEvent.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/event/ActionEvent.js
diff --git a/j2s/javajs/awt/event/ActionListener.js b/assets/compressed_sensing_2018/j2s/javajs/awt/event/ActionListener.js
similarity index 100%
rename from j2s/javajs/awt/event/ActionListener.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/event/ActionListener.js
diff --git a/j2s/javajs/awt/event/Event.js b/assets/compressed_sensing_2018/j2s/javajs/awt/event/Event.js
similarity index 100%
rename from j2s/javajs/awt/event/Event.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/event/Event.js
diff --git a/j2s/javajs/awt/event/ItemEvent.js b/assets/compressed_sensing_2018/j2s/javajs/awt/event/ItemEvent.js
similarity index 100%
rename from j2s/javajs/awt/event/ItemEvent.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/event/ItemEvent.js
diff --git a/j2s/javajs/awt/event/WindowEvent.js b/assets/compressed_sensing_2018/j2s/javajs/awt/event/WindowEvent.js
similarity index 100%
rename from j2s/javajs/awt/event/WindowEvent.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/event/WindowEvent.js
diff --git a/j2s/javajs/awt/event/WindowListener.js b/assets/compressed_sensing_2018/j2s/javajs/awt/event/WindowListener.js
similarity index 100%
rename from j2s/javajs/awt/event/WindowListener.js
rename to assets/compressed_sensing_2018/j2s/javajs/awt/event/WindowListener.js
diff --git a/j2s/javajs/export/PDFCreator.js b/assets/compressed_sensing_2018/j2s/javajs/export/PDFCreator.js
similarity index 100%
rename from j2s/javajs/export/PDFCreator.js
rename to assets/compressed_sensing_2018/j2s/javajs/export/PDFCreator.js
diff --git a/j2s/javajs/export/PDFObject.js b/assets/compressed_sensing_2018/j2s/javajs/export/PDFObject.js
similarity index 100%
rename from j2s/javajs/export/PDFObject.js
rename to assets/compressed_sensing_2018/j2s/javajs/export/PDFObject.js
diff --git a/j2s/javajs/img/BMPDecoder.js b/assets/compressed_sensing_2018/j2s/javajs/img/BMPDecoder.js
similarity index 100%
rename from j2s/javajs/img/BMPDecoder.js
rename to assets/compressed_sensing_2018/j2s/javajs/img/BMPDecoder.js
diff --git a/j2s/javajs/img/CRCEncoder.js b/assets/compressed_sensing_2018/j2s/javajs/img/CRCEncoder.js
similarity index 100%
rename from j2s/javajs/img/CRCEncoder.js
rename to assets/compressed_sensing_2018/j2s/javajs/img/CRCEncoder.js
diff --git a/j2s/javajs/img/GifEncoder.js b/assets/compressed_sensing_2018/j2s/javajs/img/GifEncoder.js
similarity index 100%
rename from j2s/javajs/img/GifEncoder.js
rename to assets/compressed_sensing_2018/j2s/javajs/img/GifEncoder.js
diff --git a/j2s/javajs/img/ImageEncoder.js b/assets/compressed_sensing_2018/j2s/javajs/img/ImageEncoder.js
similarity index 100%
rename from j2s/javajs/img/ImageEncoder.js
rename to assets/compressed_sensing_2018/j2s/javajs/img/ImageEncoder.js
diff --git a/j2s/javajs/img/Jpg64Encoder.js b/assets/compressed_sensing_2018/j2s/javajs/img/Jpg64Encoder.js
similarity index 100%
rename from j2s/javajs/img/Jpg64Encoder.js
rename to assets/compressed_sensing_2018/j2s/javajs/img/Jpg64Encoder.js
diff --git a/j2s/javajs/img/JpgEncoder.js b/assets/compressed_sensing_2018/j2s/javajs/img/JpgEncoder.js
similarity index 100%
rename from j2s/javajs/img/JpgEncoder.js
rename to assets/compressed_sensing_2018/j2s/javajs/img/JpgEncoder.js
diff --git a/j2s/javajs/img/PdfEncoder.js b/assets/compressed_sensing_2018/j2s/javajs/img/PdfEncoder.js
similarity index 100%
rename from j2s/javajs/img/PdfEncoder.js
rename to assets/compressed_sensing_2018/j2s/javajs/img/PdfEncoder.js
diff --git a/j2s/javajs/img/PngEncoder.js b/assets/compressed_sensing_2018/j2s/javajs/img/PngEncoder.js
similarity index 100%
rename from j2s/javajs/img/PngEncoder.js
rename to assets/compressed_sensing_2018/j2s/javajs/img/PngEncoder.js
diff --git a/j2s/javajs/img/PpmEncoder.js b/assets/compressed_sensing_2018/j2s/javajs/img/PpmEncoder.js
similarity index 100%
rename from j2s/javajs/img/PpmEncoder.js
rename to assets/compressed_sensing_2018/j2s/javajs/img/PpmEncoder.js
diff --git a/j2s/javajs/img/package.js b/assets/compressed_sensing_2018/j2s/javajs/img/package.js
similarity index 100%
rename from j2s/javajs/img/package.js
rename to assets/compressed_sensing_2018/j2s/javajs/img/package.js
diff --git a/j2s/org/apache/tools/bzip2/BZip2Constants.js b/assets/compressed_sensing_2018/j2s/org/apache/tools/bzip2/BZip2Constants.js
similarity index 100%
rename from j2s/org/apache/tools/bzip2/BZip2Constants.js
rename to assets/compressed_sensing_2018/j2s/org/apache/tools/bzip2/BZip2Constants.js
diff --git a/j2s/org/apache/tools/bzip2/CBZip2InputStream.js b/assets/compressed_sensing_2018/j2s/org/apache/tools/bzip2/CBZip2InputStream.js
similarity index 100%
rename from j2s/org/apache/tools/bzip2/CBZip2InputStream.js
rename to assets/compressed_sensing_2018/j2s/org/apache/tools/bzip2/CBZip2InputStream.js
diff --git a/j2s/org/apache/tools/bzip2/CBZip2InputStreamFactory.js b/assets/compressed_sensing_2018/j2s/org/apache/tools/bzip2/CBZip2InputStreamFactory.js
similarity index 100%
rename from j2s/org/apache/tools/bzip2/CBZip2InputStreamFactory.js
rename to assets/compressed_sensing_2018/j2s/org/apache/tools/bzip2/CBZip2InputStreamFactory.js
diff --git a/j2s/org/apache/tools/bzip2/CRC.js b/assets/compressed_sensing_2018/j2s/org/apache/tools/bzip2/CRC.js
similarity index 100%
rename from j2s/org/apache/tools/bzip2/CRC.js
rename to assets/compressed_sensing_2018/j2s/org/apache/tools/bzip2/CRC.js
diff --git a/compressed_sensing.ipynb b/compressed_sensing.ipynb
deleted file mode 100644
index 4c13d0a504b48291b3b0021f97491b471242079c..0000000000000000000000000000000000000000
--- a/compressed_sensing.ipynb
+++ /dev/null
@@ -1,5743 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "<div id=\"teaser\" style=' background-position:  right center; background-size: 00px; background-repeat: no-repeat; \n",
-    "    padding-top: 20px;\n",
-    "    padding-right: 10px;\n",
-    "    padding-bottom: 170px;\n",
-    "    padding-left: 10px;\n",
-    "    border-bottom: 14px double #333;\n",
-    "    border-top: 14px double #333;' > \n",
-    "\n",
-    "   \n",
-    "   <div style=\"text-align:center\">\n",
-    "    <b><font size=\"6.4\">Compressed sensing for identifying materials descriptors</font></b>    \n",
-    "  </div>\n",
-    "    \n",
-    "<p>\n",
-    " created by:\n",
-    " Emre Ahmetcik<sup>1</sup>, \n",
-    " Angelo Ziletti<sup>1</sup>,\n",
-    " Runhai Ouyang<sup> 1</sup>,\n",
-    " Luca Ghiringhelli<sup> 1</sup>,\n",
-    " and Matthias Scheffler<sup>1</sup> <br><br>\n",
-    "   \n",
-    "<sup>1</sup> Fritz Haber Institute of the Max Planck Society, Faradayweg 4-6, D-14195 Berlin, Germany <br>\n",
-    "<span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: April 5, 2019]</span>\n",
-    "</p>\n",
-    "\n",
-    "      \n",
-    "<div> \n",
-    "<img  style=\"float: left;\" src=\"data/Logo_MPG.png\" width=\"200\"> \n",
-    "<img  style=\"float: right;\" src=\"data/Logo_NOMAD.png\" width=\"250\">\n",
-    "</div>\n",
-    "</p>\n",
-    "\n",
-    "</div>\n",
-    "\n",
-    "\n",
-    "\n",
-    "\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "This tutorial shows how to find descriptive parameters (short formulas) to predict materials properties using compressed sensing tools. As an example we adress the prediction of the relative stability of 82 zincblende (ZB) versus rocksalt (RS) octet binary materials.\n",
-    "\n",
-    "The idea of using compressed sensing tools: Starting from simple physical quantities (\"building blocks\", here properties of the constituent free atoms such as orbital radii), millions (or billions) of candidate formulas are generated by applying arithmetic operations combining building blocks, for example forming sums and products of them. These candidate formulas constitute the so-called \"feature space\". Then a compressed sensing based method is used to select only a few of these formulas that explain the data, as introduced in \n",
-    "<div style=\"padding: 1ex; margin-top: 1ex; margin-bottom: 1ex; border-style: dotted; border-width: 1pt; border-color: blue; border-radius: 3px;\">\n",
-    "L. M. Ghiringhelli, J. Vybiral, S. V. Levchenko, C. Draxl, M. Scheffler: <span style=\"font-style: italic;\">Big Data of Materials Science: Critical Role of the Descriptor</span>,  Phys. Rev. Lett. 114, 105503 (2015) <a href=\"http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.114.105503\" target=\"_blank\">[PDF]</a>.</div>\n",
-    "In this tutorial we use the Sure Independence Screening and Sparsifying  Operator  (SISSO) as proposed in\n",
-    "<div style=\"padding: 1ex; margin-top: 1ex; margin-bottom: 1ex; border-style: dotted; border-width: 1pt; border-color: blue; border-radius: 3px;\">\n",
-    "R. Ouyang, S. Curtarolo, E. Ahmetcik, M. Scheffler, L. M. Ghiringhelli: <span style=\"font-style: italic;\">SISSO: a compressed-sensing method for identifying the best low-dimensional descriptor in an immensity of offered candidates</span>, Phys. Rev. Materials  2, 083802 (2018) <a href=\"https://journals.aps.org/prmaterials/abstract/10.1103/PhysRevMaterials.2.083802\" target=\"_blank\">[PDF]</a> .\n",
-    "</div>\n",
-    "\n",
-    "# Introduction to the compressed sensing methods\n",
-    "\n",
-    "The feature space is generated by creating a list of analytical expressions (the derived features), obtained by combining the primary features and arithmetic operations. We put all $m$ derived features into a descriptor matrix $\\mathbf{D} \\in \\mathbb{R}^{82 \\times m}$ where each column stands for a derived feature and each row for a compound. An $\\ell_0$-regularization \n",
-    "\n",
-    "$\\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_0\\}$\n",
-    "\n",
-    "determines those few feature columns which approximate a property vector $\\mathbf{P} \\in \\mathbb{R}^{82}$ (i.e RS vs. ZB energy differences) best. The subscript 0 stands for the $\\ell_0$-quasinorm, that counts the number of non-zero elements of $\\mathbf{c}$ and $\\lambda > 0$ is called the regularization parameter. Performing the $\\ell_0$-regularization becomes fast computational infeasable and often approximations (i.e. LASSO, orthogonal matching pursuit) are needed since in practice the $\\ell_0$-regularization needs to be solved combinatorial: All singletons, pairs, triplets, ... $n$-tuples (up to the selected maximum dimension of the descriptor) are listed and for each set a least-square regression is performed. The $n$-tuple that gives the lowest mean square error for the least-square regression fit is selected as the resulting $n$-dimensional descriptor.\n",
-    "\n",
-    "### The LASSO method\n",
-    "A convex optimization problem can be introduced by the Least Absolute Shrinkage and Selection Operator (LASSO):\n",
-    "\n",
-    "$\\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_1\\}$.\n",
-    "\n",
-    "Under certain conditions it can find a good approximation to the $\\ell_0$-regularization.\n",
-    "\n",
-    "\n",
-    "### The SISSO method\n",
-    "SISSO works iteratively. In the first iteration, a number $k$ of features is collected that have the largest correlation (scalar product) with $\\mathbf{P}$. The feature with the largest correlation is simply the 1D descriptor. Next, a residual is constructed as the error made in the first iteration. A new set of $k$ features is now selected as those having the largest correlation with the residual. The 2D descriptor is the pair of features that yield the smallest fitting error upon least-square regression, among all possible pairs contained in the union of the sets selected in this and the first iteration. In each next iteration a new residual is constructed as the error made in the previous iteration, then a new set of $k$ features is extracted as those that have largest correlation with each new residual. The $n$D descriptor is the $n$-tuple of features that yield the smallest fitting error upon least square regression, among all possible $n$-tuples contained in the union of the sets obtained in each new iteration and all the previous iterations. If $k=1$ the method collapses to the so-called orthogonal matching pursuit.\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "# Import required modules"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "data": {
-      "text/html": [
-       "\n",
-       "    <div class=\"bk-root\">\n",
-       "        <a href=\"https://bokeh.pydata.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n",
-       "        <span id=\"1001\">Loading BokehJS ...</span>\n",
-       "    </div>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "data": {
-      "application/javascript": [
-       "\n",
-       "(function(root) {\n",
-       "  function now() {\n",
-       "    return new Date();\n",
-       "  }\n",
-       "\n",
-       "  var force = true;\n",
-       "\n",
-       "  if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
-       "    root._bokeh_onload_callbacks = [];\n",
-       "    root._bokeh_is_loading = undefined;\n",
-       "  }\n",
-       "\n",
-       "  var JS_MIME_TYPE = 'application/javascript';\n",
-       "  var HTML_MIME_TYPE = 'text/html';\n",
-       "  var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
-       "  var CLASS_NAME = 'output_bokeh rendered_html';\n",
-       "\n",
-       "  /**\n",
-       "   * Render data to the DOM node\n",
-       "   */\n",
-       "  function render(props, node) {\n",
-       "    var script = document.createElement(\"script\");\n",
-       "    node.appendChild(script);\n",
-       "  }\n",
-       "\n",
-       "  /**\n",
-       "   * Handle when an output is cleared or removed\n",
-       "   */\n",
-       "  function handleClearOutput(event, handle) {\n",
-       "    var cell = handle.cell;\n",
-       "\n",
-       "    var id = cell.output_area._bokeh_element_id;\n",
-       "    var server_id = cell.output_area._bokeh_server_id;\n",
-       "    // Clean up Bokeh references\n",
-       "    if (id != null && id in Bokeh.index) {\n",
-       "      Bokeh.index[id].model.document.clear();\n",
-       "      delete Bokeh.index[id];\n",
-       "    }\n",
-       "\n",
-       "    if (server_id !== undefined) {\n",
-       "      // Clean up Bokeh references\n",
-       "      var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
-       "      cell.notebook.kernel.execute(cmd, {\n",
-       "        iopub: {\n",
-       "          output: function(msg) {\n",
-       "            var id = msg.content.text.trim();\n",
-       "            if (id in Bokeh.index) {\n",
-       "              Bokeh.index[id].model.document.clear();\n",
-       "              delete Bokeh.index[id];\n",
-       "            }\n",
-       "          }\n",
-       "        }\n",
-       "      });\n",
-       "      // Destroy server and session\n",
-       "      var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
-       "      cell.notebook.kernel.execute(cmd);\n",
-       "    }\n",
-       "  }\n",
-       "\n",
-       "  /**\n",
-       "   * Handle when a new output is added\n",
-       "   */\n",
-       "  function handleAddOutput(event, handle) {\n",
-       "    var output_area = handle.output_area;\n",
-       "    var output = handle.output;\n",
-       "\n",
-       "    // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
-       "    if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n",
-       "      return\n",
-       "    }\n",
-       "\n",
-       "    var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
-       "\n",
-       "    if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
-       "      toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
-       "      // store reference to embed id on output_area\n",
-       "      output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
-       "    }\n",
-       "    if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
-       "      var bk_div = document.createElement(\"div\");\n",
-       "      bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
-       "      var script_attrs = bk_div.children[0].attributes;\n",
-       "      for (var i = 0; i < script_attrs.length; i++) {\n",
-       "        toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
-       "      }\n",
-       "      // store reference to server id on output_area\n",
-       "      output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
-       "    }\n",
-       "  }\n",
-       "\n",
-       "  function register_renderer(events, OutputArea) {\n",
-       "\n",
-       "    function append_mime(data, metadata, element) {\n",
-       "      // create a DOM node to render to\n",
-       "      var toinsert = this.create_output_subarea(\n",
-       "        metadata,\n",
-       "        CLASS_NAME,\n",
-       "        EXEC_MIME_TYPE\n",
-       "      );\n",
-       "      this.keyboard_manager.register_events(toinsert);\n",
-       "      // Render to node\n",
-       "      var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
-       "      render(props, toinsert[toinsert.length - 1]);\n",
-       "      element.append(toinsert);\n",
-       "      return toinsert\n",
-       "    }\n",
-       "\n",
-       "    /* Handle when an output is cleared or removed */\n",
-       "    events.on('clear_output.CodeCell', handleClearOutput);\n",
-       "    events.on('delete.Cell', handleClearOutput);\n",
-       "\n",
-       "    /* Handle when a new output is added */\n",
-       "    events.on('output_added.OutputArea', handleAddOutput);\n",
-       "\n",
-       "    /**\n",
-       "     * Register the mime type and append_mime function with output_area\n",
-       "     */\n",
-       "    OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
-       "      /* Is output safe? */\n",
-       "      safe: true,\n",
-       "      /* Index of renderer in `output_area.display_order` */\n",
-       "      index: 0\n",
-       "    });\n",
-       "  }\n",
-       "\n",
-       "  // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
-       "  if (root.Jupyter !== undefined) {\n",
-       "    var events = require('base/js/events');\n",
-       "    var OutputArea = require('notebook/js/outputarea').OutputArea;\n",
-       "\n",
-       "    if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
-       "      register_renderer(events, OutputArea);\n",
-       "    }\n",
-       "  }\n",
-       "\n",
-       "  \n",
-       "  if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
-       "    root._bokeh_timeout = Date.now() + 5000;\n",
-       "    root._bokeh_failed_load = false;\n",
-       "  }\n",
-       "\n",
-       "  var NB_LOAD_WARNING = {'data': {'text/html':\n",
-       "     \"<div style='background-color: #fdd'>\\n\"+\n",
-       "     \"<p>\\n\"+\n",
-       "     \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
-       "     \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
-       "     \"</p>\\n\"+\n",
-       "     \"<ul>\\n\"+\n",
-       "     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n",
-       "     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n",
-       "     \"</ul>\\n\"+\n",
-       "     \"<code>\\n\"+\n",
-       "     \"from bokeh.resources import INLINE\\n\"+\n",
-       "     \"output_notebook(resources=INLINE)\\n\"+\n",
-       "     \"</code>\\n\"+\n",
-       "     \"</div>\"}};\n",
-       "\n",
-       "  function display_loaded() {\n",
-       "    var el = document.getElementById(\"1001\");\n",
-       "    if (el != null) {\n",
-       "      el.textContent = \"BokehJS is loading...\";\n",
-       "    }\n",
-       "    if (root.Bokeh !== undefined) {\n",
-       "      if (el != null) {\n",
-       "        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
-       "      }\n",
-       "    } else if (Date.now() < root._bokeh_timeout) {\n",
-       "      setTimeout(display_loaded, 100)\n",
-       "    }\n",
-       "  }\n",
-       "\n",
-       "\n",
-       "  function run_callbacks() {\n",
-       "    try {\n",
-       "      root._bokeh_onload_callbacks.forEach(function(callback) {\n",
-       "        if (callback != null)\n",
-       "          callback();\n",
-       "      });\n",
-       "    } finally {\n",
-       "      delete root._bokeh_onload_callbacks\n",
-       "    }\n",
-       "    console.debug(\"Bokeh: all callbacks have finished\");\n",
-       "  }\n",
-       "\n",
-       "  function load_libs(css_urls, js_urls, callback) {\n",
-       "    if (css_urls == null) css_urls = [];\n",
-       "    if (js_urls == null) js_urls = [];\n",
-       "\n",
-       "    root._bokeh_onload_callbacks.push(callback);\n",
-       "    if (root._bokeh_is_loading > 0) {\n",
-       "      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
-       "      return null;\n",
-       "    }\n",
-       "    if (js_urls == null || js_urls.length === 0) {\n",
-       "      run_callbacks();\n",
-       "      return null;\n",
-       "    }\n",
-       "    console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
-       "    root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
-       "\n",
-       "    function on_load() {\n",
-       "      root._bokeh_is_loading--;\n",
-       "      if (root._bokeh_is_loading === 0) {\n",
-       "        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
-       "        run_callbacks()\n",
-       "      }\n",
-       "    }\n",
-       "\n",
-       "    function on_error() {\n",
-       "      console.error(\"failed to load \" + url);\n",
-       "    }\n",
-       "\n",
-       "    for (var i = 0; i < css_urls.length; i++) {\n",
-       "      var url = css_urls[i];\n",
-       "      const element = document.createElement(\"link\");\n",
-       "      element.onload = on_load;\n",
-       "      element.onerror = on_error;\n",
-       "      element.rel = \"stylesheet\";\n",
-       "      element.type = \"text/css\";\n",
-       "      element.href = url;\n",
-       "      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
-       "      document.body.appendChild(element);\n",
-       "    }\n",
-       "\n",
-       "    for (var i = 0; i < js_urls.length; i++) {\n",
-       "      var url = js_urls[i];\n",
-       "      var element = document.createElement('script');\n",
-       "      element.onload = on_load;\n",
-       "      element.onerror = on_error;\n",
-       "      element.async = false;\n",
-       "      element.src = url;\n",
-       "      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
-       "      document.head.appendChild(element);\n",
-       "    }\n",
-       "  };var element = document.getElementById(\"1001\");\n",
-       "  if (element == null) {\n",
-       "    console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1001' but no matching script tag was found. \")\n",
-       "    return false;\n",
-       "  }\n",
-       "\n",
-       "  function inject_raw_css(css) {\n",
-       "    const element = document.createElement(\"style\");\n",
-       "    element.appendChild(document.createTextNode(css));\n",
-       "    document.body.appendChild(element);\n",
-       "  }\n",
-       "\n",
-       "  var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.1.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.1.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.1.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.1.0.min.js\"];\n",
-       "  var css_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.1.0.min.css\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.1.0.min.css\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.1.0.min.css\"];\n",
-       "\n",
-       "  var inline_js = [\n",
-       "    function(Bokeh) {\n",
-       "      Bokeh.set_log_level(\"info\");\n",
-       "    },\n",
-       "    \n",
-       "    function(Bokeh) {\n",
-       "      \n",
-       "    },\n",
-       "    function(Bokeh) {} // ensure no trailing comma for IE\n",
-       "  ];\n",
-       "\n",
-       "  function run_inline_js() {\n",
-       "    \n",
-       "    if ((root.Bokeh !== undefined) || (force === true)) {\n",
-       "      for (var i = 0; i < inline_js.length; i++) {\n",
-       "        inline_js[i].call(root, root.Bokeh);\n",
-       "      }if (force === true) {\n",
-       "        display_loaded();\n",
-       "      }} else if (Date.now() < root._bokeh_timeout) {\n",
-       "      setTimeout(run_inline_js, 100);\n",
-       "    } else if (!root._bokeh_failed_load) {\n",
-       "      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
-       "      root._bokeh_failed_load = true;\n",
-       "    } else if (force !== true) {\n",
-       "      var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n",
-       "      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
-       "    }\n",
-       "\n",
-       "  }\n",
-       "\n",
-       "  if (root._bokeh_is_loading === 0) {\n",
-       "    console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
-       "    run_inline_js();\n",
-       "  } else {\n",
-       "    load_libs(css_urls, js_urls, function() {\n",
-       "      console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
-       "      run_inline_js();\n",
-       "    });\n",
-       "  }\n",
-       "}(window));"
-      ],
-      "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n  function now() {\n    return new Date();\n  }\n\n  var force = true;\n\n  if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n    root._bokeh_onload_callbacks = [];\n    root._bokeh_is_loading = undefined;\n  }\n\n  \n\n  \n  if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n    root._bokeh_timeout = Date.now() + 5000;\n    root._bokeh_failed_load = false;\n  }\n\n  var NB_LOAD_WARNING = {'data': {'text/html':\n     \"<div style='background-color: #fdd'>\\n\"+\n     \"<p>\\n\"+\n     \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n     \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n     \"</p>\\n\"+\n     \"<ul>\\n\"+\n     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n     \"</ul>\\n\"+\n     \"<code>\\n\"+\n     \"from bokeh.resources import INLINE\\n\"+\n     \"output_notebook(resources=INLINE)\\n\"+\n     \"</code>\\n\"+\n     \"</div>\"}};\n\n  function display_loaded() {\n    var el = document.getElementById(\"1001\");\n    if (el != null) {\n      el.textContent = \"BokehJS is loading...\";\n    }\n    if (root.Bokeh !== undefined) {\n      if (el != null) {\n        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n      }\n    } else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(display_loaded, 100)\n    }\n  }\n\n\n  function run_callbacks() {\n    try {\n      root._bokeh_onload_callbacks.forEach(function(callback) {\n        if (callback != null)\n          callback();\n      });\n    } finally {\n      delete root._bokeh_onload_callbacks\n    }\n    console.debug(\"Bokeh: all callbacks have finished\");\n  }\n\n  function load_libs(css_urls, js_urls, callback) {\n    if (css_urls == null) css_urls = [];\n    if (js_urls == null) js_urls = [];\n\n    root._bokeh_onload_callbacks.push(callback);\n    if (root._bokeh_is_loading > 0) {\n      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n      return null;\n    }\n    if (js_urls == null || js_urls.length === 0) {\n      run_callbacks();\n      return null;\n    }\n    console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n    root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n    function on_load() {\n      root._bokeh_is_loading--;\n      if (root._bokeh_is_loading === 0) {\n        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n        run_callbacks()\n      }\n    }\n\n    function on_error() {\n      console.error(\"failed to load \" + url);\n    }\n\n    for (var i = 0; i < css_urls.length; i++) {\n      var url = css_urls[i];\n      const element = document.createElement(\"link\");\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.rel = \"stylesheet\";\n      element.type = \"text/css\";\n      element.href = url;\n      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n      document.body.appendChild(element);\n    }\n\n    for (var i = 0; i < js_urls.length; i++) {\n      var url = js_urls[i];\n      var element = document.createElement('script');\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.async = false;\n      element.src = url;\n      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n      document.head.appendChild(element);\n    }\n  };var element = document.getElementById(\"1001\");\n  if (element == null) {\n    console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1001' but no matching script tag was found. \")\n    return false;\n  }\n\n  function inject_raw_css(css) {\n    const element = document.createElement(\"style\");\n    element.appendChild(document.createTextNode(css));\n    document.body.appendChild(element);\n  }\n\n  var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.1.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.1.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.1.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.1.0.min.js\"];\n  var css_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.1.0.min.css\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.1.0.min.css\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.1.0.min.css\"];\n\n  var inline_js = [\n    function(Bokeh) {\n      Bokeh.set_log_level(\"info\");\n    },\n    \n    function(Bokeh) {\n      \n    },\n    function(Bokeh) {} // ensure no trailing comma for IE\n  ];\n\n  function run_inline_js() {\n    \n    if ((root.Bokeh !== undefined) || (force === true)) {\n      for (var i = 0; i < inline_js.length; i++) {\n        inline_js[i].call(root, root.Bokeh);\n      }if (force === true) {\n        display_loaded();\n      }} else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(run_inline_js, 100);\n    } else if (!root._bokeh_failed_load) {\n      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n      root._bokeh_failed_load = true;\n    } else if (force !== true) {\n      var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n    }\n\n  }\n\n  if (root._bokeh_is_loading === 0) {\n    console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n    run_inline_js();\n  } else {\n    load_libs(css_urls, js_urls, function() {\n      console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n      run_inline_js();\n    });\n  }\n}(window));"
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "import os\n",
-    "import pandas as pd\n",
-    "import numpy as np\n",
-    "from itertools import combinations\n",
-    "from time import time\n",
-    "import matplotlib.pyplot as plt \n",
-    "from sklearn.linear_model import Lasso\n",
-    "import scipy.stats as ss\n",
-    "import warnings\n",
-    "from collections import Counter\n",
-    "from sklearn.kernel_ridge import KernelRidge\n",
-    "from sklearn.model_selection import GridSearchCV, LeaveOneOut\n",
-    "\n",
-    "from modules.sisso import SissoRegressor\n",
-    "from modules.combine_features import combine_features\n",
-    "from modules.viewer import show_structure, show_map\n",
-    "\n",
-    "# set display options for the notebook \n",
-    "%matplotlib inline\n",
-    "warnings.filterwarnings('ignore')"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [],
-   "source": [
-    "# Create writable directory for storing temporary files \n",
-    "# Note: works only with relative path \n",
-    "tmpdir='../../tmp/'\n",
-    "if not os.path.exists(tmpdir):\n",
-    "    os.mkdir(tmpdir)\n",
-    "    "
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "# Get the data\n",
-    "Let us load the data from the file data/data.pkl into a data frame. The data was downloaded from the NOMAD archive and the NOMAD atomic data collection. It consists of RS-ZB energy differences (in eV/atom) of the 82 octet binary compounds, structure objects containing the atomic positions of the materials and properties of the atomic constituents. The following atomic features are considered:\n",
-    "\n",
-    "<div >\n",
-    "   <ul>\n",
-    "      <li>Z:  atomic number</li>\n",
-    "      <li>period: period in the periodic table</li>\n",
-    "      <li>IP: electron affinity</li>\n",
-    "      <li>EA: ionization potential</li>      \n",
-    "      <li>E_HOMO: HOMO</li>\n",
-    "      <li>E_LUMO: LUMO</li>   \n",
-    "      <li>r_(s, p, d): radius at the maximum of the s, p or d orbital.</li>\n",
-    "   </ul>\n",
-    "</div>"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "data": {
-      "text/html": [
-       "<div>\n",
-       "<style scoped>\n",
-       "    .dataframe tbody tr th:only-of-type {\n",
-       "        vertical-align: middle;\n",
-       "    }\n",
-       "\n",
-       "    .dataframe tbody tr th {\n",
-       "        vertical-align: top;\n",
-       "    }\n",
-       "\n",
-       "    .dataframe thead th {\n",
-       "        text-align: right;\n",
-       "    }\n",
-       "</style>\n",
-       "<table border=\"1\" class=\"dataframe\">\n",
-       "  <thead>\n",
-       "    <tr style=\"text-align: right;\">\n",
-       "      <th></th>\n",
-       "      <th>energy_RS</th>\n",
-       "      <th>energy_ZB</th>\n",
-       "      <th>energy_diff</th>\n",
-       "      <th>min_struc_type</th>\n",
-       "      <th>Z(A)</th>\n",
-       "      <th>Z(B)</th>\n",
-       "      <th>period(A)</th>\n",
-       "      <th>period(B)</th>\n",
-       "      <th>IP(A)</th>\n",
-       "      <th>IP(B)</th>\n",
-       "      <th>...</th>\n",
-       "      <th>E_HOMO(A)</th>\n",
-       "      <th>E_HOMO(B)</th>\n",
-       "      <th>E_LUMO(A)</th>\n",
-       "      <th>E_LUMO(B)</th>\n",
-       "      <th>r_s(A)</th>\n",
-       "      <th>r_s(B)</th>\n",
-       "      <th>r_p(A)</th>\n",
-       "      <th>r_p(B)</th>\n",
-       "      <th>r_d(A)</th>\n",
-       "      <th>r_d(B)</th>\n",
-       "    </tr>\n",
-       "  </thead>\n",
-       "  <tbody>\n",
-       "    <tr>\n",
-       "      <th>AgBr</th>\n",
-       "      <td>-108781.333959</td>\n",
-       "      <td>-108781.303925</td>\n",
-       "      <td>-0.030033</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>47.0</td>\n",
-       "      <td>35.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-8.0581</td>\n",
-       "      <td>-12.649600</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-4.710</td>\n",
-       "      <td>-8.001</td>\n",
-       "      <td>-0.479</td>\n",
-       "      <td>0.708</td>\n",
-       "      <td>1.32</td>\n",
-       "      <td>0.75</td>\n",
-       "      <td>1.88</td>\n",
-       "      <td>0.88</td>\n",
-       "      <td>2.97</td>\n",
-       "      <td>1.87</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AgCl</th>\n",
-       "      <td>-79397.451083</td>\n",
-       "      <td>-79397.408285</td>\n",
-       "      <td>-0.042797</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>47.0</td>\n",
-       "      <td>17.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-8.0581</td>\n",
-       "      <td>-13.901800</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-4.710</td>\n",
-       "      <td>-8.700</td>\n",
-       "      <td>-0.479</td>\n",
-       "      <td>0.574</td>\n",
-       "      <td>1.32</td>\n",
-       "      <td>0.68</td>\n",
-       "      <td>1.88</td>\n",
-       "      <td>0.76</td>\n",
-       "      <td>2.97</td>\n",
-       "      <td>1.67</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AgF</th>\n",
-       "      <td>-74477.428165</td>\n",
-       "      <td>-74477.274407</td>\n",
-       "      <td>-0.153758</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>47.0</td>\n",
-       "      <td>9.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-8.0581</td>\n",
-       "      <td>-19.404301</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-4.710</td>\n",
-       "      <td>-11.294</td>\n",
-       "      <td>-0.479</td>\n",
-       "      <td>1.251</td>\n",
-       "      <td>1.32</td>\n",
-       "      <td>0.41</td>\n",
-       "      <td>1.88</td>\n",
-       "      <td>0.37</td>\n",
-       "      <td>2.97</td>\n",
-       "      <td>1.43</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AgI</th>\n",
-       "      <td>-171339.208181</td>\n",
-       "      <td>-171339.245107</td>\n",
-       "      <td>0.036925</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>47.0</td>\n",
-       "      <td>53.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>-8.0581</td>\n",
-       "      <td>-11.257100</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-4.710</td>\n",
-       "      <td>-7.236</td>\n",
-       "      <td>-0.479</td>\n",
-       "      <td>0.213</td>\n",
-       "      <td>1.32</td>\n",
-       "      <td>0.90</td>\n",
-       "      <td>1.88</td>\n",
-       "      <td>1.07</td>\n",
-       "      <td>2.97</td>\n",
-       "      <td>1.72</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AlAs</th>\n",
-       "      <td>-34200.077513</td>\n",
-       "      <td>-34200.290775</td>\n",
-       "      <td>0.213262</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>13.0</td>\n",
-       "      <td>33.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-5.7805</td>\n",
-       "      <td>-9.261900</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.784</td>\n",
-       "      <td>-5.341</td>\n",
-       "      <td>0.695</td>\n",
-       "      <td>0.064</td>\n",
-       "      <td>1.09</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>1.39</td>\n",
-       "      <td>1.04</td>\n",
-       "      <td>1.94</td>\n",
-       "      <td>2.02</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AlN</th>\n",
-       "      <td>-4036.429049</td>\n",
-       "      <td>-4036.501998</td>\n",
-       "      <td>0.072949</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>13.0</td>\n",
-       "      <td>7.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-5.7805</td>\n",
-       "      <td>-13.585200</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.784</td>\n",
-       "      <td>-7.239</td>\n",
-       "      <td>0.695</td>\n",
-       "      <td>3.057</td>\n",
-       "      <td>1.09</td>\n",
-       "      <td>0.54</td>\n",
-       "      <td>1.39</td>\n",
-       "      <td>0.51</td>\n",
-       "      <td>1.94</td>\n",
-       "      <td>1.54</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AlP</th>\n",
-       "      <td>-7940.862745</td>\n",
-       "      <td>-7941.081704</td>\n",
-       "      <td>0.218958</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>13.0</td>\n",
-       "      <td>15.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-5.7805</td>\n",
-       "      <td>-9.750600</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.784</td>\n",
-       "      <td>-5.596</td>\n",
-       "      <td>0.695</td>\n",
-       "      <td>0.183</td>\n",
-       "      <td>1.09</td>\n",
-       "      <td>0.83</td>\n",
-       "      <td>1.39</td>\n",
-       "      <td>0.97</td>\n",
-       "      <td>1.94</td>\n",
-       "      <td>1.77</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AlSb</th>\n",
-       "      <td>-92644.192004</td>\n",
-       "      <td>-92644.348873</td>\n",
-       "      <td>0.156869</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>13.0</td>\n",
-       "      <td>51.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>-5.7805</td>\n",
-       "      <td>-8.468300</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.784</td>\n",
-       "      <td>-4.991</td>\n",
-       "      <td>0.695</td>\n",
-       "      <td>0.105</td>\n",
-       "      <td>1.09</td>\n",
-       "      <td>1.00</td>\n",
-       "      <td>1.39</td>\n",
-       "      <td>1.23</td>\n",
-       "      <td>1.94</td>\n",
-       "      <td>2.06</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AsGa</th>\n",
-       "      <td>-57457.679958</td>\n",
-       "      <td>-57457.954236</td>\n",
-       "      <td>0.274278</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>31.0</td>\n",
-       "      <td>33.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-5.8182</td>\n",
-       "      <td>-9.261900</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.732</td>\n",
-       "      <td>-5.341</td>\n",
-       "      <td>0.130</td>\n",
-       "      <td>0.064</td>\n",
-       "      <td>0.99</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>1.33</td>\n",
-       "      <td>1.04</td>\n",
-       "      <td>2.16</td>\n",
-       "      <td>2.02</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BAs</th>\n",
-       "      <td>-31239.347344</td>\n",
-       "      <td>-31240.222322</td>\n",
-       "      <td>0.874978</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>33.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-8.1900</td>\n",
-       "      <td>-9.261900</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.715</td>\n",
-       "      <td>-5.341</td>\n",
-       "      <td>2.248</td>\n",
-       "      <td>0.064</td>\n",
-       "      <td>0.81</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>0.83</td>\n",
-       "      <td>1.04</td>\n",
-       "      <td>1.95</td>\n",
-       "      <td>2.02</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BN</th>\n",
-       "      <td>-1075.033415</td>\n",
-       "      <td>-1076.745496</td>\n",
-       "      <td>1.712080</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>7.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-8.1900</td>\n",
-       "      <td>-13.585200</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.715</td>\n",
-       "      <td>-7.239</td>\n",
-       "      <td>2.248</td>\n",
-       "      <td>3.057</td>\n",
-       "      <td>0.81</td>\n",
-       "      <td>0.54</td>\n",
-       "      <td>0.83</td>\n",
-       "      <td>0.51</td>\n",
-       "      <td>1.95</td>\n",
-       "      <td>1.54</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BP</th>\n",
-       "      <td>-4980.272420</td>\n",
-       "      <td>-4981.291645</td>\n",
-       "      <td>1.019225</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>15.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-8.1900</td>\n",
-       "      <td>-9.750600</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.715</td>\n",
-       "      <td>-5.596</td>\n",
-       "      <td>2.248</td>\n",
-       "      <td>0.183</td>\n",
-       "      <td>0.81</td>\n",
-       "      <td>0.83</td>\n",
-       "      <td>0.83</td>\n",
-       "      <td>0.97</td>\n",
-       "      <td>1.95</td>\n",
-       "      <td>1.77</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BSb</th>\n",
-       "      <td>-89683.613701</td>\n",
-       "      <td>-89684.194551</td>\n",
-       "      <td>0.580849</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>51.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>-8.1900</td>\n",
-       "      <td>-8.468300</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.715</td>\n",
-       "      <td>-4.991</td>\n",
-       "      <td>2.248</td>\n",
-       "      <td>0.105</td>\n",
-       "      <td>0.81</td>\n",
-       "      <td>1.00</td>\n",
-       "      <td>0.83</td>\n",
-       "      <td>1.23</td>\n",
-       "      <td>1.95</td>\n",
-       "      <td>2.06</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BaO</th>\n",
-       "      <td>-113504.826963</td>\n",
-       "      <td>-113504.733965</td>\n",
-       "      <td>-0.092999</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>56.0</td>\n",
-       "      <td>8.0</td>\n",
-       "      <td>6.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-5.5157</td>\n",
-       "      <td>-16.433201</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.346</td>\n",
-       "      <td>-9.197</td>\n",
-       "      <td>-2.129</td>\n",
-       "      <td>2.541</td>\n",
-       "      <td>2.15</td>\n",
-       "      <td>0.46</td>\n",
-       "      <td>2.63</td>\n",
-       "      <td>0.43</td>\n",
-       "      <td>1.35</td>\n",
-       "      <td>2.22</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BaS</th>\n",
-       "      <td>-117910.270940</td>\n",
-       "      <td>-117909.951178</td>\n",
-       "      <td>-0.319762</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>56.0</td>\n",
-       "      <td>16.0</td>\n",
-       "      <td>6.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-5.5157</td>\n",
-       "      <td>-11.795100</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.346</td>\n",
-       "      <td>-7.106</td>\n",
-       "      <td>-2.129</td>\n",
-       "      <td>0.642</td>\n",
-       "      <td>2.15</td>\n",
-       "      <td>0.74</td>\n",
-       "      <td>2.63</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>1.35</td>\n",
-       "      <td>2.37</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BaSe</th>\n",
-       "      <td>-145716.769672</td>\n",
-       "      <td>-145716.426227</td>\n",
-       "      <td>-0.343445</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>56.0</td>\n",
-       "      <td>34.0</td>\n",
-       "      <td>6.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-5.5157</td>\n",
-       "      <td>-10.946000</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.346</td>\n",
-       "      <td>-6.654</td>\n",
-       "      <td>-2.129</td>\n",
-       "      <td>1.316</td>\n",
-       "      <td>2.15</td>\n",
-       "      <td>0.80</td>\n",
-       "      <td>2.63</td>\n",
-       "      <td>0.95</td>\n",
-       "      <td>1.35</td>\n",
-       "      <td>2.18</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BaTe</th>\n",
-       "      <td>-206204.229045</td>\n",
-       "      <td>-206203.853659</td>\n",
-       "      <td>-0.375387</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>56.0</td>\n",
-       "      <td>52.0</td>\n",
-       "      <td>6.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>-5.5157</td>\n",
-       "      <td>-9.866700</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.346</td>\n",
-       "      <td>-6.109</td>\n",
-       "      <td>-2.129</td>\n",
-       "      <td>0.099</td>\n",
-       "      <td>2.15</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>2.63</td>\n",
-       "      <td>1.14</td>\n",
-       "      <td>1.35</td>\n",
-       "      <td>1.83</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BeO</th>\n",
-       "      <td>-1218.439958</td>\n",
-       "      <td>-1219.131796</td>\n",
-       "      <td>0.691838</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>8.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-9.4594</td>\n",
-       "      <td>-16.433201</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-5.600</td>\n",
-       "      <td>-9.197</td>\n",
-       "      <td>-2.098</td>\n",
-       "      <td>2.541</td>\n",
-       "      <td>1.08</td>\n",
-       "      <td>0.46</td>\n",
-       "      <td>1.21</td>\n",
-       "      <td>0.43</td>\n",
-       "      <td>2.88</td>\n",
-       "      <td>2.22</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BeS</th>\n",
-       "      <td>-5622.515539</td>\n",
-       "      <td>-5623.021867</td>\n",
-       "      <td>0.506328</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>16.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-9.4594</td>\n",
-       "      <td>-11.795100</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-5.600</td>\n",
-       "      <td>-7.106</td>\n",
-       "      <td>-2.098</td>\n",
-       "      <td>0.642</td>\n",
-       "      <td>1.08</td>\n",
-       "      <td>0.74</td>\n",
-       "      <td>1.21</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>2.88</td>\n",
-       "      <td>2.37</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BeSe</th>\n",
-       "      <td>-33428.796762</td>\n",
-       "      <td>-33429.291703</td>\n",
-       "      <td>0.494940</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>34.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-9.4594</td>\n",
-       "      <td>-10.946000</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-5.600</td>\n",
-       "      <td>-6.654</td>\n",
-       "      <td>-2.098</td>\n",
-       "      <td>1.316</td>\n",
-       "      <td>1.08</td>\n",
-       "      <td>0.80</td>\n",
-       "      <td>1.21</td>\n",
-       "      <td>0.95</td>\n",
-       "      <td>2.88</td>\n",
-       "      <td>2.18</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BeTe</th>\n",
-       "      <td>-93916.104186</td>\n",
-       "      <td>-93916.572772</td>\n",
-       "      <td>0.468586</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>52.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>-9.4594</td>\n",
-       "      <td>-9.866700</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-5.600</td>\n",
-       "      <td>-6.109</td>\n",
-       "      <td>-2.098</td>\n",
-       "      <td>0.099</td>\n",
-       "      <td>1.08</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>1.21</td>\n",
-       "      <td>1.14</td>\n",
-       "      <td>2.88</td>\n",
-       "      <td>1.83</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>C2</th>\n",
-       "      <td>-1026.548820</td>\n",
-       "      <td>-1029.177424</td>\n",
-       "      <td>2.628604</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>6.0</td>\n",
-       "      <td>6.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-10.8517</td>\n",
-       "      <td>-10.851700</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-5.416</td>\n",
-       "      <td>-5.416</td>\n",
-       "      <td>1.992</td>\n",
-       "      <td>1.992</td>\n",
-       "      <td>0.64</td>\n",
-       "      <td>0.64</td>\n",
-       "      <td>0.63</td>\n",
-       "      <td>0.63</td>\n",
-       "      <td>1.63</td>\n",
-       "      <td>1.63</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CaO</th>\n",
-       "      <td>-10276.901085</td>\n",
-       "      <td>-10276.635866</td>\n",
-       "      <td>-0.265219</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>20.0</td>\n",
-       "      <td>8.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-6.4280</td>\n",
-       "      <td>-16.433201</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.864</td>\n",
-       "      <td>-9.197</td>\n",
-       "      <td>-2.133</td>\n",
-       "      <td>2.541</td>\n",
-       "      <td>1.76</td>\n",
-       "      <td>0.46</td>\n",
-       "      <td>2.32</td>\n",
-       "      <td>0.43</td>\n",
-       "      <td>0.68</td>\n",
-       "      <td>2.22</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CaS</th>\n",
-       "      <td>-14681.946741</td>\n",
-       "      <td>-14681.577608</td>\n",
-       "      <td>-0.369133</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>20.0</td>\n",
-       "      <td>16.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-6.4280</td>\n",
-       "      <td>-11.795100</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.864</td>\n",
-       "      <td>-7.106</td>\n",
-       "      <td>-2.133</td>\n",
-       "      <td>0.642</td>\n",
-       "      <td>1.76</td>\n",
-       "      <td>0.74</td>\n",
-       "      <td>2.32</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>0.68</td>\n",
-       "      <td>2.37</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CaSe</th>\n",
-       "      <td>-42488.352920</td>\n",
-       "      <td>-42487.992122</td>\n",
-       "      <td>-0.360798</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>20.0</td>\n",
-       "      <td>34.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-6.4280</td>\n",
-       "      <td>-10.946000</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.864</td>\n",
-       "      <td>-6.654</td>\n",
-       "      <td>-2.133</td>\n",
-       "      <td>1.316</td>\n",
-       "      <td>1.76</td>\n",
-       "      <td>0.80</td>\n",
-       "      <td>2.32</td>\n",
-       "      <td>0.95</td>\n",
-       "      <td>0.68</td>\n",
-       "      <td>2.18</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CaTe</th>\n",
-       "      <td>-102975.696119</td>\n",
-       "      <td>-102975.345663</td>\n",
-       "      <td>-0.350456</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>20.0</td>\n",
-       "      <td>52.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>-6.4280</td>\n",
-       "      <td>-9.866700</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.864</td>\n",
-       "      <td>-6.109</td>\n",
-       "      <td>-2.133</td>\n",
-       "      <td>0.099</td>\n",
-       "      <td>1.76</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>2.32</td>\n",
-       "      <td>1.14</td>\n",
-       "      <td>0.68</td>\n",
-       "      <td>1.83</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CdO</th>\n",
-       "      <td>-78015.168309</td>\n",
-       "      <td>-78015.084148</td>\n",
-       "      <td>-0.084161</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>48.0</td>\n",
-       "      <td>8.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-9.5814</td>\n",
-       "      <td>-16.433201</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-5.952</td>\n",
-       "      <td>-9.197</td>\n",
-       "      <td>-1.309</td>\n",
-       "      <td>2.541</td>\n",
-       "      <td>1.23</td>\n",
-       "      <td>0.46</td>\n",
-       "      <td>1.74</td>\n",
-       "      <td>0.43</td>\n",
-       "      <td>2.60</td>\n",
-       "      <td>2.22</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CdS</th>\n",
-       "      <td>-82420.563362</td>\n",
-       "      <td>-82420.636035</td>\n",
-       "      <td>0.072673</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>48.0</td>\n",
-       "      <td>16.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-9.5814</td>\n",
-       "      <td>-11.795100</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-5.952</td>\n",
-       "      <td>-7.106</td>\n",
-       "      <td>-1.309</td>\n",
-       "      <td>0.642</td>\n",
-       "      <td>1.23</td>\n",
-       "      <td>0.74</td>\n",
-       "      <td>1.74</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>2.60</td>\n",
-       "      <td>2.37</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CdSe</th>\n",
-       "      <td>-110227.061261</td>\n",
-       "      <td>-110227.144833</td>\n",
-       "      <td>0.083572</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>48.0</td>\n",
-       "      <td>34.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-9.5814</td>\n",
-       "      <td>-10.946000</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-5.952</td>\n",
-       "      <td>-6.654</td>\n",
-       "      <td>-1.309</td>\n",
-       "      <td>1.316</td>\n",
-       "      <td>1.23</td>\n",
-       "      <td>0.80</td>\n",
-       "      <td>1.74</td>\n",
-       "      <td>0.95</td>\n",
-       "      <td>2.60</td>\n",
-       "      <td>2.18</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CdTe</th>\n",
-       "      <td>-170714.589312</td>\n",
-       "      <td>-170714.703852</td>\n",
-       "      <td>0.114540</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>48.0</td>\n",
-       "      <td>52.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>-9.5814</td>\n",
-       "      <td>-9.866700</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-5.952</td>\n",
-       "      <td>-6.109</td>\n",
-       "      <td>-1.309</td>\n",
-       "      <td>0.099</td>\n",
-       "      <td>1.23</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>1.74</td>\n",
-       "      <td>1.14</td>\n",
-       "      <td>2.60</td>\n",
-       "      <td>1.83</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>...</th>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>LiBr</th>\n",
-       "      <td>-35758.254037</td>\n",
-       "      <td>-35758.221290</td>\n",
-       "      <td>-0.032746</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>35.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-5.3291</td>\n",
-       "      <td>-12.649600</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.874</td>\n",
-       "      <td>-8.001</td>\n",
-       "      <td>-0.978</td>\n",
-       "      <td>0.708</td>\n",
-       "      <td>1.65</td>\n",
-       "      <td>0.75</td>\n",
-       "      <td>2.00</td>\n",
-       "      <td>0.88</td>\n",
-       "      <td>6.93</td>\n",
-       "      <td>1.87</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>LiCl</th>\n",
-       "      <td>-6374.542821</td>\n",
-       "      <td>-6374.504440</td>\n",
-       "      <td>-0.038381</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>17.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-5.3291</td>\n",
-       "      <td>-13.901800</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.874</td>\n",
-       "      <td>-8.700</td>\n",
-       "      <td>-0.978</td>\n",
-       "      <td>0.574</td>\n",
-       "      <td>1.65</td>\n",
-       "      <td>0.68</td>\n",
-       "      <td>2.00</td>\n",
-       "      <td>0.76</td>\n",
-       "      <td>6.93</td>\n",
-       "      <td>1.67</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>LiF</th>\n",
-       "      <td>-1455.242231</td>\n",
-       "      <td>-1455.182743</td>\n",
-       "      <td>-0.059488</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>9.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-5.3291</td>\n",
-       "      <td>-19.404301</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.874</td>\n",
-       "      <td>-11.294</td>\n",
-       "      <td>-0.978</td>\n",
-       "      <td>1.251</td>\n",
-       "      <td>1.65</td>\n",
-       "      <td>0.41</td>\n",
-       "      <td>2.00</td>\n",
-       "      <td>0.37</td>\n",
-       "      <td>6.93</td>\n",
-       "      <td>1.43</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>LiI</th>\n",
-       "      <td>-98315.905042</td>\n",
-       "      <td>-98315.883382</td>\n",
-       "      <td>-0.021661</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>53.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>-5.3291</td>\n",
-       "      <td>-11.257100</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.874</td>\n",
-       "      <td>-7.236</td>\n",
-       "      <td>-0.978</td>\n",
-       "      <td>0.213</td>\n",
-       "      <td>1.65</td>\n",
-       "      <td>0.90</td>\n",
-       "      <td>2.00</td>\n",
-       "      <td>1.07</td>\n",
-       "      <td>6.93</td>\n",
-       "      <td>1.72</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>MgO</th>\n",
-       "      <td>-3737.074745</td>\n",
-       "      <td>-3736.842470</td>\n",
-       "      <td>-0.232275</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>12.0</td>\n",
-       "      <td>8.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-8.0371</td>\n",
-       "      <td>-16.433201</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-4.782</td>\n",
-       "      <td>-9.197</td>\n",
-       "      <td>-1.358</td>\n",
-       "      <td>2.541</td>\n",
-       "      <td>1.33</td>\n",
-       "      <td>0.46</td>\n",
-       "      <td>1.90</td>\n",
-       "      <td>0.43</td>\n",
-       "      <td>3.17</td>\n",
-       "      <td>2.22</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>MgS</th>\n",
-       "      <td>-8141.593383</td>\n",
-       "      <td>-8141.506684</td>\n",
-       "      <td>-0.086700</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>12.0</td>\n",
-       "      <td>16.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-8.0371</td>\n",
-       "      <td>-11.795100</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-4.782</td>\n",
-       "      <td>-7.106</td>\n",
-       "      <td>-1.358</td>\n",
-       "      <td>0.642</td>\n",
-       "      <td>1.33</td>\n",
-       "      <td>0.74</td>\n",
-       "      <td>1.90</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>3.17</td>\n",
-       "      <td>2.37</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>MgSe</th>\n",
-       "      <td>-35947.940031</td>\n",
-       "      <td>-35947.884729</td>\n",
-       "      <td>-0.055302</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>12.0</td>\n",
-       "      <td>34.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-8.0371</td>\n",
-       "      <td>-10.946000</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-4.782</td>\n",
-       "      <td>-6.654</td>\n",
-       "      <td>-1.358</td>\n",
-       "      <td>1.316</td>\n",
-       "      <td>1.33</td>\n",
-       "      <td>0.80</td>\n",
-       "      <td>1.90</td>\n",
-       "      <td>0.95</td>\n",
-       "      <td>3.17</td>\n",
-       "      <td>2.18</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>MgTe</th>\n",
-       "      <td>-96435.238354</td>\n",
-       "      <td>-96435.233762</td>\n",
-       "      <td>-0.004591</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>12.0</td>\n",
-       "      <td>52.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>-8.0371</td>\n",
-       "      <td>-9.866700</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-4.782</td>\n",
-       "      <td>-6.109</td>\n",
-       "      <td>-1.358</td>\n",
-       "      <td>0.099</td>\n",
-       "      <td>1.33</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>1.90</td>\n",
-       "      <td>1.14</td>\n",
-       "      <td>3.17</td>\n",
-       "      <td>1.83</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>NaBr</th>\n",
-       "      <td>-37859.126083</td>\n",
-       "      <td>-37858.999655</td>\n",
-       "      <td>-0.126429</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>11.0</td>\n",
-       "      <td>35.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-5.2231</td>\n",
-       "      <td>-12.649600</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.819</td>\n",
-       "      <td>-8.001</td>\n",
-       "      <td>-0.718</td>\n",
-       "      <td>0.708</td>\n",
-       "      <td>1.71</td>\n",
-       "      <td>0.75</td>\n",
-       "      <td>2.60</td>\n",
-       "      <td>0.88</td>\n",
-       "      <td>6.57</td>\n",
-       "      <td>1.87</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>NaCl</th>\n",
-       "      <td>-8475.373434</td>\n",
-       "      <td>-8475.240442</td>\n",
-       "      <td>-0.132992</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>11.0</td>\n",
-       "      <td>17.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-5.2231</td>\n",
-       "      <td>-13.901800</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.819</td>\n",
-       "      <td>-8.700</td>\n",
-       "      <td>-0.718</td>\n",
-       "      <td>0.574</td>\n",
-       "      <td>1.71</td>\n",
-       "      <td>0.68</td>\n",
-       "      <td>2.60</td>\n",
-       "      <td>0.76</td>\n",
-       "      <td>6.57</td>\n",
-       "      <td>1.67</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>NaF</th>\n",
-       "      <td>-3555.843406</td>\n",
-       "      <td>-3555.697618</td>\n",
-       "      <td>-0.145788</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>11.0</td>\n",
-       "      <td>9.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-5.2231</td>\n",
-       "      <td>-19.404301</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.819</td>\n",
-       "      <td>-11.294</td>\n",
-       "      <td>-0.718</td>\n",
-       "      <td>1.251</td>\n",
-       "      <td>1.71</td>\n",
-       "      <td>0.41</td>\n",
-       "      <td>2.60</td>\n",
-       "      <td>0.37</td>\n",
-       "      <td>6.57</td>\n",
-       "      <td>1.43</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>NaI</th>\n",
-       "      <td>-100416.816231</td>\n",
-       "      <td>-100416.701393</td>\n",
-       "      <td>-0.114838</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>11.0</td>\n",
-       "      <td>53.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>-5.2231</td>\n",
-       "      <td>-11.257100</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.819</td>\n",
-       "      <td>-7.236</td>\n",
-       "      <td>-0.718</td>\n",
-       "      <td>0.213</td>\n",
-       "      <td>1.71</td>\n",
-       "      <td>0.90</td>\n",
-       "      <td>2.60</td>\n",
-       "      <td>1.07</td>\n",
-       "      <td>6.57</td>\n",
-       "      <td>1.72</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>RbBr</th>\n",
-       "      <td>-76473.689393</td>\n",
-       "      <td>-76473.525572</td>\n",
-       "      <td>-0.163821</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>37.0</td>\n",
-       "      <td>35.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-4.2889</td>\n",
-       "      <td>-12.649600</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.360</td>\n",
-       "      <td>-8.001</td>\n",
-       "      <td>-0.705</td>\n",
-       "      <td>0.708</td>\n",
-       "      <td>2.24</td>\n",
-       "      <td>0.75</td>\n",
-       "      <td>3.20</td>\n",
-       "      <td>0.88</td>\n",
-       "      <td>1.96</td>\n",
-       "      <td>1.87</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>RbCl</th>\n",
-       "      <td>-47089.892923</td>\n",
-       "      <td>-47089.732419</td>\n",
-       "      <td>-0.160504</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>37.0</td>\n",
-       "      <td>17.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-4.2889</td>\n",
-       "      <td>-13.901800</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.360</td>\n",
-       "      <td>-8.700</td>\n",
-       "      <td>-0.705</td>\n",
-       "      <td>0.574</td>\n",
-       "      <td>2.24</td>\n",
-       "      <td>0.68</td>\n",
-       "      <td>3.20</td>\n",
-       "      <td>0.76</td>\n",
-       "      <td>1.96</td>\n",
-       "      <td>1.67</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>RbF</th>\n",
-       "      <td>-42170.183659</td>\n",
-       "      <td>-42170.048063</td>\n",
-       "      <td>-0.135596</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>37.0</td>\n",
-       "      <td>9.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-4.2889</td>\n",
-       "      <td>-19.404301</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.360</td>\n",
-       "      <td>-11.294</td>\n",
-       "      <td>-0.705</td>\n",
-       "      <td>1.251</td>\n",
-       "      <td>2.24</td>\n",
-       "      <td>0.41</td>\n",
-       "      <td>3.20</td>\n",
-       "      <td>0.37</td>\n",
-       "      <td>1.96</td>\n",
-       "      <td>1.43</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>RbI</th>\n",
-       "      <td>-139031.425413</td>\n",
-       "      <td>-139031.258212</td>\n",
-       "      <td>-0.167201</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>37.0</td>\n",
-       "      <td>53.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>-4.2889</td>\n",
-       "      <td>-11.257100</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-2.360</td>\n",
-       "      <td>-7.236</td>\n",
-       "      <td>-0.705</td>\n",
-       "      <td>0.213</td>\n",
-       "      <td>2.24</td>\n",
-       "      <td>0.90</td>\n",
-       "      <td>3.20</td>\n",
-       "      <td>1.07</td>\n",
-       "      <td>1.96</td>\n",
-       "      <td>1.72</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>Si2</th>\n",
-       "      <td>-7873.897162</td>\n",
-       "      <td>-7874.176328</td>\n",
-       "      <td>0.279166</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>14.0</td>\n",
-       "      <td>14.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-7.7577</td>\n",
-       "      <td>-7.757700</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-4.163</td>\n",
-       "      <td>-4.163</td>\n",
-       "      <td>0.440</td>\n",
-       "      <td>0.440</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>1.13</td>\n",
-       "      <td>1.13</td>\n",
-       "      <td>1.89</td>\n",
-       "      <td>1.89</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SiC</th>\n",
-       "      <td>-4451.285599</td>\n",
-       "      <td>-4451.954622</td>\n",
-       "      <td>0.669024</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>14.0</td>\n",
-       "      <td>6.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-7.7577</td>\n",
-       "      <td>-10.851700</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-4.163</td>\n",
-       "      <td>-5.416</td>\n",
-       "      <td>0.440</td>\n",
-       "      <td>1.992</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>0.64</td>\n",
-       "      <td>1.13</td>\n",
-       "      <td>0.63</td>\n",
-       "      <td>1.89</td>\n",
-       "      <td>1.63</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>Sn2</th>\n",
-       "      <td>-170215.350592</td>\n",
-       "      <td>-170215.367556</td>\n",
-       "      <td>0.016964</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>50.0</td>\n",
-       "      <td>50.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>-7.0428</td>\n",
-       "      <td>-7.042800</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.866</td>\n",
-       "      <td>-3.866</td>\n",
-       "      <td>0.008</td>\n",
-       "      <td>0.008</td>\n",
-       "      <td>1.06</td>\n",
-       "      <td>1.06</td>\n",
-       "      <td>1.34</td>\n",
-       "      <td>1.34</td>\n",
-       "      <td>2.03</td>\n",
-       "      <td>2.03</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SnC</th>\n",
-       "      <td>-85621.035409</td>\n",
-       "      <td>-85621.488947</td>\n",
-       "      <td>0.453538</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>50.0</td>\n",
-       "      <td>6.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-7.0428</td>\n",
-       "      <td>-10.851700</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.866</td>\n",
-       "      <td>-5.416</td>\n",
-       "      <td>0.008</td>\n",
-       "      <td>1.992</td>\n",
-       "      <td>1.06</td>\n",
-       "      <td>0.64</td>\n",
-       "      <td>1.34</td>\n",
-       "      <td>0.63</td>\n",
-       "      <td>2.03</td>\n",
-       "      <td>1.63</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SnGe</th>\n",
-       "      <td>-113787.450287</td>\n",
-       "      <td>-113787.531950</td>\n",
-       "      <td>0.081663</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>50.0</td>\n",
-       "      <td>32.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-7.0428</td>\n",
-       "      <td>-7.567000</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.866</td>\n",
-       "      <td>-4.046</td>\n",
-       "      <td>0.008</td>\n",
-       "      <td>2.175</td>\n",
-       "      <td>1.06</td>\n",
-       "      <td>0.92</td>\n",
-       "      <td>1.34</td>\n",
-       "      <td>1.16</td>\n",
-       "      <td>2.03</td>\n",
-       "      <td>2.37</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SnSi</th>\n",
-       "      <td>-89044.495403</td>\n",
-       "      <td>-89044.630512</td>\n",
-       "      <td>0.135109</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>50.0</td>\n",
-       "      <td>14.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-7.0428</td>\n",
-       "      <td>-7.757700</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.866</td>\n",
-       "      <td>-4.163</td>\n",
-       "      <td>0.008</td>\n",
-       "      <td>0.440</td>\n",
-       "      <td>1.06</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>1.34</td>\n",
-       "      <td>1.13</td>\n",
-       "      <td>2.03</td>\n",
-       "      <td>1.89</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SrO</th>\n",
-       "      <td>-44570.361722</td>\n",
-       "      <td>-44570.141416</td>\n",
-       "      <td>-0.220307</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>38.0</td>\n",
-       "      <td>8.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-6.0316</td>\n",
-       "      <td>-16.433201</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.641</td>\n",
-       "      <td>-9.197</td>\n",
-       "      <td>-1.379</td>\n",
-       "      <td>2.541</td>\n",
-       "      <td>1.91</td>\n",
-       "      <td>0.46</td>\n",
-       "      <td>2.55</td>\n",
-       "      <td>0.43</td>\n",
-       "      <td>1.20</td>\n",
-       "      <td>2.22</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SrS</th>\n",
-       "      <td>-48975.635583</td>\n",
-       "      <td>-48975.267149</td>\n",
-       "      <td>-0.368434</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>38.0</td>\n",
-       "      <td>16.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-6.0316</td>\n",
-       "      <td>-11.795100</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.641</td>\n",
-       "      <td>-7.106</td>\n",
-       "      <td>-1.379</td>\n",
-       "      <td>0.642</td>\n",
-       "      <td>1.91</td>\n",
-       "      <td>0.74</td>\n",
-       "      <td>2.55</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>1.20</td>\n",
-       "      <td>2.37</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SrSe</th>\n",
-       "      <td>-76782.088429</td>\n",
-       "      <td>-76781.713918</td>\n",
-       "      <td>-0.374511</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>38.0</td>\n",
-       "      <td>34.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-6.0316</td>\n",
-       "      <td>-10.946000</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.641</td>\n",
-       "      <td>-6.654</td>\n",
-       "      <td>-1.379</td>\n",
-       "      <td>1.316</td>\n",
-       "      <td>1.91</td>\n",
-       "      <td>0.80</td>\n",
-       "      <td>2.55</td>\n",
-       "      <td>0.95</td>\n",
-       "      <td>1.20</td>\n",
-       "      <td>2.18</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SrTe</th>\n",
-       "      <td>-137269.487147</td>\n",
-       "      <td>-137269.107853</td>\n",
-       "      <td>-0.379295</td>\n",
-       "      <td>RS</td>\n",
-       "      <td>38.0</td>\n",
-       "      <td>52.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>-6.0316</td>\n",
-       "      <td>-9.866700</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-3.641</td>\n",
-       "      <td>-6.109</td>\n",
-       "      <td>-1.379</td>\n",
-       "      <td>0.099</td>\n",
-       "      <td>1.91</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>2.55</td>\n",
-       "      <td>1.14</td>\n",
-       "      <td>1.20</td>\n",
-       "      <td>1.83</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>ZnO</th>\n",
-       "      <td>-25540.809205</td>\n",
-       "      <td>-25540.911173</td>\n",
-       "      <td>0.101968</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>30.0</td>\n",
-       "      <td>8.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>2.0</td>\n",
-       "      <td>-10.1355</td>\n",
-       "      <td>-16.433201</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-6.217</td>\n",
-       "      <td>-9.197</td>\n",
-       "      <td>-1.194</td>\n",
-       "      <td>2.541</td>\n",
-       "      <td>1.10</td>\n",
-       "      <td>0.46</td>\n",
-       "      <td>1.55</td>\n",
-       "      <td>0.43</td>\n",
-       "      <td>2.25</td>\n",
-       "      <td>2.22</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>ZnS</th>\n",
-       "      <td>-29945.889373</td>\n",
-       "      <td>-29946.165186</td>\n",
-       "      <td>0.275813</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>30.0</td>\n",
-       "      <td>16.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>3.0</td>\n",
-       "      <td>-10.1355</td>\n",
-       "      <td>-11.795100</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-6.217</td>\n",
-       "      <td>-7.106</td>\n",
-       "      <td>-1.194</td>\n",
-       "      <td>0.642</td>\n",
-       "      <td>1.10</td>\n",
-       "      <td>0.74</td>\n",
-       "      <td>1.55</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>2.25</td>\n",
-       "      <td>2.37</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>ZnSe</th>\n",
-       "      <td>-57752.319875</td>\n",
-       "      <td>-57752.583012</td>\n",
-       "      <td>0.263137</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>30.0</td>\n",
-       "      <td>34.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>-10.1355</td>\n",
-       "      <td>-10.946000</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-6.217</td>\n",
-       "      <td>-6.654</td>\n",
-       "      <td>-1.194</td>\n",
-       "      <td>1.316</td>\n",
-       "      <td>1.10</td>\n",
-       "      <td>0.80</td>\n",
-       "      <td>1.55</td>\n",
-       "      <td>0.95</td>\n",
-       "      <td>2.25</td>\n",
-       "      <td>2.18</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>ZnTe</th>\n",
-       "      <td>-118239.807676</td>\n",
-       "      <td>-118240.052677</td>\n",
-       "      <td>0.245001</td>\n",
-       "      <td>ZB</td>\n",
-       "      <td>30.0</td>\n",
-       "      <td>52.0</td>\n",
-       "      <td>4.0</td>\n",
-       "      <td>5.0</td>\n",
-       "      <td>-10.1355</td>\n",
-       "      <td>-9.866700</td>\n",
-       "      <td>...</td>\n",
-       "      <td>-6.217</td>\n",
-       "      <td>-6.109</td>\n",
-       "      <td>-1.194</td>\n",
-       "      <td>0.099</td>\n",
-       "      <td>1.10</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>1.55</td>\n",
-       "      <td>1.14</td>\n",
-       "      <td>2.25</td>\n",
-       "      <td>1.83</td>\n",
-       "    </tr>\n",
-       "  </tbody>\n",
-       "</table>\n",
-       "<p>82 rows × 22 columns</p>\n",
-       "</div>"
-      ],
-      "text/plain": [
-       "          energy_RS      energy_ZB  energy_diff min_struc_type  Z(A)  Z(B)  \\\n",
-       "AgBr -108781.333959 -108781.303925    -0.030033             RS  47.0  35.0   \n",
-       "AgCl  -79397.451083  -79397.408285    -0.042797             RS  47.0  17.0   \n",
-       "AgF   -74477.428165  -74477.274407    -0.153758             RS  47.0   9.0   \n",
-       "AgI  -171339.208181 -171339.245107     0.036925             ZB  47.0  53.0   \n",
-       "AlAs  -34200.077513  -34200.290775     0.213262             ZB  13.0  33.0   \n",
-       "AlN    -4036.429049   -4036.501998     0.072949             ZB  13.0   7.0   \n",
-       "AlP    -7940.862745   -7941.081704     0.218958             ZB  13.0  15.0   \n",
-       "AlSb  -92644.192004  -92644.348873     0.156869             ZB  13.0  51.0   \n",
-       "AsGa  -57457.679958  -57457.954236     0.274278             ZB  31.0  33.0   \n",
-       "BAs   -31239.347344  -31240.222322     0.874978             ZB   5.0  33.0   \n",
-       "BN     -1075.033415   -1076.745496     1.712080             ZB   5.0   7.0   \n",
-       "BP     -4980.272420   -4981.291645     1.019225             ZB   5.0  15.0   \n",
-       "BSb   -89683.613701  -89684.194551     0.580849             ZB   5.0  51.0   \n",
-       "BaO  -113504.826963 -113504.733965    -0.092999             RS  56.0   8.0   \n",
-       "BaS  -117910.270940 -117909.951178    -0.319762             RS  56.0  16.0   \n",
-       "BaSe -145716.769672 -145716.426227    -0.343445             RS  56.0  34.0   \n",
-       "BaTe -206204.229045 -206203.853659    -0.375387             RS  56.0  52.0   \n",
-       "BeO    -1218.439958   -1219.131796     0.691838             ZB   4.0   8.0   \n",
-       "BeS    -5622.515539   -5623.021867     0.506328             ZB   4.0  16.0   \n",
-       "BeSe  -33428.796762  -33429.291703     0.494940             ZB   4.0  34.0   \n",
-       "BeTe  -93916.104186  -93916.572772     0.468586             ZB   4.0  52.0   \n",
-       "C2     -1026.548820   -1029.177424     2.628604             ZB   6.0   6.0   \n",
-       "CaO   -10276.901085  -10276.635866    -0.265219             RS  20.0   8.0   \n",
-       "CaS   -14681.946741  -14681.577608    -0.369133             RS  20.0  16.0   \n",
-       "CaSe  -42488.352920  -42487.992122    -0.360798             RS  20.0  34.0   \n",
-       "CaTe -102975.696119 -102975.345663    -0.350456             RS  20.0  52.0   \n",
-       "CdO   -78015.168309  -78015.084148    -0.084161             RS  48.0   8.0   \n",
-       "CdS   -82420.563362  -82420.636035     0.072673             ZB  48.0  16.0   \n",
-       "CdSe -110227.061261 -110227.144833     0.083572             ZB  48.0  34.0   \n",
-       "CdTe -170714.589312 -170714.703852     0.114540             ZB  48.0  52.0   \n",
-       "...             ...            ...          ...            ...   ...   ...   \n",
-       "LiBr  -35758.254037  -35758.221290    -0.032746             RS   3.0  35.0   \n",
-       "LiCl   -6374.542821   -6374.504440    -0.038381             RS   3.0  17.0   \n",
-       "LiF    -1455.242231   -1455.182743    -0.059488             RS   3.0   9.0   \n",
-       "LiI   -98315.905042  -98315.883382    -0.021661             RS   3.0  53.0   \n",
-       "MgO    -3737.074745   -3736.842470    -0.232275             RS  12.0   8.0   \n",
-       "MgS    -8141.593383   -8141.506684    -0.086700             RS  12.0  16.0   \n",
-       "MgSe  -35947.940031  -35947.884729    -0.055302             RS  12.0  34.0   \n",
-       "MgTe  -96435.238354  -96435.233762    -0.004591             RS  12.0  52.0   \n",
-       "NaBr  -37859.126083  -37858.999655    -0.126429             RS  11.0  35.0   \n",
-       "NaCl   -8475.373434   -8475.240442    -0.132992             RS  11.0  17.0   \n",
-       "NaF    -3555.843406   -3555.697618    -0.145788             RS  11.0   9.0   \n",
-       "NaI  -100416.816231 -100416.701393    -0.114838             RS  11.0  53.0   \n",
-       "RbBr  -76473.689393  -76473.525572    -0.163821             RS  37.0  35.0   \n",
-       "RbCl  -47089.892923  -47089.732419    -0.160504             RS  37.0  17.0   \n",
-       "RbF   -42170.183659  -42170.048063    -0.135596             RS  37.0   9.0   \n",
-       "RbI  -139031.425413 -139031.258212    -0.167201             RS  37.0  53.0   \n",
-       "Si2    -7873.897162   -7874.176328     0.279166             ZB  14.0  14.0   \n",
-       "SiC    -4451.285599   -4451.954622     0.669024             ZB  14.0   6.0   \n",
-       "Sn2  -170215.350592 -170215.367556     0.016964             ZB  50.0  50.0   \n",
-       "SnC   -85621.035409  -85621.488947     0.453538             ZB  50.0   6.0   \n",
-       "SnGe -113787.450287 -113787.531950     0.081663             ZB  50.0  32.0   \n",
-       "SnSi  -89044.495403  -89044.630512     0.135109             ZB  50.0  14.0   \n",
-       "SrO   -44570.361722  -44570.141416    -0.220307             RS  38.0   8.0   \n",
-       "SrS   -48975.635583  -48975.267149    -0.368434             RS  38.0  16.0   \n",
-       "SrSe  -76782.088429  -76781.713918    -0.374511             RS  38.0  34.0   \n",
-       "SrTe -137269.487147 -137269.107853    -0.379295             RS  38.0  52.0   \n",
-       "ZnO   -25540.809205  -25540.911173     0.101968             ZB  30.0   8.0   \n",
-       "ZnS   -29945.889373  -29946.165186     0.275813             ZB  30.0  16.0   \n",
-       "ZnSe  -57752.319875  -57752.583012     0.263137             ZB  30.0  34.0   \n",
-       "ZnTe -118239.807676 -118240.052677     0.245001             ZB  30.0  52.0   \n",
-       "\n",
-       "      period(A)  period(B)    IP(A)      IP(B)  ...  E_HOMO(A)  E_HOMO(B)  \\\n",
-       "AgBr        5.0        4.0  -8.0581 -12.649600  ...     -4.710     -8.001   \n",
-       "AgCl        5.0        3.0  -8.0581 -13.901800  ...     -4.710     -8.700   \n",
-       "AgF         5.0        2.0  -8.0581 -19.404301  ...     -4.710    -11.294   \n",
-       "AgI         5.0        5.0  -8.0581 -11.257100  ...     -4.710     -7.236   \n",
-       "AlAs        3.0        4.0  -5.7805  -9.261900  ...     -2.784     -5.341   \n",
-       "AlN         3.0        2.0  -5.7805 -13.585200  ...     -2.784     -7.239   \n",
-       "AlP         3.0        3.0  -5.7805  -9.750600  ...     -2.784     -5.596   \n",
-       "AlSb        3.0        5.0  -5.7805  -8.468300  ...     -2.784     -4.991   \n",
-       "AsGa        4.0        4.0  -5.8182  -9.261900  ...     -2.732     -5.341   \n",
-       "BAs         2.0        4.0  -8.1900  -9.261900  ...     -3.715     -5.341   \n",
-       "BN          2.0        2.0  -8.1900 -13.585200  ...     -3.715     -7.239   \n",
-       "BP          2.0        3.0  -8.1900  -9.750600  ...     -3.715     -5.596   \n",
-       "BSb         2.0        5.0  -8.1900  -8.468300  ...     -3.715     -4.991   \n",
-       "BaO         6.0        2.0  -5.5157 -16.433201  ...     -3.346     -9.197   \n",
-       "BaS         6.0        3.0  -5.5157 -11.795100  ...     -3.346     -7.106   \n",
-       "BaSe        6.0        4.0  -5.5157 -10.946000  ...     -3.346     -6.654   \n",
-       "BaTe        6.0        5.0  -5.5157  -9.866700  ...     -3.346     -6.109   \n",
-       "BeO         2.0        2.0  -9.4594 -16.433201  ...     -5.600     -9.197   \n",
-       "BeS         2.0        3.0  -9.4594 -11.795100  ...     -5.600     -7.106   \n",
-       "BeSe        2.0        4.0  -9.4594 -10.946000  ...     -5.600     -6.654   \n",
-       "BeTe        2.0        5.0  -9.4594  -9.866700  ...     -5.600     -6.109   \n",
-       "C2          2.0        2.0 -10.8517 -10.851700  ...     -5.416     -5.416   \n",
-       "CaO         4.0        2.0  -6.4280 -16.433201  ...     -3.864     -9.197   \n",
-       "CaS         4.0        3.0  -6.4280 -11.795100  ...     -3.864     -7.106   \n",
-       "CaSe        4.0        4.0  -6.4280 -10.946000  ...     -3.864     -6.654   \n",
-       "CaTe        4.0        5.0  -6.4280  -9.866700  ...     -3.864     -6.109   \n",
-       "CdO         5.0        2.0  -9.5814 -16.433201  ...     -5.952     -9.197   \n",
-       "CdS         5.0        3.0  -9.5814 -11.795100  ...     -5.952     -7.106   \n",
-       "CdSe        5.0        4.0  -9.5814 -10.946000  ...     -5.952     -6.654   \n",
-       "CdTe        5.0        5.0  -9.5814  -9.866700  ...     -5.952     -6.109   \n",
-       "...         ...        ...      ...        ...  ...        ...        ...   \n",
-       "LiBr        2.0        4.0  -5.3291 -12.649600  ...     -2.874     -8.001   \n",
-       "LiCl        2.0        3.0  -5.3291 -13.901800  ...     -2.874     -8.700   \n",
-       "LiF         2.0        2.0  -5.3291 -19.404301  ...     -2.874    -11.294   \n",
-       "LiI         2.0        5.0  -5.3291 -11.257100  ...     -2.874     -7.236   \n",
-       "MgO         3.0        2.0  -8.0371 -16.433201  ...     -4.782     -9.197   \n",
-       "MgS         3.0        3.0  -8.0371 -11.795100  ...     -4.782     -7.106   \n",
-       "MgSe        3.0        4.0  -8.0371 -10.946000  ...     -4.782     -6.654   \n",
-       "MgTe        3.0        5.0  -8.0371  -9.866700  ...     -4.782     -6.109   \n",
-       "NaBr        3.0        4.0  -5.2231 -12.649600  ...     -2.819     -8.001   \n",
-       "NaCl        3.0        3.0  -5.2231 -13.901800  ...     -2.819     -8.700   \n",
-       "NaF         3.0        2.0  -5.2231 -19.404301  ...     -2.819    -11.294   \n",
-       "NaI         3.0        5.0  -5.2231 -11.257100  ...     -2.819     -7.236   \n",
-       "RbBr        5.0        4.0  -4.2889 -12.649600  ...     -2.360     -8.001   \n",
-       "RbCl        5.0        3.0  -4.2889 -13.901800  ...     -2.360     -8.700   \n",
-       "RbF         5.0        2.0  -4.2889 -19.404301  ...     -2.360    -11.294   \n",
-       "RbI         5.0        5.0  -4.2889 -11.257100  ...     -2.360     -7.236   \n",
-       "Si2         3.0        3.0  -7.7577  -7.757700  ...     -4.163     -4.163   \n",
-       "SiC         3.0        2.0  -7.7577 -10.851700  ...     -4.163     -5.416   \n",
-       "Sn2         5.0        5.0  -7.0428  -7.042800  ...     -3.866     -3.866   \n",
-       "SnC         5.0        2.0  -7.0428 -10.851700  ...     -3.866     -5.416   \n",
-       "SnGe        5.0        4.0  -7.0428  -7.567000  ...     -3.866     -4.046   \n",
-       "SnSi        5.0        3.0  -7.0428  -7.757700  ...     -3.866     -4.163   \n",
-       "SrO         5.0        2.0  -6.0316 -16.433201  ...     -3.641     -9.197   \n",
-       "SrS         5.0        3.0  -6.0316 -11.795100  ...     -3.641     -7.106   \n",
-       "SrSe        5.0        4.0  -6.0316 -10.946000  ...     -3.641     -6.654   \n",
-       "SrTe        5.0        5.0  -6.0316  -9.866700  ...     -3.641     -6.109   \n",
-       "ZnO         4.0        2.0 -10.1355 -16.433201  ...     -6.217     -9.197   \n",
-       "ZnS         4.0        3.0 -10.1355 -11.795100  ...     -6.217     -7.106   \n",
-       "ZnSe        4.0        4.0 -10.1355 -10.946000  ...     -6.217     -6.654   \n",
-       "ZnTe        4.0        5.0 -10.1355  -9.866700  ...     -6.217     -6.109   \n",
-       "\n",
-       "      E_LUMO(A)  E_LUMO(B)  r_s(A)  r_s(B)  r_p(A)  r_p(B)  r_d(A)  r_d(B)  \n",
-       "AgBr     -0.479      0.708    1.32    0.75    1.88    0.88    2.97    1.87  \n",
-       "AgCl     -0.479      0.574    1.32    0.68    1.88    0.76    2.97    1.67  \n",
-       "AgF      -0.479      1.251    1.32    0.41    1.88    0.37    2.97    1.43  \n",
-       "AgI      -0.479      0.213    1.32    0.90    1.88    1.07    2.97    1.72  \n",
-       "AlAs      0.695      0.064    1.09    0.85    1.39    1.04    1.94    2.02  \n",
-       "AlN       0.695      3.057    1.09    0.54    1.39    0.51    1.94    1.54  \n",
-       "AlP       0.695      0.183    1.09    0.83    1.39    0.97    1.94    1.77  \n",
-       "AlSb      0.695      0.105    1.09    1.00    1.39    1.23    1.94    2.06  \n",
-       "AsGa      0.130      0.064    0.99    0.85    1.33    1.04    2.16    2.02  \n",
-       "BAs       2.248      0.064    0.81    0.85    0.83    1.04    1.95    2.02  \n",
-       "BN        2.248      3.057    0.81    0.54    0.83    0.51    1.95    1.54  \n",
-       "BP        2.248      0.183    0.81    0.83    0.83    0.97    1.95    1.77  \n",
-       "BSb       2.248      0.105    0.81    1.00    0.83    1.23    1.95    2.06  \n",
-       "BaO      -2.129      2.541    2.15    0.46    2.63    0.43    1.35    2.22  \n",
-       "BaS      -2.129      0.642    2.15    0.74    2.63    0.85    1.35    2.37  \n",
-       "BaSe     -2.129      1.316    2.15    0.80    2.63    0.95    1.35    2.18  \n",
-       "BaTe     -2.129      0.099    2.15    0.94    2.63    1.14    1.35    1.83  \n",
-       "BeO      -2.098      2.541    1.08    0.46    1.21    0.43    2.88    2.22  \n",
-       "BeS      -2.098      0.642    1.08    0.74    1.21    0.85    2.88    2.37  \n",
-       "BeSe     -2.098      1.316    1.08    0.80    1.21    0.95    2.88    2.18  \n",
-       "BeTe     -2.098      0.099    1.08    0.94    1.21    1.14    2.88    1.83  \n",
-       "C2        1.992      1.992    0.64    0.64    0.63    0.63    1.63    1.63  \n",
-       "CaO      -2.133      2.541    1.76    0.46    2.32    0.43    0.68    2.22  \n",
-       "CaS      -2.133      0.642    1.76    0.74    2.32    0.85    0.68    2.37  \n",
-       "CaSe     -2.133      1.316    1.76    0.80    2.32    0.95    0.68    2.18  \n",
-       "CaTe     -2.133      0.099    1.76    0.94    2.32    1.14    0.68    1.83  \n",
-       "CdO      -1.309      2.541    1.23    0.46    1.74    0.43    2.60    2.22  \n",
-       "CdS      -1.309      0.642    1.23    0.74    1.74    0.85    2.60    2.37  \n",
-       "CdSe     -1.309      1.316    1.23    0.80    1.74    0.95    2.60    2.18  \n",
-       "CdTe     -1.309      0.099    1.23    0.94    1.74    1.14    2.60    1.83  \n",
-       "...         ...        ...     ...     ...     ...     ...     ...     ...  \n",
-       "LiBr     -0.978      0.708    1.65    0.75    2.00    0.88    6.93    1.87  \n",
-       "LiCl     -0.978      0.574    1.65    0.68    2.00    0.76    6.93    1.67  \n",
-       "LiF      -0.978      1.251    1.65    0.41    2.00    0.37    6.93    1.43  \n",
-       "LiI      -0.978      0.213    1.65    0.90    2.00    1.07    6.93    1.72  \n",
-       "MgO      -1.358      2.541    1.33    0.46    1.90    0.43    3.17    2.22  \n",
-       "MgS      -1.358      0.642    1.33    0.74    1.90    0.85    3.17    2.37  \n",
-       "MgSe     -1.358      1.316    1.33    0.80    1.90    0.95    3.17    2.18  \n",
-       "MgTe     -1.358      0.099    1.33    0.94    1.90    1.14    3.17    1.83  \n",
-       "NaBr     -0.718      0.708    1.71    0.75    2.60    0.88    6.57    1.87  \n",
-       "NaCl     -0.718      0.574    1.71    0.68    2.60    0.76    6.57    1.67  \n",
-       "NaF      -0.718      1.251    1.71    0.41    2.60    0.37    6.57    1.43  \n",
-       "NaI      -0.718      0.213    1.71    0.90    2.60    1.07    6.57    1.72  \n",
-       "RbBr     -0.705      0.708    2.24    0.75    3.20    0.88    1.96    1.87  \n",
-       "RbCl     -0.705      0.574    2.24    0.68    3.20    0.76    1.96    1.67  \n",
-       "RbF      -0.705      1.251    2.24    0.41    3.20    0.37    1.96    1.43  \n",
-       "RbI      -0.705      0.213    2.24    0.90    3.20    1.07    1.96    1.72  \n",
-       "Si2       0.440      0.440    0.94    0.94    1.13    1.13    1.89    1.89  \n",
-       "SiC       0.440      1.992    0.94    0.64    1.13    0.63    1.89    1.63  \n",
-       "Sn2       0.008      0.008    1.06    1.06    1.34    1.34    2.03    2.03  \n",
-       "SnC       0.008      1.992    1.06    0.64    1.34    0.63    2.03    1.63  \n",
-       "SnGe      0.008      2.175    1.06    0.92    1.34    1.16    2.03    2.37  \n",
-       "SnSi      0.008      0.440    1.06    0.94    1.34    1.13    2.03    1.89  \n",
-       "SrO      -1.379      2.541    1.91    0.46    2.55    0.43    1.20    2.22  \n",
-       "SrS      -1.379      0.642    1.91    0.74    2.55    0.85    1.20    2.37  \n",
-       "SrSe     -1.379      1.316    1.91    0.80    2.55    0.95    1.20    2.18  \n",
-       "SrTe     -1.379      0.099    1.91    0.94    2.55    1.14    1.20    1.83  \n",
-       "ZnO      -1.194      2.541    1.10    0.46    1.55    0.43    2.25    2.22  \n",
-       "ZnS      -1.194      0.642    1.10    0.74    1.55    0.85    2.25    2.37  \n",
-       "ZnSe     -1.194      1.316    1.10    0.80    1.55    0.95    2.25    2.18  \n",
-       "ZnTe     -1.194      0.099    1.10    0.94    1.55    1.14    2.25    1.83  \n",
-       "\n",
-       "[82 rows x 22 columns]"
-      ]
-     },
-     "execution_count": 3,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "# load data\n",
-    "df = pd.read_pickle(\"data/data.pkl\")\n",
-    "\n",
-    "# print data without structure objects\n",
-    "df.drop(['struc_obj_RS', 'struc_obj_ZB', 'struc_obj_min'], axis=1)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "data": {
-      "text/html": [
-       "<!DOCTYPE html>\n",
-       "        <html>\n",
-       "            <body>\n",
-       "        <!-- load JSmol; relative path works, absolute fails, might be access rights related -->\n",
-       "        <script type=\"text/javascript\" src=\"JSmol.min.js\"></script> \n",
-       "        <script type=\"text/javascript\">\n",
-       "        \n",
-       "            Jmol.setDocument(false);\n",
-       "            \n",
-       "            \n",
-       "            var jmolApplet0;\n",
-       "            var info = {\n",
-       "                width: 400,\n",
-       "                height: 300,\n",
-       "                use: \"HTML5\",\n",
-       "                j2spath: \"./j2s\",\n",
-       "                script: 'load ../../tmp/example_structure.in'\n",
-       "            };\n",
-       " \n",
-       "            $(document).ready(function() {\n",
-       "                $(\"#appdiv\").html(Jmol.getAppletHtml(\"jmolApplet0\", info))\n",
-       "            });\n",
-       "\n",
-       "\n",
-       "        </script>\n",
-       "        \n",
-       "        <div style=\"display: table; margin: 0 auto;\" id=\"appdiv\"></div> \n",
-       "            </body>\n",
-       "        </html>\n",
-       "    "
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# demonstrate 3x3x3 supercell of one example structure\n",
-    "example_structure = df.loc['AgBr', 'struc_obj_RS'] * [3, 3, 3]\n",
-    "show_structure(example_structure, filename=tmpdir + 'example_structure.in')"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "Let us look at the distribution of the energy differences."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Standard deviation: 0.448 eV/atom\n"
-     ]
-    }
-   ],
-   "source": [
-    "plt.hist(df['energy_diff'].tolist(), bins=30)\n",
-    "plt.xlabel('$\\Delta E$')\n",
-    "plt.ylabel('Counts')\n",
-    "plt.show()\n",
-    "print('Standard deviation: %.3f eV/atom' % df['energy_diff'].values.std())"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "With the SISSO method, we are able to predict the energy differences from the atomic features with an accuracy of 0.035 eV/atom. However, due to computational limit we will target an accuracy of around 0.1 eV/atom in this tutorial.  \n",
-    "\n",
-    "Now let us define a function get_data that uses the data frame df_data to define the target vector $\\mathbf{P}$ of energy differences and construct the desriptor matrix $\\mathbf{D}$ of combined features. The arguments selected_feature_list and allowed_operations specify which primary features and which arithmetic operations should be used to build the new derived features."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [],
-   "source": [
-    "def get_data(selected_feature_list, allowed_operations):\n",
-    "    # add both '(A)', '(B)' to each feature\n",
-    "    selected_featureAB_list = [f+A_or_B for f in selected_feature_list for A_or_B in ['(A)', '(B)']]\n",
-    "    \n",
-    "    # extract energy differences and selected features from df_data \n",
-    "    P = df['energy_diff'].values\n",
-    "    df_features = df[selected_featureAB_list]\n",
-    "    \n",
-    "    \n",
-    "    # derive new features using allowed_operations\n",
-    "    df_combined = combine_features(df=df_features, allowed_operations=allowed_operations)\n",
-    "    return P, df_combined"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "metadata": {
-    "pycharm": {},
-    "scrolled": true
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Selected operations:\n",
-      " ['+']\n",
-      "Number of total features generated: 10\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<div>\n",
-       "<style scoped>\n",
-       "    .dataframe tbody tr th:only-of-type {\n",
-       "        vertical-align: middle;\n",
-       "    }\n",
-       "\n",
-       "    .dataframe tbody tr th {\n",
-       "        vertical-align: top;\n",
-       "    }\n",
-       "\n",
-       "    .dataframe thead th {\n",
-       "        text-align: right;\n",
-       "    }\n",
-       "</style>\n",
-       "<table border=\"1\" class=\"dataframe\">\n",
-       "  <thead>\n",
-       "    <tr style=\"text-align: right;\">\n",
-       "      <th></th>\n",
-       "      <th>r_s(A)</th>\n",
-       "      <th>r_s(B)</th>\n",
-       "      <th>r_p(A)</th>\n",
-       "      <th>r_p(B)</th>\n",
-       "      <th>(r_s(A)+r_s(B))</th>\n",
-       "      <th>(r_s(A)+r_p(A))</th>\n",
-       "      <th>(r_s(A)+r_p(B))</th>\n",
-       "      <th>(r_s(B)+r_p(A))</th>\n",
-       "      <th>(r_s(B)+r_p(B))</th>\n",
-       "      <th>(r_p(A)+r_p(B))</th>\n",
-       "    </tr>\n",
-       "  </thead>\n",
-       "  <tbody>\n",
-       "    <tr>\n",
-       "      <th>AgBr</th>\n",
-       "      <td>1.32</td>\n",
-       "      <td>0.75</td>\n",
-       "      <td>1.88</td>\n",
-       "      <td>0.88</td>\n",
-       "      <td>2.07</td>\n",
-       "      <td>3.20</td>\n",
-       "      <td>2.20</td>\n",
-       "      <td>2.63</td>\n",
-       "      <td>1.63</td>\n",
-       "      <td>2.76</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AgCl</th>\n",
-       "      <td>1.32</td>\n",
-       "      <td>0.68</td>\n",
-       "      <td>1.88</td>\n",
-       "      <td>0.76</td>\n",
-       "      <td>2.00</td>\n",
-       "      <td>3.20</td>\n",
-       "      <td>2.08</td>\n",
-       "      <td>2.56</td>\n",
-       "      <td>1.44</td>\n",
-       "      <td>2.64</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AgF</th>\n",
-       "      <td>1.32</td>\n",
-       "      <td>0.41</td>\n",
-       "      <td>1.88</td>\n",
-       "      <td>0.37</td>\n",
-       "      <td>1.73</td>\n",
-       "      <td>3.20</td>\n",
-       "      <td>1.69</td>\n",
-       "      <td>2.29</td>\n",
-       "      <td>0.78</td>\n",
-       "      <td>2.25</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AgI</th>\n",
-       "      <td>1.32</td>\n",
-       "      <td>0.90</td>\n",
-       "      <td>1.88</td>\n",
-       "      <td>1.07</td>\n",
-       "      <td>2.22</td>\n",
-       "      <td>3.20</td>\n",
-       "      <td>2.39</td>\n",
-       "      <td>2.78</td>\n",
-       "      <td>1.97</td>\n",
-       "      <td>2.95</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AlAs</th>\n",
-       "      <td>1.09</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>1.39</td>\n",
-       "      <td>1.04</td>\n",
-       "      <td>1.94</td>\n",
-       "      <td>2.48</td>\n",
-       "      <td>2.13</td>\n",
-       "      <td>2.24</td>\n",
-       "      <td>1.89</td>\n",
-       "      <td>2.43</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AlN</th>\n",
-       "      <td>1.09</td>\n",
-       "      <td>0.54</td>\n",
-       "      <td>1.39</td>\n",
-       "      <td>0.51</td>\n",
-       "      <td>1.63</td>\n",
-       "      <td>2.48</td>\n",
-       "      <td>1.60</td>\n",
-       "      <td>1.93</td>\n",
-       "      <td>1.05</td>\n",
-       "      <td>1.90</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AlP</th>\n",
-       "      <td>1.09</td>\n",
-       "      <td>0.83</td>\n",
-       "      <td>1.39</td>\n",
-       "      <td>0.97</td>\n",
-       "      <td>1.92</td>\n",
-       "      <td>2.48</td>\n",
-       "      <td>2.06</td>\n",
-       "      <td>2.22</td>\n",
-       "      <td>1.80</td>\n",
-       "      <td>2.36</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AlSb</th>\n",
-       "      <td>1.09</td>\n",
-       "      <td>1.00</td>\n",
-       "      <td>1.39</td>\n",
-       "      <td>1.23</td>\n",
-       "      <td>2.09</td>\n",
-       "      <td>2.48</td>\n",
-       "      <td>2.32</td>\n",
-       "      <td>2.39</td>\n",
-       "      <td>2.23</td>\n",
-       "      <td>2.62</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AsGa</th>\n",
-       "      <td>0.99</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>1.33</td>\n",
-       "      <td>1.04</td>\n",
-       "      <td>1.84</td>\n",
-       "      <td>2.32</td>\n",
-       "      <td>2.03</td>\n",
-       "      <td>2.18</td>\n",
-       "      <td>1.89</td>\n",
-       "      <td>2.37</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BAs</th>\n",
-       "      <td>0.81</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>0.83</td>\n",
-       "      <td>1.04</td>\n",
-       "      <td>1.66</td>\n",
-       "      <td>1.64</td>\n",
-       "      <td>1.85</td>\n",
-       "      <td>1.68</td>\n",
-       "      <td>1.89</td>\n",
-       "      <td>1.87</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BN</th>\n",
-       "      <td>0.81</td>\n",
-       "      <td>0.54</td>\n",
-       "      <td>0.83</td>\n",
-       "      <td>0.51</td>\n",
-       "      <td>1.35</td>\n",
-       "      <td>1.64</td>\n",
-       "      <td>1.32</td>\n",
-       "      <td>1.37</td>\n",
-       "      <td>1.05</td>\n",
-       "      <td>1.34</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BP</th>\n",
-       "      <td>0.81</td>\n",
-       "      <td>0.83</td>\n",
-       "      <td>0.83</td>\n",
-       "      <td>0.97</td>\n",
-       "      <td>1.64</td>\n",
-       "      <td>1.64</td>\n",
-       "      <td>1.78</td>\n",
-       "      <td>1.66</td>\n",
-       "      <td>1.80</td>\n",
-       "      <td>1.80</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BSb</th>\n",
-       "      <td>0.81</td>\n",
-       "      <td>1.00</td>\n",
-       "      <td>0.83</td>\n",
-       "      <td>1.23</td>\n",
-       "      <td>1.81</td>\n",
-       "      <td>1.64</td>\n",
-       "      <td>2.04</td>\n",
-       "      <td>1.83</td>\n",
-       "      <td>2.23</td>\n",
-       "      <td>2.06</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BaO</th>\n",
-       "      <td>2.15</td>\n",
-       "      <td>0.46</td>\n",
-       "      <td>2.63</td>\n",
-       "      <td>0.43</td>\n",
-       "      <td>2.61</td>\n",
-       "      <td>4.78</td>\n",
-       "      <td>2.58</td>\n",
-       "      <td>3.09</td>\n",
-       "      <td>0.89</td>\n",
-       "      <td>3.06</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BaS</th>\n",
-       "      <td>2.15</td>\n",
-       "      <td>0.74</td>\n",
-       "      <td>2.63</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>2.89</td>\n",
-       "      <td>4.78</td>\n",
-       "      <td>3.00</td>\n",
-       "      <td>3.37</td>\n",
-       "      <td>1.59</td>\n",
-       "      <td>3.48</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BaSe</th>\n",
-       "      <td>2.15</td>\n",
-       "      <td>0.80</td>\n",
-       "      <td>2.63</td>\n",
-       "      <td>0.95</td>\n",
-       "      <td>2.95</td>\n",
-       "      <td>4.78</td>\n",
-       "      <td>3.10</td>\n",
-       "      <td>3.43</td>\n",
-       "      <td>1.75</td>\n",
-       "      <td>3.58</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BaTe</th>\n",
-       "      <td>2.15</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>2.63</td>\n",
-       "      <td>1.14</td>\n",
-       "      <td>3.09</td>\n",
-       "      <td>4.78</td>\n",
-       "      <td>3.29</td>\n",
-       "      <td>3.57</td>\n",
-       "      <td>2.08</td>\n",
-       "      <td>3.77</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BeO</th>\n",
-       "      <td>1.08</td>\n",
-       "      <td>0.46</td>\n",
-       "      <td>1.21</td>\n",
-       "      <td>0.43</td>\n",
-       "      <td>1.54</td>\n",
-       "      <td>2.29</td>\n",
-       "      <td>1.51</td>\n",
-       "      <td>1.67</td>\n",
-       "      <td>0.89</td>\n",
-       "      <td>1.64</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BeS</th>\n",
-       "      <td>1.08</td>\n",
-       "      <td>0.74</td>\n",
-       "      <td>1.21</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>1.82</td>\n",
-       "      <td>2.29</td>\n",
-       "      <td>1.93</td>\n",
-       "      <td>1.95</td>\n",
-       "      <td>1.59</td>\n",
-       "      <td>2.06</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BeSe</th>\n",
-       "      <td>1.08</td>\n",
-       "      <td>0.80</td>\n",
-       "      <td>1.21</td>\n",
-       "      <td>0.95</td>\n",
-       "      <td>1.88</td>\n",
-       "      <td>2.29</td>\n",
-       "      <td>2.03</td>\n",
-       "      <td>2.01</td>\n",
-       "      <td>1.75</td>\n",
-       "      <td>2.16</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BeTe</th>\n",
-       "      <td>1.08</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>1.21</td>\n",
-       "      <td>1.14</td>\n",
-       "      <td>2.02</td>\n",
-       "      <td>2.29</td>\n",
-       "      <td>2.22</td>\n",
-       "      <td>2.15</td>\n",
-       "      <td>2.08</td>\n",
-       "      <td>2.35</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>C2</th>\n",
-       "      <td>0.64</td>\n",
-       "      <td>0.64</td>\n",
-       "      <td>0.63</td>\n",
-       "      <td>0.63</td>\n",
-       "      <td>1.28</td>\n",
-       "      <td>1.27</td>\n",
-       "      <td>1.27</td>\n",
-       "      <td>1.27</td>\n",
-       "      <td>1.27</td>\n",
-       "      <td>1.26</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CaO</th>\n",
-       "      <td>1.76</td>\n",
-       "      <td>0.46</td>\n",
-       "      <td>2.32</td>\n",
-       "      <td>0.43</td>\n",
-       "      <td>2.22</td>\n",
-       "      <td>4.08</td>\n",
-       "      <td>2.19</td>\n",
-       "      <td>2.78</td>\n",
-       "      <td>0.89</td>\n",
-       "      <td>2.75</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CaS</th>\n",
-       "      <td>1.76</td>\n",
-       "      <td>0.74</td>\n",
-       "      <td>2.32</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>2.50</td>\n",
-       "      <td>4.08</td>\n",
-       "      <td>2.61</td>\n",
-       "      <td>3.06</td>\n",
-       "      <td>1.59</td>\n",
-       "      <td>3.17</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CaSe</th>\n",
-       "      <td>1.76</td>\n",
-       "      <td>0.80</td>\n",
-       "      <td>2.32</td>\n",
-       "      <td>0.95</td>\n",
-       "      <td>2.56</td>\n",
-       "      <td>4.08</td>\n",
-       "      <td>2.71</td>\n",
-       "      <td>3.12</td>\n",
-       "      <td>1.75</td>\n",
-       "      <td>3.27</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CaTe</th>\n",
-       "      <td>1.76</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>2.32</td>\n",
-       "      <td>1.14</td>\n",
-       "      <td>2.70</td>\n",
-       "      <td>4.08</td>\n",
-       "      <td>2.90</td>\n",
-       "      <td>3.26</td>\n",
-       "      <td>2.08</td>\n",
-       "      <td>3.46</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CdO</th>\n",
-       "      <td>1.23</td>\n",
-       "      <td>0.46</td>\n",
-       "      <td>1.74</td>\n",
-       "      <td>0.43</td>\n",
-       "      <td>1.69</td>\n",
-       "      <td>2.97</td>\n",
-       "      <td>1.66</td>\n",
-       "      <td>2.20</td>\n",
-       "      <td>0.89</td>\n",
-       "      <td>2.17</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CdS</th>\n",
-       "      <td>1.23</td>\n",
-       "      <td>0.74</td>\n",
-       "      <td>1.74</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>1.97</td>\n",
-       "      <td>2.97</td>\n",
-       "      <td>2.08</td>\n",
-       "      <td>2.48</td>\n",
-       "      <td>1.59</td>\n",
-       "      <td>2.59</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CdSe</th>\n",
-       "      <td>1.23</td>\n",
-       "      <td>0.80</td>\n",
-       "      <td>1.74</td>\n",
-       "      <td>0.95</td>\n",
-       "      <td>2.03</td>\n",
-       "      <td>2.97</td>\n",
-       "      <td>2.18</td>\n",
-       "      <td>2.54</td>\n",
-       "      <td>1.75</td>\n",
-       "      <td>2.69</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CdTe</th>\n",
-       "      <td>1.23</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>1.74</td>\n",
-       "      <td>1.14</td>\n",
-       "      <td>2.17</td>\n",
-       "      <td>2.97</td>\n",
-       "      <td>2.37</td>\n",
-       "      <td>2.68</td>\n",
-       "      <td>2.08</td>\n",
-       "      <td>2.88</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>...</th>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>LiBr</th>\n",
-       "      <td>1.65</td>\n",
-       "      <td>0.75</td>\n",
-       "      <td>2.00</td>\n",
-       "      <td>0.88</td>\n",
-       "      <td>2.40</td>\n",
-       "      <td>3.65</td>\n",
-       "      <td>2.53</td>\n",
-       "      <td>2.75</td>\n",
-       "      <td>1.63</td>\n",
-       "      <td>2.88</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>LiCl</th>\n",
-       "      <td>1.65</td>\n",
-       "      <td>0.68</td>\n",
-       "      <td>2.00</td>\n",
-       "      <td>0.76</td>\n",
-       "      <td>2.33</td>\n",
-       "      <td>3.65</td>\n",
-       "      <td>2.41</td>\n",
-       "      <td>2.68</td>\n",
-       "      <td>1.44</td>\n",
-       "      <td>2.76</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>LiF</th>\n",
-       "      <td>1.65</td>\n",
-       "      <td>0.41</td>\n",
-       "      <td>2.00</td>\n",
-       "      <td>0.37</td>\n",
-       "      <td>2.06</td>\n",
-       "      <td>3.65</td>\n",
-       "      <td>2.02</td>\n",
-       "      <td>2.41</td>\n",
-       "      <td>0.78</td>\n",
-       "      <td>2.37</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>LiI</th>\n",
-       "      <td>1.65</td>\n",
-       "      <td>0.90</td>\n",
-       "      <td>2.00</td>\n",
-       "      <td>1.07</td>\n",
-       "      <td>2.55</td>\n",
-       "      <td>3.65</td>\n",
-       "      <td>2.72</td>\n",
-       "      <td>2.90</td>\n",
-       "      <td>1.97</td>\n",
-       "      <td>3.07</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>MgO</th>\n",
-       "      <td>1.33</td>\n",
-       "      <td>0.46</td>\n",
-       "      <td>1.90</td>\n",
-       "      <td>0.43</td>\n",
-       "      <td>1.79</td>\n",
-       "      <td>3.23</td>\n",
-       "      <td>1.76</td>\n",
-       "      <td>2.36</td>\n",
-       "      <td>0.89</td>\n",
-       "      <td>2.33</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>MgS</th>\n",
-       "      <td>1.33</td>\n",
-       "      <td>0.74</td>\n",
-       "      <td>1.90</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>2.07</td>\n",
-       "      <td>3.23</td>\n",
-       "      <td>2.18</td>\n",
-       "      <td>2.64</td>\n",
-       "      <td>1.59</td>\n",
-       "      <td>2.75</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>MgSe</th>\n",
-       "      <td>1.33</td>\n",
-       "      <td>0.80</td>\n",
-       "      <td>1.90</td>\n",
-       "      <td>0.95</td>\n",
-       "      <td>2.13</td>\n",
-       "      <td>3.23</td>\n",
-       "      <td>2.28</td>\n",
-       "      <td>2.70</td>\n",
-       "      <td>1.75</td>\n",
-       "      <td>2.85</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>MgTe</th>\n",
-       "      <td>1.33</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>1.90</td>\n",
-       "      <td>1.14</td>\n",
-       "      <td>2.27</td>\n",
-       "      <td>3.23</td>\n",
-       "      <td>2.47</td>\n",
-       "      <td>2.84</td>\n",
-       "      <td>2.08</td>\n",
-       "      <td>3.04</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>NaBr</th>\n",
-       "      <td>1.71</td>\n",
-       "      <td>0.75</td>\n",
-       "      <td>2.60</td>\n",
-       "      <td>0.88</td>\n",
-       "      <td>2.46</td>\n",
-       "      <td>4.31</td>\n",
-       "      <td>2.59</td>\n",
-       "      <td>3.35</td>\n",
-       "      <td>1.63</td>\n",
-       "      <td>3.48</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>NaCl</th>\n",
-       "      <td>1.71</td>\n",
-       "      <td>0.68</td>\n",
-       "      <td>2.60</td>\n",
-       "      <td>0.76</td>\n",
-       "      <td>2.39</td>\n",
-       "      <td>4.31</td>\n",
-       "      <td>2.47</td>\n",
-       "      <td>3.28</td>\n",
-       "      <td>1.44</td>\n",
-       "      <td>3.36</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>NaF</th>\n",
-       "      <td>1.71</td>\n",
-       "      <td>0.41</td>\n",
-       "      <td>2.60</td>\n",
-       "      <td>0.37</td>\n",
-       "      <td>2.12</td>\n",
-       "      <td>4.31</td>\n",
-       "      <td>2.08</td>\n",
-       "      <td>3.01</td>\n",
-       "      <td>0.78</td>\n",
-       "      <td>2.97</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>NaI</th>\n",
-       "      <td>1.71</td>\n",
-       "      <td>0.90</td>\n",
-       "      <td>2.60</td>\n",
-       "      <td>1.07</td>\n",
-       "      <td>2.61</td>\n",
-       "      <td>4.31</td>\n",
-       "      <td>2.78</td>\n",
-       "      <td>3.50</td>\n",
-       "      <td>1.97</td>\n",
-       "      <td>3.67</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>RbBr</th>\n",
-       "      <td>2.24</td>\n",
-       "      <td>0.75</td>\n",
-       "      <td>3.20</td>\n",
-       "      <td>0.88</td>\n",
-       "      <td>2.99</td>\n",
-       "      <td>5.44</td>\n",
-       "      <td>3.12</td>\n",
-       "      <td>3.95</td>\n",
-       "      <td>1.63</td>\n",
-       "      <td>4.08</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>RbCl</th>\n",
-       "      <td>2.24</td>\n",
-       "      <td>0.68</td>\n",
-       "      <td>3.20</td>\n",
-       "      <td>0.76</td>\n",
-       "      <td>2.92</td>\n",
-       "      <td>5.44</td>\n",
-       "      <td>3.00</td>\n",
-       "      <td>3.88</td>\n",
-       "      <td>1.44</td>\n",
-       "      <td>3.96</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>RbF</th>\n",
-       "      <td>2.24</td>\n",
-       "      <td>0.41</td>\n",
-       "      <td>3.20</td>\n",
-       "      <td>0.37</td>\n",
-       "      <td>2.65</td>\n",
-       "      <td>5.44</td>\n",
-       "      <td>2.61</td>\n",
-       "      <td>3.61</td>\n",
-       "      <td>0.78</td>\n",
-       "      <td>3.57</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>RbI</th>\n",
-       "      <td>2.24</td>\n",
-       "      <td>0.90</td>\n",
-       "      <td>3.20</td>\n",
-       "      <td>1.07</td>\n",
-       "      <td>3.14</td>\n",
-       "      <td>5.44</td>\n",
-       "      <td>3.31</td>\n",
-       "      <td>4.10</td>\n",
-       "      <td>1.97</td>\n",
-       "      <td>4.27</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>Si2</th>\n",
-       "      <td>0.94</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>1.13</td>\n",
-       "      <td>1.13</td>\n",
-       "      <td>1.88</td>\n",
-       "      <td>2.07</td>\n",
-       "      <td>2.07</td>\n",
-       "      <td>2.07</td>\n",
-       "      <td>2.07</td>\n",
-       "      <td>2.26</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SiC</th>\n",
-       "      <td>0.94</td>\n",
-       "      <td>0.64</td>\n",
-       "      <td>1.13</td>\n",
-       "      <td>0.63</td>\n",
-       "      <td>1.58</td>\n",
-       "      <td>2.07</td>\n",
-       "      <td>1.57</td>\n",
-       "      <td>1.77</td>\n",
-       "      <td>1.27</td>\n",
-       "      <td>1.76</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>Sn2</th>\n",
-       "      <td>1.06</td>\n",
-       "      <td>1.06</td>\n",
-       "      <td>1.34</td>\n",
-       "      <td>1.34</td>\n",
-       "      <td>2.12</td>\n",
-       "      <td>2.40</td>\n",
-       "      <td>2.40</td>\n",
-       "      <td>2.40</td>\n",
-       "      <td>2.40</td>\n",
-       "      <td>2.68</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SnC</th>\n",
-       "      <td>1.06</td>\n",
-       "      <td>0.64</td>\n",
-       "      <td>1.34</td>\n",
-       "      <td>0.63</td>\n",
-       "      <td>1.70</td>\n",
-       "      <td>2.40</td>\n",
-       "      <td>1.69</td>\n",
-       "      <td>1.98</td>\n",
-       "      <td>1.27</td>\n",
-       "      <td>1.97</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SnGe</th>\n",
-       "      <td>1.06</td>\n",
-       "      <td>0.92</td>\n",
-       "      <td>1.34</td>\n",
-       "      <td>1.16</td>\n",
-       "      <td>1.98</td>\n",
-       "      <td>2.40</td>\n",
-       "      <td>2.22</td>\n",
-       "      <td>2.26</td>\n",
-       "      <td>2.08</td>\n",
-       "      <td>2.50</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SnSi</th>\n",
-       "      <td>1.06</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>1.34</td>\n",
-       "      <td>1.13</td>\n",
-       "      <td>2.00</td>\n",
-       "      <td>2.40</td>\n",
-       "      <td>2.19</td>\n",
-       "      <td>2.28</td>\n",
-       "      <td>2.07</td>\n",
-       "      <td>2.47</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SrO</th>\n",
-       "      <td>1.91</td>\n",
-       "      <td>0.46</td>\n",
-       "      <td>2.55</td>\n",
-       "      <td>0.43</td>\n",
-       "      <td>2.37</td>\n",
-       "      <td>4.46</td>\n",
-       "      <td>2.34</td>\n",
-       "      <td>3.01</td>\n",
-       "      <td>0.89</td>\n",
-       "      <td>2.98</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SrS</th>\n",
-       "      <td>1.91</td>\n",
-       "      <td>0.74</td>\n",
-       "      <td>2.55</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>2.65</td>\n",
-       "      <td>4.46</td>\n",
-       "      <td>2.76</td>\n",
-       "      <td>3.29</td>\n",
-       "      <td>1.59</td>\n",
-       "      <td>3.40</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SrSe</th>\n",
-       "      <td>1.91</td>\n",
-       "      <td>0.80</td>\n",
-       "      <td>2.55</td>\n",
-       "      <td>0.95</td>\n",
-       "      <td>2.71</td>\n",
-       "      <td>4.46</td>\n",
-       "      <td>2.86</td>\n",
-       "      <td>3.35</td>\n",
-       "      <td>1.75</td>\n",
-       "      <td>3.50</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SrTe</th>\n",
-       "      <td>1.91</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>2.55</td>\n",
-       "      <td>1.14</td>\n",
-       "      <td>2.85</td>\n",
-       "      <td>4.46</td>\n",
-       "      <td>3.05</td>\n",
-       "      <td>3.49</td>\n",
-       "      <td>2.08</td>\n",
-       "      <td>3.69</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>ZnO</th>\n",
-       "      <td>1.10</td>\n",
-       "      <td>0.46</td>\n",
-       "      <td>1.55</td>\n",
-       "      <td>0.43</td>\n",
-       "      <td>1.56</td>\n",
-       "      <td>2.65</td>\n",
-       "      <td>1.53</td>\n",
-       "      <td>2.01</td>\n",
-       "      <td>0.89</td>\n",
-       "      <td>1.98</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>ZnS</th>\n",
-       "      <td>1.10</td>\n",
-       "      <td>0.74</td>\n",
-       "      <td>1.55</td>\n",
-       "      <td>0.85</td>\n",
-       "      <td>1.84</td>\n",
-       "      <td>2.65</td>\n",
-       "      <td>1.95</td>\n",
-       "      <td>2.29</td>\n",
-       "      <td>1.59</td>\n",
-       "      <td>2.40</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>ZnSe</th>\n",
-       "      <td>1.10</td>\n",
-       "      <td>0.80</td>\n",
-       "      <td>1.55</td>\n",
-       "      <td>0.95</td>\n",
-       "      <td>1.90</td>\n",
-       "      <td>2.65</td>\n",
-       "      <td>2.05</td>\n",
-       "      <td>2.35</td>\n",
-       "      <td>1.75</td>\n",
-       "      <td>2.50</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>ZnTe</th>\n",
-       "      <td>1.10</td>\n",
-       "      <td>0.94</td>\n",
-       "      <td>1.55</td>\n",
-       "      <td>1.14</td>\n",
-       "      <td>2.04</td>\n",
-       "      <td>2.65</td>\n",
-       "      <td>2.24</td>\n",
-       "      <td>2.49</td>\n",
-       "      <td>2.08</td>\n",
-       "      <td>2.69</td>\n",
-       "    </tr>\n",
-       "  </tbody>\n",
-       "</table>\n",
-       "<p>82 rows × 10 columns</p>\n",
-       "</div>"
-      ],
-      "text/plain": [
-       "      r_s(A)  r_s(B)  r_p(A)  r_p(B)  (r_s(A)+r_s(B))  (r_s(A)+r_p(A))  \\\n",
-       "AgBr    1.32    0.75    1.88    0.88             2.07             3.20   \n",
-       "AgCl    1.32    0.68    1.88    0.76             2.00             3.20   \n",
-       "AgF     1.32    0.41    1.88    0.37             1.73             3.20   \n",
-       "AgI     1.32    0.90    1.88    1.07             2.22             3.20   \n",
-       "AlAs    1.09    0.85    1.39    1.04             1.94             2.48   \n",
-       "AlN     1.09    0.54    1.39    0.51             1.63             2.48   \n",
-       "AlP     1.09    0.83    1.39    0.97             1.92             2.48   \n",
-       "AlSb    1.09    1.00    1.39    1.23             2.09             2.48   \n",
-       "AsGa    0.99    0.85    1.33    1.04             1.84             2.32   \n",
-       "BAs     0.81    0.85    0.83    1.04             1.66             1.64   \n",
-       "BN      0.81    0.54    0.83    0.51             1.35             1.64   \n",
-       "BP      0.81    0.83    0.83    0.97             1.64             1.64   \n",
-       "BSb     0.81    1.00    0.83    1.23             1.81             1.64   \n",
-       "BaO     2.15    0.46    2.63    0.43             2.61             4.78   \n",
-       "BaS     2.15    0.74    2.63    0.85             2.89             4.78   \n",
-       "BaSe    2.15    0.80    2.63    0.95             2.95             4.78   \n",
-       "BaTe    2.15    0.94    2.63    1.14             3.09             4.78   \n",
-       "BeO     1.08    0.46    1.21    0.43             1.54             2.29   \n",
-       "BeS     1.08    0.74    1.21    0.85             1.82             2.29   \n",
-       "BeSe    1.08    0.80    1.21    0.95             1.88             2.29   \n",
-       "BeTe    1.08    0.94    1.21    1.14             2.02             2.29   \n",
-       "C2      0.64    0.64    0.63    0.63             1.28             1.27   \n",
-       "CaO     1.76    0.46    2.32    0.43             2.22             4.08   \n",
-       "CaS     1.76    0.74    2.32    0.85             2.50             4.08   \n",
-       "CaSe    1.76    0.80    2.32    0.95             2.56             4.08   \n",
-       "CaTe    1.76    0.94    2.32    1.14             2.70             4.08   \n",
-       "CdO     1.23    0.46    1.74    0.43             1.69             2.97   \n",
-       "CdS     1.23    0.74    1.74    0.85             1.97             2.97   \n",
-       "CdSe    1.23    0.80    1.74    0.95             2.03             2.97   \n",
-       "CdTe    1.23    0.94    1.74    1.14             2.17             2.97   \n",
-       "...      ...     ...     ...     ...              ...              ...   \n",
-       "LiBr    1.65    0.75    2.00    0.88             2.40             3.65   \n",
-       "LiCl    1.65    0.68    2.00    0.76             2.33             3.65   \n",
-       "LiF     1.65    0.41    2.00    0.37             2.06             3.65   \n",
-       "LiI     1.65    0.90    2.00    1.07             2.55             3.65   \n",
-       "MgO     1.33    0.46    1.90    0.43             1.79             3.23   \n",
-       "MgS     1.33    0.74    1.90    0.85             2.07             3.23   \n",
-       "MgSe    1.33    0.80    1.90    0.95             2.13             3.23   \n",
-       "MgTe    1.33    0.94    1.90    1.14             2.27             3.23   \n",
-       "NaBr    1.71    0.75    2.60    0.88             2.46             4.31   \n",
-       "NaCl    1.71    0.68    2.60    0.76             2.39             4.31   \n",
-       "NaF     1.71    0.41    2.60    0.37             2.12             4.31   \n",
-       "NaI     1.71    0.90    2.60    1.07             2.61             4.31   \n",
-       "RbBr    2.24    0.75    3.20    0.88             2.99             5.44   \n",
-       "RbCl    2.24    0.68    3.20    0.76             2.92             5.44   \n",
-       "RbF     2.24    0.41    3.20    0.37             2.65             5.44   \n",
-       "RbI     2.24    0.90    3.20    1.07             3.14             5.44   \n",
-       "Si2     0.94    0.94    1.13    1.13             1.88             2.07   \n",
-       "SiC     0.94    0.64    1.13    0.63             1.58             2.07   \n",
-       "Sn2     1.06    1.06    1.34    1.34             2.12             2.40   \n",
-       "SnC     1.06    0.64    1.34    0.63             1.70             2.40   \n",
-       "SnGe    1.06    0.92    1.34    1.16             1.98             2.40   \n",
-       "SnSi    1.06    0.94    1.34    1.13             2.00             2.40   \n",
-       "SrO     1.91    0.46    2.55    0.43             2.37             4.46   \n",
-       "SrS     1.91    0.74    2.55    0.85             2.65             4.46   \n",
-       "SrSe    1.91    0.80    2.55    0.95             2.71             4.46   \n",
-       "SrTe    1.91    0.94    2.55    1.14             2.85             4.46   \n",
-       "ZnO     1.10    0.46    1.55    0.43             1.56             2.65   \n",
-       "ZnS     1.10    0.74    1.55    0.85             1.84             2.65   \n",
-       "ZnSe    1.10    0.80    1.55    0.95             1.90             2.65   \n",
-       "ZnTe    1.10    0.94    1.55    1.14             2.04             2.65   \n",
-       "\n",
-       "      (r_s(A)+r_p(B))  (r_s(B)+r_p(A))  (r_s(B)+r_p(B))  (r_p(A)+r_p(B))  \n",
-       "AgBr             2.20             2.63             1.63             2.76  \n",
-       "AgCl             2.08             2.56             1.44             2.64  \n",
-       "AgF              1.69             2.29             0.78             2.25  \n",
-       "AgI              2.39             2.78             1.97             2.95  \n",
-       "AlAs             2.13             2.24             1.89             2.43  \n",
-       "AlN              1.60             1.93             1.05             1.90  \n",
-       "AlP              2.06             2.22             1.80             2.36  \n",
-       "AlSb             2.32             2.39             2.23             2.62  \n",
-       "AsGa             2.03             2.18             1.89             2.37  \n",
-       "BAs              1.85             1.68             1.89             1.87  \n",
-       "BN               1.32             1.37             1.05             1.34  \n",
-       "BP               1.78             1.66             1.80             1.80  \n",
-       "BSb              2.04             1.83             2.23             2.06  \n",
-       "BaO              2.58             3.09             0.89             3.06  \n",
-       "BaS              3.00             3.37             1.59             3.48  \n",
-       "BaSe             3.10             3.43             1.75             3.58  \n",
-       "BaTe             3.29             3.57             2.08             3.77  \n",
-       "BeO              1.51             1.67             0.89             1.64  \n",
-       "BeS              1.93             1.95             1.59             2.06  \n",
-       "BeSe             2.03             2.01             1.75             2.16  \n",
-       "BeTe             2.22             2.15             2.08             2.35  \n",
-       "C2               1.27             1.27             1.27             1.26  \n",
-       "CaO              2.19             2.78             0.89             2.75  \n",
-       "CaS              2.61             3.06             1.59             3.17  \n",
-       "CaSe             2.71             3.12             1.75             3.27  \n",
-       "CaTe             2.90             3.26             2.08             3.46  \n",
-       "CdO              1.66             2.20             0.89             2.17  \n",
-       "CdS              2.08             2.48             1.59             2.59  \n",
-       "CdSe             2.18             2.54             1.75             2.69  \n",
-       "CdTe             2.37             2.68             2.08             2.88  \n",
-       "...               ...              ...              ...              ...  \n",
-       "LiBr             2.53             2.75             1.63             2.88  \n",
-       "LiCl             2.41             2.68             1.44             2.76  \n",
-       "LiF              2.02             2.41             0.78             2.37  \n",
-       "LiI              2.72             2.90             1.97             3.07  \n",
-       "MgO              1.76             2.36             0.89             2.33  \n",
-       "MgS              2.18             2.64             1.59             2.75  \n",
-       "MgSe             2.28             2.70             1.75             2.85  \n",
-       "MgTe             2.47             2.84             2.08             3.04  \n",
-       "NaBr             2.59             3.35             1.63             3.48  \n",
-       "NaCl             2.47             3.28             1.44             3.36  \n",
-       "NaF              2.08             3.01             0.78             2.97  \n",
-       "NaI              2.78             3.50             1.97             3.67  \n",
-       "RbBr             3.12             3.95             1.63             4.08  \n",
-       "RbCl             3.00             3.88             1.44             3.96  \n",
-       "RbF              2.61             3.61             0.78             3.57  \n",
-       "RbI              3.31             4.10             1.97             4.27  \n",
-       "Si2              2.07             2.07             2.07             2.26  \n",
-       "SiC              1.57             1.77             1.27             1.76  \n",
-       "Sn2              2.40             2.40             2.40             2.68  \n",
-       "SnC              1.69             1.98             1.27             1.97  \n",
-       "SnGe             2.22             2.26             2.08             2.50  \n",
-       "SnSi             2.19             2.28             2.07             2.47  \n",
-       "SrO              2.34             3.01             0.89             2.98  \n",
-       "SrS              2.76             3.29             1.59             3.40  \n",
-       "SrSe             2.86             3.35             1.75             3.50  \n",
-       "SrTe             3.05             3.49             2.08             3.69  \n",
-       "ZnO              1.53             2.01             0.89             1.98  \n",
-       "ZnS              1.95             2.29             1.59             2.40  \n",
-       "ZnSe             2.05             2.35             1.75             2.50  \n",
-       "ZnTe             2.24             2.49             2.08             2.69  \n",
-       "\n",
-       "[82 rows x 10 columns]"
-      ]
-     },
-     "execution_count": 7,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "# selected_feature_list = ['IP', 'EA', 'E_HOMO', 'E_LUMO', 'r_s', 'r_p', 'r_d', 'Z', 'period', 'd']\n",
-    "selected_feature_list = ['r_s', 'r_p']\n",
-    "\n",
-    "# allowed_operations = ['+', '-', '|-|', '*', '/' '^2', '^3',  'exp']\n",
-    "allowed_operations = ['+']\n",
-    "\n",
-    "P, df_D = get_data(selected_feature_list, allowed_operations)\n",
-    "\n",
-    "# print derived features\n",
-    "df_D"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "# Determining low-dimensional descriptors with the $\\ell_0$ method\n",
-    "\n",
-    "<div style=\"list-style:disc; margin: 2px;padding: 10px;border: 0px;border:8px double   green; font-size:16px;padding-left: 32px;padding-right: 22px; width:89%\">\n",
-    "<li> Perform an $\\ell_0$-regularization to identify the best low dimensional descriptors using the primary features.</li>\n",
-    "<li> Show that non-linear functions of the primary features improve the models significantly. </li>\n",
-    "<li> See that the $\\ell_0$-regularization can rapidly become computational infeasible.</li>\n",
-    "</div>\n",
-    "\n",
-    "Our target is to find the best low dimensional descriptor for a linear model. The $\\ell_0$ regularization\n",
-    "\n",
-    "$\\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_0\\}$\n",
-    "\n",
-    "provides exactly what we want. It is defined in the follwing and solved combinatorial:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 8,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [],
-   "source": [
-    "def L0(P, D, dimension):\n",
-    "    n_rows, n_columns = D.shape\n",
-    "    D = np.column_stack((D, np.ones(n_rows)))\n",
-    "    SE_min = np.inner(P ,P)\n",
-    "    coef_min, permu_min = None, None\n",
-    "    for permu in combinations(range(n_columns), dimension):\n",
-    "        D_ls = D[:, permu + (-1,)]\n",
-    "        coef, SE, __1, __2 = np.linalg.lstsq(D_ls, P, rcond=-1)\n",
-    "        try:\n",
-    "            if SE[0] < SE_min: \n",
-    "                SE_min = SE[0]\n",
-    "                coef_min, permu_min = coef, permu\n",
-    "        except:\n",
-    "            pass\n",
-    "    RMSE = np.sqrt(SE_min/n_rows)\n",
-    "    return RMSE, coef_min, permu_min"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "Perform the $\\ell_0$-regularization for different dimensions (numbers of non-zero coefficients in the model) and see the root mean square errors (RMSE) and the selected features."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 9,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "No allowed operations selected.\n",
-      "Number of total features generated: 10\n",
-      "     RMSE   Best desriptor\n",
-      " 1D: 0.31334 ['r_p(A)']\n",
-      " 2D: 0.29494 ['r_p(A)', 'r_d(B)']\n",
-      " 3D: 0.28015 ['r_s(B)', 'r_p(A)', 'r_p(B)']\n",
-      " 4D: 0.27525 ['IP(B)', 'r_p(A)', 'r_p(B)', 'r_d(B)']\n",
-      " 5D: 0.26282 ['IP(A)', 'IP(B)', 'r_p(A)', 'r_p(B)', 'r_d(B)']\n",
-      " 6D: 0.25090 ['IP(A)', 'IP(B)', 'r_s(A)', 'r_p(A)', 'r_p(B)', 'r_d(B)']\n",
-      " 7D: 0.24946 ['IP(A)', 'IP(B)', 'r_s(A)', 'r_p(A)', 'r_p(B)', 'r_d(A)', 'r_d(B)']\n",
-      " 8D: 0.24890 ['EA(B)', 'IP(A)', 'IP(B)', 'r_s(A)', 'r_p(A)', 'r_p(B)', 'r_d(A)', 'r_d(B)']\n",
-      " 9D: 0.24887 ['EA(A)', 'EA(B)', 'IP(A)', 'IP(B)', 'r_s(A)', 'r_p(A)', 'r_p(B)', 'r_d(A)', 'r_d(B)']\n",
-      "10D: 0.24886 ['EA(A)', 'EA(B)', 'IP(A)', 'IP(B)', 'r_s(A)', 'r_s(B)', 'r_p(A)', 'r_p(B)', 'r_d(A)', 'r_d(B)']\n"
-     ]
-    }
-   ],
-   "source": [
-    "selected_feature_list = ['r_s', 'r_p', 'r_d', 'EA', 'IP']\n",
-    "allowed_operations = []\n",
-    "\n",
-    "P, df_D = get_data(selected_feature_list, allowed_operations)\n",
-    "features_list = df_D.columns.tolist()\n",
-    "D = df_D.values\n",
-    "\n",
-    "print(\"     RMSE   Best desriptor\")\n",
-    "for dim in range(1,11):\n",
-    "    RMSE, coefficients, selected_indices = L0(P,D,dim)\n",
-    "    print('%2sD: %.5f' % (dim, RMSE), [features_list[i] for i in selected_indices])"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "The result of performing the $\\ell_0$-regularization shows that the accuracy converges fast, e.g. we could leave out some components in the linear model without descreasing the accuracy. The second observation is that a linear model of the atomic features is not enough to describe the RS-ZB energy differences. A way out could be using non-linear machine learning models, e.g. kernel ridge regression or a neural network, instead of linear regression. Another way is to put the non-linearity into the descriptors by building algebraic combinations of the atomic features and mapping the few best of these more complex features onto the target again with a linear model. \n",
-    "\n",
-    "Run the following script to build larger feature spaces of more complex features and select the best 1D, 2D and 3D desriptor for a linear model using $\\ell_0$-regularization. Plot the results afterwards. How does the accuracy of the models change? How does the feature space size and the dimension of the descriptors depend on the needed time to solve the $\\ell_0$-problem?"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 10,
-   "metadata": {
-    "pycharm": {},
-    "scrolled": false
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "No allowed operations selected.\n",
-      "Number of total features generated: 10\n",
-      "n_features: 10; 1D  RMSE: 0.313  best features: ['r_p(A)']\n",
-      "n_features: 10; 2D  RMSE: 0.295  best features: ['r_p(A)', 'r_d(B)']\n",
-      "n_features: 10; 3D  RMSE: 0.280  best features: ['r_s(B)', 'r_p(A)', 'r_p(B)']\n",
-      "Selected operations:\n",
-      " ['+', '|-|']\n",
-      "Number of total features generated: 52\n",
-      "n_features: 52; 1D  RMSE: 0.297  best features: ['(r_p(A)+r_d(B))']\n",
-      "n_features: 52; 2D  RMSE: 0.266  best features: ['(r_p(A)+r_d(B))', '|r_p(A)-r_d(B)|']\n",
-      "n_features: 52; 3D  RMSE: 0.210  best features: ['|r_s(A)-r_p(A)|', '(r_s(A)+r_d(B))', '(r_p(A)+r_d(B))']\n",
-      "Selected operations:\n",
-      " ['+', '|-|', 'exp']\n",
-      "Number of total features generated: 73\n",
-      "n_features: 73; 1D  RMSE: 0.297  best features: ['(r_p(A)+r_d(B))']\n",
-      "n_features: 73; 2D  RMSE: 0.228  best features: ['(r_s(B)+r_p(A))', 'exp(r_s(B)+r_p(A))']\n",
-      "n_features: 73; 3D  RMSE: 0.201  best features: ['|r_s(B)-r_p(A)|', '|r_s(B)-r_p(B)|', 'exp(r_p(A))']\n",
-      "Selected operations:\n",
-      " ['+', '|-|', 'exp', '^2']\n",
-      "Number of total features generated: 115\n",
-      "n_features: 115; 1D  RMSE: 0.297  best features: ['(r_p(A)+r_d(B))']\n",
-      "n_features: 115; 2D  RMSE: 0.194  best features: ['(r_s(B)+r_p(A))', '(r_s(B)+r_p(A))^2']\n",
-      "n_features: 115; 3D  RMSE: 0.171  best features: ['(r_s(B)+r_p(A))', '(r_s(B)+r_p(A))^2', 'exp(r_s(B)+r_p(A))']\n"
-     ]
-    }
-   ],
-   "source": [
-    "selected_feature_list = ['r_s', 'r_p', 'r_d', 'EA', 'IP']\n",
-    "op_lists = [[], ['+','|-|'], ['+','|-|','exp'], ['+','|-|','exp', '^2'] ]\n",
-    "X  = []\n",
-    "Errors, Time = np.empty([3,len(op_lists)]), np.empty([3,len(op_lists)])\n",
-    "\n",
-    "for n_op, allowed_operations in enumerate(op_lists):\n",
-    "    P, df_D = get_data(selected_feature_list, allowed_operations)\n",
-    "    features_list = df_D.columns.tolist()\n",
-    "    D = df_D.values\n",
-    "    \n",
-    "    number_of_features = len(features_list)\n",
-    "    X.append(number_of_features)\n",
-    "    for dim in range(1,4):\n",
-    "        t1= time()\n",
-    "        RMSE, coefficients, selected_indices = L0(P,D,dim)\n",
-    "        t2 = time()-t1             \n",
-    "        \n",
-    "        Time [dim-1][n_op] = t2\n",
-    "        Errors[dim-1][n_op] = RMSE \n",
-    "        \n",
-    "        print(\"n_features: %s; %sD  RMSE: %.3f  best features: %s\" \n",
-    "              %(len(features_list), dim, RMSE, [features_list[i] for i in selected_indices]))"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 11,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 864x576 with 2 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "#plot\n",
-    "f, (ax1, ax2) = plt.subplots(1,2, sharex=True, figsize=(12,8))\n",
-    "ax1.set_xlabel('Feature space size')\n",
-    "ax2.set_xlabel('Feature space size')\n",
-    "ax1.set_ylabel('RMSE [eV/atom]')\n",
-    "ax2.set_ylabel('Time [s]')\n",
-    "#ax2.set_yscale('log')\n",
-    "\n",
-    "for dim in range(1,4):\n",
-    "    ax1.plot(X, Errors[dim-1], 's-', label='%sD' %dim)\n",
-    "    ax2.plot(X, Time[dim-1], 's-', label='%sD' %dim)\n",
-    "ax2.legend(loc='best')\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "Assume now that we would like to include thousands or millions of (more) complex features to obtain more accurate models..."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "# Approximations to the $\\ell_0$ method\n",
-    "<div style=\"list-style:disc; margin: 2px;padding: 10px;border: 0px;border:8px double   green; font-size:16px;padding-left: 32px;padding-right: 22px; width:89%\">\n",
-    "<li >Perform a LASSO minimization and the SISSO method.</li>\n",
-    "<li >Compare the solutions with the ones from the $\\ell_0$ method.</li>\n",
-    "</div>\n",
-    "\n",
-    "### The LASSO\n",
-    "\n",
-    "\n",
-    "One state-of-the art approximation to the $\\ell_0$ method is the LASSO: \n",
-    "\n",
-    "$\\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_1\\}$.\n",
-    "\n",
-    "Before performing the LASSO regression we standardize the data to have mean 0 and variance 1, since otherwise the $\\ell_2$-norm of a column would affect bias its contribution to the model. <br>\n",
-    "Note that we can use the LASSO also only for feature selection. We use then a least-square model with the selected features afterwards instead of the LASSO model directly."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 12,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [],
-   "source": [
-    "def lasso_fit(lam, P, D, feature_list):\n",
-    "    #LASSO\n",
-    "    D_standardized = ss.zscore(D)\n",
-    "    lasso =  Lasso(alpha=lam)\n",
-    "    lasso.fit(D_standardized, P)\n",
-    "    coef =  lasso.coef_\n",
-    "    \n",
-    "    # get strings of selected features\n",
-    "    selected_indices = coef.nonzero()[0]\n",
-    "    selected_features = [feature_list[i] for i in selected_indices]\n",
-    "    \n",
-    "    # get RMSE of LASSO model\n",
-    "    P_predict = lasso.predict(D_standardized)\n",
-    "    RMSE_LASSO = np.linalg.norm(P-P_predict) / np.sqrt(82.)\n",
-    "\n",
-    "    #get RMSE for least-square fit\n",
-    "    D_new = D[:, selected_indices]\n",
-    "    D_new = np.column_stack((D_new, np.ones(82)))\n",
-    "    RMSE_LS = np.sqrt(np.linalg.lstsq(D_new,P)[1][0]/82.)\n",
-    "        \n",
-    "    return RMSE_LASSO, RMSE_LS, coef, selected_features"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "$\\lambda$ regulates the sparsity of the coefficient vector of the model. Get the data and try different $\\lambda$ by adjusting the varibale lam. How good does LASSO (directly or with a least-square fit afterwards) approximate the L0-method (when the same feature space is used for both)?"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {
-    "pycharm": {},
-    "scrolled": true
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Selected operations:\n",
-      " ['+', '|-|', 'exp', '^2']\n",
-      "Number of total features generated: 115\n"
-     ]
-    }
-   ],
-   "source": [
-    "#import Data\n",
-    "selected_feature_list = ['r_s', 'r_p', 'r_d', 'EA', 'IP']\n",
-    "allowed_operations = ['+','|-|','exp', '^2']\n",
-    "P, df_D = get_data(selected_feature_list, allowed_operations)\n",
-    "D = df_D.values\n",
-    "features_list = df_D.columns.tolist()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 14,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "lambda: 0.200\t dimension of descriptor: 2\t RMSE_LASSO: 0.357\t RMSE_LS: 0.291\n",
-      "          features  abs(nonzero_coefs_LASSO)\n",
-      "0  (r_p(A)+r_p(B))                  0.017879\n",
-      "1  (r_p(A)+r_d(B))                  0.119307\n"
-     ]
-    },
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# change lam between 0.02 and 0.34, e.g. 0.34, 0.30, 0.20, 0.13, 0.10, 0.02\n",
-    "lam = 0.2\n",
-    "\n",
-    "RMSE_LASSO, RMSE_LS, coef, selected_features = lasso_fit(lam, P, D, features_list)\n",
-    "plt.bar(range(len(coef)), np.abs(coef))\n",
-    "plt.xlabel(\"Coefficient index $i$\")\n",
-    "plt.ylabel(\"$|c_i|$\")\n",
-    "\n",
-    "print(\"lambda: %.3f\\t dimension of descriptor: %s\\t RMSE_LASSO: %.3f\\t RMSE_LS: %.3f\" \n",
-    "      %(lam, len(selected_features), RMSE_LASSO, RMSE_LS))\n",
-    "print(pd.DataFrame({'features':np.array(selected_features), 'abs(nonzero_coefs_LASSO)': np.abs(coef[coef.nonzero()])}))\n",
-    "plt.show()    "
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "Hint:\n",
-    "Compare these results to the L0 results you have obtained before from the same feature space, copied and pasted in here:<br>\n",
-    "\"Number of total features generated: 115 <br>\n",
-    "features: 115; 1D  RMSE: 0.296667841349  best features: ['(r_p(A)+r_d(B))'] <br>\n",
-    "features: 115; 2D  RMSE: 0.194137970112  best features: ['(r_s(B)+r_p(A))', '(r_s(B)+r_p(A))^2'] <br>\n",
-    "features: 115; 3D  RMSE: 0.170545592998  best features: ['(r_s(B)+r_p(A))', '(r_s(B)+r_p(A))^2', 'exp(r_s(B)+r_p(A))']\""
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "### The SISSO method"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 15,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Selected operations:\n",
-      " ['+', '|-|', 'exp', '^2']\n",
-      "Number of total features generated: 115\n"
-     ]
-    }
-   ],
-   "source": [
-    "#import Data\n",
-    "selected_feature_list = ['r_s', 'r_p', 'r_d', 'EA', 'IP']\n",
-    "allowed_operations = ['+','|-|','exp', '^2']\n",
-    "P, df_D = get_data(selected_feature_list, allowed_operations)\n",
-    "D = df_D.values\n",
-    "features_list = df_D.columns.tolist()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "Now apply the SISSO algorithm. How does the SISSO method compare to the LASSO and to the $\\ell_0$-regularization in terms of accuracy (again when using the same feature space)? How fast is SISSO compared to the $\\ell_0$-regularization? How does n_features_per_sis_iter (the number of features collected per sis iteration) affect the performance? Note, that for n_features_per_sis_iter=1 SISSO becomes the so-called orthogonal matching pursuit, another well-known compressed sensing method."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 16,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "          RMSE            Model\n",
-      "1D:\t0.296668\t- 0.484 (r_p(A)+r_d(B)) + 1.944\n",
-      "2D:\t0.218070\t- 3.483 (r_p(A)+r_d(B)) + 0.392 (r_p(A)+r_d(B))^2 + 7.495\n",
-      "3D:\t0.193928\t- 3.528 (r_p(A)+r_d(B)) + 0.405 (r_p(A)+r_d(B))^2 + 0.293 |r_s(A)-r_d(B)| + 7.280\n"
-     ]
-    }
-   ],
-   "source": [
-    "sisso = SissoRegressor(n_nonzero_coefs=3, n_features_per_sis_iter=10)\n",
-    "\n",
-    "sisso.fit(D, P)\n",
-    "sisso.print_models(features_list)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "# Run the SISSO method with a big feature space\n",
-    "<div style=\"list-style:disc; margin: 2px;padding: 10px;border: 0px;border:8px double   green; font-size:16px;padding-left: 32px;padding-right: 22px; width:89%\">\n",
-    "<li>Reproduce the results from the <a href=\"http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.114.105503\" target=\"_blank\">reference publication</a>  by including further features.</li>\n",
-    "<li>Visualize the 2D descriptors in a structure map.</li>\n",
-    "<li>Experiment with different settings and investigate the influence of the input parameters on the results. (OPTIONAL)</li>\n",
-    "</div>\n",
-    "Note the size of the feature space, the needed time to run the code and the accuracy (using the default settings)!"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 17,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Selected operations:\n",
-      " ['+', '|-|', 'exp', '^2', '/']\n",
-      "Number of total features generated: 3391\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137212\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n",
-      "2D:\t0.100216\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.482 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.145\n",
-      "3D:\t0.076428\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.766 |r_s(A)-r_p(B)|/exp(r_s(A)) - 6.032 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.005\n"
-     ]
-    }
-   ],
-   "source": [
-    "# parameters for feature space construction\n",
-    "selected_feature_list = ['IP', 'EA', 'r_s', 'r_p','r_d']\n",
-    "allowed_operations = ['+','|-|','exp','^2', '/']\n",
-    "\n",
-    "# get the data\n",
-    "P, df_D = get_data(selected_feature_list, allowed_operations)\n",
-    "D = df_D.values\n",
-    "features_list = df_D.columns.tolist()\n",
-    "\n",
-    "sisso = SissoRegressor(n_nonzero_coefs=3, n_features_per_sis_iter=26)\n",
-    "\n",
-    "sisso.fit(D, P)\n",
-    "sisso.print_models(features_list)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "Next, plot an interactive 2D structure map using the 2D descriptor. By <i>hovering</i> over a point in the plot, information regarding that system is displayed. By <i>clicking</i> a point, an interactive 3D visualization of the structure will be displayed below.\n",
-    "\n",
-    "The markers represent the compounds and their colors the reference energy differences. How well does the descriptor separate the compounds with respect to their crystal structure?"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 18,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "data": {
-      "text/html": [
-       "<!DOCTYPE html>\n",
-       "    <html>\n",
-       "        <head>\n",
-       "            <meta charset=\"UTF-8\">\n",
-       "            <title>Molecule #0</title>\n",
-       "\n",
-       "    <!-- load JSmol; relative path works, absolute fails, might be access rights related -->\n",
-       "    <script type=\"text/javascript\" src=\"JSmol.min.js\"></script> \n",
-       "    <script type=\"text/javascript\">\n",
-       "        var i_click = 0;\n",
-       "        Jmol.setDocument(false);\n",
-       "\n",
-       "\n",
-       "        jsmolReady = function(app) {\n",
-       "            Jmol.evaluateVar(app, \"appletdiv\");\n",
-       "\n",
-       "        };\n",
-       "\n",
-       "        <!-- see http://wiki.jmol.org/index.php/Jmol_JavaScript_Object for functionality -->\n",
-       "        var info = {\n",
-       "            width: 400,\n",
-       "            height: 300,\n",
-       "            use: \"HTML5\",\n",
-       "            j2spath: \"./j2s\",\n",
-       "\n",
-       "        };\n",
-       "\n",
-       "        get_info = function(fil) {\n",
-       "        var info_here = {\n",
-       "            width: 400,\n",
-       "            height: 300,\n",
-       "            use: \"HTML5\",\n",
-       "            j2spath: \"./j2s\",\n",
-       "            script: 'load ' + fil\n",
-       "        };\n",
-       "        return info_here;\n",
-       "        }\n",
-       "\n",
-       "\n",
-       "\n",
-       "        $(document).ready(function() {\n",
-       "            $(\"#appdiv0\").html(Jmol.getAppletHtml(\"jsmol0\", info))\n",
-       "            $(\"#appdiv1\").html(Jmol.getAppletHtml(\"jsmol1\", info))\n",
-       "        });\n",
-       "\n",
-       "        change_geo = function(filename, i_click_){\n",
-       "        var i_geo_box = i_click % 2;\n",
-       "        $(document).ready(function() {\n",
-       "\n",
-       "            $(\"#appdiv\" + i_geo_box).html(Jmol.getAppletHtml(\"jsmol\" + i_geo_box, get_info(filename)))\n",
-       "        });\n",
-       "        };\n",
-       "\n",
-       "    </script>\n",
-       "    \n",
-       "<script type=\"text/javascript\">\n",
-       "  (function() {\n",
-       "    var fn = function() {\n",
-       "      Bokeh.safely(function() {\n",
-       "        (function(root) {\n",
-       "          function embed_document(root) {\n",
-       "            \n",
-       "          var docs_json = '{\"db6f539a-e1f9-4f05-ac05-0cd33b61031e\":{\"roots\":{\"references\":[{\"attributes\":{\"callback\":null},\"id\":\"1007\",\"type\":\"DataRange1d\"},{\"attributes\":{\"below\":[{\"id\":\"1013\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"1017\",\"type\":\"Grid\"},{\"id\":\"1022\",\"type\":\"Grid\"},{\"id\":\"1045\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"1018\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"renderers\":[{\"id\":\"1036\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1038\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1027\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1005\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1009\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1007\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1011\",\"type\":\"LinearScale\"}},\"id\":\"1004\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis_label\":\"|IP(B)-EA(B)|/r_p(A)^2\",\"formatter\":{\"id\":\"1043\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1014\",\"type\":\"BasicTicker\"}},\"id\":\"1013\",\"type\":\"LinearAxis\"},{\"attributes\":{\"items\":[{\"id\":\"1046\",\"type\":\"LegendItem\"}]},\"id\":\"1045\",\"type\":\"Legend\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1002\",\"type\":\"HoverTool\"},{\"id\":\"1023\",\"type\":\"TapTool\"},{\"id\":\"1024\",\"type\":\"BoxZoomTool\"},{\"id\":\"1025\",\"type\":\"PanTool\"},{\"id\":\"1026\",\"type\":\"ResetTool\"}]},\"id\":\"1027\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1014\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1043\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1041\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1054\",\"type\":\"Selection\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1035\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1019\",\"type\":\"BasicTicker\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1038\",\"type\":\"Title\"},{\"attributes\":{\"overlay\":{\"id\":\"1044\",\"type\":\"BoxAnnotation\"}},\"id\":\"1024\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"ticker\":{\"id\":\"1014\",\"type\":\"BasicTicker\"}},\"id\":\"1017\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"|r_s(A)-r_p(B)|/exp(r_s(A))\",\"formatter\":{\"id\":\"1041\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1019\",\"type\":\"BasicTicker\"}},\"id\":\"1018\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1053\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"1003\",\"type\":\"ColumnDataSource\"}},\"id\":\"1037\",\"type\":\"CDSView\"},{\"attributes\":{\"args\":{\"source\":{\"id\":\"1003\",\"type\":\"ColumnDataSource\"}},\"code\":\"var idx_struc = cb_data.source[&#x27;selected&#x27;][&#x27;1d&#x27;].indices;\\\\n              if (!Number.isInteger(idx_struc)){idx_struc=idx_struc[0]}\\\\n              var data = source.data;\\\\n              var geo_file = data[&#x27;geo_files&#x27;][idx_struc]\\\\n              var chemical_formula = data[&#x27;chemical_formulas&#x27;][idx_struc]\\\\n              var structure_type = data[&#x27;legend&#x27;][idx_struc]\\\\n\\\\n              change_geo(geo_file, i_click);\\\\n              document.getElementById(\\\\\"chemical_formula\\\\\" + i_click%2).innerHTML = String(chemical_formula)\\\\n              document.getElementById(\\\\\"structure_type\\\\\" + i_click%2).innerHTML = String(structure_type)\\\\n\\\\n              i_click = i_click + 1;\\\\n\\\\n              \"},\"id\":\"1056\",\"type\":\"CustomJS\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"PanTool\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"1019\",\"type\":\"BasicTicker\"}},\"id\":\"1022\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1026\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1011\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"1003\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1034\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1035\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1037\",\"type\":\"CDSView\"}},\"id\":\"1036\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1044\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null,\"tooltips\":\"\\\\n            &lt;div&gt;\\\\n                &lt;div&gt;\\\\n                    &lt;img\\\\n                        src=\\\\\"@imgs\\\\\" height=\\\\\"56\\\\\" alt=\\\\\"@imgs\\\\\" width=\\\\\"56\\\\\"\\\\n                        style=\\\\\"display: table; margin: 0 auto;\\\\\"\\\\n                        border=\\\\\"2\\\\\"\\\\n                    &gt;&lt;/img&gt;\\\\n                &lt;/div&gt;\\\\n                &lt;div&gt;\\\\n                    &lt;span style=\\\\\"font-size: 15px; font-weight: bold;\\\\\"&gt;@chemical_formulas&lt;/span&gt;\\\\n                &lt;/div&gt;\\\\n                \\\\n                &lt;div &gt;\\\\n                    &lt;span style=\\\\\"font-size: 10px;\\\\\"&gt;Ref. &amp;#916E = @Ref eV/atom&lt;/span&gt;&lt;br&gt;\\\\n                    &lt;span style=\\\\\"font-size: 10px;\\\\\"&gt;Pred. &amp;#916E = @Pred eV/atom&lt;/span&gt;\\\\n                &lt;/div&gt;\\\\n                \\\\n                &lt;div&gt;\\\\n                    &lt;span style=\\\\\"font-size: 10px;\\\\\"&gt;Location&lt;/span&gt;\\\\n                    &lt;span style=\\\\\"font-size:  8px; color: #696;\\\\\"&gt;($x, $y)&lt;/span&gt;\\\\n                &lt;/div&gt;\\\\n            &lt;/div&gt;\\\\n            \"},\"id\":\"1002\",\"type\":\"HoverTool\"},{\"attributes\":{\"callback\":{\"id\":\"1056\",\"type\":\"CustomJS\"}},\"id\":\"1023\",\"type\":\"TapTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"Pred\":{\"__ndarray__\":\"4OkZudmun79wkHZ6x0env7jmS33MTKC/wIjDGUf/ej8dKFEt/TvRP5f+9zPjlNA/k+i90oWL0D9qKuiWwqnGP/M6aMeFqNM/QIQLGVfo7T/C2DTgqZz5P1R58xdZxvA/DF0dgHel5T/cbynVZCfMvwcL5vX7Vcy/B0hk1964y79QLK9Q5J/Jv+6oEaA5beI/IcvlgMoG3D9J8iPNG3rbP3Eau51HxNg/akfqr7TCBUBQSaKUWHbJv5MEyDwu6se/eWE0ubGzxr+a1cZRUjPDvyAkuza8YI8/UNQiQJoMnT8oPw9Bnh6mPwS31DsBiLY/RCI6uOgWz78AYhRIRYrPv/xTJbZoP86/5BCSgMO3zb9AEbzat7WyP4iB8t/eI68/1KW1IcTfuD/ss4W+mVa8PwUZNV2oQNY/e9ivae1m1j9OLEYK80vDP0OQMPUyoNE/BmU/+REA4T85gBSUqo7TP07NFuMwNMg/WFIyT5Khwz8+143eapDGP9zfPGZTYsI/hFZvZDnTyL+vb/foIwbJv+DxLk/YC8W/18UomAJox7/ofz7kiAS8vzybjuT+TL2/AKfYp6O0s7+4drOoPLO2v8B/WjjEmLK/HCNVFuxsqb8AKqqleZahv8Cj+X2VxYE/etu16Pe7y782jLwvCqXNv6Ls4Q72x8+/qaWYHLi8x7+3EbGu5aLQv7aZP/KbHtG/nOF18ItY0b94LEVyvBnPv0G3ern6btY/GOveFm4y4j9k3pAKdO23PzSY0rCrPdE/7A+v8y7NzD+wAPai9PfPP4j56VPS6c2/q6Aq8S4uzL8b1JMgoRHLv34MUvBQ98e/KhpG/THjxD8a6exsOCrEP9IXQ65z4sU//nw6yc7Hxj8=\",\"dtype\":\"float64\",\"shape\":[82]},\"Ref\":[-0.03003341671137605,-0.04279727820539847,-0.15375767317891587,0.036925419641193,0.21326184910867596,0.07294907316963872,0.2189583414756271,0.15686873396043666,0.2742777724197367,0.8749781837650517,1.7120802608362737,1.0192251611952088,0.5808491143689025,-0.09299855386780109,-0.3197624294261914,-0.3434451340872329,-0.37538680966827087,0.6918375772329455,0.5063276745431722,0.4949404427752597,0.4685859104938572,2.628603639133644,-0.265219041319142,-0.3691331945374259,-0.3607977344217943,-0.35045627907675225,-0.08416135802690405,0.07267279591178522,0.0835719490860356,0.11453953219461255,-0.15586730299401097,-0.15034615744662005,-0.10826331867428962,-0.16238747449824587,0.15244263978820527,0.15625871319207363,-0.017022272342728684,0.20467458326311316,0.4334452390939987,0.3487517977519019,0.15462528509669937,0.2008525260607712,0.8114428802000475,0.263210170178354,0.13404757519310806,0.15372029269929044,0.17919328722928185,0.07805987301981077,-0.16617596419382608,-0.1644606802110502,-0.1464060984981188,-0.1670391451625619,-0.03274621288437629,-0.03838148269915109,-0.059488316863735236,-0.021660936341504566,-0.23227472431699425,-0.08669950498824619,-0.05530180195637513,-0.004591286648064852,-0.12642872788273962,-0.13299198508138943,-0.14578813778780386,-0.11483822218724526,-0.16382053142297082,-0.1605035540778772,-0.13559577698470093,-0.1672014421201311,0.27916582154830394,0.6690237272359809,0.01696389919379726,0.4535379741428187,0.08166336023714393,0.1351087991060922,-0.22030662317411043,-0.3684341299303924,-0.37451095173310023,-0.3792947258625645,0.10196817676842329,0.27581332560657756,0.26313689928065287,0.24500129517400637],\"chemical_formulas\":[\"AgBr\",\"AgCl\",\"AgF\",\"AgI\",\"AlAs\",\"AlN\",\"AlP\",\"AlSb\",\"AsGa\",\"BAs\",\"BN\",\"BP\",\"BSb\",\"BaO\",\"BaS\",\"BaSe\",\"BaTe\",\"BeO\",\"BeS\",\"BeSe\",\"BeTe\",\"C2\",\"CaO\",\"CaS\",\"CaSe\",\"CaTe\",\"CdO\",\"CdS\",\"CdSe\",\"CdTe\",\"CsBr\",\"CsCl\",\"CsF\",\"CsI\",\"CuBr\",\"CuCl\",\"CuF\",\"CuI\",\"GaN\",\"GaP\",\"GaSb\",\"Ge2\",\"GeC\",\"GeSi\",\"InAs\",\"InN\",\"InP\",\"InSb\",\"KBr\",\"KCl\",\"KF\",\"KI\",\"LiBr\",\"LiCl\",\"LiF\",\"LiI\",\"MgO\",\"MgS\",\"MgSe\",\"MgTe\",\"NaBr\",\"NaCl\",\"NaF\",\"NaI\",\"RbBr\",\"RbCl\",\"RbF\",\"RbI\",\"Si2\",\"SiC\",\"Sn2\",\"SnC\",\"SnGe\",\"SnSi\",\"SrO\",\"SrS\",\"SrSe\",\"SrTe\",\"ZnO\",\"ZnS\",\"ZnSe\",\"ZnTe\"],\"color\":[\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"blue\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"red\",\"red\",\"red\",\"red\",\"blue\",\"blue\",\"blue\",\"blue\",\"red\",\"red\",\"red\",\"red\"],\"geo_files\":[\"../../tmp/Geo_RS_AgBr.in\",\"../../tmp/Geo_RS_AgCl.in\",\"../../tmp/Geo_RS_AgF.in\",\"../../tmp/Geo_ZB_AgI.in\",\"../../tmp/Geo_ZB_AlAs.in\",\"../../tmp/Geo_ZB_AlN.in\",\"../../tmp/Geo_ZB_AlP.in\",\"../../tmp/Geo_ZB_AlSb.in\",\"../../tmp/Geo_ZB_AsGa.in\",\"../../tmp/Geo_ZB_BAs.in\",\"../../tmp/Geo_ZB_BN.in\",\"../../tmp/Geo_ZB_BP.in\",\"../../tmp/Geo_ZB_BSb.in\",\"../../tmp/Geo_RS_BaO.in\",\"../../tmp/Geo_RS_BaS.in\",\"../../tmp/Geo_RS_BaSe.in\",\"../../tmp/Geo_RS_BaTe.in\",\"../../tmp/Geo_ZB_BeO.in\",\"../../tmp/Geo_ZB_BeS.in\",\"../../tmp/Geo_ZB_BeSe.in\",\"../../tmp/Geo_ZB_BeTe.in\",\"../../tmp/Geo_ZB_C2.in\",\"../../tmp/Geo_RS_CaO.in\",\"../../tmp/Geo_RS_CaS.in\",\"../../tmp/Geo_RS_CaSe.in\",\"../../tmp/Geo_RS_CaTe.in\",\"../../tmp/Geo_RS_CdO.in\",\"../../tmp/Geo_ZB_CdS.in\",\"../../tmp/Geo_ZB_CdSe.in\",\"../../tmp/Geo_ZB_CdTe.in\",\"../../tmp/Geo_RS_CsBr.in\",\"../../tmp/Geo_RS_CsCl.in\",\"../../tmp/Geo_RS_CsF.in\",\"../../tmp/Geo_RS_CsI.in\",\"../../tmp/Geo_ZB_CuBr.in\",\"../../tmp/Geo_ZB_CuCl.in\",\"../../tmp/Geo_RS_CuF.in\",\"../../tmp/Geo_ZB_CuI.in\",\"../../tmp/Geo_ZB_GaN.in\",\"../../tmp/Geo_ZB_GaP.in\",\"../../tmp/Geo_ZB_GaSb.in\",\"../../tmp/Geo_ZB_Ge2.in\",\"../../tmp/Geo_ZB_GeC.in\",\"../../tmp/Geo_ZB_GeSi.in\",\"../../tmp/Geo_ZB_InAs.in\",\"../../tmp/Geo_ZB_InN.in\",\"../../tmp/Geo_ZB_InP.in\",\"../../tmp/Geo_ZB_InSb.in\",\"../../tmp/Geo_RS_KBr.in\",\"../../tmp/Geo_RS_KCl.in\",\"../../tmp/Geo_RS_KF.in\",\"../../tmp/Geo_RS_KI.in\",\"../../tmp/Geo_RS_LiBr.in\",\"../../tmp/Geo_RS_LiCl.in\",\"../../tmp/Geo_RS_LiF.in\",\"../../tmp/Geo_RS_LiI.in\",\"../../tmp/Geo_RS_MgO.in\",\"../../tmp/Geo_RS_MgS.in\",\"../../tmp/Geo_RS_MgSe.in\",\"../../tmp/Geo_RS_MgTe.in\",\"../../tmp/Geo_RS_NaBr.in\",\"../../tmp/Geo_RS_NaCl.in\",\"../../tmp/Geo_RS_NaF.in\",\"../../tmp/Geo_RS_NaI.in\",\"../../tmp/Geo_RS_RbBr.in\",\"../../tmp/Geo_RS_RbCl.in\",\"../../tmp/Geo_RS_RbF.in\",\"../../tmp/Geo_RS_RbI.in\",\"../../tmp/Geo_ZB_Si2.in\",\"../../tmp/Geo_ZB_SiC.in\",\"../../tmp/Geo_ZB_Sn2.in\",\"../../tmp/Geo_ZB_SnC.in\",\"../../tmp/Geo_ZB_SnGe.in\",\"../../tmp/Geo_ZB_SnSi.in\",\"../../tmp/Geo_RS_SrO.in\",\"../../tmp/Geo_RS_SrS.in\",\"../../tmp/Geo_RS_SrSe.in\",\"../../tmp/Geo_RS_SrTe.in\",\"../../tmp/Geo_ZB_ZnO.in\",\"../../tmp/Geo_ZB_ZnS.in\",\"../../tmp/Geo_ZB_ZnSe.in\",\"../../tmp/Geo_ZB_ZnTe.in\"],\"imgs\":[\"../../tmp/Thumbnail_RS_AgBr.png\",\"../../tmp/Thumbnail_RS_AgCl.png\",\"../../tmp/Thumbnail_RS_AgF.png\",\"../../tmp/Thumbnail_ZB_AgI.png\",\"../../tmp/Thumbnail_ZB_AlAs.png\",\"../../tmp/Thumbnail_ZB_AlN.png\",\"../../tmp/Thumbnail_ZB_AlP.png\",\"../../tmp/Thumbnail_ZB_AlSb.png\",\"../../tmp/Thumbnail_ZB_AsGa.png\",\"../../tmp/Thumbnail_ZB_BAs.png\",\"../../tmp/Thumbnail_ZB_BN.png\",\"../../tmp/Thumbnail_ZB_BP.png\",\"../../tmp/Thumbnail_ZB_BSb.png\",\"../../tmp/Thumbnail_RS_BaO.png\",\"../../tmp/Thumbnail_RS_BaS.png\",\"../../tmp/Thumbnail_RS_BaSe.png\",\"../../tmp/Thumbnail_RS_BaTe.png\",\"../../tmp/Thumbnail_ZB_BeO.png\",\"../../tmp/Thumbnail_ZB_BeS.png\",\"../../tmp/Thumbnail_ZB_BeSe.png\",\"../../tmp/Thumbnail_ZB_BeTe.png\",\"../../tmp/Thumbnail_ZB_C2.png\",\"../../tmp/Thumbnail_RS_CaO.png\",\"../../tmp/Thumbnail_RS_CaS.png\",\"../../tmp/Thumbnail_RS_CaSe.png\",\"../../tmp/Thumbnail_RS_CaTe.png\",\"../../tmp/Thumbnail_RS_CdO.png\",\"../../tmp/Thumbnail_ZB_CdS.png\",\"../../tmp/Thumbnail_ZB_CdSe.png\",\"../../tmp/Thumbnail_ZB_CdTe.png\",\"../../tmp/Thumbnail_RS_CsBr.png\",\"../../tmp/Thumbnail_RS_CsCl.png\",\"../../tmp/Thumbnail_RS_CsF.png\",\"../../tmp/Thumbnail_RS_CsI.png\",\"../../tmp/Thumbnail_ZB_CuBr.png\",\"../../tmp/Thumbnail_ZB_CuCl.png\",\"../../tmp/Thumbnail_RS_CuF.png\",\"../../tmp/Thumbnail_ZB_CuI.png\",\"../../tmp/Thumbnail_ZB_GaN.png\",\"../../tmp/Thumbnail_ZB_GaP.png\",\"../../tmp/Thumbnail_ZB_GaSb.png\",\"../../tmp/Thumbnail_ZB_Ge2.png\",\"../../tmp/Thumbnail_ZB_GeC.png\",\"../../tmp/Thumbnail_ZB_GeSi.png\",\"../../tmp/Thumbnail_ZB_InAs.png\",\"../../tmp/Thumbnail_ZB_InN.png\",\"../../tmp/Thumbnail_ZB_InP.png\",\"../../tmp/Thumbnail_ZB_InSb.png\",\"../../tmp/Thumbnail_RS_KBr.png\",\"../../tmp/Thumbnail_RS_KCl.png\",\"../../tmp/Thumbnail_RS_KF.png\",\"../../tmp/Thumbnail_RS_KI.png\",\"../../tmp/Thumbnail_RS_LiBr.png\",\"../../tmp/Thumbnail_RS_LiCl.png\",\"../../tmp/Thumbnail_RS_LiF.png\",\"../../tmp/Thumbnail_RS_LiI.png\",\"../../tmp/Thumbnail_RS_MgO.png\",\"../../tmp/Thumbnail_RS_MgS.png\",\"../../tmp/Thumbnail_RS_MgSe.png\",\"../../tmp/Thumbnail_RS_MgTe.png\",\"../../tmp/Thumbnail_RS_NaBr.png\",\"../../tmp/Thumbnail_RS_NaCl.png\",\"../../tmp/Thumbnail_RS_NaF.png\",\"../../tmp/Thumbnail_RS_NaI.png\",\"../../tmp/Thumbnail_RS_RbBr.png\",\"../../tmp/Thumbnail_RS_RbCl.png\",\"../../tmp/Thumbnail_RS_RbF.png\",\"../../tmp/Thumbnail_RS_RbI.png\",\"../../tmp/Thumbnail_ZB_Si2.png\",\"../../tmp/Thumbnail_ZB_SiC.png\",\"../../tmp/Thumbnail_ZB_Sn2.png\",\"../../tmp/Thumbnail_ZB_SnC.png\",\"../../tmp/Thumbnail_ZB_SnGe.png\",\"../../tmp/Thumbnail_ZB_SnSi.png\",\"../../tmp/Thumbnail_RS_SrO.png\",\"../../tmp/Thumbnail_RS_SrS.png\",\"../../tmp/Thumbnail_RS_SrSe.png\",\"../../tmp/Thumbnail_RS_SrTe.png\",\"../../tmp/Thumbnail_ZB_ZnO.png\",\"../../tmp/Thumbnail_ZB_ZnS.png\",\"../../tmp/Thumbnail_ZB_ZnSe.png\",\"../../tmp/Thumbnail_ZB_ZnTe.png\"],\"legend\":[\"RS\",\"RS\",\"RS\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"RS\",\"RS\",\"RS\",\"RS\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"ZB\",\"ZB\",\"ZB\",\"RS\",\"RS\",\"RS\",\"RS\",\"ZB\",\"ZB\",\"RS\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"RS\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"ZB\",\"RS\",\"RS\",\"RS\",\"RS\",\"ZB\",\"ZB\",\"ZB\",\"ZB\"],\"x\":{\"__ndarray__\":\"Lk2Emg0rBEC1fCHBfnoGQO3b6PrAHxFAlRgS4wKHAUAXBrhS9rsOQBLjx2JNQhhAKCoJUCo2EEA4ApKkzmoLQFhJzMTuyBBAL4kpRKeMJUCqhdLiYAIxQP4NrWnPuyZAlMzG0kM5I0DvJJ4qSA//P85s+YQQtPQ/3Zd0/tr08j9pMKH1DqjwPzUFOtiQVyJAAGgDPtJzGEA0PyY5oWMWQN9ykAg2rBNATwZfv6IkOUDlbmmbFPUDQOqLC44Xm/o/+D5qqGJc+D8eFeODuWf1Pw6aMpJnvRFADoRpuE2mB0Cd4AgLdKcFQO5DsrTdBgNARmvR/9eN7D9yH4LfNNPvP/n1XkiDPvg/wbpvX7TQ6D+8HfU+hkEJQD6e2QYrJgxAJcLkEaJxFUDQH29l8PIFQII2hcpEfxpAuNz96Q+1EUBt+armXfINQPJMh1pKrBNAhwxeSzyqHUDqjaTM7RsUQHIcx3FOZApAAAAAANvUFEAAAAAAltcLQKuqqqogiwdAwwBn3Svy9z/Wklg/ZrD6PxUaOb/lVARAcEYyIH/P9D8AAADgEtIBQAAAAACs3ANAAAAAQPhCDkAAAABAcvn+PxDmFax7wQ1AMFJKrpDVA0BkKrBQISkCQHPPoywa6v8/BCzneucW9T8KDVsVXYH3P+jPOI8B6AFATpRK+/pT8j9G4RNwPdjrP6aZe7DMCO8/C9ct5lGk9z9kj+Y14TLoP7vY3v7lMBVAWP4/UNJCH0A2uVk0gL8KQLADvhMGOxZAhmyJqUN8DUCQdm3PlSMOQFzsYaUBhQBAGWadttUF9j9N1xkWICr0P9dhx/rNt/E/zQqMUwVbFkBuZgidjs0NQOM4mjvKSQtAn6+3ODT6B0A=\",\"dtype\":\"float64\",\"shape\":[82]},\"y\":{\"__ndarray__\":\"NWXQSBIXvj+kKapW9CXDP/Pmc1ToPdA/6LBXm74YsT+x2Hjs3DaRP2BbA1Lx9cg/wG33bDqopD8DJb9FmRmoP11SvUdTBpM/Jv0KEHgxuj+VzpIFIhXBP9bMtPisOLI/alSa1GLqxz/SOYaPKKXJP+B0K94JYsM/jDQv3FfkwT9+4kyzPh6+P0jBmvQcQcw/710Fk9H+sz9q+ZQbfpqmP/cngdVe3ZQ/qb9Jfg6ZdT9W28Rp9knNP1HRy1wvCsQ/84Z6uG3WwT8/gU0DlU67Pwu7tEZG7s0/W9l5HClvvD9c+JC5l/O0P7cuUK0M8Jo/4lbi4UJHwT9tuCOFNJfCP96BH+gF28Y/vRWRLLNmvj+2Y+JMgKy4P4lCOCuY9sA/unR4J7b/zz/rQgD7JwykP9KVLmxl1MY/lFCVP4Vwfj/SlS5sZdS2P49cCT8pfLg/vKhyuAeWvT/2MWo9pGy1PzJBfUVQxZ0/gyqin8uiyT/bfX08f3aqP8fk2QEQiqA/XfmQUZMDwz+PjrfY3NbEP8LrWciLxco/rNXmLrQfwD8dlz4tru3CP8Kd/vTZ4MU/pCfkMSh3zz8e8vk4/IO8PxSx5HTAd84/xrM1HN4/wD/y4SIvdbq5P+Wp13J1uqk/CXcJLBY3wz+jZfejR/7FPwNfKV6oBc8/iMsLiw+ivT8OxbGURIjCP+RNNDnhKsQ/SlMMSV57yT9fIBBf7uK/P9JjiQYJALM/+nFZxA4Avz/LdZ6HftW4P69A4SulEcM/oGD1IhG9oT9jHgE5f9WYP2O0zcpmDcw/bPlilm8XxD/AQtHLNDLCP/nAxQWKML0/F3+hxgmMzD/xmgt8wk21P0Esg2GDkKk/zSKjRs5Eiz8=\",\"dtype\":\"float64\",\"shape\":[82]}},\"selected\":{\"id\":\"1054\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1053\",\"type\":\"UnionRenderers\"}},\"id\":\"1003\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_color\":{\"field\":\"color\"},\"line_color\":{\"field\":\"color\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1034\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1009\",\"type\":\"LinearScale\"},{\"attributes\":{\"label\":{\"field\":\"legend\"},\"renderers\":[{\"id\":\"1036\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1046\",\"type\":\"LegendItem\"},{\"attributes\":{\"callback\":null},\"id\":\"1005\",\"type\":\"DataRange1d\"}],\"root_ids\":[\"1004\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}}';\n",
-       "          var render_items = [{\"docid\":\"db6f539a-e1f9-4f05-ac05-0cd33b61031e\",\"roots\":{\"1004\":\"cb182e77-cd29-4c09-971b-815771c29398\"}}];\n",
-       "          root.Bokeh.embed.embed_items(docs_json, render_items);\n",
-       "        \n",
-       "          }\n",
-       "          if (root.Bokeh !== undefined) {\n",
-       "            embed_document(root);\n",
-       "          } else {\n",
-       "            var attempts = 0;\n",
-       "            var timer = setInterval(function(root) {\n",
-       "              if (root.Bokeh !== undefined) {\n",
-       "                embed_document(root);\n",
-       "                clearInterval(timer);\n",
-       "              }\n",
-       "              attempts++;\n",
-       "              if (attempts > 100) {\n",
-       "                console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
-       "                clearInterval(timer);\n",
-       "              }\n",
-       "            }, 10, root)\n",
-       "          }\n",
-       "        })(window);\n",
-       "      });\n",
-       "    };\n",
-       "    if (document.readyState != \"loading\") fn();\n",
-       "    else document.addEventListener(\"DOMContentLoaded\", fn);\n",
-       "  })();\n",
-       "</script>\n",
-       "</head>\n",
-       "<body>\n",
-       "<br>\n",
-       "<br>\n",
-       "    \n",
-       "<div class=\"bk-root\" id=\"cb182e77-cd29-4c09-971b-815771c29398\" data-root-id=\"1004\"></div>\n",
-       "    <table >\n",
-       "          <tr>\n",
-       "                    <td align=\"center\">\n",
-       "                        <table id=\"jsmol_table\">\n",
-       "                        <tr>\n",
-       "                            <th>Chemical Formula</th>\n",
-       "                            <th>Structure Type</th>\n",
-       "                        </tr>\n",
-       "                        <tr>\n",
-       "                            <td> <div id=\"chemical_formula0\"> &nbsp; </div> </td>    \n",
-       "                            <td> <div id=\"structure_type0\">  </td>  \n",
-       "                        </tr>\n",
-       "                        <tr>\n",
-       "                            <td colspan=2 class=\"none\"> \n",
-       "                                <div id=\"appdiv0\"></div>\n",
-       "                            </td>  \n",
-       "                        </tr>\n",
-       "                        </table>\n",
-       "                    </td>\n",
-       "\n",
-       "\n",
-       "                    <td align=\"center\">\n",
-       "                        <table id=\"jsmol_table\">\n",
-       "                        <tr>\n",
-       "                            <th>Chemical Formula</th>\n",
-       "                            <th>Structure Type</th>\n",
-       "                        </tr>\n",
-       "                        <tr>\n",
-       "                            <td> <div id=\"chemical_formula1\"> &nbsp; </div> </td> \n",
-       "                            <td> <div id=\"structure_type1\">  </td>  \n",
-       "                        </tr>\n",
-       "                        <tr>\n",
-       "                            <td colspan=2 class=\"none\"> \n",
-       "                                <div id=\"appdiv1\"></div>\n",
-       "                            </td>  \n",
-       "                        </tr>\n",
-       "                        </table>\n",
-       "                    </td>\n",
-       "    </table>\n",
-       "        </body>\n",
-       "    </html>\n",
-       "    "
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# get 2d solution\n",
-    "P_predict = sisso.predict(D, dim=2)\n",
-    "D_selcted = df_D.values[:, sisso.l0_selected_indices[1]]\n",
-    "features = df_D.columns[sisso.l0_selected_indices[1]]\n",
-    "\n",
-    "# plot 2D map \n",
-    "show_map(df, D_selcted, P_predict, features, prefix=tmpdir)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "# Predicting new materials (extrapolation)\n",
-    "<div style=\"list-style:disc; margin: 2px;padding: 10px;border: 0px;border:8px double   green; font-size:16px;padding-left: 32px;padding-right: 22px; width:89%\">\n",
-    "<li>Perform a leave-one-out cross-validation (LOOCV) using SISSO.</li>\n",
-    "<li>Analyze the prediction accuracy and how often the same descriptor is selected.</li>\n",
-    "</div>\n",
-    "\n",
-    "We have seen that we can fit the energy differences of materials accurately. But what about predicting the energy difference of a 'new' material (which was not included when determining the model)? We test the prediction performance via LOOCV.  In a LOOCV for each material the following procedure is performed: the selected material is excluded, the model is built on the remaining materials and the model accurcy is tested on the excluded material. This means that we need to run SISSO function 82 times. <br>\n",
-    "Get the data in the next cell and run the LOOCV  one cell after. Note that running the LOOCV  could take up to ten minutes. Use the remaining two cells of this chapter to analyse the results.<br>\n",
-    "How is the prediction error compared to the fitting error? How often is the same descriptor selected? Are there materials which had a outlying high/low error?"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 19,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Selected operations:\n",
-      " ['+', '|-|', 'exp', '^2', '/']\n",
-      "Number of total features generated: 3391\n"
-     ]
-    }
-   ],
-   "source": [
-    "# get the data\n",
-    "selected_feature_list = ['IP', 'EA', 'r_s', 'r_p','r_d']\n",
-    "allowed_operations = ['+','|-|','exp', '^2', '/']\n",
-    "\n",
-    "P, df_D = get_data(selected_feature_list, allowed_operations)\n",
-    "features_list = df_D.columns.tolist()\n",
-    "chemical_formulas = df_D.index.tolist()\n",
-    "D = df_D.values"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 20,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      " 1) Leave out AgBr: Ediff_ref = -0.030 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.138036\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n",
-      "2D:\t0.116855\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.691 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n",
-      "3D:\t0.084763\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.391 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.118\n",
-      "Ediff_predicted(1D) = -0.009 eV/atom\n",
-      "Ediff_predicted(2D) = 0.006 eV/atom\n",
-      "Ediff_predicted(3D) = -0.000 eV/atom\n",
-      "-----\n",
-      " 2) Leave out AgCl: Ediff_ref = -0.043 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137927\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n",
-      "2D:\t0.116617\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.711 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.264\n",
-      "3D:\t0.084761\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.388 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.118\n",
-      "Ediff_predicted(1D) = 0.011 eV/atom\n",
-      "Ediff_predicted(2D) = 0.034 eV/atom\n",
-      "Ediff_predicted(3D) = -0.012 eV/atom\n",
-      "-----\n",
-      " 3) Leave out AgF: Ediff_ref = -0.154 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.135085\t- 0.101 (IP(B)+EA(A))/r_p(A)^2 - 0.378\n",
-      "2D:\t0.099858\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.434 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.150\n",
-      "3D:\t0.075106\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.711 |r_s(A)-r_p(B)|/exp(r_s(A)) - 6.091 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.010\n",
-      "Ediff_predicted(1D) = 0.223 eV/atom\n",
-      "Ediff_predicted(2D) = -0.024 eV/atom\n",
-      "Ediff_predicted(3D) = -0.000 eV/atom\n",
-      "-----\n",
-      " 4) Leave out AgI: Ediff_ref = 0.037 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137849\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116726\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.618 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.084826\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.390 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = -0.032 eV/atom\n",
-      "Ediff_predicted(2D) = -0.025 eV/atom\n",
-      "Ediff_predicted(3D) = 0.033 eV/atom\n",
-      "-----\n",
-      " 5) Leave out AlAs: Ediff_ref = 0.213 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137448\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116822\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.633 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.078776\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 10.612 |r_s(B)-r_p(B)|/exp(r_p(B)+r_d(A)) - 1.652 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.040\n",
-      "Ediff_predicted(1D) = 0.096 eV/atom\n",
-      "Ediff_predicted(2D) = 0.169 eV/atom\n",
-      "Ediff_predicted(3D) = 0.250 eV/atom\n",
-      "-----\n",
-      " 6) Leave out AlN: Ediff_ref = 0.073 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.136161\t+ 0.340 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.190\n",
-      "2D:\t0.103664\t+ 0.121 |IP(B)-EA(B)|/r_p(A)^2 - 0.618 |r_s(A)-r_p(B)|/r_s(A)^2 - 0.184\n",
-      "3D:\t0.076815\t+ 0.370 |IP(B)-EA(B)|/exp(r_p(A)^2) - 7.007 |r_s(A)-r_p(B)|/exp(r_s(A)+r_p(A)) - 7.437 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 + 0.022\n",
-      "Ediff_predicted(1D) = 0.386 eV/atom\n",
-      "Ediff_predicted(2D) = 0.250 eV/atom\n",
-      "Ediff_predicted(3D) = 0.271 eV/atom\n",
-      "-----\n",
-      " 7) Leave out AlP: Ediff_ref = 0.219 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137532\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116832\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.644 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n",
-      "3D:\t0.084690\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.401 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n",
-      "Ediff_predicted(1D) = 0.110 eV/atom\n",
-      "Ediff_predicted(2D) = 0.177 eV/atom\n",
-      "Ediff_predicted(3D) = 0.263 eV/atom\n",
-      "-----\n",
-      " 8) Leave out AlSb: Ediff_ref = 0.157 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137751\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116751\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.639 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.078876\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 10.641 |r_s(B)-r_p(B)|/exp(r_p(B)+r_d(A)) - 1.641 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.042\n",
-      "Ediff_predicted(1D) = 0.074 eV/atom\n",
-      "Ediff_predicted(2D) = 0.099 eV/atom\n",
-      "Ediff_predicted(3D) = 0.153 eV/atom\n",
-      "-----\n",
-      " 9) Leave out AsGa: Ediff_ref = 0.274 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137217\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116721\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.618 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.078802\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 10.635 |r_s(B)-r_p(B)|/exp(r_p(B)+r_d(A)) - 1.650 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.040\n",
-      "Ediff_predicted(1D) = 0.137 eV/atom\n",
-      "Ediff_predicted(2D) = 0.212 eV/atom\n",
-      "Ediff_predicted(3D) = 0.306 eV/atom\n",
-      "-----\n",
-      "10) Leave out BAs: Ediff_ref = 0.875 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.136271\t- 0.056 (IP(A)+IP(B))/r_p(A)^2 - 0.336\n",
-      "2D:\t0.116899\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.657 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n",
-      "3D:\t0.084623\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.391 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = 1.082 eV/atom\n",
-      "Ediff_predicted(2D) = 0.896 eV/atom\n",
-      "Ediff_predicted(3D) = 0.929 eV/atom\n",
-      "-----\n",
-      "11) Leave out BN: Ediff_ref = 1.712 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.133112\t- 0.211 (IP(A)+IP(B))/(r_s(A)+r_p(A))^2 - 0.408\n",
-      "2D:\t0.099900\t+ 0.113 |IP(B)-EA(B)|/r_p(A)^2 - 1.500 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.138\n",
-      "3D:\t0.075053\t+ 0.106 |IP(B)-EA(B)|/r_p(A)^2 - 1.790 |r_s(A)-r_p(B)|/exp(r_s(A)) - 6.104 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 + 0.005\n",
-      "Ediff_predicted(1D) = 1.304 eV/atom\n",
-      "Ediff_predicted(2D) = 1.576 eV/atom\n",
-      "Ediff_predicted(3D) = 1.545 eV/atom\n",
-      "-----\n",
-      "12) Leave out BP: Ediff_ref = 1.019 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137692\t- 0.056 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116883\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.671 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n",
-      "3D:\t0.084804\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.392 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = 1.113 eV/atom\n",
-      "Ediff_predicted(2D) = 0.991 eV/atom\n",
-      "Ediff_predicted(3D) = 1.037 eV/atom\n",
-      "-----\n",
-      "13) Leave out BSb: Ediff_ref = 0.581 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.129244\t- 0.057 (IP(A)+IP(B))/r_p(A)^2 - 0.339\n",
-      "2D:\t0.112986\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.298 (r_s(B)+r_d(A))/exp(r_d(A)^2) - 0.295\n",
-      "3D:\t0.084094\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.368 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.123\n",
-      "Ediff_predicted(1D) = 1.033 eV/atom\n",
-      "Ediff_predicted(2D) = 1.020 eV/atom\n",
-      "Ediff_predicted(3D) = 0.684 eV/atom\n",
-      "-----\n",
-      "14) Leave out BaO: Ediff_ref = -0.093 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137869\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.115469\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.990 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n",
-      "3D:\t0.082953\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.246 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.422 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n",
-      "Ediff_predicted(1D) = -0.158 eV/atom\n",
-      "Ediff_predicted(2D) = -0.263 eV/atom\n",
-      "Ediff_predicted(3D) = -0.255 eV/atom\n",
-      "-----\n",
-      "15) Leave out BaS: Ediff_ref = -0.320 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137337\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.330\n",
-      "2D:\t0.116821\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.615 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n",
-      "3D:\t0.084644\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.239 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.389 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.118\n",
-      "Ediff_predicted(1D) = -0.192 eV/atom\n",
-      "Ediff_predicted(2D) = -0.275 eV/atom\n",
-      "Ediff_predicted(3D) = -0.269 eV/atom\n",
-      "-----\n",
-      "16) Leave out BaSe: Ediff_ref = -0.343 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137129\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n",
-      "2D:\t0.116682\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.599 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n",
-      "3D:\t0.084425\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.237 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.390 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.118\n",
-      "Ediff_predicted(1D) = -0.198 eV/atom\n",
-      "Ediff_predicted(2D) = -0.275 eV/atom\n",
-      "Ediff_predicted(3D) = -0.268 eV/atom\n",
-      "-----\n",
-      "17) Leave out BaTe: Ediff_ref = -0.375 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.136799\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n",
-      "2D:\t0.098896\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.489 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.140\n",
-      "3D:\t0.076343\t+ 0.108 |IP(B)-EA(B)|/r_p(A)^2 - 1.762 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.892 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.006\n",
-      "Ediff_predicted(1D) = -0.206 eV/atom\n",
-      "Ediff_predicted(2D) = -0.197 eV/atom\n",
-      "Ediff_predicted(3D) = -0.290 eV/atom\n",
-      "-----\n",
-      "18) Leave out BeO: Ediff_ref = 0.692 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137952\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n",
-      "2D:\t0.099938\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.522 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.139\n",
-      "3D:\t0.075878\t+ 0.108 |IP(B)-EA(B)|/r_p(A)^2 - 1.804 |r_s(A)-r_p(B)|/exp(r_s(A)) - 4.953 |r_s(B)-r_p(B)|/(r_s(B)+r_d(A))^2 - 0.006\n",
-      "Ediff_predicted(1D) = 0.643 eV/atom\n",
-      "Ediff_predicted(2D) = 0.566 eV/atom\n",
-      "Ediff_predicted(3D) = 0.573 eV/atom\n",
-      "-----\n",
-      "19) Leave out BeS: Ediff_ref = 0.506 eV/atom\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "          RMSE            Model\n",
-      "1D:\t0.137994\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116530\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.620 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.084632\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.385 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n",
-      "Ediff_predicted(1D) = 0.468 eV/atom\n",
-      "Ediff_predicted(2D) = 0.419 eV/atom\n",
-      "Ediff_predicted(3D) = 0.454 eV/atom\n",
-      "-----\n",
-      "20) Leave out BeSe: Ediff_ref = 0.495 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137905\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116107\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.579 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.084638\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.380 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n",
-      "Ediff_predicted(1D) = 0.436 eV/atom\n",
-      "Ediff_predicted(2D) = 0.370 eV/atom\n",
-      "Ediff_predicted(3D) = 0.443 eV/atom\n",
-      "-----\n",
-      "21) Leave out BeTe: Ediff_ref = 0.469 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137820\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.115395\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.525 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.269\n",
-      "3D:\t0.084490\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.372 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.122\n",
-      "Ediff_predicted(1D) = 0.395 eV/atom\n",
-      "Ediff_predicted(2D) = 0.297 eV/atom\n",
-      "Ediff_predicted(3D) = 0.399 eV/atom\n",
-      "-----\n",
-      "22) Leave out C2: Ediff_ref = 2.629 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.119515\t- 0.254 IP(B)/exp(r_p(A)^2) - 0.178\n",
-      "2D:\t0.098042\t+ 0.286 |IP(B)-EA(B)|/exp(r_p(A)^2) - 0.657 r_d(A)/exp(r_d(A)^2) - 0.115\n",
-      "3D:\t0.071567\t+ 0.304 |IP(B)-EA(B)|/exp(r_p(A)^2) - 11.279 |r_s(B)-r_p(B)|/exp(r_s(B)+r_d(A)) - 0.515 |r_s(A)-r_p(B)|/r_s(A)^2 + 0.050\n",
-      "Ediff_predicted(1D) = 1.676 eV/atom\n",
-      "Ediff_predicted(2D) = 1.732 eV/atom\n",
-      "Ediff_predicted(3D) = 2.067 eV/atom\n",
-      "-----\n",
-      "23) Leave out CaO: Ediff_ref = -0.265 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.136780\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n",
-      "2D:\t0.115213\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 7.722 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.257\n",
-      "3D:\t0.078099\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 9.046 |r_s(B)-r_p(B)|/exp(r_s(B)+r_d(A)) - 1.668 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.039\n",
-      "Ediff_predicted(1D) = -0.095 eV/atom\n",
-      "Ediff_predicted(2D) = -0.478 eV/atom\n",
-      "Ediff_predicted(3D) = -0.235 eV/atom\n",
-      "-----\n",
-      "24) Leave out CaS: Ediff_ref = -0.369 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.135764\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.328\n",
-      "2D:\t0.098737\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.468 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.143\n",
-      "3D:\t0.076877\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.770 |r_s(A)-r_p(B)|/exp(r_s(A)) - 6.092 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.004\n",
-      "Ediff_predicted(1D) = -0.142 eV/atom\n",
-      "Ediff_predicted(2D) = -0.183 eV/atom\n",
-      "Ediff_predicted(3D) = -0.387 eV/atom\n",
-      "-----\n",
-      "25) Leave out CaSe: Ediff_ref = -0.361 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.136102\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.328\n",
-      "2D:\t0.098713\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.477 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.142\n",
-      "3D:\t0.076410\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.788 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.297 |r_s(B)-r_p(B)|/(r_s(B)+r_d(A))^2 - 0.005\n",
-      "Ediff_predicted(1D) = -0.151 eV/atom\n",
-      "Ediff_predicted(2D) = -0.174 eV/atom\n",
-      "Ediff_predicted(3D) = -0.451 eV/atom\n",
-      "-----\n",
-      "26) Leave out CaTe: Ediff_ref = -0.350 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.136487\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n",
-      "2D:\t0.098291\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.496 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.139\n",
-      "3D:\t0.076193\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.785 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.416 |r_s(B)-r_p(B)|/(r_s(B)+r_d(A))^2 - 0.003\n",
-      "Ediff_predicted(1D) = -0.162 eV/atom\n",
-      "Ediff_predicted(2D) = -0.146 eV/atom\n",
-      "Ediff_predicted(3D) = -0.461 eV/atom\n",
-      "-----\n",
-      "27) Leave out CdO: Ediff_ref = -0.084 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.135465\t- 0.219 (IP(A)+IP(B))/(r_s(A)+r_p(A))^2 - 0.419\n",
-      "2D:\t0.104770\t+ 0.121 |IP(B)-EA(B)|/r_p(A)^2 - 0.623 |r_s(A)-r_p(B)|/r_s(A)^2 - 0.183\n",
-      "3D:\t0.083261\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 0.696 |r_s(A)-r_p(B)|/r_s(A)^2 - 10.800 |r_s(B)-r_p(B)|/exp(r_p(B)+r_d(A)) - 0.081\n",
-      "Ediff_predicted(1D) = 0.228 eV/atom\n",
-      "Ediff_predicted(2D) = 0.025 eV/atom\n",
-      "Ediff_predicted(3D) = 0.054 eV/atom\n",
-      "-----\n",
-      "28) Leave out CdS: Ediff_ref = 0.073 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.138046\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116883\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.653 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n",
-      "3D:\t0.084806\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.390 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = 0.057 eV/atom\n",
-      "Ediff_predicted(2D) = 0.045 eV/atom\n",
-      "Ediff_predicted(3D) = 0.056 eV/atom\n",
-      "-----\n",
-      "29) Leave out CdSe: Ediff_ref = 0.084 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137978\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116740\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.629 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.084811\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.389 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = 0.041 eV/atom\n",
-      "Ediff_predicted(2D) = 0.024 eV/atom\n",
-      "Ediff_predicted(3D) = 0.069 eV/atom\n",
-      "-----\n",
-      "30) Leave out CdTe: Ediff_ref = 0.115 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137670\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116256\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.569 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.269\n",
-      "3D:\t0.084825\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.389 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = 0.021 eV/atom\n",
-      "Ediff_predicted(2D) = 0.001 eV/atom\n",
-      "Ediff_predicted(3D) = 0.109 eV/atom\n",
-      "-----\n",
-      "31) Leave out CsBr: Ediff_ref = -0.156 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137730\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116671\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.655 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.084512\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.392 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n",
-      "Ediff_predicted(1D) = -0.242 eV/atom\n",
-      "Ediff_predicted(2D) = -0.225 eV/atom\n",
-      "Ediff_predicted(3D) = -0.222 eV/atom\n",
-      "-----\n",
-      "32) Leave out CsCl: Ediff_ref = -0.150 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137741\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116684\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.660 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.084432\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.395 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n",
-      "Ediff_predicted(1D) = -0.235 eV/atom\n",
-      "Ediff_predicted(2D) = -0.218 eV/atom\n",
-      "Ediff_predicted(3D) = -0.225 eV/atom\n",
-      "-----\n",
-      "33) Leave out CsF: Ediff_ref = -0.108 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137647\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.335\n",
-      "2D:\t0.099798\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.501 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.145\n",
-      "3D:\t0.076203\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.776 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.972 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.007\n",
-      "Ediff_predicted(1D) = -0.205 eV/atom\n",
-      "Ediff_predicted(2D) = -0.239 eV/atom\n",
-      "Ediff_predicted(3D) = -0.202 eV/atom\n",
-      "-----\n",
-      "34) Leave out CsI: Ediff_ref = -0.162 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137721\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116674\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.648 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.268\n",
-      "3D:\t0.084641\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.389 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n",
-      "Ediff_predicted(1D) = -0.250 eV/atom\n",
-      "Ediff_predicted(2D) = -0.232 eV/atom\n",
-      "Ediff_predicted(3D) = -0.213 eV/atom\n",
-      "-----\n",
-      "35) Leave out CuBr: Ediff_ref = 0.152 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137813\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116576\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.622 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.084614\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.387 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n",
-      "Ediff_predicted(1D) = 0.078 eV/atom\n",
-      "Ediff_predicted(2D) = 0.071 eV/atom\n",
-      "Ediff_predicted(3D) = 0.098 eV/atom\n",
-      "-----\n",
-      "36) Leave out CuCl: Ediff_ref = 0.156 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137931\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116770\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.646 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.084492\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.239 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.393 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = 0.103 eV/atom\n",
-      "Ediff_predicted(2D) = 0.102 eV/atom\n",
-      "Ediff_predicted(3D) = 0.088 eV/atom\n",
-      "-----\n",
-      "37) Leave out CuF: Ediff_ref = -0.017 eV/atom\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "          RMSE            Model\n",
-      "1D:\t0.134586\t- 0.101 (IP(B)+EA(A))/r_p(A)^2 - 0.380\n",
-      "2D:\t0.099977\t+ 0.115 |IP(B)-EA(B)|/r_p(A)^2 - 1.437 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.150\n",
-      "3D:\t0.075550\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.717 |r_s(A)-r_p(B)|/exp(r_s(A)) - 6.057 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.010\n",
-      "Ediff_predicted(1D) = 0.375 eV/atom\n",
-      "Ediff_predicted(2D) = 0.105 eV/atom\n",
-      "Ediff_predicted(3D) = 0.116 eV/atom\n",
-      "-----\n",
-      "38) Leave out CuI: Ediff_ref = 0.205 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.136996\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.335\n",
-      "2D:\t0.115484\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.534 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.270\n",
-      "3D:\t0.084429\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.373 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.122\n",
-      "Ediff_predicted(1D) = 0.050 eV/atom\n",
-      "Ediff_predicted(2D) = 0.038 eV/atom\n",
-      "Ediff_predicted(3D) = 0.129 eV/atom\n",
-      "-----\n",
-      "39) Leave out GaN: Ediff_ref = 0.433 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.136889\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.100367\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.498 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.143\n",
-      "3D:\t0.076603\t+ 0.108 |IP(B)-EA(B)|/r_p(A)^2 - 1.775 |r_s(A)-r_p(B)|/exp(r_s(A)) - 6.004 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.004\n",
-      "Ediff_predicted(1D) = 0.271 eV/atom\n",
-      "Ediff_predicted(2D) = 0.345 eV/atom\n",
-      "Ediff_predicted(3D) = 0.372 eV/atom\n",
-      "-----\n",
-      "40) Leave out GaP: Ediff_ref = 0.349 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.136321\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.335\n",
-      "2D:\t0.116354\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.576 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.268\n",
-      "3D:\t0.078854\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 10.646 |r_s(B)-r_p(B)|/exp(r_p(B)+r_d(A)) - 1.647 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.041\n",
-      "Ediff_predicted(1D) = 0.151 eV/atom\n",
-      "Ediff_predicted(2D) = 0.244 eV/atom\n",
-      "Ediff_predicted(3D) = 0.366 eV/atom\n",
-      "-----\n",
-      "41) Leave out GaSb: Ediff_ref = 0.155 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137980\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116864\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.658 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n",
-      "3D:\t0.084814\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.392 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.118\n",
-      "Ediff_predicted(1D) = 0.113 eV/atom\n",
-      "Ediff_predicted(2D) = 0.121 eV/atom\n",
-      "Ediff_predicted(3D) = 0.168 eV/atom\n",
-      "-----\n",
-      "42) Leave out Ge2: Ediff_ref = 0.201 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137706\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n",
-      "2D:\t0.116730\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.685 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n",
-      "3D:\t0.084175\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.243 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.397 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n",
-      "Ediff_predicted(1D) = 0.290 eV/atom\n",
-      "Ediff_predicted(2D) = 0.262 eV/atom\n",
-      "Ediff_predicted(3D) = 0.296 eV/atom\n",
-      "-----\n",
-      "43) Leave out GeC: Ediff_ref = 0.811 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.131019\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.095780\t+ 0.113 |IP(B)-EA(B)|/r_p(A)^2 - 1.484 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.144\n",
-      "3D:\t0.072546\t+ 0.108 |IP(B)-EA(B)|/r_p(A)^2 - 1.758 |r_s(A)-r_p(B)|/exp(r_s(A)) - 4.783 |r_s(B)-r_p(B)|/(r_s(B)+r_d(A))^2 - 0.016\n",
-      "Ediff_predicted(1D) = 0.416 eV/atom\n",
-      "Ediff_predicted(2D) = 0.524 eV/atom\n",
-      "Ediff_predicted(3D) = 0.577 eV/atom\n",
-      "-----\n",
-      "44) Leave out GeSi: Ediff_ref = 0.263 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.138006\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n",
-      "2D:\t0.116908\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.673 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n",
-      "3D:\t0.084558\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.397 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n",
-      "Ediff_predicted(1D) = 0.297 eV/atom\n",
-      "Ediff_predicted(2D) = 0.279 eV/atom\n",
-      "Ediff_predicted(3D) = 0.325 eV/atom\n",
-      "-----\n",
-      "45) Leave out InAs: Ediff_ref = 0.134 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137573\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116898\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.648 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n",
-      "3D:\t0.084396\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.243 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.411 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.114\n",
-      "Ediff_predicted(1D) = 0.029 eV/atom\n",
-      "Ediff_predicted(2D) = 0.112 eV/atom\n",
-      "Ediff_predicted(3D) = 0.212 eV/atom\n",
-      "-----\n",
-      "46) Leave out InN: Ediff_ref = 0.154 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.138044\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.115766\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.721 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.264\n",
-      "3D:\t0.084756\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.383 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = 0.137 eV/atom\n",
-      "Ediff_predicted(2D) = 0.302 eV/atom\n",
-      "Ediff_predicted(3D) = 0.186 eV/atom\n",
-      "-----\n",
-      "47) Leave out InP: Ediff_ref = 0.179 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137211\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116788\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.626 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.084800\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.395 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.118\n",
-      "Ediff_predicted(1D) = 0.041 eV/atom\n",
-      "Ediff_predicted(2D) = 0.128 eV/atom\n",
-      "Ediff_predicted(3D) = 0.199 eV/atom\n",
-      "-----\n",
-      "48) Leave out InSb: Ediff_ref = 0.078 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137854\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116919\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.661 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n",
-      "3D:\t0.084251\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.243 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.414 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.114\n",
-      "Ediff_predicted(1D) = 0.010 eV/atom\n",
-      "Ediff_predicted(2D) = 0.071 eV/atom\n",
-      "Ediff_predicted(3D) = 0.169 eV/atom\n",
-      "-----\n",
-      "49) Leave out KBr: Ediff_ref = -0.166 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.138054\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116806\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.697 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n",
-      "3D:\t0.084803\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.392 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = -0.174 eV/atom\n",
-      "Ediff_predicted(2D) = -0.214 eV/atom\n",
-      "Ediff_predicted(3D) = -0.185 eV/atom\n",
-      "-----\n",
-      "50) Leave out KCl: Ediff_ref = -0.164 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.138056\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n",
-      "2D:\t0.116837\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.700 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n",
-      "3D:\t0.084799\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.393 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = -0.162 eV/atom\n",
-      "Ediff_predicted(2D) = -0.205 eV/atom\n",
-      "Ediff_predicted(3D) = -0.184 eV/atom\n",
-      "-----\n",
-      "51) Leave out KF: Ediff_ref = -0.146 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.138001\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n",
-      "2D:\t0.116920\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.659 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n",
-      "3D:\t0.084827\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.391 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = -0.111 eV/atom\n",
-      "Ediff_predicted(2D) = -0.140 eV/atom\n",
-      "Ediff_predicted(3D) = -0.147 eV/atom\n",
-      "-----\n",
-      "52) Leave out KI: Ediff_ref = -0.167 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.138038\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116788\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.687 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.084820\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.391 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = -0.187 eV/atom\n",
-      "Ediff_predicted(2D) = -0.218 eV/atom\n",
-      "Ediff_predicted(3D) = -0.177 eV/atom\n",
-      "-----\n",
-      "53) Leave out LiBr: Ediff_ref = -0.033 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137936\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116885\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.693 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n",
-      "3D:\t0.084691\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.394 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = -0.085 eV/atom\n",
-      "Ediff_predicted(2D) = -0.006 eV/atom\n",
-      "Ediff_predicted(3D) = -0.076 eV/atom\n",
-      "-----\n",
-      "54) Leave out LiCl: Ediff_ref = -0.038 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.138019\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116719\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.728 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.264\n",
-      "3D:\t0.084703\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.397 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = -0.067 eV/atom\n",
-      "Ediff_predicted(2D) = 0.024 eV/atom\n",
-      "Ediff_predicted(3D) = -0.080 eV/atom\n",
-      "-----\n",
-      "55) Leave out LiF: Ediff_ref = -0.059 eV/atom\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "          RMSE            Model\n",
-      "1D:\t0.137844\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.331\n",
-      "2D:\t0.113940\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.889 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.260\n",
-      "3D:\t0.084791\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.383 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = 0.010 eV/atom\n",
-      "Ediff_predicted(2D) = 0.179 eV/atom\n",
-      "Ediff_predicted(3D) = -0.037 eV/atom\n",
-      "-----\n",
-      "56) Leave out LiI: Ediff_ref = -0.022 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137752\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116903\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.648 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n",
-      "3D:\t0.084732\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.389 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n",
-      "Ediff_predicted(1D) = -0.105 eV/atom\n",
-      "Ediff_predicted(2D) = -0.041 eV/atom\n",
-      "Ediff_predicted(3D) = -0.058 eV/atom\n",
-      "-----\n",
-      "57) Leave out MgO: Ediff_ref = -0.232 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.134610\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n",
-      "2D:\t0.109662\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.829 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.259\n",
-      "3D:\t0.075564\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 10.905 |r_s(B)-r_p(B)|/exp(r_p(B)+r_d(A)) - 1.578 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.046\n",
-      "Ediff_predicted(1D) = 0.045 eV/atom\n",
-      "Ediff_predicted(2D) = 0.135 eV/atom\n",
-      "Ediff_predicted(3D) = -0.023 eV/atom\n",
-      "-----\n",
-      "58) Leave out MgS: Ediff_ref = -0.087 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137906\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n",
-      "2D:\t0.116486\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.732 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.263\n",
-      "3D:\t0.084479\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.243 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.390 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n",
-      "Ediff_predicted(1D) = -0.028 eV/atom\n",
-      "Ediff_predicted(2D) = 0.005 eV/atom\n",
-      "Ediff_predicted(3D) = -0.017 eV/atom\n",
-      "-----\n",
-      "59) Leave out MgSe: Ediff_ref = -0.055 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.138048\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n",
-      "2D:\t0.116843\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.697 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n",
-      "3D:\t0.084638\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.243 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.394 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n",
-      "Ediff_predicted(1D) = -0.042 eV/atom\n",
-      "Ediff_predicted(2D) = -0.016 eV/atom\n",
-      "Ediff_predicted(3D) = -0.004 eV/atom\n",
-      "-----\n",
-      "60) Leave out MgTe: Ediff_ref = -0.005 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137924\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116850\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.634 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.084713\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.399 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n",
-      "Ediff_predicted(1D) = -0.059 eV/atom\n",
-      "Ediff_predicted(2D) = -0.042 eV/atom\n",
-      "Ediff_predicted(3D) = 0.036 eV/atom\n",
-      "-----\n",
-      "61) Leave out NaBr: Ediff_ref = -0.126 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137892\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116912\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.681 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n",
-      "3D:\t0.084611\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.239 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.395 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n",
-      "Ediff_predicted(1D) = -0.188 eV/atom\n",
-      "Ediff_predicted(2D) = -0.112 eV/atom\n",
-      "Ediff_predicted(3D) = -0.182 eV/atom\n",
-      "-----\n",
-      "62) Leave out NaCl: Ediff_ref = -0.133 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137971\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116844\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.706 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.264\n",
-      "3D:\t0.084552\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.239 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.399 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.119\n",
-      "Ediff_predicted(1D) = -0.177 eV/atom\n",
-      "Ediff_predicted(2D) = -0.094 eV/atom\n",
-      "Ediff_predicted(3D) = -0.195 eV/atom\n",
-      "-----\n",
-      "63) Leave out NaF: Ediff_ref = -0.146 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.138047\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n",
-      "2D:\t0.115855\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.806 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.262\n",
-      "3D:\t0.084549\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.239 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.412 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n",
-      "Ediff_predicted(1D) = -0.131 eV/atom\n",
-      "Ediff_predicted(2D) = -0.002 eV/atom\n",
-      "Ediff_predicted(3D) = -0.209 eV/atom\n",
-      "-----\n",
-      "64) Leave out NaI: Ediff_ref = -0.115 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137742\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116905\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.649 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n",
-      "3D:\t0.084726\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.390 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n",
-      "Ediff_predicted(1D) = -0.199 eV/atom\n",
-      "Ediff_predicted(2D) = -0.133 eV/atom\n",
-      "Ediff_predicted(3D) = -0.153 eV/atom\n",
-      "-----\n",
-      "65) Leave out RbBr: Ediff_ref = -0.164 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137783\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116773\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.651 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.084422\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.394 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n",
-      "Ediff_predicted(1D) = -0.243 eV/atom\n",
-      "Ediff_predicted(2D) = -0.217 eV/atom\n",
-      "Ediff_predicted(3D) = -0.239 eV/atom\n",
-      "-----\n",
-      "66) Leave out RbCl: Ediff_ref = -0.161 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137807\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116794\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.655 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.084312\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.239 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.398 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n",
-      "Ediff_predicted(1D) = -0.236 eV/atom\n",
-      "Ediff_predicted(2D) = -0.210 eV/atom\n",
-      "Ediff_predicted(3D) = -0.246 eV/atom\n",
-      "-----\n",
-      "67) Leave out RbF: Ediff_ref = -0.136 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137839\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.099667\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.510 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.144\n",
-      "3D:\t0.075979\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.784 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.974 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.006\n",
-      "Ediff_predicted(1D) = -0.206 eV/atom\n",
-      "Ediff_predicted(2D) = -0.275 eV/atom\n",
-      "Ediff_predicted(3D) = -0.244 eV/atom\n",
-      "-----\n",
-      "68) Leave out RbI: Ediff_ref = -0.167 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137753\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.116758\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.644 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.267\n",
-      "3D:\t0.084594\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.390 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.120\n",
-      "Ediff_predicted(1D) = -0.250 eV/atom\n",
-      "Ediff_predicted(2D) = -0.224 eV/atom\n",
-      "Ediff_predicted(3D) = -0.224 eV/atom\n",
-      "-----\n",
-      "69) Leave out Si2: Ediff_ref = 0.279 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137896\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n",
-      "2D:\t0.116916\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.668 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.266\n",
-      "3D:\t0.084460\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.241 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.400 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n",
-      "Ediff_predicted(1D) = 0.340 eV/atom\n",
-      "Ediff_predicted(2D) = 0.290 eV/atom\n",
-      "Ediff_predicted(3D) = 0.351 eV/atom\n",
-      "-----\n",
-      "70) Leave out SiC: Ediff_ref = 0.669 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.136280\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116073\t+ 0.116 |IP(B)-EA(B)|/r_p(A)^2 - 6.732 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n",
-      "3D:\t0.083995\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 0.273 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 0.630 |r_s(A)-r_p(B)|/r_s(A)^2 - 0.138\n",
-      "Ediff_predicted(1D) = 0.468 eV/atom\n",
-      "Ediff_predicted(2D) = 0.540 eV/atom\n",
-      "Ediff_predicted(3D) = 0.538 eV/atom\n",
-      "-----\n",
-      "71) Leave out Sn2: Ediff_ref = 0.017 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137738\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.331\n",
-      "2D:\t0.116824\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.671 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n",
-      "3D:\t0.084230\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.397 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.116\n",
-      "Ediff_predicted(1D) = 0.102 eV/atom\n",
-      "Ediff_predicted(2D) = 0.060 eV/atom\n",
-      "Ediff_predicted(3D) = 0.108 eV/atom\n",
-      "-----\n",
-      "72) Leave out SnC: Ediff_ref = 0.454 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.135518\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.335\n",
-      "2D:\t0.098696\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.499 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.144\n",
-      "3D:\t0.075498\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.772 |r_s(A)-r_p(B)|/exp(r_s(A)) - 4.861 |r_s(B)-r_p(B)|/(r_s(B)+r_d(A))^2 - 0.014\n",
-      "Ediff_predicted(1D) = 0.215 eV/atom\n",
-      "Ediff_predicted(2D) = 0.266 eV/atom\n",
-      "Ediff_predicted(3D) = 0.319 eV/atom\n",
-      "-----\n",
-      "73) Leave out SnGe: Ediff_ref = 0.082 eV/atom\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "          RMSE            Model\n",
-      "1D:\t0.138000\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.332\n",
-      "2D:\t0.099521\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.520 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.138\n",
-      "3D:\t0.075882\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.791 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.965 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.001\n",
-      "Ediff_predicted(1D) = 0.117 eV/atom\n",
-      "Ediff_predicted(2D) = 0.230 eV/atom\n",
-      "Ediff_predicted(3D) = 0.196 eV/atom\n",
-      "-----\n",
-      "74) Leave out SnSi: Ediff_ref = 0.135 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.138049\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.333\n",
-      "2D:\t0.116895\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.684 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n",
-      "3D:\t0.083711\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.242 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.426 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.112\n",
-      "Ediff_predicted(1D) = 0.123 eV/atom\n",
-      "Ediff_predicted(2D) = 0.158 eV/atom\n",
-      "Ediff_predicted(3D) = 0.261 eV/atom\n",
-      "-----\n",
-      "75) Leave out SrO: Ediff_ref = -0.220 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137775\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.331\n",
-      "2D:\t0.116846\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.752 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.265\n",
-      "3D:\t0.084496\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.245 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.407 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.117\n",
-      "Ediff_predicted(1D) = -0.140 eV/atom\n",
-      "Ediff_predicted(2D) = -0.260 eV/atom\n",
-      "Ediff_predicted(3D) = -0.289 eV/atom\n",
-      "-----\n",
-      "76) Leave out SrS: Ediff_ref = -0.368 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.136449\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n",
-      "2D:\t0.099449\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.471 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.143\n",
-      "3D:\t0.076349\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.755 |r_s(A)-r_p(B)|/exp(r_s(A)) - 4.883 |r_s(B)-r_p(B)|/(r_s(B)+r_d(A))^2 - 0.013\n",
-      "Ediff_predicted(1D) = -0.178 eV/atom\n",
-      "Ediff_predicted(2D) = -0.217 eV/atom\n",
-      "Ediff_predicted(3D) = -0.282 eV/atom\n",
-      "-----\n",
-      "77) Leave out SrSe: Ediff_ref = -0.375 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.136468\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n",
-      "2D:\t0.099160\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.477 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.142\n",
-      "3D:\t0.076598\t+ 0.109 |IP(B)-EA(B)|/r_p(A)^2 - 1.758 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.918 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.007\n",
-      "Ediff_predicted(1D) = -0.185 eV/atom\n",
-      "Ediff_predicted(2D) = -0.208 eV/atom\n",
-      "Ediff_predicted(3D) = -0.312 eV/atom\n",
-      "-----\n",
-      "78) Leave out SrTe: Ediff_ref = -0.379 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.136542\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.329\n",
-      "2D:\t0.098501\t+ 0.114 |IP(B)-EA(B)|/r_p(A)^2 - 1.491 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.139\n",
-      "3D:\t0.076443\t+ 0.108 |IP(B)-EA(B)|/r_p(A)^2 - 1.761 |r_s(A)-r_p(B)|/exp(r_s(A)) - 5.870 |r_s(B)-r_p(B)|/(r_p(B)+r_d(A))^2 - 0.007\n",
-      "Ediff_predicted(1D) = -0.194 eV/atom\n",
-      "Ediff_predicted(2D) = -0.183 eV/atom\n",
-      "Ediff_predicted(3D) = -0.302 eV/atom\n",
-      "-----\n",
-      "79) Leave out ZnO: Ediff_ref = 0.102 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.135541\t- 0.220 (IP(A)+IP(B))/(r_s(A)+r_p(A))^2 - 0.421\n",
-      "2D:\t0.105326\t+ 0.121 |IP(B)-EA(B)|/r_p(A)^2 - 0.632 |r_s(A)-r_p(B)|/r_s(A)^2 - 0.181\n",
-      "3D:\t0.084351\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 0.706 |r_s(A)-r_p(B)|/r_s(A)^2 - 10.702 |r_s(B)-r_p(B)|/exp(r_p(B)+r_d(A)) - 0.080\n",
-      "Ediff_predicted(1D) = 0.412 eV/atom\n",
-      "Ediff_predicted(2D) = 0.145 eV/atom\n",
-      "Ediff_predicted(3D) = 0.161 eV/atom\n",
-      "-----\n",
-      "80) Leave out ZnS: Ediff_ref = 0.276 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137564\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.115797\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.602 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.268\n",
-      "3D:\t0.084100\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.239 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.380 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.122\n",
-      "Ediff_predicted(1D) = 0.170 eV/atom\n",
-      "Ediff_predicted(2D) = 0.129 eV/atom\n",
-      "Ediff_predicted(3D) = 0.175 eV/atom\n",
-      "-----\n",
-      "81) Leave out ZnSe: Ediff_ref = 0.263 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137497\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.115647\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.565 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.269\n",
-      "3D:\t0.084403\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.375 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.122\n",
-      "Ediff_predicted(1D) = 0.151 eV/atom\n",
-      "Ediff_predicted(2D) = 0.107 eV/atom\n",
-      "Ediff_predicted(3D) = 0.186 eV/atom\n",
-      "-----\n",
-      "82) Leave out ZnTe: Ediff_ref = 0.245 eV/atom\n",
-      "          RMSE            Model\n",
-      "1D:\t0.137428\t- 0.055 (IP(A)+IP(B))/r_p(A)^2 - 0.334\n",
-      "2D:\t0.115402\t+ 0.117 |IP(B)-EA(B)|/r_p(A)^2 - 6.517 |r_s(A)-r_p(B)|/exp(r_p(A)+r_d(A)) - 0.270\n",
-      "3D:\t0.084615\t+ 0.112 |IP(B)-EA(B)|/r_p(A)^2 - 0.240 (r_p(B)+r_d(A))/exp(r_d(A)^2) - 1.374 |r_s(A)-r_p(B)|/exp(r_s(A)) - 0.122\n",
-      "Ediff_predicted(1D) = 0.126 eV/atom\n",
-      "Ediff_predicted(2D) = 0.074 eV/atom\n",
-      "Ediff_predicted(3D) = 0.190 eV/atom\n",
-      "-----\n"
-     ]
-    }
-   ],
-   "source": [
-    "# Leave-one-out cross-validation\n",
-    "n_compounds = len(P)\n",
-    "dimensions = range(1, 4)\n",
-    "features_count = [[] for i in range(3)]\n",
-    "P_predict = np.empty([len(dimensions), n_compounds])\n",
-    "\n",
-    "sisso = SissoRegressor(n_nonzero_coefs=3, n_features_per_sis_iter=10)\n",
-    "loo = LeaveOneOut()\n",
-    "\n",
-    "for indices_train, index_test in loo.split(P):\n",
-    "    i_cv = index_test[0]\n",
-    "    print('%2s) Leave out %s: Ediff_ref = %.3f eV/atom' \n",
-    "          % (index_test[0]+1, chemical_formulas[i_cv], P[i_cv]))\n",
-    "        \n",
-    "    sisso.fit(D[indices_train], P[indices_train])\n",
-    "    sisso.print_models(features_list)    \n",
-    "    \n",
-    "    for dim in dimensions:      \n",
-    "        features = [features_list[i] for i in sisso.l0_selected_indices[dim - 1]]\n",
-    "        predicted_value = sisso.predict(D[index_test], dim=dim)[0]\n",
-    "        \n",
-    "        features_count[dim-1].append( tuple(features) )        \n",
-    "        P_predict[dim-1, i_cv] = predicted_value\n",
-    "        \n",
-    "        print('Ediff_predicted(%sD) = %.3f eV/atom' %(dim, predicted_value))\n",
-    "    print('-----')"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 21,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAELCAYAAADOeWEXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3XlcVPX6wPHPFxQN10JNEwEtb5Lgkmh6K7XMLMv0lt3sTrl1wa3Sui0m5XKTn5Vd0zYNS7OcrmVpZS6ZpFleyz1R0bICNC0NFVNUtuf3xxmQZQZmZBmW5/16zWuYc87MPIdRnvku5/kaEUEppZRyl4+3A1BKKVW5aOJQSinlEU0cSimlPKKJQymllEc0cSillPKIJg6llFIe0cShlFLKI5o4lFJKeUQTh1JKKY/U8HYAZaFRo0YSEhLi7TCUUqpS2bp16x8i0ri446pk4ggJCWHLli3eDkMppSoVY0ySO8dpV5VSSimPaOJQSinlEU0cSimlPFIlxzicycjI4ODBg5w9e9bboShVrNq1axMYGEjNmjW9HYpShVSbxHHw4EHq1atHSEgIxhhvh6OUSyJCSkoKBw8epGXLlt4OR6lCqk1X1dmzZwkICNCkoSo8YwwBAQHaOlYVVrVJHIAmDVVp6L9VVZFVq8ShlFJVzaZNm/jggw/K9T01cZSj4cOH06RJE8LCwvJtHzp0KC1btqR9+/b85S9/YfDgwfz666/Fvl7O8zp06ED79u2Ji4vL3dezZ0+CgoLIu6b8gAEDqFu3LgDZ2dk8/PDDhIWFER4eTufOnfnll18A6wLK8PBwOnToQIcOHXj44YdLfO6rVq3iyiuv5IorruC5555zeszevXvp1q0btWrV4sUXX8y3b9asWYSFhdG2bVtmzpyZu/3YsWP07t2b1q1b07t3b44fP+52TD179uTzzz/Pt23mzJmMHj069/Ett9xS5Gfx9ttvc+jQIbffU6nS8ueffzJ27Fi6du3KpEmTyMrKKr83F5Eqd+vUqZMUtGfPnkLbyttXX30lW7dulbZt2+bbPmTIEFm8eLGIiGRnZ8uMGTOkdevWcu7cuSJfL+/zvvzyS7niiity9/Xo0UPCw8Pl66+/FhGR48ePS5cuXaROnToiIvLee+/JXXfdJVlZWSIicuDAATl27JiIiAQHB8vRo0dL4YwtmZmZ0qpVK/npp5/k3Llz0q5dO9m9e3eh437//XfZtGmTTJgwQaZPn567PT4+Xtq2bSunT5+WjIwM6dWrl/zwww8iIvL444/LtGnTRERk2rRp8sQTT7gd15w5c2To0KH5tl1zzTWyfv16ERFJS0uTzp07F/kaPXr0kM2bN7v9np6oCP9mVcX06aefSmBgoBhjZMyYMXLixIlSeV1gi7jxN1ZbHC7Y7RASAj4+1r3dXvLX7N69O5dcckmRxxhjeOSRR2jatCkrV650+7W7detW6JvxoEGDWLRoEQBLlizhzjvvzN13+PBhmjVrho+P9U8gMDCQiy++2O3388SmTZu44ooraNWqFX5+fgwaNIhPPvmk0HFNmjShc+fOhaagJiQk0LVrV/z9/alRowY9evRg6dKlAHzyyScMGTIEgCFDhvDxxx87jWH69Ol07tyZdu3aMWnSJAAGDhzIZ599xrlz5wBITEzk0KFDXHfddQCsW7eOnj17AvDvf/+bzp07ExYWRlRUFCLChx9+yJYtW7DZbHTo0IEzZ84QFxdHx44dCQ8PZ/jw4bmvHRISwoQJE+jWrRsRERFs27aNPn36cPnllzNnzpwS/oZVdXH48GHuvvtu7rjjDho2bMiGDRt49dVXadCgQbnGoYnDCbsdoqIgKQlErPuoqNJJHu66+uqr2bt3r9vHr1q1igEDBuTb1qtXL9avX09WVhaLFi3innvuyd3397//nWXLltGhQwf+9a9/sX379nzPveGGG3K7ql566aVC72e323P3570NHDiw0LG//vorLVq0yH0cGBjoVldcjrCwMNavX09KSgppaWmsWLGCAwcOAPD777/TrFkzAJo1a8aRI0cKPX/16tX8+OOPbNq0iR07drB161bWr19PQEAAXbp0YdWqVQC5v6OcgemVK1dyyy23APDggw+yefNmdu3axZkzZ/jss88YOHAgERER2O12duzYgTGGoUOH8v777xMfH09mZiazZ8/OjaNFixZs3LiR66+/nqFDh/Lhhx/y7bffMnHiRLd/F6p6ys7OZs6cOYSGhrJs2TJiYmLYunUr3bp180o81eY6Dk9ER0NaWv5taWnWdputfGKQPGMTRXn88cd54oknOHLkCN9++22+fb6+vlx33XW8//77nDlzhrwVgwMDA9m3bx9ffvklX375Jb169WLx4sX06tUL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Fy6rfvLkSdavX59bX8rPzy+3mR8aGsqVV15ZbAxaVl2Vh3PnzjFlyhTat2/Prl27eOutt1i7dq1b/0YrE00czpRxXfXExES2b9/ONddc4/IYLat+3s8//0zjxo0ZNmwYHTt25J///CenT592+/laVl2Vh6+//poOHTowefJk7rrrLhISEhg+fHilmzHlDk0czhRVV72ETp06xV133cXMmTOpX7++y+PEzRnHjz/+OK1ateK+++5jwoQJ+fa5U1Z92rRp+Pj40KtXr3xjJGvXrs0tXPjII48Uel9Pihw6OxdP/jNlZmaybds2Ro0axfbt26lTp47LcRJn8pZVz0nIP/74I0BuWXWwEkfeQocbNmzIbX2sXbuWa665hvDwcL788kt2795d6H2clVVfv3597v68ZdWvueYa6tWrR+PGjXPLqqvK6fjx40RFRdG9e3fOnj3LypUree+997j00ku9HVqZ8fZ1HBVTGdVVz8jI4K677sJms+XrNnJm+/btuWtjFGX69OnceeedvPzyywwZMoStW7fm2z9o0CD+9re/MXny5ELPzSmrfuutt3LppZfy8ccfu/WeYLU4pk+fXmj7FVdcUSh5lLSsemBgIIGBgbkttIEDB3qUOESssuojRowotG/AgAE8+uijbpVV37JlCy1atGDy5MlaVl0hIixevJiHH36Yo0eP8thjjzF58mTq1Knj7dDKnLY4nCmDuuoiwgMPPEBoaCiPPvpokcdpWfX8mjZtSosWLdi3bx8AcXFxXHWVs+r7zmlZdVXakpKS6NevH/fccw+BgYFs3ryZ6dOnV4ukAeisKqfKoK76119/LYCEh4fnlitfvny5iGhZdXfKqm/fvl06deok4eHh0r9//9wZYEuWLJHmzZuLn5+fNGnSRG6++Wan769l1VVpyMzMlJdeeknq1Kkj/v7+MmPGDMnIyPB2WKWGylZWvTRvpTIdt4LUVdey6uVPy6orZ7Zt2yYRERECSN++fSUxMdHbIZU6dxOHjnG4YrOV3wLjRahfvz6LFy/2dhjVSq1atTy+mFBVXadPn2bKlCnMmDGDRo0a8f7773P33XdXydlS7tLEoZRSLnz++eeMHDmSxMREIiMjef7558vseqfKRAfHlVKqgCNHjmCz2bjllluoVasWX331FbGxsZo0HDRxKKWUg4gwf/582rRpw+LFi5k0aRLf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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "#Plot Prediction errors\n",
-    "prediction_errors = np.linalg.norm(P-P_predict, axis=1)/np.sqrt(n_compounds)\n",
-    "for dim in dimensions:\n",
-    "    predict = P_predict[dim-1]\n",
-    "    if dim == 1:\n",
-    "        maxi = max(max(P), max(predict))\n",
-    "        mini = min(min(P), min(predict))\n",
-    "        plt.plot([maxi,mini], [maxi,mini], 'k')\n",
-    "    plt.scatter(P, predict, color=['b','r', 'g'][dim-1], label='%sD, RMSE = %.3f eV/atom' %(dim, prediction_errors[dim-1]))\n",
-    "plt.legend(loc='best')\n",
-    "plt.xlabel('E_diff_DFT'), plt.ylabel('E_diff_predicted')\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 22,
-   "metadata": {
-    "pycharm": {},
-    "scrolled": true
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Descriptor selection frequency\n",
-      "-----------------\n",
-      "1D:\n",
-      "                             Features  Frequency\n",
-      "0           ((IP(A)+IP(B))/r_p(A)^2,)         75\n",
-      "1  ((IP(A)+IP(B))/(r_s(A)+r_p(A))^2,)          3\n",
-      "2           ((IP(B)+EA(A))/r_p(A)^2,)          2\n",
-      "3      (|IP(B)-EA(B)|/exp(r_p(A)^2),)          1\n",
-      "4              (IP(B)/exp(r_p(A)^2),)          1\n",
-      "-----------------\n",
-      "2D:\n",
-      "                                            Features  Frequency\n",
-      "0  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...         60\n",
-      "1  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...         17\n",
-      "2  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/r_s(A...          3\n",
-      "3  ((IP(A)+IP(B))/r_p(A)^2, (r_s(B)+r_d(A))/exp(r...          1\n",
-      "4  (|IP(B)-EA(B)|/exp(r_p(A)^2), r_d(A)/exp(r_d(A...          1\n",
-      "-----------------\n",
-      "3D:\n",
-      "                                            Features  Frequency\n",
-      "0  (|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...         54\n",
-      "1  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...         11\n",
-      "2  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...          6\n",
-      "3  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(B)-r_p(B)|/exp(r...          5\n",
-      "4  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/r_s(A...          2\n",
-      "5  (|IP(B)-EA(B)|/exp(r_p(A)^2), |r_s(A)-r_p(B)|/...          1\n",
-      "6  (|IP(B)-EA(B)|/exp(r_p(A)^2), |r_s(B)-r_p(B)|/...          1\n",
-      "7  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(B)-r_p(B)|/exp(r...          1\n",
-      "8  (|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...          1\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<div>\n",
-       "<style scoped>\n",
-       "    .dataframe tbody tr th:only-of-type {\n",
-       "        vertical-align: middle;\n",
-       "    }\n",
-       "\n",
-       "    .dataframe tbody tr th {\n",
-       "        vertical-align: top;\n",
-       "    }\n",
-       "\n",
-       "    .dataframe thead th {\n",
-       "        text-align: right;\n",
-       "    }\n",
-       "</style>\n",
-       "<table border=\"1\" class=\"dataframe\">\n",
-       "  <thead>\n",
-       "    <tr style=\"text-align: right;\">\n",
-       "      <th></th>\n",
-       "      <th></th>\n",
-       "      <th>P_ref[eV]</th>\n",
-       "      <th>P_pred[eV]</th>\n",
-       "      <th>abs. error [eV]</th>\n",
-       "      <th>Selected features</th>\n",
-       "    </tr>\n",
-       "  </thead>\n",
-       "  <tbody>\n",
-       "    <tr>\n",
-       "      <th rowspan=\"3\" valign=\"top\">C2</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>2.628604</td>\n",
-       "      <td>1.676269</td>\n",
-       "      <td>0.952334</td>\n",
-       "      <td>(IP(B)/exp(r_p(A)^2),)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>2D</th>\n",
-       "      <td>2.628604</td>\n",
-       "      <td>1.731698</td>\n",
-       "      <td>0.896906</td>\n",
-       "      <td>(|IP(B)-EA(B)|/exp(r_p(A)^2), r_d(A)/exp(r_d(A...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>3D</th>\n",
-       "      <td>2.628604</td>\n",
-       "      <td>2.066737</td>\n",
-       "      <td>0.561866</td>\n",
-       "      <td>(|IP(B)-EA(B)|/exp(r_p(A)^2), |r_s(B)-r_p(B)|/...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th rowspan=\"2\" valign=\"top\">BSb</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>0.580849</td>\n",
-       "      <td>1.032785</td>\n",
-       "      <td>0.451936</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>2D</th>\n",
-       "      <td>0.580849</td>\n",
-       "      <td>1.020137</td>\n",
-       "      <td>0.439288</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2, (r_s(B)+r_d(A))/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BN</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>1.712080</td>\n",
-       "      <td>1.303595</td>\n",
-       "      <td>0.408486</td>\n",
-       "      <td>((IP(A)+IP(B))/(r_s(A)+r_p(A))^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>GeC</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>0.811443</td>\n",
-       "      <td>0.416057</td>\n",
-       "      <td>0.395386</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CuF</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>-0.017022</td>\n",
-       "      <td>0.374862</td>\n",
-       "      <td>0.391884</td>\n",
-       "      <td>((IP(B)+EA(A))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AgF</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>-0.153758</td>\n",
-       "      <td>0.223003</td>\n",
-       "      <td>0.376760</td>\n",
-       "      <td>((IP(B)+EA(A))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>MgO</th>\n",
-       "      <th>2D</th>\n",
-       "      <td>-0.232275</td>\n",
-       "      <td>0.135412</td>\n",
-       "      <td>0.367686</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AlN</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>0.072949</td>\n",
-       "      <td>0.386358</td>\n",
-       "      <td>0.313409</td>\n",
-       "      <td>(|IP(B)-EA(B)|/exp(r_p(A)^2),)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CdO</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>-0.084161</td>\n",
-       "      <td>0.228227</td>\n",
-       "      <td>0.312389</td>\n",
-       "      <td>((IP(A)+IP(B))/(r_s(A)+r_p(A))^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>ZnO</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>0.101968</td>\n",
-       "      <td>0.412408</td>\n",
-       "      <td>0.310440</td>\n",
-       "      <td>((IP(A)+IP(B))/(r_s(A)+r_p(A))^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>GeC</th>\n",
-       "      <th>2D</th>\n",
-       "      <td>0.811443</td>\n",
-       "      <td>0.524250</td>\n",
-       "      <td>0.287193</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>MgO</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>-0.232275</td>\n",
-       "      <td>0.045352</td>\n",
-       "      <td>0.277627</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>LiF</th>\n",
-       "      <th>2D</th>\n",
-       "      <td>-0.059488</td>\n",
-       "      <td>0.179284</td>\n",
-       "      <td>0.238773</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SnC</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>0.453538</td>\n",
-       "      <td>0.214814</td>\n",
-       "      <td>0.238724</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>GeC</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>0.811443</td>\n",
-       "      <td>0.577123</td>\n",
-       "      <td>0.234320</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CaS</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>-0.369133</td>\n",
-       "      <td>-0.141738</td>\n",
-       "      <td>0.227396</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CaO</th>\n",
-       "      <th>2D</th>\n",
-       "      <td>-0.265219</td>\n",
-       "      <td>-0.477739</td>\n",
-       "      <td>0.212520</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CaSe</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>-0.360798</td>\n",
-       "      <td>-0.150673</td>\n",
-       "      <td>0.210125</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>MgO</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>-0.232275</td>\n",
-       "      <td>-0.022994</td>\n",
-       "      <td>0.209281</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(B)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BAs</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>0.874978</td>\n",
-       "      <td>1.081913</td>\n",
-       "      <td>0.206935</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CaTe</th>\n",
-       "      <th>2D</th>\n",
-       "      <td>-0.350456</td>\n",
-       "      <td>-0.146018</td>\n",
-       "      <td>0.204438</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SiC</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>0.669024</td>\n",
-       "      <td>0.468195</td>\n",
-       "      <td>0.200829</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AlN</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>0.072949</td>\n",
-       "      <td>0.271436</td>\n",
-       "      <td>0.198487</td>\n",
-       "      <td>(|IP(B)-EA(B)|/exp(r_p(A)^2), |r_s(A)-r_p(B)|/...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>GaP</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>0.348752</td>\n",
-       "      <td>0.151172</td>\n",
-       "      <td>0.197580</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SrTe</th>\n",
-       "      <th>2D</th>\n",
-       "      <td>-0.379295</td>\n",
-       "      <td>-0.183340</td>\n",
-       "      <td>0.195955</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SrS</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>-0.368434</td>\n",
-       "      <td>-0.177673</td>\n",
-       "      <td>0.190761</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SrSe</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>-0.374511</td>\n",
-       "      <td>-0.184851</td>\n",
-       "      <td>0.189660</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>...</th>\n",
-       "      <th>...</th>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "      <td>...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BAs</th>\n",
-       "      <th>2D</th>\n",
-       "      <td>0.874978</td>\n",
-       "      <td>0.896316</td>\n",
-       "      <td>0.021338</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>KI</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>-0.167039</td>\n",
-       "      <td>-0.187306</td>\n",
-       "      <td>0.020267</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>KCl</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>-0.164461</td>\n",
-       "      <td>-0.184098</td>\n",
-       "      <td>0.019637</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>InP</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>0.179193</td>\n",
-       "      <td>0.198705</td>\n",
-       "      <td>0.019512</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>LiI</th>\n",
-       "      <th>2D</th>\n",
-       "      <td>-0.021661</td>\n",
-       "      <td>-0.041075</td>\n",
-       "      <td>0.019414</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>KBr</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>-0.166176</td>\n",
-       "      <td>-0.184529</td>\n",
-       "      <td>0.018354</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>NaI</th>\n",
-       "      <th>2D</th>\n",
-       "      <td>-0.114838</td>\n",
-       "      <td>-0.133174</td>\n",
-       "      <td>0.018336</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>BP</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>1.019225</td>\n",
-       "      <td>1.037372</td>\n",
-       "      <td>0.018147</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CaS</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>-0.369133</td>\n",
-       "      <td>-0.386639</td>\n",
-       "      <td>0.017506</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>GaP</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>0.348752</td>\n",
-       "      <td>0.366098</td>\n",
-       "      <td>0.017346</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(B)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>InN</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>0.153720</td>\n",
-       "      <td>0.136694</td>\n",
-       "      <td>0.017027</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CdS</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>0.072673</td>\n",
-       "      <td>0.055838</td>\n",
-       "      <td>0.016835</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>GeSi</th>\n",
-       "      <th>2D</th>\n",
-       "      <td>0.263210</td>\n",
-       "      <td>0.279477</td>\n",
-       "      <td>0.016267</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CdS</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>0.072673</td>\n",
-       "      <td>0.057269</td>\n",
-       "      <td>0.015404</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CdSe</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>0.083572</td>\n",
-       "      <td>0.068561</td>\n",
-       "      <td>0.015011</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>NaF</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>-0.145788</td>\n",
-       "      <td>-0.131048</td>\n",
-       "      <td>0.014740</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>NaBr</th>\n",
-       "      <th>2D</th>\n",
-       "      <td>-0.126429</td>\n",
-       "      <td>-0.112226</td>\n",
-       "      <td>0.014203</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>MgSe</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>-0.055302</td>\n",
-       "      <td>-0.041884</td>\n",
-       "      <td>0.013418</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>GaSb</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>0.154625</td>\n",
-       "      <td>0.167960</td>\n",
-       "      <td>0.013334</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>SnSi</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>0.135109</td>\n",
-       "      <td>0.122595</td>\n",
-       "      <td>0.012514</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>Si2</th>\n",
-       "      <th>2D</th>\n",
-       "      <td>0.279166</td>\n",
-       "      <td>0.290125</td>\n",
-       "      <td>0.010959</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>KI</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>-0.167039</td>\n",
-       "      <td>-0.176707</td>\n",
-       "      <td>0.009668</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>KBr</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>-0.166176</td>\n",
-       "      <td>-0.174162</td>\n",
-       "      <td>0.007986</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>InSb</th>\n",
-       "      <th>2D</th>\n",
-       "      <td>0.078060</td>\n",
-       "      <td>0.070525</td>\n",
-       "      <td>0.007535</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>KF</th>\n",
-       "      <th>2D</th>\n",
-       "      <td>-0.146406</td>\n",
-       "      <td>-0.140027</td>\n",
-       "      <td>0.006379</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>CdTe</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>0.114540</td>\n",
-       "      <td>0.109154</td>\n",
-       "      <td>0.005386</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AgI</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>0.036925</td>\n",
-       "      <td>0.032959</td>\n",
-       "      <td>0.003967</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>AlSb</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>0.156869</td>\n",
-       "      <td>0.152981</td>\n",
-       "      <td>0.003888</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, |r_s(B)-r_p(B)|/exp(r...</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>KCl</th>\n",
-       "      <th>1D</th>\n",
-       "      <td>-0.164461</td>\n",
-       "      <td>-0.162369</td>\n",
-       "      <td>0.002091</td>\n",
-       "      <td>((IP(A)+IP(B))/r_p(A)^2,)</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>KF</th>\n",
-       "      <th>3D</th>\n",
-       "      <td>-0.146406</td>\n",
-       "      <td>-0.146812</td>\n",
-       "      <td>0.000406</td>\n",
-       "      <td>(|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...</td>\n",
-       "    </tr>\n",
-       "  </tbody>\n",
-       "</table>\n",
-       "<p>246 rows × 4 columns</p>\n",
-       "</div>"
-      ],
-      "text/plain": [
-       "         P_ref[eV]  P_pred[eV]  abs. error [eV]                                  Selected features\n",
-       "C2   1D   2.628604    1.676269         0.952334                             (IP(B)/exp(r_p(A)^2),)\n",
-       "     2D   2.628604    1.731698         0.896906  (|IP(B)-EA(B)|/exp(r_p(A)^2), r_d(A)/exp(r_d(A...\n",
-       "     3D   2.628604    2.066737         0.561866  (|IP(B)-EA(B)|/exp(r_p(A)^2), |r_s(B)-r_p(B)|/...\n",
-       "BSb  1D   0.580849    1.032785         0.451936                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "     2D   0.580849    1.020137         0.439288  ((IP(A)+IP(B))/r_p(A)^2, (r_s(B)+r_d(A))/exp(r...\n",
-       "BN   1D   1.712080    1.303595         0.408486                 ((IP(A)+IP(B))/(r_s(A)+r_p(A))^2,)\n",
-       "GeC  1D   0.811443    0.416057         0.395386                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "CuF  1D  -0.017022    0.374862         0.391884                          ((IP(B)+EA(A))/r_p(A)^2,)\n",
-       "AgF  1D  -0.153758    0.223003         0.376760                          ((IP(B)+EA(A))/r_p(A)^2,)\n",
-       "MgO  2D  -0.232275    0.135412         0.367686  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "AlN  1D   0.072949    0.386358         0.313409                     (|IP(B)-EA(B)|/exp(r_p(A)^2),)\n",
-       "CdO  1D  -0.084161    0.228227         0.312389                 ((IP(A)+IP(B))/(r_s(A)+r_p(A))^2,)\n",
-       "ZnO  1D   0.101968    0.412408         0.310440                 ((IP(A)+IP(B))/(r_s(A)+r_p(A))^2,)\n",
-       "GeC  2D   0.811443    0.524250         0.287193  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "MgO  1D  -0.232275    0.045352         0.277627                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "LiF  2D  -0.059488    0.179284         0.238773  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "SnC  1D   0.453538    0.214814         0.238724                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "GeC  3D   0.811443    0.577123         0.234320  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "CaS  1D  -0.369133   -0.141738         0.227396                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "CaO  2D  -0.265219   -0.477739         0.212520  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "CaSe 1D  -0.360798   -0.150673         0.210125                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "MgO  3D  -0.232275   -0.022994         0.209281  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(B)-r_p(B)|/exp(r...\n",
-       "BAs  1D   0.874978    1.081913         0.206935                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "CaTe 2D  -0.350456   -0.146018         0.204438  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "SiC  1D   0.669024    0.468195         0.200829                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "AlN  3D   0.072949    0.271436         0.198487  (|IP(B)-EA(B)|/exp(r_p(A)^2), |r_s(A)-r_p(B)|/...\n",
-       "GaP  1D   0.348752    0.151172         0.197580                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "SrTe 2D  -0.379295   -0.183340         0.195955  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "SrS  1D  -0.368434   -0.177673         0.190761                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "SrSe 1D  -0.374511   -0.184851         0.189660                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "...            ...         ...              ...                                                ...\n",
-       "BAs  2D   0.874978    0.896316         0.021338  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "KI   1D  -0.167039   -0.187306         0.020267                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "KCl  3D  -0.164461   -0.184098         0.019637  (|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...\n",
-       "InP  3D   0.179193    0.198705         0.019512  (|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...\n",
-       "LiI  2D  -0.021661   -0.041075         0.019414  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "KBr  3D  -0.166176   -0.184529         0.018354  (|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...\n",
-       "NaI  2D  -0.114838   -0.133174         0.018336  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "BP   3D   1.019225    1.037372         0.018147  (|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...\n",
-       "CaS  3D  -0.369133   -0.386639         0.017506  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "GaP  3D   0.348752    0.366098         0.017346  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(B)-r_p(B)|/exp(r...\n",
-       "InN  1D   0.153720    0.136694         0.017027                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "CdS  3D   0.072673    0.055838         0.016835  (|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...\n",
-       "GeSi 2D   0.263210    0.279477         0.016267  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "CdS  1D   0.072673    0.057269         0.015404                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "CdSe 3D   0.083572    0.068561         0.015011  (|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...\n",
-       "NaF  1D  -0.145788   -0.131048         0.014740                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "NaBr 2D  -0.126429   -0.112226         0.014203  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "MgSe 1D  -0.055302   -0.041884         0.013418                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "GaSb 3D   0.154625    0.167960         0.013334  (|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...\n",
-       "SnSi 1D   0.135109    0.122595         0.012514                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "Si2  2D   0.279166    0.290125         0.010959  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "KI   3D  -0.167039   -0.176707         0.009668  (|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...\n",
-       "KBr  1D  -0.166176   -0.174162         0.007986                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "InSb 2D   0.078060    0.070525         0.007535  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "KF   2D  -0.146406   -0.140027         0.006379  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(A)-r_p(B)|/exp(r...\n",
-       "CdTe 3D   0.114540    0.109154         0.005386  (|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...\n",
-       "AgI  3D   0.036925    0.032959         0.003967  (|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...\n",
-       "AlSb 3D   0.156869    0.152981         0.003888  (|IP(B)-EA(B)|/r_p(A)^2, |r_s(B)-r_p(B)|/exp(r...\n",
-       "KCl  1D  -0.164461   -0.162369         0.002091                          ((IP(A)+IP(B))/r_p(A)^2,)\n",
-       "KF   3D  -0.146406   -0.146812         0.000406  (|IP(B)-EA(B)|/r_p(A)^2, (r_p(B)+r_d(A))/exp(r...\n",
-       "\n",
-       "[246 rows x 4 columns]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# Print descriptor selection frequency\n",
-    "print(\"Descriptor selection frequency\")\n",
-    "for dim in dimensions:    \n",
-    "    df_frequency = pd.DataFrame( Counter(features_count[dim-1]).most_common(10), columns=['Features', 'Frequency'] )\n",
-    "    print('-----------------\\n%sD:\\n%s' % (dim, df_frequency))\n",
-    "\n",
-    "# create table to display errors and models\n",
-    "feat = np.array(features_count).flatten('F')\n",
-    "Pred = np.array(P_predict).flatten('F')\n",
-    "Pred_errors = np.abs(P-P_predict).flatten('F')\n",
-    "Ref_values = [r for p in P for r in [p,p,p] ]\n",
-    "Mats = [m for mat in chemical_formulas for m in [mat, mat, mat] ]\n",
-    "Dims = ['1D','2D','3D'] * n_compounds\n",
-    "\n",
-    "df_loo = pd.DataFrame(zip(Ref_values,Pred,Pred_errors,feat), index = [Mats,Dims],\n",
-    "                  columns=['P_ref[eV]', 'P_pred[eV]', 'abs. error [eV]', 'Selected features'])\n",
-    "\n",
-    "#  if you do not want to sort the data frame by the prediction error comment out the nex line \n",
-    "df_loo = df_loo.sort_values('abs. error [eV]', ascending=False)\n",
-    "pd.set_option('display.expand_frame_repr', False)\n",
-    "\n",
-    "display(df_loo)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "pycharm": {}
-   },
-   "source": [
-    "## Kernel ridge regession\n",
-    "Last but not least, compare the prediction (LOOCV) performance of SISSO to the one of kernel ridge regression with a gaussian kernel:\n",
-    "\n",
-    "$K(x, y) = \\exp(-\\gamma ||x-y||^2)$.\n",
-    "\n",
-    "At each LOOCV step, the hyperparameters ($\\ell_2$-regularization parameter $\\lambda$ and inverse gaussian width $\\gamma$) are selected via a grid search and a so-called 5-fold cross-validation on the training set."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 23,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "No allowed operations selected.\n",
-      "Number of total features generated: 10\n"
-     ]
-    }
-   ],
-   "source": [
-    "selected_feature_list = ['IP', 'EA', 'r_s', 'r_p','r_d']\n",
-    "allowed_operations = []\n",
-    "\n",
-    "P, df_D = get_data(selected_feature_list, allowed_operations)\n",
-    "features_list = df_D.columns.tolist()\n",
-    "D = df_D.values"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 24,
-   "metadata": {
-    "pycharm": {},
-    "scrolled": false
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      " 0 Ediff_ref: -0.030, Ediff_pred: -0.031, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      " 1 Ediff_ref: -0.043, Ediff_pred: -0.018, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      " 2 Ediff_ref: -0.154, Ediff_pred: -0.063, hyperparameters: {'lambda': 0.178, 'gamma':0.056}\n",
-      " 3 Ediff_ref: 0.037, Ediff_pred: 0.012, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      " 4 Ediff_ref: 0.213, Ediff_pred: 0.184, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      " 5 Ediff_ref: 0.073, Ediff_pred: 0.369, hyperparameters: {'lambda': 0.178, 'gamma':0.056}\n",
-      " 6 Ediff_ref: 0.219, Ediff_pred: 0.215, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      " 7 Ediff_ref: 0.157, Ediff_pred: 0.127, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      " 8 Ediff_ref: 0.274, Ediff_pred: 0.245, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      " 9 Ediff_ref: 0.875, Ediff_pred: 0.803, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "10 Ediff_ref: 1.712, Ediff_pred: 0.836, hyperparameters: {'lambda': 0.032, 'gamma':0.010}\n",
-      "11 Ediff_ref: 1.019, Ediff_pred: 0.914, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "12 Ediff_ref: 0.581, Ediff_pred: 0.660, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "13 Ediff_ref: -0.093, Ediff_pred: -0.252, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "14 Ediff_ref: -0.320, Ediff_pred: -0.355, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "15 Ediff_ref: -0.343, Ediff_pred: -0.356, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "16 Ediff_ref: -0.375, Ediff_pred: -0.322, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "17 Ediff_ref: 0.692, Ediff_pred: 0.122, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "18 Ediff_ref: 0.506, Ediff_pred: 0.526, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "19 Ediff_ref: 0.495, Ediff_pred: 0.495, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "20 Ediff_ref: 0.469, Ediff_pred: 0.447, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "21 Ediff_ref: 2.629, Ediff_pred: 1.411, hyperparameters: {'lambda': 0.032, 'gamma':0.010}\n",
-      "22 Ediff_ref: -0.265, Ediff_pred: -0.117, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "23 Ediff_ref: -0.369, Ediff_pred: -0.329, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "24 Ediff_ref: -0.361, Ediff_pred: -0.354, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "25 Ediff_ref: -0.350, Ediff_pred: -0.323, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "26 Ediff_ref: -0.084, Ediff_pred: 0.190, hyperparameters: {'lambda': 0.178, 'gamma':0.010}\n",
-      "27 Ediff_ref: 0.073, Ediff_pred: 0.131, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "28 Ediff_ref: 0.084, Ediff_pred: 0.126, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "29 Ediff_ref: 0.115, Ediff_pred: 0.137, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "30 Ediff_ref: -0.156, Ediff_pred: -0.137, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "31 Ediff_ref: -0.150, Ediff_pred: -0.104, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "32 Ediff_ref: -0.108, Ediff_pred: -0.104, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "33 Ediff_ref: -0.162, Ediff_pred: -0.152, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "34 Ediff_ref: 0.152, Ediff_pred: 0.175, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "35 Ediff_ref: 0.156, Ediff_pred: 0.170, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "36 Ediff_ref: -0.017, Ediff_pred: -0.118, hyperparameters: {'lambda': 0.178, 'gamma':0.056}\n",
-      "37 Ediff_ref: 0.205, Ediff_pred: 0.214, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "38 Ediff_ref: 0.433, Ediff_pred: 0.208, hyperparameters: {'lambda': 0.006, 'gamma':0.056}\n",
-      "39 Ediff_ref: 0.349, Ediff_pred: 0.263, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "40 Ediff_ref: 0.155, Ediff_pred: 0.196, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "41 Ediff_ref: 0.201, Ediff_pred: 0.202, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "42 Ediff_ref: 0.811, Ediff_pred: 0.719, hyperparameters: {'lambda': 0.006, 'gamma':0.056}\n",
-      "43 Ediff_ref: 0.263, Ediff_pred: 0.261, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "44 Ediff_ref: 0.134, Ediff_pred: 0.170, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "45 Ediff_ref: 0.154, Ediff_pred: 0.262, hyperparameters: {'lambda': 0.006, 'gamma':0.010}\n",
-      "46 Ediff_ref: 0.179, Ediff_pred: 0.197, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "47 Ediff_ref: 0.078, Ediff_pred: 0.119, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "48 Ediff_ref: -0.166, Ediff_pred: -0.180, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "49 Ediff_ref: -0.164, Ediff_pred: -0.173, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "50 Ediff_ref: -0.146, Ediff_pred: -0.124, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "51 Ediff_ref: -0.167, Ediff_pred: -0.147, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "52 Ediff_ref: -0.033, Ediff_pred: -0.043, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "53 Ediff_ref: -0.038, Ediff_pred: -0.059, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "54 Ediff_ref: -0.059, Ediff_pred: -0.110, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "55 Ediff_ref: -0.022, Ediff_pred: -0.052, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "56 Ediff_ref: -0.232, Ediff_pred: 0.151, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "57 Ediff_ref: -0.087, Ediff_pred: -0.068, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "58 Ediff_ref: -0.055, Ediff_pred: -0.064, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "59 Ediff_ref: -0.005, Ediff_pred: -0.053, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "60 Ediff_ref: -0.126, Ediff_pred: -0.110, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "61 Ediff_ref: -0.133, Ediff_pred: -0.129, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "62 Ediff_ref: -0.146, Ediff_pred: -0.104, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "63 Ediff_ref: -0.115, Ediff_pred: -0.082, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "64 Ediff_ref: -0.164, Ediff_pred: -0.195, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "65 Ediff_ref: -0.161, Ediff_pred: -0.175, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "66 Ediff_ref: -0.136, Ediff_pred: -0.138, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "67 Ediff_ref: -0.167, Ediff_pred: -0.207, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "68 Ediff_ref: 0.279, Ediff_pred: 0.316, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "69 Ediff_ref: 0.669, Ediff_pred: 0.961, hyperparameters: {'lambda': 0.001, 'gamma':0.056}\n",
-      "70 Ediff_ref: 0.017, Ediff_pred: 0.031, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "71 Ediff_ref: 0.454, Ediff_pred: 0.393, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "72 Ediff_ref: 0.082, Ediff_pred: 0.075, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "73 Ediff_ref: 0.135, Ediff_pred: 0.112, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "74 Ediff_ref: -0.220, Ediff_pred: -0.239, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "75 Ediff_ref: -0.368, Ediff_pred: -0.376, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "76 Ediff_ref: -0.375, Ediff_pred: -0.380, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "77 Ediff_ref: -0.379, Ediff_pred: -0.351, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "78 Ediff_ref: 0.102, Ediff_pred: 0.218, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "79 Ediff_ref: 0.276, Ediff_pred: 0.268, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "80 Ediff_ref: 0.263, Ediff_pred: 0.276, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n",
-      "81 Ediff_ref: 0.245, Ediff_pred: 0.285, hyperparameters: {'lambda': 0.032, 'gamma':0.056}\n"
-     ]
-    }
-   ],
-   "source": [
-    "kr = GridSearchCV(KernelRidge(kernel='rbf'), cv=5,\n",
-    "                  param_grid={\"alpha\": np.logspace(-3, 0, 5),\n",
-    "                              \"gamma\": np.logspace(-2, 1, 5)})\n",
-    "P_predict_kr = []\n",
-    "loo = LeaveOneOut()\n",
-    "for indices_train, index_test in loo.split(P):\n",
-    "    kr.fit(D[indices_train], P[indices_train])\n",
-    "    print(\"%2i Ediff_ref: %.3f, Ediff_pred: %.3f, hyperparameters: {'lambda': %.3f, 'gamma':%.3f}\" \n",
-    "          % (index_test[0], P[index_test], kr.predict(D[index_test]), \n",
-    "          kr.best_params_['alpha'], kr.best_params_['gamma']))\n",
-    "    P_predict_kr.append(kr.predict(D[index_test])[0])\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 25,
-   "metadata": {
-    "pycharm": {}
-   },
-   "outputs": [
-    {
-     "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAELCAYAAADOeWEXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xd4VNXWwOHfTggQigQBUQgIApceEghIVYqAiiDXQtFPxXvpRY1S1YuIKFURRKSI2OgIMfSOUgSkBDBAVDBCCApEElpC2vr+mGRImSQzpEzKep9nnpk5Z8/MOo7Myi5nHSMiKKWUUvZycXYASiml8hdNHEoppRyiiUMppZRDNHEopZRyiCYOpZRSDtHEoZRSyiGaOJRSSjlEE4dSSimHaOJQSinlkCLODiAnlC9fXqpVq+bsMJRSKl85dOjQZRGpkFm7Apk4qlWrxsGDB50dhlJK5SvGmD/taadDVUoppRyiiUMppZRDNHEopZRySIGc47AlNjaW0NBQoqOjnR2KUvlC8eLF8fT0xM3NzdmhqDym0CSO0NBQSpcuTbVq1TDGODscpfI0ESE8PJzQ0FCqV6/u7HBUHlNohqqio6MpV66cJg2l7GCMoVy5ctpDVzYVmsQBaNJQygH670Wlp1AlDqWUKmgOHDjA8uXLc/UzNXHkovfff5/69evj5eWFt7c3+/fvB6Bt27bWExa/+OILGjZsiJeXFw0aNOD7778HYN++fTz44IN4e3tTt25dxo0bZ31ff39/vLy8qFOnDg0bNsTf39/m58+ZM4eGDRvi7e1N69atOXHiBAAhISG4u7vj4+ND3bp1adasGV999VWmx5P0Om9vb+rVq8eLL75IbGwsADt37sQYw4IFC6ztjxw5gjGGadOmZXhMX375JRUqVMDb29t6S4r1Tt26dYuePXtSs2ZNHnzwQUJCQmy2e+utt6hSpQqlSpWy+/Wurq7WOLt162Z3TDt37qRFixYptsXFxVGxYkUuXLgAwE8//US/fv3SfY+QkBAWL15s92eqguPatWu89tprNG/enHHjxhEfH597Hy4iBe7WpEkTSe3EiRNptuWmvXv3SvPmzSU6OlpERC5duiTnz58XEZGHH35Yfv75Zzl37pw88MADEhERISIi165dkzNnzoiIyL/+9S8JDAwUEZG4uDgJCgoSEZHAwECpUaOGtd2ZM2ekRo0acvTo0TQxREZGWh9///330rlzZxER+eOPP6R+/frWfadPn5ZGjRrJF198keExJX9dXFyctGvXTr799lsREdmxY4c0bNhQOnbsaG0/cuRIadSokUydOjXDY1q4cKEMGTIkw8921KeffioDBgwQEZElS5ZIjx49bLb76aefJCwsTEqWLGn361O3tVd8fLx4enrKH3/8Yd22YcMGad++vfX52LFjZeXKlem+x44dO6RLly539Pn2cPa/G2Xb2rVrpUqVKmKMkSFDhqT4t50VwEGx4zdWexzp8D9ynlaTtlN99DpaTdqO/5HzWXq/CxcuUL58eYoVKwZA+fLlqVSpUoo2Fy9epHTp0ta/dkuVKmVd0XLx4kXuu+8+wPIXbr169QCYNm0ab775prVd9erVGTNmDFOnTk0Tw1133WV9fOPGjXTHsB944AE++ugjZs6caffxubq60qxZM86fv/3fqWrVqkRHR/P3338jImzcuJHHHnssxfHaOqac8P333/PSSy8B8Mwzz7Bt2zYs/05Sat68uTWmO3l9ek6fPs2jjz5KkyZNaNOmDadOncLFxYVnn32WZcuWWdstXbqU3r17W59v27aNRx55hJCQENq0aUPjxo1p3Lgxe/fuBWD06NHs2rULb29vpk+fTnR0NC+//DINGzbEx8eHHTt2AJZeXPfu3enatSvVq1dn1qxZfPTRR/j4+NC8eXP++ecfu49FOc9ff/1Fz549eeKJJ7jrrrvYvXs3s2bNSvFvOzdo4rDB/8h5xqw6zvmIKAQ4HxHFmFXHs5Q8OnXqxLlz5/jXv/7F4MGD+eGHH9K0adSoERUrVqR69eq8/PLLrFmzxrrPz8+P2rVr8+9//5u5c+daV7sEBQXRpEmTFO/j6+tLUFCQzTg+/fRTatSowciRIzNMDI0bN+bUqVN2H190dDT79+/n0UcfTbH9mWeeYcWKFezdu5fGjRtbE2dGxwSwbNmyFENVUVFRaT6zTZs2Kdok3bZu3Zqm7fnz56lSpQoARYoUoUyZMoSHh9t9fBm9Pjo6Gl9fX5o3b57uMGH//v355JNPOHToENOmTWPw4MEA9O7dm6VLlwKW4bD169fz9NNPA3D58mXc3NwoU6YM99xzD1u2bOHw4cMsW7aMV155BYBJkybRpk0bAgMD8fPz49NPPwXg+PHjLFmyhJdeesn63/WXX35h8eLFHDhwgLfeeosSJUpw5MgRWrRowddff233fwuV+0SEBQsWULduXfz9/Xnvvfc4fPgwLVu2dEo8heY8DkdM3RRMVGzK8cKo2Himbgqmu0/lO3rPUqVKcejQIXbt2sWOHTvo2bMnkyZNok+fPtY2rq6ubNy4kZ9//plt27bh5+fHoUOHGDduHGPHjuX5559n8+bNLF68mCVLlrBz505EJE3Pwda2JEOGDGHIkCEsXryYCRMmpDuXYe9f06dPn8bb25vffvuNZ555Bi8vrxT7e/ToQc+ePTl16hS9e/e2/qUMpHtMAD179mTWrFkZfvauXbvsijG943Fk1VBGrz979iyVKlXizJkztG/fnoYNG1KjRg1ru+vXr7N3716effZZ67Zbt24B0LRpU65fv05wcDAnT56kefPmlC1bFoDNmzfTqVMnwHIC69ChQwkMDMTV1ZVff/3VZpy7d+9m2LBhANSpU4f777/f2rZdu3aULl2a0qVLU6ZMGbp27QpAw4YNOXbsmN3/LVTu+vXXXxkwYAA7d+7koYceYt68edSuXdupMTm1x2GMqWKM2WGMOWmMCTLGvGqjTVtjTKQxJjDxNjan4wqLSPvXbUbb7eXq6krbtm159913mTVrFt99912aNsYYmjVrxpgxY1i6dGmKNjVq1GDQoEFs27aNo0ePEh4eTv369dNUAj58+HCmwz69evVK969jsExk161bN9NjqlGjBoGBgfz+++/s27ePgICAFPvvvfde3Nzc2LJlCx06dLD5+tTHZC9Hehyenp6cO3cOsExAR0ZGcvfdd9v9WRm9PmnI8YEHHqBt27YcOXIkxWsTEhLw8PAgMDDQejt58qR1f69evVi6dGmaYaoNGzZYe3DTp0+nYsWKHD16lIMHDxITE2MzzowSfvLenouLi/W5i4sLcXFxdv+3ULkjJiaG999/Hy8vL44cOcK8efPYsWOH05MGOH+oKg54Q0TqAs2BIcYYW794u0TEO/E2PqeDquTh7tB2ewQHB/Pbb79ZnwcGBnL//fenaBMWFsbhw4dttlm3bp31R+G3337D1dUVDw8Phg8fzsSJE62rfEJCQvjggw9444030sSQ/PPXrVtHrVq1bMYaEhLC8OHDrX+5HjhwgBdffDHD47vvvvuYNGkSEydOTLNv/PjxTJ48GVdX1xTb0zsme+3atSvFj3HS7ZFHHknTtlu3btbe1cqVK2nfvr1DPY70Xn/lyhVr7+Hy5cvs2bMnTdK+6667qF69OitWrAAsP+5Hjx617u/duzfffvst27dvt67KEhGOHTuGt7c3AJGRkdx33324uLjwzTffWFfQlC5dmmvXrlnf66GHHmLRokWA5S/Vs2fP5okfGuWYffv20aRJE95++226devGyZMn6devHy4uzv7JtnDqUJWIXAAuJD6+Zow5CVQGsrb2MotGdK7NmFXHUwxXubu5MqLznf8DvH79OsOGDSMiIoIiRYpQs2ZN5s2bl6JNbGwsw4cPJywsjOLFi1OhQgXmzJkDwDfffIOfnx8lSpSgSJEiLFq0yLoMdPLkyXTt2pXY2Fjc3NyYMmWK9QcnuVmzZrF161bc3NwoW7ZsimGq06dP4+PjQ3R0NKVLl2bYsGG8/PLLgGUoxt0986TZvXt3xo0bl2YIKb1x2PSOCSxzHLt377a2nT17dpbGc//73//ywgsvULNmTe6++27rvAKAt7c3gYGBAIwcOZLFixdz8+ZNPD096du3L+PGjUv39SdPnmTAgAG4uLiQkJDA6NGjbfb2Fi1axKBBg5gwYQKxsbH06tWLRo0aAVCvXj1KlChBkyZNKFmyJACHDh3Cx8fHmtwGDx7M008/zYoVK2jXrp21nZeXF0WKFKFRo0b06dOHwYMHM3DgQBo2bEiRIkX48ssvU/Q0VN527do13nzzTT799FMqV65MQECAdUgxT7Fn6VVu3IBqwFngrlTb2wLhwFFgA1A/ndf3Bw4CB6tWrZpmmZmjywpXHw6VlhO3SbVRa6XlxG2y+nCoQ68vSIYPH25zea/KOe+9954sWbLE2WHoctxcFBAQIJ6enmKMkWHDhsnVq1dzPQbsXI5rxIElhTnFGFMK+AF4X0RWpdp3F5AgIteNMY8DM0TE9hhLIl9fX0k97n/y5Em7xuyVUrfpv5ucd+HCBV599VVWrFhBgwYNmD9/Ps2bN3dKLMaYQyLim1k7pw+YGWPcgO+ARamTBoCIXBWR64mP1wNuxpjyuRymUkplq4SEBObPn0/dunUJCAjg/fff59ChQ05LGo5w6hyHsQzgLgBOishH6bS5F/hbRMQY0wxLsrN/6Y1SSuUxp06dYsCAAfz444+0bduWuXPn8q9//cvZYdnN2edxtAJeAI4bYwITt70JVAUQkTnAM8AgY0wcEAX0krwwvqaUUg6KiYlh8uTJTJgwgZIlS7JgwQJefvnlfFeJ2NmrqnYDGf4XE5FZQMZngimlVB6XVLAyKCiInj17MmPGDCpWrOjssO6I0+c4lFKqILt69SpDhgyhVatWXL16lbVr17J06dJ8mzRAE0euSl6qe/369dSqVYuzZ88ybtw4KleubC1PvmTJkkzfK3np8Tp16jB9+nTrvnHjxmGM4ffff7dumz59OsaYTMu39+nTh+rVq1vPws6OWjh//PEHDz74ILVq1aJnz57pnvX86KOP4uHhwRNPPJFi+/bt22ncuDENGjTgpZdesp7lPHXqVGucDRo0wNXV1e5ifePGjWPMmDEptgUGBqZYQTRx4kTryXS27Ny5M0UJFaVS8/f3p169enz22We88sornDhxgi5dujg7rKyzZ81ufrvlxbLqIrfLb2/dulUeeOAB+f3330VE5J133rGWGv/111+ldOnSEhMTk+F7JS89fvnyZSlXrpycPXvW+n4NGzaU9957z9q+ZcuWUq9evUzLt7/00kuyYsWKbDxqkWeffdZ6TsKAAQNk9uzZNttt3bpVAgICUpQJTyo9HhwcLCIi//vf/+Tzzz9P89qAgABp166d3TGdOnVKqlevnmLbqFGjZPz48dbnbdu2lYsXL6b7Hsm/t4IqL/y7yY/Onz8vTz31lADi5eUl+/fvd3ZIdkHLqmfRseUwvQGM87DcH8ueK2zt2rWLfv36sW7duhSF8JLUqlWLEiVKcOXKFbvfs1y5ctSsWdN68R+wnMWd1Is4c+YMZcqUoUKFCkDG5duzm4iwfft2nnnmGQBeeumldGtkdejQgdKlS6fYFh4eTrFixawrTjp27GizxteSJUtS1HlKbvPmzbRo0YLGjRvz7LPPcv36dWrXro2Hh4f1YloAy5cvp1evXoBleCEmJoYKFSqwZs0aHnzwQXx8fHjkkUf4+++/CQkJYc6cOUyfPh1vb2927drFn3/+SYcOHfDy8qJDhw6cPXsWsPTiBg0aRLt27XjggQf44Ycf+M9//kPdunVTFLlU+V9CQgJz5syhbt26rF+/nokTJ3Lw4EGaNWvm7NCylSYOW44thzWvQOQ5QCz3a17JcvK4desWTz75JP7+/tSpU8dmm8OHD1OrVi3uueceu9/37NmzREdHp6hMe9ddd1GlShV++eUXlixZQs+ePa37MirfDjBixAjrENDzzz+f5vOCg4NtFhf09vYmIiIiRdvw8HA8PDwoUsSyDsPT0zPFNTsyU758eWJjY61DbCtXrrQWG0xy8+ZNNm7caC1Hntzly5eZMGECW7du5fDhw/j6+vLRR5aV38lLmu/bt49y5cpZ63dt3brVWpSxdevW7Nu3jyNHjtCrVy+mTJlCtWrVGDhwIH5+fgQGBtKmTRuGDh3Kiy++yLFjx3j++eetpc8Brly5wvbt25k+fTpdu3bFz8+PoKAgjh8/bi13ovK3kydP8vDDDzNo0CB8fX05fvw4o0ePxs3NzdmhZTtnL8fNm7aNh9hUlXBjoyzbvXrc8du6ubnRsmVLFixYwIwZM1Lsmz59OvPnz+fMmTNs3LjRrvdbtmwZO3bsIDg4mPnz51O8ePEU+5Oqrm7atIlt27axcOFCIOPy7WCZO0jqIdhSu3Ztu3/sJIvlzI0xLF26FD8/P27dukWnTp2sSSjJmjVraNWqlc1qt/v27ePEiRO0atUKsCyHTLpca69evWjZsiUffvhhmsq0GzdutNbqCg0NpWfPnly4cIGYmJh0e2c//fQTq1ZZzmF94YUXGDlypHVf165dMcbQsGFDKlasSMOGDQGoX78+ISEhNmuLqfzh1q1bTJo0iQ8++ICSJUuycOFCXnrppXy3xNYR2uOwJTLUse12cnFxYfny5fz888988MEHKfb5+fkRHBzMsmXLePHFF1Nc1Cg9PXv2JCgoiF27dvHGG2/w119/pdjftWtXvvnmG6pWrZrmCmEZlW/PjCM9jvLlyxMREWGd0A4NDU1z5cPMtGjRgl27dnHgwAEeeuihNFV9U//oJycidOzY0Vo598SJE9broFepUoVq1arxww8/8N1339Gjx+0/Cg4cOGAdXhg2bBhDhw7l+PHjaS44lZHkPxzJS5inLm+uJc3zr927d+Pj48O4ceN4+umnOXXqFH369CnQSQM0cdhWxtOx7Q4oUaIEa9euZdGiRdYfsOSeeuopfH19rZVrZ82alekFjVq0aMELL7yQphfj7u7O5MmTeeutt1Jsz6h8uz2Sehy2bqnLohtjaNeuHStXrgTgq6++4sknn7T7s8AyJwOWv+wmT57MwIEDrfsiIyP54Ycf0n3P5s2bs2fPHusKs5s3b6a4CFLv3r3x8/OjRo0aeHpavt+goCDq1KljrdQbGRlJ5cqVrfEnSV3SvGXLltahr0WLFtG6dWuHjlPlH5GRkQwaNIg2bdpw8+ZN1q9fz+LFix0aYs7PNHHY0mEsuKUqI+7mbtmeDe6++242btzIhAkTrBPYyY0dO5aPPvqIhIQETp06Rbly5TJ9z1GjRrFw4cIUP2RgGY5p3Lhxim1J5dvr1KmDt7c3y5YtS5F0ks9xeHt7p7t81l6TJ0/mo48+ombNmoSHh/Pf//4XgIMHD9K3b19ruzZt2vDss8+ybds2PD092bRpE2AZOqtbty5eXl507dqV9u3bW1+zevVqOnXqZC0znlqFChX48ssv6d27N15eXjRv3jzFJXGfffZZgoKCrJPikPICSmBZuvvss8/Spk0bype/XSata9eurF692jo5PnPmTBYuXIiXlxfffPNNmkSuCoZVq1ZRt25d5s2bh5+fH7/88guPPfaYs8PKXfYsvcpvt2xZjnt0mchH9UXeKWO5P7rMsddnky5dusitW7ec8tmF1SOPPCJhYWHODiNP0OW4t4WGhkr37t0FkEaNGsmBAwecHVK2w87luDo5nh6vHlmaCM8ua9eudXYIhc6WLVucHYLKQ5KW2I4ePZrY2FgmT56Mn59fgVwtZS9NHEoplY6goCD69+/P3r17eeSRR5gzZ47N868Km0I1xyE2loYqpWwrzP9eoqOjGTt2LD4+PgQHB/PVV1+xefNmTRqJCk2Po3jx4oSHh1OuXLkCv1ROqawSEcLDw9OcG1QYJFV3CA4O5vnnn2f69OnWqgvKotAkDk9PT0JDQ7l06ZKzQ1EqXyhevLh1iXJhEBERwahRo5g3bx7VqlVj48aNdO7c2dlh5UmFJnG4ubnlWD0mpVT+JSJ89913DBs2jIsXL/LGG2/w7rvvprvEWxWixKGUUqmdO3eOoUOHEhAQgI+PD+vWrUtz3pNKq1BNjiulFEB8fDyzZs2iXr16bNmyhWnTpnHgwAFNGnbSHodSqlD55Zdf6NevH/v27aNTp07MmTNHh7EdpIlDKVUoREdHM2HCBCZPnoyHhwfffPMNzz//fL5eZel/5DxTNwUTFhFFJQ93RnSuTXefyjn+uZo4lFIF3g8//ED//v359ddfefHFF/nwww9T1B3Lj/yPnGfMquNExcYDcD4iijGrjgPkePLQOQ6lVIF15coV+vbtS9u2bYmLi2Pz5s189dVX+T5pAEzdFGxNGkmiYuOZuik4xz/bqYnDGFPFGLPDGHPSGBNkjHnVRhtjjJlpjPndGHPMGKOzV0qpDIkIy5Yto27dunz55ZeMGDGC48eP07FjR2eHlm3CIqIc2p6dnD1UFQe8ISKHjTGlgUPGmC0iciJZm8eAWom3B4HPEu+VUiqNs2fPMnjwYNatW0eTJk3YsGEDPj4+zg4r21XycOe8jSRRycPdRuvs5dQeh4hcEJHDiY+vASeB1INzTwJfJ1b93Qd4GGPuy+VQlVJ5XHx8PDNnzqR+/frs2LGDDz/8kH379hXIpAEwonNt3N1cU2xzd3NlROfaOf7Zzu5xWBljqgE+wP5UuyoD55I9D03cdiFXAlNK5XnHjh2jX79+HDhwgEcffZTPPvuMatWqOTusHJU0AV5oV1UZY0oB3wGvicjV1LttvCRN2U5jTH+gP0DVqlWzPUalVN4TFRXFe++9x9SpUylbtiyLFy+mV69e+XqJrSO6+1TOlUSRmtNXVRlj3LAkjUUisspGk1CgSrLnnkBY6kYiMk9EfEXEVytZKlXwbd++HS8vLyZOnMj//d//cfLkSXr37l1okoYzOXtVlQEWACdF5KN0mgUALyaurmoORIqIDlMpVUj9888//Oc//6FDhw6ICFu3bmXhwoWUK1fO2aEVGs4eqmoFvAAcN8YEJm57E6gKICJzgPXA48DvwE3gZSfEqZRysqQltq+++irh4eGMHj2asWPH4u6e86uIVEpOTRwishvbcxjJ2wgwJHciUkrlRX/++SeDBg1iw4YNNG3alM2bN9OoUSNnh1VoOX2OQyml0hMfH8/06dOpV68eP/74Ix9//DE//fSTJg0nc/ZQlVJK2RQYGEi/fv04ePAgjz/+OLNnz+b+++93dlgK7XEopfKYmzdvMmrUKHx9fTl79ixLly5l7dq1mjTyEO1xKKXyjK1btzJw4EBOnz7Nf/7zH6ZOncrdd9/t7LBUKtrjUEo5XXh4OH369KFjx464uLiwfft2FixYoEkjj9LEoZRyGhFh0aJF1KlTh0WLFvHmm29y9OhR2rVr5+zQVAZ0qEop5RQhISEMHDiQTZs20axZM+bPn4+Xl5ezw1J20B6HUipXxcXF8eGHH1K/fn327NnDzJkz2bt3ryaNfER7HEqpXHPkyBH69evHoUOHeOKJJ5g9ezZVqlTJ/IUqT9Eeh1Iqx928eZMRI0bQtGlTQkNDWb58OQEBAZo08intcSilctTmzZsZOHAgf/zxB3379mXKlCmULVvW2WGpLNAeh1IqR1y+fJkXXniBzp074+bmxs6dO5k/f74mjQJAE4dSKluJCN988w116tRh6dKlvP322xw9epSHH37Y2aGpbKJDVUqpbHPmzBkGDhzIli1baNGiBfPmzaNBgwbODktlM+1xKKWyLC4ujqlTp9KgQQP27dvHrFmz2L17tyaNAkp7HEqpLDl06BB9+/YlMDCQJ598klmzZuHp6enssFQO0h6HUuqO3LhxgzfeeINmzZrx119/sXLlSlavXq1JoxDItMdhjHk9o/0ZXCtcKVVAbdq0iYEDBxISEsKAAQOYNGkSHh4ezg5L5RJ7hqpKJ97XBpoCAYnPuwI/5kRQSqm86eLFi/j5+bF48WLq1KnDjz/+SJs2bZwdlsplmSYOEXkXwBizGWgsItcSn48DVuRodEqpPEFE+Prrr3n99de5du0aY8eO5c0336RYsWLODk05gSOT41WBmGTPY4Bq2RqNUirP+f333xk4cCDbtm2jZcuWzJ8/n3r16jk7LOVEjiSOb4ADxpjVgAD/Br7OkaiUUk4XGxvLRx99xLhx4yhatCizZ89mwIABuLhkvKbG/8h5pm4KJiwiikoe7ozoXJvuPpVzKWqVG+xOHCLyvjFmA5A0oPmyiBzJmbCUUs70888/069fP44ePcq///1vPvnkEypXzvzH3//IecasOk5UbDwA5yOiGLPqOIAmjwLE0eW4JYCrIjIDCDXGVM9qAMaYL4wxF40xv6Szv60xJtIYE5h4G5vVz1RK2Xb9+nX8/Pxo3rw5ly5dYtWqVaxatcqupAEwdVOwNWkkiYqNZ+qm4JwIVzmJ3T0OY8w7gC+W1VULATfgW6BVFmP4EphFxsNeu0TkiSx+jlIqA+vXr2fQoEGcPXuWQYMGMXHiRMqUKePQe4RFRDm0XeVPjvQ4/g10A24AiEgYt5fq3jER+RH4J6vvo5S6M3///Te9e/emS5culCxZkt27dzN79myHkwZAJQ93h7ar/MmRxBEjIoJlYhxjTMmcCcmmFsaYo8aYDcaY+rYaGGP6G2MOGmMOXrp0KRdDUyp/EhG++OIL6taty6pVq3j33Xc5cuQIrVrd+SDCiM61cXdzTbHN3c2VEZ1rZzVclYc4sqpquTFmLuBhjOkH/Af4PGfCSuEwcL+IXDfGPA74A7VSNxKRecA8AF9fX8mFuJTKt3777TcGDBjAjh07aN26NfPmzaNu3bpZft+kCXBdVVWwObKqapoxpiNwFcs8x1gR2ZJjkd3+3KvJHq83xsw2xpQXkcs5/dlKFTSxsbFMnTqV8ePHU7x4cebOnUvfvn0zXWLriO4+lTVRFHCOTI5PFpFRwBYb23KMMeZe4G8REWNMMyzDa+E5+ZlKFUT79++nX79+HD9+nKeffppPPvmE++67z9lhqaw4thy2jYfIUCjjCR1evv0WAAAgAElEQVTGglePHP9YR/7M6Ghj22NZDcAYswT4CahtjAk1xvzXGDPQGDMwsckzwC/GmKPATKBX4lyLUsoO165d45VXXqFFixb8888/+Pv7s3LlSk0a+d2x5bDmFYg8B4jlfs0rlu05zJ7quIOAwUANY8yxZLtKA3uzGoCI9M5k/ywsy3WVUg5au3YtgwcPJjQ0lMGDB/PBBx9w1113OTsslR22jYfYVMucY6Ms23O412HPUNViYAMwERidbPs1EdFltErlQX/99Revvvoqy5cvp379+uzZs4cWLVo4OyyVnSJDHduejTIdqhKRSBEJAWYA/4jInyLyJxBrjHkwpwNUStlPRPj888+pW7cu/v7+vPfeexw+fFiTRkFUJp0LZqW3PRs5MsfxGXA92fMbiduUUnlAcHAw7dq1o1+/fnh5eXHs2DHefvttihYt6uzQVE7oMBbcUp1Y6eZu2Z7DHEkcJvmktIgkoNcsV8rpYmJimDBhAo0aNeLo0aPMnz+fHTt2ULu2nnRXoHn1gK4zoUwVwFjuu87MlVVVjvzwnzHGvMLtXsZg4Ez2h6SUstdPP/1Ev379CAoKokePHsyYMYN7773X2WGp3OLVI1cSRWqO9DgGAi2B80Ao8CDQPyeCUkpl7OrVqwwdOpRWrVoRGRlJQEAAy5Yt06ShcoUjZ45fBHrlYCxKKTsEBAQwePBgwsLCGDp0KO+//z6lS2e53qhSdrPnPI6RIjLFGPMJiQUOkxORV3IkMqVUChcuXGDYsGF89913NGjQgJUrV9K8eXNnh6UKIXt6HCcT7w/mZCBKKdsSEhL4/PPPGTlyJNHR0bz//vuMGDECNzc3Z4emCqlME4eIrEm8/yrnw1FKJXfq1Cn69+/Prl27aNeuHXPnzqVWrTTFoZXKVfYMVa3BxhBVEhHplq0RKaWIiYlh0qRJvP/++5QsWZIFCxbw8ssvY4xxdmhK2TVUNS3x/ingXiyXiwXoDYTkQExKFWp79uyhf//+nDhxgl69evHxxx9TsWJFZ4ellJU9Q1U/ABhj3hORh5LtWmOM+THHIlOqkImMjGTMmDF89tlnVK1albVr19KlSxdnh6VUGo6cx1HBGPNA0hNjTHWgQvaHpFThs3r1aurVq8fcuXN57bXXCAoK0qSh8ixHzhz3A3YaY5LOFq8GDMj2iJQqRJLOxVi9ejVeXl74+/vTtGlTZ4elVIYcOQFwozGmFlAncdMpEbmVM2EpVbAlJCQwb948Ro0aZZ0If/3113WJrcoXHLl0bAngdeB+EelnjKlljKktImtzLjylCp4TJ07Qv39/9uzZQ/v27Zk7dy41a9Z0dlhK2c2ROY6FQAyQVNg/FJiQ7REpVUDdunWLcePG4e3tzcmTJ1m4cCFbt27VpKHyHUfmOGqISE9jTG8AEYkyuqhcKbvs3r2bfv36cerUKZ577jmmT5/OPffc4+ywlLojjvQ4Yowx7iSeDGiMqQHoHIdSGYiIiGDgwIG0adOGqKgo1q9fz6JFizRpqHzNkR7HO8BGoIoxZhHQCuiTE0Epld+JCKtWrWLYsGH8/fffvP7664wfP56SJUs6OzSlssyuxJE4JHUKy9njzQEDvCoil3MwNqXyPP8j55m6KZiwiCgqebgzonNtfCsIQ4cO5fvvv8fb25uAgAB8fX2dHapS2cauxCEiYozxF5EmwLrsDMAY8wXwBHBRRBrY2G+AGcDjwE2gj4gczs4YlLoT/kfOM2bVcaJi4wEIvXKDgW9+wNVdX0NCPFOmTOG1117TJbaqwHFkqGqfMaapiPyczTF8CcwCvk5n/2NArcTbg1guXftgNseglMOmbgq2Jo2YS3/yz8ZPuBV2ijI1G3No43Jq1Kjh5AiVyhmOJI52wEBjTAhwA8twlYiIV1YCEJEfjTHVMmjyJPC1iAiW5OVhjLlPRC5k5XOVyqqwiCgkLobIn5YTuW8lLsVKUK7L65Sq306ThirQHEkcj+VYFBmrDJxL9jw0cZsmjsLs2HLYNh4iQ6GMJ3QYC149cjWEkld+I3jlh8T9E0rJ+u0o274vriXKUNnDPVfjUCq3OVJy5E9jTGOgNZYluXtyaa7B1rkiaa4PYozpD/QHqFq1ak7HpJzp2HJY8wrERlmeR56zPIdcSR5Xrlxh5MiRBH3+OW5lKnLPs+/i/kATANzdXBnRuXaOx6CUM9l9HocxZizwFVAOKA8sNMa8nVOBJRMKVEn23BMIS91IROaJiK+I+FaooEV7C7Rt428njSSxUZbtd8j/yHlaTdpO9dHraDVpO/5HzqdpIyKsWLGCunXr8sUXXzB8+HC+Xr+Lmo1bY4DKHu5MfKoh3X0q33EcSuUHjgxV9QZ8RCQawBgzCThMzpcdCQCGGmOWYpkUj9T5jUIuMtSx7ZlIvTrqfEQUY1YdB7AmgXPnzjF48GDWrl1L48aNWb9+PY0bN4Zjy+lVbDwUD4VinuA6FsjdITOlcpsjZ46HAMWTPS8GnM5qAMaYJcBPQG1jTKgx5r/GmIHGmIGJTdYDZ4DfgfnA4Kx+psrnyng6tj0TyVdHJYmKjWfqpmDi4+P55JNPqFevHtu3b2fatGns37/fmjRY84plqAy5PWR2bPkdxaFUfuFIj+MWEGSM2YJljqEjsNsYMxNARF65kwBEpHcm+wUYcifvrQqoDmNTznEAuLlbtt+BsIgom9tDfjtJq1Zvsn//fjp16sScOXOoXr367QYZDZnl8kS9UrnJkcSxOvGWZGf2hqKUnZJ+lLNpVVUlD3fOJ0seEhdDxN6lXNv/HTF3l+Xbb7/lueeeI01Nz2weMlMqv3BkVdVXGe03xnwnIk9nPSSl7ODVI9v+qh/RubZ1jiP6z2OEb5pF3JUw2j7xDCsWfkb58uVtv7CMZ+IwlY3tShVgjsxxZOaBzJsolfd096nMmx08ido2i7+XvomrEcZ9toQda1aknzTA0stxS3XORhaGzAqMY8thegMY52G51zmfAseRoarMpDm3Qqm8TkRYvnw5w195hfDwcEaOHMk777xDiRIlMn9xNg+ZFQhOPsdG5Q5jmXvOhjcy5rCINM6WN8siX19fOXjwoLPDUHnc2bNnGTx4MOvWraNJvQeY/yj4lA7XBJAV0xukM3xXBfx+yf14lEOMMYdEJNNSztk5VKVXA1T5Qnx8PDNmzKBevXrs2LGDj4a/yL6e1/EpfRldVptFumCgUMg0cRhjtiXeT86k6ahsiUipHHT06FFatGjBa6+9Rps2bQgKCsKv0iGKJESnbJjFM9ELrWw+x0blTfb0OO4zxjwMdDPG+BhjGie/JTUSkc05F6ZSWRMVFcWYMWNo0qQJISEhLF68mPXr11OtWjX9Kzk76YKBQsGeyfGxwGgsNaI+JOWQlADtcyAupbLNtm3bGDBgAKdPn6ZPnz5MmzaNcuXK3W6gy2qzjy4YKBTsSRwXROQxY8xYEdG+u8o3wsPDGT58OF9++SU1atRg27ZttG9v4++cbD4TvdDLxnNsVN5kz1DVzMT77jkZiFLZRURYvHgxdevW5dtvv2XMmDEcP37ckjRsnWPg1QO6zrSs/MFY7rvO1B8/pdJhT48j1hizEKicVJcquTutUaVUTggJCWHQoEFs3LiRpk2bsnXrVry8Ei9Smdk5BpoolLKLPYnjCeARLHMZh3I2HKUsZc6nbgomLCKKSh7ujOhcO9NrXMTFxTFz5kz+97//YYxhxowZDBkyBFdX19uNtCihUtki08QhIpeBpcaYkyJyNBdiUoWY/5Hz7F49m2UspVKxy4TdLM/Hq3sBg9NNHoGBgfTt25dDhw7RpUsXZs+ebfsqkLp6SqlsYc95HCMTH/Y1xsxMfcvh+FQhE7huHuPNPDxdLuNiwNPlMuPNPALXzUvT9ubNm4waNQpfX1/OnTvH0qVLWbNmTfqXDtZzDJTKFvZMjp9MvD+IZagq9U2pbNM35ltKmJgU20qYGPrGfJti25YtW2jYsCFTpkyhT58+nDx5kp49e6YtfZ6cnmOgVLawZ6hqTeJ9hmXVlcoOlVzCM9x++fJlXn/9db755htq1arFjh07aNu2rX1vrucYKJUtMk0cxpg1ZFD5VkS6ZWtEqlCLdr+XElFpLykfVbwiq7/9Fj8/PyIiInjrrbd4++23KV68uI13yYCunlIqy+wZqpqG5YzxP4AoLNf9ng9cB7TcpcpWJR4bT5xrymTw21U3nl7jzgsvvECNGjU4fPgwEyZMcDxpKKWyhT1DVT8AGGPeE5GHku1aY4z5McciU4WTVw/L/5TbxhN35RwfB7ozdssVXIuc5pNPPmHQoEEpltg6unT3Tpb6KqVScuRCThWMMQ+IyBkAY0x1oELOhKUKNa8eHI6rSd++fTly5Ahdu3bl008/pUqVKima+R85b73kK8D5iCjGrDoOYDMZONpeKWWbI9fj8AN2GmN2GmN2AjuAV3MkKlVo3bhxg+HDh9O0aVMuXLjAihUr+P77720mjTeWH7UmgSRRsfFM3RRs872nbgp2qL1Syja7exwistEYUwuok7jplIjcStpvjOkoIluyO0BVQB1bnmZ10+a/PBg4cCB//PEH/fr1Y/LkyZQtWzbNS5N6DvHpXL0yLCIqW7YrpWxz6AqAInJLRI4m3m6l2p3ZhZ5sMsY8aowJNsb8bowZbWN/W2NMpDEmMPGmi+7zu6SaUZHnAOFS2J+88OJLdO7cGTc3N3bu3Mm8efNsJg2w3XNIrpKHe7ZsV0rZ5sgcR2YcvnSsMcYV+BToCIQCPxtjAkTkRKqmu0TkiWyIUTnbseWweiBIPCLCN8dieX3TLa7eEv7XsQJvBhzNdLVURj0EdzdXRnSubXPfiM61U8xxZNZeKWVbdiaOdM/1yEAz4PdkE+5LgSeB1IlDFQRJPQ2J5/Q/CQxcF8XWM/G08HRlftfi1L8nBuxYYlvJw53zNpKHqzFMfKphuhPdSdt1VZVSWZOdieNOVAaSX3otFHjQRrsWxpijQBgwXESCciM4lc22jSfu1k0++imGcTtvUcQFPn28OAN93XAxxu6aUen1HDJKGkm6+1TWRKFUFmVn4gi5g9fYGt5K3XM5DNwvIteNMY8D/kCtNG9kTH+gP5B+kTvlPMeWc/BkCP3WRBH4VwJP1i7CrMeL43mXZZotSoryS41hNLXjrbTnoJRz2VNyZKSITEl8/KyIrEi27wMReRNARJ66g88PBZKvs/TE0quwEpGryR6vN8bMNsaUTyz3nrzdPGAegK+v750Mm6kccn3f14x9YxAzfrpJxZKG73q48+86RawFCePEhVGxfTl0ohZ77Cxgoz0HpZzHnlVVvZI9HpNq36NZ/PyfgVrGmOrGmKKJnxWQvIEx5l6T+AtjjGmGJWbblfBUnrNhwwYaPN6X6Xtv0q+xGyeGlOKpum7WpHFTivJ67EACElrrslil8gl7hqpMOo9tPXeIiMQZY4YCmwBX4AsRCTLGDEzcPwd4BhhkjInDUiurl0g6C/hVnnHx4kVee+01lixZQp3yLux6uQStq6b8300ERsf2JSChNaDLYpXKL+xJHJLOY1vPHSYi64H1qbbNSfZ4FjArq5+jcoeI8OWXX/LGG29w/dpV3mlXkjEtXShWJO3fGOelvDVp6LJYpfIPexJHI2PMVSy9C/fExyQ+1/KkeYmNs7FzqoS4rWKBDUpHMWDAALZv304d76asbvkXD1eItPn6m1KUKXGW2Dzc3RjXrb7OWSiVT9hTHdc1szYqD0g6RyI2cZ4g8pzlOdxx8kivkmzqYoGh4dfo/8b/iNy7mOLFijHgzYnsNF60ce1t832TD1F93NNbE4ZS+YxDJUdUHrZt/O2kkSQ2yrL9DiQlh/MRUQi3K8kmJZOkpHErLJgLX73GpR0LKVWzGSdOnOB46WZExwlhUt7meycNUVX2cNekoVQ+5OwTAFV2iQx1bHsGkirPdjG7GFl0OZXMZcKkPFPiejB1U1HCIqJIuHWTiF3fcu3QGlxLlaXCv9+i5L9aULlyZcIiAgGYEteDSW6fp7iGeNIQlc5pKJV/aeIoKMp4JhYNtLE9HbaGogDGrDpOF7MrxY++p7nMJLfPGXMVNv9Vmt9WfUz8tUuU8nmcsg+/hEuxktZVUUklQQISWkMsjCyynEomnDApx5S4HvxYrB0TdU5DqXxLE0dB0WFsyjkOADd3y3Yb0ruoUXfXPWwxi6nsdhmTaiHUtRvRhGz8hFNBNyhavirlu02huGc9IOWqqOQlQQISWhMQ0zrF+1QuVkSThlL5mCaOgsKrBz+HXKHK4ancI5e5aMpzruEImqYzMW6rNHnH+B/4n8vnlHCJSbFdRPjiSCzDt0RzMxbeffddOtS/mxrHP+YeucRFU4FzjUfQ1MdyPmhSUnhtWaDNz9YT/ZTK3zRxFBD+R84z5uf7iYqdYd3m/rMrE6ucByyJwvfqFsYUXUFFLrMsoRxTXHpYz6MAy5BS8vkIgF/D4xmwNpqdIfG0qerKlC5307x7ncQVW1Fg4F4uce/xd6BaWesKru4+lZm6KdhmFVs90U+p/E1XVRUQ6V0WdVxAEGNWHafJ1S1MdPuce7mEQfB0scxZdHPZbW1fydwu/xUTL7z/4y28PrvBkQvxzHuiODv7lKDOPUXtXsE1onNt3N1SrubWSXGl8j/tcRQQyYd/urnsTpyQvkxYfHmmxPew2ZsoYWIYWWQ5xFl6G0lTGvtD4+i7JppfLibwTL0izHy0OPeVtvyNUYZrEHnddhCpVnBpFVulCiZNHAVE0kqmbi67ba6GKk6MzddVNpeZ4TYbY+DaLeGt7beYdSCGSqUN3/dyp1tttxTtjXGFuyplvoIr8Sz27pGhdC/jCc+NBa8u2Xa8Sinn0aGqvOTYcpjeAMZ5WO6PLbf7pSM618bNxaTbs0hI56s2xnJbExxLvdnXmXUghiFNLVVsUycNACTeslLLLdU8RfIVXKmuKW49i92B41FK5V2aOPKKbPixTSDlPEVyriRgq6bwhWsJ9Fhxk25LoyhTzLDnPyX45HF37iqWTuHjMlUsE+BdZ1oeYyz3XWfeLm2SzWexK6XyFh2qyisy+rG1o9bUu2uCiE+wlPnwtJE8Up+TkSDCgsOxjNgSTXQcTGhXjBGtilLU1dIwXgwuSIrXpbhKn1eP9OPKxrPYlVJ5j/Y4studDjdl8cf2ys1YwFLm46YUzbBt8OV42n11k/5ro/G+15Vjg0ry1kPFrElDBPxiB/Fq7GBCE8qTIIbQhPKMiu3LayfSXLU3rfTOVrfzmuJKqbxNexzZKSsVau+gZEhq3Vx2806Rr3EnxjoslbzHEBMvTN4dw4RdtyjhBvO7Fuc/Pm64pOqOXJdi1vM7Up/1bew5ec/Bs9izJBdLySulLDRxZKesDDdl8mObvK5UGXc3jIGIm7HWJa69i+9jvHyGm7F9ba2fzsXRb000QZcS6FG/CDMeLc69pdJ2OG+JK2/F/TfdMO06eS/5XEdO/qDnQCl5pVTmNHFkp6wMN2XwY5u6rlREVKz1ZUk1pn52+xK3hLRJ4+otYczWaD47GIvnXYY1vd154l+3V0slCFyRUpQ1N6xFCNdI6zTvAw6evJfRHEh2yeK8kFLqzmjiyE5ZHW5K58fW1lnhyUXFxlPS9Wqa7f6nYhm6Ppqwa8KwZkWZ0L4YpdOsljI0iZmXaguETOqS7oWc8gydhFfKKTRxZKccGtu3qyigQNKp32HXEhi2IZpVJ+NoeI8L3/Vw50FP2191mJRLsy1pOKq7T+W8lShSy4Z5IaWU4zRxZKcsju2n9xd+0lnhGUkwBiMJzD8Uy6itliW2H7QvxhstilK0iO1zMm5KUabGpYwtX9WSys1JeKWUlSaO7HaHY/vpXR8DUl7fAlLVokq8Ml/wxTgGrItm99l42lVzZe4TxalVzhURS4JIfja5CPwjpXg37kXrJVzz7HBURnJrEl4plYLTE4cx5lFgBuAKfC4ik1LtN4n7HwduAn1E5HCuB5rD0qtuO3VTMHtGt+fgn/+waN9ZuqaqRVUh/hJ3752Oz+5blHSDL7oVp4+3GyZxie35xMSS+ip8ScttK3u4s2d0+9w92OyUG5PwSqkUnJo4jDGuwKdARyAU+NkYEyAiJ5I1ewyolXh7EPgs8T5fSm84Kr15jPMRUdQYs574xBMzktei2n02jv5rojl5OYFeDYowvVNx7i19e4lt0vW9D93VkTl1nmPRvrMkX3eVr4allFJ5hrN7HM2A30XkDIAxZinwJJA8cTwJfC0iAuwzxngYY+4TkQu5H27WZDQcZWsew9aQVCVzmchoYfTWaOYciqVqGcO659x5vJZliW2cuOCC3F5am9Ca6YnJyff+u/P2KimlVL7g7MRRGUi+LCaUtL0JW20qA3kycWS0hDWj4ah2dSrw7b6z1u22yqN/7DabpacMIzZc46/rwmsPFuW99sUoVfT25LcLwgO3FgGWRVbPN69q/fw8v0pKKZUvODtx2Fruk/osNnvaYIzpD/QHqFq1atYjuwMZ9SgyGo4Ki4hix6lLKbalLo9+/moCQzdE438qjkYVXfDvWYKmlV1TvxV/mXIY0B6FUirHODtxhAJVkj33BMLuoA0iMg+YB+Dr62u77kYOy6hHkbSstsnVLWmGnw7d1ZGwxIswJe1LypYJIsw5GMvordHEJsCkDsV4vUVR3FxN8lM3AIhzLU6lJyfyh14wSSmVg5ydOH4GahljqgPngV7Ac6naBABDE+c/HgQi8+r8RkY9CoCP6/1Gg0Of455s+Gma21wkfjFFi0cgAi7JMsGJS/H0WxPN3nPxdKjuytwn3Klx9+3JbwNgXEESoIwnRXQpqlIqFzg1cYhInDFmKLAJy3LcL0QkyBgzMHH/HGA9lqW4v2NZjvuys+LNTHon6iWdid309CeQ6up8RU08xEYAtyvZ3ooTPth1i4m7YyhdzPDlk8V5sdHtJbYpSAKMi8jeA1FKqQw4u8eBiKzHkhySb5uT7LEAQ3I7LocklvbeHR1KWLFyTI69fZ5EiiWvdtRQ2vWnpYptcHgCzzd046POxbinZAaXTdHyGkqpXOb0xJHvJSvtbYDK5jKTiy7AxMDBuzqmnKB2LwtR/9h8m4hoYdSWaOYdjqWah2HD8yV4tGYmX49rUS2voZTKdZo4sspGaW93bjGjwhrwm5iybdytNC8XEb47GcewDdFcvCG83rwo49sVo2TRdK75nVzRUjqnoZTKdZo4ssre0t7HlkPsjRSbQq8mMGR9NAHBcfjc68La3iVoUintEtt0RV1xMFillMo6TRxZZW9p7w2jrA/jE4TPDsby5rZo4hJgyiPF8GtRlCIudvQyMvoMpZTKBRnMuiq7dBhrKeWdnI3S3pI4t/HLxXhaL7zJsA3RNPd05ZfBpRjRqliKpJHmJBTXouDilnKblg9XSjmJJo6s8uoBXWdCmSqAsdx3nZlm7iE6Vnh7ezQ+c2/wW3gCX3cvzqb/K8EDZW9/BSIQmlCer+MeSfl+T34K3Wdn+hlKKZUbdKgqO2RS2vuHH36g/9wb/BqewAteliW25UukzNkxUoThsf0JSGiNAcq09U5bLkQThVIqD9DEkQ1SFzb8uN5vND39CVf+OseIH1xYsD+C6h6GTf9Xgk41Uv4nF7l9zYykcz8ErGVKlFIqr9HEkUWpCxs2ubqF+gfns/zkTV7ZEM3lm8KI1iUY29qVUsVsT363jplJN5fd7C76yu0aVld7APn4AktKqQJLE4cdkvcoPEq4IQKRUbFU8nDnZkxcisKGz99YTM+Nkaz9NY7G97mw4fkS+NznSrwYbEx7c4VSNkuoT3L7nJ8DqtG024DcOkyllLKLJo50+B85z7iAICKiYlNsv3Lz9vPkdakkIZ5rh9fxyK6zJAh82KkYrzx4e4mtC0KMFKGoibO+JkaKMC72xTQl1AFKmBiqHJ4KmjiUUnmMrqqywf/IeV5fFpgmaaQn5uIf/PXtCK5sm0eTKu78MqgUr7dIucT2vJRneGx/QhPKkyCG0ITy1snwSuayzfe9R2xvV0opZ9Iehw3jAoJ4Itm1Ma5IKYwBD65br6ERkNCahNhbRO5dytUDq3ApVpJyT7xBwwZFqFh0AXC7B3FTijIt3vKagJjWaT4vTMrjaSN5XDTluTcnD1Qppe6AJg4bHrq1I8WcQzlz3bovaf4h9Pc/WbNhJ3FXLlC2UUdqdh3EpdiirBEwsSYx6YRbr/0dkNAaN1dDbHzaeY5PXZ7jfzInxXBVlBTlXJMRmjiUUnmOJg4bbM05JPknShi+OZLVgUuoWrYIzZ7vzfNvTLUunW01aTsBEWl7FpUTL+Vq+3rkXfg5wJMqh6dyj1zmoinPuSYjdGJcKZUnGcvlLgoWX19fOXjw4B2/PuGdMqQuGyUiLAuK49WN0YTfFIa3LMrYh4tRtLg7RZ78xHpyXurluWC5JsfEpxrqeRlKqTzNGHNIRHwza6c9DhsSjAsuJFif/xmRwKB10Wz4PQ7fSi5s+r8SeN+bWMU2PtpSWj0xcSQlB9s9C6WUyv80cdjgmpg04hOETw7E8PZ2y3U0pncuxrBmRXFN3R1JVUK9u09lTRRKqQJLE4cNxrjy2+UYnlsVxcGwBB6rWYTPuhTnfo90Vi9reXOlVCGiicMWiadMccONGFjytDs96xfBmHSulaHlzZVShYwmDlvKVOEezvHL4JK4pEoYCYCL+92Wq++V8bQkDa1aq5QqRDRx2NJhLPGrB+NKyjPHb4krb8sgWnUarHMYSqlCSxOHLV49cAVufD+cEnGRAPwjpXg37kUCElriv/IogCYPpVSh5LTEYYy5G1gGVANCgB4icsVGuxDgGhAPxNmzxjhbePWg0/rynL8RlWZXbLzo9TKUUoWWM4scjga2iUgtYFvi8/S0ExHvXEsaicIi0iYNe/YppVRB5szE8STwVeLjr4DuTozFpqfsDWwAAAcdSURBVEoe7ne0TymlCjJnJo6KInIBIPH+nnTaCbDZGHPIGNM/16IDRnSujVvqk/0AN1fDiM61czMUpZTKM3J0jsMYsxVsFnh9y4G3aSUiYcaYe4AtxphTIvKjjc/qD/QHqFq16h3Fm1rSHEbyCzqVLeHGO13r6/yGUqrQclqRQ2NMMNBWRC4YY+4DdopIhn/GG2PGAddFZFpG7bJa5FAppQoje4scOnOoKgB4KfHxS8D3qRsYY0oaY0onPQY6Ab/kWoRKKaXScGbimAR0NMb8BnRMfI4xppIxZn1im4rAbmPMUeAAsE5ENjolWqWUUoATz+MQkXCgg43tYcDjiY/PAI1yOTSllFIZcGaPQymlVD6kiUMppZRDNHEopZRyiCYOpZRSDtHEoZRSyiFOOwEwJxljLgF/prO7PHA5F8PJCQXhGECPIy8pCMcABeM4nHkM94tIhcwaFcjEkRFjzMHcrrKb3QrCMYAeR15SEI4BCsZx5Idj0KEqpZRSDtHEoZRSyiGFMXHMc3YA2aAgHAPoceQlBeEYoGAcR54/hkI3x6GUUiprCmOPQymlVBYU+MRhjLnbGLPFGPNb4n3ZdNqFGGOOG2MCjTF54mIexphHjTHBxpjfjTFprsluLGYm7j9mjGnsjDgzY8dxtDXGRCb+tw80xox1RpwZMcZ8YYy5aIyxWdY/P3wXdhxDfvgeqhhjdhhjThpjgowxr9pokx++C3uOI+9+HyJSoG/AFGB04uPRwOR02oUA5Z0db7J4XIHTwANAUeAoUC9Vm8eBDYABmgP7nR33HR5HW2Cts2PN5DgeAhoDv6SzPz98F5kdQ374Hu4DGic+Lg38mk//XdhzHHn2+yjwPQ7gSeCrxMdfAd2dGIsjmgG/i8gZEYkBlmI5luSeBL4Wi32AR+LVFPMSe44jzxPL5Yr/yaBJnv8u7DiGPE9ELojI4cTH14CTQOrrOOeH78Ke48izCkPiqCgiF8DyZQH3pNNOgM3GmEOJ1y93tsrAuWTPQ0n7P5Y9bZzN3hhbGGOOGmM2GGPq505o2So/fBf2yDffgzGmGuAD7E+1K199FxkcB+TR78NpF3LKTsaYrcC9Nna95cDbtBKRMGPMPcAWY8ypxL/QnMXY2JZ6CZw9bZzNnhgPYyl1cN0Y8zjgD9TK8ciyV374LjKTb74HY0wp4DvgNRG5mnq3jZfkye8ik+PIs99HgehxiMgjItLAxu174O+kbmri/cV03iMs8f4isBrLEIszhQJVkj33BMLuoI2zZRqjiFz9//buJjSuKgzj+P8BU6zirmJxIYQidCElgoiogYJgRaogWFopNYoblSIISqHg56qCqJuCYHXlB7poNNiSLoqgbkSxARErFgqiu3ZRkKaLlsfFPYM34yQzdzKZzLTPb3Xm3nPPnDNvyMucOfdc2/+U8nFgQtKm4XVxIMYhFisalzhImqD6Z/uJ7aMdqoxFLLqNY5TjcVUkji7mgJlSngG+aq8g6UZJN7XKwINAx5UnQ/QjcLukSUkbgD1UY6mbA54sq0juAS60puVGSNdxSNosSaV8N9Xf5fmh93R1xiEWKxqHOJT+fQj8ZvudZaqNfCx6Gccox+OqmKrq4hDwhaRngD+BXQCSbgWO2H4YuAWYLTG6DvjU9vw69RcA25cl7QdOUK1M+sj2r5KeLeffB45TrSA5A1wEnl6v/i6nx3E8Djwn6TKwCOxxWVYyKiR9RrXKZZOkv4DXgAkYn1j0MIaRjwNwH7AP+EXSQjl2ELgNxicW9DaOkY1H7hyPiIhGroWpqoiIGKAkjoiIaCSJIyIiGkniiIiIRpI4IiKikSSOiIhoJIkjokbSldo21gvqsA38Mtdtl/R1KT/auk7SzZJ+kHRK0rSkXWUr7W9WaOdCqf+7pG8l7aydf13S37X+HZI0W8pn2rbhvncQn0lEu2vhBsCIJhZtT62mAdtz/Hd3/APAadszAJLmgedtd0wcxXe2d5b6U8CXkhZtnyzn37X9dvtFkrYDL7WujVgrSRwRfZL0EPAecI5qQ7rW8aeAu4AjVM+D2VjuDp4F7gcmJc3Zfrnbe9hekPQmsB842a1+xDBkqipiqY1tU1W7O1WSdD3wAfAIME2H3ZltLwCvAp/bnrL9BvATsLeXpFHzM7C19vrFWv92NGgnYiDyjSNiqV6nqrYCZ23/ASDpY2CtnuPSvk14x6mqiGHJN46I/g1ro7c7qZ4QFzESkjgi+nOa6reKLeX1E2vxJpK2Aa8Ah9ei/Yh+ZKoqYqnWD9kt87b/tyTX9iVVjxg+Jukc8D1wx4D6MC3pFHAD1YPHXqitqIpYd9lWPSIiGslUVURENJKpqoguJM0Ck22HD9g+sYo2dwBvtR0+a/uxftuMGJZMVUVERCOZqoqIiEaSOCIiopEkjoiIaCSJIyIiGkniiIiIRv4Fd5uJAAx35soAAAAASUVORK5CYII=\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "prediction_rmse_kr = np.linalg.norm(np.array(P_predict_kr) - P)/np.sqrt(P.size)\n",
-    "\n",
-    "maxi = max(max(P), max(P_predict_kr))\n",
-    "mini = min(min(P), min(P_predict_kr))\n",
-    "plt.plot([maxi,mini], [maxi,mini], 'k')\n",
-    "plt.scatter(P, P_predict[-1], label='SISSO 3D, RMSE = %.3f eV/atom' % prediction_errors[dim-1])\n",
-    "plt.scatter(P, P_predict_kr,  label='KR, RMSE = %.3f eV/atom' % prediction_rmse_kr)\n",
-    "plt.xlabel('E_diff_DFT'), plt.ylabel('E_diff_predicted')\n",
-    "plt.legend()\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 3",
-   "language": "python",
-   "name": "python3"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 3
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython3",
-   "version": "3.7.3"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 2
-}
diff --git a/compressed_sensing_2018.ipynb b/compressed_sensing_2018.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..2eead392e446e0a3f0bea8ed2186661a61366d49
--- /dev/null
+++ b/compressed_sensing_2018.ipynb
@@ -0,0 +1,1016 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "<div id=\"teaser\" style=' background-position:  right center; background-size: 00px; background-repeat: no-repeat; \n",
+    "    padding-top: 20px;\n",
+    "    padding-right: 10px;\n",
+    "    padding-bottom: 170px;\n",
+    "    padding-left: 10px;\n",
+    "    border-bottom: 14px double #333;\n",
+    "    border-top: 14px double #333;' > \n",
+    "\n",
+    "   \n",
+    "   <div style=\"text-align:center\">\n",
+    "    <b><font size=\"6.4\">Compressed sensing for identifying materials descriptors</font></b>    \n",
+    "  </div>\n",
+    "    \n",
+    "<p>\n",
+    " created by:\n",
+    " Emre Ahmetcik<sup>1</sup>, \n",
+    " Angelo Ziletti<sup>1</sup>,\n",
+    " Runhai Ouyang<sup> 1</sup>,\n",
+    " Luca Ghiringhelli<sup> 1</sup>,\n",
+    " and Matthias Scheffler<sup>1</sup> <br><br>\n",
+    "   \n",
+    "<sup>1</sup> Fritz Haber Institute of the Max Planck Society, Faradayweg 4-6, D-14195 Berlin, Germany <br>\n",
+    "<span class=\"nomad--last-updated\" data-version=\"v1.0.0\">[Last updated: April 5, 2019]</span>\n",
+    "</p>\n",
+    "\n",
+    "      \n",
+    "<div> \n",
+    "<img  style=\"float: left;\" src=\"assets/compressed_sensing_2018/Logo_MPG.png\" width=\"200\"> \n",
+    "<img  style=\"float: right;\" src=\"assets/compressed_sensing_2018/Logo_NOMAD.png\" width=\"250\">\n",
+    "</div>\n",
+    "</p>\n",
+    "\n",
+    "</div>\n",
+    "\n",
+    "\n",
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "This tutorial shows how to find descriptive parameters (short formulas) to predict materials properties using compressed sensing tools. As an example we adress the prediction of the relative stability of 82 zincblende (ZB) versus rocksalt (RS) octet binary materials.\n",
+    "\n",
+    "The idea of using compressed sensing tools: Starting from simple physical quantities (\"building blocks\", here properties of the constituent free atoms such as orbital radii), millions (or billions) of candidate formulas are generated by applying arithmetic operations combining building blocks, for example forming sums and products of them. These candidate formulas constitute the so-called \"feature space\". Then a compressed sensing based method is used to select only a few of these formulas that explain the data, as introduced in \n",
+    "<div style=\"padding: 1ex; margin-top: 1ex; margin-bottom: 1ex; border-style: dotted; border-width: 1pt; border-color: blue; border-radius: 3px;\">\n",
+    "L. M. Ghiringhelli, J. Vybiral, S. V. Levchenko, C. Draxl, M. Scheffler: <span style=\"font-style: italic;\">Big Data of Materials Science: Critical Role of the Descriptor</span>,  Phys. Rev. Lett. 114, 105503 (2015) <a href=\"http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.114.105503\" target=\"_blank\">[PDF]</a>.</div>\n",
+    "In this tutorial we use the Sure Independence Screening and Sparsifying  Operator  (SISSO) as proposed in\n",
+    "<div style=\"padding: 1ex; margin-top: 1ex; margin-bottom: 1ex; border-style: dotted; border-width: 1pt; border-color: blue; border-radius: 3px;\">\n",
+    "R. Ouyang, S. Curtarolo, E. Ahmetcik, M. Scheffler, L. M. Ghiringhelli: <span style=\"font-style: italic;\">SISSO: a compressed-sensing method for identifying the best low-dimensional descriptor in an immensity of offered candidates</span>, Phys. Rev. Materials  2, 083802 (2018) <a href=\"https://journals.aps.org/prmaterials/abstract/10.1103/PhysRevMaterials.2.083802\" target=\"_blank\">[PDF]</a> .\n",
+    "</div>\n",
+    "\n",
+    "# Introduction to the compressed sensing methods\n",
+    "\n",
+    "The feature space is generated by creating a list of analytical expressions (the derived features), obtained by combining the primary features and arithmetic operations. We put all $m$ derived features into a descriptor matrix $\\mathbf{D} \\in \\mathbb{R}^{82 \\times m}$ where each column stands for a derived feature and each row for a compound. An $\\ell_0$-regularization \n",
+    "\n",
+    "$\\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_0\\}$\n",
+    "\n",
+    "determines those few feature columns which approximate a property vector $\\mathbf{P} \\in \\mathbb{R}^{82}$ (i.e RS vs. ZB energy differences) best. The subscript 0 stands for the $\\ell_0$-quasinorm, that counts the number of non-zero elements of $\\mathbf{c}$ and $\\lambda > 0$ is called the regularization parameter. Performing the $\\ell_0$-regularization becomes fast computational infeasable and often approximations (i.e. LASSO, orthogonal matching pursuit) are needed since in practice the $\\ell_0$-regularization needs to be solved combinatorial: All singletons, pairs, triplets, ... $n$-tuples (up to the selected maximum dimension of the descriptor) are listed and for each set a least-square regression is performed. The $n$-tuple that gives the lowest mean square error for the least-square regression fit is selected as the resulting $n$-dimensional descriptor.\n",
+    "\n",
+    "### The LASSO method\n",
+    "A convex optimization problem can be introduced by the Least Absolute Shrinkage and Selection Operator (LASSO):\n",
+    "\n",
+    "$\\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_1\\}$.\n",
+    "\n",
+    "Under certain conditions it can find a good approximation to the $\\ell_0$-regularization.\n",
+    "\n",
+    "\n",
+    "### The SISSO method\n",
+    "SISSO works iteratively. In the first iteration, a number $k$ of features is collected that have the largest correlation (scalar product) with $\\mathbf{P}$. The feature with the largest correlation is simply the 1D descriptor. Next, a residual is constructed as the error made in the first iteration. A new set of $k$ features is now selected as those having the largest correlation with the residual. The 2D descriptor is the pair of features that yield the smallest fitting error upon least-square regression, among all possible pairs contained in the union of the sets selected in this and the first iteration. In each next iteration a new residual is constructed as the error made in the previous iteration, then a new set of $k$ features is extracted as those that have largest correlation with each new residual. The $n$D descriptor is the $n$-tuple of features that yield the smallest fitting error upon least square regression, among all possible $n$-tuples contained in the union of the sets obtained in each new iteration and all the previous iterations. If $k=1$ the method collapses to the so-called orthogonal matching pursuit.\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "# Import required modules"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:07:51.124575Z",
+     "start_time": "2020-02-01T15:07:51.071968Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "import os\n",
+    "import pandas as pd\n",
+    "import numpy as np\n",
+    "from itertools import combinations\n",
+    "from time import time\n",
+    "import matplotlib.pyplot as plt \n",
+    "from sklearn.linear_model import Lasso\n",
+    "import scipy.stats as ss\n",
+    "import warnings\n",
+    "from collections import Counter\n",
+    "from sklearn.kernel_ridge import KernelRidge\n",
+    "from sklearn.model_selection import GridSearchCV, LeaveOneOut\n",
+    "\n",
+    "from ase.io import read\n",
+    "\n",
+    "from compressed_sensing_2018.sisso import SissoRegressor\n",
+    "from compressed_sensing_2018.combine_features import combine_features\n",
+    "from compressed_sensing_2018.viewer import show_structure, show_map\n",
+    "\n",
+    "# set display options for the notebook \n",
+    "%matplotlib inline\n",
+    "warnings.filterwarnings('ignore')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:10:11.987696Z",
+     "start_time": "2020-02-01T15:10:11.979674Z"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "# Create writable directory for storing temporary files \n",
+    "# Note: works only with relative path \n",
+    "tmpdir='../../tmp/'\n",
+    "if not os.path.exists(tmpdir):\n",
+    "    os.mkdir(tmpdir)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "# Get the data\n",
+    "Let us load the data from the file data/data.pkl into a data frame. The data was downloaded from the NOMAD archive and the NOMAD atomic data collection. It consists of RS-ZB energy differences (in eV/atom) of the 82 octet binary compounds, structure objects containing the atomic positions of the materials and properties of the atomic constituents. The following atomic features are considered:\n",
+    "\n",
+    "<div >\n",
+    "   <ul>\n",
+    "      <li>Z:  atomic number</li>\n",
+    "      <li>period: period in the periodic table</li>\n",
+    "      <li>IP: electron affinity</li>\n",
+    "      <li>EA: ionization potential</li>      \n",
+    "      <li>E_HOMO: HOMO</li>\n",
+    "      <li>E_LUMO: LUMO</li>   \n",
+    "      <li>r_(s, p, d): radius at the maximum of the s, p or d orbital.</li>\n",
+    "   </ul>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:06.675762Z",
+     "start_time": "2020-02-01T15:08:06.180237Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "# load data\n",
+    "RS_structures = read(\"data/compressed_sensing_2018/RS_structures.xyz\", index=':')\n",
+    "ZB_structures = read(\"data/compressed_sensing_2018/ZB_structures.xyz\", index=':')\n",
+    "\n",
+    "def generate_table(RS_structures, ZB_structures):\n",
+    "\n",
+    "    for RS, ZB in zip(RS_structures, ZB_structures):\n",
+    "        energy_diff = RS.info['energy'] - ZB.info['energy']\n",
+    "        min_struc_type = 'RS' if energy_diff < 0 else 'ZB'\n",
+    "        struc_obj_min = RS if energy_diff < 0 else ZB\n",
+    "\n",
+    "        yield [RS.info['energy'], ZB.info['energy'],\n",
+    "               energy_diff, min_struc_type,\n",
+    "               RS.info['Z'], ZB.info['Z'],\n",
+    "               RS.info['period'], ZB.info['period'],\n",
+    "               RS.info['IP'], ZB.info['IP'],\n",
+    "               RS.info['EA'], ZB.info['EA'],\n",
+    "               RS.info['E_HOMO'], ZB.info['E_HOMO'],\n",
+    "               RS.info['E_LUMO'], ZB.info['E_LUMO'],\n",
+    "               RS.info['r_s'], ZB.info['r_s'],\n",
+    "               RS.info['r_p'], ZB.info['r_p'],\n",
+    "               RS.info['r_d'], ZB.info['r_d'],\n",
+    "               RS, ZB, struc_obj_min]\n",
+    "        \n",
+    "    \n",
+    "df = pd.DataFrame(\n",
+    "    generate_table(RS_structures, ZB_structures),\n",
+    "    columns=['energy_RS', 'energy_ZB', \n",
+    "             'energy_diff', 'min_struc_type', \n",
+    "             'Z(A)', 'Z(B)', \n",
+    "             'period(A)', 'period(B)', \n",
+    "             'IP(A)', 'IP(B)', \n",
+    "             'EA(A)', 'EA(B)', \n",
+    "             'E_HOMO(A)', 'E_HOMO(B)', \n",
+    "             'E_LUMO(A)', 'E_LUMO(B)', \n",
+    "             'r_s(A)', 'r_s(B)', \n",
+    "             'r_p(A)', 'r_p(B)', \n",
+    "             'r_d(A)', 'r_d(B)',\n",
+    "             'struc_obj_RS', 'struc_obj_ZB', 'struc_obj_min'],\n",
+    "    index=list(RS.get_chemical_formula() for RS in RS_structures)\n",
+    ")\n",
+    "\n",
+    "# print data without structure objects\n",
+    "df.drop(['struc_obj_RS', 'struc_obj_ZB', 'struc_obj_min'], axis=1)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:07.535666Z",
+     "start_time": "2020-02-01T15:08:07.348878Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "# demonstrate 3x3x3 supercell of one example structure\n",
+    "example_structure = df.loc['AgBr', 'struc_obj_RS'] * [3, 3, 3]\n",
+    "show_structure(example_structure, filename=tmpdir + 'example_structure.in')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "Let us look at the distribution of the energy differences."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:08.593069Z",
+     "start_time": "2020-02-01T15:08:08.157606Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "plt.hist(df['energy_diff'].tolist(), bins=30)\n",
+    "plt.xlabel('$\\Delta E$')\n",
+    "plt.ylabel('Counts')\n",
+    "plt.show()\n",
+    "print('Standard deviation: %.3f eV/atom' % df['energy_diff'].values.std())"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "With the SISSO method, we are able to predict the energy differences from the atomic features with an accuracy of 0.035 eV/atom. However, due to computational limit we will target an accuracy of around 0.1 eV/atom in this tutorial.  \n",
+    "\n",
+    "Now let us define a function get_data that uses the data frame df_data to define the target vector $\\mathbf{P}$ of energy differences and construct the desriptor matrix $\\mathbf{D}$ of combined features. The arguments selected_feature_list and allowed_operations specify which primary features and which arithmetic operations should be used to build the new derived features."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:09.401768Z",
+     "start_time": "2020-02-01T15:08:09.392353Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "def get_data(selected_feature_list, allowed_operations):\n",
+    "    # add both '(A)', '(B)' to each feature\n",
+    "    selected_featureAB_list = [f+A_or_B for f in selected_feature_list for A_or_B in ['(A)', '(B)']]\n",
+    "    \n",
+    "    # extract energy differences and selected features from df_data \n",
+    "    P = df['energy_diff'].values\n",
+    "    df_features = df[selected_featureAB_list]\n",
+    "    \n",
+    "    \n",
+    "    # derive new features using allowed_operations\n",
+    "    df_combined = combine_features(df=df_features, allowed_operations=allowed_operations)\n",
+    "    return P, df_combined"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:10.268188Z",
+     "start_time": "2020-02-01T15:08:10.139408Z"
+    },
+    "pycharm": {},
+    "scrolled": false
+   },
+   "outputs": [],
+   "source": [
+    "# selected_feature_list = ['IP', 'EA', 'E_HOMO', 'E_LUMO', 'r_s', 'r_p', 'r_d', 'Z', 'period', 'd']\n",
+    "selected_feature_list = ['r_s', 'r_p']\n",
+    "\n",
+    "# allowed_operations = ['+', '-', '|-|', '*', '/' '^2', '^3',  'exp']\n",
+    "allowed_operations = ['+']\n",
+    "\n",
+    "P, df_D = get_data(selected_feature_list, allowed_operations)\n",
+    "\n",
+    "# print derived features\n",
+    "df_D"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "# Determining low-dimensional descriptors with the $\\ell_0$ method\n",
+    "\n",
+    "<div style=\"list-style:disc; margin: 2px;padding: 10px;border: 0px;border:8px double   green; font-size:16px;padding-left: 32px;padding-right: 22px; width:89%\">\n",
+    "<li> Perform an $\\ell_0$-regularization to identify the best low dimensional descriptors using the primary features.</li>\n",
+    "<li> Show that non-linear functions of the primary features improve the models significantly. </li>\n",
+    "<li> See that the $\\ell_0$-regularization can rapidly become computational infeasible.</li>\n",
+    "</div>\n",
+    "\n",
+    "Our target is to find the best low dimensional descriptor for a linear model. The $\\ell_0$ regularization\n",
+    "\n",
+    "$\\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_0\\}$\n",
+    "\n",
+    "provides exactly what we want. It is defined in the follwing and solved combinatorial:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:11.085554Z",
+     "start_time": "2020-02-01T15:08:11.062035Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "def L0(P, D, dimension):\n",
+    "    n_rows, n_columns = D.shape\n",
+    "    D = np.column_stack((D, np.ones(n_rows)))\n",
+    "    SE_min = np.inner(P ,P)\n",
+    "    coef_min, permu_min = None, None\n",
+    "    for permu in combinations(range(n_columns), dimension):\n",
+    "        D_ls = D[:, permu + (-1,)]\n",
+    "        coef, SE, __1, __2 = np.linalg.lstsq(D_ls, P, rcond=-1)\n",
+    "        try:\n",
+    "            if SE[0] < SE_min: \n",
+    "                SE_min = SE[0]\n",
+    "                coef_min, permu_min = coef, permu\n",
+    "        except:\n",
+    "            pass\n",
+    "    RMSE = np.sqrt(SE_min/n_rows)\n",
+    "    return RMSE, coef_min, permu_min"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "Perform the $\\ell_0$-regularization for different dimensions (numbers of non-zero coefficients in the model) and see the root mean square errors (RMSE) and the selected features."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:11.596377Z",
+     "start_time": "2020-02-01T15:08:11.451246Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "selected_feature_list = ['r_s', 'r_p', 'r_d', 'EA', 'IP']\n",
+    "allowed_operations = []\n",
+    "\n",
+    "P, df_D = get_data(selected_feature_list, allowed_operations)\n",
+    "features_list = df_D.columns.tolist()\n",
+    "D = df_D.values\n",
+    "\n",
+    "print(\"     RMSE   Best desriptor\")\n",
+    "for dim in range(1,11):\n",
+    "    RMSE, coefficients, selected_indices = L0(P,D,dim)\n",
+    "    print('%2sD: %.5f' % (dim, RMSE), [features_list[i] for i in selected_indices])"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "The result of performing the $\\ell_0$-regularization shows that the accuracy converges fast, e.g. we could leave out some components in the linear model without descreasing the accuracy. The second observation is that a linear model of the atomic features is not enough to describe the RS-ZB energy differences. A way out could be using non-linear machine learning models, e.g. kernel ridge regression or a neural network, instead of linear regression. Another way is to put the non-linearity into the descriptors by building algebraic combinations of the atomic features and mapping the few best of these more complex features onto the target again with a linear model. \n",
+    "\n",
+    "Run the following script to build larger feature spaces of more complex features and select the best 1D, 2D and 3D desriptor for a linear model using $\\ell_0$-regularization. Plot the results afterwards. How does the accuracy of the models change? How does the feature space size and the dimension of the descriptors depend on the needed time to solve the $\\ell_0$-problem?"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:32.530167Z",
+     "start_time": "2020-02-01T15:08:11.816421Z"
+    },
+    "pycharm": {},
+    "scrolled": false
+   },
+   "outputs": [],
+   "source": [
+    "selected_feature_list = ['r_s', 'r_p', 'r_d', 'EA', 'IP']\n",
+    "op_lists = [[], ['+','|-|'], ['+','|-|','exp'], ['+','|-|','exp', '^2'] ]\n",
+    "X  = []\n",
+    "Errors, Time = np.empty([3,len(op_lists)]), np.empty([3,len(op_lists)])\n",
+    "\n",
+    "for n_op, allowed_operations in enumerate(op_lists):\n",
+    "    P, df_D = get_data(selected_feature_list, allowed_operations)\n",
+    "    features_list = df_D.columns.tolist()\n",
+    "    D = df_D.values\n",
+    "    \n",
+    "    number_of_features = len(features_list)\n",
+    "    X.append(number_of_features)\n",
+    "    for dim in range(1,4):\n",
+    "        t1= time()\n",
+    "        RMSE, coefficients, selected_indices = L0(P,D,dim)\n",
+    "        t2 = time()-t1             \n",
+    "        \n",
+    "        Time [dim-1][n_op] = t2\n",
+    "        Errors[dim-1][n_op] = RMSE \n",
+    "        \n",
+    "        print(\"n_features: %s; %sD  RMSE: %.3f  best features: %s\" \n",
+    "              %(len(features_list), dim, RMSE, [features_list[i] for i in selected_indices]))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:32.926618Z",
+     "start_time": "2020-02-01T15:08:32.534815Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "#plot\n",
+    "f, (ax1, ax2) = plt.subplots(1,2, sharex=True, figsize=(12,8))\n",
+    "ax1.set_xlabel('Feature space size')\n",
+    "ax2.set_xlabel('Feature space size')\n",
+    "ax1.set_ylabel('RMSE [eV/atom]')\n",
+    "ax2.set_ylabel('Time [s]')\n",
+    "#ax2.set_yscale('log')\n",
+    "\n",
+    "for dim in range(1,4):\n",
+    "    ax1.plot(X, Errors[dim-1], 's-', label='%sD' %dim)\n",
+    "    ax2.plot(X, Time[dim-1], 's-', label='%sD' %dim)\n",
+    "ax2.legend(loc='best')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "Assume now that we would like to include thousands or millions of (more) complex features to obtain more accurate models..."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "# Approximations to the $\\ell_0$ method\n",
+    "<div style=\"list-style:disc; margin: 2px;padding: 10px;border: 0px;border:8px double   green; font-size:16px;padding-left: 32px;padding-right: 22px; width:89%\">\n",
+    "<li >Perform a LASSO minimization and the SISSO method.</li>\n",
+    "<li >Compare the solutions with the ones from the $\\ell_0$ method.</li>\n",
+    "</div>\n",
+    "\n",
+    "### The LASSO\n",
+    "\n",
+    "\n",
+    "One state-of-the art approximation to the $\\ell_0$ method is the LASSO: \n",
+    "\n",
+    "$\\text{argmin}_{\\mathbf{c} \\in \\mathbb{R}^{m}} \\{\\|\\mathbf{P} - \\mathbf{D}\\mathbf{c}\\|^2_2 +\\lambda \\|\\mathbf{c}\\|_1\\}$.\n",
+    "\n",
+    "Before performing the LASSO regression we standardize the data to have mean 0 and variance 1, since otherwise the $\\ell_2$-norm of a column would affect bias its contribution to the model. <br>\n",
+    "Note that we can use the LASSO also only for feature selection. We use then a least-square model with the selected features afterwards instead of the LASSO model directly."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:32.957017Z",
+     "start_time": "2020-02-01T15:08:32.935268Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "def lasso_fit(lam, P, D, feature_list):\n",
+    "    #LASSO\n",
+    "    D_standardized = ss.zscore(D)\n",
+    "    lasso =  Lasso(alpha=lam)\n",
+    "    lasso.fit(D_standardized, P)\n",
+    "    coef =  lasso.coef_\n",
+    "    \n",
+    "    # get strings of selected features\n",
+    "    selected_indices = coef.nonzero()[0]\n",
+    "    selected_features = [feature_list[i] for i in selected_indices]\n",
+    "    \n",
+    "    # get RMSE of LASSO model\n",
+    "    P_predict = lasso.predict(D_standardized)\n",
+    "    RMSE_LASSO = np.linalg.norm(P-P_predict) / np.sqrt(82.)\n",
+    "\n",
+    "    #get RMSE for least-square fit\n",
+    "    D_new = D[:, selected_indices]\n",
+    "    D_new = np.column_stack((D_new, np.ones(82)))\n",
+    "    RMSE_LS = np.sqrt(np.linalg.lstsq(D_new,P)[1][0]/82.)\n",
+    "        \n",
+    "    return RMSE_LASSO, RMSE_LS, coef, selected_features"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "$\\lambda$ regulates the sparsity of the coefficient vector of the model. Get the data and try different $\\lambda$ by adjusting the varibale lam. How good does LASSO (directly or with a least-square fit afterwards) approximate the L0-method (when the same feature space is used for both)?"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:33.604193Z",
+     "start_time": "2020-02-01T15:08:32.963148Z"
+    },
+    "pycharm": {},
+    "scrolled": true
+   },
+   "outputs": [],
+   "source": [
+    "#import Data\n",
+    "selected_feature_list = ['r_s', 'r_p', 'r_d', 'EA', 'IP']\n",
+    "allowed_operations = ['+','|-|','exp', '^2']\n",
+    "P, df_D = get_data(selected_feature_list, allowed_operations)\n",
+    "D = df_D.values\n",
+    "features_list = df_D.columns.tolist()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:34.160062Z",
+     "start_time": "2020-02-01T15:08:33.670559Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "# change lam between 0.02 and 0.34, e.g. 0.34, 0.30, 0.20, 0.13, 0.10, 0.02\n",
+    "lam = 0.2\n",
+    "\n",
+    "RMSE_LASSO, RMSE_LS, coef, selected_features = lasso_fit(lam, P, D, features_list)\n",
+    "plt.bar(range(len(coef)), np.abs(coef))\n",
+    "plt.xlabel(\"Coefficient index $i$\")\n",
+    "plt.ylabel(\"$|c_i|$\")\n",
+    "\n",
+    "print(\"lambda: %.3f\\t dimension of descriptor: %s\\t RMSE_LASSO: %.3f\\t RMSE_LS: %.3f\" \n",
+    "      %(lam, len(selected_features), RMSE_LASSO, RMSE_LS))\n",
+    "print(pd.DataFrame({'features':np.array(selected_features), 'abs(nonzero_coefs_LASSO)': np.abs(coef[coef.nonzero()])}))\n",
+    "plt.show()    "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "Hint:\n",
+    "Compare these results to the L0 results you have obtained before from the same feature space, copied and pasted in here:<br>\n",
+    "\"Number of total features generated: 115 <br>\n",
+    "features: 115; 1D  RMSE: 0.296667841349  best features: ['(r_p(A)+r_d(B))'] <br>\n",
+    "features: 115; 2D  RMSE: 0.194137970112  best features: ['(r_s(B)+r_p(A))', '(r_s(B)+r_p(A))^2'] <br>\n",
+    "features: 115; 3D  RMSE: 0.170545592998  best features: ['(r_s(B)+r_p(A))', '(r_s(B)+r_p(A))^2', 'exp(r_s(B)+r_p(A))']\""
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "### The SISSO method"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:34.807864Z",
+     "start_time": "2020-02-01T15:08:34.175028Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "#import Data\n",
+    "selected_feature_list = ['r_s', 'r_p', 'r_d', 'EA', 'IP']\n",
+    "allowed_operations = ['+','|-|','exp', '^2']\n",
+    "P, df_D = get_data(selected_feature_list, allowed_operations)\n",
+    "D = df_D.values\n",
+    "features_list = df_D.columns.tolist()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "Now apply the SISSO algorithm. How does the SISSO method compare to the LASSO and to the $\\ell_0$-regularization in terms of accuracy (again when using the same feature space)? How fast is SISSO compared to the $\\ell_0$-regularization? How does n_features_per_sis_iter (the number of features collected per sis iteration) affect the performance? Note, that for n_features_per_sis_iter=1 SISSO becomes the so-called orthogonal matching pursuit, another well-known compressed sensing method."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:35.168286Z",
+     "start_time": "2020-02-01T15:08:34.867098Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "sisso = SissoRegressor(n_nonzero_coefs=3, n_features_per_sis_iter=10)\n",
+    "\n",
+    "sisso.fit(D, P)\n",
+    "sisso.print_models(features_list)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "# Run the SISSO method with a big feature space\n",
+    "<div style=\"list-style:disc; margin: 2px;padding: 10px;border: 0px;border:8px double   green; font-size:16px;padding-left: 32px;padding-right: 22px; width:89%\">\n",
+    "<li>Reproduce the results from the <a href=\"http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.114.105503\" target=\"_blank\">reference publication</a>  by including further features.</li>\n",
+    "<li>Visualize the 2D descriptors in a structure map.</li>\n",
+    "<li>Experiment with different settings and investigate the influence of the input parameters on the results. (OPTIONAL)</li>\n",
+    "</div>\n",
+    "Note the size of the feature space, the needed time to run the code and the accuracy (using the default settings)!"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:08:41.070056Z",
+     "start_time": "2020-02-01T15:08:35.174223Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "# parameters for feature space construction\n",
+    "selected_feature_list = ['IP', 'EA', 'r_s', 'r_p','r_d']\n",
+    "allowed_operations = ['+','|-|','exp','^2', '/']\n",
+    "\n",
+    "# get the data\n",
+    "P, df_D = get_data(selected_feature_list, allowed_operations)\n",
+    "D = df_D.values\n",
+    "features_list = df_D.columns.tolist()\n",
+    "\n",
+    "sisso = SissoRegressor(n_nonzero_coefs=3, n_features_per_sis_iter=26)\n",
+    "\n",
+    "sisso.fit(D, P)\n",
+    "sisso.print_models(features_list)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "Next, plot an interactive 2D structure map using the 2D descriptor. By <i>hovering</i> over a point in the plot, information regarding that system is displayed. By <i>clicking</i> a point, an interactive 3D visualization of the structure will be displayed below.\n",
+    "\n",
+    "The markers represent the compounds and their colors the reference energy differences. How well does the descriptor separate the compounds with respect to their crystal structure?"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:10:34.401565Z",
+     "start_time": "2020-02-01T15:10:20.616893Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "# get 2d solution\n",
+    "P_predict = sisso.predict(D, dim=2)\n",
+    "D_selcted = df_D.values[:, sisso.l0_selected_indices[1]]\n",
+    "features = df_D.columns[sisso.l0_selected_indices[1]]\n",
+    "\n",
+    "# plot 2D map \n",
+    "show_map(df, D_selcted, P_predict, features, prefix=tmpdir)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "# Predicting new materials (extrapolation)\n",
+    "<div style=\"list-style:disc; margin: 2px;padding: 10px;border: 0px;border:8px double   green; font-size:16px;padding-left: 32px;padding-right: 22px; width:89%\">\n",
+    "<li>Perform a leave-one-out cross-validation (LOOCV) using SISSO.</li>\n",
+    "<li>Analyze the prediction accuracy and how often the same descriptor is selected.</li>\n",
+    "</div>\n",
+    "\n",
+    "We have seen that we can fit the energy differences of materials accurately. But what about predicting the energy difference of a 'new' material (which was not included when determining the model)? We test the prediction performance via LOOCV.  In a LOOCV for each material the following procedure is performed: the selected material is excluded, the model is built on the remaining materials and the model accurcy is tested on the excluded material. This means that we need to run SISSO function 82 times. <br>\n",
+    "Get the data in the next cell and run the LOOCV  one cell after. Note that running the LOOCV  could take up to ten minutes. Use the remaining two cells of this chapter to analyse the results.<br>\n",
+    "How is the prediction error compared to the fitting error? How often is the same descriptor selected? Are there materials which had a outlying high/low error?"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:10:45.341438Z",
+     "start_time": "2020-02-01T15:10:42.827272Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "# get the data\n",
+    "selected_feature_list = ['IP', 'EA', 'r_s', 'r_p','r_d']\n",
+    "allowed_operations = ['+','|-|','exp', '^2', '/']\n",
+    "\n",
+    "P, df_D = get_data(selected_feature_list, allowed_operations)\n",
+    "features_list = df_D.columns.tolist()\n",
+    "chemical_formulas = df_D.index.tolist()\n",
+    "D = df_D.values"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:11:19.159914Z",
+     "start_time": "2020-02-01T15:10:45.345369Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "# Leave-one-out cross-validation\n",
+    "n_compounds = len(P)\n",
+    "dimensions = range(1, 4)\n",
+    "features_count = [[] for i in range(3)]\n",
+    "P_predict = np.empty([len(dimensions), n_compounds])\n",
+    "\n",
+    "sisso = SissoRegressor(n_nonzero_coefs=3, n_features_per_sis_iter=10)\n",
+    "loo = LeaveOneOut()\n",
+    "\n",
+    "for indices_train, index_test in loo.split(P):\n",
+    "    i_cv = index_test[0]\n",
+    "    print('%2s) Leave out %s: Ediff_ref = %.3f eV/atom' \n",
+    "          % (index_test[0]+1, chemical_formulas[i_cv], P[i_cv]))\n",
+    "        \n",
+    "    sisso.fit(D[indices_train], P[indices_train])\n",
+    "    sisso.print_models(features_list)    \n",
+    "    \n",
+    "    for dim in dimensions:      \n",
+    "        features = [features_list[i] for i in sisso.l0_selected_indices[dim - 1]]\n",
+    "        predicted_value = sisso.predict(D[index_test], dim=dim)[0]\n",
+    "        \n",
+    "        features_count[dim-1].append( tuple(features) )        \n",
+    "        P_predict[dim-1, i_cv] = predicted_value\n",
+    "        \n",
+    "        print('Ediff_predicted(%sD) = %.3f eV/atom' %(dim, predicted_value))\n",
+    "    print('-----')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:11:19.501633Z",
+     "start_time": "2020-02-01T15:11:19.164428Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "#Plot Prediction errors\n",
+    "prediction_errors = np.linalg.norm(P-P_predict, axis=1)/np.sqrt(n_compounds)\n",
+    "for dim in dimensions:\n",
+    "    predict = P_predict[dim-1]\n",
+    "    if dim == 1:\n",
+    "        maxi = max(max(P), max(predict))\n",
+    "        mini = min(min(P), min(predict))\n",
+    "        plt.plot([maxi,mini], [maxi,mini], 'k')\n",
+    "    plt.scatter(P, predict, color=['b','r', 'g'][dim-1], label='%sD, RMSE = %.3f eV/atom' %(dim, prediction_errors[dim-1]))\n",
+    "plt.legend(loc='best')\n",
+    "plt.xlabel('E_diff_DFT'), plt.ylabel('E_diff_predicted')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:11:19.663495Z",
+     "start_time": "2020-02-01T15:11:19.530127Z"
+    },
+    "pycharm": {},
+    "scrolled": true
+   },
+   "outputs": [],
+   "source": [
+    "# Print descriptor selection frequency\n",
+    "print(\"Descriptor selection frequency\")\n",
+    "for dim in dimensions:    \n",
+    "    df_frequency = pd.DataFrame( Counter(features_count[dim-1]).most_common(10), columns=['Features', 'Frequency'] )\n",
+    "    print('-----------------\\n%sD:\\n%s' % (dim, df_frequency))\n",
+    "\n",
+    "# create table to display errors and models\n",
+    "feat = np.array(features_count).flatten('F')\n",
+    "Pred = np.array(P_predict).flatten('F')\n",
+    "Pred_errors = np.abs(P-P_predict).flatten('F')\n",
+    "Ref_values = [r for p in P for r in [p,p,p] ]\n",
+    "Mats = [m for mat in chemical_formulas for m in [mat, mat, mat] ]\n",
+    "Dims = ['1D','2D','3D'] * n_compounds\n",
+    "\n",
+    "df_loo = pd.DataFrame(zip(Ref_values,Pred,Pred_errors,feat), index = [Mats,Dims],\n",
+    "                  columns=['P_ref[eV]', 'P_pred[eV]', 'abs. error [eV]', 'Selected features'])\n",
+    "\n",
+    "#  if you do not want to sort the data frame by the prediction error comment out the nex line \n",
+    "df_loo = df_loo.sort_values('abs. error [eV]', ascending=False)\n",
+    "pd.set_option('display.expand_frame_repr', False)\n",
+    "\n",
+    "display(df_loo)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "pycharm": {}
+   },
+   "source": [
+    "## Kernel ridge regession\n",
+    "Last but not least, compare the prediction (LOOCV) performance of SISSO to the one of kernel ridge regression with a gaussian kernel:\n",
+    "\n",
+    "$K(x, y) = \\exp(-\\gamma ||x-y||^2)$.\n",
+    "\n",
+    "At each LOOCV step, the hyperparameters ($\\ell_2$-regularization parameter $\\lambda$ and inverse gaussian width $\\gamma$) are selected via a grid search and a so-called 5-fold cross-validation on the training set."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:11:19.693591Z",
+     "start_time": "2020-02-01T15:11:19.667228Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "selected_feature_list = ['IP', 'EA', 'r_s', 'r_p','r_d']\n",
+    "allowed_operations = []\n",
+    "\n",
+    "P, df_D = get_data(selected_feature_list, allowed_operations)\n",
+    "features_list = df_D.columns.tolist()\n",
+    "D = df_D.values"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:11:57.937960Z",
+     "start_time": "2020-02-01T15:11:19.696692Z"
+    },
+    "pycharm": {},
+    "scrolled": false
+   },
+   "outputs": [],
+   "source": [
+    "kr = GridSearchCV(KernelRidge(kernel='rbf'), cv=5,\n",
+    "                  param_grid={\"alpha\": np.logspace(-3, 0, 5),\n",
+    "                              \"gamma\": np.logspace(-2, 1, 5)})\n",
+    "P_predict_kr = []\n",
+    "loo = LeaveOneOut()\n",
+    "for indices_train, index_test in loo.split(P):\n",
+    "    kr.fit(D[indices_train], P[indices_train])\n",
+    "    print(\"%2i Ediff_ref: %.3f, Ediff_pred: %.3f, hyperparameters: {'lambda': %.3f, 'gamma':%.3f}\" \n",
+    "          % (index_test[0], P[index_test], kr.predict(D[index_test]), \n",
+    "          kr.best_params_['alpha'], kr.best_params_['gamma']))\n",
+    "    P_predict_kr.append(kr.predict(D[index_test])[0])\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2020-02-01T15:11:58.239651Z",
+     "start_time": "2020-02-01T15:11:57.951531Z"
+    },
+    "pycharm": {}
+   },
+   "outputs": [],
+   "source": [
+    "prediction_rmse_kr = np.linalg.norm(np.array(P_predict_kr) - P)/np.sqrt(P.size)\n",
+    "\n",
+    "maxi = max(max(P), max(P_predict_kr))\n",
+    "mini = min(min(P), min(P_predict_kr))\n",
+    "plt.plot([maxi,mini], [maxi,mini], 'k')\n",
+    "plt.scatter(P, P_predict[-1], label='SISSO 3D, RMSE = %.3f eV/atom' % prediction_errors[dim-1])\n",
+    "plt.scatter(P, P_predict_kr,  label='KR, RMSE = %.3f eV/atom' % prediction_rmse_kr)\n",
+    "plt.xlabel('E_diff_DFT'), plt.ylabel('E_diff_predicted')\n",
+    "plt.legend()\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/modules/__init__.py b/compressed_sensing_2018/__init__.py
similarity index 100%
rename from modules/__init__.py
rename to compressed_sensing_2018/__init__.py
diff --git a/modules/combine_features.py b/compressed_sensing_2018/combine_features.py
similarity index 100%
rename from modules/combine_features.py
rename to compressed_sensing_2018/combine_features.py
diff --git a/modules/sisso.py b/compressed_sensing_2018/sisso.py
similarity index 100%
rename from modules/sisso.py
rename to compressed_sensing_2018/sisso.py
diff --git a/modules/viewer.py b/compressed_sensing_2018/viewer.py
similarity index 100%
rename from modules/viewer.py
rename to compressed_sensing_2018/viewer.py
diff --git a/data/compressed_sensing_2018/RS_structures.xyz b/data/compressed_sensing_2018/RS_structures.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..64dee5a7a8b6ff088622ac5a146bf8a8ec778ff6
--- /dev/null
+++ b/data/compressed_sensing_2018/RS_structures.xyz
@@ -0,0 +1,328 @@
+2
+Lattice="0.0 2.7925 2.7925 2.7925 0.0 2.7925 2.7925 2.7925 0.0" Properties=species:S:1:pos:R:3 energy=-108781.33395857112 Z=47.0 period=5.0 IP=-8.0580997467 EA=-1.6665999889399998 E_HOMO=-4.71000003815 E_LUMO=-0.47900000214599997 r_s=1.32000005245 r_p=1.87999999523 r_d=2.97000002861 pbc="T T T"
+Ag       0.00000000       0.00000000       0.00000000 
+Br       2.79250000       2.79250000       2.79250000 
+2
+Lattice="0.0 2.6775 2.6775 2.6775 0.0 2.6775 2.6775 2.6775 0.0" Properties=species:S:1:pos:R:3 energy=-79397.45108274152 Z=47.0 period=5.0 IP=-8.0580997467 EA=-1.6665999889399998 E_HOMO=-4.71000003815 E_LUMO=-0.47900000214599997 r_s=1.32000005245 r_p=1.87999999523 r_d=2.97000002861 pbc="T T T"
+Ag       0.00000000       0.00000000       0.00000000 
+Cl       2.67750000       2.67750000       2.67750000 
+2
+Lattice="0.0 2.3955 2.3955 2.3955 0.0 2.3955 2.3955 2.3955 0.0" Properties=species:S:1:pos:R:3 energy=-74477.4281651636 Z=47.0 period=5.0 IP=-8.0580997467 EA=-1.6665999889399998 E_HOMO=-4.71000003815 E_LUMO=-0.47900000214599997 r_s=1.32000005245 r_p=1.87999999523 r_d=2.97000002861 pbc="T T T"
+Ag       0.00000000       0.00000000       0.00000000 
+F       2.39550000       2.39550000       2.39550000 
+2
+Lattice="0.0 2.9485 2.9485 2.9485 0.0 2.9485 2.9485 2.9485 0.0" Properties=species:S:1:pos:R:3 energy=-171339.20818144767 Z=47.0 period=5.0 IP=-8.0580997467 EA=-1.6665999889399998 E_HOMO=-4.71000003815 E_LUMO=-0.47900000214599997 r_s=1.32000005245 r_p=1.87999999523 r_d=2.97000002861 pbc="T T T"
+Ag       0.00000000       0.00000000       0.00000000 
+I       2.94850000       2.94850000       2.94850000 
+2
+Lattice="0.0 2.6060000000000003 2.6060000000000003 2.6060000000000003 0.0 2.6060000000000003 2.6060000000000003 2.6060000000000003 0.0" Properties=species:S:1:pos:R:3 energy=-34200.07751274624 Z=13.0 period=3.0 IP=-5.78049993515 EA=-0.3125 E_HOMO=-2.7839999198900003 E_LUMO=0.6949999928470001 r_s=1.09000003338 r_p=1.38999998569 r_d=1.94000005722 pbc="T T T"
+Al       0.00000000       0.00000000       0.00000000 
+As       2.60600000       2.60600000       2.60600000 
+2
+Lattice="0.0 2.0045 2.0045 2.0045 0.0 2.0045 2.0045 2.0045 0.0" Properties=species:S:1:pos:R:3 energy=-4036.4290485037673 Z=13.0 period=3.0 IP=-5.78049993515 EA=-0.3125 E_HOMO=-2.7839999198900003 E_LUMO=0.6949999928470001 r_s=1.09000003338 r_p=1.38999998569 r_d=1.94000005722 pbc="T T T"
+Al       0.00000000       0.00000000       0.00000000 
+N       2.00450000       2.00450000       2.00450000 
+2
+Lattice="0.0 2.4990000000000006 2.4990000000000006 2.4990000000000006 0.0 2.4990000000000006 2.4990000000000006 2.4990000000000006 0.0" Properties=species:S:1:pos:R:3 energy=-7940.862745223371 Z=13.0 period=3.0 IP=-5.78049993515 EA=-0.3125 E_HOMO=-2.7839999198900003 E_LUMO=0.6949999928470001 r_s=1.09000003338 r_p=1.38999998569 r_d=1.94000005722 pbc="T T T"
+Al       0.00000000       0.00000000       0.00000000 
+P       2.49900000       2.49900000       2.49900000 
+2
+Lattice="0.0 2.824 2.824 2.824 0.0 2.824 2.824 2.824 0.0" Properties=species:S:1:pos:R:3 energy=-92644.19200438487 Z=13.0 period=3.0 IP=-5.78049993515 EA=-0.3125 E_HOMO=-2.7839999198900003 E_LUMO=0.6949999928470001 r_s=1.09000003338 r_p=1.38999998569 r_d=1.94000005722 pbc="T T T"
+Al       0.00000000       0.00000000       0.00000000 
+Sb       2.82400000       2.82400000       2.82400000 
+2
+Lattice="0.0 2.627 2.627 2.627 0.0 2.627 2.627 2.627 0.0" Properties=species:S:1:pos:R:3 energy=-57457.67995787478 Z=31.0 period=4.0 IP=-5.81820011139 EA=-0.10809999704399999 E_HOMO=-2.73200011253 E_LUMO=0.129999995232 r_s=0.9900000095370001 r_p=1.33000004292 r_d=2.16000008583 pbc="T T T"
+Ga       0.00000000       0.00000000       0.00000000 
+As       2.62700000       2.62700000       2.62700000 
+2
+Lattice="0.0 2.2695 2.2695 2.2695 0.0 2.2695 2.2695 2.2695 0.0" Properties=species:S:1:pos:R:3 energy=-31239.347344138314 Z=5.0 period=2.0 IP=-8.18999958038 EA=-0.107400000095 E_HOMO=-3.71499991417 E_LUMO=2.24799990654 r_s=0.8100000023839999 r_p=0.829999983311 r_d=1.9500000476800001 pbc="T T T"
+B       0.00000000       0.00000000       0.00000000 
+As       2.26950000       2.26950000       2.26950000 
+2
+Lattice="0.0 1.7310000000000003 1.7310000000000003 1.7310000000000003 0.0 1.7310000000000003 1.7310000000000003 1.7310000000000003 0.0" Properties=species:S:1:pos:R:3 energy=-1075.0334152931262 Z=5.0 period=2.0 IP=-8.18999958038 EA=-0.107400000095 E_HOMO=-3.71499991417 E_LUMO=2.24799990654 r_s=0.8100000023839999 r_p=0.829999983311 r_d=1.9500000476800001 pbc="T T T"
+B       0.00000000       0.00000000       0.00000000 
+N       1.73100000       1.73100000       1.73100000 
+2
+Lattice="0.0 2.13 2.13 2.13 0.0 2.13 2.13 2.13 0.0" Properties=species:S:1:pos:R:3 energy=-4980.2724198777205 Z=5.0 period=2.0 IP=-8.18999958038 EA=-0.107400000095 E_HOMO=-3.71499991417 E_LUMO=2.24799990654 r_s=0.8100000023839999 r_p=0.829999983311 r_d=1.9500000476800001 pbc="T T T"
+B       0.00000000       0.00000000       0.00000000 
+P       2.13000000       2.13000000       2.13000000 
+2
+Lattice="0.0 2.4655 2.4655 2.4655 0.0 2.4655 2.4655 2.4655 0.0" Properties=species:S:1:pos:R:3 energy=-89683.61370141403 Z=5.0 period=2.0 IP=-8.18999958038 EA=-0.107400000095 E_HOMO=-3.71499991417 E_LUMO=2.24799990654 r_s=0.8100000023839999 r_p=0.829999983311 r_d=1.9500000476800001 pbc="T T T"
+B       0.00000000       0.00000000       0.00000000 
+Sb       2.46550000       2.46550000       2.46550000 
+2
+Lattice="0.0 2.718 2.718 2.718 0.0 2.718 2.718 2.718 0.0" Properties=species:S:1:pos:R:3 energy=-113504.82696334521 Z=56.0 period=6.0 IP=-5.515699863430001 EA=0.277999997139 E_HOMO=-3.3459999561299996 E_LUMO=-2.1289999484999997 r_s=2.15000009537 r_p=2.63000011444 r_d=1.35000002384 pbc="T T T"
+Ba       0.00000000       0.00000000       0.00000000 
+O       2.71800000       2.71800000       2.71800000 
+2
+Lattice="0.0 3.1355000000000004 3.1355000000000004 3.1355000000000004 0.0 3.1355000000000004 3.1355000000000004 3.1355000000000004 0.0" Properties=species:S:1:pos:R:3 energy=-117910.27093993322 Z=56.0 period=6.0 IP=-5.515699863430001 EA=0.277999997139 E_HOMO=-3.3459999561299996 E_LUMO=-2.1289999484999997 r_s=2.15000009537 r_p=2.63000011444 r_d=1.35000002384 pbc="T T T"
+Ba       0.00000000       0.00000000       0.00000000 
+S       3.13550000       3.13550000       3.13550000 
+2
+Lattice="0.0 3.2375 3.2375 3.2375 0.0 3.2375 3.2375 3.2375 0.0" Properties=species:S:1:pos:R:3 energy=-145716.76967211007 Z=56.0 period=6.0 IP=-5.515699863430001 EA=0.277999997139 E_HOMO=-3.3459999561299996 E_LUMO=-2.1289999484999997 r_s=2.15000009537 r_p=2.63000011444 r_d=1.35000002384 pbc="T T T"
+Ba       0.00000000       0.00000000       0.00000000 
+Se       3.23750000       3.23750000       3.23750000 
+2
+Lattice="0.0 3.4310000000000005 3.4310000000000005 3.4310000000000005 0.0 3.4310000000000005 3.4310000000000005 3.4310000000000005 0.0" Properties=species:S:1:pos:R:3 energy=-206204.2290453692 Z=56.0 period=6.0 IP=-5.515699863430001 EA=0.277999997139 E_HOMO=-3.3459999561299996 E_LUMO=-2.1289999484999997 r_s=2.15000009537 r_p=2.63000011444 r_d=1.35000002384 pbc="T T T"
+Ba       0.00000000       0.00000000       0.00000000 
+Te       3.43100000       3.43100000       3.43100000 
+2
+Lattice="0.0 1.792 1.792 1.792 0.0 1.792 1.792 1.792 0.0" Properties=species:S:1:pos:R:3 energy=-1218.439958463514 Z=4.0 period=2.0 IP=-9.459400177000001 EA=0.630500018597 E_HOMO=-5.599999904630001 E_LUMO=-2.0980000495900004 r_s=1.08000004292 r_p=1.21000003815 r_d=2.88000011444 pbc="T T T"
+Be       0.00000000       0.00000000       0.00000000 
+O       1.79200000       1.79200000       1.79200000 
+2
+Lattice="0.0 2.2785 2.2785 2.2785 0.0 2.2785 2.2785 2.2785 0.0" Properties=species:S:1:pos:R:3 energy=-5622.515539493347 Z=4.0 period=2.0 IP=-9.459400177000001 EA=0.630500018597 E_HOMO=-5.599999904630001 E_LUMO=-2.0980000495900004 r_s=1.08000004292 r_p=1.21000003815 r_d=2.88000011444 pbc="T T T"
+Be       0.00000000       0.00000000       0.00000000 
+S       2.27850000       2.27850000       2.27850000 
+2
+Lattice="0.0 2.417 2.417 2.417 0.0 2.417 2.417 2.417 0.0" Properties=species:S:1:pos:R:3 energy=-33428.79676209965 Z=4.0 period=2.0 IP=-9.459400177000001 EA=0.630500018597 E_HOMO=-5.599999904630001 E_LUMO=-2.0980000495900004 r_s=1.08000004292 r_p=1.21000003815 r_d=2.88000011444 pbc="T T T"
+Be       0.00000000       0.00000000       0.00000000 
+Se       2.41700000       2.41700000       2.41700000 
+2
+Lattice="0.0 2.6335 2.6335 2.6335 0.0 2.6335 2.6335 2.6335 0.0" Properties=species:S:1:pos:R:3 energy=-93916.10418609559 Z=4.0 period=2.0 IP=-9.459400177000001 EA=0.630500018597 E_HOMO=-5.599999904630001 E_LUMO=-2.0980000495900004 r_s=1.08000004292 r_p=1.21000003815 r_d=2.88000011444 pbc="T T T"
+Be       0.00000000       0.00000000       0.00000000 
+Te       2.63350000       2.63350000       2.63350000 
+2
+Lattice="0.0 1.748 1.748 1.748 0.0 1.748 1.748 1.748 0.0" Properties=species:S:1:pos:R:3 energy=-1026.5488202746917 Z=6.0 period=2.0 IP=-10.851699829100001 EA=-0.87239998579 E_HOMO=-5.415999889369999 E_LUMO=1.99199998379 r_s=0.6399999856949999 r_p=0.629999995232 r_d=1.62999999523 pbc="T T T"
+C       0.00000000       0.00000000       0.00000000 
+C       1.74800000       1.74800000       1.74800000 
+2
+Lattice="0.0 2.355 2.355 2.355 0.0 2.355 2.355 2.355 0.0" Properties=species:S:1:pos:R:3 energy=-10276.90108522353 Z=20.0 period=4.0 IP=-6.4279999733 EA=0.303900003433 E_HOMO=-3.8640000820199996 E_LUMO=-2.132999897 r_s=1.7599999904599997 r_p=2.31999993324 r_d=0.6800000071529999 pbc="T T T"
+Ca       0.00000000       0.00000000       0.00000000 
+O       2.35500000       2.35500000       2.35500000 
+2
+Lattice="0.0 2.7825000000000006 2.7825000000000006 2.7825000000000006 0.0 2.7825000000000006 2.7825000000000006 2.7825000000000006 0.0" Properties=species:S:1:pos:R:3 energy=-14681.946741034999 Z=20.0 period=4.0 IP=-6.4279999733 EA=0.303900003433 E_HOMO=-3.8640000820199996 E_LUMO=-2.132999897 r_s=1.7599999904599997 r_p=2.31999993324 r_d=0.6800000071529999 pbc="T T T"
+Ca       0.00000000       0.00000000       0.00000000 
+S       2.78250000       2.78250000       2.78250000 
+2
+Lattice="0.0 2.8965 2.8965 2.8965 0.0 2.8965 2.8965 2.8965 0.0" Properties=species:S:1:pos:R:3 energy=-42488.3529202005 Z=20.0 period=4.0 IP=-6.4279999733 EA=0.303900003433 E_HOMO=-3.8640000820199996 E_LUMO=-2.132999897 r_s=1.7599999904599997 r_p=2.31999993324 r_d=0.6800000071529999 pbc="T T T"
+Ca       0.00000000       0.00000000       0.00000000 
+Se       2.89650000       2.89650000       2.89650000 
+2
+Lattice="0.0 3.1045 3.1045 3.1045 0.0 3.1045 3.1045 3.1045 0.0" Properties=species:S:1:pos:R:3 energy=-102975.69611891978 Z=20.0 period=4.0 IP=-6.4279999733 EA=0.303900003433 E_HOMO=-3.8640000820199996 E_LUMO=-2.132999897 r_s=1.7599999904599997 r_p=2.31999993324 r_d=0.6800000071529999 pbc="T T T"
+Ca       0.00000000       0.00000000       0.00000000 
+Te       3.10450000       3.10450000       3.10450000 
+2
+Lattice="0.0 2.318 2.318 2.318 0.0 2.318 2.318 2.318 0.0" Properties=species:S:1:pos:R:3 energy=-78015.16830946339 Z=48.0 period=5.0 IP=-9.5813999176 EA=0.838699996471 E_HOMO=-5.952000141139999 E_LUMO=-1.30900001526 r_s=1.23000001907 r_p=1.7400000095400003 r_d=2.59999990463 pbc="T T T"
+Cd       0.00000000       0.00000000       0.00000000 
+O       2.31800000       2.31800000       2.31800000 
+2
+Lattice="0.0 2.6685000000000003 2.6685000000000003 2.6685000000000003 0.0 2.6685000000000003 2.6685000000000003 2.6685000000000003 0.0" Properties=species:S:1:pos:R:3 energy=-82420.56336174316 Z=48.0 period=5.0 IP=-9.5813999176 EA=0.838699996471 E_HOMO=-5.952000141139999 E_LUMO=-1.30900001526 r_s=1.23000001907 r_p=1.7400000095400003 r_d=2.59999990463 pbc="T T T"
+Cd       0.00000000       0.00000000       0.00000000 
+S       2.66850000       2.66850000       2.66850000 
+2
+Lattice="0.0 2.7815000000000003 2.7815000000000003 2.7815000000000003 0.0 2.7815000000000003 2.7815000000000003 2.7815000000000003 0.0" Properties=species:S:1:pos:R:3 energy=-110227.06126082806 Z=48.0 period=5.0 IP=-9.5813999176 EA=0.838699996471 E_HOMO=-5.952000141139999 E_LUMO=-1.30900001526 r_s=1.23000001907 r_p=1.7400000095400003 r_d=2.59999990463 pbc="T T T"
+Cd       0.00000000       0.00000000       0.00000000 
+Se       2.78150000       2.78150000       2.78150000 
+2
+Lattice="0.0 2.9655000000000005 2.9655000000000005 2.9655000000000005 0.0 2.9655000000000005 2.9655000000000005 2.9655000000000005 0.0" Properties=species:S:1:pos:R:3 energy=-170714.5893124294 Z=48.0 period=5.0 IP=-9.5813999176 EA=0.838699996471 E_HOMO=-5.952000141139999 E_LUMO=-1.30900001526 r_s=1.23000001907 r_p=1.7400000095400003 r_d=2.59999990463 pbc="T T T"
+Cd       0.00000000       0.00000000       0.00000000 
+Te       2.96550000       2.96550000       2.96550000 
+2
+Lattice="0.0 3.5105 3.5105 3.5105 0.0 3.5105 3.5105 3.5105 0.0" Properties=species:S:1:pos:R:3 energy=-143254.4343374349 Z=55.0 period=6.0 IP=-4.0061998367300005 EA=-0.569599986076 E_HOMO=-2.22000002861 E_LUMO=-0.547999978065 r_s=2.46000003815 r_p=3.16000008583 r_d=1.9700000286099997 pbc="T T T"
+Cs       0.00000000       0.00000000       0.00000000 
+Br       3.51050000       3.51050000       3.51050000 
+2
+Lattice="0.0 3.365 3.365 3.365 0.0 3.365 3.365 3.365 0.0" Properties=species:S:1:pos:R:3 energy=-113870.6262104306 Z=55.0 period=6.0 IP=-4.0061998367300005 EA=-0.569599986076 E_HOMO=-2.22000002861 E_LUMO=-0.547999978065 r_s=2.46000003815 r_p=3.16000008583 r_d=1.9700000286099997 pbc="T T T"
+Cs       0.00000000       0.00000000       0.00000000 
+Cl       3.36500000       3.36500000       3.36500000 
+2
+Lattice="0.0 2.9025 2.9025 2.9025 0.0 2.9025 2.9025 2.9025 0.0" Properties=species:S:1:pos:R:3 energy=-108950.88884883074 Z=55.0 period=6.0 IP=-4.0061998367300005 EA=-0.569599986076 E_HOMO=-2.22000002861 E_LUMO=-0.547999978065 r_s=2.46000003815 r_p=3.16000008583 r_d=1.9700000286099997 pbc="T T T"
+Cs       0.00000000       0.00000000       0.00000000 
+F       2.90250000       2.90250000       2.90250000 
+2
+Lattice="0.0 3.7270000000000003 3.7270000000000003 3.7270000000000003 0.0 3.7270000000000003 3.7270000000000003 3.7270000000000003 0.0" Properties=species:S:1:pos:R:3 energy=-205812.1828572401 Z=55.0 period=6.0 IP=-4.0061998367300005 EA=-0.569599986076 E_HOMO=-2.22000002861 E_LUMO=-0.547999978065 r_s=2.46000003815 r_p=3.16000008583 r_d=1.9700000286099997 pbc="T T T"
+Cs       0.00000000       0.00000000       0.00000000 
+I       3.72700000       3.72700000       3.72700000 
+2
+Lattice="0.0 2.5930000000000004 2.5930000000000004 2.5930000000000004 0.0 2.5930000000000004 2.5930000000000004 2.5930000000000004 0.0" Properties=species:S:1:pos:R:3 energy=-58243.772836020624 Z=29.0 period=4.0 IP=-8.38879966736 EA=-1.6384999752 E_HOMO=-4.855999946590001 E_LUMO=-0.64099997282 r_s=1.20000004768 r_p=1.67999994755 r_d=2.57999992371 pbc="T T T"
+Cu       0.00000000       0.00000000       0.00000000 
+Br       2.59300000       2.59300000       2.59300000 
+2
+Lattice="0.0 2.4645 2.4645 2.4645 0.0 2.4645 2.4645 2.4645 0.0" Properties=species:S:1:pos:R:3 energy=-28859.946960543413 Z=29.0 period=4.0 IP=-8.38879966736 EA=-1.6384999752 E_HOMO=-4.855999946590001 E_LUMO=-0.64099997282 r_s=1.20000004768 r_p=1.67999994755 r_d=2.57999992371 pbc="T T T"
+Cu       0.00000000       0.00000000       0.00000000 
+Cl       2.46450000       2.46450000       2.46450000 
+2
+Lattice="0.0 2.1985 2.1985 2.1985 0.0 2.1985 2.1985 2.1985 0.0" Properties=species:S:1:pos:R:3 energy=-23939.960840976764 Z=29.0 period=4.0 IP=-8.38879966736 EA=-1.6384999752 E_HOMO=-4.855999946590001 E_LUMO=-0.64099997282 r_s=1.20000004768 r_p=1.67999994755 r_d=2.57999992371 pbc="T T T"
+Cu       0.00000000       0.00000000       0.00000000 
+F       2.19850000       2.19850000       2.19850000 
+2
+Lattice="0.0 2.7605 2.7605 2.7605 0.0 2.7605 2.7605 2.7605 0.0" Properties=species:S:1:pos:R:3 energy=-120801.61870824985 Z=29.0 period=4.0 IP=-8.38879966736 EA=-1.6384999752 E_HOMO=-4.855999946590001 E_LUMO=-0.64099997282 r_s=1.20000004768 r_p=1.67999994755 r_d=2.57999992371 pbc="T T T"
+Cu       0.00000000       0.00000000       0.00000000 
+I       2.76050000       2.76050000       2.76050000 
+2
+Lattice="0.0 2.091 2.091 2.091 0.0 2.091 2.091 2.091 0.0" Properties=species:S:1:pos:R:3 energy=-27292.963945678744 Z=31.0 period=4.0 IP=-5.81820011139 EA=-0.10809999704399999 E_HOMO=-2.73200011253 E_LUMO=0.129999995232 r_s=0.9900000095370001 r_p=1.33000004292 r_d=2.16000008583 pbc="T T T"
+Ga       0.00000000       0.00000000       0.00000000 
+N       2.09100000       2.09100000       2.09100000 
+2
+Lattice="0.0 2.5245000000000006 2.5245000000000006 2.5245000000000006 0.0 2.5245000000000006 2.5245000000000006 2.5245000000000006 0.0" Properties=species:S:1:pos:R:3 energy=-31198.35551591384 Z=31.0 period=4.0 IP=-5.81820011139 EA=-0.10809999704399999 E_HOMO=-2.73200011253 E_LUMO=0.129999995232 r_s=0.9900000095370001 r_p=1.33000004292 r_d=2.16000008583 pbc="T T T"
+Ga       0.00000000       0.00000000       0.00000000 
+P       2.52450000       2.52450000       2.52450000 
+2
+Lattice="0.0 2.8225 2.8225 2.8225 0.0 2.8225 2.8225 2.8225 0.0" Properties=species:S:1:pos:R:3 energy=-115901.98274863836 Z=31.0 period=4.0 IP=-5.81820011139 EA=-0.10809999704399999 E_HOMO=-2.73200011253 E_LUMO=0.129999995232 r_s=0.9900000095370001 r_p=1.33000004292 r_d=2.16000008583 pbc="T T T"
+Ga       0.00000000       0.00000000       0.00000000 
+Sb       2.82250000       2.82250000       2.82250000 
+2
+Lattice="0.0 2.6455 2.6455 2.6455 0.0 2.6455 2.6455 2.6455 0.0" Properties=species:S:1:pos:R:3 energy=-57359.56120416938 Z=32.0 period=4.0 IP=-7.566999912260001 EA=-0.9490000009540001 E_HOMO=-4.04600000381 E_LUMO=2.17499995232 r_s=0.920000016689 r_p=1.15999996662 r_d=2.36999988556 pbc="T T T"
+Ge       0.00000000       0.00000000       0.00000000 
+Ge       2.64550000       2.64550000       2.64550000 
+2
+Lattice="0.0 2.156 2.156 2.156 0.0 2.156 2.156 2.156 0.0" Properties=species:S:1:pos:R:3 energy=-29193.278475127725 Z=32.0 period=4.0 IP=-7.566999912260001 EA=-0.9490000009540001 E_HOMO=-4.04600000381 E_LUMO=2.17499995232 r_s=0.920000016689 r_p=1.15999996662 r_d=2.36999988556 pbc="T T T"
+Ge       0.00000000       0.00000000       0.00000000 
+C       2.15600000       2.15600000       2.15600000 
+2
+Lattice="0.0 2.57 2.57 2.57 0.0 2.57 2.57 2.57 0.0" Properties=species:S:1:pos:R:3 energy=-32616.69403888785 Z=32.0 period=4.0 IP=-7.566999912260001 EA=-0.9490000009540001 E_HOMO=-4.04600000381 E_LUMO=2.17499995232 r_s=0.920000016689 r_p=1.15999996662 r_d=2.36999988556 pbc="T T T"
+Ge       0.00000000       0.00000000       0.00000000 
+Si       2.57000000       2.57000000       2.57000000 
+2
+Lattice="0.0 2.798 2.798 2.798 0.0 2.798 2.798 2.798 0.0" Properties=species:S:1:pos:R:3 energy=-111895.78725476544 Z=49.0 period=5.0 IP=-5.53739976883 EA=-0.256300002337 E_HOMO=-2.6970000267 E_LUMO=0.36800000071500005 r_s=1.12999999523 r_p=1.5 r_d=3.1099998951 pbc="T T T"
+In       0.00000000       0.00000000       0.00000000 
+As       2.79800000       2.79800000       2.79800000 
+2
+Lattice="0.0 2.302 2.302 2.302 0.0 2.302 2.302 2.302 0.0" Properties=species:S:1:pos:R:3 energy=-81730.71478475723 Z=49.0 period=5.0 IP=-5.53739976883 EA=-0.256300002337 E_HOMO=-2.6970000267 E_LUMO=0.36800000071500005 r_s=1.12999999523 r_p=1.5 r_d=3.1099998951 pbc="T T T"
+In       0.00000000       0.00000000       0.00000000 
+N       2.30200000       2.30200000       2.30200000 
+2
+Lattice="0.0 2.7075 2.7075 2.7075 0.0 2.7075 2.7075 2.7075 0.0" Properties=species:S:1:pos:R:3 energy=-85636.41199652261 Z=49.0 period=5.0 IP=-5.53739976883 EA=-0.256300002337 E_HOMO=-2.6970000267 E_LUMO=0.36800000071500005 r_s=1.12999999523 r_p=1.5 r_d=3.1099998951 pbc="T T T"
+In       0.00000000       0.00000000       0.00000000 
+P       2.70750000       2.70750000       2.70750000 
+2
+Lattice="0.0 2.988 2.988 2.988 0.0 2.988 2.988 2.988 0.0" Properties=species:S:1:pos:R:3 energy=-170340.10360629848 Z=49.0 period=5.0 IP=-5.53739976883 EA=-0.256300002337 E_HOMO=-2.6970000267 E_LUMO=0.36800000071500005 r_s=1.12999999523 r_p=1.5 r_d=3.1099998951 pbc="T T T"
+In       0.00000000       0.00000000       0.00000000 
+Sb       2.98800000       2.98800000       2.98800000 
+2
+Lattice="0.0 3.186 3.186 3.186 0.0 3.186 3.186 3.186 0.0" Properties=species:S:1:pos:R:3 energy=-43846.22818606151 Z=19.0 period=4.0 IP=-4.43319988251 EA=-0.621299982071 E_HOMO=-2.4260001182599997 E_LUMO=-0.6970000267030001 r_s=2.13000011444 r_p=2.4400000572200002 r_d=1.78999996185 pbc="T T T"
+K       0.00000000       0.00000000       0.00000000 
+Br       3.18600000       3.18600000       3.18600000 
+2
+Lattice="0.0 3.039 3.039 3.039 0.0 3.039 3.039 3.039 0.0" Properties=species:S:1:pos:R:3 energy=-14462.44447168486 Z=19.0 period=4.0 IP=-4.43319988251 EA=-0.621299982071 E_HOMO=-2.4260001182599997 E_LUMO=-0.6970000267030001 r_s=2.13000011444 r_p=2.4400000572200002 r_d=1.78999996185 pbc="T T T"
+K       0.00000000       0.00000000       0.00000000 
+Cl       3.03900000       3.03900000       3.03900000 
+2
+Lattice="0.0 2.5815 2.5815 2.5815 0.0 2.5815 2.5815 2.5815 0.0" Properties=species:S:1:pos:R:3 energy=-9542.777877059552 Z=19.0 period=4.0 IP=-4.43319988251 EA=-0.621299982071 E_HOMO=-2.4260001182599997 E_LUMO=-0.6970000267030001 r_s=2.13000011444 r_p=2.4400000572200002 r_d=1.78999996185 pbc="T T T"
+K       0.00000000       0.00000000       0.00000000 
+F       2.58150000       2.58150000       2.58150000 
+2
+Lattice="0.0 3.408 3.408 3.408 0.0 3.408 3.408 3.408 0.0" Properties=species:S:1:pos:R:3 energy=-106403.94989684867 Z=19.0 period=4.0 IP=-4.43319988251 EA=-0.621299982071 E_HOMO=-2.4260001182599997 E_LUMO=-0.6970000267030001 r_s=2.13000011444 r_p=2.4400000572200002 r_d=1.78999996185 pbc="T T T"
+K       0.00000000       0.00000000       0.00000000 
+I       3.40800000       3.40800000       3.40800000 
+2
+Lattice="0.0 2.6555000000000004 2.6555000000000004 2.6555000000000004 0.0 2.6555000000000004 2.6555000000000004 2.6555000000000004 0.0" Properties=species:S:1:pos:R:3 energy=-35758.254036685415 Z=3.0 period=2.0 IP=-5.32910013199 EA=-0.698099970818 E_HOMO=-2.8740000724799994 E_LUMO=-0.9779999852179999 r_s=1.64999997616 r_p=2.0 r_d=6.92999982834 pbc="T T T"
+Li       0.00000000       0.00000000       0.00000000 
+Br       2.65550000       2.65550000       2.65550000 
+2
+Lattice="0.0 2.483 2.483 2.483 0.0 2.483 2.483 2.483 0.0" Properties=species:S:1:pos:R:3 energy=-6374.542821311546 Z=3.0 period=2.0 IP=-5.32910013199 EA=-0.698099970818 E_HOMO=-2.8740000724799994 E_LUMO=-0.9779999852179999 r_s=1.64999997616 r_p=2.0 r_d=6.92999982834 pbc="T T T"
+Li       0.00000000       0.00000000       0.00000000 
+Cl       2.48300000       2.48300000       2.48300000 
+2
+Lattice="0.0 1.9555 1.9555 1.9555 0.0 1.9555 1.9555 1.9555 0.0" Properties=species:S:1:pos:R:3 energy=-1455.2422308540065 Z=3.0 period=2.0 IP=-5.32910013199 EA=-0.698099970818 E_HOMO=-2.8740000724799994 E_LUMO=-0.9779999852179999 r_s=1.64999997616 r_p=2.0 r_d=6.92999982834 pbc="T T T"
+Li       0.00000000       0.00000000       0.00000000 
+F       1.95550000       1.95550000       1.95550000 
+2
+Lattice="0.0 2.9025 2.9025 2.9025 0.0 2.9025 2.9025 2.9025 0.0" Properties=species:S:1:pos:R:3 energy=-98315.90504246672 Z=3.0 period=2.0 IP=-5.32910013199 EA=-0.698099970818 E_HOMO=-2.8740000724799994 E_LUMO=-0.9779999852179999 r_s=1.64999997616 r_p=2.0 r_d=6.92999982834 pbc="T T T"
+Li       0.00000000       0.00000000       0.00000000 
+I       2.90250000       2.90250000       2.90250000 
+2
+Lattice="0.0 2.03987 2.03987 2.03987 0.0 2.03987 2.03987 2.03987 0.0" Properties=species:S:1:pos:R:3 energy=-3737.0747449401097 Z=12.0 period=3.0 IP=-8.037099838260001 EA=0.692499995232 E_HOMO=-4.78200006485 E_LUMO=-1.3580000400499999 r_s=1.33000004292 r_p=1.89999997616 r_d=3.17000007629 pbc="T T T"
+Mg       0.00000000       0.00000000       0.00000000 
+O       2.03987000       2.03987000       2.03987000 
+2
+Lattice="0.0 2.566 2.566 2.566 0.0 2.566 2.566 2.566 0.0" Properties=species:S:1:pos:R:3 energy=-8141.593383043353 Z=12.0 period=3.0 IP=-8.037099838260001 EA=0.692499995232 E_HOMO=-4.78200006485 E_LUMO=-1.3580000400499999 r_s=1.33000004292 r_p=1.89999997616 r_d=3.17000007629 pbc="T T T"
+Mg       0.00000000       0.00000000       0.00000000 
+S       2.56600000       2.56600000       2.56600000 
+2
+Lattice="0.0 2.6975 2.6975 2.6975 0.0 2.6975 2.6975 2.6975 0.0" Properties=species:S:1:pos:R:3 energy=-35947.940030845435 Z=12.0 period=3.0 IP=-8.037099838260001 EA=0.692499995232 E_HOMO=-4.78200006485 E_LUMO=-1.3580000400499999 r_s=1.33000004292 r_p=1.89999997616 r_d=3.17000007629 pbc="T T T"
+Mg       0.00000000       0.00000000       0.00000000 
+Se       2.69750000       2.69750000       2.69750000 
+2
+Lattice="0.0 2.9215 2.9215 2.9215 0.0 2.9215 2.9215 2.9215 0.0" Properties=species:S:1:pos:R:3 energy=-96435.2383537187 Z=12.0 period=3.0 IP=-8.037099838260001 EA=0.692499995232 E_HOMO=-4.78200006485 E_LUMO=-1.3580000400499999 r_s=1.33000004292 r_p=1.89999997616 r_d=3.17000007629 pbc="T T T"
+Mg       0.00000000       0.00000000       0.00000000 
+Te       2.92150000       2.92150000       2.92150000 
+2
+Lattice="0.0 2.893 2.893 2.893 0.0 2.893 2.893 2.893 0.0" Properties=species:S:1:pos:R:3 energy=-37859.126083455434 Z=11.0 period=3.0 IP=-5.223100185390001 EA=-0.715699970722 E_HOMO=-2.8190000057200004 E_LUMO=-0.717999994755 r_s=1.71000003815 r_p=2.59999990463 r_d=6.57000017166 pbc="T T T"
+Na       0.00000000       0.00000000       0.00000000 
+Br       2.89300000       2.89300000       2.89300000 
+2
+Lattice="0.0 2.7325 2.7325 2.7325 0.0 2.7325 2.7325 2.7325 0.0" Properties=species:S:1:pos:R:3 energy=-8475.37343440655 Z=11.0 period=3.0 IP=-5.223100185390001 EA=-0.715699970722 E_HOMO=-2.8190000057200004 E_LUMO=-0.717999994755 r_s=1.71000003815 r_p=2.59999990463 r_d=6.57000017166 pbc="T T T"
+Na       0.00000000       0.00000000       0.00000000 
+Cl       2.73250000       2.73250000       2.73250000 
+2
+Lattice="0.0 2.252 2.252 2.252 0.0 2.252 2.252 2.252 0.0" Properties=species:S:1:pos:R:3 energy=-3555.8434060251107 Z=11.0 period=3.0 IP=-5.223100185390001 EA=-0.715699970722 E_HOMO=-2.8190000057200004 E_LUMO=-0.717999994755 r_s=1.71000003815 r_p=2.59999990463 r_d=6.57000017166 pbc="T T T"
+Na       0.00000000       0.00000000       0.00000000 
+F       2.25200000       2.25200000       2.25200000 
+2
+Lattice="0.0 3.13 3.13 3.13 0.0 3.13 3.13 3.13 0.0" Properties=species:S:1:pos:R:3 energy=-100416.81623126328 Z=11.0 period=3.0 IP=-5.223100185390001 EA=-0.715699970722 E_HOMO=-2.8190000057200004 E_LUMO=-0.717999994755 r_s=1.71000003815 r_p=2.59999990463 r_d=6.57000017166 pbc="T T T"
+Na       0.00000000       0.00000000       0.00000000 
+I       3.13000000       3.13000000       3.13000000 
+2
+Lattice="0.0 3.3335 3.3335 3.3335 0.0 3.3335 3.3335 3.3335 0.0" Properties=species:S:1:pos:R:3 energy=-76473.68939266614 Z=37.0 period=5.0 IP=-4.28889989853 EA=-0.590399980545 E_HOMO=-2.3599998951 E_LUMO=-0.704999983311 r_s=2.24000000954 r_p=3.20000004768 r_d=1.96000003815 pbc="T T T"
+Rb       0.00000000       0.00000000       0.00000000 
+Br       3.33350000       3.33350000       3.33350000 
+2
+Lattice="0.0 3.189 3.189 3.189 0.0 3.189 3.189 3.189 0.0" Properties=species:S:1:pos:R:3 energy=-47089.89292301863 Z=37.0 period=5.0 IP=-4.28889989853 EA=-0.590399980545 E_HOMO=-2.3599998951 E_LUMO=-0.704999983311 r_s=2.24000000954 r_p=3.20000004768 r_d=1.96000003815 pbc="T T T"
+Rb       0.00000000       0.00000000       0.00000000 
+Cl       3.18900000       3.18900000       3.18900000 
+2
+Lattice="0.0 2.7320000000000007 2.7320000000000007 2.7320000000000007 0.0 2.7320000000000007 2.7320000000000007 2.7320000000000007 0.0" Properties=species:S:1:pos:R:3 energy=-42170.18365900315 Z=37.0 period=5.0 IP=-4.28889989853 EA=-0.590399980545 E_HOMO=-2.3599998951 E_LUMO=-0.704999983311 r_s=2.24000000954 r_p=3.20000004768 r_d=1.96000003815 pbc="T T T"
+Rb       0.00000000       0.00000000       0.00000000 
+F       2.73200000       2.73200000       2.73200000 
+2
+Lattice="0.0 3.552 3.552 3.552 0.0 3.552 3.552 3.552 0.0" Properties=species:S:1:pos:R:3 energy=-139031.4254132218 Z=37.0 period=5.0 IP=-4.28889989853 EA=-0.590399980545 E_HOMO=-2.3599998951 E_LUMO=-0.704999983311 r_s=2.24000000954 r_p=3.20000004768 r_d=1.96000003815 pbc="T T T"
+Rb       0.00000000       0.00000000       0.00000000 
+I       3.55200000       3.55200000       3.55200000 
+2
+Lattice="0.0 2.4975 2.4975 2.4975 0.0 2.4975 2.4975 2.4975 0.0" Properties=species:S:1:pos:R:3 energy=-7873.897162319816 Z=14.0 period=3.0 IP=-7.75769996643 EA=-0.992999970913 E_HOMO=-4.16300010681 E_LUMO=0.439999997616 r_s=0.9399999976160001 r_p=1.12999999523 r_d=1.88999998569 pbc="T T T"
+Si       0.00000000       0.00000000       0.00000000 
+Si       2.49750000       2.49750000       2.49750000 
+2
+Lattice="0.0 2.0025 2.0025 2.0025 0.0 2.0025 2.0025 2.0025 0.0" Properties=species:S:1:pos:R:3 energy=-4451.285598745774 Z=14.0 period=3.0 IP=-7.75769996643 EA=-0.992999970913 E_HOMO=-4.16300010681 E_LUMO=0.439999997616 r_s=0.9399999976160001 r_p=1.12999999523 r_d=1.88999998569 pbc="T T T"
+Si       0.00000000       0.00000000       0.00000000 
+C       2.00250000       2.00250000       2.00250000 
+2
+Lattice="0.0 3.0045 3.0045 3.0045 0.0 3.0045 3.0045 3.0045 0.0" Properties=species:S:1:pos:R:3 energy=-170215.3505922382 Z=50.0 period=5.0 IP=-7.04279994965 EA=-1.03919994831 E_HOMO=-3.86599993706 E_LUMO=0.008000000379979999 r_s=1.05999994278 r_p=1.34000003338 r_d=2.02999997139 pbc="T T T"
+Sn       0.00000000       0.00000000       0.00000000 
+Sn       3.00450000       3.00450000       3.00450000 
+2
+Lattice="0.0 2.355 2.355 2.355 0.0 2.355 2.355 2.355 0.0" Properties=species:S:1:pos:R:3 energy=-85621.03540856167 Z=50.0 period=5.0 IP=-7.04279994965 EA=-1.03919994831 E_HOMO=-3.86599993706 E_LUMO=0.008000000379979999 r_s=1.05999994278 r_p=1.34000003338 r_d=2.02999997139 pbc="T T T"
+Sn       0.00000000       0.00000000       0.00000000 
+C       2.35500000       2.35500000       2.35500000 
+2
+Lattice="0.0 2.828 2.828 2.828 0.0 2.828 2.828 2.828 0.0" Properties=species:S:1:pos:R:3 energy=-113787.45028712797 Z=50.0 period=5.0 IP=-7.04279994965 EA=-1.03919994831 E_HOMO=-3.86599993706 E_LUMO=0.008000000379979999 r_s=1.05999994278 r_p=1.34000003338 r_d=2.02999997139 pbc="T T T"
+Sn       0.00000000       0.00000000       0.00000000 
+Ge       2.82800000       2.82800000       2.82800000 
+2
+Lattice="0.0 2.7695000000000003 2.7695000000000003 2.7695000000000003 0.0 2.7695000000000003 2.7695000000000003 2.7695000000000003 0.0" Properties=species:S:1:pos:R:3 energy=-89044.49540319394 Z=50.0 period=5.0 IP=-7.04279994965 EA=-1.03919994831 E_HOMO=-3.86599993706 E_LUMO=0.008000000379979999 r_s=1.05999994278 r_p=1.34000003338 r_d=2.02999997139 pbc="T T T"
+Sn       0.00000000       0.00000000       0.00000000 
+Si       2.76950000       2.76950000       2.76950000 
+2
+Lattice="0.0 2.533 2.533 2.533 0.0 2.533 2.533 2.533 0.0" Properties=species:S:1:pos:R:3 energy=-44570.36172228581 Z=38.0 period=5.0 IP=-6.03159999847 EA=0.34310001134900003 E_HOMO=-3.64100003242 E_LUMO=-1.3789999485 r_s=1.90999996662 r_p=2.54999995232 r_d=1.20000004768 pbc="T T T"
+Sr       0.00000000       0.00000000       0.00000000 
+O       2.53300000       2.53300000       2.53300000 
+2
+Lattice="0.0 2.953 2.953 2.953 0.0 2.953 2.953 2.953 0.0" Properties=species:S:1:pos:R:3 energy=-48975.63558331968 Z=38.0 period=5.0 IP=-6.03159999847 EA=0.34310001134900003 E_HOMO=-3.64100003242 E_LUMO=-1.3789999485 r_s=1.90999996662 r_p=2.54999995232 r_d=1.20000004768 pbc="T T T"
+Sr       0.00000000       0.00000000       0.00000000 
+S       2.95300000       2.95300000       2.95300000 
+2
+Lattice="0.0 3.062 3.062 3.062 0.0 3.062 3.062 3.062 0.0" Properties=species:S:1:pos:R:3 energy=-76782.08842904876 Z=38.0 period=5.0 IP=-6.03159999847 EA=0.34310001134900003 E_HOMO=-3.64100003242 E_LUMO=-1.3789999485 r_s=1.90999996662 r_p=2.54999995232 r_d=1.20000004768 pbc="T T T"
+Sr       0.00000000       0.00000000       0.00000000 
+Se       3.06200000       3.06200000       3.06200000 
+2
+Lattice="0.0 3.2635 3.2635 3.2635 0.0 3.2635 3.2635 3.2635 0.0" Properties=species:S:1:pos:R:3 energy=-137269.48714743802 Z=38.0 period=5.0 IP=-6.03159999847 EA=0.34310001134900003 E_HOMO=-3.64100003242 E_LUMO=-1.3789999485 r_s=1.90999996662 r_p=2.54999995232 r_d=1.20000004768 pbc="T T T"
+Sr       0.00000000       0.00000000       0.00000000 
+Te       3.26350000       3.26350000       3.26350000 
+2
+Lattice="0.0 2.106 2.106 2.106 0.0 2.106 2.106 2.106 0.0" Properties=species:S:1:pos:R:3 energy=-25540.809204712215 Z=30.0 period=4.0 IP=-10.1354999542 EA=1.08070003986 E_HOMO=-6.21700000763 E_LUMO=-1.1940000057200002 r_s=1.10000002384 r_p=1.5499999523199999 r_d=2.25 pbc="T T T"
+Zn       0.00000000       0.00000000       0.00000000 
+O       2.10600000       2.10600000       2.10600000 
+2
+Lattice="0.0 2.483 2.483 2.483 0.0 2.483 2.483 2.483 0.0" Properties=species:S:1:pos:R:3 energy=-29945.889373092232 Z=30.0 period=4.0 IP=-10.1354999542 EA=1.08070003986 E_HOMO=-6.21700000763 E_LUMO=-1.1940000057200002 r_s=1.10000002384 r_p=1.5499999523199999 r_d=2.25 pbc="T T T"
+Zn       0.00000000       0.00000000       0.00000000 
+S       2.48300000       2.48300000       2.48300000 
+2
+Lattice="0.0 2.607 2.607 2.607 0.0 2.607 2.607 2.607 0.0" Properties=species:S:1:pos:R:3 energy=-57752.31987547867 Z=30.0 period=4.0 IP=-10.1354999542 EA=1.08070003986 E_HOMO=-6.21700000763 E_LUMO=-1.1940000057200002 r_s=1.10000002384 r_p=1.5499999523199999 r_d=2.25 pbc="T T T"
+Zn       0.00000000       0.00000000       0.00000000 
+Se       2.60700000       2.60700000       2.60700000 
+2
+Lattice="0.0 2.7985 2.7985 2.7985 0.0 2.7985 2.7985 2.7985 0.0" Properties=species:S:1:pos:R:3 energy=-118239.80767561558 Z=30.0 period=4.0 IP=-10.1354999542 EA=1.08070003986 E_HOMO=-6.21700000763 E_LUMO=-1.1940000057200002 r_s=1.10000002384 r_p=1.5499999523199999 r_d=2.25 pbc="T T T"
+Zn       0.00000000       0.00000000       0.00000000 
+Te       2.79850000       2.79850000       2.79850000 
diff --git a/data/compressed_sensing_2018/ZB_structures.xyz b/data/compressed_sensing_2018/ZB_structures.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..24343085e7bee4e49d4908e8d97ad618a811abab
--- /dev/null
+++ b/data/compressed_sensing_2018/ZB_structures.xyz
@@ -0,0 +1,328 @@
+2
+Lattice="0.0 3.0175 3.0175 3.0175 0.0 3.0175 3.0175 3.0175 0.0" Properties=species:S:1:pos:R:3 energy=-108781.30392515441 Z=35.0 period=4.0 IP=-12.649600029 EA=-3.73930001259 E_HOMO=-8.001000404360001 E_LUMO=0.7080000042919999 r_s=0.75 r_p=0.879999995232 r_d=1.87000000477 pbc="T T T"
+Ag       0.00000000       0.00000000       0.00000000 
+Br       1.50875000       1.50875000       1.50875000 
+2
+Lattice="0.0 2.8900000000000006 2.8900000000000006 2.8900000000000006 0.0 2.8900000000000006 2.8900000000000006 2.8900000000000006 0.0" Properties=species:S:1:pos:R:3 energy=-79397.40828546332 Z=17.0 period=3.0 IP=-13.9018001556 EA=-3.9707999229400004 E_HOMO=-8.699999809269999 E_LUMO=0.574000000954 r_s=0.6800000071529999 r_p=0.7599999904629999 r_d=1.6699999570800002 pbc="T T T"
+Ag       0.00000000       0.00000000       0.00000000 
+Cl       1.44500000       1.44500000       1.44500000 
+2
+Lattice="0.0 2.601 2.601 2.601 0.0 2.601 2.601 2.601 0.0" Properties=species:S:1:pos:R:3 energy=-74477.27440749042 Z=9.0 period=2.0 IP=-19.4043006897 EA=-4.27349996567 E_HOMO=-11.2939996719 E_LUMO=1.25100004673 r_s=0.409999996424 r_p=0.37000000476800005 r_d=1.42999994755 pbc="T T T"
+Ag       0.00000000       0.00000000       0.00000000 
+F       1.30050000       1.30050000       1.30050000 
+2
+Lattice="0.0 3.1775 3.1775 3.1775 0.0 3.1775 3.1775 3.1775 0.0" Properties=species:S:1:pos:R:3 energy=-171339.2451068673 Z=53.0 period=5.0 IP=-11.2571001053 EA=-3.5134999752 E_HOMO=-7.2360000610399995 E_LUMO=0.212999999523 r_s=0.899999976158 r_p=1.07000005245 r_d=1.7200000286099997 pbc="T T T"
+Ag       0.00000000       0.00000000       0.00000000 
+I       1.58875000       1.58875000       1.58875000 
+2
+Lattice="0.0 2.816 2.816 2.816 0.0 2.816 2.816 2.816 0.0" Properties=species:S:1:pos:R:3 energy=-34200.29077459535 Z=33.0 period=4.0 IP=-9.26189994812 EA=-1.8392000198400003 E_HOMO=-5.34100008011 E_LUMO=0.0640000030398 r_s=0.850000023842 r_p=1.03999996185 r_d=2.0199999809299998 pbc="T T T"
+Al       0.00000000       0.00000000       0.00000000 
+As       1.40800000       1.40800000       1.40800000 
+2
+Lattice="0.0 2.1725 2.1725 2.1725 0.0 2.1725 2.1725 2.1725 0.0" Properties=species:S:1:pos:R:3 energy=-4036.501997576937 Z=7.0 period=2.0 IP=-13.5852003098 EA=-1.86749994755 E_HOMO=-7.2389998436 E_LUMO=3.0569999218 r_s=0.540000021458 r_p=0.509999990463 r_d=1.53999996185 pbc="T T T"
+Al       0.00000000       0.00000000       0.00000000 
+N       1.08625000       1.08625000       1.08625000 
+2
+Lattice="0.0 2.718 2.718 2.718 0.0 2.718 2.718 2.718 0.0" Properties=species:S:1:pos:R:3 energy=-7941.081703564847 Z=15.0 period=3.0 IP=-9.75059986115 EA=-1.9199999570800002 E_HOMO=-5.59600019455 E_LUMO=0.18299999833099997 r_s=0.829999983311 r_p=0.97000002861 r_d=1.76999998093 pbc="T T T"
+Al       0.00000000       0.00000000       0.00000000 
+P       1.35900000       1.35900000       1.35900000 
+2
+Lattice="0.0 3.056 3.056 3.056 0.0 3.056 3.056 3.056 0.0" Properties=species:S:1:pos:R:3 energy=-92644.34887311883 Z=51.0 period=5.0 IP=-8.46829986572 EA=-1.84669995308 E_HOMO=-4.99100017548 E_LUMO=0.104999996722 r_s=1.0 r_p=1.23000001907 r_d=2.0599999427799998 pbc="T T T"
+Al       0.00000000       0.00000000       0.00000000 
+Sb       1.52800000       1.52800000       1.52800000 
+2
+Lattice="0.0 2.8035 2.8035 2.8035 0.0 2.8035 2.8035 2.8035 0.0" Properties=species:S:1:pos:R:3 energy=-57457.9542356472 Z=33.0 period=4.0 IP=-9.26189994812 EA=-1.8392000198400003 E_HOMO=-5.34100008011 E_LUMO=0.0640000030398 r_s=0.850000023842 r_p=1.03999996185 r_d=2.0199999809299998 pbc="T T T"
+Ga       0.00000000       0.00000000       0.00000000 
+As       1.40175000       1.40175000       1.40175000 
+2
+Lattice="0.0 2.367 2.367 2.367 0.0 2.367 2.367 2.367 0.0" Properties=species:S:1:pos:R:3 energy=-31240.22232232208 Z=33.0 period=4.0 IP=-9.26189994812 EA=-1.8392000198400003 E_HOMO=-5.34100008011 E_LUMO=0.0640000030398 r_s=0.850000023842 r_p=1.03999996185 r_d=2.0199999809299998 pbc="T T T"
+B       0.00000000       0.00000000       0.00000000 
+As       1.18350000       1.18350000       1.18350000 
+2
+Lattice="0.0 1.7915000000000003 1.7915000000000003 1.7915000000000003 0.0 1.7915000000000003 1.7915000000000003 1.7915000000000003 0.0" Properties=species:S:1:pos:R:3 energy=-1076.7454955539624 Z=7.0 period=2.0 IP=-13.5852003098 EA=-1.86749994755 E_HOMO=-7.2389998436 E_LUMO=3.0569999218 r_s=0.540000021458 r_p=0.509999990463 r_d=1.53999996185 pbc="T T T"
+B       0.00000000       0.00000000       0.00000000 
+N       0.89575000       0.89575000       0.89575000 
+2
+Lattice="0.0 2.246 2.246 2.246 0.0 2.246 2.246 2.246 0.0" Properties=species:S:1:pos:R:3 energy=-4981.291645038916 Z=15.0 period=3.0 IP=-9.75059986115 EA=-1.9199999570800002 E_HOMO=-5.59600019455 E_LUMO=0.18299999833099997 r_s=0.829999983311 r_p=0.97000002861 r_d=1.76999998093 pbc="T T T"
+B       0.00000000       0.00000000       0.00000000 
+P       1.12300000       1.12300000       1.12300000 
+2
+Lattice="0.0 2.5930000000000004 2.5930000000000004 2.5930000000000004 0.0 2.5930000000000004 2.5930000000000004 2.5930000000000004 0.0" Properties=species:S:1:pos:R:3 energy=-89684.1945505284 Z=51.0 period=5.0 IP=-8.46829986572 EA=-1.84669995308 E_HOMO=-4.99100017548 E_LUMO=0.104999996722 r_s=1.0 r_p=1.23000001907 r_d=2.0599999427799998 pbc="T T T"
+B       0.00000000       0.00000000       0.00000000 
+Sb       1.29650000       1.29650000       1.29650000 
+2
+Lattice="0.0 2.8965 2.8965 2.8965 0.0 2.8965 2.8965 2.8965 0.0" Properties=species:S:1:pos:R:3 energy=-113504.73396479135 Z=8.0 period=2.0 IP=-16.433200836199997 EA=-3.00589990616 E_HOMO=-9.19699954987 E_LUMO=2.54099988937 r_s=0.460000008345 r_p=0.430000007153 r_d=2.22000002861 pbc="T T T"
+Ba       0.00000000       0.00000000       0.00000000 
+O       1.44825000       1.44825000       1.44825000 
+2
+Lattice="0.0 3.433 3.433 3.433 0.0 3.433 3.433 3.433 0.0" Properties=species:S:1:pos:R:3 energy=-117909.9511775038 Z=16.0 period=3.0 IP=-11.795100212100001 EA=-2.8448998928099996 E_HOMO=-7.105999946589999 E_LUMO=0.64200001955 r_s=0.7400000095370001 r_p=0.850000023842 r_d=2.36999988556 pbc="T T T"
+Ba       0.00000000       0.00000000       0.00000000 
+S       1.71650000       1.71650000       1.71650000 
+2
+Lattice="0.0 3.5640000000000005 3.5640000000000005 3.5640000000000005 0.0 3.5640000000000005 3.5640000000000005 3.5640000000000005 0.0" Properties=species:S:1:pos:R:3 energy=-145716.42622697598 Z=34.0 period=4.0 IP=-10.9460000992 EA=-2.7509999275200006 E_HOMO=-6.65399980545 E_LUMO=1.31599998474 r_s=0.800000011921 r_p=0.949999988079 r_d=2.18000006676 pbc="T T T"
+Ba       0.00000000       0.00000000       0.00000000 
+Se       1.78200000       1.78200000       1.78200000 
+2
+Lattice="0.0 3.807 3.807 3.807 0.0 3.807 3.807 3.807 0.0" Properties=species:S:1:pos:R:3 energy=-206203.85365855953 Z=52.0 period=5.0 IP=-9.86670017242 EA=-2.66599988937 E_HOMO=-6.10900020599 E_LUMO=0.09899999946360001 r_s=0.9399999976160001 r_p=1.1399999856899998 r_d=1.8300000429199998 pbc="T T T"
+Ba       0.00000000       0.00000000       0.00000000 
+Te       1.90350000       1.90350000       1.90350000 
+2
+Lattice="0.0 1.8433800000000002 1.8433800000000002 1.8433800000000002 0.0 1.8433800000000002 1.8433800000000002 1.8433800000000002 0.0" Properties=species:S:1:pos:R:3 energy=-1219.1317960407468 Z=8.0 period=2.0 IP=-16.433200836199997 EA=-3.00589990616 E_HOMO=-9.19699954987 E_LUMO=2.54099988937 r_s=0.460000008345 r_p=0.430000007153 r_d=2.22000002861 pbc="T T T"
+Be       0.00000000       0.00000000       0.00000000 
+O       0.92169000       0.92169000       0.92169000 
+2
+Lattice="0.0 2.399 2.399 2.399 0.0 2.399 2.399 2.399 0.0" Properties=species:S:1:pos:R:3 energy=-5623.02186716789 Z=16.0 period=3.0 IP=-11.795100212100001 EA=-2.8448998928099996 E_HOMO=-7.105999946589999 E_LUMO=0.64200001955 r_s=0.7400000095370001 r_p=0.850000023842 r_d=2.36999988556 pbc="T T T"
+Be       0.00000000       0.00000000       0.00000000 
+S       1.19950000       1.19950000       1.19950000 
+2
+Lattice="0.0 2.5420000000000003 2.5420000000000003 2.5420000000000003 0.0 2.5420000000000003 2.5420000000000003 2.5420000000000003 0.0" Properties=species:S:1:pos:R:3 energy=-33429.291702542425 Z=34.0 period=4.0 IP=-10.9460000992 EA=-2.7509999275200006 E_HOMO=-6.65399980545 E_LUMO=1.31599998474 r_s=0.800000011921 r_p=0.949999988079 r_d=2.18000006676 pbc="T T T"
+Be       0.00000000       0.00000000       0.00000000 
+Se       1.27100000       1.27100000       1.27100000 
+2
+Lattice="0.0 2.779 2.779 2.779 0.0 2.779 2.779 2.779 0.0" Properties=species:S:1:pos:R:3 energy=-93916.57277200608 Z=52.0 period=5.0 IP=-9.86670017242 EA=-2.66599988937 E_HOMO=-6.10900020599 E_LUMO=0.09899999946360001 r_s=0.9399999976160001 r_p=1.1399999856899998 r_d=1.8300000429199998 pbc="T T T"
+Be       0.00000000       0.00000000       0.00000000 
+Te       1.38950000       1.38950000       1.38950000 
+2
+Lattice="0.0 1.767 1.767 1.767 0.0 1.767 1.767 1.767 0.0" Properties=species:S:1:pos:R:3 energy=-1029.1774239138254 Z=6.0 period=2.0 IP=-10.851699829100001 EA=-0.87239998579 E_HOMO=-5.415999889369999 E_LUMO=1.99199998379 r_s=0.6399999856949999 r_p=0.629999995232 r_d=1.62999999523 pbc="T T T"
+C       0.00000000       0.00000000       0.00000000 
+C       0.88350000       0.88350000       0.88350000 
+2
+Lattice="0.0 2.5605 2.5605 2.5605 0.0 2.5605 2.5605 2.5605 0.0" Properties=species:S:1:pos:R:3 energy=-10276.63586618221 Z=8.0 period=2.0 IP=-16.433200836199997 EA=-3.00589990616 E_HOMO=-9.19699954987 E_LUMO=2.54099988937 r_s=0.460000008345 r_p=0.430000007153 r_d=2.22000002861 pbc="T T T"
+Ca       0.00000000       0.00000000       0.00000000 
+O       1.28025000       1.28025000       1.28025000 
+2
+Lattice="0.0 3.0780000000000003 3.0780000000000003 3.0780000000000003 0.0 3.0780000000000003 3.0780000000000003 3.0780000000000003 0.0" Properties=species:S:1:pos:R:3 energy=-14681.577607840461 Z=16.0 period=3.0 IP=-11.795100212100001 EA=-2.8448998928099996 E_HOMO=-7.105999946589999 E_LUMO=0.64200001955 r_s=0.7400000095370001 r_p=0.850000023842 r_d=2.36999988556 pbc="T T T"
+Ca       0.00000000       0.00000000       0.00000000 
+S       1.53900000       1.53900000       1.53900000 
+2
+Lattice="0.0 3.209 3.209 3.209 0.0 3.209 3.209 3.209 0.0" Properties=species:S:1:pos:R:3 energy=-42487.99212246608 Z=34.0 period=4.0 IP=-10.9460000992 EA=-2.7509999275200006 E_HOMO=-6.65399980545 E_LUMO=1.31599998474 r_s=0.800000011921 r_p=0.949999988079 r_d=2.18000006676 pbc="T T T"
+Ca       0.00000000       0.00000000       0.00000000 
+Se       1.60450000       1.60450000       1.60450000 
+2
+Lattice="0.0 3.4565000000000006 3.4565000000000006 3.4565000000000006 0.0 3.4565000000000006 3.4565000000000006 3.4565000000000006 0.0" Properties=species:S:1:pos:R:3 energy=-102975.3456626407 Z=52.0 period=5.0 IP=-9.86670017242 EA=-2.66599988937 E_HOMO=-6.10900020599 E_LUMO=0.09899999946360001 r_s=0.9399999976160001 r_p=1.1399999856899998 r_d=1.8300000429199998 pbc="T T T"
+Ca       0.00000000       0.00000000       0.00000000 
+Te       1.72825000       1.72825000       1.72825000 
+2
+Lattice="0.0 2.4965 2.4965 2.4965 0.0 2.4965 2.4965 2.4965 0.0" Properties=species:S:1:pos:R:3 energy=-78015.08414810536 Z=8.0 period=2.0 IP=-16.433200836199997 EA=-3.00589990616 E_HOMO=-9.19699954987 E_LUMO=2.54099988937 r_s=0.460000008345 r_p=0.430000007153 r_d=2.22000002861 pbc="T T T"
+Cd       0.00000000       0.00000000       0.00000000 
+O       1.24825000       1.24825000       1.24825000 
+2
+Lattice="0.0 2.88 2.88 2.88 0.0 2.88 2.88 2.88 0.0" Properties=species:S:1:pos:R:3 energy=-82420.63603453907 Z=16.0 period=3.0 IP=-11.795100212100001 EA=-2.8448998928099996 E_HOMO=-7.105999946589999 E_LUMO=0.64200001955 r_s=0.7400000095370001 r_p=0.850000023842 r_d=2.36999988556 pbc="T T T"
+Cd       0.00000000       0.00000000       0.00000000 
+S       1.44000000       1.44000000       1.44000000 
+2
+Lattice="0.0 3.0065 3.0065 3.0065 0.0 3.0065 3.0065 3.0065 0.0" Properties=species:S:1:pos:R:3 energy=-110227.14483277715 Z=34.0 period=4.0 IP=-10.9460000992 EA=-2.7509999275200006 E_HOMO=-6.65399980545 E_LUMO=1.31599998474 r_s=0.800000011921 r_p=0.949999988079 r_d=2.18000006676 pbc="T T T"
+Cd       0.00000000       0.00000000       0.00000000 
+Se       1.50325000       1.50325000       1.50325000 
+2
+Lattice="0.0 3.207 3.207 3.207 0.0 3.207 3.207 3.207 0.0" Properties=species:S:1:pos:R:3 energy=-170714.7038519616 Z=52.0 period=5.0 IP=-9.86670017242 EA=-2.66599988937 E_HOMO=-6.10900020599 E_LUMO=0.09899999946360001 r_s=0.9399999976160001 r_p=1.1399999856899998 r_d=1.8300000429199998 pbc="T T T"
+Cd       0.00000000       0.00000000       0.00000000 
+Te       1.60350000       1.60350000       1.60350000 
+2
+Lattice="0.0 3.9145 3.9145 3.9145 0.0 3.9145 3.9145 3.9145 0.0" Properties=species:S:1:pos:R:3 energy=-143254.27847013192 Z=35.0 period=4.0 IP=-12.649600029 EA=-3.73930001259 E_HOMO=-8.001000404360001 E_LUMO=0.7080000042919999 r_s=0.75 r_p=0.879999995232 r_d=1.87000000477 pbc="T T T"
+Cs       0.00000000       0.00000000       0.00000000 
+Br       1.95725000       1.95725000       1.95725000 
+2
+Lattice="0.0 3.7425 3.7425 3.7425 0.0 3.7425 3.7425 3.7425 0.0" Properties=species:S:1:pos:R:3 energy=-113870.47586427315 Z=17.0 period=3.0 IP=-13.9018001556 EA=-3.9707999229400004 E_HOMO=-8.699999809269999 E_LUMO=0.574000000954 r_s=0.6800000071529999 r_p=0.7599999904629999 r_d=1.6699999570800002 pbc="T T T"
+Cs       0.00000000       0.00000000       0.00000000 
+Cl       1.87125000       1.87125000       1.87125000 
+2
+Lattice="0.0 3.171 3.171 3.171 0.0 3.171 3.171 3.171 0.0" Properties=species:S:1:pos:R:3 energy=-108950.78058551207 Z=9.0 period=2.0 IP=-19.4043006897 EA=-4.27349996567 E_HOMO=-11.2939996719 E_LUMO=1.25100004673 r_s=0.409999996424 r_p=0.37000000476800005 r_d=1.42999994755 pbc="T T T"
+Cs       0.00000000       0.00000000       0.00000000 
+F       1.58550000       1.58550000       1.58550000 
+2
+Lattice="0.0 4.176 4.176 4.176 0.0 4.176 4.176 4.176 0.0" Properties=species:S:1:pos:R:3 energy=-205812.02046976562 Z=53.0 period=5.0 IP=-11.2571001053 EA=-3.5134999752 E_HOMO=-7.2360000610399995 E_LUMO=0.212999999523 r_s=0.899999976158 r_p=1.07000005245 r_d=1.7200000286099997 pbc="T T T"
+Cs       0.00000000       0.00000000       0.00000000 
+I       2.08800000       2.08800000       2.08800000 
+2
+Lattice="0.0 2.749 2.749 2.749 0.0 2.749 2.749 2.749 0.0" Properties=species:S:1:pos:R:3 energy=-58243.92527866041 Z=35.0 period=4.0 IP=-12.649600029 EA=-3.73930001259 E_HOMO=-8.001000404360001 E_LUMO=0.7080000042919999 r_s=0.75 r_p=0.879999995232 r_d=1.87000000477 pbc="T T T"
+Cu       0.00000000       0.00000000       0.00000000 
+Br       1.37450000       1.37450000       1.37450000 
+2
+Lattice="0.0 2.6050000000000004 2.6050000000000004 2.6050000000000004 0.0 2.6050000000000004 2.6050000000000004 2.6050000000000004 0.0" Properties=species:S:1:pos:R:3 energy=-28860.103219256605 Z=17.0 period=3.0 IP=-13.9018001556 EA=-3.9707999229400004 E_HOMO=-8.699999809269999 E_LUMO=0.574000000954 r_s=0.6800000071529999 r_p=0.7599999904629999 r_d=1.6699999570800002 pbc="T T T"
+Cu       0.00000000       0.00000000       0.00000000 
+Cl       1.30250000       1.30250000       1.30250000 
+2
+Lattice="0.0 2.3315 2.3315 2.3315 0.0 2.3315 2.3315 2.3315 0.0" Properties=species:S:1:pos:R:3 energy=-23939.94381870442 Z=9.0 period=2.0 IP=-19.4043006897 EA=-4.27349996567 E_HOMO=-11.2939996719 E_LUMO=1.25100004673 r_s=0.409999996424 r_p=0.37000000476800005 r_d=1.42999994755 pbc="T T T"
+Cu       0.00000000       0.00000000       0.00000000 
+F       1.16575000       1.16575000       1.16575000 
+2
+Lattice="0.0 2.932 2.932 2.932 0.0 2.932 2.932 2.932 0.0" Properties=species:S:1:pos:R:3 energy=-120801.82338283311 Z=53.0 period=5.0 IP=-11.2571001053 EA=-3.5134999752 E_HOMO=-7.2360000610399995 E_LUMO=0.212999999523 r_s=0.899999976158 r_p=1.07000005245 r_d=1.7200000286099997 pbc="T T T"
+Cu       0.00000000       0.00000000       0.00000000 
+I       1.46600000       1.46600000       1.46600000 
+2
+Lattice="0.0 2.23 2.23 2.23 0.0 2.23 2.23 2.23 0.0" Properties=species:S:1:pos:R:3 energy=-27293.39739091784 Z=7.0 period=2.0 IP=-13.5852003098 EA=-1.86749994755 E_HOMO=-7.2389998436 E_LUMO=3.0569999218 r_s=0.540000021458 r_p=0.509999990463 r_d=1.53999996185 pbc="T T T"
+Ga       0.00000000       0.00000000       0.00000000 
+N       1.11500000       1.11500000       1.11500000 
+2
+Lattice="0.0 2.6975 2.6975 2.6975 0.0 2.6975 2.6975 2.6975 0.0" Properties=species:S:1:pos:R:3 energy=-31198.704267711593 Z=15.0 period=3.0 IP=-9.75059986115 EA=-1.9199999570800002 E_HOMO=-5.59600019455 E_LUMO=0.18299999833099997 r_s=0.829999983311 r_p=0.97000002861 r_d=1.76999998093 pbc="T T T"
+Ga       0.00000000       0.00000000       0.00000000 
+P       1.34875000       1.34875000       1.34875000 
+2
+Lattice="0.0 3.026 3.026 3.026 0.0 3.026 3.026 3.026 0.0" Properties=species:S:1:pos:R:3 energy=-115902.13737392346 Z=51.0 period=5.0 IP=-8.46829986572 EA=-1.84669995308 E_HOMO=-4.99100017548 E_LUMO=0.104999996722 r_s=1.0 r_p=1.23000001907 r_d=2.0599999427799998 pbc="T T T"
+Ga       0.00000000       0.00000000       0.00000000 
+Sb       1.51300000       1.51300000       1.51300000 
+2
+Lattice="0.0 2.8130000000000006 2.8130000000000006 2.8130000000000006 0.0 2.8130000000000006 2.8130000000000006 2.8130000000000006 0.0" Properties=species:S:1:pos:R:3 energy=-57359.76205669544 Z=32.0 period=4.0 IP=-7.566999912260001 EA=-0.9490000009540001 E_HOMO=-4.04600000381 E_LUMO=2.17499995232 r_s=0.920000016689 r_p=1.15999996662 r_d=2.36999988556 pbc="T T T"
+Ge       0.00000000       0.00000000       0.00000000 
+Ge       1.40650000       1.40650000       1.40650000 
+2
+Lattice="0.0 2.2655 2.2655 2.2655 0.0 2.2655 2.2655 2.2655 0.0" Properties=species:S:1:pos:R:3 energy=-29194.089918007925 Z=6.0 period=2.0 IP=-10.851699829100001 EA=-0.87239998579 E_HOMO=-5.415999889369999 E_LUMO=1.99199998379 r_s=0.6399999856949999 r_p=0.629999995232 r_d=1.62999999523 pbc="T T T"
+Ge       0.00000000       0.00000000       0.00000000 
+C       1.13275000       1.13275000       1.13275000 
+2
+Lattice="0.0 2.7505000000000006 2.7505000000000006 2.7505000000000006 0.0 2.7505000000000006 2.7505000000000006 2.7505000000000006 0.0" Properties=species:S:1:pos:R:3 energy=-32616.95724905803 Z=14.0 period=3.0 IP=-7.75769996643 EA=-0.992999970913 E_HOMO=-4.16300010681 E_LUMO=0.439999997616 r_s=0.9399999976160001 r_p=1.12999999523 r_d=1.88999998569 pbc="T T T"
+Ge       0.00000000       0.00000000       0.00000000 
+Si       1.37525000       1.37525000       1.37525000 
+2
+Lattice="0.0 3.0140000000000002 3.0140000000000002 3.0140000000000002 0.0 3.0140000000000002 3.0140000000000002 3.0140000000000002 0.0" Properties=species:S:1:pos:R:3 energy=-111895.92130234063 Z=33.0 period=4.0 IP=-9.26189994812 EA=-1.8392000198400003 E_HOMO=-5.34100008011 E_LUMO=0.0640000030398 r_s=0.850000023842 r_p=1.03999996185 r_d=2.0199999809299998 pbc="T T T"
+In       0.00000000       0.00000000       0.00000000 
+As       1.50700000       1.50700000       1.50700000 
+2
+Lattice="0.0 2.4715 2.4715 2.4715 0.0 2.4715 2.4715 2.4715 0.0" Properties=species:S:1:pos:R:3 energy=-81730.86850504993 Z=7.0 period=2.0 IP=-13.5852003098 EA=-1.86749994755 E_HOMO=-7.2389998436 E_LUMO=3.0569999218 r_s=0.540000021458 r_p=0.509999990463 r_d=1.53999996185 pbc="T T T"
+In       0.00000000       0.00000000       0.00000000 
+N       1.23575000       1.23575000       1.23575000 
+2
+Lattice="0.0 2.9150000000000005 2.9150000000000005 2.9150000000000005 0.0 2.9150000000000005 2.9150000000000005 2.9150000000000005 0.0" Properties=species:S:1:pos:R:3 energy=-85636.59118980984 Z=15.0 period=3.0 IP=-9.75059986115 EA=-1.9199999570800002 E_HOMO=-5.59600019455 E_LUMO=0.18299999833099997 r_s=0.829999983311 r_p=0.97000002861 r_d=1.76999998093 pbc="T T T"
+In       0.00000000       0.00000000       0.00000000 
+P       1.45750000       1.45750000       1.45750000 
+2
+Lattice="0.0 3.227 3.227 3.227 0.0 3.227 3.227 3.227 0.0" Properties=species:S:1:pos:R:3 energy=-170340.1816661715 Z=51.0 period=5.0 IP=-8.46829986572 EA=-1.84669995308 E_HOMO=-4.99100017548 E_LUMO=0.104999996722 r_s=1.0 r_p=1.23000001907 r_d=2.0599999427799998 pbc="T T T"
+In       0.00000000       0.00000000       0.00000000 
+Sb       1.61350000       1.61350000       1.61350000 
+2
+Lattice="0.0 3.5705000000000005 3.5705000000000005 3.5705000000000005 0.0 3.5705000000000005 3.5705000000000005 3.5705000000000005 0.0" Properties=species:S:1:pos:R:3 energy=-43846.06201009732 Z=35.0 period=4.0 IP=-12.649600029 EA=-3.73930001259 E_HOMO=-8.001000404360001 E_LUMO=0.7080000042919999 r_s=0.75 r_p=0.879999995232 r_d=1.87000000477 pbc="T T T"
+K       0.00000000       0.00000000       0.00000000 
+Br       1.78525000       1.78525000       1.78525000 
+2
+Lattice="0.0 3.3865000000000003 3.3865000000000003 3.3865000000000003 0.0 3.3865000000000003 3.3865000000000003 3.3865000000000003 0.0" Properties=species:S:1:pos:R:3 energy=-14462.280011004648 Z=17.0 period=3.0 IP=-13.9018001556 EA=-3.9707999229400004 E_HOMO=-8.699999809269999 E_LUMO=0.574000000954 r_s=0.6800000071529999 r_p=0.7599999904629999 r_d=1.6699999570800002 pbc="T T T"
+K       0.00000000       0.00000000       0.00000000 
+Cl       1.69325000       1.69325000       1.69325000 
+2
+Lattice="0.0 2.8485 2.8485 2.8485 0.0 2.8485 2.8485 2.8485 0.0" Properties=species:S:1:pos:R:3 energy=-9542.631470961054 Z=9.0 period=2.0 IP=-19.4043006897 EA=-4.27349996567 E_HOMO=-11.2939996719 E_LUMO=1.25100004673 r_s=0.409999996424 r_p=0.37000000476800005 r_d=1.42999994755 pbc="T T T"
+K       0.00000000       0.00000000       0.00000000 
+F       1.42425000       1.42425000       1.42425000 
+2
+Lattice="0.0 3.823 3.823 3.823 0.0 3.823 3.823 3.823 0.0" Properties=species:S:1:pos:R:3 energy=-106403.78285770351 Z=53.0 period=5.0 IP=-11.2571001053 EA=-3.5134999752 E_HOMO=-7.2360000610399995 E_LUMO=0.212999999523 r_s=0.899999976158 r_p=1.07000005245 r_d=1.7200000286099997 pbc="T T T"
+K       0.00000000       0.00000000       0.00000000 
+I       1.91150000       1.91150000       1.91150000 
+2
+Lattice="0.0 2.8440000000000003 2.8440000000000003 2.8440000000000003 0.0 2.8440000000000003 2.8440000000000003 2.8440000000000003 0.0" Properties=species:S:1:pos:R:3 energy=-35758.22129047253 Z=35.0 period=4.0 IP=-12.649600029 EA=-3.73930001259 E_HOMO=-8.001000404360001 E_LUMO=0.7080000042919999 r_s=0.75 r_p=0.879999995232 r_d=1.87000000477 pbc="T T T"
+Li       0.00000000       0.00000000       0.00000000 
+Br       1.42200000       1.42200000       1.42200000 
+2
+Lattice="0.0 2.665 2.665 2.665 0.0 2.665 2.665 2.665 0.0" Properties=species:S:1:pos:R:3 energy=-6374.504439828846 Z=17.0 period=3.0 IP=-13.9018001556 EA=-3.9707999229400004 E_HOMO=-8.699999809269999 E_LUMO=0.574000000954 r_s=0.6800000071529999 r_p=0.7599999904629999 r_d=1.6699999570800002 pbc="T T T"
+Li       0.00000000       0.00000000       0.00000000 
+Cl       1.33250000       1.33250000       1.33250000 
+2
+Lattice="0.0 2.106 2.106 2.106 0.0 2.106 2.106 2.106 0.0" Properties=species:S:1:pos:R:3 energy=-1455.1827425371428 Z=9.0 period=2.0 IP=-19.4043006897 EA=-4.27349996567 E_HOMO=-11.2939996719 E_LUMO=1.25100004673 r_s=0.409999996424 r_p=0.37000000476800005 r_d=1.42999994755 pbc="T T T"
+Li       0.00000000       0.00000000       0.00000000 
+F       1.05300000       1.05300000       1.05300000 
+2
+Lattice="0.0 3.1045 3.1045 3.1045 0.0 3.1045 3.1045 3.1045 0.0" Properties=species:S:1:pos:R:3 energy=-98315.88338153038 Z=53.0 period=5.0 IP=-11.2571001053 EA=-3.5134999752 E_HOMO=-7.2360000610399995 E_LUMO=0.212999999523 r_s=0.899999976158 r_p=1.07000005245 r_d=1.7200000286099997 pbc="T T T"
+Li       0.00000000       0.00000000       0.00000000 
+I       1.55225000       1.55225000       1.55225000 
+2
+Lattice="0.0 2.2595 2.2595 2.2595 0.0 2.2595 2.2595 2.2595 0.0" Properties=species:S:1:pos:R:3 energy=-3736.8424702157927 Z=8.0 period=2.0 IP=-16.433200836199997 EA=-3.00589990616 E_HOMO=-9.19699954987 E_LUMO=2.54099988937 r_s=0.460000008345 r_p=0.430000007153 r_d=2.22000002861 pbc="T T T"
+Mg       0.00000000       0.00000000       0.00000000 
+O       1.12975000       1.12975000       1.12975000 
+2
+Lattice="0.0 2.799 2.799 2.799 0.0 2.799 2.799 2.799 0.0" Properties=species:S:1:pos:R:3 energy=-8141.506683538365 Z=16.0 period=3.0 IP=-11.795100212100001 EA=-2.8448998928099996 E_HOMO=-7.105999946589999 E_LUMO=0.64200001955 r_s=0.7400000095370001 r_p=0.850000023842 r_d=2.36999988556 pbc="T T T"
+Mg       0.00000000       0.00000000       0.00000000 
+S       1.39950000       1.39950000       1.39950000 
+2
+Lattice="0.0 2.938 2.938 2.938 0.0 2.938 2.938 2.938 0.0" Properties=species:S:1:pos:R:3 energy=-35947.88472904348 Z=34.0 period=4.0 IP=-10.9460000992 EA=-2.7509999275200006 E_HOMO=-6.65399980545 E_LUMO=1.31599998474 r_s=0.800000011921 r_p=0.949999988079 r_d=2.18000006676 pbc="T T T"
+Mg       0.00000000       0.00000000       0.00000000 
+Se       1.46900000       1.46900000       1.46900000 
+2
+Lattice="0.0 3.186 3.186 3.186 0.0 3.186 3.186 3.186 0.0" Properties=species:S:1:pos:R:3 energy=-96435.23376243205 Z=52.0 period=5.0 IP=-9.86670017242 EA=-2.66599988937 E_HOMO=-6.10900020599 E_LUMO=0.09899999946360001 r_s=0.9399999976160001 r_p=1.1399999856899998 r_d=1.8300000429199998 pbc="T T T"
+Mg       0.00000000       0.00000000       0.00000000 
+Te       1.59300000       1.59300000       1.59300000 
+2
+Lattice="0.0 3.189 3.189 3.189 0.0 3.189 3.189 3.189 0.0" Properties=species:S:1:pos:R:3 energy=-37858.99965472755 Z=35.0 period=4.0 IP=-12.649600029 EA=-3.73930001259 E_HOMO=-8.001000404360001 E_LUMO=0.7080000042919999 r_s=0.75 r_p=0.879999995232 r_d=1.87000000477 pbc="T T T"
+Na       0.00000000       0.00000000       0.00000000 
+Br       1.59450000       1.59450000       1.59450000 
+2
+Lattice="0.0 3.0155000000000003 3.0155000000000003 3.0155000000000003 0.0 3.0155000000000003 3.0155000000000003 3.0155000000000003 0.0" Properties=species:S:1:pos:R:3 energy=-8475.24044242147 Z=17.0 period=3.0 IP=-13.9018001556 EA=-3.9707999229400004 E_HOMO=-8.699999809269999 E_LUMO=0.574000000954 r_s=0.6800000071529999 r_p=0.7599999904629999 r_d=1.6699999570800002 pbc="T T T"
+Na       0.00000000       0.00000000       0.00000000 
+Cl       1.50775000       1.50775000       1.50775000 
+2
+Lattice="0.0 2.4825 2.4825 2.4825 0.0 2.4825 2.4825 2.4825 0.0" Properties=species:S:1:pos:R:3 energy=-3555.697617887323 Z=9.0 period=2.0 IP=-19.4043006897 EA=-4.27349996567 E_HOMO=-11.2939996719 E_LUMO=1.25100004673 r_s=0.409999996424 r_p=0.37000000476800005 r_d=1.42999994755 pbc="T T T"
+Na       0.00000000       0.00000000       0.00000000 
+F       1.24125000       1.24125000       1.24125000 
+2
+Lattice="0.0 3.446 3.446 3.446 0.0 3.446 3.446 3.446 0.0" Properties=species:S:1:pos:R:3 energy=-100416.70139304109 Z=53.0 period=5.0 IP=-11.2571001053 EA=-3.5134999752 E_HOMO=-7.2360000610399995 E_LUMO=0.212999999523 r_s=0.899999976158 r_p=1.07000005245 r_d=1.7200000286099997 pbc="T T T"
+Na       0.00000000       0.00000000       0.00000000 
+I       1.72300000       1.72300000       1.72300000 
+2
+Lattice="0.0 3.7255 3.7255 3.7255 0.0 3.7255 3.7255 3.7255 0.0" Properties=species:S:1:pos:R:3 energy=-76473.52557213472 Z=35.0 period=4.0 IP=-12.649600029 EA=-3.73930001259 E_HOMO=-8.001000404360001 E_LUMO=0.7080000042919999 r_s=0.75 r_p=0.879999995232 r_d=1.87000000477 pbc="T T T"
+Rb       0.00000000       0.00000000       0.00000000 
+Br       1.86275000       1.86275000       1.86275000 
+2
+Lattice="0.0 3.553 3.553 3.553 0.0 3.553 3.553 3.553 0.0" Properties=species:S:1:pos:R:3 energy=-47089.732419464555 Z=17.0 period=3.0 IP=-13.9018001556 EA=-3.9707999229400004 E_HOMO=-8.699999809269999 E_LUMO=0.574000000954 r_s=0.6800000071529999 r_p=0.7599999904629999 r_d=1.6699999570800002 pbc="T T T"
+Rb       0.00000000       0.00000000       0.00000000 
+Cl       1.77650000       1.77650000       1.77650000 
+2
+Lattice="0.0 3.006 3.006 3.006 0.0 3.006 3.006 3.006 0.0" Properties=species:S:1:pos:R:3 energy=-42170.04806322617 Z=9.0 period=2.0 IP=-19.4043006897 EA=-4.27349996567 E_HOMO=-11.2939996719 E_LUMO=1.25100004673 r_s=0.409999996424 r_p=0.37000000476800005 r_d=1.42999994755 pbc="T T T"
+Rb       0.00000000       0.00000000       0.00000000 
+F       1.50300000       1.50300000       1.50300000 
+2
+Lattice="0.0 3.9885 3.9885 3.9885 0.0 3.9885 3.9885 3.9885 0.0" Properties=species:S:1:pos:R:3 energy=-139031.25821177967 Z=53.0 period=5.0 IP=-11.2571001053 EA=-3.5134999752 E_HOMO=-7.2360000610399995 E_LUMO=0.212999999523 r_s=0.899999976158 r_p=1.07000005245 r_d=1.7200000286099997 pbc="T T T"
+Rb       0.00000000       0.00000000       0.00000000 
+I       1.99425000       1.99425000       1.99425000 
+2
+Lattice="0.0 2.7015 2.7015 2.7015 0.0 2.7015 2.7015 2.7015 0.0" Properties=species:S:1:pos:R:3 energy=-7874.176328141364 Z=14.0 period=3.0 IP=-7.75769996643 EA=-0.992999970913 E_HOMO=-4.16300010681 E_LUMO=0.439999997616 r_s=0.9399999976160001 r_p=1.12999999523 r_d=1.88999998569 pbc="T T T"
+Si       0.00000000       0.00000000       0.00000000 
+Si       1.35075000       1.35075000       1.35075000 
+2
+Lattice="0.0 2.1655 2.1655 2.1655 0.0 2.1655 2.1655 2.1655 0.0" Properties=species:S:1:pos:R:3 energy=-4451.95462247301 Z=6.0 period=2.0 IP=-10.851699829100001 EA=-0.87239998579 E_HOMO=-5.415999889369999 E_LUMO=1.99199998379 r_s=0.6399999856949999 r_p=0.629999995232 r_d=1.62999999523 pbc="T T T"
+Si       0.00000000       0.00000000       0.00000000 
+C       1.08275000       1.08275000       1.08275000 
+2
+Lattice="0.0 3.238 3.238 3.238 0.0 3.238 3.238 3.238 0.0" Properties=species:S:1:pos:R:3 energy=-170215.36755613738 Z=50.0 period=5.0 IP=-7.04279994965 EA=-1.03919994831 E_HOMO=-3.86599993706 E_LUMO=0.008000000379979999 r_s=1.05999994278 r_p=1.34000003338 r_d=2.02999997139 pbc="T T T"
+Sn       0.00000000       0.00000000       0.00000000 
+Sn       1.61900000       1.61900000       1.61900000 
+2
+Lattice="0.0 2.4995 2.4995 2.4995 0.0 2.4995 2.4995 2.4995 0.0" Properties=species:S:1:pos:R:3 energy=-85621.48894653581 Z=6.0 period=2.0 IP=-10.851699829100001 EA=-0.87239998579 E_HOMO=-5.415999889369999 E_LUMO=1.99199998379 r_s=0.6399999856949999 r_p=0.629999995232 r_d=1.62999999523 pbc="T T T"
+Sn       0.00000000       0.00000000       0.00000000 
+C       1.24975000       1.24975000       1.24975000 
+2
+Lattice="0.0 3.03 3.03 3.03 0.0 3.03 3.03 3.03 0.0" Properties=species:S:1:pos:R:3 energy=-113787.5319504882 Z=32.0 period=4.0 IP=-7.566999912260001 EA=-0.9490000009540001 E_HOMO=-4.04600000381 E_LUMO=2.17499995232 r_s=0.920000016689 r_p=1.15999996662 r_d=2.36999988556 pbc="T T T"
+Sn       0.00000000       0.00000000       0.00000000 
+Ge       1.51500000       1.51500000       1.51500000 
+2
+Lattice="0.0 2.9765 2.9765 2.9765 0.0 2.9765 2.9765 2.9765 0.0" Properties=species:S:1:pos:R:3 energy=-89044.63051199305 Z=14.0 period=3.0 IP=-7.75769996643 EA=-0.992999970913 E_HOMO=-4.16300010681 E_LUMO=0.439999997616 r_s=0.9399999976160001 r_p=1.12999999523 r_d=1.88999998569 pbc="T T T"
+Sn       0.00000000       0.00000000       0.00000000 
+Si       1.48825000       1.48825000       1.48825000 
+2
+Lattice="0.0 2.74 2.74 2.74 0.0 2.74 2.74 2.74 0.0" Properties=species:S:1:pos:R:3 energy=-44570.141415662634 Z=8.0 period=2.0 IP=-16.433200836199997 EA=-3.00589990616 E_HOMO=-9.19699954987 E_LUMO=2.54099988937 r_s=0.460000008345 r_p=0.430000007153 r_d=2.22000002861 pbc="T T T"
+Sr       0.00000000       0.00000000       0.00000000 
+O       1.37000000       1.37000000       1.37000000 
+2
+Lattice="0.0 3.257 3.257 3.257 0.0 3.257 3.257 3.257 0.0" Properties=species:S:1:pos:R:3 energy=-48975.26714918975 Z=16.0 period=3.0 IP=-11.795100212100001 EA=-2.8448998928099996 E_HOMO=-7.105999946589999 E_LUMO=0.64200001955 r_s=0.7400000095370001 r_p=0.850000023842 r_d=2.36999988556 pbc="T T T"
+Sr       0.00000000       0.00000000       0.00000000 
+S       1.62850000       1.62850000       1.62850000 
+2
+Lattice="0.0 3.3875000000000006 3.3875000000000006 3.3875000000000006 0.0 3.3875000000000006 3.3875000000000006 3.3875000000000006 0.0" Properties=species:S:1:pos:R:3 energy=-76781.71391809703 Z=34.0 period=4.0 IP=-10.9460000992 EA=-2.7509999275200006 E_HOMO=-6.65399980545 E_LUMO=1.31599998474 r_s=0.800000011921 r_p=0.949999988079 r_d=2.18000006676 pbc="T T T"
+Sr       0.00000000       0.00000000       0.00000000 
+Se       1.69375000       1.69375000       1.69375000 
+2
+Lattice="0.0 3.6335000000000006 3.6335000000000006 3.6335000000000006 0.0 3.6335000000000006 3.6335000000000006 3.6335000000000006 0.0" Properties=species:S:1:pos:R:3 energy=-137269.10785271216 Z=52.0 period=5.0 IP=-9.86670017242 EA=-2.66599988937 E_HOMO=-6.10900020599 E_LUMO=0.09899999946360001 r_s=0.9399999976160001 r_p=1.1399999856899998 r_d=1.8300000429199998 pbc="T T T"
+Sr       0.00000000       0.00000000       0.00000000 
+Te       1.81675000       1.81675000       1.81675000 
+2
+Lattice="0.0 2.2465 2.2465 2.2465 0.0 2.2465 2.2465 2.2465 0.0" Properties=species:S:1:pos:R:3 energy=-25540.911172888984 Z=8.0 period=2.0 IP=-16.433200836199997 EA=-3.00589990616 E_HOMO=-9.19699954987 E_LUMO=2.54099988937 r_s=0.460000008345 r_p=0.430000007153 r_d=2.22000002861 pbc="T T T"
+Zn       0.00000000       0.00000000       0.00000000 
+O       1.12325000       1.12325000       1.12325000 
+2
+Lattice="0.0 2.6495000000000006 2.6495000000000006 2.6495000000000006 0.0 2.6495000000000006 2.6495000000000006 2.6495000000000006 0.0" Properties=species:S:1:pos:R:3 energy=-29946.16518641784 Z=16.0 period=3.0 IP=-11.795100212100001 EA=-2.8448998928099996 E_HOMO=-7.105999946589999 E_LUMO=0.64200001955 r_s=0.7400000095370001 r_p=0.850000023842 r_d=2.36999988556 pbc="T T T"
+Zn       0.00000000       0.00000000       0.00000000 
+S       1.32475000       1.32475000       1.32475000 
+2
+Lattice="0.0 2.786 2.786 2.786 0.0 2.786 2.786 2.786 0.0" Properties=species:S:1:pos:R:3 energy=-57752.58301237795 Z=34.0 period=4.0 IP=-10.9460000992 EA=-2.7509999275200006 E_HOMO=-6.65399980545 E_LUMO=1.31599998474 r_s=0.800000011921 r_p=0.949999988079 r_d=2.18000006676 pbc="T T T"
+Zn       0.00000000       0.00000000       0.00000000 
+Se       1.39300000       1.39300000       1.39300000 
+2
+Lattice="0.0 2.999 2.999 2.999 0.0 2.999 2.999 2.999 0.0" Properties=species:S:1:pos:R:3 energy=-118240.05267691075 Z=52.0 period=5.0 IP=-9.86670017242 EA=-2.66599988937 E_HOMO=-6.10900020599 E_LUMO=0.09899999946360001 r_s=0.9399999976160001 r_p=1.1399999856899998 r_d=1.8300000429199998 pbc="T T T"
+Zn       0.00000000       0.00000000       0.00000000 
+Te       1.49950000       1.49950000       1.49950000 
diff --git a/data/data.pkl b/data/data.pkl
deleted file mode 100644
index bcefdf05625eb34be8bb27579ed7008792a0ef96..0000000000000000000000000000000000000000
Binary files a/data/data.pkl and /dev/null differ