The content of this model has been carefully created in a manual research effort. This file has been exported from the software 
-      
This file has been produced by the 
-      
Systems Biology Research Group using 
+      
       Terms of use
       Copyright © 2017 The Regents of the University of California.
       
-        
Redistribution and use of any part of this model from BiGG Models knowledge-base, with or without modification, are permitted provided that the following conditions are met: 
+        
Redistribution and use of any part of this model from BiGG Models knowledge-base, with or without modification, are permitted provided that the following conditions are met:
         
           - Redistributions of this SBML file must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in a different form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided
           with the distribution.
This model is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-        
For specific licensing terms about this particular model and regulations of commercial use, see 
+        
For specific licensing terms about this particular model and regulations of commercial use, see
         this model in BiGG Models knowledge-base.
       
-      
References
When using content from BiGG Models knowledge-base in your research works, please cite 
+      
References
When using content from BiGG Models knowledge-base in your research works, please cite
       
-        - King ZA, Lu JS, Dräger A, Miller PC, Federowicz S, Lerman JA, Ebrahim A, Palsson BO, and Lewis NE. (2015). 
-        
- BiGG Models: A platform for integrating, standardizing, and sharing genome-scale models. 
-        Nucl Acids Res. 
+        
- King ZA, Lu JS, Dräger A, Miller PC, Federowicz S, Lerman JA, Ebrahim A, Palsson BO, and Lewis NE. (2015).
+        
- BiGG Models: A platform for integrating, standardizing, and sharing genome-scale models.
+        Nucl Acids Res.
         doi:10.1093/nar/gkv1049
     
@@ -94,7 +94,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -115,7 +115,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -137,7 +137,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -158,7 +158,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -179,7 +179,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -200,7 +200,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -221,7 +221,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -242,7 +242,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -263,7 +263,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -284,7 +284,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -305,7 +305,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -326,7 +326,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -347,7 +347,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -368,7 +368,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -389,7 +389,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -410,7 +410,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -431,7 +431,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -452,7 +452,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -473,7 +473,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -494,7 +494,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -515,7 +515,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -536,7 +536,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -557,7 +557,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -578,7 +578,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -599,7 +599,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -620,7 +620,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -641,7 +641,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -662,7 +662,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -683,7 +683,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -704,7 +704,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -725,7 +725,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -746,7 +746,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -767,7 +767,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -788,7 +788,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -809,7 +809,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -830,7 +830,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -851,7 +851,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -872,7 +872,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -893,7 +893,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -914,7 +914,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -935,7 +935,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -956,7 +956,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -977,7 +977,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -998,7 +998,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1019,7 +1019,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1040,7 +1040,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1061,7 +1061,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1082,7 +1082,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1103,7 +1103,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1124,7 +1124,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1145,7 +1145,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1166,7 +1166,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1187,7 +1187,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1208,7 +1208,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1229,7 +1229,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1250,7 +1250,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1271,7 +1271,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1292,7 +1292,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1313,7 +1313,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1334,7 +1334,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1355,7 +1355,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1376,7 +1376,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1397,7 +1397,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1418,7 +1418,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1439,7 +1439,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1460,7 +1460,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1481,7 +1481,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1502,7 +1502,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1523,7 +1523,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1544,7 +1544,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1565,7 +1565,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1586,7 +1586,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1607,7 +1607,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1628,7 +1628,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1649,7 +1649,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1670,7 +1670,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1691,7 +1691,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1712,7 +1712,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1733,7 +1733,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1754,7 +1754,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1775,7 +1775,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1796,7 +1796,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1817,7 +1817,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1838,7 +1838,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1859,7 +1859,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1880,7 +1880,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1901,7 +1901,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1922,7 +1922,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1943,7 +1943,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1964,7 +1964,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -1985,7 +1985,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2006,7 +2006,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2027,7 +2027,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2048,7 +2048,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2069,7 +2069,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2090,7 +2090,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2111,7 +2111,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2132,7 +2132,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2153,7 +2153,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2174,7 +2174,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2195,7 +2195,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2216,7 +2216,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2237,7 +2237,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2258,7 +2258,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2279,7 +2279,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2300,7 +2300,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2321,7 +2321,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2342,7 +2342,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2363,7 +2363,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2384,7 +2384,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2405,7 +2405,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2426,7 +2426,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2447,7 +2447,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2468,7 +2468,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2489,7 +2489,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2510,7 +2510,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2531,7 +2531,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2552,7 +2552,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2573,7 +2573,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2594,7 +2594,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2615,7 +2615,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2636,7 +2636,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2657,7 +2657,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2678,7 +2678,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2699,7 +2699,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2720,7 +2720,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2741,7 +2741,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2762,7 +2762,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2783,7 +2783,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2804,7 +2804,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2825,7 +2825,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2846,7 +2846,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2867,7 +2867,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2888,7 +2888,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2909,7 +2909,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -2930,7 +2930,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
                   
                   
                   
-                  
+                  
                 
               
             
@@ -6035,7 +6035,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6052,7 +6052,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6069,7 +6069,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6086,7 +6086,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6103,7 +6103,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6120,7 +6120,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6137,7 +6137,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6154,7 +6154,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6171,7 +6171,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6188,7 +6188,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6205,7 +6205,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6238,7 +6238,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6255,7 +6255,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6272,7 +6272,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6289,7 +6289,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6305,7 +6305,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6322,7 +6322,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6339,7 +6339,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -6356,7 +6356,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
             
               
                 
