dg
Canvas
canvasCannotHaveTransforms
diagnostics
context
bounds
Group
member
layout
GraphicalElement
referencedClippathHasId
diagnostics
context
clipPath
group
class
style
transform
layoutData
Definition
idCannotBeEmpty
diagnostics
context
id
MoveTo
point
PathCommand
isRelative
false
ClipPath
Style
validFontSize
diagnostics
context
validFillOpacity
diagnostics
context
validStrokeWidth
diagnostics
context
validDashLengthSize
diagnostics
context
validStrokeOpacity
diagnostics
context
fill
fillOpacity
stroke
strokeWidth
strokeOpacity
strokeDashLength
fontSize
fontName
fontItalic
fontBold
fontDecoration
Paint
referencedPaintServerHasId
diagnostics
context
color
paintServer
PaintServer
transform
Transform
FontDecoration
underline
underline
overline
overline
lineThrough
lineThrough
Circle
nonNegativeRadius
diagnostics
context
center
radius
0
ClosePath
CubicCurveTo
startControl
endControl
point
Definitions
definition
styleSheet
StyleSheet
rule
StyleRule
selector
style
StyleSelector
kind
class
ElementKind
canvas
canvas
circle
circle
clipPath
clipPath
ellipse
ellipse
group
group
image
image
line
line
marker
marker
path
path
polygon
polygon
polyline
polyline
rectangle
rectangle
text
text
use
use
Ellipse
center
radii
EllipticalArcTo
radii
rotation
isLargeArc
isSweep
point
QuadraticCurveTo
control
point
Gradient
stop
GradientStop
validOffset
diagnostics
context
validOpacity
diagnostics
context
color
offset
opacity
Image
sourceCannotBeEmpty
diagnostics
context
source
bounds
isAspectRatioPreserved
false
Line
start
end
MarkedElement
referencedStartMarkerHasId
diagnostics
context
referencedMidMarkerHasId
diagnostics
context
referencedEndMarkerHasId
diagnostics
context
endMarker
midMarker
startMarker
Marker
size
reference
LinearGradient
validGradientVector
diagnostics
context
start
end
LineTo
point
Matrix
a
b
c
d
e
f
Path
firstCommandMustBeMove
diagnostics
context
command
Pattern
bounds
tile
Polygon
point
Polyline
point
RadialGradient
validCenterPoint
diagnostics
context
validFocusPoint
diagnostics
context
validRadius
diagnostics
context
center
focus
radius
0.5
Rectangle
nonNegativeCornerRadius
diagnostics
context
bounds
cornerRadius
0
RootCanvas
backgroundColor
definitions
externalStyleSheet
Rotate
angle
center
Scale
nonnegativescale
diagnostics
context
factorX
factorY
Skew
angleX
angleY
Text
dataCannotBeEmpty
diagnostics
context
data
bounds
anchor
TextAnchor
start
start
middle
middle
end
end
Translate
deltaX
deltaY
Use
referencedElementHasId
diagnostics
context
bounds
referencedElement
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="dg" nsURI="http://www.omg.org/spec/DD/20110901/DG" nsPrefix="dg">
  <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
    <details key="originalName" value="DG"/>
  </eAnnotations>
  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
    <details key="documentation" value="The Diagram Graphics (DG) package contains a model of graphical primitives that can be instantiated when mapping from a language abstract syntax models and diagram interchange (DI) models to visual presentations. The mapping effectively defines the concrete syntax of a language. This specification does not restrict how the mappings are done, or what languages are used to define them."/>
  </eAnnotations>
  <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
    <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
  </eAnnotations>
  <eClassifiers xsi:type="ecore:EClass" name="Canvas" eSuperTypes="#//Group">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Canvas is a kind of group that has bounds."/>
    </eAnnotations>
    <eOperations name="canvasCannotHaveTransforms" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="canvas_cannot_have_transforms"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="transform->isEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="bounds" ordered="false"
        eType="ecore:EClass DC.ecore#//Bounds" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the bounds of the canvas in the x-y coordinate system."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Group" eSuperTypes="#//GraphicalElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Group defines a group of graphical elements that can be styled, clipped and/or transformed together."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="member" upperBound="-1"
        eType="#//GraphicalElement" containment="true" eOpposite="#//GraphicalElement/group">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A list of graphical elements that are members of this group."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="layout" ordered="false"
        eType="ecore:EDataType DC.ecore#//String"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="GraphicalElement" abstract="true" eSuperTypes="#//Definition">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="GraphicalElement is the abstract superclass of all graphical elements that can be nested in a canvas."/>
    </eAnnotations>
    <eOperations name="referencedClippathHasId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="referenced_clippath_has_id"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="clipPath->notEmpty() implies clipPath.id->notEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="clipPath" ordered="false"
        eType="#//ClipPath">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A clip path that masks the painting of this graphical element."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="group" ordered="false"
        eType="#//Group" eOpposite="#//Group/member">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The group that owns this graphical element."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="class" upperBound="-1"
        eType="ecore:EDataType DC.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A list of strings representing classes of the graphical element."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="style" eType="#//Style"
        containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An inline style that applies on this graphical element."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="transform" upperBound="-1"
        eType="#//Transform" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A list of transforms that apply to this graphical element."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="layoutData" ordered="false"
        eType="ecore:EDataType DC.ecore#//String"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Definition" abstract="true">
    <eOperations name="idCannotBeEmpty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="id_cannot_be_empty"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="id->notEmpty() implies id.size() > 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" unique="false"
        eType="ecore:EDataType DC.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a point to move to in the coordinate system"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MoveTo" eSuperTypes="#//PathCommand">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="MoveTo is a kind of path command that establishes a new current point in the coordinate system.&#xA;Definition is an object with an id that can be nested under Definitions."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="point" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a point to move to in the coordinate system"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PathCommand" abstract="true">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="PathCommand is the abstract super type of all commands that participate in specifying a path element."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isRelative" ordered="false"
        lowerBound="1" eType="ecore:EDataType DC.ecore#//Boolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="whether the coordinates specified by the command are relative to the current point (when true) or to the origin point of the coordinate system (when false)."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ClipPath" eSuperTypes="#//Group">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="ClipPath is a kind of group whose members collectively define a painting mask for its referencing graphical elements."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Style">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Style contains formatting properties that affect the appearance or style of graphical elements."/>
    </eAnnotations>
    <eOperations name="validFontSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="valid_font_size"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="fontSize >=  0"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the font size is non-negative"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="validFillOpacity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="valid_fill_opacity"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="fillOpacity >=  0 and fillOpacity &lt;=1"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the stroke width is non-negative"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="validStrokeWidth" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="valid_stroke_width"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="strokeWidth >=  0"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the stroke width is non-negative"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="validDashLengthSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="valid_dash_length_size"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="strokeDashLength->size().mod(2) = 0"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the size of the stroke dash length list must be even."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="validStrokeOpacity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="valid_stroke_opacity"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="strokeOpacity >=  0 and strokeOpacity &lt;=1"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the opacity of the fill is non-negative"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="fill" ordered="false" eType="#//Paint"
        unsettable="true" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A paint that is used to fill the enclosed regions of a graphical element. The default is a black paint."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fillOpacity" ordered="false"
        eType="ecore:EDataType DC.ecore#//Real" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A real number (>=0 and &lt;=1) representing the opacity of the fill used to paint a graphical element. A value of 0 means totally transparent, while a value of 1 means totally opaque. The default is 1."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="stroke" ordered="false"
        eType="#//Paint" unsettable="true" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A paint that is used to stroke a graphical element. The default is no paint."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="strokeWidth" ordered="false"
        eType="ecore:EDataType DC.ecore#//Real" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A real number (>=0) representing the width of the stroke of a graphical element. A value of 0 specifies no stroke is painted. The default is 1."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="strokeOpacity" ordered="false"
        eType="ecore:EDataType DC.ecore#//Real" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A real number (>=0 and &lt;=1) representing the opacity of the stroke of a graphical element. A value of 0 means totally transparent, while a value of 1 means totally opaque. The default is 1."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="strokeDashLength" unique="false"
        upperBound="-1" eType="ecore:EDataType DC.ecore#//Real" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A list of real numbers specifying a pattern of alternating dash and gap lengths used in stroking the outline of a graphical element with the first one specifying a dash length. The size of the list is expected to be even. If the list is empty, the stroke is drawn solid. The default is empty list."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fontSize" ordered="false"
        eType="ecore:EDataType DC.ecore#//Real" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A real number (>=0) representing the size (in unit of length) of the font used to render a text element. The default is 10."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fontName" ordered="false"
        eType="ecore:EDataType DC.ecore#//String" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The name of the font used to render a text element (e.g. &quot;Times New Roman&quot;, &quot;Arial&quot; or &quot;Helvetica&quot;). The default is &quot;Arial&quot;."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fontItalic" ordered="false"
        eType="ecore:EDataType DC.ecore#//Boolean" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Whether the font used to render a text element has an italic style. The default is false."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fontBold" ordered="false"
        eType="ecore:EDataType DC.ecore#//Boolean" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Whether the font used to render a text element has a bold style. The default is false."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fontDecoration" ordered="false"
        eType="#//FontDecoration" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The decoration of the font used to render a text element. The default is no decoration."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Paint">
    <eOperations name="referencedPaintServerHasId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="referenced_paint_server_has_id"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="paintServer->notEmpty() implies paintServer.id->notEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="color" ordered="false"
        eType="ecore:EDataType DC.ecore#//Color">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A solid color to use in painting."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="paintServer" ordered="false"
        eType="#//PaintServer">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A paint server that is used in painting."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PaintServer" abstract="true" eSuperTypes="#//Definition">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="PaintServer is the abstract super class of all paint servers, like gradients and patterns"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="transform" upperBound="-1"
        eType="#//Transform" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A set of transforms that apply to this paint server."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Transform" abstract="true">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Transform defines an operation that changes the geometry of a graphical element in a specific way."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="FontDecoration">
    <eLiterals name="underline"/>
    <eLiterals name="overline" value="1"/>
    <eLiterals name="lineThrough" value="2"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Circle" eSuperTypes="#//GraphicalElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Circle is a graphical element that defines a circular shape with a given center point and a radius."/>
    </eAnnotations>
    <eOperations name="nonNegativeRadius" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="non_negative_radius"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="radius >= 0"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The radius of a circle cannot be negative"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="center" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the center point of the circle in the x-y coordinate system."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="radius" ordered="false"
        lowerBound="1" eType="ecore:EDataType DC.ecore#//Real" defaultValueLiteral="0">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a real number (>=0) that represents the radius of the circle."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ClosePath" eSuperTypes="#//PathCommand">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="ClosePath is a kind of path command that ends the current subpath and causes an automatic straight line to be drawn from the current point to the initial point of the current subpath."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CubicCurveTo" eSuperTypes="#//PathCommand">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="CubicCurveTo is a kind of path command that draws a cubic b��zier curve from the current point to a new point using a start and an end control points.&#xA;Definitions nests definitions that are commonly referenced in the containing canvas. It can also nest an embedded stylesheet.&#xA;EllipticalArcTo is a kind of path command that draws an elliptical arc from the current point to a new point in the coordinate system.&#xA;QuadraticCurveTo is a kind of path command that draws a quadratic b��zier curve from the current point to a new point using a single control point."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="startControl" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the start control point of the cubic b��zier curve."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="endControl" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the end control point of the cubic b��zier curve."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="point" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a point to draw a cubic b��zier curve to from the current point in the coordinate system."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Definitions">
    <eStructuralFeatures xsi:type="ecore:EReference" name="definition" upperBound="-1"
        eType="#//Definition" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A set of clip paths that are referenced by graphical elements in the containing canvas."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="styleSheet" ordered="false"
        eType="#//StyleSheet" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional embdded style sheet that that apply to graphical elements in the containing canvas."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StyleSheet">
    <eStructuralFeatures xsi:type="ecore:EReference" name="rule" upperBound="-1" eType="#//StyleRule"
        containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A list of style rules that apply to graphical elements."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StyleRule">
    <eStructuralFeatures xsi:type="ecore:EReference" name="selector" lowerBound="1"
        upperBound="-1" eType="#//StyleSelector" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A set of selectors for graphical elements to apply the rule to."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="style" ordered="false"
        lowerBound="1" eType="#//Style" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A style that is applied to graphical elements selected by this rule."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StyleSelector">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" eType="#//ElementKind"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The kind of graphical element to select."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="class" upperBound="-1"
        eType="ecore:EDataType DC.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A set of strings representing classes of graphical elements to select. Selected elements must have all those classes."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="ElementKind">
    <eLiterals name="canvas"/>
    <eLiterals name="circle" value="1"/>
    <eLiterals name="clipPath" value="2"/>
    <eLiterals name="ellipse" value="3"/>
    <eLiterals name="group" value="4"/>
    <eLiterals name="image" value="5"/>
    <eLiterals name="line" value="6"/>
    <eLiterals name="marker" value="7"/>
    <eLiterals name="path" value="8"/>
    <eLiterals name="polygon" value="9"/>
    <eLiterals name="polyline" value="10"/>
    <eLiterals name="rectangle" value="11"/>
    <eLiterals name="text" value="12"/>
    <eLiterals name="use" value="13"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Ellipse" eSuperTypes="#//GraphicalElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Ellipse is a graphical element that defines an elliptical shape with a given center point and two radii on the x and y axes."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="center" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the center point of the ellipse in the x-y coordinate system."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="radii" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Dimension" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a dimension that specifies the two radii of the ellipse (a width along the x-axis and a height along the y-axis)"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EllipticalArcTo" eSuperTypes="#//PathCommand">
    <eStructuralFeatures xsi:type="ecore:EReference" name="radii" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Dimension" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the two radii of the ellipse from which the arc is created."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="rotation" ordered="false"
        lowerBound="1" eType="ecore:EDataType DC.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a real number representing a rotation (in degrees) of the ellipse from which the arc is created."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isLargeArc" ordered="false"
        lowerBound="1" eType="ecore:EDataType DC.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="whether the arc sweep is equal to or greater than 180 degrees (the large arc)."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSweep" ordered="false"
        lowerBound="1" eType="ecore:EDataType DC.ecore#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="whether the arc is drawn in a positive-angle direction"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="point" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a point to draw an elliptical arc to from the current point in the coordinate system."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="QuadraticCurveTo" eSuperTypes="#//PathCommand">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="QuadraticCurveTo is a kind of path command that draws a quadratic b��zier curve from the current point to a new point using a single control point.&#xA;EllipticalArcTo is a kind of path command that draws an elliptical arc from the current point to a new point in the coordinate system."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="control" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the control point of the quadratic b��zier curve."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="point" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a point to draw a quadratic b��zier curve to from the current point in the coordinate system."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Gradient" abstract="true" eSuperTypes="#//PaintServer">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Gradient is a kind of paint server that serves a continuously smooth color transition along the gradient range from one color to the next."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="stop" lowerBound="2" upperBound="-1"
        eType="#//GradientStop" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a list of two or more gradient stops defining the color transitions of the gradient."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="GradientStop">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="GradientStop defines a color transition along the distance from a gradient's start to its end offsets."/>
    </eAnnotations>
    <eOperations name="validOffset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="valid_offset"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="offset>=0 and offset&lt;=1"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the offset must be between 0 and 1."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="validOpacity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="valid_opacity"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="opacity>=0 and opacity&lt;=1"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the opacity must be between 0 and 1."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="color" ordered="false"
        eType="ecore:EDataType DC.ecore#//Color" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the color to use at this gradient stop."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" ordered="false"
        eType="ecore:EDataType DC.ecore#//Real" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="an offset of this gradient stop represented as a percentage of the distance between the start and end positions of the gradient along the x and y axes."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="opacity" ordered="false"
        eType="ecore:EDataType DC.ecore#//Real" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a real number (>=0 and&lt;=1) representing the opacity of the color at the stop. A value of 0 means totally transparent, while a value of 1 means totally opaque."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Image" eSuperTypes="#//GraphicalElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Image is a graphical element that defines a shape that paints an image with a given URL within given bounds."/>
    </eAnnotations>
    <eOperations name="sourceCannotBeEmpty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="source_cannot_be_empty"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="source->notEmpty() implies source.size() > 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="source" ordered="false"
        lowerBound="1" eType="ecore:EDataType DC.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the URL of a referenced image file."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="bounds" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Bounds" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the bounds within which the image is rendered."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAspectRatioPreserved"
        ordered="false" lowerBound="1" eType="ecore:EDataType DC.ecore#//Boolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="wether to preserve the aspect ratio of the image upon scaling, i.e. the same scale factor for width and height."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Line" eSuperTypes="#//MarkedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Line is a marked element that defines a shape consisting of one straight line between two points."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="start" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the starting point of the line in the x-y coordinate system."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="end" ordered="false" lowerBound="1"
        eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the ending point of the line in the x-y coordinate system."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MarkedElement" abstract="true" eSuperTypes="#//GraphicalElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="MarkedElement is a graphic element that can be decorated at its vertices with markers (e.g. arrowheads)."/>
    </eAnnotations>
    <eOperations name="referencedStartMarkerHasId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="referenced_start_marker_has_id"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="startMarker->notEmpty() implies startMarker.id->notEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="referencedMidMarkerHasId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="referenced_mid_marker_has_id"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="midMarker->notEmpty() implies midMarker.id->notEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="referencedEndMarkerHasId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="referenced_end_marker_has_id"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="endMarker->notEmpty() implies endMarker.id->notEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="endMarker" ordered="false"
        eType="#//Marker">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="an optional end marker that aligns with the last vertex of the marked element."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="midMarker" ordered="false"
        eType="#//Marker">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="an optional mid marker that aligns with all vertices of the marked element except the first and the last."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="startMarker" ordered="false"
        eType="#//Marker">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="an optional start marker that aligns with the first vertex of the marked element."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Marker" eSuperTypes="#//Group">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Marker is a kind of group that is used as a decoration (e.g. an arrowhead) for the vertices of a marked graphical element."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="size" ordered="false" lowerBound="1"
        eType="ecore:EClass DC.ecore#//Dimension" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the size of the marker"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="reference" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a point within the bounds of the marker that aligns exactly with the marked element's vertex."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LinearGradient" eSuperTypes="#//Gradient">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="LinearGradient is a kind of gradient that fills a graphical element by smoothly changing color values along a vector."/>
    </eAnnotations>
    <eOperations name="validGradientVector" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="valid_gradient_vector"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="start.x>=0 and start.x&lt;=1 and end.x>=0 and end.x&lt;=1 and start.y>=0 and start.y&lt;=1 and end.y>=0 and end.y&lt;=1"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="all the components of the gradient vector must be between 0 and 1."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="start" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a starting point for the linear gradient expressed as a percentage along the x and y axes."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="end" ordered="false" lowerBound="1"
        eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="an ending point for the linear gradient expressed as a percentage along the x and y axes."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LineTo" eSuperTypes="#//PathCommand">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="LineTo is a kind of path command that draw a straight line from the current point to a new point."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="point" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a point to draw a straight line to from the current point in the coordinate system."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Matrix" eSuperTypes="#//Transform">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Matrix is a kind of transform that represents any transform operation with a 3x3 transformation matrix."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="a" ordered="false" lowerBound="1"
        eType="ecore:EDataType DC.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the a value of the transform matrix."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="b" ordered="false" lowerBound="1"
        eType="ecore:EDataType DC.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the b value of the transform matrix."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="c" ordered="false" lowerBound="1"
        eType="ecore:EDataType DC.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the c value of the transform matrix."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="d" ordered="false" lowerBound="1"
        eType="ecore:EDataType DC.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the d value of the transform matrix."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="e" ordered="false" lowerBound="1"
        eType="ecore:EDataType DC.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the e value of the transform matrix."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="f" ordered="false" lowerBound="1"
        eType="ecore:EDataType DC.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the f value of the transform matrix."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Path" eSuperTypes="#//MarkedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Path is a marked element that defines a custom shape whose geometry is specified with a sequence of path commands."/>
    </eAnnotations>
    <eOperations name="firstCommandMustBeMove" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="first_command_must_be_move"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="command->first().oclIsKindOf(MoveTo)"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="command" lowerBound="1"
        upperBound="-1" eType="#//PathCommand" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a list of path commands that define the geometry of the custom shape."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Pattern" eSuperTypes="#//PaintServer">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Pattern is a kind of paint server that paints a graphical element (a tile) repeatedly at fixed intervals in x and y axes to cover the areas to be filled."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="bounds" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Bounds" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the bounds of the pattern that define a private coordinate system for the pattern's tile."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="tile" ordered="false" lowerBound="1"
        eType="#//GraphicalElement" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a reference to a graphical element, owned by the pattern, that works as a tile to be painted repeatedly at a fixed interval to fill an closed area."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Polygon" eSuperTypes="#//MarkedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Polygon is a marked element that defines a closed shape consisting of a sequence of connected straight line segments."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="point" lowerBound="3" upperBound="-1"
        eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a list of 3 or more points making up the polygon."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Polyline" eSuperTypes="#//MarkedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Polyline is a marked element that defines a shape consisting of a sequence of connected straight line segments."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="point" lowerBound="2" upperBound="-1"
        eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a list of 2 or more points making up the polyline."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RadialGradient" eSuperTypes="#//Gradient">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="RadialGradient is a kind of gradient that fills a graphical element by smoothly changing color values in a circle."/>
    </eAnnotations>
    <eOperations name="validCenterPoint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="valid_center_point"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="centerX>=0 and centerX&lt;=1 and centerY>=0 and centerY&lt;=1"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the center point coordinates must be between 0 and 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="validFocusPoint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="valid_focus_point"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="focusX>=0 and focusX&lt;=1 and focusY>=0 and focusY&lt;=1"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the focus point coordinates must be between 0 and 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="validRadius" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="valid_radius"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="radius>=0 and radius&lt;=1"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the radius  must be between 0 and 1"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="center" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a center point for the radial gradient expressed as a percentage along the x and y axes."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="focus" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a focus point for the radial gradient expressed as a percentage along the x and y axes."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="radius" ordered="false"
        lowerBound="1" eType="ecore:EDataType DC.ecore#//Real" defaultValueLiteral="0.5">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a real number (>=0 and >=1) representing a ratio of the graphical element's size that is the radius of the gradient."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Rectangle" eSuperTypes="#//GraphicalElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Rectangle is a graphical element that defines a rectangular shape with given bounds. A rectangle may be given rounded corners by setting its corner radius."/>
    </eAnnotations>
    <eOperations name="nonNegativeCornerRadius" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="non_negative_corner_radius"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="cornerRadius >= 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="bounds" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Bounds" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the bounds of the rectangle in the x-y coordinate system."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="cornerRadius" ordered="false"
        eType="ecore:EDataType DC.ecore#//Real" defaultValueLiteral="0" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a radius for the rectangle's rounded corners. When the radius is 0, the rectangle is drawn with sharp corners."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RootCanvas" eSuperTypes="#//Canvas">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="RootCanvas is a kind of canvas that represents the root of containment for all graphical elements that render together."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="backgroundColor" ordered="false"
        eType="ecore:EDataType DC.ecore#//Color" unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional paint for the background of the canvas."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="definitions" eType="#//Definitions"
        containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional definitions element to hold objects commonly referenced by the canvas."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="externalStyleSheet" upperBound="-1"
        eType="#//StyleSheet">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A list of external style sheets that are imported by the canvas."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Rotate" eSuperTypes="#//Transform">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Rotate is a kind of transform that rotates a graphical element by a given angle about a given center point in the x-y coordinate system."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="angle" ordered="false"
        lowerBound="1" eType="ecore:EDataType DC.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a real number representing the angle (in degrees) of rotation. Both positive (clock-wise) and negative (counter-clock-wise) values are allowed."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="center" ordered="false"
        eType="ecore:EClass DC.ecore#//Point" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a point in the x-y coordinate system about which the rotation is performed. If the point is not specified, it is assumed to be the origin of the x-y coordinate system."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Scale" eSuperTypes="#//Transform">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Scale is a kind of transform that scales (resizes) a graphical element by a given factor in the x-y coordinate system."/>
    </eAnnotations>
    <eOperations name="nonnegativescale" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="non-negative-scale"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="factorX>=0 and factorY>=0"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="scale factors cannot be negative."/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="factorX" ordered="false"
        lowerBound="1" eType="ecore:EDataType DC.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a real number (>=0) representing a scale factor along the x-axis."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="factorY" ordered="false"
        lowerBound="1" eType="ecore:EDataType DC.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a real number(>=0) representing a scale factor along the y-axis."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Skew" eSuperTypes="#//Transform">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Skew is a kind of transform that skews (deforms) a graphical element by given angles in the x-y coordinate system."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="angleX" ordered="false"
        lowerBound="1" eType="ecore:EDataType DC.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a real number representing the angle (in degrees) of skew along the x-axis. Both positive (clock-wise) and negative (counter-clock-wise) values are allowed."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="angleY" ordered="false"
        lowerBound="1" eType="ecore:EDataType DC.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a real number representing the angle (in degrees) of skew along the y-axis. Both positive (clock-wise) and negative (counter-clock-wise) values are allowed."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Text" eSuperTypes="#//GraphicalElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Text is a graphical element that defines a shape that renders a character string at a given position."/>
    </eAnnotations>
    <eOperations name="dataCannotBeEmpty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="data_cannot_be_empty"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="data->notEmpty() implies data.size() > 0"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="data" ordered="false" lowerBound="1"
        eType="ecore:EDataType DC.ecore#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the text as a string of characters."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="bounds" ordered="false"
        lowerBound="1" eType="ecore:EClass DC.ecore#//Bounds" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the bounds inside which the text is rendered (possibly wrapped into multiple lines)"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="anchor" ordered="false"
        eType="#//TextAnchor"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="TextAnchor">
    <eLiterals name="start"/>
    <eLiterals name="middle" value="1"/>
    <eLiterals name="end" value="2"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Translate" eSuperTypes="#//Transform">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Translate is a kind of transform that translates (moves) a graphical element by a given delta along the x-y coordinate system."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="deltaX" ordered="false"
        lowerBound="1" eType="ecore:EDataType DC.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a real number representing a translate delta along the x-axis. Both positive and negative values are allowed."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="deltaY" ordered="false"
        lowerBound="1" eType="ecore:EDataType DC.ecore#//Real">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="a real number representing a translate delta along the y-axis. Both positive and negative values are allowed."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Use" eSuperTypes="#//GraphicalElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Rectangle is a graphical element that defines a rectangular shape with given bounds. A rectangle may be given rounded corners by setting its corner radius."/>
    </eAnnotations>
    <eOperations name="referencedElementHasId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
        <details key="originalName" value="referenced_element_has_id"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="body" value="referencedElement->notEmpty() implies referencedElement.id->notEmpty()"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
        </eAnnotations>
      </eParameters>
      <eParameters name="context">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The cache of context-specific information."/>
        </eAnnotations>
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="bounds" ordered="false"
        eType="ecore:EClass DC.ecore#//Bounds" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="the bounds of the rectangle in the x-y coordinate system."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referencedElement" lowerBound="1"
        eType="#//GraphicalElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A list of graphical elements that are members of this group."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"dg","nsURI":"http://www.omg.org/spec/DD/20110901/DG","name":"dg","id":0,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Canvas","instanceClass":null,"abstract":false,"id":1,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Group","instanceClass":null,"abstract":false,"id":2,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"GraphicalElement","instanceClass":null,"abstract":true,"id":3,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Definition","instanceClass":null,"abstract":true,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MoveTo","instanceClass":null,"abstract":false,"id":5,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PathCommand","instanceClass":null,"abstract":true,"id":6,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ClipPath","instanceClass":null,"abstract":false,"id":7,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Style","instanceClass":null,"abstract":false,"id":8,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Paint","instanceClass":null,"abstract":false,"id":9,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PaintServer","instanceClass":null,"abstract":true,"id":10,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Transform","instanceClass":null,"abstract":true,"id":11,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"FontDecoration","instanceClass":null,"id":12,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Circle","instanceClass":null,"abstract":false,"id":13,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ClosePath","instanceClass":null,"abstract":false,"id":14,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CubicCurveTo","instanceClass":null,"abstract":false,"id":15,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Definitions","instanceClass":null,"abstract":false,"id":16,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StyleSheet","instanceClass":null,"abstract":false,"id":17,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StyleRule","instanceClass":null,"abstract":false,"id":18,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StyleSelector","instanceClass":null,"abstract":false,"id":19,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"ElementKind","instanceClass":null,"id":20,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Ellipse","instanceClass":null,"abstract":false,"id":21,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EllipticalArcTo","instanceClass":null,"abstract":false,"id":22,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"QuadraticCurveTo","instanceClass":null,"abstract":false,"id":23,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Gradient","instanceClass":null,"abstract":true,"id":24,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"GradientStop","instanceClass":null,"abstract":false,"id":25,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Image","instanceClass":null,"abstract":false,"id":26,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Line","instanceClass":null,"abstract":false,"id":27,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MarkedElement","instanceClass":null,"abstract":true,"id":28,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Marker","instanceClass":null,"abstract":false,"id":29,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LinearGradient","instanceClass":null,"abstract":false,"id":30,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LineTo","instanceClass":null,"abstract":false,"id":31,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Matrix","instanceClass":null,"abstract":false,"id":32,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Path","instanceClass":null,"abstract":false,"id":33,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Pattern","instanceClass":null,"abstract":false,"id":34,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Polygon","instanceClass":null,"abstract":false,"id":35,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Polyline","instanceClass":null,"abstract":false,"id":36,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RadialGradient","instanceClass":null,"abstract":false,"id":37,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Rectangle","instanceClass":null,"abstract":false,"id":38,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RootCanvas","instanceClass":null,"abstract":false,"id":39,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Rotate","instanceClass":null,"abstract":false,"id":40,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Scale","instanceClass":null,"abstract":false,"id":41,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Skew","instanceClass":null,"abstract":false,"id":42,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Text","instanceClass":null,"abstract":false,"id":43,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"TextAnchor","instanceClass":null,"id":44,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Translate","instanceClass":null,"abstract":false,"id":45,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Use","instanceClass":null,"abstract":false,"id":46,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":1,"unique":true,"name":"canvasCannotHaveTransforms","lowerBound":0,"id":47,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"bounds","changeable":true,"resolveProxies":true,"lowerBound":0,"id":48,"derived":false},{"id":49,"eClass":"EGenericType"},{"id":50,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":51,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":52,"many":false,"required":false,"eClass":"EParameter"},{"id":53,"eClass":"EGenericType"},{"id":54,"eClass":"EGenericType"},{"id":55,"eClass":"EGenericType"},{"id":56,"eClass":"EGenericType"},{"id":57,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"member","changeable":true,"resolveProxies":true,"lowerBound":0,"id":58,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"layout","changeable":true,"lowerBound":0,"iD":false,"id":59,"derived":false},{"id":60,"eClass":"EGenericType"},{"id":61,"eClass":"EGenericType"},{"container":true,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"group","changeable":true,"resolveProxies":true,"lowerBound":0,"id":62,"derived":false},{"id":63,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"referencedClippathHasId","lowerBound":0,"id":64,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"clipPath","changeable":true,"resolveProxies":true,"lowerBound":0,"id":65,"derived":false},{"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"class","changeable":true,"lowerBound":0,"iD":false,"id":66,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"style","changeable":true,"resolveProxies":true,"lowerBound":0,"id":67,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"transform","changeable":true,"resolveProxies":true,"lowerBound":0,"id":68,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"layoutData","changeable":true,"lowerBound":0,"iD":false,"id":69,"derived":false},{"id":70,"eClass":"EGenericType"},{"id":71,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":72,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":73,"many":false,"required":false,"eClass":"EParameter"},{"id":74,"eClass":"EGenericType"},{"id":75,"eClass":"EGenericType"},{"id":76,"eClass":"EGenericType"},{"id":77,"eClass":"EGenericType"},{"id":78,"eClass":"EGenericType"},{"id":79,"eClass":"EGenericType"},{"id":80,"eClass":"EGenericType"},{"id":81,"eClass":"EGenericType"},{"id":82,"eClass":"EGenericType"},{"id":83,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"idCannotBeEmpty","lowerBound":0,"id":84,"many":false,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":false,"name":"id","changeable":true,"lowerBound":0,"iD":false,"id":85,"derived":false},{"id":86,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":87,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":88,"many":false,"required":false,"eClass":"EParameter"},{"id":89,"eClass":"EGenericType"},{"id":90,"eClass":"EGenericType"},{"id":91,"eClass":"EGenericType"},{"id":92,"eClass":"EGenericType"},{"id":93,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"point","changeable":true,"resolveProxies":true,"lowerBound":1,"id":94,"derived":false},{"id":95,"eClass":"EGenericType"},{"id":96,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isRelative","changeable":true,"lowerBound":1,"iD":false,"id":97,"derived":false},{"id":98,"eClass":"EGenericType"},{"id":99,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validFontSize","lowerBound":0,"id":100,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validFillOpacity","lowerBound":0,"id":101,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validStrokeWidth","lowerBound":0,"id":102,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validDashLengthSize","lowerBound":0,"id":103,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validStrokeOpacity","lowerBound":0,"id":104,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":true,"transient":false,"unique":true,"name":"fill","changeable":true,"resolveProxies":true,"lowerBound":0,"id":105,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"fillOpacity","changeable":true,"lowerBound":0,"iD":false,"id":106,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":true,"transient":false,"unique":true,"name":"stroke","changeable":true,"resolveProxies":true,"lowerBound":0,"id":107,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"strokeWidth","changeable":true,"lowerBound":0,"iD":false,"id":108,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"strokeOpacity","changeable":true,"lowerBound":0,"iD":false,"id":109,"derived":false},{"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":false,"name":"strokeDashLength","changeable":true,"lowerBound":0,"iD":false,"id":110,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"fontSize","changeable":true,"lowerBound":0,"iD":false,"id":111,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"fontName","changeable":true,"lowerBound":0,"iD":false,"id":112,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"fontItalic","changeable":true,"lowerBound":0,"iD":false,"id":113,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"fontBold","changeable":true,"lowerBound":0,"iD":false,"id":114,"derived":false},{"ordered":false,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"fontDecoration","changeable":true,"lowerBound":0,"iD":false,"id":115,"derived":false},{"id":116,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":117,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":118,"many":false,"required":false,"eClass":"EParameter"},{"id":119,"eClass":"EGenericType"},{"id":120,"eClass":"EGenericType"},{"id":121,"eClass":"EGenericType"},{"id":122,"eClass":"EGenericType"},{"id":123,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":124,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":125,"many":false,"required":false,"eClass":"EParameter"},{"id":126,"eClass":"EGenericType"},{"id":127,"eClass":"EGenericType"},{"id":128,"eClass":"EGenericType"},{"id":129,"eClass":"EGenericType"},{"id":130,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":131,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":132,"many":false,"required":false,"eClass":"EParameter"},{"id":133,"eClass":"EGenericType"},{"id":134,"eClass":"EGenericType"},{"id":135,"eClass":"EGenericType"},{"id":136,"eClass":"EGenericType"},{"id":137,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":138,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":139,"many":false,"required":false,"eClass":"EParameter"},{"id":140,"eClass":"EGenericType"},{"id":141,"eClass":"EGenericType"},{"id":142,"eClass":"EGenericType"},{"id":143,"eClass":"EGenericType"},{"id":144,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":145,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":146,"many":false,"required":false,"eClass":"EParameter"},{"id":147,"eClass":"EGenericType"},{"id":148,"eClass":"EGenericType"},{"id":149,"eClass":"EGenericType"},{"id":150,"eClass":"EGenericType"},{"id":151,"eClass":"EGenericType"},{"id":152,"eClass":"EGenericType"},{"id":153,"eClass":"EGenericType"},{"id":154,"eClass":"EGenericType"},{"id":155,"eClass":"EGenericType"},{"id":156,"eClass":"EGenericType"},{"id":157,"eClass":"EGenericType"},{"id":158,"eClass":"EGenericType"},{"id":159,"eClass":"EGenericType"},{"id":160,"eClass":"EGenericType"},{"id":161,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"referencedPaintServerHasId","lowerBound":0,"id":162,"many":false,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"color","changeable":true,"lowerBound":0,"iD":false,"id":163,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"paintServer","changeable":true,"resolveProxies":true,"lowerBound":0,"id":164,"derived":false},{"id":165,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":166,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":167,"many":false,"required":false,"eClass":"EParameter"},{"id":168,"eClass":"EGenericType"},{"id":169,"eClass":"EGenericType"},{"id":170,"eClass":"EGenericType"},{"id":171,"eClass":"EGenericType"},{"id":172,"eClass":"EGenericType"},{"id":173,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"transform","changeable":true,"resolveProxies":true,"lowerBound":0,"id":174,"derived":false},{"id":175,"eClass":"EGenericType"},{"id":176,"eClass":"EGenericType"},{"name":"underline","id":177,"value":0,"literal":"underline","eClass":"EEnumLiteral"},{"name":"overline","id":178,"value":1,"literal":"overline","eClass":"EEnumLiteral"},{"name":"lineThrough","id":179,"value":2,"literal":"lineThrough","eClass":"EEnumLiteral"},{"ordered":true,"upperBound":1,"unique":true,"name":"nonNegativeRadius","lowerBound":0,"id":180,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"center","changeable":true,"resolveProxies":true,"lowerBound":1,"id":181,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"0","unsettable":false,"transient":false,"unique":true,"name":"radius","changeable":true,"lowerBound":1,"iD":false,"id":182,"derived":false},{"id":183,"eClass":"EGenericType"},{"id":184,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":185,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":186,"many":false,"required":false,"eClass":"EParameter"},{"id":187,"eClass":"EGenericType"},{"id":188,"eClass":"EGenericType"},{"id":189,"eClass":"EGenericType"},{"id":190,"eClass":"EGenericType"},{"id":191,"eClass":"EGenericType"},{"id":192,"eClass":"EGenericType"},{"id":193,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"startControl","changeable":true,"resolveProxies":true,"lowerBound":1,"id":194,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"endControl","changeable":true,"resolveProxies":true,"lowerBound":1,"id":195,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"point","changeable":true,"resolveProxies":true,"lowerBound":1,"id":196,"derived":false},{"id":197,"eClass":"EGenericType"},{"id":198,"eClass":"EGenericType"},{"id":199,"eClass":"EGenericType"},{"id":200,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"definition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":201,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"styleSheet","changeable":true,"resolveProxies":true,"lowerBound":0,"id":202,"derived":false},{"id":203,"eClass":"EGenericType"},{"id":204,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"rule","changeable":true,"resolveProxies":true,"lowerBound":0,"id":205,"derived":false},{"id":206,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"selector","changeable":true,"resolveProxies":true,"lowerBound":1,"id":207,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"style","changeable":true,"resolveProxies":true,"lowerBound":1,"id":208,"derived":false},{"id":209,"eClass":"EGenericType"},{"id":210,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"kind","changeable":true,"lowerBound":0,"iD":false,"id":211,"derived":false},{"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"class","changeable":true,"lowerBound":0,"iD":false,"id":212,"derived":false},{"id":213,"eClass":"EGenericType"},{"id":214,"eClass":"EGenericType"},{"name":"canvas","id":215,"value":0,"literal":"canvas","eClass":"EEnumLiteral"},{"name":"circle","id":216,"value":1,"literal":"circle","eClass":"EEnumLiteral"},{"name":"clipPath","id":217,"value":2,"literal":"clipPath","eClass":"EEnumLiteral"},{"name":"ellipse","id":218,"value":3,"literal":"ellipse","eClass":"EEnumLiteral"},{"name":"group","id":219,"value":4,"literal":"group","eClass":"EEnumLiteral"},{"name":"image","id":220,"value":5,"literal":"image","eClass":"EEnumLiteral"},{"name":"line","id":221,"value":6,"literal":"line","eClass":"EEnumLiteral"},{"name":"marker","id":222,"value":7,"literal":"marker","eClass":"EEnumLiteral"},{"name":"path","id":223,"value":8,"literal":"path","eClass":"EEnumLiteral"},{"name":"polygon","id":224,"value":9,"literal":"polygon","eClass":"EEnumLiteral"},{"name":"polyline","id":225,"value":10,"literal":"polyline","eClass":"EEnumLiteral"},{"name":"rectangle","id":226,"value":11,"literal":"rectangle","eClass":"EEnumLiteral"},{"name":"text","id":227,"value":12,"literal":"text","eClass":"EEnumLiteral"},{"name":"use","id":228,"value":13,"literal":"use","eClass":"EEnumLiteral"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"center","changeable":true,"resolveProxies":true,"lowerBound":1,"id":229,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"radii","changeable":true,"resolveProxies":true,"lowerBound":1,"id":230,"derived":false},{"id":231,"eClass":"EGenericType"},{"id":232,"eClass":"EGenericType"},{"id":233,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"radii","changeable":true,"resolveProxies":true,"lowerBound":1,"id":234,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"rotation","changeable":true,"lowerBound":1,"iD":false,"id":235,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"isLargeArc","changeable":true,"lowerBound":1,"iD":false,"id":236,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"isSweep","changeable":true,"lowerBound":1,"iD":false,"id":237,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"point","changeable":true,"resolveProxies":true,"lowerBound":1,"id":238,"derived":false},{"id":239,"eClass":"EGenericType"},{"id":240,"eClass":"EGenericType"},{"id":241,"eClass":"EGenericType"},{"id":242,"eClass":"EGenericType"},{"id":243,"eClass":"EGenericType"},{"id":244,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"control","changeable":true,"resolveProxies":true,"lowerBound":1,"id":245,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"point","changeable":true,"resolveProxies":true,"lowerBound":1,"id":246,"derived":false},{"id":247,"eClass":"EGenericType"},{"id":248,"eClass":"EGenericType"},{"id":249,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"stop","changeable":true,"resolveProxies":true,"lowerBound":2,"id":250,"derived":false},{"id":251,"eClass":"EGenericType"},{"id":252,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validOffset","lowerBound":0,"id":253,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validOpacity","lowerBound":0,"id":254,"many":false,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"color","changeable":true,"lowerBound":0,"iD":false,"id":255,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"offset","changeable":true,"lowerBound":0,"iD":false,"id":256,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"opacity","changeable":true,"lowerBound":0,"iD":false,"id":257,"derived":false},{"id":258,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":259,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":260,"many":false,"required":false,"eClass":"EParameter"},{"id":261,"eClass":"EGenericType"},{"id":262,"eClass":"EGenericType"},{"id":263,"eClass":"EGenericType"},{"id":264,"eClass":"EGenericType"},{"id":265,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":266,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":267,"many":false,"required":false,"eClass":"EParameter"},{"id":268,"eClass":"EGenericType"},{"id":269,"eClass":"EGenericType"},{"id":270,"eClass":"EGenericType"},{"id":271,"eClass":"EGenericType"},{"id":272,"eClass":"EGenericType"},{"id":273,"eClass":"EGenericType"},{"id":274,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"sourceCannotBeEmpty","lowerBound":0,"id":275,"many":false,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"source","changeable":true,"lowerBound":1,"iD":false,"id":276,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"bounds","changeable":true,"resolveProxies":true,"lowerBound":1,"id":277,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isAspectRatioPreserved","changeable":true,"lowerBound":1,"iD":false,"id":278,"derived":false},{"id":279,"eClass":"EGenericType"},{"id":280,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":281,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":282,"many":false,"required":false,"eClass":"EParameter"},{"id":283,"eClass":"EGenericType"},{"id":284,"eClass":"EGenericType"},{"id":285,"eClass":"EGenericType"},{"id":286,"eClass":"EGenericType"},{"id":287,"eClass":"EGenericType"},{"id":288,"eClass":"EGenericType"},{"id":289,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"start","changeable":true,"resolveProxies":true,"lowerBound":1,"id":290,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"end","changeable":true,"resolveProxies":true,"lowerBound":1,"id":291,"derived":false},{"id":292,"eClass":"EGenericType"},{"id":293,"eClass":"EGenericType"},{"id":294,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"referencedStartMarkerHasId","lowerBound":0,"id":295,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"referencedMidMarkerHasId","lowerBound":0,"id":296,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"referencedEndMarkerHasId","lowerBound":0,"id":297,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"endMarker","changeable":true,"resolveProxies":true,"lowerBound":0,"id":298,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"midMarker","changeable":true,"resolveProxies":true,"lowerBound":0,"id":299,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"startMarker","changeable":true,"resolveProxies":true,"lowerBound":0,"id":300,"derived":false},{"id":301,"eClass":"EGenericType"},{"id":302,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":303,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":304,"many":false,"required":false,"eClass":"EParameter"},{"id":305,"eClass":"EGenericType"},{"id":306,"eClass":"EGenericType"},{"id":307,"eClass":"EGenericType"},{"id":308,"eClass":"EGenericType"},{"id":309,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":310,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":311,"many":false,"required":false,"eClass":"EParameter"},{"id":312,"eClass":"EGenericType"},{"id":313,"eClass":"EGenericType"},{"id":314,"eClass":"EGenericType"},{"id":315,"eClass":"EGenericType"},{"id":316,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":317,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":318,"many":false,"required":false,"eClass":"EParameter"},{"id":319,"eClass":"EGenericType"},{"id":320,"eClass":"EGenericType"},{"id":321,"eClass":"EGenericType"},{"id":322,"eClass":"EGenericType"},{"id":323,"eClass":"EGenericType"},{"id":324,"eClass":"EGenericType"},{"id":325,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"size","changeable":true,"resolveProxies":true,"lowerBound":1,"id":326,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"reference","changeable":true,"resolveProxies":true,"lowerBound":1,"id":327,"derived":false},{"id":328,"eClass":"EGenericType"},{"id":329,"eClass":"EGenericType"},{"id":330,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validGradientVector","lowerBound":0,"id":331,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"start","changeable":true,"resolveProxies":true,"lowerBound":1,"id":332,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"end","changeable":true,"resolveProxies":true,"lowerBound":1,"id":333,"derived":false},{"id":334,"eClass":"EGenericType"},{"id":335,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":336,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":337,"many":false,"required":false,"eClass":"EParameter"},{"id":338,"eClass":"EGenericType"},{"id":339,"eClass":"EGenericType"},{"id":340,"eClass":"EGenericType"},{"id":341,"eClass":"EGenericType"},{"id":342,"eClass":"EGenericType"},{"id":343,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"point","changeable":true,"resolveProxies":true,"lowerBound":1,"id":344,"derived":false},{"id":345,"eClass":"EGenericType"},{"id":346,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"a","changeable":true,"lowerBound":1,"iD":false,"id":347,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"b","changeable":true,"lowerBound":1,"iD":false,"id":348,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"c","changeable":true,"lowerBound":1,"iD":false,"id":349,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"d","changeable":true,"lowerBound":1,"iD":false,"id":350,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"e","changeable":true,"lowerBound":1,"iD":false,"id":351,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"f","changeable":true,"lowerBound":1,"iD":false,"id":352,"derived":false},{"id":353,"eClass":"EGenericType"},{"id":354,"eClass":"EGenericType"},{"id":355,"eClass":"EGenericType"},{"id":356,"eClass":"EGenericType"},{"id":357,"eClass":"EGenericType"},{"id":358,"eClass":"EGenericType"},{"id":359,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"firstCommandMustBeMove","lowerBound":0,"id":360,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"command","changeable":true,"resolveProxies":true,"lowerBound":1,"id":361,"derived":false},{"id":362,"eClass":"EGenericType"},{"id":363,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":364,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":365,"many":false,"required":false,"eClass":"EParameter"},{"id":366,"eClass":"EGenericType"},{"id":367,"eClass":"EGenericType"},{"id":368,"eClass":"EGenericType"},{"id":369,"eClass":"EGenericType"},{"id":370,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"bounds","changeable":true,"resolveProxies":true,"lowerBound":1,"id":371,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"tile","changeable":true,"resolveProxies":true,"lowerBound":1,"id":372,"derived":false},{"id":373,"eClass":"EGenericType"},{"id":374,"eClass":"EGenericType"},{"id":375,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"point","changeable":true,"resolveProxies":true,"lowerBound":3,"id":376,"derived":false},{"id":377,"eClass":"EGenericType"},{"id":378,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"point","changeable":true,"resolveProxies":true,"lowerBound":2,"id":379,"derived":false},{"id":380,"eClass":"EGenericType"},{"id":381,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validCenterPoint","lowerBound":0,"id":382,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validFocusPoint","lowerBound":0,"id":383,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validRadius","lowerBound":0,"id":384,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"center","changeable":true,"resolveProxies":true,"lowerBound":1,"id":385,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"focus","changeable":true,"resolveProxies":true,"lowerBound":1,"id":386,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.5,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"0.5","unsettable":false,"transient":false,"unique":true,"name":"radius","changeable":true,"lowerBound":1,"iD":false,"id":387,"derived":false},{"id":388,"eClass":"EGenericType"},{"id":389,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":390,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":391,"many":false,"required":false,"eClass":"EParameter"},{"id":392,"eClass":"EGenericType"},{"id":393,"eClass":"EGenericType"},{"id":394,"eClass":"EGenericType"},{"id":395,"eClass":"EGenericType"},{"id":396,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":397,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":398,"many":false,"required":false,"eClass":"EParameter"},{"id":399,"eClass":"EGenericType"},{"id":400,"eClass":"EGenericType"},{"id":401,"eClass":"EGenericType"},{"id":402,"eClass":"EGenericType"},{"id":403,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":404,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":405,"many":false,"required":false,"eClass":"EParameter"},{"id":406,"eClass":"EGenericType"},{"id":407,"eClass":"EGenericType"},{"id":408,"eClass":"EGenericType"},{"id":409,"eClass":"EGenericType"},{"id":410,"eClass":"EGenericType"},{"id":411,"eClass":"EGenericType"},{"id":412,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"nonNegativeCornerRadius","lowerBound":0,"id":413,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"bounds","changeable":true,"resolveProxies":true,"lowerBound":1,"id":414,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"0","unsettable":true,"transient":false,"unique":true,"name":"cornerRadius","changeable":true,"lowerBound":0,"iD":false,"id":415,"derived":false},{"id":416,"eClass":"EGenericType"},{"id":417,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":418,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":419,"many":false,"required":false,"eClass":"EParameter"},{"id":420,"eClass":"EGenericType"},{"id":421,"eClass":"EGenericType"},{"id":422,"eClass":"EGenericType"},{"id":423,"eClass":"EGenericType"},{"id":424,"eClass":"EGenericType"},{"id":425,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"backgroundColor","changeable":true,"lowerBound":0,"iD":false,"id":426,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"definitions","changeable":true,"resolveProxies":true,"lowerBound":0,"id":427,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"externalStyleSheet","changeable":true,"resolveProxies":true,"lowerBound":0,"id":428,"derived":false},{"id":429,"eClass":"EGenericType"},{"id":430,"eClass":"EGenericType"},{"id":431,"eClass":"EGenericType"},{"id":432,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"angle","changeable":true,"lowerBound":1,"iD":false,"id":433,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"center","changeable":true,"resolveProxies":true,"lowerBound":0,"id":434,"derived":false},{"id":435,"eClass":"EGenericType"},{"id":436,"eClass":"EGenericType"},{"id":437,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"nonnegativescale","lowerBound":0,"id":438,"many":false,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"factorX","changeable":true,"lowerBound":1,"iD":false,"id":439,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"factorY","changeable":true,"lowerBound":1,"iD":false,"id":440,"derived":false},{"id":441,"eClass":"EGenericType"},{"id":442,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":443,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":444,"many":false,"required":false,"eClass":"EParameter"},{"id":445,"eClass":"EGenericType"},{"id":446,"eClass":"EGenericType"},{"id":447,"eClass":"EGenericType"},{"id":448,"eClass":"EGenericType"},{"id":449,"eClass":"EGenericType"},{"id":450,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"angleX","changeable":true,"lowerBound":1,"iD":false,"id":451,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"angleY","changeable":true,"lowerBound":1,"iD":false,"id":452,"derived":false},{"id":453,"eClass":"EGenericType"},{"id":454,"eClass":"EGenericType"},{"id":455,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"dataCannotBeEmpty","lowerBound":0,"id":456,"many":false,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"data","changeable":true,"lowerBound":1,"iD":false,"id":457,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"bounds","changeable":true,"resolveProxies":true,"lowerBound":1,"id":458,"derived":false},{"ordered":false,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"anchor","changeable":true,"lowerBound":0,"iD":false,"id":459,"derived":false},{"id":460,"eClass":"EGenericType"},{"id":461,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":462,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":463,"many":false,"required":false,"eClass":"EParameter"},{"id":464,"eClass":"EGenericType"},{"id":465,"eClass":"EGenericType"},{"id":466,"eClass":"EGenericType"},{"id":467,"eClass":"EGenericType"},{"id":468,"eClass":"EGenericType"},{"id":469,"eClass":"EGenericType"},{"id":470,"eClass":"EGenericType"},{"name":"start","id":471,"value":0,"literal":"start","eClass":"EEnumLiteral"},{"name":"middle","id":472,"value":1,"literal":"middle","eClass":"EEnumLiteral"},{"name":"end","id":473,"value":2,"literal":"end","eClass":"EEnumLiteral"},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"deltaX","changeable":true,"lowerBound":1,"iD":false,"id":474,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"deltaY","changeable":true,"lowerBound":1,"iD":false,"id":475,"derived":false},{"id":476,"eClass":"EGenericType"},{"id":477,"eClass":"EGenericType"},{"id":478,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"referencedElementHasId","lowerBound":0,"id":479,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"bounds","changeable":true,"resolveProxies":true,"lowerBound":0,"id":480,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referencedElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":481,"derived":false},{"id":482,"eClass":"EGenericType"},{"id":483,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":484,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":485,"many":false,"required":false,"eClass":"EParameter"},{"id":486,"eClass":"EGenericType"},{"id":487,"eClass":"EGenericType"},{"id":488,"eClass":"EGenericType"},{"id":489,"eClass":"EGenericType"},{"id":490,"eClass":"EGenericType"},{"id":491,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":0,"target":2},{"source":0,"target":3},{"source":0,"target":4},{"source":0,"target":5},{"source":0,"target":6},{"source":0,"target":7},{"source":0,"target":8},{"source":0,"target":9},{"source":0,"target":10},{"source":0,"target":11},{"source":0,"target":12},{"source":0,"target":13},{"source":0,"target":14},{"source":0,"target":15},{"source":0,"target":16},{"source":0,"target":17},{"source":0,"target":18},{"source":0,"target":19},{"source":0,"target":20},{"source":0,"target":21},{"source":0,"target":22},{"source":0,"target":23},{"source":0,"target":24},{"source":0,"target":25},{"source":0,"target":26},{"source":0,"target":27},{"source":0,"target":28},{"source":0,"target":29},{"source":0,"target":30},{"source":0,"target":31},{"source":0,"target":32},{"source":0,"target":33},{"source":0,"target":34},{"source":0,"target":35},{"source":0,"target":36},{"source":0,"target":37},{"source":0,"target":38},{"source":0,"target":39},{"source":0,"target":40},{"source":0,"target":41},{"source":0,"target":42},{"source":0,"target":43},{"source":0,"target":44},{"source":0,"target":45},{"source":0,"target":46},{"source":1,"target":0},{"source":1,"target":2},{"source":1,"target":47},{"source":1,"target":48},{"source":1,"target":49},{"source":47,"target":50},{"source":47,"target":1},{"source":47,"target":51},{"source":47,"target":52},{"source":51,"target":53},{"source":51,"target":47},{"source":52,"target":54},{"source":52,"target":47},{"source":54,"target":55},{"source":54,"target":56},{"source":48,"target":57},{"source":48,"target":1},{"source":49,"target":2},{"source":2,"target":0},{"source":2,"target":3},{"source":2,"target":58},{"source":2,"target":59},{"source":2,"target":60},{"source":58,"target":3},{"source":58,"target":61},{"source":58,"target":2},{"source":58,"target":62},{"source":61,"target":3},{"source":59,"target":63},{"source":59,"target":2},{"source":60,"target":3},{"source":3,"target":0},{"source":3,"target":4},{"source":3,"target":64},{"source":3,"target":65},{"source":3,"target":62},{"source":3,"target":66},{"source":3,"target":67},{"source":3,"target":68},{"source":3,"target":69},{"source":3,"target":70},{"source":64,"target":71},{"source":64,"target":3},{"source":64,"target":72},{"source":64,"target":73},{"source":72,"target":74},{"source":72,"target":64},{"source":73,"target":75},{"source":73,"target":64},{"source":75,"target":76},{"source":75,"target":77},{"source":65,"target":7},{"source":65,"target":78},{"source":65,"target":3},{"source":78,"target":7},{"source":62,"target":2},{"source":62,"target":79},{"source":62,"target":3},{"source":62,"target":58},{"source":79,"target":2},{"source":66,"target":80},{"source":66,"target":3},{"source":67,"target":8},{"source":67,"target":81},{"source":67,"target":3},{"source":81,"target":8},{"source":68,"target":11},{"source":68,"target":82},{"source":68,"target":3},{"source":82,"target":11},{"source":69,"target":83},{"source":69,"target":3},{"source":70,"target":4},{"source":4,"target":0},{"source":4,"target":84},{"source":4,"target":85},{"source":84,"target":86},{"source":84,"target":4},{"source":84,"target":87},{"source":84,"target":88},{"source":87,"target":89},{"source":87,"target":84},{"source":88,"target":90},{"source":88,"target":84},{"source":90,"target":91},{"source":90,"target":92},{"source":85,"target":93},{"source":85,"target":4},{"source":5,"target":0},{"source":5,"target":6},{"source":5,"target":94},{"source":5,"target":95},{"source":94,"target":96},{"source":94,"target":5},{"source":95,"target":6},{"source":6,"target":0},{"source":6,"target":97},{"source":97,"target":98},{"source":97,"target":6},{"source":7,"target":0},{"source":7,"target":2},{"source":7,"target":99},{"source":99,"target":2},{"source":8,"target":0},{"source":8,"target":100},{"source":8,"target":101},{"source":8,"target":102},{"source":8,"target":103},{"source":8,"target":104},{"source":8,"target":105},{"source":8,"target":106},{"source":8,"target":107},{"source":8,"target":108},{"source":8,"target":109},{"source":8,"target":110},{"source":8,"target":111},{"source":8,"target":112},{"source":8,"target":113},{"source":8,"target":114},{"source":8,"target":115},{"source":100,"target":116},{"source":100,"target":8},{"source":100,"target":117},{"source":100,"target":118},{"source":117,"target":119},{"source":117,"target":100},{"source":118,"target":120},{"source":118,"target":100},{"source":120,"target":121},{"source":120,"target":122},{"source":101,"target":123},{"source":101,"target":8},{"source":101,"target":124},{"source":101,"target":125},{"source":124,"target":126},{"source":124,"target":101},{"source":125,"target":127},{"source":125,"target":101},{"source":127,"target":128},{"source":127,"target":129},{"source":102,"target":130},{"source":102,"target":8},{"source":102,"target":131},{"source":102,"target":132},{"source":131,"target":133},{"source":131,"target":102},{"source":132,"target":134},{"source":132,"target":102},{"source":134,"target":135},{"source":134,"target":136},{"source":103,"target":137},{"source":103,"target":8},{"source":103,"target":138},{"source":103,"target":139},{"source":138,"target":140},{"source":138,"target":103},{"source":139,"target":141},{"source":139,"target":103},{"source":141,"target":142},{"source":141,"target":143},{"source":104,"target":144},{"source":104,"target":8},{"source":104,"target":145},{"source":104,"target":146},{"source":145,"target":147},{"source":145,"target":104},{"source":146,"target":148},{"source":146,"target":104},{"source":148,"target":149},{"source":148,"target":150},{"source":105,"target":9},{"source":105,"target":151},{"source":105,"target":8},{"source":151,"target":9},{"source":106,"target":152},{"source":106,"target":8},{"source":107,"target":9},{"source":107,"target":153},{"source":107,"target":8},{"source":153,"target":9},{"source":108,"target":154},{"source":108,"target":8},{"source":109,"target":155},{"source":109,"target":8},{"source":110,"target":156},{"source":110,"target":8},{"source":111,"target":157},{"source":111,"target":8},{"source":112,"target":158},{"source":112,"target":8},{"source":113,"target":159},{"source":113,"target":8},{"source":114,"target":160},{"source":114,"target":8},{"source":115,"target":12},{"source":115,"target":161},{"source":115,"target":8},{"source":161,"target":12},{"source":9,"target":0},{"source":9,"target":162},{"source":9,"target":163},{"source":9,"target":164},{"source":162,"target":165},{"source":162,"target":9},{"source":162,"target":166},{"source":162,"target":167},{"source":166,"target":168},{"source":166,"target":162},{"source":167,"target":169},{"source":167,"target":162},{"source":169,"target":170},{"source":169,"target":171},{"source":163,"target":172},{"source":163,"target":9},{"source":164,"target":10},{"source":164,"target":173},{"source":164,"target":9},{"source":173,"target":10},{"source":10,"target":0},{"source":10,"target":4},{"source":10,"target":174},{"source":10,"target":175},{"source":174,"target":11},{"source":174,"target":176},{"source":174,"target":10},{"source":176,"target":11},{"source":175,"target":4},{"source":11,"target":0},{"source":12,"target":0},{"source":12,"target":177},{"source":12,"target":178},{"source":12,"target":179},{"source":177,"target":12},{"source":178,"target":12},{"source":179,"target":12},{"source":13,"target":0},{"source":13,"target":3},{"source":13,"target":180},{"source":13,"target":181},{"source":13,"target":182},{"source":13,"target":183},{"source":180,"target":184},{"source":180,"target":13},{"source":180,"target":185},{"source":180,"target":186},{"source":185,"target":187},{"source":185,"target":180},{"source":186,"target":188},{"source":186,"target":180},{"source":188,"target":189},{"source":188,"target":190},{"source":181,"target":191},{"source":181,"target":13},{"source":182,"target":192},{"source":182,"target":13},{"source":183,"target":3},{"source":14,"target":0},{"source":14,"target":6},{"source":14,"target":193},{"source":193,"target":6},{"source":15,"target":0},{"source":15,"target":6},{"source":15,"target":194},{"source":15,"target":195},{"source":15,"target":196},{"source":15,"target":197},{"source":194,"target":198},{"source":194,"target":15},{"source":195,"target":199},{"source":195,"target":15},{"source":196,"target":200},{"source":196,"target":15},{"source":197,"target":6},{"source":16,"target":0},{"source":16,"target":201},{"source":16,"target":202},{"source":201,"target":4},{"source":201,"target":203},{"source":201,"target":16},{"source":203,"target":4},{"source":202,"target":17},{"source":202,"target":204},{"source":202,"target":16},{"source":204,"target":17},{"source":17,"target":0},{"source":17,"target":205},{"source":205,"target":18},{"source":205,"target":206},{"source":205,"target":17},{"source":206,"target":18},{"source":18,"target":0},{"source":18,"target":207},{"source":18,"target":208},{"source":207,"target":19},{"source":207,"target":209},{"source":207,"target":18},{"source":209,"target":19},{"source":208,"target":8},{"source":208,"target":210},{"source":208,"target":18},{"source":210,"target":8},{"source":19,"target":0},{"source":19,"target":211},{"source":19,"target":212},{"source":211,"target":20},{"source":211,"target":213},{"source":211,"target":19},{"source":213,"target":20},{"source":212,"target":214},{"source":212,"target":19},{"source":20,"target":0},{"source":20,"target":215},{"source":20,"target":216},{"source":20,"target":217},{"source":20,"target":218},{"source":20,"target":219},{"source":20,"target":220},{"source":20,"target":221},{"source":20,"target":222},{"source":20,"target":223},{"source":20,"target":224},{"source":20,"target":225},{"source":20,"target":226},{"source":20,"target":227},{"source":20,"target":228},{"source":215,"target":20},{"source":216,"target":20},{"source":217,"target":20},{"source":218,"target":20},{"source":219,"target":20},{"source":220,"target":20},{"source":221,"target":20},{"source":222,"target":20},{"source":223,"target":20},{"source":224,"target":20},{"source":225,"target":20},{"source":226,"target":20},{"source":227,"target":20},{"source":228,"target":20},{"source":21,"target":0},{"source":21,"target":3},{"source":21,"target":229},{"source":21,"target":230},{"source":21,"target":231},{"source":229,"target":232},{"source":229,"target":21},{"source":230,"target":233},{"source":230,"target":21},{"source":231,"target":3},{"source":22,"target":0},{"source":22,"target":6},{"source":22,"target":234},{"source":22,"target":235},{"source":22,"target":236},{"source":22,"target":237},{"source":22,"target":238},{"source":22,"target":239},{"source":234,"target":240},{"source":234,"target":22},{"source":235,"target":241},{"source":235,"target":22},{"source":236,"target":242},{"source":236,"target":22},{"source":237,"target":243},{"source":237,"target":22},{"source":238,"target":244},{"source":238,"target":22},{"source":239,"target":6},{"source":23,"target":0},{"source":23,"target":6},{"source":23,"target":245},{"source":23,"target":246},{"source":23,"target":247},{"source":245,"target":248},{"source":245,"target":23},{"source":246,"target":249},{"source":246,"target":23},{"source":247,"target":6},{"source":24,"target":0},{"source":24,"target":10},{"source":24,"target":250},{"source":24,"target":251},{"source":250,"target":25},{"source":250,"target":252},{"source":250,"target":24},{"source":252,"target":25},{"source":251,"target":10},{"source":25,"target":0},{"source":25,"target":253},{"source":25,"target":254},{"source":25,"target":255},{"source":25,"target":256},{"source":25,"target":257},{"source":253,"target":258},{"source":253,"target":25},{"source":253,"target":259},{"source":253,"target":260},{"source":259,"target":261},{"source":259,"target":253},{"source":260,"target":262},{"source":260,"target":253},{"source":262,"target":263},{"source":262,"target":264},{"source":254,"target":265},{"source":254,"target":25},{"source":254,"target":266},{"source":254,"target":267},{"source":266,"target":268},{"source":266,"target":254},{"source":267,"target":269},{"source":267,"target":254},{"source":269,"target":270},{"source":269,"target":271},{"source":255,"target":272},{"source":255,"target":25},{"source":256,"target":273},{"source":256,"target":25},{"source":257,"target":274},{"source":257,"target":25},{"source":26,"target":0},{"source":26,"target":3},{"source":26,"target":275},{"source":26,"target":276},{"source":26,"target":277},{"source":26,"target":278},{"source":26,"target":279},{"source":275,"target":280},{"source":275,"target":26},{"source":275,"target":281},{"source":275,"target":282},{"source":281,"target":283},{"source":281,"target":275},{"source":282,"target":284},{"source":282,"target":275},{"source":284,"target":285},{"source":284,"target":286},{"source":276,"target":287},{"source":276,"target":26},{"source":277,"target":288},{"source":277,"target":26},{"source":278,"target":289},{"source":278,"target":26},{"source":279,"target":3},{"source":27,"target":0},{"source":27,"target":28},{"source":27,"target":290},{"source":27,"target":291},{"source":27,"target":292},{"source":290,"target":293},{"source":290,"target":27},{"source":291,"target":294},{"source":291,"target":27},{"source":292,"target":28},{"source":28,"target":0},{"source":28,"target":3},{"source":28,"target":295},{"source":28,"target":296},{"source":28,"target":297},{"source":28,"target":298},{"source":28,"target":299},{"source":28,"target":300},{"source":28,"target":301},{"source":295,"target":302},{"source":295,"target":28},{"source":295,"target":303},{"source":295,"target":304},{"source":303,"target":305},{"source":303,"target":295},{"source":304,"target":306},{"source":304,"target":295},{"source":306,"target":307},{"source":306,"target":308},{"source":296,"target":309},{"source":296,"target":28},{"source":296,"target":310},{"source":296,"target":311},{"source":310,"target":312},{"source":310,"target":296},{"source":311,"target":313},{"source":311,"target":296},{"source":313,"target":314},{"source":313,"target":315},{"source":297,"target":316},{"source":297,"target":28},{"source":297,"target":317},{"source":297,"target":318},{"source":317,"target":319},{"source":317,"target":297},{"source":318,"target":320},{"source":318,"target":297},{"source":320,"target":321},{"source":320,"target":322},{"source":298,"target":29},{"source":298,"target":323},{"source":298,"target":28},{"source":323,"target":29},{"source":299,"target":29},{"source":299,"target":324},{"source":299,"target":28},{"source":324,"target":29},{"source":300,"target":29},{"source":300,"target":325},{"source":300,"target":28},{"source":325,"target":29},{"source":301,"target":3},{"source":29,"target":0},{"source":29,"target":2},{"source":29,"target":326},{"source":29,"target":327},{"source":29,"target":328},{"source":326,"target":329},{"source":326,"target":29},{"source":327,"target":330},{"source":327,"target":29},{"source":328,"target":2},{"source":30,"target":0},{"source":30,"target":24},{"source":30,"target":331},{"source":30,"target":332},{"source":30,"target":333},{"source":30,"target":334},{"source":331,"target":335},{"source":331,"target":30},{"source":331,"target":336},{"source":331,"target":337},{"source":336,"target":338},{"source":336,"target":331},{"source":337,"target":339},{"source":337,"target":331},{"source":339,"target":340},{"source":339,"target":341},{"source":332,"target":342},{"source":332,"target":30},{"source":333,"target":343},{"source":333,"target":30},{"source":334,"target":24},{"source":31,"target":0},{"source":31,"target":6},{"source":31,"target":344},{"source":31,"target":345},{"source":344,"target":346},{"source":344,"target":31},{"source":345,"target":6},{"source":32,"target":0},{"source":32,"target":11},{"source":32,"target":347},{"source":32,"target":348},{"source":32,"target":349},{"source":32,"target":350},{"source":32,"target":351},{"source":32,"target":352},{"source":32,"target":353},{"source":347,"target":354},{"source":347,"target":32},{"source":348,"target":355},{"source":348,"target":32},{"source":349,"target":356},{"source":349,"target":32},{"source":350,"target":357},{"source":350,"target":32},{"source":351,"target":358},{"source":351,"target":32},{"source":352,"target":359},{"source":352,"target":32},{"source":353,"target":11},{"source":33,"target":0},{"source":33,"target":28},{"source":33,"target":360},{"source":33,"target":361},{"source":33,"target":362},{"source":360,"target":363},{"source":360,"target":33},{"source":360,"target":364},{"source":360,"target":365},{"source":364,"target":366},{"source":364,"target":360},{"source":365,"target":367},{"source":365,"target":360},{"source":367,"target":368},{"source":367,"target":369},{"source":361,"target":6},{"source":361,"target":370},{"source":361,"target":33},{"source":370,"target":6},{"source":362,"target":28},{"source":34,"target":0},{"source":34,"target":10},{"source":34,"target":371},{"source":34,"target":372},{"source":34,"target":373},{"source":371,"target":374},{"source":371,"target":34},{"source":372,"target":3},{"source":372,"target":375},{"source":372,"target":34},{"source":375,"target":3},{"source":373,"target":10},{"source":35,"target":0},{"source":35,"target":28},{"source":35,"target":376},{"source":35,"target":377},{"source":376,"target":378},{"source":376,"target":35},{"source":377,"target":28},{"source":36,"target":0},{"source":36,"target":28},{"source":36,"target":379},{"source":36,"target":380},{"source":379,"target":381},{"source":379,"target":36},{"source":380,"target":28},{"source":37,"target":0},{"source":37,"target":24},{"source":37,"target":382},{"source":37,"target":383},{"source":37,"target":384},{"source":37,"target":385},{"source":37,"target":386},{"source":37,"target":387},{"source":37,"target":388},{"source":382,"target":389},{"source":382,"target":37},{"source":382,"target":390},{"source":382,"target":391},{"source":390,"target":392},{"source":390,"target":382},{"source":391,"target":393},{"source":391,"target":382},{"source":393,"target":394},{"source":393,"target":395},{"source":383,"target":396},{"source":383,"target":37},{"source":383,"target":397},{"source":383,"target":398},{"source":397,"target":399},{"source":397,"target":383},{"source":398,"target":400},{"source":398,"target":383},{"source":400,"target":401},{"source":400,"target":402},{"source":384,"target":403},{"source":384,"target":37},{"source":384,"target":404},{"source":384,"target":405},{"source":404,"target":406},{"source":404,"target":384},{"source":405,"target":407},{"source":405,"target":384},{"source":407,"target":408},{"source":407,"target":409},{"source":385,"target":410},{"source":385,"target":37},{"source":386,"target":411},{"source":386,"target":37},{"source":387,"target":412},{"source":387,"target":37},{"source":388,"target":24},{"source":38,"target":0},{"source":38,"target":3},{"source":38,"target":413},{"source":38,"target":414},{"source":38,"target":415},{"source":38,"target":416},{"source":413,"target":417},{"source":413,"target":38},{"source":413,"target":418},{"source":413,"target":419},{"source":418,"target":420},{"source":418,"target":413},{"source":419,"target":421},{"source":419,"target":413},{"source":421,"target":422},{"source":421,"target":423},{"source":414,"target":424},{"source":414,"target":38},{"source":415,"target":425},{"source":415,"target":38},{"source":416,"target":3},{"source":39,"target":0},{"source":39,"target":1},{"source":39,"target":426},{"source":39,"target":427},{"source":39,"target":428},{"source":39,"target":429},{"source":426,"target":430},{"source":426,"target":39},{"source":427,"target":16},{"source":427,"target":431},{"source":427,"target":39},{"source":431,"target":16},{"source":428,"target":17},{"source":428,"target":432},{"source":428,"target":39},{"source":432,"target":17},{"source":429,"target":1},{"source":40,"target":0},{"source":40,"target":11},{"source":40,"target":433},{"source":40,"target":434},{"source":40,"target":435},{"source":433,"target":436},{"source":433,"target":40},{"source":434,"target":437},{"source":434,"target":40},{"source":435,"target":11},{"source":41,"target":0},{"source":41,"target":11},{"source":41,"target":438},{"source":41,"target":439},{"source":41,"target":440},{"source":41,"target":441},{"source":438,"target":442},{"source":438,"target":41},{"source":438,"target":443},{"source":438,"target":444},{"source":443,"target":445},{"source":443,"target":438},{"source":444,"target":446},{"source":444,"target":438},{"source":446,"target":447},{"source":446,"target":448},{"source":439,"target":449},{"source":439,"target":41},{"source":440,"target":450},{"source":440,"target":41},{"source":441,"target":11},{"source":42,"target":0},{"source":42,"target":11},{"source":42,"target":451},{"source":42,"target":452},{"source":42,"target":453},{"source":451,"target":454},{"source":451,"target":42},{"source":452,"target":455},{"source":452,"target":42},{"source":453,"target":11},{"source":43,"target":0},{"source":43,"target":3},{"source":43,"target":456},{"source":43,"target":457},{"source":43,"target":458},{"source":43,"target":459},{"source":43,"target":460},{"source":456,"target":461},{"source":456,"target":43},{"source":456,"target":462},{"source":456,"target":463},{"source":462,"target":464},{"source":462,"target":456},{"source":463,"target":465},{"source":463,"target":456},{"source":465,"target":466},{"source":465,"target":467},{"source":457,"target":468},{"source":457,"target":43},{"source":458,"target":469},{"source":458,"target":43},{"source":459,"target":44},{"source":459,"target":470},{"source":459,"target":43},{"source":470,"target":44},{"source":460,"target":3},{"source":44,"target":0},{"source":44,"target":471},{"source":44,"target":472},{"source":44,"target":473},{"source":471,"target":44},{"source":472,"target":44},{"source":473,"target":44},{"source":45,"target":0},{"source":45,"target":11},{"source":45,"target":474},{"source":45,"target":475},{"source":45,"target":476},{"source":474,"target":477},{"source":474,"target":45},{"source":475,"target":478},{"source":475,"target":45},{"source":476,"target":11},{"source":46,"target":0},{"source":46,"target":3},{"source":46,"target":479},{"source":46,"target":480},{"source":46,"target":481},{"source":46,"target":482},{"source":479,"target":483},{"source":479,"target":46},{"source":479,"target":484},{"source":479,"target":485},{"source":484,"target":486},{"source":484,"target":479},{"source":485,"target":487},{"source":485,"target":479},{"source":487,"target":488},{"source":487,"target":489},{"source":480,"target":490},{"source":480,"target":46},{"source":481,"target":3},{"source":481,"target":491},{"source":481,"target":46},{"source":491,"target":3},{"source":482,"target":3}],"multigraph":true}