
(object Petal
    version    	42
    _written   	"Rose 4.5.8054a"
    charSet    	0)

(object Class_Category "wsdl"
    is_unit    	TRUE
    is_loaded  	TRUE
    quid       	"3ADFB8E5021E"
    documentation 	
|The WSDL model contains classes for the Web Services Description Language (WSDL).
|
|WSDL describes network services as sets of endpoints operating on messages. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint.
|
|WSDL describes the formats of the messages exchanged by the services, and supports the XML Schemas specification as its canonical type system. This package uses an XML Schema Infoset model package (see the XSD package) to describe the abstract message formats.
|
|The model contains the following diagrams, named after the corresponding chapters in the WSDL 1.1 specification (http://www.w3.org/TR/2001/NOTE-wsdl-20010315)
|- 2.1 Definition, shows the WSDL definition element and the WSDL document structure
|- 2.1.1 Naming and Linking, shows the namespace and import mechanism
|- 2.1.3 Extensibility, shows the WSDL extensibility mechanism
|- 2.2 Types, shows the use of XML Schema types in WSDL
|- 2.3 Messages, 2.4 PortTypes, 2.5 Bindings and 2.7 Services, show the major WSDL elements and their relations.
|
|The WSDL classes extend the javax.wsdl interfaces defined by JSR 110. Classes with interface and datatype stereotypes are used to represent these non-MOF interfaces.
    
    exportControl 	"Public"
    logical_models 	(list unit_reference_list
	(object Class "WSDLElement"
	    quid       	"3AD5C6A302DD"
	    documentation 	"This class represents a WSDL language element."
	    operations 	(list Operations
		(object Operation "getEnclosingDefinition"
		    quid       	"3CD1529600C8"
		    result     	"Definition"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setEnclosingDefinition"
		    quid       	"3CD152B80347"
		    parameters 	(list Parameters
			(object Parameter "definition"
			    type       	"Definition"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "documentationElement"
		    quid       	"3CCE443602A3"
		    type       	"DOMElement")
		(object ClassAttribute "element"
		    quid       	"3F97DBD30207"
		    type       	"DOMElement"))
	    language   	"Java"
	    abstract   	TRUE)
	(object Class "PortType"
	    quid       	"3AD5C7F001A5"
	    documentation 	"This class represents a WSDL portType element of the WSDL specification version 1.1 and an Interface component of the WSDL specification version 1.2. A port type or Interface is a named set of abstract operations and the abstract messages involved."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AD5C9B70150"
		    supplier   	"Logical View::wsdl::WSDLElement"
		    quidu      	"3AD5C6A302DD")
		(object Inheritance_Relationship
		    quid       	"3F6F1FD8019F"
		    supplier   	"Logical View::wsdl::IPortType"
		    quidu      	"3B84A5BE0331"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "qName"
		    quid       	"3AEB488E0023"
		    type       	"QName")
		(object ClassAttribute "undefined"
		    quid       	"3BDDF1E301E5"
		    type       	"boolean")
		(object ClassAttribute "proxy"
		    quid       	"3D18CDEB0316"
		    type       	"boolean")
		(object ClassAttribute "resourceURI"
		    quid       	"3D18D4FD01BA"
		    type       	"String"))
	    language   	"Java")
	(object Class "Operation"
	    quid       	"3AD5C80D03CE"
	    documentation 	"This class represents a WSDL operation element. A WSDL operation is an abstract description of an action supported by a service."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AE9DE98003C"
		    supplier   	"Logical View::wsdl::WSDLElement"
		    quidu      	"3AD5C6A302DD")
		(object Inheritance_Relationship
		    quid       	"3F6F1FE20171"
		    supplier   	"Logical View::wsdl::IOperation"
		    quidu      	"3B84A77600D1"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "style"
		    quid       	"3AEB472601AC"
		    type       	"OperationType")
		(object ClassAttribute "name"
		    quid       	"3BDD9643004C"
		    type       	"String")
		(object ClassAttribute "undefined"
		    quid       	"3BDDF235003E"
		    type       	"boolean")
		(object ClassAttribute "proxy"
		    quid       	"3D18CE2201AD"
		    type       	"boolean")
		(object ClassAttribute "resourceURI"
		    quid       	"3D18D520011B"
		    type       	"String"))
	    language   	"Java")
	(object Class "Message"
	    quid       	"3AD5C9590078"
	    documentation 	"This class represents a WSDL message element. A WSDL message is an abstract, typed definition of the data being communicated."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AD5D05501C4"
		    supplier   	"Logical View::wsdl::WSDLElement"
		    quidu      	"3AD5C6A302DD")
		(object Inheritance_Relationship
		    quid       	"3B84A8D102BA"
		    supplier   	"Logical View::wsdl::IMessage"
		    quidu      	"3B84A8AF004F"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "qName"
		    quid       	"3AEB487C01FE"
		    type       	"QName")
		(object ClassAttribute "undefined"
		    quid       	"3BDDF1D20226"
		    type       	"boolean")
		(object ClassAttribute "proxy"
		    quid       	"3D18CE4B02B0"
		    type       	"boolean")
		(object ClassAttribute "resourceURI"
		    quid       	"3D18D54200F1"
		    type       	"String"))
	    language   	"Java")
	(object Class "Part"
	    quid       	"3AD5CE1C032E"
	    documentation 	"This class represents a WSDL part element. Parts describe the logical abstract content of a message. Each part is associated with a type from some type system. "
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B84A96D02F1"
		    supplier   	"Logical View::wsdl::IPart"
		    quidu      	"3B84A93F01BE")
		(object Inheritance_Relationship
		    quid       	"3B897E230237"
		    supplier   	"Logical View::wsdl::WSDLElement"
		    quidu      	"3AD5C6A302DD"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "name"
		    quid       	"3BCE70B703C8"
		    type       	"String")
		(object ClassAttribute "elementName"
		    quid       	"3B84B08703DB"
		    type       	"QName")
		(object ClassAttribute "typeName"
		    quid       	"3BCE70C303C5"
		    type       	"QName"))
	    language   	"Java")
	(object Class "Binding"
	    quid       	"3AD5D2860261"
	    documentation 	"This class represents a WSDL binding element. A binding defines message format and protocol details for operations and messages defined by a particular portType. There may be any number of bindings for a given portType."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AD5FA0F02F0"
		    supplier   	"Logical View::wsdl::ExtensibleElement"
		    quidu      	"3AD5FCFA033A")
		(object Inheritance_Relationship
		    quid       	"3B8595410129"
		    supplier   	"Logical View::wsdl::IBinding"
		    quidu      	"3B84ABC60219"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "qName"
		    quid       	"3AEB4899014B"
		    type       	"QName")
		(object ClassAttribute "undefined"
		    quid       	"3BDDF1F401A3"
		    type       	"boolean")
		(object ClassAttribute "proxy"
		    quid       	"3D18CE6D0151"
		    type       	"boolean")
		(object ClassAttribute "resourceURI"
		    quid       	"3D18D4DF035C"
		    type       	"String"))
	    language   	"Java")
	(object Class "BindingOperation"
	    quid       	"3AD5D3CB0145"
	    documentation 	"This class represents a WSDL operation element within a binding. An operation element within a binding specifies binding information for the operation with the same name within the binding's portType. "
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AD6009202F7"
		    supplier   	"Logical View::wsdl::ExtensibleElement"
		    quidu      	"3AD5FCFA033A")
		(object Inheritance_Relationship
		    quid       	"3B84ADE401DC"
		    supplier   	"Logical View::wsdl::IBindingOperation"
		    quidu      	"3B84ADC00072"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "name"
		    quid       	"3B89C4CB0199"
		    type       	"String"))
	    language   	"Java")
	(object Class "Service"
	    quid       	"3AD5D8F002F8"
	    documentation 	"This class represents a WSDL service element. A service groups a set of related ports together."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AD5FA20025E"
		    supplier   	"Logical View::wsdl::ExtensibleElement"
		    quidu      	"3AD5FCFA033A")
		(object Inheritance_Relationship
		    quid       	"3B85954E01B4"
		    supplier   	"Logical View::wsdl::IService"
		    quidu      	"3B84AB490287"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "qName"
		    quid       	"3AEB48A40151"
		    type       	"QName")
		(object ClassAttribute "undefined"
		    quid       	"3BDDF20D0203"
		    type       	"boolean")
		(object ClassAttribute "proxy"
		    quid       	"3D18D4810220"
		    type       	"boolean")
		(object ClassAttribute "resourceURI"
		    quid       	"3D18D4C501E2"
		    type       	"String"))
	    language   	"Java")
	(object Class "Port"
	    quid       	"3AD5D9170286"
	    documentation 	"This class represents a WSDL port element. A port defines an individual endpoint by specifying a single address for a binding"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AD600CB00AA"
		    supplier   	"Logical View::wsdl::ExtensibleElement"
		    quidu      	"3AD5FCFA033A")
		(object Inheritance_Relationship
		    quid       	"3B85954502C9"
		    supplier   	"Logical View::wsdl::IPort"
		    quidu      	"3B84AB800326"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "name"
		    quid       	"3AD5D9A00391"
		    type       	"String"))
	    language   	"Java")
	(object Class "ExtensibilityElement"
	    quid       	"3AD5DBB602A9"
	    documentation 	"This class represents a WSDL extensibility element. WSDL allows extensibility elements representing a specific technology under various elements defined by WSDL."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B84B14903D0"
		    supplier   	"Logical View::wsdl::IExtensibilityElement"
		    quidu      	"3B84B12402AB")
		(object Inheritance_Relationship
		    quid       	"3BDDF53502C3"
		    supplier   	"Logical View::wsdl::WSDLElement"
		    quidu      	"3AD5C6A302DD"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "required"
		    quid       	"3AF9543C0073"
		    type       	"boolean")
		(object ClassAttribute "elementType"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3B85B21A0271"
		    type       	"QName"))
	    language   	"Java")
	(object Class "Definition"
	    quid       	"3AD5E43F008E"
	    documentation 	"This class represents a WSDL definitions element. The WSDL definitions element is the root element of a WSDL document."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AD5FDB803D4"
		    supplier   	"Logical View::wsdl::ExtensibleElement"
		    quidu      	"3AD5FCFA033A")
		(object Inheritance_Relationship
		    quid       	"3B84B1F80382"
		    supplier   	"Logical View::wsdl::IDefinition"
		    quidu      	"3B84B1D90142"))
	    operations 	(list Operations
		(object Operation "getDocument"
		    quid       	"3CD14FC2012B"
		    result     	"DOMDocument"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setDocument"
		    quid       	"3CD150DE01E7"
		    parameters 	(list Parameters
			(object Parameter "document"
			    type       	"DOMDocument"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "targetNamespace"
		    quid       	"3AD5E474004E"
		    type       	"String")
		(object ClassAttribute "location"
		    quid       	"40352B7C0396"
		    type       	"String")
		(object ClassAttribute "qName"
		    quid       	"3AEB485702F5"
		    type       	"QName")
		(object ClassAttribute "encoding"
		    quid       	"3CADD00D000D"
		    type       	"String"))
	    language   	"Java")
	(object Class "Import"
	    quid       	"3AD5E4F903DE"
	    documentation 	"This class represents WSDL import element. WSDL allows associating a namespace with a document location using an import element."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AD5EE58037A"
		    supplier   	"Logical View::wsdl::WSDLElement"
		    quidu      	"3AD5C6A302DD")
		(object Inheritance_Relationship
		    quid       	"3F6F200D0340"
		    supplier   	"Logical View::wsdl::IImport"
		    quidu      	"3B84B2020119"))
	    operations 	(list Operations
		(object Operation "getSchema"
		    quid       	"3C8672C10379"
		    result     	"XSDSchema"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setSchema"
		    quid       	"3C8672C10397"
		    parameters 	(list Parameters
			(object Parameter "schema"
			    type       	"XSDSchema"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "namespaceURI"
		    quid       	"3AD5E50A0036"
		    type       	"String")
		(object ClassAttribute "locationURI"
		    quid       	"3AD5E5140211"
		    type       	"String"))
	    language   	"Java")
	(object Class "ExtensibleElement"
	    quid       	"3AD5FCFA033A"
	    documentation 	" WSDL allows elements representing a specific technology (referred to here as extensibility elements) under various elements defined by WSDL. This class represents a WSDL point of extensibility."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AD5FE3C03D4"
		    supplier   	"Logical View::wsdl::WSDLElement"
		    quidu      	"3AD5C6A302DD"))
	    operations 	(list Operations
		(object Operation "getExtensibilityElements"
		    quid       	"3B85C12C03CD"
		    result     	"IList"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "addExtensibilityElement"
		    quid       	"3B85C1470295"
		    parameters 	(list Parameters
			(object Parameter "extElement"
			    type       	"IExtensibilityElement"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    language   	"Java"
	    abstract   	TRUE)
	(object Class "Input"
	    quid       	"3AE0789F0059"
	    documentation 	"This class represents a WSDL input element. An input element specifies the abstract message format for the input of the operation."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B85C504025F"
		    supplier   	"Logical View::wsdl::WSDLElement"
		    quidu      	"3AD5C6A302DD")
		(object Inheritance_Relationship
		    quid       	"3F67722802E7"
		    supplier   	"Logical View::wsdl::MessageReference"
		    quidu      	"3F6771DB02DC")
		(object Inheritance_Relationship
		    quid       	"3F6F1FEE031D"
		    supplier   	"Logical View::wsdl::IInput"
		    quidu      	"3B84A7EE0015"))
	    language   	"Java")
	(object Class "Output"
	    quid       	"3AE078B60232"
	    documentation 	"This class represents a WSDL output element. An output element specifies the abstract message format for the output of the operation."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B85C50C035B"
		    supplier   	"Logical View::wsdl::WSDLElement"
		    quidu      	"3AD5C6A302DD")
		(object Inheritance_Relationship
		    quid       	"3F67723500DD"
		    supplier   	"Logical View::wsdl::MessageReference"
		    quidu      	"3F6771DB02DC")
		(object Inheritance_Relationship
		    quid       	"3F6F1FF801CD"
		    supplier   	"Logical View::wsdl::IOutput"
		    quidu      	"3B84A829027D"))
	    language   	"Java")
	(object Class "Fault"
	    quid       	"3AE078BE0108"
	    documentation 	"This class represents a WSDL fault element. Fault elements specify the abstract message format for any error messages that may be output as the result of the operation "
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AE1C82002F2"
		    supplier   	"Logical View::wsdl::WSDLElement"
		    quidu      	"3AD5C6A302DD")
		(object Inheritance_Relationship
		    quid       	"3F67723D0319"
		    supplier   	"Logical View::wsdl::MessageReference"
		    quidu      	"3F6771DB02DC")
		(object Inheritance_Relationship
		    quid       	"3F6F2002002D"
		    supplier   	"Logical View::wsdl::IFault"
		    quidu      	"3B84A861031D"))
	    language   	"Java")
	(object Class "BindingInput"
	    quid       	"3AE08A8202D4"
	    documentation 	"This class represents a WSDL input element within a operation within a binding. An input element within an operation within a binding specifies binding information for the input of the operation. "
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B84AE1B0113"
		    supplier   	"Logical View::wsdl::IBindingInput"
		    quidu      	"3B84ADEB0100")
		(object Inheritance_Relationship
		    quid       	"3B85B59B0072"
		    supplier   	"Logical View::wsdl::ExtensibleElement"
		    quidu      	"3AD5FCFA033A"))
	    operations 	(list Operations
		(object Operation "getInput"
		    quid       	"3C8653A40203"
		    result     	"IInput"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setInput"
		    quid       	"3C8653B503A2"
		    parameters 	(list Parameters
			(object Parameter "input"
			    type       	"IInput"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "name"
		    quid       	"3B85C1EA020E"
		    type       	"String"))
	    language   	"Java")
	(object Class "BindingOutput"
	    quid       	"3AE08A8F028C"
	    documentation 	"This class represents a WSDL output element within a operation within a binding. An output element within an operation within a binding specifies binding information for the output of the operation. "
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B84AE4302AB"
		    supplier   	"Logical View::wsdl::IBindingOutput"
		    quidu      	"3B84AE210111")
		(object Inheritance_Relationship
		    quid       	"3B85B5A4027E"
		    supplier   	"Logical View::wsdl::ExtensibleElement"
		    quidu      	"3AD5FCFA033A"))
	    operations 	(list Operations
		(object Operation "getOutput"
		    quid       	"3C8653D900F1"
		    result     	"IOutput"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setOutput"
		    quid       	"3C8653F10326"
		    parameters 	(list Parameters
			(object Parameter "output"
			    type       	"IOutput"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "name"
		    quid       	"3B85C20200BE"
		    type       	"String"))
	    language   	"Java")
	(object Class "BindingFault"
	    quid       	"3AE08A9E03A6"
	    documentation 	"This class represents a WSDL fault element within a operation within a binding. A fault element within an operation within a binding specifies binding information for the fault with the same name. "
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AE0938602C9"
		    supplier   	"Logical View::wsdl::ExtensibleElement"
		    quidu      	"3AD5FCFA033A")
		(object Inheritance_Relationship
		    quid       	"3B84AE710333"
		    supplier   	"Logical View::wsdl::IBindingFault"
		    quidu      	"3B84AE4F00BD"))
	    operations 	(list Operations
		(object Operation "getFault"
		    quid       	"3C865413037F"
		    result     	"IFault"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setFault"
		    quid       	"3C8654210109"
		    parameters 	(list Parameters
			(object Parameter "fault"
			    type       	"IFault"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "name"
		    quid       	"3B85BF9E014A"
		    type       	"String"))
	    language   	"Java")
	(object Class "QName"
	    quid       	"3AE8ED220140"
	    documentation 	"This class represents the javax.wsdl.QName class. A QName is a fully qualified name."
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.xml.namespace.QName"
		    quid       	"3B849DA9003D"
		    stereotype 	"javaclass"))
	    language   	"Java")
	(object Class "Namespace"
	    quid       	"3AEA3CD30030"
	    documentation 	"This class represents a namespace and the corresponding namespace prefix used in a WSDL document."
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "URI"
		    quid       	"3AEA3D2901B1"
		    type       	"String")
		(object ClassAttribute "prefix"
		    quid       	"3AEA3D320236"
		    type       	"String"))
	    language   	"Java")
	(object Class "OperationType"
	    quid       	"3AEB4782024F"
	    documentation 	
|ONE_WAY=1
|REQUEST_RESPONSE=2
|SOLICIT_RESPONSE=3
|NOTIFICATION=4
	    
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.OperationType"
		    quid       	"3B85C35303E3"
		    stereotype 	"javaclass"))
	    language   	"Java")
	(object Class "IPortType"
	    quid       	"3B84A5BE0331"
	    documentation 	"This class represents the javax.wsdl.PortType non-MOF interface."
	    stereotype 	"Interface"
	    operations 	(list Operations
		(object Operation "addOperation"
		    quid       	"3B896AC101CA"
		    parameters 	(list Parameters
			(object Parameter "operation"
			    type       	"IOperation"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getOperation"
		    quid       	"3B896BAF01A4"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"String")
			(object Parameter "inputName"
			    type       	"String")
			(object Parameter "outputName"
			    type       	"String"))
		    result     	"IOperation"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getOperations"
		    quid       	"3B896BF7031A"
		    result     	"IList"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.PortType"
		    quid       	"3B84A632000D"
		    stereotype 	"javaclass")))
	(object Class "IOperation"
	    quid       	"3B84A77600D1"
	    documentation 	"This class represents the javax.wsdl.Operation non-MOF interface."
	    stereotype 	"Interface"
	    operations 	(list Operations
		(object Operation "addFault"
		    quid       	"3B896C420065"
		    parameters 	(list Parameters
			(object Parameter "fault"
			    type       	"IFault"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getFault"
		    quid       	"3B896C59028F"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"String"))
		    result     	"IFault"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getFaults"
		    quid       	"3B896C7102B1"
		    result     	"IMap"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getParameterOrdering"
		    quid       	"3B896C8101B0"
		    result     	"IList"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setParameterOrdering"
		    quid       	"3B896C99031D"
		    parameters 	(list Parameters
			(object Parameter "parameterOrder"
			    type       	"IList"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getInput"
		    quid       	"3C8654E5018D"
		    result     	"IInput"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setInput"
		    quid       	"3C8662C40107"
		    parameters 	(list Parameters
			(object Parameter "input"
			    type       	"IInput"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getOutput"
		    quid       	"3C8662E40094"
		    result     	"IOutput"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setOutput"
		    quid       	"3C8662F001D2"
		    parameters 	(list Parameters
			(object Parameter "output"
			    type       	"IOutput"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.Operation"
		    quid       	"3B84A799012B"
		    stereotype 	"javaclass")))
	(object Class "IInput"
	    quid       	"3B84A7EE0015"
	    documentation 	"This class represents the javax.wsdl.Input non-MOF interface."
	    stereotype 	"Interface"
	    operations 	(list Operations
		(object Operation "getMessage"
		    quid       	"3C86633100EF"
		    result     	"IMessage"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setMessage"
		    quid       	"3C8663470277"
		    parameters 	(list Parameters
			(object Parameter "message"
			    type       	"IMessage"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.Input"
		    quid       	"3B84A8000039"
		    stereotype 	"javaclass")))
	(object Class "IOutput"
	    quid       	"3B84A829027D"
	    documentation 	"This class represents the javax.wsdl.Output non-MOF interface."
	    stereotype 	"Interface"
	    operations 	(list Operations
		(object Operation "getMessage"
		    quid       	"3C86643A035D"
		    result     	"IMessage"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setMessage"
		    quid       	"3C86644501C8"
		    parameters 	(list Parameters
			(object Parameter "message"
			    type       	"IMessage"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.Output"
		    quid       	"3B84A83901D5"
		    stereotype 	"javaclass")))
	(object Class "IFault"
	    quid       	"3B84A861031D"
	    documentation 	"This class represents the javax.wsdl.Fault non-MOF interface."
	    stereotype 	"Interface"
	    operations 	(list Operations
		(object Operation "getMessage"
		    quid       	"3C86646A00BD"
		    result     	"IMessage"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setMessage"
		    quid       	"3C8664750131"
		    parameters 	(list Parameters
			(object Parameter "message"
			    type       	"IMessage"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.Fault"
		    quid       	"3B84A8710208"
		    stereotype 	"javaclass")))
	(object Class "IMessage"
	    quid       	"3B84A8AF004F"
	    documentation 	"This class represents the javax.wsdl.Message non-MOF interface"
	    stereotype 	"Interface"
	    operations 	(list Operations
		(object Operation "addPart"
		    quid       	"3B8972240273"
		    parameters 	(list Parameters
			(object Parameter "part"
			    type       	"IPart"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getPart"
		    quid       	"3B89723D0233"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"String"))
		    result     	"IPart"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getParts"
		    quid       	"3B897254025E"
		    result     	"IMap"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getOrderedParts"
		    quid       	"3B897261020D"
		    parameters 	(list Parameters
			(object Parameter "partOrder"
			    type       	"IList"))
		    result     	"IList"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.Message"
		    quid       	"3B84A8BC0260"
		    stereotype 	"javaclass")))
	(object Class "IPart"
	    quid       	"3B84A93F01BE"
	    documentation 	"This class represents the javax.wsdl.Part non-MOF interface"
	    stereotype 	"Interface"
	    operations 	(list Operations
		(object Operation "setExtensionAttribute"
		    quid       	"3C4688450052"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"QName")
			(object Parameter "value"
			    type       	"QName"))
		    exceptions 	"WSDLException"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getExtensionAttributeNames"
		    quid       	"3C468A0101C3"
		    result     	"IIterator"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getExtensionAttribute"
		    quid       	"3C468A2D02D5"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"QName"))
		    result     	"QName"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.Part"
		    quid       	"3B84A9500231"
		    stereotype 	"javaclass")))
	(object Class "IService"
	    quid       	"3B84AB490287"
	    documentation 	"This class represents the javax.wsdl.Service non-MOF interface."
	    stereotype 	"Interface"
	    operations 	(list Operations
		(object Operation "addPort"
		    quid       	"3B895D5601D1"
		    parameters 	(list Parameters
			(object Parameter "port"
			    type       	"IPort"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getPorts"
		    quid       	"3B895DA20036"
		    result     	"IMap"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getPort"
		    quid       	"3B895DB001BC"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"String"))
		    result     	"IPort"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.Service"
		    quid       	"3B84AB5B003E"
		    stereotype 	"javaclass")))
	(object Class "IPort"
	    quid       	"3B84AB800326"
	    documentation 	"This class represents the javax.wsdl.Port non-MOF interface."
	    stereotype 	"Interface"
	    operations 	(list Operations
		(object Operation "getBinding"
		    quid       	"3C8651F302B5"
		    result     	"IBinding"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setBinding"
		    quid       	"3C86526302F2"
		    parameters 	(list Parameters
			(object Parameter "binding"
			    type       	"IBinding"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.Port"
		    quid       	"3B84AB8C0016"
		    stereotype 	"javaclass")))
	(object Class "IBinding"
	    quid       	"3B84ABC60219"
	    documentation 	"This class represents the javax.wsdl.Binding non-MOF interface."
	    stereotype 	"Interface"
	    operations 	(list Operations
		(object Operation "addBindingOperation"
		    quid       	"3B895F160153"
		    parameters 	(list Parameters
			(object Parameter "bindingOperation"
			    type       	"IBindingOperation"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getBindingOperation"
		    quid       	"3B895F500066"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"String")
			(object Parameter "inputName"
			    type       	"String")
			(object Parameter "outputName"
			    type       	"String"))
		    result     	"IBindingOperation"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getBindingOperations"
		    quid       	"3B895FA401C5"
		    result     	"IList"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getPortType"
		    quid       	"3C8652A90284"
		    result     	"IPortType"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setPortType"
		    quid       	"3C8652BE01A8"
		    parameters 	(list Parameters
			(object Parameter "portType"
			    type       	"IPortType"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.Binding"
		    quid       	"3B84ABCF0302"
		    stereotype 	"javaclass")))
	(object Class "IBindingOperation"
	    quid       	"3B84ADC00072"
	    documentation 	"This class represents the javax.wsdl.BindingOperation non-MOF interface."
	    stereotype 	"Interface"
	    operations 	(list Operations
		(object Operation "addBindingFault"
		    quid       	"3B8960BC0041"
		    parameters 	(list Parameters
			(object Parameter "bindingFault"
			    type       	"IBindingFault"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getBindingFault"
		    quid       	"3B8960D9009D"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"String"))
		    result     	"IBindingFault"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getBindingFaults"
		    quid       	"3B8960FC0061"
		    result     	"IMap"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getOperation"
		    quid       	"3C86532D0017"
		    result     	"IOperation"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setOperation"
		    quid       	"3C86533F037B"
		    parameters 	(list Parameters
			(object Parameter "operation"
			    type       	"IOperation"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getBindingInput"
		    quid       	"3C86550900DA"
		    result     	"IBindingInput"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setBindingInput"
		    quid       	"3C86551D007F"
		    parameters 	(list Parameters
			(object Parameter "bindingInput"
			    type       	"IBindingInput"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getBindingOutput"
		    quid       	"3C8655340349"
		    result     	"IBindingOutput"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setBindingOutput"
		    quid       	"3C86554702A6"
		    parameters 	(list Parameters
			(object Parameter "bindingOutput"
			    type       	"IBindingOutput"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.BindingOperation"
		    quid       	"3B84ADCB021C"
		    stereotype 	"javaclass")))
	(object Class "IBindingInput"
	    quid       	"3B84ADEB0100"
	    documentation 	"This class represents the javax.wsdl.BindingInput non-MOF interface."
	    stereotype 	"Interface"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.BindingInput"
		    quid       	"3B84ADFE000D"
		    stereotype 	"javaclass")))
	(object Class "IBindingOutput"
	    quid       	"3B84AE210111"
	    documentation 	"This class represents the javax.wsdl.BindingOutput non-MOF interface."
	    stereotype 	"Interface"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.BindingOutput"
		    quid       	"3B84AE2D0050"
		    stereotype 	"javaclass")))
	(object Class "IBindingFault"
	    quid       	"3B84AE4F00BD"
	    documentation 	"This class represents the javax.wsdl.BindingFault non-MOF interface."
	    stereotype 	"Interface"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.BindingFault"
		    quid       	"3B84AE5F002A"
		    stereotype 	"javaclass")))
	(object Class "DOMElement"
	    quid       	"3B84AF3203DB"
	    documentation 	"This class represents the org.w3c.dom.Element non-MOF interface."
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "org.w3c.dom.Element"
		    quid       	"3B84AF560292"
		    stereotype 	"javaclass")))
	(object Class "IExtensibilityElement"
	    quid       	"3B84B12402AB"
	    documentation 	"This class represents the javax.wsdl.ExtensibilityElement non-MOF interface."
	    stereotype 	"Interface"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.extensions.ExtensibilityElement"
		    quid       	"3B84B13503D1"
		    stereotype 	"javaclass")))
	(object Class "IDefinition"
	    quid       	"3B84B1D90142"
	    documentation 	"This class represents the javax.wsdl.Definition non-MOF interface."
	    stereotype 	"Interface"
	    operations 	(list Operations
		(object Operation "addBinding"
		    quid       	"3B8988F1039D"
		    parameters 	(list Parameters
			(object Parameter "binding"
			    type       	"IBinding"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "addImport"
		    quid       	"3B8989490259"
		    parameters 	(list Parameters
			(object Parameter "importDef"
			    type       	"IImport"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "addMessage"
		    quid       	"3B89896E005E"
		    parameters 	(list Parameters
			(object Parameter "message"
			    type       	"IMessage"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "addNamespace"
		    quid       	"3B898984004B"
		    parameters 	(list Parameters
			(object Parameter "prefix"
			    type       	"String")
			(object Parameter "namespaceURI"
			    type       	"String"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "addPortType"
		    quid       	"3B8989C50045"
		    parameters 	(list Parameters
			(object Parameter "portType"
			    type       	"IPortType"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "addService"
		    quid       	"3B8989E401EE"
		    parameters 	(list Parameters
			(object Parameter "service"
			    type       	"IService"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createBindingFault"
		    quid       	"3B898A17038C"
		    result     	"IBindingFault"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createBindingInput"
		    quid       	"3B898A320286"
		    result     	"IBindingInput"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createBindingOutput"
		    quid       	"3B898A46013B"
		    result     	"IBindingOutput"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createBindingOperation"
		    quid       	"3B898A5C00B0"
		    result     	"IBindingOperation"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createBinding"
		    quid       	"3B8989FE037C"
		    result     	"IBinding"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createFault"
		    quid       	"3B898A7502E7"
		    result     	"IFault"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createImport"
		    quid       	"3B898A83014C"
		    result     	"IImport"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createInput"
		    quid       	"3B898A9D033E"
		    result     	"IInput"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createMessage"
		    quid       	"3B898AAF0254"
		    result     	"IMessage"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createOperation"
		    quid       	"3B898AC203C4"
		    result     	"IOperation"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createOutput"
		    quid       	"3B898AE800ED"
		    result     	"IOutput"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createPart"
		    quid       	"3B898AF8026D"
		    result     	"IPart"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createPort"
		    quid       	"3B898B0801DA"
		    result     	"IPort"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createPortType"
		    quid       	"3B898B15039B"
		    result     	"IPortType"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createService"
		    quid       	"3B898B32013A"
		    result     	"IService"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getBinding"
		    quid       	"3B898B420075"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"QName"))
		    result     	"IBinding"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getBindings"
		    quid       	"3B898B920341"
		    result     	"IMap"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getImports"
		    quid       	"3B898BCD0060"
		    result     	"IMap"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getImports"
		    quid       	"3B898BE70144"
		    parameters 	(list Parameters
			(object Parameter "namespaceURI"
			    type       	"String"))
		    result     	"IList"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getMessage"
		    quid       	"3B898C170107"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"QName"))
		    result     	"IMessage"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getMessages"
		    quid       	"3B898C3E001D"
		    result     	"IMap"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getNamespace"
		    quid       	"3B898C62014B"
		    parameters 	(list Parameters
			(object Parameter "prefix"
			    type       	"String"))
		    result     	"String"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getNamespaces"
		    quid       	"3B898C740115"
		    result     	"IMap"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getPortType"
		    quid       	"3B898CBE0071"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"QName"))
		    result     	"IPortType"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getPortTypes"
		    quid       	"3B898CDA01C6"
		    result     	"IMap"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getPrefix"
		    quid       	"3B898CFD0017"
		    parameters 	(list Parameters
			(object Parameter "namespaceURI"
			    type       	"String"))
		    result     	"String"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getService"
		    quid       	"3B898D2300A8"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"QName"))
		    result     	"IService"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getServices"
		    quid       	"3B898D3B03CE"
		    result     	"IMap"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getExtensionRegistry"
		    quid       	"3B89D5B8012B"
		    result     	"IExtensionRegistry"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setExtensionRegistry"
		    quid       	"3B89D5D703BB"
		    parameters 	(list Parameters
			(object Parameter "extensionRegistry"
			    type       	"IExtensionRegistry"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getDocumentBaseURI"
		    quid       	"3B89D5FE0208"
		    result     	"String"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setDocumentBaseURI"
		    quid       	"3B89D6180328"
		    parameters 	(list Parameters
			(object Parameter "documentBase"
			    type       	"String"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "createTypes"
		    quid       	"3CADD0560080"
		    result     	"ITypes"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "removeService"
		    quid       	"3CADD07E004C"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"QName"))
		    result     	"IService"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "removeBinding"
		    quid       	"3CADD0BA0355"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"QName"))
		    result     	"IBinding"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "removePortType"
		    quid       	"3CADD0D8029A"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"QName"))
		    result     	"IPortType"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "removeMessage"
		    quid       	"3CADD0FA0307"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"QName"))
		    result     	"IMessage"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getTypes"
		    quid       	"3C86706F031B"
		    result     	"ITypes"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setTypes"
		    quid       	"3C86709500EE"
		    parameters 	(list Parameters
			(object Parameter "types"
			    type       	"ITypes"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.Definition"
		    quid       	"3B84B1E702A1"
		    stereotype 	"javaclass")))
	(object Class "IImport"
	    quid       	"3B84B2020119"
	    documentation 	"This class represents the javax.wsdl.Import non-MOF interface."
	    stereotype 	"Interface"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.Import"
		    quid       	"3B84B20C02EA"
		    stereotype 	"javaclass")))
	(object Class "IList"
	    quid       	"3B85C0A203C5"
	    documentation 	"This class represents the non-MOF java.util.List interface."
	    stereotype 	"Interface"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "java.util.List"
		    quid       	"3B85C0AF0297"
		    stereotype 	"javaclass")))
	(object Class "IMap"
	    quid       	"3B896B0300D4"
	    documentation 	"This class represents the non-MOF java.util.Map interface."
	    stereotype 	"Interface"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "java.util.Map"
		    quid       	"3B896B1102B5"
		    stereotype 	"javaclass")))
	(object Class "IURL"
	    quid       	"3B89D5630274"
	    documentation 	"This class represents the non-MOF java.net.URL interface."
	    stereotype 	"Interface"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "java.net.URL"
		    quid       	"3B89D56E03E2"
		    stereotype 	"javaclass")))
	(object Class "IExtensionRegistry"
	    quid       	"3B89D59302A5"
	    documentation 	"This class represents the non-MOF javax.wsdl.extensions.ExtensionRegistry interface."
	    stereotype 	"Interface"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.extensions.ExtensionRegistry"
		    quid       	"3B89D59F02E8"
		    stereotype 	"javaclass")))
	(object Class "Types"
	    quid       	"3B8BE9A603A8"
	    documentation 	"This class represents a WSDL types element. The types element encloses data type definitions that are relevant for the exchanged messages."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B8BEB010311"
		    supplier   	"Logical View::wsdl::ExtensibleElement"
		    quidu      	"3AD5FCFA033A")
		(object Inheritance_Relationship
		    quid       	"3CADCD3B0380"
		    supplier   	"Logical View::wsdl::ITypes"
		    quidu      	"3CADCBB20050"))
	    operations 	(list Operations
		(object Operation "getSchemas"
		    quid       	"3CADCF3803E6"
		    result     	"IList"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getSchemas"
		    quid       	"3CADCF7E0301"
		    parameters 	(list Parameters
			(object Parameter "namespaceURI"
			    type       	"String"))
		    result     	"IList"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)))
	(object Class "IIterator"
	    quid       	"3C4687DA0167"
	    documentation 	"This class represents the non-MOF java.util.Iterator interface."
	    stereotype 	"Interface"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "java.util.Iterator"
		    quid       	"3C46880800B9"
		    stereotype 	"javaclass")))
	(object Class "WSDLException"
	    quid       	"3C4689650313"
	    documentation 	"This class represents the javax.wsdl.Exception class."
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.WSDLException"
		    quid       	"3C4689740315"
		    stereotype 	"javaclass")))
	(object Class "ITypes"
	    quid       	"3CADCBB20050"
	    documentation 	"This class represents the javax.wsdl.Types non-MOF interface"
	    stereotype 	"Interface"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.Types"
		    quid       	"3CADCBF10173"
		    stereotype 	"javaclass")))
	(object Class "UnknownExtensibilityElement"
	    quid       	"3CB24AC002AE"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3CB24AEC01CB"
		    supplier   	"Logical View::wsdl::ExtensibilityElement"
		    quidu      	"3AD5DBB602A9")))
	(object Class "XSDSchemaExtensibilityElement"
	    quid       	"3CC360D7039C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3CC3627F00B7"
		    supplier   	"Logical View::wsdl::ExtensibilityElement"
		    quidu      	"3AD5DBB602A9")))
	(object Class "DOMDocument"
	    quid       	"3CD1502C023B"
	    documentation 	"This class represents the org.w3c.dom.Document non-MOF interface."
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "org.w3c.dom.Document"
		    quid       	"3CD150600182"
		    stereotype 	"javaclass")))
	(object Class "MessageReference"
	    quid       	"3F6771DB02DC"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3F762A6A0308"
		    supplier   	"Logical View::wsdl::WSDLElement"
		    quidu      	"3AD5C6A302DD"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "name"
		    quid       	"3F6780A001AB"
		    type       	"String"
		    exportControl 	"Protected"))
	    language   	"Java"
	    abstract   	TRUE)
	(object Association "$UNNAMED$0"
	    quid       	"3AD5C824018C"
	    roles      	(list role_list
		(object Role "portType"
		    quid       	"3AD5C82701C3"
		    label      	"portType"
		    supplier   	"Logical View::wsdl::PortType"
		    quidu      	"3AD5C7F001A5"
		    client_cardinality 	(value cardinality "1..1")
		    Containment 	"By Value"
		    is_aggregate 	TRUE)
		(object Role "eOperations"
		    quid       	"3AD5C82701CD"
		    label      	"eOperations"
		    supplier   	"Logical View::wsdl::Operation"
		    quidu      	"3AD5C80D03CE"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$1"
	    quid       	"3AD5CEBE00E2"
	    roles      	(list role_list
		(object Role "$UNNAMED$2"
		    quid       	"3AD5CEBF0057"
		    supplier   	"Logical View::wsdl::Message"
		    quidu      	"3AD5C9590078"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)
		(object Role "eParts"
		    quid       	"3AD5CEBF0061"
		    label      	"eParts"
		    supplier   	"Logical View::wsdl::Part"
		    quidu      	"3AD5CE1C032E"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$3"
	    quid       	"3AD5D352010F"
	    roles      	(list role_list
		(object Role "ePortType"
		    quid       	"3AD5D3540176"
		    label      	"ePortType"
		    supplier   	"Logical View::wsdl::PortType"
		    quidu      	"3AD5C7F001A5"
		    client_cardinality 	(value cardinality "1..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$4"
		    quid       	"3AD5D3540180"
		    supplier   	"Logical View::wsdl::Binding"
		    quidu      	"3AD5D2860261")))
	(object Association "$UNNAMED$5"
	    quid       	"3AD5D3E10179"
	    roles      	(list role_list
		(object Role "$UNNAMED$6"
		    quid       	"3AD5D3E20225"
		    supplier   	"Logical View::wsdl::Binding"
		    quidu      	"3AD5D2860261"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)
		(object Role "eBindingOperations"
		    quid       	"3AD5D3E20239"
		    label      	"eBindingOperations"
		    supplier   	"Logical View::wsdl::BindingOperation"
		    quidu      	"3AD5D3CB0145"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$7"
	    quid       	"3AD5D425038A"
	    roles      	(list role_list
		(object Role "eOperation"
		    quid       	"3AD5D42602F5"
		    label      	"eOperation"
		    supplier   	"Logical View::wsdl::Operation"
		    quidu      	"3AD5C80D03CE"
		    client_cardinality 	(value cardinality "1..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$8"
		    quid       	"3AD5D42602FF"
		    supplier   	"Logical View::wsdl::BindingOperation"
		    quidu      	"3AD5D3CB0145")))
	(object Association "$UNNAMED$9"
	    quid       	"3AD5D9400393"
	    roles      	(list role_list
		(object Role "ePorts"
		    quid       	"3AD5D941031C"
		    label      	"ePorts"
		    supplier   	"Logical View::wsdl::Port"
		    quidu      	"3AD5D9170286"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$10"
		    quid       	"3AD5D941031D"
		    supplier   	"Logical View::wsdl::Service"
		    quidu      	"3AD5D8F002F8"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$11"
	    quid       	"3AD5D9B8011F"
	    roles      	(list role_list
		(object Role "eBinding"
		    quid       	"3AD5D9B9024D"
		    label      	"eBinding"
		    supplier   	"Logical View::wsdl::Binding"
		    quidu      	"3AD5D2860261"
		    client_cardinality 	(value cardinality "1..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$12"
		    quid       	"3AD5D9B90261"
		    supplier   	"Logical View::wsdl::Port"
		    quidu      	"3AD5D9170286")))
	(object Association "$UNNAMED$13"
	    quid       	"3AD5E60301E2"
	    roles      	(list role_list
		(object Role "$UNNAMED$14"
		    quid       	"3AD5E60400B7"
		    supplier   	"Logical View::wsdl::Definition"
		    quidu      	"3AD5E43F008E"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)
		(object Role "eMessages"
		    quid       	"3AD5E60400C1"
		    label      	"eMessages"
		    supplier   	"Logical View::wsdl::Message"
		    quidu      	"3AD5C9590078"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$15"
	    quid       	"3AD5E6710104"
	    roles      	(list role_list
		(object Role "$UNNAMED$16"
		    quid       	"3AD5E672034A"
		    supplier   	"Logical View::wsdl::Definition"
		    quidu      	"3AD5E43F008E"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)
		(object Role "ePortTypes"
		    quid       	"3AD5E6720354"
		    label      	"ePortTypes"
		    supplier   	"Logical View::wsdl::PortType"
		    quidu      	"3AD5C7F001A5"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$17"
	    quid       	"3AD5E6770095"
	    roles      	(list role_list
		(object Role "$UNNAMED$18"
		    quid       	"3AD5E6780371"
		    supplier   	"Logical View::wsdl::Definition"
		    quidu      	"3AD5E43F008E"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)
		(object Role "eBindings"
		    quid       	"3AD5E678037B"
		    label      	"eBindings"
		    supplier   	"Logical View::wsdl::Binding"
		    quidu      	"3AD5D2860261"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$19"
	    quid       	"3AD5E67B0311"
	    roles      	(list role_list
		(object Role "$UNNAMED$20"
		    quid       	"3AD5E67D007F"
		    supplier   	"Logical View::wsdl::Definition"
		    quidu      	"3AD5E43F008E"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)
		(object Role "eServices"
		    quid       	"3AD5E67D0089"
		    label      	"eServices"
		    supplier   	"Logical View::wsdl::Service"
		    quidu      	"3AD5D8F002F8"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$21"
	    quid       	"3AD5FD130079"
	    roles      	(list role_list
		(object Role "eExtensibilityElements"
		    quid       	"3AD5FD14019D"
		    label      	"eExtensibilityElements"
		    supplier   	"Logical View::wsdl::ExtensibilityElement"
		    quidu      	"3AD5DBB602A9"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$22"
		    quid       	"3AD5FD14019E"
		    supplier   	"Logical View::wsdl::ExtensibleElement"
		    quidu      	"3AD5FCFA033A"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$23"
	    quid       	"3ADF2E6401F5"
	    roles      	(list role_list
		(object Role "eBindingInput"
		    quid       	"3ADF2E650251"
		    label      	"eBindingInput"
		    supplier   	"Logical View::wsdl::BindingInput"
		    quidu      	"3AE08A8202D4"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$24"
		    quid       	"3ADF2E650252"
		    supplier   	"Logical View::wsdl::BindingOperation"
		    quidu      	"3AD5D3CB0145"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$25"
	    quid       	"3ADF2EB30163"
	    roles      	(list role_list
		(object Role "eBindingOutput"
		    quid       	"3ADF2EB4013C"
		    label      	"eBindingOutput"
		    supplier   	"Logical View::wsdl::BindingOutput"
		    quidu      	"3AE08A8F028C"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$26"
		    quid       	"3ADF2EB4013D"
		    supplier   	"Logical View::wsdl::BindingOperation"
		    quidu      	"3AD5D3CB0145"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$27"
	    quid       	"3ADF2F94024D"
	    roles      	(list role_list
		(object Role "eInput"
		    quid       	"3ADF2F950190"
		    label      	"eInput"
		    supplier   	"Logical View::wsdl::Input"
		    quidu      	"3AE0789F0059"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$28"
		    quid       	"3ADF2F95019A"
		    supplier   	"Logical View::wsdl::Operation"
		    quidu      	"3AD5C80D03CE"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$29"
	    quid       	"3ADF2FB802F9"
	    roles      	(list role_list
		(object Role "eOutput"
		    quid       	"3ADF2FB9020A"
		    label      	"eOutput"
		    supplier   	"Logical View::wsdl::Output"
		    quidu      	"3AE078B60232"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$30"
		    quid       	"3ADF2FB9020B"
		    supplier   	"Logical View::wsdl::Operation"
		    quidu      	"3AD5C80D03CE"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$31"
	    quid       	"3ADF331601A4"
	    roles      	(list role_list
		(object Role "eFaults"
		    quid       	"3ADF33180387"
		    label      	"eFaults"
		    supplier   	"Logical View::wsdl::Fault"
		    quidu      	"3AE078BE0108"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$32"
		    quid       	"3ADF33180388"
		    supplier   	"Logical View::wsdl::Operation"
		    quidu      	"3AD5C80D03CE"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$33"
	    quid       	"3ADF340003E5"
	    roles      	(list role_list
		(object Role "eBindingFaults"
		    quid       	"3ADF340103AA"
		    label      	"eBindingFaults"
		    supplier   	"Logical View::wsdl::BindingFault"
		    quidu      	"3AE08A9E03A6"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$34"
		    quid       	"3ADF340103AB"
		    supplier   	"Logical View::wsdl::BindingOperation"
		    quidu      	"3AD5D3CB0145"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$35"
	    quid       	"3AE091F402F3"
	    roles      	(list role_list
		(object Role "eFault"
		    quid       	"3AE091F801FE"
		    label      	"eFault"
		    supplier   	"Logical View::wsdl::Fault"
		    quidu      	"3AE078BE0108"
		    client_cardinality 	(value cardinality "1..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$36"
		    quid       	"3AE091F801FF"
		    supplier   	"Logical View::wsdl::BindingFault"
		    quidu      	"3AE08A9E03A6")))
	(object Association "$UNNAMED$37"
	    quid       	"3AEA3D55002D"
	    roles      	(list role_list
		(object Role "$UNNAMED$38"
		    quid       	"3AEA3D560328"
		    supplier   	"Logical View::wsdl::Definition"
		    quidu      	"3AD5E43F008E"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)
		(object Role "eNamespaces"
		    quid       	"3AEA3D560332"
		    label      	"eNamespaces"
		    supplier   	"Logical View::wsdl::Namespace"
		    quidu      	"3AEA3CD30030"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$39"
	    quid       	"3AEA3E3A002D"
	    roles      	(list role_list
		(object Role "eDefinition"
		    quid       	"3AEA3E3C01E8"
		    label      	"eDefinition"
		    supplier   	"Logical View::wsdl::Definition"
		    quidu      	"3AD5E43F008E"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$40"
		    quid       	"3AEA3E3C01F2"
		    supplier   	"Logical View::wsdl::Import"
		    quidu      	"3AD5E4F903DE")))
	(object Association "$UNNAMED$41"
	    quid       	"3AEA412F0035"
	    roles      	(list role_list
		(object Role "eParameterOrdering"
		    quid       	"3AEA41310255"
		    label      	"eParameterOrdering"
		    supplier   	"Logical View::wsdl::Part"
		    quidu      	"3AD5CE1C032E"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$42"
		    quid       	"3AEA4131025F"
		    supplier   	"Logical View::wsdl::Operation"
		    quidu      	"3AD5C80D03CE")))
	(object Association "$UNNAMED$43"
	    quid       	"3B84AD2400BD"
	    roles      	(list role_list
		(object Role "eInput"
		    quid       	"3B84AD250083"
		    label      	"eInput"
		    supplier   	"Logical View::wsdl::Input"
		    quidu      	"3AE0789F0059"
		    client_cardinality 	(value cardinality "1..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$44"
		    quid       	"3B84AD250084"
		    supplier   	"Logical View::wsdl::BindingInput"
		    quidu      	"3AE08A8202D4")))
	(object Association "$UNNAMED$45"
	    quid       	"3B84AD7900F2"
	    roles      	(list role_list
		(object Role "eOutput"
		    quid       	"3B84AD7A014D"
		    label      	"eOutput"
		    supplier   	"Logical View::wsdl::Output"
		    quidu      	"3AE078B60232"
		    client_cardinality 	(value cardinality "1..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$46"
		    quid       	"3B84AD7A014E"
		    supplier   	"Logical View::wsdl::BindingOutput"
		    quidu      	"3AE08A8F028C")))
	(object Association "$UNNAMED$47"
	    quid       	"3B8B1BE900C4"
	    roles      	(list role_list
		(object Role "typeDefinition"
		    quid       	"3B8B1BE90327"
		    label      	"typeDefinition"
		    supplier   	"Logical View::xsd::XSDTypeDefinition"
		    quidu      	"3B66ECD302A9"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$48"
		    quid       	"3B8B1BE90331"
		    supplier   	"Logical View::wsdl::Part"
		    quidu      	"3AD5CE1C032E")))
	(object Association "$UNNAMED$49"
	    quid       	"3B8B1C1203B2"
	    roles      	(list role_list
		(object Role "elementDeclaration"
		    quid       	"3B8B1C14001C"
		    label      	"elementDeclaration"
		    supplier   	"Logical View::xsd::XSDElementDeclaration"
		    quidu      	"3B66ED580214"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$50"
		    quid       	"3B8B1C140026"
		    supplier   	"Logical View::wsdl::Part"
		    quidu      	"3AD5CE1C032E")))
	(object Association "$UNNAMED$51"
	    quid       	"3B8B1DCC02E5"
	    roles      	(list role_list
		(object Role "eSchema"
		    quid       	"3B8B1DCE0270"
		    label      	"eSchema"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$52"
		    quid       	"3B8B1DCE027A"
		    supplier   	"Logical View::wsdl::Import"
		    quidu      	"3AD5E4F903DE")))
	(object Association "$UNNAMED$53"
	    quid       	"3B8BEA27029F"
	    roles      	(list role_list
		(object Role "$UNNAMED$54"
		    quid       	"3B8BEA290356"
		    supplier   	"Logical View::wsdl::Definition"
		    quidu      	"3AD5E43F008E"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)
		(object Role "eTypes"
		    quid       	"3B8BEA29036A"
		    label      	"eTypes"
		    supplier   	"Logical View::wsdl::Types"
		    quidu      	"3B8BE9A603A8"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$55"
	    quid       	"3C46829303E5"
	    roles      	(list role_list
		(object Role "eMessage"
		    quid       	"3C468296010E"
		    label      	"eMessage"
		    supplier   	"Logical View::wsdl::Message"
		    quidu      	"3AD5C9590078"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$56"
		    quid       	"3C4682960118"
		    supplier   	"Logical View::wsdl::Part"
		    quidu      	"3AD5CE1C032E")))
	(object Association "$UNNAMED$57"
	    quid       	"3C864DFF02EC"
	    roles      	(list role_list
		(object Role "eImports"
		    quid       	"3C864DFF02ED"
		    label      	"eImports"
		    supplier   	"Logical View::wsdl::Import"
		    quidu      	"3AD5E4F903DE"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$58"
		    quid       	"3C864DFF02EE"
		    supplier   	"Logical View::wsdl::Definition"
		    quidu      	"3AD5E43F008E"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$59"
	    quid       	"3CC3614500F2"
	    roles      	(list role_list
		(object Role "$UNNAMED$60"
		    quid       	"3CC36146023D"
		    supplier   	"Logical View::wsdl::XSDSchemaExtensibilityElement"
		    quidu      	"3CC360D7039C"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)
		(object Role "schema"
		    quid       	"3CC36146023E"
		    label      	"schema"
		    supplier   	"Logical View::xsd::XSDSchema"
		    quidu      	"374B182500BB"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$61"
	    quid       	"3F74E78401B1"
	    roles      	(list role_list
		(object Role "eMessage"
		    quid       	"3F74E786000F"
		    label      	"eMessage"
		    supplier   	"Logical View::wsdl::Message"
		    quidu      	"3AD5C9590078"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$62"
		    quid       	"3F74E7860023"
		    supplier   	"Logical View::wsdl::MessageReference"
		    quidu      	"3F6771DB02DC")))
	(object Association "$UNNAMED$63"
	    quid       	"3F7896A2026E"
	    roles      	(list role_list
		(object Role "parent"
		    quid       	"3F7896A7012B"
		    label      	"parent"
		    supplier   	"Logical View::wsdl::UnknownExtensibilityElement"
		    quidu      	"3CB24AC002AE"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "children"
		    quid       	"3F7896A7012C"
		    label      	"children"
		    supplier   	"Logical View::wsdl::UnknownExtensibilityElement"
		    quidu      	"3CB24AC002AE"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE))))
    logical_presentations 	(list unit_reference_list
	(object ClassDiagram "2.7 Services"
	    quid       	"39AD3EF60127"
	    title      	"2.7 Services"
	    zoom       	90
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::wsdl::IBinding" @1
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1424, 800)
		    label      	(object ItemLabel
			Parent_View 	@1
			location   	(1173, 660)
			fill_color 	13434879
			nlines     	1
			max_width  	502
			justify    	0
			label      	"IBinding")
		    stereotype 	(object ItemLabel
			Parent_View 	@1
			location   	(1173, 610)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	502
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84ABC60219"
		    width      	520
		    height     	404
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IPort" @2
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(816, 528)
		    label      	(object ItemLabel
			Parent_View 	@2
			location   	(686, 481)
			fill_color 	13434879
			nlines     	1
			max_width  	260
			justify    	0
			label      	"IPort")
		    stereotype 	(object ItemLabel
			Parent_View 	@2
			location   	(686, 431)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	260
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84AB800326"
		    width      	278
		    height     	218
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IService" @3
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(240, 160)
		    label      	(object ItemLabel
			Parent_View 	@3
			location   	(126, 90)
			fill_color 	13434879
			nlines     	1
			max_width  	228
			justify    	0
			label      	"IService")
		    stereotype 	(object ItemLabel
			Parent_View 	@3
			location   	(126, 40)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	228
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84AB490287"
		    width      	246
		    height     	264
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Service" @4
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(240, 528)
		    label      	(object ItemLabel
			Parent_View 	@4
			location   	(44, 389)
			fill_color 	13434879
			nlines     	1
			max_width  	392
			justify    	0
			label      	"Service")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5D8F002F8"
		    width      	410
		    height     	302
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @5
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B85954E01B4"
		    client     	@4
		    supplier   	@3
		    line_style 	3
		    origin_attachment 	(240, 377)
		    terminal_attachment 	(240, 292))
		(object ClassView "Class" "Logical View::wsdl::Binding" @6
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1440, 1264)
		    label      	(object ItemLabel
			Parent_View 	@6
			location   	(1244, 1125)
			fill_color 	13434879
			nlines     	1
			max_width  	392
			justify    	0
			label      	"Binding")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5D2860261"
		    width      	410
		    height     	302
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @7
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8595410129"
		    client     	@6
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(1430, 1113)
		    terminal_attachment 	(1430, 1002))
		(object ClassView "Class" "Logical View::wsdl::Port" @8
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(816, 912)
		    label      	(object ItemLabel
			Parent_View 	@8
			location   	(675, 840)
			fill_color 	13434879
			nlines     	1
			max_width  	282
			justify    	0
			label      	"Port")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5D9170286"
		    width      	300
		    height     	168
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @9
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B85954502C9"
		    client     	@8
		    supplier   	@2
		    line_style 	3
		    origin_attachment 	(809, 828)
		    terminal_attachment 	(809, 637))
		(object AssociationViewNew "$UNNAMED$9" @10
		    location   	(343, 916)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D9400393"
		    roleview_list 	(list RoleViews
			(object RoleView "ePorts" @11
			    Parent_View 	@10
			    location   	(-121, 644)
			    label      	(object SegLabel @12
				Parent_View 	@11
				location   	(413, 945)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	192
				justify    	0
				label      	"+ePorts"
				pctDist    	0.218978
				height     	29
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5D941031C"
			    client     	@10
			    supplier   	@8
			    line_style 	3
			    origin_attachment 	(343, 916)
			    terminal_attachment 	(666, 916)
			    label      	(object SegLabel @13
				Parent_View 	@11
				location   	(539, 880)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	160
				justify    	0
				label      	"0..*"
				pctDist    	0.608000
				height     	37
				orientation 	0)
			    label      	(object SegLabel @14
				Parent_View 	@11
				location   	(448, 990)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	146
				justify    	0
				label      	"{ordered}"
				pctDist    	0.328467
				height     	74
				orientation 	1))
			(object RoleView "$UNNAMED$10" @15
			    Parent_View 	@10
			    location   	(-121, 644)
			    label      	(object SegLabel @16
				Parent_View 	@15
				location   	(216, 744)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5D941031D"
			    client     	@10
			    supplier   	@4
			    vertices   	(list Points
				(343, 916)
				(257, 916)
				(257, 679))
			    line_style 	3
			    origin_attachment 	(343, 916)
			    terminal_attachment 	(257, 679)
			    label      	(object SegLabel @17
				Parent_View 	@15
				location   	(301, 796)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.637097
				height     	44
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$11" @18
		    location   	(886, 1270)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D9B8011F"
		    roleview_list 	(list RoleViews
			(object RoleView "eBinding" @19
			    Parent_View 	@18
			    location   	(38, 422)
			    label      	(object SegLabel @20
				Parent_View 	@19
				location   	(1112, 1235)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+eBinding"
				pctDist    	0.648571
				height     	36
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5D9B9024D"
			    client     	@18
			    supplier   	@6
			    line_style 	3
			    origin_attachment 	(886, 1270)
			    terminal_attachment 	(1235, 1270)
			    label      	(object SegLabel @21
				Parent_View 	@19
				location   	(1170, 1313)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.814286
				height     	43
				orientation 	1))
			(object RoleView "$UNNAMED$12" @22
			    Parent_View 	@18
			    location   	(38, 422)
			    label      	(object SegLabel @23
				Parent_View 	@22
				location   	(852, 1106)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	156
				justify    	0
				label      	""
				pctDist    	0.687943
				height     	40
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5D9B90261"
			    client     	@18
			    supplier   	@8
			    vertices   	(list Points
				(886, 1270)
				(812, 1270)
				(812, 996))
			    line_style 	3
			    origin_attachment 	(886, 1270)
			    terminal_attachment 	(812, 996))))))
	(object ClassDiagram "2.5 Bindings"
	    quid       	"39AD51270252"
	    title      	"2.5 Bindings"
	    zoom       	85
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::wsdl::IBinding" @24
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(304, 240)
		    label      	(object ItemLabel
			Parent_View 	@24
			location   	(73, 114)
			fill_color 	13434879
			nlines     	1
			max_width  	462
			justify    	0
			label      	"IBinding")
		    stereotype 	(object ItemLabel
			Parent_View 	@24
			location   	(73, 64)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	462
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84ABC60219"
		    width      	480
		    height     	376
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IBindingOperation" @25
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(976, 352)
		    label      	(object ItemLabel
			Parent_View 	@25
			location   	(780, 130)
			fill_color 	13434879
			nlines     	1
			max_width  	392
			justify    	0
			label      	"IBindingOperation")
		    stereotype 	(object ItemLabel
			Parent_View 	@25
			location   	(780, 80)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	392
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84ADC00072"
		    width      	410
		    height     	568
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IBindingInput" @26
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(192, 1360)
		    label      	(object ItemLabel
			Parent_View 	@26
			location   	(62, 1334)
			fill_color 	16777215
			nlines     	1
			max_width  	260
			justify    	0
			label      	"IBindingInput")
		    stereotype 	(object ItemLabel
			Parent_View 	@26
			location   	(62, 1284)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	260
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84ADEB0100"
		    width      	278
		    height     	176
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IBindingOutput" @27
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(208, 1664)
		    label      	(object ItemLabel
			Parent_View 	@27
			location   	(61, 1638)
			fill_color 	16777215
			nlines     	1
			max_width  	294
			justify    	0
			label      	"IBindingOutput")
		    stereotype 	(object ItemLabel
			Parent_View 	@27
			location   	(61, 1588)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	294
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84AE210111"
		    width      	312
		    height     	176
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IBindingFault" @28
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(208, 1984)
		    label      	(object ItemLabel
			Parent_View 	@28
			location   	(72, 1958)
			fill_color 	13434879
			nlines     	1
			max_width  	272
			justify    	0
			label      	"IBindingFault")
		    stereotype 	(object ItemLabel
			Parent_View 	@28
			location   	(72, 1908)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	272
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84AE4F00BD"
		    width      	290
		    height     	176
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::PortType" @29
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 624)
		    label      	(object ItemLabel
			Parent_View 	@29
			location   	(1568, 486)
			fill_color 	13434879
			nlines     	1
			max_width  	673
			justify    	0
			label      	"PortType")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C7F001A5"
		    width      	691
		    height     	301
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Input" @30
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 1360)
		    label      	(object ItemLabel
			Parent_View 	@30
			location   	(1756, 1283)
			fill_color 	13434879
			nlines     	1
			max_width  	296
			justify    	0
			label      	"Input")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE0789F0059"
		    width      	314
		    height     	178
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Output" @31
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 1664)
		    label      	(object ItemLabel
			Parent_View 	@31
			location   	(1756, 1587)
			fill_color 	13434879
			nlines     	1
			max_width  	296
			justify    	0
			label      	"Output")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE078B60232"
		    width      	314
		    height     	178
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Binding" @32
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(304, 688)
		    label      	(object ItemLabel
			Parent_View 	@32
			location   	(97, 539)
			fill_color 	13434879
			nlines     	1
			max_width  	414
			justify    	0
			label      	"Binding")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5D2860261"
		    width      	432
		    height     	322
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @33
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8595410129"
		    client     	@32
		    supplier   	@24
		    line_style 	3
		    origin_attachment 	(279, 527)
		    terminal_attachment 	(279, 428))
		(object AssociationViewNew "$UNNAMED$3" @34
		    location   	(1039, 742)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D352010F"
		    roleview_list 	(list RoleViews
			(object RoleView "ePortType" @35
			    Parent_View 	@34
			    location   	(575, 598)
			    label      	(object SegLabel @36
				Parent_View 	@35
				location   	(1449, 781)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+ePortType"
				pctDist    	0.789292
				height     	39
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5D3540176"
			    client     	@34
			    supplier   	@29
			    line_style 	3
			    origin_attachment 	(1039, 742)
			    terminal_attachment 	(1559, 742)
			    label      	(object SegLabel @37
				Parent_View 	@35
				location   	(1492, 716)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.872193
				height     	27
				orientation 	0))
			(object RoleView "$UNNAMED$4" @38
			    Parent_View 	@34
			    location   	(575, 598)
			    label      	(object SegLabel @39
				Parent_View 	@38
				location   	(776, 697)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	108
				justify    	0
				label      	""
				pctDist    	0.509449
				height     	46
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5D3540180"
			    client     	@34
			    supplier   	@32
			    line_style 	3
			    origin_attachment 	(1039, 742)
			    terminal_attachment 	(520, 742))))
		(object ClassView "Class" "Logical View::wsdl::Operation" @40
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1888, 1024)
		    label      	(object ItemLabel
			Parent_View 	@40
			location   	(1672, 851)
			fill_color 	13434879
			nlines     	1
			max_width  	432
			justify    	0
			label      	"Operation")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C80D03CE"
		    width      	450
		    height     	370
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::BindingInput" @41
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(624, 1408)
		    label      	(object ItemLabel
			Parent_View 	@41
			location   	(476, 1283)
			fill_color 	13434879
			nlines     	1
			max_width  	296
			justify    	0
			label      	"BindingInput")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE08A8202D4"
		    width      	314
		    height     	274
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$43" @42
		    location   	(1264, 1359)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AD2400BD"
		    roleview_list 	(list RoleViews
			(object RoleView "eInput" @43
			    Parent_View 	@42
			    location   	(96, 287)
			    label      	(object SegLabel @44
				Parent_View 	@43
				location   	(1637, 1316)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	132
				justify    	0
				label      	"+eInput"
				pctDist    	0.775148
				height     	44
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B84AD250083"
			    client     	@42
			    supplier   	@30
			    line_style 	3
			    origin_attachment 	(1264, 1359)
			    terminal_attachment 	(1747, 1359)
			    label      	(object SegLabel @45
				Parent_View 	@43
				location   	(1694, 1398)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.889546
				height     	39
				orientation 	1))
			(object RoleView "$UNNAMED$44" @46
			    Parent_View 	@42
			    location   	(96, 287)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B84AD250084"
			    client     	@42
			    supplier   	@41
			    line_style 	3
			    origin_attachment 	(1264, 1359)
			    terminal_attachment 	(781, 1359))))
		(object ClassView "Class" "Logical View::wsdl::BindingOutput" @47
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(960, 1664)
		    label      	(object ItemLabel
			Parent_View 	@47
			location   	(812, 1539)
			fill_color 	13434879
			nlines     	1
			max_width  	296
			justify    	0
			label      	"BindingOutput")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE08A8F028C"
		    width      	314
		    height     	274
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$45" @48
		    location   	(1432, 1654)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AD7900F2"
		    roleview_list 	(list RoleViews
			(object RoleView "eOutput" @49
			    Parent_View 	@48
			    location   	(-120, 374)
			    label      	(object SegLabel @50
				Parent_View 	@49
				location   	(1645, 1612)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	168
				justify    	0
				label      	"+eOutput"
				pctDist    	0.674772
				height     	43
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B84AD7A014D"
			    client     	@48
			    supplier   	@31
			    line_style 	3
			    origin_attachment 	(1432, 1654)
			    terminal_attachment 	(1747, 1654)
			    label      	(object SegLabel @51
				Parent_View 	@49
				location   	(1681, 1697)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.790274
				height     	43
				orientation 	1))
			(object RoleView "$UNNAMED$46" @52
			    Parent_View 	@48
			    location   	(-120, 374)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B84AD7A014E"
			    client     	@48
			    supplier   	@47
			    line_style 	3
			    origin_attachment 	(1432, 1654)
			    terminal_attachment 	(1117, 1654))))
		(object ClassView "Class" "Logical View::wsdl::BindingOperation" @53
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(992, 1008)
		    label      	(object ItemLabel
			Parent_View 	@53
			location   	(819, 931)
			fill_color 	13434879
			nlines     	1
			max_width  	346
			justify    	0
			label      	"BindingOperation")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5D3CB0145"
		    width      	364
		    height     	178
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @54
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84ADE401DC"
		    client     	@53
		    supplier   	@25
		    line_style 	3
		    origin_attachment 	(966, 919)
		    terminal_attachment 	(966, 636))
		(object AssociationViewNew "$UNNAMED$5" @55
		    location   	(457, 1022)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D3E10179"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$6" @56
			    Parent_View 	@55
			    location   	(-1319, 494)
			    label      	(object SegLabel @57
				Parent_View 	@56
				location   	(235, 920)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5D3E20225"
			    client     	@55
			    supplier   	@32
			    vertices   	(list Points
				(457, 1022)
				(276, 1022)
				(276, 849))
			    line_style 	3
			    origin_attachment 	(457, 1022)
			    terminal_attachment 	(276, 849)
			    label      	(object SegLabel @58
				Parent_View 	@56
				location   	(330, 884)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "eBindingOperations" @59
			    Parent_View 	@55
			    location   	(-1319, 494)
			    label      	(object SegLabel @60
				Parent_View 	@59
				location   	(531, 977)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	384
				justify    	0
				label      	"+eBindingOperations"
				pctDist    	0.211699
				height     	46
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5D3E20239"
			    client     	@55
			    supplier   	@53
			    line_style 	3
			    origin_attachment 	(457, 1022)
			    terminal_attachment 	(810, 1022)
			    label      	(object SegLabel @61
				Parent_View 	@59
				location   	(769, 980)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.884956
				height     	43
				orientation 	0)
			    label      	(object SegLabel @62
				Parent_View 	@59
				location   	(714, 1067)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	154
				justify    	0
				label      	"{ordered}"
				pctDist    	0.727564
				height     	45
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$7" @63
		    location   	(1418, 1040)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D425038A"
		    roleview_list 	(list RoleViews
			(object RoleView "eOperation" @64
			    Parent_View 	@63
			    location   	(-358, 464)
			    label      	(object SegLabel @65
				Parent_View 	@64
				location   	(1520, 1079)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	228
				justify    	0
				label      	"+eOperation"
				pctDist    	0.420601
				height     	39
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5D42602F5"
			    client     	@63
			    supplier   	@40
			    line_style 	3
			    origin_attachment 	(1418, 1040)
			    terminal_attachment 	(1663, 1040)
			    label      	(object SegLabel @66
				Parent_View 	@64
				location   	(1589, 1005)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.696721
				height     	36
				orientation 	0))
			(object RoleView "$UNNAMED$8" @67
			    Parent_View 	@63
			    location   	(-358, 464)
			    label      	(object SegLabel @68
				Parent_View 	@67
				location   	(1273, 1070)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	192
				justify    	0
				label      	""
				pctDist    	0.595420
				height     	30
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5D42602FF"
			    client     	@63
			    supplier   	@53
			    line_style 	3
			    origin_attachment 	(1418, 1040)
			    terminal_attachment 	(1174, 1040))))
		(object AssociationViewNew "$UNNAMED$23" @69
		    location   	(787, 1190)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF2E6401F5"
		    roleview_list 	(list RoleViews
			(object RoleView "eBindingInput" @70
			    Parent_View 	@69
			    location   	(-381, 454)
			    label      	(object SegLabel @71
				Parent_View 	@70
				location   	(669, 1152)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+eBindingInput"
				pctDist    	0.511905
				height     	39
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3ADF2E650251"
			    client     	@69
			    supplier   	@41
			    vertices   	(list Points
				(787, 1190)
				(636, 1190)
				(636, 1271))
			    line_style 	3
			    origin_attachment 	(787, 1190)
			    terminal_attachment 	(636, 1271)
			    label      	(object SegLabel @72
				Parent_View 	@70
				location   	(685, 1222)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.440476
				height     	32
				orientation 	0))
			(object RoleView "$UNNAMED$24" @73
			    Parent_View 	@69
			    location   	(-381, 454)
			    label      	(object SegLabel @74
				Parent_View 	@73
				location   	(885, 1144)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3ADF2E650252"
			    client     	@69
			    supplier   	@53
			    vertices   	(list Points
				(787, 1190)
				(926, 1190)
				(926, 1097))
			    line_style 	3
			    origin_attachment 	(787, 1190)
			    terminal_attachment 	(926, 1097)
			    label      	(object SegLabel @75
				Parent_View 	@73
				location   	(871, 1136)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.837758
				height     	56
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$25" @76
		    location   	(1024, 1312)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF2EB30163"
		    roleview_list 	(list RoleViews
			(object RoleView "eBindingOutput" @77
			    Parent_View 	@76
			    location   	(-150, 578)
			    label      	(object SegLabel @78
				Parent_View 	@77
				location   	(1012, 1429)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	306
				justify    	0
				label      	"+eBindingOutput"
				pctDist    	0.545082
				height     	13
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3ADF2EB4013C"
			    client     	@76
			    supplier   	@47
			    line_style 	3
			    origin_attachment 	(1024, 1312)
			    terminal_attachment 	(1024, 1527)
			    label      	(object SegLabel @79
				Parent_View 	@77
				location   	(967, 1479)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.774590
				height     	58
				orientation 	1))
			(object RoleView "$UNNAMED$26" @80
			    Parent_View 	@76
			    location   	(-150, 578)
			    label      	(object SegLabel @81
				Parent_View 	@80
				location   	(983, 1140)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3ADF2EB4013D"
			    client     	@76
			    supplier   	@53
			    line_style 	3
			    origin_attachment 	(1024, 1312)
			    terminal_attachment 	(1024, 1097)
			    label      	(object SegLabel @82
				Parent_View 	@80
				location   	(1031, 1186)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.590164
				height     	7
				orientation 	1))))
		(object ClassView "Class" "Logical View::wsdl::Fault" @83
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1920, 1984)
		    label      	(object ItemLabel
			Parent_View 	@83
			location   	(1772, 1907)
			fill_color 	13434879
			nlines     	1
			max_width  	296
			justify    	0
			label      	"Fault")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE078BE0108"
		    width      	314
		    height     	178
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::BindingFault" @84
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1360, 1984)
		    label      	(object ItemLabel
			Parent_View 	@84
			location   	(1212, 1859)
			fill_color 	13434879
			nlines     	1
			max_width  	296
			justify    	0
			label      	"BindingFault")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE08A9E03A6"
		    width      	314
		    height     	274
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @85
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AE710333"
		    client     	@84
		    supplier   	@28
		    line_style 	3
		    origin_attachment 	(1203, 2007)
		    terminal_attachment 	(353, 2007))
		(object AssociationViewNew "$UNNAMED$33" @86
		    location   	(1356, 1352)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF340003E5"
		    roleview_list 	(list RoleViews
			(object RoleView "eBindingFaults" @87
			    Parent_View 	@86
			    location   	(188, 616)
			    label      	(object SegLabel @88
				Parent_View 	@87
				location   	(1382, 1750)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	300
				justify    	0
				label      	"+eBindingFaults"
				pctDist    	0.803150
				height     	26
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3ADF340103AA"
			    client     	@86
			    supplier   	@84
			    line_style 	3
			    origin_attachment 	(1356, 1352)
			    terminal_attachment 	(1356, 1847)
			    label      	(object SegLabel @89
				Parent_View 	@87
				location   	(1409, 1797)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.899194
				height     	53
				orientation 	0)
			    label      	(object SegLabel @90
				Parent_View 	@87
				location   	(1256, 1806)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	154
				justify    	0
				label      	"{ordered}"
				pctDist    	0.919291
				height     	101
				orientation 	1))
			(object RoleView "$UNNAMED$34" @91
			    Parent_View 	@86
			    location   	(188, 616)
			    label      	(object SegLabel @92
				Parent_View 	@91
				location   	(1076, 1197)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3ADF340103AB"
			    client     	@86
			    supplier   	@53
			    vertices   	(list Points
				(1356, 1352)
				(1356, 1217)
				(1117, 1217)
				(1117, 1097))
			    line_style 	3
			    origin_attachment 	(1356, 1352)
			    terminal_attachment 	(1117, 1097)
			    label      	(object SegLabel @93
				Parent_View 	@91
				location   	(1152, 1164)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.687008
				height     	54
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$35" @94
		    location   	(1640, 1970)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE091F402F3"
		    roleview_list 	(list RoleViews
			(object RoleView "eFault" @95
			    Parent_View 	@94
			    location   	(-344, 818)
			    label      	(object SegLabel @96
				Parent_View 	@95
				location   	(1674, 1915)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	144
				justify    	0
				label      	"+eFault"
				pctDist    	0.276423
				height     	56
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AE091F801FE"
			    client     	@94
			    supplier   	@83
			    line_style 	3
			    origin_attachment 	(1640, 1970)
			    terminal_attachment 	(1763, 1970)
			    label      	(object SegLabel @97
				Parent_View 	@95
				location   	(1718, 2012)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.642276
				height     	42
				orientation 	1))
			(object RoleView "$UNNAMED$36" @98
			    Parent_View 	@94
			    location   	(-344, 818)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AE091F801FF"
			    client     	@94
			    supplier   	@84
			    line_style 	3
			    origin_attachment 	(1640, 1970)
			    terminal_attachment 	(1517, 1970))))
		(object InheritView "" @99
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AE4302AB"
		    client     	@47
		    supplier   	@27
		    line_style 	3
		    origin_attachment 	(803, 1656)
		    terminal_attachment 	(364, 1656))
		(object InheritView "" @100
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AE1B0113"
		    client     	@41
		    supplier   	@26
		    line_style 	3
		    origin_attachment 	(467, 1385)
		    terminal_attachment 	(331, 1385))))
	(object ClassDiagram "2.4 PortTypes"
	    quid       	"3AD5D1C40366"
	    title      	"2.4 PortTypes"
	    documentation 	"This class represents the non-MOF java.util.Iterator interface."
	    zoom       	80
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::wsdl::IPortType" @101
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(496, 208)
		    label      	(object ItemLabel
			Parent_View 	@101
			location   	(146, 172)
			fill_color 	13434879
			nlines     	1
			max_width  	700
			justify    	0
			label      	"IPortType")
		    stereotype 	(object ItemLabel
			Parent_View 	@101
			location   	(146, 122)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	700
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84A5BE0331"
		    width      	718
		    height     	196
		    annotation 	8)
		(object ClassView "Class" "Logical View::wsdl::IOperation" @102
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1552, 208)
		    label      	(object ItemLabel
			Parent_View 	@102
			location   	(1116, 176)
			fill_color 	13434879
			nlines     	1
			max_width  	873
			justify    	0
			label      	"IOperation")
		    stereotype 	(object ItemLabel
			Parent_View 	@102
			location   	(1116, 126)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	873
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84A77600D1"
		    width      	891
		    height     	188
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IInput" @103
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(368, 1472)
		    label      	(object ItemLabel
			Parent_View 	@103
			location   	(55, 1437)
			fill_color 	16777215
			nlines     	1
			max_width  	626
			justify    	0
			label      	"IInput")
		    stereotype 	(object ItemLabel
			Parent_View 	@103
			location   	(55, 1387)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	626
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84A7EE0015"
		    width      	644
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IOutput" @104
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(384, 1792)
		    label      	(object ItemLabel
			Parent_View 	@104
			location   	(56, 1757)
			fill_color 	16777215
			nlines     	1
			max_width  	656
			justify    	0
			label      	"IOutput")
		    stereotype 	(object ItemLabel
			Parent_View 	@104
			location   	(56, 1707)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	656
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84A829027D"
		    width      	674
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IFault" @105
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(368, 2112)
		    label      	(object ItemLabel
			Parent_View 	@105
			location   	(55, 2076)
			fill_color 	13434879
			nlines     	1
			max_width  	626
			justify    	0
			label      	"IFault")
		    stereotype 	(object ItemLabel
			Parent_View 	@105
			location   	(55, 2026)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	626
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84A861031D"
		    width      	644
		    height     	196
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::PortType" @106
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(496, 800)
		    label      	(object ItemLabel
			Parent_View 	@106
			location   	(158, 672)
			fill_color 	13434879
			nlines     	1
			max_width  	677
			justify    	0
			label      	"PortType")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C7F001A5"
		    width      	695
		    height     	281
		    annotation 	8)
		(object ClassView "Class" "Logical View::wsdl::Part" @107
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2576, 800)
		    label      	(object ItemLabel
			Parent_View 	@107
			location   	(2325, 692)
			fill_color 	13434879
			nlines     	1
			max_width  	502
			justify    	0
			label      	"Part")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5CE1C032E"
		    width      	520
		    height     	240
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Fault" @108
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1728, 2112)
		    label      	(object ItemLabel
			Parent_View 	@108
			location   	(1647, 2060)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"Fault")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE078BE0108"
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Input" @109
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1056, 1472)
		    label      	(object ItemLabel
			Parent_View 	@109
			location   	(870, 1422)
			fill_color 	13434879
			nlines     	1
			max_width  	372
			justify    	0
			label      	"Input")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE0789F0059"
		    width      	390
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::wsdl::Output" @110
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1360, 1792)
		    label      	(object ItemLabel
			Parent_View 	@110
			location   	(1232, 1742)
			fill_color 	13434879
			nlines     	1
			max_width  	256
			justify    	0
			label      	"Output")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE078B60232"
		    width      	274
		    height     	125
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Operation" @111
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1552, 784)
		    label      	(object ItemLabel
			Parent_View 	@111
			location   	(1214, 620)
			fill_color 	13434879
			nlines     	1
			max_width  	677
			justify    	0
			label      	"Operation")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C80D03CE"
		    width      	695
		    height     	352
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$0" @112
		    location   	(1024, 797)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5C824018C"
		    roleview_list 	(list RoleViews
			(object RoleView "eOperations" @113
			    Parent_View 	@112
			    location   	(592, 269)
			    label      	(object SegLabel @114
				Parent_View 	@113
				location   	(1088, 748)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	249
				justify    	0
				label      	"+eOperations"
				pctDist    	0.359649
				height     	50
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5C82701CD"
			    client     	@112
			    supplier   	@111
			    line_style 	3
			    origin_attachment 	(1024, 797)
			    terminal_attachment 	(1205, 797)
			    label      	(object SegLabel @115
				Parent_View 	@113
				location   	(1176, 861)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.840391
				height     	64
				orientation 	1)
			    label      	(object SegLabel @116
				Parent_View 	@113
				location   	(1074, 923)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	164
				justify    	0
				label      	"{ordered}"
				pctDist    	0.276243
				height     	126
				orientation 	1))
			(object RoleView "portType" @117
			    Parent_View 	@112
			    location   	(592, 269)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5C82701C3"
			    client     	@112
			    supplier   	@106
			    line_style 	3
			    origin_attachment 	(1024, 797)
			    terminal_attachment 	(843, 797)
			    label      	(object SegLabel @118
				Parent_View 	@117
				location   	(888, 757)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.753488
				height     	41
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$41" @119
		    location   	(2107, 773)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AEA412F0035"
		    roleview_list 	(list RoleViews
			(object RoleView "eParameterOrdering" @120
			    Parent_View 	@119
			    location   	(1819, 101)
			    label      	(object SegLabel @121
				Parent_View 	@120
				location   	(2145, 647)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	396
				justify    	0
				label      	"+eParameterOrdering"
				pctDist    	0.183333
				height     	127
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AEA41310255"
			    client     	@119
			    supplier   	@107
			    line_style 	3
			    origin_attachment 	(2107, 773)
			    terminal_attachment 	(2316, 773)
			    label      	(object SegLabel @122
				Parent_View 	@120
				location   	(2272, 822)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.796610
				height     	49
				orientation 	1)
			    label      	(object SegLabel @123
				Parent_View 	@120
				location   	(2171, 888)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	164
				justify    	0
				label      	"{ordered}"
				pctDist    	0.306220
				height     	115
				orientation 	1))
			(object RoleView "$UNNAMED$42" @124
			    Parent_View 	@119
			    location   	(1819, 101)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AEA4131025F"
			    client     	@119
			    supplier   	@111
			    line_style 	3
			    origin_attachment 	(2107, 773)
			    terminal_attachment 	(1899, 773))))
		(object AssociationViewNew "$UNNAMED$31" @125
		    location   	(1702, 1504)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF331601A4"
		    roleview_list 	(list RoleViews
			(object RoleView "eFaults" @126
			    Parent_View 	@125
			    location   	(1414, 832)
			    label      	(object SegLabel @127
				Parent_View 	@126
				location   	(1815, 1982)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	168
				justify    	0
				label      	"+eFaults"
				pctDist    	0.878992
				height     	113
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3ADF33180387"
			    client     	@125
			    supplier   	@108
			    line_style 	3
			    origin_attachment 	(1702, 1504)
			    terminal_attachment 	(1702, 2048)
			    label      	(object SegLabel @128
				Parent_View 	@126
				location   	(1644, 2020)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.949580
				height     	59
				orientation 	1)
			    label      	(object SegLabel @129
				Parent_View 	@126
				location   	(1593, 1963)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	164
				justify    	0
				label      	"{ordered}"
				pctDist    	0.845378
				height     	110
				orientation 	1))
			(object RoleView "$UNNAMED$32" @130
			    Parent_View 	@125
			    location   	(1414, 832)
			    label      	(object SegLabel @131
				Parent_View 	@130
				location   	(1661, 1069)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3ADF33180388"
			    client     	@125
			    supplier   	@111
			    line_style 	3
			    origin_attachment 	(1702, 1504)
			    terminal_attachment 	(1702, 960)
			    label      	(object SegLabel @132
				Parent_View 	@130
				location   	(1821, 1039)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.857362
				height     	119
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$27" @133
		    location   	(1178, 1234)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF2F94024D"
		    roleview_list 	(list RoleViews
			(object RoleView "eInput" @134
			    Parent_View 	@133
			    location   	(890, 562)
			    label      	(object SegLabel @135
				Parent_View 	@134
				location   	(878, 1343)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	132
				justify    	0
				label      	"+eInput"
				pctDist    	0.819820
				height     	103
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3ADF2F950190"
			    client     	@133
			    supplier   	@109
			    vertices   	(list Points
				(1178, 1234)
				(980, 1234)
				(980, 1410))
			    line_style 	3
			    origin_attachment 	(1178, 1234)
			    terminal_attachment 	(980, 1410)
			    label      	(object SegLabel @136
				Parent_View 	@134
				location   	(1046, 1364)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.877660
				height     	66
				orientation 	0))
			(object RoleView "$UNNAMED$28" @137
			    Parent_View 	@133
			    location   	(890, 562)
			    label      	(object SegLabel @138
				Parent_View 	@137
				location   	(1236, 1036)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3ADF2F95019A"
			    client     	@133
			    supplier   	@111
			    vertices   	(list Points
				(1178, 1234)
				(1277, 1234)
				(1277, 960))
			    line_style 	3
			    origin_attachment 	(1178, 1234)
			    terminal_attachment 	(1277, 960)
			    label      	(object SegLabel @139
				Parent_View 	@137
				location   	(1197, 1058)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.736413
				height     	81
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$29" @140
		    location   	(1468, 1345)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF2FB802F9"
		    roleview_list 	(list RoleViews
			(object RoleView "eOutput" @141
			    Parent_View 	@140
			    location   	(1180, 673)
			    label      	(object SegLabel @142
				Parent_View 	@141
				location   	(1362, 1669)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	168
				justify    	0
				label      	"+eOutput"
				pctDist    	0.840909
				height     	107
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3ADF2FB9020A"
			    client     	@140
			    supplier   	@110
			    line_style 	3
			    origin_attachment 	(1468, 1345)
			    terminal_attachment 	(1468, 1730)
			    label      	(object SegLabel @143
				Parent_View 	@141
				location   	(1546, 1676)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.863636
				height     	78
				orientation 	0))
			(object RoleView "$UNNAMED$30" @144
			    Parent_View 	@140
			    location   	(1180, 673)
			    label      	(object SegLabel @145
				Parent_View 	@144
				location   	(1427, 1037)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3ADF2FB9020B"
			    client     	@140
			    supplier   	@111
			    line_style 	3
			    origin_attachment 	(1468, 1345)
			    terminal_attachment 	(1468, 960)
			    label      	(object SegLabel @146
				Parent_View 	@144
				location   	(1523, 1080)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.690341
				height     	55
				orientation 	1))))
		(object InheritView "" @147
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F1FD8019F"
		    client     	@106
		    supplier   	@101
		    line_style 	0)
		(object InheritView "" @148
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F1FE20171"
		    client     	@111
		    supplier   	@102
		    line_style 	0)
		(object InheritView "" @149
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F1FEE031D"
		    client     	@109
		    supplier   	@103
		    line_style 	0)
		(object InheritView "" @150
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F1FF801CD"
		    client     	@110
		    supplier   	@104
		    line_style 	0)
		(object InheritView "" @151
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F2002002D"
		    client     	@108
		    supplier   	@105
		    line_style 	0)
		(object ClassView "Class" "Logical View::wsdl::Message" @152
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2224, 1456)
		    label      	(object ItemLabel
			Parent_View 	@152
			location   	(1937, 1312)
			fill_color 	13434879
			nlines     	1
			max_width  	575
			justify    	0
			label      	"Message")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C9590078"
		    width      	593
		    height     	312
		    annotation 	8)
		(object ClassView "Class" "Logical View::wsdl::MessageReference" @153
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1520, 2544)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@153
			location   	(1193, 2466)
			fill_color 	13434879
			nlines     	1
			max_width  	654
			justify    	0
			label      	"MessageReference")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3F6771DB02DC"
		    width      	672
		    height     	180
		    annotation 	8)
		(object InheritTreeView "" @154
		    location   	(1524, 2275)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@153
		    vertices   	(list Points
			(1524, 2275)
			(1524, 2454)))
		(object InheritView "" @155
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67723D0319"
		    client     	@108
		    supplier   	@153
		    line_style 	3
		    origin_attachment 	(1776, 2176)
		    terminal_attachment 	(1776, 2275)
		    drawSupplier 	@154)
		(object InheritView "" @156
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67723500DD"
		    client     	@110
		    supplier   	@153
		    line_style 	3
		    origin_attachment 	(1371, 1854)
		    terminal_attachment 	(1371, 2275)
		    drawSupplier 	@154)
		(object InheritView "" @157
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67722802E7"
		    client     	@109
		    supplier   	@153
		    line_style 	3
		    origin_attachment 	(980, 1534)
		    terminal_attachment 	(980, 2275)
		    drawSupplier 	@154)
		(object AssociationViewNew "$UNNAMED$61" @158
		    location   	(2206, 2259)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F74E78401B1"
		    roleview_list 	(list RoleViews
			(object RoleView "eMessage" @159
			    Parent_View 	@158
			    location   	(734, -285)
			    label      	(object SegLabel @160
				Parent_View 	@159
				location   	(2068, 1670)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+eMessage"
				pctDist    	0.912230
				height     	139
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F74E786000F"
			    client     	@158
			    supplier   	@152
			    line_style 	3
			    origin_attachment 	(2206, 2259)
			    terminal_attachment 	(2206, 1612)
			    label      	(object SegLabel @161
				Parent_View 	@159
				location   	(2260, 1678)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "$UNNAMED$62" @162
			    Parent_View 	@158
			    location   	(734, -285)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F74E7860023"
			    client     	@158
			    supplier   	@153
			    vertices   	(list Points
				(2206, 2259)
				(2206, 2556)
				(1856, 2556))
			    line_style 	3
			    origin_attachment 	(2206, 2259)
			    terminal_attachment 	(1856, 2556))))))
	(object ClassDiagram "2.1 Definitions"
	    quid       	"3AD5E48A0262"
	    title      	"2.1 Definitions"
	    zoom       	83
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::wsdl::IDefinition" @163
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(432, 192)
		    label      	(object ItemLabel
			Parent_View 	@163
			location   	(88, 161)
			fill_color 	13434879
			nlines     	1
			max_width  	688
			justify    	0
			label      	"IDefinition")
		    stereotype 	(object ItemLabel
			Parent_View 	@163
			location   	(88, 111)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	688
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84B1D90142"
		    width      	706
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Types" @164
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1824, 944)
		    label      	(object ItemLabel
			Parent_View 	@164
			location   	(1686, 896)
			fill_color 	13434879
			nlines     	1
			max_width  	276
			justify    	0
			label      	"Types")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B8BE9A603A8"
		    width      	294
		    height     	120
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Import" @165
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2144, 624)
		    label      	(object ItemLabel
			Parent_View 	@165
			location   	(1910, 545)
			fill_color 	13434879
			nlines     	1
			max_width  	468
			justify    	0
			label      	"Import")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5E4F903DE"
		    width      	486
		    height     	182
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Message" @166
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(2112, 1184)
		    label      	(object ItemLabel
			Parent_View 	@166
			location   	(1900, 1056)
			fill_color 	13434879
			nlines     	1
			max_width  	424
			justify    	0
			label      	"Message")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C9590078"
		    width      	442
		    height     	280
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::PortType" @167
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1808, 1488)
		    label      	(object ItemLabel
			Parent_View 	@167
			location   	(1596, 1360)
			fill_color 	13434879
			nlines     	1
			max_width  	424
			justify    	0
			label      	"PortType")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C7F001A5"
		    width      	442
		    height     	280
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Binding" @168
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(2336, 1728)
		    label      	(object ItemLabel
			Parent_View 	@168
			location   	(2124, 1600)
			fill_color 	13434879
			nlines     	1
			max_width  	424
			justify    	0
			label      	"Binding")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5D2860261"
		    width      	442
		    height     	280
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Definition" @169
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1328, 240)
		    label      	(object ItemLabel
			Parent_View 	@169
			location   	(1073, 39)
			fill_color 	13434879
			nlines     	1
			max_width  	510
			justify    	0
			label      	"Definition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5E43F008E"
		    width      	528
		    height     	426
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$53" @170
		    location   	(1358, 860)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEA27029F"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$54" @171
			    Parent_View 	@170
			    location   	(62, -36)
			    label      	(object SegLabel @172
				Parent_View 	@171
				location   	(1317, 535)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8BEA290356"
			    client     	@170
			    supplier   	@169
			    line_style 	3
			    origin_attachment 	(1358, 860)
			    terminal_attachment 	(1358, 453)
			    label      	(object SegLabel @173
				Parent_View 	@171
				location   	(1403, 511)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.856649
				height     	45
				orientation 	1))
			(object RoleView "eTypes" @174
			    Parent_View 	@170
			    location   	(62, -36)
			    label      	(object SegLabel @175
				Parent_View 	@174
				location   	(1586, 909)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	156
				justify    	0
				label      	"+eTypes"
				pctDist    	0.779097
				height     	40
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8BEA29036A"
			    client     	@170
			    supplier   	@164
			    vertices   	(list Points
				(1358, 860)
				(1358, 948)
				(1677, 948))
			    line_style 	3
			    origin_attachment 	(1358, 860)
			    terminal_attachment 	(1677, 948)
			    label      	(object SegLabel @176
				Parent_View 	@174
				location   	(1632, 987)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.892655
				height     	39
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$57" @177
		    location   	(1612, 595)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C864DFF02EC"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$58" @178
			    Parent_View 	@177
			    location   	(12, 227)
			    label      	(object SegLabel @179
				Parent_View 	@178
				location   	(1423, 512)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C864DFF02EE"
			    client     	@177
			    supplier   	@169
			    vertices   	(list Points
				(1612, 595)
				(1464, 595)
				(1464, 453))
			    line_style 	3
			    origin_attachment 	(1612, 595)
			    terminal_attachment 	(1464, 453)
			    label      	(object SegLabel @180
				Parent_View 	@178
				location   	(1524, 495)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.858667
				height     	60
				orientation 	1))
			(object RoleView "eImports" @181
			    Parent_View 	@177
			    location   	(12, 227)
			    label      	(object SegLabel @182
				Parent_View 	@181
				location   	(1692, 557)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+eImports"
				pctDist    	0.280335
				height     	39
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C864DFF02ED"
			    client     	@177
			    supplier   	@165
			    line_style 	3
			    origin_attachment 	(1612, 595)
			    terminal_attachment 	(1901, 595)
			    label      	(object SegLabel @183
				Parent_View 	@181
				location   	(1854, 652)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.841004
				height     	57
				orientation 	1)
			    label      	(object SegLabel @184
				Parent_View 	@181
				location   	(1676, 646)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	158
				justify    	0
				label      	"{ordered}"
				pctDist    	0.225941
				height     	51
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$13" @185
		    location   	(1279, 1137)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E60301E2"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$14" @186
			    Parent_View 	@185
			    location   	(271, 273)
			    label      	(object SegLabel @187
				Parent_View 	@186
				location   	(1238, 591)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5E60400B7"
			    client     	@185
			    supplier   	@169
			    line_style 	3
			    origin_attachment 	(1279, 1137)
			    terminal_attachment 	(1279, 453)
			    label      	(object SegLabel @188
				Parent_View 	@186
				location   	(1320, 586)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.804974
				height     	41
				orientation 	1))
			(object RoleView "eMessages" @189
			    Parent_View 	@185
			    location   	(271, 273)
			    label      	(object SegLabel @190
				Parent_View 	@189
				location   	(1647, 1171)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	240
				justify    	0
				label      	"+eMessages"
				pctDist    	0.643137
				height     	38
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5E60400C1"
			    client     	@185
			    supplier   	@166
			    vertices   	(list Points
				(1279, 1137)
				(1279, 1208)
				(1891, 1208))
			    line_style 	3
			    origin_attachment 	(1279, 1137)
			    terminal_attachment 	(1891, 1208)
			    label      	(object SegLabel @191
				Parent_View 	@189
				location   	(1821, 1171)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.899346
				height     	38
				orientation 	0)
			    label      	(object SegLabel @192
				Parent_View 	@189
				location   	(1797, 1244)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	158
				justify    	0
				label      	"{ordered}"
				pctDist    	0.864407
				height     	36
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$15" @193
		    location   	(1212, 1159)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E6710104"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$16" @194
			    Parent_View 	@193
			    location   	(-324, 215)
			    label      	(object SegLabel @195
				Parent_View 	@194
				location   	(1171, 594)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5E672034A"
			    client     	@193
			    supplier   	@169
			    line_style 	3
			    origin_attachment 	(1212, 1159)
			    terminal_attachment 	(1212, 453)
			    label      	(object SegLabel @196
				Parent_View 	@194
				location   	(1251, 624)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.757962
				height     	39
				orientation 	1))
			(object RoleView "ePortTypes" @197
			    Parent_View 	@193
			    location   	(-324, 215)
			    label      	(object SegLabel @198
				Parent_View 	@197
				location   	(1391, 1451)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	240
				justify    	0
				label      	"+ePortTypes"
				pctDist    	0.723698
				height     	40
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5E6720354"
			    client     	@193
			    supplier   	@167
			    vertices   	(list Points
				(1212, 1159)
				(1212, 1490)
				(1587, 1490))
			    line_style 	3
			    origin_attachment 	(1212, 1159)
			    terminal_attachment 	(1587, 1490)
			    label      	(object SegLabel @199
				Parent_View 	@197
				location   	(1533, 1451)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.925611
				height     	40
				orientation 	0)
			    label      	(object SegLabel @200
				Parent_View 	@197
				location   	(1512, 1540)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	158
				justify    	0
				label      	"{ordered}"
				pctDist    	0.895855
				height     	50
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$17" @201
		    location   	(1114, 1585)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E6770095"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$18" @202
			    Parent_View 	@201
			    location   	(-406, 241)
			    label      	(object SegLabel @203
				Parent_View 	@202
				location   	(1073, 680)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5E6780371"
			    client     	@201
			    supplier   	@169
			    line_style 	3
			    origin_attachment 	(1114, 1585)
			    terminal_attachment 	(1114, 453)
			    label      	(object SegLabel @204
				Parent_View 	@202
				location   	(1155, 752)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.736704
				height     	41
				orientation 	1))
			(object RoleView "eBindings" @205
			    Parent_View 	@201
			    location   	(-406, 241)
			    label      	(object SegLabel @206
				Parent_View 	@205
				location   	(1851, 1674)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+eBindings"
				pctDist    	0.766347
				height     	43
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5E678037B"
			    client     	@201
			    supplier   	@168
			    vertices   	(list Points
				(1114, 1585)
				(1114, 1716)
				(2115, 1716))
			    line_style 	3
			    origin_attachment 	(1114, 1585)
			    terminal_attachment 	(2115, 1716)
			    label      	(object SegLabel @207
				Parent_View 	@205
				location   	(2053, 1677)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.945074
				height     	40
				orientation 	0)
			    label      	(object SegLabel @208
				Parent_View 	@205
				location   	(2014, 1754)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	158
				justify    	0
				label      	"{ordered}"
				pctDist    	0.911072
				height     	38
				orientation 	1))))
		(object ClassView "Class" "Logical View::wsdl::Service" @209
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1840, 2048)
		    label      	(object ItemLabel
			Parent_View 	@209
			location   	(1628, 1920)
			fill_color 	13434879
			nlines     	1
			max_width  	424
			justify    	0
			label      	"Service")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5D8F002F8"
		    width      	442
		    height     	280
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$19" @210
		    location   	(1066, 1533)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E67B0311"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$20" @211
			    Parent_View 	@210
			    location   	(-521, -111)
			    label      	(object SegLabel @212
				Parent_View 	@211
				location   	(1025, 669)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5E67D007F"
			    client     	@210
			    supplier   	@169
			    line_style 	3
			    origin_attachment 	(1066, 1533)
			    terminal_attachment 	(1066, 453)
			    label      	(object SegLabel @213
				Parent_View 	@211
				location   	(1109, 756)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.719697
				height     	43
				orientation 	1))
			(object RoleView "eServices" @214
			    Parent_View 	@210
			    location   	(-521, -111)
			    label      	(object SegLabel @215
				Parent_View 	@214
				location   	(1393, 2028)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+eServices"
				pctDist    	0.791824
				height     	32
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5E67D0089"
			    client     	@210
			    supplier   	@209
			    vertices   	(list Points
				(1066, 1533)
				(1066, 2059)
				(1619, 2059))
			    line_style 	3
			    origin_attachment 	(1066, 1533)
			    terminal_attachment 	(1619, 2059)
			    label      	(object SegLabel @216
				Parent_View 	@214
				location   	(1554, 2031)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.940197
				height     	29
				orientation 	0)
			    label      	(object SegLabel @217
				Parent_View 	@214
				location   	(1532, 2113)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	158
				justify    	0
				label      	"{ordered}"
				pctDist    	0.920515
				height     	54
				orientation 	1))))
		(object InheritView "" @218
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84B1F80382"
		    client     	@169
		    supplier   	@163
		    line_style 	3
		    origin_attachment 	(1064, 263)
		    terminal_attachment 	(785, 263))))
	(object ClassDiagram "2.1.3 Extensibility"
	    quid       	"3AD60C510192"
	    title      	"2.1.3 Extensibility"
	    zoom       	80
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::wsdl::Binding" @219
		    ShowCompartmentStereotypes 	TRUE
		    location   	(576, 1584)
		    label      	(object ItemLabel
			Parent_View 	@219
			location   	(494, 1531)
			fill_color 	13434879
			nlines     	1
			max_width  	164
			justify    	0
			label      	"Binding")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5D2860261"
		    width      	182
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Port" @220
		    ShowCompartmentStereotypes 	TRUE
		    location   	(1568, 1888)
		    label      	(object ItemLabel
			Parent_View 	@220
			location   	(1487, 1836)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"Port")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5D9170286"
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Service" @221
		    ShowCompartmentStereotypes 	TRUE
		    location   	(1424, 1728)
		    label      	(object ItemLabel
			Parent_View 	@221
			location   	(1342, 1675)
			fill_color 	13434879
			nlines     	1
			max_width  	164
			justify    	0
			label      	"Service")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5D8F002F8"
		    width      	182
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::BindingFault" @222
		    ShowCompartmentStereotypes 	TRUE
		    location   	(1216, 2336)
		    label      	(object ItemLabel
			Parent_View 	@222
			location   	(1088, 2283)
			fill_color 	13434879
			nlines     	1
			max_width  	256
			justify    	0
			label      	"BindingFault")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE08A9E03A6"
		    width      	274
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::BindingOperation" @223
		    ShowCompartmentStereotypes 	TRUE
		    location   	(736, 1760)
		    label      	(object ItemLabel
			Parent_View 	@223
			location   	(563, 1707)
			fill_color 	13434879
			nlines     	1
			max_width  	346
			justify    	0
			label      	"BindingOperation")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5D3CB0145"
		    width      	364
		    height     	130
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IExtensibilityElement" @224
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1888, 160)
		    label      	(object ItemLabel
			Parent_View 	@224
			location   	(1495, 136)
			fill_color 	13434879
			nlines     	1
			max_width  	786
			justify    	0
			label      	"IExtensibilityElement")
		    stereotype 	(object ItemLabel
			Parent_View 	@224
			location   	(1495, 86)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	786
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84B12402AB"
		    width      	804
		    height     	172
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::BindingInput" @225
		    ShowCompartmentStereotypes 	TRUE
		    location   	(928, 1952)
		    label      	(object ItemLabel
			Parent_View 	@225
			location   	(800, 1899)
			fill_color 	13434879
			nlines     	1
			max_width  	256
			justify    	0
			label      	"BindingInput")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE08A8202D4"
		    width      	274
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::BindingOutput" @226
		    ShowCompartmentStereotypes 	TRUE
		    location   	(1008, 2144)
		    label      	(object ItemLabel
			Parent_View 	@226
			location   	(863, 2091)
			fill_color 	13434879
			nlines     	1
			max_width  	290
			justify    	0
			label      	"BindingOutput")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE08A8F028C"
		    width      	308
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Definition" @227
		    ShowCompartmentStereotypes 	TRUE
		    location   	(176, 1296)
		    label      	(object ItemLabel
			Parent_View 	@227
			location   	(74, 1235)
			fill_color 	13434879
			nlines     	1
			max_width  	204
			justify    	0
			label      	"Definition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5E43F008E"
		    width      	222
		    height     	146
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Types" @228
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(416, 1408)
		    label      	(object ItemLabel
			Parent_View 	@228
			location   	(335, 1356)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"Types")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B8BE9A603A8"
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::ExtensibleElement" @229
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(480, 688)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@229
			location   	(209, 580)
			fill_color 	13434879
			nlines     	1
			max_width  	542
			justify    	0
			label      	"ExtensibleElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5FCFA033A"
		    width      	560
		    height     	240
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @230
		    location   	(480, 1039)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@229
		    vertices   	(list Points
			(480, 1039)
			(480, 808)))
		(object InheritView "" @231
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD600CB00AA"
		    client     	@220
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(1566, 1824)
		    terminal_attachment 	(1566, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @232
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B85B5A4027E"
		    client     	@226
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(1097, 2079)
		    terminal_attachment 	(1097, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @233
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE0938602C9"
		    client     	@222
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(1219, 2271)
		    terminal_attachment 	(1219, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @234
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B85B59B0072"
		    client     	@225
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(988, 1887)
		    terminal_attachment 	(988, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @235
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD6009202F7"
		    client     	@223
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(797, 1695)
		    terminal_attachment 	(797, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @236
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FA0F02F0"
		    client     	@219
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(601, 1519)
		    terminal_attachment 	(601, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @237
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FDB803D4"
		    client     	@227
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(211, 1223)
		    terminal_attachment 	(211, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @238
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEB010311"
		    client     	@228
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(414, 1344)
		    terminal_attachment 	(414, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @239
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FA20025E"
		    client     	@221
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(1429, 1663)
		    terminal_attachment 	(1429, 1039)
		    drawSupplier 	@230)
		(object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @240
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 688)
		    label      	(object ItemLabel
			Parent_View 	@240
			location   	(1632, 583)
			fill_color 	13434879
			nlines     	1
			max_width  	545
			justify    	0
			label      	"ExtensibilityElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5DBB602A9"
		    width      	563
		    height     	234
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$21" @241
		    location   	(1191, 672)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FD130079"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$22" @242
			    Parent_View 	@241
			    location   	(23, 560)
			    label      	(object SegLabel @243
				Parent_View 	@242
				location   	(847, 631)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5FD14019E"
			    client     	@241
			    supplier   	@229
			    line_style 	3
			    origin_attachment 	(1191, 672)
			    terminal_attachment 	(760, 672)
			    label      	(object SegLabel @244
				Parent_View 	@242
				location   	(830, 628)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.839695
				height     	45
				orientation 	1))
			(object RoleView "eExtensibilityElements" @245
			    Parent_View 	@241
			    location   	(23, 560)
			    label      	(object SegLabel @246
				Parent_View 	@245
				location   	(1355, 522)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	"+eExtensibilityElements"
				pctDist    	0.379070
				height     	151
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5FD14019D"
			    client     	@241
			    supplier   	@240
			    line_style 	3
			    origin_attachment 	(1191, 672)
			    terminal_attachment 	(1623, 672)
			    label      	(object SegLabel @247
				Parent_View 	@245
				location   	(1496, 627)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.709402
				height     	46
				orientation 	0)
			    label      	(object SegLabel @248
				Parent_View 	@245
				location   	(1463, 764)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	164
				justify    	0
				label      	"{ordered}"
				pctDist    	0.632479
				height     	92
				orientation 	1))))
		(object ClassView "Class" "Logical View::wsdl::WSDLElement" @249
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1008, 192)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@249
			location   	(630, 84)
			fill_color 	13434879
			nlines     	1
			max_width  	756
			justify    	0
			label      	"WSDLElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C6A302DD"
		    width      	774
		    height     	240
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @250
		    location   	(1008, 402)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@249
		    vertices   	(list Points
			(1008, 402)
			(1008, 312)))
		(object InheritView "" @251
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FE3C03D4"
		    client     	@229
		    supplier   	@249
		    line_style 	3
		    origin_attachment 	(492, 568)
		    terminal_attachment 	(492, 402)
		    drawSupplier 	@250)
		(object InheritView "" @252
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84B14903D0"
		    client     	@240
		    supplier   	@224
		    line_style 	3
		    origin_attachment 	(2015, 571)
		    terminal_attachment 	(2015, 246))
		(object InheritView "" @253
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BDDF53502C3"
		    client     	@240
		    supplier   	@249
		    line_style 	3
		    origin_attachment 	(1762, 571)
		    terminal_attachment 	(1762, 402)
		    drawSupplier 	@250)
		(object ClassView "Class" "Logical View::wsdl::UnknownExtensibilityElement" @254
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2016, 1360)
		    label      	(object ItemLabel
			Parent_View 	@254
			location   	(1731, 1307)
			fill_color 	13434879
			nlines     	1
			max_width  	570
			justify    	0
			label      	"UnknownExtensibilityElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3CB24AC002AE"
		    width      	588
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @255
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CB24AEC01CB"
		    client     	@254
		    supplier   	@240
		    line_style 	3
		    origin_attachment 	(1796, 1295)
		    terminal_attachment 	(1796, 805))
		(object AssociationViewNew "$UNNAMED$63" @256
		    location   	(2311, 1686)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F7896A2026E"
		    roleview_list 	(list RoleViews
			(object RoleView "parent" @257
			    Parent_View 	@256
			    location   	(279, 294)
			    label      	(object SegLabel @258
				Parent_View 	@257
				location   	(2422, 1333)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	144
				justify    	0
				label      	"+parent"
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F7896A7012B"
			    client     	@256
			    supplier   	@254
			    vertices   	(list Points
				(2311, 1686)
				(2432, 1686)
				(2432, 1374)
				(2310, 1374))
			    line_style 	3
			    origin_attachment 	(2311, 1686)
			    terminal_attachment 	(2310, 1374)
			    label      	(object SegLabel @259
				Parent_View 	@257
				location   	(2366, 1428)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	0))
			(object RoleView "children" @260
			    Parent_View 	@256
			    location   	(279, 294)
			    label      	(object SegLabel @261
				Parent_View 	@260
				location   	(1899, 1537)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	168
				justify    	0
				label      	"+children"
				pctDist    	0.798561
				height     	118
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F7896A7012C"
			    client     	@256
			    supplier   	@254
			    vertices   	(list Points
				(2311, 1686)
				(2016, 1686)
				(2016, 1425))
			    line_style 	3
			    origin_attachment 	(2311, 1686)
			    terminal_attachment 	(2016, 1425)
			    label      	(object SegLabel @262
				Parent_View 	@260
				location   	(2070, 1481)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.900000
				height     	54
				orientation 	1))))))
	(object ClassDiagram "2.1.1 Naming and Linking"
	    quid       	"3AE8ED7201BD"
	    title      	"2.1.1 Naming and Linking"
	    zoom       	90
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::wsdl::IImport" @263
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1712, 224)
		    label      	(object ItemLabel
			Parent_View 	@263
			location   	(1422, 177)
			fill_color 	13434879
			nlines     	1
			max_width  	580
			justify    	0
			label      	"IImport")
		    stereotype 	(object ItemLabel
			Parent_View 	@263
			location   	(1422, 127)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	580
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84B2020119"
		    width      	598
		    height     	218
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Namespace" @264
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(432, 1136)
		    label      	(object ItemLabel
			Parent_View 	@264
			location   	(202, 1041)
			fill_color 	13434879
			nlines     	1
			max_width  	461
			justify    	0
			label      	"Namespace")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AEA3CD30030"
		    width      	479
		    height     	215
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSchema" @265
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1632, 1216)
		    label      	(object ItemLabel
			Parent_View 	@265
			location   	(1294, 1142)
			fill_color 	13434879
			nlines     	1
			max_width  	676
			justify    	0
			label      	"XSDSchema")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"374B182500BB"
		    width      	694
		    height     	173
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Definition" @266
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(400, 384)
		    label      	(object ItemLabel
			Parent_View 	@266
			location   	(164, 236)
			fill_color 	13434879
			nlines     	1
			max_width  	472
			justify    	0
			label      	"Definition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5E43F008E"
		    width      	490
		    height     	320
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$37" @267
		    location   	(309, 786)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AEA3D55002D"
		    roleview_list 	(list RoleViews
			(object RoleView "eNamespaces" @268
			    Parent_View 	@267
			    location   	(-91, 258)
			    label      	(object SegLabel @269
				Parent_View 	@268
				location   	(461, 956)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	288
				justify    	0
				label      	"+eNamespaces"
				pctDist    	0.698842
				height     	152
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AEA3D560332"
			    client     	@267
			    supplier   	@264
			    line_style 	3
			    origin_attachment 	(309, 786)
			    terminal_attachment 	(309, 1029)
			    label      	(object SegLabel @270
				Parent_View 	@268
				location   	(248, 973)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.768707
				height     	62
				orientation 	1)
			    label      	(object SegLabel @271
				Parent_View 	@268
				location   	(228, 913)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	146
				justify    	0
				label      	"{ordered}"
				pctDist    	0.525097
				height     	82
				orientation 	1))
			(object RoleView "$UNNAMED$38" @272
			    Parent_View 	@267
			    location   	(-91, 258)
			    label      	(object SegLabel @273
				Parent_View 	@272
				location   	(268, 592)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	192
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AEA3D560328"
			    client     	@267
			    supplier   	@266
			    line_style 	3
			    origin_attachment 	(309, 786)
			    terminal_attachment 	(309, 544)
			    label      	(object SegLabel @274
				Parent_View 	@272
				location   	(239, 583)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.844961
				height     	71
				orientation 	0))))
		(object ClassView "Class" "Logical View::wsdl::Import" @275
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1472, 720)
		    label      	(object ItemLabel
			Parent_View 	@275
			location   	(1255, 580)
			fill_color 	13434879
			nlines     	1
			max_width  	434
			justify    	0
			label      	"Import")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5E4F903DE"
		    width      	452
		    height     	304
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$51" @276
		    location   	(1486, 1001)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8B1DCC02E5"
		    roleview_list 	(list RoleViews
			(object RoleView "eSchema" @277
			    Parent_View 	@276
			    location   	(510, -103)
			    label      	(object SegLabel @278
				Parent_View 	@277
				location   	(1737, 1018)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+eSchema"
				pctDist    	0.592593
				height     	105
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1DCE0270"
			    client     	@276
			    supplier   	@265
			    vertices   	(list Points
				(1486, 1001)
				(1632, 1001)
				(1632, 1130))
			    line_style 	3
			    origin_attachment 	(1486, 1001)
			    terminal_attachment 	(1632, 1130)
			    label      	(object SegLabel @279
				Parent_View 	@277
				location   	(1563, 1018)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.592593
				height     	70
				orientation 	1))
			(object RoleView "$UNNAMED$52" @280
			    Parent_View 	@276
			    location   	(510, -103)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1DCE027A"
			    client     	@276
			    supplier   	@275
			    line_style 	3
			    origin_attachment 	(1486, 872)
			    terminal_attachment 	(1486, 872))))
		(object AssociationViewNew "$UNNAMED$39" @281
		    location   	(1087, 403)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AEA3E3A002D"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$40" @282
			    Parent_View 	@281
			    location   	(687, -125)
			    label      	(object SegLabel @283
				Parent_View 	@282
				location   	(1406, 480)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AEA3E3C01F2"
			    client     	@281
			    supplier   	@275
			    vertices   	(list Points
				(1087, 403)
				(1364, 403)
				(1364, 568))
			    line_style 	3
			    origin_attachment 	(1087, 403)
			    terminal_attachment 	(1364, 568))
			(object RoleView "eDefinition" @284
			    Parent_View 	@281
			    location   	(687, -125)
			    label      	(object SegLabel @285
				Parent_View 	@284
				location   	(805, 363)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+eDefinition"
				pctDist    	0.637532
				height     	41
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AEA3E3C01E8"
			    client     	@281
			    supplier   	@266
			    line_style 	3
			    origin_attachment 	(1087, 403)
			    terminal_attachment 	(645, 403)
			    label      	(object SegLabel @286
				Parent_View 	@284
				location   	(727, 456)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.814910
				height     	53
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$57" @287
		    location   	(737, 826)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C864DFF02EC"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$58" @288
			    Parent_View 	@287
			    location   	(-671, 106)
			    label      	(object SegLabel @289
				Parent_View 	@288
				location   	(552, 647)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C864DFF02EE"
			    client     	@287
			    supplier   	@266
			    vertices   	(list Points
				(737, 826)
				(510, 826)
				(510, 544))
			    line_style 	3
			    origin_attachment 	(737, 826)
			    terminal_attachment 	(510, 544)
			    label      	(object SegLabel @290
				Parent_View 	@288
				location   	(457, 595)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.900000
				height     	54
				orientation 	0))
			(object RoleView "eImports" @291
			    Parent_View 	@287
			    location   	(-671, 106)
			    label      	(object SegLabel @292
				Parent_View 	@291
				location   	(1144, 773)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	180
				justify    	0
				label      	"+eImports"
				pctDist    	0.799189
				height     	54
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C864DFF02ED"
			    client     	@287
			    supplier   	@275
			    line_style 	3
			    origin_attachment 	(737, 826)
			    terminal_attachment 	(1246, 826)
			    label      	(object SegLabel @293
				Parent_View 	@291
				location   	(1180, 879)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.872211
				height     	53
				orientation 	1)
			    label      	(object SegLabel @294
				Parent_View 	@291
				location   	(1162, 933)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	146
				justify    	0
				label      	"{ordered}"
				pctDist    	0.837728
				height     	107
				orientation 	1))))
		(object InheritView "" @295
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F200D0340"
		    client     	@275
		    supplier   	@263
		    line_style 	3
		    origin_attachment 	(1555, 568)
		    terminal_attachment 	(1555, 333))))
	(object ClassDiagram "2.2 Types"
	    quid       	"3B85AE59037E"
	    title      	"2.2 Types"
	    zoom       	90
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	81
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @296
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1136, 1232)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@296
			location   	(895, 1157)
			fill_color 	13434879
			nlines     	1
			max_width  	482
			justify    	0
			label      	"XSDTypeDefinition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ECD302A9"
		    width      	500
		    height     	174
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @297
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1136, 1600)
		    label      	(object ItemLabel
			Parent_View 	@297
			location   	(906, 1531)
			fill_color 	13434879
			nlines     	1
			max_width  	460
			justify    	0
			label      	"XSDElementDeclaration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B66ED580214"
		    width      	478
		    height     	162
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Message" @298
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1280, 1968)
		    label      	(object ItemLabel
			Parent_View 	@298
			location   	(1022, 1828)
			fill_color 	13434879
			nlines     	1
			max_width  	517
			justify    	0
			label      	"Message")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C9590078"
		    width      	535
		    height     	305
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Part" @299
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(352, 1184)
		    label      	(object ItemLabel
			Parent_View 	@299
			location   	(128, 1067)
			fill_color 	13434879
			nlines     	1
			max_width  	448
			justify    	0
			label      	"Part")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5CE1C032E"
		    width      	466
		    height     	258
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$47" @300
		    location   	(735, 1172)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8B1BE900C4"
		    roleview_list 	(list RoleViews
			(object RoleView "typeDefinition" @301
			    Parent_View 	@300
			    location   	(143, 676)
			    label      	(object SegLabel @302
				Parent_View 	@301
				location   	(775, 1133)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+typeDefinition"
				pctDist    	0.269006
				height     	40
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1BE90327"
			    client     	@300
			    supplier   	@296
			    line_style 	3
			    origin_attachment 	(735, 1172)
			    terminal_attachment 	(886, 1172)
			    label      	(object SegLabel @303
				Parent_View 	@301
				location   	(839, 1207)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.688705
				height     	35
				orientation 	1))
			(object RoleView "$UNNAMED$48" @304
			    Parent_View 	@300
			    location   	(143, 676)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1BE90331"
			    client     	@300
			    supplier   	@299
			    line_style 	3
			    origin_attachment 	(735, 1172)
			    terminal_attachment 	(585, 1172))))
		(object AssociationViewNew "$UNNAMED$49" @305
		    location   	(527, 1592)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8B1C1203B2"
		    roleview_list 	(list RoleViews
			(object RoleView "elementDeclaration" @306
			    Parent_View 	@305
			    location   	(-65, 1096)
			    label      	(object SegLabel @307
				Parent_View 	@306
				location   	(666, 1554)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	372
				justify    	0
				label      	"+elementDeclaration"
				pctDist    	0.375394
				height     	39
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1C14001C"
			    client     	@305
			    supplier   	@297
			    line_style 	3
			    origin_attachment 	(527, 1592)
			    terminal_attachment 	(897, 1592)
			    label      	(object SegLabel @308
				Parent_View 	@306
				location   	(807, 1645)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.755877
				height     	53
				orientation 	1))
			(object RoleView "$UNNAMED$50" @309
			    Parent_View 	@305
			    location   	(-65, 1096)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1C140026"
			    client     	@305
			    supplier   	@299
			    vertices   	(list Points
				(527, 1592)
				(437, 1592)
				(437, 1313))
			    line_style 	3
			    origin_attachment 	(527, 1592)
			    terminal_attachment 	(437, 1313))))
		(object AssociationViewNew "$UNNAMED$55" @310
		    location   	(322, 1911)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C46829303E5"
		    roleview_list 	(list RoleViews
			(object RoleView "eMessage" @311
			    Parent_View 	@310
			    location   	(-14, 1191)
			    label      	(object SegLabel @312
				Parent_View 	@311
				location   	(838, 1872)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+eMessage"
				pctDist    	0.748560
				height     	40
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C468296010E"
			    client     	@310
			    supplier   	@298
			    line_style 	3
			    origin_attachment 	(322, 1911)
			    terminal_attachment 	(1013, 1911)
			    label      	(object SegLabel @313
				Parent_View 	@311
				location   	(943, 1965)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "$UNNAMED$56" @314
			    Parent_View 	@310
			    location   	(-14, 1191)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C4682960118"
			    client     	@310
			    supplier   	@299
			    vertices   	(list Points
				(322, 1911)
				(229, 1911)
				(229, 1313))
			    line_style 	3
			    origin_attachment 	(322, 1911)
			    terminal_attachment 	(229, 1313))))
		(object ClassView "Class" "Logical View::wsdl::Types" @315
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(800, 608)
		    label      	(object ItemLabel
			Parent_View 	@315
			location   	(615, 512)
			fill_color 	13434879
			nlines     	1
			max_width  	371
			justify    	0
			label      	"Types")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B8BE9A603A8"
		    width      	389
		    height     	216
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Definition" @316
		    ShowCompartmentStereotypes 	TRUE
		    location   	(176, 160)
		    label      	(object ItemLabel
			Parent_View 	@316
			location   	(74, 107)
			fill_color 	13434879
			nlines     	1
			max_width  	204
			justify    	0
			label      	"Definition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5E43F008E"
		    width      	222
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$53" @317
		    location   	(234, 604)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEA27029F"
		    roleview_list 	(list RoleViews
			(object RoleView "eTypes" @318
			    Parent_View 	@317
			    location   	(-150, 396)
			    label      	(object SegLabel @319
				Parent_View 	@318
				location   	(480, 640)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	207
				justify    	0
				label      	"+eTypes"
				pctDist    	0.661017
				height     	36
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8BEA29036A"
			    client     	@317
			    supplier   	@315
			    line_style 	3
			    origin_attachment 	(234, 604)
			    terminal_attachment 	(606, 604)
			    label      	(object SegLabel @320
				Parent_View 	@318
				location   	(526, 569)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.783883
				height     	36
				orientation 	0))
			(object RoleView "$UNNAMED$54" @321
			    Parent_View 	@317
			    location   	(-150, 396)
			    label      	(object SegLabel @322
				Parent_View 	@321
				location   	(133, 313)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8BEA290356"
			    client     	@317
			    supplier   	@316
			    vertices   	(list Points
				(234, 604)
				(174, 604)
				(174, 225))
			    line_style 	3
			    origin_attachment 	(234, 604)
			    terminal_attachment 	(174, 225)
			    label      	(object SegLabel @323
				Parent_View 	@321
				location   	(228, 271)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.897729
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::wsdl::ITypes" @324
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(640, 224)
		    label      	(object ItemLabel
			Parent_View 	@324
			location   	(525, 203)
			fill_color 	13434879
			nlines     	1
			max_width  	230
			justify    	0
			label      	"ITypes")
		    stereotype 	(object ItemLabel
			Parent_View 	@324
			location   	(525, 153)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	230
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3CADCBB20050"
		    width      	248
		    height     	166
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::XSDSchemaExtensibilityElement" @325
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1728, 800)
		    label      	(object ItemLabel
			Parent_View 	@325
			location   	(1359, 753)
			fill_color 	13434879
			nlines     	1
			max_width  	739
			justify    	0
			label      	"XSDSchemaExtensibilityElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3CC360D7039C"
		    width      	757
		    height     	118
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSchema" @326
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1856, 1216)
		    label      	(object ItemLabel
			Parent_View 	@326
			location   	(1529, 1103)
			fill_color 	13434879
			nlines     	1
			max_width  	655
			justify    	0
			label      	"XSDSchema")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"374B182500BB"
		    width      	673
		    height     	250
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$59" @327
		    location   	(1826, 975)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CC3614500F2"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$60" @328
			    Parent_View 	@327
			    location   	(306, 447)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3CC36146023D"
			    client     	@327
			    supplier   	@325
			    line_style 	3
			    origin_attachment 	(1826, 975)
			    terminal_attachment 	(1826, 859)
			    label      	(object SegLabel @329
				Parent_View 	@328
				location   	(1774, 900)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.656489
				height     	53
				orientation 	0))
			(object RoleView "schema" @330
			    Parent_View 	@327
			    location   	(306, 447)
			    label      	(object SegLabel @331
				Parent_View 	@330
				location   	(2006, 1033)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	168
				justify    	0
				label      	"+schema"
				pctDist    	0.507576
				height     	180
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3CC36146023E"
			    client     	@327
			    supplier   	@326
			    line_style 	3
			    origin_attachment 	(1826, 975)
			    terminal_attachment 	(1826, 1091)
			    label      	(object SegLabel @332
				Parent_View 	@330
				location   	(1788, 1050)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.651515
				height     	39
				orientation 	1))))
		(object InheritView "" @333
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CADCD3B0380"
		    client     	@315
		    supplier   	@324
		    line_style 	3
		    origin_attachment 	(705, 500)
		    terminal_attachment 	(705, 307))
		(object ClassView "Class" "Logical View::wsdl::ExtensibleElement" @334
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1056, 224)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@334
			location   	(815, 130)
			fill_color 	13434879
			nlines     	1
			max_width  	482
			justify    	0
			label      	"ExtensibleElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5FCFA033A"
		    width      	500
		    height     	212
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @335
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEB010311"
		    client     	@315
		    supplier   	@334
		    line_style 	3
		    origin_attachment 	(854, 500)
		    terminal_attachment 	(854, 330))
		(object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @336
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1824, 464)
		    label      	(object ItemLabel
			Parent_View 	@336
			location   	(1490, 368)
			fill_color 	13434879
			nlines     	1
			max_width  	669
			justify    	0
			label      	"ExtensibilityElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5DBB602A9"
		    width      	687
		    height     	216
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$21" @337
		    location   	(1206, 493)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FD130079"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$22" @338
			    Parent_View 	@337
			    location   	(-586, 237)
			    label      	(object SegLabel @339
				Parent_View 	@338
				location   	(1136, 386)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5FD14019E"
			    client     	@337
			    supplier   	@334
			    vertices   	(list Points
				(1206, 493)
				(1094, 493)
				(1094, 330))
			    line_style 	3
			    origin_attachment 	(1206, 493)
			    terminal_attachment 	(1094, 330)
			    label      	(object SegLabel @340
				Parent_View 	@338
				location   	(1042, 377)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.828326
				height     	53
				orientation 	0))
			(object RoleView "eExtensibilityElements" @341
			    Parent_View 	@337
			    location   	(-586, 237)
			    label      	(object SegLabel @342
				Parent_View 	@341
				location   	(1196, 454)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	444
				justify    	0
				label      	"+eExtensibilityElements"
				pctDist    	-0.039711
				height     	40
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5FD14019D"
			    client     	@337
			    supplier   	@336
			    line_style 	3
			    origin_attachment 	(1206, 493)
			    terminal_attachment 	(1481, 493)
			    label      	(object SegLabel @343
				Parent_View 	@341
				location   	(1415, 546)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.764957
				height     	53
				orientation 	1)
			    label      	(object SegLabel @344
				Parent_View 	@341
				location   	(1396, 392)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	146
				justify    	0
				label      	"{ordered}"
				pctDist    	0.694915
				height     	102
				orientation 	0))))
		(object InheritView "" @345
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CC3627F00B7"
		    client     	@325
		    supplier   	@336
		    line_style 	3
		    origin_attachment 	(1812, 741)
		    terminal_attachment 	(1812, 572))))
	(object ClassDiagram "2.3 Messages"
	    quid       	"3BCE853D02C8"
	    title      	"2.3 Messages"
	    zoom       	85
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::wsdl::IMessage" @346
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(448, 224)
		    label      	(object ItemLabel
			Parent_View 	@346
			location   	(267, 122)
			fill_color 	13434879
			nlines     	1
			max_width  	362
			justify    	0
			label      	"IMessage")
		    stereotype 	(object ItemLabel
			Parent_View 	@346
			location   	(267, 72)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	362
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84A8AF004F"
		    width      	380
		    height     	328
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IPart" @347
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1328, 224)
		    label      	(object ItemLabel
			Parent_View 	@347
			location   	(1029, 124)
			fill_color 	13434879
			nlines     	1
			max_width  	599
			justify    	0
			label      	"IPart")
		    stereotype 	(object ItemLabel
			Parent_View 	@347
			location   	(1029, 74)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	599
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84A93F01BE"
		    width      	617
		    height     	324
		    annotation 	8)
		(object ClassView "Class" "Logical View::wsdl::Part" @348
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1312, 816)
		    label      	(object ItemLabel
			Parent_View 	@348
			location   	(1075, 690)
			fill_color 	13434879
			nlines     	1
			max_width  	474
			justify    	0
			label      	"Part")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5CE1C032E"
		    width      	492
		    height     	276
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @349
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84A96D02F1"
		    client     	@348
		    supplier   	@347
		    line_style 	3
		    origin_attachment 	(1304, 678)
		    terminal_attachment 	(1304, 386))
		(object ClassView "Class" "Logical View::wsdl::Message" @350
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(448, 656)
		    label      	(object ItemLabel
			Parent_View 	@350
			location   	(241, 507)
			fill_color 	13434879
			nlines     	1
			max_width  	414
			justify    	0
			label      	"Message")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C9590078"
		    width      	432
		    height     	322
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @351
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84A8D102BA"
		    client     	@350
		    supplier   	@346
		    line_style 	3
		    origin_attachment 	(445, 495)
		    terminal_attachment 	(445, 388))
		(object AssociationViewNew "$UNNAMED$1" @352
		    location   	(688, 952)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5CEBE00E2"
		    roleview_list 	(list RoleViews
			(object RoleView "eParts" @353
			    Parent_View 	@352
			    location   	(176, 328)
			    label      	(object SegLabel @354
				Parent_View 	@353
				location   	(952, 897)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	144
				justify    	0
				label      	"+eParts"
				pctDist    	0.697452
				height     	56
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5CEBF0061"
			    client     	@352
			    supplier   	@348
			    line_style 	3
			    origin_attachment 	(688, 952)
			    terminal_attachment 	(1066, 952)
			    label      	(object SegLabel @355
				Parent_View 	@353
				location   	(987, 1005)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.789809
				height     	53
				orientation 	1)
			    label      	(object SegLabel @356
				Parent_View 	@353
				location   	(967, 1061)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	154
				justify    	0
				label      	"{ordered}"
				pctDist    	0.742038
				height     	109
				orientation 	1))
			(object RoleView "$UNNAMED$2" @357
			    Parent_View 	@352
			    location   	(176, 328)
			    label      	(object SegLabel @358
				Parent_View 	@357
				location   	(404, 893)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5CEBF0057"
			    client     	@352
			    supplier   	@350
			    vertices   	(list Points
				(688, 952)
				(445, 952)
				(445, 817))
			    line_style 	3
			    origin_attachment 	(688, 952)
			    terminal_attachment 	(445, 817)
			    label      	(object SegLabel @359
				Parent_View 	@357
				location   	(393, 912)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.747604
				height     	53
				orientation 	0))))))))
