pivot
Boolean
boolean
boolean
Integer
java.lang.Number
java.lang.Number
LibraryFeature
org.eclipse.ocl.pivot.library.LibraryFeature
org.eclipse.ocl.pivot.library.LibraryFeature
Object
java.lang.Object
java.lang.Object
Real
java.lang.Number
java.lang.Number
String
java.lang.String
java.lang.String
Throwable
java.lang.Throwable
java.lang.Throwable
UnlimitedNatural
java.lang.Number
java.lang.Number
AssociativityKind
left
left
right
right
CollectionKind
Collection
Collection
Set
Set
OrderedSet
OrderedSet
Bag
Bag
Sequence
Sequence
PseudostateKind
initial
initial
deepHistory
deepHistory
shallowHistory
shallowHistory
join
join
fork
fork
junction
junction
choice
choice
entryPoint
entryPoint
exitPoint
exitPoint
terminate
terminate
TransitionKind
internal
internal
local
local
external
external
Annotation
ownedContents
ownedDetails
references
AnyType
AssociationClass
unownedAttributes
AssociationClassCallExp
referredAssociationClass
BagType
Behavior
owningTransition
BooleanLiteralExp
validateTypeIsBoolean
diagnostics
context
booleanSymbol
CallExp
validateTypeIsNotInvalid
diagnostics
context
isImplicit
false
isSafe
false
ownedSource
CallOperationAction
operation
Class
validateUniqueInvariantName
diagnostics
context
extenders
instanceClassName
isAbstract
false
isActive
false
isInterface
false
ownedBehaviors
ownedInvariants
ownedOperations
ownedProperties
owningPackage
superClasses
CollectionItem
validateTypeIsItemType
diagnostics
context
ownedItem
CollectionLiteralExp
validateBagKindIsBag
diagnostics
context
validateCollectionKindIsConcrete
diagnostics
context
validateOrderedSetKindIsOrderedSet
diagnostics
context
validateSequenceKindIsSequence
diagnostics
context
validateSetKindIsSet
diagnostics
context
kind
ownedParts
CollectionLiteralPart
validateTypeIsNotInvalid
diagnostics
context
CollectionRange
ownedFirst
ownedLast
CollectionType
elementType
isNullFree
false
lower
0
upper
*
Comment
annotatedElements
body
owningElement
CompleteClass
owningCompletePackage
partialClasses
CompleteEnvironment
ownedCompleteModel
ownedStandardLibrary
CompleteModel
getOwnedCompletePackage
name
orphanCompletePackage
ownedCompletePackages
owningCompleteEnvironment
partialModels
primitiveCompletePackage
CompletePackage
getOwnedCompleteClass
name
ownedCompleteClasses
ownedCompletePackages
owningCompleteModel
owningCompletePackage
partialPackages
ConnectionPointReference
entries
exits
owningState
Constraint
validateUniqueName
diagnostics
context
constrainedElements
context
isCallable
false
ownedSpecification
owningPostContext
owningPreContext
owningState
owningTransition
redefinedConstraints
DataType
behavioralClass
isSerializable
true
Detail
values
DynamicBehavior
DynamicElement
metaType
DynamicProperty
default
referredProperty
DynamicType
ownedDynamicProperties
DynamicValueSpecification
Element
allOwnedElements
getValue
stereotype
propertyName
annotatingComments
ownedAnnotations
ownedComments
ownedExtensions
ElementExtension
base
isApplied
false
isRequired
false
stereotype
EnumLiteralExp
validateTypeIsEnumerationType
diagnostics
context
referredLiteral
Enumeration
ownedLiterals
EnumerationLiteral
owningEnumeration
value
0
ExpressionInOCL
ownedBody
ownedContext
ownedParameters
ownedResult
Feature
validateTypeIsNotInvalid
diagnostics
context
implementation
implementationClass
isStatic
false
FeatureCallExp
isPre
false
FinalState
IfExp
validateConditionTypeIsBoolean
diagnostics
context
validateTypeIsNotInvalid
diagnostics
context
ownedCondition
ownedElse
ownedThen
Import
importedNamespace
InstanceSpecification
classes
ownedSlots
ownedSpecification
owningPackage
IntegerLiteralExp
validateTypeIsInteger
diagnostics
context
integerSymbol
InvalidLiteralExp
InvalidType
IterateExp
validateBodyTypeConformsToResultType
diagnostics
context
validateOneInitializer
diagnostics
context
validateSafeIteratorIsRequired
diagnostics
context
validateSafeSourceCanBeNull
diagnostics
context
validateTypeIsResultType
diagnostics
context
validateUnsafeSourceCanNotBeNull
diagnostics
context
ownedResult
Iteration
ownedAccumulators
ownedIterators
IteratorExp
validateAnyBodyTypeIsBoolean
diagnostics
context
validateAnyHasOneIterator
diagnostics
context
validateAnyTypeIsSourceElementType
diagnostics
context
validateClosureBodyTypeIsConformanttoIteratorType
diagnostics
context
validateClosureElementTypeIsSourceElementType
diagnostics
context
validateClosureHasOneIterator
diagnostics
context
validateClosureSourceElementTypeIsBodyElementType
diagnostics
context
validateClosureTypeIsUniqueCollection
diagnostics
context
validateCollectElementTypeIsFlattenedBodyType
diagnostics
context
validateCollectTypeIsUnordered
diagnostics
context
validateIteratorTypeIsSourceElementType
diagnostics
context
validateSafeIteratorIsRequired
diagnostics
context
validateSafeSourceCanBeNull
diagnostics
context
validateSortedByElementTypeIsSourceElementType
diagnostics
context
validateSortedByIsOrderedIfSourceIsOrdered
diagnostics
context
validateSortedByIteratorTypeIsComparable
diagnostics
context
validateUnsafeSourceCanNotBeNull
diagnostics
context
LambdaType
contextType
parameterType
resultType
LanguageExpression
body
language
owningConstraint
LetExp
validateTypeIsInType
diagnostics
context
validateTypeIsNotInvalid
diagnostics
context
ownedIn
ownedVariable
Library
ownedPrecedences
LiteralExp
LoopExp
validateNoInitializers
diagnostics
context
validateSourceIsCollection
diagnostics
context
ownedBody
ownedIterators
referredIteration
MapLiteralExp
ownedParts
MapLiteralPart
ownedKey
ownedValue
MapType
keyType
valueType
MessageExp
validateOneCallOrOneSend
diagnostics
context
validateTargetIsNotACollection
diagnostics
context
ownedArguments
ownedCalledOperation
ownedSentSignal
ownedTarget
MessageType
referredOperation
referredSignal
Model
externalURI
ownedImports
ownedPackages
MorePivotable
org.eclipse.ocl.pivot.utilities.MorePivotable
org.eclipse.ocl.pivot.utilities.MorePivotable
Nameable
org.eclipse.ocl.pivot.utilities.Nameable
org.eclipse.ocl.pivot.utilities.Nameable
NamedElement
name
Namespace
ownedConstraints
NavigationCallExp
navigationSource
qualifiers
NullLiteralExp
NumericLiteralExp
OCLExpression
typeValue
Operation
validateCompatibleReturn
diagnostics
context
validateLoadableImplementation
diagnostics
context
validateUniquePostconditionName
diagnostics
context
validateUniquePreconditionName
diagnostics
context
bodyExpression
isInvalidating
false
isTypeof
false
isValidating
false
ownedParameters
ownedPostconditions
ownedPreconditions
owningClass
precedence
raisedExceptions
redefinedOperations
OperationCallExp
validateArgumentCount
diagnostics
context
validateArgumentTypeIsConformant
diagnostics
context
validateSafeSourceCanBeNull
diagnostics
context
ownedArguments
referredOperation
OppositePropertyCallExp
referredProperty
OrderedSetType
OrphanCompletePackage
Package
URI
importedPackages
nsPrefix
ownedClasses
ownedInstances
ownedPackages
ownedProfileApplications
owningPackage
Parameter
isTypeof
false
owningOperation
Pivotable
org.eclipse.ocl.pivot.utilities.Pivotable
org.eclipse.ocl.pivot.utilities.Pivotable
Precedence
associativity
left
order
0
PrimitiveCompletePackage
PrimitiveLiteralExp
PrimitiveType
coercions
Profile
profileApplications
ProfileApplication
appliedProfile
isStrict
false
owningPackage
Property
isAttribute
p
validateCompatibleDefaultExpression
diagnostics
context
associationClass
defaultValue
defaultValueString
isComposite
false
isDerived
false
isID
false
isImplicit
false
isReadOnly
false
isResolveProxies
true
isTransient
false
isUnsettable
false
isVolatile
false
keys
opposite
ownedExpression
owningClass
redefinedProperties
referredProperty
subsettedProperty
PropertyCallExp
getSpecializedReferredPropertyOwningType
getSpecializedReferredPropertyType
validateCompatibleResultType
diagnostics
context
validateNonStaticSourceTypeIsConformant
diagnostics
context
validateSafeSourceCanBeNull
diagnostics
context
validateUnsafeSourceCanNotBeNull
diagnostics
context
referredProperty
Pseudostate
kind
initial
owningState
owningStateMachine
RealLiteralExp
realSymbol
ReferringElement
getReferredElement
Region
extendedRegion
ownedSubvertexes
ownedTransitions
owningState
owningStateMachine
SelfType
specializeIn
expr
selfType
SendSignalAction
signal
SequenceType
SetType
ShadowExp
validateTypeIsNotInvalid
diagnostics
context
ownedParts
value
ShadowPart
validateTypeIsNotInvalid
diagnostics
context
ownedInit
referredProperty
Signal
Slot
definingProperty
ownedValues
owningInstance
StandardLibrary
owningCompleteEnvironment
State
isComposite
isOrthogonal
isSimple
isSubmachineState
ownedConnectionPoints
ownedConnections
ownedDeferrableTriggers
ownedDoActivity
ownedEntry
ownedExit
ownedRegions
ownedStateInvariant
redefinedState
submachines
StateExp
validateTypeIsNotInvalid
diagnostics
context
referredState
StateMachine
extendedStateMachines
ownedConnectionPoints
ownedRegions
submachineStates
Stereotype
ownedExtenders
StereotypeExtender
class
isRequired
false
owningStereotype
StringLiteralExp
stringSymbol
TemplateBinding
ownedSubstitutions
owningElement
templateSignature
TemplateParameter
constrainingClasses
owningSignature
TemplateParameterSubstitution
actual
formal
ownedWildcard
owningBinding
TemplateSignature
ownedParameters
owningElement
TemplateableElement
ownedBindings
ownedSignature
unspecializedElement
Transition
kind
external
ownedEffect
ownedGuard
ownedTriggers
owningRegion
source
target
Trigger
owningState
owningTransition
TupleLiteralExp
ownedParts
TupleLiteralPart
ownedInit
TupleType
Type
flattenedType
isClass
isTemplateParameter
specializeIn
expr
selfType
TypeExp
referredType
TypedElement
CompatibleBody
bodySpecification
isMany
isRequired
true
type
UnlimitedNaturalLiteralExp
unlimitedNaturalSymbol
UnspecifiedValueExp
ValueSpecification
booleanValue
integerValue
isComputable
isNull
stringValue
unlimitedValue
Variable
validateCompatibleInitialiserType
diagnostics
context
isImplicit
false
ownedInit
representedParameter
VariableDeclaration
validateTypeIsNotInvalid
diagnostics
context
typeValue
VariableExp
validateTypeIsNotInvalid
diagnostics
context
isImplicit
false
referredVariable
Vertex
incomingTransitions
outgoingTransitions
owningRegion
Visitable
org.eclipse.ocl.pivot.util.Visitable
org.eclipse.ocl.pivot.util.Visitable
VoidType
WildcardType
lowerBound
upperBound
<?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="pivot" nsURI="http://www.eclipse.org/ocl/2015/Pivot" nsPrefix="pivot">
  <eAnnotations source="http://www.eclipse.org/OCL/ASMetamodel"/>
  <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
    <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
    <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
    <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
  </eAnnotations>
  <eClassifiers xsi:type="ecore:EDataType" name="Boolean" instanceClassName="boolean">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Boolean is used for logical expressions, consisting of the predefined values true and false."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="Integer" instanceClassName="java.lang.Number">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Integer is a primitive type representing integer values."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="LibraryFeature" instanceClassName="org.eclipse.ocl.pivot.library.LibraryFeature"/>
  <eClassifiers xsi:type="ecore:EDataType" name="Object" instanceClassName="java.lang.Object"/>
  <eClassifiers xsi:type="ecore:EDataType" name="Real" instanceClassName="java.lang.Number">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Real is a primitive type representing the mathematical concept of real."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="String" instanceClassName="java.lang.String">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="String is a sequence of characters in some suitable character set used to display information about the model. Character sets may include non-Roman alphabets and characters."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="Throwable" instanceClassName="java.lang.Throwable"/>
  <eClassifiers xsi:type="ecore:EDataType" name="UnlimitedNatural" instanceClassName="java.lang.Number">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="UnlimitedNatural is a primitive type representing unlimited natural values."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="AssociativityKind">
    <eLiterals name="left"/>
    <eLiterals name="right" value="1"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="CollectionKind">
    <eLiterals name="Collection"/>
    <eLiterals name="Set" value="1"/>
    <eLiterals name="OrderedSet" value="2"/>
    <eLiterals name="Bag" value="3"/>
    <eLiterals name="Sequence" value="4"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="PseudostateKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="PseudostateKind is an Enumeration type that is used to differentiate various kinds of Pseudostates."/>
    </eAnnotations>
    <eLiterals name="initial"/>
    <eLiterals name="deepHistory" value="1"/>
    <eLiterals name="shallowHistory" value="2"/>
    <eLiterals name="join" value="3"/>
    <eLiterals name="fork" value="4"/>
    <eLiterals name="junction" value="5"/>
    <eLiterals name="choice" value="6"/>
    <eLiterals name="entryPoint" value="7"/>
    <eLiterals name="exitPoint" value="8"/>
    <eLiterals name="terminate" value="9"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="TransitionKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="TransitionKind is an Enumeration type used to differentiate the various kinds of Transitions."/>
    </eAnnotations>
    <eLiterals name="internal">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Implies that the Transition, if triggered, occurs without exiting or entering the source State (i.e., it does not cause a state change). This means that the entry or exit condition of the source State will not be invoked. An internal Transition can be taken even if the SateMachine is in one or more Regions nested within the associated State."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="local" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Implies that the Transition, if triggered, will not exit the composite (source) State, but it will exit and re-enter any state within the composite State that is in the current state configuration."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="external" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Implies that the Transition, if triggered, will exit the composite (source) State."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Annotation" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedContents" upperBound="-1" eType="#//Element" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedDetails" upperBound="-1" eType="#//Detail" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="references" upperBound="-1" eType="#//Element"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AnyType" eSuperTypes="#//Class"/>
  <eClassifiers xsi:type="ecore:EClass" name="AssociationClass" eSuperTypes="#//Class">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A link is a tuple of values that refer to typed objects.  An Association classifies a set of links, each of which is an instance of the Association.  Each value in the link refers to an instance of the type of the corresponding end of the Association.&#xA;&#xA;A model element that has both Association and Class properties. An AssociationClass can be seen as an Association that also has Class properties, or as a Class that also has Association properties. It not only connects a set of Classifiers but also defines a set of Features that belong to the Association itself and not to any of the associated Classifiers."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="unownedAttributes" ordered="false" upperBound="-1" eType="#//Property" eOpposite="#//Property/associationClass"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AssociationClassCallExp" eSuperTypes="#//NavigationCallExp">
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredAssociationClass" eType="#//AssociationClass"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="BagType" eSuperTypes="#//CollectionType"/>
  <eClassifiers xsi:type="ecore:EClass" name="Behavior" abstract="true" eSuperTypes="#//Class">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Behavior is a specification of how its context BehavioredClassifier changes state over time. This specification may be either a definition of possible behavior execution or emergent behavior, or a selective illustration of an interesting subset of possible executions. The latter form is typically used for capturing examples, such as a trace of a particular execution."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningTransition" eType="#//Transition" eOpposite="#//Transition/ownedEffect"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="BooleanLiteralExp" eSuperTypes="#//PrimitiveLiteralExp">
    <eOperations name="validateTypeIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.type = Boolean&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="booleanSymbol" lowerBound="1" eType="#//Boolean" unsettable="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CallExp" abstract="true" eSuperTypes="#//OCLExpression">
    <eOperations name="validateTypeIsNotInvalid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type &lt;> OclInvalid&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="isImplicit" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSafe" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedSource" eType="#//OCLExpression" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CallOperationAction" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="operation" lowerBound="1" eType="#//Operation"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Class" eSuperTypes="#//Type #//Namespace #//TemplateableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Class classifies a set of objects and specifies the features that characterize the structure and behavior of those objects.  A Class may have an internal structure and Ports.&#xA;&#xA;A Classifier represents a classification of instances according to their Features.&#xA;&#xA;StructuredClassifiers may contain an internal structure of connected elements each of which plays a role in the overall Behavior modeled by the StructuredClassifier."/>
    </eAnnotations>
    <eOperations name="validateUniqueInvariantName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="ownedInvariants->isUnique(p | p?.name)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="extenders" ordered="false" upperBound="-1" eType="#//StereotypeExtender" eOpposite="#//StereotypeExtender/class"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceClassName" eType="#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAbstract" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, the Class does not provide a complete declaration and cannot be instantiated. An abstract Class is typically used as a target of Associations or Generalizations.&#xA;&#xA;If true, the Classifier can only be instantiated by instantiating one of its specializations. An abstract Classifier is intended to be used by other Classifiers e.g., as the target of Associations or Generalizations."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isActive" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines whether an object specified by this Class is active or not. If true, then the owning Class is referred to as an active Class. If false, then such a Class is referred to as a passive Class."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isInterface" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedBehaviors" ordered="false" upperBound="-1" eType="#//Behavior" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Behaviors owned by a BehavioredClassifier."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedInvariants" ordered="false" upperBound="-1" eType="#//Constraint" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperations" upperBound="-1" eType="#//Operation" containment="true" eOpposite="#//Operation/owningClass">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Operations owned by the Class."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedProperties" upperBound="-1" eType="#//Property" containment="true" eOpposite="#//Property/owningClass">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Properties owned by the StructuredClassifier.&#xA;&#xA;The attributes (i.e., the Properties) owned by the Class."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningPackage" eType="#//Package" eOpposite="#//Package/ownedClasses"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="superClasses" ordered="false" upperBound="-1" eType="#//Class"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CollectionItem" eSuperTypes="#//CollectionLiteralPart">
    <eOperations name="validateTypeIsItemType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type = ownedItem.type&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="ownedItem" lowerBound="1" eType="#//OCLExpression" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CollectionLiteralExp" eSuperTypes="#//LiteralExp">
    <eOperations name="validateBagKindIsBag" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="kind = CollectionKind::Bag implies type.oclIsKindOf(BagType)&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateCollectionKindIsConcrete" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="kind &lt;> CollectionKind::Collection&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateOrderedSetKindIsOrderedSet" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="kind = CollectionKind::OrderedSet implies type.oclIsKindOf(OrderedSetType)&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateSequenceKindIsSequence" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="kind = CollectionKind::Sequence implies type.oclIsKindOf(SequenceType)&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateSetKindIsSet" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="kind = CollectionKind::Set implies type.oclIsKindOf(SetType)&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="kind" lowerBound="1" eType="#//CollectionKind"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParts" upperBound="-1" eType="#//CollectionLiteralPart" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CollectionLiteralPart" abstract="true" eSuperTypes="#//TypedElement">
    <eOperations name="validateTypeIsNotInvalid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type &lt;> OclInvalid&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CollectionRange" eSuperTypes="#//CollectionLiteralPart">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedFirst" lowerBound="1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedLast" lowerBound="1" eType="#//OCLExpression" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CollectionType" eSuperTypes="#//DataType">
    <eStructuralFeatures xsi:type="ecore:EReference" name="elementType" lowerBound="1" eType="#//Type"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isNullFree" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" lowerBound="1" eType="#//Integer" defaultValueLiteral="0"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" lowerBound="1" eType="#//UnlimitedNatural" defaultValueLiteral="*"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Comment is a textual annotation that can be attached to a set of Elements."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="annotatedElements" ordered="false" upperBound="-1" eType="#//Element" eOpposite="#//Element/annotatingComments">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Element(s) being commented."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" eType="#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies a string that is the comment."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningElement" eType="#//Element" eOpposite="#//Element/ownedComments"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CompleteClass" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningCompletePackage" eType="#//CompletePackage" eOpposite="#//CompletePackage/ownedCompleteClasses"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="partialClasses" ordered="false" upperBound="-1" eType="#//Class"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CompleteEnvironment" eSuperTypes="#//Element">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedCompleteModel" lowerBound="1" eType="#//CompleteModel" containment="true"
        eOpposite="#//CompleteModel/owningCompleteEnvironment"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedStandardLibrary" lowerBound="1" eType="#//StandardLibrary" containment="true"
        eOpposite="#//StandardLibrary/owningCompleteEnvironment"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CompleteModel" eSuperTypes="#//NamedElement">
    <eOperations name="getOwnedCompletePackage" eType="#//CompletePackage">
      <eParameters name="name" eType="#//String"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="orphanCompletePackage" eType="#//OrphanCompletePackage" changeable="false"
        transient="true" derived="true" resolveProxies="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedCompletePackages" ordered="false" upperBound="-1" eType="#//CompletePackage"
        containment="true" eOpposite="#//CompletePackage/owningCompleteModel"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningCompleteEnvironment" eType="#//CompleteEnvironment" eOpposite="#//CompleteEnvironment/ownedCompleteModel"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="partialModels" ordered="false" upperBound="-1" eType="#//Model"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="primitiveCompletePackage" eType="#//PrimitiveCompletePackage" changeable="false"
        transient="true" derived="true" resolveProxies="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CompletePackage" eSuperTypes="#//NamedElement">
    <eOperations name="getOwnedCompleteClass" eType="#//CompleteClass">
      <eParameters name="name" eType="#//String"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedCompleteClasses" ordered="false" upperBound="-1" eType="#//CompleteClass"
        containment="true" eOpposite="#//CompleteClass/owningCompletePackage"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedCompletePackages" ordered="false" upperBound="-1" eType="#//CompletePackage"
        containment="true" eOpposite="#//CompletePackage/owningCompletePackage"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningCompleteModel" eType="#//CompleteModel" eOpposite="#//CompleteModel/ownedCompletePackages"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningCompletePackage" eType="#//CompletePackage" eOpposite="#//CompletePackage/ownedCompletePackages"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="partialPackages" ordered="false" upperBound="-1" eType="#//Package"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ConnectionPointReference" eSuperTypes="#//Vertex">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ConnectionPointReference represents a usage (as part of a submachine State) of an entry/exit point Pseudostate defined in the StateMachine referenced by the submachine State."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="entries" ordered="false" upperBound="-1" eType="#//Pseudostate">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The entryPoint Pseudostates corresponding to this connection point."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="exits" ordered="false" upperBound="-1" eType="#//Pseudostate">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The exitPoints kind Pseudostates corresponding to this connection point."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningState" eType="#//State" eOpposite="#//State/ownedConnections">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The State in which the ConnectionPointReference is defined."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Constraint" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Constraint is a condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an Element or set of Elements."/>
    </eAnnotations>
    <eOperations name="validateUniqueName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="true "/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="constrainedElements" upperBound="-1" eType="#//Element">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered set of Elements referenced by this Constraint."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="context" eType="#//Namespace" changeable="false" volatile="true" transient="true"
        derived="true" resolveProxies="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCallable" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedSpecification" lowerBound="1" eType="#//LanguageExpression" containment="true"
        eOpposite="#//LanguageExpression/owningConstraint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A condition that must be true when evaluated in order for the Constraint to be satisfied."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningPostContext" eType="#//Operation" eOpposite="#//Operation/ownedPostconditions"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningPreContext" eType="#//Operation" eOpposite="#//Operation/ownedPreconditions"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningState" eType="#//State" eOpposite="#//State/ownedStateInvariant"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningTransition" eType="#//Transition" eOpposite="#//Transition/ownedGuard"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedConstraints" ordered="false" upperBound="-1" eType="#//Constraint"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataType" eSuperTypes="#//Class">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A DataType is a type whose instances are identified only by their value."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="behavioralClass" eType="#//Class"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSerializable" lowerBound="1" eType="#//Boolean" defaultValueLiteral="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Detail" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="values" ordered="false" lowerBound="1" upperBound="-1" eType="#//String"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DynamicBehavior" eSuperTypes="#//Behavior #//DynamicType"/>
  <eClassifiers xsi:type="ecore:EClass" name="DynamicElement" eSuperTypes="#//Element">
    <eStructuralFeatures xsi:type="ecore:EReference" name="metaType" lowerBound="1" eType="#//Type"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DynamicProperty" eSuperTypes="#//Element">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" eType="#//String"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredProperty" lowerBound="1" eType="#//Property"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DynamicType" eSuperTypes="#//Class #//DynamicElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedDynamicProperties" ordered="false" upperBound="-1" eType="#//DynamicProperty"
        containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DynamicValueSpecification" eSuperTypes="#//ValueSpecification"/>
  <eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true" eSuperTypes="#//Visitable">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Element is a constituent of a model. As such, it has the capability of owning other Elements."/>
    </eAnnotations>
    <eOperations name="allOwnedElements" ordered="false" upperBound="-1" eType="#//Element">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;self->closure(oclContents()->selectByKind(Element))&#xA;&#xA;"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query allOwnedElements() gives all of the direct and indirect ownedElements of an Element."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getValue" eType="#//Element">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="null&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="stereotype" lowerBound="1" eType="#//Type"/>
      <eParameters name="propertyName" lowerBound="1" eType="#//String"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="annotatingComments" ordered="false" upperBound="-1" eType="#//Comment" eOpposite="#//Comment/annotatedElements"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAnnotations" upperBound="-1" eType="#//Element" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedComments" ordered="false" upperBound="-1" eType="#//Comment" containment="true"
        eOpposite="#//Comment/owningElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Comments owned by this Element."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedExtensions" ordered="false" upperBound="-1" eType="#//ElementExtension"
        containment="true" eOpposite="#//ElementExtension/base"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ElementExtension" eSuperTypes="#//Class">
    <eStructuralFeatures xsi:type="ecore:EReference" name="base" lowerBound="1" eType="#//Element" eOpposite="#//Element/ownedExtensions"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isApplied" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isRequired" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="stereotype" lowerBound="1" eType="#//Stereotype"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EnumLiteralExp" eSuperTypes="#//LiteralExp">
    <eOperations name="validateTypeIsEnumerationType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.type = referredLiteral?.owningEnumeration&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="referredLiteral" eType="#//EnumerationLiteral"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Enumeration" eSuperTypes="#//DataType">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Enumeration is a DataType whose values are enumerated in the model as EnumerationLiterals."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedLiterals" upperBound="-1" eType="#//EnumerationLiteral" containment="true"
        eOpposite="#//EnumerationLiteral/owningEnumeration">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered set of literals owned by this Enumeration."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EnumerationLiteral" eSuperTypes="#//InstanceSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An EnumerationLiteral is a user-defined data value for an Enumeration."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningEnumeration" lowerBound="1" eType="#//Enumeration" eOpposite="#//Enumeration/ownedLiterals">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Enumeration that this EnumerationLiteral is a member of."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//Integer" defaultValueLiteral="0"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ExpressionInOCL" eSuperTypes="#//LanguageExpression">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedBody" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedContext" eType="#//Variable" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameters" upperBound="-1" eType="#//Variable" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedResult" eType="#//Variable" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Feature" abstract="true" eSuperTypes="#//TypedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Feature declares a behavioral or structural characteristic of Classifiers."/>
    </eAnnotations>
    <eOperations name="validateTypeIsNotInvalid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type &lt;> OclInvalid&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="implementation" eType="#//LibraryFeature" transient="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementationClass" eType="#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStatic" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether this Feature characterizes individual instances classified by the Classifier (false) or the Classifier itself (true)."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="FeatureCallExp" abstract="true" eSuperTypes="#//CallExp">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isPre" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="FinalState" eSuperTypes="#//State">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A special kind of State, which, when entered, signifies that the enclosing Region has completed. If the enclosing Region is directly contained in a StateMachine and all other Regions in that StateMachine also are completed, then it means that the entire StateMachine behavior is completed."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="IfExp" eSuperTypes="#//OCLExpression">
    <eOperations name="validateConditionTypeIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.ownedCondition.type = Boolean&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateTypeIsNotInvalid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type &lt;> OclInvalid&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="ownedCondition" lowerBound="1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedElse" lowerBound="1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedThen" lowerBound="1" eType="#//OCLExpression" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Import" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="importedNamespace" lowerBound="1" eType="#//Namespace"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InstanceSpecification" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An InstanceSpecification is a model element that represents an instance in a modeled system. An InstanceSpecification can act as a DeploymentTarget in a Deployment relationship, in the case that it represents an instance of a Node. It can also act as a DeployedArtifact, if it represents an instance of an Artifact."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="classes" ordered="false" upperBound="-1" eType="#//Class">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Classifier or Classifiers of the represented instance. If multiple Classifiers are specified, the instance is classified by all of them."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedSlots" ordered="false" upperBound="-1" eType="#//Slot" containment="true"
        eOpposite="#//Slot/owningInstance">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A Slot giving the value or values of a StructuralFeature of the instance. An InstanceSpecification can have one Slot per StructuralFeature of its Classifiers, including inherited features. It is not necessary to model a Slot for every StructuralFeature, in which case the InstanceSpecification is a partial description."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedSpecification" eType="#//LanguageExpression" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A specification of how to compute, derive, or construct the instance."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningPackage" eType="#//Package" eOpposite="#//Package/ownedInstances"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="IntegerLiteralExp" eSuperTypes="#//NumericLiteralExp">
    <eOperations name="validateTypeIsInteger" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.type = Integer&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="integerSymbol" lowerBound="1" eType="#//Integer"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InvalidLiteralExp" eSuperTypes="#//LiteralExp"/>
  <eClassifiers xsi:type="ecore:EClass" name="InvalidType" eSuperTypes="#//Class"/>
  <eClassifiers xsi:type="ecore:EClass" name="IterateExp" eSuperTypes="#//LoopExp #//ReferringElement">
    <eOperations name="validateBodyTypeConformsToResultType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="ownedBody.type.conformsTo(ownedResult?.type)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateOneInitializer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.ownedResult?.ownedInit->size() = 1&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateSafeIteratorIsRequired" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="isSafe implies ownedIterators?->forAll(isRequired)&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateSafeSourceCanBeNull" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="isSafe implies not ownedSource?.type.oclAsType(CollectionType).isNullFree&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateTypeIsResultType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type = ownedResult?.type&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateUnsafeSourceCanNotBeNull" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="(not isSafe and ownedIterators?->exists(isRequired)) implies ownedSource?.type.oclAsType(CollectionType).isNullFree&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="ownedResult" eType="#//Variable" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Iteration" eSuperTypes="#//Operation">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAccumulators" upperBound="-1" eType="#//Parameter" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedIterators" upperBound="-1" eType="#//Parameter" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="IteratorExp" eSuperTypes="#//LoopExp #//ReferringElement">
    <eOperations name="validateAnyBodyTypeIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'any' implies ownedBody.type = 'Boolean'&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateAnyHasOneIterator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'any' implies ownedIterators->size() = 1&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateAnyTypeIsSourceElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'any' implies type = ownedSource?.type?.oclAsType(CollectionType).elementType&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateClosureBodyTypeIsConformanttoIteratorType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;true&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateClosureElementTypeIsSourceElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'closure' implies&#xA;type.oclAsType(CollectionType).elementType&#xA;= ownedSource?.type.oclAsType(CollectionType).elementType&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateClosureHasOneIterator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'closure' implies ownedIterators->size() = 1&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateClosureSourceElementTypeIsBodyElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'closure' implies&#xA;ownedSource?.type.oclAsType(CollectionType).elementType =&#xA;if ownedBody.type.oclIsKindOf(CollectionType)&#xA;then ownedBody.type.oclAsType(CollectionType).elementType&#xA;else ownedBody.type&#xA;endif&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateClosureTypeIsUniqueCollection" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'closure' implies&#xA;if ownedSource?.type?.oclIsKindOf(SequenceType) or ownedSource?.type.oclIsKindOf(OrderedSetType) then&#xA;type.oclIsKindOf(OrderedSetType)&#xA;else&#xA;type.oclIsKindOf(SetType)&#xA;endif&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateCollectElementTypeIsFlattenedBodyType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'collect' implies&#xA;type.oclAsType(CollectionType).elementType = ownedBody.type.flattenedType()&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateCollectTypeIsUnordered" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'collect' implies&#xA;if ownedSource?.type.oclIsKindOf(SequenceType) or ownedSource?.type.oclIsKindOf(OrderedSetType) then&#xA;type.oclIsKindOf(SequenceType)&#xA;else&#xA;type.oclIsKindOf(BagType)&#xA;endif&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateIteratorTypeIsSourceElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.ownedIterators->forAll(p | ownedSource?.type.oclAsType(CollectionType).elementType.conformsTo(p?.type))&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateSafeIteratorIsRequired" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="isSafe implies ownedIterators?->forAll(isRequired)&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateSafeSourceCanBeNull" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="isSafe implies not ownedSource?.type.oclAsType(CollectionType).isNullFree&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateSortedByElementTypeIsSourceElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'sortedBy' implies&#xA;type.oclAsType(CollectionType).elementType =&#xA;ownedBody.type.oclAsType(CollectionType).elementType&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateSortedByIsOrderedIfSourceIsOrdered" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'sortedBy' implies&#xA;if ownedSource?.type.oclIsKindOf(SequenceType) or ownedSource?.type.oclIsKindOf(BagType) then&#xA;type.oclIsKindOf(SequenceType)&#xA;else&#xA;type.oclIsKindOf(OrderedSetType)&#xA;endif&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateSortedByIteratorTypeIsComparable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;true&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateUnsafeSourceCanNotBeNull" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="(not isSafe and ownedIterators?->exists(isRequired)) implies ownedSource?.type.oclAsType(CollectionType).isNullFree&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LambdaType" eSuperTypes="#//DataType">
    <eStructuralFeatures xsi:type="ecore:EReference" name="contextType" lowerBound="1" eType="#//Type"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameterType" unique="false" upperBound="-1" eType="#//Type"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="resultType" lowerBound="1" eType="#//Type"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LanguageExpression" abstract="true" eSuperTypes="#//ValueSpecification">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" eType="#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="language" lowerBound="1" eType="#//String" changeable="false" volatile="true"
        transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningConstraint" eType="#//Constraint" eOpposite="#//Constraint/ownedSpecification"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LetExp" eSuperTypes="#//OCLExpression">
    <eOperations name="validateTypeIsInType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type = ownedIn.type&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateTypeIsNotInvalid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type &lt;> OclInvalid&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="ownedIn" lowerBound="1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedVariable" lowerBound="1" eType="#//Variable" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//Package">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedPrecedences" upperBound="-1" eType="#//Precedence" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralExp" abstract="true" eSuperTypes="#//OCLExpression"/>
  <eClassifiers xsi:type="ecore:EClass" name="LoopExp" abstract="true" eSuperTypes="#//CallExp">
    <eOperations name="validateNoInitializers" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.ownedIterators->forAll(p | p?.ownedInit->isEmpty())&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateSourceIsCollection" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="ownedSource?.type.oclIsKindOf(CollectionType)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="ownedBody" lowerBound="1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedIterators" upperBound="-1" eType="#//Variable" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredIteration" eType="#//Iteration"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MapLiteralExp" eSuperTypes="#//LiteralExp">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParts" upperBound="-1" eType="#//MapLiteralPart" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MapLiteralPart" eSuperTypes="#//Element">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedKey" lowerBound="1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedValue" lowerBound="1" eType="#//OCLExpression" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MapType" eSuperTypes="#//DataType">
    <eStructuralFeatures xsi:type="ecore:EReference" name="keyType" lowerBound="1" eType="#//Type"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="valueType" lowerBound="1" eType="#//Type"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MessageExp" eSuperTypes="#//OCLExpression">
    <eOperations name="validateOneCallOrOneSend" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="ownedCalledOperation->size() + ownedSentSignal->size() = 1&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateTargetIsNotACollection" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="not ownedTarget.type.oclIsKindOf(CollectionType)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="ownedArguments" upperBound="-1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedCalledOperation" eType="#//CallOperationAction" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedSentSignal" eType="#//SendSignalAction" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTarget" lowerBound="1" eType="#//OCLExpression" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MessageType" eSuperTypes="#//Class">
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredOperation" eType="#//Operation"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredSignal" eType="#//Signal"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Model" eSuperTypes="#//Namespace">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A model captures a view of a physical system. It is an abstraction of the physical system, with a certain purpose. This purpose determines what is to be included in the model and what is irrelevant. Thus the model completely describes those aspects of the physical system that are relevant to the purpose of the model, at the appropriate level of detail."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="externalURI" eType="#//String"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedImports" upperBound="-1" eType="#//Import" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedPackages" ordered="false" upperBound="-1" eType="#//Package" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MorePivotable" instanceClassName="org.eclipse.ocl.pivot.utilities.MorePivotable" abstract="true"
      interface="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="Nameable" instanceClassName="org.eclipse.ocl.pivot.utilities.Nameable" abstract="true" interface="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//Element #//Nameable">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A NamedElement is an Element in a model that may have a name. The name may be given directly and/or via the use of a StringExpression."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The name of the NamedElement."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Namespace" abstract="true" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Namespace is an Element in a model that owns and/or imports a set of NamedElements that can be identified by name."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedConstraints" ordered="false" upperBound="-1" eType="#//Constraint" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies a set of Constraints owned by this Namespace."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="NavigationCallExp" abstract="true" eSuperTypes="#//FeatureCallExp">
    <eStructuralFeatures xsi:type="ecore:EReference" name="navigationSource" eType="#//Property"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="qualifiers" upperBound="-1" eType="#//OCLExpression"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="NullLiteralExp" eSuperTypes="#//PrimitiveLiteralExp"/>
  <eClassifiers xsi:type="ecore:EClass" name="NumericLiteralExp" abstract="true" eSuperTypes="#//PrimitiveLiteralExp"/>
  <eClassifiers xsi:type="ecore:EClass" name="OCLExpression" abstract="true" eSuperTypes="#//TypedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="typeValue" eType="#//Type" transient="true" resolveProxies="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//Feature #//Namespace #//TemplateableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An Operation is a BehavioralFeature of a Classifier that specifies the name, type, parameters, and constraints for invoking an associated Behavior. An Operation may invoke both the execution of method behaviors as well as other behavioral responses. Operation specializes TemplateableElement in order to support specification of template operations and bound operations. Operation specializes ParameterableElement to specify that an operation can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template."/>
    </eAnnotations>
    <eOperations name="validateCompatibleReturn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="bodyExpression &lt;> null and bodyExpression.oclAsType(ExpressionInOCL).ownedBody &lt;> null implies CompatibleBody(bodyExpression)&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateLoadableImplementation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;true&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateUniquePostconditionName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="ownedPostconditions->isUnique(p | p?.name)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateUniquePreconditionName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="ownedPreconditions->isUnique(p | p?.name)&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="bodyExpression" eType="#//LanguageExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isInvalidating" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTypeof" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isValidating" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameters" upperBound="-1" eType="#//Parameter" containment="true" eOpposite="#//Parameter/owningOperation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered set of formal Parameters of this BehavioralFeature.&#xA;&#xA;The parameters owned by this Operation."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedPostconditions" ordered="false" upperBound="-1" eType="#//Constraint"
        containment="true" eOpposite="#//Constraint/owningPostContext">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional set of Constraints specifying the state of the system when the Operation is completed."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedPreconditions" ordered="false" upperBound="-1" eType="#//Constraint" containment="true"
        eOpposite="#//Constraint/owningPreContext">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional set of Constraints on the state of the system when the Operation is invoked."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningClass" eType="#//Class" eOpposite="#//Class/ownedOperations">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Class that owns this operation, if any."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="precedence" eType="#//Precedence"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="raisedExceptions" ordered="false" upperBound="-1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Types representing exceptions that may be raised during an invocation of this BehavioralFeature.&#xA;&#xA;The Types representing exceptions that may be raised during an invocation of this operation."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedOperations" ordered="false" upperBound="-1" eType="#//Operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Operations that are redefined by this Operation."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OperationCallExp" eSuperTypes="#//FeatureCallExp #//ReferringElement">
    <eOperations name="validateArgumentCount" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="ownedArguments->size() = referredOperation?.ownedParameters->size()&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateArgumentTypeIsConformant" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;let operation : Operation = self.referredOperation in&#xA;&#x9;let parameters : OrderedSet(Parameter) = operation?.ownedParameters in&#xA;&#x9;let selfType : Type = operation?.owningClass in&#xA;&#x9;Sequence{1..ownedArguments->size()}->forAll (i | &#xA;&#x9;&#x9;let argument : OCLExpression = ownedArguments->at(i) in&#xA;&#x9;&#x9;let parameter : Parameter = parameters->at(i) in&#xA;&#x9;&#x9;let parameterType : Type = parameter?.type in&#xA;&#x9;&#x9;let requiredType : Type = if parameter?.isTypeof then Class else parameterType.specializeIn(self, selfType) endif in&#xA;&#x9;&#x9;argument?.type.conformsTo(requiredType))&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateSafeSourceCanBeNull" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="(ownedSource &lt;> null) and isSafe implies not ownedSource?.isRequired&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="ownedArguments" upperBound="-1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredOperation" eType="#//Operation"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OppositePropertyCallExp" eSuperTypes="#//NavigationCallExp">
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredProperty" eType="#//Property"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OrderedSetType" eSuperTypes="#//CollectionType"/>
  <eClassifiers xsi:type="ecore:EClass" name="OrphanCompletePackage" eSuperTypes="#//CompletePackage"/>
  <eClassifiers xsi:type="ecore:EClass" name="Package" eSuperTypes="#//Namespace">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A package can have one or more profile applications to indicate which profiles have been applied. Because a profile is a package, it is possible to apply a profile not only to packages, but also to profiles.&#xA;Package specializes TemplateableElement and PackageableElement specializes ParameterableElement to specify that a package can be used as a template and a PackageableElement as a template parameter.&#xA;A package is used to group elements, and provides a namespace for the grouped elements."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="URI" eType="#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Provides an identifier for the package that can be used for many purposes. A URI is the universally unique identification of the package following the IETF URI specification, RFC 2396 http://www.ietf.org/rfc/rfc2396.txt and it must comply with those syntax rules."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="importedPackages" ordered="false" upperBound="-1" eType="#//Package"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="nsPrefix" eType="#//String"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedClasses" ordered="false" upperBound="-1" eType="#//Class" containment="true"
        eOpposite="#//Class/owningPackage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the packaged elements that are Types."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedInstances" ordered="false" upperBound="-1" eType="#//InstanceSpecification"
        containment="true" eOpposite="#//InstanceSpecification/owningPackage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The instance specification that owns this slot."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedPackages" ordered="false" upperBound="-1" eType="#//Package" containment="true"
        eOpposite="#//Package/owningPackage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the packaged elements that are Packages."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedProfileApplications" ordered="false" upperBound="-1" eType="#//ProfileApplication"
        containment="true" eOpposite="#//ProfileApplication/owningPackage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the ProfileApplications that indicate which profiles have been applied to the Package."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningPackage" eType="#//Package" eOpposite="#//Package/ownedPackages">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Package that owns this Package."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//VariableDeclaration">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Parameter is a specification of an argument used to pass information into or out of an invocation of a BehavioralFeature.  Parameters can be treated as ConnectableElements within Collaborations."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTypeof" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningOperation" eType="#//Operation" eOpposite="#//Operation/ownedParameters">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Operation owning this parameter."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Pivotable" instanceClassName="org.eclipse.ocl.pivot.utilities.Pivotable" abstract="true"
      interface="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="Precedence" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="associativity" eType="#//AssociativityKind" defaultValueLiteral="left"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="order" lowerBound="1" eType="#//Integer" defaultValueLiteral="0"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PrimitiveCompletePackage" eSuperTypes="#//CompletePackage"/>
  <eClassifiers xsi:type="ecore:EClass" name="PrimitiveLiteralExp" abstract="true" eSuperTypes="#//LiteralExp"/>
  <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType" eSuperTypes="#//DataType">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A PrimitiveType defines a predefined DataType, without any substructure. A PrimitiveType may have an algebra and operations defined outside of UML, for example, mathematically."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="coercions" upperBound="-1" eType="#//Operation"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Profile" eSuperTypes="#//Package">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A profile defines limited extensions to a reference metamodel with the purpose of adapting the metamodel to a specific platform or domain."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="profileApplications" ordered="false" upperBound="-1" eType="#//ProfileApplication"
        eOpposite="#//ProfileApplication/appliedProfile"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ProfileApplication" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A profile application is used to show which profiles have been applied to a package."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="appliedProfile" lowerBound="1" eType="#//Profile" eOpposite="#//Profile/profileApplications">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Profiles that are applied to a Package through this ProfileApplication."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStrict" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies that the Profile filtering rules for the metaclasses of the referenced metamodel shall be strictly applied."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningPackage" lowerBound="1" eType="#//Package" eOpposite="#//Package/ownedProfileApplications">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The package that owns the profile application."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="#//Feature">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Property is a StructuralFeature. A Property related by ownedAttribute to a Classifier (other than an association) represents an attribute and might also represent an association end. It relates an instance of the Classifier to a value or set of values of the type of the attribute. A Property related by memberEnd to an Association represents an end of the Association. The type of the Property is the type of the end of the Association. A Property has the capability of being a DeploymentTarget in a Deployment relationship. This enables modeling the deployment to hierarchical nodes that have Properties functioning as internal parts.  Property specializes ParameterableElement to specify that a Property can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template."/>
    </eAnnotations>
    <eOperations name="isAttribute" lowerBound="1" eType="#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;--Type.allInstances()->exists(c| c.ownedAttribute->includes(p))&#xA;let container : ocl::OclElement = oclContainer() in container.oclIsKindOf(Class) and container.oclAsType(Class).ownedProperties->includes(self)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="p" lowerBound="1" eType="#//Property"/>
    </eOperations>
    <eOperations name="validateCompatibleDefaultExpression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="ownedExpression &lt;> null and ownedExpression.oclAsType(ExpressionInOCL).ownedBody &lt;> null implies CompatibleBody(ownedExpression)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="associationClass" eType="#//AssociationClass" eOpposite="#//AssociationClass/unownedAttributes"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="#//Object" transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValueString" eType="#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComposite" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDerived" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isID" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="True indicates this property can be used to uniquely identify an instance of the containing Class."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isImplicit" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReadOnly" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If isReadOnly is true, the StructuralFeature may not be written to after initialization."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isResolveProxies" lowerBound="1" eType="#//Boolean" defaultValueLiteral="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTransient" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnsettable" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isVolatile" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="keys" ordered="false" upperBound="-1" eType="#//Property"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="In the case where the Property is one end of a binary association this gives the other end."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedExpression" eType="#//LanguageExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningClass" eType="#//Class" eOpposite="#//Class/ownedProperties">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Class that owns this Property, if any."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedProperties" ordered="false" upperBound="-1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The properties that are redefined by this property, if any."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredProperty" eType="#//Property"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="subsettedProperty" ordered="false" upperBound="-1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The properties of which this Property is constrained to be a subset, if any."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PropertyCallExp" eSuperTypes="#//NavigationCallExp #//ReferringElement">
    <eOperations name="getSpecializedReferredPropertyOwningType" lowerBound="1" eType="#//Class">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="referredProperty?.owningClass "/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getSpecializedReferredPropertyType" lowerBound="1" eType="#//Class">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="referredProperty?.type.oclAsType(Class) "/>
      </eAnnotations>
    </eOperations>
    <eOperations name="validateCompatibleResultType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type = getSpecializedReferredPropertyType()&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateNonStaticSourceTypeIsConformant" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="not referredProperty?.isStatic implies &#xA;&#x9;ownedSource?.type.conformsTo(getSpecializedReferredPropertyOwningType())&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateSafeSourceCanBeNull" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="(ownedSource &lt;> null) and isSafe implies not ownedSource?.isRequired&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="validateUnsafeSourceCanNotBeNull" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="(ownedSource &lt;> null) and not isSafe implies ownedSource?.isRequired&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="referredProperty" eType="#//Property"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Pseudostate" eSuperTypes="#//Vertex">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Pseudostate is an abstraction that encompasses different types of transient Vertices in the StateMachine graph. A StateMachine instance never comes to rest in a Pseudostate, instead, it will exit and enter the Pseudostate within a single run-to-completion step."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="#//PseudostateKind" defaultValueLiteral="initial">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines the precise type of the Pseudostate and can be one of: entryPoint, exitPoint, initial, deepHistory, shallowHistory, join, fork, junction, terminate or choice."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningState" eType="#//State" eOpposite="#//State/ownedConnectionPoints">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The State that owns this Pseudostate and in which it appears."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningStateMachine" eType="#//StateMachine" eOpposite="#//StateMachine/ownedConnectionPoints">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StateMachine in which this Pseudostate is defined. This only applies to Pseudostates of the kind entryPoint or exitPoint."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RealLiteralExp" eSuperTypes="#//NumericLiteralExp">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="realSymbol" lowerBound="1" eType="#//Real"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReferringElement" abstract="true" interface="true">
    <eOperations name="getReferredElement" lowerBound="1" eType="#//Element"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Region" eSuperTypes="#//Namespace">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Region is a top-level part of a StateMachine or a composite State, that serves as a container for the Vertices and Transitions of the StateMachine. A StateMachine or composite State may contain multiple Regions representing behaviors that may occur in parallel."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedRegion" eType="#//Region">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The region of which this region is an extension."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedSubvertexes" ordered="false" upperBound="-1" eType="#//Vertex" containment="true"
        eOpposite="#//Vertex/owningRegion">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of Vertices that are owned by this Region."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTransitions" ordered="false" upperBound="-1" eType="#//Transition" containment="true"
        eOpposite="#//Transition/owningRegion">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of Transitions owned by the Region."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningState" eType="#//State" eOpposite="#//State/ownedRegions">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The State that owns the Region. If a Region is owned by a State, then it cannot also be owned by a StateMachine."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningStateMachine" eType="#//StateMachine" eOpposite="#//StateMachine/ownedRegions">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StateMachine that owns the Region. If a Region is owned by a StateMachine, then it cannot also be owned by a State."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SelfType" eSuperTypes="#//Class">
    <eOperations name="specializeIn" lowerBound="1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="selfType&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="expr" lowerBound="1" eType="#//CallExp"/>
      <eParameters name="selfType" lowerBound="1" eType="#//Type"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SendSignalAction" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" lowerBound="1" eType="#//Signal"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SequenceType" eSuperTypes="#//CollectionType"/>
  <eClassifiers xsi:type="ecore:EClass" name="SetType" eSuperTypes="#//CollectionType"/>
  <eClassifiers xsi:type="ecore:EClass" name="ShadowExp" eSuperTypes="#//OCLExpression">
    <eOperations name="validateTypeIsNotInvalid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type &lt;> OclInvalid&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="ownedParts" upperBound="-1" eType="#//ShadowPart" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//String"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ShadowPart" eSuperTypes="#//TypedElement">
    <eOperations name="validateTypeIsNotInvalid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type &lt;> OclInvalid&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="ownedInit" lowerBound="1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredProperty" lowerBound="1" eType="#//Property"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Signal" eSuperTypes="#//Class">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Signal is a specification of a kind of communication between objects in which a reaction is asynchronously triggered in the receiver without a reply."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Slot" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Slot designates that an entity modeled by an InstanceSpecification has a value or values for a specific StructuralFeature."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="definingProperty" lowerBound="1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StructuralFeature that specifies the values that may be held by the Slot."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedValues" upperBound="-1" eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The value or values held by the Slot."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningInstance" lowerBound="1" eType="#//InstanceSpecification" eOpposite="#//InstanceSpecification/ownedSlots">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The InstanceSpecification that owns this Slot."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StandardLibrary" eSuperTypes="#//Element">
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningCompleteEnvironment" eType="#//CompleteEnvironment" eOpposite="#//CompleteEnvironment/ownedStandardLibrary"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//Namespace #//Vertex">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A State models a situation during which some (usually implicit) invariant condition holds."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComposite" lowerBound="1" eType="#//Boolean" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A state with isComposite=true is said to be a composite State. A composite State is a State that contains at least one Region."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrthogonal" lowerBound="1" eType="#//Boolean" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A State with isOrthogonal=true is said to be an orthogonal composite State An orthogonal composite State contains two or more Regions."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSimple" lowerBound="1" eType="#//Boolean" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A State with isSimple=true is said to be a simple State A simple State does not have any Regions and it does not refer to any submachine StateMachine."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSubmachineState" lowerBound="1" eType="#//Boolean" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A State with isSubmachineState=true is said to be a submachine State Such a State refers to another StateMachine(submachine)."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedConnectionPoints" ordered="false" upperBound="-1" eType="#//Pseudostate"
        containment="true" eOpposite="#//Pseudostate/owningState">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The entry and exit Pseudostates of a composite State. These can only be entry or exit Pseudostates, and they must have different names. They can only be defined for composite States."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedConnections" ordered="false" upperBound="-1" eType="#//ConnectionPointReference"
        containment="true" eOpposite="#//ConnectionPointReference/owningState">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The entry and exit connection points used in conjunction with this (submachine) State, i.e., as targets and sources, respectively, in the Region with the submachine State. A connection point reference references the corresponding definition of a connection point Pseudostate in the StateMachine referenced by the submachine State."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedDeferrableTriggers" ordered="false" upperBound="-1" eType="#//Trigger"
        containment="true" eOpposite="#//Trigger/owningState">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A list of Triggers that are candidates to be retained by the StateMachine if they trigger no Transitions out of the State (not consumed). A deferred Trigger is retained until the StateMachine reaches a State configuration where it is no longer deferred."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedDoActivity" eType="#//Behavior" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional Behavior that is executed while being in the State. The execution starts when this State is entered, and ceases either by itself when done, or when the State is exited, whichever comes first."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedEntry" eType="#//Behavior" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional Behavior that is executed whenever this State is entered regardless of the Transition taken to reach the State. If defined, entry Behaviors are always executed to completion prior to any internal Behavior or Transitions performed within the State."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedExit" eType="#//Behavior" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional Behavior that is executed whenever this State is exited regardless of which Transition was taken out of the State. If defined, exit Behaviors are always executed to completion only after all internal and transition Behaviors have completed execution."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedRegions" ordered="false" upperBound="-1" eType="#//Region" containment="true"
        eOpposite="#//Region/owningState">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Regions owned directly by the State."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedStateInvariant" eType="#//Constraint" containment="true" eOpposite="#//Constraint/owningState">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies conditions that are always true when this State is the current State. In ProtocolStateMachines state invariants are additional conditions to the preconditions of the outgoing Transitions, and to the postcondition of the incoming Transitions."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedState" eType="#//State">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The State of which this State is a redefinition."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="submachines" eType="#//StateMachine" eOpposite="#//StateMachine/submachineStates">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StateMachine that is to be inserted in place of the (submachine) State."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StateExp" eSuperTypes="#//OCLExpression">
    <eOperations name="validateTypeIsNotInvalid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type &lt;> OclInvalid&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="referredState" eType="#//State"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StateMachine" eSuperTypes="#//Behavior">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="StateMachines can be used to express event-driven behaviors of parts of a system. Behavior is modeled as a traversal of a graph of Vertices interconnected by one or more joined Transition arcs that are triggered by the dispatching of successive Event occurrences. During this traversal, the StateMachine may execute a sequence of Behaviors associated with various elements of the StateMachine."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedStateMachines" ordered="false" upperBound="-1" eType="#//StateMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StateMachines of which this is an extension."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedConnectionPoints" ordered="false" upperBound="-1" eType="#//Pseudostate"
        containment="true" eOpposite="#//Pseudostate/owningStateMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The connection points defined for this StateMachine. They represent the interface of the StateMachine when used as part of submachine State"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedRegions" ordered="false" lowerBound="1" upperBound="-1" eType="#//Region"
        containment="true" eOpposite="#//Region/owningStateMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Regions owned directly by the StateMachine."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="submachineStates" ordered="false" upperBound="-1" eType="#//State" eOpposite="#//State/submachines">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the submachine(s) in case of a submachine State. Multiple machines are referenced in case of a concurrent State."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Stereotype" eSuperTypes="#//Class">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A stereotype defines how an existing metaclass may be extended, and enables the use of platform or domain specific terminology or notation in place of, or in addition to, the ones used for the extended metaclass."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedExtenders" ordered="false" upperBound="-1" eType="#//StereotypeExtender"
        containment="true" eOpposite="#//StereotypeExtender/owningStereotype"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StereotypeExtender" eSuperTypes="#//Element">
    <eStructuralFeatures xsi:type="ecore:EReference" name="class" lowerBound="1" eType="#//Class" eOpposite="#//Class/extenders"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isRequired" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningStereotype" lowerBound="1" eType="#//Stereotype" eOpposite="#//Stereotype/ownedExtenders"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StringLiteralExp" eSuperTypes="#//PrimitiveLiteralExp">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="stringSymbol" lowerBound="1" eType="#//String"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateBinding" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TemplateBinding is a DirectedRelationship between a TemplateableElement and a template. A TemplateBinding specifies the TemplateParameterSubstitutions of actual parameters for the formal parameters of the template."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedSubstitutions" ordered="false" lowerBound="1" upperBound="-1" eType="#//TemplateParameterSubstitution"
        containment="true" eOpposite="#//TemplateParameterSubstitution/owningBinding">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The TemplateParameterSubstitutions owned by this TemplateBinding."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningElement" lowerBound="1" eType="#//TemplateableElement" eOpposite="#//TemplateableElement/ownedBindings">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The TemplateableElement that is bound by this TemplateBinding."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="templateSignature" lowerBound="1" eType="#//TemplateSignature" changeable="false"
        volatile="true" transient="true" derived="true" resolveProxies="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The TemplateSignature for the template that is the target of this TemplateBinding."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter" eSuperTypes="#//Type">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TemplateParameter exposes a ParameterableElement as a formal parameter of a template."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="constrainingClasses" ordered="false" upperBound="-1" eType="#//Class"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningSignature" lowerBound="1" eType="#//TemplateSignature" eOpposite="#//TemplateSignature/ownedParameters">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The TemplateSignature that owns this TemplateParameter."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TemplateParameterSubstitution relates the actual parameter to a formal TemplateParameter as part of a template binding."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="actual" lowerBound="1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ParameterableElement that is the actual parameter for this TemplateParameterSubstitution."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="formal" lowerBound="1" eType="#//TemplateParameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The formal TemplateParameter that is associated with this TemplateParameterSubstitution."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedWildcard" eType="#//WildcardType" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningBinding" lowerBound="1" eType="#//TemplateBinding" eOpposite="#//TemplateBinding/ownedSubstitutions">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The TemplateBinding that owns this TemplateParameterSubstitution."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateSignature" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Template Signature bundles the set of formal TemplateParameters for a template."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameters" lowerBound="1" upperBound="-1" eType="#//TemplateParameter"
        containment="true" eOpposite="#//TemplateParameter/owningSignature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The formal parameters that are owned by this TemplateSignature."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningElement" lowerBound="1" eType="#//TemplateableElement" eOpposite="#//TemplateableElement/ownedSignature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The TemplateableElement that owns this TemplateSignature."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateableElement" abstract="true" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TemplateableElement is an Element that can optionally be defined as a template and bound to other templates."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedBindings" ordered="false" upperBound="-1" eType="#//TemplateBinding" containment="true"
        eOpposite="#//TemplateBinding/owningElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The optional TemplateBindings from this TemplateableElement to one or more templates."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedSignature" eType="#//TemplateSignature" containment="true" eOpposite="#//TemplateSignature/owningElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The optional TemplateSignature specifying the formal TemplateParameters for this TemplateableElement. If a TemplateableElement has a TemplateSignature, then it is a template."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="unspecializedElement" eType="#//TemplateableElement" transient="true" resolveProxies="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//Namespace">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Transition represents an arc between exactly one source Vertex and exactly one Target vertex (the source and targets may be the same Vertex). It may form part of a compound transition, which takes the StateMachine from one steady State configuration to another, representing the full response of the StateMachine to an occurrence of an Event that triggered it."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="#//TransitionKind" defaultValueLiteral="external">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates the precise type of the Transition."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedEffect" eType="#//Behavior" containment="true" eOpposite="#//Behavior/owningTransition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies an optional behavior to be performed when the Transition fires."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedGuard" eType="#//Constraint" containment="true" eOpposite="#//Constraint/owningTransition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A guard is a Constraint that provides a fine-grained control over the firing of the Transition. The guard is evaluated when an Event occurrence is dispatched by the StateMachine. If the guard is true at that time, the Transition may be enabled, otherwise, it is disabled. Guards should be pure expressions without side effects. Guard expressions with side effects are ill formed."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTriggers" ordered="false" upperBound="-1" eType="#//Trigger" containment="true"
        eOpposite="#//Trigger/owningTransition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the Triggers that may fire the transition."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningRegion" lowerBound="1" eType="#//Region" eOpposite="#//Region/ownedTransitions">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Designates the Region that owns this Transition."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1" eType="#//Vertex" eOpposite="#//Vertex/outgoingTransitions">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Designates the originating Vertex (State or Pseudostate) of the Transition."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1" eType="#//Vertex" eOpposite="#//Vertex/incomingTransitions">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Designates the target Vertex that is reached when the Transition is taken."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Trigger" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Trigger specifies a specific point  at which an Event occurrence may trigger an effect in a Behavior. A Trigger may be qualified by the Port on which the Event occurred."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningState" eType="#//State" eOpposite="#//State/ownedDeferrableTriggers"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningTransition" eType="#//Transition" eOpposite="#//Transition/ownedTriggers"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TupleLiteralExp" eSuperTypes="#//LiteralExp">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParts" upperBound="-1" eType="#//TupleLiteralPart" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TupleLiteralPart" eSuperTypes="#//VariableDeclaration">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedInit" eType="#//OCLExpression" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TupleType" eSuperTypes="#//DataType"/>
  <eClassifiers xsi:type="ecore:EClass" name="Type" abstract="true" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Type constrains the values represented by a TypedElement."/>
    </eAnnotations>
    <eOperations name="flattenedType" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self&#xA;&#xA;"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isClass" eType="#//Class"/>
    <eOperations name="isTemplateParameter" eType="#//TemplateParameter"/>
    <eOperations name="specializeIn" lowerBound="1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="expr" lowerBound="1" eType="#//CallExp"/>
      <eParameters name="selfType" lowerBound="1" eType="#//Type"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypeExp" eSuperTypes="#//OCLExpression #//ReferringElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredType" eType="#//Type"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypedElement" abstract="true" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A TypedElement is a NamedElement that may have a Type specified for it."/>
    </eAnnotations>
    <eOperations name="CompatibleBody" lowerBound="1" eType="#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;bodySpecification.type?.conformsTo(self.type)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="bodySpecification" lowerBound="1" eType="#//ValueSpecification"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMany" lowerBound="1" eType="#//Boolean" changeable="false" volatile="true"
        transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isRequired" lowerBound="1" eType="#//Boolean" defaultValueLiteral="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the TypedElement."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="UnlimitedNaturalLiteralExp" eSuperTypes="#//NumericLiteralExp">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="unlimitedNaturalSymbol" lowerBound="1" eType="#//UnlimitedNatural"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="UnspecifiedValueExp" eSuperTypes="#//OCLExpression"/>
  <eClassifiers xsi:type="ecore:EClass" name="ValueSpecification" abstract="true" eSuperTypes="#//TypedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A ValueSpecification is the specification of a (possibly empty) set of values. A ValueSpecification is a ParameterableElement that may be exposed as a formal TemplateParameter and provided as the actual parameter in the binding of a template."/>
    </eAnnotations>
    <eOperations name="booleanValue" eType="#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query booleanValue() gives a single Boolean value when one can be computed."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="integerValue" eType="#//Integer">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query integerValue() gives a single Integer value when one can be computed."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isComputable" lowerBound="1" eType="#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isComputable() determines whether a value specification can be computed in a model. This operation cannot be fully defined in OCL. A conforming implementation is expected to deliver true for this operation for all ValueSpecifications that it can compute, and to compute all of those for which the operation is true. A conforming implementation is expected to be able to compute at least the value of all LiteralSpecifications."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isNull" lowerBound="1" eType="#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isNull() returns true when it can be computed that the value is null."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="stringValue" eType="#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query stringValue() gives a single String value when one can be computed."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="unlimitedValue" eType="#//UnlimitedNatural">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query unlimitedValue() gives a single UnlimitedNatural value when one can be computed."/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//VariableDeclaration">
    <eOperations name="validateCompatibleInitialiserType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="ownedInit &lt;> null implies ownedInit?.type?.conformsTo(type)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="isImplicit" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedInit" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="representedParameter" eType="#//Parameter"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="VariableDeclaration" abstract="true" eSuperTypes="#//TypedElement">
    <eOperations name="validateTypeIsNotInvalid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type &lt;> OclInvalid&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="typeValue" eType="#//Type" transient="true" resolveProxies="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="VariableExp" eSuperTypes="#//OCLExpression #//ReferringElement">
    <eOperations name="validateTypeIsNotInvalid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type &lt;> OclInvalid&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <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="isImplicit" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredVariable" eType="#//VariableDeclaration"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Vertex" abstract="true" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Vertex is an abstraction of a node in a StateMachine graph. It can be the source or destination of any number of Transitions."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="incomingTransitions" ordered="false" upperBound="-1" eType="#//Transition"
        changeable="false" eOpposite="#//Transition/target">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the Transitions entering this Vertex."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="outgoingTransitions" ordered="false" upperBound="-1" eType="#//Transition"
        changeable="false" eOpposite="#//Transition/source">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the Transitions departing from this Vertex."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningRegion" eType="#//Region" eOpposite="#//Region/ownedSubvertexes">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Region that contains this Vertex."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Visitable" instanceClassName="org.eclipse.ocl.pivot.util.Visitable" abstract="true" interface="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="VoidType" eSuperTypes="#//Class"/>
  <eClassifiers xsi:type="ecore:EClass" name="WildcardType" eSuperTypes="#//Class">
    <eStructuralFeatures xsi:type="ecore:EReference" name="lowerBound" eType="#//Type"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" eType="#//Type"/>
  </eClassifiers>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"pivot","nsURI":"http://www.eclipse.org/ocl/2015/Pivot","name":"pivot","id":0,"eClass":"EPackage"},{"instanceTypeName":"boolean","defaultValue":false,"instanceClassName":"boolean","name":"Boolean","instanceClass":"boolean","id":1,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":"java.lang.Number","defaultValue":null,"instanceClassName":"java.lang.Number","name":"Integer","instanceClass":"java.lang.Number","id":2,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":"org.eclipse.ocl.pivot.library.LibraryFeature","defaultValue":null,"instanceClassName":"org.eclipse.ocl.pivot.library.LibraryFeature","name":"LibraryFeature","instanceClass":null,"id":3,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":"java.lang.Object","defaultValue":null,"instanceClassName":"java.lang.Object","name":"Object","instanceClass":"java.lang.Object","id":4,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":"java.lang.Number","defaultValue":null,"instanceClassName":"java.lang.Number","name":"Real","instanceClass":"java.lang.Number","id":5,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":"java.lang.String","defaultValue":null,"instanceClassName":"java.lang.String","name":"String","instanceClass":"java.lang.String","id":6,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":"java.lang.Throwable","defaultValue":null,"instanceClassName":"java.lang.Throwable","name":"Throwable","instanceClass":"java.lang.Throwable","id":7,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":"java.lang.Number","defaultValue":null,"instanceClassName":"java.lang.Number","name":"UnlimitedNatural","instanceClass":"java.lang.Number","id":8,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":null,"instanceClassName":null,"name":"AssociativityKind","instanceClass":null,"id":9,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"instanceClassName":null,"name":"CollectionKind","instanceClass":null,"id":10,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"instanceClassName":null,"name":"PseudostateKind","instanceClass":null,"id":11,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"instanceClassName":null,"name":"TransitionKind","instanceClass":null,"id":12,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Annotation","instanceClass":null,"abstract":false,"id":13,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AnyType","instanceClass":null,"abstract":false,"id":14,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AssociationClass","instanceClass":null,"abstract":false,"id":15,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AssociationClassCallExp","instanceClass":null,"abstract":false,"id":16,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BagType","instanceClass":null,"abstract":false,"id":17,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Behavior","instanceClass":null,"abstract":true,"id":18,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BooleanLiteralExp","instanceClass":null,"abstract":false,"id":19,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CallExp","instanceClass":null,"abstract":true,"id":20,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CallOperationAction","instanceClass":null,"abstract":false,"id":21,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Class","instanceClass":null,"abstract":false,"id":22,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionItem","instanceClass":null,"abstract":false,"id":23,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionLiteralExp","instanceClass":null,"abstract":false,"id":24,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionLiteralPart","instanceClass":null,"abstract":true,"id":25,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionRange","instanceClass":null,"abstract":false,"id":26,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionType","instanceClass":null,"abstract":false,"id":27,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Comment","instanceClass":null,"abstract":false,"id":28,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CompleteClass","instanceClass":null,"abstract":false,"id":29,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CompleteEnvironment","instanceClass":null,"abstract":false,"id":30,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CompleteModel","instanceClass":null,"abstract":false,"id":31,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CompletePackage","instanceClass":null,"abstract":false,"id":32,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ConnectionPointReference","instanceClass":null,"abstract":false,"id":33,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Constraint","instanceClass":null,"abstract":false,"id":34,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DataType","instanceClass":null,"abstract":false,"id":35,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Detail","instanceClass":null,"abstract":false,"id":36,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DynamicBehavior","instanceClass":null,"abstract":false,"id":37,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DynamicElement","instanceClass":null,"abstract":false,"id":38,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DynamicProperty","instanceClass":null,"abstract":false,"id":39,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DynamicType","instanceClass":null,"abstract":false,"id":40,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DynamicValueSpecification","instanceClass":null,"abstract":false,"id":41,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Element","instanceClass":null,"abstract":true,"id":42,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ElementExtension","instanceClass":null,"abstract":false,"id":43,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EnumLiteralExp","instanceClass":null,"abstract":false,"id":44,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Enumeration","instanceClass":null,"abstract":false,"id":45,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EnumerationLiteral","instanceClass":null,"abstract":false,"id":46,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExpressionInOCL","instanceClass":null,"abstract":false,"id":47,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Feature","instanceClass":null,"abstract":true,"id":48,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"FeatureCallExp","instanceClass":null,"abstract":true,"id":49,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"FinalState","instanceClass":null,"abstract":false,"id":50,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IfExp","instanceClass":null,"abstract":false,"id":51,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Import","instanceClass":null,"abstract":false,"id":52,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InstanceSpecification","instanceClass":null,"abstract":false,"id":53,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IntegerLiteralExp","instanceClass":null,"abstract":false,"id":54,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InvalidLiteralExp","instanceClass":null,"abstract":false,"id":55,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InvalidType","instanceClass":null,"abstract":false,"id":56,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IterateExp","instanceClass":null,"abstract":false,"id":57,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Iteration","instanceClass":null,"abstract":false,"id":58,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IteratorExp","instanceClass":null,"abstract":false,"id":59,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LambdaType","instanceClass":null,"abstract":false,"id":60,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LanguageExpression","instanceClass":null,"abstract":true,"id":61,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LetExp","instanceClass":null,"abstract":false,"id":62,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Library","instanceClass":null,"abstract":false,"id":63,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralExp","instanceClass":null,"abstract":true,"id":64,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LoopExp","instanceClass":null,"abstract":true,"id":65,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MapLiteralExp","instanceClass":null,"abstract":false,"id":66,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MapLiteralPart","instanceClass":null,"abstract":false,"id":67,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MapType","instanceClass":null,"abstract":false,"id":68,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MessageExp","instanceClass":null,"abstract":false,"id":69,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MessageType","instanceClass":null,"abstract":false,"id":70,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Model","instanceClass":null,"abstract":false,"id":71,"interface":false,"eClass":"EClass"},{"instanceTypeName":"org.eclipse.ocl.pivot.utilities.MorePivotable","defaultValue":null,"instanceClassName":"org.eclipse.ocl.pivot.utilities.MorePivotable","name":"MorePivotable","instanceClass":null,"abstract":true,"id":72,"interface":true,"eClass":"EClass"},{"instanceTypeName":"org.eclipse.ocl.pivot.utilities.Nameable","defaultValue":null,"instanceClassName":"org.eclipse.ocl.pivot.utilities.Nameable","name":"Nameable","instanceClass":null,"abstract":true,"id":73,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NamedElement","instanceClass":null,"abstract":true,"id":74,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Namespace","instanceClass":null,"abstract":true,"id":75,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NavigationCallExp","instanceClass":null,"abstract":true,"id":76,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NullLiteralExp","instanceClass":null,"abstract":false,"id":77,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NumericLiteralExp","instanceClass":null,"abstract":true,"id":78,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OCLExpression","instanceClass":null,"abstract":true,"id":79,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Operation","instanceClass":null,"abstract":false,"id":80,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OperationCallExp","instanceClass":null,"abstract":false,"id":81,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OppositePropertyCallExp","instanceClass":null,"abstract":false,"id":82,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OrderedSetType","instanceClass":null,"abstract":false,"id":83,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OrphanCompletePackage","instanceClass":null,"abstract":false,"id":84,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Package","instanceClass":null,"abstract":false,"id":85,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Parameter","instanceClass":null,"abstract":false,"id":86,"interface":false,"eClass":"EClass"},{"instanceTypeName":"org.eclipse.ocl.pivot.utilities.Pivotable","defaultValue":null,"instanceClassName":"org.eclipse.ocl.pivot.utilities.Pivotable","name":"Pivotable","instanceClass":null,"abstract":true,"id":87,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Precedence","instanceClass":null,"abstract":false,"id":88,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveCompletePackage","instanceClass":null,"abstract":false,"id":89,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveLiteralExp","instanceClass":null,"abstract":true,"id":90,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveType","instanceClass":null,"abstract":false,"id":91,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Profile","instanceClass":null,"abstract":false,"id":92,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ProfileApplication","instanceClass":null,"abstract":false,"id":93,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Property","instanceClass":null,"abstract":false,"id":94,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PropertyCallExp","instanceClass":null,"abstract":false,"id":95,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Pseudostate","instanceClass":null,"abstract":false,"id":96,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RealLiteralExp","instanceClass":null,"abstract":false,"id":97,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ReferringElement","instanceClass":null,"abstract":true,"id":98,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Region","instanceClass":null,"abstract":false,"id":99,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SelfType","instanceClass":null,"abstract":false,"id":100,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SendSignalAction","instanceClass":null,"abstract":false,"id":101,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SequenceType","instanceClass":null,"abstract":false,"id":102,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SetType","instanceClass":null,"abstract":false,"id":103,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ShadowExp","instanceClass":null,"abstract":false,"id":104,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ShadowPart","instanceClass":null,"abstract":false,"id":105,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Signal","instanceClass":null,"abstract":false,"id":106,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Slot","instanceClass":null,"abstract":false,"id":107,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StandardLibrary","instanceClass":null,"abstract":false,"id":108,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"State","instanceClass":null,"abstract":false,"id":109,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StateExp","instanceClass":null,"abstract":false,"id":110,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StateMachine","instanceClass":null,"abstract":false,"id":111,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Stereotype","instanceClass":null,"abstract":false,"id":112,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StereotypeExtender","instanceClass":null,"abstract":false,"id":113,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StringLiteralExp","instanceClass":null,"abstract":false,"id":114,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateBinding","instanceClass":null,"abstract":false,"id":115,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateParameter","instanceClass":null,"abstract":false,"id":116,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateParameterSubstitution","instanceClass":null,"abstract":false,"id":117,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateSignature","instanceClass":null,"abstract":false,"id":118,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateableElement","instanceClass":null,"abstract":true,"id":119,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Transition","instanceClass":null,"abstract":false,"id":120,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Trigger","instanceClass":null,"abstract":false,"id":121,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TupleLiteralExp","instanceClass":null,"abstract":false,"id":122,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TupleLiteralPart","instanceClass":null,"abstract":false,"id":123,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TupleType","instanceClass":null,"abstract":false,"id":124,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Type","instanceClass":null,"abstract":true,"id":125,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeExp","instanceClass":null,"abstract":false,"id":126,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypedElement","instanceClass":null,"abstract":true,"id":127,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UnlimitedNaturalLiteralExp","instanceClass":null,"abstract":false,"id":128,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UnspecifiedValueExp","instanceClass":null,"abstract":false,"id":129,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ValueSpecification","instanceClass":null,"abstract":true,"id":130,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Variable","instanceClass":null,"abstract":false,"id":131,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VariableDeclaration","instanceClass":null,"abstract":true,"id":132,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VariableExp","instanceClass":null,"abstract":false,"id":133,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Vertex","instanceClass":null,"abstract":true,"id":134,"interface":false,"eClass":"EClass"},{"instanceTypeName":"org.eclipse.ocl.pivot.util.Visitable","defaultValue":null,"instanceClassName":"org.eclipse.ocl.pivot.util.Visitable","name":"Visitable","instanceClass":null,"abstract":true,"id":135,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VoidType","instanceClass":null,"abstract":false,"id":136,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"WildcardType","instanceClass":null,"abstract":false,"id":137,"interface":false,"eClass":"EClass"},{"name":"left","id":138,"value":0,"literal":"left","eClass":"EEnumLiteral"},{"name":"right","id":139,"value":1,"literal":"right","eClass":"EEnumLiteral"},{"name":"Collection","id":140,"value":0,"literal":"Collection","eClass":"EEnumLiteral"},{"name":"Set","id":141,"value":1,"literal":"Set","eClass":"EEnumLiteral"},{"name":"OrderedSet","id":142,"value":2,"literal":"OrderedSet","eClass":"EEnumLiteral"},{"name":"Bag","id":143,"value":3,"literal":"Bag","eClass":"EEnumLiteral"},{"name":"Sequence","id":144,"value":4,"literal":"Sequence","eClass":"EEnumLiteral"},{"name":"initial","id":145,"value":0,"literal":"initial","eClass":"EEnumLiteral"},{"name":"deepHistory","id":146,"value":1,"literal":"deepHistory","eClass":"EEnumLiteral"},{"name":"shallowHistory","id":147,"value":2,"literal":"shallowHistory","eClass":"EEnumLiteral"},{"name":"join","id":148,"value":3,"literal":"join","eClass":"EEnumLiteral"},{"name":"fork","id":149,"value":4,"literal":"fork","eClass":"EEnumLiteral"},{"name":"junction","id":150,"value":5,"literal":"junction","eClass":"EEnumLiteral"},{"name":"choice","id":151,"value":6,"literal":"choice","eClass":"EEnumLiteral"},{"name":"entryPoint","id":152,"value":7,"literal":"entryPoint","eClass":"EEnumLiteral"},{"name":"exitPoint","id":153,"value":8,"literal":"exitPoint","eClass":"EEnumLiteral"},{"name":"terminate","id":154,"value":9,"literal":"terminate","eClass":"EEnumLiteral"},{"name":"internal","id":155,"value":0,"literal":"internal","eClass":"EEnumLiteral"},{"name":"local","id":156,"value":1,"literal":"local","eClass":"EEnumLiteral"},{"name":"external","id":157,"value":2,"literal":"external","eClass":"EEnumLiteral"},{"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":"ownedContents","changeable":true,"resolveProxies":true,"lowerBound":0,"id":158,"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":"ownedDetails","changeable":true,"resolveProxies":true,"lowerBound":0,"id":159,"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":"references","changeable":true,"resolveProxies":true,"lowerBound":0,"id":160,"derived":false},{"id":161,"eClass":"EGenericType"},{"id":162,"eClass":"EGenericType"},{"id":163,"eClass":"EGenericType"},{"id":164,"eClass":"EGenericType"},{"id":165,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"unownedAttributes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":166,"derived":false},{"id":167,"eClass":"EGenericType"},{"id":168,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"associationClass","changeable":true,"resolveProxies":true,"lowerBound":0,"id":169,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredAssociationClass","changeable":true,"resolveProxies":true,"lowerBound":0,"id":170,"derived":false},{"id":171,"eClass":"EGenericType"},{"id":172,"eClass":"EGenericType"},{"id":173,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningTransition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":174,"derived":false},{"id":175,"eClass":"EGenericType"},{"id":176,"eClass":"EGenericType"},{"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":"ownedEffect","changeable":true,"resolveProxies":true,"lowerBound":0,"id":177,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsBoolean","lowerBound":0,"id":178,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"booleanSymbol","changeable":true,"lowerBound":1,"iD":false,"id":179,"derived":false},{"id":180,"eClass":"EGenericType"},{"id":181,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":182,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":183,"many":false,"required":false,"eClass":"EParameter"},{"id":184,"eClass":"EGenericType"},{"id":185,"eClass":"EGenericType"},{"id":186,"eClass":"EGenericType"},{"id":187,"eClass":"EGenericType"},{"id":188,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsNotInvalid","lowerBound":0,"id":189,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isImplicit","changeable":true,"lowerBound":0,"iD":false,"id":190,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isSafe","changeable":true,"lowerBound":0,"iD":false,"id":191,"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":"ownedSource","changeable":true,"resolveProxies":true,"lowerBound":0,"id":192,"derived":false},{"id":193,"eClass":"EGenericType"},{"id":194,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":195,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":196,"many":false,"required":false,"eClass":"EParameter"},{"id":197,"eClass":"EGenericType"},{"id":198,"eClass":"EGenericType"},{"id":199,"eClass":"EGenericType"},{"id":200,"eClass":"EGenericType"},{"id":201,"eClass":"EGenericType"},{"id":202,"eClass":"EGenericType"},{"id":203,"eClass":"EGenericType"},{"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":"operation","changeable":true,"resolveProxies":true,"lowerBound":1,"id":204,"derived":false},{"id":205,"eClass":"EGenericType"},{"id":206,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateUniqueInvariantName","lowerBound":0,"id":207,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"extenders","changeable":true,"resolveProxies":true,"lowerBound":0,"id":208,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"instanceClassName","changeable":true,"lowerBound":0,"iD":false,"id":209,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isAbstract","changeable":true,"lowerBound":1,"iD":false,"id":210,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isActive","changeable":true,"lowerBound":1,"iD":false,"id":211,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isInterface","changeable":true,"lowerBound":1,"iD":false,"id":212,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedBehaviors","changeable":true,"resolveProxies":true,"lowerBound":0,"id":213,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedInvariants","changeable":true,"resolveProxies":true,"lowerBound":0,"id":214,"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":"ownedOperations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":215,"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":"ownedProperties","changeable":true,"resolveProxies":true,"lowerBound":0,"id":216,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningPackage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":217,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"superClasses","changeable":true,"resolveProxies":true,"lowerBound":0,"id":218,"derived":false},{"id":219,"eClass":"EGenericType"},{"id":220,"eClass":"EGenericType"},{"id":221,"eClass":"EGenericType"},{"id":222,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":223,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":224,"many":false,"required":false,"eClass":"EParameter"},{"id":225,"eClass":"EGenericType"},{"id":226,"eClass":"EGenericType"},{"id":227,"eClass":"EGenericType"},{"id":228,"eClass":"EGenericType"},{"id":229,"eClass":"EGenericType"},{"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":"class","changeable":true,"resolveProxies":true,"lowerBound":1,"id":230,"derived":false},{"id":231,"eClass":"EGenericType"},{"id":232,"eClass":"EGenericType"},{"id":233,"eClass":"EGenericType"},{"id":234,"eClass":"EGenericType"},{"id":235,"eClass":"EGenericType"},{"id":236,"eClass":"EGenericType"},{"id":237,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningClass","changeable":true,"resolveProxies":true,"lowerBound":0,"id":238,"derived":false},{"id":239,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningClass","changeable":true,"resolveProxies":true,"lowerBound":0,"id":240,"derived":false},{"id":241,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedClasses","changeable":true,"resolveProxies":true,"lowerBound":0,"id":242,"derived":false},{"id":243,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsItemType","lowerBound":0,"id":244,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedItem","changeable":true,"resolveProxies":true,"lowerBound":1,"id":245,"derived":false},{"id":246,"eClass":"EGenericType"},{"id":247,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":248,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":249,"many":false,"required":false,"eClass":"EParameter"},{"id":250,"eClass":"EGenericType"},{"id":251,"eClass":"EGenericType"},{"id":252,"eClass":"EGenericType"},{"id":253,"eClass":"EGenericType"},{"id":254,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateBagKindIsBag","lowerBound":0,"id":255,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateCollectionKindIsConcrete","lowerBound":0,"id":256,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateOrderedSetKindIsOrderedSet","lowerBound":0,"id":257,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateSequenceKindIsSequence","lowerBound":0,"id":258,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateSetKindIsSet","lowerBound":0,"id":259,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"kind","changeable":true,"lowerBound":1,"iD":false,"id":260,"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":"ownedParts","changeable":true,"resolveProxies":true,"lowerBound":0,"id":261,"derived":false},{"id":262,"eClass":"EGenericType"},{"id":263,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":264,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":265,"many":false,"required":false,"eClass":"EParameter"},{"id":266,"eClass":"EGenericType"},{"id":267,"eClass":"EGenericType"},{"id":268,"eClass":"EGenericType"},{"id":269,"eClass":"EGenericType"},{"id":270,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":271,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":272,"many":false,"required":false,"eClass":"EParameter"},{"id":273,"eClass":"EGenericType"},{"id":274,"eClass":"EGenericType"},{"id":275,"eClass":"EGenericType"},{"id":276,"eClass":"EGenericType"},{"id":277,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":278,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":279,"many":false,"required":false,"eClass":"EParameter"},{"id":280,"eClass":"EGenericType"},{"id":281,"eClass":"EGenericType"},{"id":282,"eClass":"EGenericType"},{"id":283,"eClass":"EGenericType"},{"id":284,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":285,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":286,"many":false,"required":false,"eClass":"EParameter"},{"id":287,"eClass":"EGenericType"},{"id":288,"eClass":"EGenericType"},{"id":289,"eClass":"EGenericType"},{"id":290,"eClass":"EGenericType"},{"id":291,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":292,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":293,"many":false,"required":false,"eClass":"EParameter"},{"id":294,"eClass":"EGenericType"},{"id":295,"eClass":"EGenericType"},{"id":296,"eClass":"EGenericType"},{"id":297,"eClass":"EGenericType"},{"id":298,"eClass":"EGenericType"},{"id":299,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsNotInvalid","lowerBound":0,"id":300,"many":false,"required":false,"eClass":"EOperation"},{"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"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedFirst","changeable":true,"resolveProxies":true,"lowerBound":1,"id":309,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedLast","changeable":true,"resolveProxies":true,"lowerBound":1,"id":310,"derived":false},{"id":311,"eClass":"EGenericType"},{"id":312,"eClass":"EGenericType"},{"id":313,"eClass":"EGenericType"},{"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":"elementType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":314,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isNullFree","changeable":true,"lowerBound":1,"iD":false,"id":315,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"0","unsettable":false,"transient":false,"unique":true,"name":"lower","changeable":true,"lowerBound":1,"iD":false,"id":316,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"*","unsettable":false,"transient":false,"unique":true,"name":"upper","changeable":true,"lowerBound":1,"iD":false,"id":317,"derived":false},{"id":318,"eClass":"EGenericType"},{"id":319,"eClass":"EGenericType"},{"id":320,"eClass":"EGenericType"},{"id":321,"eClass":"EGenericType"},{"id":322,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"annotatedElements","changeable":true,"resolveProxies":true,"lowerBound":0,"id":323,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"body","changeable":true,"lowerBound":0,"iD":false,"id":324,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningElement","changeable":true,"resolveProxies":true,"lowerBound":0,"id":325,"derived":false},{"id":326,"eClass":"EGenericType"},{"id":327,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"annotatingComments","changeable":true,"resolveProxies":true,"lowerBound":0,"id":328,"derived":false},{"id":329,"eClass":"EGenericType"},{"id":330,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedComments","changeable":true,"resolveProxies":true,"lowerBound":0,"id":331,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningCompletePackage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":332,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"partialClasses","changeable":true,"resolveProxies":true,"lowerBound":0,"id":333,"derived":false},{"id":334,"eClass":"EGenericType"},{"id":335,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedCompleteClasses","changeable":true,"resolveProxies":true,"lowerBound":0,"id":336,"derived":false},{"id":337,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedCompleteModel","changeable":true,"resolveProxies":true,"lowerBound":1,"id":338,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedStandardLibrary","changeable":true,"resolveProxies":true,"lowerBound":1,"id":339,"derived":false},{"id":340,"eClass":"EGenericType"},{"id":341,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningCompleteEnvironment","changeable":true,"resolveProxies":true,"lowerBound":0,"id":342,"derived":false},{"id":343,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningCompleteEnvironment","changeable":true,"resolveProxies":true,"lowerBound":0,"id":344,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"getOwnedCompletePackage","lowerBound":0,"id":345,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"orphanCompletePackage","changeable":false,"resolveProxies":false,"lowerBound":0,"id":346,"derived":true},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedCompletePackages","changeable":true,"resolveProxies":true,"lowerBound":0,"id":347,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"partialModels","changeable":true,"resolveProxies":true,"lowerBound":0,"id":348,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"primitiveCompletePackage","changeable":false,"resolveProxies":false,"lowerBound":0,"id":349,"derived":true},{"id":350,"eClass":"EGenericType"},{"id":351,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"name","lowerBound":0,"id":352,"many":false,"required":false,"eClass":"EParameter"},{"id":353,"eClass":"EGenericType"},{"id":354,"eClass":"EGenericType"},{"id":355,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningCompleteModel","changeable":true,"resolveProxies":true,"lowerBound":0,"id":356,"derived":false},{"id":357,"eClass":"EGenericType"},{"id":358,"eClass":"EGenericType"},{"id":359,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getOwnedCompleteClass","lowerBound":0,"id":360,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedCompletePackages","changeable":true,"resolveProxies":true,"lowerBound":0,"id":361,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningCompletePackage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":362,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"partialPackages","changeable":true,"resolveProxies":true,"lowerBound":0,"id":363,"derived":false},{"id":364,"eClass":"EGenericType"},{"id":365,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"name","lowerBound":0,"id":366,"many":false,"required":false,"eClass":"EParameter"},{"id":367,"eClass":"EGenericType"},{"id":368,"eClass":"EGenericType"},{"id":369,"eClass":"EGenericType"},{"id":370,"eClass":"EGenericType"},{"id":371,"eClass":"EGenericType"},{"id":372,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"entries","changeable":true,"resolveProxies":true,"lowerBound":0,"id":373,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"exits","changeable":true,"resolveProxies":true,"lowerBound":0,"id":374,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningState","changeable":true,"resolveProxies":true,"lowerBound":0,"id":375,"derived":false},{"id":376,"eClass":"EGenericType"},{"id":377,"eClass":"EGenericType"},{"id":378,"eClass":"EGenericType"},{"id":379,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedConnections","changeable":true,"resolveProxies":true,"lowerBound":0,"id":380,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"validateUniqueName","lowerBound":0,"id":381,"many":false,"required":false,"eClass":"EOperation"},{"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":"constrainedElements","changeable":true,"resolveProxies":true,"lowerBound":0,"id":382,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"context","changeable":false,"resolveProxies":false,"lowerBound":0,"id":383,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isCallable","changeable":true,"lowerBound":1,"iD":false,"id":384,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedSpecification","changeable":true,"resolveProxies":true,"lowerBound":1,"id":385,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningPostContext","changeable":true,"resolveProxies":true,"lowerBound":0,"id":386,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningPreContext","changeable":true,"resolveProxies":true,"lowerBound":0,"id":387,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningState","changeable":true,"resolveProxies":true,"lowerBound":0,"id":388,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningTransition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":389,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"redefinedConstraints","changeable":true,"resolveProxies":true,"lowerBound":0,"id":390,"derived":false},{"id":391,"eClass":"EGenericType"},{"id":392,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":393,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":394,"many":false,"required":false,"eClass":"EParameter"},{"id":395,"eClass":"EGenericType"},{"id":396,"eClass":"EGenericType"},{"id":397,"eClass":"EGenericType"},{"id":398,"eClass":"EGenericType"},{"id":399,"eClass":"EGenericType"},{"id":400,"eClass":"EGenericType"},{"id":401,"eClass":"EGenericType"},{"id":402,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningConstraint","changeable":true,"resolveProxies":true,"lowerBound":0,"id":403,"derived":false},{"id":404,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedPostconditions","changeable":true,"resolveProxies":true,"lowerBound":0,"id":405,"derived":false},{"id":406,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedPreconditions","changeable":true,"resolveProxies":true,"lowerBound":0,"id":407,"derived":false},{"id":408,"eClass":"EGenericType"},{"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":"ownedStateInvariant","changeable":true,"resolveProxies":true,"lowerBound":0,"id":409,"derived":false},{"id":410,"eClass":"EGenericType"},{"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":"ownedGuard","changeable":true,"resolveProxies":true,"lowerBound":0,"id":411,"derived":false},{"id":412,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"behavioralClass","changeable":true,"resolveProxies":true,"lowerBound":0,"id":413,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":true,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"true","unsettable":false,"transient":false,"unique":true,"name":"isSerializable","changeable":true,"lowerBound":1,"iD":false,"id":414,"derived":false},{"id":415,"eClass":"EGenericType"},{"id":416,"eClass":"EGenericType"},{"id":417,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"values","changeable":true,"lowerBound":1,"iD":false,"id":418,"derived":false},{"id":419,"eClass":"EGenericType"},{"id":420,"eClass":"EGenericType"},{"id":421,"eClass":"EGenericType"},{"id":422,"eClass":"EGenericType"},{"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":"metaType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":423,"derived":false},{"id":424,"eClass":"EGenericType"},{"id":425,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"default","changeable":true,"lowerBound":0,"iD":false,"id":426,"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":"referredProperty","changeable":true,"resolveProxies":true,"lowerBound":1,"id":427,"derived":false},{"id":428,"eClass":"EGenericType"},{"id":429,"eClass":"EGenericType"},{"id":430,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedDynamicProperties","changeable":true,"resolveProxies":true,"lowerBound":0,"id":431,"derived":false},{"id":432,"eClass":"EGenericType"},{"id":433,"eClass":"EGenericType"},{"id":434,"eClass":"EGenericType"},{"id":435,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"unique":true,"name":"allOwnedElements","lowerBound":0,"id":436,"many":true,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"getValue","lowerBound":0,"id":437,"many":false,"required":false,"eClass":"EOperation"},{"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":"ownedAnnotations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":438,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedExtensions","changeable":true,"resolveProxies":true,"lowerBound":0,"id":439,"derived":false},{"id":440,"eClass":"EGenericType"},{"id":441,"eClass":"EGenericType"},{"id":442,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"stereotype","lowerBound":1,"id":443,"many":false,"required":true,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"propertyName","lowerBound":1,"id":444,"many":false,"required":true,"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"},{"container":true,"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":"base","changeable":true,"resolveProxies":true,"lowerBound":1,"id":451,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isApplied","changeable":true,"lowerBound":1,"iD":false,"id":452,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isRequired","changeable":true,"lowerBound":1,"iD":false,"id":453,"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":"stereotype","changeable":true,"resolveProxies":true,"lowerBound":1,"id":454,"derived":false},{"id":455,"eClass":"EGenericType"},{"id":456,"eClass":"EGenericType"},{"id":457,"eClass":"EGenericType"},{"id":458,"eClass":"EGenericType"},{"id":459,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsEnumerationType","lowerBound":0,"id":460,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredLiteral","changeable":true,"resolveProxies":true,"lowerBound":0,"id":461,"derived":false},{"id":462,"eClass":"EGenericType"},{"id":463,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":464,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":465,"many":false,"required":false,"eClass":"EParameter"},{"id":466,"eClass":"EGenericType"},{"id":467,"eClass":"EGenericType"},{"id":468,"eClass":"EGenericType"},{"id":469,"eClass":"EGenericType"},{"id":470,"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":"ownedLiterals","changeable":true,"resolveProxies":true,"lowerBound":0,"id":471,"derived":false},{"id":472,"eClass":"EGenericType"},{"id":473,"eClass":"EGenericType"},{"container":true,"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":"owningEnumeration","changeable":true,"resolveProxies":true,"lowerBound":1,"id":474,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"0","unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":0,"iD":false,"id":475,"derived":false},{"id":476,"eClass":"EGenericType"},{"id":477,"eClass":"EGenericType"},{"id":478,"eClass":"EGenericType"},{"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":"ownedBody","changeable":true,"resolveProxies":true,"lowerBound":0,"id":479,"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":"ownedContext","changeable":true,"resolveProxies":true,"lowerBound":0,"id":480,"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":"ownedParameters","changeable":true,"resolveProxies":true,"lowerBound":0,"id":481,"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":"ownedResult","changeable":true,"resolveProxies":true,"lowerBound":0,"id":482,"derived":false},{"id":483,"eClass":"EGenericType"},{"id":484,"eClass":"EGenericType"},{"id":485,"eClass":"EGenericType"},{"id":486,"eClass":"EGenericType"},{"id":487,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsNotInvalid","lowerBound":0,"id":488,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"implementation","changeable":true,"lowerBound":0,"iD":false,"id":489,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"implementationClass","changeable":true,"lowerBound":0,"iD":false,"id":490,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isStatic","changeable":true,"lowerBound":1,"iD":false,"id":491,"derived":false},{"id":492,"eClass":"EGenericType"},{"id":493,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":494,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":495,"many":false,"required":false,"eClass":"EParameter"},{"id":496,"eClass":"EGenericType"},{"id":497,"eClass":"EGenericType"},{"id":498,"eClass":"EGenericType"},{"id":499,"eClass":"EGenericType"},{"id":500,"eClass":"EGenericType"},{"id":501,"eClass":"EGenericType"},{"id":502,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isPre","changeable":true,"lowerBound":1,"iD":false,"id":503,"derived":false},{"id":504,"eClass":"EGenericType"},{"id":505,"eClass":"EGenericType"},{"id":506,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateConditionTypeIsBoolean","lowerBound":0,"id":507,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsNotInvalid","lowerBound":0,"id":508,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedCondition","changeable":true,"resolveProxies":true,"lowerBound":1,"id":509,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedElse","changeable":true,"resolveProxies":true,"lowerBound":1,"id":510,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedThen","changeable":true,"resolveProxies":true,"lowerBound":1,"id":511,"derived":false},{"id":512,"eClass":"EGenericType"},{"id":513,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":514,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":515,"many":false,"required":false,"eClass":"EParameter"},{"id":516,"eClass":"EGenericType"},{"id":517,"eClass":"EGenericType"},{"id":518,"eClass":"EGenericType"},{"id":519,"eClass":"EGenericType"},{"id":520,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":521,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":522,"many":false,"required":false,"eClass":"EParameter"},{"id":523,"eClass":"EGenericType"},{"id":524,"eClass":"EGenericType"},{"id":525,"eClass":"EGenericType"},{"id":526,"eClass":"EGenericType"},{"id":527,"eClass":"EGenericType"},{"id":528,"eClass":"EGenericType"},{"id":529,"eClass":"EGenericType"},{"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":"importedNamespace","changeable":true,"resolveProxies":true,"lowerBound":1,"id":530,"derived":false},{"id":531,"eClass":"EGenericType"},{"id":532,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"classes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":533,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedSlots","changeable":true,"resolveProxies":true,"lowerBound":0,"id":534,"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":"ownedSpecification","changeable":true,"resolveProxies":true,"lowerBound":0,"id":535,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningPackage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":536,"derived":false},{"id":537,"eClass":"EGenericType"},{"id":538,"eClass":"EGenericType"},{"id":539,"eClass":"EGenericType"},{"container":true,"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":"owningInstance","changeable":true,"resolveProxies":true,"lowerBound":1,"id":540,"derived":false},{"id":541,"eClass":"EGenericType"},{"id":542,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedInstances","changeable":true,"resolveProxies":true,"lowerBound":0,"id":543,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsInteger","lowerBound":0,"id":544,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"integerSymbol","changeable":true,"lowerBound":1,"iD":false,"id":545,"derived":false},{"id":546,"eClass":"EGenericType"},{"id":547,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":548,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":549,"many":false,"required":false,"eClass":"EParameter"},{"id":550,"eClass":"EGenericType"},{"id":551,"eClass":"EGenericType"},{"id":552,"eClass":"EGenericType"},{"id":553,"eClass":"EGenericType"},{"id":554,"eClass":"EGenericType"},{"id":555,"eClass":"EGenericType"},{"id":556,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateBodyTypeConformsToResultType","lowerBound":0,"id":557,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateOneInitializer","lowerBound":0,"id":558,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateSafeIteratorIsRequired","lowerBound":0,"id":559,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateSafeSourceCanBeNull","lowerBound":0,"id":560,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsResultType","lowerBound":0,"id":561,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateUnsafeSourceCanNotBeNull","lowerBound":0,"id":562,"many":false,"required":false,"eClass":"EOperation"},{"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":"ownedResult","changeable":true,"resolveProxies":true,"lowerBound":0,"id":563,"derived":false},{"id":564,"eClass":"EGenericType"},{"id":565,"eClass":"EGenericType"},{"id":566,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":567,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":568,"many":false,"required":false,"eClass":"EParameter"},{"id":569,"eClass":"EGenericType"},{"id":570,"eClass":"EGenericType"},{"id":571,"eClass":"EGenericType"},{"id":572,"eClass":"EGenericType"},{"id":573,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":574,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":575,"many":false,"required":false,"eClass":"EParameter"},{"id":576,"eClass":"EGenericType"},{"id":577,"eClass":"EGenericType"},{"id":578,"eClass":"EGenericType"},{"id":579,"eClass":"EGenericType"},{"id":580,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":581,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":582,"many":false,"required":false,"eClass":"EParameter"},{"id":583,"eClass":"EGenericType"},{"id":584,"eClass":"EGenericType"},{"id":585,"eClass":"EGenericType"},{"id":586,"eClass":"EGenericType"},{"id":587,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":588,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":589,"many":false,"required":false,"eClass":"EParameter"},{"id":590,"eClass":"EGenericType"},{"id":591,"eClass":"EGenericType"},{"id":592,"eClass":"EGenericType"},{"id":593,"eClass":"EGenericType"},{"id":594,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":595,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":596,"many":false,"required":false,"eClass":"EParameter"},{"id":597,"eClass":"EGenericType"},{"id":598,"eClass":"EGenericType"},{"id":599,"eClass":"EGenericType"},{"id":600,"eClass":"EGenericType"},{"id":601,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":602,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":603,"many":false,"required":false,"eClass":"EParameter"},{"id":604,"eClass":"EGenericType"},{"id":605,"eClass":"EGenericType"},{"id":606,"eClass":"EGenericType"},{"id":607,"eClass":"EGenericType"},{"id":608,"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":"ownedAccumulators","changeable":true,"resolveProxies":true,"lowerBound":0,"id":609,"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":"ownedIterators","changeable":true,"resolveProxies":true,"lowerBound":0,"id":610,"derived":false},{"id":611,"eClass":"EGenericType"},{"id":612,"eClass":"EGenericType"},{"id":613,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateAnyBodyTypeIsBoolean","lowerBound":0,"id":614,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateAnyHasOneIterator","lowerBound":0,"id":615,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateAnyTypeIsSourceElementType","lowerBound":0,"id":616,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateClosureBodyTypeIsConformanttoIteratorType","lowerBound":0,"id":617,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateClosureElementTypeIsSourceElementType","lowerBound":0,"id":618,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateClosureHasOneIterator","lowerBound":0,"id":619,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateClosureSourceElementTypeIsBodyElementType","lowerBound":0,"id":620,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateClosureTypeIsUniqueCollection","lowerBound":0,"id":621,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateCollectElementTypeIsFlattenedBodyType","lowerBound":0,"id":622,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateCollectTypeIsUnordered","lowerBound":0,"id":623,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateIteratorTypeIsSourceElementType","lowerBound":0,"id":624,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateSafeIteratorIsRequired","lowerBound":0,"id":625,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateSafeSourceCanBeNull","lowerBound":0,"id":626,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateSortedByElementTypeIsSourceElementType","lowerBound":0,"id":627,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateSortedByIsOrderedIfSourceIsOrdered","lowerBound":0,"id":628,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateSortedByIteratorTypeIsComparable","lowerBound":0,"id":629,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateUnsafeSourceCanNotBeNull","lowerBound":0,"id":630,"many":false,"required":false,"eClass":"EOperation"},{"id":631,"eClass":"EGenericType"},{"id":632,"eClass":"EGenericType"},{"id":633,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":634,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":635,"many":false,"required":false,"eClass":"EParameter"},{"id":636,"eClass":"EGenericType"},{"id":637,"eClass":"EGenericType"},{"id":638,"eClass":"EGenericType"},{"id":639,"eClass":"EGenericType"},{"id":640,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":641,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":642,"many":false,"required":false,"eClass":"EParameter"},{"id":643,"eClass":"EGenericType"},{"id":644,"eClass":"EGenericType"},{"id":645,"eClass":"EGenericType"},{"id":646,"eClass":"EGenericType"},{"id":647,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":648,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":649,"many":false,"required":false,"eClass":"EParameter"},{"id":650,"eClass":"EGenericType"},{"id":651,"eClass":"EGenericType"},{"id":652,"eClass":"EGenericType"},{"id":653,"eClass":"EGenericType"},{"id":654,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":655,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":656,"many":false,"required":false,"eClass":"EParameter"},{"id":657,"eClass":"EGenericType"},{"id":658,"eClass":"EGenericType"},{"id":659,"eClass":"EGenericType"},{"id":660,"eClass":"EGenericType"},{"id":661,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":662,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":663,"many":false,"required":false,"eClass":"EParameter"},{"id":664,"eClass":"EGenericType"},{"id":665,"eClass":"EGenericType"},{"id":666,"eClass":"EGenericType"},{"id":667,"eClass":"EGenericType"},{"id":668,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":669,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":670,"many":false,"required":false,"eClass":"EParameter"},{"id":671,"eClass":"EGenericType"},{"id":672,"eClass":"EGenericType"},{"id":673,"eClass":"EGenericType"},{"id":674,"eClass":"EGenericType"},{"id":675,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":676,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":677,"many":false,"required":false,"eClass":"EParameter"},{"id":678,"eClass":"EGenericType"},{"id":679,"eClass":"EGenericType"},{"id":680,"eClass":"EGenericType"},{"id":681,"eClass":"EGenericType"},{"id":682,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":683,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":684,"many":false,"required":false,"eClass":"EParameter"},{"id":685,"eClass":"EGenericType"},{"id":686,"eClass":"EGenericType"},{"id":687,"eClass":"EGenericType"},{"id":688,"eClass":"EGenericType"},{"id":689,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":690,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":691,"many":false,"required":false,"eClass":"EParameter"},{"id":692,"eClass":"EGenericType"},{"id":693,"eClass":"EGenericType"},{"id":694,"eClass":"EGenericType"},{"id":695,"eClass":"EGenericType"},{"id":696,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":697,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":698,"many":false,"required":false,"eClass":"EParameter"},{"id":699,"eClass":"EGenericType"},{"id":700,"eClass":"EGenericType"},{"id":701,"eClass":"EGenericType"},{"id":702,"eClass":"EGenericType"},{"id":703,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":704,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":705,"many":false,"required":false,"eClass":"EParameter"},{"id":706,"eClass":"EGenericType"},{"id":707,"eClass":"EGenericType"},{"id":708,"eClass":"EGenericType"},{"id":709,"eClass":"EGenericType"},{"id":710,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":711,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":712,"many":false,"required":false,"eClass":"EParameter"},{"id":713,"eClass":"EGenericType"},{"id":714,"eClass":"EGenericType"},{"id":715,"eClass":"EGenericType"},{"id":716,"eClass":"EGenericType"},{"id":717,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":718,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":719,"many":false,"required":false,"eClass":"EParameter"},{"id":720,"eClass":"EGenericType"},{"id":721,"eClass":"EGenericType"},{"id":722,"eClass":"EGenericType"},{"id":723,"eClass":"EGenericType"},{"id":724,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":725,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":726,"many":false,"required":false,"eClass":"EParameter"},{"id":727,"eClass":"EGenericType"},{"id":728,"eClass":"EGenericType"},{"id":729,"eClass":"EGenericType"},{"id":730,"eClass":"EGenericType"},{"id":731,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":732,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":733,"many":false,"required":false,"eClass":"EParameter"},{"id":734,"eClass":"EGenericType"},{"id":735,"eClass":"EGenericType"},{"id":736,"eClass":"EGenericType"},{"id":737,"eClass":"EGenericType"},{"id":738,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":739,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":740,"many":false,"required":false,"eClass":"EParameter"},{"id":741,"eClass":"EGenericType"},{"id":742,"eClass":"EGenericType"},{"id":743,"eClass":"EGenericType"},{"id":744,"eClass":"EGenericType"},{"id":745,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":746,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":747,"many":false,"required":false,"eClass":"EParameter"},{"id":748,"eClass":"EGenericType"},{"id":749,"eClass":"EGenericType"},{"id":750,"eClass":"EGenericType"},{"id":751,"eClass":"EGenericType"},{"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":"contextType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":752,"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":false,"name":"parameterType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":753,"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":"resultType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":754,"derived":false},{"id":755,"eClass":"EGenericType"},{"id":756,"eClass":"EGenericType"},{"id":757,"eClass":"EGenericType"},{"id":758,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"body","changeable":true,"lowerBound":0,"iD":false,"id":759,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"language","changeable":false,"lowerBound":1,"iD":false,"id":760,"derived":true},{"id":761,"eClass":"EGenericType"},{"id":762,"eClass":"EGenericType"},{"id":763,"eClass":"EGenericType"},{"id":764,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsInType","lowerBound":0,"id":765,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsNotInvalid","lowerBound":0,"id":766,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedIn","changeable":true,"resolveProxies":true,"lowerBound":1,"id":767,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedVariable","changeable":true,"resolveProxies":true,"lowerBound":1,"id":768,"derived":false},{"id":769,"eClass":"EGenericType"},{"id":770,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":771,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":772,"many":false,"required":false,"eClass":"EParameter"},{"id":773,"eClass":"EGenericType"},{"id":774,"eClass":"EGenericType"},{"id":775,"eClass":"EGenericType"},{"id":776,"eClass":"EGenericType"},{"id":777,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":778,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":779,"many":false,"required":false,"eClass":"EParameter"},{"id":780,"eClass":"EGenericType"},{"id":781,"eClass":"EGenericType"},{"id":782,"eClass":"EGenericType"},{"id":783,"eClass":"EGenericType"},{"id":784,"eClass":"EGenericType"},{"id":785,"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":"ownedPrecedences","changeable":true,"resolveProxies":true,"lowerBound":0,"id":786,"derived":false},{"id":787,"eClass":"EGenericType"},{"id":788,"eClass":"EGenericType"},{"id":789,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateNoInitializers","lowerBound":0,"id":790,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateSourceIsCollection","lowerBound":0,"id":791,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedBody","changeable":true,"resolveProxies":true,"lowerBound":1,"id":792,"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":"ownedIterators","changeable":true,"resolveProxies":true,"lowerBound":0,"id":793,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredIteration","changeable":true,"resolveProxies":true,"lowerBound":0,"id":794,"derived":false},{"id":795,"eClass":"EGenericType"},{"id":796,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":797,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":798,"many":false,"required":false,"eClass":"EParameter"},{"id":799,"eClass":"EGenericType"},{"id":800,"eClass":"EGenericType"},{"id":801,"eClass":"EGenericType"},{"id":802,"eClass":"EGenericType"},{"id":803,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":804,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":805,"many":false,"required":false,"eClass":"EParameter"},{"id":806,"eClass":"EGenericType"},{"id":807,"eClass":"EGenericType"},{"id":808,"eClass":"EGenericType"},{"id":809,"eClass":"EGenericType"},{"id":810,"eClass":"EGenericType"},{"id":811,"eClass":"EGenericType"},{"id":812,"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":"ownedParts","changeable":true,"resolveProxies":true,"lowerBound":0,"id":813,"derived":false},{"id":814,"eClass":"EGenericType"},{"id":815,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedKey","changeable":true,"resolveProxies":true,"lowerBound":1,"id":816,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedValue","changeable":true,"resolveProxies":true,"lowerBound":1,"id":817,"derived":false},{"id":818,"eClass":"EGenericType"},{"id":819,"eClass":"EGenericType"},{"id":820,"eClass":"EGenericType"},{"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":"keyType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":821,"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":"valueType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":822,"derived":false},{"id":823,"eClass":"EGenericType"},{"id":824,"eClass":"EGenericType"},{"id":825,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateOneCallOrOneSend","lowerBound":0,"id":826,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTargetIsNotACollection","lowerBound":0,"id":827,"many":false,"required":false,"eClass":"EOperation"},{"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":"ownedArguments","changeable":true,"resolveProxies":true,"lowerBound":0,"id":828,"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":"ownedCalledOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":829,"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":"ownedSentSignal","changeable":true,"resolveProxies":true,"lowerBound":0,"id":830,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedTarget","changeable":true,"resolveProxies":true,"lowerBound":1,"id":831,"derived":false},{"id":832,"eClass":"EGenericType"},{"id":833,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":834,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":835,"many":false,"required":false,"eClass":"EParameter"},{"id":836,"eClass":"EGenericType"},{"id":837,"eClass":"EGenericType"},{"id":838,"eClass":"EGenericType"},{"id":839,"eClass":"EGenericType"},{"id":840,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":841,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":842,"many":false,"required":false,"eClass":"EParameter"},{"id":843,"eClass":"EGenericType"},{"id":844,"eClass":"EGenericType"},{"id":845,"eClass":"EGenericType"},{"id":846,"eClass":"EGenericType"},{"id":847,"eClass":"EGenericType"},{"id":848,"eClass":"EGenericType"},{"id":849,"eClass":"EGenericType"},{"id":850,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":851,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredSignal","changeable":true,"resolveProxies":true,"lowerBound":0,"id":852,"derived":false},{"id":853,"eClass":"EGenericType"},{"id":854,"eClass":"EGenericType"},{"id":855,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"externalURI","changeable":true,"lowerBound":0,"iD":false,"id":856,"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":"ownedImports","changeable":true,"resolveProxies":true,"lowerBound":0,"id":857,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedPackages","changeable":true,"resolveProxies":true,"lowerBound":0,"id":858,"derived":false},{"id":859,"eClass":"EGenericType"},{"id":860,"eClass":"EGenericType"},{"id":861,"eClass":"EGenericType"},{"id":862,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":0,"iD":false,"id":863,"derived":false},{"id":864,"eClass":"EGenericType"},{"id":865,"eClass":"EGenericType"},{"id":866,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedConstraints","changeable":true,"resolveProxies":true,"lowerBound":0,"id":867,"derived":false},{"id":868,"eClass":"EGenericType"},{"id":869,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"navigationSource","changeable":true,"resolveProxies":true,"lowerBound":0,"id":870,"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":"qualifiers","changeable":true,"resolveProxies":true,"lowerBound":0,"id":871,"derived":false},{"id":872,"eClass":"EGenericType"},{"id":873,"eClass":"EGenericType"},{"id":874,"eClass":"EGenericType"},{"id":875,"eClass":"EGenericType"},{"id":876,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"typeValue","changeable":true,"resolveProxies":false,"lowerBound":0,"id":877,"derived":false},{"id":878,"eClass":"EGenericType"},{"id":879,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateCompatibleReturn","lowerBound":0,"id":880,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateLoadableImplementation","lowerBound":0,"id":881,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateUniquePostconditionName","lowerBound":0,"id":882,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateUniquePreconditionName","lowerBound":0,"id":883,"many":false,"required":false,"eClass":"EOperation"},{"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":"bodyExpression","changeable":true,"resolveProxies":true,"lowerBound":0,"id":884,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isInvalidating","changeable":true,"lowerBound":1,"iD":false,"id":885,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isTypeof","changeable":true,"lowerBound":1,"iD":false,"id":886,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isValidating","changeable":true,"lowerBound":1,"iD":false,"id":887,"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":"ownedParameters","changeable":true,"resolveProxies":true,"lowerBound":0,"id":888,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"precedence","changeable":true,"resolveProxies":true,"lowerBound":0,"id":889,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"raisedExceptions","changeable":true,"resolveProxies":true,"lowerBound":0,"id":890,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"redefinedOperations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":891,"derived":false},{"id":892,"eClass":"EGenericType"},{"id":893,"eClass":"EGenericType"},{"id":894,"eClass":"EGenericType"},{"id":895,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":896,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":897,"many":false,"required":false,"eClass":"EParameter"},{"id":898,"eClass":"EGenericType"},{"id":899,"eClass":"EGenericType"},{"id":900,"eClass":"EGenericType"},{"id":901,"eClass":"EGenericType"},{"id":902,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":903,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":904,"many":false,"required":false,"eClass":"EParameter"},{"id":905,"eClass":"EGenericType"},{"id":906,"eClass":"EGenericType"},{"id":907,"eClass":"EGenericType"},{"id":908,"eClass":"EGenericType"},{"id":909,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":910,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":911,"many":false,"required":false,"eClass":"EParameter"},{"id":912,"eClass":"EGenericType"},{"id":913,"eClass":"EGenericType"},{"id":914,"eClass":"EGenericType"},{"id":915,"eClass":"EGenericType"},{"id":916,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":917,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":918,"many":false,"required":false,"eClass":"EParameter"},{"id":919,"eClass":"EGenericType"},{"id":920,"eClass":"EGenericType"},{"id":921,"eClass":"EGenericType"},{"id":922,"eClass":"EGenericType"},{"id":923,"eClass":"EGenericType"},{"id":924,"eClass":"EGenericType"},{"id":925,"eClass":"EGenericType"},{"id":926,"eClass":"EGenericType"},{"id":927,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":928,"derived":false},{"id":929,"eClass":"EGenericType"},{"id":930,"eClass":"EGenericType"},{"id":931,"eClass":"EGenericType"},{"id":932,"eClass":"EGenericType"},{"id":933,"eClass":"EGenericType"},{"id":934,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateArgumentCount","lowerBound":0,"id":935,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateArgumentTypeIsConformant","lowerBound":0,"id":936,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateSafeSourceCanBeNull","lowerBound":0,"id":937,"many":false,"required":false,"eClass":"EOperation"},{"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":"ownedArguments","changeable":true,"resolveProxies":true,"lowerBound":0,"id":938,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":939,"derived":false},{"id":940,"eClass":"EGenericType"},{"id":941,"eClass":"EGenericType"},{"id":942,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":943,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":944,"many":false,"required":false,"eClass":"EParameter"},{"id":945,"eClass":"EGenericType"},{"id":946,"eClass":"EGenericType"},{"id":947,"eClass":"EGenericType"},{"id":948,"eClass":"EGenericType"},{"id":949,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":950,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":951,"many":false,"required":false,"eClass":"EParameter"},{"id":952,"eClass":"EGenericType"},{"id":953,"eClass":"EGenericType"},{"id":954,"eClass":"EGenericType"},{"id":955,"eClass":"EGenericType"},{"id":956,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":957,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":958,"many":false,"required":false,"eClass":"EParameter"},{"id":959,"eClass":"EGenericType"},{"id":960,"eClass":"EGenericType"},{"id":961,"eClass":"EGenericType"},{"id":962,"eClass":"EGenericType"},{"id":963,"eClass":"EGenericType"},{"id":964,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredProperty","changeable":true,"resolveProxies":true,"lowerBound":0,"id":965,"derived":false},{"id":966,"eClass":"EGenericType"},{"id":967,"eClass":"EGenericType"},{"id":968,"eClass":"EGenericType"},{"id":969,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"URI","changeable":true,"lowerBound":0,"iD":false,"id":970,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"importedPackages","changeable":true,"resolveProxies":true,"lowerBound":0,"id":971,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"nsPrefix","changeable":true,"lowerBound":0,"iD":false,"id":972,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedPackages","changeable":true,"resolveProxies":true,"lowerBound":0,"id":973,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedProfileApplications","changeable":true,"resolveProxies":true,"lowerBound":0,"id":974,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningPackage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":975,"derived":false},{"id":976,"eClass":"EGenericType"},{"id":977,"eClass":"EGenericType"},{"id":978,"eClass":"EGenericType"},{"id":979,"eClass":"EGenericType"},{"id":980,"eClass":"EGenericType"},{"id":981,"eClass":"EGenericType"},{"id":982,"eClass":"EGenericType"},{"id":983,"eClass":"EGenericType"},{"container":true,"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":"owningPackage","changeable":true,"resolveProxies":true,"lowerBound":1,"id":984,"derived":false},{"id":985,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isTypeof","changeable":true,"lowerBound":1,"iD":false,"id":986,"derived":false},{"id":987,"eClass":"EGenericType"},{"id":988,"eClass":"EGenericType"},{"id":989,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"left","unsettable":false,"transient":false,"unique":true,"name":"associativity","changeable":true,"lowerBound":0,"iD":false,"id":990,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"0","unsettable":false,"transient":false,"unique":true,"name":"order","changeable":true,"lowerBound":1,"iD":false,"id":991,"derived":false},{"id":992,"eClass":"EGenericType"},{"id":993,"eClass":"EGenericType"},{"id":994,"eClass":"EGenericType"},{"id":995,"eClass":"EGenericType"},{"id":996,"eClass":"EGenericType"},{"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":"coercions","changeable":true,"resolveProxies":true,"lowerBound":0,"id":997,"derived":false},{"id":998,"eClass":"EGenericType"},{"id":999,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"profileApplications","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1000,"derived":false},{"id":1001,"eClass":"EGenericType"},{"id":1002,"eClass":"EGenericType"},{"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":"appliedProfile","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1003,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isStrict","changeable":true,"lowerBound":1,"iD":false,"id":1004,"derived":false},{"id":1005,"eClass":"EGenericType"},{"id":1006,"eClass":"EGenericType"},{"id":1007,"eClass":"EGenericType"},{"id":1008,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"isAttribute","lowerBound":1,"id":1009,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateCompatibleDefaultExpression","lowerBound":0,"id":1010,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"defaultValue","changeable":true,"lowerBound":0,"iD":false,"id":1011,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"defaultValueString","changeable":true,"lowerBound":0,"iD":false,"id":1012,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isComposite","changeable":true,"lowerBound":1,"iD":false,"id":1013,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isDerived","changeable":true,"lowerBound":1,"iD":false,"id":1014,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isID","changeable":true,"lowerBound":1,"iD":false,"id":1015,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isImplicit","changeable":true,"lowerBound":0,"iD":false,"id":1016,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isReadOnly","changeable":true,"lowerBound":1,"iD":false,"id":1017,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":true,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"true","unsettable":false,"transient":false,"unique":true,"name":"isResolveProxies","changeable":true,"lowerBound":1,"iD":false,"id":1018,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isTransient","changeable":true,"lowerBound":1,"iD":false,"id":1019,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isUnsettable","changeable":true,"lowerBound":1,"iD":false,"id":1020,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isVolatile","changeable":true,"lowerBound":1,"iD":false,"id":1021,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"keys","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1022,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"opposite","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1023,"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":"ownedExpression","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1024,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"redefinedProperties","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1025,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredProperty","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1026,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"subsettedProperty","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1027,"derived":false},{"id":1028,"eClass":"EGenericType"},{"id":1029,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"p","lowerBound":1,"id":1030,"many":false,"required":true,"eClass":"EParameter"},{"id":1031,"eClass":"EGenericType"},{"id":1032,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1033,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1034,"many":false,"required":false,"eClass":"EParameter"},{"id":1035,"eClass":"EGenericType"},{"id":1036,"eClass":"EGenericType"},{"id":1037,"eClass":"EGenericType"},{"id":1038,"eClass":"EGenericType"},{"id":1039,"eClass":"EGenericType"},{"id":1040,"eClass":"EGenericType"},{"id":1041,"eClass":"EGenericType"},{"id":1042,"eClass":"EGenericType"},{"id":1043,"eClass":"EGenericType"},{"id":1044,"eClass":"EGenericType"},{"id":1045,"eClass":"EGenericType"},{"id":1046,"eClass":"EGenericType"},{"id":1047,"eClass":"EGenericType"},{"id":1048,"eClass":"EGenericType"},{"id":1049,"eClass":"EGenericType"},{"id":1050,"eClass":"EGenericType"},{"id":1051,"eClass":"EGenericType"},{"id":1052,"eClass":"EGenericType"},{"id":1053,"eClass":"EGenericType"},{"id":1054,"eClass":"EGenericType"},{"id":1055,"eClass":"EGenericType"},{"id":1056,"eClass":"EGenericType"},{"id":1057,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getSpecializedReferredPropertyOwningType","lowerBound":1,"id":1058,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"getSpecializedReferredPropertyType","lowerBound":1,"id":1059,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateCompatibleResultType","lowerBound":0,"id":1060,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateNonStaticSourceTypeIsConformant","lowerBound":0,"id":1061,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateSafeSourceCanBeNull","lowerBound":0,"id":1062,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateUnsafeSourceCanNotBeNull","lowerBound":0,"id":1063,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredProperty","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1064,"derived":false},{"id":1065,"eClass":"EGenericType"},{"id":1066,"eClass":"EGenericType"},{"id":1067,"eClass":"EGenericType"},{"id":1068,"eClass":"EGenericType"},{"id":1069,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1070,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1071,"many":false,"required":false,"eClass":"EParameter"},{"id":1072,"eClass":"EGenericType"},{"id":1073,"eClass":"EGenericType"},{"id":1074,"eClass":"EGenericType"},{"id":1075,"eClass":"EGenericType"},{"id":1076,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1077,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1078,"many":false,"required":false,"eClass":"EParameter"},{"id":1079,"eClass":"EGenericType"},{"id":1080,"eClass":"EGenericType"},{"id":1081,"eClass":"EGenericType"},{"id":1082,"eClass":"EGenericType"},{"id":1083,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1084,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1085,"many":false,"required":false,"eClass":"EParameter"},{"id":1086,"eClass":"EGenericType"},{"id":1087,"eClass":"EGenericType"},{"id":1088,"eClass":"EGenericType"},{"id":1089,"eClass":"EGenericType"},{"id":1090,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1091,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1092,"many":false,"required":false,"eClass":"EParameter"},{"id":1093,"eClass":"EGenericType"},{"id":1094,"eClass":"EGenericType"},{"id":1095,"eClass":"EGenericType"},{"id":1096,"eClass":"EGenericType"},{"id":1097,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"initial","unsettable":false,"transient":false,"unique":true,"name":"kind","changeable":true,"lowerBound":1,"iD":false,"id":1098,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningState","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1099,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningStateMachine","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1100,"derived":false},{"id":1101,"eClass":"EGenericType"},{"id":1102,"eClass":"EGenericType"},{"id":1103,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedConnectionPoints","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1104,"derived":false},{"id":1105,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedConnectionPoints","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1106,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"realSymbol","changeable":true,"lowerBound":1,"iD":false,"id":1107,"derived":false},{"id":1108,"eClass":"EGenericType"},{"id":1109,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getReferredElement","lowerBound":1,"id":1110,"many":false,"required":true,"eClass":"EOperation"},{"id":1111,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"extendedRegion","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1112,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedSubvertexes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1113,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedTransitions","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1114,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningState","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1115,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningStateMachine","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1116,"derived":false},{"id":1117,"eClass":"EGenericType"},{"id":1118,"eClass":"EGenericType"},{"id":1119,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningRegion","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1120,"derived":false},{"id":1121,"eClass":"EGenericType"},{"container":true,"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":"owningRegion","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1122,"derived":false},{"id":1123,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedRegions","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1124,"derived":false},{"id":1125,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedRegions","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1126,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"specializeIn","lowerBound":1,"id":1127,"many":false,"required":true,"eClass":"EOperation"},{"id":1128,"eClass":"EGenericType"},{"id":1129,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"expr","lowerBound":1,"id":1130,"many":false,"required":true,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"selfType","lowerBound":1,"id":1131,"many":false,"required":true,"eClass":"EParameter"},{"id":1132,"eClass":"EGenericType"},{"id":1133,"eClass":"EGenericType"},{"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":"signal","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1134,"derived":false},{"id":1135,"eClass":"EGenericType"},{"id":1136,"eClass":"EGenericType"},{"id":1137,"eClass":"EGenericType"},{"id":1138,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsNotInvalid","lowerBound":0,"id":1139,"many":false,"required":false,"eClass":"EOperation"},{"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":"ownedParts","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1140,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":0,"iD":false,"id":1141,"derived":false},{"id":1142,"eClass":"EGenericType"},{"id":1143,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1144,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1145,"many":false,"required":false,"eClass":"EParameter"},{"id":1146,"eClass":"EGenericType"},{"id":1147,"eClass":"EGenericType"},{"id":1148,"eClass":"EGenericType"},{"id":1149,"eClass":"EGenericType"},{"id":1150,"eClass":"EGenericType"},{"id":1151,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsNotInvalid","lowerBound":0,"id":1152,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedInit","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1153,"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":"referredProperty","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1154,"derived":false},{"id":1155,"eClass":"EGenericType"},{"id":1156,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1157,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1158,"many":false,"required":false,"eClass":"EParameter"},{"id":1159,"eClass":"EGenericType"},{"id":1160,"eClass":"EGenericType"},{"id":1161,"eClass":"EGenericType"},{"id":1162,"eClass":"EGenericType"},{"id":1163,"eClass":"EGenericType"},{"id":1164,"eClass":"EGenericType"},{"id":1165,"eClass":"EGenericType"},{"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":"definingProperty","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1166,"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":"ownedValues","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1167,"derived":false},{"id":1168,"eClass":"EGenericType"},{"id":1169,"eClass":"EGenericType"},{"id":1170,"eClass":"EGenericType"},{"id":1171,"eClass":"EGenericType"},{"id":1172,"eClass":"EGenericType"},{"id":1173,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":true,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"isComposite","changeable":false,"lowerBound":1,"iD":false,"id":1174,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":true,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"isOrthogonal","changeable":false,"lowerBound":1,"iD":false,"id":1175,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":true,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"isSimple","changeable":false,"lowerBound":1,"iD":false,"id":1176,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":true,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"isSubmachineState","changeable":false,"lowerBound":1,"iD":false,"id":1177,"derived":true},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedDeferrableTriggers","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1178,"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":"ownedDoActivity","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1179,"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":"ownedEntry","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1180,"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":"ownedExit","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1181,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"redefinedState","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1182,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"submachines","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1183,"derived":false},{"id":1184,"eClass":"EGenericType"},{"id":1185,"eClass":"EGenericType"},{"id":1186,"eClass":"EGenericType"},{"id":1187,"eClass":"EGenericType"},{"id":1188,"eClass":"EGenericType"},{"id":1189,"eClass":"EGenericType"},{"id":1190,"eClass":"EGenericType"},{"id":1191,"eClass":"EGenericType"},{"id":1192,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningState","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1193,"derived":false},{"id":1194,"eClass":"EGenericType"},{"id":1195,"eClass":"EGenericType"},{"id":1196,"eClass":"EGenericType"},{"id":1197,"eClass":"EGenericType"},{"id":1198,"eClass":"EGenericType"},{"id":1199,"eClass":"EGenericType"},{"id":1200,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"submachineStates","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1201,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsNotInvalid","lowerBound":0,"id":1202,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredState","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1203,"derived":false},{"id":1204,"eClass":"EGenericType"},{"id":1205,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1206,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1207,"many":false,"required":false,"eClass":"EParameter"},{"id":1208,"eClass":"EGenericType"},{"id":1209,"eClass":"EGenericType"},{"id":1210,"eClass":"EGenericType"},{"id":1211,"eClass":"EGenericType"},{"id":1212,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"extendedStateMachines","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1213,"derived":false},{"id":1214,"eClass":"EGenericType"},{"id":1215,"eClass":"EGenericType"},{"id":1216,"eClass":"EGenericType"},{"id":1217,"eClass":"EGenericType"},{"id":1218,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedExtenders","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1219,"derived":false},{"id":1220,"eClass":"EGenericType"},{"id":1221,"eClass":"EGenericType"},{"container":true,"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":"owningStereotype","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1222,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isRequired","changeable":true,"lowerBound":1,"iD":false,"id":1223,"derived":false},{"id":1224,"eClass":"EGenericType"},{"id":1225,"eClass":"EGenericType"},{"id":1226,"eClass":"EGenericType"},{"id":1227,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"stringSymbol","changeable":true,"lowerBound":1,"iD":false,"id":1228,"derived":false},{"id":1229,"eClass":"EGenericType"},{"id":1230,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedSubstitutions","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1231,"derived":false},{"container":true,"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":"owningElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1232,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"templateSignature","changeable":false,"resolveProxies":false,"lowerBound":1,"id":1233,"derived":true},{"id":1234,"eClass":"EGenericType"},{"id":1235,"eClass":"EGenericType"},{"container":true,"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":"owningBinding","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1236,"derived":false},{"id":1237,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedBindings","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1238,"derived":false},{"id":1239,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"constrainingClasses","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1240,"derived":false},{"container":true,"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":"owningSignature","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1241,"derived":false},{"id":1242,"eClass":"EGenericType"},{"id":1243,"eClass":"EGenericType"},{"id":1244,"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":"ownedParameters","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1245,"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":"actual","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1246,"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":"formal","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1247,"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":"ownedWildcard","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1248,"derived":false},{"id":1249,"eClass":"EGenericType"},{"id":1250,"eClass":"EGenericType"},{"id":1251,"eClass":"EGenericType"},{"id":1252,"eClass":"EGenericType"},{"id":1253,"eClass":"EGenericType"},{"container":true,"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":"owningElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1254,"derived":false},{"id":1255,"eClass":"EGenericType"},{"id":1256,"eClass":"EGenericType"},{"id":1257,"eClass":"EGenericType"},{"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":"ownedSignature","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1258,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"unspecializedElement","changeable":true,"resolveProxies":false,"lowerBound":0,"id":1259,"derived":false},{"id":1260,"eClass":"EGenericType"},{"id":1261,"eClass":"EGenericType"},{"id":1262,"eClass":"EGenericType"},{"id":1263,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"external","unsettable":false,"transient":false,"unique":true,"name":"kind","changeable":true,"lowerBound":1,"iD":false,"id":1264,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedTriggers","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1265,"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":"source","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1266,"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":"target","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1267,"derived":false},{"id":1268,"eClass":"EGenericType"},{"id":1269,"eClass":"EGenericType"},{"id":1270,"eClass":"EGenericType"},{"id":1271,"eClass":"EGenericType"},{"id":1272,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningTransition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1273,"derived":false},{"id":1274,"eClass":"EGenericType"},{"id":1275,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"outgoingTransitions","changeable":false,"resolveProxies":true,"lowerBound":0,"id":1276,"derived":false},{"id":1277,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"incomingTransitions","changeable":false,"resolveProxies":true,"lowerBound":0,"id":1278,"derived":false},{"id":1279,"eClass":"EGenericType"},{"id":1280,"eClass":"EGenericType"},{"id":1281,"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":"ownedParts","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1282,"derived":false},{"id":1283,"eClass":"EGenericType"},{"id":1284,"eClass":"EGenericType"},{"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":"ownedInit","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1285,"derived":false},{"id":1286,"eClass":"EGenericType"},{"id":1287,"eClass":"EGenericType"},{"id":1288,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"flattenedType","lowerBound":0,"id":1289,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"isClass","lowerBound":0,"id":1290,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"isTemplateParameter","lowerBound":0,"id":1291,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"specializeIn","lowerBound":1,"id":1292,"many":false,"required":true,"eClass":"EOperation"},{"id":1293,"eClass":"EGenericType"},{"id":1294,"eClass":"EGenericType"},{"id":1295,"eClass":"EGenericType"},{"id":1296,"eClass":"EGenericType"},{"id":1297,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"expr","lowerBound":1,"id":1298,"many":false,"required":true,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"selfType","lowerBound":1,"id":1299,"many":false,"required":true,"eClass":"EParameter"},{"id":1300,"eClass":"EGenericType"},{"id":1301,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1302,"derived":false},{"id":1303,"eClass":"EGenericType"},{"id":1304,"eClass":"EGenericType"},{"id":1305,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"CompatibleBody","lowerBound":1,"id":1306,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":true,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"isMany","changeable":false,"lowerBound":1,"iD":false,"id":1307,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":true,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"true","unsettable":false,"transient":false,"unique":true,"name":"isRequired","changeable":true,"lowerBound":1,"iD":false,"id":1308,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1309,"derived":false},{"id":1310,"eClass":"EGenericType"},{"id":1311,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"bodySpecification","lowerBound":1,"id":1312,"many":false,"required":true,"eClass":"EParameter"},{"id":1313,"eClass":"EGenericType"},{"id":1314,"eClass":"EGenericType"},{"id":1315,"eClass":"EGenericType"},{"id":1316,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"unlimitedNaturalSymbol","changeable":true,"lowerBound":1,"iD":false,"id":1317,"derived":false},{"id":1318,"eClass":"EGenericType"},{"id":1319,"eClass":"EGenericType"},{"id":1320,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"booleanValue","lowerBound":0,"id":1321,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"integerValue","lowerBound":0,"id":1322,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"isComputable","lowerBound":1,"id":1323,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"isNull","lowerBound":1,"id":1324,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"stringValue","lowerBound":0,"id":1325,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"unlimitedValue","lowerBound":0,"id":1326,"many":false,"required":false,"eClass":"EOperation"},{"id":1327,"eClass":"EGenericType"},{"id":1328,"eClass":"EGenericType"},{"id":1329,"eClass":"EGenericType"},{"id":1330,"eClass":"EGenericType"},{"id":1331,"eClass":"EGenericType"},{"id":1332,"eClass":"EGenericType"},{"id":1333,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateCompatibleInitialiserType","lowerBound":0,"id":1334,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isImplicit","changeable":true,"lowerBound":0,"iD":false,"id":1335,"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":"ownedInit","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1336,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"representedParameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1337,"derived":false},{"id":1338,"eClass":"EGenericType"},{"id":1339,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1340,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1341,"many":false,"required":false,"eClass":"EParameter"},{"id":1342,"eClass":"EGenericType"},{"id":1343,"eClass":"EGenericType"},{"id":1344,"eClass":"EGenericType"},{"id":1345,"eClass":"EGenericType"},{"id":1346,"eClass":"EGenericType"},{"id":1347,"eClass":"EGenericType"},{"id":1348,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsNotInvalid","lowerBound":0,"id":1349,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"typeValue","changeable":true,"resolveProxies":false,"lowerBound":0,"id":1350,"derived":false},{"id":1351,"eClass":"EGenericType"},{"id":1352,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1353,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1354,"many":false,"required":false,"eClass":"EParameter"},{"id":1355,"eClass":"EGenericType"},{"id":1356,"eClass":"EGenericType"},{"id":1357,"eClass":"EGenericType"},{"id":1358,"eClass":"EGenericType"},{"id":1359,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"validateTypeIsNotInvalid","lowerBound":0,"id":1360,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isImplicit","changeable":true,"lowerBound":0,"iD":false,"id":1361,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1362,"derived":false},{"id":1363,"eClass":"EGenericType"},{"id":1364,"eClass":"EGenericType"},{"id":1365,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1366,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1367,"many":false,"required":false,"eClass":"EParameter"},{"id":1368,"eClass":"EGenericType"},{"id":1369,"eClass":"EGenericType"},{"id":1370,"eClass":"EGenericType"},{"id":1371,"eClass":"EGenericType"},{"id":1372,"eClass":"EGenericType"},{"id":1373,"eClass":"EGenericType"},{"id":1374,"eClass":"EGenericType"},{"id":1375,"eClass":"EGenericType"},{"id":1376,"eClass":"EGenericType"},{"id":1377,"eClass":"EGenericType"},{"id":1378,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"lowerBound","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1379,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"upperBound","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1380,"derived":false},{"id":1381,"eClass":"EGenericType"},{"id":1382,"eClass":"EGenericType"},{"id":1383,"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":0,"target":47},{"source":0,"target":48},{"source":0,"target":49},{"source":0,"target":50},{"source":0,"target":51},{"source":0,"target":52},{"source":0,"target":53},{"source":0,"target":54},{"source":0,"target":55},{"source":0,"target":56},{"source":0,"target":57},{"source":0,"target":58},{"source":0,"target":59},{"source":0,"target":60},{"source":0,"target":61},{"source":0,"target":62},{"source":0,"target":63},{"source":0,"target":64},{"source":0,"target":65},{"source":0,"target":66},{"source":0,"target":67},{"source":0,"target":68},{"source":0,"target":69},{"source":0,"target":70},{"source":0,"target":71},{"source":0,"target":72},{"source":0,"target":73},{"source":0,"target":74},{"source":0,"target":75},{"source":0,"target":76},{"source":0,"target":77},{"source":0,"target":78},{"source":0,"target":79},{"source":0,"target":80},{"source":0,"target":81},{"source":0,"target":82},{"source":0,"target":83},{"source":0,"target":84},{"source":0,"target":85},{"source":0,"target":86},{"source":0,"target":87},{"source":0,"target":88},{"source":0,"target":89},{"source":0,"target":90},{"source":0,"target":91},{"source":0,"target":92},{"source":0,"target":93},{"source":0,"target":94},{"source":0,"target":95},{"source":0,"target":96},{"source":0,"target":97},{"source":0,"target":98},{"source":0,"target":99},{"source":0,"target":100},{"source":0,"target":101},{"source":0,"target":102},{"source":0,"target":103},{"source":0,"target":104},{"source":0,"target":105},{"source":0,"target":106},{"source":0,"target":107},{"source":0,"target":108},{"source":0,"target":109},{"source":0,"target":110},{"source":0,"target":111},{"source":0,"target":112},{"source":0,"target":113},{"source":0,"target":114},{"source":0,"target":115},{"source":0,"target":116},{"source":0,"target":117},{"source":0,"target":118},{"source":0,"target":119},{"source":0,"target":120},{"source":0,"target":121},{"source":0,"target":122},{"source":0,"target":123},{"source":0,"target":124},{"source":0,"target":125},{"source":0,"target":126},{"source":0,"target":127},{"source":0,"target":128},{"source":0,"target":129},{"source":0,"target":130},{"source":0,"target":131},{"source":0,"target":132},{"source":0,"target":133},{"source":0,"target":134},{"source":0,"target":135},{"source":0,"target":136},{"source":0,"target":137},{"source":1,"target":0},{"source":2,"target":0},{"source":3,"target":0},{"source":4,"target":0},{"source":5,"target":0},{"source":6,"target":0},{"source":7,"target":0},{"source":8,"target":0},{"source":9,"target":0},{"source":9,"target":138},{"source":9,"target":139},{"source":138,"target":9},{"source":139,"target":9},{"source":10,"target":0},{"source":10,"target":140},{"source":10,"target":141},{"source":10,"target":142},{"source":10,"target":143},{"source":10,"target":144},{"source":140,"target":10},{"source":141,"target":10},{"source":142,"target":10},{"source":143,"target":10},{"source":144,"target":10},{"source":11,"target":0},{"source":11,"target":145},{"source":11,"target":146},{"source":11,"target":147},{"source":11,"target":148},{"source":11,"target":149},{"source":11,"target":150},{"source":11,"target":151},{"source":11,"target":152},{"source":11,"target":153},{"source":11,"target":154},{"source":145,"target":11},{"source":146,"target":11},{"source":147,"target":11},{"source":148,"target":11},{"source":149,"target":11},{"source":150,"target":11},{"source":151,"target":11},{"source":152,"target":11},{"source":153,"target":11},{"source":154,"target":11},{"source":12,"target":0},{"source":12,"target":155},{"source":12,"target":156},{"source":12,"target":157},{"source":155,"target":12},{"source":156,"target":12},{"source":157,"target":12},{"source":13,"target":0},{"source":13,"target":74},{"source":13,"target":158},{"source":13,"target":159},{"source":13,"target":160},{"source":13,"target":161},{"source":158,"target":42},{"source":158,"target":162},{"source":158,"target":13},{"source":162,"target":42},{"source":159,"target":36},{"source":159,"target":163},{"source":159,"target":13},{"source":163,"target":36},{"source":160,"target":42},{"source":160,"target":164},{"source":160,"target":13},{"source":164,"target":42},{"source":161,"target":74},{"source":14,"target":0},{"source":14,"target":22},{"source":14,"target":165},{"source":165,"target":22},{"source":15,"target":0},{"source":15,"target":22},{"source":15,"target":166},{"source":15,"target":167},{"source":166,"target":94},{"source":166,"target":168},{"source":166,"target":15},{"source":166,"target":169},{"source":168,"target":94},{"source":167,"target":22},{"source":16,"target":0},{"source":16,"target":76},{"source":16,"target":170},{"source":16,"target":171},{"source":170,"target":15},{"source":170,"target":172},{"source":170,"target":16},{"source":172,"target":15},{"source":171,"target":76},{"source":17,"target":0},{"source":17,"target":27},{"source":17,"target":173},{"source":173,"target":27},{"source":18,"target":0},{"source":18,"target":22},{"source":18,"target":174},{"source":18,"target":175},{"source":174,"target":120},{"source":174,"target":176},{"source":174,"target":18},{"source":174,"target":177},{"source":176,"target":120},{"source":175,"target":22},{"source":19,"target":0},{"source":19,"target":90},{"source":19,"target":178},{"source":19,"target":179},{"source":19,"target":180},{"source":178,"target":181},{"source":178,"target":19},{"source":178,"target":182},{"source":178,"target":183},{"source":182,"target":184},{"source":182,"target":178},{"source":183,"target":185},{"source":183,"target":178},{"source":185,"target":186},{"source":185,"target":187},{"source":179,"target":1},{"source":179,"target":188},{"source":179,"target":19},{"source":188,"target":1},{"source":180,"target":90},{"source":20,"target":0},{"source":20,"target":79},{"source":20,"target":189},{"source":20,"target":190},{"source":20,"target":191},{"source":20,"target":192},{"source":20,"target":193},{"source":189,"target":194},{"source":189,"target":20},{"source":189,"target":195},{"source":189,"target":196},{"source":195,"target":197},{"source":195,"target":189},{"source":196,"target":198},{"source":196,"target":189},{"source":198,"target":199},{"source":198,"target":200},{"source":190,"target":1},{"source":190,"target":201},{"source":190,"target":20},{"source":201,"target":1},{"source":191,"target":1},{"source":191,"target":202},{"source":191,"target":20},{"source":202,"target":1},{"source":192,"target":79},{"source":192,"target":203},{"source":192,"target":20},{"source":203,"target":79},{"source":193,"target":79},{"source":21,"target":0},{"source":21,"target":74},{"source":21,"target":204},{"source":21,"target":205},{"source":204,"target":80},{"source":204,"target":206},{"source":204,"target":21},{"source":206,"target":80},{"source":205,"target":74},{"source":22,"target":0},{"source":22,"target":125},{"source":22,"target":75},{"source":22,"target":119},{"source":22,"target":207},{"source":22,"target":208},{"source":22,"target":209},{"source":22,"target":210},{"source":22,"target":211},{"source":22,"target":212},{"source":22,"target":213},{"source":22,"target":214},{"source":22,"target":215},{"source":22,"target":216},{"source":22,"target":217},{"source":22,"target":218},{"source":22,"target":219},{"source":22,"target":220},{"source":22,"target":221},{"source":207,"target":222},{"source":207,"target":22},{"source":207,"target":223},{"source":207,"target":224},{"source":223,"target":225},{"source":223,"target":207},{"source":224,"target":226},{"source":224,"target":207},{"source":226,"target":227},{"source":226,"target":228},{"source":208,"target":113},{"source":208,"target":229},{"source":208,"target":22},{"source":208,"target":230},{"source":229,"target":113},{"source":209,"target":6},{"source":209,"target":231},{"source":209,"target":22},{"source":231,"target":6},{"source":210,"target":1},{"source":210,"target":232},{"source":210,"target":22},{"source":232,"target":1},{"source":211,"target":1},{"source":211,"target":233},{"source":211,"target":22},{"source":233,"target":1},{"source":212,"target":1},{"source":212,"target":234},{"source":212,"target":22},{"source":234,"target":1},{"source":213,"target":18},{"source":213,"target":235},{"source":213,"target":22},{"source":235,"target":18},{"source":214,"target":34},{"source":214,"target":236},{"source":214,"target":22},{"source":236,"target":34},{"source":215,"target":80},{"source":215,"target":237},{"source":215,"target":22},{"source":215,"target":238},{"source":237,"target":80},{"source":216,"target":94},{"source":216,"target":239},{"source":216,"target":22},{"source":216,"target":240},{"source":239,"target":94},{"source":217,"target":85},{"source":217,"target":241},{"source":217,"target":22},{"source":217,"target":242},{"source":241,"target":85},{"source":218,"target":22},{"source":218,"target":243},{"source":218,"target":22},{"source":243,"target":22},{"source":219,"target":125},{"source":220,"target":75},{"source":221,"target":119},{"source":23,"target":0},{"source":23,"target":25},{"source":23,"target":244},{"source":23,"target":245},{"source":23,"target":246},{"source":244,"target":247},{"source":244,"target":23},{"source":244,"target":248},{"source":244,"target":249},{"source":248,"target":250},{"source":248,"target":244},{"source":249,"target":251},{"source":249,"target":244},{"source":251,"target":252},{"source":251,"target":253},{"source":245,"target":79},{"source":245,"target":254},{"source":245,"target":23},{"source":254,"target":79},{"source":246,"target":25},{"source":24,"target":0},{"source":24,"target":64},{"source":24,"target":255},{"source":24,"target":256},{"source":24,"target":257},{"source":24,"target":258},{"source":24,"target":259},{"source":24,"target":260},{"source":24,"target":261},{"source":24,"target":262},{"source":255,"target":263},{"source":255,"target":24},{"source":255,"target":264},{"source":255,"target":265},{"source":264,"target":266},{"source":264,"target":255},{"source":265,"target":267},{"source":265,"target":255},{"source":267,"target":268},{"source":267,"target":269},{"source":256,"target":270},{"source":256,"target":24},{"source":256,"target":271},{"source":256,"target":272},{"source":271,"target":273},{"source":271,"target":256},{"source":272,"target":274},{"source":272,"target":256},{"source":274,"target":275},{"source":274,"target":276},{"source":257,"target":277},{"source":257,"target":24},{"source":257,"target":278},{"source":257,"target":279},{"source":278,"target":280},{"source":278,"target":257},{"source":279,"target":281},{"source":279,"target":257},{"source":281,"target":282},{"source":281,"target":283},{"source":258,"target":284},{"source":258,"target":24},{"source":258,"target":285},{"source":258,"target":286},{"source":285,"target":287},{"source":285,"target":258},{"source":286,"target":288},{"source":286,"target":258},{"source":288,"target":289},{"source":288,"target":290},{"source":259,"target":291},{"source":259,"target":24},{"source":259,"target":292},{"source":259,"target":293},{"source":292,"target":294},{"source":292,"target":259},{"source":293,"target":295},{"source":293,"target":259},{"source":295,"target":296},{"source":295,"target":297},{"source":260,"target":10},{"source":260,"target":298},{"source":260,"target":24},{"source":298,"target":10},{"source":261,"target":25},{"source":261,"target":299},{"source":261,"target":24},{"source":299,"target":25},{"source":262,"target":64},{"source":25,"target":0},{"source":25,"target":127},{"source":25,"target":300},{"source":25,"target":301},{"source":300,"target":302},{"source":300,"target":25},{"source":300,"target":303},{"source":300,"target":304},{"source":303,"target":305},{"source":303,"target":300},{"source":304,"target":306},{"source":304,"target":300},{"source":306,"target":307},{"source":306,"target":308},{"source":301,"target":127},{"source":26,"target":0},{"source":26,"target":25},{"source":26,"target":309},{"source":26,"target":310},{"source":26,"target":311},{"source":309,"target":79},{"source":309,"target":312},{"source":309,"target":26},{"source":312,"target":79},{"source":310,"target":79},{"source":310,"target":313},{"source":310,"target":26},{"source":313,"target":79},{"source":311,"target":25},{"source":27,"target":0},{"source":27,"target":35},{"source":27,"target":314},{"source":27,"target":315},{"source":27,"target":316},{"source":27,"target":317},{"source":27,"target":318},{"source":314,"target":125},{"source":314,"target":319},{"source":314,"target":27},{"source":319,"target":125},{"source":315,"target":1},{"source":315,"target":320},{"source":315,"target":27},{"source":320,"target":1},{"source":316,"target":2},{"source":316,"target":321},{"source":316,"target":27},{"source":321,"target":2},{"source":317,"target":8},{"source":317,"target":322},{"source":317,"target":27},{"source":322,"target":8},{"source":318,"target":35},{"source":28,"target":0},{"source":28,"target":42},{"source":28,"target":323},{"source":28,"target":324},{"source":28,"target":325},{"source":28,"target":326},{"source":323,"target":42},{"source":323,"target":327},{"source":323,"target":28},{"source":323,"target":328},{"source":327,"target":42},{"source":324,"target":6},{"source":324,"target":329},{"source":324,"target":28},{"source":329,"target":6},{"source":325,"target":42},{"source":325,"target":330},{"source":325,"target":28},{"source":325,"target":331},{"source":330,"target":42},{"source":326,"target":42},{"source":29,"target":0},{"source":29,"target":74},{"source":29,"target":332},{"source":29,"target":333},{"source":29,"target":334},{"source":332,"target":32},{"source":332,"target":335},{"source":332,"target":29},{"source":332,"target":336},{"source":335,"target":32},{"source":333,"target":22},{"source":333,"target":337},{"source":333,"target":29},{"source":337,"target":22},{"source":334,"target":74},{"source":30,"target":0},{"source":30,"target":42},{"source":30,"target":338},{"source":30,"target":339},{"source":30,"target":340},{"source":338,"target":31},{"source":338,"target":341},{"source":338,"target":30},{"source":338,"target":342},{"source":341,"target":31},{"source":339,"target":108},{"source":339,"target":343},{"source":339,"target":30},{"source":339,"target":344},{"source":343,"target":108},{"source":340,"target":42},{"source":31,"target":0},{"source":31,"target":74},{"source":31,"target":345},{"source":31,"target":346},{"source":31,"target":347},{"source":31,"target":342},{"source":31,"target":348},{"source":31,"target":349},{"source":31,"target":350},{"source":345,"target":32},{"source":345,"target":351},{"source":345,"target":31},{"source":345,"target":352},{"source":351,"target":32},{"source":352,"target":6},{"source":352,"target":353},{"source":352,"target":345},{"source":353,"target":6},{"source":346,"target":84},{"source":346,"target":354},{"source":346,"target":31},{"source":354,"target":84},{"source":347,"target":32},{"source":347,"target":355},{"source":347,"target":31},{"source":347,"target":356},{"source":355,"target":32},{"source":342,"target":30},{"source":342,"target":357},{"source":342,"target":31},{"source":342,"target":338},{"source":357,"target":30},{"source":348,"target":71},{"source":348,"target":358},{"source":348,"target":31},{"source":358,"target":71},{"source":349,"target":89},{"source":349,"target":359},{"source":349,"target":31},{"source":359,"target":89},{"source":350,"target":74},{"source":32,"target":0},{"source":32,"target":74},{"source":32,"target":360},{"source":32,"target":336},{"source":32,"target":361},{"source":32,"target":356},{"source":32,"target":362},{"source":32,"target":363},{"source":32,"target":364},{"source":360,"target":29},{"source":360,"target":365},{"source":360,"target":32},{"source":360,"target":366},{"source":365,"target":29},{"source":366,"target":6},{"source":366,"target":367},{"source":366,"target":360},{"source":367,"target":6},{"source":336,"target":29},{"source":336,"target":368},{"source":336,"target":32},{"source":336,"target":332},{"source":368,"target":29},{"source":361,"target":32},{"source":361,"target":369},{"source":361,"target":32},{"source":361,"target":362},{"source":369,"target":32},{"source":356,"target":31},{"source":356,"target":370},{"source":356,"target":32},{"source":356,"target":347},{"source":370,"target":31},{"source":362,"target":32},{"source":362,"target":371},{"source":362,"target":32},{"source":362,"target":361},{"source":371,"target":32},{"source":363,"target":85},{"source":363,"target":372},{"source":363,"target":32},{"source":372,"target":85},{"source":364,"target":74},{"source":33,"target":0},{"source":33,"target":134},{"source":33,"target":373},{"source":33,"target":374},{"source":33,"target":375},{"source":33,"target":376},{"source":373,"target":96},{"source":373,"target":377},{"source":373,"target":33},{"source":377,"target":96},{"source":374,"target":96},{"source":374,"target":378},{"source":374,"target":33},{"source":378,"target":96},{"source":375,"target":109},{"source":375,"target":379},{"source":375,"target":33},{"source":375,"target":380},{"source":379,"target":109},{"source":376,"target":134},{"source":34,"target":0},{"source":34,"target":74},{"source":34,"target":381},{"source":34,"target":382},{"source":34,"target":383},{"source":34,"target":384},{"source":34,"target":385},{"source":34,"target":386},{"source":34,"target":387},{"source":34,"target":388},{"source":34,"target":389},{"source":34,"target":390},{"source":34,"target":391},{"source":381,"target":392},{"source":381,"target":34},{"source":381,"target":393},{"source":381,"target":394},{"source":393,"target":395},{"source":393,"target":381},{"source":394,"target":396},{"source":394,"target":381},{"source":396,"target":397},{"source":396,"target":398},{"source":382,"target":42},{"source":382,"target":399},{"source":382,"target":34},{"source":399,"target":42},{"source":383,"target":75},{"source":383,"target":400},{"source":383,"target":34},{"source":400,"target":75},{"source":384,"target":1},{"source":384,"target":401},{"source":384,"target":34},{"source":401,"target":1},{"source":385,"target":61},{"source":385,"target":402},{"source":385,"target":34},{"source":385,"target":403},{"source":402,"target":61},{"source":386,"target":80},{"source":386,"target":404},{"source":386,"target":34},{"source":386,"target":405},{"source":404,"target":80},{"source":387,"target":80},{"source":387,"target":406},{"source":387,"target":34},{"source":387,"target":407},{"source":406,"target":80},{"source":388,"target":109},{"source":388,"target":408},{"source":388,"target":34},{"source":388,"target":409},{"source":408,"target":109},{"source":389,"target":120},{"source":389,"target":410},{"source":389,"target":34},{"source":389,"target":411},{"source":410,"target":120},{"source":390,"target":34},{"source":390,"target":412},{"source":390,"target":34},{"source":412,"target":34},{"source":391,"target":74},{"source":35,"target":0},{"source":35,"target":22},{"source":35,"target":413},{"source":35,"target":414},{"source":35,"target":415},{"source":413,"target":22},{"source":413,"target":416},{"source":413,"target":35},{"source":416,"target":22},{"source":414,"target":1},{"source":414,"target":417},{"source":414,"target":35},{"source":417,"target":1},{"source":415,"target":22},{"source":36,"target":0},{"source":36,"target":74},{"source":36,"target":418},{"source":36,"target":419},{"source":418,"target":6},{"source":418,"target":420},{"source":418,"target":36},{"source":420,"target":6},{"source":419,"target":74},{"source":37,"target":0},{"source":37,"target":18},{"source":37,"target":40},{"source":37,"target":421},{"source":37,"target":422},{"source":421,"target":18},{"source":422,"target":40},{"source":38,"target":0},{"source":38,"target":42},{"source":38,"target":423},{"source":38,"target":424},{"source":423,"target":125},{"source":423,"target":425},{"source":423,"target":38},{"source":425,"target":125},{"source":424,"target":42},{"source":39,"target":0},{"source":39,"target":42},{"source":39,"target":426},{"source":39,"target":427},{"source":39,"target":428},{"source":426,"target":6},{"source":426,"target":429},{"source":426,"target":39},{"source":429,"target":6},{"source":427,"target":94},{"source":427,"target":430},{"source":427,"target":39},{"source":430,"target":94},{"source":428,"target":42},{"source":40,"target":0},{"source":40,"target":22},{"source":40,"target":38},{"source":40,"target":431},{"source":40,"target":432},{"source":40,"target":433},{"source":431,"target":39},{"source":431,"target":434},{"source":431,"target":40},{"source":434,"target":39},{"source":432,"target":22},{"source":433,"target":38},{"source":41,"target":0},{"source":41,"target":130},{"source":41,"target":435},{"source":435,"target":130},{"source":42,"target":0},{"source":42,"target":135},{"source":42,"target":436},{"source":42,"target":437},{"source":42,"target":328},{"source":42,"target":438},{"source":42,"target":331},{"source":42,"target":439},{"source":42,"target":440},{"source":436,"target":42},{"source":436,"target":441},{"source":436,"target":42},{"source":441,"target":42},{"source":437,"target":42},{"source":437,"target":442},{"source":437,"target":42},{"source":437,"target":443},{"source":437,"target":444},{"source":442,"target":42},{"source":443,"target":125},{"source":443,"target":445},{"source":443,"target":437},{"source":445,"target":125},{"source":444,"target":6},{"source":444,"target":446},{"source":444,"target":437},{"source":446,"target":6},{"source":328,"target":28},{"source":328,"target":447},{"source":328,"target":42},{"source":328,"target":323},{"source":447,"target":28},{"source":438,"target":42},{"source":438,"target":448},{"source":438,"target":42},{"source":448,"target":42},{"source":331,"target":28},{"source":331,"target":449},{"source":331,"target":42},{"source":331,"target":325},{"source":449,"target":28},{"source":439,"target":43},{"source":439,"target":450},{"source":439,"target":42},{"source":439,"target":451},{"source":450,"target":43},{"source":440,"target":135},{"source":43,"target":0},{"source":43,"target":22},{"source":43,"target":451},{"source":43,"target":452},{"source":43,"target":453},{"source":43,"target":454},{"source":43,"target":455},{"source":451,"target":42},{"source":451,"target":456},{"source":451,"target":43},{"source":451,"target":439},{"source":456,"target":42},{"source":452,"target":1},{"source":452,"target":457},{"source":452,"target":43},{"source":457,"target":1},{"source":453,"target":1},{"source":453,"target":458},{"source":453,"target":43},{"source":458,"target":1},{"source":454,"target":112},{"source":454,"target":459},{"source":454,"target":43},{"source":459,"target":112},{"source":455,"target":22},{"source":44,"target":0},{"source":44,"target":64},{"source":44,"target":460},{"source":44,"target":461},{"source":44,"target":462},{"source":460,"target":463},{"source":460,"target":44},{"source":460,"target":464},{"source":460,"target":465},{"source":464,"target":466},{"source":464,"target":460},{"source":465,"target":467},{"source":465,"target":460},{"source":467,"target":468},{"source":467,"target":469},{"source":461,"target":46},{"source":461,"target":470},{"source":461,"target":44},{"source":470,"target":46},{"source":462,"target":64},{"source":45,"target":0},{"source":45,"target":35},{"source":45,"target":471},{"source":45,"target":472},{"source":471,"target":46},{"source":471,"target":473},{"source":471,"target":45},{"source":471,"target":474},{"source":473,"target":46},{"source":472,"target":35},{"source":46,"target":0},{"source":46,"target":53},{"source":46,"target":474},{"source":46,"target":475},{"source":46,"target":476},{"source":474,"target":45},{"source":474,"target":477},{"source":474,"target":46},{"source":474,"target":471},{"source":477,"target":45},{"source":475,"target":2},{"source":475,"target":478},{"source":475,"target":46},{"source":478,"target":2},{"source":476,"target":53},{"source":47,"target":0},{"source":47,"target":61},{"source":47,"target":479},{"source":47,"target":480},{"source":47,"target":481},{"source":47,"target":482},{"source":47,"target":483},{"source":479,"target":79},{"source":479,"target":484},{"source":479,"target":47},{"source":484,"target":79},{"source":480,"target":131},{"source":480,"target":485},{"source":480,"target":47},{"source":485,"target":131},{"source":481,"target":131},{"source":481,"target":486},{"source":481,"target":47},{"source":486,"target":131},{"source":482,"target":131},{"source":482,"target":487},{"source":482,"target":47},{"source":487,"target":131},{"source":483,"target":61},{"source":48,"target":0},{"source":48,"target":127},{"source":48,"target":488},{"source":48,"target":489},{"source":48,"target":490},{"source":48,"target":491},{"source":48,"target":492},{"source":488,"target":493},{"source":488,"target":48},{"source":488,"target":494},{"source":488,"target":495},{"source":494,"target":496},{"source":494,"target":488},{"source":495,"target":497},{"source":495,"target":488},{"source":497,"target":498},{"source":497,"target":499},{"source":489,"target":3},{"source":489,"target":500},{"source":489,"target":48},{"source":500,"target":3},{"source":490,"target":6},{"source":490,"target":501},{"source":490,"target":48},{"source":501,"target":6},{"source":491,"target":1},{"source":491,"target":502},{"source":491,"target":48},{"source":502,"target":1},{"source":492,"target":127},{"source":49,"target":0},{"source":49,"target":20},{"source":49,"target":503},{"source":49,"target":504},{"source":503,"target":1},{"source":503,"target":505},{"source":503,"target":49},{"source":505,"target":1},{"source":504,"target":20},{"source":50,"target":0},{"source":50,"target":109},{"source":50,"target":506},{"source":506,"target":109},{"source":51,"target":0},{"source":51,"target":79},{"source":51,"target":507},{"source":51,"target":508},{"source":51,"target":509},{"source":51,"target":510},{"source":51,"target":511},{"source":51,"target":512},{"source":507,"target":513},{"source":507,"target":51},{"source":507,"target":514},{"source":507,"target":515},{"source":514,"target":516},{"source":514,"target":507},{"source":515,"target":517},{"source":515,"target":507},{"source":517,"target":518},{"source":517,"target":519},{"source":508,"target":520},{"source":508,"target":51},{"source":508,"target":521},{"source":508,"target":522},{"source":521,"target":523},{"source":521,"target":508},{"source":522,"target":524},{"source":522,"target":508},{"source":524,"target":525},{"source":524,"target":526},{"source":509,"target":79},{"source":509,"target":527},{"source":509,"target":51},{"source":527,"target":79},{"source":510,"target":79},{"source":510,"target":528},{"source":510,"target":51},{"source":528,"target":79},{"source":511,"target":79},{"source":511,"target":529},{"source":511,"target":51},{"source":529,"target":79},{"source":512,"target":79},{"source":52,"target":0},{"source":52,"target":74},{"source":52,"target":530},{"source":52,"target":531},{"source":530,"target":75},{"source":530,"target":532},{"source":530,"target":52},{"source":532,"target":75},{"source":531,"target":74},{"source":53,"target":0},{"source":53,"target":74},{"source":53,"target":533},{"source":53,"target":534},{"source":53,"target":535},{"source":53,"target":536},{"source":53,"target":537},{"source":533,"target":22},{"source":533,"target":538},{"source":533,"target":53},{"source":538,"target":22},{"source":534,"target":107},{"source":534,"target":539},{"source":534,"target":53},{"source":534,"target":540},{"source":539,"target":107},{"source":535,"target":61},{"source":535,"target":541},{"source":535,"target":53},{"source":541,"target":61},{"source":536,"target":85},{"source":536,"target":542},{"source":536,"target":53},{"source":536,"target":543},{"source":542,"target":85},{"source":537,"target":74},{"source":54,"target":0},{"source":54,"target":78},{"source":54,"target":544},{"source":54,"target":545},{"source":54,"target":546},{"source":544,"target":547},{"source":544,"target":54},{"source":544,"target":548},{"source":544,"target":549},{"source":548,"target":550},{"source":548,"target":544},{"source":549,"target":551},{"source":549,"target":544},{"source":551,"target":552},{"source":551,"target":553},{"source":545,"target":2},{"source":545,"target":554},{"source":545,"target":54},{"source":554,"target":2},{"source":546,"target":78},{"source":55,"target":0},{"source":55,"target":64},{"source":55,"target":555},{"source":555,"target":64},{"source":56,"target":0},{"source":56,"target":22},{"source":56,"target":556},{"source":556,"target":22},{"source":57,"target":0},{"source":57,"target":65},{"source":57,"target":98},{"source":57,"target":557},{"source":57,"target":558},{"source":57,"target":559},{"source":57,"target":560},{"source":57,"target":561},{"source":57,"target":562},{"source":57,"target":563},{"source":57,"target":564},{"source":57,"target":565},{"source":557,"target":566},{"source":557,"target":57},{"source":557,"target":567},{"source":557,"target":568},{"source":567,"target":569},{"source":567,"target":557},{"source":568,"target":570},{"source":568,"target":557},{"source":570,"target":571},{"source":570,"target":572},{"source":558,"target":573},{"source":558,"target":57},{"source":558,"target":574},{"source":558,"target":575},{"source":574,"target":576},{"source":574,"target":558},{"source":575,"target":577},{"source":575,"target":558},{"source":577,"target":578},{"source":577,"target":579},{"source":559,"target":580},{"source":559,"target":57},{"source":559,"target":581},{"source":559,"target":582},{"source":581,"target":583},{"source":581,"target":559},{"source":582,"target":584},{"source":582,"target":559},{"source":584,"target":585},{"source":584,"target":586},{"source":560,"target":587},{"source":560,"target":57},{"source":560,"target":588},{"source":560,"target":589},{"source":588,"target":590},{"source":588,"target":560},{"source":589,"target":591},{"source":589,"target":560},{"source":591,"target":592},{"source":591,"target":593},{"source":561,"target":594},{"source":561,"target":57},{"source":561,"target":595},{"source":561,"target":596},{"source":595,"target":597},{"source":595,"target":561},{"source":596,"target":598},{"source":596,"target":561},{"source":598,"target":599},{"source":598,"target":600},{"source":562,"target":601},{"source":562,"target":57},{"source":562,"target":602},{"source":562,"target":603},{"source":602,"target":604},{"source":602,"target":562},{"source":603,"target":605},{"source":603,"target":562},{"source":605,"target":606},{"source":605,"target":607},{"source":563,"target":131},{"source":563,"target":608},{"source":563,"target":57},{"source":608,"target":131},{"source":564,"target":65},{"source":565,"target":98},{"source":58,"target":0},{"source":58,"target":80},{"source":58,"target":609},{"source":58,"target":610},{"source":58,"target":611},{"source":609,"target":86},{"source":609,"target":612},{"source":609,"target":58},{"source":612,"target":86},{"source":610,"target":86},{"source":610,"target":613},{"source":610,"target":58},{"source":613,"target":86},{"source":611,"target":80},{"source":59,"target":0},{"source":59,"target":65},{"source":59,"target":98},{"source":59,"target":614},{"source":59,"target":615},{"source":59,"target":616},{"source":59,"target":617},{"source":59,"target":618},{"source":59,"target":619},{"source":59,"target":620},{"source":59,"target":621},{"source":59,"target":622},{"source":59,"target":623},{"source":59,"target":624},{"source":59,"target":625},{"source":59,"target":626},{"source":59,"target":627},{"source":59,"target":628},{"source":59,"target":629},{"source":59,"target":630},{"source":59,"target":631},{"source":59,"target":632},{"source":614,"target":633},{"source":614,"target":59},{"source":614,"target":634},{"source":614,"target":635},{"source":634,"target":636},{"source":634,"target":614},{"source":635,"target":637},{"source":635,"target":614},{"source":637,"target":638},{"source":637,"target":639},{"source":615,"target":640},{"source":615,"target":59},{"source":615,"target":641},{"source":615,"target":642},{"source":641,"target":643},{"source":641,"target":615},{"source":642,"target":644},{"source":642,"target":615},{"source":644,"target":645},{"source":644,"target":646},{"source":616,"target":647},{"source":616,"target":59},{"source":616,"target":648},{"source":616,"target":649},{"source":648,"target":650},{"source":648,"target":616},{"source":649,"target":651},{"source":649,"target":616},{"source":651,"target":652},{"source":651,"target":653},{"source":617,"target":654},{"source":617,"target":59},{"source":617,"target":655},{"source":617,"target":656},{"source":655,"target":657},{"source":655,"target":617},{"source":656,"target":658},{"source":656,"target":617},{"source":658,"target":659},{"source":658,"target":660},{"source":618,"target":661},{"source":618,"target":59},{"source":618,"target":662},{"source":618,"target":663},{"source":662,"target":664},{"source":662,"target":618},{"source":663,"target":665},{"source":663,"target":618},{"source":665,"target":666},{"source":665,"target":667},{"source":619,"target":668},{"source":619,"target":59},{"source":619,"target":669},{"source":619,"target":670},{"source":669,"target":671},{"source":669,"target":619},{"source":670,"target":672},{"source":670,"target":619},{"source":672,"target":673},{"source":672,"target":674},{"source":620,"target":675},{"source":620,"target":59},{"source":620,"target":676},{"source":620,"target":677},{"source":676,"target":678},{"source":676,"target":620},{"source":677,"target":679},{"source":677,"target":620},{"source":679,"target":680},{"source":679,"target":681},{"source":621,"target":682},{"source":621,"target":59},{"source":621,"target":683},{"source":621,"target":684},{"source":683,"target":685},{"source":683,"target":621},{"source":684,"target":686},{"source":684,"target":621},{"source":686,"target":687},{"source":686,"target":688},{"source":622,"target":689},{"source":622,"target":59},{"source":622,"target":690},{"source":622,"target":691},{"source":690,"target":692},{"source":690,"target":622},{"source":691,"target":693},{"source":691,"target":622},{"source":693,"target":694},{"source":693,"target":695},{"source":623,"target":696},{"source":623,"target":59},{"source":623,"target":697},{"source":623,"target":698},{"source":697,"target":699},{"source":697,"target":623},{"source":698,"target":700},{"source":698,"target":623},{"source":700,"target":701},{"source":700,"target":702},{"source":624,"target":703},{"source":624,"target":59},{"source":624,"target":704},{"source":624,"target":705},{"source":704,"target":706},{"source":704,"target":624},{"source":705,"target":707},{"source":705,"target":624},{"source":707,"target":708},{"source":707,"target":709},{"source":625,"target":710},{"source":625,"target":59},{"source":625,"target":711},{"source":625,"target":712},{"source":711,"target":713},{"source":711,"target":625},{"source":712,"target":714},{"source":712,"target":625},{"source":714,"target":715},{"source":714,"target":716},{"source":626,"target":717},{"source":626,"target":59},{"source":626,"target":718},{"source":626,"target":719},{"source":718,"target":720},{"source":718,"target":626},{"source":719,"target":721},{"source":719,"target":626},{"source":721,"target":722},{"source":721,"target":723},{"source":627,"target":724},{"source":627,"target":59},{"source":627,"target":725},{"source":627,"target":726},{"source":725,"target":727},{"source":725,"target":627},{"source":726,"target":728},{"source":726,"target":627},{"source":728,"target":729},{"source":728,"target":730},{"source":628,"target":731},{"source":628,"target":59},{"source":628,"target":732},{"source":628,"target":733},{"source":732,"target":734},{"source":732,"target":628},{"source":733,"target":735},{"source":733,"target":628},{"source":735,"target":736},{"source":735,"target":737},{"source":629,"target":738},{"source":629,"target":59},{"source":629,"target":739},{"source":629,"target":740},{"source":739,"target":741},{"source":739,"target":629},{"source":740,"target":742},{"source":740,"target":629},{"source":742,"target":743},{"source":742,"target":744},{"source":630,"target":745},{"source":630,"target":59},{"source":630,"target":746},{"source":630,"target":747},{"source":746,"target":748},{"source":746,"target":630},{"source":747,"target":749},{"source":747,"target":630},{"source":749,"target":750},{"source":749,"target":751},{"source":631,"target":65},{"source":632,"target":98},{"source":60,"target":0},{"source":60,"target":35},{"source":60,"target":752},{"source":60,"target":753},{"source":60,"target":754},{"source":60,"target":755},{"source":752,"target":125},{"source":752,"target":756},{"source":752,"target":60},{"source":756,"target":125},{"source":753,"target":125},{"source":753,"target":757},{"source":753,"target":60},{"source":757,"target":125},{"source":754,"target":125},{"source":754,"target":758},{"source":754,"target":60},{"source":758,"target":125},{"source":755,"target":35},{"source":61,"target":0},{"source":61,"target":130},{"source":61,"target":759},{"source":61,"target":760},{"source":61,"target":403},{"source":61,"target":761},{"source":759,"target":6},{"source":759,"target":762},{"source":759,"target":61},{"source":762,"target":6},{"source":760,"target":6},{"source":760,"target":763},{"source":760,"target":61},{"source":763,"target":6},{"source":403,"target":34},{"source":403,"target":764},{"source":403,"target":61},{"source":403,"target":385},{"source":764,"target":34},{"source":761,"target":130},{"source":62,"target":0},{"source":62,"target":79},{"source":62,"target":765},{"source":62,"target":766},{"source":62,"target":767},{"source":62,"target":768},{"source":62,"target":769},{"source":765,"target":770},{"source":765,"target":62},{"source":765,"target":771},{"source":765,"target":772},{"source":771,"target":773},{"source":771,"target":765},{"source":772,"target":774},{"source":772,"target":765},{"source":774,"target":775},{"source":774,"target":776},{"source":766,"target":777},{"source":766,"target":62},{"source":766,"target":778},{"source":766,"target":779},{"source":778,"target":780},{"source":778,"target":766},{"source":779,"target":781},{"source":779,"target":766},{"source":781,"target":782},{"source":781,"target":783},{"source":767,"target":79},{"source":767,"target":784},{"source":767,"target":62},{"source":784,"target":79},{"source":768,"target":131},{"source":768,"target":785},{"source":768,"target":62},{"source":785,"target":131},{"source":769,"target":79},{"source":63,"target":0},{"source":63,"target":85},{"source":63,"target":786},{"source":63,"target":787},{"source":786,"target":88},{"source":786,"target":788},{"source":786,"target":63},{"source":788,"target":88},{"source":787,"target":85},{"source":64,"target":0},{"source":64,"target":79},{"source":64,"target":789},{"source":789,"target":79},{"source":65,"target":0},{"source":65,"target":20},{"source":65,"target":790},{"source":65,"target":791},{"source":65,"target":792},{"source":65,"target":793},{"source":65,"target":794},{"source":65,"target":795},{"source":790,"target":796},{"source":790,"target":65},{"source":790,"target":797},{"source":790,"target":798},{"source":797,"target":799},{"source":797,"target":790},{"source":798,"target":800},{"source":798,"target":790},{"source":800,"target":801},{"source":800,"target":802},{"source":791,"target":803},{"source":791,"target":65},{"source":791,"target":804},{"source":791,"target":805},{"source":804,"target":806},{"source":804,"target":791},{"source":805,"target":807},{"source":805,"target":791},{"source":807,"target":808},{"source":807,"target":809},{"source":792,"target":79},{"source":792,"target":810},{"source":792,"target":65},{"source":810,"target":79},{"source":793,"target":131},{"source":793,"target":811},{"source":793,"target":65},{"source":811,"target":131},{"source":794,"target":58},{"source":794,"target":812},{"source":794,"target":65},{"source":812,"target":58},{"source":795,"target":20},{"source":66,"target":0},{"source":66,"target":64},{"source":66,"target":813},{"source":66,"target":814},{"source":813,"target":67},{"source":813,"target":815},{"source":813,"target":66},{"source":815,"target":67},{"source":814,"target":64},{"source":67,"target":0},{"source":67,"target":42},{"source":67,"target":816},{"source":67,"target":817},{"source":67,"target":818},{"source":816,"target":79},{"source":816,"target":819},{"source":816,"target":67},{"source":819,"target":79},{"source":817,"target":79},{"source":817,"target":820},{"source":817,"target":67},{"source":820,"target":79},{"source":818,"target":42},{"source":68,"target":0},{"source":68,"target":35},{"source":68,"target":821},{"source":68,"target":822},{"source":68,"target":823},{"source":821,"target":125},{"source":821,"target":824},{"source":821,"target":68},{"source":824,"target":125},{"source":822,"target":125},{"source":822,"target":825},{"source":822,"target":68},{"source":825,"target":125},{"source":823,"target":35},{"source":69,"target":0},{"source":69,"target":79},{"source":69,"target":826},{"source":69,"target":827},{"source":69,"target":828},{"source":69,"target":829},{"source":69,"target":830},{"source":69,"target":831},{"source":69,"target":832},{"source":826,"target":833},{"source":826,"target":69},{"source":826,"target":834},{"source":826,"target":835},{"source":834,"target":836},{"source":834,"target":826},{"source":835,"target":837},{"source":835,"target":826},{"source":837,"target":838},{"source":837,"target":839},{"source":827,"target":840},{"source":827,"target":69},{"source":827,"target":841},{"source":827,"target":842},{"source":841,"target":843},{"source":841,"target":827},{"source":842,"target":844},{"source":842,"target":827},{"source":844,"target":845},{"source":844,"target":846},{"source":828,"target":79},{"source":828,"target":847},{"source":828,"target":69},{"source":847,"target":79},{"source":829,"target":21},{"source":829,"target":848},{"source":829,"target":69},{"source":848,"target":21},{"source":830,"target":101},{"source":830,"target":849},{"source":830,"target":69},{"source":849,"target":101},{"source":831,"target":79},{"source":831,"target":850},{"source":831,"target":69},{"source":850,"target":79},{"source":832,"target":79},{"source":70,"target":0},{"source":70,"target":22},{"source":70,"target":851},{"source":70,"target":852},{"source":70,"target":853},{"source":851,"target":80},{"source":851,"target":854},{"source":851,"target":70},{"source":854,"target":80},{"source":852,"target":106},{"source":852,"target":855},{"source":852,"target":70},{"source":855,"target":106},{"source":853,"target":22},{"source":71,"target":0},{"source":71,"target":75},{"source":71,"target":856},{"source":71,"target":857},{"source":71,"target":858},{"source":71,"target":859},{"source":856,"target":6},{"source":856,"target":860},{"source":856,"target":71},{"source":860,"target":6},{"source":857,"target":52},{"source":857,"target":861},{"source":857,"target":71},{"source":861,"target":52},{"source":858,"target":85},{"source":858,"target":862},{"source":858,"target":71},{"source":862,"target":85},{"source":859,"target":75},{"source":72,"target":0},{"source":73,"target":0},{"source":74,"target":0},{"source":74,"target":42},{"source":74,"target":73},{"source":74,"target":863},{"source":74,"target":864},{"source":74,"target":865},{"source":863,"target":6},{"source":863,"target":866},{"source":863,"target":74},{"source":866,"target":6},{"source":864,"target":42},{"source":865,"target":73},{"source":75,"target":0},{"source":75,"target":74},{"source":75,"target":867},{"source":75,"target":868},{"source":867,"target":34},{"source":867,"target":869},{"source":867,"target":75},{"source":869,"target":34},{"source":868,"target":74},{"source":76,"target":0},{"source":76,"target":49},{"source":76,"target":870},{"source":76,"target":871},{"source":76,"target":872},{"source":870,"target":94},{"source":870,"target":873},{"source":870,"target":76},{"source":873,"target":94},{"source":871,"target":79},{"source":871,"target":874},{"source":871,"target":76},{"source":874,"target":79},{"source":872,"target":49},{"source":77,"target":0},{"source":77,"target":90},{"source":77,"target":875},{"source":875,"target":90},{"source":78,"target":0},{"source":78,"target":90},{"source":78,"target":876},{"source":876,"target":90},{"source":79,"target":0},{"source":79,"target":127},{"source":79,"target":877},{"source":79,"target":878},{"source":877,"target":125},{"source":877,"target":879},{"source":877,"target":79},{"source":879,"target":125},{"source":878,"target":127},{"source":80,"target":0},{"source":80,"target":48},{"source":80,"target":75},{"source":80,"target":119},{"source":80,"target":880},{"source":80,"target":881},{"source":80,"target":882},{"source":80,"target":883},{"source":80,"target":884},{"source":80,"target":885},{"source":80,"target":886},{"source":80,"target":887},{"source":80,"target":888},{"source":80,"target":405},{"source":80,"target":407},{"source":80,"target":238},{"source":80,"target":889},{"source":80,"target":890},{"source":80,"target":891},{"source":80,"target":892},{"source":80,"target":893},{"source":80,"target":894},{"source":880,"target":895},{"source":880,"target":80},{"source":880,"target":896},{"source":880,"target":897},{"source":896,"target":898},{"source":896,"target":880},{"source":897,"target":899},{"source":897,"target":880},{"source":899,"target":900},{"source":899,"target":901},{"source":881,"target":902},{"source":881,"target":80},{"source":881,"target":903},{"source":881,"target":904},{"source":903,"target":905},{"source":903,"target":881},{"source":904,"target":906},{"source":904,"target":881},{"source":906,"target":907},{"source":906,"target":908},{"source":882,"target":909},{"source":882,"target":80},{"source":882,"target":910},{"source":882,"target":911},{"source":910,"target":912},{"source":910,"target":882},{"source":911,"target":913},{"source":911,"target":882},{"source":913,"target":914},{"source":913,"target":915},{"source":883,"target":916},{"source":883,"target":80},{"source":883,"target":917},{"source":883,"target":918},{"source":917,"target":919},{"source":917,"target":883},{"source":918,"target":920},{"source":918,"target":883},{"source":920,"target":921},{"source":920,"target":922},{"source":884,"target":61},{"source":884,"target":923},{"source":884,"target":80},{"source":923,"target":61},{"source":885,"target":1},{"source":885,"target":924},{"source":885,"target":80},{"source":924,"target":1},{"source":886,"target":1},{"source":886,"target":925},{"source":886,"target":80},{"source":925,"target":1},{"source":887,"target":1},{"source":887,"target":926},{"source":887,"target":80},{"source":926,"target":1},{"source":888,"target":86},{"source":888,"target":927},{"source":888,"target":80},{"source":888,"target":928},{"source":927,"target":86},{"source":405,"target":34},{"source":405,"target":929},{"source":405,"target":80},{"source":405,"target":386},{"source":929,"target":34},{"source":407,"target":34},{"source":407,"target":930},{"source":407,"target":80},{"source":407,"target":387},{"source":930,"target":34},{"source":238,"target":22},{"source":238,"target":931},{"source":238,"target":80},{"source":238,"target":215},{"source":931,"target":22},{"source":889,"target":88},{"source":889,"target":932},{"source":889,"target":80},{"source":932,"target":88},{"source":890,"target":125},{"source":890,"target":933},{"source":890,"target":80},{"source":933,"target":125},{"source":891,"target":80},{"source":891,"target":934},{"source":891,"target":80},{"source":934,"target":80},{"source":892,"target":48},{"source":893,"target":75},{"source":894,"target":119},{"source":81,"target":0},{"source":81,"target":49},{"source":81,"target":98},{"source":81,"target":935},{"source":81,"target":936},{"source":81,"target":937},{"source":81,"target":938},{"source":81,"target":939},{"source":81,"target":940},{"source":81,"target":941},{"source":935,"target":942},{"source":935,"target":81},{"source":935,"target":943},{"source":935,"target":944},{"source":943,"target":945},{"source":943,"target":935},{"source":944,"target":946},{"source":944,"target":935},{"source":946,"target":947},{"source":946,"target":948},{"source":936,"target":949},{"source":936,"target":81},{"source":936,"target":950},{"source":936,"target":951},{"source":950,"target":952},{"source":950,"target":936},{"source":951,"target":953},{"source":951,"target":936},{"source":953,"target":954},{"source":953,"target":955},{"source":937,"target":956},{"source":937,"target":81},{"source":937,"target":957},{"source":937,"target":958},{"source":957,"target":959},{"source":957,"target":937},{"source":958,"target":960},{"source":958,"target":937},{"source":960,"target":961},{"source":960,"target":962},{"source":938,"target":79},{"source":938,"target":963},{"source":938,"target":81},{"source":963,"target":79},{"source":939,"target":80},{"source":939,"target":964},{"source":939,"target":81},{"source":964,"target":80},{"source":940,"target":49},{"source":941,"target":98},{"source":82,"target":0},{"source":82,"target":76},{"source":82,"target":965},{"source":82,"target":966},{"source":965,"target":94},{"source":965,"target":967},{"source":965,"target":82},{"source":967,"target":94},{"source":966,"target":76},{"source":83,"target":0},{"source":83,"target":27},{"source":83,"target":968},{"source":968,"target":27},{"source":84,"target":0},{"source":84,"target":32},{"source":84,"target":969},{"source":969,"target":32},{"source":85,"target":0},{"source":85,"target":75},{"source":85,"target":970},{"source":85,"target":971},{"source":85,"target":972},{"source":85,"target":242},{"source":85,"target":543},{"source":85,"target":973},{"source":85,"target":974},{"source":85,"target":975},{"source":85,"target":976},{"source":970,"target":6},{"source":970,"target":977},{"source":970,"target":85},{"source":977,"target":6},{"source":971,"target":85},{"source":971,"target":978},{"source":971,"target":85},{"source":978,"target":85},{"source":972,"target":6},{"source":972,"target":979},{"source":972,"target":85},{"source":979,"target":6},{"source":242,"target":22},{"source":242,"target":980},{"source":242,"target":85},{"source":242,"target":217},{"source":980,"target":22},{"source":543,"target":53},{"source":543,"target":981},{"source":543,"target":85},{"source":543,"target":536},{"source":981,"target":53},{"source":973,"target":85},{"source":973,"target":982},{"source":973,"target":85},{"source":973,"target":975},{"source":982,"target":85},{"source":974,"target":93},{"source":974,"target":983},{"source":974,"target":85},{"source":974,"target":984},{"source":983,"target":93},{"source":975,"target":85},{"source":975,"target":985},{"source":975,"target":85},{"source":975,"target":973},{"source":985,"target":85},{"source":976,"target":75},{"source":86,"target":0},{"source":86,"target":132},{"source":86,"target":986},{"source":86,"target":928},{"source":86,"target":987},{"source":986,"target":1},{"source":986,"target":988},{"source":986,"target":86},{"source":988,"target":1},{"source":928,"target":80},{"source":928,"target":989},{"source":928,"target":86},{"source":928,"target":888},{"source":989,"target":80},{"source":987,"target":132},{"source":87,"target":0},{"source":88,"target":0},{"source":88,"target":74},{"source":88,"target":990},{"source":88,"target":991},{"source":88,"target":992},{"source":990,"target":9},{"source":990,"target":993},{"source":990,"target":88},{"source":993,"target":9},{"source":991,"target":2},{"source":991,"target":994},{"source":991,"target":88},{"source":994,"target":2},{"source":992,"target":74},{"source":89,"target":0},{"source":89,"target":32},{"source":89,"target":995},{"source":995,"target":32},{"source":90,"target":0},{"source":90,"target":64},{"source":90,"target":996},{"source":996,"target":64},{"source":91,"target":0},{"source":91,"target":35},{"source":91,"target":997},{"source":91,"target":998},{"source":997,"target":80},{"source":997,"target":999},{"source":997,"target":91},{"source":999,"target":80},{"source":998,"target":35},{"source":92,"target":0},{"source":92,"target":85},{"source":92,"target":1000},{"source":92,"target":1001},{"source":1000,"target":93},{"source":1000,"target":1002},{"source":1000,"target":92},{"source":1000,"target":1003},{"source":1002,"target":93},{"source":1001,"target":85},{"source":93,"target":0},{"source":93,"target":42},{"source":93,"target":1003},{"source":93,"target":1004},{"source":93,"target":984},{"source":93,"target":1005},{"source":1003,"target":92},{"source":1003,"target":1006},{"source":1003,"target":93},{"source":1003,"target":1000},{"source":1006,"target":92},{"source":1004,"target":1},{"source":1004,"target":1007},{"source":1004,"target":93},{"source":1007,"target":1},{"source":984,"target":85},{"source":984,"target":1008},{"source":984,"target":93},{"source":984,"target":974},{"source":1008,"target":85},{"source":1005,"target":42},{"source":94,"target":0},{"source":94,"target":48},{"source":94,"target":1009},{"source":94,"target":1010},{"source":94,"target":169},{"source":94,"target":1011},{"source":94,"target":1012},{"source":94,"target":1013},{"source":94,"target":1014},{"source":94,"target":1015},{"source":94,"target":1016},{"source":94,"target":1017},{"source":94,"target":1018},{"source":94,"target":1019},{"source":94,"target":1020},{"source":94,"target":1021},{"source":94,"target":1022},{"source":94,"target":1023},{"source":94,"target":1024},{"source":94,"target":240},{"source":94,"target":1025},{"source":94,"target":1026},{"source":94,"target":1027},{"source":94,"target":1028},{"source":1009,"target":1},{"source":1009,"target":1029},{"source":1009,"target":94},{"source":1009,"target":1030},{"source":1029,"target":1},{"source":1030,"target":94},{"source":1030,"target":1031},{"source":1030,"target":1009},{"source":1031,"target":94},{"source":1010,"target":1032},{"source":1010,"target":94},{"source":1010,"target":1033},{"source":1010,"target":1034},{"source":1033,"target":1035},{"source":1033,"target":1010},{"source":1034,"target":1036},{"source":1034,"target":1010},{"source":1036,"target":1037},{"source":1036,"target":1038},{"source":169,"target":15},{"source":169,"target":1039},{"source":169,"target":94},{"source":169,"target":166},{"source":1039,"target":15},{"source":1011,"target":4},{"source":1011,"target":1040},{"source":1011,"target":94},{"source":1040,"target":4},{"source":1012,"target":6},{"source":1012,"target":1041},{"source":1012,"target":94},{"source":1041,"target":6},{"source":1013,"target":1},{"source":1013,"target":1042},{"source":1013,"target":94},{"source":1042,"target":1},{"source":1014,"target":1},{"source":1014,"target":1043},{"source":1014,"target":94},{"source":1043,"target":1},{"source":1015,"target":1},{"source":1015,"target":1044},{"source":1015,"target":94},{"source":1044,"target":1},{"source":1016,"target":1},{"source":1016,"target":1045},{"source":1016,"target":94},{"source":1045,"target":1},{"source":1017,"target":1},{"source":1017,"target":1046},{"source":1017,"target":94},{"source":1046,"target":1},{"source":1018,"target":1},{"source":1018,"target":1047},{"source":1018,"target":94},{"source":1047,"target":1},{"source":1019,"target":1},{"source":1019,"target":1048},{"source":1019,"target":94},{"source":1048,"target":1},{"source":1020,"target":1},{"source":1020,"target":1049},{"source":1020,"target":94},{"source":1049,"target":1},{"source":1021,"target":1},{"source":1021,"target":1050},{"source":1021,"target":94},{"source":1050,"target":1},{"source":1022,"target":94},{"source":1022,"target":1051},{"source":1022,"target":94},{"source":1051,"target":94},{"source":1023,"target":94},{"source":1023,"target":1052},{"source":1023,"target":94},{"source":1052,"target":94},{"source":1024,"target":61},{"source":1024,"target":1053},{"source":1024,"target":94},{"source":1053,"target":61},{"source":240,"target":22},{"source":240,"target":1054},{"source":240,"target":94},{"source":240,"target":216},{"source":1054,"target":22},{"source":1025,"target":94},{"source":1025,"target":1055},{"source":1025,"target":94},{"source":1055,"target":94},{"source":1026,"target":94},{"source":1026,"target":1056},{"source":1026,"target":94},{"source":1056,"target":94},{"source":1027,"target":94},{"source":1027,"target":1057},{"source":1027,"target":94},{"source":1057,"target":94},{"source":1028,"target":48},{"source":95,"target":0},{"source":95,"target":76},{"source":95,"target":98},{"source":95,"target":1058},{"source":95,"target":1059},{"source":95,"target":1060},{"source":95,"target":1061},{"source":95,"target":1062},{"source":95,"target":1063},{"source":95,"target":1064},{"source":95,"target":1065},{"source":95,"target":1066},{"source":1058,"target":22},{"source":1058,"target":1067},{"source":1058,"target":95},{"source":1067,"target":22},{"source":1059,"target":22},{"source":1059,"target":1068},{"source":1059,"target":95},{"source":1068,"target":22},{"source":1060,"target":1069},{"source":1060,"target":95},{"source":1060,"target":1070},{"source":1060,"target":1071},{"source":1070,"target":1072},{"source":1070,"target":1060},{"source":1071,"target":1073},{"source":1071,"target":1060},{"source":1073,"target":1074},{"source":1073,"target":1075},{"source":1061,"target":1076},{"source":1061,"target":95},{"source":1061,"target":1077},{"source":1061,"target":1078},{"source":1077,"target":1079},{"source":1077,"target":1061},{"source":1078,"target":1080},{"source":1078,"target":1061},{"source":1080,"target":1081},{"source":1080,"target":1082},{"source":1062,"target":1083},{"source":1062,"target":95},{"source":1062,"target":1084},{"source":1062,"target":1085},{"source":1084,"target":1086},{"source":1084,"target":1062},{"source":1085,"target":1087},{"source":1085,"target":1062},{"source":1087,"target":1088},{"source":1087,"target":1089},{"source":1063,"target":1090},{"source":1063,"target":95},{"source":1063,"target":1091},{"source":1063,"target":1092},{"source":1091,"target":1093},{"source":1091,"target":1063},{"source":1092,"target":1094},{"source":1092,"target":1063},{"source":1094,"target":1095},{"source":1094,"target":1096},{"source":1064,"target":94},{"source":1064,"target":1097},{"source":1064,"target":95},{"source":1097,"target":94},{"source":1065,"target":76},{"source":1066,"target":98},{"source":96,"target":0},{"source":96,"target":134},{"source":96,"target":1098},{"source":96,"target":1099},{"source":96,"target":1100},{"source":96,"target":1101},{"source":1098,"target":11},{"source":1098,"target":1102},{"source":1098,"target":96},{"source":1102,"target":11},{"source":1099,"target":109},{"source":1099,"target":1103},{"source":1099,"target":96},{"source":1099,"target":1104},{"source":1103,"target":109},{"source":1100,"target":111},{"source":1100,"target":1105},{"source":1100,"target":96},{"source":1100,"target":1106},{"source":1105,"target":111},{"source":1101,"target":134},{"source":97,"target":0},{"source":97,"target":78},{"source":97,"target":1107},{"source":97,"target":1108},{"source":1107,"target":5},{"source":1107,"target":1109},{"source":1107,"target":97},{"source":1109,"target":5},{"source":1108,"target":78},{"source":98,"target":0},{"source":98,"target":1110},{"source":1110,"target":42},{"source":1110,"target":1111},{"source":1110,"target":98},{"source":1111,"target":42},{"source":99,"target":0},{"source":99,"target":75},{"source":99,"target":1112},{"source":99,"target":1113},{"source":99,"target":1114},{"source":99,"target":1115},{"source":99,"target":1116},{"source":99,"target":1117},{"source":1112,"target":99},{"source":1112,"target":1118},{"source":1112,"target":99},{"source":1118,"target":99},{"source":1113,"target":134},{"source":1113,"target":1119},{"source":1113,"target":99},{"source":1113,"target":1120},{"source":1119,"target":134},{"source":1114,"target":120},{"source":1114,"target":1121},{"source":1114,"target":99},{"source":1114,"target":1122},{"source":1121,"target":120},{"source":1115,"target":109},{"source":1115,"target":1123},{"source":1115,"target":99},{"source":1115,"target":1124},{"source":1123,"target":109},{"source":1116,"target":111},{"source":1116,"target":1125},{"source":1116,"target":99},{"source":1116,"target":1126},{"source":1125,"target":111},{"source":1117,"target":75},{"source":100,"target":0},{"source":100,"target":22},{"source":100,"target":1127},{"source":100,"target":1128},{"source":1127,"target":125},{"source":1127,"target":1129},{"source":1127,"target":100},{"source":1127,"target":1130},{"source":1127,"target":1131},{"source":1129,"target":125},{"source":1130,"target":20},{"source":1130,"target":1132},{"source":1130,"target":1127},{"source":1132,"target":20},{"source":1131,"target":125},{"source":1131,"target":1133},{"source":1131,"target":1127},{"source":1133,"target":125},{"source":1128,"target":22},{"source":101,"target":0},{"source":101,"target":74},{"source":101,"target":1134},{"source":101,"target":1135},{"source":1134,"target":106},{"source":1134,"target":1136},{"source":1134,"target":101},{"source":1136,"target":106},{"source":1135,"target":74},{"source":102,"target":0},{"source":102,"target":27},{"source":102,"target":1137},{"source":1137,"target":27},{"source":103,"target":0},{"source":103,"target":27},{"source":103,"target":1138},{"source":1138,"target":27},{"source":104,"target":0},{"source":104,"target":79},{"source":104,"target":1139},{"source":104,"target":1140},{"source":104,"target":1141},{"source":104,"target":1142},{"source":1139,"target":1143},{"source":1139,"target":104},{"source":1139,"target":1144},{"source":1139,"target":1145},{"source":1144,"target":1146},{"source":1144,"target":1139},{"source":1145,"target":1147},{"source":1145,"target":1139},{"source":1147,"target":1148},{"source":1147,"target":1149},{"source":1140,"target":105},{"source":1140,"target":1150},{"source":1140,"target":104},{"source":1150,"target":105},{"source":1141,"target":6},{"source":1141,"target":1151},{"source":1141,"target":104},{"source":1151,"target":6},{"source":1142,"target":79},{"source":105,"target":0},{"source":105,"target":127},{"source":105,"target":1152},{"source":105,"target":1153},{"source":105,"target":1154},{"source":105,"target":1155},{"source":1152,"target":1156},{"source":1152,"target":105},{"source":1152,"target":1157},{"source":1152,"target":1158},{"source":1157,"target":1159},{"source":1157,"target":1152},{"source":1158,"target":1160},{"source":1158,"target":1152},{"source":1160,"target":1161},{"source":1160,"target":1162},{"source":1153,"target":79},{"source":1153,"target":1163},{"source":1153,"target":105},{"source":1163,"target":79},{"source":1154,"target":94},{"source":1154,"target":1164},{"source":1154,"target":105},{"source":1164,"target":94},{"source":1155,"target":127},{"source":106,"target":0},{"source":106,"target":22},{"source":106,"target":1165},{"source":1165,"target":22},{"source":107,"target":0},{"source":107,"target":42},{"source":107,"target":1166},{"source":107,"target":1167},{"source":107,"target":540},{"source":107,"target":1168},{"source":1166,"target":94},{"source":1166,"target":1169},{"source":1166,"target":107},{"source":1169,"target":94},{"source":1167,"target":130},{"source":1167,"target":1170},{"source":1167,"target":107},{"source":1170,"target":130},{"source":540,"target":53},{"source":540,"target":1171},{"source":540,"target":107},{"source":540,"target":534},{"source":1171,"target":53},{"source":1168,"target":42},{"source":108,"target":0},{"source":108,"target":42},{"source":108,"target":344},{"source":108,"target":1172},{"source":344,"target":30},{"source":344,"target":1173},{"source":344,"target":108},{"source":344,"target":339},{"source":1173,"target":30},{"source":1172,"target":42},{"source":109,"target":0},{"source":109,"target":75},{"source":109,"target":134},{"source":109,"target":1174},{"source":109,"target":1175},{"source":109,"target":1176},{"source":109,"target":1177},{"source":109,"target":1104},{"source":109,"target":380},{"source":109,"target":1178},{"source":109,"target":1179},{"source":109,"target":1180},{"source":109,"target":1181},{"source":109,"target":1124},{"source":109,"target":409},{"source":109,"target":1182},{"source":109,"target":1183},{"source":109,"target":1184},{"source":109,"target":1185},{"source":1174,"target":1},{"source":1174,"target":1186},{"source":1174,"target":109},{"source":1186,"target":1},{"source":1175,"target":1},{"source":1175,"target":1187},{"source":1175,"target":109},{"source":1187,"target":1},{"source":1176,"target":1},{"source":1176,"target":1188},{"source":1176,"target":109},{"source":1188,"target":1},{"source":1177,"target":1},{"source":1177,"target":1189},{"source":1177,"target":109},{"source":1189,"target":1},{"source":1104,"target":96},{"source":1104,"target":1190},{"source":1104,"target":109},{"source":1104,"target":1099},{"source":1190,"target":96},{"source":380,"target":33},{"source":380,"target":1191},{"source":380,"target":109},{"source":380,"target":375},{"source":1191,"target":33},{"source":1178,"target":121},{"source":1178,"target":1192},{"source":1178,"target":109},{"source":1178,"target":1193},{"source":1192,"target":121},{"source":1179,"target":18},{"source":1179,"target":1194},{"source":1179,"target":109},{"source":1194,"target":18},{"source":1180,"target":18},{"source":1180,"target":1195},{"source":1180,"target":109},{"source":1195,"target":18},{"source":1181,"target":18},{"source":1181,"target":1196},{"source":1181,"target":109},{"source":1196,"target":18},{"source":1124,"target":99},{"source":1124,"target":1197},{"source":1124,"target":109},{"source":1124,"target":1115},{"source":1197,"target":99},{"source":409,"target":34},{"source":409,"target":1198},{"source":409,"target":109},{"source":409,"target":388},{"source":1198,"target":34},{"source":1182,"target":109},{"source":1182,"target":1199},{"source":1182,"target":109},{"source":1199,"target":109},{"source":1183,"target":111},{"source":1183,"target":1200},{"source":1183,"target":109},{"source":1183,"target":1201},{"source":1200,"target":111},{"source":1184,"target":75},{"source":1185,"target":134},{"source":110,"target":0},{"source":110,"target":79},{"source":110,"target":1202},{"source":110,"target":1203},{"source":110,"target":1204},{"source":1202,"target":1205},{"source":1202,"target":110},{"source":1202,"target":1206},{"source":1202,"target":1207},{"source":1206,"target":1208},{"source":1206,"target":1202},{"source":1207,"target":1209},{"source":1207,"target":1202},{"source":1209,"target":1210},{"source":1209,"target":1211},{"source":1203,"target":109},{"source":1203,"target":1212},{"source":1203,"target":110},{"source":1212,"target":109},{"source":1204,"target":79},{"source":111,"target":0},{"source":111,"target":18},{"source":111,"target":1213},{"source":111,"target":1106},{"source":111,"target":1126},{"source":111,"target":1201},{"source":111,"target":1214},{"source":1213,"target":111},{"source":1213,"target":1215},{"source":1213,"target":111},{"source":1215,"target":111},{"source":1106,"target":96},{"source":1106,"target":1216},{"source":1106,"target":111},{"source":1106,"target":1100},{"source":1216,"target":96},{"source":1126,"target":99},{"source":1126,"target":1217},{"source":1126,"target":111},{"source":1126,"target":1116},{"source":1217,"target":99},{"source":1201,"target":109},{"source":1201,"target":1218},{"source":1201,"target":111},{"source":1201,"target":1183},{"source":1218,"target":109},{"source":1214,"target":18},{"source":112,"target":0},{"source":112,"target":22},{"source":112,"target":1219},{"source":112,"target":1220},{"source":1219,"target":113},{"source":1219,"target":1221},{"source":1219,"target":112},{"source":1219,"target":1222},{"source":1221,"target":113},{"source":1220,"target":22},{"source":113,"target":0},{"source":113,"target":42},{"source":113,"target":230},{"source":113,"target":1223},{"source":113,"target":1222},{"source":113,"target":1224},{"source":230,"target":22},{"source":230,"target":1225},{"source":230,"target":113},{"source":230,"target":208},{"source":1225,"target":22},{"source":1223,"target":1},{"source":1223,"target":1226},{"source":1223,"target":113},{"source":1226,"target":1},{"source":1222,"target":112},{"source":1222,"target":1227},{"source":1222,"target":113},{"source":1222,"target":1219},{"source":1227,"target":112},{"source":1224,"target":42},{"source":114,"target":0},{"source":114,"target":90},{"source":114,"target":1228},{"source":114,"target":1229},{"source":1228,"target":6},{"source":1228,"target":1230},{"source":1228,"target":114},{"source":1230,"target":6},{"source":1229,"target":90},{"source":115,"target":0},{"source":115,"target":42},{"source":115,"target":1231},{"source":115,"target":1232},{"source":115,"target":1233},{"source":115,"target":1234},{"source":1231,"target":117},{"source":1231,"target":1235},{"source":1231,"target":115},{"source":1231,"target":1236},{"source":1235,"target":117},{"source":1232,"target":119},{"source":1232,"target":1237},{"source":1232,"target":115},{"source":1232,"target":1238},{"source":1237,"target":119},{"source":1233,"target":118},{"source":1233,"target":1239},{"source":1233,"target":115},{"source":1239,"target":118},{"source":1234,"target":42},{"source":116,"target":0},{"source":116,"target":125},{"source":116,"target":1240},{"source":116,"target":1241},{"source":116,"target":1242},{"source":1240,"target":22},{"source":1240,"target":1243},{"source":1240,"target":116},{"source":1243,"target":22},{"source":1241,"target":118},{"source":1241,"target":1244},{"source":1241,"target":116},{"source":1241,"target":1245},{"source":1244,"target":118},{"source":1242,"target":125},{"source":117,"target":0},{"source":117,"target":42},{"source":117,"target":1246},{"source":117,"target":1247},{"source":117,"target":1248},{"source":117,"target":1236},{"source":117,"target":1249},{"source":1246,"target":125},{"source":1246,"target":1250},{"source":1246,"target":117},{"source":1250,"target":125},{"source":1247,"target":116},{"source":1247,"target":1251},{"source":1247,"target":117},{"source":1251,"target":116},{"source":1248,"target":137},{"source":1248,"target":1252},{"source":1248,"target":117},{"source":1252,"target":137},{"source":1236,"target":115},{"source":1236,"target":1253},{"source":1236,"target":117},{"source":1236,"target":1231},{"source":1253,"target":115},{"source":1249,"target":42},{"source":118,"target":0},{"source":118,"target":42},{"source":118,"target":1245},{"source":118,"target":1254},{"source":118,"target":1255},{"source":1245,"target":116},{"source":1245,"target":1256},{"source":1245,"target":118},{"source":1245,"target":1241},{"source":1256,"target":116},{"source":1254,"target":119},{"source":1254,"target":1257},{"source":1254,"target":118},{"source":1254,"target":1258},{"source":1257,"target":119},{"source":1255,"target":42},{"source":119,"target":0},{"source":119,"target":42},{"source":119,"target":1238},{"source":119,"target":1258},{"source":119,"target":1259},{"source":119,"target":1260},{"source":1238,"target":115},{"source":1238,"target":1261},{"source":1238,"target":119},{"source":1238,"target":1232},{"source":1261,"target":115},{"source":1258,"target":118},{"source":1258,"target":1262},{"source":1258,"target":119},{"source":1258,"target":1254},{"source":1262,"target":118},{"source":1259,"target":119},{"source":1259,"target":1263},{"source":1259,"target":119},{"source":1263,"target":119},{"source":1260,"target":42},{"source":120,"target":0},{"source":120,"target":75},{"source":120,"target":1264},{"source":120,"target":177},{"source":120,"target":411},{"source":120,"target":1265},{"source":120,"target":1122},{"source":120,"target":1266},{"source":120,"target":1267},{"source":120,"target":1268},{"source":1264,"target":12},{"source":1264,"target":1269},{"source":1264,"target":120},{"source":1269,"target":12},{"source":177,"target":18},{"source":177,"target":1270},{"source":177,"target":120},{"source":177,"target":174},{"source":1270,"target":18},{"source":411,"target":34},{"source":411,"target":1271},{"source":411,"target":120},{"source":411,"target":389},{"source":1271,"target":34},{"source":1265,"target":121},{"source":1265,"target":1272},{"source":1265,"target":120},{"source":1265,"target":1273},{"source":1272,"target":121},{"source":1122,"target":99},{"source":1122,"target":1274},{"source":1122,"target":120},{"source":1122,"target":1114},{"source":1274,"target":99},{"source":1266,"target":134},{"source":1266,"target":1275},{"source":1266,"target":120},{"source":1266,"target":1276},{"source":1275,"target":134},{"source":1267,"target":134},{"source":1267,"target":1277},{"source":1267,"target":120},{"source":1267,"target":1278},{"source":1277,"target":134},{"source":1268,"target":75},{"source":121,"target":0},{"source":121,"target":74},{"source":121,"target":1193},{"source":121,"target":1273},{"source":121,"target":1279},{"source":1193,"target":109},{"source":1193,"target":1280},{"source":1193,"target":121},{"source":1193,"target":1178},{"source":1280,"target":109},{"source":1273,"target":120},{"source":1273,"target":1281},{"source":1273,"target":121},{"source":1273,"target":1265},{"source":1281,"target":120},{"source":1279,"target":74},{"source":122,"target":0},{"source":122,"target":64},{"source":122,"target":1282},{"source":122,"target":1283},{"source":1282,"target":123},{"source":1282,"target":1284},{"source":1282,"target":122},{"source":1284,"target":123},{"source":1283,"target":64},{"source":123,"target":0},{"source":123,"target":132},{"source":123,"target":1285},{"source":123,"target":1286},{"source":1285,"target":79},{"source":1285,"target":1287},{"source":1285,"target":123},{"source":1287,"target":79},{"source":1286,"target":132},{"source":124,"target":0},{"source":124,"target":35},{"source":124,"target":1288},{"source":1288,"target":35},{"source":125,"target":0},{"source":125,"target":74},{"source":125,"target":1289},{"source":125,"target":1290},{"source":125,"target":1291},{"source":125,"target":1292},{"source":125,"target":1293},{"source":1289,"target":125},{"source":1289,"target":1294},{"source":1289,"target":125},{"source":1294,"target":125},{"source":1290,"target":22},{"source":1290,"target":1295},{"source":1290,"target":125},{"source":1295,"target":22},{"source":1291,"target":116},{"source":1291,"target":1296},{"source":1291,"target":125},{"source":1296,"target":116},{"source":1292,"target":125},{"source":1292,"target":1297},{"source":1292,"target":125},{"source":1292,"target":1298},{"source":1292,"target":1299},{"source":1297,"target":125},{"source":1298,"target":20},{"source":1298,"target":1300},{"source":1298,"target":1292},{"source":1300,"target":20},{"source":1299,"target":125},{"source":1299,"target":1301},{"source":1299,"target":1292},{"source":1301,"target":125},{"source":1293,"target":74},{"source":126,"target":0},{"source":126,"target":79},{"source":126,"target":98},{"source":126,"target":1302},{"source":126,"target":1303},{"source":126,"target":1304},{"source":1302,"target":125},{"source":1302,"target":1305},{"source":1302,"target":126},{"source":1305,"target":125},{"source":1303,"target":79},{"source":1304,"target":98},{"source":127,"target":0},{"source":127,"target":74},{"source":127,"target":1306},{"source":127,"target":1307},{"source":127,"target":1308},{"source":127,"target":1309},{"source":127,"target":1310},{"source":1306,"target":1},{"source":1306,"target":1311},{"source":1306,"target":127},{"source":1306,"target":1312},{"source":1311,"target":1},{"source":1312,"target":130},{"source":1312,"target":1313},{"source":1312,"target":1306},{"source":1313,"target":130},{"source":1307,"target":1},{"source":1307,"target":1314},{"source":1307,"target":127},{"source":1314,"target":1},{"source":1308,"target":1},{"source":1308,"target":1315},{"source":1308,"target":127},{"source":1315,"target":1},{"source":1309,"target":125},{"source":1309,"target":1316},{"source":1309,"target":127},{"source":1316,"target":125},{"source":1310,"target":74},{"source":128,"target":0},{"source":128,"target":78},{"source":128,"target":1317},{"source":128,"target":1318},{"source":1317,"target":8},{"source":1317,"target":1319},{"source":1317,"target":128},{"source":1319,"target":8},{"source":1318,"target":78},{"source":129,"target":0},{"source":129,"target":79},{"source":129,"target":1320},{"source":1320,"target":79},{"source":130,"target":0},{"source":130,"target":127},{"source":130,"target":1321},{"source":130,"target":1322},{"source":130,"target":1323},{"source":130,"target":1324},{"source":130,"target":1325},{"source":130,"target":1326},{"source":130,"target":1327},{"source":1321,"target":1},{"source":1321,"target":1328},{"source":1321,"target":130},{"source":1328,"target":1},{"source":1322,"target":2},{"source":1322,"target":1329},{"source":1322,"target":130},{"source":1329,"target":2},{"source":1323,"target":1},{"source":1323,"target":1330},{"source":1323,"target":130},{"source":1330,"target":1},{"source":1324,"target":1},{"source":1324,"target":1331},{"source":1324,"target":130},{"source":1331,"target":1},{"source":1325,"target":6},{"source":1325,"target":1332},{"source":1325,"target":130},{"source":1332,"target":6},{"source":1326,"target":8},{"source":1326,"target":1333},{"source":1326,"target":130},{"source":1333,"target":8},{"source":1327,"target":127},{"source":131,"target":0},{"source":131,"target":132},{"source":131,"target":1334},{"source":131,"target":1335},{"source":131,"target":1336},{"source":131,"target":1337},{"source":131,"target":1338},{"source":1334,"target":1339},{"source":1334,"target":131},{"source":1334,"target":1340},{"source":1334,"target":1341},{"source":1340,"target":1342},{"source":1340,"target":1334},{"source":1341,"target":1343},{"source":1341,"target":1334},{"source":1343,"target":1344},{"source":1343,"target":1345},{"source":1335,"target":1},{"source":1335,"target":1346},{"source":1335,"target":131},{"source":1346,"target":1},{"source":1336,"target":79},{"source":1336,"target":1347},{"source":1336,"target":131},{"source":1347,"target":79},{"source":1337,"target":86},{"source":1337,"target":1348},{"source":1337,"target":131},{"source":1348,"target":86},{"source":1338,"target":132},{"source":132,"target":0},{"source":132,"target":127},{"source":132,"target":1349},{"source":132,"target":1350},{"source":132,"target":1351},{"source":1349,"target":1352},{"source":1349,"target":132},{"source":1349,"target":1353},{"source":1349,"target":1354},{"source":1353,"target":1355},{"source":1353,"target":1349},{"source":1354,"target":1356},{"source":1354,"target":1349},{"source":1356,"target":1357},{"source":1356,"target":1358},{"source":1350,"target":125},{"source":1350,"target":1359},{"source":1350,"target":132},{"source":1359,"target":125},{"source":1351,"target":127},{"source":133,"target":0},{"source":133,"target":79},{"source":133,"target":98},{"source":133,"target":1360},{"source":133,"target":1361},{"source":133,"target":1362},{"source":133,"target":1363},{"source":133,"target":1364},{"source":1360,"target":1365},{"source":1360,"target":133},{"source":1360,"target":1366},{"source":1360,"target":1367},{"source":1366,"target":1368},{"source":1366,"target":1360},{"source":1367,"target":1369},{"source":1367,"target":1360},{"source":1369,"target":1370},{"source":1369,"target":1371},{"source":1361,"target":1},{"source":1361,"target":1372},{"source":1361,"target":133},{"source":1372,"target":1},{"source":1362,"target":132},{"source":1362,"target":1373},{"source":1362,"target":133},{"source":1373,"target":132},{"source":1363,"target":79},{"source":1364,"target":98},{"source":134,"target":0},{"source":134,"target":74},{"source":134,"target":1278},{"source":134,"target":1276},{"source":134,"target":1120},{"source":134,"target":1374},{"source":1278,"target":120},{"source":1278,"target":1375},{"source":1278,"target":134},{"source":1278,"target":1267},{"source":1375,"target":120},{"source":1276,"target":120},{"source":1276,"target":1376},{"source":1276,"target":134},{"source":1276,"target":1266},{"source":1376,"target":120},{"source":1120,"target":99},{"source":1120,"target":1377},{"source":1120,"target":134},{"source":1120,"target":1113},{"source":1377,"target":99},{"source":1374,"target":74},{"source":135,"target":0},{"source":136,"target":0},{"source":136,"target":22},{"source":136,"target":1378},{"source":1378,"target":22},{"source":137,"target":0},{"source":137,"target":22},{"source":137,"target":1379},{"source":137,"target":1380},{"source":137,"target":1381},{"source":1379,"target":125},{"source":1379,"target":1382},{"source":1379,"target":137},{"source":1382,"target":125},{"source":1380,"target":125},{"source":1380,"target":1383},{"source":1380,"target":137},{"source":1383,"target":125},{"source":1381,"target":22}],"multigraph":true}