{
	"csm": {
		"nodes": {
			"0": {
				"typename": {
					"type": "string",
					"value": "LHSIcon"
				},
				"position": {
					"type": "list<double>",
					"value": [
						515.5147999999999,
						265
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						0.4852,
						0.4852
					]
				},
				"mapper": {
					"type": "code",
					"value": ""
				},
				"parser": {
					"type": "code",
					"value": ""
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"4": {
								"segments": {
									"type": "string",
									"value": "m0,0 l350,0 l100,250 l-100,250 l-350,0z"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"stroke-width": 2,
										"arrow-start": "none",
										"arrow-end": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
								"position": {
									"type": "list<double>",
									"value": [
										1,
										0
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/LHS/0.instance"
				},
				"$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/LHSIcon"
			},
			"1": {
				"typename": {
					"type": "string",
					"value": "RHSIcon"
				},
				"position": {
					"type": "list<double>",
					"value": [
						739,
						267
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						0.4877,
						0.4877
					]
				},
				"mapper": {
					"type": "code",
					"value": ""
				},
				"parser": {
					"type": "code",
					"value": ""
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"7": {
								"segments": {
									"type": "string",
									"value": "m0,0 l450,0 l0,500 l-450,0 l100,-250z"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"stroke-width": 2,
										"arrow-start": "none",
										"arrow-end": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
								"position": {
									"type": "list<double>",
									"value": [
										0,
										0
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/RHS/1.instance"
				},
				"$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/RHSIcon"
			},
			"2": {
				"typename": {
					"type": "string",
					"value": "GlobalActionIcon"
				},
				"position": {
					"type": "list<double>",
					"value": [
						568,
						363
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
				},
				"parser": {
					"type": "code",
					"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"13": {
								"textContent": {
									"type": "string",
									"value": "ACTION"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#af00ff",
										"stroke-dasharray": "",
										"fill": "#af00ff",
										"fill-opacity": 0.75,
										"font-size": "20px",
										"stroke-width": 1,
										"arrow-start": "none",
										"arrow-end": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
								},
								"parser": {
									"type": "code",
									"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										0,
										1
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"__pLabelText": {
								"position": {
									"type": "list<double>",
									"value": [
										0,
										0
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"textContent": {
									"type": "string",
									"value": "0"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#6000ff",
										"fill": "#6000ff",
										"font-size": "15px",
										"opacity": "1"
									}
								},
								"mapper": {
									"type": "code",
									"value": "({'textContent':getAttr('__pLabel')})"
								},
								"parser": {
									"type": "code",
									"value": "({'__pLabel':getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text"
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.pattern/__pGlobalAction/2.instance"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.defaultIcons.pattern/__pGlobalActionIcon"
			},
			"3": {
				"typename": {
					"type": "string",
					"value": "GlobalActionIcon"
				},
				"position": {
					"type": "list<double>",
					"value": [
						832,
						373
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
				},
				"parser": {
					"type": "code",
					"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"13": {
								"textContent": {
									"type": "string",
									"value": "ACTION"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#af00ff",
										"stroke-dasharray": "",
										"fill": "#af00ff",
										"fill-opacity": 0.75,
										"font-size": "20px",
										"stroke-width": 1,
										"arrow-start": "none",
										"arrow-end": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
								},
								"parser": {
									"type": "code",
									"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										0,
										1
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"__pLabelText": {
								"position": {
									"type": "list<double>",
									"value": [
										0,
										0
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"textContent": {
									"type": "string",
									"value": "0"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#6000ff",
										"fill": "#6000ff",
										"font-size": "15px",
										"opacity": "1"
									}
								},
								"mapper": {
									"type": "code",
									"value": "({'textContent':getAttr('__pLabel')})"
								},
								"parser": {
									"type": "code",
									"value": "({'__pLabel':getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text"
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.pattern/__pGlobalAction/3.instance"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.defaultIcons.pattern/__pGlobalActionIcon"
			},
			"4": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#00ff00",
						"stroke-dasharray": "",
						"stroke-opacity": 0.2,
						"stroke-width": 1,
						"arrow-start": "none",
						"arrow-end": "classic-wide-long"
					}
				},
				"typename": {
					"type": "string",
					"value": "PatternContentsLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						560.8445421910056,
						320.3667252749286
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": ""
				},
				"parser": {
					"type": "code",
					"value": ""
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/PatternContents/4.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/LHSIcon/0.instance--/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink/4.instance": "M515.9999999999999,265L560.8445421910056,320.3667252749286",
						"/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink/4.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.defaultIcons.pattern/__pGlobalActionIcon/2.instance": "M560.8442758753253,320.3663964717704L605.4994678677101,375.49934300985444"
					}
				},
				"$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink"
			},
			"5": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#00ff00",
						"stroke-dasharray": "",
						"stroke-opacity": 0.2,
						"stroke-width": 1,
						"arrow-start": "none",
						"arrow-end": "classic-wide-long"
					}
				},
				"typename": {
					"type": "string",
					"value": "PatternContentsLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						804.3618570941575,
						326.10114281310786
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": ""
				},
				"parser": {
					"type": "code",
					"value": ""
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/PatternContents/5.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/RHSIcon/1.instance--/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink/5.instance": "M739,267L804.3618570941575,326.10114281310786",
						"/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink/5.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.defaultIcons.pattern/__pGlobalActionIcon/3.instance": "M804.3616014210213,326.10091162973566L869.4994890426588,384.99953798493294"
					}
				},
				"$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons/PatternContentsLink"
			}
		},
		"edges": [],
		"metamodels": [
			"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.defaultIcons.pattern",
			"/Formalisms/__Transformations__/TransformationRule/TransformationRule.defaultIcons",
			"/Formalisms/GenericGraph/GenericGraph.defaultIcons.pattern"
		]
	},
	"asm": {
		"nodes": {
			"0": {
				"Condition": {
					"type": "code",
					"value": "result = True"
				},
				"$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/LHS"
			},
			"1": {
				"Action": {
					"type": "code",
					"value": "pass"
				},
				"$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/RHS"
			},
			"2": {
				"__pLabel": {
					"type": "string",
					"value": "0"
				},
				"__pMatchSubtypes": {
					"type": "boolean",
					"value": false
				},
				"name": {
					"type": "code",
					"value": "result = getAttr() != 'distinctPLabels'"
				},
				"event": {
					"type": "code",
					"value": "result = True"
				},
				"code": {
					"type": "code",
					"value": "import re\nregex = re.compile(\"IgnoredConstraint\")\nresult = regex.search(getAttr()) == None"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.pattern/__pGlobalAction"
			},
			"3": {
				"__pLabel": {
					"type": "string",
					"value": "0"
				},
				"__pMatchSubtypes": {
					"type": "boolean"
				},
				"name": {
					"type": "code",
					"value": "result = getAttr()"
				},
				"event": {
					"type": "code",
					"value": "result = getAttr()"
				},
				"code": {
					"type": "code",
					"value": "result = '/* comment next line to enable this constraint */\\nthrow \"IgnoredConstraint\"\\n' + getAttr()"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.pattern/__pGlobalAction"
			},
			"4": {
				"$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/PatternContents"
			},
			"5": {
				"$type": "/Formalisms/__Transformations__/TransformationRule/TransformationRule/PatternContents"
			}
		},
		"edges": [
			{
				"src": "0",
				"dest": "4"
			},
			{
				"src": "4",
				"dest": "2"
			},
			{
				"src": "1",
				"dest": "5"
			},
			{
				"src": "5",
				"dest": "3"
			}
		],
		"metamodels": [
			"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.pattern",
			"/Formalisms/__Transformations__/TransformationRule/TransformationRule",
			"/Formalisms/GenericGraph/GenericGraph.pattern"
		]
	}
}