-                  
+                  
                 
               
             
@@ -7423,7 +7423,7 @@ xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:groups="
           
         
       
-      
         
           
diff --git a/tests/data/e_coli_core_for_annotation.xml b/tests/data/e_coli_core_for_annotation.xml
new file mode 100644
index 000000000..3358ad622
--- /dev/null
+++ b/tests/data/e_coli_core_for_annotation.xml
@@ -0,0 +1,8367 @@
+
+
+
+  
+    
+      
+        
 Key1 : Value1 
+        
+          
+            
e_coli_core - Escherichia coli str. K-12 substr. MG1655
+          
+        
+      
Description
+      
+        
This is a metabolism model of Escherichia coli str. K-12 substr. MG1655 in
+        SBML format.
+      
The content of this model has been carefully created in a manual research effort. This file has been exported from the software
+      
COBRApy and further processed with the
+      
JSBML-based
+      
ModelPolisher application.
Terms of use
+      Copyright © 2017 The Regents of the University of California.
+      
+        
Redistribution and use of any part of this model from BiGG Models knowledge-base, with or without modification, are permitted provided that the following conditions are met:
+        
+          - Redistributions of this SBML file must retain the above copyright notice, this list of conditions and the following disclaimer.+
- Redistributions in a different form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided
+          with the distribution.+
This model is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+        
For specific licensing terms about this particular model and regulations of commercial use, see
+        this model in BiGG Models knowledge-base.
+      
References
When using content from BiGG Models knowledge-base in your research works, please cite
+      
+        - King ZA, Lu JS, Dräger A, Miller PC, Federowicz S, Lerman JA, Ebrahim A, Palsson BO, and Lewis NE. (2015).
+        
- BiGG Models: A platform for integrating, standardizing, and sharing genome-scale models.
+        Nucl Acids Res.
+        doi:10.1093/nar/gkv1049+
+    
+    
+      
+        
+          
+            
+              
+                
+                  Koenig
+                  Matthias
+                
+                koenigmx@hu-berlin.de
+                
+                  Humboldt-University Berlin, Institute for Theoretical Biology
+                
+              
+              
+                
+                  Koenig
+                  Matthias
+                
+                koenigmx@hu-berlin.de
+              
+              
+                
+                  Koenig
+                  Matthias
+                
+                
+                  Humboldt-University Berlin, Institute for Theoretical Biology
+                
+              
+              
+                
+                  Koenig
+                  Matthias
+                
+              
+            
+          
+          
+            2019-03-06T14:40:55Z
+          
+          
+            2019-03-06T14:40:55Z
+          
+          
+            2019-03-06T14:41:55Z
+          
+          
+            
+              
+            
+          
+          
+            
+              
+              
+                
+                  
+                
+              
+              
+                
+                  
+                
+              
+            
+          
+          
+            
+              
+            
+          
+          
+            
+              
+            
+          
+        
+      
+    
+    
+      
+        
+          
+        
+      
+    
+    
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+              
+                
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+    
+    
+      
+        
+          
+          
+          
+          
+          
+          
+        
+      
+      
+        
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+        
+      
+      
+        
+          
+          
+          
+          
+          
+          
+          
+          
+        
+      
+      
+        
+          
+          
+          
+          
+          
+          
+          
+          
+        
+      
+      
+        
+          
+        
+      
+      
+        
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+          
+        
+      
+      
+        
+          
+          
+          
+          
+          
+          
+          
+          
+        
+      
+      
+        
+          
+          
+          
+          
+        
+      
+      
+        
+          
+          
+          
+          
+          
+          
+        
+      
+      
+        
+          
+          
+        
+      
+    
+    
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+            
+          
+        
+        
+          
+            
+              
+                
+                  
+                    
+                      
+                    
+                  
+                
+              
+            
+          
+          
+            
+              
+                
+                  
+                    
+                      
+                    
+                  
+                
+              
+            
+          
+          
+            
+              
+                
+                  
+                    
+                      
+                    
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                    
+                      
+                    
+                  
+                
+              
+            
+          
+          
+            
+              
+                
+                  
+                    
+                      
+                    
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                    
+                      
+                    
+                  
+                
+              
+            
+          
+        
+      
+    
+    
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                
+              
+            
+          
+        
+      
+    
+    
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+      
+    
+    
+      
+      
+      
+      
+      
+    
+    
+      
+        
+          
+            
+              
+                
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                
+              
+            
+          
+        
+        
+          
+
+              
 Key1 : Value1 
+              
 Key2 : Value2 
+              
+                
 A Heading 
+                  
 e_coli_core - Escherichia coli str. K-12 substr. MG1655 
+              
+              
 Key3 : Value3 
