{
	"types": {
		"GeneratorIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "GeneratorIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					76,
					100
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "({'position':getAttr('position')})"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "({'position':getAttr('position')})"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"12": {
							"textContent": {
								"type": "string",
								"value": "<coded>"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"font-size": "20px",
									"stroke-width": 1,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "({'textContent':getAttr('producedCars')+ ' >>'})"
							},
							"parser": {
								"type": "code",
								"value": ""
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									3,
									79
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"22": {
							"segments": {
								"type": "string",
								"value": "m0,0l80,40,l-80,40z"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#aa00ff",
									"fill": "#aa00ff",
									"fill-opacity": 1,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
							"position": {
								"type": "list<double>",
								"value": [
									1,
									-1
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						}
					},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		],
		"RoadSegmentIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "RoadSegmentIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					76,
					377
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "({'position':getAttr('position')})"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "({'position':getAttr('position')})"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"36": {
							"width": {
								"type": "double",
								"value": 300
							},
							"height": {
								"type": "double",
								"value": 100
							},
							"cornerRadius": {
								"type": "double",
								"value": 0
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#bbbbbb",
									"fill-opacity": 1,
									"font-size": "20px",
									"stroke-width": 1,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
							"position": {
								"type": "list<double>",
								"value": [
									1,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"37": {
							"segments": {
								"type": "string",
								"value": "m0,0l300,0"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#ffff00",
									"stroke-dasharray": "- ",
									"fill": "#ffff00",
									"fill-opacity": 0.75,
									"stroke-width": 4,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
							"position": {
								"type": "list<double>",
								"value": [
									3,
									52
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						}
					},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		],
		"CarIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "CarIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					476,
					425
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "({'position':getAttr('position')})"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "({'position':getAttr('position')})"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"40": {
							"r": {
								"type": "double",
								"value": 50
							},
							"sides": {
								"type": "int",
								"value": 5
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#7FFF00",
									"stroke-dasharray": "",
									"fill": "#FFA500",
									"fill-opacity": 0.75,
									"font-size": "20px",
									"stroke-width": 1,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Polygon",
							"position": {
								"type": "list<double>",
								"value": [
									3,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"41": {
							"r": {
								"type": "double",
								"value": 20
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#F5F5F5",
									"fill-opacity": 0.5,
									"font-size": "20px",
									"stroke-width": 1,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Circle",
							"position": {
								"type": "list<double>",
								"value": [
									2,
									68
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"42": {
							"r": {
								"type": "double",
								"value": 20
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#F5F5F5",
									"fill-opacity": 0.5,
									"font-size": "20px",
									"stroke-width": 1,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Circle",
							"position": {
								"type": "list<double>",
								"value": [
									60,
									68
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						}
					},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		],
		"RS2GLink": [
			{
				"name": "link-style",
				"type": "map<string,string>",
				"default": {
					"stroke": "#00ff00",
					"stroke-dasharray": "",
					"stroke-opacity": 0.2,
					"stroke-width": 1,
					"arrow-start": "none",
					"arrow-end": "classic-wide-long"
				}
			},
			{
				"name": "typename",
				"type": "string",
				"default": "RS2GLink"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					1023,
					124
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			},
			{
				"name": "$segments",
				"type": "map<string,list<string>>",
				"default": {}
			}
		],
		"RS2RSLink": [
			{
				"name": "link-style",
				"type": "map<string,string>",
				"default": {
					"stroke": "#00ff00",
					"stroke-dasharray": "",
					"stroke-opacity": 0.2,
					"stroke-width": 1,
					"arrow-start": "none",
					"arrow-end": "classic-wide-long"
				}
			},
			{
				"name": "typename",
				"type": "string",
				"default": "RS2RSLink"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					1026,
					300
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			},
			{
				"name": "$segments",
				"type": "map<string,list<string>>",
				"default": {}
			}
		],
		"S2RSLink": [
			{
				"name": "link-style",
				"type": "map<string,string>",
				"default": {
					"stroke": "#00ff00",
					"stroke-dasharray": "",
					"stroke-opacity": 0.2,
					"stroke-width": 1,
					"arrow-start": "none",
					"arrow-end": "classic-wide-long"
				}
			},
			{
				"name": "typename",
				"type": "string",
				"default": "S2RSLink"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					1025,
					474
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			},
			{
				"name": "$segments",
				"type": "map<string,list<string>>",
				"default": {}
			}
		],
		"CarOnRoadSegmentLink": [
			{
				"name": "link-style",
				"type": "map<string,string>",
				"default": {
					"stroke": "#ff00ff",
					"stroke-dasharray": "",
					"stroke-opacity": 0,
					"stroke-width": 1,
					"arrow-start": "none",
					"arrow-end": "none"
				}
			},
			{
				"name": "typename",
				"type": "string",
				"default": "CarOnRoadSegmentLink"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					1026,
					649
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": ""
			},
			{
				"name": "parser",
				"type": "code",
				"default": ""
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			},
			{
				"name": "$segments",
				"type": "map<string,list<string>>",
				"default": {}
			}
		],
		"SinkIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "SinkIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					325,
					150
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "({'position':getAttr('position')})"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "({'position':getAttr('position')})"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"17": {
							"textContent": {
								"type": "string",
								"value": "<coded>"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"font-size": "20px",
									"stroke-width": 1,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "({'textContent': '>> '+getAttr('consumedCars')})"
							},
							"parser": {
								"type": "code",
								"value": ""
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									40,
									84
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"24": {
							"segments": {
								"type": "string",
								"value": "m0,0l80,0l-40,80,z"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#ffff00",
									"fill": "#ffff00",
									"fill-opacity": 1,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
							"position": {
								"type": "list<double>",
								"value": [
									3,
									1
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						}
					},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		]
	},
	"constraints": [],
	"actions": [],
	"cardinalities": {
		"GeneratorIcon": [],
		"RoadSegmentIcon": [],
		"CarIcon": [],
		"RS2GLink": [],
		"RS2RSLink": [],
		"S2RSLink": [],
		"CarOnRoadSegmentLink": [],
		"SinkIcon": []
	},
	"legalConnections": {},
	"connectorTypes": {},
	"types2parentTypes": {
		"GeneratorIcon": [],
		"RoadSegmentIcon": [],
		"CarIcon": [],
		"RS2GLink": [],
		"RS2RSLink": [],
		"S2RSLink": [],
		"CarOnRoadSegmentLink": [],
		"SinkIcon": []
	}
}