+            
Description
\n    \n      
This is a metabolism model of Escherichia coli str. K-12 substr. MG1655 in\n        SBML\u00a0format.
\n    
The content of this model has been carefully created in a manual research effort. This file has been exported from the software\n      
COBRApy\u00a0and further processed with the\n      
JSBML-based\n      
ModelPolisher\u00a0application.
Terms of use
\n    Copyright \u00a9 2017 The Regents of the University of California.
\n    \n      
Redistribution and use of any part of this model from BiGG Models knowledge-base, with or without modification, are permitted provided that the following conditions are met:\n        
\n        - Redistributions of this SBML file must retain the above copyright notice, this list of conditions and the following disclaimer.\n
- Redistributions in a different form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided\n          with the distribution.\n
This model is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n      
For specific licensing terms about this particular model and regulations of commercial use, see\n        this model in BiGG Models knowledge-base.
\n    
References
When using content from BiGG Models knowledge-base in your research works, please cite\n      \n      - King ZA, Lu JS, Dr\u00e4ger A, Miller PC, Federowicz S, Lerman JA, Ebrahim A, Palsson BO, and\u00a0Lewis NE. (2015).\n        
- BiGG Models: A platform for integrating, standardizing, and sharing genome-scale models.\n        Nucl Acids Res.\n        doi:10.1093/nar/gkv1049\n
\n  ",
+    "reactions": [
+        {
+            "annotation": {
+                "cvterms": {
+                    "bqb_is": [
+                        {
+                            "resources": [
+                                "http://identifiers.org/bigg.reaction/ACALD",
+                                "http://identifiers.org/biocyc/META:ACETALD-DEHYDROG-RXN",
+                                "http://identifiers.org/ec-code/1.2.1.10",
+                                "http://identifiers.org/kegg.reaction/R00228",
+                                "http://identifiers.org/metanetx.reaction/MNXR95210",
+                                "http://identifiers.org/rhea/23288",
+                                "http://identifiers.org/rhea/23289",
+                                "http://identifiers.org/rhea/23290",
+                                "http://identifiers.org/rhea/23291"
+                            ]
+                        }
+                    ]
+                }
+            },
+            "gene_reaction_rule": "b0351 or b1241",
+            "id": "R_ACALD",
+            "lower_bound": -1000.0,
+            "metabolites": {
+                "M_acald_c": -1.0,
+                "M_accoa_c": 1.0,
+                "M_coa_c": -1.0,
+                "M_h_c": 1.0,
+                "M_nad_c": -1.0,
+                "M_nadh_c": 1.0
+            },
+            "name": "Acetaldehyde dehydrogenase (acetylating)",
+            "notes": "\n  \n\n      
 Key1 : Value1 
\n      
 Key2 : Value2 
\n      
\n        
 A Heading 
\n        
 e_coli_core - Escherichia coli str. K-12 substr. MG1655 
\n      
\n      
 Key3 : Value3 
\n    
\n      
 Key1 : Value1 
\n      
\n        
\n          
e_coli_core - Escherichia coli str. K-12 substr. MG1655
\n        \n      
\n    
-      
+      
       
         
           
             
               
                 
-                  
+                  
                 
               
             
@@ -935,7 +953,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -951,7 +969,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -967,7 +985,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -983,7 +1001,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1010,7 +1028,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1036,7 +1054,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1080,7 +1098,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1105,15 +1123,15 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -1141,7 +1159,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1169,7 +1187,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1191,7 +1209,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1215,7 +1233,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1241,7 +1259,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1268,7 +1286,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1296,7 +1314,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1322,97 +1340,97 @@
       
     
     
-      
-      
-      
-      
-      
+      
+      
+      
+      
+      
       
         
           
             
               
                 
-                  
-                  
+                  
+                  
                 
               
             
           
         
       
-      
-      
-      
-      
-      
-      
-      
-      
-      
-      
-      
-      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
       
         
           
             
               
                 
-                  
+                  
                 
               
             
           
         
       
-      
+      
       
         
           
             
               
                 
-                  
+                  
                 
               
             
           
         
       
-      
-      
-      
+      
+      
+      
       
         
           
             
               
                 
-                  
-                  
+                  
+                  
                 
               
             
           
         
       
-      
+      
       
         
           
             
               
                 
-                  
+                  
                 
               
             
           
         
       
-      
-      
+      
+      
     
   
 
diff --git a/tests/data/mini_fbc2.xml b/tests/data/mini_fbc2.xml
index e64a625b8..a22f61a4a 100644
--- a/tests/data/mini_fbc2.xml
+++ b/tests/data/mini_fbc2.xml
@@ -21,19 +21,19 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -46,23 +46,23 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -75,29 +75,29 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -110,33 +110,34 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -149,32 +150,33 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -187,25 +189,26 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -218,25 +221,26 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -249,26 +253,27 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -281,19 +286,20 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -306,28 +312,29 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -340,10 +347,11 @@
             
               
                 
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -356,64 +364,65 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -426,64 +435,65 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -496,37 +506,38 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -539,37 +550,38 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -582,20 +594,20 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -608,20 +620,20 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -634,30 +646,31 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -670,25 +683,26 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -701,24 +715,25 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -731,52 +746,53 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -789,52 +805,53 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -847,25 +864,26 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -889,7 +907,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -905,14 +923,14 @@
           
         
       
-      
+      
       
         
           
             
               
                 
-                  
+                  
                 
               
             
@@ -935,7 +953,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -951,7 +969,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -967,7 +985,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -983,7 +1001,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1010,7 +1028,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1036,7 +1054,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1080,7 +1098,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1105,15 +1123,15 @@
             
               
                 
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
-                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                 
               
             
@@ -1141,7 +1159,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1169,7 +1187,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1191,7 +1209,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1215,7 +1233,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1241,7 +1259,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1268,7 +1286,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1296,7 +1314,7 @@
             
               
                 
-                  
+                  
                 
               
             
@@ -1322,97 +1340,97 @@
       
     
     
-      
-      
-      
-      
-      
+      
+      
+      
+      
+      
       
         
           
             
               
                 
-                  
-                  
+                  
+                  
                 
               
             
           
         
       
-      
-      
-      
-      
-      
-      
-      
-      
-      
-      
-      
-      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
       
         
           
             
               
                 
-                  
+                  
                 
               
             
           
         
       
-      
+      
       
         
           
             
               
                 
-                  
+                  
                 
               
             
           
         
       
-      
-      
-      
+      
+      
+      
       
         
           
             
               
                 
-                  
-                  
+                  
+                  
                 
               
             
           
         
       
-      
+      
       
         
           
             
               
                 
-                  
+                  
                 
               
             
           
         
       
-      
-      
+      
+      
     
   
 
diff --git a/tests/data/mini_fbc2.xml.bz2 b/tests/data/mini_fbc2.xml.bz2
index cdfa3736a..487855e44 100644
Binary files a/tests/data/mini_fbc2.xml.bz2 and b/tests/data/mini_fbc2.xml.bz2 differ
diff --git a/tests/data/mini_fbc2.xml.gz b/tests/data/mini_fbc2.xml.gz
index efdb5e4c5..a52c29193 100644
Binary files a/tests/data/mini_fbc2.xml.gz and b/tests/data/mini_fbc2.xml.gz differ
diff --git a/tests/data/mini_wrong_key_caps.mat b/tests/data/mini_wrong_key_caps.mat
index ef093934e..59931eb36 100644
Binary files a/tests/data/mini_wrong_key_caps.mat and b/tests/data/mini_wrong_key_caps.mat differ
diff --git a/tests/data/raven.pickle b/tests/data/raven.pickle
index 5bb891e73..a33a8e701 100644
Binary files a/tests/data/raven.pickle and b/tests/data/raven.pickle differ
diff --git a/tests/data/salmonella.pickle b/tests/data/salmonella.pickle
index 644fa8ee8..12db2a493 100644
Binary files a/tests/data/salmonella.pickle and b/tests/data/salmonella.pickle differ
diff --git a/tests/data/salmonella_old.pickle b/tests/data/salmonella_old.pickle
new file mode 100644
index 000000000..33b1e8f7a
Binary files /dev/null and b/tests/data/salmonella_old.pickle differ
diff --git a/tests/data/textbook.xml.gz b/tests/data/textbook.xml.gz
index a5d1fbc51..40452b55b 100644
Binary files a/tests/data/textbook.xml.gz and b/tests/data/textbook.xml.gz differ
diff --git a/tests/data/update_pickles.py b/tests/data/update_pickles.py
index 035604c7c..b1270e984 100755
--- a/tests/data/update_pickles.py
+++ b/tests/data/update_pickles.py
@@ -14,8 +14,11 @@
 from json import dump as json_dump
 from pickle import dump, load
 
+import scipy.io as scipy_io
+
 import cobra
 from cobra.io import (
+    create_mat_dict,
     load_matlab_model,
     load_model,
     read_sbml_model,
@@ -109,6 +112,40 @@
     with open("raven.pickle", "wb") as outfile:
         dump(raven, outfile, protocol=2)
 
+    # Make mat model with wrong fields, which needs to happen every time the mini.mat
+    # model changes, i.e. every time update_pickles.py runs.
+    mat_dict = create_mat_dict(mini)
+
+    old_new_fields = {
+        "metUniPathway": "metUNIPathway",
+        "metKEGGID": "metKeggID",
+        "metHMDBID": "methmdbid",
+        "metMetaNetXID": "metMETANETXID",
+        "metKEGGDrugID": "metKEGGDrugid",
+        "metKEGGGlycanID": "metkeggGlycanID",
+        "metBiGGID": "metBIGGID",
+        "metLIPIDMAPSID": "metLipidMapsID",
+        "metSEEDID": "metSEEDID".casefold(),
+        "metBioCycID": "metBioCYCID",
+        "metPubChemSubstance": "metPubChemSUBSTANCE",
+        "metReactomeID": "metREACTOMEid",
+        "metCasNumber": "metCASNumber".upper(),
+        "rxnECNumbers": "rxnECNumbers".upper(),
+        "rxnMetaNetXID": "rxnMetaNetXID".casefold(),
+        "rxnKEGGID": "rxnKeggID",
+        "rxnRheaID": "rxnRHEAID",
+        "rxnBioCycID": "rxnBIOCycID",
+        "rxnBiGGID": "rxnBIGGID",
+    }
+    for _old, _new in old_new_fields.items():
+        mat_dict[_new] = mat_dict.pop(_old)
+    scipy_io.savemat(
+        "mini_wrong_key_caps.mat",
+        {"mini_textbook": mat_dict},
+        appendmat=True,
+        oned_as="column",
+    )
+
     # TODO:these need a reference solutions rather than circular solution checking!
 
     # fva results
diff --git a/tests/data/valid_annotation_format.json b/tests/data/valid_annotation_format.json
index 8bbb6a38c..84107b755 100644
--- a/tests/data/valid_annotation_format.json
+++ b/tests/data/valid_annotation_format.json
@@ -5,9 +5,9 @@
       "name":"",
       "compartment":"c",
       "annotation": {
-        "bigg.reaction": [["is", "PFK26"]],
-        "kegg.reaction": [["is", "R02732"]],
-        "rhea": [["is", "15656"]]
+        "bigg.reaction": [["bqb_is", "PFK26"]],
+        "kegg.reaction": [["bqb_is", "R02732"]],
+        "rhea": [["bqb_is", "15656"]]
       }
     }
   ],
diff --git a/tests/test_core/test_group.py b/tests/test_core/test_group.py
index 543df5960..9a0125c02 100644
--- a/tests/test_core/test_group.py
+++ b/tests/test_core/test_group.py
@@ -1,10 +1,12 @@
 """Test functions of group via model.py."""
 
+from os.path import join
 
 import pytest
 
 from cobra import Model
 from cobra.core import Group
+from cobra.io import load_json_model, read_sbml_model, save_json_model
 
 
 def test_group_add_elements(model: Model) -> None:
@@ -38,3 +40,17 @@ def test_group_kind() -> None:
 
     group.kind = "collection"
     assert group.kind == "collection"
+
+
+def test_read_write_json(data_directory, tmp_path):
+    model = read_sbml_model(join(data_directory, "e_coli_core.xml"))
+    assert model.groups is not None
+    assert len(model.groups) == 10
+    assert len(model.groups[0].members) == 6
+
+    path_to_file = join(tmp_path, "group_ecoli.json")
+    save_json_model(model, path_to_file)
+    model_from_json = load_json_model(path_to_file)
+    assert model_from_json.groups is not None
+    assert len(model_from_json.groups) == 10
+    assert len(model_from_json.groups[0].members) == 6
diff --git a/tests/test_core/test_metadata/test_history.py b/tests/test_core/test_metadata/test_history.py
new file mode 100644
index 000000000..fda29e135
--- /dev/null
+++ b/tests/test_core/test_metadata/test_history.py
@@ -0,0 +1,119 @@
+import os
+from datetime import datetime, timedelta, timezone
+
+import pytest
+
+from cobra.core.metadata.history import Creator, History, HistoryDatetime
+from cobra.io import read_sbml_model
+
+
+JUNE_26TH = "2020-06-26T12:34:11+00:00"
+JUNE_26TH_530 = "2020-06-26T00:34:11+05:30"
+TEST_COM = "test@test.com"
+
+
+def _read_ecoli_annotation_model(data_directory):
+    """Read model with history elements."""
+    test_xml = os.path.join(data_directory, "e_coli_core_for_annotation.xml")
+    model = read_sbml_model(test_xml)
+    return model
+
+
+def test_create_history():
+    history = History(
+        creators=[
+            Creator(
+                given_name="Matthias",
+                family_name="Koenig",
+                organisation="HU",
+                email=TEST_COM,
+            ),
+            Creator(
+                given_name="Andreas",
+                family_name="Draeger",
+                organisation="University of Tübingen",
+                email="test2@test2.com",
+            ),
+        ],
+        created_date=HistoryDatetime(JUNE_26TH_530),
+        modified_dates=[
+            HistoryDatetime(JUNE_26TH),
+            HistoryDatetime(JUNE_26TH_530),
+        ],
+    )
+    assert len(history.creators) == 2
+    assert isinstance(history.created_date, HistoryDatetime)
+    assert history.created_date.datetime == JUNE_26TH_530
+    assert len(history.modified_dates) == 2
+
+
+def test_history_from_ecoli_xml(data_directory):
+    model = _read_ecoli_annotation_model(data_directory)
+    history = History(
+        creators=[
+            Creator(
+                given_name="Matthias",
+                family_name="Koenig",
+                email="koenigmx@hu-berlin.de",
+                organisation="Humboldt-University Berlin, "
+                "Institute for Theoretical Biology",
+            ),
+            Creator(
+                given_name="Matthias",
+                family_name="Koenig",
+                email="koenigmx@hu-berlin.de",
+            ),
+            Creator(
+                given_name="Matthias",
+                family_name="Koenig",
+                organisation="Humboldt-University Berlin, "
+                "Institute for Theoretical Biology",
+            ),
+            Creator(
+                given_name="Matthias",
+                family_name="Koenig",
+            ),
+        ],
+        created_date=HistoryDatetime("2019-03-06T14:40:55Z"),
+        modified_dates=[
+            HistoryDatetime("2019-03-06T14:40:55Z"),
+            HistoryDatetime("2019-03-06T14:41:55Z"),
+        ],
+    )
+    assert model.annotation.history == history
+
+
+def test_create_creator():
+    creator = Creator(
+        given_name="Matthias",
+        family_name="König",
+        organisation="HU",
+        email=TEST_COM,
+    )
+    assert creator.given_name == "Matthias"
+    assert creator.family_name == "König"
+    assert creator.organisation == "HU"
+    assert creator.email == TEST_COM
+
+
+def test_historydatetime():
+    # valid date
+    dt_str1 = JUNE_26TH_530
+    datetime_obj = HistoryDatetime(dt_str1)
+    assert datetime_obj.datetime == dt_str1
+
+    # valid date
+    datetime_obj.datetime = JUNE_26TH
+    assert datetime_obj.datetime == JUNE_26TH
+    datetime_obj.datetime = None
+    assert datetime_obj.datetime is None
+
+    # create from python datetime
+    datetime_obj.datetime = datetime.now()
+    assert datetime_obj.datetime is not None
+
+    # incorrect format
+    with pytest.raises(ValueError):
+        datetime_obj.datetime = datetime.now(timezone(timedelta(hours=1))).strftime(
+            "%Y-%m-%dT%H:%M:%S%Z"
+        )
diff --git a/tests/test_core/test_metadata/test_keyvaluepair.py b/tests/test_core/test_metadata/test_keyvaluepair.py
new file mode 100644
index 000000000..7f58250e4
--- /dev/null
+++ b/tests/test_core/test_metadata/test_keyvaluepair.py
@@ -0,0 +1,64 @@
+from cobra.core.metadata.keyvaluepairs import KeyValueEntry, KeyValuePairs
+
+
+EXAMPLE_URL = "https://tinyurl.com/ybyr7b62"
+
+
+def test_keyvalueentry():
+    keyvaluedict = KeyValueEntry.from_data(
+        {
+            "id": "KV_id",
+            "name": "abc_xyz",
+            "key": "keyX",
+            "value": "45",
+            "uri": EXAMPLE_URL,
+        }
+    )
+    assert isinstance(keyvaluedict, KeyValueEntry)
+    assert keyvaluedict.id == "KV_id"
+    assert keyvaluedict.name == "abc_xyz"
+    assert keyvaluedict.key == "keyX"
+    assert keyvaluedict.value == "45"
+    assert keyvaluedict.uri == EXAMPLE_URL
+
+
+def test_keyvalueentry_empty_uri():
+    keyvaluedict = KeyValueEntry.from_data(
+        {
+            "id": "KV_id",
+            "name": "abc_xyz",
+            "key": "keyX",
+            "value": "45",
+        }
+    )
+    assert isinstance(keyvaluedict, KeyValueEntry)
+    assert keyvaluedict.id == "KV_id"
+    assert keyvaluedict.name == "abc_xyz"
+    assert keyvaluedict.key == "keyX"
+    assert keyvaluedict.value == "45"
+    assert keyvaluedict.uri is None
+
+
+def test_keyvaluepairs():
+    entry1 = {
+        "id": "id1",
+        "name": "abc_xyz",
+        "key": "key1",
+        "value": "45",
+        "uri": "https://tinyurl.com/ybyr7b62",
+    }
+    entry2 = KeyValueEntry.from_data(
+        {
+            "id": "id2",
+            "name": "abc_xyz2",
+            "key": "key2",
+            "value": "48",
+            "uri": EXAMPLE_URL,
+        }
+    )
+
+    kvp = KeyValuePairs(entries=[entry1, entry2])
+    assert len(kvp) == 2
+    for key in ["key1", "key2"]:
+        assert key in kvp
+    assert kvp["key2"] == entry2
diff --git a/tests/test_core/test_metadata/test_metadata.py b/tests/test_core/test_metadata/test_metadata.py
new file mode 100644
index 000000000..2d0869069
--- /dev/null
+++ b/tests/test_core/test_metadata/test_metadata.py
@@ -0,0 +1,249 @@
+"""Tests for the metadata structures."""
+
+import json
+import os
+from os.path import join
+from pathlib import Path
+
+from cobra.core.metadata import CVTerm, CVTerms, ExternalResources
+from cobra.core.species import Species
+from cobra.io import load_json_model, read_sbml_model, save_json_model, write_sbml_model
+
+
+PUBMED_EXAMPLE = "https://identifiers.org/pubmed/1111111"
+ECO_EXAMPLE = "https://identifiers.org/eco/ECO:0000004"
+
+ecoli_model_annotation = {
+    "bqb_hasTaxon": [{"resources": ["http://identifiers.org/taxonomy/511145"]}],
+    "bqm_is": [
+        {
+            "nested_data": {
+                "bqb_isDescribedBy": [
+                    {"resources": [PUBMED_EXAMPLE]},
+                    {"resources": [ECO_EXAMPLE]},
+                ]
+            },
+            "resources": ["http://identifiers.org/bigg.model/e_coli_core"],
+        }
+    ],
+    "bqm_isDescribedBy": [
+        {"resources": ["http://identifiers.org/doi/10.1128/ecosalplus.10.2.1"]},
+        {"resources": ["http://identifiers.org/ncbigi/gi:16128336"]},
+    ],
+}
+
+
+def test_annotation():
+    # a cobra component
+    s = Species()
+    assert s.annotation == {}  # nothing set for annotation, so empty dict
+    assert s.annotation.cvterms == CVTerms()
+    assert not s.annotation.keys()
+    assert s.annotation.keyvaluepairs == {}
+    assert s.annotation.history.creators == []
+    assert s.annotation.history.modified_dates == []
+
+    # setting annotation via old annotation format
+    s.annotation["chebi"] = ["CHEBI:43215", "CHEBI:11881"]
+
+    assert s.annotation.cvterms.resources == {
+        "https://identifiers.org/chebi/CHEBI:43215",
+        "https://identifiers.org/chebi/CHEBI:11881",
+    }
+
+    # checking old (fixed) annotation format
+    assert s.annotation == {"chebi": sorted(["CHEBI:43215", "CHEBI:11881"])}
+
+    # checking new cvterms
+    cvt = CVTerms(
+        [
+            CVTerm(
+                qualifier="bqb_is",
+                ex_res=ExternalResources(
+                    resources=["https://identifiers.org/chebi/CHEBI:43215"]
+                ),
+            ),
+            CVTerm(
+                qualifier="bqb_is",
+                ex_res=ExternalResources(
+                    resources=["https://identifiers.org/chebi/CHEBI:11881"]
+                ),
+            ),
+        ]
+    )
+
+    assert s.annotation.cvterms == cvt
+
+    # adding an SBO term
+    s.annotation["sbo"] = ["SBO:0000123"]
+    assert "chebi" in s.annotation
+    assert "sbo" in s.annotation
+    assert s.annotation == {
+        "chebi": sorted(["CHEBI:43215", "CHEBI:11881"]),
+        "sbo": ["SBO:0000123"],
+    }
+
+
+def test_nested_annotation(data_directory):
+    # testing via cvterms
+    with open(join(data_directory, "cvterms_nested.json"), "r") as f_cvterms:
+        cvterms_data = json.load(f_cvterms)
+
+    s = Species()
+    s.annotation.add_cvterms(CVTerms.from_dict(cvterms_data))
+    assert s.annotation == {
+        "chebi": ["CHEBI:17627"],
+        "eco": ["000000"],
+        "kegg.compound": ["C00032"],
+        "pubmed": ["1111111"],
+        "uniprot": ["P68871", "P69905"],
+    }
+    # check cvterms
+    main_cvt = CVTerms.from_dict(
+        {
+            "bqb_hasPart": [
+                {
+                    "resources": [
+                        "https://identifiers.org/uniprot/P69905",
+                        "https://identifiers.org/uniprot/P68871",
+                        "https://identifiers.org/kegg.compound/C00032",
+                    ]
+                },
+                {
+                    "resources": [
+                        "https://identifiers.org/uniprot/P69905",
+                        "https://www.uniprot.org/uniprot/P68871",
+                        "https://identifiers.org/chebi/CHEBI:17627",
+                    ],
+                    "nested_data": {
+                        "bqb_isDescribedBy": [
+                            {"resources": [PUBMED_EXAMPLE]},
+                            {"resources": ["https://identifiers.org/eco/000000"]},
+                        ],
+                    },
+                },
+            ]
+        }
+    )
+    nested_cvt = CVTerms.from_dict(
+        {
+            "bqb_isDescribedBy": [
+                {"resources": [PUBMED_EXAMPLE]},
+                {"resources": ["https://identifiers.org/eco/000000"]},
+            ]
+        }
+    )
+    assert s.annotation.cvterms == main_cvt
+    nested_data = s.annotation.cvterms.query_qualifier("bqb_hasPart")[
+        1
+    ].external_resources.nested_data
+    assert nested_data == nested_cvt
+
+
+def _read_ecoli_annotation_model(data_directory):
+    test_xml = os.path.join(data_directory, "e_coli_core_for_annotation.xml")
+    model = read_sbml_model(test_xml)
+    return model
+
+
+def test_cvterms_from_ecoli_xml(data_directory):
+    model = _read_ecoli_annotation_model(data_directory)
+    qualifier_set = {"bqb_hasTaxon", "bqm_is", "bqm_isDescribedBy"}
+    nested_cvt = CVTerms.from_dict(
+        {
+            "bqb_isDescribedBy": [
+                {"resources": [PUBMED_EXAMPLE]},
+                {"resources": [ECO_EXAMPLE]},
+            ]
+        }
+    )
+    ecoli_model_cvterm = CVTerms.from_dict(ecoli_model_annotation)
+    xml_model_cvterms = model.annotation.cvterms
+    model_cvterms_qualifier_set = {qual.name for qual in xml_model_cvterms.qualifiers}
+    assert qualifier_set == model_cvterms_qualifier_set
+    assert xml_model_cvterms == ecoli_model_cvterm
+    assert len(xml_model_cvterms.query_qualifier("bqm_isDescribedBy")) == 2
+    nested_data = xml_model_cvterms.query_qualifier("bqm_is")[
+        0
+    ].external_resources.nested_data
+    assert nested_data == nested_cvt
+
+    # check backwards compatibility
+    assert model.annotation == {
+        "bigg.model": ["e_coli_core"],
+        "doi": ["10.1128/ecosalplus.10.2.1"],
+        "eco": ["ECO:0000004"],
+        "ncbigi": ["gi:16128336"],
+        "pubmed": ["1111111"],
+        "taxonomy": ["511145"],
+    }
+
+
+def test_writing_xml(data_directory, tmp_path):
+    model = _read_ecoli_annotation_model(data_directory)
+    assert write_sbml_model(model, tmp_path.joinpath("e_coli_core_writing.xml")) is None
+
+
+def test_read_write_json(data_directory, tmp_path):
+    model = _read_ecoli_annotation_model(data_directory)
+    json_path = join(tmp_path, "e_coli_core_json_writing.json")
+    assert save_json_model(model, json_path, sort=False, pretty=True) is None
+
+    model = load_json_model(json_path)
+    assert model.annotation == {
+        "bigg.model": ["e_coli_core"],
+        "doi": ["10.1128/ecosalplus.10.2.1"],
+        "eco": ["ECO:0000004"],
+        "ncbigi": ["gi:16128336"],
+        "pubmed": ["1111111"],
+        "taxonomy": ["511145"],
+    }
+    assert model.annotation.cvterms == CVTerms.from_dict(ecoli_model_annotation)
+
+
+def test_read_old_json_model(data_directory):
+    model = load_json_model(Path(data_directory) / "mini.json")
+    meta = model.metabolites[0]
+    assert meta.annotation == {
+        "bigg.metabolite": ["13dpg"],
+        "biocyc": ["DPG"],
+        "chebi": [
+            "CHEBI:11881",
+            "CHEBI:16001",
+            "CHEBI:1658",
+            "CHEBI:20189",
+            "CHEBI:57604",
+        ],
+        "hmdb": ["HMDB01270"],
+        "kegg.compound": ["C00236"],
+        "pubchem.substance": ["3535"],
+        "reactome": ["REACT_29800"],
+        "seed.compound": ["cpd00203"],
+        "unipathway.compound": ["UPC00236"],
+    }
+
+    # testing cvterms
+    expected_cvterms = CVTerms.from_dict(
+        {
+            "bqb_is": [
+                {
+                    "resources": [
+                        "http://identifiers.org/bigg.metabolite/13dpg",
+                        "http://identifiers.org/biocyc/DPG",
+                        "http://identifiers.org/chebi/CHEBI:16001",
+                        "http://identifiers.org/chebi/CHEBI:1658",
+                        "http://identifiers.org/chebi/CHEBI:20189",
+                        "http://identifiers.org/chebi/CHEBI:57604",
+                        "http://identifiers.org/chebi/CHEBI:11881",
+                        "http://identifiers.org/hmdb/HMDB01270",
+                        "http://identifiers.org/kegg.compound/C00236",
+                        "http://identifiers.org/pubchem.substance/3535",
+                        "http://identifiers.org/reactome/REACT_29800",
+                        "http://identifiers.org/seed.compound/cpd00203",
+                        "http://identifiers.org/unipathway.compound/UPC00236",
+                    ]
+                }
+            ]
+        }
+    )
+    assert meta.annotation.cvterms == expected_cvterms
diff --git a/tests/test_core/test_metadata/test_notes.py b/tests/test_core/test_metadata/test_notes.py
new file mode 100644
index 000000000..aeea75265
--- /dev/null
+++ b/tests/test_core/test_metadata/test_notes.py
@@ -0,0 +1,154 @@
+from pathlib import Path
+
+import pytest
+
+from cobra import Metabolite, Model, Reaction
+from cobra.core import Notes
+from cobra.io import load_json_model, read_sbml_model, save_json_model, write_sbml_model
+
+
+def test_notes_io(tmp_path: Path) -> None:
+    """Test if model notes are written and read from/to SBML.
+
+    Parameters
+    ----------
+    tmp_path : pathlib.Path
+        The path to the temporary test assets store.
+
+    """
+    path_to_file = tmp_path / "model_notes.xml"
+
+    # making a minimal cobra model to test notes
+    model = Model("e_coli_core")
+    model.notes = Notes().notes_from_dict({"Remark": "...Model Notes..."})
+    met = Metabolite("pyr_c", compartment="c")
+    model.add_metabolites([met])
+    met.notes = Notes().notes_from_dict({"Remark": "Note with \n newline"})
+    rxn = Reaction("R_ATPM")
+    model.add_reactions([rxn])
+    rxn.notes = Notes().notes_from_dict({"Remark": "What about me?"})
+    model.objective_direction = "max"
+    model.objective = rxn
+    write_sbml_model(model, str(path_to_file.resolve()))
+
+    # reading the model back
+    model_after_reading = read_sbml_model(str(path_to_file.resolve()))
+    met_after_reading = model_after_reading.metabolites.get_by_id("pyr_c")
+    reaction_after_reading = model_after_reading.reactions.get_by_id("R_ATPM")
+
+    # checking if notes are written to model
+    assert model_after_reading.notes["Remark"] == "...Model Notes..."
+
+    # checking notes for metabolite and reaction
+    assert met_after_reading.notes["Remark"] == "Note with \n newline"
+    assert reaction_after_reading.notes["Remark"] == "What about me?"
+
+
+NEW_VALUE1 = "New Value 1"
+NEW_VALUE3 = "New Value 3"
+
+
+incoming_notes_str = (
+    '\
+\n\
+  \n\
+    \n\
+      
 Key1 : Value1 
\n\
+      
 Key2 : Value2 
\n\
+      
\n\
+        
 A Heading 
\n\
+        
 e_coli_core - Escherichia coli '
+    "str. K-12 substr. MG1655 
\n\
+      
\n\
+      
 Key3 : Value3 
\n\
+    
\n\
+      
 Key1 : New Value 1 
\n\
+      
 Key2 : Value2 
\n\
+      
\n\
+        
 A Heading 
\n\
+        
 e_coli_core - Escherichia coli '
+    "str. K-12 substr. MG1655 
\n\
+      
\n\
+      
 Key3 : New Value 3 
\n\
+